@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff")}@font-face{font-family:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/public-sans-vietnamese-wght-normal-CtlIRbEm.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/public-sans-latin-ext-wght-normal-MQgHevqp.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/public-sans-latin-wght-normal-DdeTHZLK.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/archivo-vietnamese-wght-normal-XAtsl5Q_.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/archivo-latin-ext-wght-normal-C4zznr8T.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/archivo-latin-wght-normal-E0tuGl4L.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}: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:#818793;--color-text-ghost:#767e89;--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;--font-ui:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--font-display:var(--font-ui)}[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:#58677d;--color-text-ghost:#636f83;--color-text-dim:#cbd5e1;--color-accent:#0369a1;--color-accent-dim:#0369a118;--color-accent-subtle:#0369a111;--color-accent-glow:#0369a133;--color-athlete:#dbeafe;--color-athlete-text:#0369a1;--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:#58677d;--color-text-ghost:#636f83;--color-text-dim:#cbd5e1;--color-accent:#0369a1;--color-accent-dim:#0369a118;--color-accent-subtle:#0369a111;--color-accent-glow:#0369a133;--color-athlete:#dbeafe;--color-athlete-text:#0369a1;--color-active-bg:#eff6ff;--color-active-accent:#dbeafe;--color-danger-bg:#fff1f2;--color-danger-border:#fecdd3;--color-danger-text:#9f1239}}:root[data-style=trackday]{--color-bg:#1a1817;--color-surface:#211e1d;--color-surface-raised:#282524;--color-border:#3a3532;--color-border-subtle:#2e2a28;--color-text:#f8f7f5;--color-text-muted:#cfc9c3;--color-text-faint:#b3aca6;--color-text-ghost:#9e978f;--color-text-dim:#514a45;--color-accent:#f15c22;--color-accent-dim:#f15c221f;--color-accent-subtle:#f15c2212;--color-accent-glow:#f15c2255;--color-success:#6bc48a;--color-error:#ff6b84;--color-warn:#e8b44a;--color-purple:#b69cff;--color-athlete:#322e2c;--color-athlete-text:#f8f7f5;--color-active-bg:#282524;--color-active-accent:#3a2017;--color-danger-bg:#2a1416;--color-danger-border:#5a2630;--color-danger-text:#ffd3dc;--font-ui:"Public Sans Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display:"Archivo Variable", "Public Sans Variable", system-ui, sans-serif}:root[data-style=trackday][data-theme=light]{--color-bg:#f8f7f5;--color-surface:#fff;--color-surface-raised:#f1eeea;--color-border:#e7e3de;--color-border-subtle:#d9d4cd;--color-text:#262220;--color-text-muted:#5a5551;--color-text-faint:#5f5a56;--color-text-ghost:#6b6764;--color-text-dim:#a8a29c;--color-accent:#bc4614;--color-accent-dim:#bc461418;--color-accent-subtle:#bc461410;--color-accent-glow:#bc461440;--color-success:#356c48;--color-error:#b4233c;--color-warn:#7d5a12;--color-purple:#6d3fd6;--color-athlete:#f1eeea;--color-athlete-text:#262220;--color-active-bg:#f1eeea;--color-active-accent:#fdf0ea;--color-danger-bg:#fbede9;--color-danger-border:#f0ccc0;--color-danger-text:#8f1e2e}@media (prefers-color-scheme:light){:root[data-style=trackday]:not([data-theme]){--color-bg:#f8f7f5;--color-surface:#fff;--color-surface-raised:#f1eeea;--color-border:#e7e3de;--color-border-subtle:#d9d4cd;--color-text:#262220;--color-text-muted:#5a5551;--color-text-faint:#5f5a56;--color-text-ghost:#6b6764;--color-text-dim:#a8a29c;--color-accent:#bc4614;--color-accent-dim:#bc461418;--color-accent-subtle:#bc461410;--color-accent-glow:#bc461440;--color-success:#356c48;--color-error:#b4233c;--color-warn:#7d5a12;--color-purple:#6d3fd6;--color-athlete:#f1eeea;--color-athlete-text:#262220;--color-active-bg:#f1eeea;--color-active-accent:#fdf0ea;--color-danger-bg:#fbede9;--color-danger-border:#f0ccc0;--color-danger-text:#8f1e2e}}*{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);font-family:var(--font-ui);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,select,textarea{font-family:inherit}@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{font-size:12px;font-family:var(--font-ui);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;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{font-size:13px;font-family:var(--font-ui);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;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);font-size:13px;font-family:var(--font-ui);margin-left:8px}.annotation-shortcuts-hint{color:var(--color-text-faint);font-size:12px;font-family:var(--font-ui);margin-left:8px}.annotation-canvas{background:0 0;width:100%;height:100%;display:block;position:absolute;inset:0}.annotation-outside-hint{z-index:3;pointer-events:none;font-size:12px;font-family:var(--font-ui);color:#ffb4c4;letter-spacing:.2px;background:#140b10e6;border:1px solid #ff6b8a55;border-radius:999px;padding:4px 8px;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}@media (width<=640px){.annotation-controls{scrollbar-width:none;justify-content:flex-start;overflow-x:auto}.annotation-controls::-webkit-scrollbar{display:none}.annotation-actions{flex-shrink:0;margin-left:0}.annotation-actions button{white-space:nowrap}.annotation-shortcuts-hint{display:none}}
