:root{color-scheme:light;--header-h: 3rem;--rail-w: 360px;--transport-h: 4.25rem;--gap-edge: 1rem;--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--ease-out: cubic-bezier(.22, 1, .36, 1);--paper: #fafafa;--paper-2: #ffffff;--paper-3: #f4f4f5;--surface-2: #f4f4f5;--ink: #09090b;--ink-2: #3f3f46;--ink-3: #71717a;--line: #e4e4e7;--line-2: #ececee;--accent: #18181b;--accent-2: #27272a;--accent-soft: rgba(24, 24, 27, .06);--accent-ink: #fafafa;--warn: #b8860b;--bad: #dc2626;--good: #3d7a50;--shadow-card: 0 1px 2px rgba(9, 9, 11, .04);--shadow-elev: 0 2px 6px rgba(9, 9, 11, .06), 0 8px 24px rgba(9, 9, 11, .06);--font-display: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-ui: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace}:root{--series-1: #4a7ab5;--series-2: #3d7a50;--series-3: #b8860b;--series-4: #7b5ea7;--series-5: #c4342d;--series-6: #3d8b84;--series-7: #3d8ba5;--series-8: #a68b2e;--series-9: #b54a7a;--series-10: #7a7a7e;--series-11: #4a4a8e;--series-12: #8a8a3a}.dark{color-scheme:dark;--paper: #09090b;--paper-2: #09090b;--paper-3: #27272a;--surface-2: #27272a;--ink: #fafafa;--ink-2: #d4d4d8;--ink-3: #a1a1aa;--line: #27272a;--line-2: #27272a;--accent: #fafafa;--accent-2: #e4e4e7;--accent-soft: rgba(250, 250, 250, .1);--accent-ink: #09090b;--warn: #d4a843;--bad: #dc2626;--good: #5aad6f;--shadow-card: 0 1px 2px rgba(0, 0, 0, .4);--shadow-elev: 0 2px 6px rgba(0, 0, 0, .45), 0 8px 24px rgba(0, 0, 0, .5);--series-1: #6a9fd4;--series-2: #5aad6f;--series-3: #d4a843;--series-4: #a08bcf;--series-5: #e07a74;--series-6: #5ab8b0;--series-7: #5ab8d0;--series-8: #c9b04a;--series-9: #d47aa0;--series-10: #a1a1a5;--series-11: #7d7dc4;--series-12: #c4c46a}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;background:var(--paper);color:var(--ink);font-family:var(--font-ui);font-size:14px;line-height:1.45;letter-spacing:-.011em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100%}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;cursor:pointer}input,select,textarea{font:inherit;color:inherit;accent-color:var(--accent)}code,.mono{font-family:var(--font-mono);font-size:.9em}.app-shell{display:flex;flex-direction:column;min-height:100vh}.app-main{flex:1;display:flex;flex-direction:column;min-height:0}.page{padding:1.25rem clamp(1rem,3vw,2rem);display:flex;flex-direction:column;gap:1.25rem}.page-title{font-family:var(--font-display);font-weight:600;font-size:1.5rem;margin:0;letter-spacing:-.02em}.page-subtitle{color:var(--ink-3);margin:0;font-size:.9rem}.card{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);padding:.85rem 1rem 1rem;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:.5rem;min-width:0}.card-header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.card-title{margin:0;font-family:var(--font-display);font-weight:600;font-size:1rem;letter-spacing:-.01em}.card-subtitle{color:var(--ink-3);font-size:.8rem}.import-steps{margin:.5rem 0 0;padding-left:1.25rem;font-size:.85rem;line-height:1.55}.import-steps>li{margin-bottom:.6rem}.import-steps code{font-size:.8rem}.import-tree{margin:.4rem 0 0;padding:.6rem .8rem;background:var(--surface-2, rgba(0, 0, 0, .04));border-radius:6px;font-size:.75rem;line-height:1.4;white-space:pre;overflow-x:auto}.kpi-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.5rem}.kpi{background:var(--paper-2);border:1px solid var(--line-2);border-radius:var(--radius-sm);padding:.5rem .75rem;display:flex;flex-direction:column;gap:.15rem;min-width:0}.kpi-label{color:var(--ink-3);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.kpi-value{font-family:var(--font-mono);font-size:1rem;font-weight:500;color:var(--ink);overflow-wrap:anywhere}.kpi-value.warn{color:var(--warn)}.kpi-value.bad{color:var(--bad)}.kpi-value.good{color:var(--good)}.kpi-unit{font-size:.8em;color:var(--ink-3);margin-left:.2em;font-weight:400}.prop-table{width:100%;border-collapse:collapse;margin-top:.5rem;font-size:.85rem}.prop-table th{color:var(--ink-3);font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;font-weight:500;padding:.3rem .5rem;border-bottom:1px solid var(--line-2)}.prop-table td{padding:.25rem .5rem;border-bottom:1px solid var(--line-2);color:var(--ink)}.prop-table tr:last-child td{border-bottom:none}.prop-table tr.phantom-row td{color:var(--ink-3)}.topbar{height:var(--header-h);display:flex;align-items:center;padding:0 clamp(1rem,3vw,2rem);border-bottom:1px solid var(--line);background:var(--paper);gap:1.25rem;position:sticky;top:0;z-index:10}.brand{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em;font-size:1.05rem;color:var(--ink)}.brand .dot{color:var(--accent);margin:0 .25em}.nav-tabs{display:flex;gap:.25rem;flex:1}.nav-tab{background:transparent;border:none;color:var(--ink-2);padding:.35rem .75rem;border-radius:var(--radius-sm);font-size:.9rem;display:inline-flex;align-items:center;text-decoration:none}.nav-tab:hover{background:var(--paper-3);text-decoration:none}.nav-tab.active{background:var(--accent-soft);color:var(--accent)}.recording-layout{display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr auto;gap:1rem;padding:1rem clamp(1rem,3vw,2rem);flex:1;min-height:0}@media (min-width: 1100px){.recording-layout{grid-template-columns:var(--rail-w) 1fr;grid-template-rows:auto 1fr auto auto;grid-template-areas:"rail head" "rail viewport" "rail transport" "rail panels";gap:1rem 1.25rem}.recording-layout>.left-rail{grid-area:rail}.recording-layout>.recording-header{grid-area:head}.recording-layout>.viewport{grid-area:viewport}.recording-layout>.panel-area{grid-area:panels}.recording-layout>.transport-bar{grid-area:transport}}.left-rail{display:flex;flex-direction:column;gap:.75rem}.viewport{position:relative;min-height:360px;height:clamp(360px,50vh,600px);background:var(--paper-3);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.recording-header{display:flex;flex-direction:column;gap:.25rem}.recording-header .meta{display:flex;gap:1rem;flex-wrap:wrap;color:var(--ink-3);font-size:.85rem}.transport-bar{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;padding:.6rem 1rem;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius)}.transport-bar input[type=range]{flex:1;min-width:12rem}.transport-bar .time{font-family:var(--font-mono);font-size:.85rem;color:var(--ink-2);min-width:8ch;text-align:right}.transport-status{flex-basis:100%;color:var(--ink-3);font-size:.78rem}.transport-status.error{color:var(--bad)}.btn{font:inherit;cursor:pointer;border-radius:var(--radius-sm);padding:.45rem .85rem;font-weight:500;background:var(--paper-2);color:var(--ink);border:1px solid var(--line);transition:background-color .12s var(--ease-out),color .12s var(--ease-out)}.btn:hover:not([disabled]){background:var(--paper-3)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn[disabled]{cursor:not-allowed;opacity:.55}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:transparent}.btn.primary:hover:not([disabled]){background:var(--accent-2)}.btn.secondary{background:transparent;color:var(--accent);border:1px solid var(--line)}.btn.secondary:hover:not([disabled]){background:var(--accent-soft)}.btn.danger{background:var(--bad);color:#fff;border-color:transparent}.btn.danger:hover:not([disabled]){filter:brightness(1.07)}.transport-bar .btn{padding:.45rem .85rem}.panel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:1rem;min-width:0}.panel-area{min-width:0}.panel-groups{display:flex;flex-direction:column;gap:1.5rem;min-width:0}.panel-group{display:flex;flex-direction:column;gap:.75rem;min-width:0}.panel-group-header{display:flex;align-items:baseline;gap:.75rem;border-bottom:1px solid var(--line-2);padding-bottom:.35rem}.panel-group-title{margin:0;font-family:var(--font-display);font-weight:500;font-size:1.05rem;letter-spacing:-.005em;color:var(--ink)}.panel-group-blurb{color:var(--ink-3);font-size:.8rem}.jobs-bar{position:sticky;bottom:0;z-index:5;background:var(--paper-2);border-top:1px solid var(--line);display:flex;align-items:stretch;min-height:2.25rem;font-size:.85rem}.jobs-bar.collapsed{min-height:1.85rem}.jobs-bar-toggle{background:transparent;border:none;padding:.35rem .85rem;display:inline-flex;align-items:center;gap:.5rem;color:var(--ink-2);border-right:1px solid var(--line-2)}.jobs-bar-toggle:hover{background:var(--paper-3)}.jobs-bar-count{color:var(--ink-3);font-size:.8rem}.jobs-bar-chev{color:var(--ink-3);font-size:.7rem;margin-left:.25rem}.jobs-bar-list{display:flex;flex-wrap:wrap;gap:.25rem;align-items:center;padding:.3rem .5rem;flex:1;min-width:0;overflow-x:auto}.jobs-bar-item{background:var(--paper-3);border:1px solid var(--line-2);border-radius:var(--radius-sm);padding:.2rem .55rem;display:inline-flex;align-items:center;gap:.4rem;color:var(--ink);cursor:pointer;white-space:nowrap}.jobs-bar-item:hover{border-color:var(--accent)}.jobs-bar-kind{font-size:.78rem}.jobs-bar-model{color:var(--ink-3);font-size:.78rem}.jobs-bar-elapsed{color:var(--ink-3);font-size:.75rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);width:min(900px,90vw);max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--line);gap:1rem}.modal-log{margin:0;padding:.85rem 1rem;flex:1;overflow:auto;background:var(--paper-3);font-size:.78rem;white-space:pre-wrap;word-break:break-word;color:var(--ink);min-height:240px}.workspace-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media (min-width: 1100px){.workspace-grid{grid-template-columns:minmax(360px,1fr) minmax(360px,1fr)}.workspace-grid>section:first-child,.workspace-grid>section:nth-child(2){grid-row:1}.workspace-grid>section:nth-child(3){grid-column:1 / -1}}.workspace-launchers{display:flex;flex-direction:column;gap:.75rem}.launcher-card{gap:.6rem}.launcher-actions{display:flex;align-items:center;gap:.5rem;padding-top:.25rem;flex-wrap:wrap}.launcher-textarea{width:100%;min-height:8rem;font-size:.78rem;padding:.5rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper-3);color:var(--ink);resize:vertical}.launcher-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.5rem}.launcher-cell{display:flex;flex-direction:column;gap:.2rem}.launcher-cell input{padding:.3rem .5rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink)}.config-editor{display:flex;flex-direction:column;gap:.5rem}.config-editor-textarea{width:100%;min-height:22rem;padding:.6rem .8rem;background:var(--paper-3);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-sm);font-size:.78rem;line-height:1.5;resize:vertical;white-space:pre;-moz-tab-size:2;tab-size:2}.config-editor-bar{display:flex;align-items:center;gap:.5rem;padding:.25rem 0}.empty-state{color:var(--ink-3);text-align:center;padding:2rem 1rem}.status-pill{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--ink-2)}.status-pill:before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:var(--ink-3)}.status-pill.ok:before{background:var(--good)}.status-pill.warn:before{background:var(--warn)}.status-pill.bad:before{background:var(--bad)}.error-banner{background:color-mix(in srgb,var(--bad) 8%,transparent);border:1px solid color-mix(in srgb,var(--bad) 30%,transparent);color:var(--bad);padding:.75rem 1rem;border-radius:var(--radius);font-size:.9rem}.list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem}.list-item{display:block;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);padding:.75rem .9rem;text-decoration:none;color:var(--ink);transition:transform .12s var(--ease-out),border-color .12s var(--ease-out)}.list-item:hover{border-color:var(--accent);text-decoration:none;transform:translateY(-1px)}.list-item .name{font-family:var(--font-mono);font-size:.85rem;word-break:break-all}.list-item .meta{color:var(--ink-3);font-size:.75rem;margin-top:.25rem}.body-hover-label{padding:2px 8px;border-radius:var(--radius-sm);background:var(--paper-2);border:1px solid var(--line);color:var(--ink);font-size:.78rem;font-weight:600;white-space:nowrap;box-shadow:0 1px 4px #0000002e;transform:translateY(-1.4em);-webkit-user-select:none;user-select:none}.body-rename-panel{position:absolute;bottom:12px;left:12px;z-index:5;width:min(20rem,calc(100% - 24px));padding:.6rem .7rem;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 2px 10px #0000002e}.body-rename-head{display:flex;align-items:center;justify-content:space-between;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3)}.body-rename-close{border:none;background:transparent;color:var(--ink-3);font-size:1.1rem;line-height:1;cursor:pointer;padding:0 .2rem}.body-rename-close:hover{color:var(--ink)}.body-rename-raw{font-size:.8rem;color:var(--ink-2);word-break:break-all;margin:.2rem 0 .45rem}.body-rename-input{width:100%;box-sizing:border-box;font:inherit;font-size:.95rem;padding:.25rem .4rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink)}.body-rename-input:focus{outline:2px solid var(--accent);outline-offset:0}.body-rename-clear{margin-top:.45rem;font-size:.75rem;padding:.2rem .55rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper-3);color:var(--ink-2);cursor:pointer}.body-rename-clear:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.body-rename-clear:disabled{opacity:.6;cursor:default}.body-rename-note{font-size:.8rem;color:var(--ink-3);margin-top:.2rem}
