:root{box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);
--bg:#F2F4F7;--surface:#FFFFFF;--surface-2:#E9EDF2;--ink:#0D2136;--ink-2:#4B5D70;--line:#D5DCE4;
--gold:#C9A158;--gold-ink:#87631C;--gold-hi:#EED48E;--navy:#0F2B46;--night:#081A2C;--ember:#E8561C;
--col-empty:#E1E6EC;--col-stroke:#C3CCD6;
--display:"Marcellus","Trajan Pro","Optima",Georgia,serif;--sans:"Hanken Grotesk","Helvetica Neue",Arial,system-ui,sans-serif;
--radius-lg:28px;--radius:16px;--wrap:1180px;color-scheme:light}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#07131F;--surface:#0D1D2D;--surface-2:#122638;--ink:#ECF1F6;--ink-2:#98A9BA;--line:#1F3447;--gold-ink:#DDBA6A;--col-empty:#13283B;--col-stroke:#29445C;color-scheme:dark}}
:root[data-theme="dark"]{--bg:#07131F;--surface:#0D1D2D;--surface-2:#122638;--ink:#ECF1F6;--ink-2:#98A9BA;--line:#1F3447;--gold-ink:#DDBA6A;--col-empty:#13283B;--col-stroke:#29445C;color-scheme:dark}
*,*::before,*::after{box-sizing:inherit}
html{height:100%;scroll-behavior:smooth;scroll-padding-top:calc(env(safe-area-inset-top,0px) + 72px);-webkit-text-size-adjust:100%}
body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.55;font-feature-settings:"tnum" 1;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
button,input,select{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:6px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 clamp(20px,4vw,40px)}
h1,h2,h3{font-family:var(--display);font-weight:400;letter-spacing:.01em;margin:0}
h2{font-size:clamp(34px,4.6vw,58px);line-height:1.05}
h3{font-size:24px;line-height:1.2}
.lede{font-size:clamp(18px,1.6vw,21px);color:var(--ink-2);max-width:60ch;margin:18px 0 0}
section.block{padding:clamp(72px,10vw,136px) 0}
.meander{height:14px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='14' viewBox='0 0 28 14'%3E%3Cpath d='M0 13H28M22 13V1H4V10H16V5H10V8' fill='none' stroke='%23C9A158' stroke-width='1.6'/%3E%3C/svg%3E") repeat-x left center/28px 14px;opacity:.85}

/* nav */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:rgba(8,26,44,.93);backdrop-filter:saturate(160%) blur(18px);-webkit-backdrop-filter:saturate(160%) blur(18px);color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}
.nav .wrap{display:flex;align-items:center;gap:20px;height:60px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--display);font-size:19px;white-space:nowrap}
.brand img{width:34px;height:34px}
.nav ul{display:flex;gap:4px;list-style:none;margin:0 0 0 auto;padding:0}
.nav ul a{display:block;padding:8px 12px;border-radius:999px;text-decoration:none;font-size:15px;color:rgba(255,255,255,.82)}
.nav ul a:hover{color:#fff;background:rgba(255,255,255,.08)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 22px;border-radius:999px;border:1px solid transparent;font-weight:600;font-size:16px;text-decoration:none;cursor:pointer;transition:background .2s,transform .2s}
.btn:active{transform:scale(.98)}
.btn-gold{background:linear-gradient(180deg,var(--gold-hi),var(--gold));color:#1B1405}
.btn-gold:hover{background:linear-gradient(180deg,#F5DDA0,#D3AC63)}
.btn-ghost{border-color:rgba(255,255,255,.4);color:#fff;background:rgba(255,255,255,.04)}
.btn-ghost:hover{background:rgba(255,255,255,.12)}
.btn-line{border-color:var(--line);background:var(--surface);color:var(--ink)}
.btn-line:hover{border-color:var(--gold)}
.btn-sm{min-height:36px;padding:0 14px;font-size:14px}
.nav .btn{min-height:36px;padding:0 16px;font-size:14px}
@media (max-width:820px){.nav ul{display:none}.nav .btn{margin-left:auto}}

/* hero */
.hero{position:relative;color:#fff;background:var(--night);overflow:hidden;isolation:isolate}
.hero-media{position:absolute;inset:0;background-size:cover;background-position:center 30%;z-index:-2;transform:scale(1.04)}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,26,44,.55) 0%,rgba(8,26,44,.72) 45%,var(--night) 96%)}
.hero-inner{min-height:min(92svh,980px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding-top:72px;padding-bottom:56px}
#hero-state{width:100%}
.hero-logo{width:clamp(150px,20vw,210px);height:auto;filter:drop-shadow(0 18px 40px rgba(0,0,0,.45))}
.hero-when{margin:26px 0 0;font-size:17px;color:rgba(255,255,255,.82)}
.hero h1{font-size:clamp(46px,8.4vw,108px);line-height:1.12;margin-top:6px;padding:0 .04em .14em;background:linear-gradient(180deg,#fff 30%,#E9D9AE);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-sub{max-width:44ch;margin:20px auto 0;font-size:clamp(18px,1.8vw,21px);color:rgba(255,255,255,.86)}
.count{display:grid;grid-template-columns:repeat(4,minmax(64px,1fr));margin:44px auto 0;max-width:620px;width:100%;border-top:1px solid rgba(201,161,88,.5);border-bottom:1px solid rgba(201,161,88,.5)}
.count div{padding:18px 6px;border-left:1px solid rgba(201,161,88,.28)}
.count div:first-child{border-left:0}
.count b{display:block;font-family:var(--display);font-weight:400;font-size:clamp(40px,6.4vw,72px);line-height:1;color:#fff}
.count span{display:block;margin-top:8px;font-size:14px;color:rgba(255,255,255,.7)}
.count-cap{margin:14px 0 0;font-size:15px;color:rgba(255,255,255,.66)}
.hero-live{margin:44px 0 0;display:inline-flex;align-items:center;gap:10px;font-size:20px;padding:12px 22px;border:1px solid rgba(232,86,28,.6);border-radius:999px;background:rgba(232,86,28,.12)}
.hero-champ{margin:44px 0 0;max-width:620px}
.hero-champ p{margin:0;color:rgba(255,255,255,.75)}
.hero-champ strong{display:block;font-family:var(--display);font-weight:400;font-size:clamp(34px,5vw,56px);color:var(--gold-hi);margin-top:6px}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:36px}
.dot{width:10px;height:10px;border-radius:50%;background:var(--ember);box-shadow:0 0 0 0 rgba(232,86,28,.7);animation:pulse 1.6s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(232,86,28,0)}100%{box-shadow:0 0 0 0 rgba(232,86,28,0)}}

/* field */
.field-head{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:end}
.prize{text-align:right}
.prize-amount{font-family:var(--display);font-size:clamp(56px,8vw,104px);line-height:1;color:var(--gold-ink)}
.prize-note{margin-top:8px;color:var(--ink-2);font-size:16px}
@media (max-width:820px){.field-head{grid-template-columns:1fr;gap:24px}.prize{text-align:left}}
.colonnade{margin:48px 0 0;width:100%;height:auto;display:block;overflow:visible}
.colonnade .col{transform-box:fill-box;transform-origin:50% 100%}
.colonnade.rise .col{animation:rise .9s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i) * 55ms)}
@keyframes rise{from{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:1}}
.colonnade .empty .shaft,.colonnade .empty .cap,.colonnade .empty .base{fill:var(--col-empty);stroke:var(--col-stroke)}
.colonnade .flute{stroke:var(--col-stroke);stroke-width:1}
.colonnade .filled .flute{stroke:rgba(120,86,20,.45)}
.colonnade .beam{fill:none;stroke:var(--col-stroke);stroke-width:2}
.colonnade.full .beam{stroke:var(--gold)}
.colonnade .floor{stroke:var(--col-stroke);stroke-width:2}
.colonnade .num{font-family:var(--sans);font-size:13px;fill:var(--ink-2);text-anchor:middle}
.colonnade .num.mark{fill:var(--gold-ink);font-weight:700}
.colonnade .marker{stroke:var(--gold);stroke-width:1.5;stroke-dasharray:4 4}
.colonnade .medal{fill:#fff;stroke:#9C7426;stroke-width:1.5}
.meter{display:flex;justify-content:space-between;gap:12px;margin-top:14px;font-size:15px;color:var(--ink-2)}
.teams{list-style:none;margin:48px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);column-gap:48px}
.teams li{display:grid;grid-template-columns:30px 64px 1fr auto;align-items:center;gap:14px;padding:16px 0;border-top:1px solid var(--line)}
.badge{width:64px;height:64px;border-radius:16px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;overflow:hidden}
.badge img{width:84%;height:84%;object-fit:contain}
.badge.none{font-family:var(--display);font-size:22px;color:#0F2B46}
.teams .n{font-variant-numeric:tabular-nums;color:var(--gold-ink);font-size:15px}
.teams .nm{font-family:var(--display);font-size:23px;line-height:1.2}
.teams .town{display:block;font-family:var(--sans);font-size:15px;color:var(--ink-2);margin-top:2px}
.tag{font-size:13px;padding:3px 10px;border-radius:999px;border:1px solid var(--line);color:var(--ink-2);white-space:nowrap}
.tag.champ{border-color:var(--gold);color:var(--gold-ink)}
@media (max-width:720px){.teams{grid-template-columns:1fr}.teams li{grid-template-columns:24px 52px 1fr;gap:2px 12px}.teams .n,.teams .badge{grid-row:span 2}.teams .tag{grid-column:3;justify-self:start}.badge{width:52px;height:52px;border-radius:13px}}
.empty-note{margin-top:40px;padding:28px;border:1px dashed var(--col-stroke);border-radius:var(--radius);display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}
.empty-note p{margin:0;color:var(--ink-2);max-width:56ch}

/* standings */
#standings{background:var(--surface)}
.st-head{display:flex;flex-wrap:wrap;gap:16px 32px;justify-content:space-between;align-items:end}
.updated{display:inline-flex;align-items:center;gap:8px;font-size:15px;color:var(--ink-2)}
.table-scroll{overflow-x:auto;margin-top:40px;border-radius:var(--radius);border:1px solid var(--line)}
table.st{width:100%;border-collapse:collapse}
@media (max-width:640px){.st .xs-hide{display:none}.st th,.st td{padding:12px 5px;font-size:14px}.st td:first-child,.st th:first-child{width:24px;padding-left:10px}.st td:last-child,.st th:last-child{padding-right:12px}.st .team{white-space:normal}.st .pts{font-size:20px}}
.st th,.st td{padding:14px 12px;text-align:right;white-space:nowrap}
.st thead th{font-weight:500;font-size:14px;color:var(--ink-2);background:var(--surface-2);position:sticky;top:0}
.st tbody tr{border-top:1px solid var(--line)}
.st th:nth-child(2),.st td:nth-child(2){text-align:left;width:100%}
.st td:first-child,.st th:first-child{width:44px;text-align:center;color:var(--ink-2)}
.st .team{font-weight:600}
.st .pts{font-family:var(--display);font-size:22px;color:var(--gold-ink)}
.st tbody tr:nth-child(-n+8) td:first-child{color:var(--gold-ink)}
.st abbr{text-decoration:none;cursor:help}
.st-note{margin:16px 0 0;font-size:15px;color:var(--ink-2);max-width:80ch}
.days{margin-top:72px;display:grid;gap:56px}
.day h3{display:flex;align-items:baseline;gap:14px}
.day h3 small{font-family:var(--sans);font-size:15px;color:var(--ink-2)}
.games{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-top:20px}
.game{background:var(--bg);border-radius:20px;padding:18px 18px 12px;border:1px solid transparent}
.game.is-live{border-color:rgba(232,86,28,.5)}
.game header{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:var(--ink-2);margin-bottom:8px}
.game .status{display:inline-flex;align-items:center;gap:8px}
.game .status.live{color:var(--ember);font-weight:600}
.game .status.final{color:var(--ink);font-weight:600}
.line{width:100%;border-collapse:collapse}
.line th,.line td{padding:7px 4px;min-width:30px;text-align:center;font-size:15px}
.line abbr{text-decoration:none}
.line thead th{font-weight:500;font-size:13px;color:var(--ink-2)}
.line td:first-child,.line th:first-child{text-align:left;width:100%;max-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.line tbody tr{border-top:1px solid var(--line)}
.line .tot{font-weight:700}
.line .gp{color:var(--gold-ink);font-weight:600}
.line tr.win td:first-child{font-weight:700}
.line .pw{background:rgba(201,161,88,.16);border-radius:6px}
.game-note{font-size:13px;color:var(--ink-2);margin:6px 0 0}

/* gallery */
#gallery{background:var(--night);color:#fff}
#gallery .lede{color:rgba(255,255,255,.7)}
.g-head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap}
.g-ctrl{display:flex;gap:8px;align-items:center}
.g-ctrl .count-label{font-size:15px;color:rgba(255,255,255,.7);margin-right:8px;min-width:4.5em;text-align:right}
.round{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.05);color:#fff;cursor:pointer;display:grid;place-items:center}
.round:hover{background:rgba(255,255,255,.14)}
.round svg{width:18px;height:18px}
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:min(78vw,340px);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;margin-top:40px;padding:0 max(20px,calc((100vw - var(--wrap))/2 + 40px)) 8px;scrollbar-width:none;overscroll-behavior-x:contain}
.rail::-webkit-scrollbar{display:none}
.rail figure{margin:0;scroll-snap-align:center}
.rail img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:22px;background:#13283B}
.rail figcaption{margin-top:12px;font-size:15px;color:rgba(255,255,255,.72)}
.pips{display:flex;gap:6px;justify-content:center;margin-top:28px}
.pips button{width:8px;height:8px;padding:0;border-radius:4px;border:0;background:rgba(255,255,255,.28);cursor:pointer;transition:width .3s,background .3s}
.pips button[aria-current="true"]{width:26px;background:var(--gold)}

/* details */
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:0 32px;margin:48px 0 0}
.facts div{border-top:1px solid var(--line);padding:18px 0 26px}
.facts dt{font-size:15px;color:var(--ink-2)}
.facts dd{margin:6px 0 0;font-size:19px;font-weight:600;line-height:1.35}
@media (max-width:900px){.facts{grid-template-columns:repeat(2,1fr)}}
.format{display:grid;grid-template-columns:1fr 1fr;gap:56px;margin-top:72px}
@media (max-width:860px){.format{grid-template-columns:1fr;gap:40px}}
.steps{list-style:none;margin:24px 0 0;padding:0;counter-reset:s}
.steps li{counter-increment:s;display:grid;grid-template-columns:52px 1fr;gap:4px 12px;padding:16px 0;border-top:1px solid var(--line)}
.steps li::before{content:counter(s,upper-roman);font-family:var(--display);font-size:22px;color:var(--gold-ink);grid-row:span 2}
.steps b{font-weight:600}
.steps span{color:var(--ink-2)}
.points{margin-top:24px;background:var(--surface);border-radius:var(--radius-lg);padding:28px}
.points-row{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--line)}
.points-row:first-of-type{border-top:0}
.points-row b{font-family:var(--display);font-weight:400;font-size:24px;color:var(--gold-ink)}
.points-total{margin:14px 0 0;color:var(--ink-2);font-size:15px}

/* recap */
#recap{background:var(--surface)}
.recap{display:grid;grid-template-columns:1.25fr 1fr;gap:56px;align-items:center}
.recap img{width:100%;border-radius:var(--radius-lg);aspect-ratio:3/2;object-fit:cover}
.recap p{color:var(--ink-2);margin:18px 0 0;max-width:52ch}
.recap .btn{margin-top:28px}
@media (max-width:860px){.recap{grid-template-columns:1fr;gap:32px}}
.history{display:flex;flex-wrap:wrap;gap:28px 48px;margin-top:28px}
.history div{min-width:120px}
.history b{display:block;font-family:var(--display);font-weight:400;font-size:34px;color:var(--gold-ink);line-height:1.1}
.history span{font-size:15px;color:var(--ink-2)}

/* venue + footer */
.venue{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:end}
.venue address{font-style:normal;font-size:20px;margin-top:16px}
.venue .links{display:flex;gap:12px;flex-wrap:wrap}
@media (max-width:720px){.venue{grid-template-columns:1fr}}
footer{background:var(--night);color:rgba(255,255,255,.7);padding:48px 0 40px;font-size:15px}
footer .wrap{display:flex;flex-wrap:wrap;gap:20px 40px;justify-content:space-between;align-items:center}
footer a{color:#fff;text-decoration:none}
footer a:hover{text-decoration:underline}
footer nav{display:flex;flex-wrap:wrap;gap:8px 24px}

/* admin */
.fab{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:60;box-shadow:0 10px 30px rgba(8,26,44,.35)}
.preview-chip{position:fixed;left:50%;transform:translateX(-50%);top:calc(68px + env(safe-area-inset-top,0px));z-index:45;background:var(--ember);color:#fff;font-size:14px;font-weight:600;padding:6px 14px;border-radius:999px;box-shadow:0 6px 18px rgba(0,0,0,.2)}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(460px,100vw);z-index:70;background:var(--surface);color:var(--ink);border-left:1px solid var(--line);box-shadow:-20px 0 60px rgba(8,26,44,.25);display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
.drawer[hidden]{display:none}
.dr-top{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px}
.dr-top h2{font-size:26px}
.seg{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin:0 20px;padding:4px;border-radius:12px;background:var(--surface-2)}
.seg button{border:0;background:transparent;padding:9px 0;border-radius:9px;font-size:15px;font-weight:600;color:var(--ink-2);cursor:pointer}
.seg button[aria-selected="true"]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.dr-body{flex:1;overflow-y:auto;padding:20px}
.dr-foot{border-top:1px solid var(--line);padding:14px 20px;display:flex;gap:10px;align-items:center;justify-content:space-between}
.dr-foot .msg{font-size:14px;color:var(--ink-2)}
.dr-foot .acts{display:flex;gap:8px}
.f{display:grid;gap:14px}
.f label{display:grid;gap:6px;font-size:14px;font-weight:600}
.f input,.f select{min-height:44px;padding:0 12px;border-radius:10px;border:1px solid var(--line);background:var(--bg);font-weight:400;width:100%}
.f .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.f .hint{font-size:13px;color:var(--ink-2);font-weight:400;margin:0}
.pgrid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:8px;align-items:center;font-size:14px}
.pgrid input{text-align:center;padding:0 4px}
.pgrid .h{color:var(--ink-2);text-align:center;font-weight:600}
.pgrid .t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}
.f-actions{display:flex;gap:8px;flex-wrap:wrap}
.alist{list-style:none;padding:0;margin:24px 0 0}
.alist li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 0;border-top:1px solid var(--line);font-size:15px}
.alist li .meta{color:var(--ink-2);font-size:13px;display:block}
.alist li .b{display:flex;gap:6px;flex-shrink:0}
.alist h4{margin:20px 0 4px;font-size:14px;color:var(--ink-2);font-weight:600}
.linkish{background:none;border:0;padding:6px 8px;border-radius:8px;color:var(--gold-ink);font-weight:600;cursor:pointer;font-size:14px}
.linkish:hover{background:var(--surface-2)}
.linkish.danger{color:#C4321A}
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:90;background:var(--night);color:#fff;padding:12px 18px;border-radius:14px;font-size:15px;max-width:min(92vw,520px);box-shadow:0 10px 30px rgba(0,0,0,.3)}
.restore{position:fixed;left:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:60;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px 16px;max-width:340px;font-size:14px;box-shadow:0 10px 30px rgba(0,0,0,.15)}
.restore p{margin:0 0 10px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* ballhockey.com mark */
.bh-mark{display:block;width:clamp(150px,16vw,190px);height:auto;margin:40px auto 0;opacity:.92}
footer .bh-mark{margin:0;width:170px}
/* staff sign-in */
.staff-link{background:none;border:0;padding:0;color:rgba(255,255,255,.55);font-size:15px;cursor:pointer}
.staff-link:hover{color:#fff;text-decoration:underline}
.modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;background:rgba(4,12,20,.55);padding:20px}
.modal[hidden]{display:none}
.modal-card{width:min(400px,100%);background:var(--surface);color:var(--ink);border-radius:22px;padding:26px;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.modal-card h2{font-size:28px}
.modal-card p{color:var(--ink-2);margin:8px 0 18px;font-size:15px}
.err{color:#C4321A;font-size:14px;margin:0;min-height:1.2em}
.logo-pick{display:flex;align-items:center;gap:12px}
.logo-pick .badge{width:56px;height:56px;flex-shrink:0}
.alist .row-logo{display:flex;align-items:center;gap:10px}
.alist .row-logo .badge{width:36px;height:36px;border-radius:9px;flex-shrink:0}
.alist .row-logo .badge.none{font-size:15px}

/* videos */
#watch{background:var(--night);color:#fff;padding-top:0}
#watch[hidden]{display:none}
#watch .lede{color:rgba(255,255,255,.7)}
.vrail{--h:clamp(240px,38vw,440px);display:flex;align-items:flex-start;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;margin-top:40px;padding:0 max(20px,calc((100vw - var(--wrap))/2 + 40px)) 8px;scrollbar-width:none;overscroll-behavior-x:contain}
.vrail::-webkit-scrollbar{display:none}
.vcard{flex:0 0 auto;width:min(86vw,calc(var(--h) * var(--r)));margin:0;scroll-snap-align:center}
.vframe{position:relative;aspect-ratio:var(--ar);border-radius:22px;overflow:hidden;background:#13283B}
.vframe iframe,.vframe video{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000}
.vplay{position:absolute;inset:0;width:100%;border:0;padding:0;cursor:pointer;background:linear-gradient(160deg,#173A5A,#0B2033);color:#fff}
.vplay img{width:100%;height:100%;object-fit:cover;opacity:.82;transition:opacity .2s}
.vplay:hover img,.vplay:focus-visible img{opacity:1}
.pbtn{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:72px;height:72px;border-radius:50%;background:linear-gradient(180deg,var(--gold-hi),var(--gold));display:grid;place-items:center;box-shadow:0 10px 30px rgba(0,0,0,.4);transition:transform .2s}
.vplay:hover .pbtn{transform:translate(-50%,-50%) scale(1.06)}
.pbtn svg{width:28px;height:28px;margin-left:4px;fill:#1B1405}
.vcard figcaption{margin-top:12px;font-size:16px;color:rgba(255,255,255,.88)}
.vcard .src{display:block;margin-top:2px;font-size:14px;color:rgba(255,255,255,.5)}

/* score bar */
.ticker{position:relative;z-index:41;display:flex;align-items:stretch;background:#040D17;color:#fff;border-bottom:1px solid rgba(201,161,88,.25);height:74px}
.ticker.empty{height:40px}
.ticker.empty .tk-arrow{display:none}
.tk-track{flex:1;display:flex;align-items:stretch;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;overscroll-behavior-x:contain}
.tk-track::-webkit-scrollbar{display:none}
.tk-arrow{flex:0 0 40px;border:0;background:#040D17;color:rgba(255,255,255,.8);cursor:pointer;display:grid;place-items:center}
.tk-arrow:hover:not(:disabled){color:#fff;background:#0B1C2D}
.tk-arrow:disabled{color:rgba(255,255,255,.22);cursor:default}
.tk-arrow svg{width:18px;height:18px}
.tk-pause{border-left:1px solid rgba(255,255,255,.08)}
.tk-pause svg{width:16px;height:16px}
.tk-day{flex:0 0 auto;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:0 12px;font-size:12px;color:var(--gold-hi);background:rgba(201,161,88,.08);border-right:1px solid rgba(255,255,255,.08);scroll-snap-align:start;white-space:nowrap}
.tk-day b{font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.tk-game{flex:0 0 auto;width:196px;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:6px 14px;text-decoration:none;color:#fff;border-right:1px solid rgba(255,255,255,.08);scroll-snap-align:start}
.tk-game:hover{background:#0B1C2D}
.tk-game:focus-visible{outline-offset:-3px}
.tk-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:rgba(255,255,255,.62);margin-bottom:1px}
.tk-st{display:inline-flex;align-items:center;gap:6px}
.tk-st.fin{color:#fff;font-weight:600}
.tk-st.live{color:#FF7A45;font-weight:700}
.tk-st .dot{width:7px;height:7px}
.tk-stage{font-size:11px;font-weight:700;color:var(--gold-hi)}
.tk-row{display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:8px;font-size:14px;line-height:1.3}
.tk-logo{width:18px;height:18px;border-radius:50%;background:#fff;display:grid;place-items:center;overflow:hidden}
.tk-logo img{width:86%;height:86%;object-fit:contain}
.tk-logo span{font-size:8px;font-weight:700;color:#0F2B46}
.tk-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tk-score{font-weight:700;min-width:1.2em;text-align:right}
.tk-row.lose{color:rgba(255,255,255,.55)}
.tk-row.win .tk-name{font-weight:700}
.tk-empty{margin:0;align-self:center;padding:0 20px;font-size:14px;color:rgba(255,255,255,.75);white-space:nowrap}
@media (max-width:640px){.tk-pause{display:none}.tk-arrow{flex-basis:32px}.tk-game{width:174px;padding:6px 12px}}
.game.flash{animation:flash 2s ease}
@keyframes flash{0%,30%{box-shadow:0 0 0 3px var(--gold)}100%{box-shadow:0 0 0 0 rgba(201,161,88,0)}}

.colonnade .beam,.colonnade .floor,.colonnade .marker{vector-effect:non-scaling-stroke}
/* gallery on phones: shorter, squarer cards */
@media (max-width:640px){
  #gallery{padding-bottom:56px}
  #gallery .g-head{align-items:center}
  #gallery .lede{font-size:16px;margin-top:10px}
  .g-ctrl .count-label{display:none}
  .g-ctrl .round{width:38px;height:38px}
  .rail{grid-auto-columns:min(62vw,250px);gap:12px;margin-top:24px}
  .rail img{aspect-ratio:1/1;object-position:center 30%;border-radius:16px}
  .rail figcaption{margin-top:8px;font-size:13px}
  .pips{margin-top:18px}
}

/* announcement bar */
.notice{position:relative;z-index:41;color:#fff}
.notice.info{background:linear-gradient(90deg,#5C4512,#7A5C1C)}
.notice.alert{background:#B8400F}
.notice-in{display:flex;align-items:center;gap:12px;min-height:46px;padding-top:8px;padding-bottom:8px}
.notice-ic{flex:0 0 22px;height:22px;border-radius:50%;border:1.5px solid rgba(255,255,255,.85);display:grid;place-items:center;font-weight:700;font-size:13px;font-family:Georgia,serif}
.notice p{margin:0;flex:1;font-size:15px;font-weight:500;line-height:1.4}
.notice a{color:#fff;font-weight:700;text-underline-offset:3px}
.notice-x{flex:0 0 auto;width:32px;height:32px;border:0;border-radius:50%;background:transparent;color:#fff;font-size:22px;line-height:1;cursor:pointer}
.notice-x:hover{background:rgba(255,255,255,.15)}

/* sponsor bar */
.partners{background:var(--surface);border-bottom:1px solid var(--line)}
.partners-in{display:flex;align-items:center;gap:24px;padding-top:18px;padding-bottom:18px}
.partners-label{flex:0 0 auto;font-size:14px;color:var(--ink-2)}
.partners-list{list-style:none;margin:0;padding:0;display:flex;gap:16px;align-items:flex-start;overflow-x:auto;scrollbar-width:none}
.partners-list::-webkit-scrollbar{display:none}
.sp{display:flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none;color:var(--ink-2);flex:0 0 auto}
.sp-tile{display:grid;place-items:center;height:56px;min-width:150px;padding:10px 18px;border-radius:14px;border:1px solid var(--line)}
.sp-tile.light{background:#fff}
.sp-tile.dark{background:#0F2B46;border-color:#0F2B46}
.sp-tile img{max-height:36px;max-width:170px;width:auto;object-fit:contain}
.sp-word{font-family:var(--display);font-size:19px;color:#0F2B46;white-space:nowrap}
.sp-tile.dark .sp-word{color:#fff}
.sp-role{font-size:12px}
a.sp:hover .sp-tile{border-color:var(--gold)}
.sp.mini .sp-tile{height:40px;min-width:90px;padding:6px 10px;border-radius:10px}
.sp.mini .sp-tile img{max-height:26px;max-width:100px}
.sp.mini .sp-word{font-size:14px}
.sp.mini .sp-role{display:none}
@media (max-width:640px){.partners-in{flex-direction:column;align-items:flex-start;gap:10px}.partners-list{width:100%}.sp-tile{min-width:120px;height:48px}}

/* follow + team links */
.st-side{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.follow-pick{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--ink-2)}
.follow-pick select{min-height:40px;padding:0 12px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--ink);max-width:220px}
@media (max-width:640px){.st-side{align-items:flex-start}}
.tlink{background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;text-align:left;cursor:pointer;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px;transition:text-decoration-color .15s}
.tlink:hover{text-decoration-color:currentColor}
.line .tlink{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
.teams .nm .tlink{font-family:inherit}
.star{color:var(--gold);font-size:.85em;margin-left:6px}
.teams li.mine .nm{color:var(--gold-ink)}
.st tr.mine{background:rgba(201,161,88,.14)}
.game.mine{border-color:var(--gold);box-shadow:inset 3px 0 0 var(--gold)}
.tk-game.mine{background:rgba(201,161,88,.12);box-shadow:inset 0 3px 0 var(--gold)}

/* team pop-up */
.team-dlg{width:min(560px,calc(100vw - 24px));max-height:min(86vh,820px);padding:0;border:0;border-radius:24px;background:var(--surface);color:var(--ink);box-shadow:0 30px 90px rgba(0,0,0,.45);overflow-y:auto}
.team-dlg::backdrop{background:rgba(4,12,20,.6);backdrop-filter:blur(3px)}
.td-head{display:flex;align-items:center;gap:16px;padding:22px 22px 0}
.td-badge{width:76px;height:76px;border-radius:18px;flex-shrink:0}
.td-badge.none{font-size:28px}
.td-title{flex:1;min-width:0}
.td-title h2{font-size:clamp(24px,5vw,32px);line-height:1.15}
.td-title p{margin:6px 0 0;color:var(--ink-2);font-size:15px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.td-x{align-self:flex-start;border-color:var(--line);color:var(--ink);background:var(--surface-2)}
.td-follow{margin:16px 22px 0}
.td-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:0;margin:20px 22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.td-stats div{padding:12px 0}
.td-stats dt{font-size:13px;color:var(--ink-2)}
.td-stats dd{margin:2px 0 0;font-family:var(--display);font-size:26px;color:var(--gold-ink)}
.td-stats small{font-family:var(--sans);font-size:13px;color:var(--ink-2)}
.td-empty{margin:18px 22px 0;color:var(--ink-2);font-size:15px}
.td-h{margin:22px 22px 6px;font-size:20px}
.td-games{list-style:none;margin:0 0 18px;padding:0 22px}
.td-games li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line);font-size:16px}
.td-meta{display:block;font-size:13px;color:var(--ink-2)}
.td-games .tlink{font-weight:600;display:inline}
.td-g{min-width:0}
.td-r{display:flex;align-items:center;gap:10px;white-space:nowrap}
.td-r b{font-size:17px}
.td-res{display:inline-grid;place-items:center;min-width:26px;height:26px;padding:0 6px;border-radius:7px;font-size:13px;font-weight:700}
.td-res.w{background:#1F7A4A;color:#fff}.td-res.l{background:var(--surface-2);color:var(--ink-2)}.td-res.t{background:var(--surface-2);color:var(--ink)}.td-res.live{background:var(--ember);color:#fff}
.td-when{font-size:14px;color:var(--ink-2)}

/* staff extras */
.f textarea{padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--bg);font:inherit;font-weight:400;resize:vertical;width:100%}
.notice-cur{border-radius:14px;padding:14px 16px;color:#fff}
.notice-cur.info{background:#6A5018}.notice-cur.alert{background:#B8400F}
.notice-cur p{margin:4px 0 10px;font-size:15px}
.notice-cur .meta{color:rgba(255,255,255,.75)}
.notice-cur .btn{background:#fff;color:var(--ink);border-color:#fff}
.tv-box{border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:var(--bg)}
.tv-box p{margin:6px 0 10px}
.alist .row-logo .sp{flex-shrink:0}

/* ---------- arena TV mode ---------- */
html.tv-mode,html.tv-mode body{height:100%;overflow:hidden;background:#06121E}
html.tv-mode{padding:0}
html.tv-idle,html.tv-idle *{cursor:none!important}
.tv{height:100vh;display:grid;grid-template-rows:auto 1fr auto;color:#fff;font-size:clamp(13px,1.85vh,44px);background:radial-gradient(120% 80% at 50% 0%,#0E2A44 0%,#06121E 70%)}
.tv-top{display:flex;align-items:center;gap:1.2em;padding:1em 2em;border-bottom:1px solid rgba(201,161,88,.35)}
.tv-logo{height:4.2em;width:auto}
.tv-title b{display:block;font-family:var(--display);font-weight:400;font-size:2em;line-height:1.05}
.tv-title span{color:rgba(255,255,255,.65)}
.tv-notice{flex:1;min-width:0;font-size:1.25em;font-weight:600;padding:.55em 1em;border-radius:.6em;visibility:hidden;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tv-notice.on{visibility:visible}
.tv-notice.info{background:#6A5018}.tv-notice.alert{background:#C2450F}
.tv-clock{margin-left:auto;font-family:var(--display);font-size:2.2em;color:var(--gold-hi)}
.tv-main{display:grid;grid-template-columns:1.25fr 1fr;gap:2em;padding:1.4em 2em;min-height:0;position:relative}
.tv-main.pre{grid-template-columns:1fr 1fr}
.tv-panel{min-height:0;overflow:hidden}
.tv-panel h2{font-size:1.9em;margin:0 0 .5em;display:flex;align-items:baseline;gap:.6em}
.tv-panel h2 small{font-family:var(--sans);font-size:.5em;color:rgba(255,255,255,.55)}
.tv-st table{width:100%;border-collapse:collapse;font-size:1.15em}
.tv-st th{font-weight:500;font-size:.75em;color:rgba(255,255,255,.55);padding:.3em .5em;text-align:center}
.tv-st td{padding:.32em .5em;text-align:center;border-top:1px solid rgba(255,255,255,.08)}
.tv-st .l{text-align:left}
.tv-st td.l{font-weight:600}
.tvt{display:flex;align-items:center;gap:.6em}
.tv-st .rk{color:var(--gold-hi);width:2em}
.tv-st tbody tr:nth-child(-n+8) .rk{font-weight:700}
.tv-st .pts{font-family:var(--display);font-size:1.25em;color:var(--gold-hi)}
.tv .badge.tv-b{width:1.6em;height:1.6em;border-radius:.4em;border:0;flex-shrink:0}
.tv .badge.tv-b.none{font-size:.65em}
.tv-gm h3{font-family:var(--sans);font-size:.95em;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--gold-hi);margin:0 0 .5em}
.tv-gm h3:not(:first-child){margin-top:1em}
.tv-games{display:grid;grid-template-columns:1fr 1fr;gap:.7em}
.tv-game{background:rgba(255,255,255,.06);border-radius:.8em;padding:.7em .9em;border:1px solid transparent}
.tv-game.live{border-color:rgba(255,122,69,.7);background:rgba(232,86,28,.12)}
.tv-gh{display:flex;justify-content:space-between;font-size:.85em;color:rgba(255,255,255,.65);margin-bottom:.35em}
.tv-gh .live{color:#FF7A45;font-weight:700;display:inline-flex;align-items:center;gap:.4em}
.tv-gh .live .dot{width:.55em;height:.55em}
.tv-gh .fin{color:#fff;font-weight:700}
.tv-gh .stg{color:var(--gold-hi);font-weight:700}
.tv-row{display:flex;align-items:center;gap:.55em;font-size:1.1em;padding:.15em 0}
.tv-row .nm{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tv-row .sc{font-weight:700;font-size:1.15em;min-width:1.2em;text-align:right}
.tv-row.lose{color:rgba(255,255,255,.5)}
.tv-row.win .nm{font-weight:700}
.tv-champ{position:absolute;left:2em;right:2em;top:.4em;z-index:2;text-align:center;font-size:1.3em;color:rgba(255,255,255,.8)}
.tv-champ b{font-family:var(--display);font-weight:400;color:var(--gold-hi);font-size:1.3em}
.tv-count .count{margin:1.5em 0 0;max-width:none;border-color:rgba(201,161,88,.5)}
.tv-count .count b{font-size:5.5em}
.tv-count .count span{font-size:1em}
.tv-count p{font-size:1.3em;color:rgba(255,255,255,.7)}
.tv-field{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.6em 1.2em}
.tv-field li{display:flex;align-items:center;gap:.7em;font-size:1.25em;font-weight:600}
.tv .badge.tv-fb{width:2.4em;height:2.4em;border-radius:.6em;border:0}
.tv-foot{display:flex;align-items:center;gap:2em;padding:.9em 2em;border-top:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.25)}
.tv-sponsors{flex:1;display:flex;align-items:center;gap:1.2em;overflow:hidden}
.tv-sponsors .lbl{color:rgba(255,255,255,.55);font-size:.9em;white-space:nowrap}
.tv .sp.tv-sp .sp-tile{height:3.2em;min-width:8em;padding:.5em 1em;border:0}
.tv .sp.tv-sp .sp-tile img{max-height:2.1em;max-width:9em}
.tv .sp.tv-sp .sp-word{font-size:1.1em}
.tv .sp.tv-sp .sp-role{display:none}
.tv-bh{height:3em;width:auto;opacity:.9}
.tv-hint{position:fixed;left:50%;bottom:6em;transform:translateX(-50%);background:rgba(0,0,0,.7);padding:.6em 1.2em;border-radius:999px;font-size:1em}
.tv-hint[hidden]{display:none}
