@charset "UTF-8";@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-Italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-MediumItalic.woff2) format("woff2");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-SemiBold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-SemiBold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--vr-blue-50: #EAF2FC;--vr-blue-100: #CFE1F7;--vr-blue-200: #9CC3EF;--vr-blue-300: #5EA2E6;--vr-blue-500: #1D7CE0;--vr-blue-600: #0B6CDB;--vr-blue-700: #0957B0;--vr-blue-800: #074487;--vr-ink-900: #1A1F26;--vr-ink-800: #212529;--vr-ink-700: #343A40;--vr-ink-600: #495057;--vr-ink-500: #6C757D;--vr-ink-400: #9CA3AF;--vr-gray-50: #F8F9FA;--vr-gray-100: #E9ECEF;--vr-gray-200: #DEE2E6;--vr-gray-300: #CED4DA;--vr-gray-500: #6C757D;--vr-gray-600: #5A6268;--vr-white: #FFFFFF;--vr-podium-gold: #C99700;--vr-podium-silver: #8A8F97;--vr-podium-bronze: #A16D3B;--vr-podium-gold-bg: #FFF7DB;--vr-podium-silver-bg: #EEF0F2;--vr-podium-bronze-bg: #F5E8DA;--vr-success-600: #1E874B;--vr-success-bg: #D1E7DD;--vr-success-ink: #0F5132;--vr-caution-600: #B0761E;--vr-caution-bg: #FFF3CD;--vr-caution-ink: #856404;--vr-caution-border: #FFC107;--vr-danger-600: #B02A37;--vr-danger-bg: #F8D7DA;--vr-danger-ink: #721C24;--vr-bg: var(--vr-white);--vr-bg-subtle: var(--vr-gray-50);--vr-bg-page: #F0F2F4;--vr-bg-header: var(--vr-ink-700);--vr-border: var(--vr-gray-200);--vr-border-strong: var(--vr-gray-300);--vr-fg: var(--vr-ink-800);--vr-fg-strong: var(--vr-ink-900);--vr-fg-muted: var(--vr-ink-500);--vr-fg-on-dark: var(--vr-white);--vr-link: var(--vr-blue-600);--vr-link-hover: var(--vr-blue-700);--vr-primary: var(--vr-blue-600);--vr-primary-hover: var(--vr-blue-700);--vr-focus-ring: 0 0 0 .2rem rgba(11, 108, 219, .25);--vr-font-sans: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--vr-font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--vr-font-mono-settings: "zero" 0;--vr-font-display: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--vr-text-xs: .75rem;--vr-text-sm: .875rem;--vr-text-base: 1rem;--vr-text-md: 1.125rem;--vr-text-lg: 1.25rem;--vr-text-xl: 1.5rem;--vr-text-2xl: 1.75rem;--vr-text-3xl: 2rem;--vr-text-4xl: 2.5rem;--vr-lh-tight: 1.2;--vr-lh-body: 1.5;--vr-fw-regular: 400;--vr-fw-medium: 500;--vr-fw-semi: 600;--vr-fw-bold: 700;--vr-space-1: .25rem;--vr-space-2: .5rem;--vr-space-3: .75rem;--vr-space-4: 1rem;--vr-space-5: 1.5rem;--vr-space-6: 2rem;--vr-space-7: 3rem;--vr-radius-sm: .25rem;--vr-radius-md: .375rem;--vr-radius-lg: .5rem;--vr-shadow-sm: 0 2px 4px rgba(0, 0, 0, .08);--vr-shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--vr-shadow-lg: 0 12px 28px rgba(0, 0, 0, .12);--vr-content-max: 1400px;--vr-duration: .15s;--vr-ease: ease-in-out;--fl-touch-target: 44px}.vr-h1,h1.vr{font-family:var(--vr-font-display);font-size:var(--vr-text-3xl);font-weight:var(--vr-fw-semi);line-height:var(--vr-lh-tight);letter-spacing:-.01em;color:var(--vr-fg-strong)}.vr-h2,h2.vr{font-family:var(--vr-font-display);font-size:var(--vr-text-2xl);font-weight:var(--vr-fw-semi);line-height:var(--vr-lh-tight);letter-spacing:-.01em;color:var(--vr-fg-strong)}.vr-h3,h3.vr{font-family:var(--vr-font-display);font-size:var(--vr-text-xl);font-weight:var(--vr-fw-semi);line-height:var(--vr-lh-tight);color:var(--vr-fg-strong)}.vr-h4,h4.vr{font-family:var(--vr-font-display);font-size:var(--vr-text-md);font-weight:var(--vr-fw-semi);line-height:var(--vr-lh-tight);color:var(--vr-fg-strong)}.vr-h5,h5.vr{font-size:var(--vr-text-base);font-weight:var(--vr-fw-semi);line-height:var(--vr-lh-tight);color:var(--vr-fg-strong)}.vr-h6,h6.vr{font-size:var(--vr-text-sm);font-weight:var(--vr-fw-semi);line-height:var(--vr-lh-tight);text-transform:uppercase;letter-spacing:.05em;color:var(--vr-fg-muted)}.vr-body{font-size:var(--vr-text-base);line-height:var(--vr-lh-body);color:var(--vr-fg)}.vr-small{font-size:var(--vr-text-sm);color:var(--vr-fg)}.vr-muted{color:var(--vr-fg-muted)}.vr-mono{font-family:var(--vr-font-mono);font-variant-numeric:tabular-nums;font-feature-settings:var(--vr-font-mono-settings)}.vr-time{font-family:var(--vr-font-mono);font-variant-numeric:tabular-nums;font-feature-settings:var(--vr-font-mono-settings);font-weight:var(--vr-fw-semi);letter-spacing:-.01em}.vr-number{font-variant-numeric:tabular-nums;font-feature-settings:var(--vr-font-mono-settings)}.vr-link{color:var(--vr-link);text-decoration:none;font-weight:var(--vr-fw-medium);transition:color var(--vr-duration) var(--vr-ease)}.vr-link:hover{color:var(--vr-link-hover);text-decoration:underline}.fl-page{min-height:100vh;background:var(--vr-bg-page)}.fl-content{padding:var(--vr-space-5);max-width:var(--vr-content-max);margin:0 auto}.fl-header{background:var(--vr-primary);color:var(--vr-fg-on-dark);padding:var(--vr-space-3) var(--vr-space-5);display:flex;justify-content:space-between;align-items:center;box-shadow:var(--vr-shadow-sm)}.fl-header-content{padding:var(--vr-space-2) var(--vr-space-4);display:flex;align-items:center;gap:var(--vr-space-4);width:100%}.fl-header-title{display:flex;align-items:center;gap:var(--vr-space-3)}.fl-brand-mark{display:block;border-radius:var(--vr-radius-lg);flex-shrink:0}.fl-header h1{margin:0;font-family:var(--vr-font-display);font-size:var(--vr-text-2xl);font-weight:var(--vr-fw-semi);letter-spacing:-.01em;color:var(--vr-fg-on-dark)}.fl-race-info{flex:1;min-width:0}.fl-race-info h1{margin:0 0 var(--vr-space-1) 0;font-size:var(--vr-text-xl)}.fl-race-meta{display:flex;gap:var(--vr-space-4);align-items:center;flex-wrap:wrap}.fl-race-type-badge,.fl-distance-badge{background:#ffffff4d;padding:var(--vr-space-1) var(--vr-space-2);border-radius:var(--vr-radius-sm);font-size:var(--vr-text-sm);font-weight:var(--vr-fw-bold)}.fl-distance-badge{background:#ffffff80}.fl-entry-count{font-size:var(--vr-text-base);font-variant-numeric:tabular-nums}.fl-header-actions{display:flex;gap:var(--vr-space-4);margin-left:auto;flex-shrink:0}.fl-header-actions .fl-btn{padding:var(--vr-space-2) var(--vr-space-5);font-size:var(--vr-text-base);font-weight:var(--vr-fw-bold);min-width:100px}.fl-header .fl-btn:not(.is-success):not(.is-danger){background:var(--vr-white);color:var(--vr-primary);border-color:var(--vr-white)}.fl-header .fl-btn:not(.is-success):not(.is-danger):hover:not(:disabled){background:var(--vr-blue-50);color:var(--vr-primary-hover);border-color:var(--vr-blue-50)}.fl-btn{min-width:var(--fl-touch-target);min-height:var(--fl-touch-target);font-family:var(--vr-font-sans);font-size:var(--vr-text-md);font-weight:var(--vr-fw-bold);padding:var(--vr-space-4) var(--vr-space-5);border:2px solid var(--vr-primary);background:var(--vr-primary);color:var(--vr-fg-on-dark);cursor:pointer;border-radius:var(--vr-radius-sm);transition:background var(--vr-duration) var(--vr-ease),transform .1s var(--vr-ease);box-sizing:border-box}.fl-btn:hover:not(:disabled){background:var(--vr-primary-hover);border-color:var(--vr-primary-hover)}.fl-btn:active:not(:disabled){transform:scale(.97)}.fl-btn:focus-visible{outline:none;box-shadow:var(--vr-focus-ring)}.fl-btn:disabled{opacity:.55;cursor:not-allowed;background:var(--vr-ink-500);border-color:var(--vr-ink-500)}.fl-btn.is-secondary{background:var(--vr-white);color:var(--vr-primary);border-color:var(--vr-primary)}.fl-btn.is-secondary:hover:not(:disabled){background:var(--vr-blue-50);color:var(--vr-primary-hover);border-color:var(--vr-primary-hover)}.fl-btn.is-danger{background:var(--vr-danger-600);border-color:var(--vr-danger-600);color:var(--vr-white)}.fl-btn.is-danger:hover:not(:disabled){background:var(--vr-danger-ink);border-color:var(--vr-danger-ink)}.fl-btn.is-success{background:var(--vr-success-600);border-color:var(--vr-success-600);color:var(--vr-white)}.fl-btn.is-success:hover:not(:disabled){background:var(--vr-success-ink);border-color:var(--vr-success-ink)}.fl-btn.is-wide{min-width:250px}.fl-btn.is-finalize{flex-shrink:0;min-width:160px;font-weight:var(--vr-fw-bold)}.fl-back-button{flex-shrink:0}.fl-input,.fl-select,.fl-textarea{min-height:var(--fl-touch-target);font-family:var(--vr-font-sans);font-size:var(--vr-text-md);padding:var(--vr-space-3) var(--vr-space-4);border:2px solid var(--vr-border-strong);border-radius:var(--vr-radius-sm);width:100%;background:var(--vr-white);color:var(--vr-fg);box-sizing:border-box}.fl-input:focus,.fl-select:focus,.fl-textarea:focus{outline:none;border-color:var(--vr-primary);box-shadow:var(--vr-focus-ring)}.fl-form-group{margin-bottom:var(--vr-space-4)}.fl-form-group label{display:block;font-weight:var(--vr-fw-bold);margin-bottom:var(--vr-space-1);font-size:var(--vr-text-base);color:var(--vr-fg-strong)}.fl-rider-number{font-family:var(--vr-font-sans);font-size:var(--vr-text-xl);font-weight:var(--vr-fw-bold);font-variant-numeric:tabular-nums;min-width:60px;display:inline-block;text-align:center;padding:var(--vr-space-2);background:var(--vr-primary);color:var(--vr-fg-on-dark);border-radius:var(--vr-radius-sm);margin-right:var(--vr-space-2);flex-shrink:0}.fl-rider-number-badge{background:var(--vr-primary);color:var(--vr-fg-on-dark);padding:var(--vr-space-1) var(--vr-space-2);border-radius:var(--vr-radius-sm);font-weight:var(--vr-fw-bold);font-variant-numeric:tabular-nums;display:inline-block;text-align:center}.fl-rider-name{font-size:var(--vr-text-md);font-weight:var(--vr-fw-semi);color:var(--vr-fg-strong)}.fl-rider-details{font-size:var(--vr-text-sm);color:var(--vr-fg-muted);margin-top:var(--vr-space-1)}.fl-rider-team{font-size:var(--vr-text-sm);color:var(--vr-fg-muted);margin-top:2px}.fl-rider-info{flex:1;min-width:0}.fl-rider-row{min-height:var(--fl-touch-target);border:2px solid var(--vr-border-strong);padding:var(--vr-space-4);margin:var(--vr-space-2) 0;background:var(--vr-white);display:flex;align-items:center;gap:var(--vr-space-4);border-radius:var(--vr-radius-sm);transition:background var(--vr-duration) var(--vr-ease),transform .1s var(--vr-ease)}.fl-rider-row:hover{background:var(--vr-gray-50)}.fl-rider-row:active{background:var(--vr-gray-100);transform:scale(.99)}.fl-rider-row.is-dragging{opacity:.5;background:var(--vr-gray-300)}.fl-rider-row.is-selectable{cursor:pointer}.fl-rider-row.is-selectable:hover{border-color:var(--vr-primary);transform:translate(4px)}.fl-rider-row.is-selectable:active{transform:translate(2px)}.fl-rider-row.is-selectable-with-actions{display:flex;align-items:center;padding:0}.fl-rider-content{flex:1;display:flex;align-items:center;gap:var(--vr-space-4);padding:var(--vr-space-4);cursor:pointer}.fl-rider-content:hover{background:var(--vr-gray-50)}.fl-rider-content:active{background:var(--vr-gray-100)}.fl-rider-row.is-finisher{background:var(--vr-success-bg);border-color:var(--vr-success-600)}.fl-rider-row.is-winner{background:var(--vr-blue-50);border-color:var(--vr-primary)}.fl-rider-row.is-eliminated,.fl-rider-row.is-dnf{background:var(--vr-danger-bg);border-color:var(--vr-danger-600)}.fl-rider-row.is-dns{background:var(--vr-caution-bg);border-color:var(--vr-caution-600)}.fl-rider-row.is-dnf .fl-rider-number{background:#ffffffe6;color:var(--vr-fg-strong)}.fl-rider-row.is-draggable{cursor:move}.fl-rider-row.is-draggable:hover{border-color:var(--vr-primary);box-shadow:var(--vr-shadow-sm)}.fl-rider-row.cdk-drag-preview{opacity:.85;box-shadow:var(--vr-shadow-md)}.fl-rider-row.cdk-drag-placeholder{opacity:.35;background:var(--vr-gray-200)}.fl-rider-row.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.fl-rider-list{min-height:60px}.fl-rider-list.is-unstarted{background:var(--vr-gray-50);padding:var(--vr-space-2);border-radius:var(--vr-radius-lg)}.fl-drag-handle{font-size:20px;color:var(--vr-ink-400);cursor:grab;flex-shrink:0;-webkit-user-select:none;user-select:none;padding:0 var(--vr-space-1)}.fl-drag-handle:hover{color:var(--vr-primary)}.fl-drag-handle:active{cursor:grabbing}.fl-position-number{font-size:var(--vr-text-xl);font-weight:var(--vr-fw-bold);font-variant-numeric:tabular-nums;min-width:40px;text-align:center;color:var(--vr-primary);flex-shrink:0}.fl-elimination-place{font-size:var(--vr-text-md);font-weight:var(--vr-fw-bold);font-variant-numeric:tabular-nums;min-width:40px;text-align:center;color:var(--vr-danger-600);flex-shrink:0}.fl-dnf-section,.fl-dns-section{margin:var(--vr-space-5) 0;padding:var(--vr-space-5);border-radius:var(--vr-radius-lg);border:3px solid;min-height:80px}.fl-dnf-section{background:var(--vr-danger-bg);color:var(--vr-fg-strong);border-color:var(--vr-danger-600)}.fl-dns-section{background:var(--vr-caution-bg);color:var(--vr-fg-strong);border-color:var(--vr-caution-600)}.fl-dnf-section h3,.fl-dns-section h3{margin-top:0;font-size:var(--vr-text-xl)}.fl-dnf-section h3{color:var(--vr-danger-ink)}.fl-dns-section h3{color:var(--vr-caution-ink)}.fl-dnf-list,.fl-dns-list{min-height:80px}.fl-empty-zone{text-align:center;padding:var(--vr-space-6);border:2px dashed var(--vr-ink-400);border-radius:var(--vr-radius-lg);color:var(--vr-fg-muted);font-size:var(--vr-text-base);font-weight:var(--vr-fw-bold)}.fl-empty-message{text-align:center;padding:var(--vr-space-6);background:var(--vr-gray-50);border:2px dashed var(--vr-border);border-radius:var(--vr-radius-lg);color:var(--vr-fg-muted);font-size:var(--vr-text-base)}.fl-dnf-btn,.fl-dns-btn{min-width:60px;min-height:var(--fl-touch-target);padding:var(--vr-space-1) var(--vr-space-2);color:var(--vr-white);border:none;border-left:2px solid var(--vr-border-strong);font-weight:var(--vr-fw-bold);font-size:var(--vr-text-sm);flex-shrink:0;cursor:pointer;border-radius:0}.fl-dnf-btn{background:var(--vr-danger-600)}.fl-dnf-btn:hover{background:var(--vr-danger-ink)}.fl-dns-btn{background:var(--vr-caution-600)}.fl-dns-btn:hover{background:var(--vr-caution-ink)}.fl-eliminated-badge{font-size:var(--vr-text-sm);color:var(--vr-fg-muted);padding:var(--vr-space-1) var(--vr-space-2);background:var(--vr-danger-bg);border-radius:var(--vr-radius-sm);flex-shrink:0}.fl-instructions{background:var(--vr-blue-50);border:2px solid var(--vr-primary);border-radius:var(--vr-radius-lg);padding:var(--vr-space-4);margin-bottom:var(--vr-space-5)}.fl-instructions p{margin:var(--vr-space-1) 0;font-size:var(--vr-text-base);line-height:var(--vr-lh-body)}.fl-instructions p:first-child{margin-top:0}.fl-instructions p:last-child{margin-bottom:0}.fl-mode-change{background:var(--vr-caution-border);color:var(--vr-fg-strong);padding:var(--vr-space-2);border-radius:var(--vr-radius-sm);font-weight:var(--vr-fw-bold);margin-top:var(--vr-space-2)}.fl-help-text{color:var(--vr-fg-muted);font-size:var(--vr-text-base);margin-bottom:var(--vr-space-4)}.fl-help-text.is-small{font-size:var(--vr-text-sm);margin:var(--vr-space-1) 0 var(--vr-space-4) 0}.fl-help-text.is-inline{font-size:var(--vr-text-sm);color:var(--vr-ink-400);font-weight:var(--vr-fw-regular);margin-left:var(--vr-space-2);margin-bottom:0;display:inline}.fl-loading{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:200px;font-size:var(--vr-text-md);color:var(--vr-fg-muted);gap:var(--vr-space-4)}.fl-loading:before{content:"";width:48px;height:48px;border:4px solid var(--vr-border);border-top-color:var(--vr-primary);border-radius:50%;animation:fl-spin 1s linear infinite}.fl-loading-overlay{position:fixed;inset:0;background:#000000b3;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:9999;gap:var(--vr-space-5)}.fl-loading-spinner{width:60px;height:60px;border:6px solid rgba(255,255,255,.3);border-top-color:var(--vr-white);border-radius:50%;animation:fl-spin 1s linear infinite}.fl-loading-text{color:var(--vr-white);font-size:var(--vr-text-xl);font-weight:var(--vr-fw-bold)}.fl-spinner{width:48px;height:48px;border:4px solid var(--vr-border);border-top-color:var(--vr-primary);border-radius:50%;animation:fl-spin 1s linear infinite}.fl-spinner.is-large{width:64px;height:64px;border-width:5px}@keyframes fl-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fl-error-message{text-align:center;padding:var(--vr-space-6);background:var(--vr-danger-bg);border:2px solid var(--vr-danger-600);border-radius:var(--vr-radius-lg)}.fl-error-message h3{color:var(--vr-danger-ink);margin-top:0}.fl-success-message{margin-top:var(--vr-space-5);padding:var(--vr-space-5);background:var(--vr-success-600);color:var(--vr-white);border-radius:var(--vr-radius-lg);text-align:center;font-size:var(--vr-text-md);font-weight:var(--vr-fw-bold)}.fl-auto-save-message{margin-top:var(--vr-space-4);padding:var(--vr-space-4);background:var(--vr-blue-50);border:2px solid var(--vr-primary);border-radius:var(--vr-radius-lg);text-align:center;font-size:var(--vr-text-base)}.fl-offline-banner{background:var(--vr-caution-border);color:var(--vr-fg-strong);padding:var(--vr-space-4);text-align:center;font-weight:var(--vr-fw-bold);font-size:var(--vr-text-md);position:fixed;bottom:0;left:0;right:0;z-index:1000;box-shadow:0 -2px 6px #0003}.fl-empty-state{text-align:center;padding:var(--vr-space-6) var(--vr-space-4);color:var(--vr-fg-muted)}.fl-empty-state h2{color:var(--vr-fg-strong);margin-bottom:var(--vr-space-4)}.fl-empty-state.is-boxed{background:var(--vr-gray-50);border:2px solid var(--vr-border);border-radius:var(--vr-radius-lg)}.fl-empty-state.is-boxed h2{color:var(--vr-primary)}.fl-empty-state.is-boxed p{color:var(--vr-fg-muted);line-height:var(--vr-lh-body);margin:var(--vr-space-4) 0}.fl-session-card{background:var(--vr-white);border:2px solid var(--vr-border);border-radius:var(--vr-radius-lg);padding:var(--vr-space-5);margin-bottom:var(--vr-space-5);box-shadow:var(--vr-shadow-sm)}.fl-session-card h2{margin-top:0;color:var(--vr-primary);border-bottom:2px solid var(--vr-border);padding-bottom:var(--vr-space-2);margin-bottom:var(--vr-space-4)}.fl-race-card{background:var(--vr-white);border:2px solid var(--vr-border-strong);border-radius:var(--vr-radius-sm);padding:var(--vr-space-4);margin-bottom:var(--vr-space-2);cursor:pointer;transition:all var(--vr-duration) var(--vr-ease);min-height:var(--fl-touch-target);display:flex;flex-direction:column;justify-content:center}.fl-race-card:hover{background:var(--vr-gray-50);border-color:var(--vr-primary);transform:translate(4px)}.fl-race-card:active{background:var(--vr-gray-100);transform:translate(2px)}.fl-race-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--vr-space-1)}.fl-race-title{font-size:var(--vr-text-md);font-weight:var(--vr-fw-bold);color:var(--vr-fg-strong)}.fl-race-details{display:flex;gap:var(--vr-space-4);font-size:var(--vr-text-base);color:var(--vr-fg-muted)}.fl-race-card .fl-race-type-badge{background:var(--vr-primary);color:var(--vr-fg-on-dark)}.fl-omnium-badge{background:var(--vr-caution-border);color:var(--vr-fg-strong);padding:2px var(--vr-space-2);border-radius:var(--vr-radius-sm);font-weight:var(--vr-fw-bold);font-size:var(--vr-text-sm)}.fl-event-list{display:flex;flex-direction:column;gap:var(--vr-space-4)}.fl-event-card{background:var(--vr-white);border:2px solid var(--vr-border-strong);border-radius:var(--vr-radius-lg);padding:var(--vr-space-5);cursor:pointer;transition:all var(--vr-duration) var(--vr-ease);min-height:var(--fl-touch-target);display:flex;flex-direction:column;justify-content:center;gap:var(--vr-space-2)}.fl-event-card:hover{background:var(--vr-gray-50);border-color:var(--vr-primary);transform:translate(4px)}.fl-event-card:active{background:var(--vr-gray-100);transform:translate(2px)}.fl-event-card.is-default{border-color:var(--vr-success-600);border-width:3px;background:var(--vr-success-bg)}.fl-event-card.is-default:hover{background:#c8e0d4;border-color:var(--vr-success-600)}.fl-event-header{display:flex;justify-content:space-between;align-items:center;gap:var(--vr-space-4)}.fl-event-title{font-size:var(--vr-text-md);font-weight:var(--vr-fw-bold);color:var(--vr-fg-strong);flex:1}.fl-default-badge{background:var(--vr-success-600);color:var(--vr-white);padding:var(--vr-space-1) var(--vr-space-2);border-radius:var(--vr-radius-sm);font-size:var(--vr-text-sm);font-weight:var(--vr-fw-bold);flex-shrink:0}.fl-event-details{display:flex;gap:var(--vr-space-4);align-items:center;flex-wrap:wrap}.fl-event-date{font-size:var(--vr-text-base);font-weight:var(--vr-fw-semi);color:var(--vr-fg-strong)}.fl-event-type-badge{background:var(--vr-primary);color:var(--vr-fg-on-dark);padding:var(--vr-space-1) var(--vr-space-2);border-radius:var(--vr-radius-sm);font-size:var(--vr-text-sm);font-weight:var(--vr-fw-bold);text-transform:uppercase}.fl-event-meta{font-size:var(--vr-text-sm);color:var(--vr-fg-muted);font-weight:var(--vr-fw-medium)}.fl-section{margin-bottom:var(--vr-space-5)}.fl-section h2,.fl-section h3{margin-top:0;margin-bottom:var(--vr-space-4)}.fl-section.is-primary h2,.fl-section.is-primary h3{color:var(--vr-primary)}.fl-section.is-muted h2,.fl-section.is-muted h3{color:var(--vr-fg-muted)}.fl-section.is-boxed{padding:var(--vr-space-4);background:var(--vr-gray-50);border:2px solid var(--vr-border);border-radius:var(--vr-radius-lg)}.fl-status-bar{display:flex;gap:var(--vr-space-5);padding:var(--vr-space-4);background:var(--vr-white);border:2px solid var(--vr-border-strong);border-radius:var(--vr-radius-lg);margin-bottom:var(--vr-space-5);flex-wrap:wrap}.fl-status-item{display:flex;flex-direction:column;gap:var(--vr-space-1)}.fl-status-label{font-size:var(--vr-text-sm);color:var(--vr-fg-muted);font-weight:var(--vr-fw-semi);text-transform:uppercase;letter-spacing:.04em}.fl-status-value{font-size:var(--vr-text-xl);font-weight:var(--vr-fw-bold);font-variant-numeric:tabular-nums;color:var(--vr-primary)}.fl-standings-list{min-height:50px}.fl-undo-btn,.fl-remove-btn{min-width:50px;min-height:40px;padding:var(--vr-space-1) var(--vr-space-2);background:var(--vr-danger-600);color:var(--vr-white);border:none;font-weight:var(--vr-fw-bold);flex-shrink:0;border-radius:var(--vr-radius-sm);cursor:pointer}.fl-remove-btn{background:var(--vr-ink-500)}.fl-sprint-buttons{display:flex;flex-wrap:wrap;gap:var(--vr-space-2);margin-bottom:var(--vr-space-5)}.fl-sprint-btn{min-width:100px;min-height:var(--fl-touch-target);padding:var(--vr-space-4);background:var(--vr-white);color:var(--vr-primary);border:2px solid var(--vr-primary);cursor:pointer;font-weight:var(--vr-fw-bold);position:relative;border-radius:var(--vr-radius-sm);font-family:var(--vr-font-sans);font-size:var(--vr-text-md)}.fl-sprint-btn.is-scored{background:var(--vr-primary);color:var(--vr-white)}.fl-sprint-btn.is-final{border-color:var(--vr-caution-border);border-width:3px}.fl-sprint-btn.is-final.is-scored{background:var(--vr-caution-border);color:var(--vr-fg-strong);border-color:var(--vr-caution-border)}.fl-final-badge{display:block;font-size:var(--vr-text-sm);margin-top:var(--vr-space-1)}.fl-checkmark{position:absolute;top:4px;right:4px;font-size:16px}.fl-scoring-grid-wrap{overflow-x:auto;margin-bottom:var(--vr-space-5);border:2px solid var(--vr-border-strong);border-radius:var(--vr-radius-lg)}.fl-scoring-grid{width:100%;border-collapse:collapse;background:var(--vr-white);font-size:var(--vr-text-base)}.fl-scoring-grid th,.fl-scoring-grid td{padding:var(--vr-space-2) var(--vr-space-4);border:1px solid var(--vr-border);text-align:center}.fl-scoring-grid th{background:var(--vr-primary);color:var(--vr-fg-on-dark);font-weight:var(--vr-fw-bold);position:sticky;top:0;z-index:10}.fl-scoring-grid tbody tr:nth-child(2n){background:var(--vr-gray-50)}.fl-col-position{width:50px;font-weight:var(--vr-fw-bold);font-variant-numeric:tabular-nums}.fl-col-number{width:70px}.fl-col-rider{text-align:left;min-width:200px}.fl-col-sprint{width:50px;font-weight:var(--vr-fw-semi);font-variant-numeric:tabular-nums}.fl-col-lap{width:120px}.fl-col-total{width:80px;background:var(--vr-caution-bg)!important;font-size:var(--vr-text-md);font-variant-numeric:tabular-nums}.fl-final-indicator{color:var(--vr-caution-600);font-weight:var(--vr-fw-bold)}.fl-lap-controls{display:flex;align-items:center;justify-content:center;gap:var(--vr-space-1)}.fl-lap-btn{min-width:40px;min-height:40px;padding:var(--vr-space-1);font-size:18px;font-weight:var(--vr-fw-bold);border-radius:var(--vr-radius-sm);background:var(--vr-primary);color:var(--vr-white);border:2px solid var(--vr-primary);cursor:pointer}.fl-lap-btn:hover:not(:disabled){background:var(--vr-primary-hover);border-color:var(--vr-primary-hover)}.fl-lap-btn:disabled{opacity:.55;cursor:not-allowed}.fl-lap-value{min-width:30px;font-weight:var(--vr-fw-bold);font-size:var(--vr-text-base);font-variant-numeric:tabular-nums}.fl-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--vr-space-4)}.fl-modal{background:var(--vr-white);border-radius:var(--vr-radius-lg);padding:var(--vr-space-5);max-width:500px;width:100%;max-height:90vh;overflow-y:auto}.fl-modal.is-large{max-width:700px}.fl-modal h2{margin-top:0;color:var(--vr-primary)}.fl-modal-help{color:var(--vr-fg-muted);margin-bottom:var(--vr-space-4)}.fl-modal-actions{display:flex;gap:var(--vr-space-4);margin-top:var(--vr-space-5)}.fl-modal-actions .fl-btn{flex:1}.fl-modal.is-sprint{max-width:1000px;max-height:85vh}.fl-sprint-modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--vr-space-5);margin-bottom:var(--vr-space-5);padding-bottom:var(--vr-space-4);border-bottom:2px solid var(--vr-border)}.fl-sprint-modal-title{flex:1}.fl-sprint-modal-title h2{margin:0 0 var(--vr-space-1) 0}.fl-sprint-modal-actions{display:flex;gap:var(--vr-space-2);flex-shrink:0}.fl-sprint-modal-actions .fl-btn{min-width:100px}.fl-sprint-modal-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--vr-space-5);min-height:400px}.fl-riders-column,.fl-selected-column{display:flex;flex-direction:column}.fl-riders-column h3,.fl-selected-column h3{margin-top:0;margin-bottom:var(--vr-space-4);font-size:var(--vr-text-md);display:flex;align-items:center;gap:var(--vr-space-2)}.fl-count-badge{background:var(--vr-primary);color:var(--vr-white);padding:2px var(--vr-space-2);border-radius:12px;font-size:var(--vr-text-sm);font-weight:var(--vr-fw-regular);font-variant-numeric:tabular-nums}.fl-riders-list{flex:1;overflow-y:auto;border:2px solid var(--vr-border-strong);border-radius:var(--vr-radius-sm);background:var(--vr-gray-50)}.fl-riders-list .fl-rider-row{min-height:50px;padding:var(--vr-space-2) var(--vr-space-4);margin:2px;border:2px solid transparent;gap:var(--vr-space-2);cursor:pointer}.fl-riders-list .fl-rider-row:hover{background:var(--vr-blue-50);border-color:var(--vr-primary);transform:none}.fl-riders-list .fl-rider-row.is-selected{background:var(--vr-success-bg);border-color:var(--vr-success-600)}.fl-position-badge{margin-left:auto;background:var(--vr-success-600);color:var(--vr-white);padding:4px var(--vr-space-2);border-radius:var(--vr-radius-sm);font-weight:var(--vr-fw-bold);font-size:var(--vr-text-sm)}.fl-selected-riders-list{flex:1;border:2px solid var(--vr-border-strong);border-radius:var(--vr-radius-sm);background:var(--vr-gray-50);min-height:200px;padding:var(--vr-space-2)}.fl-selected-rider-row{display:flex;align-items:center;gap:var(--vr-space-2);padding:var(--vr-space-2) var(--vr-space-4);margin-bottom:var(--vr-space-2);background:var(--vr-white);border:2px solid var(--vr-success-600);border-radius:var(--vr-radius-sm);min-height:50px;cursor:move}.fl-selected-rider-row.cdk-drag-preview{box-shadow:var(--vr-shadow-md);opacity:.9}.fl-selected-rider-row.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.fl-position-label{background:var(--vr-primary);color:var(--vr-white);width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:var(--vr-fw-bold);font-size:var(--vr-text-base);font-variant-numeric:tabular-nums}.fl-points-badge{margin-left:auto;background:var(--vr-gray-100);padding:4px var(--vr-space-2);border-radius:var(--vr-radius-sm);font-weight:var(--vr-fw-bold);color:var(--vr-primary);font-size:var(--vr-text-sm);font-variant-numeric:tabular-nums}.fl-row-remove-btn{background:var(--vr-danger-600);color:var(--vr-white);border:none;width:28px;min-width:28px;height:28px;min-height:28px;border-radius:50%;font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.fl-row-remove-btn:hover{background:var(--vr-danger-ink)}.fl-empty-inline{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--vr-ink-400);padding:var(--vr-space-6)}.fl-empty-inline p{margin:var(--vr-space-2) 0}.fl-final-sprint-badge{background:var(--vr-caution-600);color:var(--vr-white);padding:4px var(--vr-space-2);border-radius:var(--vr-radius-sm);font-size:var(--vr-text-sm);font-weight:var(--vr-fw-regular);margin-left:var(--vr-space-2)}.fl-round-section{margin-bottom:var(--vr-space-6)}.fl-round-section h2{color:var(--vr-primary);border-bottom:3px solid var(--vr-primary);padding-bottom:var(--vr-space-2);margin-bottom:var(--vr-space-4)}.fl-heat-card{background:var(--vr-white);border:2px solid var(--vr-border-strong);border-radius:var(--vr-radius-lg);padding:var(--vr-space-5);margin-bottom:var(--vr-space-4)}.fl-heat-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--vr-space-4)}.fl-heat-header h3{margin:0;color:var(--vr-fg-strong)}.fl-scored-badge,.fl-qualified-badge{background:var(--vr-success-600);color:var(--vr-white);padding:var(--vr-space-1) var(--vr-space-2);border-radius:var(--vr-radius-sm);font-size:var(--vr-text-sm);font-weight:var(--vr-fw-bold)}.fl-heat-entries{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--vr-space-2);margin-bottom:var(--vr-space-4)}.fl-heat-entry{display:flex;align-items:center;gap:var(--vr-space-2);padding:var(--vr-space-2);background:var(--vr-gray-50);border-radius:var(--vr-radius-sm)}.fl-score-heat-btn{width:100%;min-height:var(--fl-touch-target);background:var(--vr-primary);color:var(--vr-fg-on-dark);font-weight:var(--vr-fw-bold);font-size:var(--vr-text-md);border:2px solid var(--vr-primary);border-radius:var(--vr-radius-sm);padding:var(--vr-space-4) var(--vr-space-5);cursor:pointer;font-family:var(--vr-font-sans)}.fl-score-heat-btn:hover:not(:disabled){background:var(--vr-primary-hover);border-color:var(--vr-primary-hover)}.fl-heat-results{border-top:2px solid var(--vr-border);padding-top:var(--vr-space-4);margin-top:var(--vr-space-4)}.fl-heat-results h4{margin-top:0;margin-bottom:var(--vr-space-2);color:var(--vr-fg-muted)}.fl-result-row{display:flex;align-items:center;gap:var(--vr-space-4);padding:var(--vr-space-2);border-bottom:1px solid var(--vr-border)}.fl-result-place{font-size:var(--vr-text-md);font-weight:var(--vr-fw-bold);font-variant-numeric:tabular-nums;min-width:30px;color:var(--vr-primary)}.fl-result-rider{flex:1;font-weight:var(--vr-fw-medium)}.fl-edit-heat-btn{width:100%;min-height:var(--fl-touch-target);background:var(--vr-ink-500);border:2px solid var(--vr-ink-500);color:var(--vr-white);font-weight:var(--vr-fw-bold);font-size:var(--vr-text-base);margin-top:var(--vr-space-4);border-radius:var(--vr-radius-sm);padding:var(--vr-space-4) var(--vr-space-5);cursor:pointer;font-family:var(--vr-font-sans)}.fl-edit-heat-btn:disabled{background:var(--vr-gray-300);border-color:var(--vr-gray-300);color:var(--vr-ink-500);cursor:not-allowed;opacity:.7}.fl-final-results-section{margin-top:var(--vr-space-6);padding:var(--vr-space-5);background:var(--vr-white);border:3px solid var(--vr-success-600);border-radius:var(--vr-radius-lg)}.fl-final-results-section h2{margin-top:0;color:var(--vr-success-600)}.fl-final-result-row{display:flex;align-items:center;gap:var(--vr-space-4);padding:var(--vr-space-4);border-bottom:2px solid var(--vr-border);font-size:var(--vr-text-md)}.fl-final-place{font-size:var(--vr-text-xl);font-weight:var(--vr-fw-bold);font-variant-numeric:tabular-nums;min-width:50px;color:var(--vr-primary)}.fl-final-number{background:var(--vr-primary);color:var(--vr-fg-on-dark);padding:var(--vr-space-2);border-radius:var(--vr-radius-sm);font-weight:var(--vr-fw-bold);font-variant-numeric:tabular-nums;min-width:50px;text-align:center}.fl-final-rider{flex:1;font-weight:var(--vr-fw-semi)}.fl-modal-finishers{margin-bottom:var(--vr-space-5)}.fl-modal-finisher-row,.fl-modal-rider-row{display:flex;align-items:center;gap:var(--vr-space-2);padding:var(--vr-space-2);margin:var(--vr-space-1) 0;border-radius:var(--vr-radius-sm);min-height:var(--fl-touch-target)}.fl-modal-finisher-row{background:var(--vr-success-bg);border:2px solid var(--vr-success-600);cursor:move}.fl-modal-finisher-row.cdk-drag-preview{box-shadow:var(--vr-shadow-md);opacity:.8}.fl-modal-finisher-row.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.fl-modal-finisher-content{display:flex;align-items:center;gap:var(--vr-space-2);width:100%}.fl-modal-rider-row{background:var(--vr-gray-50);border:2px solid var(--vr-border);cursor:pointer}.fl-modal-rider-row:hover{background:var(--vr-gray-100);border-color:var(--vr-primary)}.fl-modal-place{font-weight:var(--vr-fw-bold);font-variant-numeric:tabular-nums;min-width:30px;color:var(--vr-primary)}.fl-modal-number{background:var(--vr-primary);color:var(--vr-fg-on-dark);padding:4px 8px;border-radius:var(--vr-radius-sm);font-weight:var(--vr-fw-bold);font-variant-numeric:tabular-nums;min-width:40px;text-align:center}.fl-modal-name{flex:1;font-weight:var(--vr-fw-medium)}.fl-modal-available h4{margin-top:0;margin-bottom:var(--vr-space-2);color:var(--vr-fg-muted)}.fl-standings-table{background:var(--vr-white);border:2px solid var(--vr-border-strong);border-radius:var(--vr-radius-lg);overflow:hidden}.fl-standings-header,.fl-standings-row{display:grid;grid-template-columns:80px 100px 1fr 150px;gap:var(--vr-space-4);padding:var(--vr-space-4);align-items:center}.fl-standings-header{background:var(--vr-primary);color:var(--vr-fg-on-dark);font-weight:var(--vr-fw-bold);border-bottom:2px solid var(--vr-primary-hover)}.fl-standings-row{border-bottom:1px solid var(--vr-border)}.fl-standings-row:nth-child(2n){background:var(--vr-gray-50)}.fl-standings-row.has-time{background:var(--vr-success-bg)}.fl-standings-row.has-time:nth-child(2n){background:#c0e0cb}.fl-col-place{font-size:var(--vr-text-md);font-weight:var(--vr-fw-bold);font-variant-numeric:tabular-nums;color:var(--vr-primary)}.fl-col-time{font-size:var(--vr-text-md);font-family:var(--vr-font-mono);font-variant-numeric:tabular-nums;font-feature-settings:var(--vr-font-mono-settings)}.fl-entry-row{display:grid;grid-template-columns:80px 1fr 300px;gap:var(--vr-space-4);padding:var(--vr-space-4);background:var(--vr-white);border:2px solid var(--vr-border);border-radius:var(--vr-radius-sm);margin-bottom:var(--vr-space-2);align-items:center}.fl-entry-number{font-size:var(--vr-text-xl);font-weight:var(--vr-fw-bold);font-variant-numeric:tabular-nums;text-align:center;background:var(--vr-primary);color:var(--vr-fg-on-dark);padding:var(--vr-space-2);border-radius:var(--vr-radius-sm)}.fl-entry-rider-info{flex:1;min-width:0}.fl-entry-rider-name{font-weight:var(--vr-fw-semi);font-size:var(--vr-text-md);color:var(--vr-fg-strong)}.fl-entry-rider-team{font-size:var(--vr-text-base);color:var(--vr-fg-muted);margin-top:var(--vr-space-1)}.fl-entry-time-input{display:flex;gap:var(--vr-space-2)}.fl-time-input{flex:1;min-height:var(--fl-touch-target);font-size:var(--vr-text-md);padding:var(--vr-space-4);border:2px solid var(--vr-border-strong);border-radius:var(--vr-radius-sm);font-family:var(--vr-font-mono);font-variant-numeric:tabular-nums;font-feature-settings:var(--vr-font-mono-settings);font-weight:var(--vr-fw-bold);box-sizing:border-box}.fl-time-input:focus{outline:none;border-color:var(--vr-primary);box-shadow:var(--vr-focus-ring)}.fl-clear-btn{min-width:80px;min-height:var(--fl-touch-target);background:var(--vr-ink-500);border:2px solid var(--vr-ink-500);color:var(--vr-white);font-size:var(--vr-text-base);font-weight:var(--vr-fw-bold);padding:var(--vr-space-2) var(--vr-space-4);border-radius:var(--vr-radius-sm);cursor:pointer;font-family:var(--vr-font-sans)}.fl-clear-btn:hover:not(:disabled){background:var(--vr-ink-600);border-color:var(--vr-ink-600)}.fl-message-card{background:var(--vr-white);border-radius:var(--vr-radius-lg);padding:var(--vr-space-6);box-shadow:var(--vr-shadow-md)}.fl-message-icon{text-align:center;font-size:64px;margin-bottom:var(--vr-space-5)}.fl-message-card h2{text-align:center;color:var(--vr-primary);margin-top:0;margin-bottom:var(--vr-space-5);font-size:var(--vr-text-2xl)}.fl-message-body{font-size:var(--vr-text-md);line-height:var(--vr-lh-body);color:var(--vr-fg-strong);text-align:center;margin-bottom:var(--vr-space-6)}.fl-info-box{background:var(--vr-gray-50);border-left:4px solid var(--vr-primary);padding:var(--vr-space-5);margin-bottom:var(--vr-space-5);border-radius:var(--vr-radius-sm)}.fl-info-box.is-caution{border-left-color:var(--vr-caution-border);background:var(--vr-caution-bg)}.fl-info-box.is-success{border-left-color:var(--vr-success-600);background:var(--vr-success-bg)}.fl-info-box h3{margin-top:0;margin-bottom:var(--vr-space-4);color:var(--vr-fg-strong);font-size:var(--vr-text-md)}.fl-info-box p{margin:var(--vr-space-2) 0;line-height:var(--vr-lh-body);font-size:var(--vr-text-base)}.fl-message-card ul,.fl-message-card ol{margin:var(--vr-space-2) 0;padding-left:var(--vr-space-5);line-height:1.8}.fl-message-card li{margin:var(--vr-space-2) 0;font-size:var(--vr-text-base)}.fl-message-card li strong{color:var(--vr-primary)}.fl-message-actions{text-align:center;margin-top:var(--vr-space-6)}.fl-centered-page{display:flex;justify-content:center;align-items:center;min-height:100vh;background:var(--vr-bg-subtle);padding:var(--vr-space-5)}.fl-centered-card{background:var(--vr-white);padding:var(--vr-space-6);border-radius:var(--vr-radius-lg);box-shadow:var(--vr-shadow-md);text-align:center;max-width:480px}.fl-centered-card.is-denied h1{color:var(--vr-danger-600);margin-top:0}.fl-centered-card.is-unavailable h1{color:var(--vr-caution-600);margin-top:0}.fl-user-info{margin:var(--vr-space-5) 0;padding:var(--vr-space-4);background:var(--vr-gray-50);border-radius:var(--vr-radius-sm)}.fl-centered-actions{display:flex;gap:var(--vr-space-4);justify-content:center;flex-wrap:wrap}.fl-centered-actions .fl-btn{min-width:140px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}html{color-scheme:light}body{font-family:var(--vr-font-sans);font-size:var(--vr-text-base);line-height:var(--vr-lh-body);color:var(--vr-fg);background:var(--vr-bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
