:root{--bg:#eef1f5;--surface:#fff;--soft:#e4e9f0;--ink:#13203a;--muted:#5a6579;--line:#d6dce5;--accent:#ff5b2e;--accent-ink:#fff;--good:#1e8a5a;--warn:#b7791f;--bad:#c62f2f;--live:#e2362b;--stage:#0f1a2e;--stage-ink:#eaf0f8;--tile:#1b2740;--display:"Barlow Condensed","Arial Narrow",Arial,sans-serif;--body:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#0c1322;--surface:#151f35;--soft:#1c2843;--ink:#e9eff8;--muted:#9aa6bb;--line:#26334f;--accent:#ff7650;--accent-ink:#140a05;--good:#43c08a;--warn:#e5ae3b;--bad:#ff6b6b;--live:#ff5a4e;--stage:#070c17;--tile:#17223a;color-scheme:dark}}*{box-sizing:border-box}body,html{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.45;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3{font-family:var(--display);font-weight:700;letter-spacing:.01em;text-wrap:balance;margin:0;line-height:1.05}h1{font-size:2rem}h1,h2{text-transform:uppercase}h2{font-size:1.35rem}h3{font-size:1.15rem}p{margin:0}.label{font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;font-weight:600}.label,.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:var(--bad)}.error,.ok{font-weight:600;font-size:.9rem}.ok{color:var(--good)}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:var(--surface);border-bottom:1px solid var(--line);padding:10px max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left));gap:12px}.brand,.topbar{display:flex;align-items:center}.brand{font-family:var(--display);font-weight:800;font-size:1.6rem;letter-spacing:.04em;gap:8px;text-decoration:none}.brand i{display:inline-block;width:12px;height:22px;background:var(--accent);transform:skewX(-14deg);border-radius:2px}.topbar .who{margin-left:auto;font-size:.82rem;color:var(--muted);text-align:right}.linkbtn{background:none;border:0;padding:0;color:var(--accent);font-weight:600;font-size:.82rem}.shell{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:calc(100% - 58px)}.side{border-right:1px solid var(--line);padding:18px 12px;display:flex;flex-direction:column;gap:4px;background:var(--surface)}.side a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;color:var(--muted);text-decoration:none;font-weight:600}.side a svg{width:20px;height:20px;flex:none}.side a[aria-current=page]{background:var(--soft);color:var(--ink)}.side a{position:relative}.side-extra{margin-top:auto;padding-top:12px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:2px}.sidebtn{background:none;border:0;text-align:left;padding:8px 12px;border-radius:10px;color:var(--muted);font-weight:600;font-size:.85rem}.sidebtn:hover{background:var(--soft);color:var(--ink)}.tophelp{display:none;gap:12px}.tophelp .linkbtn{white-space:nowrap}.dlg{border:1px solid var(--line);border-radius:16px;padding:0;width:min(520px,calc(100vw - 32px));background:var(--surface);color:var(--ink)}.dlg::-webkit-backdrop{background:rgba(10,16,30,.55)}.dlg::backdrop{background:rgba(10,16,30,.55)}.dlg-body{display:flex;flex-direction:column;gap:12px;padding:18px}.dlg-body textarea{resize:vertical;min-height:110px}.dlg-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.fbfilters{flex-direction:row;flex-wrap:wrap;gap:10px;align-items:flex-end}.fbfilters label{display:flex;flex-direction:column;gap:4px;flex:1 1 160px}.panel.fbfilters{flex-direction:row}.fbitem{display:flex;flex-direction:column;gap:6px;padding:12px 0;border-top:1px solid var(--line)}.fbitem:first-child{border-top:0}.fbbody{white-space:pre-wrap;overflow-wrap:anywhere}.checks{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px 16px}.checks legend{margin-bottom:6px}.checks label{display:inline-flex;gap:6px;align-items:center;font-size:.9rem}.stars{display:flex;gap:6px}.stars button{background:none;border:0;padding:2px;font-size:2rem;line-height:1;color:#6b7a96}.stars button.lit{color:#ffc23d}.navbadge{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-size:.72rem;display:grid;place-items:center}.side a[aria-current=page] svg{color:var(--accent)}main{padding:22px max(16px,env(safe-area-inset-right)) 40px max(16px,env(safe-area-inset-left));min-width:0}.wrap{max-width:1040px;gap:20px}.narrow,.wrap{margin:0 auto;display:flex;flex-direction:column}.narrow{max-width:460px;gap:16px;padding:32px 16px}.grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:minmax(0,1fr)}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:12px;min-width:0}.phead{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.stat .num{font-family:var(--display);font-weight:800;font-size:2.4rem;line-height:1}.stat .num small{font-size:1rem;color:var(--muted);font-weight:600;margin-left:4px}.hero{background:var(--stage);color:var(--stage-ink);border-radius:16px;padding:20px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:16px;gap:16px;align-items:center;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;right:-40px;top:-30px;width:180px;height:220px;background:var(--accent);opacity:.18;transform:skewX(-14deg)}.hero>*{position:relative;z-index:1}.hero .sub{color:#b9c6da}.livepill{display:inline-flex;align-items:center;gap:6px;background:var(--live);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.08em;padding:3px 9px;border-radius:999px;text-transform:uppercase;width:max-content}.livepill:before{content:"";width:7px;height:7px;border-radius:50%;background:#fff;animation:pulse 1.4s infinite}@keyframes pulse{50%{opacity:.3}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:10px;padding:10px 16px;font-weight:700;background:var(--accent);color:var(--accent-ink);white-space:nowrap;text-decoration:none}.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--ink)}.btn.sm{padding:6px 12px;font-size:.85rem}.btn.block{width:100%;padding:13px 16px}.btn[aria-disabled=true],.btn[disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}.input{width:100%;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:12px}.chip{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--soft);color:var(--muted);white-space:nowrap}.chip.good{color:var(--good)}.dot{width:10px;height:10px;border-radius:50%;flex:none;display:inline-block}.list{display:flex;flex-direction:column}.row{display:grid;grid-template-columns:76px minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}.row:first-child{border-top:0}.when{font-family:var(--display);font-weight:700;font-size:1.15rem;line-height:1}.when small{display:block;font-family:var(--body);font-size:.72rem;color:var(--muted);font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-top:3px}.members{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:10px;gap:10px}.mem{display:flex;align-items:center;gap:10px}.mem,.mem div{min-width:0}.mem strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.9rem}.av{border-radius:50%;display:grid;place-items:center;font-weight:700;color:#fff;flex:none;width:38px;height:38px;font-size:.85rem}.tabs{display:flex;gap:6px;flex-wrap:wrap}.tabs a,.tabs button{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:6px 14px;font-weight:600;font-size:.85rem;color:var(--muted);text-decoration:none}.tabs [aria-current=page],.tabs [aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.board{display:flex;flex-direction:column;gap:10px}.brow{display:grid;grid-template-columns:36px minmax(0,1fr) 70px;grid-gap:12px;gap:12px;align-items:center}.rank{font-family:var(--display);font-weight:800;font-size:1.5rem;color:var(--muted);text-align:center}.brow.top .rank{color:var(--accent)}.brow .pts{font-family:var(--display);font-weight:700;font-size:1.3rem;text-align:right}.brow.me{border-radius:10px;padding:6px 8px;margin:0 -8px}.bar,.brow.me{background:var(--soft)}.bar{height:10px;overflow:hidden}.bar,.bar span{border-radius:999px}.bar span{display:block;height:100%}.opt{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;border:2px solid var(--line);background:var(--surface);border-radius:12px;padding:12px;text-align:left;width:100%}.opt[aria-pressed=true]{border-color:var(--accent)}.opt[disabled]{opacity:.5;cursor:not-allowed}.opt .check{width:22px;height:22px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center}.opt[aria-pressed=true] .check{background:var(--accent);border-color:var(--accent)}.opt[aria-pressed=true] .check:after{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent-ink)}.progress{display:flex;gap:6px}.progress i{flex:1 1;height:5px;border-radius:999px;background:var(--line)}.progress i.on{background:var(--accent)}.switchrow{display:flex;align-items:center;gap:12px}.switch{position:relative;width:40px;height:24px;flex:none;display:inline-block}.switch input{opacity:0;position:absolute;inset:0;margin:0;cursor:pointer;z-index:1}.switch span{position:absolute;inset:0;background:var(--line);border-radius:999px;transition:background .15s}.switch span:after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;top:3px;left:3px;transition:transform .15s}.switch input:checked+span{background:var(--good)}.switch input:checked+span:after{transform:translateX(16px)}.privacy{border-left:3px solid var(--good);padding-left:12px;font-size:.88rem}table{width:100%;border-collapse:collapse;font-size:.9rem}th{text-align:left;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600;padding:8px 6px;white-space:nowrap}td,th{border-bottom:1px solid var(--line)}td{padding:10px 6px}td.n,th.n{text-align:right;white-space:nowrap}.tablewrap{overflow-x:auto}code{background:var(--soft);padding:6px 8px;border-radius:8px;overflow-wrap:anywhere}.stage{background:var(--stage);color:var(--stage-ink);border-radius:16px;padding:12px;display:flex;flex-direction:column;gap:12px}.vgrid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:8px;gap:8px}.vgrid,.vgrid .tile{position:relative;display:grid}.vgrid .tile{background:var(--tile);border-radius:10px;aspect-ratio:4/3;overflow:hidden;place-items:center}.vgrid .tile.coach{grid-column:1/-1;aspect-ratio:16/9;max-height:60vh}.vgrid .tile video{width:100%;height:100%;object-fit:cover}.vgrid .tile.coach video{object-fit:contain;background:#000}.vgrid .tile.self video{transform:scaleX(-1)}.vgrid .tile .nm{position:absolute;left:8px;bottom:6px;font-size:.72rem;font-weight:600;background:rgba(0,0,0,.55);padding:1px 7px;border-radius:6px;color:#fff;max-width:calc(100% - 16px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vgrid.solo .tile:not(.coach):not(.self){display:none}.vgrid.solo .tile.self{position:absolute;right:10px;bottom:10px;width:26%;min-width:96px;max-width:180px;z-index:2;box-shadow:0 0 0 2px var(--accent),0 4px 14px rgba(0,0,0,.4)}.controls{display:flex;gap:8px;flex-wrap:wrap}.controls button{border:0;border-radius:999px;padding:9px 14px;font-weight:600;background:#24324f;color:#eaf0f8}.controls button[aria-pressed=true]{background:#3a4a6c}.controls .leave{background:var(--live);color:#fff;margin-left:auto}.sliders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px 18px;gap:10px 18px}.sliders label{display:grid;grid-template-columns:auto minmax(0,1fr) 2.2em;align-items:center;grid-gap:10px;gap:10px;background:var(--tile);border-radius:10px;padding:8px 12px;font-size:.85rem;font-weight:600}.sliders input[type=range]{width:100%;accent-color:var(--accent)}.sliders b{font-family:var(--display);font-size:1.1rem;text-align:right}.music{display:flex;flex-direction:column;gap:8px;background:var(--tile);border-radius:12px;padding:10px 12px}.music-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.music-now{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.music select{width:100%;background:#24324f;color:#eaf0f8;border:0;border-radius:8px;padding:8px}.hrb{position:absolute;right:6px;top:6px;font-size:.72rem;font-weight:700;padding:1px 7px;border-radius:6px;color:#fff}.tile canvas.pose{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scaleX(-1);pointer-events:none}.repb{position:absolute;left:6px;top:6px;font-size:.72rem;font-weight:700;padding:1px 7px;border-radius:6px;color:#fff;background:rgba(0,0,0,.6)}.movestrip{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:var(--tile);border-radius:12px;padding:10px 12px}.movestrip b{display:block;font-family:var(--display);font-size:1.8rem;line-height:1.05}.movestrip .cue{font-weight:700;color:#8fd8b5}.movestrip .cue.warn{color:#ffb08f}.mon{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:8px;gap:8px}.mcard{background:var(--tile);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:6px;border:2px solid transparent;min-width:0}.mcard.alert{border-color:#e5672b}.mcard strong{font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mcard .mrow{display:flex;justify-content:space-between;gap:6px}.mcard .big{font-family:var(--display);font-weight:800;font-size:1.6rem;line-height:1}.mcard .big small{font-size:.7rem;color:#9fb0c9;font-weight:600}.mcard .zbar{height:6px;border-radius:999px;background:#2a3858;overflow:hidden}.mcard .zbar span{display:block;height:100%;border-radius:999px}.mcard .flag{font-size:.75rem;font-weight:600;color:#ffb08f;min-height:1.1em}.weekbars{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:8px;gap:8px;height:170px}.wb{display:grid;grid-template-rows:18px 1fr 18px;grid-gap:4px;gap:4px;text-align:center;min-width:0}.wb-val{font-size:.75rem;font-weight:600;color:var(--muted)}.wb-track{position:relative;background:var(--soft);border-radius:8px;overflow:hidden}.wb-fill,.wb-track{display:flex;align-items:flex-end}.wb-fill{width:100%;background:color-mix(in srgb,var(--accent) 40%,var(--soft));border-radius:8px 8px 0 0}.wb-zone{width:100%;background:var(--accent)}.wb-lbl{font-size:.72rem;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.06em}.roomtv{min-height:100vh;background:var(--stage);color:var(--stage-ink);padding:14px max(16px,2vw);display:flex;flex-direction:column;gap:12px}.roomtv .muted{color:#9fb0c9}.roomhead{display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap;font-size:1.1rem}.roomclock{margin-left:auto;font-family:var(--display);font-size:1.6rem;font-weight:700}.roomidle{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center}.roombig{font-size:1.6rem;font-weight:600}.roomgrid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);grid-gap:10px;gap:10px}.roomtile{position:relative;background:#000;border-radius:12px;overflow:hidden;aspect-ratio:16/9;display:grid;place-items:center}.roomtile canvas,.roomtile video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.roomtile.cam video{transform:scaleX(-1)}.roomtile canvas{pointer-events:none}.roomtile .nm{position:absolute;left:8px;bottom:6px;font-size:.8rem;font-weight:600;background:rgba(0,0,0,.55);padding:1px 7px;border-radius:6px;color:#fff}.checkin{display:flex;flex-direction:column;gap:4px;background:var(--tile);border-radius:12px;padding:12px 16px}.checkin b{font-family:var(--display);font-size:clamp(1.6rem,3.2vw,3rem);line-height:1.05}.checkin .warn{color:#ffb08f;font-weight:700;font-size:1.2rem}.roomchips{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:8px;gap:8px}.rchip{background:var(--tile);border-radius:10px;padding:8px 10px;border:2px solid transparent;display:flex;flex-direction:column;gap:2px;min-width:0}.rchip strong{font-size:1.05rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rchip span{font-size:.85rem;color:#9fb0c9}.rchip.wave span{color:#ffd27a}.rchip.away{opacity:.6}.rchip em{font-style:normal;font-family:var(--display);font-weight:700;font-size:1.2rem}.roomrow{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:12px 0;border-top:1px solid var(--line)}.roomrow:first-child{border-top:0}.roomlink{display:inline-block;margin-top:6px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:top}.mroom{display:flex;flex-direction:column;gap:8px}.mcard button,.mroom .music-head button{border:0;border-radius:999px;padding:4px 10px;font-weight:600;font-size:.75rem;background:#24324f;color:#eaf0f8}.mcard .where{font-size:.7rem;color:#9fb0c9;font-weight:600}@media (max-width:760px){.roomgrid{grid-template-columns:minmax(0,1fr)}}@media (max-width:600px){.sliders{grid-template-columns:minmax(0,1fr)}}@media (max-width:820px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.shell{grid-template-columns:minmax(0,1fr)}.side{position:fixed;left:0;right:0;bottom:0;z-index:25;flex-direction:row;justify-content:space-around;border-right:0;border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom));overflow-x:auto;scrollbar-width:none}.side a{flex-direction:column;gap:2px;font-size:.66rem;padding:6px 3px;text-align:center;flex:1 0 auto}.side-extra{display:none}.tophelp{display:flex;margin-left:auto}.tophelp+.who{margin-left:12px}.navbadge{position:absolute;top:0;right:4px;margin:0;min-width:16px;height:16px;font-size:.62rem}main{padding-bottom:100px}.g2,.hero{grid-template-columns:minmax(0,1fr)}h1{font-size:1.7rem}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.oauth{justify-content:center}.oauth,.or{display:flex;align-items:center;gap:10px}.or{color:var(--muted);font-size:.8rem;margin:4px 0}.or:after,.or:before{content:"";flex:1 1;height:1px;background:var(--line)}.legal{max-width:760px;margin:0 auto;padding:32px 16px 64px;display:flex;flex-direction:column;gap:12px;line-height:1.6}.legal h2{margin-top:18px;font-size:1.15rem}.legal ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}.legal a{color:var(--accent)}.pstage{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:var(--stage);color:var(--stage-ink);display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto auto;padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left);overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.pstage button{font:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;touch-action:manipulation}.pstage .pi{display:inline-flex;width:22px;height:22px;flex:none}.pstage .pi svg{width:100%;height:100%}.ptop{display:flex;align-items:center;gap:8px;padding:6px 10px;min-height:56px}.ptitle{display:flex;flex-direction:column;min-width:0;flex:1 1}.ptitle strong{font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ptitle span{font-size:.8rem;color:#9fb0c9}.pseg{display:flex;background:#1b2740;border-radius:12px;padding:3px;flex:none}.pseg button{min-height:44px;min-width:52px;border:0;border-radius:9px;background:transparent;color:#c9d4e5;font-weight:700;font-size:.85rem;padding:0 10px}.pseg button[aria-pressed=true]{background:#3a4a6c;color:#fff}.pbtn{min-height:44px;min-width:56px;padding:0 14px;border:0;border-radius:12px;background:#24324f;color:#eaf0f8;font-weight:700;flex:none}.pbtn.leave{background:var(--live);color:#fff}.pmain{position:relative;min-height:0;padding:0 8px}.pmain,.pnotes{display:flex;flex-direction:column}.pnotes{gap:6px}.pnotes:not(:empty){margin-bottom:8px}.pnote{margin:0;border-radius:12px;padding:10px 12px;font-weight:600;font-size:.95rem}.pnote.bad{background:#4a1d1d;color:#ffd0c4}.pnote.tap{border:0;background:var(--accent);color:#13203a;min-height:48px;font-weight:800}.pnote.hint{display:flex;align-items:center;gap:10px;background:#1b2740;color:#dfe7f3;padding:4px 4px 4px 12px}.pnote.hint span:nth-child(2){flex:1 1}.pnote.hint button{min-width:44px;min-height:44px;border:0;background:transparent;color:#9fb0c9;display:grid;place-items:center}.pnote.hint button svg{width:20px;height:20px}.pempty{flex:1 1;display:grid;place-items:center;color:#9fb0c9;font-weight:600;text-align:center;padding:20px}.pgrid{flex:1 1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;display:grid;grid-gap:6px;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:calc((100vw - 22px) / 2 * .78);align-content:start;padding-bottom:8px}.ptile{position:relative;background:var(--tile);border-radius:12px;overflow:hidden;border:2px solid transparent;min-height:0}.ptile.alert{border-color:#e5672b}.ptile video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.ptile.big video{object-fit:contain;background:#000}.ptile .pinit{position:absolute;top:0;left:0;right:0;bottom:0;display:grid;place-items:center;font-family:var(--display);font-size:2.4rem;font-weight:800;color:#5d6f91}.ptile .nm{position:absolute;left:6px;bottom:6px;max-width:calc(100% - 12px);font-size:.82rem;font-weight:700;background:rgba(0,0,0,.6);padding:2px 8px;border-radius:8px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ptile .hrb,.ptile .repb{font-size:.8rem;padding:2px 8px;border-radius:8px}.ptile .pflag{position:absolute;left:6px;right:6px;bottom:34px;font-size:.78rem;font-weight:700;color:#fff;background:rgba(229,103,43,.92);border-radius:8px;padding:3px 8px;line-height:1.25}.pfocus{flex:1 1;min-height:0;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.pfocus::-webkit-scrollbar{display:none}.pslide{flex:0 0 100%;scroll-snap-align:center;padding:0 2px;display:flex}.pslide .ptile{flex:1 1}.pcount-note{text-align:center;font-size:.8rem;color:#9fb0c9;margin:4px 0 0}.ppip{position:absolute;right:14px;bottom:10px;border:0;padding:0;width:28vw;max-width:150px;height:calc(28vw * 1.33);max-height:200px;border-radius:12px;overflow:hidden;background:#000;box-shadow:0 0 0 2px var(--accent),0 6px 16px rgba(0,0,0,.5);z-index:3;display:grid;place-items:center;color:#9fb0c9;font-size:.8rem;font-weight:600}.ppip video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.ppip.mirror video{transform:scaleX(-1)}.ppip .nm{position:absolute;left:4px;bottom:4px;font-size:.75rem;background:rgba(0,0,0,.6);color:#fff;padding:1px 6px;border-radius:6px}.ppip.small{width:56px;height:56px;border-radius:50%}.ppip.small .nm{position:static;background:transparent;font-size:.85rem}.pgrid.pip-room{padding-bottom:calc(min(28vw * 1.33, 200px) + 16px)}.pstage.landscape .pgrid.pip-room{padding-bottom:calc(min(18vw * .75, 120px) + 16px)}.ppeek{display:flex;align-items:center;gap:10px;min-height:48px;margin:6px 8px 0;padding:0 14px;border:0;border-radius:14px 14px 0 0;background:#17223a;color:#eaf0f8;font-weight:700;text-align:left}.ppeek>span:nth-child(2){flex:1 1}.pbadge{background:#e5672b;color:#fff;border-radius:999px;padding:3px 10px}.pbadge,.pok{font-size:.85rem}.pok{color:#8fd8b5;font-weight:700}.pbar{background:#17223a;margin:0 8px;border-radius:0 0 14px 14px;padding:6px 8px max(8px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:6px}.pcounting{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,.8fr);grid-gap:6px;gap:6px}.pcounting button{min-height:54px;border:0;border-radius:12px;font-weight:800;font-size:1rem}.pmove{background:#24324f;color:#eaf0f8;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:4px 12px;text-align:left;min-width:0}.pmove small{font-size:.75rem;color:#9fb0c9;font-weight:700}.pmove b,.pmove small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.pmove b{font-size:1.05rem}.pgo{background:var(--accent);color:#13203a}.pstop{background:#3a2230;color:#ffd0c4}.pstop[disabled]{opacity:.45}.picons{display:flex;gap:4px}.pib{flex:1 1;min-width:44px;min-height:52px;border:0;border-radius:12px;background:#24324f;color:#eaf0f8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:.75rem;font-weight:700;padding:4px 2px}.pib[aria-pressed=true]{background:#4a1d1d;color:#ffd0c4}.pib[disabled]{opacity:.5}.pscrim{top:0;background:rgba(5,9,18,.55);z-index:61}.pscrim,.psheet{position:fixed;left:0;right:0;bottom:0}.psheet{z-index:62;max-height:80%;display:flex;flex-direction:column;background:#121c30;color:#eaf0f8;border-radius:18px 18px 0 0;box-shadow:0 -8px 30px rgba(0,0,0,.5);transform:translateY(105%);transition:transform .22s ease;visibility:hidden;padding:0 max(12px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(12px,env(safe-area-inset-left))}.psheet.open{transform:none;visibility:visible}.psheet>header{display:flex;align-items:center;gap:8px;min-height:56px;position:relative;padding-top:6px}.psheet>header strong{flex:1 1;font-size:1.05rem}.psheet>header button{min-width:44px;min-height:44px;border:0;border-radius:12px;background:#24324f;color:#eaf0f8;display:grid;place-items:center}.psheet>header button svg{width:20px;height:20px}.pgrab{position:absolute;left:50%;top:6px;width:40px;height:5px;margin-left:-20px;border-radius:999px;background:#3a4a6c}.psheet-body{overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:14px;display:flex;flex-direction:column;gap:10px}.pmon .mon{grid-template-columns:repeat(2,minmax(0,1fr))}.pmon .mcard strong{font-size:.95rem}.pmon .mcard .flag{font-size:.85rem}.pmon .mcard .big small,.pmon .mcard .where{font-size:.78rem}.pmon .mcard button,.pmon .mroom .music-head button{min-height:44px;font-size:.85rem;padding:0 14px}.pmon .label{font-size:.78rem}.pmoves{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.pmoves button{min-height:72px;border:2px solid transparent;border-radius:14px;background:#24324f;color:#eaf0f8;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;padding:8px 12px;text-align:left}.pmoves button[aria-pressed=true]{border-color:var(--accent);background:#2c3a5c}.pmoves b{font-size:1.1rem}.pmoves small{font-size:.8rem;color:#9fb0c9}.psmall{font-size:.9rem;color:#9fb0c9;margin:0}.psmall.bad{color:#ffb08f}.pnow{font-weight:700;margin:0}.prow{display:flex;gap:8px}.pbig{flex:1 1;min-height:52px;border:0;border-radius:12px;background:var(--accent);color:#13203a;font-weight:800;font-size:1rem}.pbig.ghost,.psel{background:#24324f;color:#eaf0f8}.psel{width:100%;min-height:48px;border:0;border-radius:12px;padding:0 12px;font-size:16px}.pvol{display:flex;flex-direction:column;gap:8px}.pvol label{display:grid;grid-template-columns:7.5em minmax(0,1fr) 2.2em;grid-gap:10px;gap:10px;align-items:center;min-height:48px;background:#1b2740;border-radius:12px;padding:0 12px;font-weight:700;font-size:.9rem}.pvol input[type=range]{width:100%;height:44px;accent-color:var(--accent)}.pvol b{font-family:var(--display);font-size:1.15rem;text-align:right}.pstage.landscape{grid-template-columns:minmax(0,1fr) 236px;grid-template-rows:auto minmax(0,1fr) auto}.pstage.landscape .ptop{grid-column:1;grid-row:1;min-height:52px;padding-top:2px;padding-bottom:2px}.pstage.landscape .pmain{grid-column:1;grid-row:2/4;padding-bottom:max(6px,env(safe-area-inset-bottom))}.pstage.landscape .ppeek{grid-column:2;grid-row:1/3;align-self:end;margin:6px 8px 0 0}.pstage.landscape .pbar{grid-column:2;grid-row:3;margin:0 8px 0 0}.pstage.landscape .pcounting{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.pstage.landscape .pmove{grid-column:1/-1;min-height:48px}.pstage.landscape .pcounting button{min-height:48px}.pstage.landscape .picons{flex-wrap:wrap}.pstage.landscape .pib{flex:1 1 30%;min-height:48px}.pstage.landscape .pgrid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:calc((100vw - 270px) / 2 * .62)}.pstage.landscape .ppip{width:18vw;height:calc(18vw * .75);max-height:120px}.pstage.landscape .psheet{left:auto;width:min(560px,100%);max-height:92%}.pstage.landscape .pmon .mon,.pstage.landscape .pmoves{grid-template-columns:repeat(3,minmax(0,1fr))}.inapp{display:flex;flex-direction:column;gap:8px;background:#fff4e5;color:#4a2a00;border:1px solid #f0c27b;border-radius:14px;padding:14px 16px}.inapp strong{font-size:1.05rem}.inapp-actions{display:flex;gap:8px;flex-wrap:wrap}.inapp .btn.ghost{color:#4a2a00;border-color:#e0a95a}dialog.dlg:not([open]){display:none}dialog.dlg.dlg-fallback[open]{display:block;position:fixed;z-index:80;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;max-height:calc(100% - 32px);overflow:auto;box-shadow:0 0 0 100vmax rgba(10,16,30,.55)}@supports not (aspect-ratio:1/1){.vgrid .tile{height:0;padding-top:75%}.vgrid .tile>*{position:absolute;top:0;left:0}.vgrid .tile.coach{padding-top:56.25%}.vgrid .tile .nm{top:auto;left:8px;bottom:6px}.roomtile{height:0;padding-top:56.25%}}@media (max-width:760px),(pointer:coarse){.btn,.btn.sm{min-height:44px}.btn.sm{padding:8px 14px;font-size:.9rem}.input,input[type=email],input[type=number],input[type=search],input[type=text],select,textarea{font-size:16px}.input,select.input{min-height:44px}.linkbtn{padding:0 4px}.linkbtn,.tabs a,.tabs button{min-height:44px;font-size:.9rem}.tabs a,.tabs button{display:inline-flex;align-items:center;padding:8px 16px}.controls button{min-height:44px;padding:10px 16px}.label{font-size:.78rem}.chip{font-size:.8rem;padding:3px 9px}.muted.small,.small{font-size:.9rem}.hrb,.repb,.vgrid .tile .nm{font-size:.8rem}.checks label{min-height:44px}.checks input{width:22px;height:22px}.switch{width:50px;height:30px}.switch input{top:-8px;bottom:-8px;left:-2px;right:-2px;width:auto;height:auto}.switch span:after{width:24px;height:24px}.switch input:checked+span:after{transform:translateX(20px)}.mcard button,.music select,.sidebtn{min-height:44px}.music select{font-size:16px}.sliders label{min-height:48px}.sliders input[type=range]{height:44px}.dlg{width:calc(100vw - 24px)}.dlg-actions .btn{flex:1 1}.dlg .input,.dlg input,.dlg textarea{font-size:16px}.dlg input[type=file]{min-height:44px;width:100%}}@media (max-width:760px){.side a{font-size:.75rem;min-height:52px;justify-content:center}.topbar{min-height:56px;padding-top:max(8px,env(safe-area-inset-top))}.topbar .who{font-size:.85rem}.row{grid-template-columns:64px minmax(0,1fr)}.row>:last-child{grid-column:1/-1;justify-self:stretch}.row>.btn:last-child,.row>a.btn:last-child{width:100%}.roomrow>div:last-child:not(:first-child){width:100%;align-items:stretch!important}.roomrow>div:last-child:not(:first-child) .btn{width:100%}.btn{white-space:normal;text-align:center;line-height:1.2}}@media (max-width:400px){.topbar{flex-wrap:wrap;row-gap:0;padding-bottom:4px}.topbar .brand{font-size:1.4rem}.topbar .who{margin-left:auto}.topbar .who>div:first-child{max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tophelp{order:3;width:100%;margin-left:0;gap:16px}.tophelp+.who{margin-left:auto}.pseg button{min-width:48px;padding:0 8px}.pbtn{padding:0 10px;min-width:48px}}.ptitle span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pmain.focus .ppip{bottom:36px}