:root{--bg:#040a0f;--panel:#0b151f;--panel2:#0f1d29;--line:#1d3244;--txt:#eef7ff;--muted:#8398aa;--blue:#4da9ff;--amber:#ffc451;--green:#60dd91;--red:#ff6f75}*{box-sizing:border-box}html,body{margin:0;width:100%;min-height:100%;background:radial-gradient(circle at 12% -10%,#15324a,#040a0f 48%,#020609);color:var(--txt);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;overflow:hidden}button,input{font:inherit}.setup{min-height:100vh;display:grid;place-items:center;padding:24px;overflow:auto}.setup-card{width:min(670px,100%);background:linear-gradient(145deg,#0f1d29,#08121b);border:1px solid var(--line);border-radius:28px;padding:34px;text-align:center;box-shadow:0 35px 100px #000b}.setup-card>img{width:72px;height:72px;border-radius:20px}.setup-card>span{display:block;margin-top:12px;font-size:9px;letter-spacing:.18em;color:var(--amber)}.setup-card h1{font-size:54px;margin:7px}.setup-card>p{color:#afbfcd;line-height:1.55}.setup-message{padding:11px;border-radius:12px;background:#0a1722;border:1px solid var(--line);color:#a9c3d8}.count-pick{margin:24px 0}.count-pick small,.code-join small{font-size:8px;letter-spacing:.13em;color:var(--muted)}.count-pick>div{display:flex;gap:8px;justify-content:center;margin-top:8px}.count-pick button{border:1px solid var(--line);background:#08131d;color:white;border-radius:12px;padding:10px 16px}.count-pick button.active{border-color:var(--blue);background:#112b40}.create{border:0;background:var(--blue);color:#03101a;font-weight:900;padding:14px 20px;border-radius:13px;cursor:pointer}.create:disabled{opacity:.35}.or{display:flex;align-items:center;gap:10px;margin:18px 0;color:#526c82}.or span{height:1px;background:#1b3043;flex:1}.or b{font-size:9px}.code-join>div{display:flex;gap:8px;margin-top:8px}.code-join input{flex:1;min-width:0;background:#061018;border:1px solid #31506a;color:white;border-radius:12px;padding:13px;text-transform:uppercase;letter-spacing:.12em;font-weight:900}.code-join button{background:#112538;border:1px solid #355874;color:white;border-radius:12px;padding:12px 15px;font-weight:800}.back{display:block;margin-top:22px;color:#7f9cb3;text-decoration:none;font-size:12px}.login a{color:var(--blue)}.tv{height:100vh;display:grid;grid-template-rows:78px minmax(0,1fr) 28px;padding:10px 18px 8px;gap:10px}.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:18px}.brand{display:flex;align-items:center;gap:12px}.brand img{width:50px;height:50px;border-radius:15px}.brand span,.code span{font-size:8px;color:var(--muted);letter-spacing:.13em;display:block}.brand b{font-size:16px}.code{text-align:center;background:#0a1620;border:1px solid #20394e;border-radius:14px;padding:8px 18px}.code b{font-size:26px;letter-spacing:.16em}.qrbtn{background:#0c1a25;border:1px solid #2d4b63;color:white;border-radius:12px;padding:11px 16px;font-weight:800}.main{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,390px);gap:12px}.stage{min-height:0;background:linear-gradient(150deg,#0c1823,#07111a);border:1px solid var(--line);border-radius:22px;padding:24px;overflow:auto}.side{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px}.panel{background:#0a151f;border:1px solid var(--line);border-radius:18px;padding:15px}.panel>header,.flow-layout section>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.panel h3{margin:0;font-size:13px}.panel header small,.flow-layout header small{font-size:7px;color:var(--muted);letter-spacing:.1em}.controls{overflow:auto;scrollbar-width:none}.controls::-webkit-scrollbar,.stage::-webkit-scrollbar{display:none}.metrics{display:grid;gap:8px}.metric{display:grid;grid-template-columns:1fr 90px 34px;gap:8px;align-items:center}.metric span{font-size:8px;color:#a7bac8}.metric i{height:4px;background:#182838;border-radius:99px;overflow:hidden}.metric i b{display:block;height:100%;background:var(--green)}.metric strong{text-align:right;font-size:13px}.team-score{margin-top:10px;background:#07131d;border-radius:10px;padding:9px;display:flex;justify-content:space-between}.team-score span{font-size:8px;color:var(--muted)}.team-score b{color:var(--amber)}.people{display:grid;gap:7px}.person{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:8px;background:#07131d;border-radius:11px;padding:8px}.person>span{width:32px;height:32px;border-radius:9px;background:#0e2333;display:grid;place-items:center;overflow:hidden}.person img{width:100%;height:100%;object-fit:cover}.person b,.person small{display:block}.person b{font-size:10px}.person small{font-size:7px;color:var(--muted)}.person strong{font-size:7px;color:#71d99a}.btns{display:grid;gap:8px;margin-top:12px}.btn{border:1px solid #29475f;background:#0b1a26;color:white;border-radius:11px;padding:10px;font-weight:800}.btn.primary{background:#12324a}.btn.good{background:#153622;border-color:#2f7046}.btn.warn{background:#302610;border-color:#6a5428}.btn.danger{background:#30151a;border-color:#6b303b}.btn:disabled{opacity:.3}.auto-note{font-size:9px;line-height:1.4;color:#8fb7d5;background:#081722;border:1px dashed #31536e;border-radius:10px;padding:10px}.waiting{height:100%;display:grid;place-items:center;text-align:center}.waiting>div{max-width:820px}.big{font-size:54px}.eyebrow{font-size:9px;color:var(--amber);letter-spacing:.15em}.waiting h1{font-size:52px;margin:6px}.waiting p{color:#aabcca;line-height:1.55}.roles{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0}.role-card{border:1px solid var(--line);background:#07131d;border-radius:15px;padding:16px;text-align:left}.role-card span{font-size:9px;color:#7fbdf1}.role-card b{display:block;font-size:18px;margin:4px 0}.role-card small{color:var(--muted)}.role-card.ready{border-color:#397157;background:#0c2118}.incident-head{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center}.priority{background:#4b3215;color:#ffd373;font-weight:900;padding:8px 10px;border-radius:9px}.incident-head small{font-size:8px;color:var(--muted)}.incident-head b{display:block;font-size:24px}.loc{font-size:11px;color:#aac0d1}.phase-track{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin:20px 0}.phase-track div{display:flex;flex-direction:column;gap:6px}.phase-track i{height:4px;background:#172738;border-radius:99px}.phase-track span{font-size:7px;color:#647b8f}.phase-track .done i{background:var(--green)}.phase-track .active i{background:var(--amber);box-shadow:0 0 14px #ffc45188}.phase-track .active span{color:#ffd782}.shared{background:#07131d;border-left:3px solid var(--blue);border-radius:11px;padding:16px;line-height:1.55;color:#c8d5df}.twist{margin-top:12px;background:linear-gradient(90deg,#2b2110,#151a1e);border:1px solid #6f592e;border-radius:13px;padding:13px}.twist span{font-size:8px;color:var(--amber);letter-spacing:.12em;font-weight:900}.twist p{margin:5px 0 0}.flow-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:10px;margin-top:12px}.flow-layout section{background:#091620;border:1px solid #1a3042;border-radius:14px;padding:14px}.flow-layout header b{font-size:10px}.radio-flow{display:grid;gap:7px}.radio-flow>div{background:#06111a;border-radius:9px;padding:9px}.radio-flow span{font-size:7px;color:#79b9ee}.radio-flow p{font-size:11px;margin:4px 0 0;line-height:1.45}.radio-empty{padding:18px;text-align:center;color:#597186;font-size:10px}.phase-now{text-align:center;padding:16px}.phase-now>span{font-size:34px}.phase-now b{display:block;font-size:16px;margin:6px}.phase-now p{font-size:11px;color:var(--muted);line-height:1.45}.resolution span{font-size:9px;color:var(--amber);font-weight:900}.resolution>b{display:block;font-size:26px;margin:4px 0}.resolution p{font-size:11px;color:#b7c8d6;line-height:1.45}.delta{display:flex;gap:5px;flex-wrap:wrap}.delta em{font-style:normal;font-size:7px;padding:4px 6px;border-radius:99px;background:#07131d}.delta .up{color:#79dfa1}.delta .down{color:#ff9090}.result{height:100%;display:grid;place-items:center;text-align:center}.result>div{width:min(900px,100%)}.grade{width:100px;height:100px;border-radius:50%;border:4px solid var(--blue);display:grid;place-items:center;margin:auto;font-size:50px;font-weight:900}.result h1{font-size:44px;margin:5px}.result>div>p{color:var(--muted)}.result-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:18px 0}.result-grid>div{background:#07131d;border:1px solid var(--line);border-radius:12px;padding:12px}.result-grid b,.result-grid small{display:block}.result-grid b{font-size:24px}.result-grid small{font-size:7px;color:var(--muted)}.history{display:grid;gap:6px;max-height:230px;overflow:auto;scrollbar-width:none;text-align:left;margin-bottom:15px}.history::-webkit-scrollbar{display:none}.history h3{margin:0 0 4px}.history>div{display:grid;grid-template-columns:1fr auto auto;gap:10px;background:#07131d;padding:8px 10px;border-radius:9px}.history span,.history b,.history em{font-size:9px}.history b{color:#8ec9f8}.history em{font-style:normal;color:var(--amber)}.bottom{display:flex;justify-content:space-between;color:#516b7f;font-size:7px}.qr-drawer{position:fixed;inset:0;z-index:20;display:grid;place-items:center}.qr-bg{position:absolute;inset:0;background:#000c}.qr-card{position:relative;background:#eef7ff;color:#071018;border-radius:22px;padding:22px;text-align:center;width:350px}.qr-card img{width:250px;height:250px}.qr-card h2{font-size:34px;letter-spacing:.16em;margin:8px}.qr-card p{font-size:11px}.qr-card button{border:0;background:#0b1e2e;color:white;border-radius:10px;padding:10px 18px}.confetti{position:fixed;inset:0;pointer-events:none;z-index:40;overflow:hidden}.confetti i{position:absolute;top:-40px;font-style:normal;animation:fall 3.5s linear forwards}@keyframes fall{to{transform:translateY(110vh) rotate(720deg)}}@media(max-width:1100px){.main{grid-template-columns:minmax(0,1fr) 330px}.flow-layout{grid-template-columns:1fr}.incident-head b{font-size:19px}.stage{padding:18px}}@media(max-width:820px){html,body{overflow:auto}.tv{height:auto;min-height:100vh}.main{grid-template-columns:1fr}.side{grid-template-rows:auto auto}.topbar{grid-template-columns:1fr auto}.qrbtn{grid-column:2}.brand b{font-size:12px}.roles{grid-template-columns:1fr}.result-grid{grid-template-columns:repeat(2,1fr)}}
.context-stack{display:grid;gap:8px;margin-top:12px}.context-card{border:1px solid #24465f;background:#081824;border-radius:12px;padding:12px}.context-card>span{display:block;font-size:8px;letter-spacing:.12em;color:#7fc6ff;font-weight:900}.context-card>b{display:block;margin:4px 0;font-size:12px}.context-card>p{margin:0;color:#c4d2dd;line-height:1.45;font-size:11px}.context-card.surprise{background:linear-gradient(90deg,#2b2110,#151a1e);border-color:#6f592e}.context-card.surprise>span{color:var(--amber)}.host-events{display:grid;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #22394b}.host-events>header{display:flex;justify-content:space-between;align-items:center}.host-events>header b{font-size:9px;color:var(--amber);letter-spacing:.08em}.host-events>header small{font-size:7px;color:var(--muted)}.host-event{width:100%;text-align:left;border:1px solid #5d4e29;background:#251e10;color:white;border-radius:11px;padding:10px;cursor:pointer}.host-event span,.host-event b,.host-event small{display:block}.host-event span{font-size:7px;color:var(--amber);letter-spacing:.1em}.host-event b{font-size:10px;margin:4px 0}.host-event small{font-size:8px;color:#c4b58d;line-height:1.4}.event-fired{background:#211b0f;border:1px solid #624f28;border-radius:10px;padding:10px;font-size:9px;color:#e0c982}.learning{margin-top:14px;border:1px solid #29533c;background:#091b14;border-radius:14px;padding:14px}.learning-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.learning-head span{font-size:8px;color:var(--green);letter-spacing:.1em;font-weight:900}.learning-head h3{margin:4px 0;font-size:15px}.learning-note{font-size:9px;color:#9bb8a7;line-height:1.4}.best-step{margin-top:9px;border-top:1px solid #244734;padding-top:8px}.best-step>small{font-size:7px;color:#7fd99e}.best-step>div{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:start;margin-top:6px;background:#07140f;border-radius:9px;padding:8px}.best-step b{font-size:9px}.best-step p{grid-column:1;margin:3px 0 0;font-size:8px;color:#9fb4a7;line-height:1.4}.best-step em{font-style:normal;color:var(--green);font-size:8px;white-space:nowrap}.learning .btn{margin-top:10px;width:100%}
.host-events>span{display:block;font-size:8px;color:var(--amber);letter-spacing:.12em;font-weight:900}.host-events>b{display:block;font-size:12px;margin:4px 0}.host-events>p{font-size:9px;color:#b5a77e;line-height:1.4;margin:0 0 8px}.host-event{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center}.host-event small{grid-column:1;font-size:8px;color:var(--amber);font-weight:800}.host-event span{grid-column:1;font-size:9px;color:#d3c7a7;line-height:1.4}.host-event strong{grid-column:2;grid-row:1/3;font-size:8px;color:#071018;background:var(--amber);padding:7px 8px;border-radius:8px}.event-fired span,.event-fired b,.event-fired p{display:block}.event-fired span{font-size:8px;color:var(--amber);font-weight:900}.event-fired b{margin-top:4px;font-size:10px}.event-fired p{margin:4px 0 0;line-height:1.4}.learning-head b{display:block;font-size:14px;margin-top:3px}.learning-head em{font-style:normal;font-size:7px;color:var(--green);border:1px solid #2f7046;padding:5px 7px;border-radius:99px}.learning-head button{border:1px solid #35794d;background:#123622;color:#caffdc;border-radius:9px;padding:7px 9px;font-size:8px;font-weight:900}.learning>section{margin-top:10px}.learning>section>small{font-size:8px;color:#86daa3;font-weight:900}.learning .best-step{display:grid;grid-template-columns:24px 1fr auto;gap:8px;align-items:start}.learning .best-step>strong{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;background:#153623;color:var(--green);font-size:9px}.learning .best-step>div{display:block;margin:0;background:transparent;padding:0}.learning .best-step>div b{display:block;font-size:9px}.learning .best-step>div p{margin:3px 0;font-size:8px;color:#9fb4a7;line-height:1.4}.learning .best-step>div em{font-style:normal;font-size:7px;color:#86daa3}.learning .best-step>span{font-size:12px;color:var(--green);font-weight:900}
/* v4.5.3 · dispatch/officer conversation UI */
.radio-thread{display:flex;flex-direction:column;gap:10px;padding:10px 2px}.radio-bubble{display:flex;gap:9px;align-items:flex-end;width:min(86%,720px)}.radio-bubble.dispatch{align-self:flex-start}.radio-bubble.officer{align-self:flex-end;flex-direction:row-reverse}.radio-avatar{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:11px;border:1px solid #2f668a;background:#0a2333;font-size:17px}.radio-bubble.officer .radio-avatar{border-color:#3d7655;background:#0f2b1d}.radio-message{border:1px solid #2c5e7e;background:linear-gradient(145deg,#0d2637,#0b1d2a);border-radius:16px 16px 16px 5px;padding:10px 12px;min-width:0;box-shadow:0 10px 26px #0003}.radio-bubble.officer .radio-message{border-color:#35664a;background:linear-gradient(145deg,#102d20,#0c2018);border-radius:16px 16px 5px 16px;text-align:right}.radio-message span{display:flex;align-items:center;gap:7px;font-size:8px;color:#7ec8ff;font-weight:950;letter-spacing:.08em}.radio-bubble.officer .radio-message span{justify-content:flex-end;color:#83dfa6}.radio-message em{font-style:normal;font-size:6px;color:#7892a7;border:1px solid #28475d;padding:3px 5px;border-radius:99px}.radio-bubble.officer .radio-message em{border-color:#31553f;color:#7da98c}.radio-message p{margin:5px 0 0!important;font-size:11px!important;line-height:1.5!important;color:#d6e4ef!important}.radio-bubble.officer .radio-message p{color:#d9eee1!important}.context-card small{display:block;margin-top:6px;color:#70889a;font-size:7px;line-height:1.35}.context-card.surprise small{color:#9e8d66}
/* v4.6.0 · branching radio conversation */
.custom-count{display:flex;align-items:center;gap:5px;border:1px solid var(--line);background:#08131d;border-radius:12px;padding:5px 9px}.custom-count input{width:52px;background:transparent;border:0;color:white;font-weight:900;text-align:center;outline:none}.custom-count span{font-size:8px;color:var(--muted)}
.conversation-flow{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(270px,.65fr);gap:10px;margin-top:14px;min-height:0}.conversation-card,.current-card{background:#091620;border:1px solid #1a3042;border-radius:14px;min-height:0}.conversation-card{display:flex;flex-direction:column;overflow:hidden}.conversation-card>header,.current-card>header{display:flex;justify-content:space-between;align-items:center;padding:11px 13px;border-bottom:1px solid #1a3042}.conversation-card>header b,.current-card>header b{display:block;font-size:10px}.conversation-card>header small,.current-card>header small{display:block;font-size:7px;color:var(--muted);margin-top:2px}.conversation-card>header em{font-style:normal;font-size:7px;color:#bdd9ed;border:1px solid #2b5069;border-radius:99px;padding:5px 7px}.tv-chat{display:flex;flex-direction:column;gap:9px;overflow:auto;max-height:calc(100vh - 280px);min-height:360px;padding:11px;scrollbar-width:none}.tv-chat::-webkit-scrollbar{display:none}.tv-msg.radio{display:flex;gap:9px;align-items:flex-end;width:min(88%,720px)}.tv-msg.radio.dispatch{align-self:flex-start}.tv-msg.radio.officer{align-self:flex-end;flex-direction:row-reverse}.tv-msg.system{width:min(94%,760px);align-self:center;background:#0b1924;border:1px solid #29485e;border-radius:12px;padding:10px 12px}.tv-msg.system.incident{border-left:3px solid var(--blue);background:#0b1d2a}.tv-msg.system.update{background:#0a1b27}.tv-msg.system.surprise{background:#261f10;border-color:#6b572c}.tv-msg.system.resolution-msg{background:#0d2117;border-color:#2d6342}.tv-msg.system span{display:block;font-size:7px;font-weight:950;letter-spacing:.1em;color:#81c8fb}.tv-msg.system.surprise span{color:var(--amber)}.tv-msg.system.resolution-msg span{color:var(--green)}.tv-msg.system b{display:block;font-size:10px;margin-top:3px}.tv-msg.system p{margin:4px 0 0;font-size:10px;line-height:1.45;color:#c6d5e0}.current-card{overflow:auto}.current-card .phase-now{padding:18px}.pending-question{margin:12px 0;background:#0b2638;border:1px solid #2c5c79;border-radius:11px;padding:10px;text-align:left}.pending-question small{font-size:7px;color:#80c7ff;letter-spacing:.1em}.pending-question p{margin:4px 0 0!important;color:#d6e7f3!important}.incident-head{position:sticky;top:-24px;z-index:3;background:linear-gradient(150deg,#0c1823,#07111a);padding:2px 0 10px}.result{align-items:start;padding-top:10px}.result>div{padding-bottom:20px}.history{max-height:260px}
@media(max-width:1100px){.conversation-flow{grid-template-columns:1fr}.tv-chat{max-height:430px;min-height:280px}.current-card{max-height:360px}}
@media(max-width:820px){.tv-chat{max-height:50vh;min-height:260px}.conversation-flow{grid-template-columns:1fr}.custom-count{justify-content:center}.incident-head{position:static}.result{height:auto}}
/* v4.7.1 · semantic case memory + evidence-driven case resolution */
.case-goal{margin:10px 0;padding:10px 12px;border:1px solid #284b63;border-radius:11px;background:#071823;text-align:left}.case-goal small,.truth-box small,.ending-box small{font-size:7px;letter-spacing:.11em;font-weight:900;color:#79c7ff}.case-goal p{margin:4px 0 0!important;color:#d8e7f2!important}.case-progress{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin-top:10px}.case-progress span{font-size:7px;padding:5px 7px;border-radius:99px;background:#07131d;border:1px solid #274358;color:#9fc4df}.pending-question{margin:10px 0;padding:10px;border-radius:11px;background:#0b2536;border:1px solid #2d5c7b;text-align:left}.pending-question small{font-size:7px;color:#80caff;letter-spacing:.1em}.pending-question p{margin:4px 0 0!important;color:#e1eef7!important}.tv-msg.system.status{border-style:dashed;opacity:.82}.tv-msg.system.status span{color:#8fa9bc}.resolution.success{border-color:#2d7047}.resolution.partial{border-color:#76602f}.resolution.failure{border-color:#77333a}.truth-box,.ending-box{margin:10px 0;padding:10px 12px;border-radius:11px;text-align:left}.truth-box{background:#101c26;border:1px solid #345064}.truth-box p{margin:5px 0 0!important;color:#e5f0f7!important}.ending-box{background:#0d2117;border:1px solid #2f6544}.ending-box small{color:#76da9c}.ending-box h3{margin:5px 0;font-size:13px;line-height:1.45}.resolution.failure .ending-box{background:#261316;border-color:#6e3138}.resolution.failure .ending-box small{color:#ff9094}.resolution.partial .ending-box{background:#241e10;border-color:#6b572d}.resolution.partial .ending-box small{color:#ffd072}
/* v5.0.0 · Shared Case Board / Case Director / Parallel Incidents / Career */
.mode-picks{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.mode-toggle{border:1px solid #29465a;background:#091722;color:white;border-radius:12px;padding:10px;text-align:left}.mode-toggle span,.mode-toggle small{display:block}.mode-toggle span{font-size:9px;font-weight:900}.mode-toggle small{font-size:7px;color:#7990a2;margin-top:3px}.mode-toggle.active{border-color:#8265aa;background:#1b1329}.mode-toggle.active span{color:#d4b9ff}.career-wait{margin:12px auto;max-width:440px;border:1px solid #715993;background:#171126;border-radius:12px;padding:10px}.career-wait b,.career-wait span{display:block}.career-wait b{color:#d6baff}.career-wait span{font-size:8px;color:#ad9abc;margin-top:3px}.v5-tv-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);gap:10px;margin-top:12px;min-height:0}.tv-board{background:#091620;border:1px solid #1a3042;border-radius:14px;display:flex;flex-direction:column;min-height:0;overflow:hidden}.tv-board>header{display:flex;justify-content:space-between;align-items:center;padding:11px 13px;border-bottom:1px solid #1a3042}.tv-board>header b{display:block;font-size:10px;color:#e8c86c}.tv-board>header small{display:block;font-size:7px;color:var(--muted);margin-top:2px}.tv-board>header em{font-style:normal;font-size:7px;color:#e5c978;border:1px solid #5e4d2a;border-radius:99px;padding:5px 7px}.tv-board-scroll{padding:10px;overflow:auto;max-height:calc(100vh - 340px);min-height:350px}.tv-board-subjects{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-bottom:9px}.board-chip{display:grid;grid-template-columns:auto 1fr;gap:2px 7px;align-items:center;border:1px solid #294455;background:#0a1823;border-radius:9px;padding:7px}.board-chip>span{grid-row:1/3;font-size:15px}.board-chip b{font-size:8px}.board-chip small{font-size:6px;color:#7e94a5}.board-chip.strong{border-color:#3d8058;background:#0c2116}.board-chip.cleared{opacity:.65;border-style:dashed}.tv-board-evidence article{border-left:3px solid #4f8db2;background:#0a1924;border-radius:9px;padding:8px;margin:6px 0}.tv-board-evidence article.confirmed{border-left-color:#62dc91}.tv-board-evidence article.cleared{border-left-color:#9ba6ae;opacity:.75}.tv-board-evidence header{display:flex;justify-content:space-between;gap:7px}.tv-board-evidence b{font-size:8px}.tv-board-evidence header span{font-size:6px;color:#ffd373}.tv-board-evidence p{font-size:8px;line-height:1.4;color:#bdccd7}.tv-board-evidence footer{display:flex;gap:3px;flex-wrap:wrap}.tv-board-evidence footer small{font-size:6px;background:#10283a;color:#8dc5e7;padding:3px 5px;border-radius:99px}.tv-open-q{margin-top:9px;border-top:1px solid #263e50;padding-top:8px}.tv-open-q>b{font-size:7px;color:#e5c56c}.tv-open-q p{font-size:7px;color:#c6ae70;margin:4px 0}.compact-current{margin-top:10px}.compact-current .phase-now{padding:10px 14px}.tv-emergency{margin-top:10px;background:linear-gradient(90deg,#71171f,#b12b34,#71171f);border:1px solid #ff6b73;border-radius:10px;padding:8px;text-align:center;font-size:8px;font-weight:950;letter-spacing:.11em;box-shadow:0 0 26px #ff303040}.tv-msg.system.parallel{background:#1d190e;border-color:#5e4d2b}.tv-msg.system.parallel span{color:#e7c66f}.tv-msg.system.emergency{background:#2b1115;border-color:#913640}.tv-msg.system.emergency span{color:#ff9197}.parallel-panel .queue{display:grid;grid-template-columns:1fr auto;gap:4px 7px;border:1px solid #4a412a;background:#15130d;border-radius:9px;padding:8px;margin:6px 0}.parallel-panel .queue.escalated{border-color:#a05043;background:#25130f}.parallel-panel .queue.assigned,.parallel-panel .queue.handled{border-color:#376a4a;background:#0d1c14}.parallel-panel .queue div b,.parallel-panel .queue div small{display:block}.parallel-panel .queue div b{font-size:8px}.parallel-panel .queue div small,.parallel-panel .queue>small{font-size:6px;color:#a99d7c}.parallel-panel .queue>span{font-size:6px;color:#e1c26f}.parallel-panel .queue i{grid-column:1/3;height:3px;background:#2c291e;border-radius:99px;overflow:hidden}.parallel-panel .queue i:after{content:"";display:block;height:100%;width:calc(var(--u) * 20%);background:#e3b94f}.career-panel>b{display:block;color:#d5b9ff;font-size:14px}.career-bars{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:7px 0}.career-bars span{background:#171225;border-radius:7px;padding:6px;font-size:6px;color:#9d8bab}.career-bars strong{display:block;color:#dac5f5;font-size:9px}.career-panel>small{font-size:7px;color:#8f819f}.director{border-top:1px solid #273f51;margin-top:12px;padding-top:10px}.director>span{display:block;font-size:8px;color:#d4b6ff;font-weight:950;letter-spacing:.1em}.director>b{display:block;font-size:8px;color:#9b8cad;line-height:1.35;margin:3px 0 7px}.director-action{width:100%;border:1px solid #51406b;background:#161020;color:white;border-radius:9px;padding:8px;text-align:left;margin:5px 0}.director-action small,.director-action strong,.director-action em{display:block}.director-action small{font-size:6px;color:#bd9ee8}.director-action strong{font-size:8px;margin-top:2px}.director-action em{font-style:normal;font-size:6px;color:#8e819d;margin-top:2px}.director-action.parallel{border-color:#775a31;background:#1e180d}.director-action.delay{border-style:dashed}.twist-list{margin-top:8px;border-top:1px dashed #5b4d30;padding-top:7px}.twist-list>small{font-size:7px;color:#ebc56c}.twist-list .host-event{display:block}.twist-list .host-event span,.twist-list .host-event b{display:block}.twist-list .host-event span{font-size:7px;color:#e3bd60}.twist-list .host-event b{font-size:7px;color:#b7a77f;line-height:1.35;margin-top:2px}.deep-tv{margin-top:11px;border-top:1px solid #315169;padding-top:10px}.deep-tv>span{font-size:8px;color:#d2b5ff;font-weight:900}.deep-tv>section{margin-top:7px;border:1px solid #584674;background:#151022;border-radius:9px;padding:8px}.deep-tv section small{font-size:6px;color:#c7a9ef}.deep-tv section b{display:block;font-size:8px;margin-top:2px}.deep-tv section p{font-size:7px;color:#a99ab9}.deep-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:7px}.deep-grid>section{background:#08151f;border-radius:9px;padding:8px}.deep-grid>section>small{font-size:6px;color:#85c6ee}.deep-grid>section>div{border-top:1px solid #21394b;padding:5px 0}.deep-grid>section>div:first-of-type{border-top:0}.deep-grid b{display:inline;font-size:7px}.deep-grid em{float:right;font-style:normal;font-size:6px;color:#7ddd9f}.deep-grid p{font-size:7px;color:#879aaa}.career-result-tv{margin:12px 0;border:1px solid #715890;background:#171126;border-radius:13px;padding:12px}.career-result-tv>span{font-size:8px;color:#d4b8ff;font-weight:900}.career-result-tv h2{margin:3px 0}.career-result-tv>div{display:flex;gap:6px;flex-wrap:wrap}.career-result-tv>div b{background:#211830;border-radius:8px;padding:7px 9px;font-size:8px}@media(max-width:1180px){.v5-tv-grid{grid-template-columns:1fr}.tv-board-scroll{max-height:380px}.tv-board-subjects{grid-template-columns:repeat(3,1fr)}}@media(max-width:820px){.mode-picks,.deep-grid{grid-template-columns:1fr}.tv-board-subjects{grid-template-columns:1fr 1fr}.v5-tv-grid{grid-template-columns:1fr}}
/* v5.0.1 · how-to-play + resilient host scroll state */
.host-help-btn,.howto-setup{border:1px solid #35516a;background:#0a1722;color:#b9d9ef;border-radius:10px;padding:8px 10px;font-size:8px;font-weight:900;letter-spacing:.06em}.howto-setup{display:block;width:100%;margin:10px 0 8px;border-color:#5b4f2d;color:#efd17d;background:#1a170e}.host-help-layer{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:18px}.host-help-bg{position:absolute;inset:0;background:#000d;backdrop-filter:blur(6px)}.host-help-card{position:relative;width:min(980px,100%);max-height:min(88vh,900px);display:flex;flex-direction:column;background:linear-gradient(150deg,#102230,#07121b);border:1px solid #31516a;border-radius:24px;box-shadow:0 35px 120px #000d;overflow:hidden}.host-help-card>header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #284255}.host-help-card>header span{font-size:8px;color:#7ec8fa;font-weight:900;letter-spacing:.12em}.host-help-card h2{margin:4px 0 0;font-size:24px}.host-help-card>header button{width:38px;height:38px;border:1px solid #35546b;background:#091722;color:#dcecf7;border-radius:11px;font-size:24px}.host-help-scroll{overflow:auto;padding:18px}.host-help-flow,.host-help-tip{border:1px solid #31516a;background:#091a26;border-radius:14px;padding:13px}.host-help-flow b,.host-help-tip b{font-size:10px;color:#8dcdf8}.host-help-flow p,.host-help-tip p{font-size:10px;line-height:1.55;color:#c5d4df;margin:5px 0 0}.host-help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:10px 0}.host-help-grid article{border:1px solid #243d50;background:#08151f;border-radius:13px;padding:12px}.host-help-grid article>span{font-size:20px}.host-help-grid article>b{display:block;font-size:10px;margin-top:5px}.host-help-grid article>p{font-size:9px;line-height:1.5;color:#9eb2c1;margin:5px 0 0}.host-help-grid .host-emergency-help{border-color:#71333a;background:#211015}.host-help-grid .host-emergency-help>b{color:#ff969b}.host-help-tip{border-color:#5d4d2c;background:#1b170d}.host-help-tip b{color:#efd078}
@media(max-width:820px){.host-help-btn{font-size:0;width:36px;height:36px;padding:0}.host-help-btn::before{content:'?';font-size:14px}.host-help-layer{padding:8px}.host-help-card{max-height:94dvh;border-radius:18px}.host-help-card>header{padding:13px 14px}.host-help-card h2{font-size:20px}.host-help-scroll{padding:12px}.host-help-grid{grid-template-columns:1fr}}

/* v5.0.2 · desktop host header: four controls stay on one explicit grid row */
@media(min-width:821px){.topbar{grid-template-columns:minmax(0,1fr) auto auto auto}.topbar>.qrbtn{grid-column:auto;grid-row:auto;min-width:0}}

/* v5.4.1 · phone-only Night Shift setup repair; desktop/tablet untouched */
.solo-create{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;margin:12px 0;padding:10px 12px;border:1px solid #3b5c77;border-radius:12px;background:#0b1d2a;color:#eaf7ff;text-decoration:none;text-align:left}.solo-create>span{font-size:22px}.solo-create b,.solo-create small{display:block}.solo-create b{font-size:10px}.solo-create small{font-size:8px;color:#8ca9bc;margin-top:2px}.solo-create strong{color:#7cc9ff}
@media(max-width:640px){
 html,body{width:100%;max-width:100%;overflow-x:hidden}.setup{min-height:100dvh;display:block;padding:8px 8px calc(22px + env(safe-area-inset-bottom));overflow-y:auto;overflow-x:hidden}.setup-card{width:100%;max-width:100%;min-width:0;margin:0;padding:14px;border-radius:18px;box-shadow:0 18px 55px #0009;overflow:hidden}.setup-card>img{width:48px;height:48px;border-radius:14px}.setup-card>span{margin-top:7px;font-size:7px}.setup-card h1{font-size:31px;line-height:1;margin:5px 0 7px}.setup-card>p{font-size:10px;line-height:1.45;margin:0 auto 8px;max-width:34rem}.setup-message{font-size:9px;padding:8px}.solo-create{margin:9px 0;padding:10px}.count-pick{margin:12px 0}.count-pick small,.code-join small{font-size:7px}.count-pick>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%;margin-top:7px}.count-pick button{min-width:0;padding:10px 5px;border-radius:10px;font-size:13px;white-space:nowrap}.custom-count{grid-column:1/-1;width:100%;display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center;justify-content:stretch!important}.custom-count input{width:100%;min-width:0;height:40px}.custom-count span{font-size:8px}.mode-picks{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:9px 0}.mode-toggle{min-width:0;padding:9px 8px;border-radius:10px}.mode-toggle span{font-size:8px;line-height:1.25}.mode-toggle small{font-size:6.5px;line-height:1.3}.howto-setup{margin:8px 0 7px;min-height:40px;font-size:8px}.create{width:100%;min-height:48px;font-size:14px;padding:12px}.or{margin:11px 0}.code-join>div{display:grid;grid-template-columns:1fr;gap:6px}.code-join input,.code-join button{width:100%;min-width:0;min-height:46px}.code-join button{font-size:11px}.back{margin-top:14px;padding:8px;font-size:10px}.host-help-layer{padding:6px}.host-help-card{max-height:95dvh}.host-help-scroll{padding:10px}
}
