
/* Layout: gym-floor control room. HQ console over a wall of 5 TV stages. Palette: Abyssal Teal (#063F47) with a light-teal signal and warm sand for highlights. */
:root{
  --ink:#021417; --panel:#06272c; --panel2:#0a343b; --line:#165058; --text:#e6f2f1; --muted:#87a8aa;
  --abyss:#063f47; --lime:#b6ff3c; --gold:#f2c94c; --fire:#ff8a3d;
  --work:#5fd8c6; --rest:#3be8c8; --move:#ff6b8a; --intro:#9fd6d0; --danger:#ff6b5b; --ok:#5fe08a;
  --display:'Big Shoulders Display','Arial Narrow',Impact,var(--body);
  --body:'IBM Plex Sans KR','Apple SD Gothic Neo','Malgun Gothic',system-ui,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,Menlo,monospace;
  --hud:'Chakra Petch','Big Shoulders Display','Arial Narrow',var(--body);
  color-scheme:dark;
}
html,body{height:100%}
body{background:radial-gradient(1200px 600px at 20% -10%,#0a4a53 0%,transparent 60%) 0 0/100% 900px no-repeat,var(--ink);color:var(--text);font-family:var(--body);font-size:14px;line-height:1.5}
*{box-sizing:border-box}
button,input,select{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--work);outline-offset:2px}
.app{min-height:100%;padding-inline:16px;padding-block:0 40px;max-width:1280px;margin:0 auto}
.top{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-block:14px;border-bottom:1px solid var(--line);position:sticky;top:env(safe-area-inset-top,0px);background:var(--ink);z-index:5}
.brand .blogo{height:34px;width:auto;display:block}
.brand{font-family:var(--body);font-weight:900;font-size:26px;letter-spacing:.02em;text-transform:uppercase;display:flex;align-items:center;gap:10px}
.brand i{display:inline-flex;gap:3px}
.brand i b{width:7px;height:22px;border-radius:2px;display:block}
.brand i b:nth-child(1){background:var(--work)}.brand i b:nth-child(2){background:var(--rest)}.brand i b:nth-child(3){background:var(--move)}
.tabs{display:flex;gap:4px;flex-wrap:wrap;margin-left:auto}
.tab{background:none;border:1px solid transparent;border-radius:8px;padding:7px 12px;color:var(--muted);cursor:pointer;font-weight:500}
.tab:hover{color:var(--text)}
.tab[aria-selected="true"]{background:var(--panel2);border-color:var(--line);color:var(--text)}
.modeSwitch{background:var(--work);color:#111;border:0;border-radius:8px;padding:8px 14px;font-weight:700;cursor:pointer}
.note{color:var(--muted);font-size:13px}
.banner{margin-top:14px;padding:10px 14px;border-radius:10px;background:var(--panel);border:1px dashed var(--line);color:var(--muted);font-size:13px}
h2{font-family:var(--display);font-weight:800;font-size:30px;text-transform:uppercase;letter-spacing:.02em;margin:24px 0 4px;text-wrap:balance}
h3{font-size:15px;margin:0 0 8px}
.lede{color:var(--muted);margin:0 0 16px;max-width:65ch}
.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.grid2{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:16px}
@media (max-width:760px){.grid2{grid-template-columns:minmax(0,1fr)}}
label.f{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted);min-width:0}
label.f span.u{font-family:var(--mono);font-size:11px}
input[type=text],input[type=number],input[type=time],select{background:var(--ink);border:1px solid var(--line);border-radius:8px;padding:8px 10px;min-width:0;width:100%}
input[type=number]{font-family:var(--mono)}
.btn{background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:8px 14px;cursor:pointer;font-weight:500;white-space:nowrap}
.btn:hover{border-color:var(--muted)}
.btn.pri{background:var(--work);border-color:var(--work);color:#111;font-weight:700}
.btn.ghost{background:none}
.btn.danger{color:var(--danger)}
.btn:disabled{opacity:.45;cursor:not-allowed}
.fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}
.pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700;border:1px solid var(--line)}
.mono{font-family:var(--mono)}
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--panel2);border:1px solid var(--line);padding:10px 16px;border-radius:10px;z-index:50;max-width:90vw}
/* library */
.lib{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-top:14px}
.vcard{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}
.vcard video{width:100%;aspect-ratio:16/9;background:#000;display:block;object-fit:cover}
.vcard .aud{aspect-ratio:16/9;display:grid;place-items:center;background:var(--panel2);color:var(--muted);font-family:var(--display);font-size:28px;font-weight:800}
.vcard .meta{padding:10px;display:flex;flex-direction:column;gap:6px}
.vcard .meta .row{justify-content:space-between}
.drop{border:2px dashed var(--line);border-radius:12px;padding:22px;text-align:center;color:var(--muted)}
.drop.over{border-color:var(--work);color:var(--text)}
.up{font-size:12px;color:var(--muted);margin-top:8px;display:flex;flex-direction:column;gap:4px}
/* programs */
.plist{display:flex;flex-direction:column;gap:6px}
.pitem{text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 12px;cursor:pointer}
.pitem[aria-current="true"]{border-color:var(--work)}
.pitem small{display:block;color:var(--muted)}
.scr{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.scard{background:var(--ink);border:1px solid var(--line);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:8px;min-width:0}
.scard h4{margin:0;font-family:var(--display);font-size:22px;font-weight:800;display:flex;align-items:center;gap:8px}
.scard h4 .shape{display:inline-block;border:2px solid var(--muted);border-radius:3px}
.seg{display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.seg button{flex:1;background:none;border:0;padding:6px 4px;cursor:pointer;color:var(--muted);font-size:12px}
.seg button[aria-pressed="true"]{background:var(--panel2);color:var(--text);font-weight:700}
.sum{display:flex;gap:16px;flex-wrap:wrap;font-family:var(--mono);font-size:12px;color:var(--muted)}
.sum b{color:var(--text)}
.tlbar{display:flex;height:14px;border-radius:4px;overflow:hidden;margin-top:8px;gap:1px}
.tlbar i{display:block;min-width:1px}
.legend{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-top:6px}
.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:4px;vertical-align:-1px}
/* schedule */
.sched{display:grid;grid-template-columns:48px minmax(0,1fr) minmax(0,1fr);gap:8px 12px;align-items:center}
.sched .d{font-family:var(--display);font-size:24px;font-weight:800}
.sched .today{color:var(--work)}
@media (max-width:560px){.sched{grid-template-columns:40px minmax(0,1fr)}.sched .tm{grid-column:2}}
/* pairing */
.ptable{width:100%;border-collapse:collapse}
.ptable td,.ptable th{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left;font-size:13px}
.ptable th{color:var(--muted);font-weight:500;font-size:12px}
.code{font-family:var(--mono);font-size:20px;font-weight:700;letter-spacing:.12em;color:var(--work)}
.scroll{overflow-x:auto}
/* preview wall */
.wall{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;margin-top:14px}
.mon{display:flex;flex-direction:column;gap:4px;min-width:0;width:min(400px,100%)}.mon.po{width:min(170px,44%)}
.mon .lab{font-size:11px;color:var(--muted);font-family:var(--mono);display:flex;justify-content:space-between}
.host{position:relative;width:100%;background:#000;border-radius:6px;overflow:hidden;border:3px solid #1c2232;box-shadow:0 8px 24px rgba(0,0,0,.4)}
.ctrl{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
/* monitor mode */
.monSetup{max-width:520px;margin:6vh auto 0;display:flex;flex-direction:column;gap:14px}
.monSetup .big{font-size:32px;text-align:center;letter-spacing:.3em;font-family:var(--mono);text-transform:uppercase}
.slots{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.full{position:fixed;inset:0;background:#000;z-index:100}
.exitHot{position:fixed;top:0;left:0;width:64px;height:64px;z-index:101;background:none;border:0;cursor:pointer;opacity:0}
.exitHot:focus-visible{opacity:1;color:#fff}

.sec{display:flex;flex-direction:column;gap:10px;padding-top:16px;border-top:1px solid var(--line)}
.sech{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}.sech h3{margin:0}
.f.wide{grid-column:1/-1}
textarea{background:var(--ink);border:1px solid var(--line);border-radius:8px;padding:8px 10px;width:100%;font:inherit;color:inherit;resize:vertical}
input[type=color]{height:38px;padding:2px;background:var(--ink);border:1px solid var(--line);border-radius:8px;width:100%}
.fields.wide3{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.rows{display:flex;flex-direction:column;gap:6px}
.lrow{display:grid;grid-template-columns:24px minmax(0,1.2fr) minmax(0,1.4fr) 90px auto auto;gap:6px;align-items:center}
.lrow.int{grid-template-columns:110px minmax(0,1.6fr) minmax(0,1fr) 14px auto}
.ln{color:var(--muted);text-align:right}
.sec-in{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--muted);white-space:nowrap}
.sec-in input{width:100%}
.btn.ic{padding:6px 10px}
.lvdot{width:14px;height:14px;border-radius:50%}
.items{display:flex;flex-direction:column;gap:8px}
.item{display:flex;flex-direction:column;gap:5px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}
.nob{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--muted)}.nob input{width:56px;font-weight:700;color:var(--work)}
.item select{flex:1;min-width:0}
.routeed{display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr);gap:14px}
.routeprev{background:#03272c;border:1px solid var(--line);border-radius:10px;aspect-ratio:5/3;max-width:100%;--acc:#2ec4b6;--acc-rgb:46,196,182;font-family:var(--body)}
@media (max-width:760px){.routeed{grid-template-columns:minmax(0,1fr)}.lrow{grid-template-columns:20px minmax(0,1fr) minmax(0,1fr);}.lrow .sec-in,.lrow .btn{grid-row:2}.lrow.int{grid-template-columns:100px minmax(0,1fr)}}
.logof{grid-column:span 2;min-width:0}.logorow{display:flex;gap:10px;align-items:center}
.logoprev{width:72px;height:72px;flex:none;border:1px solid var(--line);border-radius:10px;background:var(--panel2);display:grid;place-items:center;overflow:hidden;font-size:11px;color:var(--muted)}
.logoprev img{max-width:100%;max-height:100%;object-fit:contain}
.logoact{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}
@media (max-width:560px){.logof{grid-column:1/-1}}
.pitem .sw{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px}
.vcard img{width:100%;aspect-ratio:16/9;object-fit:contain;background:var(--panel2);display:block}


.bil{display:grid;grid-template-columns:1fr 1fr;gap:6px}.bil input[lang=en]{border-style:dashed}
.mini{position:relative;margin:4px auto;background:#03181c;border:3px solid #1c3a40;border-radius:6px;display:flex;flex-direction:column;gap:3px;padding:4px;width:100%}
.mini.po{aspect-ratio:9/16;max-width:150px}.mini.la{aspect-ratio:16/9;max-width:300px}
.mini .mhd{height:12%;flex:none;border-radius:3px;background:linear-gradient(90deg,rgba(46,196,182,.25),transparent);border-bottom:2px solid var(--acc)}
.mini.la .mhd{display:none}
.mgrid{flex:1;display:grid;gap:3px;min-height:0}
.mt{position:relative;background:#fff;border-radius:2px;overflow:hidden;min-height:0;display:flex;align-items:center;justify-content:center}
.mt video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.mt b{position:absolute;left:0;top:0;z-index:2;background:var(--acc);color:#fff;font-family:var(--hud);font-size:11px;padding:0 4px;line-height:1.4}
.mt span{position:absolute;left:0;right:0;bottom:0;z-index:2;background:rgba(255,255,255,.9);color:#0b2328;font-size:9px;font-weight:700;padding:1px 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mnov{font-size:10px;color:#6b8a8c;text-align:center}
.mini.other{align-items:center;justify-content:center;background:linear-gradient(160deg,#0b5560,#01161a)}.mini.other b{font-family:var(--hud);font-size:18px;color:#fff}.mini.other span{font-size:10px;color:#9fd6d0}
.ithumb{width:52px;height:34px;flex:none;border-radius:4px;background:#fff;overflow:hidden;position:relative;display:grid;place-items:center}
.ithumb video{width:100%;height:100%;object-fit:contain}.ithumb .mnov{font-size:8px;line-height:1.1}
.slots{grid-template-columns:repeat(10,1fr)!important}
.langb{font-weight:700;min-width:58px}
/* curriculum / notices / stores */
.cur{display:flex;flex-direction:column;gap:8px}
.curow{display:grid;grid-template-columns:70px minmax(0,1.2fr) minmax(0,1.4fr) auto;gap:12px;align-items:center;padding:10px 6px;border-bottom:1px solid var(--line)}
.curow.past{opacity:.55}.curow.today{background:rgba(95,216,198,.07);border-radius:10px}
.cud b{display:block;font-family:var(--mono);font-size:22px}.cud span{font-size:12px;color:var(--muted)}
.cui{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:6px}
.sw{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;flex:none}
.pill.st-today{color:var(--work);border-color:var(--work)}.pill.st-past{color:var(--muted)}.pill.st-next{color:#9fd6d0}
.pill.imp{color:#e9c46a;border-color:#e9c46a}.pill.live{color:var(--ok);border-color:var(--ok)}
@media (max-width:640px){.curow{grid-template-columns:52px minmax(0,1fr)}.curow .cui,.curow .pill{grid-column:2}}
.nlist{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.ncard p{margin:8px 0;color:var(--text);font-size:14px;line-height:1.6}.ncard.imp{border-color:#e9c46a}
.howto ol{margin:8px 0 12px;padding-left:20px;line-height:1.7;color:var(--muted);font-size:13px;max-width:75ch}.howto b{color:var(--text)}
code{font-family:var(--mono);background:var(--panel2);padding:1px 6px;border-radius:5px;color:var(--work)}
.scardx{display:flex;flex-direction:column;gap:10px;margin-top:12px}
/* coach app (phone / tablet) */
.coach{max-width:600px;margin:0 auto;min-height:100%;padding-inline:16px;padding-block:0 calc(90px + env(safe-area-inset-bottom,0px))}
.ch{display:flex;align-items:center;gap:12px;padding-block:12px;position:sticky;top:env(safe-area-inset-top,0px);background:var(--ink);z-index:5;border-bottom:1px solid var(--line)}
.chl{height:38px;width:auto}.cht{min-width:0;flex:1}.cht b{display:block;font-size:17px}.cht span{font-size:12px;color:var(--muted)}
.cm{display:flex;flex-direction:column;gap:14px;padding-top:12px}
.cnav{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:center;gap:6px;padding:8px 16px calc(8px + env(safe-area-inset-bottom,0px));background:rgba(2,20,23,.95);border-top:1px solid var(--line);z-index:10}
.cnav button{flex:1;max-width:190px;background:none;border:0;color:var(--muted);padding:12px 8px;border-radius:12px;font-weight:700;font-size:15px;cursor:pointer}
.cnav button[aria-current="true"]{background:var(--panel2);color:var(--text)}
.nb{font-style:normal;font-size:11px;background:var(--work);color:#032;border-radius:999px;padding:1px 6px;margin-left:2px}
.cdate{font-size:13px;color:var(--muted);font-family:var(--mono)}
.cimp{display:flex;flex-direction:column;gap:4px;text-align:left;border:1px solid #e9c46a;background:rgba(233,196,106,.08);border-radius:12px;padding:12px;color:var(--text);cursor:pointer}
.cimp span{font-size:13px;color:var(--muted)}
.chero{background:linear-gradient(160deg,rgba(46,196,182,.16),var(--panel) 60%);border:1px solid var(--line);border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:12px}
.lg{width:84px;height:84px;flex:none;border-radius:16px;background:var(--ink);display:grid;place-items:center;overflow:hidden;padding:6px}
.lg img{max-width:100%;max-height:100%;object-fit:contain}.lg span{font-weight:700;font-size:13px;text-align:center}
.cname{margin:6px 0 0;font-size:24px;line-height:1.2;text-wrap:balance}
.cdesc{margin:0;color:var(--muted);font-size:14px;line-height:1.6}
.cstats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.cstats div{background:var(--ink);border-radius:12px;padding:10px 4px;text-align:center}.cstats b{display:block;font-size:18px;font-family:var(--mono)}.cstats span{font-size:11px;color:var(--muted)}
.csec{display:flex;flex-direction:column;gap:8px}.csec h3{margin:6px 0 0}
.lead{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.leadb{display:flex;flex-direction:column;gap:2px;align-items:flex-start;text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px 14px;color:var(--text);cursor:pointer}
.leadb b{font-size:16px}.leadb span{font-size:12px;color:var(--muted)}
.leadb[aria-pressed="true"]{border-color:var(--work);background:rgba(95,216,198,.12)}
.bigbtn{width:100%;padding:18px;font-size:18px;border-radius:16px}
.btn.pri:disabled{background:var(--panel2);border-color:var(--line);color:var(--muted)}
.remote{--pc:var(--work);border:2px solid var(--pc);border-radius:20px;padding:18px;display:flex;flex-direction:column;gap:12px;background:var(--panel);transition:border-color .3s}
.remote.paused{border-style:dashed}
.rph{display:flex;justify-content:space-between;align-items:center;gap:10px}.rph .pill{background:var(--pc);color:#022;border:0;font-size:14px;padding:4px 12px}
.rph .note{text-align:right;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rname{font-weight:700;font-size:16px;color:var(--muted)}
.rtime{font-family:var(--mono);font-size:68px;font-weight:700;text-align:center;line-height:1;font-variant-numeric:tabular-nums}
.rbar{height:10px;background:var(--ink);border-radius:5px;overflow:hidden}.rbar i{display:block;height:100%;background:var(--pc);width:0}
.rnext{text-align:center;font-weight:700}.rtot{text-align:center}
.rctl{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:8px}.rctl .btn{padding:18px 6px;font-size:16px;border-radius:14px}
.clist{display:flex;flex-direction:column;gap:8px}
.wrow{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--panel);text-align:left;width:100%;color:var(--text);cursor:pointer}
.wrow:disabled{cursor:default;opacity:.5}
.wrow .wd{width:42px;flex:none;text-align:center}.wrow .wd b{display:block;font-size:22px;font-family:var(--mono)}.wrow .wd span{font-size:12px;color:var(--muted)}
.wrow .wi{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.wrow .wi b{display:flex;align-items:center}.wrow .wi span{font-size:12px;color:var(--muted)}
.wrow.today{border-color:var(--work)}.wrow.past{opacity:.6}
.cpvh{font-size:13px;padding:10px 12px;border-radius:10px;background:var(--panel2);color:var(--muted)}.cpvh.ok{color:var(--work)}
.cpvhost{position:relative;width:100%;background:#000;border-radius:12px;overflow:hidden;margin:0 auto}
.cflow{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}.cflow li b{margin-right:8px}.cflow li span{color:var(--muted);font-size:13px}
.podh{font-family:var(--mono);font-size:12px;color:var(--work);margin-top:6px}
.exr{display:flex;gap:12px;align-items:center;padding:8px;border-radius:12px;background:var(--panel)}
.ethumb{width:96px;height:64px;flex:none;border-radius:8px;background:#fff;border:0;color:#063f47;font-size:20px;display:grid;place-items:center;object-fit:contain;cursor:pointer}
.ethumb.none{background:var(--panel2);color:var(--muted);font-size:11px;cursor:default}
.exn{min-width:0;display:flex;flex-direction:column;gap:2px}.exn b{display:flex;align-items:center;gap:8px}.exn b i{font-style:normal;font-family:var(--mono);background:var(--work);color:#032;border-radius:6px;padding:0 6px;font-size:13px}
.exn span{font-size:12px;color:var(--muted)}
.stage.paused::after{content:attr(data-paused);position:absolute;inset:0;z-index:20;display:grid;place-items:center;background:rgba(1,22,26,.72);color:#fff;font-weight:700;font-size:150px;letter-spacing:.06em}
/* ===== member app ===== */
.mb{max-width:560px;margin:0 auto;min-height:100%;padding-inline:16px;padding-block:0 calc(92px + env(safe-area-inset-bottom,0px))}
.mbh{display:flex;align-items:center;gap:10px;padding-block:12px;position:sticky;top:env(safe-area-inset-top,0px);background:var(--ink);z-index:5;border-bottom:1px solid var(--line)}
.mbpt{font-family:var(--hud);font-weight:700;font-size:20px;color:var(--lime);text-shadow:0 0 12px rgba(182,255,60,.45)}.mbpt small{font-size:12px;margin-left:2px}
.mbm{display:flex;flex-direction:column;gap:14px;padding-top:14px}
.mbnav button{max-width:110px;font-size:14px}
.mblogin{display:flex;flex-direction:column;gap:12px;padding-top:24px}.mblogin h2{margin:0}
.mbbig{height:90px;width:auto;align-self:center}
.eye{font-family:var(--hud);font-weight:700;font-size:12px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase}
.lime{color:var(--lime)}.warn{color:var(--fire)}
.hud{position:relative;padding:20px 18px 16px;border-radius:20px;background:radial-gradient(120% 90% at 100% 0%,rgba(182,255,60,.14),transparent 55%),linear-gradient(180deg,#0b1a12,#050b09);border:1px solid rgba(182,255,60,.35);box-shadow:inset 0 0 0 1px rgba(182,255,60,.06),0 10px 30px rgba(0,0,0,.35);overflow:hidden}
.hud::before,.hud::after{content:'';position:absolute;width:22px;height:22px;border:3px solid var(--lime);opacity:.85}
.hud::before{left:8px;top:8px;border-right:0;border-bottom:0}.hud::after{right:8px;bottom:8px;border-left:0;border-top:0}
.hudtop{display:flex;justify-content:space-between;align-items:center}
.hudl{font-family:var(--hud);font-weight:700;font-size:13px;letter-spacing:.2em;color:var(--lime)}
.hudpts{font-family:var(--hud);font-weight:700;font-size:64px;line-height:1;margin:10px 0 12px;color:#f3ffe0;text-shadow:0 0 24px rgba(182,255,60,.45);font-variant-numeric:tabular-nums}
.hudpts small{font-size:18px;color:var(--lime);margin-left:8px;letter-spacing:.1em}
.hudbar{height:10px;border-radius:5px;background:rgba(182,255,60,.12);overflow:hidden}.hudbar i{display:block;height:100%;background:linear-gradient(90deg,#6fd11f,var(--lime));box-shadow:0 0 14px rgba(182,255,60,.8)}
.hudnext{font-size:13px;color:#c9dcc0;margin-top:8px}.hudnext b{color:var(--lime)}
.hudrow{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}
.hudrow div{background:rgba(255,255,255,.04);border:1px solid rgba(182,255,60,.18);border-radius:12px;padding:10px 6px;text-align:center}
.hudrow b{display:block;font-family:var(--hud);font-size:20px}.hudrow span{font-size:11px;color:var(--muted)}
.flm{display:inline-block;width:18px;height:18px;color:var(--fire);vertical-align:-3px}.flm svg{width:100%;height:100%}.flm.sm{width:14px;height:14px}
.hudrow .flm{display:block;margin:0 auto 2px}
.club{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(182,255,60,.5);border-radius:999px;padding:3px 10px 3px 4px;color:var(--lime);font-family:var(--hud);font-weight:700;font-size:12px;white-space:nowrap;vertical-align:middle}
.club i{width:20px;height:20px;border-radius:50%;background:rgba(182,255,60,.12);display:grid;place-items:center}.club i svg{width:14px;height:14px}
.club.none{color:var(--muted);border-color:var(--line)}.club.none i{background:var(--panel2)}
.club.big{font-size:18px;padding:6px 16px 6px 6px}.club.big i{width:36px;height:36px}.club.big i svg{width:24px;height:24px}
.mci{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border-radius:16px;background:var(--panel);border:1px dashed var(--work)}
.mci b{display:block}.mci span{font-size:12px;color:var(--muted)}.mci input{width:84px;font-family:var(--mono);font-size:20px;text-align:center;letter-spacing:.2em}
.mci.done{border-style:solid;border-color:var(--lime);justify-content:flex-start}.mci.done>i{width:34px;height:34px;flex:none;border-radius:50%;background:var(--lime);color:#0b1a03;display:grid;place-items:center}.mci.done>i svg{width:22px;height:22px}
.mcard{display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:16px;background:var(--panel);border:1px solid var(--line)}
.mcard.theme{border-left:4px solid var(--pa)}
.mch{display:flex;justify-content:space-between;align-items:center;gap:8px}
.mtitle{margin:0;font-size:22px;line-height:1.2}.mkcal{color:var(--muted);font-size:13px}.mkcal b{color:var(--lime);font-family:var(--hud);font-size:22px;margin-right:4px}
.mbk{padding:10px 12px;border-radius:10px;background:var(--ink);font-size:14px}.mbk b{font-family:var(--mono);margin-right:6px}
.mrenew{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:14px;border:1px solid var(--fire);background:rgba(255,138,61,.1)}.mrenew span{font-size:13px;color:var(--muted)}.mrenew.over{border-color:var(--danger);background:rgba(255,107,91,.1)}
.qrow{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.qrow:first-of-type{border-top:0}
.qi{flex:1;min-width:0;display:grid;grid-template-columns:auto 1fr auto;gap:4px 8px;align-items:center}
.qk{font-size:10px;font-weight:700;color:var(--ink);background:var(--muted);border-radius:4px;padding:1px 5px}.qi>b{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qbar{grid-column:1/3;height:6px;border-radius:3px;background:var(--ink);overflow:hidden}.qbar i{display:block;height:100%;background:var(--work)}
.qn{font-family:var(--mono);font-size:11px;color:var(--muted)}
.qrow.done .qbar i{background:var(--lime)}.qrow.done .qk{background:var(--lime)}
.qp{font-family:var(--hud);font-weight:700;color:var(--muted);font-size:13px}.qc{font-size:12px;color:var(--lime);font-weight:700}
.qrow.claimed{opacity:.55}
.dstrip{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.coach .dstrip{grid-template-columns:repeat(8,1fr)}
.dstrip button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0;border-radius:12px;background:var(--panel);border:1px solid var(--line);color:var(--text);cursor:pointer}
.dstrip span{font-size:11px;color:var(--muted)}.dstrip b{font-family:var(--mono);font-size:18px}.dstrip i{width:6px;height:6px;border-radius:50%}
.dstrip button[aria-current="true"]{border-color:var(--work);background:rgba(95,216,198,.14)}
.lg.sm{width:56px;height:56px;border-radius:12px}
.slot{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center;padding:12px;border-radius:14px;background:var(--panel);border:1px solid var(--line)}
.slot.mine{border-color:var(--lime);box-shadow:0 0 0 1px rgba(182,255,60,.25) inset}
.slt b{display:block;font-family:var(--mono);font-size:20px}.slt span{font-size:11px;color:var(--muted)}
.slm{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}.slm b{color:var(--text)}
.slbar{height:8px;border-radius:4px;background:var(--ink);overflow:hidden}.slbar i{display:block;height:100%;background:linear-gradient(90deg,var(--work),var(--lime))}
.rules{position:relative;padding:20px;border-radius:20px;background:#070d08;border:1px solid rgba(182,255,60,.4)}
.rulesh{position:absolute;left:50%;top:-1px;transform:translateX(-50%);background:#070d08;border:1px solid rgba(182,255,60,.4);border-top:0;padding:4px 18px;border-radius:0 0 10px 10px;font-family:var(--hud);font-weight:700;letter-spacing:.2em;color:var(--lime);font-size:12px}
.rbig{font-family:var(--hud);font-weight:700;font-size:30px;color:var(--lime);text-align:center;margin:18px 0 10px;text-shadow:0 0 18px rgba(182,255,60,.4)}.rbig b{font-size:34px}
.rules ul{list-style:none;margin:0;padding:0;border-top:1px solid rgba(182,255,60,.3)}
.rules li{display:flex;align-items:center;gap:12px;padding:10px 4px;border-bottom:1px dashed rgba(182,255,60,.2);font-weight:700}
.rules li i{width:28px;height:28px;border-radius:50%;border:2px solid var(--lime);color:var(--lime);display:grid;place-items:center;flex:none}.rules li i svg{width:18px;height:18px}
.rules p{font-size:13px;color:var(--muted);text-align:center;margin:12px 0}
.bonus{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;align-items:center;font-size:12px}.bonus span{color:var(--muted);width:100%;text-align:center}
.bonus b{border:1px solid var(--fire);color:var(--fire);border-radius:999px;padding:3px 10px}
.stairs{display:flex;flex-direction:column;gap:6px}
.step{position:relative;margin-left:var(--in);display:grid;grid-template-columns:40px 30px 1fr;grid-template-rows:auto auto;gap:2px 10px;align-items:center;padding:10px 12px;border-radius:10px;background:linear-gradient(90deg,#0c140d,#070b08);border:1px solid #233024;opacity:.6}
.step>i{grid-row:1/3;width:38px;height:38px;border-radius:50%;border:1px solid #3a4a3a;display:grid;place-items:center;color:var(--muted)}.step>i svg{width:22px;height:22px}
.step .lv{grid-row:1/3;font-family:var(--hud);font-size:30px;color:var(--muted)}
.sn b{font-family:var(--hud);font-size:13px;line-height:1.05;display:block}
.sd{grid-column:3}.sd span{display:block;font-size:11px;color:var(--muted)}.sd b{font-size:13px}
.step em{position:absolute;right:10px;top:8px;font-style:normal;font-size:10px;font-weight:700;color:#0b1a03;background:var(--lime);border-radius:4px;padding:1px 6px}
.step.got{opacity:1;border-color:rgba(182,255,60,.6);box-shadow:0 0 18px rgba(182,255,60,.15)}
.step.got>i{color:var(--lime);border-color:var(--lime)}.step.got .lv{color:var(--lime)}.step.got .sd span{color:var(--lime)}
.step.legend.got{border-color:var(--gold);box-shadow:0 0 22px rgba(242,201,76,.3)}.step.legend.got>i,.step.legend.got .lv{color:var(--gold);border-color:var(--gold)}
.rk{display:grid;grid-template-columns:28px 1fr auto auto;gap:10px;align-items:center;padding:8px 6px;border-top:1px solid var(--line)}
.rk.me{background:rgba(182,255,60,.08);border-radius:10px}.rn{font-family:var(--hud);color:var(--lime);text-align:center}.rp{font-family:var(--hud)}.rnm{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kc3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.kc3 div{background:var(--ink);border-radius:12px;padding:12px 6px;text-align:center}.kc3 b{display:block;font-family:var(--hud);font-size:22px}.kc3 span{font-size:11px;color:var(--muted)}
.praise{margin:0;padding:10px 12px;border-radius:10px;background:rgba(182,255,60,.08);color:#dff5c9;font-size:14px}.praise b{color:var(--lime)}
.wk{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;align-items:end;height:96px}.wk div{display:flex;flex-direction:column;align-items:center;gap:4px;justify-content:flex-end;height:100%}
.wk i{width:60%;border-radius:4px 4px 0 0;background:rgba(95,216,198,.4)}.wk i.on{background:var(--lime)}.wk span{font-size:11px;color:var(--muted)}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}
.cal .cw{font-size:11px;color:var(--muted)}.cal .cd{aspect-ratio:1;display:grid;place-items:center;border-radius:8px;font-size:12px;font-family:var(--mono);background:var(--ink);color:var(--muted)}
.cal .c-ok{background:var(--lime);color:#0b1a03;font-weight:700}.cal .c-pending{background:#e6f2f1;color:#063f47}.cal .c-late{background:#4b5b5c;color:#cfd}.cal .today{outline:2px solid var(--work)}
.legend i.c-ok{background:var(--lime)}.legend i.c-pending{background:#e6f2f1}.legend i.c-late{background:#4b5b5c}
.mbar{height:10px;border-radius:5px;background:var(--ink);overflow:hidden}.mbar i{display:block;height:100%;background:var(--work)}.mbar i.over{background:var(--fire)}
.meal{display:grid;grid-template-columns:52px 1fr auto auto;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--line)}
.meal img{width:52px;height:52px;border-radius:10px;object-fit:cover}.meal .mi{width:52px;height:52px;border-radius:10px;background:var(--ink);display:grid;place-items:center;font-size:12px;color:var(--muted);text-align:center}
.meal div{min-width:0}.meal div b{display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meal div span{font-size:12px;color:var(--muted)}
.mcard .meal:not(:has(button)){grid-template-columns:52px 1fr}
.spark{width:100%;height:auto}.spark .sl{fill:none;stroke:var(--lime);stroke-width:3}.spark .sa{fill:rgba(182,255,60,.1)}.spark .sd{fill:var(--lime)}.spark text{fill:var(--text);font-size:13px;font-weight:700}
.ba{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ba figure{margin:0;position:relative;border-radius:12px;overflow:hidden;background:var(--ink);aspect-ratio:3/4}
.ba img{width:100%;height:100%;object-fit:cover}.ba figcaption{position:absolute;left:0;right:0;bottom:0;padding:6px 8px;font-size:11px;font-weight:700;background:linear-gradient(transparent,rgba(0,0,0,.8))}
.ba .empty{display:grid;place-items:center;text-align:center;font-size:12px;color:var(--muted);border:1px dashed var(--line)}
.thumbs{display:flex;gap:6px;overflow-x:auto}.thumbs img{width:64px;height:84px;object-fit:cover;border-radius:8px;flex:none}
.hist{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:8px 0;border-top:1px solid var(--line);font-size:13px}.hist span{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hist em{font-style:normal;font-weight:700}.h-ok{color:var(--lime)}.h-pending{color:#e6f2f1}.h-late,.h-void{color:var(--muted)}
.plus{display:flex;flex-direction:column;gap:12px;padding:20px;border-radius:20px;background:radial-gradient(120% 100% at 0% 0%,rgba(46,196,182,.3),transparent 60%),linear-gradient(180deg,#0a3a41,#04181b);border:1px solid rgba(46,196,182,.5)}
.plus h2{margin:0;font-size:26px;line-height:1.25}.plus p{margin:0;color:#cfe5e3}.plus ul{margin:0;padding-left:18px;line-height:1.8;font-size:14px}
.price b{font-family:var(--hud);font-size:30px;color:var(--lime);display:block}.price span{font-size:12px;color:var(--muted)}
.plus.on{flex-direction:row;justify-content:space-between;align-items:center;padding:14px 18px}
.hv{display:grid;grid-template-columns:72px 1fr auto;gap:12px;align-items:center;padding:8px 0;border-top:1px solid var(--line)}
.hv div{min-width:0}.hv div b{display:block}.hv div span{font-size:12px;color:var(--muted)}.hv em{display:block;font-style:normal;font-size:12px;color:var(--muted)}
.hvv,.hv .lk{width:72px;height:52px;border-radius:10px;background:#fff;color:#063f47;display:grid;place-items:center;font-size:18px;cursor:pointer}
.hv.locked{opacity:.6;grid-template-columns:72px 1fr}.hv .lk{background:var(--panel2);color:var(--muted);font-size:12px;cursor:default}
.hvplay{width:100%;border-radius:12px;background:#000;max-height:60vh}
.aiout{white-space:pre-wrap;font-size:14px;line-height:1.6;color:var(--text)}.aiout:empty{display:none}
.chips{display:flex;flex-wrap:wrap;gap:6px}.chips span{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--ink);border:1px solid var(--line);font-size:13px}.chips b{color:var(--work);font-family:var(--mono)}
.sheet{position:fixed;inset:0;z-index:30;background:rgba(0,0,0,.6);display:flex;align-items:flex-end;justify-content:center}
.sheetin{width:min(560px,100%);max-height:88vh;overflow-y:auto;background:var(--panel);border-radius:20px 20px 0 0;padding:18px 16px calc(18px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:12px;border:1px solid var(--line)}
.mealpick{display:grid;place-items:center;min-height:120px;border:2px dashed var(--line);border-radius:14px;color:var(--muted);cursor:pointer;overflow:hidden}.mealpick img{max-width:100%;max-height:220px}
/* center app extras */
.ccode{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px;border-radius:16px;background:#070d08;border:1px solid rgba(182,255,60,.4)}
.ccode b{display:block;font-family:var(--hud);font-size:40px;color:var(--lime);letter-spacing:.12em;line-height:1.1}
.cslot{display:flex;flex-direction:column;gap:8px}.names{display:flex;flex-wrap:wrap;gap:6px}
.nm{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;background:var(--ink);border:1px solid var(--line);font-size:13px}
.nm.n-ok,.nm.n-pending{border-color:var(--lime);color:var(--lime)}.nm.n-late{color:var(--muted)}
.sed{display:flex;flex-direction:column;gap:8px}
.mrow{display:flex;flex-direction:column;gap:8px}.pill.soon{color:var(--fire);border-color:var(--fire)}.pill.over{color:var(--danger);border-color:var(--danger)}
input[type=search]{background:var(--ink);border:1px solid var(--line);border-radius:10px;padding:10px 12px;width:100%}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:12px 0}.kpis .card{display:flex;flex-direction:column;gap:4px}.kpis b{font-family:var(--hud);font-size:30px}
/* kiosk */
.kio{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding-inline:16px;padding-block:30px;text-align:center}
.kd{display:flex;gap:12px}.kd span{width:64px;height:76px;border-radius:14px;border:2px solid var(--work);display:grid;place-items:center;font-family:var(--hud);font-size:40px}
.kpad{display:grid;grid-template-columns:repeat(3,92px);gap:12px}.kpad button{height:80px;border-radius:18px;background:var(--panel2);border:1px solid var(--line);font-family:var(--hud);font-size:32px;color:var(--text);cursor:pointer}
.kn{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.kn .btn{font-size:22px;padding:14px 26px}
.kio.res h1{font-size:40px;margin:0}.kio.res p{font-size:20px;color:var(--muted);margin:0}.kck{width:120px;height:120px;border-radius:50%;background:var(--lime);color:#0b1a03;display:grid;place-items:center}.kck svg{width:80px;height:80px}
.kst{display:flex;align-items:center;gap:16px;font-size:22px}.kst b{font-family:var(--hud);font-size:34px;color:var(--lime)}
.kio.err h1{color:var(--fire)}
/* scoreboard TV */
.bwrap{position:fixed;inset:0;background:#030806;overflow:hidden}
.board{position:absolute;left:50%;top:50%;width:1920px;height:1080px;transform-origin:center;display:grid;grid-template-rows:150px 1fr 150px;gap:24px;padding:36px 48px;color:#eaf7e6;font-family:var(--body);
  background:radial-gradient(80% 60% at 85% 0%,rgba(182,255,60,.12),transparent 60%),radial-gradient(70% 60% at 0% 100%,rgba(46,196,182,.14),transparent 60%),#030806}
.bhd{display:grid;grid-template-columns:100px 1fr auto 340px;gap:28px;align-items:center;border-bottom:2px solid rgba(182,255,60,.35)}
.bhd img{height:96px}.bhd b{display:block;font-family:var(--hud);font-size:46px;letter-spacing:.06em}.bhd span{font-size:28px;color:#9bb59a}
.bclock{font-family:var(--hud);font-size:72px;font-weight:700}
.bcode{position:relative;border:2px solid var(--lime);border-radius:16px;padding:12px 20px;display:flex;flex-direction:column;align-items:center;overflow:hidden}
.bcode span{font-size:24px;color:#cfe7c6}.bcode b{font-family:var(--hud);font-size:68px;color:var(--lime);letter-spacing:.14em;line-height:1;text-shadow:0 0 22px rgba(182,255,60,.6)}
.bcode i{position:absolute;left:0;bottom:0;height:6px;background:var(--lime)}
.bbody{display:grid;grid-template-columns:1.25fr 1fr;gap:36px;min-height:0}
.bbody h2{font-family:var(--hud);font-size:36px;letter-spacing:.12em;color:var(--lime);margin:0 0 14px}.bbody h2 em{font-style:normal;color:#eaf7e6;margin-left:12px}
.bfi,.bri{display:grid;grid-template-columns:120px 1fr auto 110px 170px;gap:20px;align-items:center;padding:12px 18px;margin-bottom:10px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(182,255,60,.15);font-size:34px}
.bri{grid-template-columns:70px 1fr auto 180px}.bri.top{border-color:rgba(242,201,76,.6);background:rgba(242,201,76,.07)}
.bt{font-family:var(--mono);color:#9bb59a;font-size:28px}.bn{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bp{font-family:var(--hud);color:var(--lime);text-align:right}
.brn{font-family:var(--hud);font-size:40px;color:var(--gold);text-align:center}
.bs{display:flex;align-items:center;gap:6px;color:var(--fire);font-family:var(--hud)}.bs i{width:30px;height:30px}.bs svg{width:100%;height:100%}
.board .club{font-size:22px;padding:4px 16px 4px 4px}.board .club i{width:36px;height:36px}.board .club i svg{width:24px;height:24px}
.bempty{font-size:36px;color:#9bb59a}
.bhall{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.bh{display:flex;align-items:center;gap:12px;padding:14px;white-space:nowrap;border-radius:14px;border:1px solid #233024;opacity:.55}.bh.on{opacity:1;border-color:rgba(182,255,60,.5)}
.bh i{width:48px;height:48px;flex:none;color:var(--lime)}.bh i svg{width:100%;height:100%}.bh b{font-family:var(--hud);font-size:24px}.bh span{font-size:24px;color:#cfe7c6;margin-left:auto}
.bcel{position:absolute;inset:0;z-index:5;display:grid;place-items:center;background:rgba(2,8,4,.86);animation:bcin .5s ease-out}
.bcel.still{animation:none}.bcel.still .bcin{animation:none}
.bcin{display:flex;flex-direction:column;align-items:center;gap:24px;text-align:center;animation:pop .6s cubic-bezier(.2,1.4,.4,1)}
.bcin .eyeb{font-size:40px;color:var(--lime);letter-spacing:.3em}.bcin h1{font-size:150px;margin:0;line-height:1;text-shadow:0 0 50px rgba(182,255,60,.5)}
.bcp{display:flex;gap:24px}.bcp b{font-family:var(--hud);font-size:80px;color:#0b1a03;background:var(--lime);border-radius:20px;padding:8px 30px}
.bcp .fire{background:var(--fire);display:flex;align-items:center;gap:10px;color:#1a0800}.bcp .fire i{width:64px;height:64px}.bcp .fire svg{width:100%;height:100%}
.bct{font-size:52px;font-weight:700}.bck{font-size:34px;color:#9bb59a}
.bcclub{display:flex;align-items:center;gap:20px;font-size:44px}.bcclub .club.big{font-size:44px;padding:10px 30px 10px 10px}.bcclub .club.big i{width:80px;height:80px}.bcclub .club.big i svg{width:54px;height:54px}
.bcel.gold .bcin h1{text-shadow:0 0 60px rgba(242,201,76,.7)}.bcel.gold .eyeb{color:var(--gold)}
@keyframes bcin{from{opacity:0}}@keyframes pop{from{transform:scale(.6);opacity:0}}
@media (prefers-reduced-motion:reduce){.bcel,.bcin{animation:none}}
/* live score */
.hudlive{display:flex;align-items:baseline;gap:8px;margin-top:10px;padding:8px 12px;border-radius:10px;background:rgba(255,138,61,.1);border:1px solid rgba(255,138,61,.35);font-size:12px;color:#ffd2b3}
.hudlive b{font-family:var(--hud);font-size:20px;color:var(--fire)}.hudlive em{font-style:normal;margin-left:auto;color:#ffd2b3}
.lvp .tb{display:flex;height:34px;border-radius:10px;overflow:hidden;font-family:var(--hud);font-weight:700}
.tbA,.tbB{display:flex;align-items:center;gap:8px;padding:0 10px;min-width:70px}.tbA{background:#2ec4b6;color:#032}.tbB{background:#ff8a3d;color:#210;justify-content:flex-end}
.lvr{display:grid;grid-template-columns:22px 1fr auto;gap:6px 10px;align-items:center;padding:8px 0;border-top:1px solid var(--line)}
.lvr .kb{grid-column:1/-1;display:flex;gap:6px;flex-wrap:wrap}.lvr .kb .btn{font-size:12px;padding:6px 10px}
.tm{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:6px;font-family:var(--hud);font-weight:700;font-size:12px}.tm.t0{background:#2ec4b6;color:#032}.tm.t1{background:#ff8a3d;color:#210}
.lvn{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.blive{display:grid;grid-template-columns:700px 1fr;gap:40px;min-height:0}
.blv-l{display:flex;flex-direction:column;gap:20px}.blv-l .eyeb{font-size:30px;color:var(--fire);letter-spacing:.3em}
.blvp{font-size:60px;margin:0;line-height:1.1}.blvph{display:flex;align-items:baseline;gap:24px}.blvph b{font-family:var(--hud);font-size:90px;color:var(--lime)}.blvph span{font-family:var(--hud);font-size:80px}
.blvset{font-size:34px;color:#9bb59a}
.bteam{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;text-align:center}
.bta,.btb{border-radius:20px;padding:20px;display:flex;flex-direction:column;align-items:center}.bta{background:rgba(46,196,182,.18);border:3px solid #2ec4b6}.btb{background:rgba(255,138,61,.15);border:3px solid #ff8a3d}
.bta span,.btb span{font-family:var(--hud);font-size:34px}.bta b,.btb b{font-family:var(--hud);font-size:110px;line-height:1}.bta em,.btb em{font-style:normal;font-size:26px;color:#9bb59a}
.bta.win,.btb.win{box-shadow:0 0 50px rgba(182,255,60,.5);border-color:var(--lime)}.btvs{font-family:var(--hud);font-size:50px;color:#9bb59a}
.btbar{height:22px;border-radius:11px;background:#ff8a3d;overflow:hidden}.btbar i{display:block;height:100%;background:#2ec4b6;transition:width .6s}
.brule{font-size:26px;color:#9bb59a;margin:0}
.blv-r h2,.bpanel h2{font-family:var(--hud);font-size:36px;letter-spacing:.1em;color:var(--lime);margin:0 0 14px}.bpanel h2 em{font-style:normal;font-family:var(--body);font-size:26px;color:#9bb59a;letter-spacing:0;margin-left:16px}
.ber{display:grid;grid-template-columns:60px 40px 260px 1fr 120px;gap:16px;align-items:center;padding:8px 14px;margin-bottom:8px;border-radius:12px;background:rgba(255,255,255,.04);font-size:32px}
.ber .tm{width:40px;height:40px;font-size:22px;border-radius:10px}
.ebar{height:24px;border-radius:12px;background:rgba(182,255,60,.1);overflow:hidden}.ebar i{display:block;height:100%;background:linear-gradient(90deg,#6fd11f,var(--lime));box-shadow:0 0 16px rgba(182,255,60,.6);transition:width .6s}
.bpanel{min-height:0}.bcols{display:grid;grid-template-columns:1fr 420px;gap:36px}
.bch{font-family:var(--hud);font-size:26px;color:#9bb59a}.bch.up{color:var(--lime)}.bch.dn{color:#ff6b5b}.bch.new{color:var(--gold)}
.bprize{display:flex;flex-direction:column;gap:14px;padding:30px;border-radius:20px;border:2px solid var(--gold);background:rgba(242,201,76,.06);align-self:start}
.bprize .eyeb{font-size:28px;color:var(--gold);letter-spacing:.2em}.bprize p{font-size:26px;color:#cfe7c6;margin:0}.bprize b{font-family:var(--hud);font-size:46px;color:var(--gold)}
.bstore{font-size:26px;color:#9bb59a;white-space:nowrap}
.bpanel .bri{grid-template-columns:70px 1fr auto 180px}
.bbt{display:grid;grid-template-columns:70px 260px 1fr 140px 160px;gap:20px;align-items:center;padding:14px 18px;margin-bottom:10px;border-radius:14px;background:rgba(255,255,255,.04);font-size:34px}
.bbt.me{border:2px solid var(--lime)}
.bkudo{position:absolute;left:50%;top:190px;transform:translateX(-50%);z-index:6;display:flex;align-items:center;gap:30px;padding:24px 50px;border-radius:999px;background:var(--fire);color:#1a0800;box-shadow:0 20px 60px rgba(255,138,61,.4);animation:pop .5s cubic-bezier(.2,1.4,.4,1)}
.bkudo.still{animation:none}
.board.islive{grid-template-rows:150px 1fr}.board.islive .bhall{display:none}
.bkudo span{font-family:var(--hud);font-size:30px;letter-spacing:.2em}.bkudo b{font-size:60px}.bkudo em{font-style:normal;font-family:var(--hud);font-size:56px}
/* ===== TV stage: HUD look, fixed pixel canvas scaled to fit (portrait 1080x1920, landscape 1920x1080) ===== */
.stage{position:absolute;left:50%;top:50%;transform-origin:center center;overflow:hidden;color:#ecf7f6;font-family:var(--body);
  --acc:#2ec4b6;--acc-rgb:46,196,182;--ph:var(--acc);--ph-rgb:var(--acc-rgb);--bg1:#0b5560;--bg2:#01161a;--hot:#ff2d55;
  background:radial-gradient(140% 80% at 50% 0%,var(--bg1),#063f47 38%,var(--bg2) 85%)}
.stage.hot{--acc:#ff2d55!important;--acc-rgb:255,45,85!important;--ph:#ff2d55;--ph-rgb:255,45,85;--bg1:#2e0814;--bg2:#0b0206}
.stage.ph-rest{--ph:#8ab4ff;--ph-rgb:138,180,255}
.stage.ph-move{--ph:#ffc93c;--ph-rgb:255,201,60}
.stage.ph-hydrate{--ph:#4fb8ff;--ph-rgb:79,184,255}
.stage *{box-sizing:border-box}
.stage .hp{position:relative;border:2px solid rgba(var(--acc-rgb),.42);background:linear-gradient(180deg,rgba(var(--acc-rgb),.13),rgba(var(--acc-rgb),.03));border-radius:4px}
.stage .hp::before,.stage .hp::after{content:'';position:absolute;width:30px;height:30px;border:5px solid var(--acc);pointer-events:none;z-index:3}
.stage .hp::before{left:-5px;top:-5px;border-right:0;border-bottom:0}
.stage .hp::after{right:-5px;bottom:-5px;border-left:0;border-top:0}
.ruler{height:18px;flex:none;background:repeating-linear-gradient(90deg,rgba(var(--acc-rgb),.6) 0 3px,transparent 3px 20px);opacity:.55;margin:10px 30px}
.col{position:absolute;inset:0;display:flex;flex-direction:column;padding:6px 0 10px}
.row2{position:absolute;inset:0;display:grid;grid-template-columns:560px 1fr;gap:24px;padding:30px}
.body{position:relative;flex:1;min-height:0;display:flex;padding:0 30px}
.row2 .body{padding:0}
.eyeb{font-family:var(--hud);font-weight:700;letter-spacing:.14em;color:var(--acc);font-size:34px;display:block}
.dg{display:inline-block;width:.62em;text-align:center}.colon{display:inline-block;width:.3em;text-align:center}
/* logo */
.logo{display:block;max-width:100%;max-height:100%;object-fit:contain;margin:0 auto}
.logo.txt{display:grid;place-items:center;aspect-ratio:1.1;height:100%;max-height:260px;background:linear-gradient(160deg,var(--acc),rgba(var(--acc-rgb),.35));clip-path:polygon(50% 0,100% 18%,92% 78%,50% 100%,8% 78%,0 18%);padding:14%}
.logo.txt span{font-family:var(--hud);font-weight:700;font-size:44px;line-height:1;text-align:center;color:#fff;text-transform:uppercase;word-break:keep-all}
.logo.big{max-height:520px}.logo.txt.big{max-height:440px}.logo.txt.big span{font-size:70px}
/* arc header */
.hd{position:relative;height:300px;flex:none;display:flex;justify-content:center}
.arc{width:620px;height:253px;margin-top:14px;overflow:visible}
.arc .tks{fill:none;stroke:rgba(var(--ph-rgb),.45);stroke-width:62;stroke-dasharray:.18 1.82}
.arc .trk{fill:none;stroke:rgba(var(--ph-rgb),.16);stroke-width:30}
.arc .fg{fill:none;stroke:var(--ph);stroke-width:30;filter:drop-shadow(0 0 12px rgba(var(--ph-rgb),.9));transition:stroke-dasharray .2s linear}
.arc .al{fill:#8fb8b9;font-family:var(--hud);font-size:20px;font-weight:600}
.hd .num{position:absolute;left:0;right:0;top:118px;text-align:center;font-family:var(--hud);font-weight:700;font-size:160px;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.hd .num small{font-size:30px;background:var(--ph);color:#021a1e;padding:3px 10px;border-radius:4px;margin-left:10px;vertical-align:10px;letter-spacing:0}
.hd .side{position:absolute;top:36px;font-family:var(--hud);font-size:26px;color:#8fb8b9;display:flex;flex-direction:column;gap:2px;letter-spacing:.1em}
.hd .side b{color:#fff;font-size:52px;letter-spacing:0}
.hd .side.l{left:46px}.hd .side.r{right:46px;text-align:right}
/* phase bar */
.phb{flex:none;margin:0 30px 18px;height:120px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;gap:20px}
.phw{font-family:var(--hud);font-weight:700;font-size:92px;letter-spacing:.06em;color:var(--ph);text-shadow:0 0 30px rgba(var(--ph-rgb),.6);line-height:1}
.phi{font-size:32px;font-weight:700;color:#cfe5e3;text-align:right}
/* tiles */
.tiles{flex:1;display:grid;gap:14px;min-height:0;min-width:0}
.tiles.none{display:grid;place-items:center;font-size:44px;color:#7f8fb6}
.tile{position:relative;display:flex;min-height:0;min-width:0;border:2px solid rgba(var(--acc-rgb),.35);background:#052a30}
.tno{width:150px;flex:none;display:grid;place-items:center;background:linear-gradient(180deg,rgba(var(--acc-rgb),.35),rgba(var(--acc-rgb),.12));border-right:2px solid rgba(var(--acc-rgb),.5)}
.tno span{font-family:var(--hud);font-weight:700;font-size:96px;color:#fff}
.tiles.r1 .tno span,.tiles.r2 .tno span{font-size:130px}
/* videos are never cropped: whole frame fits (contain) on a white ground that matches studio footage */
.vbox{position:relative;overflow:hidden;background:#fff;min-width:0;min-height:0}
.vbox video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center}
.tcol{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;background:#fff}
.tvb{flex:1}
.tbar{flex:none;display:flex;align-items:center;justify-content:flex-end;height:54px;background:#fff;border-bottom:1px solid #e3eaec;min-width:0}
.tiles.badge .tbar{justify-content:space-between;height:76px}
.tbadge{flex:none;align-self:stretch;min-width:84px;padding:0 14px;display:grid;place-items:center;background:var(--acc);color:#fff;font-family:var(--hud);font-weight:700;font-size:58px;line-height:1}
.tname{min-width:0;color:#0b2328;font-weight:700;font-size:36px;padding:0 20px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tcue{flex:none;background:#fff;color:#0b2328;font-weight:700;font-size:32px;padding:10px 18px;text-align:center;line-height:1.25;border-top:3px solid var(--acc);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tiles.c2 .tname,.la .tiles .tname{font-size:30px}.tiles.c2 .tcue,.la .tiles .tcue{font-size:26px;padding:8px 12px}
.tiles.c4.r1 .tbar{height:90px}.tiles.c4.r1 .tbadge{font-size:70px}
.vbox.noVid{background:repeating-linear-gradient(135deg,#dfe4ec 0 40px,#d5dbe5 40px 80px)}
.vbox.noVid::after{content:attr(data-ph);position:absolute;inset:0;display:grid;place-items:center;padding:30px;text-align:center;color:#3b4766;font-weight:700;font-size:48px;line-height:1.15}
/* intensity band */
.intb{--ic:var(--acc);flex:none;margin:18px 30px 0;height:190px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:26px;padding:0 36px;background:var(--ic);color:#03221f;border-radius:4px;transition:background .3s}
.ilab{font-family:var(--hud);font-weight:700;font-size:28px;letter-spacing:.14em;writing-mode:vertical-rl;transform:rotate(180deg);opacity:.75}
.itxt{font-weight:700;font-size:96px;line-height:1.05;letter-spacing:-.01em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.itxt[data-len=l]{font-size:76px}.itxt[data-len=xl]{font-size:60px}
.ilv{display:flex;gap:10px;align-items:flex-end;height:110px}
.ilv i{width:26px;background:rgba(3,34,31,.22);border-radius:3px}
.ilv i:nth-child(1){height:30%}.ilv i:nth-child(2){height:55%}.ilv i:nth-child(3){height:80%}.ilv i:nth-child(4){height:100%}
.ilv[data-l="1"] i:nth-child(-n+1),.ilv[data-l="2"] i:nth-child(-n+2),.ilv[data-l="3"] i:nth-child(-n+3),.ilv[data-l="4"] i{background:#03221f}
.ilv[data-l="0"]{visibility:hidden}
.lside .intb,.gcl .intb,.tm-d .intb{margin:0;height:160px}
.lside .itxt,.gcl .itxt{font-size:54px}.lside .itxt[data-len=xl],.gcl .itxt[data-len=xl]{font-size:42px}.tm-d .itxt{font-size:70px}
/* rest / move overlays */
.ovl{position:absolute;inset:0;z-index:5;display:none;flex-direction:column;align-items:center;justify-content:center;gap:24px;text-align:center}
.ph-rest .o-rest,.ph-hydrate .o-rest{display:flex;background:rgba(1,22,26,.78)}
.ph-move .o-move{display:flex;background:rgba(1,22,26,.9)}
.body .ovl{left:30px;right:30px}.row2 .body .ovl{left:0;right:0}
.oi svg{width:180px;height:180px;fill:var(--ph);filter:drop-shadow(0 0 30px rgba(var(--ph-rgb),.7))}
.ovl .ot{font-family:var(--hud);font-weight:700;font-size:130px;letter-spacing:.06em;color:var(--ph);line-height:1}
.ovl .os{font-size:46px;font-weight:700;color:#e0f1ef}
.o-move .ot{font-size:84px;color:#fff}
.ringwrap{position:relative;width:420px;height:420px;display:grid;place-items:center;flex:none}
.ringwrap .ring{position:absolute;inset:0;width:100%;height:100%}
.ring .rk{fill:none;stroke:rgba(var(--ph-rgb),.45);stroke-width:8;stroke-dasharray:.2 1.8}
.ring .rt{fill:rgba(1,22,26,.55);stroke:rgba(var(--ph-rgb),.18);stroke-width:14}
.ring .rf{fill:none;stroke:var(--ph);stroke-width:14;filter:drop-shadow(0 0 10px rgba(var(--ph-rgb),.9))}
.ringwrap>b{position:relative;font-family:var(--hud);font-weight:700;font-size:150px;line-height:1;font-variant-numeric:tabular-nums}
.ringwrap .mv{position:relative;display:flex;flex-direction:column;align-items:center;font-family:var(--hud);font-weight:700}
.mv span{font-size:40px;letter-spacing:.14em;color:#cfe5e3}.mv b{font-size:170px;line-height:.95;color:var(--ph)}
.mapbox{width:100%;flex:none}
.o-move .mapbox{width:88%;height:430px}
/* route svg */
svg.route{width:100%;height:100%;display:block}
.route .floor{fill:rgba(var(--acc-rgb),.10);stroke:rgba(var(--acc-rgb),.5);stroke-width:3}
.route .floor2{fill:none;stroke:rgba(var(--acc-rgb),.35);stroke-width:2;stroke-dasharray:8 10}
.route .tv rect{fill:#052a30;stroke:rgba(var(--acc-rgb),.7);stroke-width:2}.route .tv text{fill:#cfe5e3;font:700 22px var(--hud);text-anchor:middle}
.route .tv.me rect{fill:var(--acc)}.route .tv.me text{fill:#fff}
.route .rl,.route .rw{stroke:rgba(255,255,255,.7);stroke-width:5;stroke-dasharray:14 10;animation:flow 1s steps(6) infinite}
.route .rw{stroke:rgba(255,255,255,.35)}
.route .ahp{fill:#fff}
@keyframes flow{to{stroke-dashoffset:-24}}
.route .nd circle{fill:#052a30;stroke:rgba(var(--acc-rgb),.9);stroke-width:4}
.route .nd text{fill:#fff;font:700 40px var(--hud);text-anchor:middle}
.route .nd.me circle{fill:var(--acc);stroke:#fff}
.route .pp .halo{fill:rgba(255,201,60,.22)}.route .pp .hh{fill:#ffc93c}.route .pp .bd{fill:#ffc93c}

/* pre-class */
.prehd{flex:none;margin:0 30px 20px;height:300px;display:grid;grid-template-columns:300px 1fr;align-items:center;gap:20px;padding:20px 36px}
.plogo{height:100%;display:grid;place-items:center;min-height:0}
.prehd .plogo{height:250px}
.psi{display:flex;flex-direction:column;align-items:flex-end;font-family:var(--hud);font-weight:700}
.psi span{font-size:36px;letter-spacing:.16em;color:#a3c8c8}.psi b{font-size:150px;line-height:1;font-variant-numeric:tabular-nums}
.pfoot{flex:none;margin:20px 30px 0;display:flex;align-items:baseline;gap:20px;padding:18px 6px;border-top:2px solid rgba(var(--acc-rgb),.4)}
.pfoot span{font-family:var(--hud);font-size:30px;color:var(--acc);letter-spacing:.1em}.pfoot b{font-size:56px}
.lside{display:flex;flex-direction:column;gap:22px;padding:30px;min-width:0}
.lside .plogo{height:280px;flex:none}.lside .psi{align-items:flex-start}.lside .psi b{font-size:130px}.lside .pfoot{margin:auto 0 0;flex-direction:column;gap:6px;align-items:flex-start}
.lside .hd{transform:scale(.82);transform-origin:top center;height:250px;margin:0 -60px}
.lside .phb{margin:0;padding:0;height:auto;flex-direction:column;align-items:flex-start;gap:6px}
.lside .phi{text-align:left;font-size:28px}
.lside .mapbox{flex:1;min-height:0}
.lnt{font-size:50px;line-height:1.2}
/* lineup */
.lnhd{flex:none;margin:0 30px 20px;height:200px;display:flex;align-items:center;justify-content:space-between;padding:0 40px}
.lnhd b{font-size:58px}
.lncd b,.maphd b{font-family:var(--hud);font-weight:700;font-size:96px;font-variant-numeric:tabular-nums}
.col .mapbox{margin:20px 30px 0;width:auto;height:470px;padding:6px}
/* guide card + reel + map */
.gl{position:absolute;inset:0;display:grid;grid-template-columns:720px 1fr;gap:30px;padding:40px}
.po .gl{grid-template-columns:1fr;grid-template-rows:auto 1fr}
.stage .card{padding:36px 40px;min-height:0;overflow:hidden}
.cd{display:flex;flex-direction:column;gap:14px;height:100%}
.cdlogo{height:200px;flex:none;display:grid;place-items:center}
.cdkind{align-self:flex-start;background:var(--acc);color:#fff;font-weight:700;font-size:34px;padding:8px 28px;border-radius:999px}
.cdname{font-weight:700;font-size:64px;line-height:1.05}
.cddesc{font-size:30px;line-height:1.45;color:#cfe5e3}.cddesc p{margin:0}
.cdspec{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:auto}
.cdspec div{display:flex;flex-direction:column;align-items:center;text-align:center;padding:14px 4px;border-top:3px solid var(--acc);background:rgba(var(--acc-rgb),.08)}
.cdspec b{font-family:var(--hud);font-weight:700;font-size:46px;line-height:1.1;word-break:break-all}.cdspec span{font-family:var(--hud);font-size:22px;color:#a3c8c8;letter-spacing:.08em}
.cdrows{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px 18px}
.cdrows div{display:flex;justify-content:space-between;border-bottom:1px solid rgba(var(--acc-rgb),.35);padding:6px 0;font-size:28px}
.cdrows span{color:#a3c8c8}
.reel{position:relative;overflow:hidden;display:flex}
.reel .vbox{flex:1}
.reelcap{position:absolute;left:0;bottom:0;right:0;z-index:3;display:flex;align-items:center;gap:24px;padding:26px 34px;background:linear-gradient(transparent,rgba(1,20,24,.92))}
.reelcap b{font-family:var(--hud);font-weight:700;font-size:110px;color:var(--acc);line-height:1}.reelcap span{font-weight:700;font-size:62px}
.psi.top{position:absolute;right:30px;top:24px;z-index:3;background:rgba(1,20,24,.8);padding:14px 26px;border:2px solid rgba(var(--acc-rgb),.5)}
.psi.top b{font-size:110px}
.eyetag{position:absolute;left:30px;top:30px;z-index:3;font-family:var(--hud);font-weight:700;font-size:30px;letter-spacing:.16em;background:var(--acc);color:#fff;padding:8px 18px}
.mapbig{display:flex;flex-direction:column;padding:24px;min-height:0}
.mapbig svg{flex:1;min-height:0}
.maphd{display:flex;justify-content:space-between;align-items:center;padding:0 10px}
/* timer screen */
.tcd{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;padding:60px}
.tcl{font-family:var(--hud);font-weight:700;font-size:80px;letter-spacing:.1em}
.tcd .ringwrap{width:520px;height:520px}.tcd .ringwrap>b{font-size:130px}
.tclogo{height:200px}.tcn{font-size:54px;font-weight:700;text-align:center}
.tcd .mapbox{width:80%;height:360px}
.la .tcd{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr auto;column-gap:60px}
.la .tcd .tcl{grid-column:1/-1;text-align:center}.la .tcd .ringwrap{grid-row:2/4}
.tmv{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1.15fr 1fr;grid-template-rows:1.3fr 1fr;gap:26px;padding:40px}
.po .tmv{grid-template-columns:1fr 1fr;grid-template-rows:auto 1.1fr auto}
.po .tm-b{grid-column:1/-1;grid-row:2}.po .tm-a{grid-row:1}.po .tm-c{grid-row:1}.po .tm-d{grid-row:3}
.tm-a,.tm-c{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:30px}
.tml{font-family:var(--hud);font-weight:700;font-size:70px;letter-spacing:.06em;text-align:center;line-height:1}
.tmi svg{width:200px;height:200px;fill:#fff}
.tm-c b{font-family:var(--hud);font-weight:700;font-size:240px;line-height:.9}
.tm-b{display:grid;place-items:center;background:var(--ph);border-radius:6px;transition:background .3s}
.tm-b .ringwrap{width:440px;height:440px}.tm-b .ring .rt{fill:rgba(0,0,0,.12);stroke:rgba(0,0,0,.15)}.tm-b .ring .rf{stroke:#fff;filter:none}.tm-b .ring .rk{stroke:rgba(0,0,0,.25)}
.tm-b .ringwrap>b{font-size:200px;color:#03221f}
.tm-d{grid-column:1/-1;display:flex;flex-direction:column;gap:20px;padding:30px 40px}
.tm-d .tml{text-align:left;font-size:44px;display:flex;justify-content:space-between}.tm-d .tml span{font-family:var(--body);font-size:30px;color:#cfe5e3;letter-spacing:0}
.pbar{height:56px;background:rgba(255,255,255,.12);border-radius:6px;overflow:hidden}.pbar i{display:block;height:100%;background:#ecf7f6;width:0}
/* guide circuit */
.gc{position:absolute;inset:0;display:grid;grid-template-columns:640px 1fr;grid-template-rows:1fr 54px;gap:24px;padding:30px}
.po .gc{grid-template-columns:1fr;grid-template-rows:auto 1fr 54px}
.gcl{display:flex;flex-direction:column;gap:16px;padding:26px;min-height:0}
.gclogo{display:flex;align-items:center;gap:20px;height:130px;flex:none}.gclogo .logo{height:130px;width:auto;margin:0}.gclogo .logo.txt{width:130px;flex:none}.gclogo .logo.txt span{font-size:22px}.gclogo>div{min-width:0}
.gclogo span{display:block;color:var(--acc);font-weight:700;font-size:26px}.gclogo b{font-size:46px;line-height:1.05}
.gcl .hd{transform:scale(.9);transform-origin:top center;height:270px;margin:0 -40px}
.gcl .phb{margin:0;padding:0 6px;height:auto}
.segs{grid-column:1/-1;display:flex;gap:3px}.segs i{display:block;border-radius:4px;opacity:.25}.segs i.past{opacity:.6}.segs i.on{opacity:1;outline:4px solid #fff;outline-offset:2px}
/* focus (demo / warm up / cool down) */
.ft{flex:none;margin:0 30px 18px;height:120px;display:flex;align-items:center;justify-content:space-between;padding:0 34px}
.fk{font-family:var(--hud);font-weight:700;font-size:80px;letter-spacing:.08em}
.fc{font-family:var(--hud);font-weight:700;font-size:48px;color:#cfe5e3}
.fname{flex:none;margin:0 30px 18px;display:flex;align-items:center;gap:26px}
.fname>b{font-family:var(--hud);font-weight:700;font-size:130px;line-height:.9;color:var(--acc);min-width:150px}
.fname span{display:block;font-size:68px;font-weight:700;line-height:1.1}
.fname em{display:block;font-style:normal;font-size:38px;color:#cfe5e3;margin-top:8px}
.fvid{flex:1;margin:0 30px;border:2px solid rgba(var(--acc-rgb),.5)}
.fbar{flex:none;height:30px;margin:18px 30px;background:rgba(var(--acc-rgb),.18)}.fbar i{display:block;height:100%;width:0;background:var(--acc);box-shadow:0 0 18px rgba(var(--acc-rgb),.8)}
.fnext{flex:none;margin:0 30px;height:330px;display:grid;grid-template-columns:200px 1fr;grid-template-rows:1fr auto;gap:0 20px;padding:20px}
.fnext .nlab{grid-row:1/3;align-self:center;text-align:center;font-family:var(--hud);font-weight:700;font-size:54px;color:var(--acc);letter-spacing:.08em}
.fnv{border:2px solid rgba(var(--acc-rgb),.4);opacity:.8}.fnv.noVid::after{font-size:34px}
.fnn{font-size:36px;font-weight:700;padding-top:10px;color:#cfe5e3}.fnn b{font-family:var(--hud);color:#fff;margin-right:14px}
.fnn.last{grid-row:1/3;align-self:center;font-size:46px}
.fl{position:absolute;inset:0;display:grid;grid-template-columns:1fr 640px;gap:30px;padding:30px}
.fl .fvid{margin:0}
.fside{display:flex;flex-direction:column;min-width:0}
.fside .hd{transform:scale(.9);transform-origin:top center;height:270px;margin:0 -40px}
.fside .ft,.fside .fname,.fside .fbar,.fside .fnext{margin-left:0;margin-right:0}
.fside .fname span{font-size:52px}.fside .fname>b{font-size:100px;min-width:120px}
.fside .fnext{margin-top:auto;height:300px;grid-template-columns:130px 1fr}
.fside .fnext .nlab{font-size:38px}
/* ready / warm-up prep */
.rdy{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:34px;padding:60px}
.bw{font-family:var(--hud);font-weight:700;font-size:170px;letter-spacing:.06em;line-height:1;text-shadow:0 0 40px rgba(var(--acc-rgb),.6)}
.bw.it{font-style:italic}
.ringwrap.big{width:560px;height:560px}.ringwrap.big>b{font-size:230px;margin-top:-30px}
.ringwrap>span{position:absolute;bottom:130px;font-family:var(--hud);font-weight:700;font-size:34px;letter-spacing:.2em;color:#a3c8c8}
.la .rdy{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto 1fr auto;column-gap:60px;align-content:center}
.la .rdy .bw{grid-column:1/-1;text-align:center;font-size:130px}.la .rdy .ringwrap{grid-row:2/5;width:500px;height:500px}
.nav{display:flex;align-items:center;gap:30px;padding:28px 40px;max-width:100%}
.nav i svg{width:120px;height:120px;fill:var(--acc);transform:rotate(0)}
.nav b{display:block;font-size:60px}.nav span{font-size:36px;color:#cfe5e3}.nav em{font-style:normal;font-family:var(--hud);font-weight:700;color:#fff}
.rlist{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;max-width:100%}
.rlist span{border:2px solid rgba(var(--acc-rgb),.5);padding:10px 20px;font-size:30px;font-weight:700;background:rgba(var(--acc-rgb),.1)}
.rlist span b{font-family:var(--hud);color:var(--acc);margin-right:12px}
.rlist span.big{font-size:44px;padding:14px 26px}
.rsub{font-size:40px;color:#cfe5e3;text-align:center}
.mapbox.wide{width:100%;height:440px}
/* big words */
.bigword{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:40px;text-align:center;padding:60px}
.bigword.acc{background:linear-gradient(160deg,var(--acc),rgba(var(--acc-rgb),.55))}
.bigword.acc .bw{font-size:260px;text-shadow:none}
.bws{font-size:50px;font-weight:700;color:#e3f3f1}
.ckr{width:300px;height:300px;border-radius:50%;border:12px solid #5fe08a;display:grid;place-items:center;box-shadow:0 0 60px rgba(95,224,138,.5)}
.ckr svg{width:200px;height:200px;fill:#5fe08a}
.dlogo{position:relative;display:flex;flex-direction:column;align-items:center}
.plat{width:620px;height:150px;margin-top:-50px;border-radius:50%;border:16px dashed rgba(var(--acc-rgb),.75);transform:perspective(400px) rotateX(55deg)}
/* idle */
.idle{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:34px;padding:80px}
.idle .marks{display:flex;gap:16px}.idle .marks b{width:34px;height:140px;border-radius:8px;display:block;background:var(--acc)}
.idle .marks b:nth-child(2){opacity:.6}.idle .marks b:nth-child(3){opacity:.3}
.idle .clk{font-family:var(--hud);font-weight:700;font-size:230px;line-height:.85}
.idle .gym{font-family:var(--hud);font-size:36px;letter-spacing:.2em;color:#8fb8b9;text-transform:uppercase}
.idle .nx{font-size:50px;font-weight:700;color:#cfe5e3;text-wrap:balance}.idle .nx b{color:#fff}
.wm{position:absolute;left:22px;bottom:14px;z-index:9;height:54px;width:auto;opacity:.55;pointer-events:none}
.idle .brandbig{height:260px;width:auto}.idle .brandname{font-weight:700;font-size:64px;letter-spacing:.04em}.idle .idlep{height:180px}.idle .idlep .logo{height:180px}
.scrbadge{position:absolute;right:20px;bottom:10px;z-index:9;font-family:var(--mono);font-size:22px;color:rgba(255,255,255,.3)}
@media (prefers-reduced-motion:reduce){.route .rl,.route .rw{animation:none}}
.lite *,.lite *::before,.lite *::after{animation:none!important;transition:none!important;filter:none!important;text-shadow:none!important;box-shadow:none!important}

/* Responsive app UI; TV canvas sizes remain fixed and scale to their host. */
body{margin:0}html{scrollbar-gutter:stable}button,input,select,textarea{max-width:100%}
.app,.coach,.mb,.card,.row>*,.ctrl>*,.ch>*,.mbh>*,.top>*,.fields>*,.sched>*{min-width:0}
.app,.coach,.mb{width:100%}
.app,.coach,.mb,.kio,.sheetin{overflow-wrap:anywhere;word-break:normal}
h1,h2,h3,h4,.cname,.mtitle{word-break:keep-all;overflow-wrap:anywhere;line-height:1.3}
.btn,.tab,.modeSwitch,.cnav button{white-space:normal;overflow-wrap:anywhere;line-height:1.4}
.brand{flex-wrap:wrap;min-width:0;line-height:1.3}.brand .blogo,.chl{flex:none}
.pill{max-width:100%;flex-wrap:wrap}.scroll{max-width:100%;overscroll-behavior-x:contain}
.cnav button{min-width:0}.wrow>b,.wrow .wi b,.exn b{min-width:0;flex-wrap:wrap;overflow-wrap:anywhere}
.cstats b{font-size:clamp(14px,4vw,18px)}.dstrip{grid-template-columns:repeat(7,minmax(0,1fr))}.coach .dstrip{grid-template-columns:repeat(8,minmax(0,1fr))}
.ccode{flex-wrap:wrap}.ccode>div{min-width:0;flex:1 1 180px}.ccode b{letter-spacing:.08em}
.kio{width:100%}.kd{gap:8px}.kd span{width:clamp(46px,16vw,64px);height:clamp(58px,20vw,76px)}
.kpad{width:min(300px,100%);grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.kst{flex-wrap:wrap;justify-content:center}.kn .btn{padding:12px 18px}
.stage .row2,.stage .gl,.stage .gc,.stage .tmv,.board .bbody{min-width:0}
.stage .phw,.stage .phi,.stage .bw,.stage .cdname,.stage .cddesc,.stage .lnt,.stage .tcl,.stage .tml,.stage .fk,.stage .fc,.stage .bws,.stage .nx,.stage .gym,.stage .brandname{min-width:0;max-width:100%;overflow-wrap:anywhere}
.stage .phw,.stage .phi,.stage .lnhd>b,.stage .maphd>*,.stage .ft>*,.stage .pfoot>*{min-width:0}
.stage .phw{flex:1}.stage .phi{flex:1;line-height:1.25}.stage .bw{white-space:nowrap}
.stage .fname>div,.stage .nav>div,.stage .reelcap span{min-width:0;flex:1}
.stage .tbar{height:auto;min-height:54px}.stage .tname{white-space:normal;overflow-wrap:anywhere;padding-block:6px;font-size:32px}
.stage .tcue{white-space:normal;overflow-wrap:anywhere;line-height:1.3}
.stage .cdname{line-height:1.2}.stage .pfoot b{line-height:1.25}.stage .cdspec{grid-template-columns:repeat(4,minmax(0,1fr))}
.board .bhd>*,.board .bbody>*,.board .bfi>*,.board .bri>*,.board .ber>*,.board .bbt>*{min-width:0}
.board .bhd b,.board .blvp,.board .bcel h1{overflow-wrap:anywhere;line-height:1.2}
.board .bh{min-width:0;gap:8px;white-space:normal;flex-wrap:wrap}.board .bh b,.board .bh span{font-size:22px}.board .bcin{max-width:90%}
@media(max-width:600px){
 .app,.coach,.mb{padding-inline:12px}.card{padding:14px}.top{gap:10px;position:relative}.brand{font-size:22px;gap:8px}.tabs{margin-left:0;width:100%;gap:4px}.tab{padding:8px}
 .ch,.mbh{gap:8px;flex-wrap:wrap}.cht{flex:1 1 110px}.ch .btn,.mbh .btn{padding:6px 8px}
 .cnav{gap:2px;padding-inline:8px}.cnav button{font-size:13px;padding:12px 4px}.cnav .nb{display:inline-block;margin:2px}
 .chero,.remote{padding:14px}.cname{font-size:21px}.lg{width:64px;height:64px}.exr{gap:8px}.ethumb{width:72px;height:52px}
 .leadb{padding:10px}.rctl{grid-template-columns:repeat(3,minmax(0,1fr))}.rctl .btn{font-size:14px;padding:14px 6px}.rtime{font-size:clamp(42px,14vw,68px)}
 .fields.wide3{grid-template-columns:minmax(0,1fr)}.scr{grid-template-columns:repeat(auto-fill,minmax(min(230px,100%),1fr))}.logof{grid-column:1/-1}
 .lrow.int{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.lrow.int>*{grid-row:auto}.lrow.int .lvdot{width:14px}
 .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.monSetup{margin-top:24px}.monSetup .big{font-size:26px;letter-spacing:.15em}
 .hudpts{font-size:clamp(40px,14vw,64px)}.hudpts small{font-size:14px}.hudlive{flex-wrap:wrap}.plus.on{flex-wrap:wrap}.hv{grid-template-columns:64px minmax(0,1fr)}.hv>.btn{grid-column:2}
 .club.big{font-size:15px;padding-inline:8px}.sheetin{max-height:90dvh}.slrow{min-width:0}
}

.stage .bw,.stage .phw,.stage .tcl,.stage .tml,.stage .fk{line-height:1.2}

.setup-shell{max-width:760px;margin:auto;padding:20px 16px 60px;overflow-wrap:anywhere}.setup-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.setup-head a{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text)}.setup-head img{height:36px;width:auto}.setup-progress{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:30px 0 20px}.setup-progress li{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);min-width:0}.setup-progress span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1px solid var(--line);flex:none}.setup-progress [aria-current]{color:var(--work);font-weight:700}.setup-progress [aria-current] span{background:var(--work);color:var(--ink)}.setup-panel{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:28px;display:flex;flex-direction:column;gap:18px}.setup-eyebrow{font-family:var(--mono);color:var(--work);font-size:12px;letter-spacing:.12em}.setup-panel h1{font-size:clamp(24px,5vw,34px);margin:0}.setup-desc{color:var(--muted);margin:0;line-height:1.65}.setup-form{display:flex;flex-direction:column;gap:16px}.setup-form label{font-size:14px;gap:8px}.setup-form input,.setup-form select{font-size:16px;min-height:48px}.setup-instructions{background:var(--ink);border:1px solid var(--line);border-radius:14px;padding:18px}.setup-instructions ol{padding-left:22px;line-height:1.8;margin:10px 0 18px}.setup-url{padding:12px;border-radius:8px;background:var(--panel2);font-size:14px;overflow-wrap:anywhere;margin-bottom:12px}.setup-local{border:1px solid #6f6540;background:rgba(233,196,106,.07);border-radius:14px;padding:14px;font-size:13px;line-height:1.6}.setup-local p{margin:6px 0 0;color:var(--muted)}.setup-tv-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:12px}.setup-tv-card{display:flex;flex-direction:column;gap:16px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--ink);min-width:0}.setup-tv-card>div{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.setup-code{font-family:var(--mono);font-size:32px;letter-spacing:.12em;color:var(--work);text-align:center}.setup-tv-card a,.setup-shortcuts a{text-decoration:none;text-align:center}.setup-actions,.setup-shortcuts{display:flex;gap:10px;flex-wrap:wrap}.setup-actions .pri{flex:1}.setup-error{color:var(--danger);margin:0}.setup-error:empty{display:none}.setup-entry{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--work);border-radius:12px;margin:14px 0;color:var(--text);text-decoration:none;background:rgba(95,216,198,.08)}.setup-entry span{font-size:12px;color:var(--muted)}.monSetup a{color:var(--work)}@media(max-width:500px){.setup-panel{padding:20px 16px}.setup-progress li{font-size:12px;gap:5px}.setup-actions>*{width:100%}.setup-head{font-size:14px}.setup-head .btn{padding:6px 8px}}

.tc-network{position:fixed;bottom:12px;left:12px;right:12px;z-index:99999;background:#3d2420;color:white;padding:12px;border-radius:12px;overflow-wrap:anywhere}.setup-form input{min-width:0;width:100%}.setup-panel h1{overflow-wrap:anywhere}button:disabled{opacity:.6}

.tc-signout{position:fixed;right:16px;bottom:88px;z-index:80;background:#092e31;color:white;font-size:12px;padding:8px 10px}body:has(.full) .tc-signout{display:none}
