:root{--bg: #f6f7f9;--surface: #ffffff;--surface-2: #f9fafb;--border: #e8eaef;--border-strong: #d7dae1;--ink: #14161a;--ink-2: #545b68;--ink-3: #8b93a2;--accent: #2563eb;--accent-hover: #1d4ed8;--accent-soft: #eef3ff;--accent-ink: #1e40af;--good: #10b981;--good-soft: #ecfdf5;--good-ink: #05674a;--warn: #d97706;--warn-soft: #fffaeb;--warn-ink: #92400e;--danger: #ef4444;--danger-hover: #dc2626;--danger-soft: #fef2f2;--r-sm: 7px;--r-md: 11px;--r-lg: 16px;--r-full: 999px;--sh-sm: 0 1px 2px rgba(16, 24, 40, .05), 0 1px 3px rgba(16, 24, 40, .05);--sh-md: 0 4px 14px rgba(16, 24, 40, .07);--sh-lg: 0 18px 48px rgba(16, 24, 40, .14);--maxw: 1080px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}html{color-scheme:light;background:var(--bg)}body{font-family:var(--font);font-size:15px;line-height:1.55;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,p{margin:0}a{color:var(--accent);text-decoration:none}.muted{color:var(--ink-3);font-size:14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:inherit;font-size:14px;font-weight:550;line-height:1;padding:10px 16px;border-radius:var(--r-sm);border:1px solid transparent;cursor:pointer;transition:background .14s ease,border-color .14s ease,box-shadow .14s ease,transform .05s ease;white-space:nowrap}.btn:active{transform:translateY(.5px)}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--accent);color:#fff;box-shadow:var(--sh-sm)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:var(--surface);color:var(--ink);border-color:var(--border-strong);box-shadow:var(--sh-sm)}.btn-secondary:hover:not(:disabled){background:var(--surface-2);border-color:#c7ccd6}.btn-ghost{background:transparent;color:var(--ink-2)}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}.btn-danger{background:var(--danger-soft);color:var(--danger-hover);border-color:#f5c8c8}.btn-danger:hover:not(:disabled){background:#fde3e3}.badge{display:inline-flex;align-items:center;font-size:12px;font-weight:550;padding:3px 9px;border-radius:var(--r-full);line-height:1.3;white-space:nowrap}.badge-neutral{background:var(--surface-2);color:var(--ink-2);border:1px solid var(--border)}.badge-good{background:var(--good-soft);color:var(--good-ink)}.badge-warn{background:var(--warn-soft);color:var(--warn-ink)}.badge-accent{background:var(--accent-soft);color:var(--accent-ink)}.pill{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:var(--r-full);background:var(--accent-soft);color:var(--accent-ink);font-size:12px;font-weight:600}.spin-wrap{display:inline-flex;align-items:center;gap:10px;color:var(--ink-2);font-size:14px}.spinner{width:18px;height:18px;border-radius:50%;border:2.5px solid var(--border-strong);border-top-color:var(--accent);animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:13px;font-weight:550;color:var(--ink-2)}.field-hint{font-size:12px;color:var(--ink-3)}.lane-order-note{display:block;color:var(--ink-2)}.input{font-family:inherit;font-size:14px;color:var(--ink);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-sm);padding:9px 11px;width:100%;transition:border-color .14s ease,box-shadow .14s ease}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}select.input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink-3) 50%),linear-gradient(135deg,var(--ink-3) 50%,transparent 50%);background-position:calc(100% - 18px) 55%,calc(100% - 13px) 55%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:32px}.checkbox-field{display:flex;align-items:center;gap:9px;font-size:14px;color:var(--ink);cursor:pointer;align-self:end;padding:9px 0}.checkbox-field input{width:17px;height:17px;accent-color:var(--accent)}.file-input{font-size:14px;color:var(--ink-2)}.toast-host{position:fixed;right:20px;bottom:20px;display:flex;flex-direction:column;gap:10px;z-index:100}.toast{background:var(--ink);color:#fff;padding:11px 15px;border-radius:var(--r-sm);font-size:14px;box-shadow:var(--sh-lg);opacity:0;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease;max-width:320px}.toast.show{opacity:1;transform:translateY(0)}.toast-success{background:#0f766e}.toast-error{background:#b91c1c}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f121652;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:90;opacity:0;transition:opacity .18s ease}.modal-overlay.show{opacity:1}.modal-card{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--sh-lg);width:100%;max-width:460px;max-height:88vh;overflow:auto}.modal-card-wide{max-width:720px}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--border)}.modal-title{font-size:17px;font-weight:600}.modal-body{padding:20px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:6px}.form-stack{display:flex;flex-direction:column;gap:16px}.splits-editor{display:flex;flex-direction:column;gap:10px}.splits-editor-rows{display:flex;flex-direction:column;gap:8px}.splits-editor-row{display:flex;align-items:flex-end;gap:8px}.splits-editor-row .field{flex:1;gap:4px}.splits-editor-actions{display:flex}.splits-quickfill{font-size:12px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.manual-splits{font-size:13px;font-variant-numeric:tabular-nums}.form-inline-error{font-size:13px;color:var(--danger-hover);background:var(--danger-soft);border-radius:var(--r-sm);padding:8px 11px;margin:0}.manual-marker{font-size:10px;font-weight:700;color:var(--ink-3);margin-left:2px;cursor:help}.coach-list{display:flex;flex-direction:column}.coach-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.coach-row:last-child{border-bottom:none}.coach-row-name{font-weight:600}.coach-row-actions{display:flex;gap:8px}.form-row{display:flex;flex-wrap:wrap;gap:16px;margin-top:14px}.form-row .field{flex:1 1 180px}.comp-picker .form-row .field{flex:0 1 calc(50% - 8px);min-width:240px}.comp-picker .inline-new-comp{margin-top:10px}.topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:24px;padding:0 24px;height:60px;background:#ffffffd1;-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:10px}.brand-name{font-size:15px;font-weight:650;letter-spacing:-.01em}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--r-md);background:var(--accent);color:#fff;box-shadow:var(--sh-sm)}.brand-mark.sm{width:30px;height:30px;border-radius:9px}.nav{display:flex;gap:4px;flex:1}.nav-btn{font-size:14px;font-weight:550;color:var(--ink-2);padding:7px 13px;border-radius:var(--r-sm);background:transparent;border:0;cursor:pointer}.nav-btn:hover{background:var(--surface-2);color:var(--ink)}.nav-btn.active{background:var(--accent-soft);color:var(--accent-ink)}.account{display:flex;align-items:center;gap:12px}.account-name{font-size:14px;color:var(--ink-2);font-weight:550}.content{max-width:var(--maxw);margin:0 auto;padding:34px 24px 80px}.boot{display:flex;justify-content:center;padding:120px 0}.section-title{margin-bottom:22px}.kicker{display:inline-block;font-size:12px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}.section-title h2{font-size:26px;font-weight:680;letter-spacing:-.02em}.section-sub{margin-top:7px;color:var(--ink-2);font-size:15px;max-width:62ch}.subhead{font-size:16px;font-weight:620;margin:30px 0 14px}.stepper{display:flex;align-items:center;gap:8px;list-style:none;padding:0;margin:0 0 26px;flex-wrap:wrap}.step{display:flex;align-items:center;gap:9px;padding:6px 14px 6px 6px;border-radius:var(--r-full);font-size:13px;font-weight:550;color:var(--ink-3);background:transparent}.step+.step{margin-left:2px}.step-dot{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--surface);border:1px solid var(--border-strong);font-size:12px;font-weight:600;color:var(--ink-3)}.step-active{color:var(--accent-ink);background:var(--accent-soft)}.step-active .step-dot{background:var(--accent);border-color:var(--accent);color:#fff}.step-done{color:var(--good-ink)}.step-done .step-dot{background:var(--good);border-color:var(--good);color:#fff}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-sm);padding:28px}.panel-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.hint{font-size:13px;color:var(--ink-2);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:9px 12px;margin:14px 0}.dropzone{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:44px 20px;border:1.5px dashed var(--border-strong);border-radius:var(--r-md);background:var(--surface-2);cursor:pointer;transition:border-color .15s ease,background .15s ease;margin:18px 0 10px}.dropzone:hover{border-color:var(--accent);background:var(--accent-soft)}.dz-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:var(--r-md);background:var(--surface);color:var(--accent);border:1px solid var(--border);margin-bottom:4px}.dz-icon svg{width:22px;height:22px}.dz-title{font-weight:600;font-size:15px}.dz-sub{font-size:13px;color:var(--ink-3)}.file-chosen{margin:4px 0}.progress{height:8px;background:var(--border);border-radius:var(--r-full);overflow:hidden;margin:14px 0 8px}.progress-fill{height:100%;width:0;background:var(--accent);border-radius:var(--r-full);transition:width .2s ease}.mode-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.mode-card{display:flex;flex-direction:column;gap:6px;text-align:left;padding:22px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);cursor:pointer;font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease,transform .1s ease}.mode-card:hover{border-color:var(--accent);box-shadow:var(--sh-md);transform:translateY(-2px)}.mode-tag{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;background:var(--accent-soft);color:var(--accent-ink);font-weight:700;font-size:14px;margin-bottom:6px}.mode-title{font-size:17px;font-weight:620}.mode-body{font-size:14px;color:var(--ink-2)}.mode-cta{display:inline-flex;align-items:center;gap:5px;margin-top:8px;font-size:14px;font-weight:600;color:var(--accent)}.config-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin:8px 0 4px}.calib-holder{margin-top:16px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px;padding:12px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm)}.toolbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.calib-label{font-size:14px;font-weight:550;color:var(--ink);margin:0}.calib-progress{font-size:13px;color:var(--ink-3);font-variant-numeric:tabular-nums;margin-right:4px}.calib-canvas{max-width:100%;display:block;border:1px solid var(--border);border-radius:var(--r-md);cursor:crosshair;box-shadow:var(--sh-sm)}.overlay{display:flex;flex-direction:column;gap:16px}.overlay-wrap{position:relative}.overlay-canvas{max-width:100%;display:block;border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--sh-sm)}.overlay-status{font-size:14px;color:var(--ink-2);padding:10px 0}.overlay-legend{display:flex;gap:18px;flex-wrap:wrap}.legend-item{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--ink-2)}.legend-swatch{width:14px;height:4px;border-radius:var(--r-full)}.overlay-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.stat-tile{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2)}.stat-label{font-size:12px;color:var(--ink-3);font-weight:550}.stat-value{font-size:20px;font-weight:640;letter-spacing:-.01em}.stat-tile .badge{align-self:flex-start}.camera-mode-badge-row{margin:0 0 14px}.lane-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:8px}.lane-card{padding:18px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--sh-sm)}.lane-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.lane-tag{font-size:13px;font-weight:600;color:var(--ink-2);white-space:nowrap}.lane-card-badges{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.lane-metric{display:flex;align-items:baseline;gap:6px;white-space:nowrap}.metric-num{font-size:30px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.metric-unit{font-size:13px;color:var(--ink-3)}.lane-facts{margin:12px 0 0;display:flex;flex-direction:column;gap:5px}.lane-fact{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:13px}.lane-fact-k{color:var(--ink-3)}.lane-fact-v{margin:0;color:var(--ink-2);font-weight:550;font-variant-numeric:tabular-nums;white-space:nowrap}.framing-note{font-size:13px;color:var(--ink-2);background:var(--accent-soft);border:1px solid #dbe6ff;border-radius:var(--r-sm);padding:11px 14px;margin:18px 0 8px}.lane-detail{border:1px solid var(--border);border-radius:var(--r-md);padding:16px 20px;margin-top:12px;background:var(--surface)}.lane-detail-head{display:flex;align-items:center;gap:12px}.lane-toggle{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:2px 0;background:none;border:0;cursor:pointer;text-align:left;color:inherit;font:inherit}.lane-toggle .chevron{flex:none;color:var(--ink-3);transition:transform .2s ease}.lane-detail:not(.is-collapsed) .lane-toggle .chevron{transform:rotate(90deg)}.lane-detail-title{flex:none;font-size:16px;font-weight:620;white-space:nowrap}.lane-detail-summary{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;font-size:13px;color:var(--ink-3);font-variant-numeric:tabular-nums}.lane-detail:not(.is-collapsed) .lane-detail-summary{display:none}.lane-detail-summary .sum-lead{color:var(--ink);font-weight:600}.lane-detail-summary .sum-sep{color:var(--border-strong)}.lane-detail-body{display:grid;grid-template-rows:1fr;transition:grid-template-rows .25s ease}.lane-detail.is-collapsed .lane-detail-body{grid-template-rows:0fr}.lane-detail-inner{min-height:0;overflow:hidden;padding-top:16px}.table-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:var(--r-md)}.data-table{border-collapse:collapse;width:100%;font-size:14px}.data-table th,.data-table td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--border);white-space:nowrap}.data-table thead th{background:var(--surface-2);color:var(--ink-3);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:var(--surface-2)}.data-table td.num{font-variant-numeric:tabular-nums}.data-table.compact th,.data-table.compact td{padding:8px 12px}.data-table td.split-note{text-align:right;width:1%}.splits5m{display:flex;flex-direction:column;gap:14px;margin-top:2px}.chart-card{border:1px solid var(--border);border-radius:var(--r-md);padding:14px 16px;background:var(--surface)}.chart-caption{font-size:13px;font-weight:550;color:var(--ink-2);margin-bottom:8px}.chart{display:block}.chart-wrap{position:relative}.chart-tooltip{position:absolute;left:0;top:0;pointer-events:none;opacity:0;transition:opacity .08s ease;background:var(--ink);color:#fff;font-size:12px;font-weight:550;font-variant-numeric:tabular-nums;white-space:nowrap;padding:5px 9px;border-radius:7px;box-shadow:var(--sh-md);z-index:5}.chart-tooltip.visible{opacity:1}.strokes-lead,.strokes-lengths{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;font-size:14px;color:var(--ink-2);font-variant-numeric:tabular-nums;margin:0 0 6px}.strokes-lengths{font-size:13px;color:var(--ink-3)}.strokes-lead .lead-num{color:var(--ink);font-weight:600}.strokes-lead .lead-sep,.strokes-lengths .lead-sep{color:var(--border-strong)}.strokes-lead+.muted,.strokes-lengths+.muted{margin-top:2px}.stroke-tag{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.stroke-tag select.input{width:auto}.view-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px}.view-head .section-title{margin-bottom:0}.head-actions{display:flex;gap:10px;flex-wrap:wrap}.swimmer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.swimmer-card{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--sh-sm);cursor:pointer;font-family:inherit;text-align:left;transition:border-color .14s ease,box-shadow .14s ease,transform .1s ease}.swimmer-card:hover{border-color:var(--accent);box-shadow:var(--sh-md);transform:translateY(-1px)}.swimmer-card svg{color:var(--ink-3)}.avatar{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:var(--accent-soft);color:var(--accent-ink);font-weight:650;font-size:15px;flex-shrink:0}.swimmer-meta{display:flex;flex-direction:column;flex:1;min-width:0}.swimmer-name{font-weight:600;font-size:15px}.swimmer-sub{font-size:13px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.back-link{display:inline-flex;align-items:center;gap:6px;background:transparent;border:0;color:var(--ink-2);font-size:14px;font-weight:550;cursor:pointer;padding:4px 0;margin-bottom:14px;font-family:inherit}.back-link:hover{color:var(--accent)}.swim-card{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);margin-bottom:12px;box-shadow:var(--sh-sm);overflow:hidden}.swim-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 18px;cursor:pointer;list-style:none}.swim-summary::-webkit-details-marker{display:none}.swim-summary:hover{background:var(--surface-2)}.swim-summary-main{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.swim-date{font-weight:600;font-size:15px;font-variant-numeric:tabular-nums}.swim-lane{font-size:13px;color:var(--ink-3)}.swim-summary-metrics{display:flex;align-items:baseline;gap:12px}.swim-time{font-weight:650;font-variant-numeric:tabular-nums;font-size:16px}.swim-avg{font-weight:650;font-variant-numeric:tabular-nums}.swim-dist{font-size:13px;color:var(--ink-3)}.swim-details{padding:4px 18px 18px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:14px}.swim-note{font-size:14px;color:var(--ink-2);font-style:italic}.swim-actions{display:flex;gap:10px;flex-wrap:wrap}.swim-time-empty{font-weight:500}.swim-no-analysis{font-size:12px}.lenex-official-splits{font-size:13px;font-variant-numeric:tabular-nums}.comp-section{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);margin-bottom:14px;overflow:hidden}.comp-section-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;cursor:pointer;list-style:none;background:var(--surface-2)}.comp-section-summary::-webkit-details-marker{display:none}.comp-section-summary:hover{background:var(--accent-soft)}.comp-section-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}.comp-section-name{font-weight:650;font-size:15px}.comp-section-meta{font-size:13px}.comp-section-count{font-size:13px;white-space:nowrap;flex-shrink:0}.comp-section-body{padding:14px 18px 4px}.attach-cta{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:12px 14px;border:1px dashed var(--border-strong);border-radius:var(--r-md);background:var(--accent-soft)}.attach-cta p{margin:0}.show-more-row{margin-top:8px}.compare-tray-bar{position:sticky;bottom:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:24px;padding:14px 20px;border:1px solid var(--border-strong);border-radius:var(--r-lg);background:#fffffff7;-webkit-backdrop-filter:saturate(180%) blur(10px);backdrop-filter:saturate(180%) blur(10px);box-shadow:var(--sh-lg)}.compare-tray-chips{display:flex;gap:8px;flex-wrap:wrap;flex:1;min-width:0}.compare-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 6px 5px 10px;border-radius:var(--r-full);background:var(--accent-soft);color:var(--accent-ink);font-size:12px;font-weight:550;max-width:260px}.compare-chip-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compare-chip-remove{font-family:inherit;border:0;background:transparent;color:inherit;cursor:pointer;font-size:15px;line-height:1;padding:0 2px}.compare-chip-remove:hover{color:var(--danger)}.compare-tray-actions{display:flex;gap:10px;flex-shrink:0}.cmp-cell{display:flex;flex-direction:column;align-items:flex-end;gap:1px}.cmp-time{font-variant-numeric:tabular-nums}.cmp-delta{font-size:11px;color:var(--ink-3)}.cmp-total-row td{font-weight:650;border-top:2px solid var(--border-strong)}.cmp-headline{display:flex;align-items:center;flex-wrap:wrap;gap:4px;font-size:14px;padding:10px 14px;margin:0 0 14px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2)}.lenex-result{display:flex;flex-direction:column;gap:12px}.lenex-meet{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.lenex-meet-name{font-weight:620;font-size:16px}.lenex-meet-hint{margin-top:-6px}.lenex-search-row{display:flex;align-items:center;gap:12px}.lenex-search-row .input{flex:1}.lenex-count{font-size:12px;white-space:nowrap}.lenex-more-note{font-size:12px;text-align:center;margin-top:4px}.lenex-list{display:flex;flex-direction:column;gap:8px;max-height:420px;overflow:auto}.lenex-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2)}.lenex-name{display:block;font-weight:550;font-size:14px}.lenex-sub{display:block;font-size:12px;color:var(--ink-3)}.lenex-swimmer{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);overflow:hidden}.lenex-swimmer-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;cursor:pointer;list-style:none}.lenex-swimmer-summary::-webkit-details-marker{display:none}.lenex-swimmer-summary:hover{background:var(--surface)}.lenex-swimmer-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;flex:1;min-width:0}.lenex-swimmer-summary .lenex-row-actions{flex-shrink:0}.lenex-swimmer-count{font-size:12px;white-space:nowrap}.lenex-swimmer-body{padding:4px 12px 12px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:12px;background:var(--surface)}.lenex-results{display:flex;flex-direction:column;gap:6px}.lenex-result-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--r-sm)}.lenex-result-main{display:flex;align-items:center;gap:8px}.lenex-result-event{font-weight:550;font-size:13px}.lenex-result-metrics{display:flex;align-items:baseline;gap:10px}.lenex-result-time{font-weight:620;font-variant-numeric:tabular-nums}.lenex-result-splits{font-size:12px;font-variant-numeric:tabular-nums}.lenex-row-actions{display:flex;align-items:center;gap:8px;justify-content:flex-end}.lenex-row-status:empty{display:none}.io-step{display:flex;flex-direction:column;gap:14px}.io-comp-head{display:flex;flex-direction:column;gap:2px}.io-comp-name{font-weight:600;font-size:15px}.io-list{display:flex;flex-direction:column;gap:8px;max-height:360px;overflow:auto}.io-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2)}.io-row:hover{background:var(--surface)}.io-row-main{display:flex;flex-direction:column;gap:2px;min-width:0}.io-row-name{font-weight:550;font-size:14px}.io-row-sub{font-size:12px}.io-row-metrics{display:flex;align-items:center;gap:8px;flex-shrink:0}.io-row-time{font-weight:620;font-variant-numeric:tabular-nums;white-space:nowrap}.empty-state{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:56px 20px;border:1px dashed var(--border-strong);border-radius:var(--r-lg);background:var(--surface)}.empty-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--r-md);background:var(--accent-soft);color:var(--accent);margin-bottom:4px}.empty-icon svg{width:24px;height:24px}.empty-msg{font-weight:600;font-size:16px}.empty-sub{color:var(--ink-3);font-size:14px;max-width:42ch}.error-note{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-radius:var(--r-md);background:var(--danger-soft);border:1px solid #f5c8c8;color:#991b1b;font-size:14px}.error-note strong{font-weight:620}.error-detail{margin-top:4px;border:1px solid rgba(153,27,27,.22);border-radius:var(--r-sm);overflow:hidden}.error-detail summary{cursor:pointer;padding:6px 10px;font-size:13px;font-weight:600;list-style:none}.error-detail summary::-webkit-details-marker{display:none}.error-detail summary:hover{background:#991b1b14}.error-raw{margin:0;padding:10px 12px;border-top:1px solid rgba(153,27,27,.22);font-size:12px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;white-space:pre-wrap;word-break:break-word;max-height:260px;overflow:auto;background:#ffffff80}.analysing{display:flex;flex-direction:column;align-items:center;gap:14px;padding:48px 0}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(1200px 600px at 50% -10%,#eef3ff 0%,var(--bg) 55%)}.login-card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-lg);padding:32px;text-align:center}.login-card .brand-mark{margin:0 auto 16px;width:46px;height:46px}.login-card .brand-mark svg{width:24px;height:24px}.login-title{font-size:22px;font-weight:680;letter-spacing:-.02em}.login-sub{color:var(--ink-3);font-size:14px;margin-top:4px;margin-bottom:24px}.login-form{display:flex;flex-direction:column;gap:16px;text-align:left}.login-form .btn{margin-top:4px}.login-error{color:var(--danger-hover);font-size:13px;min-height:1em;text-align:center}.login-switch{margin-top:18px;font-size:13px;color:var(--ink-3);text-align:center}.onboarding-card .btn-secondary{margin-top:18px}.stats-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:10px}.stats-tiles .stat-tile{background:var(--surface);box-shadow:var(--sh-sm)}.stat-sub{font-size:12px;color:var(--ink-3)}.row-link{cursor:pointer}.row-link:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.lb-name{font-weight:600}.lb-name .badge{margin-left:6px}.pb-wrap{display:flex;flex-direction:column;gap:16px}.pb-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.pb-card{display:flex;flex-direction:column;gap:3px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--sh-sm)}.pb-label{font-size:12px;font-weight:550;color:var(--ink-3)}.pb-value{font-size:22px;font-weight:650;letter-spacing:-.01em}.pb-sub{font-size:12px;color:var(--ink-3)}.matrix-none{color:var(--ink-3)}.split-estimated{color:var(--warn-ink)}.chart-empty{padding:22px 4px}.chart-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}.chart-head .chart-caption{margin-bottom:0}.input-compact{width:auto;padding:6px 32px 6px 10px;font-size:13px}.chart-legend{display:flex;gap:18px;flex-wrap:wrap;margin:2px 0 10px}.compare-controls{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:16px}.compare-controls .field{flex:1;min-width:200px}.compare-out{display:flex;flex-direction:column;gap:16px}.rankings-filters{margin-bottom:16px}.rank-time{display:inline-flex;align-items:center;gap:6px}.pill-rank-1{background:#fef3c7;color:#92400e}.pill-rank-2{background:#e9edf3;color:#4b5563}.pill-rank-3{background:#fde3cf;color:#9a4a1d}.delta-good{color:var(--good-ink);font-weight:600}.delta-bad{color:#b91c1c;font-weight:600}.delta-note{font-size:12px;color:var(--ink-3);margin-top:8px}.coach-row-main{display:flex;align-items:center;gap:10px}.club-add-form{margin-top:18px;padding-top:18px;border-top:1px solid var(--border)}.group-list,.org-list{display:flex;flex-direction:column}.group-row,.org-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.group-row:last-child,.org-row:last-child{border-bottom:none}.group-row-main,.org-row-main{display:flex;flex-direction:column;gap:2px;min-width:0}.group-row-name,.org-row-name{font-weight:600}.group-row-meta,.org-row-meta{font-size:13px}.group-coach-checks{display:flex;flex-direction:column;gap:8px;max-height:220px;overflow:auto;padding:4px 0}.group-coach-checks .checkbox-field{align-self:flex-start;padding:2px 0}.club-setup-card{border:1px solid #dbe6ff;background:var(--accent-soft);border-radius:var(--r-lg);padding:24px;margin-bottom:26px}.club-setup-title{font-size:18px;font-weight:650;margin-bottom:6px}.recent-analyses{margin-top:28px}.recent-list{display:flex;flex-direction:column;gap:8px}.recent-row{display:flex;align-items:stretch;gap:8px}.recent-row-main{display:flex;align-items:center;justify-content:space-between;gap:14px;flex:1;min-width:0;padding:11px 14px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);cursor:pointer;font-family:inherit;text-align:left;transition:border-color .14s ease,background .14s ease}.recent-row-main:hover{border-color:var(--border-strong);background:var(--surface-2)}.recent-row-delete{flex:none;display:flex;align-items:center;justify-content:center;width:40px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--ink-3);cursor:pointer;transition:border-color .14s ease,background .14s ease,color .14s ease}.recent-row-delete:hover{border-color:var(--danger);background:var(--danger-soft);color:var(--danger-hover)}.recent-meta{display:flex;align-items:baseline;gap:10px;min-width:0}.recent-file{font-size:14px;font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-time{flex:none}.stats-subnav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}.stats-subnav-btn{font-family:inherit;font-size:13px;font-weight:600;padding:8px 16px;border-radius:var(--r-full);border:1px solid var(--border-strong);background:var(--surface);color:var(--ink-2);cursor:pointer;transition:border-color .14s ease,background .14s ease,color .14s ease}.stats-subnav-btn:hover{border-color:var(--accent);color:var(--ink)}.stats-subnav-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.improve-list{display:flex;flex-direction:column;gap:8px}.improve-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 14px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);flex-wrap:wrap}.improve-main{display:flex;align-items:baseline;gap:8px;min-width:0}.improve-name{font-weight:600}.improve-times{font-size:13px}.compare-picker{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:20px}.compare-picker .field:first-child{flex:1 1 260px}.competition-list{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.competition-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 16px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);flex-wrap:wrap}.competition-row-main{display:flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap}.competition-row-name{font-weight:620}.competition-row-meta{font-size:13px}.link-action{font-family:inherit;font-size:13px;font-weight:600;color:var(--accent);background:transparent;border:0;padding:4px 0;cursor:pointer;text-align:left;align-self:flex-start}.link-action:hover{color:var(--accent-hover);text-decoration:underline}.inline-new-comp{align-items:flex-end;padding:12px;margin:-4px 0 6px;border:1px dashed var(--border-strong);border-radius:var(--r-md);background:var(--surface-2)}.group-filter{margin-bottom:18px}.chip-row{display:flex;gap:8px;flex-wrap:wrap}.chip{font-family:inherit;font-size:13px;font-weight:550;padding:6px 13px;border-radius:var(--r-full);border:1px solid var(--border-strong);background:var(--surface);color:var(--ink-2);cursor:pointer;transition:border-color .14s ease,background .14s ease,color .14s ease}.chip:hover{border-color:var(--accent);color:var(--ink)}.chip-active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink)}@media (max-width: 640px){.topbar{gap:12px;padding:0 16px}.brand-name{display:none}.content{padding:24px 16px 64px}.panel{padding:20px}.section-title h2{font-size:22px}.step-label{display:none}.step{padding:6px}}.login-card{position:relative}.login-back{position:absolute;top:16px;left:16px;display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:550;color:var(--ink-3);background:none;border:0;padding:4px;cursor:pointer;transition:color .14s ease}.login-back:hover{color:var(--ink)}.lane-subline{margin:6px 0 0;font-size:13px;color:var(--ink-3)}.lane-detail-inner>.lane-facts:first-child{margin-top:0}.results-framing{margin:18px 0 8px}.framing-line{display:flex;align-items:baseline;gap:8px;margin:0 0 6px;font-size:13px;color:var(--ink-3)}.framing-sep{color:var(--border-strong)}.framing-details{font-size:13px}.framing-details>summary{cursor:pointer;color:var(--ink-3);font-weight:550;list-style:none}.framing-details>summary::-webkit-details-marker{display:none}.framing-details>summary:hover{color:var(--ink-2)}.framing-details .framing-note{margin:8px 0 0}.cl-root{display:flex;flex-direction:column;gap:16px}.cl-scatter-wrap{border:1px solid var(--border);border-radius:var(--r-md);padding:14px 16px;background:var(--surface)}.cl-tooltip{white-space:normal;text-align:left;min-width:200px;max-width:260px}.cl-tt-name{display:flex;align-items:center;gap:6px;font-weight:650;font-size:13px;margin-bottom:4px}.cl-tt-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-weight:400;font-size:12px;color:#d8d8dc}.cl-tt-row strong{color:#fff;font-variant-numeric:tabular-nums}.cl-tt-cluster{display:inline-flex;align-items:center;gap:5px}.cl-feature-bars{display:flex;flex-direction:column;gap:4px;margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.14)}.cl-feature-bar-row{display:grid;grid-template-columns:64px 1fr 30px;align-items:center;gap:6px;font-size:11px;color:#d8d8dc}.cl-feature-missing{color:#93939c}.cl-feature-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cl-feature-track{position:relative;height:7px;background:#ffffff24;border-radius:var(--r-full)}.cl-feature-fill{position:absolute;top:0;bottom:0;border-radius:var(--r-full)}.cl-feature-val{text-align:right;font-variant-numeric:tabular-nums}.cl-legend{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.cl-legend-row{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:var(--r-full);border:1px solid var(--border-strong);background:var(--surface);font-family:inherit;cursor:pointer;transition:border-color .14s ease,background .14s ease}.cl-legend-row:hover{border-color:var(--accent)}.cl-legend-row.active{border-color:var(--accent);background:var(--accent-soft)}.cl-legend-label{font-weight:600;font-size:13px;color:var(--ink)}.cl-legend-size{font-size:12px;color:var(--ink-3)}.cl-legend-hint{width:100%;font-size:12px;margin:2px 0 0}.cl-swatch{width:11px;height:11px;border-radius:var(--r-full);flex-shrink:0}.cl-swatch-inline{display:inline-block;margin-right:6px;vertical-align:middle}.cl-controls-row{margin-bottom:10px}.cl-controls-row .field{flex:1;min-width:160px}.cl-mixed-note{margin-bottom:10px}.cl-comp{border:1px solid var(--border);border-radius:var(--r-md);padding:14px 16px;background:var(--surface)}.cl-comp-rows{display:flex;flex-direction:column;gap:12px;margin-top:10px}.cl-comp-row{display:flex;flex-direction:column;gap:4px}.cl-comp-row-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.cl-comp-label{font-weight:600;font-size:13px;color:var(--ink)}.cl-comp-count{font-size:12px}.cl-comp-bar{display:flex;height:10px;border-radius:var(--r-full);overflow:hidden;background:var(--border)}.cl-comp-seg{height:100%;display:block}.cl-comp-seg+.cl-comp-seg{border-left:1px solid var(--surface)}.cl-comp-text{font-size:11.5px;line-height:1.4}.cl-comp-label-unstable{color:var(--ink-3);font-style:italic}.cl-legend-row.unstable{opacity:.7}.cl-legend-row.unstable .cl-legend-label{color:var(--ink-3);font-style:italic}.cl-seg{display:inline-flex;border:1px solid var(--border-strong);border-radius:var(--r-full);padding:3px;gap:2px;background:var(--surface);margin-bottom:18px}.cl-seg-btn{font-family:inherit;font-size:13px;font-weight:600;padding:7px 18px;border-radius:var(--r-full);border:none;background:transparent;color:var(--ink-2);cursor:pointer;transition:background .14s ease,color .14s ease}.comp-section.sl-breakdown{margin-top:22px;border-left:3px solid var(--accent)}.sl-breakdown-bar{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px}.sl-breakdown-hint{font-size:12px;color:var(--ink-3)}.chart-card-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.chart-card-head .chart-caption{margin:0}.cl-seg.chart-seg{margin-bottom:0}.cl-seg.chart-seg .cl-seg-btn{font-size:12px;padding:4px 12px}.cl-seg.sl-seg{flex-wrap:wrap;border-radius:var(--r-md);margin-bottom:8px}.cl-seg-btn:hover{color:var(--ink)}.cl-seg-btn.active{background:var(--accent);color:#fff}.cl-hidden{display:none}.cl-pair-missing{margin-top:2px}.coverage-zoom{background:var(--accent-soft);color:var(--accent-ink);font-weight:600;border-radius:var(--r-sm)}.dual-dropzones{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.dual-dropzone .dropzone{margin:8px 0 6px}.dual-verify-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;margin:16px 0}.dual-verify-col{display:flex;flex-direction:column;gap:4px;padding:16px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2)}.dual-progress-row{display:flex;flex-direction:column;gap:6px;width:100%;margin-top:14px}.dual-progress-label{font-size:13px;font-weight:600;color:var(--ink-2)}.profile-controls{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:16px}.profile-controls .field{flex:1;min-width:200px}.profile-head{margin-bottom:18px}.profile-name{font-size:22px;margin:0}.profile-bio{margin:4px 0 12px;font-size:14px}.profile-chips{display:flex;gap:8px;flex-wrap:wrap}.profile-chip{display:inline-flex;align-items:baseline;gap:7px;padding:6px 13px;border-radius:var(--r-full);border:1px solid var(--border);background:var(--surface-2)}.profile-chip-k{font-size:12px;color:var(--ink-3)}.profile-chip-v{font-size:14px;font-weight:650;color:var(--ink);font-variant-numeric:tabular-nums}.profile-table tbody tr.profile-section td{background:var(--surface-2);color:var(--ink-3);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.profile-table tbody tr.profile-section:hover td{background:var(--surface-2)}.profile-val{display:block}.profile-best{font-weight:700;color:var(--ink)}.profile-pct{display:block;font-size:12px;margin-top:1px}.landing{--deep: #060e1b;--deep-ink: #f3f7fd;--deep-ink-2: rgba(226, 236, 250, .76);--deep-ink-3: rgba(206, 222, 244, .6);--deep-line: rgba(255, 255, 255, .09);--aqua: #8fd3ff;--cam-water: #eaf3ff;--cam-rope: #9db7dc;--gutter: 40px;display:flex;flex-direction:column;min-height:100vh;overflow-x:clip;background:var(--bg)}.landing-h2{font-size:clamp(34px,4.6vw,60px);font-weight:720;letter-spacing:-.04em;line-height:1.02;margin:0}.beta{display:inline-block;vertical-align:middle;margin-left:10px;padding:3px 8px 2px;border-radius:var(--r-full);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--warn-ink);background:var(--warn-soft);border:1px solid #f6d28e}.landing-header{position:sticky;top:0;z-index:40;width:100%;background:#ffffffd1;-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--border);transition:background .3s ease,border-color .3s ease}.landing-header.on-dark{background:var(--deep);border-bottom-color:#ffffff0f}.landing-header.on-dark .brand-name{color:#fff}.landing-header.on-dark .btn-ghost{color:#ffffffd1}.landing-header.on-dark .btn-ghost:hover:not(:disabled){background:#ffffff14;color:#fff}.landing-header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 var(--gutter);height:64px;max-width:1240px;margin:0 auto}.landing-header-actions{display:flex;align-items:center;gap:8px}.stage-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(55% 60% at 70% 58%,rgba(37,99,235,.36),transparent 70%),radial-gradient(35% 40% at 86% 30%,rgba(56,189,248,.18),transparent 70%),var(--deep)}.scene-canvas,.scene-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.scene-canvas{opacity:0;animation:fade-in 1.1s ease .05s forwards}@keyframes fade-in{to{opacity:1}}.scene-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;font-variant-numeric:tabular-nums}.scene-overlay>span{position:absolute;left:0;top:0;opacity:0;white-space:nowrap;will-change:transform,opacity}.sc-tag{translate:-50% calc(-100% - 14px);padding:4px 9px;border-radius:var(--r-full);font-size:11.5px;font-weight:650;color:#dff3ff;background:#08162cbf;border:1px solid rgba(143,211,255,.4)}.sc-box{border:1.5px solid var(--c);border-radius:4px;box-shadow:0 0 12px color-mix(in srgb,var(--c) 40%,transparent)}.sc-box-l{position:absolute;left:-1.5px;bottom:100%;margin-bottom:3px;padding:1px 5px;border-radius:3px;font-size:10px;font-weight:700;color:#06101f;background:var(--c)}.sc-chip{translate:-50% -100%;display:inline-flex;align-items:baseline;gap:7px;padding:6px 11px;border-radius:var(--r-full);background:#08162cd9;border:1px solid rgba(143,211,255,.5);box-shadow:0 6px 22px #00000059;font-size:12px}.sc-chip.est{border-style:dashed;border-color:#fcd38dbf}.sc-chip-m{color:#fff;font-weight:750;font-size:13px}.sc-chip.est .sc-chip-m{color:#fcd38d}.sc-chip-r{color:#cee0f6b8;font-weight:600}.scene-overlay>.sc-pill{padding:6px 12px;border-radius:var(--r-full);font-size:12px;font-weight:650;color:var(--deep-ink-2);background:#08162cb3;border:1px solid var(--deep-line);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.scene-overlay>.sc-grid{left:18px;top:18px;color:#c9f7ee;border-color:#5eead466;transition:opacity .3s ease}.scene-overlay>.sc-grid.bad{color:#ffd0d0;border-color:#f8717199;background:#3c0c12bf}.scene-overlay>.sc-synth{left:auto;top:auto;right:16px;bottom:14px;opacity:1;font-size:11px;color:var(--deep-ink-3)}.scene-overlay>.sc-strokes{left:18px;top:18px;min-width:260px;display:flex;flex-direction:column;gap:8px;padding:12px 14px;border-radius:12px;background:#08162cb3;border:1px solid var(--deep-line);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:opacity .3s ease}.sc-strokes-row{display:flex;align-items:center;gap:12px}.sc-strokes-l{width:64px;flex:none;font-size:11.5px;font-weight:650;color:var(--deep-ink-3)}.sc-strokes-t{display:flex;gap:5px;flex-wrap:wrap}.sc-tick{width:4px;height:14px;border-radius:2px;background:#ffffff1f;transition:background .15s ease,transform .2s ease}.sc-tick.on{background:var(--aqua);box-shadow:0 0 8px #8fd3ffb3}.sc-strokes-head{justify-content:space-between;padding-bottom:2px}.sc-strokes-head .sc-strokes-l{color:var(--deep-ink-2);text-transform:uppercase;letter-spacing:.06em;font-size:10.5px}.sc-strokes-rate{font-size:12px;font-weight:650;color:#fff}.sc-strokes-t{flex:1}.sc-strokes-n{min-width:2ch;text-align:right;font-size:13px;font-weight:700;color:#fff}.sc-card,.sc-splits{position:absolute;opacity:0;transform:translateY(6px);transition:opacity .45s ease,transform .55s cubic-bezier(.2,.7,.2,1);padding:11px 13px 10px;border-radius:12px;background:#08162ca8;border:1px solid var(--deep-line);box-shadow:0 10px 30px #0000004d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--deep-ink);font-size:11px;line-height:1.25}.sc-card.on,.sc-splits.on{opacity:1;transform:none}.sc-card{top:28px;right:max(24px,calc((100% - 1240px) / 2 + var(--gutter)));width:172px;white-space:nowrap}.sc-card-top,.sc-card-foot,.sc-sp-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.sc-card-lane,.sc-sp-title{font-weight:700;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--deep-ink-2)}.sc-card-tag,.sc-sp-key{font-size:10.5px;color:var(--deep-ink-3)}.sc-card-time{margin-top:2px;font-size:30px;font-weight:700;letter-spacing:-.02em;color:#fff}.sc-card-time.est{color:#fcd38d}.sc-spark{display:block;width:100%;height:34px;margin:6px 0 5px;overflow:visible}.sc-spark-line{fill:none;stroke:var(--aqua);stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.sc-spark-dot{fill:#fff}.sc-spark-avg{stroke:#e2ecfa73;stroke-width:1;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.sc-card-now{font-weight:650;font-size:12px;color:#fff}.sc-card-avg{color:var(--deep-ink-2)}.sc-card.nospeed .sc-card-now,.sc-card.ready .sc-card-now{font-weight:500;color:var(--deep-ink-3)}.sc-card.nospeed .sc-card-avg{font-weight:650;color:#fff}.sc-splits{left:18px;top:18px;width:214px}.sc-sp-head{margin-bottom:6px;white-space:nowrap}.sc-sp-row{display:grid;grid-template-columns:34px 46px 40px 1fr;align-items:center;gap:6px;height:19px;color:var(--deep-ink-2);font-size:12px;transition:color .3s ease}.sc-sp-row.new{color:#fff}.sc-sp-m{color:var(--deep-ink-3);font-size:11px}.sc-sp-t{font-weight:650;text-align:right}.sc-sp-s{text-align:right}.sc-sp-t.est,.sc-sp-s.est{color:#fcd38d}.sc-sp-track{height:4px;border-radius:2px;background:#ffffff12;overflow:hidden}.sc-sp-bar{height:100%;border-radius:2px;background:#8fd3ff8c;transform-origin:left center;transform:scaleX(0);transition:transform .4s ease}.sc-sp-row.new .sc-sp-bar{background:var(--aqua)}.sc-sp-row.empty .sc-sp-track{opacity:.4}.scene-overlay[data-mode=hero] .sc-tag{transition:opacity .3s ease}.landing-hero{position:relative;isolation:isolate;min-height:clamp(640px,calc(100svh - 64px),940px);background:var(--deep);color:var(--deep-ink);overflow:hidden;display:flex;align-items:center}.hero-stage{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.landing-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(6,14,27,.95) 0%,rgba(6,14,27,.8) 30%,rgba(6,14,27,.1) 54%,transparent 66%),linear-gradient(0deg,rgba(6,14,27,.85) 0%,transparent 20%)}.hero-inner{position:relative;z-index:2;width:100%;max-width:1240px;margin:0 auto;padding:72px var(--gutter) 96px;pointer-events:none}.hero-copy{max-width:560px;pointer-events:auto;transform:translateY(calc(var(--hp, 0) * -80px));opacity:calc(1 - var(--hp, 0) * 1.3);animation:rise-in 1s cubic-bezier(.2,.7,.2,1) both}@keyframes rise-in{0%{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}.hero-kicker{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:var(--r-full);border:1px solid rgba(143,211,255,.26);background:#8fd3ff14;color:#b9e3ff;font-size:12.5px;font-weight:600;margin-bottom:28px}.hero-kicker-dot{width:7px;height:7px;border-radius:50%;background:#5eead4;animation:kicker-dot 2.2s ease-out infinite}@keyframes kicker-dot{0%{box-shadow:0 0 #5eead48c}80%,to{box-shadow:0 0 0 9px #5eead400}}.hero-title{font-size:clamp(48px,7vw,104px);font-weight:740;letter-spacing:-.05em;line-height:.95;margin:0;color:#fff}.hero-title-accent{background:linear-gradient(92deg,#9be0ff,#6aa8ff 55%,#8c8dff);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-sub{margin-top:26px;font-size:clamp(17px,1.5vw,20px);line-height:1.5;color:var(--deep-ink-2);max-width:34ch}.hero-cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:36px}.hero-cta-row .btn{padding:13px 22px;font-size:15px}.landing-hero .btn-primary,.landing-cta .btn-primary{box-shadow:0 6px 24px #2563eb73}.landing-hero .btn-secondary,.landing-cta .btn-secondary{background:#ffffff12;border-color:#ffffff2e;color:#fff;box-shadow:none}.landing-hero .btn-secondary:hover:not(:disabled),.landing-cta .btn-secondary:hover:not(:disabled){background:#ffffff1f;border-color:#ffffff4d}.hero-note{position:absolute;z-index:2;right:var(--gutter);bottom:18px;font-size:11px;color:var(--deep-ink-3)}.landing-section{width:100%;max-width:1240px;margin:0 auto;padding:140px var(--gutter)}.cams .landing-h2{max-width:12ch;margin-bottom:64px}.cam-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.cam-card{background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:28px 28px 32px}.cam-art{aspect-ratio:16 / 10;border-radius:16px;background:linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--border);display:flex;align-items:center;justify-content:center;margin-bottom:28px;overflow:hidden}.cam-art svg{width:88%;height:88%}.cam-sweep{transform-box:view-box;transform-origin:160px 184px;animation:cam-sweep 7s ease-in-out infinite}@keyframes cam-sweep{0%,to{transform:rotate(-34deg) scaleY(.98)}50%{transform:rotate(34deg) scaleY(1.04)}}.cam-title{font-size:24px;font-weight:700;letter-spacing:-.02em}.cam-body{margin-top:10px;font-size:16.5px;line-height:1.55;color:var(--ink-2);max-width:44ch}.pipe{width:100%;background:var(--deep);color:var(--deep-ink)}.pipe-inner{max-width:1240px;margin:0 auto;padding:140px var(--gutter) 120px}.pipe-h2{color:#fff;margin-bottom:40px}.pipe-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px;align-items:start}.pipe-steps{list-style:none;margin:0;padding:0}.pipe-step{min-height:74vh;display:flex;flex-direction:column;justify-content:center;opacity:.28;transition:opacity .45s ease}.pipe-step:last-child{min-height:62vh}.pipe-step.active{opacity:1}.pipe-num{font-size:13px;font-weight:700;letter-spacing:.1em;color:var(--aqua)}.pipe-title{margin-top:14px;font-size:clamp(28px,2.8vw,40px);font-weight:720;letter-spacing:-.035em;line-height:1.08;color:#fff}.pipe-body{margin-top:16px;font-size:17px;line-height:1.6;color:var(--deep-ink-2);max-width:40ch}.pipe-stage-col{position:sticky;top:calc(64px + max(24px,(100vh - 64px - min(62vh,560px)) / 2))}.pipe-stage{position:relative;aspect-ratio:16 / 10;max-height:min(62vh,560px);width:100%;border-radius:22px;overflow:hidden;border:1px solid var(--deep-line);box-shadow:0 40px 100px #00000073;background:var(--deep)}.pipe-scene{position:absolute;top:0;right:0;bottom:0;left:0}.pipe-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .4s ease;background:var(--deep)}.pipe-video.on{opacity:1;z-index:2}.val-head{margin-bottom:72px}.val-head .landing-h2{max-width:14ch}.val-race{margin-top:22px;font-size:17px;color:var(--ink-2)}.val-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px}.val-cam{font-size:15px;font-weight:650;color:var(--ink-2);padding-bottom:18px;border-bottom:1px solid var(--border-strong)}.val-list{margin:0}.val-stat{padding:30px 0;border-bottom:1px solid var(--border)}.val-num{font-size:clamp(44px,5.4vw,76px);font-weight:720;letter-spacing:-.045em;line-height:1;font-variant-numeric:tabular-nums;color:var(--ink)}.val-col:first-child .val-stat:first-child .val-num{color:var(--accent)}.val-label{margin:12px 0 0;font-size:15px;line-height:1.5;color:var(--ink-2);max-width:36ch}.landing-cta{width:100%;background:radial-gradient(60% 120% at 50% 0%,rgba(37,99,235,.35),transparent 70%),var(--deep);color:var(--deep-ink)}.landing-cta-inner{max-width:900px;margin:0 auto;padding:140px var(--gutter);text-align:center}.landing-cta-title{font-size:clamp(38px,5.4vw,72px);font-weight:740;letter-spacing:-.045em;line-height:1;color:#fff}.landing-cta .hero-cta-row{justify-content:center;margin-top:40px}.landing-footer{width:100%;background:var(--deep);border-top:1px solid var(--deep-line)}.landing-footer .brand-name{color:#fff}.landing-footer-inner{display:flex;align-items:center;gap:16px;max-width:1240px;margin:0 auto;padding:28px var(--gutter) 40px}.landing-footer-tag{flex:1;font-size:14px;color:var(--deep-ink-3)}.landing-footer-actions{display:flex;align-items:center;gap:16px}.landing-footer .link-action{color:#a9d8ff}.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.reveal.in-view{opacity:1;transform:none}.reveal.d1{transition-delay:.1s}@media (prefers-reduced-motion: reduce){.reveal{opacity:1;transform:none;transition:none}.hero-copy,.scene-canvas{animation:none;opacity:1;transform:none}.hero-kicker-dot,.cam-sweep{animation:none}.pipe-step,.pipe-video,.sc-tick,.sc-card,.sc-splits,.sc-sp-row,.sc-sp-bar{transition:none}.sc-card,.sc-splits{transform:none}}@media (max-width: 1100px){.hero-copy{max-width:480px}}@media (max-width: 900px){.landing{--gutter: 24px}.landing-section,.pipe-inner{padding-top:100px;padding-bottom:100px}.cam-grid,.val-grid{grid-template-columns:minmax(0,1fr);gap:40px}.pipe-grid{display:flex;flex-direction:column-reverse;align-items:stretch;gap:0}.pipe-stage-col{top:72px;z-index:2}.pipe-stage{aspect-ratio:auto;height:min(46svh,420px);max-height:none;border-radius:16px}.pipe-step{min-height:58svh;justify-content:flex-start;padding-top:28px}.pipe-step:last-child{min-height:44svh}}@media (max-width: 720px){.landing{--gutter: 16px}.landing-header-actions .btn-ghost{display:none}.landing-hero{flex-direction:column;align-items:stretch;min-height:0}.hero-stage{position:relative;inset:auto;height:min(54svh,420px);min-height:320px}.landing-hero:after{inset:0 0 auto 0;height:min(54svh,420px);min-height:320px;background:linear-gradient(0deg,var(--deep) 0%,rgba(6,14,27,0) 32%)}.hero-inner{padding:0 16px 56px;margin-top:-20px}.hero-copy{max-width:none}.hero-kicker{margin-bottom:18px}.hero-note{top:12px;bottom:auto;right:16px}.cam-card{padding:18px 18px 24px;border-radius:20px}.cams .landing-h2,.val-head{margin-bottom:40px}.val-stat{padding:22px 0}.scene-overlay>.sc-strokes{top:10px;left:10px;min-width:0;padding:9px 11px;gap:6px}.sc-card{top:10px;left:16px;right:auto;width:auto;display:flex;align-items:baseline;gap:9px;padding:6px 11px;border-radius:999px}.sc-card-top{display:contents}.sc-card-tag,.sc-spark,.sc-card-avg,.sc-card.nospeed .sc-card-now{display:none}.sc-card.nospeed .sc-card-avg{display:block;font-size:11px;font-weight:600;color:var(--deep-ink-2)}.sc-card-foot{display:contents}.sc-card-time{margin:0;font-size:15px;letter-spacing:0}.sc-card-now{font-size:11px;font-weight:600;color:var(--deep-ink-2)}.sc-splits{top:10px;left:10px;width:auto;padding:6px 11px;border-radius:999px}.sc-splits.none{opacity:0}.sc-sp-head,.sc-sp-row:not(:last-child){display:none}.sc-sp-row{grid-template-columns:auto auto auto 44px;gap:9px;height:18px}.sc-tick{width:3px;height:12px}.landing-cta-inner{padding:100px 16px}.landing-footer-inner{flex-wrap:wrap}}
