:root{color-scheme:light dark;--bg: #0c1116;--bg-elevated: #141c25;--bg-rgb: 12, 17, 22;--surface-rgb: 20, 28, 37;--surface: #141c25;--border: #243240;--border-rgb: 36, 50, 64;--fg: #f1f4f8;--fg-rgb: 241, 244, 248;--fg-muted: #95a4b3;--accent: #ffd365;--accent-rgb: 255, 211, 101;--accent-strong: #ffd365;--danger: #ff6f6f;--danger-rgb: 255, 111, 111;--good: #5ee0a0;--good-rgb: 94, 224, 160;--warning: #d6a25f;--warning-rgb: 214, 162, 95;--info: #6bb6e0;--info-rgb: 107, 182, 224;--on-accent: #1d1300;--shadow-rgb: 0, 0, 0;--hover-overlay-rgb: 255, 255, 255;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans TC,PingFang TC,sans-serif}:root[data-theme=light],:root[data-theme=light] body{color-scheme:light;--bg: #f6f7fa;--bg-elevated: #ffffff;--bg-rgb: 246, 247, 250;--surface-rgb: 255, 255, 255;--surface: #ffffff;--border: #d8dde6;--border-rgb: 216, 221, 230;--fg: #1c2531;--fg-rgb: 28, 37, 49;--fg-muted: #5b6878;--accent: #b8730e;--accent-rgb: 184, 115, 14;--accent-strong: #8a5200;--danger: #c63e3e;--danger-rgb: 198, 62, 62;--good: #1f8a5b;--good-rgb: 31, 138, 91;--warning: #a35f0c;--warning-rgb: 163, 95, 12;--info: #1e6494;--info-rgb: 30, 100, 148;--on-accent: #fff7e1;--shadow-rgb: 30, 41, 59;--hover-overlay-rgb: 28, 37, 49}@media (prefers-color-scheme: light){:root:not([data-theme=dark]){color-scheme:light;--bg: #f6f7fa;--bg-elevated: #ffffff;--bg-rgb: 246, 247, 250;--surface-rgb: 255, 255, 255;--surface: #ffffff;--border: #d8dde6;--border-rgb: 216, 221, 230;--fg: #1c2531;--fg-rgb: 28, 37, 49;--fg-muted: #5b6878;--accent: #b8730e;--accent-rgb: 184, 115, 14;--accent-strong: #8a5200;--danger: #c63e3e;--danger-rgb: 198, 62, 62;--good: #1f8a5b;--good-rgb: 31, 138, 91;--warning: #a35f0c;--warning-rgb: 163, 95, 12;--info: #1e6494;--info-rgb: 30, 100, 148;--on-accent: #fff7e1;--shadow-rgb: 30, 41, 59;--hover-overlay-rgb: 28, 37, 49}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;background:var(--bg);color:var(--fg)}button{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--bg-elevated);color:var(--fg);padding:8px 14px;border-radius:8px;transition:background .15s ease,border-color .15s ease}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent-strong);color:var(--on-accent);border-color:var(--accent-strong);font-weight:600}button.primary:disabled{opacity:1;background:rgba(var(--hover-overlay-rgb),.08);color:var(--fg-muted);border-color:rgba(var(--border-rgb),.85)}input,textarea{font:inherit;background:var(--bg-elevated);color:var(--fg);border:1px solid var(--border);border-radius:8px;padding:8px 12px}input:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}a{color:var(--accent)}.page{min-height:100%;padding:24px;display:flex;flex-direction:column;gap:16px}.page-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.page-header h1{margin:0;font-size:20px}.page-subtitle{color:var(--fg-muted);margin:0}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;padding:16px}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.stat-card strong{font-size:24px;display:block}.stat-card span{color:var(--fg-muted);font-size:13px}.stat-card small{display:block;margin-top:4px;color:var(--fg-muted);font-size:12px}button.ghost{background:transparent;color:var(--fg);white-space:nowrap}button.ghost:hover:not(:disabled){background:rgba(var(--accent-rgb),.08)}button.link-button{background:transparent;border:none;color:var(--fg-muted);padding:6px 8px;font-size:13px;cursor:pointer;white-space:nowrap}button.link-button:hover{color:var(--accent);text-decoration:underline}.brand-bar{display:flex;align-items:center;gap:16px;padding:12px 20px;border-bottom:1px solid rgba(var(--hover-overlay-rgb),.06);background:linear-gradient(180deg,rgba(var(--surface-rgb),.92),rgba(var(--surface-rgb),.7));backdrop-filter:blur(10px);position:sticky;top:0;z-index:40}.brand-bar-mark{display:inline-flex;align-items:center;gap:10px;color:var(--fg);text-decoration:none}.brand-bar-glyph{display:inline-flex;width:32px;height:32px;align-items:center;justify-content:center;border-radius:8px;background:rgba(var(--accent-rgb),.12)}.brand-bar-words{display:inline-flex;flex-direction:column;line-height:1}.brand-bar-words strong{font-size:15px;letter-spacing:.04em;background:linear-gradient(180deg,#fff5d8,#ffd365 60%,#c79430);-webkit-background-clip:text;background-clip:text;color:transparent}:root[data-theme=light] .brand-bar-words strong{background:none;color:var(--accent-strong);-webkit-text-fill-color:currentColor}@media (prefers-color-scheme: light){:root:not([data-theme=dark]) .brand-bar-words strong{background:none;color:var(--accent-strong);-webkit-text-fill-color:currentColor}}.brand-bar-words span{font-size:11px;letter-spacing:.18em;color:var(--fg-muted);text-transform:uppercase;margin-top:2px}.brand-bar-context{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-muted);padding-left:12px;border-left:1px solid rgba(var(--hover-overlay-rgb),.08)}.brand-bar-trailing{margin-left:auto;display:inline-flex;align-items:center;gap:10px;flex-wrap:nowrap;justify-content:flex-end}@media (max-width: 760px){.brand-bar{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;padding:10px 12px}.brand-bar-mark{min-width:0}.brand-bar-context{align-self:center;padding-left:0;border-left:0;font-size:11px;letter-spacing:.14em}.brand-bar-trailing{grid-column:1 / -1;width:100%;margin-left:0;flex-wrap:wrap;justify-content:flex-start;gap:6px}.brand-bar-user{display:none}.brand-bar-trailing .ghost,.brand-bar-trailing .link-button{padding:6px 10px;font-size:12px}.brand-bar-locale{min-height:30px;padding:3px 9px}}.brand-bar-user{font-size:13px;color:var(--fg-muted);white-space:nowrap}.brand-bar-locale{display:inline-grid;place-items:center;background:rgba(var(--hover-overlay-rgb),.04);border:1px solid rgba(var(--hover-overlay-rgb),.12);border-radius:999px;padding:2px 10px;color:var(--fg-muted);font-size:11px;letter-spacing:.08em;cursor:pointer;transition:background .16s ease,color .16s ease,border-color .16s ease}.brand-theme-icon{width:15px;height:15px}.brand-bar-locale:hover{background:rgba(var(--accent-rgb),.12);border-color:rgba(var(--accent-rgb),.4);color:var(--fg)}.auth-page{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(ellipse at 20% 0%,rgba(var(--accent-rgb),.06),transparent 50%),radial-gradient(ellipse at 80% 100%,rgba(var(--good-rgb),.04),transparent 60%),var(--bg)}.auth-shell{flex:1 1 auto;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(380px,480px);gap:clamp(40px,6vw,64px);padding:clamp(72px,14vh,150px) 64px 56px;align-items:start;max-width:1200px;width:100%;margin:0 auto}@media (max-width: 920px){.auth-shell{grid-template-columns:1fr;gap:32px;padding:32px 24px}}.auth-hero .kicker{text-transform:uppercase;letter-spacing:.22em;color:var(--accent);font-size:12px;margin:0 0 12px}.auth-hero h1{font-size:clamp(28px,6vw,40px);line-height:1.1;margin:0 0 20px;letter-spacing:0;background:linear-gradient(180deg,#fff5d8,#ffd365 70%,#c79430);-webkit-background-clip:text;background-clip:text;color:transparent;overflow-wrap:anywhere}:root[data-theme=light] .auth-hero h1{background:linear-gradient(180deg,#d97e0c,#b25a04 60%,#7a3a02);-webkit-background-clip:text;background-clip:text}@media (prefers-color-scheme: light){:root:not([data-theme=dark]) .auth-hero h1{background:linear-gradient(180deg,#d97e0c,#b25a04 60%,#7a3a02);-webkit-background-clip:text;background-clip:text}}.auth-blurb{color:rgba(var(--fg-rgb),.78);line-height:1.55;margin:0 0 24px;max-width:520px}.auth-feature-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;color:rgba(var(--fg-rgb),.7);font-size:14px}.auth-feature-list li{display:flex;gap:10px;align-items:flex-start}.auth-feature-list span{color:var(--accent);font-weight:700}.auth-card{background:rgba(var(--surface-rgb),.88);border:1px solid rgba(var(--hover-overlay-rgb),.1);border-radius:14px;padding:28px 28px 24px;display:flex;flex-direction:column;gap:14px;box-shadow:0 18px 42px rgba(var(--shadow-rgb),.24)}.auth-card h2{margin:0 0 6px;font-size:20px}.auth-card label{display:flex;flex-direction:column;gap:6px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-muted)}.auth-card label input{margin-top:2px}.auth-error{color:var(--danger);font-size:13px;margin:0}.auth-foot{margin:6px 0 0;color:var(--fg-muted);font-size:12px}.card-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;flex-wrap:wrap}.card-header .card-title{margin:0}.trainer-trial-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;min-width:0}.recording-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.recording-list li{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-radius:10px;background:rgba(var(--surface-rgb),.6);border:1px solid var(--border);gap:12px}.recording-meta{display:flex;flex-direction:column;gap:2px}.trainer-prompt-actions{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.trainer-replay-btn{border:1px solid rgba(var(--accent-rgb),.5);background:rgba(var(--accent-rgb),.16);color:var(--accent-strong);border-radius:999px;padding:4px 12px;font-size:12px;cursor:pointer}.trainer-replay-btn:hover:not(:disabled){background:rgba(var(--accent-rgb),.28)}.case-trainer-toast{position:absolute;top:52px;right:18px;display:flex;flex-direction:column;gap:4px;padding:10px 18px;border-radius:12px;background:rgba(var(--surface-rgb),.92);border:1px solid rgba(var(--accent-rgb),.55);box-shadow:0 16px 36px rgba(var(--shadow-rgb),.45);color:var(--fg);font-size:14px;z-index:70;pointer-events:none;max-width:min(360px,calc(100% - 32px));text-align:left;animation:case-trainer-toast-in .22s ease-out}.case-trainer-toast-label{color:var(--accent-strong);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.case-screen-share-toast-actions{display:flex;justify-content:center;gap:8px;margin-top:8px;pointer-events:auto}.case-screen-share-toast-actions button{border:1px solid rgba(var(--accent-rgb),.55);background:rgba(var(--accent-rgb),.14);color:var(--accent-strong);border-radius:8px;padding:6px 10px;font:inherit;cursor:pointer}.case-screen-share-toast-actions button.secondary{border-color:var(--border);background:transparent;color:var(--fg-muted)}.case-screen-share-request-scrim{position:fixed;inset:0;z-index:180;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(var(--shadow-rgb),.54);backdrop-filter:blur(10px)}.case-screen-share-request-dialog{width:min(440px,100%);display:flex;flex-direction:column;gap:12px;padding:22px;border-radius:16px;border:1px solid rgba(var(--accent-rgb),.5);background:rgba(var(--surface-rgb),.98);color:var(--fg);box-shadow:0 24px 72px rgba(var(--shadow-rgb),.48);text-align:center}.case-screen-share-request-dialog p{margin:0;color:var(--fg);line-height:1.55}.browser-check-card{display:grid;gap:8px;padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:rgba(var(--surface-rgb),.52)}.browser-check-card>summary{cursor:pointer;list-style:none;color:var(--fg-muted);font-size:12px;font-weight:700}.browser-check-card>summary::-webkit-details-marker{display:none}.browser-check-card>summary:after{content:"+";float:right;color:var(--fg-muted)}.browser-check-card[open]>summary:after{content:"-"}.browser-check-card ul{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px}.browser-check-card li{display:inline-flex;align-items:center;gap:5px;min-height:26px;padding:3px 8px;border-radius:999px;font-size:12px;border:1px solid var(--border)}.browser-check-card li i{width:7px;height:7px;border-radius:50%;background:currentColor}.browser-check-ok{color:var(--good);background:rgba(var(--good-rgb),.1);border-color:rgba(var(--good-rgb),.4)!important}.browser-check-warn{color:var(--warning);background:rgba(var(--warning-rgb),.1);border-color:rgba(var(--warning-rgb),.4)!important}.browser-check-bad{color:var(--danger);background:rgba(var(--danger-rgb),.1);border-color:rgba(var(--danger-rgb),.4)!important}@keyframes case-trainer-toast-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.room-qr{margin:0;display:flex;flex-direction:column;align-items:center;gap:4px}.room-qr svg{width:100%;height:auto;background:#fff;border-radius:6px;padding:4px}.room-qr figcaption{font-size:11px;color:var(--fg-muted);letter-spacing:.04em}.session-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}button.recording-download{cursor:pointer}.recording-download{padding:6px 14px;border-radius:999px;border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.16);color:var(--accent-strong);font-size:12px;text-decoration:none;white-space:nowrap}.recording-download:hover{background:rgba(var(--accent-rgb),.26)}.notes-error{color:var(--danger);font-size:13px}.mock-banner{display:flex;gap:14px;align-items:flex-start;padding:14px 16px;border-radius:12px;background:linear-gradient(180deg,rgba(var(--accent-rgb),.12),rgba(var(--accent-rgb),.05));border:1px solid rgba(var(--accent-rgb),.4);margin-bottom:12px}.mock-banner-icon{flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:var(--accent);color:var(--on-accent);font-weight:700;display:flex;align-items:center;justify-content:center}.mock-banner-body{flex:1 1 auto;display:flex;flex-direction:column;gap:4px}.mock-banner-body strong{font-size:14px;color:var(--accent)}.mock-banner-body p{margin:0;font-size:13px;line-height:1.55;color:rgba(var(--fg-rgb),.78)}.mock-banner-dismiss{background:transparent;border:1px solid rgba(var(--accent-rgb),.5);color:var(--accent);border-radius:999px;padding:6px 14px;font-size:12px;letter-spacing:.04em;cursor:pointer;align-self:center;transition:background .16s ease}.mock-banner-dismiss:hover{background:rgba(var(--accent-rgb),.18)}.session-summary-card{border:1px solid rgba(var(--accent-rgb),.45);background:linear-gradient(180deg,rgba(var(--surface-rgb),.78),rgba(var(--surface-rgb),.92))}.session-summary-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}.session-summary-header strong{font-size:18px;letter-spacing:.04em}.session-summary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin:8px 0 6px}.session-summary-grid>div{display:flex;flex-direction:column;gap:4px;background:rgba(var(--surface-rgb),.6);border:1px solid var(--border);border-radius:10px;padding:10px 12px}.sparkline{display:block;width:100%}.sparkline.empty{height:36px;border-radius:6px;background:repeating-linear-gradient(45deg,rgba(var(--hover-overlay-rgb),.05) 0 8px,transparent 8px 14px)}.case-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.case-stat-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:6px}.case-stat-label{font-size:12px;letter-spacing:.06em;color:var(--fg-muted)}.case-stat-value{font-size:22px;font-weight:700;color:var(--fg)}.room-code-input{font-size:22px;letter-spacing:.42em;font-weight:700;text-transform:uppercase;text-align:center;font-variant-numeric:tabular-nums}.auth-shell-case .auth-hero h1{background:linear-gradient(180deg,#fff5d8,#ffb766 65%,#d96b2c);-webkit-background-clip:text;background-clip:text;color:transparent}:root[data-theme=light] .auth-shell-case .auth-hero h1{background:linear-gradient(180deg,#e0701e,#b2540a 60%,#7a3502);-webkit-background-clip:text;background-clip:text}@media (prefers-color-scheme: light){:root:not([data-theme=dark]) .auth-shell-case .auth-hero h1{background:linear-gradient(180deg,#e0701e,#b2540a 60%,#7a3502);-webkit-background-clip:text;background-clip:text}}.page-with-brand{display:flex;flex-direction:column;min-height:100vh;background:var(--bg)}.page-inner{max-width:1280px;width:100%;margin:0 auto;padding:28px 32px 56px;display:flex;flex-direction:column;gap:18px}.page-error{color:var(--danger);background:rgba(var(--danger-rgb),.08);border:1px solid rgba(var(--danger-rgb),.3);border-radius:10px;padding:10px 14px;margin:0}.empty-card{padding:32px;border-radius:14px;border:1px dashed rgba(var(--hover-overlay-rgb),.1);background:rgba(var(--surface-rgb),.45);text-align:center;color:var(--fg-muted)}.empty-card strong{display:block;font-size:16px;color:var(--fg);margin-bottom:4px}.empty-card p{margin:0}.case-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.case-list-toolbar{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:16px}.case-list-toolbar label{display:grid;gap:6px;width:min(420px,100%);color:var(--fg-muted);font-size:12px}.case-list-toolbar input{width:100%}.case-list-count{color:var(--fg-muted);font-size:12px}.case-list-section{display:grid;gap:10px;margin-top:18px}.case-list-section h2{margin:0;color:var(--fg-muted);font-size:12px;letter-spacing:0;text-transform:none}.case-stale-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid rgba(var(--warning-rgb),.45);border-radius:8px;background:rgba(var(--warning-rgb),.1)}.case-stale-banner strong{display:block;margin-bottom:3px}.case-stale-banner p{margin:0;color:var(--fg-muted);font-size:13px}.case-card{display:flex;flex-direction:column;justify-content:space-between;gap:14px;padding:18px 20px;border-radius:14px;background:linear-gradient(180deg,rgba(var(--surface-rgb),.78),rgba(var(--surface-rgb),.62));border:1px solid rgba(var(--hover-overlay-rgb),.06);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.case-card:hover{border-color:rgba(var(--accent-rgb),.35);transform:translateY(-2px);box-shadow:0 18px 40px rgba(var(--shadow-rgb),.32)}.case-card.is-archived{opacity:.74}.case-card.has-active-session{border-color:rgba(var(--good-rgb),.28);background:linear-gradient(180deg,rgba(var(--good-rgb),.08),rgba(var(--surface-rgb),.68))}.case-card-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.case-card-body h2{margin:0 0 6px;font-size:18px}.case-card-body p{margin:0;color:rgba(var(--fg-rgb),.72);font-size:13px;line-height:1.5}.case-card-session-line{margin-top:8px!important;color:var(--good)!important;font-weight:600}.case-card-actions{display:flex;gap:8px;font-size:13px;flex-wrap:wrap}.account-grid{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(320px,1.1fr);gap:16px;align-items:start}.account-summary-card h3,.account-form-card h3{margin:0 0 14px}.account-summary-card dl{margin:0;display:grid;gap:12px}.account-summary-card dl>div{display:grid;gap:4px;padding-bottom:12px;border-bottom:1px solid rgba(var(--border-rgb),.65)}.account-summary-card dl>div:last-child{border-bottom:0;padding-bottom:0}.account-summary-card dt{color:var(--fg-muted);font-size:12px}.account-summary-card dd{margin:0;overflow-wrap:anywhere}.account-form-card form{display:flex;flex-direction:column;gap:12px}@media (max-width: 820px){.account-grid{grid-template-columns:minmax(0,1fr)}}.row{display:flex;gap:12px;flex-wrap:wrap}.tag{display:inline-block;padding:2px 8px;border-radius:999px;background:var(--border);color:var(--fg-muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.tag.local-mock{background:#503a00;color:var(--accent)}.signal-row{display:grid;grid-template-columns:80px 1fr 60px;align-items:center;gap:10px;padding:4px 0}.signal-panel-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.signal-panel-header h4{margin:0}.signal-panel-actions{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.compact-select{min-height:30px;max-width:150px;border:1px solid var(--border);border-radius:8px;background:rgba(var(--surface-rgb),.95);color:var(--fg);font-size:12px;padding:4px 8px}.raw-eeg-preview{display:grid;gap:6px;margin-top:8px}.raw-eeg-row{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:8px}.raw-eeg-row span{color:var(--fg-muted);font-size:12px}.raw-eeg-row svg{width:100%;height:34px;border:1px solid rgba(var(--hover-overlay-rgb),.08);border-radius:6px;background:linear-gradient(to right,rgba(var(--hover-overlay-rgb),.06) 1px,transparent 1px) 0 0 / 25% 100%,linear-gradient(to bottom,rgba(var(--hover-overlay-rgb),.06) 1px,transparent 1px) 0 50% / 100% 50%}.raw-eeg-row polyline{fill:none;stroke:var(--accent);stroke-width:1.8;vector-effect:non-scaling-stroke}.bar{position:relative;height:10px;background:var(--border);border-radius:999px;overflow:hidden}.bar>i{position:absolute;inset:0 auto 0 0;background:var(--accent);border-radius:inherit}.session-state-pill{display:inline-flex;align-items:center;align-self:flex-start;padding:3px 10px;border-radius:999px;border:1px solid var(--border);background:var(--bg);font-size:11px;letter-spacing:.04em;width:max-content;max-width:100%}.session-state-pill.running{background:rgba(var(--good-rgb),.16);color:var(--good);border-color:var(--good)}.session-state-pill.ended{background:rgba(var(--hover-overlay-rgb),.08);color:var(--fg-muted);border-color:var(--border)}.session-state-pill.aborted{background:rgba(var(--danger-rgb),.16);color:var(--danger);border-color:var(--danger)}.game-view{position:absolute;inset:0;overflow:hidden;background:var(--bg);container-type:inline-size}.game-view-stage{position:absolute;inset:0}.game-view canvas{position:absolute!important;inset:0;width:100%!important;height:100%!important;filter:saturate(.88) brightness(.98) contrast(.9)}.game-view-stage:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 35%,rgba(255,242,186,.12),transparent 42%),linear-gradient(180deg,#fff6da1a,#fff6da0a)}.case-page{display:grid;grid-template-rows:auto 1fr auto;min-height:100dvh;background:linear-gradient(180deg,var(--bg-elevated),var(--bg));color:var(--fg)}.case-page-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 18px;border-bottom:1px solid rgba(var(--hover-overlay-rgb),.06);background:rgba(var(--surface-rgb),.7);backdrop-filter:blur(6px)}.case-page-header-left,.case-page-header-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.case-page-tag{display:inline-block;padding:2px 10px;background:var(--border);color:var(--fg-muted);border-radius:999px;font-size:12px;letter-spacing:.15em}.session-state-pill.connected,.session-state-pill.running{background:rgba(var(--good-rgb),.16);color:var(--good);border-color:var(--good)}.session-state-pill.case_joined{background:rgba(var(--info-rgb),.16);color:var(--info);border-color:rgba(var(--info-rgb),.55)}.session-state-pill.admitted{background:rgba(var(--warning-rgb),.16);color:var(--warning);border-color:rgba(var(--warning-rgb),.55)}.session-state-pill.draft,.session-state-pill.open{background:rgba(var(--accent-rgb),.1);color:var(--fg-muted);border-color:rgba(var(--accent-rgb),.24)}.session-state-pill.connecting{background:rgba(var(--accent-rgb),.16);color:var(--accent);border-color:var(--accent)}.session-state-pill.paused{background:rgba(var(--warning-rgb),.16);color:var(--warning);border-color:rgba(var(--warning-rgb),.55)}.session-state-pill.needs-review{background:rgba(var(--warning-rgb),.16);color:var(--warning);border-color:rgba(var(--warning-rgb),.6)}.session-state-pill.disconnected,.session-state-pill.aborted{background:rgba(var(--danger-rgb),.16);color:var(--danger);border-color:var(--danger)}.session-phase-chip{padding:4px 12px;border-radius:999px;border:1px solid var(--border);background:rgba(var(--hover-overlay-rgb),.04);font-size:12px;letter-spacing:.05em}.session-phase-chip.running{background:rgba(var(--accent-rgb),.16);color:var(--accent);border-color:rgba(var(--accent-rgb),.4)}.case-audio-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;border:1px solid var(--border);background:rgba(var(--hover-overlay-rgb),.04);font-size:12px}.case-audio-chip i{width:8px;height:8px;border-radius:50%;background:var(--fg-muted)}.case-audio-chip.unlocked.ready i{background:var(--good)}.case-audio-chip.unlocked.fallback i{background:var(--accent)}.case-recording-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;background:rgba(var(--danger-rgb),.18);color:var(--danger);border:1px solid rgba(var(--danger-rgb),.4);font-size:12px}.case-recording-chip i{width:8px;height:8px;border-radius:50%;background:var(--danger);animation:case-rec-pulse 1.4s ease-in-out infinite}.case-recording-stop{padding:4px 10px;border-radius:999px;border:1px solid rgba(var(--danger-rgb),.45);background:transparent;color:var(--danger);font-size:12px;font-weight:650;cursor:pointer}.case-recording-stop:hover{background:rgba(var(--danger-rgb),.12)}@keyframes case-rec-pulse{0%,to{opacity:.35}50%{opacity:1}}.case-recording-link{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;border:1px solid rgba(var(--good-rgb),.45);background:rgba(var(--good-rgb),.12);color:var(--good);font-size:12px;text-decoration:none}.case-recording-link:hover{background:rgba(var(--good-rgb),.22)}.case-recording-error{font-size:12px;color:var(--danger)}.case-page-body{display:grid;grid-template-columns:220px minmax(0,1fr) 260px;gap:12px;padding:12px 16px;min-height:0}.case-page-body.is-terminal{grid-template-columns:220px minmax(0,1fr)}.case-page-body.is-task-active:not(.is-terminal){grid-template-columns:minmax(0,1fr) 260px}.case-page-aside{display:flex;flex-direction:column;gap:10px;overflow-y:auto}.case-page-body.is-task-active .case-page-aside-left{display:none}@media (max-width: 1200px){.case-page-body{grid-template-columns:200px minmax(0,1fr)}.case-page-body.is-task-active:not(.is-terminal){grid-template-columns:minmax(0,1fr)}.case-page-aside-right{grid-column:1 / -1;grid-row:2;flex-direction:row;flex-wrap:wrap;gap:8px;max-height:none;overflow:visible;border-top:1px solid rgba(var(--hover-overlay-rgb),.06);padding-top:8px}.case-page-aside-right .case-aside-card{flex:1 1 200px}}@media (max-width: 900px){.case-page-body{grid-template-columns:minmax(0,1fr)}.case-page-aside-left{display:none}}@media (max-width: 640px){.case-page-header{align-items:flex-start;gap:8px;padding:10px 12px}.case-page-body{padding:10px}.case-page-aside-right{flex-direction:column}.case-page-aside-right .case-aside-card{flex:1 1 auto;width:100%}.case-message-form-inline{flex-basis:100%;width:100%;margin-left:0}.case-message-form-inline .case-message-form-title,.case-quick-replies-label,.case-message-form-inline input{flex-basis:100%}.case-message-form-inline button{width:100%}}.case-aside-card{padding:12px 14px;background:rgba(var(--surface-rgb),.72);border:1px solid rgba(var(--hover-overlay-rgb),.06);border-radius:12px;display:flex;flex-direction:column;gap:6px}.case-camera-card,.case-device-panel{order:-2}.case-device-panel>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px}.case-device-panel>summary strong{min-width:0;color:var(--fg);font-size:13px;font-weight:600;text-align:right}.case-device-panel>summary:after{content:"+";color:var(--fg-muted);font-size:13px}.case-device-panel[open]>summary:after{content:"-"}.case-device-panel-body{display:grid;gap:10px;margin-top:10px}.case-device-section{display:flex;flex-direction:column;gap:6px;padding-top:10px;border-top:1px solid rgba(var(--hover-overlay-rgb),.08)}.case-device-section:first-child{padding-top:0;border-top:0}.case-device-section-title{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-muted)}.case-trainer-message-card{order:-3}.case-trainer-message-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.case-trainer-message-list li{padding:8px 10px;border-radius:8px;background:rgba(var(--info-rgb),.08);border:1px solid rgba(var(--info-rgb),.24)}.case-trainer-message-list li.from-case{background:rgba(var(--good-rgb),.08);border-color:rgba(var(--good-rgb),.25)}.case-message-author{display:block;margin-bottom:4px;font-size:10px;font-weight:700;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.08em}.case-trainer-message-list time{display:block;margin-top:3px;color:var(--fg-muted);font-size:11px}.case-sensor-details{order:1}.case-sensor-details summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px}.case-sensor-details summary:after{content:"+";color:var(--fg-muted);font-size:13px}.case-sensor-details[open] summary:after{content:"-"}.case-aside-card-title{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-muted)}.case-aside-card strong{font-size:16px}.case-aside-card p{font-size:13px;color:rgba(var(--fg-rgb),.78);margin:0;line-height:1.45}.case-aside-samples{display:grid;grid-template-columns:1fr 1fr;gap:6px}.case-sample-mini{display:flex;flex-direction:column;gap:2px;align-items:flex-start;padding:8px 10px;border-radius:10px;background:rgba(var(--hover-overlay-rgb),.04);border:1px solid rgba(var(--hover-overlay-rgb),.08);cursor:pointer;color:var(--fg)}.case-sample-mini:disabled{opacity:.48;cursor:not-allowed;filter:grayscale(.25)}.case-sample-mini.safe{border-color:rgba(var(--accent-rgb),.45)}.case-sample-mini.danger{border-color:rgba(var(--danger-rgb),.45)}.case-sample-mini strong{font-size:15px}.case-sample-mini small{font-size:10px;color:var(--fg-muted);letter-spacing:.05em}.case-aside-tips{margin:0;padding-left:18px;font-size:12px;color:rgba(var(--fg-rgb),.7);line-height:1.55}.case-aside-empty{margin:0;font-size:12px;color:var(--fg-muted)}.case-aside-error{margin:6px 0 0;font-size:12px;line-height:1.35;color:var(--danger);overflow-wrap:anywhere}.case-aside-bandlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.case-aside-bandlist li{display:grid;grid-template-columns:42px minmax(0,1fr) 36px;align-items:center;gap:6px;font-size:11px}.case-aside-bandlist li i{height:9px;border-radius:999px;background:rgba(var(--hover-overlay-rgb),.08);overflow:hidden}.case-aside-bandlist li em{display:block;height:100%;background:var(--accent)}.case-aside-vitals{display:grid;grid-template-columns:1fr 1fr;gap:6px}.case-aside-vitals>div{padding:6px 8px;border-radius:8px;background:rgba(var(--hover-overlay-rgb),.04);text-align:center}.case-aside-vitals span{display:block;font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--fg-muted)}.case-aside-vitals strong{display:block;font-size:18px;font-weight:600;margin:1px 0}.case-aside-vitals small{font-size:10px;color:var(--fg-muted)}.case-aside-tiny{font-size:11px;color:var(--fg-muted);margin:4px 0 0}.case-aside-msg{margin:0;padding:0;background:transparent;border:0;border-radius:0;font-size:14px;color:var(--fg)}.case-message-form{display:flex;gap:8px;margin-top:10px}.case-message-form input{min-width:0;flex:1 1 auto;padding:8px 10px;font-size:13px}.case-message-form button{flex:0 0 auto;min-height:36px}.case-message-form-inline{flex:1 1 300px;margin-top:0;margin-left:auto;align-items:center;flex-wrap:wrap}.case-message-form-title{flex:0 0 auto;font-size:12px;font-weight:700;color:var(--fg)}.case-message-form-inline input{min-height:40px;flex-basis:220px}.case-message-sent{display:inline-block;margin-top:6px;font-size:11px;color:var(--good)}.case-session-pause-note{display:inline-flex;align-items:center;min-height:32px;padding:4px 10px;border-radius:999px;border:1px solid rgba(var(--warning-rgb),.45);background:rgba(var(--warning-rgb),.12);color:var(--warning);font-size:12px;font-weight:600}.case-media-warning,.trainer-media-warning{margin:8px 0;padding:8px 12px;border-radius:8px;border:1px solid rgba(var(--warning-rgb),.46);background:rgba(var(--warning-rgb),.12);color:var(--warning);font-size:13px;line-height:1.45;font-weight:650}.case-media-warning{position:absolute;left:16px;right:16px;bottom:16px;z-index:75;text-align:center;background:rgba(var(--surface-rgb),.94);backdrop-filter:blur(8px)}.case-aside-camera-preview{width:100%;aspect-ratio:4 / 3;border-radius:10px;background:var(--bg);object-fit:cover;border:1px solid rgba(var(--hover-overlay-rgb),.06)}.case-aside-camera-preview.is-off{display:none}.case-screen-share-preview{width:100%;aspect-ratio:16 / 9;border-radius:10px;background:var(--bg);object-fit:contain;border:1px solid rgba(var(--accent-rgb),.24)}.case-aside-camera-button{margin-top:6px;padding:6px 10px;font-size:12px;border-radius:8px;background:rgba(var(--accent-rgb),.16);color:var(--accent);border:1px solid rgba(var(--accent-rgb),.45);cursor:pointer}.case-aside-camera-button.secondary{background:transparent;color:var(--fg-muted);border-color:var(--border)}.case-screen-share-actions{display:grid;grid-template-columns:1fr;gap:6px}.case-screen-share-request-status{margin:6px 0 0;border:1px solid rgba(var(--accent-rgb),.24);border-radius:8px;padding:.65rem .75rem;background:rgba(var(--accent-rgb),.08);color:var(--fg);font-size:.88rem;line-height:1.35}.case-aside-camera-button:disabled{opacity:.55;cursor:not-allowed}.case-page-stage{position:relative;display:flex;flex-direction:column;gap:6px;background:rgba(var(--surface-rgb),.78);border:1px solid rgba(var(--hover-overlay-rgb),.08);border-radius:14px;padding:8px;min-height:0}.case-page-stage:fullscreen,.case-page-stage.is-pseudo-fullscreen{background:var(--bg);padding:0;border-radius:0}.case-page-stage.is-pseudo-fullscreen{position:fixed;inset:0;z-index:9999}.case-stage-toolbar{display:flex;justify-content:space-between;align-items:center;padding:2px 6px}.case-page-stage:fullscreen .case-stage-toolbar,.case-page-stage.is-pseudo-fullscreen .case-stage-toolbar{position:absolute;top:16px;right:16px;z-index:60}.case-stage-toolbar-title{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-muted)}.case-stage-toolbar-button{padding:4px 12px;font-size:12px;border-radius:8px;background:rgba(var(--hover-overlay-rgb),.06);border:1px solid rgba(var(--hover-overlay-rgb),.1);color:var(--fg);cursor:pointer}.case-stage-toolbar-button:hover{background:rgba(var(--accent-rgb),.16);border-color:rgba(var(--accent-rgb),.45)}.case-stage-frame{position:relative;flex:1 1 auto;min-height:clamp(420px,calc(100dvh - 220px),680px);border-radius:10px;overflow:hidden;background:var(--bg)}.case-page-stage:fullscreen .case-stage-frame,.case-page-stage.is-pseudo-fullscreen .case-stage-frame{border-radius:0;height:100dvh}.case-page-footer{padding:8px 18px;font-size:11px;color:var(--fg-muted);text-align:center;border-top:1px solid rgba(var(--hover-overlay-rgb),.04)}.case-page-stage:fullscreen .case-page-footer{display:none}.case-intro{position:absolute;inset:0;z-index:50;display:flex;align-items:flex-start;justify-content:center;padding:max(18px,env(safe-area-inset-top)) 24px 24px;background:radial-gradient(circle at 50% 28%,rgba(255,226,146,.18),transparent 36%),linear-gradient(180deg,#fffae614,#fff4d138 48%,#6f3f153d);backdrop-filter:none;overflow-y:auto;--fg-rgb: 46, 33, 19;--fg-muted: rgba(46, 33, 19, .66);--hover-overlay-rgb: 92, 57, 18;--surface-rgb: 255, 248, 224;--fg: #2e2113;--muted: rgba(46, 33, 19, .66);--text: #2e2113;color:#2e2113}@media (min-width: 901px){.case-intro{padding-bottom:28px}.case-intro-grid{margin-top:auto}}.case-paused-stage{position:absolute;inset:0;z-index:58;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:28px;text-align:center;color:#f1f4f8;background:linear-gradient(180deg,#04080c70,#04080cc7),radial-gradient(circle at 50% 35%,rgba(var(--warning-rgb),.24),transparent 42%);backdrop-filter:blur(6px);pointer-events:auto}.case-paused-stage span{color:var(--warning);font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.case-paused-stage strong{max-width:620px;font-size:clamp(28px,4.2vw,52px);line-height:1.05}.case-paused-stage p{max-width:560px;margin:0;color:#f1f4f8c7;font-size:16px;line-height:1.55}.case-paused-audio-button{min-height:44px;margin-top:4px;padding:10px 18px;border-radius:999px;border:1px solid rgba(var(--warning-rgb),.62);background:rgba(var(--warning-rgb),.18);color:#fff;font-weight:800;cursor:pointer}.case-paused-audio-button:disabled{opacity:.62;cursor:wait}.case-stage-frame.is-session-paused .case-message,.case-stage-frame.is-session-paused .case-go-button{display:none}.case-intro-grid{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(280px,.82fr);gap:18px;max-width:1040px;width:100%;align-items:stretch;padding:18px;border-radius:8px;background:linear-gradient(180deg,#fffceaf5,#f6e2b4f0),#f4e6c7;border:2px solid rgba(92,57,18,.52);box-shadow:0 4px #482a0d7a,0 18px 40px #2f1c0933}@media (max-width: 900px){.case-intro-grid{grid-template-columns:1fr}}.title-copy .kicker{text-transform:uppercase;letter-spacing:.18em;color:#8a5d14;font-size:13px;font-weight:850;margin:0}.title-copy h1{font-size:clamp(32px,4vw,48px);line-height:1.05;margin:10px 0 12px;letter-spacing:0;color:#5a3713}.title-copy .story{font-size:16px;line-height:1.5;color:#2e2113c7;margin:0 0 14px;max-width:600px}.mission-strip{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.mission-strip span{padding:6px 10px;border-radius:8px;background:#ffb84a38;border:1px solid rgba(138,93,20,.22);color:#6a430d;font-size:13px;font-weight:750}.start-button{display:inline-flex;flex-direction:column;gap:4px;align-items:flex-start;padding:14px 24px;border-radius:8px;background:linear-gradient(180deg,#ffe07c,#ffb84a);color:#2a1c00;border:none;font-size:18px;font-weight:700;box-shadow:0 18px 60px #ffb84a59,inset 0 -2px rgba(var(--shadow-rgb),.15);cursor:pointer}.start-button:disabled{filter:grayscale(.6);cursor:not-allowed}.start-button small{font-size:12px;font-weight:500;color:rgba(var(--shadow-rgb),.5)}.audio-status{display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding:8px 14px;border-radius:8px;background:rgba(var(--hover-overlay-rgb),.06);border:1px solid rgba(var(--hover-overlay-rgb),.08);color:var(--fg-muted);font-size:13px}.audio-status>i{width:10px;height:10px;border-radius:50%;background:var(--fg-muted)}.audio-status.unlocked.ready>i,.audio-status.unlocked.fallback>i{background:var(--good)}.audio-status.fallback.unlocked{border-color:#8a5d1447;background:#ffb84a29;color:#6a430d}.audio-error{color:#a23b2a;font-size:13px;margin-top:8px}.sound-totem{display:flex;flex-direction:column;gap:12px;padding:20px;border-radius:8px;background:#ffffff6b;border:1px solid rgba(92,57,18,.22)}.totem-label{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--fg-muted);margin:0}.sound-card{display:grid;grid-template-columns:minmax(0,1fr) 104px;align-items:center;gap:10px;min-height:104px;padding:12px 12px 12px 16px;border-radius:8px;background:#ffffff57;border:1px solid rgba(92,57,18,.12);cursor:pointer;text-align:left;color:var(--fg)}.sound-card-copy{min-width:0;display:grid;gap:4px}.sound-card strong{font-size:22px;font-weight:700}.sound-card span{font-size:12px;text-transform:uppercase;letter-spacing:.15em;color:var(--fg-muted)}.sound-card small{font-size:13px;color:rgba(var(--fg-rgb),.75)}.sound-card-animal{justify-self:end;width:100px;height:80px;object-fit:contain;opacity:.58;filter:brightness(.9) contrast(.92) sepia(.12) saturate(.82);pointer-events:none}.sound-card.safe{border-color:#5284216b;background:linear-gradient(180deg,#e8f5d0db,#fffbe875)}.sound-card.danger{border-color:#b84a3575;background:linear-gradient(180deg,#fcddd0db,#fff7eb75)}.sound-card.safe span{color:#5a7d1f}.sound-card.danger span{color:#a33d2b}.totem-note{font-size:12px;color:var(--fg-muted);margin:4px 0 0}.game-score-stack,.game-task-card,.game-choice-board,.observer-outcome-strip,.game-rule-dock,.case-message,.case-go-button{--game-wood: #6f3f15;--game-wood-dark: #3d230b;--game-paper: #f4e6c7;--game-paper-rgb: 244, 230, 199;--game-ink: #2e2113;--game-green: #4f8738;--game-red: #b24a35;z-index:20}.game-score-stack{position:absolute;top:16px;left:16px;display:flex;flex-direction:column;gap:8px;width:138px;pointer-events:none}.score-plaque{display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:0 8px;padding:8px 12px;min-height:58px;border-radius:8px;color:#fff6d9;background:linear-gradient(180deg,#ffffff24,#0000001f),linear-gradient(90deg,#5e3511,#7f4819 52%,#59310f);border:2px solid rgba(45,24,8,.86);box-shadow:0 4px #211307b3,0 10px 18px #0000002e}.score-icon{grid-row:1 / 3;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;line-height:1;font-size:18px;font-weight:900}.score-plaque.coins .score-icon{color:transparent;background:radial-gradient(circle at 50% 50%,#fff3a8 0 22%,transparent 24%),radial-gradient(circle at 50% 50%,#d38820 0 48%,#7c3f0f 50% 58%,transparent 60%),#efb544}.score-plaque.hearts .score-icon{color:#fff0e9;background:linear-gradient(180deg,#ff8b6f,#bf3e2b)}.score-plaque strong{font-size:26px;line-height:1;font-weight:800}.score-plaque small{font-size:12px;color:#fff6d9d1;line-height:1.1}.score-plaque.hearts strong{display:flex;gap:1px;font-size:15px;letter-spacing:0}.score-plaque.hearts i{font-style:normal;color:#fff6d952}.score-plaque.hearts i.filled{color:#ffddd4}.game-task-card{position:absolute;top:16px;right:16px;width:min(300px,28%);display:flex;flex-direction:column;gap:9px;padding:14px 16px;border-radius:8px;color:#f8f1cf;background:linear-gradient(180deg,#143016f5,#173a1beb),#17391d;border:2px solid rgba(18,42,16,.88);box-shadow:0 4px #0c1e0b9e,0 14px 24px #0003;pointer-events:none}.task-heading{display:flex;flex-direction:column;gap:2px;padding-bottom:2px}.task-heading span{align-self:flex-end;padding:3px 10px;border-radius:999px;background:#fff3be1f;color:#ffdf83;font-size:13px;font-weight:800}.task-heading strong{color:#f6d96a;font-size:18px;line-height:1.2;font-weight:850}.task-rule-row{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:8px;font-size:15px;line-height:1.35}.task-rule-row span{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:12px;color:#fff6d9}.task-rule-row.safe span{background:#6b9d3e}.task-rule-row.danger span{background:#b64f3b}.task-rule-row p{margin:0}.task-progress{position:relative;height:14px;margin-top:2px;border-radius:999px;overflow:hidden;background:#00000059;border:1px solid rgba(255,239,183,.16)}.task-progress em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6db342,#9ccf4f);transition:width .18s ease}.task-rest-chip{align-self:flex-start;padding:3px 10px;border-radius:999px;color:#fff2b3;background:#ffda5b2e;font-size:12px;font-weight:800}.game-choice-board{position:absolute;top:13%;left:45%;transform:translate(-50%);width:min(460px,48%);display:grid;grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);align-items:center;gap:12px;pointer-events:none}.choice-versus{display:inline-flex;justify-content:center;color:#fff2c0;font-size:30px;font-weight:900;text-shadow:0 3px 10px rgba(0,0,0,.46)}.animal-choice{min-width:0;display:flex;flex-direction:column;align-items:center;gap:6px;color:#fff1d1;text-align:center;opacity:.96;transition:transform .18s ease,opacity .18s ease}.animal-choice.is-muted{opacity:.58}.animal-choice.is-revealed{transform:translateY(-2px)}.animal-choice-image{position:relative;width:clamp(118px,13vw,176px);aspect-ratio:1;border-radius:50%;overflow:hidden;background:#f5e5bea8;border:2px solid rgba(255,248,222,.42);box-shadow:inset 0 0 32px #5e411c2e,0 12px 24px #0000002e}.animal-choice-image img{width:112%;height:112%;object-fit:contain;transform:translate(-5%,-1%) scale(1.08);opacity:.72;filter:blur(12px) brightness(.55) contrast(.78) sepia(.32) saturate(.6)}.animal-choice.is-revealed .animal-choice-image img{opacity:.9;filter:blur(5px) brightness(.72) contrast(.86) sepia(.22) saturate(.72)}.animal-choice-image span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff5dc;font-size:clamp(34px,4vw,52px);font-weight:900;text-shadow:0 3px 10px rgba(0,0,0,.42)}.animal-choice.is-revealed .animal-choice-image span{opacity:.22}.animal-choice strong,.animal-choice small{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.observer-outcome-strip{position:absolute;left:8px;right:8px;bottom:82px;z-index:24;display:flex;justify-content:center;gap:4px;pointer-events:none}.observer-outcome-strip i{width:9px;height:9px;border-radius:50%;background:#fff6d97a;border:1px solid rgba(45,24,8,.38);box-shadow:0 1px 3px #00000047}.observer-outcome-strip .outcome-hit,.observer-outcome-strip .outcome-inhibit{background:#8fcf55}.observer-outcome-strip .outcome-slow{background:#f1c35d}.observer-outcome-strip .outcome-miss,.observer-outcome-strip .outcome-impulse,.observer-outcome-strip .outcome-early{background:#cf604c}.game-rule-dock{position:absolute;left:16px;right:16px;bottom:12px;min-height:136px;display:grid;grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) minmax(180px,1.15fr);gap:10px;padding:12px 14px;border-radius:8px;color:var(--game-ink);background:linear-gradient(180deg,#ffffff61,#fff6e224),var(--game-paper);border:2px solid rgba(78,48,16,.78);box-shadow:0 4px #36210bb3,0 16px 28px #0000002e;pointer-events:none}.rule-card{display:grid;grid-template-rows:auto 1fr;min-width:0;padding:0;border-radius:8px;overflow:hidden;background:#ffffff3d;border:1px solid rgba(82,53,24,.2);text-align:left}.rule-card>span{padding:6px 8px;color:#fff8e6;font-size:16px;font-weight:850;text-align:center}.rule-card.safe>span{background:var(--game-green)}.rule-card.danger>span{background:var(--game-red)}.rule-card-body{display:grid;grid-template-columns:minmax(0,1fr) 92px;align-items:center;gap:8px;min-height:82px;padding:10px 8px 12px 12px}.rule-card-copy{min-width:0}.rule-card strong{display:block;padding:0;color:#312315;font-size:22px;line-height:1.15}.rule-card small{display:block;padding:4px 0 0;color:#2e2113c7;font-size:14px;line-height:1.35;font-weight:700}.rule-card-animal{justify-self:end;width:88px;height:64px;object-fit:contain;opacity:.5;filter:brightness(.82) contrast(.9) sepia(.16) saturate(.78)}.game-rule-dock p{align-self:end;margin:0;padding:9px 12px;border-radius:8px;color:#ffe9a6;background:linear-gradient(180deg,#6e3f17,#48270c);border:1px solid rgba(47,28,9,.72);font-size:15px;line-height:1.38;font-weight:750}.case-message{position:absolute;left:50%;top:24px;bottom:auto;transform:translate(-50%);padding:12px 22px;background:#fff8e0eb;border:2px solid rgba(95,58,18,.42);border-radius:8px;z-index:35;pointer-events:none;max-width:70%;text-align:center;font-size:18px;line-height:1.3;color:#332310;box-shadow:0 10px 24px #0000002e;transition:border-color .2s ease,color .2s ease}.case-message.is-good{border-color:#4e87389e;color:#27592b}.case-message.is-bad{border-color:#b24a35a8;color:#8b2d20}.case-message.is-bad.is-practice{border-color:#b8730e80;color:#8a5200}.case-message.is-empty{opacity:0;transform:translate(-50%) translateY(4px)}.case-go-button{position:absolute;bottom:150px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:124px;height:124px;min-width:0;padding:16px 18px 18px;border-radius:50%;background:radial-gradient(circle at 50% 30%,#ffe07c,#ffb84a 65%,#d77a00);color:#2a1c00;border:5px solid rgba(63,40,10,.62);box-shadow:0 14px #43270a85,0 24px 48px #0000003d,inset 0 -5px #55310438;cursor:pointer;z-index:30;transition:transform .12s ease,box-shadow .12s ease,opacity .18s ease}.case-go-button:before{content:"";width:50px;height:40px;margin-bottom:2px;background:radial-gradient(circle at 18% 18%,#3b2704 0 6px,transparent 7px),radial-gradient(circle at 42% 6%,#3b2704 0 7px,transparent 8px),radial-gradient(circle at 68% 18%,#3b2704 0 6px,transparent 7px),radial-gradient(ellipse at 48% 70%,#3b2704 0 18px,transparent 19px)}.case-go-button[disabled]{opacity:.55;cursor:not-allowed;pointer-events:none;box-shadow:none;filter:grayscale(.5)}.case-go-button strong{font-size:31px;letter-spacing:0;font-weight:800;line-height:1}.case-go-action{display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:20px;padding:0 10px;border-radius:999px;background:#2a1c0029;color:#2a1c00;font-size:12px;font-weight:800}.case-finish{position:absolute;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#020408a6,#020408eb);backdrop-filter:blur(8px)}.finish-card{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 40px;border-radius:28px;max-width:480px;background:rgba(var(--surface-rgb),.92);border:1px solid rgba(var(--accent-rgb),.32);text-align:center;box-shadow:0 36px 100px rgba(var(--shadow-rgb),.55)}.beast-crest-image{width:200px;height:auto;filter:drop-shadow(0 12px 28px rgba(var(--accent-rgb),.35))}.finish-card h2{margin:4px 0;font-size:30px;background:linear-gradient(180deg,#fff5d8,#ffd365 60%,#c79430);-webkit-background-clip:text;background-clip:text;color:transparent}.reward-row{display:flex;gap:16px;margin:4px 0}.reward-row>div{padding:10px 18px;border-radius:16px;background:rgba(var(--hover-overlay-rgb),.05);border:1px solid rgba(var(--hover-overlay-rgb),.08);text-align:center}.reward-row span{display:block;font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--fg-muted)}.reward-row strong{display:block;font-size:26px;font-weight:700;margin-top:4px}.trainer-page{max-width:1400px;margin:0 auto}.trainer-mobile-advisory{display:none;gap:4px;padding:12px 14px;margin-bottom:14px;border:1px solid rgba(var(--warning-rgb),.42);border-radius:8px;background:rgba(var(--warning-rgb),.1)}.trainer-mobile-advisory p{margin:0;color:var(--fg-muted);font-size:13px}.trainer-mobile-console{display:none;gap:12px}.trainer-mobile-console header{display:grid;gap:8px}.trainer-mobile-console h2,.trainer-mobile-console p{margin:0}.trainer-mobile-console h2{font-size:20px}.trainer-mobile-console .trainer-connection-pill{width:fit-content}.trainer-session-error{max-width:640px;margin:24px auto;gap:12px;text-align:center}.trainer-page.has-session-load-error>:not(.mock-banner):not(.trainer-session-error){display:none!important}.trainer-controls .row{align-items:center;flex-wrap:wrap}.trainer-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px;align-items:start}.trainer-grid.is-stage-only{grid-template-columns:minmax(0,1fr)}.trainer-grid.is-stage-only .trainer-stage{height:clamp(360px,52vh,560px)}.trainer-grid.is-stage-only .trainer-stage-meta{grid-template-columns:repeat(3,minmax(0,1fr))}.trainer-side-column{display:grid;gap:12px;min-width:0}.trainer-side-column .card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trainer-signal-card{min-width:0}.rppg-detail-metrics{margin-top:10px}.rppg-detail-metrics summary{cursor:pointer;color:var(--fg-muted);font-size:12px;font-weight:700}.rppg-detail-metrics .stat-tile-grid{margin-top:10px}.trainer-workflow-card{display:grid;gap:14px;margin-bottom:14px}.trainer-workflow-card header{display:flex;justify-content:space-between;gap:16px}.trainer-workflow-card header p{max-width:720px;margin:4px 0 0}.trainer-workflow-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}.trainer-workflow-steps li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;min-width:0;padding:12px;border:1px solid var(--border);border-radius:8px;background:rgba(var(--surface-rgb),.72)}.trainer-workflow-steps li>span{display:grid;place-items:center;width:28px;height:28px;border-radius:999px;border:1px solid rgba(var(--accent-rgb),.45);color:var(--accent);font-size:13px;font-weight:800}.trainer-workflow-steps li.done>span{border-color:rgba(var(--good-rgb),.6);background:rgba(var(--good-rgb),.12);color:var(--good)}.trainer-workflow-steps strong{display:block;margin-bottom:3px;font-size:13px}.trainer-workflow-steps p{margin:0;color:var(--fg-muted);font-size:12px;line-height:1.35}@media (max-width: 1100px){.trainer-grid{grid-template-columns:minmax(0,1fr)}.trainer-side-column .card-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.trainer-workflow-steps{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:80ms!important;scroll-behavior:auto!important}.case-recording-chip i,.case-audio-chip i,.lantern-celebrate{animation-duration:1.2s!important;animation-iteration-count:infinite!important}}button:focus-visible,a:focus-visible,[role=button]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}.trainer-stage-card{display:flex;flex-direction:column;gap:8px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;padding:12px;overflow:hidden}@media (min-width: 1101px){.trainer-page.has-live-workspace{display:grid;grid-template-columns:minmax(0,1.32fr) minmax(360px,.96fr);gap:16px;align-items:start}.trainer-page.has-live-workspace>.mock-banner,.trainer-page.has-live-workspace>.trainer-session-error,.trainer-page.has-live-workspace>.trainer-mobile-advisory,.trainer-page.has-live-workspace>.trainer-mobile-console,.trainer-page.has-live-workspace>.trainer-quick-reply-stack,.trainer-page.has-live-workspace>.session-header,.trainer-page.has-live-workspace>.session-summary-card,.trainer-page.has-live-workspace>.trainer-alerts,.trainer-page.has-live-workspace>.trainer-error-banner,.trainer-page.has-live-workspace>.trainer-controls,.trainer-page.has-live-workspace>.trainer-workflow-card{grid-column:1 / -1}.trainer-page.has-live-workspace>.trainer-grid{display:contents}.trainer-page.has-live-workspace>.trainer-grid>.trainer-stage-card{grid-column:1;max-height:calc(100vh - 92px);max-height:calc(100dvh - 92px);overflow:auto;scrollbar-gutter:stable}.trainer-page.has-live-workspace>.trainer-grid>.trainer-side-column{grid-column:2}.trainer-page.has-live-workspace>section.card:not(.trainer-controls):not(.trainer-mobile-console):not(.trainer-session-error):not(.trainer-workflow-card):not(.session-summary-card),.trainer-page.has-live-workspace>details.card{grid-column:2}.trainer-page.has-live-workspace>.trainer-grid.is-stage-only~section.card:not(.trainer-controls):not(.trainer-mobile-console):not(.trainer-session-error):not(.trainer-workflow-card):not(.session-summary-card),.trainer-page.has-live-workspace>.trainer-grid.is-stage-only~details.card{grid-column:1 / -1}.trainer-page.has-live-workspace>.trainer-grid.is-stage-only{display:grid;grid-column:1 / -1;grid-template-columns:minmax(0,1fr)}.trainer-page.has-live-workspace>.trainer-grid.is-stage-only>.trainer-stage-card{grid-column:1}.trainer-stage-card{position:sticky;top:76px;align-self:start}}.trainer-stage-card header{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.trainer-stage-card h3{margin:0;font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted)}.trainer-stage{position:relative;width:100%;height:clamp(260px,38vh,390px);border-radius:10px;overflow:hidden;background:var(--bg)}.trainer-stage canvas{position:absolute;inset:0;width:100%!important;height:100%!important}.trainer-stage-meta{display:grid;grid-template-columns:minmax(0,220px) minmax(0,220px) minmax(0,1fr);gap:14px;margin-top:14px}.trainer-stage-meta .trainer-prompt-card{grid-column:auto}@media (max-width: 720px){.trainer-mobile-advisory,.trainer-mobile-console{display:grid}.trainer-page>:not(.trainer-mobile-advisory):not(.trainer-mobile-console):not(.trainer-session-error):not(.trainer-quick-reply-stack):not(.mock-banner){display:none!important}.trainer-page .mock-banner{display:none!important}.trainer-stage{height:220px}.trainer-stage-meta{grid-template-columns:minmax(0,1fr)}.trainer-stage-meta .trainer-prompt-card{grid-column:1}}.trainer-case-tile{background:rgba(var(--surface-rgb),.7);border:1px solid rgba(var(--hover-overlay-rgb),.06);border-radius:10px;padding:8px;display:flex;flex-direction:column;gap:6px}.trainer-case-tile-header{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-muted)}.trainer-case-tile-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.trainer-tile-action,.trainer-media-unblock{padding:4px 9px;border-radius:7px;font-size:11px;letter-spacing:.02em;border:1px solid rgba(var(--info-rgb),.42);background:rgba(var(--info-rgb),.12);color:var(--info)}.trainer-media-unblock{align-self:flex-start}.trainer-case-tile-video{width:100%;aspect-ratio:4 / 3;background:var(--bg);border-radius:8px;object-fit:cover}.trainer-case-tile-video.is-screen{aspect-ratio:16 / 9;object-fit:contain}.trainer-case-tile-video.is-off{display:none}.trainer-prompt-card{background:rgba(var(--surface-rgb),.72);border:1px solid rgba(var(--hover-overlay-rgb),.06);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:8px}.trainer-prompt-card header{display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-muted)}.trainer-rec-btn{padding:4px 10px;font-size:11px;border-radius:8px;background:rgba(var(--hover-overlay-rgb),.06);border:1px solid rgba(var(--hover-overlay-rgb),.1);color:var(--fg-muted);cursor:pointer}.trainer-rec-btn.recording{background:rgba(var(--danger-rgb),.18);color:var(--danger);border-color:rgba(var(--danger-rgb),.45)}.trainer-rec-btn.pending{background:rgba(var(--accent-rgb),.16);color:var(--fg);border-color:rgba(var(--accent-rgb),.38)}.trainer-rec-btn.ask{background:rgba(var(--warning-rgb),.14);color:var(--warning);border-color:rgba(var(--warning-rgb),.35)}.trainer-rec-btn.ready{background:rgba(var(--info-rgb),.13);color:var(--info);border-color:rgba(var(--info-rgb),.35)}.trainer-rec-hint{margin:-2px 0 0;padding:6px 8px;border-radius:8px;background:rgba(var(--warning-rgb),.08);color:var(--fg-muted);font-size:12px;line-height:1.35}.trainer-prompt-presets{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:6px}.trainer-prompt-presets button{padding:6px 10px;font-size:13px;border-radius:8px;background:rgba(var(--hover-overlay-rgb),.05);border:1px solid rgba(var(--hover-overlay-rgb),.08);color:var(--fg);cursor:pointer}.trainer-prompt-presets button:hover:not(:disabled){background:rgba(var(--accent-rgb),.16);border-color:rgba(var(--accent-rgb),.45)}.trainer-prompt-inline{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding-top:8px;border-top:1px solid rgba(var(--hover-overlay-rgb),.08)}.trainer-prompt-inline input{min-width:0}@media (max-width: 720px){.trainer-prompt-inline{grid-template-columns:minmax(0,1fr)}}.trainer-bias-row button.active,.trainer-bias-row button[aria-pressed=true]{background:rgba(var(--accent-rgb),.18);border-color:rgba(var(--accent-rgb),.5);color:var(--accent)}.trainer-prompt-form{display:flex;gap:8px}.trainer-prompt-form input{flex:1 1 auto;padding:6px 10px;font-size:13px}.game-view.is-observer .game-score-stack{top:8px;left:8px;width:92px;gap:5px}.game-view.is-observer .score-plaque{min-height:36px;grid-template-columns:20px minmax(0,1fr);gap:0 5px;padding:5px 7px;border-radius:6px;border-width:1px;box-shadow:0 2px #21130794}.game-view.is-observer .score-icon{width:18px;height:18px;font-size:11px}.game-view.is-observer .score-plaque strong{font-size:16px}.game-view.is-observer .score-plaque small,.game-view.is-observer .score-plaque.hearts strong{font-size:9px}.game-view.is-observer .game-task-card{top:8px;right:8px;width:min(210px,42%);gap:5px;padding:8px 9px;border-radius:6px;border-width:1px}.game-view.is-observer .task-heading span{padding:2px 7px;font-size:9px}.game-view.is-observer .task-heading strong{font-size:12px}.game-view.is-observer .task-rule-row{grid-template-columns:17px minmax(0,1fr);gap:5px;font-size:10px}.game-view.is-observer .task-rule-row span{width:15px;height:15px;font-size:8px}.game-view.is-observer .task-progress{height:7px}.game-view.is-observer .game-choice-board{top:18%;width:48%;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);gap:5px}.game-view.is-observer .choice-versus{font-size:16px}.game-view.is-observer .animal-choice-image{width:clamp(52px,9vw,86px)}.game-view.is-observer .game-rule-dock{left:8px;right:8px;bottom:8px;min-height:68px;grid-template-columns:1fr 1fr;padding:6px;gap:5px;border-radius:6px;border-width:1px}.game-view.is-observer .game-rule-dock p{display:none}.game-view.is-observer .rule-card>span{padding:3px 4px;font-size:10px}.game-view.is-observer .rule-card-body{grid-template-columns:minmax(0,1fr) 38px;gap:4px;min-height:42px;padding:4px 4px 5px 5px}.game-view.is-observer .rule-card strong{padding:0;font-size:12px}.game-view.is-observer .rule-card small{padding:1px 0 0;font-size:9px;line-height:1.2}.game-view.is-observer .rule-card-animal{width:38px;height:30px;filter:brightness(.82) contrast(.9) sepia(.16) saturate(.78)}.game-view.is-observer .case-message{top:auto;bottom:35%;padding:6px 10px;font-size:12px;border-width:1px}@container (max-width: 520px){.game-view.is-observer .game-task-card,.game-view.is-observer .game-rule-dock{display:none}.game-view.is-observer .game-choice-board{top:24%;width:58%}}.case-stage{position:fixed;inset:0;background:var(--bg)}.signal-tab{display:flex;gap:8px;border-bottom:1px solid var(--border);margin-bottom:12px}.signal-tab button{background:transparent;border:none;color:var(--fg-muted);padding:8px 12px;border-bottom:2px solid transparent;border-radius:0}.signal-tab button.active{color:var(--fg);border-bottom-color:var(--accent)}.marker-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px}.marker-grid button{padding:10px 6px;font-size:15px}.marker-note-row{display:flex;gap:8px;margin-top:8px}.marker-note-row input{flex:1 1 auto;padding:8px 12px}.marker-history{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-direction:column;gap:6px;max-height:260px;overflow-y:auto}.marker-history li{background:rgba(var(--surface-rgb),.5);border:1px solid var(--border);border-radius:8px;padding:8px 10px;display:flex;flex-direction:column;gap:4px}.marker-history-toggle{display:flex;flex-direction:column;gap:4px;width:100%;min-width:0;padding:0;border:0;background:transparent;color:inherit;text-align:left;opacity:1}.marker-history-toggle:not(:disabled){cursor:pointer}.marker-history-toggle:disabled{cursor:default;opacity:1}.marker-history-static{cursor:default}.marker-history-meta{display:flex;justify-content:space-between;align-items:center}.marker-history-ts{font-size:11px;color:var(--fg-muted)}.marker-history-note{margin:0;font-size:13px;color:rgba(var(--fg-rgb),.78)}.marker-history-row{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--fg-muted)}.marker-history-actions{display:flex;justify-content:flex-end}.marker-history-delete{padding:2px 8px;font-size:11px;background:transparent;border:1px solid rgba(var(--danger-rgb),.4);color:var(--danger);border-radius:6px;cursor:pointer}.marker-history-empty{padding:8px;color:var(--fg-muted);font-size:13px;text-align:center}.trainer-notes-label{display:flex;flex-direction:column;gap:4px;margin-bottom:10px;font-size:12px;color:var(--fg-muted)}.trainer-notes-label textarea{font:inherit;background:var(--bg-elevated);color:var(--fg);border:1px solid var(--border);border-radius:8px;padding:8px 12px;resize:vertical}.trainer-connection-pill{padding:4px 10px;border-radius:999px;font-size:12px;border:1px solid var(--border);background:rgba(var(--hover-overlay-rgb),.04)}.trainer-connection-pill.tone-ok{background:rgba(var(--good-rgb),.16);color:var(--good);border-color:var(--good)}.trainer-connection-pill.tone-warn{background:rgba(var(--warning-rgb),.18);color:var(--warning);border-color:rgba(var(--warning-rgb),.5)}.trainer-connection-pill.tone-info{background:rgba(var(--accent-rgb),.16);color:var(--accent);border-color:rgba(var(--accent-rgb),.4)}.trainer-connection-pill.tone-muted{background:rgba(var(--fg-rgb),.06);color:var(--fg-muted);border-color:rgba(var(--fg-rgb),.2)}.trainer-alerts{display:flex;flex-direction:column;gap:8px}.trainer-alert{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-radius:12px;border:1px solid rgba(var(--accent-rgb),.5);background:rgba(var(--accent-rgb),.12);animation:trainer-alert-in .22s ease-out}@keyframes trainer-alert-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.trainer-alert.tone-warning{border-color:rgba(var(--accent-rgb),.5);background:rgba(var(--accent-rgb),.12)}.trainer-alert-body{display:flex;flex-direction:column;gap:2px}.trainer-alert-body strong{color:var(--accent-strong)}.trainer-alert-body span{color:rgba(var(--fg-rgb),.7);font-size:12px}.trainer-alert-dismiss{padding:4px 10px;font-size:11px;border-radius:8px;background:rgba(var(--hover-overlay-rgb),.06);border:1px solid rgba(var(--hover-overlay-rgb),.1);color:var(--fg);cursor:pointer}.director-history{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px;max-height:240px;overflow-y:auto}.director-history li{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;border-radius:6px;background:rgba(var(--surface-rgb),.5)}.director-history li>div{display:flex;flex-direction:column;gap:2px}.director-history-ts{font-size:11px;color:var(--fg-muted)}.trial-detail-summary{display:flex;gap:16px;color:var(--fg-muted);font-size:13px;margin-bottom:8px}.trial-selected-card{display:grid;gap:10px;margin:0 0 10px;padding:12px;border:1px solid rgba(var(--accent-rgb),.3);border-radius:8px;background:rgba(var(--accent-rgb),.08)}.trial-selected-card>div,.trial-selected-card dl,.trial-selected-card ul,.trial-selected-card li{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.trial-selected-card dl,.trial-selected-card ul{margin:0;padding:0}.trial-selected-card dt{color:var(--fg-muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.trial-selected-card dd{margin:0;font-weight:700}.trial-selected-card ul{list-style:none;color:var(--fg-muted);font-size:12px}.trial-selected-card time{color:var(--fg-muted)}.trial-detail-list{list-style:none;padding:0;margin:0;max-height:280px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.trial-detail-list li{display:grid;grid-template-columns:60px 110px auto 1fr auto;align-items:center;gap:8px;padding:4px 10px;border-radius:6px;background:rgba(var(--surface-rgb),.5);cursor:pointer;transition:background .12s ease,transform .12s ease,box-shadow .12s ease}.trial-detail-list li:hover{background:rgba(var(--accent-rgb),.1)}.trial-detail-list li.is-selected{background:rgba(var(--accent-rgb),.16);box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb),.6)}.trial-detail-list li.has-markers .trial-detail-markers{color:var(--accent);font-size:11px;letter-spacing:.04em}.trial-detail-list li.outcome-hit,.trial-detail-list li.outcome-inhibit{border-left:3px solid var(--good)}.trial-detail-list li.outcome-miss,.trial-detail-list li.outcome-impulse,.trial-detail-list li.outcome-slow,.trial-detail-list li.outcome-early{border-left:3px solid var(--danger)}.marker-history li{cursor:default;transition:background .12s ease,opacity .12s ease,box-shadow .12s ease}.marker-history li.is-linked{background:rgba(var(--accent-rgb),.14);box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb),.55)}.marker-history li.is-muted{opacity:.42}.trial-detail-index{color:var(--fg-muted);font-size:12px}.trial-detail-rt{font-size:12px;color:var(--fg-muted)}.trial-detail-practice{border-color:rgba(var(--accent-rgb),.35);color:var(--accent);background:rgba(var(--accent-rgb),.1)}.trial-detail-practice.is-placeholder{visibility:hidden}.trial-detail-empty{grid-column:1 / -1;color:var(--fg-muted);font-size:13px;text-align:center;padding:8px;background:transparent;border-left:none!important;cursor:default}.session-history{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.session-history-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.session-history-header h3{margin:0}.session-history-header span{color:var(--fg-muted);font-size:12px;white-space:nowrap}.session-history-filter{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:rgba(var(--surface-rgb),.45);color:var(--fg-muted);font-size:13px}.session-history li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 80px;align-items:center;gap:12px;padding:10px 14px;background:rgba(var(--surface-rgb),.5);border:1px solid var(--border);border-radius:10px}.session-history-left{display:flex;flex-direction:column;gap:4px}.session-history-game{font-size:12px;color:var(--fg-muted)}.session-history-meta{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--fg-muted)}.session-history-outcomes{color:var(--fg);font-weight:650}.session-history-outcomes small{display:block;margin-top:2px;color:var(--fg-muted);font-size:11px;font-weight:500}.session-history-outcomes.is-empty{color:var(--fg-muted);font-weight:500}.session-history-actions{display:flex;justify-content:flex-end}.session-history-footer{display:flex;justify-content:center;padding-top:12px}@media (max-width: 640px){.session-history li{grid-template-columns:1fr;align-items:start}.session-history-actions{justify-content:flex-start}}.event-log{display:flex;flex-direction:column;gap:4px;max-height:240px;overflow-y:auto;font-size:13px;color:var(--fg-muted)}.event-log li{list-style:none;padding:4px 8px;border-left:2px solid var(--border);overflow-wrap:anywhere;word-break:break-word}.event-log li.outcome-hit,.event-log li.outcome-inhibit{border-left-color:var(--good)}.event-log li.outcome-miss,.event-log li.outcome-impulse,.event-log li.outcome-slow,.event-log li.outcome-early{border-left-color:var(--danger)}.banner-mock{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;background:#503a00;color:var(--accent);border-radius:999px;font-size:11px;text-transform:uppercase;letter-spacing:.05em}.source-pill{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;background:rgba(var(--hover-overlay-rgb),.04);color:var(--fg-muted);border:1px solid rgba(var(--hover-overlay-rgb),.08);border-radius:999px;font-size:10px;letter-spacing:.08em;align-self:flex-start}.source-pill-row{margin-top:12px}.source-pill.is-live{background:rgba(var(--good-rgb),.1);color:var(--good);border-color:rgba(var(--good-rgb),.28)}.source-pill.is-steeg{background:rgba(var(--accent-rgb),.1);color:var(--accent);border-color:rgba(var(--accent-rgb),.28)}.source-pill.is-mock{background:rgba(var(--danger-rgb),.08);color:var(--danger);border-color:rgba(var(--danger-rgb),.24)}.source-pill.is-none{color:var(--fg-muted)}.status-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;background:rgba(var(--hover-overlay-rgb),.05);border:1px solid rgba(var(--hover-overlay-rgb),.08);color:var(--fg-muted);font-size:10px;letter-spacing:.08em}.status-chip.live{background:rgba(var(--good-rgb),.16);color:var(--good);border-color:rgba(var(--good-rgb),.4)}.session-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:4px}.session-header h1{margin:0;font-size:24px}.session-share-row{display:inline-flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:4px 0 0}.session-room-code{letter-spacing:.18em;font-size:16px;background:rgba(var(--accent-rgb),.12);border:1px solid rgba(var(--accent-rgb),.32);border-radius:8px;padding:2px 10px}.session-share-hint{font-size:12px;color:var(--fg-muted)}.session-share-hint code{font-size:11px;padding:1px 6px;background:rgba(var(--hover-overlay-rgb),.04);border-radius:4px}.trainer-controls-row{display:flex;gap:24px;flex-wrap:wrap;align-items:center}.trainer-controls-group{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.task-loaded-status{min-height:38px;display:inline-flex;align-items:center;padding:0 12px;border:1px solid rgba(var(--good-rgb),.3);border-radius:8px;background:rgba(var(--good-rgb),.1);color:var(--fg);font-size:13px;font-weight:800}.task-config-row{display:grid;grid-template-columns:minmax(110px,auto) repeat(4,minmax(120px,1fr));gap:10px;align-items:end;padding-top:12px;margin-top:10px;border-top:1px solid rgba(var(--hover-overlay-rgb),.08)}.task-config-row>.controls-label{align-self:center}.task-config-row label{display:grid;gap:5px;min-width:0;font-size:11px;color:var(--fg-muted)}.task-config-row input{width:100%;min-width:0}.task-config-row input:disabled{cursor:not-allowed;opacity:.72}.task-config-row strong{color:var(--fg);font-size:12px}.controls-label{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--fg-muted);margin-right:4px}.case-pause-reason{display:inline-flex;align-items:center;gap:8px;max-width:min(320px,100%);padding:7px 10px;border:1px solid rgba(var(--warning-rgb),.42);border-radius:8px;background:rgba(var(--warning-rgb),.12);color:var(--warning);font-size:12px;line-height:1.35;overflow-wrap:anywhere}.case-pause-reason span{flex:none;color:var(--fg-muted)}.case-pause-reason.compact{max-width:min(520px,100%);margin-left:auto}.danger-ghost{color:var(--danger)!important;border-color:rgba(var(--danger-rgb),.32)!important}.danger-ghost:hover:not(:disabled){background:rgba(var(--danger-rgb),.12)!important}.director-readout{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px;padding:10px 14px;border-radius:10px;background:rgba(var(--accent-rgb),.06);border:1px solid rgba(var(--accent-rgb),.18)}.director-source-note{flex-basis:100%;color:var(--fg-muted);font-size:12px;line-height:1.45}.signal-empty-note{padding:10px 12px;border:1px dashed var(--border);border-radius:8px;background:rgba(var(--surface-rgb),.45)}.signal-caveat{margin-top:8px;padding:8px 10px;border-radius:8px;background:rgba(var(--warning-rgb),.1);border:1px solid rgba(var(--warning-rgb),.24);color:var(--fg);line-height:1.45}.director-label{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);font-weight:600}.trainer-bias-controls{margin-top:10px;padding:10px 14px;border-radius:10px;background:rgba(var(--accent-rgb),.04);border:1px dashed rgba(var(--accent-rgb),.18);display:flex;flex-direction:column;gap:8px}.trainer-bias-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}.bias-state{color:var(--fg-muted);font-size:12px}.trainer-bias-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.trainer-bias-row>span{min-width:4em;font-size:12px;color:var(--fg-muted)}.trainer-bias-row button{padding:4px 12px;border-radius:8px;border:1px solid rgba(var(--accent-rgb),.3);background:transparent;color:var(--fg);font-size:12px;cursor:pointer}.trainer-bias-row button:hover:not(:disabled){background:rgba(var(--accent-rgb),.1)}.trainer-replay-btn:disabled,.trainer-rec-btn:disabled,.trainer-prompt-presets button:disabled,.trainer-prompt-inline button:disabled,.trainer-bias-row button:disabled{cursor:not-allowed}.card-title{margin:0 0 12px;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-muted)}:lang(zh-Hant) .kicker,:lang(zh-Hant) .director-label,:lang(zh-Hant) .controls-label,:lang(zh-Hant) .case-aside-card-title,:lang(zh-Hant) .case-trainer-toast-label,:lang(zh-Hant) .totem-label,:lang(zh-Hant) .card-title,:lang(zh-Hant) .session-room-label,:lang(zh-Hant) .marker-history-meta .tag,:lang(zh-Hant) .sound-card small,:lang(zh-Hant) .sound-card strong,:lang(zh-Hant) .case-quick-replies-label,:lang(zh-Hant) .session-readiness-title,:lang(zh-Hant) .case-list-section h2,:lang(zh-Hant) .case-stage-toolbar-title,:lang(zh-Hant) .chapter-card .kicker,:lang(zh-Hant) .hud-label,:lang(zh-Hant) .auth-form .auth-label,:lang(zh-Hant) .auth-form label>span{letter-spacing:.04em;text-transform:none}:lang(zh-Hant) body,:lang(zh-Hant) .auth-blurb,:lang(zh-Hant) .title-copy .story{line-height:1.6}:lang(zh-Hant) .brand-bar-context,:lang(zh-Hant) .auth-form label,:lang(zh-Hant) .auth-form .auth-label,:lang(zh-Hant) .case-stage-toolbar-title,:lang(zh-Hant) .session-room-label{letter-spacing:.04em;text-transform:none}:lang(zh-Hant) .room-code-input::placeholder{letter-spacing:.04em}@media (max-width: 600px){.auth-hero h1{font-size:28px;line-height:1.15;margin-bottom:14px}.case-stage-frame{min-height:clamp(260px,calc(100dvh - 240px),420px)}.case-intro{padding:18px 22px}.case-intro-grid{gap:16px;align-items:start}.title-copy h1{font-size:34px;margin:10px 0 12px}.title-copy .story,.mission-strip{margin-bottom:14px}.mission-strip span{padding:5px 10px}.start-button{width:100%;border-radius:8px;padding:13px 18px}.audio-status{margin-top:10px}.sound-totem{padding:14px}.sound-card{grid-template-columns:minmax(0,1fr) 68px;min-height:82px;padding:10px 10px 10px 12px}.sound-card strong{font-size:18px}.sound-card small{font-size:12px}.sound-card-animal{width:66px;height:54px}.game-view.is-case .game-score-stack{top:8px;left:8px;width:98px;gap:5px}.game-view.is-case .score-plaque{min-height:38px;grid-template-columns:21px minmax(0,1fr);padding:5px 7px;gap:0 5px;border-radius:6px;border-width:1px}.game-view.is-case .score-icon{width:19px;height:19px;font-size:11px}.game-view.is-case .score-plaque strong{font-size:16px}.game-view.is-case .score-plaque small,.game-view.is-case .score-plaque.hearts strong{font-size:9px}.game-view.is-case .game-task-card{top:8px;right:8px;width:min(230px,calc(100% - 122px));padding:8px 9px;gap:5px;border-width:1px}.game-view.is-case .task-heading strong{font-size:13px}.game-view.is-case .task-heading span,.game-view.is-case .task-rest-chip{font-size:9px}.game-view.is-case .task-rule-row{grid-template-columns:17px minmax(0,1fr);gap:5px;font-size:10px}.game-view.is-case .task-rule-row span{width:15px;height:15px;font-size:8px}.game-view.is-case .task-progress{height:7px}.game-view.is-case .game-choice-board{top:24%;width:70%;grid-template-columns:minmax(0,1fr) 26px minmax(0,1fr);gap:6px}.game-view.is-case .choice-versus{font-size:18px}.game-view.is-case .animal-choice-image{width:clamp(68px,23vw,100px)}.game-view.is-case .game-rule-dock{left:8px;right:8px;bottom:8px;min-height:80px;grid-template-columns:1fr 1fr;padding:6px;gap:6px;border-width:1px}.game-view.is-case .game-rule-dock p{grid-column:1 / -1;padding:5px 7px;font-size:10px;line-height:1.25}.game-view.is-case .rule-card>span{padding:3px 4px;font-size:10px}.game-view.is-case .rule-card-body{grid-template-columns:minmax(0,1fr) 40px;gap:4px;min-height:42px;padding:5px}.game-view.is-case .rule-card strong{padding:0;font-size:13px}.game-view.is-case .rule-card small{padding:1px 0 0;font-size:9px;line-height:1.2}.game-view.is-case .rule-card-animal{width:40px;height:32px;filter:brightness(.82) contrast(.9) sepia(.16) saturate(.78)}.game-view.is-case .case-go-button{bottom:96px;left:50%;width:92px;height:92px;border-width:4px;box-shadow:0 8px #43270a80,0 14px 30px #0000003d}.game-view.is-case .case-go-button:before{width:40px;height:31px}.game-view.is-case .case-go-button strong{font-size:22px}.game-view.is-case .case-go-action{font-size:9px}.game-view.is-case .case-message{bottom:auto;top:49%;max-width:82%;padding:11px 18px;font-size:16px;line-height:1.35}}.stat-tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}.stat-tile{display:flex;flex-direction:column;align-items:flex-start;padding:8px 10px;border-radius:8px;background:rgba(var(--accent-rgb),.06);border:1px solid rgba(var(--accent-rgb),.12);font-size:12px;color:var(--fg-muted)}.stat-tile strong{font-size:20px;font-weight:600;color:var(--fg);margin-top:2px;line-height:1}.stat-tile span:last-child{margin-top:2px;font-size:11px}.case-trainer-toast.flavor-alert{background:#dc4c3c2e;border-color:#dc4c3c8c}.case-trainer-toast.flavor-calm{background:#50aae62e;border-color:#50aae680}.case-trainer-toast.flavor-info{background:#a0a0aa2e;border-color:#a0a0aa66}.app-modal-scrim{position:fixed;inset:0;z-index:180;display:grid;place-items:center;padding:20px;background:rgba(var(--shadow-rgb),.52);backdrop-filter:blur(5px)}.app-confirm-dialog{width:min(460px,100%);padding:22px;border-radius:10px;background:var(--surface);border:1px solid var(--border);box-shadow:0 22px 54px rgba(var(--shadow-rgb),.32)}.app-confirm-dialog h2{margin:0;font-size:20px}.app-confirm-dialog p{margin:12px 0 0;color:var(--fg-muted);line-height:1.55;white-space:pre-line}.app-confirm-dialog.danger{border-color:rgba(var(--danger-rgb),.45)}.app-confirm-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px;flex-wrap:wrap}.trainer-prompt-status{display:inline-block;font-size:11px;color:var(--good, #4caf50);margin-top:4px}.trainer-prompt-warning{display:block;font-size:11px;color:var(--danger);margin-top:4px}.session-diagnostics{display:block}.session-diagnostics summary{cursor:pointer;display:flex;align-items:baseline;justify-content:space-between;gap:12px}.session-diagnostics summary::marker{color:var(--fg-muted)}.case-quick-replies{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 14px;background:rgba(var(--surface-rgb),.7);border-top:1px solid rgba(var(--hover-overlay-rgb),.08)}.case-page-stage:fullscreen .case-quick-replies,.case-page-stage.is-pseudo-fullscreen .case-quick-replies{position:absolute;left:12px;right:12px;bottom:12px;z-index:70;border:1px solid rgba(var(--hover-overlay-rgb),.1);border-radius:14px;background:rgba(var(--surface-rgb),.88);backdrop-filter:blur(8px)}.case-quick-replies-label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-muted);margin-right:6px}.case-quick-reply{padding:10px 16px;border-radius:999px;border:1px solid rgba(var(--accent-rgb),.3);background:rgba(var(--accent-rgb),.08);color:var(--fg);font-size:14px;cursor:pointer;min-height:48px;transition:transform .12s ease,background-color .12s ease,border-color .12s ease}.case-quick-reply:disabled{opacity:.55;cursor:not-allowed}.case-quick-reply.sent{transform:translateY(-1px);box-shadow:0 0 0 2px rgba(var(--good-rgb),.24)}.case-quick-reply-sent{min-height:32px;display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:rgba(var(--good-rgb),.12);color:var(--good);font-size:12px;font-weight:600}.case-quick-reply:hover{background-color:rgba(var(--accent-rgb),.18)}.case-quick-reply.help{background:rgba(var(--danger-rgb),.18);border-color:rgba(var(--danger-rgb),.6);color:var(--danger)}.case-quick-reply.tired{background:rgba(var(--warning-rgb),.18);border-color:rgba(var(--warning-rgb),.6);color:var(--warning)}.case-quick-reply.cant_hear{background:rgba(var(--info-rgb),.18);border-color:rgba(var(--info-rgb),.6);color:var(--info)}.case-quick-reply.ready{background:rgba(var(--good-rgb),.18);border-color:rgba(var(--good-rgb),.6);color:var(--good)}.case-quick-reply.bathroom{background:rgba(var(--accent-rgb),.12);border-color:rgba(var(--accent-rgb),.5);color:var(--accent)}.trainer-quick-reply-stack{display:grid;gap:8px;margin-bottom:12px}.trainer-quick-reply-banner{display:flex;align-items:center;gap:12px;padding:10px 16px;background:rgba(var(--info-rgb),.12);border:1px solid rgba(var(--info-rgb),.45);border-radius:10px;font-size:15px}.trainer-quick-reply-banner.is-urgent{background:rgba(var(--danger-rgb),.12);border-color:rgba(var(--danger-rgb),.5)}.trainer-quick-reply-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:rgba(var(--info-rgb),.2);color:var(--info);font-size:13px;font-weight:800}.trainer-quick-reply-banner.is-urgent .trainer-quick-reply-icon{background:rgba(var(--danger-rgb),.2);color:var(--danger)}.trainer-quick-reply-banner button{padding:6px 12px;border-radius:8px;border:1px solid rgba(var(--accent-rgb),.3);background:transparent;color:var(--fg);cursor:pointer}.trainer-quick-reply-banner strong+button{margin-left:auto}.trainer-quick-reply-banner button+button{margin-left:0}.trainer-communication-card{display:grid;gap:12px;margin-bottom:12px}.trainer-communication-inline{margin:4px 0 0;padding-top:10px;border-top:1px solid rgba(var(--hover-overlay-rgb),.08)}.trainer-communication-inline .trainer-communication-list{max-height:190px}.trainer-communication-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.trainer-communication-list{display:flex;flex-direction:column;gap:8px;max-height:280px;margin:0;padding:0;list-style:none;overflow-y:auto}.trainer-communication-list li{min-width:0;padding:10px 12px;border-radius:8px;border:1px solid rgba(var(--info-rgb),.25);background:rgba(var(--info-rgb),.07)}.trainer-communication-list li.from-case{border-color:rgba(var(--good-rgb),.28);background:rgba(var(--good-rgb),.08)}.trainer-communication-list li.urgent{border-color:rgba(var(--danger-rgb),.42);background:rgba(var(--danger-rgb),.1)}.trainer-communication-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px;font-size:11px;font-weight:700;color:var(--fg-muted)}.trainer-communication-meta time{flex:none;font-weight:500;text-transform:none}.trainer-communication-list p{margin:0;color:var(--fg);line-height:1.4;overflow-wrap:anywhere}.trainer-communication-reply{display:flex;gap:8px;padding-top:10px;border-top:1px solid rgba(var(--hover-overlay-rgb),.08)}.trainer-communication-reply input{min-width:0;flex:1 1 auto}.trainer-communication-reply button{flex:0 0 auto}@media (max-width: 720px){.trainer-communication-card header{display:grid}.trainer-communication-reply{display:grid}.case-pause-reason.compact{margin-left:0}.trainer-controls-row{display:grid;gap:18px}.trainer-controls-group{display:grid;grid-template-columns:1fr;align-items:stretch;gap:10px}.trainer-controls-group button,.trainer-controls-group .case-pause-reason{width:100%}.task-config-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.task-config-row>.controls-label{grid-column:1 / -1}.controls-label{margin-right:0}.trainer-trial-actions{width:100%;justify-content:stretch}.trainer-trial-actions button{flex:1 1 140px;min-width:0;white-space:normal}.marker-note-row,.trainer-prompt-form{display:grid}.marker-note-row button,.trainer-prompt-form button{width:100%}.director-history li{align-items:flex-start;flex-direction:column;gap:6px}.director-history-ts{align-self:flex-end}.session-diagnostics summary{align-items:flex-start;flex-direction:column;gap:4px}}.trainer-error-banner{display:flex;align-items:flex-start;gap:12px;padding:10px 14px;margin:8px 0 12px;background:#dc4c3c14;border:1px solid rgba(220,76,60,.45);border-radius:10px;color:#dc4c3c;font-size:14px;line-height:1.4;max-height:96px;overflow:auto}.trainer-error-banner span{flex:1;word-break:break-word}.trainer-error-banner button{font-size:18px;line-height:1;padding:0 4px}.trainer-controls.is-disconnected{opacity:.7}.trainer-controls-disconnected{margin:8px 0 0;color:var(--danger);font-size:13px}.session-readiness{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid rgba(var(--hover-overlay-rgb),.08)}.task-config-locked-hint{margin:8px 0 0;color:var(--fg-muted);font-size:12px;line-height:1.45}.session-readiness-title{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-muted);margin-right:2px}.session-readiness-item{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:10px;border:1px solid rgba(var(--hover-overlay-rgb),.1);color:var(--fg-muted);background:rgba(var(--hover-overlay-rgb),.04);font-size:12px}.session-readiness-item i{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:999px;border:1px solid currentColor;font-style:normal;font-size:12px;color:inherit}.session-readiness-status{font-weight:700}.session-readiness-item.done{border-color:rgba(var(--good-rgb),.38);background:rgba(var(--good-rgb),.12);color:var(--good)}.session-readiness-item.todo{border-color:rgba(var(--warning-rgb),.32);background:rgba(var(--warning-rgb),.08);color:var(--warning)}.recording-actions{display:flex;gap:6px}.recording-preview{width:100%;max-height:360px;margin-top:8px;border-radius:8px;background:#000}.case-recording-consent-scrim{position:absolute;inset:0;z-index:60;display:grid;place-items:center;padding:20px;background:#080c129e;backdrop-filter:blur(4px)}.case-recording-consent{width:min(420px,100%);padding:22px 24px;border-radius:14px;background:#0f161ef5;border:1px solid rgba(220,200,120,.5);color:#f1f4f8;box-shadow:0 12px 28px #00000059}.case-recording-consent strong{display:block;font-size:20px;line-height:1.25}.case-recording-consent p{margin:10px 0 18px;font-size:15px;line-height:1.5;color:#f1f4f8d1}.case-recording-consent-actions{display:flex;gap:8px;justify-content:flex-end}.case-recording-consent-actions button{min-height:44px;padding:8px 16px;border-radius:8px;border:1px solid rgba(220,200,120,.4);background:transparent;color:#f1f4f8;cursor:pointer}.case-recording-consent-actions button.primary{background:#dcc87840}.trainer-self-tile{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:12px;background:rgba(var(--surface-rgb),.7);border:1px solid rgba(var(--hover-overlay-rgb),.06)}.trainer-self-tile video{width:220px;height:165px;background:#000;border-radius:8px;object-fit:cover}.trainer-self-tile video.is-screen{width:260px;height:auto;aspect-ratio:16 / 9;object-fit:contain}.trainer-self-tile video.is-off{display:none}.trainer-cam-error{font-size:12px;color:var(--danger);margin:0}.trainer-camera-toggle{padding:4px 10px;border-radius:8px;border:1px solid rgba(var(--accent-rgb),.36);background:rgba(var(--accent-rgb),.12);color:var(--accent);font-size:11px;letter-spacing:.04em}.trainer-camera-toggle.live{border-color:rgba(var(--good-rgb),.45);background:rgba(var(--good-rgb),.16);color:var(--good)}.case-trainer-pip{position:absolute;right:12px;bottom:12px;z-index:30;width:144px;height:108px;border-radius:12px;overflow:hidden;background:#000;border:2px solid rgba(241,244,248,.4);box-shadow:0 4px 18px #0006}.case-trainer-pip.is-screen{width:min(260px,38vw);height:auto;aspect-ratio:16 / 9}.case-trainer-pip-label{position:absolute;top:6px;left:6px;z-index:1;max-width:calc(100% - 12px);padding:3px 7px;border-radius:999px;background:#111827c2;color:#fff;font-size:11px;font-weight:700;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.case-trainer-pip video{width:100%;height:100%;object-fit:cover}.case-trainer-pip video.is-screen{object-fit:contain}.case-trainer-audio-unblock{position:absolute;left:8px;right:8px;bottom:8px;min-height:34px;border-radius:8px;border:1px solid rgba(255,255,255,.5);background:#111827d1;color:#fff;font-weight:700;cursor:pointer}.trainer-net-chip{font-size:11px;padding:2px 8px;border-radius:999px;border:1px solid var(--border);background:var(--bg);letter-spacing:.02em;cursor:help}.trainer-net-chip.is-good{border-color:rgba(var(--good-rgb),.55);color:var(--good)}.trainer-net-chip.is-warn{border-color:rgba(var(--accent-rgb),.55);color:var(--accent)}.trainer-net-chip.is-bad{border-color:var(--danger);color:var(--danger)}@media print{body{background:#fff;color:#000}.brand-bar,.trainer-controls,.trainer-prompt-card,.trainer-self-tile,.trainer-quick-reply-banner,.case-trainer-toast,.signal-tab,.recording-list .recording-actions,.recording-preview,.session-share-row .link-button,.trainer-bias-controls,.session-history-actions,.mock-banner,.case-aside-camera-button,.room-qr,button{display:none!important}.card{break-inside:avoid}.trainer-page{max-width:none;padding:0}h1{color:#000}.trainer-connection-pill,.trainer-net-chip,.session-state-pill{display:inline-block!important}}.case-replaced-overlay{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center;background:#080c12f0;color:#f1f4f8}.case-replaced-overlay h2{font-size:28px;margin:0}.case-replaced-overlay p{max-width:480px;color:#f1f4f8c7;line-height:1.55}.case-replaced-overlay button{padding:12px 22px;border-radius:12px;border:none;background:linear-gradient(180deg,#ffe07c,#ffb84a);color:#2a1c00;font-size:16px;font-weight:600;cursor:pointer}.case-terminal-overlay{position:fixed;inset:0;z-index:190;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;text-align:center;background:#080c12;color:#f1f4f8}.case-terminal-overlay.is-ended{background:linear-gradient(180deg,#0c1214c7,#06090df2),url(/art/jungle-temple-bg.webp) center / cover no-repeat}.case-terminal-overlay.is-empty-finish{background:linear-gradient(180deg,#0c1214c7,#06090df2),url(/art/jungle-bridge-bg.webp) center / cover no-repeat}.case-terminal-overlay.is-ended:before{content:"";position:fixed;inset:0;pointer-events:none;background:#03080b3d}.case-terminal-overlay>*{position:relative;z-index:1}.case-terminal-kicker{max-width:none;color:#f8c555!important;font-size:13px!important;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.case-terminal-crest{width:min(210px,45vw);aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 18px 34px rgba(0,0,0,.45))}.case-terminal-crest.is-muted{width:min(170px,38vw);opacity:.92}.case-terminal-overlay h2{margin:0;font-size:clamp(28px,5vw,48px);line-height:1.1}.case-terminal-overlay p{max-width:560px;margin:0;color:#f1f4f8cc;font-size:17px;line-height:1.55}.case-terminal-reward{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.case-terminal-reward span{min-width:118px;padding:12px 16px;border-radius:14px;border:1px solid rgba(248,197,85,.45);background:#f8c5551f;color:#f1f4f8db;font-weight:700}.case-terminal-reward strong{display:block;color:#f8c555;font-size:28px;line-height:1}.case-terminal-overlay button{min-height:48px;padding:12px 22px}.trainer-bias-row input[type=range]{flex:1;min-width:0}.trainer-bias-row input[type=range]:disabled{cursor:not-allowed;opacity:.55}.trainer-bias-value{min-width:2.5em;text-align:right;font-variant-numeric:tabular-nums;font-size:12px;color:var(--fg)}.case-device-picker{display:flex;flex-direction:column;gap:6px;margin-top:6px}.case-device-picker label{display:flex;flex-direction:column;gap:2px;font-size:11px;color:var(--fg-muted)}.case-device-picker select{font-size:12px;padding:4px;border-radius:6px;border:1px solid rgba(var(--accent-rgb),.3);background:rgba(var(--surface-rgb),.6);color:var(--fg)}.session-consent-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.consent-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:11px;border:1px solid var(--border)}.consent-chip.granted{border-color:rgba(var(--good-rgb),.55);color:var(--good)}.consent-chip.denied{border-color:var(--danger);color:var(--danger)}.case-waiting-overlay{position:fixed;inset:0;z-index:180;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;text-align:center;background:#080c12;color:#f1f4f8}.case-waiting-overlay h2{font-size:26px;margin:0}.case-waiting-overlay p{max-width:440px;color:#f1f4f8c7;line-height:1.55;margin:0}.case-waiting-figure{width:min(112px,28vw);aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 14px 26px rgba(0,0,0,.45));animation:case-wait-bob 1.9s ease-in-out infinite}.case-waiting-trainer-message{width:min(440px,100%);display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid rgba(var(--accent-rgb),.48);border-radius:8px;background:#ffffff14;text-align:left}.case-waiting-conversation{width:min(440px,100%);max-height:190px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;text-align:left}.case-waiting-conversation li{max-width:92%;padding:11px 13px;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:#ffffff14}.case-waiting-conversation li.from-case{align-self:flex-end;border-color:rgba(var(--good-rgb),.45);background:rgba(var(--good-rgb),.14)}.case-waiting-conversation span{display:block;margin-bottom:2px;color:#f1f4f8a3;font-size:10px;font-weight:800;text-transform:uppercase}.case-waiting-conversation p{margin:0;color:#f1f4f8;line-height:1.45;font-size:15px}.case-waiting-message-form{width:min(440px,100%);margin-top:2px}.case-waiting-message-form .case-message-form-title{color:#f1f4f8e0}.case-waiting-message-form input{min-height:44px;background:#ffffff1a;border-color:#ffffff38;color:#f1f4f8}.case-waiting-message-form input::placeholder{color:#f1f4f885}.case-waiting-leave{border:0;background:transparent;color:#f1f4f8a8;font-size:14px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.case-waiting-leave:hover{color:#f1f4f8}@keyframes case-wait-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}
