:root{--ink:#0c0e10;--graphite:#16191d;--panel:#22282f;--rail:#1c2228;--line:#343c45;--brass:#d4a054;--brass-dim:#9a7340;--visor:#7eb8b2;--chalk:#e4ddd2;--muted:#9aa3ab;--alert:#c45c3e;--ok:#8fb36a;--shadow:0 18px 50px #00000073;font-synthesis:none;color:var(--chalk);background:var(--graphite);text-rendering:optimizelegibility;font-family:"Source Sans 3",Segoe UI,sans-serif}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;min-height:100%;margin:0}body{background:radial-gradient(1200px 500px at 80% -10%, #d4a05414, transparent 50%), var(--graphite)}h1,h2,.eyebrow,.tool,.btn-primary,.hud-brand strong{font-family:Chakra Petch,sans-serif}button,input{font:inherit}button{cursor:pointer}.mono{letter-spacing:.02em;font-family:IBM Plex Mono,ui-monospace,monospace}.eyebrow{color:var(--brass);letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:600}.muted{color:var(--muted)}.login{place-items:center;min-height:100%;padding:24px;display:grid}.login-plate{background:var(--panel);border:1px solid var(--line);width:min(440px,100%);box-shadow:var(--shadow);padding:36px 32px 32px;position:relative}.login-plate:before{content:"";background:linear-gradient(90deg, var(--brass), transparent 70%);height:3px;position:absolute;top:0;left:0;right:0}.login-plate h1{letter-spacing:.02em;margin:8px 0 10px;font-size:2rem;font-weight:600}.lead{color:var(--muted);margin:0 0 28px;line-height:1.45}.login-plate form{flex-direction:column;gap:16px;display:flex}label{flex-direction:column;gap:6px;font-size:.92rem;display:flex}input{background:var(--ink);color:var(--chalk);border:1px solid var(--line);border-radius:0;min-height:48px;padding:14px}input:focus{outline:2px solid var(--brass);outline-offset:1px}.form-error{color:var(--alert);margin:0}.btn-primary,.btn-wide,.btn-ghost,.tool{border:1px solid var(--line);background:var(--ink);min-height:48px;color:var(--chalk);padding:0 16px}.btn-primary{background:var(--brass);color:var(--ink);border-color:var(--brass);letter-spacing:.04em;text-transform:uppercase;font-size:1.05rem;font-weight:600}.btn-primary:disabled{opacity:.6;cursor:wait}.btn-primary:focus-visible,.btn-wide:focus-visible,.btn-ghost:focus-visible,.tool:focus-visible,.swatch:focus-visible{outline:2px solid var(--visor);outline-offset:2px}.btn-ghost{background:0 0}.btn-wide{width:100%;min-height:52px}.btn-wide.danger{border-color:var(--alert);color:var(--alert)}.btn-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.session{flex-direction:column;height:100%;min-height:0;display:flex}.hud-top{border-bottom:1px solid var(--line);background:var(--rail);align-items:center;gap:16px;padding:10px 16px;display:flex}.hud-brand{flex-direction:column;gap:2px;min-width:0;display:flex}.hud-stats{align-items:center;gap:18px;margin-left:auto;display:flex}.stat{color:var(--muted);align-items:center;gap:8px;font-size:.92rem;display:flex}.bars{align-items:flex-end;gap:3px;height:14px;display:flex}.bars i{background:var(--line);width:4px;display:block}.bars i:first-child{height:5px}.bars i:nth-child(2){height:8px}.bars i:nth-child(3){height:11px}.bars i:nth-child(4){height:14px}.bars i.on{background:var(--visor)}.banner{letter-spacing:.08em;text-transform:uppercase;justify-content:center;align-items:center;gap:12px;padding:10px;font-family:Chakra Petch,sans-serif;display:flex}.banner-warn{color:var(--brass);background:#3a2e16}.banner-err{color:#f0c2b6;background:#3a1f1a}.banner button{min-height:40px;color:inherit;background:0 0;border:1px solid;padding:0 14px}.session-body{flex:1;grid-template-columns:1fr 280px;min-height:0;display:grid}.stage{background:var(--ink);place-items:center;min-width:0;min-height:0;padding:16px;display:grid}.viewfinder{aspect-ratio:16/9;background:#050607;width:min(100%,177.778vh - 391.111px);max-height:100%;position:relative;overflow:hidden}.stage-video{object-fit:contain;background:#050607;width:100%;height:100%;display:block}.overlay-canvas{touch-action:none;cursor:crosshair;width:100%;height:100%;position:absolute;inset:0}.waiting{text-align:center;pointer-events:none;color:var(--muted);place-content:center;gap:6px;display:grid;position:absolute;inset:0}.waiting p{color:var(--chalk);margin:0;font-family:Chakra Petch,sans-serif;font-size:1.2rem}.bracket{border:2px solid var(--brass);pointer-events:none;z-index:2;width:28px;height:28px;position:absolute}.bracket.tl{border-bottom:0;border-right:0;top:10px;left:10px}.bracket.tr{border-bottom:0;border-left:0;top:10px;right:10px}.bracket.bl{border-top:0;border-right:0;bottom:10px;left:10px}.bracket.br{border-top:0;border-left:0;bottom:10px;right:10px}.side{background:var(--panel);border-left:1px solid var(--line);flex-direction:column;gap:12px;padding:12px;display:flex;overflow:auto}.tool-rail{flex-direction:column;gap:8px;display:flex}.tts-badge{color:var(--muted);border:1px dashed var(--line);margin:0;padding:6px 8px;font-size:.78rem}.tts-badge.on{color:var(--ok);border-color:#8fb36a73}.tts-badge.off{color:var(--alert);border-color:#c45c3e73}.tool.on{border-color:var(--brass);color:var(--brass)}.swatches{gap:8px;padding:4px 0 8px;display:flex}.swatch{border:2px solid #0000;width:36px;height:36px;padding:0}.swatch.on{border-color:var(--chalk)}.panel-block h2{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-size:.85rem;font-weight:600}.plist{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.plist li{align-items:center;gap:8px;display:flex}.dot{background:var(--line);border-radius:50%;width:8px;height:8px}.dot[data-live=true]{background:var(--ok)}.self-preview{aspect-ratio:16/9;background:var(--ink);border:1px solid var(--line);position:relative}.self-preview video{object-fit:cover;width:100%;height:100%}.self-label{color:var(--muted);pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.chat{border-top:1px solid var(--line);background:var(--rail);grid-template-columns:auto 1fr minmax(280px,360px);align-items:end;gap:12px;padding:8px 16px 12px;display:grid}.chat-capture{flex-direction:column;gap:4px;max-width:140px;display:flex}.chat-capture img,.chat-thumb{border:1px solid var(--line);object-fit:cover;border-radius:2px;width:120px;height:auto;display:block}.chat-item{margin-bottom:6px}.chat-file-card{flex-direction:column;gap:6px;margin-top:4px;display:flex}.chat-file-pdf{border:1px solid var(--line);color:var(--brass);padding:8px 12px;font-family:Chakra Petch,sans-serif;font-size:.85rem;text-decoration:none;display:inline-block}.chat-hide-btn{color:var(--muted);align-self:flex-start;padding:4px 8px;font-size:.82rem}.chat-log{max-height:88px;font-size:.95rem;overflow:auto}.chat-log p{margin:0 0 4px}.chat-log .mine b{color:var(--brass)}.chat-form{gap:8px;display:flex}.chat-form input{flex:1}.text-pop{z-index:3;position:absolute;transform:translate(-8px,-8px)}.text-pop input{min-width:180px}@media (width<=900px){.session-body{grid-template-rows:1fr auto;grid-template-columns:1fr}.side{border-left:0;border-top:1px solid var(--line);flex-flow:wrap}.tool-rail{flex-flow:wrap;width:100%}.tool,.btn-wide{flex:140px}.chat{grid-template-columns:1fr}.viewfinder{width:100%}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.dir-call{border:1px solid #ffffff40;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin:6px 0 14px;padding:10px 12px;display:flex}.dir-list{flex-direction:column;gap:6px;margin:0 0 14px;padding:0;list-style:none;display:flex}.dir-list li{align-items:center;gap:8px;font-size:14px;display:flex}.dir-list li .dir-name{font-weight:600}.dir-list li .muted{font-size:12px}.dot{background:#80808080;border-radius:50%;flex:none;width:8px;height:8px}.dir-list li.on .dot{background:#35c26f}.visually-hidden{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.rec-btn.on{background:var(--alert);border-color:var(--alert);color:#fff}.rec-btn.on:disabled{opacity:.7}.rec-badge{z-index:3;border:1px solid var(--alert);color:#fff;letter-spacing:.14em;background:#0c0e10bf;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-family:Chakra Petch,sans-serif;font-size:.72rem;display:inline-flex;position:absolute;top:10px;right:12px}.freeze-badge{z-index:3;border:1px solid var(--brass);color:#fff;letter-spacing:.14em;background:#0c0e10bf;border-radius:999px;padding:4px 10px;font-family:Chakra Petch,sans-serif;font-size:.72rem;position:absolute;top:10px;left:12px}.btn-wide.on{border-color:var(--brass);color:var(--brass)}.rec-dot{background:var(--alert);border-radius:50%;flex:none;width:8px;height:8px;animation:1.2s ease-in-out infinite rec-blink}@keyframes rec-blink{0%,to{opacity:1}50%{opacity:.25}}.rec-inline{color:var(--alert);align-items:center;gap:6px;display:inline-flex}.archive{width:min(860px,100%)}.archive-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.archive-head h1{margin:0;font-size:1.3rem}.archive-list{flex-direction:column;gap:10px;margin:16px 0 0;padding:0;list-style:none;display:flex}.archive-item{border:1px solid var(--line);background:var(--rail);border-radius:10px;flex-direction:column;gap:10px;padding:12px 14px;display:flex}.archive-item.failed{border-color:var(--alert)}.archive-meta{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.archive-player{background:#000;border-radius:8px;width:100%}.btn-ghost.danger{color:var(--alert)}
