:root{--bg:#06120d;--bg-soft:#0a1a13;--ink:#edf7ee;--muted:#9fb4a5;--faint:#708778;--accent:#dcff5a;--accent-2:#56e0b4;--danger:#ff8d7d;--warning:#ffc96b;--line:#def6e524;--line-strong:#def6e53d;--panel:#06120dc7;--panel-solid:#0a1a13;--shadow:0 24px 70px #00000061;--font:"Avenir Next", "Segoe UI Variable Display", "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;overflow:hidden}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}kbd{border:1px solid var(--line);background:#ffffff0a;border-radius:5px;padding:.15em .4em;font-size:.86em}.start-screen{isolation:isolate;background:radial-gradient(1100px 680px at 76% 8%,#56e0b42e,#0000 62%),radial-gradient(900px 620px at 6% 88%,#dcff5a1a,#0000 58%),linear-gradient(155deg,#07160f 0%,#05100b 54%,#0a1d15 100%);flex-direction:column;min-height:100%;padding:clamp(20px,3.4vw,44px);display:flex;position:relative;overflow-y:auto}.start-screen__glow{z-index:-1;filter:blur(30px);pointer-events:none;background:radial-gradient(circle,#56e0b426,#0000 66%);border-radius:50%;width:min(900px,72vw);height:min(900px,72vw);position:absolute;top:-18%;right:-8%}.start-screen__grid{z-index:-1;pointer-events:none;background-image:linear-gradient(#def6e50e 1px,#0000 1px),linear-gradient(90deg,#def6e50e 1px,#0000 1px);background-size:68px 68px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(at 54% 42%,#000 5%,#0000 72%);mask-image:radial-gradient(at 54% 42%,#000 5%,#0000 72%)}.start-topbar{justify-content:space-between;align-items:center;gap:20px;width:100%;max-width:1360px;margin:0 auto;display:flex}.wordmark{letter-spacing:-.055em;text-transform:uppercase;align-items:center;gap:.55em;font-weight:800;display:inline-flex}.wordmark--small{color:var(--ink);letter-spacing:.18em;font-size:.94rem}.wordmark__mark{background:var(--accent);border-radius:50%;width:11px;height:11px;display:inline-block;box-shadow:0 0 22px #dcff5ab3}.phase-badge{border:1px solid var(--line);color:var(--muted);letter-spacing:.14em;text-transform:uppercase;border-radius:999px;padding:.42rem .75rem;font-size:.7rem;font-weight:600}.start-layout{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:center;gap:clamp(32px,6vw,96px);width:100%;max-width:1360px;margin:auto;padding:clamp(34px,6.5vh,72px) 0;display:grid}.start-copy{max-width:720px}.eyebrow{color:var(--accent-2);letter-spacing:.2em;text-transform:uppercase;align-items:center;gap:.8rem;margin:0 0 1.5rem;font-size:.72rem;font-weight:700;display:flex}.eyebrow__line{opacity:.7;background:currentColor;width:38px;height:1px;display:inline-block}.wordmark--hero{color:#0000;letter-spacing:-.085em;text-transform:uppercase;background:linear-gradient(110deg,#f4ffec 20%,#c8f1dd 58%,#82d9b7 100%);-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(5.4rem,13.6vw,12.2rem);font-weight:800;line-height:.72}.wordmark__period{color:var(--accent);-webkit-text-fill-color:var(--accent)}.tagline{letter-spacing:-.035em;margin:1.9rem 0 0;font-size:clamp(1.75rem,3.4vw,3.2rem);font-weight:550;line-height:1.03}.lede{max-width:50ch;color:var(--muted);margin:1.25rem 0 0;font-size:clamp(.96rem,1.2vw,1.08rem);line-height:1.65}.start-actions{align-items:center;gap:1.5rem;margin-top:2.3rem;display:flex}.ride-button{background:linear-gradient(120deg, var(--accent), #a7ff72);color:#0a160c;letter-spacing:.02em;border:0;border-radius:999px;justify-content:center;align-items:center;gap:1.1rem;min-width:180px;padding:1.02rem 1.25rem 1.02rem 1.6rem;font-size:1rem;font-weight:750;transition:transform .16s,box-shadow .16s,background .16s;display:inline-flex;box-shadow:0 12px 40px #dcff5a2e,inset 0 1px #ffffff8c}.ride-button:hover{background:linear-gradient(120deg,#e6ff7b,#b9ff88);transform:translateY(-2px);box-shadow:0 16px 48px #dcff5a42,inset 0 1px #ffffffa6}.ride-button__arrow{background:#06120d1f;border-radius:50%;place-items:center;width:28px;height:28px;font-size:1rem;line-height:1;display:inline-grid}.ride-button--compact{min-width:0;padding:.85rem 1rem .85rem 1.3rem}.start-hint{max-width:235px;color:var(--faint);margin:0;font-size:.75rem;line-height:1.45}.course-stats{border-top:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;margin:2.7rem 0 0;padding:1.1rem 0 0;display:grid}.course-stats div{min-width:0}.course-stats dt{color:var(--faint);letter-spacing:.16em;text-transform:uppercase;margin-bottom:.4rem;font-size:.64rem;font-weight:650}.course-stats dd{font-variant-numeric:tabular-nums;margin:0;font-size:clamp(1rem,1.4vw,1.28rem);font-weight:600}.load-error{color:#ffd0c9;background:#ff8d7d14;border:1px solid #ff8d7d59;border-radius:14px;margin-top:1.6rem;padding:.85rem 1rem;font-size:.82rem;line-height:1.5}.load-error p{margin:0 0 .35rem}.text-button{color:var(--accent-2);text-underline-offset:4px;background:0 0;border:0;padding:0;font-size:.82rem;font-weight:650;text-decoration:underline;text-decoration-thickness:1px}.text-button:hover{color:var(--ink)}.start-visual{flex-direction:column;gap:1.4rem;display:flex}.start-visual__frame{border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:radial-gradient(90% 80% at 50% 20%,#56e0b417,#0000 70%),#040e0a80;border-radius:28px;padding:clamp(16px,2vw,22px);position:relative}.course-map{aspect-ratio:1;background:radial-gradient(circle at 50% 45%,#56e0b40f,#0000 68%),#030b086b;border-radius:18px;width:100%;max-height:430px;position:relative;overflow:hidden}.course-map svg{width:100%;height:100%;display:block}.course-map__grid line{stroke:#def6e512;stroke-width:.4px}.course-map__halo{fill:none;stroke:#dcff5a24;stroke-linecap:round;stroke-linejoin:round;stroke-width:7px}.course-map__line{fill:none;stroke:url(#courseFade);stroke-linecap:round;stroke-linejoin:round;stroke-width:2.3px;filter:drop-shadow(0 0 9px #dcff5a57)}.course-map__start circle:first-child{fill:none;stroke:var(--accent);stroke-width:1.2px;opacity:.55}.course-map__start circle:last-child{fill:var(--accent);filter:drop-shadow(0 0 6px #dcff5ae6)}.course-map__caption{color:var(--muted);letter-spacing:.13em;text-transform:uppercase;align-items:center;gap:.55rem;font-size:.66rem;font-weight:650;display:flex;position:absolute;bottom:.8rem;left:.9rem}.course-map__dot{background:var(--accent);border-radius:50%;width:6px;height:6px}.start-visual__meta{color:var(--muted);letter-spacing:.06em;justify-content:space-between;align-items:center;gap:1rem;padding:1rem .35rem 0;font-size:.73rem;font-weight:600;display:flex}.start-visual__note{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:1rem;padding:0 .2rem;display:grid}.start-visual__index{color:var(--accent);letter-spacing:.18em;font-size:.7rem;font-weight:700}.start-visual__note p{color:var(--faint);margin:0;font-size:.78rem;line-height:1.6}.start-footer{border-top:1px solid var(--line);width:100%;max-width:1360px;color:var(--faint);letter-spacing:.04em;justify-content:space-between;align-items:center;gap:1.2rem;margin:0 auto;padding-top:1.2rem;font-size:.7rem;display:flex}.start-footer__keys{text-align:right}.start-footer a{color:var(--accent-2);text-decoration:none}.start-footer a:hover{text-decoration:underline}.ride-screen{background:#07130e;position:fixed;inset:0;overflow:hidden}.scene-layer,.ride-canvas{inset:0;width:100%!important;height:100%!important;position:absolute!important}.scene-layer canvas{display:block}.vignette{z-index:1;pointer-events:none;background:linear-gradient(#020906a3 0%,#0000 24%),linear-gradient(#0000 55%,#020906b8 100%);position:absolute;inset:0}.hud{z-index:2;pointer-events:none;-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:space-between;gap:20px;padding:clamp(14px,2vw,28px);display:flex;position:absolute;inset:0}.hud>*{pointer-events:auto}.hud-top{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.hud-top__left{align-items:center;gap:1.3rem;min-width:0;display:flex}.hud-brand{letter-spacing:.2em;align-items:center;gap:.5rem;font-size:.8rem;font-weight:800;display:flex}.hud-brand__mark{background:var(--accent);border-radius:50%;width:8px;height:8px;box-shadow:0 0 16px #dcff5ab3}.hud-route{min-width:0;color:var(--muted);letter-spacing:.06em;white-space:nowrap;align-items:center;gap:.55rem;font-size:.72rem;font-weight:600;display:flex}.hud-route__sep{color:var(--faint);opacity:.6}.hud-top__right{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.7rem;display:flex}.hud-readouts{border:1px solid var(--line);color:var(--faint);letter-spacing:.08em;text-transform:uppercase;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#040e0aad;border-radius:999px;align-items:center;gap:0;font-size:.58rem;font-weight:650;line-height:1;display:inline-flex;overflow:hidden}.hud-readout{align-items:baseline;gap:.38rem;padding:.5rem .62rem;display:inline-flex}.hud-readout+.hud-readout{border-left:1px solid var(--line)}.hud-readout strong{color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:.7rem;font-weight:750}.connection-pill{border:1px solid var(--line);max-width:min(430px,48vw);color:var(--muted);letter-spacing:.06em;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#040e0aad;border-radius:999px;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.7rem;font-weight:650;line-height:1;display:inline-flex}.connection-pill__dot{background:var(--faint);border-radius:50%;flex:none;width:7px;height:7px}.connection-pill__detail{max-width:250px;color:var(--faint);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.connection-pill--connected{color:#d6ffed;border-color:#56e0b459}.connection-pill--connected .connection-pill__dot{background:var(--accent-2);box-shadow:0 0 12px #56e0b4cc}.connection-pill--connecting,.connection-pill--reconnecting{color:#ffe6b8;border-color:#ffc96b52}.connection-pill--connecting .connection-pill__dot,.connection-pill--reconnecting .connection-pill__dot{background:var(--warning);animation:1.3s ease-in-out infinite pulse}.connection-pill--error{color:#ffd2cb;border-color:#ff8d7d66}.connection-pill--error .connection-pill__dot{background:var(--danger)}.hud-end{border:1px solid var(--line);color:var(--muted);letter-spacing:.04em;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#040e0a8c;border-radius:999px;padding:.52rem .85rem;font-size:.7rem;font-weight:650;transition:border-color .14s,color .14s,background .14s}.hud-end:hover{border-color:var(--line-strong);color:var(--ink);background:#ffffff0f}.hud-bottom{justify-content:flex-start;align-items:flex-end;gap:clamp(12px,2vw,28px);display:flex}.metrics{border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:22px;flex-wrap:wrap;align-items:stretch;min-width:0;display:flex;overflow:hidden;box-shadow:0 18px 50px #0000004d}.metric{border-left:1px solid var(--line);flex-direction:column;justify-content:flex-end;gap:.15rem;min-width:104px;padding:.85rem 1.1rem .9rem;display:flex}.metric:first-child{border-left:0}.metric--power{background:linear-gradient(145deg,#dcff5a1a,#0000 68%);min-width:155px}.metric--small{min-width:100px}.metric__label{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:.5rem;font-size:.6rem;font-weight:700;display:flex}.metric__value{color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.055em;font-size:clamp(1.8rem,2.8vw,2.7rem);font-weight:700;line-height:1}.metric--power .metric__value{color:var(--accent)}.metric__value--small{letter-spacing:-.035em;font-size:clamp(1.05rem,1.6vw,1.35rem)}.metric__unit{color:var(--faint);letter-spacing:.1em;text-transform:uppercase;font-size:.62rem;font-weight:650}.metric__grade-row{align-items:baseline;gap:.45rem;display:flex}.metric__grade-row--effective .metric__value{color:var(--accent-2)}.metric__grade-tag{color:var(--faint);letter-spacing:.1em;text-transform:uppercase;font-size:.56rem;font-weight:650}.source-chip{color:var(--accent);letter-spacing:.12em;background:#dcff5a24;border-radius:4px;padding:.18rem .35rem;font-size:.48rem;font-weight:750}.source-chip--trainer{color:var(--accent-2);background:#56e0b426}.trainer-panel{z-index:4;border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:22px;width:min(330px,100vw - 28px);padding:1rem 1.05rem .9rem;position:absolute;top:calc(clamp(14px,2vw,28px) + 54px);right:clamp(14px,2vw,28px);box-shadow:0 18px 50px #0000004d}.trainer-panel--collapsed{background:#06120dd1;border-radius:16px;width:196px;padding:.55rem .65rem .6rem}.trainer-toggle{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:.65rem;padding:0;display:flex}.trainer-toggle__title{letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:.42rem;font-size:.62rem;font-weight:750;display:inline-flex}.trainer-toggle__action{border:1px solid var(--line);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:.2rem .42rem;font-size:.52rem;font-weight:700;transition:border-color .14s,color .14s}.trainer-toggle:hover .trainer-toggle__action{border-color:var(--line-strong);color:var(--ink)}.trainer-dot{background:var(--faint);border-radius:50%;width:6px;height:6px}.trainer-dot--connected{background:var(--accent-2);box-shadow:0 0 9px #56e0b4bf}.trainer-dot--connecting,.trainer-dot--reconnecting{background:var(--warning);animation:1.3s ease-in-out infinite pulse}.trainer-dot--error{background:var(--danger)}.trainer-dot--unavailable{background:var(--faint);opacity:.55}.trainer-summary{border-top:1px solid var(--line);color:var(--faint);letter-spacing:.03em;white-space:nowrap;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.42rem;padding-top:.42rem;font-size:.56rem;display:flex}.trainer-summary strong{color:var(--muted);font-variant-numeric:tabular-nums;font-weight:650}.trainer-panel__body[hidden]{display:none}.trainer-panel__head{border-top:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:1rem;margin:.8rem 0 .7rem;padding-top:.75rem;display:flex}.trainer-panel--open .trainer-panel__head{margin-top:.8rem}.panel-kicker{color:var(--accent-2);letter-spacing:.18em;text-transform:uppercase;margin-bottom:.16rem;font-size:.56rem;font-weight:750;display:block}.trainer-panel h2{letter-spacing:-.02em;margin:0;font-size:1.05rem;font-weight:650}.trainer-state{border:1px solid var(--line);color:var(--faint);letter-spacing:.1em;text-transform:uppercase;border-radius:999px;padding:.24rem .46rem;font-size:.52rem;font-weight:700}.trainer-state--connected{color:var(--accent-2);border-color:#56e0b459}.trainer-state--error{color:var(--danger);border-color:#ff8d7d66}.trainer-connect{color:#c9ffec;letter-spacing:.03em;background:#56e0b41a;border:1px solid #56e0b447;border-radius:11px;width:100%;padding:.62rem .7rem;font-size:.73rem;font-weight:700;transition:background .14s,border-color .14s}.trainer-connect:hover:not(:disabled){background:#56e0b42b;border-color:#56e0b480}.trainer-note{color:var(--faint);margin:.55rem 0 0;font-size:.64rem;line-height:1.45}.trainer-error{color:#ffc2ba;background:#ff8d7d1c;border-radius:8px;margin:.55rem 0 0;padding:.45rem .55rem;font-size:.62rem;line-height:1.4}.control{margin-top:.85rem;display:block}.control__row{color:var(--muted);letter-spacing:.04em;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.4rem;font-size:.66rem;font-weight:650;display:flex}.control__value{color:var(--ink);font-variant-numeric:tabular-nums;font-size:.7rem;font-weight:700}.control__hint{color:var(--faint);margin-top:.3rem;font-size:.57rem;line-height:1.4;display:block}.slider{appearance:none;width:100%;height:18px;accent-color:var(--accent);background:0 0;margin:0;padding:0;display:block}.slider::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--accent) 0%, var(--accent-2) 100%);opacity:.55;border-radius:999px;height:4px}.slider::-webkit-slider-thumb{border:3px solid var(--accent);appearance:none;background:#0b1a12;border-radius:50%;width:15px;height:15px;margin-top:-5.5px;box-shadow:0 0 12px #dcff5a59}.slider::-moz-range-track{background:#def6e533;border-radius:999px;height:4px}.slider::-moz-range-progress{background:var(--accent);border-radius:999px;height:4px}.slider::-moz-range-thumb{border:3px solid var(--accent);background:#0b1a12;border-radius:50%;width:10px;height:10px}.trainer-panel__foot{border-top:1px solid var(--line);color:var(--faint);letter-spacing:.03em;flex-wrap:wrap;justify-content:space-between;gap:.45rem .8rem;margin-top:.8rem;padding-top:.65rem;font-size:.57rem;display:flex}.trainer-panel__foot strong{color:var(--muted);font-weight:650}.trainer-panel__id{opacity:.65}.paused-banner{color:#ffe7bb;pointer-events:none;background:#140f05db;border:1px solid #ffc96b52;border-radius:12px;padding:.7rem 1.1rem;font-size:.72rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ride-screen--loading{background:radial-gradient(900px 600px at 64% 36%,#56e0b41f,#0000 65%),linear-gradient(165deg,#07160f,#040c08 70%)}.ride-screen--loading:before{content:"";background-image:linear-gradient(#def6e50b 1px,#0000 1px),linear-gradient(90deg,#def6e50b 1px,#0000 1px);background-size:56px 56px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000,#0000 74%);mask-image:radial-gradient(#000,#0000 74%)}.loading-orbit{aspect-ratio:1;border:1px solid #dcff5a33;border-radius:50%;width:min(560px,68vw);animation:4s ease-in-out infinite breathe;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 60px #dcff5a06,0 0 0 160px #56e0b405}.hud--loading{opacity:.88}.ride-loading-copy{text-align:center;pointer-events:none;width:min(560px,88vw);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ride-loading-copy h1{letter-spacing:-.04em;margin:.5rem 0 .7rem;font-size:clamp(1.6rem,3.2vw,2.6rem);font-weight:600}.ride-loading-copy p:not(.panel-kicker){max-width:46ch;color:var(--muted);margin:0 auto;font-size:.84rem;line-height:1.6}.ride-loading-copy .text-button{pointer-events:auto;margin-top:1rem}.results-screen{background:radial-gradient(1000px 700px at 78% 10%,#56e0b426,#0000 62%),radial-gradient(900px 600px at 12% 90%,#dcff5a17,#0000 58%),linear-gradient(155deg,#07160f,#040c08 62%,#0a1d15);place-items:center;min-height:100%;padding:clamp(20px,4vw,54px);display:grid;overflow-y:auto}.results-card{border:1px solid var(--line);width:min(940px,100%);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#05100bb3;border-radius:32px;padding:clamp(22px,4vw,50px)}.results-wordmark{margin-bottom:2.2rem}.results-card .eyebrow{margin-bottom:1rem}.results-title{letter-spacing:-.055em;margin:0;font-size:clamp(2.6rem,6vw,4.8rem);font-weight:650;line-height:.95}.results-sub{max-width:56ch;color:var(--muted);margin:1rem 0 0;font-size:.92rem;line-height:1.6}.results-stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:2.2rem 0 0;padding:1.4rem 0;display:grid}.results-stats dt{color:var(--faint);letter-spacing:.16em;text-transform:uppercase;margin-bottom:.5rem;font-size:.64rem;font-weight:700}.results-stats dd{font-variant-numeric:tabular-nums;letter-spacing:-.05em;margin:0;font-size:clamp(1.7rem,3.4vw,2.8rem);font-weight:650}.results-stats dd span{color:var(--faint);letter-spacing:.08em;text-transform:uppercase;margin-left:.3em;font-size:.34em;font-weight:650}.results-lower{grid-template-columns:minmax(200px,.8fr) minmax(0,1.2fr);align-items:center;gap:1.5rem;margin-top:1.6rem;display:grid}.results-lower .course-map{border:1px solid var(--line);max-height:220px}.results-meta{color:var(--faint);letter-spacing:.04em;flex-direction:column;gap:.7rem;font-size:.76rem;display:flex}.results-meta span{border-bottom:1px solid var(--line);padding-bottom:.7rem}.results-meta span:last-child{border-bottom:0}.results-actions{align-items:center;gap:1.5rem;margin-top:2rem;display:flex}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.75)}}@keyframes breathe{0%,to{opacity:.65;transform:translate(-50%,-50%)scale(1)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.025)}}@media (max-width:1020px){.start-layout{grid-template-columns:minmax(0,1fr) minmax(260px,.7fr);gap:2.5rem}.hud-bottom{align-items:stretch}.metrics{flex:auto}}@media (max-width:860px){.start-layout{grid-template-columns:minmax(0,1fr);padding-top:3rem}.start-visual{max-width:520px}.start-footer{flex-direction:column;align-items:flex-start;gap:.6rem}.start-footer__keys{text-align:left}.connection-pill__detail{display:none}.results-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.results-lower{grid-template-columns:minmax(0,1fr)}}@media (max-height:820px){.metric{padding:.75rem .9rem .8rem}.metric--power{min-width:140px}.metric__value{font-size:clamp(1.55rem,2.4vw,2.2rem)}}@media (max-width:580px){.start-actions{flex-direction:column;align-items:flex-start;gap:.9rem}.course-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.start-topbar{align-items:flex-start}.phase-badge{text-align:right;max-width:150px}.hud-top{flex-direction:column;align-items:flex-start}.hud-route{font-size:.64rem}.metrics{border-radius:18px}.metric{min-width:88px;padding:.7rem .8rem}.metric--power{min-width:130px}.metric__value{font-size:1.75rem}.results-actions{flex-direction:column;align-items:flex-start;gap:.9rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-header{z-index:5;justify-content:space-between;align-items:center;gap:1.2rem;width:100%;max-width:1360px;margin:0 auto;display:flex;position:relative}.app-header--compact{margin-bottom:0}.app-header__brand{color:inherit;background:0 0;border:0;padding:0}.app-header__nav{align-items:center;gap:.25rem;margin-left:auto;display:flex}.app-header__link{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;background:0 0;border:1px solid #0000;border-radius:999px;padding:.45rem .7rem;font-size:.7rem;font-weight:650;transition:border-color .14s,color .14s,background .14s}.app-header__link:hover{border-color:var(--line);color:var(--ink);background:#ffffff0a}.app-header__account{align-items:center;gap:.6rem;display:flex}.app-header__user{border:1px solid var(--line);color:var(--muted);background:#040e0a80;border-radius:999px;align-items:center;gap:.55rem;padding:.32rem .6rem .32rem .34rem;font-size:.7rem;font-weight:600;display:inline-flex}.app-header__avatar{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#06120d;border-radius:50%;place-items:center;width:24px;height:24px;font-size:.65rem;font-weight:800;display:inline-grid}.app-header__name{color:var(--ink);font-weight:700}.app-header__category{border-left:1px solid var(--line);color:var(--accent-2);letter-spacing:.1em;text-transform:uppercase;padding-left:.55rem;font-size:.58rem;font-weight:750}.app-header__signin{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;background:#dcff5a1a;border:1px solid #dcff5a5c;border-radius:999px;padding:.55rem .95rem;font-size:.7rem;font-weight:750;transition:background .14s,border-color .14s}.app-header__signin:hover{background:#dcff5a2b;border-color:#dcff5a99}.ride-button--ghost{min-width:0;box-shadow:none;color:#c9ffec;background:#56e0b414;border:1px solid #56e0b457;padding:.85rem 1.1rem}.ride-button--ghost:hover{box-shadow:none;background:#56e0b426}.home-notice{color:#c9ffec;background:#56e0b412;border:1px solid #56e0b447;border-radius:12px;margin:1.2rem 0 0;padding:.7rem .85rem;font-size:.78rem;line-height:1.5}.next-race{border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#040e0a8c;border-radius:20px;flex-direction:column;gap:.55rem;padding:1rem 1.05rem;display:flex}.next-race__head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.next-race__body{color:inherit;text-align:left;background:0 0;border:0;flex-direction:column;gap:.45rem;padding:0;display:flex}.next-race__name{letter-spacing:-.035em;font-size:1.28rem;font-weight:700}.next-race__meta{color:var(--muted);font-size:.72rem;line-height:1.45}.next-race__categories{flex-wrap:wrap;gap:.3rem;display:flex}.next-race__hint,.next-race__empty{color:var(--faint);margin:0;font-size:.66rem;line-height:1.5}.home-calendar{border-top:1px solid var(--line);width:100%;max-width:1360px;margin:0 auto;padding:clamp(2rem,4vw,3.6rem) 0 1rem}.section-head{justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:1.2rem;display:flex}.section-head--tight{align-items:center;margin-bottom:.8rem}.section-head h2{letter-spacing:-.04em;margin:.15rem 0 0;font-size:clamp(1.4rem,2.6vw,2rem);font-weight:650}.race-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.9rem;display:grid}.race-card{border:1px solid var(--line);min-width:0;color:var(--ink);text-align:left;background:radial-gradient(120% 90% at 100% 0,#56e0b414,#0000 55%),#05100b94;border-radius:18px;flex-direction:column;gap:.55rem;padding:1rem 1.05rem;transition:border-color .16s,background .16s,transform .16s;display:flex}.race-card:hover{border-color:var(--line-strong);background:radial-gradient(120% 90% at 100% 0,#56e0b421,#0000 55%),#08160fbf;transform:translateY(-2px)}.race-card--racing,.race-card--pen,.race-card--countdown{border-color:#dcff5a52}.race-card__top,.race-card__bottom{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.race-card__start{color:var(--muted);letter-spacing:.03em;text-align:right;font-size:.64rem;font-weight:600}.race-card__name{letter-spacing:-.035em;margin:.1rem 0 0;font-size:1.16rem;font-weight:700}.race-card__route{color:var(--faint);margin:0;font-size:.68rem;line-height:1.45}.race-card__categories{flex-wrap:wrap;gap:.28rem;display:flex}.race-card__field{color:var(--faint);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.62rem}.race-card__field--full{color:var(--danger)}.phase-chip{border:1px solid var(--line);color:var(--muted);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;background:#ffffff08;border-radius:999px;align-items:center;padding:.25rem .5rem;font-size:.54rem;font-weight:750;display:inline-flex}.phase-chip--registration{color:var(--accent-2);border-color:#56e0b459}.phase-chip--pen,.phase-chip--countdown{color:var(--warning);border-color:#ffc96b61}.phase-chip--racing{color:var(--accent);border-color:#dcff5a61}.phase-chip--finished{color:var(--faint);border-color:#9fb4a540}.category-chip{min-width:1.35rem;color:var(--muted);letter-spacing:.06em;background:#ffffff0a;border:1px solid #def6e52e;border-radius:5px;justify-content:center;align-items:center;padding:.16rem .34rem;font-size:.56rem;font-weight:800;display:inline-flex}.category-chip--muted{color:var(--faint)}.calendar-empty{border:1px dashed var(--line);color:var(--faint);text-align:center;border-radius:16px;margin:0;padding:1.6rem 1rem;font-size:.8rem}.home-notes{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;margin-top:1.5rem;padding-top:1.2rem;display:grid}.home-notes p{color:var(--faint);margin:.35rem 0 0;font-size:.7rem;line-height:1.55}.page-screen{background:radial-gradient(1000px 680px at 82% 4%,#56e0b421,#0000 62%),radial-gradient(900px 620px at 4% 92%,#dcff5a12,#0000 58%),linear-gradient(155deg,#07160f 0%,#05100b 56%,#0a1d15 100%);min-height:100%;padding:clamp(20px,3.4vw,44px);overflow-y:auto}.page-screen:before{content:"";z-index:0;pointer-events:none;background-image:linear-gradient(#def6e50b 1px,#0000 1px),linear-gradient(90deg,#def6e50b 1px,#0000 1px);background-size:68px 68px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(at 54% 40%,#000 5%,#0000 72%);mask-image:radial-gradient(at 54% 40%,#000 5%,#0000 72%)}.page-screen>*{z-index:1;position:relative}.page-loading{width:min(760px,100%);color:var(--muted);text-align:center;margin:3rem auto;font-size:.85rem}.auth-screen,.profile-screen{flex-direction:column;min-height:100%;display:flex}.auth-card{border:1px solid var(--line);width:min(560px,100%);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#05100bb8;border-radius:28px;margin:auto;padding:clamp(22px,4vw,42px)}.auth-title{letter-spacing:-.055em;margin:.4rem 0 0;font-size:clamp(2rem,4.6vw,3.2rem);font-weight:650;line-height:.98}.auth-sub{max-width:48ch;color:var(--muted);margin:1rem 0 0;font-size:.86rem;line-height:1.6}.auth-reason{color:#ffe7bb;background:#ffc96b12;border:1px solid #ffc96b4d;border-radius:12px;margin:1rem 0 0;padding:.7rem .85rem;font-size:.78rem;line-height:1.5}.auth-form{flex-direction:column;gap:1rem;margin-top:1.6rem;display:flex}.auth-submit{align-self:flex-start}.auth-actions{flex-wrap:wrap;align-items:center;gap:1.2rem;margin-top:1.4rem;display:flex}.auth-success{margin-top:1.2rem}.auth-success p{color:var(--muted);font-size:.86rem;line-height:1.65}.auth-success strong{color:var(--ink)}.field{flex-direction:column;gap:.38rem;min-width:0;display:flex}.field--wide{grid-column:1/-1}.field__label{color:var(--muted);letter-spacing:.13em;text-transform:uppercase;font-size:.64rem;font-weight:700}.field__input{border:1px solid var(--line);width:100%;color:var(--ink);background:#0209068c;border-radius:10px;padding:.72rem .8rem;font-size:.88rem;transition:border-color .14s,background .14s}.field__input:focus{background:#020906c7;border-color:#dcff5a73}.field__input:disabled{opacity:.55}.field__hint{color:var(--faint);font-size:.62rem;line-height:1.45}.field__error{color:var(--danger);font-size:.64rem;line-height:1.4}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.form-error{color:#ffd0c9;background:#ff8d7d14;border:1px solid #ff8d7d59;border-radius:10px;margin:.9rem 0 0;padding:.65rem .8rem;font-size:.74rem;line-height:1.5}.form-actions{flex-wrap:wrap;align-items:center;gap:1.2rem;margin-top:1.4rem;display:flex}.test-login{background:#ffc96b0d;border:1px dashed #ffc96b57;border-radius:14px;margin-top:1.6rem;padding:.9rem}.test-login__head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.test-login__badge{color:var(--warning);letter-spacing:.1em;text-transform:uppercase;border:1px solid #ffc96b59;border-radius:999px;padding:.2rem .45rem;font-size:.52rem;font-weight:750}.test-login__note{color:var(--faint);margin:.5rem 0 .7rem;font-size:.66rem;line-height:1.5}.test-login__row{align-items:center;gap:.6rem;display:flex}.test-login__row .field__input{flex:auto}.profile-layout{grid-template-columns:minmax(0,.85fr) minmax(320px,1.15fr);align-items:start;gap:clamp(2rem,5vw,4.5rem);width:min(1120px,100%);margin:auto;padding:clamp(2rem,5vh,4rem) 0;display:grid}.profile-copy{padding-top:.5rem}.profile-warning{color:#ffe7bb;background:#ffc96b0f;border:1px solid #ffc96b4d;border-radius:12px;margin:1.2rem 0 0;padding:.7rem .85rem;font-size:.76rem;line-height:1.5}.profile-facts{border-top:1px solid var(--line);flex-direction:column;gap:.8rem;margin-top:1.8rem;padding-top:1.2rem;display:flex}.profile-facts div{color:var(--faint);justify-content:space-between;align-items:baseline;gap:1rem;font-size:.7rem;display:flex}.profile-facts strong{color:var(--muted);text-align:right;font-weight:650}.profile-form{border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#05100ba8;border-radius:24px;padding:clamp(18px,3vw,30px)}.consent{color:var(--faint);align-items:flex-start;gap:.65rem;margin-top:1.2rem;font-size:.66rem;line-height:1.5;display:flex}.consent input{accent-color:var(--accent);margin-top:.15rem}.consent+.field__hint a{color:var(--accent-2)}.race-detail-screen{flex-direction:column;display:flex}.race-detail__back{width:min(1240px,100%);margin:1.2rem auto 0}.race-detail{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:start;gap:clamp(1.5rem,4vw,3.5rem);width:min(1240px,100%);margin:1.2rem auto 2rem;display:grid}.race-detail__head{justify-content:space-between;align-items:flex-start;gap:1.2rem;display:flex}.race-detail__title{letter-spacing:-.06em;margin:.3rem 0 0;font-size:clamp(2.4rem,5.4vw,4.4rem);font-weight:650;line-height:.95}.race-detail__route{color:var(--muted);margin:.8rem 0 0;font-size:.8rem}.detail-stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1.8rem 0 0;padding:1.2rem 0;display:grid}.detail-stats dt{color:var(--faint);letter-spacing:.14em;text-transform:uppercase;margin-bottom:.4rem;font-size:.58rem;font-weight:700}.detail-stats dd{font-variant-numeric:tabular-nums;margin:0;font-size:clamp(1rem,1.6vw,1.3rem);font-weight:650}.detail-stats span{color:var(--faint);margin-top:.25rem;font-size:.6rem;display:block}.detail-section{margin-top:1.8rem}.detail-note{color:var(--faint);margin:.9rem 0 0;font-size:.7rem;line-height:1.6}.detail-rules{color:var(--muted);margin:.6rem 0 0;padding-left:1.1rem;font-size:.74rem;line-height:1.7}.category-list{flex-wrap:wrap;gap:.6rem;display:flex}.category-row{border:1px solid var(--line);color:var(--muted);background:#ffffff06;border-radius:10px;align-items:center;gap:.45rem;padding:.45rem .65rem;font-size:.68rem;display:inline-flex}.category-badge{width:1.4rem;height:1.4rem;color:var(--accent);background:#dcff5a24;border-radius:5px;place-items:center;font-size:.64rem;font-weight:800;display:inline-grid}.race-detail__side{flex-direction:column;gap:1rem;display:flex}.race-detail__map .course-map{border:1px solid var(--line);border-radius:18px;max-height:260px}.register-panel{border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#05100bad;border-radius:20px;padding:1.05rem 1.1rem}.register-panel__head{justify-content:space-between;align-items:flex-start;gap:.8rem;margin-bottom:.9rem;display:flex}.register-panel h2{letter-spacing:-.035em;margin:.1rem 0 0;font-size:1.25rem;font-weight:650}.register-guest p,.register-note{color:var(--faint);margin:0 0 .8rem;font-size:.7rem;line-height:1.55}.register-form{flex-direction:column;gap:.85rem;display:flex}.registration-state{flex-direction:column;align-items:flex-start;gap:.75rem;display:flex}.registration-state__line{color:#c9ffec;background:#56e0b412;border:1px solid #56e0b44d;border-radius:10px;margin:0;padding:.55rem .7rem;font-size:.72rem;line-height:1.45}.race-detail__facts{color:var(--faint);letter-spacing:.03em;flex-direction:column;gap:.55rem;font-size:.62rem;display:flex}.race-detail__facts span{border-bottom:1px solid var(--line);padding-bottom:.55rem}.race-detail__facts span:last-child{border-bottom:0}.pen-overlay{z-index:6;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:radial-gradient(900px 620px at 50% 42%,#06120d2e,#020906c7 72%),#02090680;place-items:center;padding:clamp(14px,3vw,30px);display:grid;position:absolute;inset:0}.pen-card{border:1px solid var(--line-strong);text-align:center;background:radial-gradient(120% 90% at 100% 0,#dcff5a14,#0000 58%),#05100be6;border-radius:28px;width:min(560px,100%);padding:clamp(22px,4vw,40px);box-shadow:0 30px 90px #0000008c}.pen-card .eyebrow{justify-content:center}.pen-title{letter-spacing:-.06em;margin:.3rem 0 0;font-size:clamp(2rem,5vw,3.4rem);font-weight:650;line-height:.95}.pen-sub{color:var(--muted);margin:.8rem 0 0;font-size:.78rem}.pen-countdown{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;align-items:center;gap:.3rem;margin:1.4rem 0 1.2rem;padding:1rem 0;display:flex}.pen-countdown__value{color:var(--accent);font-variant-numeric:tabular-nums;letter-spacing:-.07em;font-size:clamp(3.2rem,10vw,6rem);font-weight:700;line-height:.9}.pen-countdown--live .pen-countdown__value{animation:1s ease-in-out infinite penPulse}.pen-countdown__label{color:var(--faint);letter-spacing:.14em;text-transform:uppercase;font-size:.62rem;font-weight:700}.pen-riders{text-align:left}.pen-riders__head{border-bottom:1px solid var(--line);color:var(--faint);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:0 .2rem .35rem;font-size:.55rem;font-weight:700;display:flex}.pen-riders__list{max-height:190px;margin:0;padding:0;list-style:none;overflow-y:auto}.pen-riders__list li{color:var(--muted);border-bottom:1px solid #def6e512;grid-template-columns:1.6rem minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:.42rem .2rem;font-size:.68rem;display:grid}.pen-riders__list li:last-child{border-bottom:0}.pen-riders__pos{color:var(--faint);font-variant-numeric:tabular-nums;font-weight:700}.pen-riders__name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pen-riders__gap{color:var(--faint);font-variant-numeric:tabular-nums;font-size:.62rem}.pen-riders__empty{font-style:italic;color:var(--faint)!important}.pen-hint{color:var(--faint);margin:1rem 0 0;font-size:.62rem;line-height:1.5}@keyframes penPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.72;transform:scale(.985)}}.race-hud{z-index:3;pointer-events:none;flex-direction:column;gap:.55rem;width:min(520px,100vw - 28px);display:flex;position:absolute;top:calc(clamp(14px,2vw,28px) + 54px);left:50%;transform:translate(-50%)}.race-hud__stats{border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:18px;display:flex;overflow:hidden;box-shadow:0 18px 50px #00000052}.race-stat{border-left:1px solid var(--line);flex-direction:column;flex:auto;gap:.1rem;min-width:0;padding:.55rem .7rem;display:flex}.race-stat:first-child{border-left:0}.race-stat__label{color:var(--faint);letter-spacing:.14em;text-transform:uppercase;font-size:.5rem;font-weight:750}.race-stat__value{color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.04em;font-size:1.15rem;font-weight:750;line-height:1.05}.race-stat__value--gap{color:var(--accent-2)}.race-stat__value--phase{color:var(--accent);letter-spacing:.04em;text-transform:uppercase;font-size:.82rem}.race-stat__unit{color:var(--faint);text-overflow:ellipsis;white-space:nowrap;font-size:.5rem;font-weight:600;overflow:hidden}.race-stat--phase{flex:1.25 auto}.live-board{border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);pointer-events:auto;background:#040e0acc;border-radius:16px;overflow:hidden}.live-board__head{border-bottom:1px solid var(--line);color:var(--faint);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:.75rem;padding:.45rem .7rem;font-size:.52rem;font-weight:750;display:flex}.live-board__list{max-height:224px;margin:0;padding:0;list-style:none;overflow-y:auto}.live-board__row{color:var(--muted);border-bottom:1px solid #def6e50f;grid-template-columns:1.6rem minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:.38rem .7rem;font-size:.64rem;display:grid}.live-board__row:last-child{border-bottom:0}.live-board__row--self{color:var(--ink);background:#dcff5a14}.live-board__pos{color:var(--faint);font-variant-numeric:tabular-nums;font-weight:700}.live-board__name{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.4rem;min-width:0;display:flex;overflow:hidden}.live-board__gap{color:var(--faint);font-variant-numeric:tabular-nums;font-size:.58rem}.live-board__bot{color:var(--faint);letter-spacing:.08em;background:#9fb4a524;border-radius:3px;padding:.08rem .25rem;font-size:.42rem;font-weight:800}.live-board__empty{color:var(--faint);padding:.7rem;font-size:.62rem;font-style:italic}.race-results-screen{flex-direction:column;display:flex}.results-page{width:min(1040px,100%);margin:1.5rem auto 2rem}.results-page__head{justify-content:space-between;align-items:flex-start;gap:1.2rem;display:flex}.results-page__title{letter-spacing:-.06em;margin:.3rem 0 0;font-size:clamp(2.4rem,5.6vw,4.6rem);font-weight:650;line-height:.95}.results-page__sub{color:var(--muted);margin:.8rem 0 0;font-size:.8rem}.results-banner{color:#ffe7bb;background:#ffc96b0f;border:1px solid #ffc96b4d;border-radius:10px;margin-top:1.2rem;padding:.65rem .8rem;font-size:.72rem}.results-self-card{background:#dcff5a0f;border:1px solid #dcff5a4d;border-radius:14px;flex-wrap:wrap;align-items:baseline;gap:.5rem 1.1rem;margin-top:1.2rem;padding:.85rem 1rem;display:flex}.results-self-card strong{color:var(--accent);font-variant-numeric:tabular-nums;letter-spacing:-.05em;font-size:1.8rem;font-weight:750}.results-self-card span:last-child{color:var(--muted);font-size:.72rem}.results-section{margin-top:1.8rem}.results-count{color:var(--faint);font-size:.62rem}.results-table-wrap{border:1px solid var(--line);background:#05100b8c;border-radius:16px;overflow-x:auto}.results-table{border-collapse:collapse;width:100%;min-width:560px;font-size:.72rem}.results-table th{border-bottom:1px solid var(--line);color:var(--faint);letter-spacing:.12em;text-align:left;text-transform:uppercase;padding:.6rem .7rem;font-size:.54rem;font-weight:750}.results-table td{color:var(--muted);border-bottom:1px solid #def6e512;padding:.62rem .7rem}.results-table tr:last-child td{border-bottom:0}.result-row--self td{color:var(--ink);background:#dcff5a12}.results-pos{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:750}.results-rider{color:var(--ink);align-items:center;gap:.45rem;font-weight:600;display:flex}.results-self{color:var(--accent);letter-spacing:.08em;background:#dcff5a29;border-radius:3px;padding:.08rem .25rem;font-size:.44rem;font-weight:800}.results-time,.results-gap,.results-power{font-variant-numeric:tabular-nums}.results-empty{border:1px dashed var(--line);color:var(--faint);text-align:center;border-radius:14px;margin:0;padding:1.4rem 1rem;font-size:.75rem}.history-screen{flex-direction:column;display:flex}.history-page{width:min(1040px,100%);margin:1.5rem auto 2rem}.history-page__head{justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:1.5rem;display:flex}.history-empty{border:1px dashed var(--line);color:var(--faint);border-radius:18px;flex-direction:column;align-items:flex-start;gap:1rem;padding:2rem 1.2rem;font-size:.8rem;display:flex}.history-empty p{margin:0}.history-list{flex-direction:column;gap:.55rem;display:flex}.history-row{border:1px solid var(--line);background:#05100b85;border-radius:14px;grid-template-columns:12rem minmax(0,1.2fr) minmax(0,1.1fr) auto;align-items:center;gap:1rem;padding:.8rem .95rem;display:grid}.history-row__when{color:var(--faint);flex-direction:column;gap:.35rem;font-size:.62rem;display:flex}.history-badge{border:1px solid var(--line);color:var(--muted);letter-spacing:.1em;text-transform:uppercase;border-radius:999px;align-self:flex-start;padding:.18rem .38rem;font-size:.5rem;font-weight:750}.history-badge--race{color:var(--accent);border-color:#dcff5a52}.history-row__name{flex-direction:column;gap:.25rem;min-width:0;display:flex}.history-row__name strong{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:650;overflow:hidden}.history-row__name span{color:var(--faint);font-size:.62rem}.history-row__stats{color:var(--faint);flex-wrap:wrap;gap:.8rem;font-size:.62rem;display:flex}.history-row__stats strong{color:var(--muted);font-variant-numeric:tabular-nums;font-weight:650}.history-row__result{justify-content:flex-end;align-items:center;gap:.7rem;display:flex}.history-pos{color:var(--accent);font-variant-numeric:tabular-nums;letter-spacing:-.04em;font-size:1.2rem;font-weight:750}.history-dnf{color:var(--danger);letter-spacing:.06em;font-size:.72rem;font-weight:750}.history-free{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.72rem}.history-gap{color:var(--faint);font-variant-numeric:tabular-nums;font-size:.62rem}@media (max-width:1020px){.race-detail{grid-template-columns:minmax(0,1fr)}.race-detail__side{max-width:620px}.profile-layout{grid-template-columns:minmax(0,1fr)}}@media (max-width:860px){.app-header{flex-wrap:wrap}.app-header__nav{order:3;width:100%;margin-left:0}.app-header__link{padding-left:0}.home-notes{grid-template-columns:minmax(0,1fr)}.detail-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.history-row{grid-template-columns:minmax(0,1fr) auto}.history-row__when{flex-direction:row;grid-column:1/-1;align-items:center}.history-row__stats{grid-column:1/-1}.history-row__result{justify-content:flex-start}.results-page__head,.history-page__head{flex-direction:column;align-items:flex-start}.race-hud{width:min(480px,100vw - 20px);top:auto;bottom:132px}}@media (max-width:580px){.app-header__user{display:none}.app-header__account{margin-left:auto}.app-header__nav{overflow-x:auto}.form-grid{grid-template-columns:minmax(0,1fr)}.test-login__row{flex-direction:column;align-items:stretch}.race-detail__head{flex-direction:column}.race-card__bottom{flex-direction:column;align-items:flex-start;gap:.45rem}.pen-card{padding:18px}.race-hud{bottom:210px}.race-hud__stats{flex-wrap:wrap}.race-stat{min-width:25%}.live-board{display:none}}
