:root{--text:#3d3a45;--text-h:#08060d;--text-muted:#767083;--bg:#f6f5f8;--panel-bg:#fff;--border:#e2e0e6;--accent:#7c3aed;--accent-contrast:#fff;--danger:#d92d4c;--input-bg:#fff;--waveform-bg:#14121c;--waveform-bar:#7c3aed;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:16px/1.5 var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#d4d2d8;--text-h:#f5f4f7;--text-muted:#948f9c;--bg:#121118;--panel-bg:#1b1a23;--border:#2d2b36;--accent:#9d6bff;--accent-contrast:#14121c;--danger:#ff6b85;--input-bg:#232130;--waveform-bg:#0c0b12;--waveform-bar:#9d6bff}}*{box-sizing:border-box}body{margin:0}h1,h2{font-family:var(--sans);color:var(--text-h);font-weight:600}h1{margin:0;font-size:28px}h2{margin:0 0 12px;font-size:16px}p{margin:0}button{font:inherit;cursor:pointer;color:var(--text-h);background:var(--panel-bg);border:1px solid var(--border);border-radius:6px;padding:8px 12px}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.45;cursor:not-allowed}input,select{font:inherit;color:var(--text-h);background:var(--input-bg);border:1px solid var(--border);border-radius:6px;padding:6px 8px}table{border-collapse:collapse;width:100%}.app{flex-direction:column;min-height:100vh;display:flex}.app__header{border-bottom:1px solid var(--border);background:var(--panel-bg);padding:20px 24px}.app__subtitle{color:var(--text-muted);margin-top:4px;font-size:14px}.app__body{flex:1;align-items:flex-start;gap:20px;width:100%;max-width:1200px;margin:0 auto;padding:20px;display:flex}.app__sidebar{flex-direction:column;flex-shrink:0;gap:12px;width:260px;display:flex;position:sticky;top:20px}.app__sidebar-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:12px 0 0;font-size:13px}.app__main{flex-direction:column;flex:1;gap:16px;min-width:0;display:flex}.app__panel{background:var(--panel-bg);border:1px solid var(--border);border-radius:10px;padding:16px}.video-uploader{flex-direction:column;gap:6px;display:flex}.video-uploader__filename{color:var(--text-muted);word-break:break-all;font-size:13px}.video-player{background:var(--panel-bg);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:10px;padding:16px;display:flex}.video-player__stage{aspect-ratio:16/9;background:#000;border-radius:8px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.video-player__video{width:100%;height:100%;display:block}.video-player__placeholder{color:#9a95a3;font-size:14px;position:absolute}.video-player__controls{align-items:center;gap:8px;display:flex}.video-player__play{min-width:84px}.video-player__scrubber{flex:1;padding:0}.video-player__time{font-family:var(--mono);color:var(--text-muted);white-space:nowrap;font-size:13px}.video-player__settings{color:var(--text-muted);gap:20px;font-size:13px;display:flex}.video-player__settings label{align-items:center;gap:6px;display:flex}.waveform{position:relative}.waveform__status{color:#cfcbe0;z-index:1;pointer-events:none;justify-content:center;align-items:center;font-size:13px;display:flex;position:absolute;inset:0}.waveform__status--error{color:var(--danger)}.waveform__legend{color:var(--text-muted);gap:16px;margin-top:6px;font-size:12px;display:flex}.waveform__legend .dot{border-radius:50%;width:8px;height:8px;margin-right:4px;display:inline-block}.dot--start{background:#ff5470}.dot--playhead{background:#ffd166}.start-controls{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.session-setup{flex-direction:column;gap:14px;display:flex}.session-setup__row{flex-direction:column;gap:6px;display:flex}.session-setup__label{color:var(--text-muted);font-size:13px}.session-setup__hint{color:var(--text-muted);font-size:12px}.session-setup__error{color:var(--danger);font-size:12px}.stroke-select{flex-wrap:wrap;gap:8px;display:flex}.stroke-select__option--active{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.tracker{flex-direction:column;gap:12px;display:flex}.tracker__status{color:var(--text-h);font-size:14px;font-weight:500}.tracker__buttons{gap:12px;display:flex}.tracker__buttons button{flex-direction:column;flex:1;align-items:center;gap:4px;padding:18px;font-size:16px;font-weight:600;display:flex}.tracker__buttons button small{color:var(--text-muted);font-size:11px;font-weight:400}.tracker__checkpoint-btn{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.tracker__checkpoint-btn small{color:var(--accent-contrast);opacity:.75}.tracker__counter{font-size:14px}.tracker__undo{flex-wrap:wrap;gap:8px;display:flex}.tracker__start-time{color:var(--text-muted);font-size:12px;font-family:var(--mono)}.results-table{font-size:14px}.results-table--empty{color:var(--text-muted);font-size:14px}.results-table th,.results-table td{text-align:left;border-bottom:1px solid var(--border);padding:8px 10px}.results-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:500}.results-table td{font-family:var(--mono)}.session-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.session-list--empty{color:var(--text-muted);font-size:13px}.session-list__item{border:1px solid var(--border);background:var(--panel-bg);border-radius:8px;align-items:stretch;gap:4px;display:flex;overflow:hidden}.session-list__item--active{border-color:var(--accent)}.session-list__load{text-align:left;border:none;border-radius:0;flex-direction:column;flex:1;align-items:flex-start;gap:2px;padding:8px 10px;display:flex}.session-list__name{color:var(--text-h);word-break:break-all;font-size:13px;font-weight:500}.session-list__meta,.session-list__date{color:var(--text-muted);font-size:11px}.session-list__delete{border:none;border-left:1px solid var(--border);color:var(--danger);border-radius:0;font-size:12px}@media (width<=860px){.app__body{flex-direction:column}.app__sidebar{width:100%;position:static}}
