:root{--bg: #04070b;--surface: #0a1118;--surface-2: #0d1620;--border: #182634;--border-strong: #26394c;--text: #d3dee6;--muted: #8295a2;--dim: #56687a;--primary: #22e39b;--primary-hover: #4cf0b3;--primary-soft: rgba(34, 227, 155, .1);--on-primary: #03140d;--danger: #f2475c;--danger-soft: rgba(242, 71, 92, .12);--warn: #f2a93b;--warn-soft: rgba(242, 169, 59, .1);--ok: #22e39b;--emerald: #45cde8;--emerald-soft: rgba(69, 205, 232, .1);--client: #f2a93b;--client-soft: rgba(242, 169, 59, .1);--external: #a98bf0;--external-soft: rgba(169, 139, 240, .1);--fac: #c4f5df;--fac-soft: rgba(34, 227, 155, .07);--reveal: #45cde8;--reveal-soft: rgba(69, 205, 232, .1);--shadow: none;--radius: 9px;--topbar-h: 56px;--font-body: "Inter", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--font-display: "Chakra Petch", "Inter", "Segoe UI", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--font-type: "Special Elite", "Courier New", monospace;color-scheme:dark}:root[data-theme=light]{--bg: #f4f7f5;--surface: #ffffff;--surface-2: #f8faf9;--border: #dbe5df;--border-strong: #c3d2c9;--text: #10231b;--muted: #5b6f66;--primary: #047857;--primary-hover: #065f46;--primary-soft: #e3f4ec;--on-primary: #ffffff;--danger: #b42318;--danger-soft: #fdecea;--warn: #9a6700;--warn-soft: #fff6dc;--ok: #067647;--emerald: #047857;--emerald-soft: #d9f2e6;--client: #1d5fd1;--client-soft: #e1ebfb;--external: #6d3fc0;--external-soft: #ece4fa;--fac: #0f3d2e;--fac-soft: #eef5f1;--reveal: #8a5a00;--reveal-soft: #fff4d6;--shadow: 0 1px 2px rgba(16, 35, 27, .06), 0 1px 3px rgba(16, 35, 27, .04);color-scheme:light;--dim: #7a8c84;--radius: 10px}@media print{:root,:root[data-theme]{--bg: #f4f7f5;--surface: #ffffff;--surface-2: #f8faf9;--border: #dbe5df;--border-strong: #c3d2c9;--text: #10231b;--muted: #5b6f66;--primary: #047857;--primary-hover: #065f46;--primary-soft: #e3f4ec;--on-primary: #ffffff;--danger: #b42318;--danger-soft: #fdecea;--warn: #9a6700;--warn-soft: #fff6dc;--ok: #067647;--emerald: #047857;--emerald-soft: #d9f2e6;--client: #1d5fd1;--client-soft: #e1ebfb;--external: #6d3fc0;--external-soft: #ece4fa;--fac: #0f3d2e;--fac-soft: #eef5f1;--reveal: #8a5a00;--reveal-soft: #fff4d6;--shadow: 0 1px 2px rgba(16, 35, 27, .06), 0 1px 3px rgba(16, 35, 27, .04);color-scheme:light}}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{margin:0;line-height:1.25;font-weight:650}h1{font-size:1.6rem}h2{font-size:1.15rem}h3{font-size:1rem}h4{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-top:6px}p{margin:0}ul,ol{margin:0;padding-left:1.2em}li+li{margin-top:4px}ul.plain{list-style:none;padding:0}a{color:var(--primary)}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:8px;padding:8px 10px;width:100%;min-width:0}textarea{resize:vertical}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--primary);outline-offset:2px}summary{cursor:pointer}.muted{color:var(--muted)}.small{font-size:.85rem}.xsmall{font-size:.75rem}.strong{font-weight:600}.tabular{font-variant-numeric:tabular-nums}.mono{font-family:ui-monospace,Cascadia Code,Menlo,Consolas,monospace;font-size:.85rem}.lead{font-size:1.05rem;color:var(--muted)}.row{display:flex;align-items:center}.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px}.row-end{display:flex;justify-content:flex-end}.gap{gap:10px}.gap-sm{gap:6px}.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.stack{display:flex;flex-direction:column;gap:12px}.stack-sm{display:flex;flex-direction:column;gap:6px}.stack-lg{display:flex;flex-direction:column;gap:20px}.center{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.pad{padding:12px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.error-text{color:var(--danger)}.ok-text{color:var(--ok)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:600;font-size:.9rem;border-radius:8px;padding:8px 14px;border:1px solid transparent;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .12s,border-color .12s}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--on-primary)}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong)}.btn-secondary:hover:not(:disabled){border-color:var(--primary)}.btn-ghost{background:transparent;color:var(--muted)}.btn-ghost:hover:not(:disabled){color:var(--text);background:var(--surface-2)}.btn-danger{background:var(--danger-soft);color:var(--danger);border-color:transparent}.btn-sm{padding:5px 10px;font-size:.82rem}.btn-xs{padding:2px 8px;font-size:.75rem}.btn-lg{padding:11px 20px;font-size:1rem}.btn-block{width:100%}.pill{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:600;padding:2px 9px;border-radius:999px;background:var(--surface-2);color:var(--muted);border:1px solid var(--border);text-transform:capitalize;white-space:nowrap}.pill-running,.pill-ready,.pill-ok,.pill-met{background:var(--primary-soft);color:var(--ok);border-color:transparent}.pill-lobby,.pill-generating{background:var(--client-soft);color:var(--client);border-color:transparent}.pill-paused,.pill-partial,.pill-warn,.pill-prio-medium{background:var(--warn-soft);color:var(--warn);border-color:transparent}.pill-failed,.pill-missed,.pill-prio-high{background:var(--danger-soft);color:var(--danger);border-color:transparent}.live-dot{width:7px;height:7px;border-radius:50%;background:currentColor;animation:pulse 1.6s infinite}@keyframes pulse{50%{opacity:.3}}.spinner{display:inline-block;width:26px;height:26px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.spinner-sm{width:14px;height:14px;border-width:2px}@keyframes spin{to{transform:rotate(360deg)}}.splash{height:100vh;display:grid;place-items:center}.topbar{height:var(--topbar-h);display:flex;align-items:center;gap:24px;padding:0 20px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--text);text-decoration:none;white-space:nowrap}.brand-mark{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--primary);color:var(--on-primary);font-size:18px}.topnav{display:flex;gap:4px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}.user{flex:none}@media (max-width: 1024px){.brand-text{display:none}}.topnav a{color:var(--muted);text-decoration:none;padding:6px 10px;border-radius:6px;font-weight:500;font-size:.9rem;white-space:nowrap}.topnav a:hover{color:var(--text);background:var(--surface-2)}.topnav a.active{color:var(--text);background:var(--primary-soft)}.user{display:flex;align-items:center;gap:8px;min-width:0}.user-name{font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.guest-tag{margin-left:6px;font-size:.7rem;padding:1px 6px;border-radius:4px;background:var(--client-soft);color:var(--client)}.page{max-width:1200px;margin:0 auto;padding:28px 20px 60px}.page.narrow{max-width:520px}.page.narrow-wide{max-width:920px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}.page-head h1{margin:4px 0}.section{margin-top:28px}.section>h2{margin-bottom:10px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.card-link{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:var(--text);transition:border-color .12s}.card-link:hover{border-color:var(--primary)}.card-cta{margin-top:auto;padding-top:6px;color:var(--primary);font-weight:600;font-size:.88rem}.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.empty{padding:22px;border:1px dashed var(--border-strong);border-radius:var(--radius);color:var(--muted);text-align:center;font-size:.92rem}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.table{width:100%;border-collapse:collapse;font-size:.9rem}.table th{text-align:left;font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:10px 12px;border-bottom:1px solid var(--border);background:var(--surface-2)}.table td{padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:top}.table tr:last-child td{border-bottom:0}.banner{padding:10px 14px;border-radius:8px;font-size:.9rem;margin-bottom:14px}.banner-error{background:var(--danger-soft);color:var(--danger)}.banner-warn{background:var(--warn-soft);color:var(--warn)}.field{display:flex;flex-direction:column;gap:5px}.field>span:first-child{font-size:.85rem;font-weight:600}.segmented{display:inline-flex;flex-wrap:wrap;border:1px solid var(--border-strong);border-radius:8px;overflow:hidden;align-self:flex-start}.segmented button{font:inherit;font-size:.88rem;padding:7px 14px;border:0;border-right:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.segmented button:last-child{border-right:0}.segmented button.active{background:var(--primary);color:var(--on-primary)}.picker{max-height:280px;overflow-y:auto;border:1px solid var(--border);border-radius:8px}.picker-item{display:flex;justify-content:space-between;gap:10px;width:100%;text-align:left;padding:9px 12px;border:0;border-bottom:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer}.picker-item:hover{background:var(--surface-2)}.picker-item.selected{background:var(--primary-soft);font-weight:600}.prose p+p{margin-top:10px}.secret{border-left:3px solid var(--warn)}.start-card{border-color:var(--primary);margin-bottom:16px}.inject-detail summary{display:flex;align-items:center;gap:10px;list-style:none}.inject-detail[open] summary{margin-bottom:12px}.inject-num{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--primary-soft);color:var(--primary);font-size:.8rem;font-weight:700}.avatar{display:inline-grid;place-items:center;flex:none;border-radius:50%;font-weight:700;letter-spacing:.02em}.avatar.side-emerald{background:var(--emerald-soft);color:var(--emerald)}.avatar.side-client{background:var(--client-soft);color:var(--client)}.avatar.side-external{background:var(--external-soft);color:var(--external)}.role-tag{display:inline-block;font-size:.72rem;font-weight:600;padding:1px 7px;border-radius:4px;white-space:nowrap}.role-tag.side-emerald{background:var(--emerald-soft);color:var(--emerald)}.role-tag.side-client{background:var(--client-soft);color:var(--client)}.role-tag.side-external{background:var(--external-soft);color:var(--external)}.login{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 20% 0%,var(--primary-soft),transparent 50%),var(--bg)}.login-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:28px;display:flex;flex-direction:column;gap:18px;box-shadow:var(--shadow)}.login-brand{display:flex;gap:12px;align-items:center}.login-brand h1{font-size:1.3rem}.login-brand p{color:var(--muted);font-size:.88rem}.login-brand .brand-mark{width:42px;height:42px;font-size:24px}.divider{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.8rem}.divider:before,.divider:after{content:"";flex:1;border-top:1px solid var(--border)}.code-input{font-size:1.6rem;letter-spacing:.4em;text-align:center;font-variant-numeric:tabular-nums}.dev-login{border-top:1px dashed var(--border);padding-top:12px;font-size:.88rem}.dev-login summary{color:var(--muted);margin-bottom:10px}.app-game{height:100vh;display:flex;flex-direction:column;overflow:hidden}.game{flex:1;min-height:0;display:flex;flex-direction:column}.game-head{display:flex;align-items:center;gap:20px;padding:10px 20px;background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap}.game-title{flex:1;min-width:200px}.game-title h1{font-size:1.15rem;margin-top:2px}.game-progress{display:flex;flex-direction:column;gap:4px}.progress{display:flex;gap:4px}.progress span{width:26px;height:6px;border-radius:3px;background:var(--border)}.progress span.done{background:var(--primary);opacity:.45}.progress span.current{background:var(--primary)}.game-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.countdown{font-variant-numeric:tabular-nums;font-weight:700;font-size:1.05rem;padding:3px 10px;border-radius:6px;background:var(--surface-2);border:1px solid var(--border)}.countdown.urgent{color:var(--danger);border-color:var(--danger)}.countdown.paused{color:var(--warn)}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--text);color:var(--bg);padding:10px 16px;border-radius:8px;font-size:.9rem;z-index:50;box-shadow:0 6px 20px #0003}.lobby{flex:1;min-height:0;overflow-y:auto;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;padding:20px;max-width:1400px;width:100%;margin:0 auto;align-content:start}.lobby-main,.lobby-side{display:flex;flex-direction:column;gap:16px;min-width:0}.seats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.seat{display:flex;flex-direction:column;gap:10px}.seat-mine{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.seat-label{font-weight:650}.seat-summary{color:var(--muted);flex:1}.seat-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:10px;border-top:1px solid var(--border)}.seat-holder{display:flex;align-items:center;gap:6px;font-size:.88rem;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bot{color:var(--primary)}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--border-strong);flex:none}.dot.online{background:#12b76a}.chat-card{display:flex;flex-direction:column;gap:8px;padding-bottom:0}.invite-list{list-style:none;padding:0;font-size:.88rem}.invite-list li{display:flex;align-items:center;gap:6px;padding:6px 0;border-top:1px solid var(--border);margin:0}.mobile-tabs{display:none}.live{flex:1;min-height:0;display:grid;grid-template-columns:320px minmax(0,1fr) 320px}.panel{min-height:0;overflow-y:auto}.board,.side{padding:14px;background:var(--surface-2)}.board{border-right:1px solid var(--border)}.side{border-left:1px solid var(--border)}.board .card h3,.side .card h3{margin-bottom:8px}.feed-col{display:flex;flex-direction:column;overflow:hidden;background:var(--bg)}.ended-banner{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:10px 20px;background:var(--primary-soft);border-bottom:1px solid var(--border)}.inject-card{border-top:3px solid var(--primary);display:flex;flex-direction:column;gap:8px}.prompts{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px}.prompts li{display:flex;flex-direction:column;gap:3px;font-size:.9rem;margin:0;padding:6px 8px;border-radius:6px}.prompts li .role-tag{align-self:flex-start}.prompts li.mine{background:var(--primary-soft)}.facts{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px;font-size:.9rem}.facts li{display:flex;flex-direction:column;border-left:3px solid var(--reveal);padding-left:8px;margin:0}.decisions{padding-left:1.2em;display:flex;flex-direction:column;gap:8px;font-size:.9rem}.decisions li{margin:0}.decisions li .role-tag{margin-right:6px}.briefing{border-top:3px solid var(--primary)}.revealed{color:var(--muted);text-decoration:line-through}.seat-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px}.seat-list li{display:flex;align-items:center;gap:8px;margin:0}.seat-list li.seat-list-rename{display:block}.rename-form{display:flex;flex-direction:column;gap:6px;flex:1}.rename-form input{padding:6px 8px}.feed{flex:1;min-height:0;overflow-y:auto;padding:16px 20px 6px;display:flex;flex-direction:column;gap:12px}.feed-compact{max-height:280px;min-height:120px;padding:4px 0}.msg{display:flex;gap:10px;align-items:flex-start;max-width:820px}.msg-body{min-width:0;flex:1}.msg-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:.85rem;margin-bottom:2px}.msg-text{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface);border:1px solid var(--border);border-radius:4px 10px 10px;padding:8px 12px;display:inline-block;max-width:100%}.msg-mine .msg-text{background:var(--primary-soft);border-color:transparent}.msg-private .msg-text{border-style:dashed;border-color:var(--border-strong)}.msg-facilitator .msg-text{background:var(--fac-soft);border-color:var(--border);color:var(--fac);font-weight:500}.avatar-fac{width:32px;height:32px;font-size:13px;background:var(--text);color:var(--bg)}.ai-badge{font-size:.68rem;font-weight:600;padding:0 6px;border-radius:4px;background:var(--surface-2);color:var(--muted);border:1px solid var(--border)}.private-tag{font-size:.72rem;color:var(--warn);font-weight:600}.msg-system{text-align:center;font-size:.8rem;color:var(--muted)}.msg-inject{border:1px solid var(--primary);background:var(--surface);border-radius:var(--radius);padding:14px 16px;max-width:820px;box-shadow:var(--shadow)}.msg-inject-head{font-weight:700;color:var(--primary);font-size:.85rem;text-transform:uppercase;letter-spacing:.03em;margin-bottom:6px}.msg-inject ul{margin-top:8px;font-size:.92rem}.msg-reveal{background:var(--reveal-soft);color:var(--text);border-left:3px solid var(--reveal);border-radius:6px;padding:8px 12px;font-size:.92rem;max-width:820px}.msg-reveal-label{font-weight:700;color:var(--reveal);font-size:.78rem;text-transform:uppercase;margin-right:6px}.thinking{min-height:26px;padding:2px 20px 4px;font-size:.82rem;color:var(--muted);display:flex;align-items:center;gap:8px}.dots{display:inline-flex;gap:3px}.dots i{width:5px;height:5px;border-radius:50%;background:var(--muted);animation:bounce 1.2s infinite}.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,80%,to{opacity:.25}40%{opacity:1}}.composer{border-top:1px solid var(--border);background:var(--surface);padding:10px 16px 14px;display:flex;flex-direction:column;gap:6px}.chat-card .composer{margin:0 -16px;border-radius:0 0 var(--radius) var(--radius)}.composer-disabled{padding:14px 20px;text-align:center}.composer-opts{display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-size:.82rem;color:var(--muted)}.composer-opts select{width:auto;padding:2px 6px;font-size:.82rem}.composer-row{display:flex;gap:8px;align-items:flex-end}.composer-row textarea{flex:1;min-height:44px;max-height:160px}.score-hero{display:flex;gap:24px;align-items:center}.score{--pct: 0;flex:none;width:120px;height:120px;border-radius:50%;background:conic-gradient(var(--primary) calc(var(--pct) * 1%),var(--border) 0);display:grid;place-items:center;position:relative}.score:before{content:"";position:absolute;top:12px;right:12px;bottom:12px;left:12px;border-radius:50%;background:var(--surface)}.score span{position:relative;font-size:2rem;font-weight:750;line-height:1}.score small{position:absolute;bottom:30px;font-size:.75rem;color:var(--muted)}.bar-row{display:flex;flex-direction:column;gap:4px}.bar{height:8px;border-radius:4px;background:var(--border);overflow:hidden}.bar span{display:block;height:100%;background:var(--primary);border-radius:4px}.timeline{list-style:none;padding:0}.timeline li{display:grid;grid-template-columns:110px 1fr;gap:10px}.integrations{list-style:none;padding:0;display:flex;flex-direction:column;gap:12px}.integrations li{display:flex;gap:10px;align-items:flex-start;margin:0}.status-dot{width:10px;height:10px;border-radius:50%;background:var(--warn);margin-top:6px;flex:none}.status-dot.ok{background:#12b76a}@media (max-width: 1200px){.live{grid-template-columns:280px minmax(0,1fr) 280px}}@media (max-width: 960px){.topbar{gap:12px;padding:0 12px}.topnav a{padding:6px}.user-name{display:none}.lobby{grid-template-columns:1fr;padding:14px}.mobile-tabs{display:flex;border-bottom:1px solid var(--border);background:var(--surface)}.mobile-tabs button{flex:1;font:inherit;font-size:.88rem;padding:10px;border:0;background:none;color:var(--muted);border-bottom:2px solid transparent;cursor:pointer}.mobile-tabs button.active{color:var(--text);border-bottom-color:var(--primary);font-weight:600}.live{grid-template-columns:1fr}.live>.panel{display:none;border:0}.live.tab-board>.board,.live.tab-chat>.feed-col,.live.tab-me>.side{display:flex;flex-direction:column}.two-col{grid-template-columns:1fr}.game-head{padding:8px 14px;gap:10px}.game-progress{display:none}}@media (max-width: 640px){.brand-text{display:none}.topnav{overflow-x:auto}.page{padding:18px 16px 40px}.page-head{flex-direction:column}.score-hero{flex-direction:column;align-items:flex-start}.feed{padding:12px}}@media print{.topbar,.no-print{display:none!important}body{background:#fff}.card,.table-wrap{box-shadow:none;break-inside:avoid}}.client-profile{border:1px solid var(--border);border-radius:8px;padding:10px 12px}.client-profile p{margin:0 0 6px}.client-profile ul{margin:6px 0 0}.rate{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin-top:4px;opacity:.45;transition:opacity .15s}.msg:hover .rate,.msg-inject:hover .rate,.msg-reveal:hover .rate,.rate:focus-within,.rate.rate-set{opacity:1}.rate-btn{font:inherit;font-size:.85rem;line-height:1;padding:3px 6px;border:1px solid transparent;border-radius:6px;background:transparent;cursor:pointer;filter:grayscale(1)}.rate-btn:hover,.rate-btn:focus-visible{border-color:var(--border);filter:none}.rate-btn.on{border-color:var(--primary);background:var(--primary-soft);filter:none}.rate-reasons{display:inline-flex;flex-wrap:wrap;gap:4px}.chip{font:inherit;font-size:.75rem;padding:2px 8px;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface);color:var(--text);cursor:pointer}.chip.on{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.survey{display:flex;flex-direction:column;gap:10px;max-height:55vh;overflow-y:auto}.survey-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px 16px}.survey-q{display:flex;flex-direction:column;gap:4px}.survey-label{font-size:.85rem;font-weight:600}.survey-done{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.stat-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:12px}.stat-tile{display:flex;flex-direction:column;gap:4px}.stat-label{font-size:.82rem;color:var(--muted)}.stat-value{font-size:1.5rem;font-weight:600;line-height:1.2}.bars{display:flex;flex-direction:column;gap:8px}.bars .bar-row{display:grid;grid-template-columns:minmax(90px,34%) 1fr 2.5em;align-items:center;gap:10px}.bar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track{height:10px;border-radius:4px;background:var(--primary-soft);overflow:hidden}.bar-fill{display:block;height:100%;border-radius:0 4px 4px 0;background:var(--primary)}.bar-value{text-align:right}.flagged-text{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap;margin:0}.flagged-text:hover{-webkit-line-clamp:unset}.insights-flagged{align-items:start}.table .num{text-align:right}.warn-text{color:var(--warn)}.block{display:block}.nowrap{white-space:nowrap}.review-card{border-left:4px solid var(--warn)}.review-card .pill{text-transform:none}.review-card.review-ok{border-left-color:var(--primary)}.review-history summary{cursor:pointer;color:var(--muted)}.review-history ul{margin-top:8px}.check-row{display:flex;gap:10px;align-items:flex-start;cursor:pointer}.check-row input{width:auto;margin-top:4px;flex:none}.edit-bar{position:sticky;top:calc(var(--topbar-h) + 8px);z-index:20;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;margin-bottom:16px;border-radius:var(--radius);background:var(--warn-soft);color:var(--text);border:1px solid var(--border-strong);box-shadow:var(--shadow)}.edit-field{font-size:inherit;font-weight:inherit;line-height:1.45;background:var(--surface)}h1 .edit-field,h2 .edit-field{font-size:1em}textarea.edit-field{display:block}.edit-select,.edit-number{width:auto;padding:4px 8px}.edit-number{width:5.5em;text-align:center}.score .edit-number{position:relative;font-size:1.3rem;font-weight:700}.edit-row{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px}.edit-row>.edit-field,.edit-row>textarea{flex:1}.edit-group{display:flex;flex-direction:column;gap:6px;padding:8px 0;border-bottom:1px dashed var(--border)}.remove-btn{flex:none;color:var(--danger)}.timeline li.edit-row{display:grid;grid-template-columns:auto 1fr auto;align-items:start}@media (max-width: 640px){.edit-row{flex-wrap:wrap}}.section-tight{margin:8px 0 14px}.role-coverage{display:flex;flex-direction:column;gap:8px}.role-coverage li{display:flex;align-items:center;gap:10px}.role-coverage li.not-yet{color:var(--muted)}.role-coverage li.not-yet .avatar{opacity:.45}.feedback-pair h4{display:flex;align-items:center;gap:8px}.cancelled-list summary{cursor:pointer;color:var(--muted)}h2.inline{display:inline;font-size:1.05rem}.reveal-btn{margin-left:6px}.standby-card{margin:10px 12px 0;padding:10px 14px;border-radius:var(--radius);background:var(--client-soft);color:var(--text);font-size:.9rem}.standby-tag{margin-left:6px;font-size:.68rem;font-weight:600;padding:1px 6px;border-radius:4px;background:var(--surface-2);color:var(--muted);border:1px solid var(--border)}.bring-in-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:8px 12px;border-top:1px solid var(--border);background:var(--primary-soft)}.bring-in-bar.open{flex-direction:column;align-items:stretch;gap:8px}.handoffs li{padding-top:6px;border-top:1px dashed var(--border)}.case-id{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;color:var(--dim)}.transmission{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.8rem;color:var(--muted)}.dot.computer{background:var(--emerald)}.dot.standby{background:transparent;box-shadow:inset 0 0 0 1.5px var(--warn)}.ticker,.stamp,.tape,.signal,.noir-fx{display:none}@media screen{[data-theme=noir]{--noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--wear: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='120'%3E%3Cfilter id='w'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.06 0.9' numOctaves='2' seed='7'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2.2 1.4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23w)'/%3E%3C/svg%3E");--glow: 0 0 0 1px rgba(34, 227, 155, .35), 0 0 16px rgba(34, 227, 155, .18)}[data-theme=noir] body{background:radial-gradient(1100px 560px at 72% -12%,rgba(34,227,155,.07),transparent 60%),radial-gradient(900px 500px at -10% 110%,rgba(69,205,232,.06),transparent 60%),linear-gradient(rgba(69,205,232,.035) 1px,transparent 1px) 0 0 / 44px 44px,linear-gradient(90deg,rgba(69,205,232,.035) 1px,transparent 1px) 0 0 / 44px 44px,linear-gradient(#04070b,#06090d);background-attachment:fixed}[data-theme=noir] .noir-fx{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;pointer-events:none;overflow:hidden}.noir-fx i{position:absolute;top:0;right:0;bottom:0;left:0}.fx-scan{background:repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 3px)}.fx-sweep{inset:auto 0 0 0!important;top:-100vh!important;height:200vh;background:linear-gradient(180deg,transparent 0%,rgba(34,227,155,.035) 48%,rgba(34,227,155,.07) 50%,transparent 52%);animation:nx-sweep 9s linear infinite}.fx-scratches{opacity:.18;background:linear-gradient(90deg,transparent 13.2%,rgba(255,255,255,.12) 13.25%,transparent 13.3%),linear-gradient(90deg,transparent 61.7%,rgba(255,255,255,.08) 61.73%,transparent 61.77%),linear-gradient(90deg,transparent 84.1%,rgba(255,255,255,.1) 84.13%,transparent 84.17%);animation:nx-scratch 3.4s steps(1) infinite}.fx-flicker{background:#ffffff03;animation:nx-flicker 5s infinite}.fx-grain{top:-50%!important;right:-50%!important;bottom:-50%!important;left:-50%!important;background-image:var(--noise);opacity:.065;mix-blend-mode:overlay;animation:nx-grain .5s steps(4) infinite}.fx-vignette{background:radial-gradient(ellipse at center,transparent 58%,rgba(0,0,0,.55) 100%)}@keyframes nx-sweep{to{transform:translateY(100vh)}}@keyframes nx-scratch{0%{transform:translate(0);opacity:.18}30%{transform:translate(-40px);opacity:.08}55%{transform:translate(25px);opacity:.24}80%{transform:translate(-8px);opacity:.12}}@keyframes nx-flicker{0%,to{opacity:0}3%{opacity:1}4%{opacity:0}47%{opacity:0}48%{opacity:1.5}49%{opacity:0}}@keyframes nx-grain{0%{transform:translate(0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-2%,-1%)}to{transform:translate(1%,3%)}}[data-theme=noir] h1,[data-theme=noir] h2,[data-theme=noir] h3{font-family:var(--font-display);font-weight:600;letter-spacing:.02em}[data-theme=noir] h1{text-shadow:1px 0 rgba(242,71,92,.3),-1px 0 rgba(69,205,232,.3)}[data-theme=noir] h4,[data-theme=noir] .table th,[data-theme=noir] .field>span:first-child{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;font-size:.68rem;color:var(--dim)}[data-theme=noir] .tabular,[data-theme=noir] .countdown{font-family:var(--font-mono)}[data-theme=noir] .topbar{background:#080d13e0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}[data-theme=noir] .brand-text{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.14em;font-size:.85rem}[data-theme=noir] .brand-mark{box-shadow:0 0 16px #22e39b73;animation:nx-breathe 3.5s ease-in-out infinite}[data-theme=noir] .topnav a.active{color:var(--primary);box-shadow:inset 0 -2px 0 var(--primary)}@keyframes nx-breathe{50%{box-shadow:0 0 26px #22e39bb3}}[data-theme=noir] .card,[data-theme=noir] .login-card,[data-theme=noir] .game-head,[data-theme=noir] .msg-inject{position:relative}[data-theme=noir] .card:after,[data-theme=noir] .login-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background-image:var(--wear);background-size:300px 120px;opacity:.06;mix-blend-mode:screen;pointer-events:none}[data-theme=noir] .inject-card:before,[data-theme=noir] .intel-card:before,[data-theme=noir] .secret:before,[data-theme=noir] .score-hero:before,[data-theme=noir] .login-card:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;pointer-events:none;--hud: var(--primary);background:linear-gradient(var(--hud),var(--hud)) top left / 16px 2px no-repeat,linear-gradient(var(--hud),var(--hud)) top left / 2px 16px no-repeat,linear-gradient(var(--hud),var(--hud)) bottom right / 16px 2px no-repeat,linear-gradient(var(--hud),var(--hud)) bottom right / 2px 16px no-repeat}[data-theme=noir] .inject-card:before{--hud: var(--warn)}[data-theme=noir] .intel-card:before{--hud: var(--reveal)}[data-theme=noir] .secret:before{--hud: var(--danger)}[data-theme=noir] .btn{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;transition:border-color .15s,color .15s,box-shadow .15s}[data-theme=noir] .btn-secondary:hover,[data-theme=noir] .btn-ghost:hover{color:var(--primary);box-shadow:0 0 12px #22e39b33}[data-theme=noir] .btn-primary{box-shadow:0 0 14px #22e39b59}[data-theme=noir] .btn-primary:hover:not(:disabled){box-shadow:0 0 20px #22e39b8c}[data-theme=noir] .theme-toggle{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;color:var(--muted);border:1px solid var(--border-strong)}[data-theme=noir] input,[data-theme=noir] select,[data-theme=noir] textarea{background:#00000052;border-color:var(--border-strong)}[data-theme=noir] input:focus-visible,[data-theme=noir] select:focus-visible,[data-theme=noir] textarea:focus-visible{outline:none;box-shadow:var(--glow)}[data-theme=noir] .pill,[data-theme=noir] .role-tag,[data-theme=noir] .ai-badge,[data-theme=noir] .guest-tag,[data-theme=noir] .standby-tag,[data-theme=noir] .chip{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;font-size:.66rem;border-radius:3px}[data-theme=noir] .pill-running{color:var(--danger);background:var(--danger-soft)}[data-theme=noir] .live-dot{background:var(--danger);box-shadow:0 0 8px var(--danger)}[data-theme=noir] .page>*,[data-theme=noir] .lobby-main>*,[data-theme=noir] .lobby-side>*,[data-theme=noir] .board>.stack>*,[data-theme=noir] .side>.stack>*,[data-theme=noir] .login-card{animation:nx-boot .6s cubic-bezier(.2,.8,.2,1) both}[data-theme=noir] :is(.page,.lobby-main,.lobby-side,.board>.stack,.side>.stack)>:nth-child(2){animation-delay:.08s}[data-theme=noir] :is(.page,.lobby-main,.lobby-side,.board>.stack,.side>.stack)>:nth-child(3){animation-delay:.16s}[data-theme=noir] :is(.page,.lobby-main,.lobby-side,.board>.stack,.side>.stack)>:nth-child(4){animation-delay:.24s}[data-theme=noir] :is(.page,.lobby-main,.lobby-side,.board>.stack,.side>.stack)>:nth-child(n+5){animation-delay:.32s}@keyframes nx-boot{0%{opacity:0;transform:translateY(8px);filter:brightness(2) blur(2px)}40%{opacity:.6}60%{opacity:.3}to{opacity:1;transform:none;filter:none}}[data-theme=noir] .game-head{background:#080d13e6;padding-top:0}[data-theme=noir] .ticker{display:block;flex-basis:100%;order:-1;margin:0 -20px;overflow:hidden;white-space:nowrap;border-bottom:1px solid var(--border);background:#f2a93b0d;font-family:var(--font-mono);font-size:.64rem;letter-spacing:.18em;color:var(--warn);padding:4px 0}[data-theme=noir] .ticker span{display:inline-block;padding-left:100%;animation:nx-ticker 40s linear infinite}@keyframes nx-ticker{to{transform:translate(-100%)}}[data-theme=noir] .game-name{font-size:1.3rem;animation:nx-glitch 9s steps(1) infinite}@keyframes nx-glitch{0%,95.9%,to{transform:none;clip-path:none}96%{transform:translate(-2px,1px);text-shadow:3px 0 rgba(242,71,92,.8),-3px 0 rgba(69,205,232,.8);clip-path:inset(10% 0 55% 0)}97%{transform:translate(2px,-1px);clip-path:inset(60% 0 5% 0)}98%{transform:translate(-1px);clip-path:inset(30% 0 30% 0)}}[data-theme=noir] .countdown{font-size:1.35rem;font-weight:600;color:var(--primary);background:transparent;border-color:#22e39b4d;text-shadow:0 0 12px rgba(34,227,155,.5),1px 0 rgba(242,71,92,.3);letter-spacing:.05em}[data-theme=noir] .countdown.urgent{color:var(--danger);border-color:#f2475c99;text-shadow:0 0 14px rgba(242,71,92,.7);animation:nx-pulse 1s ease-in-out infinite}[data-theme=noir] .countdown.paused{color:var(--warn);text-shadow:0 0 10px rgba(242,169,59,.4)}[data-theme=noir] .progress span.current{position:relative;overflow:hidden;box-shadow:0 0 10px var(--primary)}[data-theme=noir] .progress span.current:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent);animation:nx-shimmer 1.8s infinite}@keyframes nx-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes nx-pulse{50%{opacity:.45}}[data-theme=noir] .inject-card{border-top:1px solid rgba(242,169,59,.4);border-color:#f2a93b59}[data-theme=noir] .transmission{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;font-size:.66rem;color:var(--warn)}[data-theme=noir] .signal{display:inline-flex;gap:2px;align-items:flex-end;height:10px}[data-theme=noir] .signal i{width:3px;background:var(--warn);animation:nx-pulse 1.1s ease-in-out infinite}[data-theme=noir] .signal i:nth-child(1){height:4px}[data-theme=noir] .signal i:nth-child(2){height:7px;animation-delay:.15s}[data-theme=noir] .signal i:nth-child(3){height:10px;animation-delay:.3s}[data-theme=noir] .typing-out:after{content:"▌";color:var(--warn);animation:nx-blink .8s steps(1) infinite}@keyframes nx-blink{50%{opacity:0}}[data-theme=noir] .intel-card h3{color:var(--reveal)}[data-theme=noir] .facts li.fresh{animation:nx-fresh 1.4s ease-out 1}@keyframes nx-fresh{0%{background:#45cde859;transform:translate(-4px)}10%{transform:translate(3px)}20%{transform:translate(0)}to{background:transparent}}[data-theme=noir] .secret{border-color:#f2475c4d;border-left-color:#f2475c4d;background:linear-gradient(#0a1118eb,#0a1118eb),repeating-linear-gradient(0deg,rgba(255,255,255,.03) 0 1px,transparent 1px 22px)}[data-theme=noir] .secret li,[data-theme=noir] .secret p{font-family:var(--font-type)}[data-theme=noir] .stamp{display:inline-block;align-self:flex-start;font-family:var(--font-display);font-weight:700;letter-spacing:.22em;text-transform:uppercase;font-size:.68rem;color:var(--danger);border:2px solid var(--danger);padding:1px 8px;border-radius:3px;transform:rotate(-4deg);opacity:.85;text-shadow:0 0 6px rgba(242,71,92,.35)}[data-theme=noir] .tape{display:block;position:absolute;top:-9px;right:22px;width:74px;height:18px;background:#f2a93b42;transform:rotate(6deg);border-left:1px dashed rgba(0,0,0,.4);border-right:1px dashed rgba(0,0,0,.4)}[data-theme=noir] .msg{animation:nx-arrive .45s ease-out 1}@keyframes nx-arrive{0%{opacity:0;transform:translateY(6px);filter:blur(2px)}}[data-theme=noir] .msg-text{background:#ffffff07;border-radius:3px 9px 9px}[data-theme=noir] .msg-mine .msg-text{background:#45cde812;border-color:#45cde840}[data-theme=noir] .msg-private .msg-text{border-color:#a98bf073}[data-theme=noir] .msg-facilitator .msg-text{background:linear-gradient(90deg,#22e39b14,#22e39b04);border-color:#22e39b59;color:var(--fac)}[data-theme=noir] .avatar{border-radius:7px;font-family:var(--font-mono);border:1px solid currentColor}[data-theme=noir] .avatar-fac{background:var(--primary-soft);color:var(--primary);box-shadow:0 0 12px #22e39b40}[data-theme=noir] .private-tag{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;font-size:.64rem;color:var(--external)}[data-theme=noir] .msg-system{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.06em;color:var(--dim)}[data-theme=noir] .msg-inject{border-color:#f2a93b66;background:#f2a93b0a}[data-theme=noir] .msg-inject-head{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.14em;color:var(--warn)}[data-theme=noir] .msg-inject-head:before{content:"Incoming transmission // "}[data-theme=noir] .msg-reveal{position:relative;overflow:hidden;border:1px solid rgba(69,205,232,.4);border-radius:7px}[data-theme=noir] .msg-reveal:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,transparent 30%,rgba(69,205,232,.16) 50%,transparent 70%);animation:nx-shimmer 3.5s ease-in-out infinite;pointer-events:none}[data-theme=noir] .msg-reveal-label{font-family:var(--font-mono);letter-spacing:.12em;font-size:.66rem}[data-theme=noir] .thinking{font-family:var(--font-mono);font-size:.72rem}[data-theme=noir] .thinking:after{content:"_";color:var(--primary);animation:nx-blink 1s steps(1) infinite}[data-theme=noir] .dots i{background:var(--primary)}[data-theme=noir] .bring-in-bar{background:#22e39b0b}[data-theme=noir] .bring-in-bar>.btn{position:relative;color:var(--on-primary);background:var(--primary);border-color:var(--primary);box-shadow:0 0 14px #22e39b59}[data-theme=noir] .bring-in-bar>.btn:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;border:1px solid var(--primary);animation:nx-radar 2.2s ease-out infinite}@keyframes nx-radar{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.3,1.8)}}[data-theme=noir] .bring-in-bar .muted{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;font-size:.64rem}[data-theme=noir] .dot.online{background:var(--primary);box-shadow:0 0 8px var(--primary)}[data-theme=noir] .dot.computer{box-shadow:0 0 8px var(--emerald);animation:nx-pulse 2.6s ease-in-out infinite}[data-theme=noir] .dot.standby{animation:nx-standby 2s steps(1) infinite}@keyframes nx-standby{50%{box-shadow:inset 0 0 0 1.5px var(--warn),0 0 6px #f2a93b99}}[data-theme=noir] .standby-card{border:1px solid rgba(242,169,59,.3);font-family:var(--font-mono);font-size:.78rem}[data-theme=noir] .ended-banner{font-family:var(--font-mono);letter-spacing:.04em}[data-theme=noir] .score{filter:drop-shadow(0 0 10px rgba(34,227,155,.3))}[data-theme=noir] .score span{font-family:var(--font-mono);color:var(--primary)}[data-theme=noir] .login-card{background:#0a1118eb;border-color:var(--border-strong)}}@media screen and (prefers-reduced-motion: reduce){[data-theme=noir] *,[data-theme=noir] *:before,[data-theme=noir] *:after{animation:none!important;transition:none!important}}
