:root{--bg: #0e1013;--panel: #171a1f;--panel2: #1e2228;--line: #2a2f37;--text: #e7e9ee;--dim: #8b93a1;--accent: #e8b04b;--a: #3b82f6;--b: #8b5cf6;--t: #e8b04b;--ov: #64748b;--music: #22c55e;--sfx: #14b8a6;--warn: #f59e0b;--bad: #ef4444;--ok: #22c55e;--font: Inter, system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:13px/1.4 var(--font);-webkit-font-smoothing:antialiased;overflow:hidden}button,input,select{font:inherit;color:inherit}button{background:var(--panel2);border:1px solid var(--line);border-radius:6px;padding:5px 10px;cursor:pointer}button:hover:not(:disabled){border-color:#3a414c;background:#242932}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--accent);color:#17130a;border-color:var(--accent);font-weight:600}button.ghost{background:transparent;border-color:transparent}input,select{background:#0f1216;border:1px solid var(--line);border-radius:6px;padding:5px 8px;min-width:0}input:focus,select:focus{outline:1px solid var(--accent);border-color:var(--accent)}kbd{font:11px var(--mono);background:#0b0d10;border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;padding:0 4px;margin:0 1px}.mono{font-family:var(--mono)}.dim{color:var(--dim)}.small{font-size:11px}.grow{flex:1}.pad{padding:16px}.warn{color:var(--warn)}.big{font-size:28px;font-weight:700;margin:4px 0 10px}.center{height:100%;display:grid;place-content:center;gap:12px;text-align:center}.login h1{margin:0;font-size:34px;letter-spacing:-.02em}.chip{border-radius:999px;padding:2px 10px;font-size:12px;background:transparent}.chip.on{background:var(--accent);color:#17130a;border-color:var(--accent)}.chip em{font-style:normal;opacity:.6;margin-left:5px}.topbar{height:44px;display:flex;align-items:center;gap:10px;padding:0 12px;border-bottom:1px solid var(--line);background:var(--panel)}.badge{font-size:12px;padding:3px 9px;border-radius:999px;border:1px solid var(--line);display:inline-flex;gap:6px;align-items:center}.badge.saved{color:var(--ok)}.badge.dirty,.badge.saving{color:var(--dim)}.badge.warn{color:var(--warn);border-color:var(--warn)}.badge button{padding:0 6px;font-size:11px}.home{height:100%;display:flex;flex-direction:column}.home-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:16px;padding:16px;overflow:auto}@media (max-width: 900px){.home-grid{grid-template-columns:1fr}}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:16px}.panel h3{margin:0 0 10px;font-size:14px}.panel h5{margin:14px 0 6px;color:var(--dim);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:11px}.proj{display:flex;justify-content:space-between;width:100%;margin:4px 0;text-align:left;padding:10px 12px}.new{display:flex;gap:8px;margin-top:16px}.new input{flex:1}.row{display:flex;gap:8px}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--dim);margin-right:4px}.dot.running{background:var(--ok);box-shadow:0 0 8px var(--ok)}.dot.pending,.dot.stopping{background:var(--warn)}.cost-row{display:flex;justify-content:space-between;padding:3px 0;border-bottom:1px solid var(--line);font-size:12px}.editor{height:100%;display:grid;grid-template-rows:44px minmax(0,58%) minmax(0,1fr) 24px}.workspace{display:grid;grid-template-columns:320px minmax(0,1fr) 300px;min-height:0;border-bottom:1px solid var(--line)}.left,.right{background:var(--panel);min-height:0;overflow:hidden}.left{border-right:1px solid var(--line)}.right{border-left:1px solid var(--line);overflow:auto}.center-col{display:flex;flex-direction:column;min-height:0;background:#0a0b0d}.statusbar{display:flex;align-items:center;padding:0 12px;font-size:11px;border-top:1px solid var(--line);background:var(--panel);white-space:nowrap;overflow:hidden}.bin{display:flex;flex-direction:column;height:100%}.bin-head{padding:10px;border-bottom:1px solid var(--line);display:grid;gap:8px}.search{width:100%}.roles{display:flex;flex-wrap:wrap;gap:4px}.cards{overflow:auto;padding:8px;display:grid;gap:8px;align-content:start;grid-auto-rows:max-content;grid-template-columns:1fr 1fr;min-height:0;flex:1}.card{background:var(--panel2);border:1px solid var(--line);border-radius:8px;overflow:hidden;cursor:grab}.card.sel{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.thumb{height:72px;background:#000 center/cover no-repeat;position:relative;display:grid;place-items:center}.thumb .kind{font-size:22px;color:var(--dim)}.thumb .dur{position:absolute;right:5px;bottom:4px;font-size:10px;background:#000a;padding:0 4px;border-radius:3px}.thumb .noproxy{position:absolute;left:5px;top:4px;font-size:10px;background:#f59e0bcc;color:#000;padding:0 4px;border-radius:3px}.card-body{padding:6px 8px 8px}.card-name{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.labels{display:flex;flex-wrap:wrap;gap:3px;margin-top:4px}.labels span{font-size:10px;color:var(--dim);background:#0f1216;border-radius:4px;padding:0 5px}.monitor{flex:1;display:flex;flex-direction:column;min-height:0}.monitor-head{display:flex;align-items:center;gap:8px;padding:6px 10px;font-size:12px}.tag{font-size:10px;letter-spacing:.1em;font-weight:700;color:var(--accent)}.screen{flex:1;min-height:0;display:grid;place-items:center;padding:4px}.frame{position:relative;height:100%;aspect-ratio:9 / 16;max-width:100%;background:#000;overflow:hidden;border-radius:4px;box-shadow:0 0 0 1px #000,0 10px 40px #0008}.vid{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.safe{position:absolute;left:0;right:0;background:#ff000014;border:0 dashed #ff6b6b66;pointer-events:none}.safe.top{top:0;height:6.56%;border-bottom-width:1px}.safe.bottom{bottom:0;height:48%;border-top-width:1px;background:#ff00000b}.safe.rail{top:52%;bottom:0;right:0;left:auto;width:13%;border-left-width:1px}.trans-flag{position:absolute;top:10%;left:50%;transform:translate(-50%);background:#000b;border:1px solid var(--accent);color:var(--accent);font:700 12px var(--mono);padding:3px 8px;border-radius:4px;text-align:center}.trans-flag small{display:block;color:var(--dim);font-weight:400;font-size:9px}.title-chip{position:absolute;left:6%;top:18%;max-width:70%;background:#e8b04bdd;color:#17130a;font-weight:600;font-size:11px;padding:2px 7px;border-radius:4px}.title-chip.ov{top:auto;bottom:54%;left:auto;right:15%;background:#64748bcc;color:#fff;font-weight:500}.title-chip+.title-chip{margin-top:22px}.empty{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--dim);padding:20px;text-align:center}.transport{display:flex;align-items:center;justify-content:center;gap:6px;padding:6px}.transport .play{width:44px}.tc{margin-left:10px;font-size:13px}.tc em{color:var(--dim);font-style:normal}.source-bar{display:flex;gap:8px;align-items:center;justify-content:center;padding:6px;border-top:1px solid var(--line);background:var(--panel);flex-wrap:wrap}.inspector{padding:12px;display:grid;gap:10px;align-content:start}.inspector h4{margin:0;font-size:14px;display:flex;gap:8px;align-items:center;word-break:break-all}.inspector p{margin:0}.field{display:grid;gap:3px;font-size:11px;color:var(--dim)}.field input,.field select{color:var(--text);font-size:12px}.row2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pill{font-size:10px;padding:1px 7px;border-radius:999px;color:#fff;font-weight:700;letter-spacing:.04em}.pill.a{background:var(--a)}.pill.b{background:var(--b)}.pill.t{background:var(--t);color:#17130a}.pill.m{background:var(--music);color:#04130a}.keys{display:grid;gap:5px;font-size:11px;color:var(--dim);margin-top:8px}.keys b{color:var(--text)}.errors{border:1px solid var(--warn);border-radius:8px;padding:8px;color:var(--warn);font-size:12px;display:grid;gap:4px}.timeline{display:flex;flex-direction:column;min-height:0;background:var(--panel)}.tl-tools{display:flex;align-items:center;gap:10px;padding:5px 12px;border-bottom:1px solid var(--line);font-size:11px}.tl-tools input[type=range]{width:160px;padding:0;accent-color:var(--accent)}.tl-scroll{flex:1;overflow:auto;position:relative}.tl-inner{position:relative;min-height:100%}.ruler{position:sticky;top:0;z-index:5;background:#121418;border-bottom:1px solid var(--line);cursor:ew-resize;display:flex}.head-spacer{position:sticky;left:0;background:#121418;z-index:2;border-right:1px solid var(--line)}.tick{position:absolute;top:0;bottom:0;border-left:1px solid #2a2f37}.tick span{position:absolute;top:5px;left:4px;font:10px var(--mono);color:var(--dim)}.beat{position:absolute;bottom:0;height:7px;border-left:1px solid var(--accent);opacity:.7}.note{position:absolute;bottom:8px;font-size:9px;color:var(--accent);transform:translate(-50%);white-space:nowrap}.track{position:relative;border-bottom:1px solid #22262d}.track-head{position:sticky;left:0;top:0;bottom:0;height:100%;z-index:3;background:var(--panel2);border-right:1px solid var(--line);font-size:11px;font-weight:600;color:var(--dim);display:flex;align-items:center;padding-left:10px;white-space:pre}.clip{position:absolute;top:3px;bottom:3px;border-radius:4px;overflow:hidden;cursor:grab;display:flex;flex-direction:column;justify-content:center;padding:0 8px;font-size:11px;color:#fff;border:1px solid #0006;-webkit-user-select:none;user-select:none;touch-action:none}.clip:active{cursor:grabbing}.clip.sel{outline:2px solid #fff;outline-offset:-1px;z-index:2}.clip-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}.clip-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.7;font-size:10px}.k-a .clip{background:linear-gradient(180deg,#4b8ff7,#2f6fd6)}.k-b .clip{background:linear-gradient(180deg,#9b6cf7,#7447d8)}.k-title .clip{background:#e8b04bd9;color:#17130a}.k-ov .clip{background:#64748b99}.k-music .clip{background:linear-gradient(180deg,#2fbf62,#198d47)}.k-sfx .clip{background:#14b8a6cc;padding:0 3px;font-size:9px}.edge{position:absolute;top:0;bottom:0;width:7px;cursor:ew-resize;z-index:2}.edge.l{left:0}.edge.r{right:0}.edge:hover{background:#fff5}.xfade{position:absolute;top:3px;bottom:3px;z-index:3;border-radius:3px;background:repeating-linear-gradient(135deg,#ffffff40 0,#ffffff40 4px,#ffffff15 4px,#ffffff15 8px);border:1px solid #ffffff60;display:grid;place-items:center;font:9px var(--mono);color:#fff;cursor:pointer}.xfade.cut{background:transparent;border:0}.covered{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(45deg,#00000070 0 3px,transparent 3px 7px);pointer-events:none;z-index:1}.playhead{position:absolute;top:0;bottom:0;left:0;width:1px;background:#ff4d4d;z-index:6;pointer-events:none}.playhead:before{content:"";position:absolute;top:0;left:-6px;border:6px solid transparent;border-top:9px solid #ff4d4d}.snapline{position:absolute;top:0;bottom:0;width:1px;background:var(--accent);z-index:7;pointer-events:none;box-shadow:0 0 6px var(--accent)}@media (max-width: 1100px){.workspace{grid-template-columns:240px minmax(0,1fr) 240px}}
