:root{--color-bg:#060810;--color-surface:#080b12;--color-surface-raised:#0d1117;--color-border:#1f2937;--color-border-subtle:#111827;--color-text:#e5e7eb;--color-text-muted:#9ca3af;--color-text-faint:#6b7280;--color-text-ghost:#4b5563;--color-text-dim:#374151;--color-accent:#00e5ff;--color-accent-dim:#00e5ff18;--color-accent-subtle:#00e5ff11;--color-accent-glow:#00e5ff33;--color-success:#4ade80;--color-success-dim:#4ade8018;--color-success-border:#4ade8045;--color-error:#ff3b6b;--color-error-dim:#ff3b6b18;--color-warn:#ffd60a;--color-warn-dim:#ffd60a18;--color-purple:#a78bfa;--color-purple-dim:#a78bfa18;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--color-athlete:#1e3a5f;--color-athlete-text:#00e5ff;--color-active-bg:#0f1a2b;--color-active-accent:#0f2a3f;--color-danger-bg:#120b10;--color-danger-border:#3a1e28;--color-danger-text:#ffd7e1}[data-theme=light]{--color-bg:#f8fafc;--color-surface:#fff;--color-surface-raised:#f1f5f9;--color-border:#e2e8f0;--color-border-subtle:#cbd5e1;--color-text:#0f172a;--color-text-muted:#475569;--color-text-faint:#64748b;--color-text-ghost:#94a3b8;--color-text-dim:#cbd5e1;--color-accent:#0284c7;--color-accent-dim:#0284c718;--color-accent-subtle:#0284c711;--color-accent-glow:#0284c733;--color-athlete:#dbeafe;--color-athlete-text:#0284c7;--color-active-bg:#eff6ff;--color-active-accent:#dbeafe;--color-danger-bg:#fff1f2;--color-danger-border:#fecdd3;--color-danger-text:#9f1239}@media (prefers-color-scheme:light){:root:not([data-theme]){--color-bg:#f8fafc;--color-surface:#fff;--color-surface-raised:#f1f5f9;--color-border:#e2e8f0;--color-border-subtle:#cbd5e1;--color-text:#0f172a;--color-text-muted:#475569;--color-text-faint:#64748b;--color-text-ghost:#94a3b8;--color-text-dim:#cbd5e1;--color-accent:#0284c7;--color-accent-dim:#0284c718;--color-accent-subtle:#0284c711;--color-accent-glow:#0284c733;--color-athlete:#dbeafe;--color-athlete-text:#0284c7;--color-active-bg:#eff6ff;--color-active-accent:#dbeafe;--color-danger-bg:#fff1f2;--color-danger-border:#fecdd3;--color-danger-text:#9f1239}}*{box-sizing:border-box}input,select,textarea{font-size:16px!important}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}html,body,#root{width:100%;min-height:100%;margin:0}body{background:var(--color-bg);min-height:100vh;color:var(--color-text)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@keyframes record-pulse{0%,to{opacity:1}50%{opacity:.35}}.annotation-actions .stop-record-btn{cursor:pointer;flex-shrink:0;width:12px;min-width:12px;height:12px;padding:0;font-size:0;animation:1.2s ease-in-out infinite record-pulse;background:#ff3b6b!important;border:none!important;border-radius:2px!important}.annotation-canvas-container{background:0 0;width:100%;height:100%;position:relative}.annotation-canvas-shell{width:100%;height:100%;position:relative}.annotation-controls{background:color-mix(in srgb, var(--color-surface) 88%, transparent);border-bottom:1px solid var(--color-border-subtle);z-index:10;pointer-events:auto;justify-content:flex-end;align-items:center;padding:6px 10px;display:flex;position:absolute;top:0;left:54px;right:0}.tool-sidebar{background:color-mix(in srgb, var(--color-surface) 94%, transparent);border-right:1px solid var(--color-border-subtle);z-index:10;pointer-events:auto;flex-direction:column;flex-shrink:0;align-items:center;gap:10px;width:54px;padding:12px 0;display:flex;position:absolute;top:0;bottom:0;left:0}.tool-sidebar-tools{flex-direction:column;align-items:center;gap:4px;display:flex}.tool-group-wrap{flex-direction:column;align-items:center;display:flex;position:relative}.tool-group-caret{display:none}.tool-group-caret-btn{cursor:pointer;z-index:2;background:0 0;border:none;width:20px;height:20px;margin:0;padding:0;position:absolute;bottom:0;right:0}.tool-group-caret-btn:after{content:"";border-top:0 solid #0000;border-bottom:5px solid #00e5ff;border-left:5px solid #0000;border-right:0 solid #0000;border-bottom-right-radius:2px;width:0;height:0;transition:border-bottom-color .15s;position:absolute;bottom:4px;right:4px}.tool-group-caret-btn:hover:after,.tool-group-caret-btn.open:after{border-width:0 0 7px 7px;border-bottom-color:#fff}.tool-group-flyout{background:var(--color-surface-raised);border:1px solid var(--color-border);z-index:100;border-radius:8px;flex-direction:column;gap:2px;padding:4px;display:flex;position:absolute;top:0;left:calc(100% + 4px);box-shadow:2px 4px 12px #00000080}.tool-icon-button{width:38px;height:38px;color:var(--color-text-ghost);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;transition:all .18s;display:flex;position:relative}.tool-icon-button:hover{color:var(--color-text-muted);border-color:var(--color-border)}.tool-icon-button.active{background:var(--color-active-accent);border-color:var(--color-accent-glow);color:var(--color-accent)}.tool-icon{-webkit-text-stroke:.35px currentColor;font-size:20px;font-weight:700;line-height:1;display:block}.tool-icon-cursor{width:22px;height:22px;display:block}.tool-sidebar-colors-wrap{flex-direction:column;align-items:center;gap:8px;margin-top:auto;display:flex}.tool-sidebar-colors{flex-direction:column;align-items:center;gap:8px;display:flex}.tool-color-button{cursor:pointer;outline-offset:2px;border:none;border-radius:999px;outline:2px solid #0000;width:20px;height:20px;transition:outline-color .15s}.tool-color-button.active{outline-color:var(--color-text-muted)}.tool-color-current{margin-bottom:2px}.tool-color-collapse{color:var(--color-text-ghost);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;line-height:1}.tool-color-collapse:hover{color:var(--color-text)}.tool-button{background:var(--color-surface-raised);border:1px solid var(--color-border);color:var(--color-text-faint);cursor:pointer;white-space:nowrap;letter-spacing:.5px;border-radius:6px;padding:6px 10px;font-family:IBM Plex Mono,monospace;font-size:10px;transition:all .2s}.tool-button:hover{background:var(--color-surface);border-color:var(--color-border-subtle);color:var(--color-text-muted)}.tool-button.active{color:#aeffa1;background:#238636;border-color:#3fb950}.tool-button:disabled{opacity:.5;cursor:not-allowed}.annotation-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.annotation-actions button{background:var(--color-surface-raised);border:1px solid var(--color-border);color:var(--color-text-faint);cursor:pointer;letter-spacing:.5px;border-radius:6px;padding:6px 12px;font-family:IBM Plex Mono,monospace;font-size:11px;transition:all .2s}.annotation-actions button:hover:not(:disabled){background:var(--color-surface);border-color:var(--color-border-subtle);color:var(--color-text-muted)}.annotation-actions button:disabled{opacity:.5;cursor:not-allowed}.annotation-actions .auto-select-toggle.active{border-color:var(--color-accent);color:var(--color-accent)}.shape-count{color:var(--color-text-faint);margin-left:8px;font-family:IBM Plex Mono,monospace;font-size:11px}.annotation-shortcuts-hint{color:var(--color-text-faint);margin-left:8px;font-family:IBM Plex Mono,monospace;font-size:10px}.annotation-canvas{background:0 0;width:100%;height:100%;display:block;position:absolute;inset:0}.annotation-outside-hint{z-index:3;pointer-events:none;color:#ffb4c4;letter-spacing:.2px;background:#140b10e6;border:1px solid #ff6b8a55;border-radius:999px;padding:4px 8px;font-family:IBM Plex Mono,monospace;font-size:10px;position:absolute;bottom:12px;right:12px}.annotation-text-editor{z-index:20;border:1px solid var(--color-accent-glow);background:color-mix(in srgb, var(--color-surface) 92%, transparent);resize:none;white-space:pre-wrap;border-radius:4px;outline:none;min-width:120px;max-width:460px;padding:4px 6px;font-family:IBM Plex Mono,monospace;line-height:1.2;position:absolute;overflow:hidden;box-shadow:0 0 0 1px #0f172a,0 6px 16px #00000059}.annotation-text-editor::placeholder{color:var(--color-text-ghost)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading{animation:1s linear infinite spin;display:inline-block}
