:root{color-scheme:dark;--ground: #080D15;--panel: rgba(14, 22, 34, .94);--panel-2: #131E2C;--edge: #1E2C40;--edge-soft: #17222F;--text: #DDE5F0;--dim: #8492A6;--faint: #5A6879;--steel: #4B5D74;--teal: #22D3B8;--amber: #FFB347;--red: #FF6B6B;--mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--sans: "IBM Plex Sans", system-ui, -apple-system, Segoe UI, sans-serif;--drawer: min(440px, 100vw)}html,body{height:100%;margin:0;overflow:hidden}body{background:var(--ground);color:var(--text);font:14px var(--sans);-webkit-font-smoothing:antialiased}[hidden]{display:none!important}.app{position:fixed;inset:0}.stage{position:absolute;inset:0;overflow:hidden;background:var(--ground);container-type:size}.stage canvas.scene-canvas{display:block;width:100%;height:100%}.stage.is-empty canvas.scene-canvas,.stage.is-empty .sc-overlay{visibility:hidden}.stage .sc-layer{position:absolute;inset:0}.placeholder{position:absolute;inset:0;display:grid;place-content:center;gap:8px;text-align:center}.placeholder p{margin:0;font-size:clamp(18px,2.2vw,30px);font-weight:500}.placeholder span{color:var(--dim);font-size:14px}.transport{position:absolute;left:16px;right:16px;bottom:14px;max-width:1100px;margin:0 auto;border:1px solid var(--edge);border-radius:10px;background:var(--panel);backdrop-filter:blur(8px);padding:9px 12px 10px;display:flex;flex-direction:column;gap:8px;transition:opacity .35s,transform .35s}.app.idle .transport{opacity:0;transform:translateY(10px);pointer-events:none}.app.idle{cursor:none}.app.drawer-open .transport{right:calc(var(--drawer) + 16px)}.tline{display:flex;align-items:center;gap:12px}.pbtn{flex:none;width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--edge);border-radius:8px;background:var(--panel-2);color:var(--text);cursor:pointer;padding:0}.pbtn:hover{border-color:var(--steel)}.pbtn:disabled{opacity:.4;cursor:default}.pbtn svg{width:13px;height:13px;fill:currentColor}.time{flex:none;font-family:var(--mono);font-size:12px;font-variant-numeric:tabular-nums}.time .sep,.time .unit{color:var(--faint)}.time .tot{color:var(--dim)}input[type=range]{flex:1;min-width:0;-webkit-appearance:none;appearance:none;height:18px;background:transparent;cursor:pointer;margin:0}input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:linear-gradient(90deg,var(--teal) 0 var(--pct, 0%),var(--edge) var(--pct, 0%) 100%)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:13px;height:13px;margin-top:-4.5px;border-radius:50%;background:var(--amber);border:none}input[type=range]::-moz-range-track{height:4px;border-radius:2px;background:var(--edge)}input[type=range]::-moz-range-progress{height:4px;border-radius:2px;background:var(--teal)}input[type=range]::-moz-range-thumb{width:13px;height:13px;border-radius:50%;background:var(--amber);border:none}.beats{display:grid;gap:3px}.beats:empty{display:none}.beats button{border:none;background:transparent;border-top:2px solid var(--edge-soft);padding:5px 0 0;font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);text-align:left;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.beats button:hover{color:var(--dim);border-top-color:var(--steel)}.beats button.on{border-top-color:var(--teal);color:var(--teal)}.ctl{display:inline-flex;align-items:center;gap:7px;flex:none;font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}select{-webkit-appearance:none;appearance:none;font-family:var(--mono);font-size:11.5px;color:var(--text);background:var(--panel-2);border:1px solid var(--edge);border-radius:6px;padding:5px 8px;cursor:pointer}input[type=checkbox]{appearance:none;-webkit-appearance:none;width:14px;height:14px;margin:0;border:1px solid var(--edge);border-radius:4px;background:var(--panel-2);cursor:pointer;position:relative}input[type=checkbox]:checked{background:var(--teal);border-color:var(--teal)}input[type=checkbox]:checked:after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid var(--ground);border-width:0 1.6px 1.6px 0;transform:rotate(40deg)}.tbtn{flex:none;border:1px solid var(--edge);border-radius:7px;background:var(--panel-2);color:var(--text);font:500 12px var(--sans);padding:6px 10px;cursor:pointer}.tbtn:hover{border-color:var(--steel)}.tbtn:disabled{opacity:.4;cursor:default}.tbtn.icon{width:30px;height:30px;padding:0;display:grid;place-items:center}.tbtn.icon svg{width:12px;height:12px}.tbtn.primary{background:var(--teal);border-color:var(--teal);color:var(--ground)}:where(button,select,input,textarea,a):focus-visible{outline:2px solid var(--amber);outline-offset:2px}.drawer{position:absolute;top:0;right:0;bottom:0;width:var(--drawer);box-sizing:border-box;background:var(--panel);backdrop-filter:blur(10px);border-left:1px solid var(--edge);padding:14px 16px 16px;display:flex;flex-direction:column;gap:16px;overflow-y:auto;transform:translate(100%);transition:transform .3s}.app.drawer-open .drawer{transform:none}.dhead{display:flex;align-items:center;gap:8px}.dhead .eyebrow{flex:1}.dhead .project{flex:1;min-width:0;font:600 13px var(--sans)}.eyebrow{font-family:var(--mono);font-size:9.5px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--faint)}section{display:flex;flex-direction:column;gap:8px}section.grow{flex:none}.shead{display:flex;align-items:center;gap:8px}.shead .eyebrow{flex:1}.status{font-size:11px;color:var(--dim)}.scenes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.scenes button{display:flex;gap:10px;width:100%;text-align:left;background:transparent;border:none;border-left:2px solid var(--edge-soft);padding:6px 0 6px 10px;color:var(--dim);font:13px var(--sans);cursor:pointer}.scenes button:hover{color:var(--text);border-left-color:var(--steel)}.scenes button.on{color:var(--text);border-left-color:var(--teal)}.scenes .n{font-family:var(--mono);font-size:11px;color:var(--faint);min-width:1.4em}.scenes button.on .n{color:var(--teal)}.title-input,.request-input{box-sizing:border-box;width:100%;background:var(--ground);color:var(--text);border:1px solid var(--edge);border-radius:8px;padding:9px 10px}.title-input{font:600 14px var(--sans)}.request-input{min-height:70px;resize:vertical;font:13px/1.45 var(--sans)}.seq-field{display:flex;flex-direction:column;gap:4px}.seq-field>span{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}.seq-field textarea,.desc-input{box-sizing:border-box;width:100%;background:var(--ground);color:var(--text);border:1px solid var(--edge);border-radius:8px;padding:8px 10px;font:12.5px/1.5 var(--sans);resize:vertical;field-sizing:content;min-height:3.2em}.sequences{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.sequence{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--edge-soft);border-radius:10px;border-left:2px solid var(--teal)}.seq-head{display:flex;align-items:center;gap:8px}.seq-label{width:5em;background:var(--ground);color:var(--teal);border:1px solid var(--edge);border-radius:6px;padding:3px 7px;font:500 12px var(--mono)}.seq-head .tbtn.icon{margin-left:auto;width:24px;height:24px;font-size:15px;line-height:1}.seq-recording{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:6px 8px;border:1px dashed var(--edge);border-radius:8px}.seq-recording-name{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}.seq-recording-status{flex:1;min-width:8em;font:11px/1.4 var(--mono);color:var(--dim)}.seq-recording.is-recording{border-color:var(--red)}.seq-recording.is-recording .seq-recording-status{color:var(--red)}.seq-recording-actions{display:flex;gap:6px}.seq-recording audio{width:100%;height:32px}.seq-pause{display:flex;align-items:center;gap:4px}.seq-pause>span{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}.seq-pause input{width:4.2em;background:var(--ground);color:var(--text);border:1px solid var(--edge);border-radius:6px;padding:3px 5px;font:500 12px var(--mono)}.add-sequence{align-self:flex-start}.quote{margin:0;padding:6px 9px;border-left:2px solid var(--amber);font:11.5px/1.45 var(--mono);color:var(--dim);white-space:pre-wrap;max-height:90px;overflow:auto}.rfoot{display:flex;align-items:center;justify-content:space-between;gap:8px}.rfoot .ctl{text-transform:none;letter-spacing:0;font-size:11.5px}.requests{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.requests li{border:1px solid var(--edge-soft);border-radius:8px;padding:8px 10px;display:flex;flex-direction:column;gap:5px}.requests li.empty{border:none;padding:0;color:var(--faint);font-size:12px}.requests .meta{display:flex;gap:8px;align-items:center;font:10.5px var(--mono);color:var(--faint)}.requests .chip{padding:1px 7px;border-radius:999px;border:1px solid var(--amber);color:var(--amber);text-transform:uppercase;letter-spacing:.08em;font-size:9.5px}.requests li[data-status=done] .chip{border-color:var(--teal);color:var(--teal)}.requests li[data-status=rejected] .chip{border-color:var(--red);color:var(--red)}.requests p{margin:0;font-size:12.5px;line-height:1.45;white-space:pre-wrap}.requests blockquote{margin:0;padding-left:8px;border-left:2px solid var(--edge);font:11px/1.4 var(--mono);color:var(--faint);white-space:pre-wrap}.requests .reply{color:var(--teal)}@media(max-width:700px){.ctl[for=speed],.ctl[for=loop],.ctl[for=voice],.app.drawer-open .transport{display:none}}::view-transition{pointer-events:none}::view-transition-old(root){display:none}::view-transition-new(root){animation:none}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation-duration:1.4s;animation-timing-function:cubic-bezier(.65,0,.35,1)}.beats button.transition{border-top-style:dashed}
