:root{--race-lime:#c6ff3d;--race-lime-dark:#7fb81c;--race-orange:#ff9f3a;--race-ghost:#9fd8ff;--race-panel:#0a0e12bd;--race-panel-border:#ffffff1a;--race-text:#f3f5f7;--race-muted:#f3f5f79e;--race-danger:#ff5a6a;--race-radius:14px}#race-page{min-height:100vh;color:var(--race-text);text-align:left;background:radial-gradient(120% 80% at 50% 0,#2b3a4a 0%,#121820 55%,#0b0f14 100%);padding-bottom:0;font-size:10px}body.race-page .fixed-bottom,.race-screen{display:none}.race-screen.active{display:block}.race-muted{color:var(--race-muted)}.race-header{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:14px 18px 6px;display:flex}.race-brand{letter-spacing:.5px;align-items:center;gap:10px;font-size:2.2rem;font-style:italic;font-weight:800;display:flex}.race-brand-bar{background:var(--race-lime);border-radius:3px;width:5px;height:26px;display:inline-block;transform:skew(-12deg)}.race-header-connections{align-items:center;gap:8px;display:flex}.race-conn{background:var(--race-panel);border:1px solid var(--race-panel-border);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:8px 12px;font-size:1.3rem;display:flex}.race-conn .connection-switch--indicator{width:10px;height:10px;margin:0}.race-settings-btn{background:var(--race-panel);border:1px solid var(--race-panel-border);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.race-settings-btn svg{fill:var(--race-text)}race-select{max-width:1200px;margin:0 auto;padding:0 0 60px;display:block}.race-select-cards{scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:16px;padding:10px 18px 6px;display:flex;overflow-x:auto}.race-select-cards::-webkit-scrollbar{display:none}.race-card{scroll-snap-align:center;border:2px solid var(--race-panel-border);cursor:pointer;background:linear-gradient(#ffffff0f,#ffffff05);border-radius:18px;flex:0 0 min(86vw,520px);transition:border-color .2s,transform .2s;overflow:hidden}.race-card.selected{border-color:var(--race-lime);box-shadow:0 0 0 1px #c6ff3d40,0 20px 40px #00000059}.race-card-map{aspect-ratio:1000/560;background:linear-gradient(#1b2733,#0f151c)}.race-card-map svg{width:100%;height:100%;display:block}.race-card-body{padding:12px 16px 16px}.race-card-title{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.race-card-title h2{margin:0;font-size:2.4rem;font-style:italic;font-weight:800}.race-card-tag{text-transform:uppercase;letter-spacing:1px;color:var(--race-lime);font-size:1.2rem;font-weight:700}.race-card-stats{grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0 10px;display:grid}.race-card-stats div{flex-direction:column;display:flex}.race-card-stats b{font-size:1.8rem;font-weight:800}.race-card-stats span{color:var(--race-muted);font-size:1.1rem}.race-card-profile{background:#00000040;border-radius:8px;height:56px;overflow:hidden}.race-card-profile svg{width:100%;height:100%;display:block}.race-card-desc{color:var(--race-muted);margin:10px 0 0;font-size:1.35rem;line-height:1.45}.race-select-dots{justify-content:center;gap:8px;padding:8px 0 4px;display:flex}.race-dot{background:#ffffff40;border-radius:50%;width:8px;height:8px}.race-dot.active{background:var(--race-lime)}.race-select-controls{grid-template-columns:repeat(3,1fr);gap:14px;padding:10px 18px;display:grid}.race-control{background:var(--race-panel);border:1px solid var(--race-panel-border);border-radius:var(--race-radius);flex-direction:column;gap:10px;padding:12px 14px;display:flex}.race-control-label{text-transform:uppercase;letter-spacing:1px;color:var(--race-muted);font-size:1.2rem;font-weight:700}.race-control-hint{color:var(--race-muted);font-size:1.2rem;line-height:1.35}.race-control-hint.warn{color:var(--race-orange)}.race-segmented{gap:6px;display:flex}.race-segmented button{border:1px solid var(--race-panel-border);height:44px;color:var(--race-text);cursor:pointer;background:#ffffff0d;border-radius:10px;flex:1;font-size:1.8rem;font-weight:800}.race-segmented button.active{background:var(--race-lime);color:#152000;border-color:var(--race-lime)}.race-stepper{justify-content:space-between;align-items:center;gap:10px;display:flex}.race-stepper-value{font-size:2.6rem;font-weight:800}.race-unit{color:var(--race-muted);margin-left:3px;font-size:1.4rem}.race-round-btn{border:1px solid var(--race-panel-border);width:44px;height:44px;color:var(--race-text);cursor:pointer;background:#ffffff14;border-radius:50%;font-size:2.4rem;line-height:1}.race-round-btn:disabled{opacity:.35;cursor:default}.race-toggle{border:1px solid var(--race-panel-border);cursor:pointer;background:#ffffff1f;border-radius:999px;width:56px;height:32px;padding:0;position:relative}.race-toggle-knob{background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .15s;position:absolute;top:3px;left:3px}.race-toggle.on{background:var(--race-lime)}.race-toggle.on .race-toggle-knob{background:#152000;transform:translate(24px)}.race-start-btn{background:var(--race-lime);color:#152000;letter-spacing:2px;cursor:pointer;border:none;border-radius:16px;justify-content:center;align-items:center;gap:10px;width:calc(100% - 36px);height:64px;margin:16px 18px 0;font-size:2.2rem;font-weight:900;display:flex;box-shadow:0 10px 30px #c6ff3d40}.race-start-btn:active{transform:translateY(1px)}.race-history{padding:26px 18px 0}.race-history h3{margin:0 0 10px;font-size:1.6rem}.race-history-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.race-history-item{background:var(--race-panel);border:1px solid var(--race-panel-border);border-radius:12px;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:10px 14px;font-size:1.3rem;display:grid}.race-history-item.incomplete{opacity:.6}.race-history-main{flex-direction:column;gap:2px;display:flex}.race-history-main b{font-size:1.5rem}.race-history-time{text-align:right;flex-direction:column;font-size:1.9rem;font-weight:800;display:flex}.race-history-time span{color:var(--race-muted);font-size:1.1rem;font-weight:400}.race-history-actions{gap:6px;display:flex}.race-history-actions button{border:1px solid var(--race-panel-border);min-width:34px;height:34px;color:var(--race-text);cursor:pointer;background:#ffffff0f;border-radius:8px;padding:0 10px;font-weight:700}body.race-riding #race-page{z-index:5;height:100%;min-height:0;position:fixed;inset:0;overflow:hidden}body.race-riding .race-screen-ride{height:100%}race-ride{background:linear-gradient(#2a3b4d 0%,#1a2530 35%,#0f151b 100%);width:100%;height:100%;display:block;position:relative;overflow:hidden}.ride-map{justify-content:center;align-items:center;padding:3vh 2vw 10vh;display:flex;position:absolute;inset:0}.ride-map svg{filter:drop-shadow(0 20px 30px #00000073);width:100%;height:100%}.segment-sign{transition:transform .2s}.segment-sign.active rect{stroke:#fff;stroke-width:1.6px}.segment-sign.active{filter:drop-shadow(0 0 6px #ffffffb3)}.hud{z-index:2;pointer-events:none;position:absolute}.hud>*{pointer-events:auto}.hud-panel{background:var(--race-panel);border:1px solid var(--race-panel-border);border-radius:var(--race-radius);-webkit-backdrop-filter:blur(8px);color:var(--race-text)}.hud-top-left{flex-direction:column;gap:10px;display:flex;top:14px;left:14px}.hud-top-center{top:14px;left:50%;transform:translate(-50%)}.hud-top-right{align-items:stretch;gap:10px;display:flex;top:14px;right:14px}.hud-bottom-left{bottom:14px;left:14px}.hud-bottom-right{bottom:14px;right:14px}.hud-bottom-center{width:min(560px,60vw);bottom:14px;left:50%;transform:translate(-50%)}.hud-title{backdrop-filter:none;background:0 0;border:none;gap:10px;padding:8px 14px 8px 10px;display:flex}.hud-title-bar{background:var(--race-lime);border-radius:3px;width:5px;transform:skew(-12deg)}.hud-title h1{text-shadow:0 2px 10px #0009;margin:0;font-size:clamp(2rem,3.2vw,3.2rem);font-style:italic;font-weight:900;line-height:1.1}.hud-sub{color:var(--race-muted);text-shadow:0 1px 6px #0009;font-size:1.3rem}.hud-metrics{flex-direction:column;gap:2px;min-width:190px;padding:8px 14px;display:flex}.hud-metric{border-bottom:1px solid #ffffff14;grid-template-columns:22px 1fr auto;align-items:baseline;gap:8px;padding:6px 0;display:grid}.hud-metric:last-child{border-bottom:none}.hud-metric-icon{color:var(--race-muted);font-size:1.6rem}.hud-metric-value{font-variant-numeric:tabular-nums;font-size:3rem;font-weight:800;line-height:1}.hud-metric-unit{color:var(--race-muted);font-size:1.3rem}.hud-metric-power{border-left:4px solid var(--race-lime);margin-left:-10px;padding-left:10px}.hud-metric-power .hud-metric-value{font-size:clamp(4rem,5.5vw,5.6rem)}.hud-metric-power .hud-metric-icon{color:var(--race-lime)}.hud-metric-hr .hud-metric-icon{color:#ff6b7a}.hud-metric-hr.muted{opacity:.45}.hud-lap{letter-spacing:1.5px;white-space:nowrap;padding:8px 20px;font-size:1.9rem;font-weight:800}.hud-upcoming{white-space:nowrap;border-left:4px solid var(--race-muted);align-items:center;gap:10px;padding:8px 14px;font-size:1.6rem;font-weight:700;display:flex}.hud-upcoming.climb{border-left-color:var(--race-orange)}.hud-upcoming.sprint{border-left-color:var(--race-lime)}.hud-upcoming.finish{border-left-color:#fff}.hud-upcoming-icon{font-size:1.6rem}.hud-upcoming.climb .hud-upcoming-icon{color:var(--race-orange)}.hud-upcoming.sprint .hud-upcoming-icon{color:var(--race-lime)}.hud-upcoming-grade{color:var(--race-orange);font-weight:800}.hud-upcoming.sprint .hud-upcoming-grade{color:var(--race-lime)}.hud-icon-btn{border-radius:var(--race-radius);border:1px solid var(--race-panel-border);background:var(--race-panel);width:46px;color:var(--race-text);cursor:pointer;backdrop-filter:blur(8px);font-size:1.6rem}.hud-time{font-variant-numeric:tabular-nums;align-items:center;gap:8px;padding:8px 16px;font-size:2.4rem;font-weight:800;display:flex}.hud-time-icon{color:var(--race-muted);font-size:1.6rem}.hud-delta{text-align:right;border-right:4px solid var(--race-muted);min-width:160px;padding:10px 18px}.hud-delta.ahead{border-right-color:var(--race-lime)}.hud-delta.behind{border-right-color:var(--race-orange)}.hud-delta.none{opacity:.7}.hud-delta-value{font-variant-numeric:tabular-nums;font-size:2.8rem;font-weight:900;line-height:1.1}.hud-delta.ahead .hud-delta-value{color:var(--race-lime)}.hud-delta.behind .hud-delta-value{color:var(--race-orange)}.hud-delta-sub{color:var(--race-muted);font-size:1.2rem}.hud-overlay{overflow:hidden}.hud-overlay-handle{width:100%;color:var(--race-text);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;gap:14px;padding:10px 16px;display:flex}.hud-overlay-label{letter-spacing:1.5px;color:var(--race-muted);font-size:1.2rem;font-weight:700}.hud-overlay-value{font-size:1.9rem;font-weight:800}.hud-overlay-chevron{color:var(--race-muted);font-size:1.6rem;transition:transform .2s}.hud-overlay.open .hud-overlay-chevron{transform:rotate(180deg)}.hud-overlay-body{flex-direction:column;gap:10px;padding:0 16px 14px;display:none}.hud-overlay.open .hud-overlay-body{display:flex}.hud-overlay-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.hud-int-big{font-size:4rem;font-weight:900}.hud-int-track{background:#ffffff26;border-radius:3px;height:6px;overflow:hidden}.hud-int-fill{background:var(--race-lime);width:50%;height:100%;transition:width .2s}.hud-int-hint{color:var(--race-muted);text-align:center;font-size:1.2rem}.hud-profile{background:#0000004d;border-radius:8px;height:54px;overflow:hidden}.hud-profile svg{width:100%;height:100%;display:block}.hud-overlay-actions{gap:10px;display:flex}.hud-big-btn{border:1px solid var(--race-panel-border);height:56px;color:var(--race-text);letter-spacing:1.5px;cursor:pointer;background:#ffffff1a;border-radius:14px;flex:1;font-size:1.7rem;font-weight:900}.hud-big-btn.primary{background:var(--race-lime);color:#152000;border-color:var(--race-lime)}.hud-big-btn.danger{color:var(--race-danger);background:#ff5a6a2e;border-color:#ff5a6a66}.ride-toast{z-index:3;background:var(--race-panel);border:1px solid var(--race-panel-border);text-align:center;opacity:0;pointer-events:none;backdrop-filter:blur(8px);border-radius:16px;padding:12px 24px;transition:opacity .25s,transform .25s;position:absolute;top:22%;left:50%;transform:translate(-50%,-10px)}.ride-toast.show{opacity:1;transform:translate(-50%)}.ride-toast-title{font-size:2.4rem;font-style:italic;font-weight:900}.ride-toast-detail{color:var(--race-muted);margin-top:2px;font-size:1.4rem}.ride-toast.tone-climb .ride-toast-title{color:var(--race-orange)}.ride-toast.tone-sprint .ride-toast-title,.ride-toast.tone-finish .ride-toast-title{color:var(--race-lime)}.ride-paused,.ride-confirm{z-index:4;backdrop-filter:blur(3px);background:#05080c8c;justify-content:center;align-items:center;display:none;position:absolute;inset:0}.ride-paused.open,.ride-confirm.open{display:flex}.ride-paused-card{background:var(--race-panel);border:1px solid var(--race-panel-border);text-align:center;border-radius:20px;width:min(92vw,440px);padding:24px}.ride-paused-card h2{letter-spacing:3px;margin:0 0 6px;font-size:3rem;font-weight:900}.ride-paused-card p{margin:0 0 18px;font-size:1.4rem}.ride-paused-actions{gap:10px;display:flex}race-result{max-width:900px;margin:0 auto;padding:20px 18px 60px;display:block}.race-result-header{text-align:center;padding:10px 0 20px}.race-result-kicker{letter-spacing:3px;color:var(--race-lime);font-size:1.3rem;font-weight:800}.race-result-header h1{margin:4px 0 8px;font-size:2.6rem;font-style:italic;font-weight:900}.race-result-time{font-variant-numeric:tabular-nums;font-size:6rem;font-weight:900;line-height:1}.race-result-delta{margin-top:8px;font-size:1.6rem;font-weight:700}.race-result-delta.ahead{color:var(--race-lime)}.race-result-delta.behind{color:var(--race-orange)}.race-result-delta.none{color:var(--race-muted);font-weight:400}.race-result-stats{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin-bottom:18px;display:grid}.race-result-stats div{background:var(--race-panel);border:1px solid var(--race-panel-border);border-radius:12px;flex-direction:column;padding:10px 12px;display:flex}.race-result-stats b{font-size:2rem;font-weight:800}.race-result-stats span{color:var(--race-muted);font-size:1.1rem}.race-result-tables{grid-template-columns:1fr 1fr;gap:14px;display:grid}.race-table{border-collapse:collapse;background:var(--race-panel);border:1px solid var(--race-panel-border);border-radius:12px;width:100%;font-size:1.4rem;overflow:hidden}.race-table th{text-align:left;letter-spacing:1px;text-transform:uppercase;color:var(--race-muted);border-bottom:1px solid var(--race-panel-border);padding:10px 12px;font-size:1.1rem}.race-table td{font-variant-numeric:tabular-nums;border-bottom:1px solid #ffffff0d;padding:9px 12px}.race-table td:nth-child(2){font-weight:800}.race-table td.ahead{color:var(--race-lime);font-weight:700}.race-table td.behind{color:var(--race-orange);font-weight:700}.race-seg-dot{border-radius:50%;width:9px;height:9px;margin-right:8px;display:inline-block}.race-seg-dot.climb{background:var(--race-orange)}.race-seg-dot.sprint{background:var(--race-lime)}.race-result-actions{gap:10px;margin-top:18px;display:flex}@media (width<=900px){.race-select-controls,.race-result-tables{grid-template-columns:1fr}}@media (height<=480px) and (orientation:landscape){.hud-top-left,.hud-top-center,.hud-top-right{top:8px}.hud-top-left{gap:6px;left:8px}.hud-top-right{right:8px}.hud-bottom-left,.hud-bottom-right,.hud-bottom-center{bottom:8px}.hud-bottom-left{left:8px}.hud-bottom-right{right:8px}.hud-title h1{font-size:1.8rem}.hud-sub{display:none}.hud-metrics{min-width:150px;padding:4px 10px}.hud-metric{padding:3px 0}.hud-metric-value{font-size:2.2rem}.hud-metric-power .hud-metric-value{font-size:3.6rem}.hud-lap{padding:6px 14px;font-size:1.5rem}.hud-upcoming{padding:6px 10px;font-size:1.3rem}.hud-time{padding:6px 12px;font-size:1.9rem}.hud-delta{min-width:120px;padding:6px 12px}.hud-delta-value{font-size:2.1rem}.hud-bottom-center{width:min(420px,48vw)}.hud-overlay-handle{padding:6px 12px}.hud-int-big{font-size:3rem}.hud-profile{height:40px}.hud-big-btn{height:44px;font-size:1.4rem}.ride-map{padding:4vh 2vw 10vh}}@media (orientation:portrait){race-ride{grid-template-rows:1fr auto;display:grid}.ride-map{padding:70px 10px 10px;position:absolute;inset:0 0 38%}.hud-top-left{flex-direction:row;justify-content:space-between;align-items:flex-start;top:10px;left:10px;right:10px}.hud-top-left .hud-metrics{display:none}.hud-top-center{top:auto;bottom:calc(38% + 10px)}.hud-top-right{flex-direction:column;align-items:flex-end;top:56px;right:10px}.hud-bottom-left{top:56px;bottom:auto;left:10px}.hud-bottom-right{bottom:calc(38% - 30px);right:10px}.hud-bottom-center{flex-direction:column;width:100%;height:38%;display:flex;bottom:0;left:0;right:0;transform:none}.hud-bottom-center .hud-overlay{border-radius:20px 20px 0 0;flex-direction:column;height:100%;display:flex}.hud-bottom-center .hud-overlay-body{flex:1;justify-content:space-between;display:flex}.hud-overlay-chevron{display:none}.hud-portrait-metrics{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}}@media (orientation:landscape){.hud-portrait-metrics{display:none}}
/*# sourceMappingURL=web-trainer.3e41976a.css.map */
