:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#14161a;--bg-elevated:#1c1f25;--bg-sunken:#0f1114;--panel:#1f232a;--border:#2d323b;--text:#e6e8eb;--text-muted:#8b93a1;--accent:#ff5a36;--accent-soft:#ff5a3626;--ok:#3ecf8e;--warn:#f5b84b;--error:#ff5d6c;--chart-grid:#ffffff12;--radius:8px;color:var(--text);background:var(--bg);font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;font-size:14px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow:hidden}h1,h2,h3{margin:0;font-weight:600}h1{font-size:22px}h2{word-break:break-all;margin-bottom:12px;font-size:16px}h3{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:16px 0 8px;font-size:13px}p{margin:4px 0}.muted{color:var(--text-muted)}.small{font-size:12px}.warning{color:var(--warn)}.mono,.timecode{font-variant-numeric:tabular-nums;font-family:JetBrains Mono,Consolas,monospace}.error-text{color:var(--error)}.ok-text{color:var(--ok)}.path{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}button{font:inherit;color:var(--text);background:var(--bg-elevated);border:1px solid var(--border);cursor:pointer;white-space:nowrap;border-radius:6px;padding:6px 12px}button:hover:not(:disabled){background:#252a32;border-color:#47505d}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}button.primary:hover:not(:disabled){background:#ff7050;border-color:#ff7050}button.danger{color:var(--error)}button.small{padding:3px 8px;font-size:12px}button.link{color:var(--accent);background:0 0;border:none;padding:0}button.icon{width:34px;padding:6px 0}input[type=text],input[type=number]{font:inherit;color:var(--text);background:var(--bg-sunken);border:1px solid var(--border);border-radius:6px;min-width:0;padding:6px 8px}input:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}.toggle{color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;display:inline-flex}.field{color:var(--text-muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.row{align-items:center;gap:10px;margin:12px 0;display:flex}.row input[type=text]{flex:1}.app{grid-template-rows:auto 1fr auto;height:100%;display:grid}.toolbar{background:var(--bg-sunken);border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:8px 16px;display:flex}.brand{align-items:center;gap:8px;margin-right:16px;font-weight:700;display:flex}.logo{width:22px;height:22px}.toolbar .project-name{field-sizing:content;background:0 0;border-color:#0000;min-width:120px;max-width:420px;font-weight:600}.toolbar .project-name:hover{border-color:var(--border)}.dirty{color:var(--warn);font-size:10px}.language-picker{position:relative}.language-picker button{align-items:center;gap:8px;display:flex}.flag{box-shadow:0 0 0 1px var(--border);border-radius:2px;flex:none}.language-menu{z-index:20;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);min-width:100%;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 24px #0006}.language-menu button{background:0 0;border-color:#0000;width:100%}.language-menu button.active{background:var(--accent-soft)}.spacer{flex:1}.body{grid-template-columns:220px 1fr;min-height:0;display:grid}.content{padding:24px 28px;overflow:auto}.footer{border-top:1px solid var(--border);background:var(--bg-sunken);align-items:center;gap:16px;padding:10px 16px;display:flex}.footer-center{flex-direction:column;flex:1;align-items:center;gap:2px;min-width:0;display:flex}.footer-hint{text-align:center;font-size:13px}.footer-center .about-line{color:var(--text-muted);padding:0;font-size:11px}.footer-center .about-line:hover{color:var(--text)}.stepper{border-right:1px solid var(--border);background:var(--bg-sunken);flex-direction:column;gap:2px;padding:16px 10px;display:flex}.step-item{text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:12px;padding:10px;display:flex}.step-item.active{background:var(--accent-soft);border-color:#ff5a3666}.step-index{border:1px solid var(--border);border-radius:50%;flex-shrink:0;place-items:center;width:26px;height:26px;font-size:12px;display:grid}.step-item.complete .step-index{background:var(--ok);border-color:var(--ok);color:#0d1b14;font-weight:700}.step-item.active .step-index{border-color:var(--accent)}.step-text{flex-direction:column;display:flex}.step-title{font-weight:600}.step-state{color:var(--text-muted);text-transform:capitalize;font-size:11px}.step-item.has-error .step-state{color:var(--error)}.step{max-width:1400px;margin:0 auto}.step-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.actions{align-items:center;gap:8px;display:flex}.split{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:20px;display:grid}.stack{flex-direction:column;gap:16px;min-width:0;display:flex}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.grid .wide{grid-column:1/-1}.panel,.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);min-width:0;padding:16px}.panel>h3:first-child{margin-top:0}.panel-title{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.panel-title h3{margin:0}.empty{text-align:center;padding:48px 16px}.empty button{margin-top:16px}.hint{margin-top:12px}.key-values{gap:6px;margin:0;display:grid}.key-values>div{grid-template-columns:120px 1fr;gap:8px;display:grid}.key-values dt{color:var(--text-muted)}.key-values dd{word-break:break-word;margin:0}.badges{gap:6px;margin:6px 0;display:flex}.badge{color:var(--text-muted);background:#2b3039;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:600;display:inline-block}.badge.accent{background:var(--accent-soft);color:var(--accent)}.badge.ok{color:var(--ok);background:#3ecf8e26}.badge.warn{color:var(--warn);background:#f5b84b26}.badge.error{color:var(--error);background:#ff5d6c26}.chips{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.chip{background:var(--bg-sunken);border:1px solid var(--border);border-radius:4px;padding:2px 8px;font-family:Consolas,monospace;font-size:12px}.chip small{color:var(--text-muted);margin-left:6px}.drop-zone{border-radius:var(--radius);border:2px dashed #0000;transition:border-color .15s,background .15s}.drop-zone.large{border-color:var(--border);background:var(--bg-elevated);place-items:center;min-height:320px;display:grid}.drop-zone.over{border-color:var(--accent);background:var(--accent-soft)}.drop-zone.list-drop{min-height:200px}.drop-content{text-align:center}.drop-icon{margin-bottom:8px;font-size:42px}.drop-content button{margin-top:12px}.skip-box{border:1px solid var(--border);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:16px;margin-top:16px;padding:16px;display:flex}.cards{flex-direction:column;gap:12px;display:flex}.preview{flex-direction:column;gap:8px;min-width:0;display:flex}.stage-frame{border-radius:var(--radius);background:#000;justify-content:center;max-height:60vh;display:flex;overflow:hidden}.stage{width:100%;max-height:60vh;max-width:calc(60vh * var(--stage-aspect,16 / 9));position:relative}.stage-video{position:absolute;inset:0;overflow:hidden}.stage video{object-fit:fill;width:100%;height:100%;position:absolute;inset:0}.stage-backdrop{filter:blur(12px);width:100%;height:100%;position:absolute;inset:0;transform:scale(1.06)}.stage.transparent{background-color:#2a2d33;background-image:linear-gradient(45deg,#23262b 25%,#0000 25%),linear-gradient(-45deg,#23262b 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#23262b 75%),linear-gradient(-45deg,#0000 75%,#23262b 75%);background-position:0 0,0 12px,12px -12px,-12px 0;background-size:24px 24px}.stage-label,.stage-error{text-align:center;color:var(--text-muted);place-items:center;padding:24px;display:grid;position:absolute;inset:0}.stage-error{color:var(--warn);background:#000000b3}.overlay-layer{pointer-events:none;position:absolute;inset:0}.overlay-placeholder{border:1px dashed #ffffff59;border-radius:4px;justify-content:center;align-items:flex-end;padding:8px;display:flex;position:absolute;inset:5%}.overlay-placeholder span{color:#fff9;background:#00000073;border-radius:4px;padding:2px 8px;font-size:12px}.transport{align-items:center;gap:6px;display:flex}.scrubber{accent-color:var(--accent);flex:1}.chart canvas{cursor:crosshair;touch-action:none;display:block}.chart-legend{color:var(--text-muted);gap:16px;margin-top:6px;font-size:12px;display:flex}.chart-legend i{vertical-align:middle;width:10px;height:3px;margin-right:6px;display:inline-block}.offset-editor label{color:var(--text-muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.offset-editor input{font-family:Consolas,monospace;font-size:18px}.nudges{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px;display:grid}.nudges button{padding:4px;font-size:12px}.sync-results{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.sync-results li{background:var(--bg-sunken);border-radius:6px;justify-content:space-between;align-items:flex-start;gap:8px;padding:8px;display:flex}.tabs{gap:4px;margin-bottom:16px;display:flex}.tabs button.active{border-color:var(--accent);color:var(--accent)}.live-values{border-collapse:collapse;width:100%;font-size:13px}.live-values th{text-align:left;color:var(--text-muted);padding:3px 0;font-weight:400}.live-values td{text-align:right;font-variant-numeric:tabular-nums;font-family:Consolas,monospace}details{margin-bottom:8px}summary{cursor:pointer;padding:4px 0}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);padding:8px}.table th{color:var(--text-muted);font-size:12px;font-weight:500}.table tr.disabled{opacity:.5}.issues{margin:0;padding-left:18px}.issues li{margin:4px 0}.issues li.error{color:var(--error)}.issues li.warning{color:var(--warn)}.radio-group{flex-direction:column;gap:8px;display:flex}.radio-group label{border:1px solid var(--border);cursor:pointer;border-radius:6px;grid-template-columns:auto 1fr;align-items:center;gap:2px 10px;padding:10px;display:grid}.radio-group label>span{grid-column:2}.radio-group label.disabled{opacity:.5;cursor:not-allowed}.notice{border-radius:var(--radius);background:var(--bg-elevated);border:1px solid var(--border);align-items:center;gap:12px;max-width:480px;padding:12px 16px;display:flex;position:fixed;bottom:64px;right:16px;box-shadow:0 8px 24px #0006}.notice.error{border-color:var(--error)}select{font:inherit;color:var(--text);background:var(--bg-sunken);border:1px solid var(--border);border-radius:6px;min-width:0;padding:6px 8px}.card-header{justify-content:space-between;gap:16px;margin-bottom:12px;display:flex}.card-header>div:first-child{min-width:0}.card.disabled{opacity:.55}.active-video{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.panel>.field,.panel>.link{margin-top:12px}.palette{flex-direction:column;gap:6px;display:flex}.color-field{grid-template-columns:32px 1fr 110px;align-items:center;gap:8px;font-size:13px;display:grid}.color-field input[type=color]{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:4px;width:32px;height:26px;padding:0}.color-field input[type=text]{padding:4px 6px;font-size:12px}.tabs.compact{margin-bottom:12px}.tabs.compact button{flex:1}.values-panel{flex-direction:column;gap:8px;display:flex}.values-panel .row{margin:0}.values-table th{flex-direction:column;max-width:190px;display:flex}.values-table th small{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.values-table tr.has-error th{color:var(--error)}.value-editor{flex-direction:column;gap:10px;display:flex}.fields.two{grid-template-columns:repeat(2,minmax(0,1fr))}textarea.code{color:var(--text);background:var(--bg-sunken);border:1px solid var(--border);resize:vertical;tab-size:2;border-radius:6px;padding:8px;font-family:JetBrains Mono,Consolas,monospace;font-size:12px;line-height:1.5}.values-table th .link{text-align:left;align-self:flex-start}.field code{color:var(--text);font-family:JetBrains Mono,Consolas,monospace}.split.editor{grid-template-columns:minmax(0,1fr) 380px}.overlay-layer .overlay-canvas{position:absolute;inset:0}.widget-handles{pointer-events:auto;position:absolute;inset:0}.widget-box{cursor:move;touch-action:none;border:1px dashed #0000;position:absolute}.widget-box:hover{border-color:#ffffff73}.widget-box.selected{border:1px solid var(--accent);box-shadow:0 0 0 1px #0009}.widget-box.has-error{border:1px dashed var(--error)}.widget-box.hidden{opacity:.4}.widget-resize{background:var(--accent);cursor:nwse-resize;border-radius:3px;width:12px;height:12px;position:absolute;bottom:-6px;right:-6px}.widgets-panel,.style-panel,.inspector{flex-direction:column;gap:8px;display:flex}.widgets-panel>.row{flex-wrap:wrap;margin:0}.type-picker{flex-direction:column;gap:6px;display:flex}.type-picker h4{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:8px 0 2px;font-size:11px}.type-card{text-align:left;white-space:normal;flex-direction:column;align-items:flex-start;gap:2px;width:100%;margin-bottom:4px;display:flex}.widget-list{flex-direction:column;gap:2px;max-height:220px;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.widget-list li{border-radius:6px;align-items:center;gap:4px;padding:2px;display:flex}.widget-list li.active{background:var(--accent-soft)}.widget-list .widget-name{text-overflow:ellipsis;background:0 0;border:none;flex-direction:column;flex:1;align-items:flex-start;min-width:0;padding:4px 6px;display:flex;overflow:hidden}.widget-list .widget-name small{font-size:11px}button.icon.small{width:26px;padding:2px 0;font-size:11px}.inspector{border-top:1px solid var(--border);padding-top:8px}.inspector .panel-title{flex-wrap:wrap;gap:6px}.inspector textarea{font:inherit;color:var(--text);background:var(--bg-sunken);border:1px solid var(--border);resize:vertical;border-radius:6px;padding:6px 8px}.fields.four{grid-template-columns:repeat(4,minmax(0,1fr))}.field-hint{font-size:11px}.color-input{gap:6px;display:flex}.color-input select{flex:1}.color-input input[type=color]{border:1px solid var(--border);background:0 0;border-radius:4px;width:36px;padding:0}.image-input{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.image-input img{background:repeating-conic-gradient(#2a2d33 0% 25%,#23262b 0% 50%) 0 0/12px 12px;border-radius:4px;max-width:64px;max-height:40px}label.button{border:1px solid var(--border);cursor:pointer;background:var(--bg-elevated);color:var(--text);border-radius:6px;padding:3px 8px;display:inline-block}label.button input[type=file]{display:none}.split.editor>aside{max-height:calc(100vh - 210px);position:sticky;top:0;overflow:auto}.track-map{background:var(--bg-sunken);border-radius:var(--radius);height:min(60vh,560px);position:relative;overflow:hidden}.track-map canvas{touch-action:none;display:block}.track-media{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.track-media .track-map{aspect-ratio:16/9;height:auto}.track-controls{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;display:grid}@media (width<=1100px){.track-media,.track-controls{grid-template-columns:minmax(0,1fr)}}.track-map-footer{justify-content:space-between;margin:4px 0 0}.track-scrubber{width:100%;margin:10px 0 4px}.track-control-group h3{margin:18px 0 4px;font-size:14px}.track-controls .track-control-group h3{margin-top:0}.row.wrap{flex-wrap:wrap}.sector-lines{margin:0 0 8px;padding:0;list-style:none}.sector-lines li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:4px 0;display:flex}.laps-table{border-collapse:collapse;width:100%;font-size:13px}.laps-table thead>tr>*{text-align:right;color:var(--text-muted);border-bottom:1px solid var(--border);padding:4px 8px;font-weight:500}.laps-table td{text-align:right;font-variant-numeric:tabular-nums;padding:4px 8px;font-family:Consolas,monospace}.laps-table tr>:first-child{text-align:left}.laps-table tbody tr{cursor:pointer}.laps-table tbody tr:hover{background:var(--accent-soft)}.export-range{flex-direction:column;gap:12px;display:flex}.export-range .stage-frame,.export-range .stage{max-height:45vh}.export-range .stage{max-width:calc(45vh * var(--stage-aspect,16 / 9))}.trim-bar{background:var(--bg-sunken);border:1px solid var(--border);cursor:pointer;touch-action:none;border-radius:6px;height:30px;position:relative}.trim-selection{background:var(--accent-soft);border-top:2px solid var(--accent);border-bottom:2px solid var(--accent);pointer-events:none;position:absolute;top:0;bottom:0}.trim-playhead{background:var(--text);pointer-events:none;width:2px;margin-left:-1px;position:absolute;top:-4px;bottom:-4px}.trim-handle{background:var(--accent);cursor:ew-resize;border-radius:3px;width:10px;margin-left:-5px;position:absolute;top:-3px;bottom:-3px}.range-fields{grid-template-columns:180px 180px minmax(0,1fr);align-items:start;gap:12px;display:grid}.range-summary{flex-direction:column;align-items:flex-end;gap:2px;padding-top:18px;display:flex}input.invalid{border-color:var(--error)}.export-runner{flex-direction:column;gap:10px;display:flex}.export-progress{background:var(--bg-sunken);border:1px solid var(--border);border-radius:6px;height:10px;overflow:hidden}.export-progress-fill{background:var(--accent);height:100%;transition:width .25s linear}.export-outcome{border:1px solid var(--border);border-radius:var(--radius);padding:12px}.export-outcome.ok{border-color:var(--ok)}.export-outcome.error{border-color:var(--error)}.export-outcome pre{white-space:pre-wrap;color:var(--text-muted);margin:8px 0;font-size:12px}.guide-lines{pointer-events:none;position:absolute;inset:0}.guide{background:#4cc9f073;position:absolute}.guide.v{width:1px;top:0;bottom:0}.guide.h{height:1px;left:0;right:0}.guide.active{background:#4cc9f0;box-shadow:0 0 0 1px #4cc9f059}.widget-anchor{border:2px solid var(--accent);background:var(--bg);pointer-events:none;width:10px;height:10px;margin:-5px 0 0 -5px;position:absolute;transform:rotate(45deg)}.position-row{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;display:grid}.anchor-picker{border:1px solid var(--border);background:var(--bg-sunken);border-radius:6px;grid-template-columns:repeat(3,14px);gap:4px;min-width:0;margin:0;padding:6px;display:grid}.anchor-cell{border:1px solid var(--border);background:var(--panel);border-radius:3px;width:14px;min-width:0;height:14px;padding:0}.anchor-cell.active{background:var(--accent);border-color:var(--accent)}.position-row .fields.four{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-stage{gap:8px}.editor-toolbar{flex-wrap:wrap;margin:0}.range-fields{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.widget-visibility{flex-direction:column;gap:8px;display:flex}.modal{width:min(440px,100vw - 32px);color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:24px;box-shadow:0 16px 48px #00000080}.modal::backdrop{background:#0009}.modal h2{margin:0 0 8px;font-size:18px}.modal input{box-sizing:border-box;width:100%;margin:16px 0 20px}.modal-actions{justify-content:flex-end;gap:8px;display:flex}.update-dialog{width:min(560px,100vw - 32px)}.update-notes-title{margin:12px 0 6px;font-size:13px}.update-notes{white-space:pre-wrap;background:var(--bg-sunken);border:1px solid var(--border);border-radius:6px;max-height:220px;margin:0 0 16px;padding:10px;font-size:12px;overflow:auto}.modal-actions.wrap{flex-wrap:wrap}.badge.update-major{color:var(--accent);border-color:var(--accent)}.data-range{flex-direction:column;gap:6px;display:flex}.data-range-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:start;gap:8px;display:grid}.busy-mask{text-align:center;width:min(480px,100vw - 32px)}.busy-mask .export-progress{margin:16px 0 8px}.busy-mask .row{text-align:left;justify-content:space-between}.busy-files{color:var(--text-muted);overflow-wrap:anywhere;margin:12px 0 0;padding:0;font-size:12px;list-style:none}.busy-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;margin:0 auto 12px;animation:.9s linear infinite busy-spin}@keyframes busy-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.busy-spinner{animation-duration:3s}}
