:root{color-scheme:dark;--bg: #101114;--panel: #17191e;--inset: #12141a;--line: #2c313a;--text: #e7e9ee;--muted: #9aa1ac;--faint: #6e7580;--accent: #3d7cff;--accent-ink: #f4f7ff;--ok: #7dcea0;--warn: #e0a15a;--idle: #6e7580;font-family:SF Pro Text,Segoe UI,sans-serif;font-size:13px;line-height:1.4}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}p,ul{margin:0}img{display:block}.app{height:100%;display:grid;grid-template-rows:52px 40px minmax(0,1fr);background:var(--bg);color:var(--text)}.top,.tools,.side,.center{min-width:0}.top,.tools{display:flex;align-items:center;gap:10px;padding:0 12px;border-bottom:1px solid var(--line)}.brand{font-weight:640;letter-spacing:-.03em;font-size:16px;margin-right:6px}.brief,.pulse,.row,.effects,.sfx-row{display:flex;align-items:center;gap:8px}.brief{gap:6px}.spacer{flex:1}.clock{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;color:var(--text)}.vs{color:var(--faint)}input[type=text],input[type=number],select{background:var(--inset);border:1px solid var(--line);border-radius:4px;padding:4px 6px;min-width:0}input[type=text]{width:88px}.tools{gap:8px;color:var(--muted)}.status{margin-left:auto;max-width:46%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn,.pill,.text-btn{border-radius:4px;border:1px solid var(--line);background:var(--inset);padding:5px 8px}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.quiet,.text-btn{background:transparent}.btn.tiny,.pill{padding:3px 8px}.pill.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.text-btn{padding:2px 0;border:0;color:var(--accent)}.workspace{display:grid;grid-template-columns:292px minmax(0,1fr) 332px;min-height:0}.side{overflow:auto;background:var(--panel);border-right:1px solid var(--line);padding:12px;display:flex;flex-direction:column;gap:16px}.side.right{border-right:0;border-left:1px solid var(--line)}.center{display:grid;grid-template-rows:minmax(0,1fr) 196px;background:#0c0d11}.stage{position:relative;min-height:0;display:grid;place-items:center;padding:12px}canvas.preview{width:100%;height:100%;object-fit:contain;background:#000}.stage-empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);pointer-events:none;text-align:center;padding:24px}.timeline-wrap{display:grid;grid-template-columns:76px minmax(0,1fr);border-top:1px solid var(--line);min-height:0}.lane-labels{position:relative;color:var(--faint);font-size:10px}.lane-labels span{position:absolute;left:10px}.lane-labels span:nth-child(1){top:14px}.lane-labels span:nth-child(2){top:66px}.lane-labels span:nth-child(3){top:120px}.lane-labels span:nth-child(4){top:158px}canvas.timeline{width:100%;height:100%;display:block}.block{display:flex;flex-direction:column;gap:8px}.block-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.block-head h2{margin:0;font-size:13px;font-weight:620}.hint,.empty,.note,.keys,.track-name{color:var(--muted)}.track-name{color:var(--text)}.phrases,.library,.checks{list-style:none;padding:0;display:flex;flex-direction:column;gap:6px}.phrases li{display:grid;grid-template-columns:64px 108px minmax(0,1fr);gap:4px;align-items:center}.phrase-jump,.lib-main{background:transparent;border:0;padding:0;text-align:left;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.phrases input{width:100%}.library li{border:1px solid transparent;border-radius:4px}.library li.open{border-color:var(--line);background:var(--inset)}.lib-main{display:flex;gap:8px;align-items:center;width:100%;padding:4px;font-family:inherit;color:var(--text)}.lib-main strong,.suggest strong{display:block;font-weight:600}.lib-main em,.suggest em{display:block;color:var(--muted);font-style:normal;font-size:12px}.lib-main img,.swatch{width:48px;height:28px;border-radius:2px;flex:0 0 auto}.swatch{background:#243049}.swatch.wall{background:#1d4fbf}.swatch.gaze{background:#d5dbe6}.swatch.corridor{background:#8ea0b5}.swatch.proof{background:#10264f}.swatch.stakes{background:#9d2c32}.swatch.crowd{background:#2456b8}.swatch.release{background:#c5d4f2}.lib-edit{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:0 6px 8px}.lib-edit .check,.lib-edit .field{grid-column:1 / -1}.field{display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--muted)}.field input{width:72px}.check{display:flex;align-items:center;gap:6px}.kc{display:flex;flex-direction:column;gap:6px}.kc-form{display:flex;gap:6px}.kc-q{flex:1;width:auto;min-width:0}.chips{display:flex;flex-wrap:wrap;gap:4px}.kc-hits{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px;max-height:320px;overflow:auto}.kc-hit{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:6px;align-items:center}.kc-hit img,.kc-hit .swatch{width:64px;height:36px;object-fit:cover;border-radius:2px}.kc-hit strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;font-weight:600}.kc-hit em{display:block;color:var(--muted);font-style:normal;font-size:11px}.role-line{font-weight:600}.slot{color:var(--faint);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.suggests{display:flex;flex-direction:column;gap:6px}.suggest{display:flex;gap:8px;text-align:left;background:var(--inset);border:1px solid var(--line);border-radius:4px;padding:8px}.suggest kbd{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;border:1px solid var(--line);border-radius:3px;padding:0 5px;height:fit-content;color:var(--muted)}.keys{font-size:11px}.checks li{display:grid;grid-template-columns:92px minmax(0,1fr);gap:8px}.checks li span{color:var(--ok)}.checks li[data-tone=warn] span{color:var(--warn)}.checks li[data-tone=idle] span{color:var(--idle)}.checks p{color:var(--muted)}.ghost{color:var(--accent);font-size:11px}.effects{flex-wrap:wrap}button:focus-visible,input:focus-visible,select:focus-visible{outline:1px solid var(--accent);outline-offset:1px}@media(max-width:1100px){.workspace{grid-template-columns:240px minmax(0,1fr) 280px}.status{display:none}}
