:root{--bg:#0c0c10;--surf:#13131b;--surf2:#1b1b25;--rule:#252532;--text:#f0f0f4;--muted:#686882;--dimmer:#36364a;--accent:#c8ff00;--acc-a:#c8ff0021;--green:#00d46e;--grn-a:#00d46e1a;--blue:#4a88ff;--blu-a:#4a88ff1f;--orange:#ff6b35;--orn-a:#ff6b351f;--red:#f44;--red-a:#ff44441f;--mono:ui-monospace,"SF Mono","Cascadia Code",monospace;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--bg);min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0}button:disabled{cursor:not-allowed;opacity:.4}.app-shell{width:min(1120px,100%);margin:0 auto;padding:16px 14px 80px}.auth-shell{place-items:center;min-height:100vh;display:grid;padding:16px!important}.auth-card{background:var(--surf);border:1px solid var(--rule);border-radius:16px;gap:18px;width:min(460px,100%);padding:28px;display:grid}.auth-card h1{margin:0;font-size:clamp(2rem,8vw,3rem);line-height:1}.auth-form{gap:12px;display:grid}.hero{background:var(--surf);border-bottom:1px solid var(--rule);z-index:100;justify-content:space-between;align-items:center;margin:-16px -14px 16px;padding:14px 16px;display:flex;position:sticky;top:0}.hero h1{letter-spacing:-.02em;margin:0;font-size:1.3rem;font-weight:900}.hero p{display:none}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:.72rem;font-weight:800}.hero-copy{align-items:center;gap:10px;display:flex}.hero-nav,.hero-nav-button{display:none}.app-nav{background:var(--surf);border-top:1px solid var(--rule);z-index:200;padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:0;right:0}.nav-tab{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:3px;padding:10px 0 12px;font-size:9.5px;font-weight:700;transition:color .15s;display:flex}.nav-tab svg{width:22px;height:22px}.nav-tab.active{color:var(--accent)}.grid{gap:14px;margin-bottom:14px;display:grid}.two-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:var(--surf);border:1px solid var(--rule);border-radius:12px;padding:18px}.card h2,.card h3{margin:0 0 12px}.card h2{font-size:1rem}label{color:var(--muted);gap:6px;font-weight:800;display:grid}input,select,textarea{border:1px solid var(--rule);background:var(--surf2);width:100%;color:var(--text);border-radius:8px;padding:12px 13px}textarea{resize:vertical;min-height:90px}.mt{margin-top:14px}.inline-form{grid-template-columns:1.4fr .8fr .7fr;gap:10px;margin-bottom:12px;display:grid}.setup-hint{color:var(--muted);margin:10px 0 0}.segment-list{flex-wrap:wrap;gap:7px;max-height:190px;margin-top:14px;display:flex;overflow:auto}.segment-chip{background:var(--surf2);color:var(--muted);border-radius:999px;padding:7px 9px;font-size:.82rem;font-weight:800}.segment-chip.run{background:var(--blu-a);color:var(--blue)}.segment-chip.roxzone{background:var(--acc-a);color:var(--accent)}.segment-chip.station{background:var(--grn-a);color:var(--green)}.segment-chip.rest{background:var(--orn-a);color:var(--orange)}.primary-button,.secondary-button,.ghost-button,.danger-button,.start-button,.lap-button,.export-actions button,.penalty-buttons button,.custom-penalty button,.mini-actions button{border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:12px 14px;font-weight:900;display:inline-flex}.primary-button{background:var(--accent);color:#0c0c10}.start-button,.lap-button{background:var(--accent);color:#0c0c10;min-height:64px;box-shadow:0 4px 24px var(--acc-a);border-radius:12px;font-size:1.1rem}.secondary-button,.export-actions button,.penalty-buttons button,.custom-penalty button,.mini-actions button{background:var(--surf2);color:var(--text);border:1px solid var(--rule)}.ghost-button{color:var(--text);border:1px solid var(--rule);background:#ffffff12}.danger-button{background:var(--red-a);color:var(--red);border:1px solid #ff444440}.timer-card{border-color:var(--rule)}.timer-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.timer-header p{color:var(--muted);margin:3px 0 0}.status-pill{background:var(--surf2);color:var(--muted);border:1px solid var(--rule);border-radius:999px;padding:6px 12px;font-size:.8rem;font-weight:900}.status-pill.running{background:var(--grn-a);color:var(--green);border-color:#00d46e4d}.status-pill.finished{background:var(--blu-a);color:var(--blue);border-color:#4a88ff4d}.status-pill.dnf{background:var(--red-a);color:var(--red);border-color:#ff44444d}.timer-grid{flex-direction:column;gap:0;margin:12px 0 16px;display:flex}.time-panel{background:var(--surf2);color:var(--text);border-radius:10px;padding:16px}.time-panel p,.time-panel h3{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:0 0 4px;font-size:.8rem;font-weight:800}.time-panel:not(.secondary) strong{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.04em;color:var(--accent);font-size:clamp(3.2rem,16vw,5rem);line-height:1;display:block}.time-panel:not(.secondary) small{color:var(--muted);margin-top:6px;font-size:.85rem;font-weight:700;display:block}.time-panel.secondary{border-top:1px solid var(--rule);background:0 0;border-radius:0;flex-wrap:wrap;align-items:baseline;gap:8px;padding:10px 16px;display:flex}.time-panel.secondary p,.time-panel.secondary h3{color:var(--muted);margin:0;font-size:.75rem}.time-panel.secondary strong{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--muted);font-size:16px;font-weight:800}.time-panel.secondary small{color:var(--dimmer);margin-left:auto;font-size:.75rem}.big-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.big-actions>:first-child{grid-column:1/-1}.reps-panel{grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;display:grid}.reps-panel>div{background:var(--surf2);border:1px solid var(--rule);border-radius:10px;padding:16px}.reps-panel p{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:.8rem;font-weight:800}.reps-panel strong{font-size:3rem;font-family:var(--mono);font-variant-numeric:tabular-nums}.mini-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:8px;display:grid}.penalty-panel{gap:10px;margin-top:16px;display:grid}.penalty-panel h3{color:var(--muted);align-items:center;gap:8px;margin:0;font-size:.9rem;display:flex}.penalty-panel label{color:var(--muted);font-weight:700}.penalty-buttons{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.custom-penalty{grid-template-columns:1.2fr .6fr .7fr;gap:8px;display:grid}.summary-grid{grid-template-columns:1fr auto;align-items:center;gap:10px;display:grid}.summary-grid span{color:var(--muted);font-weight:800}.summary-grid strong{font-size:1.25rem}.export-actions{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px;display:grid}.laps-list{gap:8px;max-height:330px;display:grid;overflow:auto}.lap-row{background:var(--surf2);border:1px solid var(--rule);border-radius:8px;grid-template-columns:32px 1fr;gap:10px;padding:10px;display:grid}.lap-row>span{background:var(--dimmer);width:32px;height:32px;color:var(--text);border-radius:999px;place-items:center;font-weight:900;display:grid}.lap-row strong,.lap-row small{display:block}.lap-row small{color:var(--muted);margin-top:2px}.muted{color:var(--muted)}.review-panel{gap:16px;margin-top:14px;display:grid}.review-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.review-header h2,.review-flags h3,.review-penalties h3{margin-bottom:4px}.review-flags,.review-laps{gap:10px;display:grid}.review-flag-row,.review-lap-card{border:1px solid var(--rule);background:var(--surf2);border-radius:8px;gap:10px;padding:12px;display:grid}.review-lap-head,.review-inline-row{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.review-flag-row strong,.review-flag-row small,.review-lap-card strong,.review-lap-card small{display:block}.review-actions{flex-wrap:wrap;gap:8px;display:flex}.review-actions button,.review-inline-row button,.review-add-penalty button{background:var(--surf2);color:var(--text);border:1px solid var(--rule);border-radius:8px;padding:10px 12px;font-weight:900}.review-add-penalty{grid-template-columns:1.4fr .7fr .7fr;gap:8px;margin-top:8px;display:grid}.account-panel{gap:10px;margin-bottom:14px;display:grid}.account-summary{justify-content:space-between;align-items:center;gap:12px;display:flex}.account-summary h2{margin:0 0 4px}.account-sync-status{color:var(--muted);margin:0}.sync-error{color:var(--red);margin:0;font-weight:800}.session-panel,.event-panel{gap:16px;margin-bottom:14px;display:grid}.session-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:14px;display:grid}.event-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.25fr);gap:14px;display:grid}.session-column,.event-column{gap:12px;display:grid}.session-create-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.session-list,.participant-list,.event-session-list{gap:8px;display:grid}.session-item,.participant-row,.session-editor,.attempt-link-panel{border:1px solid var(--rule);background:var(--surf2);border-radius:8px;padding:12px}.event-session-card{text-align:left;border:1px solid var(--rule);background:var(--surf2);border-radius:8px;gap:4px;padding:12px;display:grid}.event-session-card.active{border-color:var(--accent);background:var(--acc-a)}.event-session-card strong,.event-session-card small{display:block}.event-session-card small{color:var(--muted)}.session-item{text-align:left;gap:4px;display:grid}.session-item.active{border-color:var(--accent);background:var(--acc-a)}.session-item strong,.session-item small{display:block}.session-item small,.participant-row-head small{color:var(--muted)}.session-inline-form,.assignment-form,.participant-edit-form{margin-bottom:0}.participant-row{gap:10px;display:grid}.participant-row-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.participant-actions,.assignment-actions{flex-wrap:wrap;gap:8px;display:flex}.participant-create-form{margin-bottom:0}.session-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.session-summary-card,.participant-summary-card{border:1px solid var(--rule);background:var(--surf2);border-radius:8px;padding:12px}.participant-summary-list,.leaderboard-table{gap:8px;display:grid}.status-filter-row{flex-wrap:wrap;gap:8px;margin:10px 0 2px;display:flex}.status-filter-chip{background:var(--surf2);color:var(--muted);border:1px solid var(--rule);border-radius:999px;padding:9px 12px;font-weight:800}.status-filter-chip.active{background:var(--accent);color:#0c0c10;border-color:#0000}.leaderboard-row{grid-template-columns:40px minmax(0,1.5fr) minmax(0,1fr) 96px minmax(0,1fr);align-items:center;gap:8px;display:grid}.leaderboard-head{color:var(--muted)}.leaderboard-row span strong,.leaderboard-row span small{display:block}.attempt-chip-list{flex-wrap:wrap;gap:8px;display:flex}.attempt-chip{text-align:left;border:1px solid var(--rule);background:var(--surf2);border-radius:8px;gap:2px;min-width:92px;padding:10px 12px;display:grid}.attempt-chip.active{border-color:var(--accent);background:var(--acc-a)}.attempt-chip strong,.attempt-chip small{display:block}.attempt-chip small{color:var(--muted)}.compact-button{padding:8px 10px}.history-panel{gap:16px;margin-top:14px;display:grid}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.stat-card,.comparison-panel{border:1px solid var(--rule);background:var(--surf2);border-radius:8px;padding:12px}.stat-card span,.stat-card small{color:var(--muted);display:block}.stat-card strong{margin:4px 0;font-size:1.5rem;display:block}.history-list{gap:8px;display:grid}.history-item{text-align:left;border:1px solid var(--rule);background:var(--surf2);border-radius:8px;gap:4px;padding:12px;display:grid}.history-item.active{border-color:var(--accent);background:var(--acc-a)}.history-item strong,.history-item small{display:block}.history-item small{color:var(--muted)}.comparison-table{gap:6px;margin-top:10px;display:grid}.comparison-row{grid-template-columns:1.4fr 1fr 1fr .8fr;align-items:center;gap:8px;display:grid}.comparison-head{color:var(--muted)}.best{color:var(--green);font-weight:900}.hero-account{align-items:center;gap:8px;display:flex}.hero-user-name{color:var(--muted);white-space:nowrap;font-size:.85rem;font-weight:800}.sync-pill{background:var(--surf2);color:var(--muted);border:1px solid var(--rule);white-space:nowrap;border-radius:999px;padding:5px 10px;font-size:.75rem;font-weight:900}.sync-pill.offline{background:var(--orn-a);color:var(--orange);border-color:#ff6b354d}.sync-pill.error{background:var(--red-a);color:var(--red);border-color:#ff44444d}.ghost-back-button{color:var(--muted);background:0 0;border:0;padding:8px 0;font-weight:900}.template-editor-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.template-editor-header h2{margin:0}.template-list{gap:10px;margin-top:4px;display:grid}.template-list-row{border:1px solid var(--rule);background:var(--surf2);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.template-list-info{gap:4px;min-width:0;display:grid}.template-list-info strong{display:block}.template-list-info .muted{align-items:center;gap:8px;font-size:.85rem;display:flex}.template-list-actions{flex-shrink:0;gap:8px;display:flex}.garmin-badge{background:var(--blu-a);color:var(--blue);border-radius:999px;padding:3px 8px;font-size:.75rem;font-weight:900;display:inline-block}.template-editor-form{margin-bottom:14px}.template-meta-fields{grid-template-columns:1.5fr 1fr;gap:12px;margin-bottom:20px;display:grid}.garmin-toggle-label{color:var(--muted);cursor:pointer;grid-column:1/-1;align-items:center;gap:10px;font-weight:800;display:flex}.garmin-toggle-label input{width:auto}.segments-editor-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.segments-editor-header h3{margin:0}.add-segment-actions{flex-wrap:wrap;gap:8px;display:flex}.add-segment-actions .secondary-button{padding:8px 12px;font-size:.85rem}.segments-editor-list{gap:6px;margin-bottom:20px;display:grid}.segment-edit-row{border:1px solid var(--rule);background:var(--surf2);cursor:grab;border-radius:8px;align-items:center;gap:8px;padding:10px 12px;transition:background .1s,border-color .1s;display:flex}.segment-edit-row:active{cursor:grabbing}.segment-edit-row.drag-over{background:var(--blu-a);border-color:var(--blue)}.drag-handle{color:var(--dimmer);cursor:grab;-webkit-user-select:none;user-select:none;flex-shrink:0;font-size:1.1rem}.seg-move{flex-direction:column;flex-shrink:0;gap:2px;display:flex}.seg-move-btn{background:var(--surf2);color:var(--text);border:1px solid var(--rule);cursor:pointer;border-radius:4px;padding:2px 6px;font-size:.75rem;line-height:1.4}.seg-move-btn:disabled{opacity:.3;cursor:not-allowed}.seg-type-select{flex-shrink:0;width:96px;padding:8px 10px}.seg-name-input{flex:1;min-width:80px;padding:8px 10px}.seg-target-select{flex-shrink:0;width:90px;padding:8px 10px}.seg-target-value{flex-shrink:0;width:64px;padding:8px 10px}.seg-target-unit{flex-shrink:0;width:52px;padding:8px 10px}.seg-toggle{color:var(--muted);cursor:pointer;flex-shrink:0;align-items:center;gap:5px;font-size:.8rem;font-weight:800;display:flex}.seg-toggle input{width:auto}.seg-remove-btn{flex-shrink:0;padding:8px 10px;font-size:.85rem}.template-editor-footer{border-top:1px solid var(--rule);justify-content:flex-end;gap:10px;padding-top:4px;display:flex}@media (width<=760px){.hero{padding:12px 14px}.two-cols,.inline-form,.penalty-buttons,.custom-penalty,.export-actions,.review-add-penalty,.stats-grid,.comparison-row,.session-grid,.session-create-row,.session-summary-grid,.leaderboard-row,.event-grid{grid-template-columns:1fr}.timer-header{flex-direction:column}.review-header,.review-lap-head,.review-inline-row,.participant-row-head,.participant-actions,.assignment-actions,.status-filter-row,.account-summary,.template-list-row{flex-direction:column;align-items:stretch}.template-list-actions{justify-content:flex-end}.template-meta-fields{grid-template-columns:1fr}.segment-edit-row{flex-wrap:wrap}.seg-name-input{min-width:0}.hero-account{flex-wrap:wrap;justify-content:flex-end}.app-shell{padding-bottom:calc(80px + env(safe-area-inset-bottom))}}
