:root{
  --accent:var(--blue);--rb:var(--blue);--rb-shade:#000;
  --display:Anton,Haettenschweiler,"Arial Narrow",Impact,sans-serif;
  --wide:Archivo,"Arial Black",system-ui,sans-serif;
  --pad:clamp(1rem,4vw,2rem);
  --paper:#eef1fa;--ink:#15165c;--indigo:#30329a;--blue:#0f5aa8;--red:#e8202a;--mut:#4f527d;--edge:#8b8fc0;
  --on-accent:#fff;--solid:#fff;--hair:#30329a1f;--hover:#ffffffb3;--danger:#b0121b;--field-bg:#ffffffcc;
  --glass-a:#ffffffa3;--glass-b:#ffffff38;--glass-edge:#ffffffb3;--hi:#ffffffb3;--hi2:#ffffff4d;--lo:#30329a14;--drop:#30329a2e;
  --sheen1:#ffffff52;--sheen2:#ffffff26;--btn-ghost:#ffffff80;--past-a:#ffffff70;--past-b:#ffffff20;
  --today-a:#0f5aa8f2;--today-b:#0f5aa8d9;--hl-a:#0f5aa833;--hl-b:#ffffff40;--mascot-shadow:#30329a26;--focus:#30329a;
  --show-moon:block;--show-sun:none;--light-img:inline;--dark-img:none;color-scheme:light;
  --bgfield:url(/assets/art.webp) no-repeat right -8% top 6%/min(75vw,760px),
    radial-gradient(40vmax 30vmax at 8% 12%,#0f5aa833,transparent 70%),
    radial-gradient(45vmax 35vmax at 95% 55%,#5b8fcc55,transparent 70%),
    radial-gradient(35vmax 28vmax at 20% 95%,#e8202a26,transparent 70%),var(--paper);
}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){
  --paper:#080920;--ink:#f2f3ff;--indigo:#b4b8ff;--blue:#8fbcff;--red:#ff6b73;--mut:#b6b9df;--edge:#6a6ea8;
  --solid:#14153a;--hair:#ffffff1f;--hover:#ffffff1f;--danger:#ff8a90;--field-bg:#ffffff14;
  --glass-a:#ffffff26;--glass-b:#ffffff0a;--glass-edge:#ffffff38;--hi:#ffffff3d;--hi2:#ffffff12;--lo:#00000040;--drop:#00000066;
  --sheen1:#ffffff1a;--sheen2:#ffffff0a;--btn-ghost:#ffffff1f;--past-a:#ffffff12;--past-b:#ffffff08;
  --today-a:#fffffff2;--today-b:#ffffffe0;--hl-a:#8fbcff40;--hl-b:#ffffff10;--mascot-shadow:#00000059;--focus:#8fbcff;--on-accent:#080920;--rb:#fff;--rb-shade:#fff;
  --show-moon:none;--show-sun:block;--light-img:none;--dark-img:inline;color-scheme:dark;
  --bgfield:url(/assets/art.webp) no-repeat right -8% top 6%/min(75vw,760px),
    radial-gradient(40vmax 30vmax at 8% 12%,#8fbcff22,transparent 70%),
    radial-gradient(45vmax 35vmax at 95% 55%,#5b8fcc2a,transparent 70%),
    radial-gradient(35vmax 28vmax at 20% 95%,#e8202a14,transparent 70%),var(--paper);
}}
:root[data-theme=dark]{
  --paper:#080920;--ink:#f2f3ff;--indigo:#b4b8ff;--blue:#8fbcff;--red:#ff6b73;--mut:#b6b9df;--edge:#6a6ea8;
  --solid:#14153a;--hair:#ffffff1f;--hover:#ffffff1f;--danger:#ff8a90;--field-bg:#ffffff14;
  --glass-a:#ffffff26;--glass-b:#ffffff0a;--glass-edge:#ffffff38;--hi:#ffffff3d;--hi2:#ffffff12;--lo:#00000040;--drop:#00000066;
  --sheen1:#ffffff1a;--sheen2:#ffffff0a;--btn-ghost:#ffffff1f;--past-a:#ffffff12;--past-b:#ffffff08;
  --today-a:#fffffff2;--today-b:#ffffffe0;--hl-a:#8fbcff40;--hl-b:#ffffff10;--mascot-shadow:#00000059;--focus:#8fbcff;--on-accent:#080920;--rb:#fff;--rb-shade:#fff;
  --show-moon:none;--show-sun:block;--light-img:none;--dark-img:inline;color-scheme:dark;
  --bgfield:url(/assets/art.webp) no-repeat right -8% top 6%/min(75vw,760px),
    radial-gradient(40vmax 30vmax at 8% 12%,#8fbcff22,transparent 70%),
    radial-gradient(45vmax 35vmax at 95% 55%,#5b8fcc2a,transparent 70%),
    radial-gradient(35vmax 28vmax at 20% 95%,#e8202a14,transparent 70%),var(--paper);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{background:var(--paper);-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:clip}
body{margin:0;min-height:100vh;min-height:100dvh;overflow-x:clip;display:flex;flex-direction:column;color:var(--ink);font:400 1rem/1.55 var(--wide);font-stretch:100%;background:transparent}
/* colour field the glass refracts: the opening-ceremony wash plus three soft brand blooms */
body::before{content:"";position:fixed;inset:0;z-index:-1;background:var(--bgfield)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
main,footer,.bar,.hero-in{width:100%;max-width:860px;margin-inline:auto;padding-inline:var(--pad)}
main{flex:1;padding-bottom:3rem}

/* liquid glass */
.glass{position:relative;background:linear-gradient(135deg,var(--glass-a),var(--glass-b));
  -webkit-backdrop-filter:blur(20px) saturate(170%);backdrop-filter:blur(20px) saturate(170%);
  border:1px solid var(--glass-edge);
  box-shadow:inset 0 1.5px 0 var(--hi),inset 1px 0 0 var(--hi2),inset 0 -1px 0 var(--lo),0 12px 30px -10px var(--drop)}
.glass::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(115deg,var(--sheen1) 0%,#ffffff00 38%,#ffffff00 68%,var(--sheen2) 100%)}
.glass>*{position:relative}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.glass{background:var(--solid)}}
@media (prefers-reduced-transparency:reduce){.glass{background:var(--solid);-webkit-backdrop-filter:none;backdrop-filter:none}}

/* nav */
.bar{position:sticky;top:.75rem;z-index:10;margin-top:.75rem;display:flex;align-items:center;justify-content:center;gap:.6rem}
.bar-in{flex:0 1 auto;min-width:0;display:flex;justify-content:center;padding:.4rem .5rem;border-radius:999px}
nav{position:relative;display:flex;gap:.25rem}
nav a{color:var(--ink);text-decoration:none;font-weight:600;padding:.5rem 1rem;border-radius:999px}
@media (hover:hover){nav a:hover{background:var(--hover)}}
nav a{display:inline-flex;align-items:center;min-height:2.75rem}
.bar nav a{position:relative;z-index:1;transition:color .25s cubic-bezier(.2,.7,.2,1)}
/* no-JS fallback: the current page's link is blue on its own */
.bar nav a[aria-current=page]{background:var(--accent);color:var(--on-accent)}
/* with JS: one blue pill slides between the links */
.nav-pill{position:absolute;top:0;left:0;width:0;height:100%;border-radius:999px;background:var(--accent);opacity:0;pointer-events:none;transition:transform .32s cubic-bezier(.2,.7,.2,1),width .32s cubic-bezier(.2,.7,.2,1)}
.bar nav:not(.slide) .nav-pill{display:none}
.bar nav.slide a[aria-current=page]{background:transparent;color:var(--on-accent)}
@media (prefers-reduced-motion:reduce){.nav-pill,.bar nav a{transition:none}}
@media (max-width:520px){nav a{padding:.45rem .7rem}}
@media (max-width:420px){nav a{padding:.45rem .55rem;font-size:.95rem}}
.theme-toggle{flex:none;width:3.5rem;height:3.5rem;padding:0;display:grid;place-items:center;border-radius:50%;color:var(--ink);cursor:pointer}
.theme-toggle svg{width:1.2rem;height:1.2rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.theme-toggle .moon{display:var(--show-moon)}
.theme-toggle .sun{display:var(--show-sun)}
@media (hover:hover){.theme-toggle:hover{background:linear-gradient(135deg,var(--hl-a),var(--hl-b))}}
.theme-toggle,button,.btn{touch-action:manipulation}
@media (max-width:420px){.theme-toggle{width:3.1rem;height:3.1rem}}
/* theme switch: the new theme grows out of the button */
::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}
.for-light{display:var(--light-img)}
.for-dark{display:var(--dark-img)}

/* ribbon: blue in light mode, pure white in dark mode */
#rb stop:nth-child(1){stop-color:color-mix(in srgb,var(--rb) 90%,var(--rb-shade))}
#rb stop:nth-child(2){stop-color:color-mix(in srgb,var(--rb) 92%,var(--rb-shade))}
#rb stop:nth-child(3){stop-color:color-mix(in srgb,var(--rb) 80%,#fff)}
#rb stop:nth-child(4){stop-color:color-mix(in srgb,var(--rb) 78%,var(--rb-shade))}
#rb stop:nth-child(5){stop-color:color-mix(in srgb,var(--rb) 86%,#fff)}
#rb stop:nth-child(6){stop-color:color-mix(in srgb,var(--rb) 86%,#fff)}

/* hero (home) */
.hero{position:relative;overflow:hidden;margin-top:-4.2rem;padding-top:5.5rem}
.hero-in{position:relative;display:grid;grid-template-columns:1.1fr .9fr;align-items:end;gap:1rem;min-height:440px}
.hero-copy{align-self:center;padding-bottom:5rem;z-index:2}
.hero-logo{margin:0;line-height:0}
.hero-logo img{width:min(100%,430px);height:auto}
.cta{margin-top:1.5rem;display:flex;flex-wrap:wrap;gap:.6rem}
.btn{display:inline-block;padding:.65rem 1.3rem;border-radius:999px;background:var(--accent);color:var(--on-accent);font-weight:700;text-decoration:none;border:1px solid var(--glass-edge);box-shadow:inset 0 1.5px 0 #fffc,0 8px 18px -8px var(--drop)}
.btn.ghost{background:var(--btn-ghost);color:var(--ink);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.btn{min-height:2.75rem;line-height:1.5}
@media (hover:hover){.btn:hover{filter:brightness(1.04)}}
.hero-mascot{position:relative;z-index:1;justify-self:center;width:auto;height:clamp(300px,44vw,440px);margin-bottom:.5rem;filter:drop-shadow(0 18px 20px var(--mascot-shadow))}
.hero .ribbon-bg{position:absolute;left:0;right:0;bottom:0;height:52%;width:100%;z-index:0}
.ribbon{height:clamp(56px,11vw,100px);margin-top:.75rem;animation:sweep 1s cubic-bezier(.2,.7,.2,1) both}
.ribbon svg,.hero .ribbon-bg{display:block}
.ribbon svg{width:100%;height:100%}
.hero .ribbon-bg{animation:sweep 1.1s cubic-bezier(.2,.7,.2,1) both}
@keyframes sweep{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@media (prefers-reduced-motion:reduce){.ribbon,.hero .ribbon-bg{animation:none}}
@media (max-width:700px){
  .hero-in{grid-template-columns:1fr;min-height:0}
  .hero-copy{padding-bottom:0}
  .hero-mascot{height:300px;margin-top:-.5rem}
}

.title{margin:1.75rem 0 1.25rem;font:400 clamp(2.8rem,11vw,5rem)/.95 var(--display);text-transform:uppercase;color:var(--indigo)}
h2{margin:2.5rem 0 .75rem;font:400 clamp(1.6rem,5vw,2.1rem)/1 var(--display);text-transform:uppercase;color:var(--indigo)}
a{color:var(--blue)}
.muted,small{color:var(--mut)}
.status{margin:0 0 1rem;padding:.5rem 1rem;border-radius:999px;background:var(--solid);color:var(--red);font-weight:600}
.status[hidden]{display:none}
.empty{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;border-radius:22px}
.empty img{height:92px;width:auto;flex:none}
.empty p{margin:0;color:var(--mut)}

/* halls ranking */
.panel{border-radius:26px;padding:.5rem 1.1rem 1rem;overflow:hidden}
.tally{position:relative;width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.tally th{padding:.7rem .3rem .6rem;text-align:center;font-weight:500;font-size:.85rem;color:var(--mut)}
.tally th:first-child,.tally th:nth-child(2){text-align:left}
.tally td{padding:.8rem .3rem;text-align:center;border-top:1px solid var(--hair)}
.tally .rk{width:3.2rem;text-align:left;font:400 1.7rem/1 var(--display);color:var(--mut)}
.tally .lead .rk{color:var(--ink)}
.tally .n{text-align:left;font:800 1rem/1.2 var(--wide);font-stretch:125%}
.tally .tot{font:400 1.7rem/1 var(--display);color:var(--indigo)}
.sw{display:inline-block;width:.75rem;height:.75rem;margin-right:.65rem;border-radius:50%;background:var(--c);box-shadow:0 0 0 2px #fff}
.medal{display:inline-block;width:.85rem;height:.85rem;border-radius:50%}
.medal.g{background:#e0a82e}.medal.s{background:#b8bcc4}.medal.b{background:#b0713a}

/* matches */
.fx{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.fx li{display:grid;grid-template-columns:7.5rem 1fr;gap:.15rem 1.25rem;align-items:center;padding:calc(.9rem + 2px) 1.25rem calc(.9rem - 2px);border-radius:22px}
.fx time{display:grid}
.fx time b{font:400 1.5rem/1.1 var(--display);letter-spacing:.01em;color:var(--indigo);white-space:nowrap}
.fx li>div{min-width:0}
.fx time small{font-size:.85rem}
.fx .sp{display:block;font:800 1.05rem/1.25 var(--wide);font-stretch:125%}
.fx .loc{color:var(--mut);overflow-wrap:anywhere}
.fx .today{background:linear-gradient(135deg,var(--today-a),var(--today-b));border-color:#fff}
.fx .today time b,.fx .today .sp,.fx .today .loc,.fx .today time small{color:var(--on-accent)}
.fx .past{background:linear-gradient(135deg,var(--past-a),var(--past-b));box-shadow:inset 0 1px 0 var(--hi2)}
.fx .past time b,.fx .past .sp{color:var(--mut)}
@media (max-width:480px){.fx li{grid-template-columns:6rem 1fr;gap:.15rem .9rem;padding:calc(.85rem + 2px) 1rem calc(.85rem - 2px)}}

/* winners */
.wcount{margin:-.5rem 0 1rem;color:var(--mut)}
.crest{display:block;object-fit:contain}
.win{display:inline-block;padding:0 .6rem;border-radius:999px;background:var(--accent);color:var(--on-accent);font-weight:700;font-size:.85rem}
.chips{display:flex;gap:.5rem;margin:0 calc(var(--pad) * -1) 1.1rem;padding:.25rem var(--pad);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.chips::-webkit-scrollbar{display:none}
.chips a{flex:none;display:inline-flex;align-items:center;min-height:2.5rem;padding:0 1rem;border-radius:999px;border:1px solid var(--edge);background:var(--btn-ghost);color:var(--ink);font-weight:600;text-decoration:none}
.chips a[aria-current=page]{background:var(--accent);border-color:#fff;color:var(--on-accent)}
@media (hover:hover){.chips a:not([aria-current]):hover{background:var(--hover)}}

.wgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin-top:.9rem}
.wcard{display:flex;flex-direction:column;overflow:hidden;border-radius:24px;color:inherit;text-decoration:none}
@media (hover:hover){.wcard:hover{border-color:var(--c)}}
.wmedia{position:relative;aspect-ratio:16/10;overflow:hidden;background:color-mix(in srgb,var(--c) 22%,transparent)}
.wmedia>img:not(.crest){position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.wmedia .crest.on{position:absolute;left:.75rem;bottom:.75rem;width:3.4rem;height:3.4rem;padding:.4rem;border-radius:50%;background:var(--solid);box-shadow:0 6px 14px -4px var(--drop)}
.wph{position:absolute;inset:0;display:grid;place-items:center;padding:.75rem}
.wph .crest{height:100%;width:auto;max-width:100%}
.wph span{font:400 clamp(2rem,8vw,3rem)/1 var(--display);text-transform:uppercase;text-align:center;color:var(--indigo)}
.wbody{display:flex;flex-direction:column;flex:1;padding:1rem 1.15rem 1.15rem}
.wmeta{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .6rem;margin:0;font-size:.85rem;color:var(--mut)}
.wt{margin:.4rem 0 .45rem;font:400 clamp(1.5rem,4.5vw,1.9rem)/1.05 var(--display);text-transform:uppercase;color:var(--indigo);overflow-wrap:anywhere}
.wex{margin:0 0 .9rem;color:var(--mut);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.wdate{margin-top:auto;font-size:.85rem;color:var(--mut)}
.wcard.lead{display:grid;grid-template-columns:1.15fr 1fr}
.lead .wmedia{aspect-ratio:auto;min-height:320px}
.lead .wbody{justify-content:center;padding:1.6rem}
.lead .wt{font-size:clamp(2rem,5vw,2.8rem)}
.lead .wex{-webkit-line-clamp:5;font-size:1.05rem}
.lead .wdate{margin-top:.5rem}
.lead .wmedia .crest.on{width:4.4rem;height:4.4rem;left:1rem;bottom:1rem}
@media (max-width:700px){
  .wcard.lead{display:flex}
  .lead .wmedia{aspect-ratio:16/10;min-height:0}
  .lead .wbody{padding:1.1rem 1.15rem 1.2rem}
}
@media (max-width:560px){.wgrid{grid-template-columns:1fr}}

/* a single winner story */
.back{display:inline-flex;align-items:center;min-height:2.75rem;margin-top:1rem;color:var(--blue);font-weight:600;text-decoration:none}
.back::before{content:"";width:.5rem;height:.5rem;margin-right:.65rem;border:solid currentColor;border-width:0 0 2px 2px;transform:rotate(45deg)}
.shero{margin:.25rem 0 0}
.shero img{display:block;width:100%;aspect-ratio:16/9;max-height:460px;object-fit:cover;border-radius:26px}
.sres{display:flex;align-items:center;gap:1rem;width:fit-content;max-width:100%;padding:.7rem 1.4rem .7rem .7rem;border-radius:44px}
.sres.plain{padding-left:1.4rem}
.sres .crest{flex:none;width:3.8rem;height:3.8rem;padding:.4rem;border-radius:50%;background:color-mix(in srgb,var(--c) 22%,var(--solid))}
.sres b{display:block;font:800 1.05rem/1.2 var(--wide);font-stretch:125%}
.sres small{display:block}
.shero+.sh .sres{margin:-2.2rem 0 0 1rem;z-index:1}
.story .title{margin:1.25rem 0 1.5rem;font-size:clamp(2.3rem,8vw,3.8rem);line-height:.98;overflow-wrap:anywhere}
.prose{max-width:62ch;font-size:1.0625rem;line-height:1.75}
.prose p{margin:0 0 1.2rem}
.prose .lede{font-size:1.3rem;line-height:1.5;font-weight:500}
.pn{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin-top:2.5rem}
.pn a{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.9rem 1.15rem;border-radius:20px;color:inherit;text-decoration:none}
.pn .next{grid-column:2;align-items:flex-end;text-align:right}
.pn b{font:400 1.3rem/1.1 var(--display);text-transform:uppercase;color:var(--indigo);overflow-wrap:anywhere}
@media (hover:hover){.pn a:hover{border-color:var(--c)}}
@media (max-width:560px){
  .pn{grid-template-columns:1fr}
  .pn .next{grid-column:auto;align-items:flex-start;text-align:left}
  .shero img{border-radius:20px}
  .shero+.sh .sres{margin-left:.6rem}
  .sres{gap:.8rem}
  .sres .crest{width:3.2rem;height:3.2rem}
}

/* admin */
.box{margin-bottom:1rem;padding:1.1rem 1.25rem;border-radius:22px}
.stack{display:grid;gap:.6rem}
input,select,textarea,button{font:inherit;padding:.55rem .8rem;border-radius:12px;border:1px solid var(--edge);background:var(--field-bg);color:var(--ink);max-width:100%}
textarea{width:100%;min-height:120px}
button{border-color:#fff;background:var(--accent);color:var(--on-accent);font-weight:700;cursor:pointer;border-radius:999px;padding-inline:1.2rem}
button.del{background:var(--solid);border-color:var(--red);color:var(--danger)}
input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.mrow{display:flex;flex-wrap:wrap;gap:.25rem .75rem;align-items:center;padding:.7rem 0;border-top:1px solid var(--hair)}
.mrow:first-child{border-top:0}
.mrow b{flex:1 1 100%}
.tin td{padding:.25rem .5rem 0 0}
.tin input{width:4.5rem}
.err{color:var(--danger);font-weight:600}

footer{padding-block:2.5rem 1rem}
.foot{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.75rem;padding:.9rem 1.25rem;border-radius:999px}
.foot-logo{height:36px;width:auto}
.foot-links{display:flex;flex-wrap:wrap;gap:.1rem .25rem;flex:1}
.foot-links a{color:var(--ink);text-decoration:none;font-weight:600;padding:.5rem 1rem;border-radius:999px}
@media (hover:hover){.foot-links a:hover{background:var(--hover)}}
.foot-mascot-link{position:absolute;right:1.5rem;bottom:.7rem;line-height:0;border-radius:12px}
.foot-mascot{display:block;height:84px;width:auto;filter:drop-shadow(0 6px 8px var(--mascot-shadow))}
@media (max-width:640px){.foot{border-radius:26px;padding:1rem 1.1rem}.foot-links{flex-basis:100%;order:3}.foot-mascot{height:70px}.foot-mascot-link{bottom:100%;margin-bottom:-.5rem}}

/* small phones */
@media (max-width:480px){
  main{padding-bottom:2rem}
  .panel{padding:.25rem .6rem .6rem;border-radius:20px}
  .tally th{padding:.55rem .15rem;font-size:.75rem}
  .tally td{padding:.65rem .15rem}
  .tally .rk{width:1.8rem;font-size:1.3rem}
  .tally .n{font-size:.88rem;font-stretch:100%;overflow-wrap:anywhere}
  .tally .tot{font-size:1.3rem}
  .sw{width:.65rem;height:.65rem;margin-right:.45rem}
  .fx time b{font-size:1.25rem}
  .fx .sp{font-size:.95rem;font-stretch:110%}
  .cta .btn{flex:1 1 auto;text-align:center}
  .empty{flex-direction:column;text-align:center}
  .foot-logo{height:30px}
  .box{padding:1rem}
  .tin input{width:3.6rem}
}
/* form controls: >=16px stops iOS zooming on focus; datetime inputs must not overflow */
input,select,textarea{font-size:max(1rem,16px);min-width:0}
input[type=datetime-local],input[type=file],select{width:100%}
input[type=datetime-local]{min-height:2.75rem;-webkit-appearance:none;appearance:none}
button{min-height:2.75rem}
.mrow .del{margin-left:auto}
.mrow form.inl{display:flex;align-items:center;gap:.4rem}
.mrow form.push{margin-left:auto}
.mrow select{width:auto}
/* small event label on a match row (home page) */
.fx .tag{display:inline-block;margin-left:.6rem;padding:0 .55rem;border:1px solid currentColor;border-radius:999px;font-size:.75rem;font-weight:700;line-height:1.5;vertical-align:.1em}
.foot-links a{display:inline-flex;align-items:center;min-height:2.75rem}

/* footer: wordmark hidden on mobile, mascot stays */
@media (max-width:640px){.foot-logo{display:none}}

/* hall logos */
.hl{display:inline-block;height:1.9rem;width:auto;max-width:2.2rem;object-fit:contain;vertical-align:middle;margin-right:.6rem}
.tally .hl{height:2.3rem;max-width:2.4rem}
.tin .hl{height:1.6rem;margin-right:.4rem}
@media (max-width:480px){.tally .hl{height:1.8rem;max-width:1.9rem;margin-right:.45rem}}

/* footer: centred on mobile */
@media (max-width:640px){
  .foot{justify-content:center;text-align:center}
  .foot-links{justify-content:center}
}

.more{margin:1.25rem 0 0}
.more a{display:inline-flex;align-items:center;min-height:2.75rem;font-weight:600}
.muted+.fx{margin-top:.75rem}
/* admin: log out */
.adminhead{display:flex;align-items:center;justify-content:space-between;gap:1rem}
button.ghost{background:var(--btn-ghost);color:var(--ink);border-color:var(--edge)}