:root{--bg:#0a0908;--bg-raised:#14110f;--text:#e8e2d4;--text-dim:#8d8678;--border:#2a2420;--accent:#e0a040;--alarm:#8a0f0f;--font-display:"Cormorant Garamond", Georgia, serif;--font-ui:system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-ui)}button{font:inherit;color:var(--text);background:var(--bg-raised);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:.4rem .9rem}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.5;cursor:default}button.primary{border-color:var(--accent);color:var(--accent)}.shell{flex-direction:column;height:100%;display:flex}.topbar{border-bottom:1px solid var(--border);align-items:center;gap:1rem;padding:.6rem 1.2rem;display:flex}.topbar h1{font-family:var(--font-display);letter-spacing:.04em;color:var(--accent);margin:0;font-size:1.6rem;font-weight:600}.topbar .spacer{flex:1}.body{flex:1;min-height:0;display:flex}.stage{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1.5rem;padding:2rem;display:flex}.stage .line{font-family:var(--font-display);max-width:40ch;font-size:clamp(1.6rem,3.5vw,2.6rem);line-height:1.35}.stage .line.whisper{color:var(--text-dim);font-size:1.3rem;font-style:italic}.stage .hint{color:var(--text-dim)}.drawer{border-left:1px solid var(--border);background:var(--bg-raised);width:340px;overflow-y:auto}.drawer .tabs{border-bottom:1px solid var(--border);display:flex}.drawer .tabs button{color:var(--text-dim);background:0 0;border:0;border-radius:0;flex:1}.drawer .tabs button.active{color:var(--accent);box-shadow:inset 0 -2px var(--accent)}.drawer .panel{flex-direction:column;gap:.8rem;padding:1rem;display:flex}.drawer label{color:var(--text-dim);flex-direction:column;gap:.25rem;font-size:.85rem;display:flex}.drawer select,.drawer input{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:.35rem}.dial{color:var(--text-dim);align-items:center;gap:.5rem;font-size:.85rem;display:flex}.badge{color:var(--text-dim);font-size:.8rem}.debug{font-family:ui-monospace,Consolas,monospace;font-size:.8rem}.debug dt{color:var(--text-dim)}.debug dd{margin:0 0 .4rem}.progress{width:100%}.stage{position:relative;overflow:hidden}.stage>:not(.fx){z-index:1;position:relative}.stage .line{animation:1.2s ease-out both line-in}@keyframes line-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.stage .line{animation:none}}.stage .notice{max-width:46ch;color:var(--text-dim)}.fx{pointer-events:none;z-index:5;position:absolute;inset:0}.fx>div{opacity:0;position:absolute;inset:0}.fx-black{background:#000}.fx-red{mix-blend-mode:screen;background:radial-gradient(#8a0f0f40 30%,#8a0f0fd9 100%)}.fx-vignette{background:radial-gradient(#0000 45%,#000000e6 100%)}.drawer .check{flex-direction:row;align-items:center;gap:.5rem}.drawer .check input{padding:0}.shell.immersive .topbar,.shell.immersive .drawer{display:none}.hud{z-index:20;opacity:.55;gap:.4rem;transition:opacity .8s;display:flex;position:fixed;bottom:1rem;right:1rem}.hud.faded{opacity:0}.hud:hover,.hud:focus-within{opacity:1}.hud button{color:var(--text-dim);background:0 0;border-color:#0000;padding:.3rem .6rem;font-size:.8rem}.hud button:hover{color:var(--accent)}.stage .draft{max-width:52ch;font-family:var(--font-display);color:var(--text-dim);opacity:.55;white-space:pre-wrap;font-size:1.15rem;line-height:1.5}.error{color:#d08080;text-align:left;max-width:60ch}.error .cmd{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.error .cmd small{color:var(--text-dim);flex-basis:100%}.error code{background:var(--bg);border:1px solid var(--border);color:var(--text);word-break:break-all;border-radius:4px;padding:.2rem .4rem}.drawer h3{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin:.4rem 0 0;font-size:.8rem}.stage{justify-content:safe center;overflow-y:auto}.stage .draft{max-height:40vh;overflow:hidden}.waiting{z-index:20;color:var(--text-dim);font-family:var(--font-display);opacity:.7;font-style:italic;position:fixed;bottom:2rem;left:50%;transform:translate(-50%)}.fx-photo{opacity:0;width:100%;height:100%;position:absolute;inset:0}.drawer textarea{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);resize:vertical;border-radius:4px;padding:.4rem}.thumbs{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}.thumbs figure{margin:0;position:relative}.thumbs img{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--border);border-radius:4px;width:100%;display:block}.thumbs figcaption{color:var(--text-dim);font-size:.7rem}.thumbs figure button{background:#000000b3;padding:0 .4rem;font-size:.75rem;position:absolute;top:4px;right:4px}.drop{border:1px dashed var(--border);color:var(--text-dim);border-radius:6px;flex-direction:column;align-items:center;gap:.5rem;padding:.8rem;font-size:.85rem;display:flex}.drop.over{border-color:var(--accent);color:var(--accent)}.drop.disabled{opacity:.5}.flow{position:relative}.badge-button{color:var(--text-dim);background:0 0;border-color:#0000;padding:.2rem .4rem;font-size:.8rem}.flow-panel{z-index:30;background:var(--bg-raised);border:1px solid var(--border);border-radius:6px;width:min(30rem,90vw);padding:.6rem;position:absolute;top:2rem;right:0}.flow-panel table{border-collapse:collapse;width:100%;font-size:.8rem}.flow-panel th,.flow-panel td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.3rem .4rem}.flow-panel tr.leaves td{color:#e0a040}.voice-toggle{color:var(--text-dim);margin-top:.8rem;font-size:.8rem}.voice-toggle select{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:.2rem}
