:root{--bg:#11131a;--panel:#171a23;--panel-2:#1d2130;--line:#2a2f3d;--ink:#eef1f7;--muted:#9aa3b5;--accent:#ffd43b;--danger:#ff6b6b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px}button{font:inherit;color:var(--ink);background:var(--panel-2);border:1px solid var(--line);cursor:pointer;border-radius:6px;padding:.45em .8em}button:hover:not(:disabled){border-color:#3b4254}button:disabled{opacity:.45;cursor:default}button.active,button.primary{background:var(--accent);border-color:var(--accent);color:#1a1a1a;font-weight:600}button.big{padding:.7em 1.6em;font-size:1rem}button.danger{color:var(--danger);border-color:#4a2b2b;width:100%}input,select,textarea{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:6px;width:100%;padding:.4em .55em}input[type=color]{cursor:pointer;height:32px;padding:2px}input[type=range]{padding:0}textarea{resize:vertical}.shell{background:radial-gradient(1200px 700px at 50% -10%, #1d2130 0%, var(--bg) 60%);place-items:center;min-height:100dvh;padding:24px;display:grid}.dropzone{text-align:center;border:2px dashed #0000;border-radius:16px;max-width:540px;padding:40px;transition:border-color .15s,background .15s}.dropzone-hot{border-color:var(--accent);background:#ffd43b0f}.wordmark{letter-spacing:-.02em;margin:0 0 .2em;font-size:clamp(2.5rem,8vw,4rem)}.accent{color:var(--accent)}.tagline{color:var(--muted);margin:0 0 2em;font-size:1.05rem}.hint{color:var(--muted);margin:.8em 0 0;font-size:.85rem}.error{color:var(--danger);margin-top:1em;font-size:.9rem}.editor{flex-direction:column;height:100dvh;display:flex}.toolbar{border-bottom:1px solid var(--line);background:var(--panel);flex-wrap:wrap;align-items:center;gap:20px;padding:10px 16px;display:flex}.toolbar-group{align-items:center;gap:8px;display:flex}.toolbar-right{margin-left:auto}.toolbar-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.8rem}.clock{color:var(--muted);min-width:11ch;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.source-name{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:24ch;overflow:hidden}.workspace{flex:1;grid-template-columns:minmax(0,1fr) 320px;min-height:0;display:grid}.workspace-main{flex-direction:column;gap:16px;min-width:0;min-height:0;padding:16px;display:flex;overflow:auto}.workspace-side{border-left:1px solid var(--line);background:var(--panel);flex-direction:column;gap:24px;padding:16px;display:flex;overflow-y:auto}.stage{background:#000;border-radius:8px;flex:none;align-self:center;max-width:100%;position:relative;overflow:hidden}.stage-canvas{width:100%;height:auto;display:block}.stage-overlay{touch-action:none;cursor:crosshair;position:absolute;inset:0}.selection-box{border:1px dashed var(--accent);pointer-events:none;position:absolute}.handle{background:var(--accent);touch-action:none;border:2px solid #1a1a1a;border-radius:50%;width:12px;height:12px;margin:-6px 0 0 -6px;position:absolute}.handle-corner{cursor:nwse-resize}.handle-ne,.handle-sw{cursor:nesw-resize}.handle-tail{cursor:move;background:#fff;border-radius:2px}.timeline{--lane-label:150px;--lane-trash:32px;--lane-gap:8px;--lane-pad:8px;border:1px solid var(--line);background:var(--panel);border-radius:8px;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.timeline-scroll{flex:1;min-height:0;overflow-y:auto}.timeline-head{z-index:3;grid-template-columns:var(--lane-label) minmax(0, 1fr) var(--lane-trash);gap:var(--lane-gap);padding:0 var(--lane-pad);background:var(--panel-2);border-bottom:1px solid var(--line);display:grid;position:sticky;top:0}.timeline-ruler{cursor:pointer;touch-action:none;height:30px;position:relative}.export-range{pointer-events:none;background:#ffd43b1f;position:absolute;top:0;bottom:0}.tick{border-left:1px solid var(--line);pointer-events:none;position:absolute;top:0;bottom:0}.tick span{color:var(--muted);white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;position:absolute;top:7px;left:4px}.playhead{background:var(--accent);pointer-events:none;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0}.lanes-empty{color:var(--muted);margin:0;padding:16px;font-size:.85rem}.lane{grid-template-columns:var(--lane-label) minmax(0, 1fr) var(--lane-trash);align-items:center;gap:var(--lane-gap);padding:4px var(--lane-pad);border-bottom:1px solid var(--line);display:grid}.lane-selected{background:#ffd43b0f}.lane-label{text-align:left;background:0 0;border:none;align-items:center;gap:6px;padding:4px;display:flex;overflow:hidden}.lane-text{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.85rem;overflow:hidden}.kind-dot{border-radius:50%;flex:none;width:8px;height:8px}.kind-speech{background:#6ea8fe}.kind-thought{background:#9b8cfb}.kind-shout{background:#ff9f43}.lane-track{background:var(--bg);touch-action:none;border-radius:4px;height:26px;position:relative}.clip{cursor:grab;touch-action:none;background:#334a7a;border:1px solid #4a67a8;border-radius:4px;justify-content:center;align-items:center;min-width:10px;display:flex;position:absolute;top:3px;bottom:3px;overflow:hidden}.lane-selected .clip{border-color:var(--accent);background:#4a67a8}.clip-body{color:#dbe4ff;pointer-events:none;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.clip-edge{cursor:ew-resize;background:#ffffff40;width:7px;position:absolute;top:0;bottom:0}.clip-edge-start{left:0}.clip-edge-end{right:0}.lane-playhead{background:var(--accent);opacity:.55;pointer-events:none;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0}.lane-remove{color:var(--muted);background:0 0;border:none;padding:2px 6px;font-size:18px;line-height:1}.lane-remove:hover{color:var(--danger)}.inspector,.export-panel{flex-direction:column;gap:12px;display:flex}.export-panel h2{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0;font-size:.8rem}.inspector-empty{color:var(--muted);margin:0}.field{flex-direction:column;gap:5px;min-width:0;display:flex}.field label,.field-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.75rem}.field-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.segmented{gap:4px;display:flex}.segmented button{text-transform:capitalize;flex:1;padding:.4em .3em;font-size:.82rem}.colors{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.colors label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);flex-direction:column;gap:5px;font-size:.75rem;display:flex}.summary{flex-direction:column;gap:4px;margin:0;display:flex}.summary div{justify-content:space-between;gap:12px;display:flex}.summary dt{color:var(--muted);font-size:.8rem}.summary dd{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem}.progress{border:1px solid var(--line);color:var(--muted);border-radius:6px;padding:6px 8px;font-size:.8rem;position:relative;overflow:hidden}.progress-bar{background:#ffd43b2e;transition:width .1s linear;position:absolute;inset:0 auto 0 0}.progress span{position:relative}.download{text-align:center;color:#fff;background:#2c6e49;border-radius:6px;padding:.6em;font-weight:600;text-decoration:none;display:block}@media (max-width:960px){.workspace{grid-template-columns:minmax(0,1fr)}.workspace-side{border-left:none;border-top:1px solid var(--line)}}@media (max-width:760px){.editor{height:auto;min-height:100dvh}.workspace{min-height:0;display:block}.workspace-main,.workspace-side{padding:12px;overflow:visible}.timeline{--lane-label:76px;--lane-trash:28px;--lane-gap:6px;--lane-pad:6px}.timeline-scroll{max-height:40dvh}.toolbar{z-index:5;gap:10px;padding:8px 10px;position:sticky;top:0}.clock{min-width:auto}.source-name{max-width:14ch}.dropzone{padding:24px 16px}.field-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (pointer:coarse){button{min-height:40px}input,select,textarea{font-size:16px}.handle{width:20px;height:20px;margin:-10px 0 0 -10px}.lane-track{height:34px}.clip-edge{width:14px}.lane-remove{min-width:34px;font-size:22px}.timeline-ruler{height:36px}.segmented button{padding:.55em .3em}}
