:root{--bg: #15161a;--panel: #1e2027;--line: #2d303a;--text: #e8e9ed;--muted: #9aa0ae;--accent: #6aa9ff;--danger: #d9534f;--ok: #4caf7d;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 Segoe UI,system-ui,sans-serif}main{padding:16px;max-width:1400px;margin:0 auto}button{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:6px 12px;cursor:pointer}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{border-color:var(--accent)}button.danger{background:var(--danger);border-color:var(--danger);color:#fff}select,input{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:6px 10px}.topbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:16px}.topbar h1{font-size:18px;margin:0}.runner-badge{font-size:12px;padding:2px 8px;border-radius:999px;border:1px solid var(--line)}.runner-badge.online{color:var(--ok);border-color:var(--ok)}.runner-badge.offline{color:var(--muted)}.runner-paused{color:#e0a33e;font-size:12px;font-weight:600}.queue{font-size:12px;color:var(--muted)}.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.error{color:var(--danger)}.warn{color:#e0a33e}.empty{color:var(--muted)}.board{display:flex;flex-direction:column;gap:16px}.clip-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px}.clip-card.blocked{border-color:#7a4a2a}.clip-card header{display:flex;gap:12px;align-items:center;margin-bottom:8px}.clip-card .select{display:flex;gap:6px;align-items:center}.clip-card .timing{color:var(--muted);font-size:12px}.clip-card footer{display:flex;gap:8px;margin-top:10px}.blocked-reasons{margin:4px 0 8px;padding-left:18px;color:#e0a33e;font-size:12px}.clip-video{width:320px;border-radius:8px;margin-top:8px}.shots{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.shot-card{background:#191b21;border:1px solid var(--line);border-radius:8px;padding:8px}.shot-card.unconfigured{opacity:.65}.shot-card .thumb{aspect-ratio:16/9;background:#0f1014;border-radius:6px;display:grid;place-items:center;overflow:hidden;margin-bottom:6px}.shot-card .thumb img{width:100%;height:100%;object-fit:cover}.shot-card .placeholder{color:var(--muted);font-size:12px}.shot-card .meta{display:flex;gap:8px;align-items:center;font-size:12px}.shot-card .prompt{font-size:12px;color:var(--muted);margin:6px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.shot-card .assets{margin:0 0 6px;padding-left:16px;font-size:11px;color:var(--muted)}.job-state{font-size:11px;padding:1px 6px;border-radius:4px;border:1px solid var(--line)}.job-state.success{color:var(--ok);border-color:var(--ok)}.job-state.error,.job-state.uncertain{color:var(--danger);border-color:var(--danger)}.job-state.submitting,.job-state.submitted,.job-state.loading{color:var(--accent);border-color:var(--accent)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:grid;place-items:center}.modal{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:20px;width:min(560px,92vw);max-height:86vh;overflow:auto}.modal h2{margin:0 0 12px;font-size:16px}.modal .spend{font-size:15px}.modal .plan-list{max-height:160px;overflow:auto;font-size:12px;color:var(--muted)}.modal .skipped{margin:10px 0;font-size:12px;color:#e0a33e}.modal .note{font-size:12px;color:var(--muted)}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.setup{max-width:420px}.import-button{display:inline-block;padding:6px 12px;border:1px solid var(--line);border-radius:6px;cursor:pointer;font-size:13px}.import-button:hover{border-color:var(--accent)}.import-button input{display:none}.shot-actions{display:flex;gap:6px;flex-wrap:wrap}.shot-actions .import-button{padding:5px 8px;font-size:12px}.notice{color:var(--ok)}.view-switch{display:inline-flex;gap:4px;margin-left:auto}.view-switch button.active{border-color:var(--accent);color:var(--accent)}.asset-bank{margin-top:24px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px}.asset-bank header{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.asset-bank h2{font-size:15px;margin:0}.asset-bank .upload{border:1px solid var(--line);border-radius:6px;padding:6px 12px;cursor:pointer}.asset-bank .upload input{display:none}.asset-list{list-style:none;display:grid;gap:8px;padding:0;margin:12px 0 0;grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.asset-list li{display:grid;grid-template-columns:46px 1fr auto;gap:6px;align-items:center;background:#191b21;border:1px solid var(--line);border-radius:8px;padding:6px}.asset-list img{width:46px;height:46px;object-fit:cover;border-radius:4px;grid-row:span 2}.asset-list .role{font-size:11px;color:var(--accent)}.asset-list .name{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bindings{margin-top:12px;font-size:12px}.bindings h3{font-size:13px;margin:0 0 6px}.chip{font-size:11px;padding:2px 8px;border-radius:999px;margin-right:4px}.timeline{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px}.timeline header{display:flex;gap:10px;align-items:baseline;margin-bottom:12px}.timeline h2{font-size:15px;margin:0}.mismatch{color:#e0a33e;font-size:12px}.lane-row{display:grid;grid-template-columns:120px 1fr;gap:12px;align-items:center;margin-bottom:10px}.lane-label{display:flex;flex-direction:column;font-size:12px}.lane{position:relative;height:62px;border-radius:8px;background:repeating-linear-gradient(90deg,#141a25 0,#141a25 calc(10% - 1px),#30394a calc(10% - 1px),#30394a 10%)}.request-edge{position:absolute;top:0;bottom:0;width:2px;background:var(--ok);opacity:.7}.lane-clip{position:absolute;top:6px;bottom:6px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;padding:6px;overflow:hidden;border:1px solid #aa96ff;border-radius:6px;background:#463c70;color:#fbfaff;cursor:pointer}.lane-clip.tone-1{background:#28456a;border-color:#7bb0ff}.lane-clip.tone-2{background:#6a4f27;border-color:#e5b96d}.lane-clip b{font-size:11px}.lane-clip span{font-size:10px;opacity:.85}.lane-clip img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:.35}.lane-clip b,.lane-clip span{position:relative}.note{font-size:12px;color:var(--muted)}.muted{color:var(--muted);font-size:12px}.auth-switch{margin:12px 0}.auth-form{display:flex;flex-direction:column;gap:10px}.auth-form label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}.auth-form input{width:100%}.auth-form button{margin-top:4px}.topbar .account{display:flex;gap:8px;align-items:center;margin-left:auto}.settings{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px 16px;margin-bottom:16px}.settings header{display:flex;align-items:center;gap:12px}.settings h2{font-size:15px;margin:0}.settings h3{font-size:13px;margin:16px 0 6px;color:var(--muted)}.settings pre{background:#0f1014;border:1px solid var(--line);border-radius:6px;padding:8px;font-size:12px;overflow-x:auto}.runner-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.runner-list li{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.issue-token{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.issue-token input{min-width:260px}.token-once{margin-top:10px}.token-once code{display:block;word-break:break-all;background:#0f1014;border:1px solid var(--accent);border-radius:6px;padding:8px;font-size:12px}.steps{margin:0;padding-left:20px;font-size:13px}.steps li{margin-bottom:6px}
