:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0c1012;--surface:#151b1e;--surface-2:#1e272a;--line:#314044;--text:#eef6f3;--muted:#9aa8a3;--green:#28d49b;--green-2:#28d49b24;--blue:#58a6ff;--blue-2:#58a6ff29;--orange:#ff9b45;--orange-2:#ff9b4529;--red:#ff665f;--shadow:0 18px 42px #00000057;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--bg);min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.topbar{z-index:10;background:#212733;border-bottom:0;justify-content:space-between;align-items:center;gap:18px;min-height:76px;padding:10px 30px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;min-width:0;display:flex}.brand-mark{color:#212733;background:#fff;border-radius:999px;place-items:center;width:54px;height:54px;display:grid}.brand h1{color:#fff;text-transform:uppercase;margin:0;font-size:1.45rem;font-weight:800;line-height:1.2}.brand p{color:#fff;text-overflow:ellipsis;white-space:nowrap;max-width:min(50vw,680px);margin:2px 0 0;font-size:.9rem;font-weight:700;line-height:1.3;overflow:hidden}.top-actions{gap:8px;display:flex}.setup-flow{border-bottom:1px solid var(--line);background:#111719}.setup-flow-inner{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;width:min(1240px,100%);margin:0 auto;padding:10px 22px;display:grid}.setup-flow button,.setup-flow-locked{border:1px solid var(--line);min-width:0;min-height:40px;color:var(--muted);background:#151d20;border-radius:7px;justify-content:center;align-items:center;gap:7px;padding:0 10px;font-weight:750;display:flex}.setup-flow button.active{color:#06120f;border-color:var(--green);background:var(--green)}.setup-flow button.ready:not(.active){color:var(--text);background:#1c272a}.setup-flow-locked{color:#7d8a86;background:#101619;justify-content:flex-start}.setup-step-index{color:#06120f;background:var(--muted);border-radius:999px;flex:none;place-items:center;width:20px;height:20px;font-size:.72rem;display:grid}.setup-flow button.active .setup-step-index,.setup-flow button.ready .setup-step-index{background:var(--text)}.model-info-panel{border:1px solid var(--line);width:min(1240px,100% - 44px);box-shadow:var(--shadow);background:#121a1d;border-radius:8px;margin:12px auto 0}.model-info-panel summary{min-height:42px;color:var(--text);cursor:pointer;padding:12px 14px;font-weight:800}.model-info-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;padding:0 14px 14px;display:grid}.model-info-grid section{border:1px solid var(--line);background:var(--surface);border-radius:7px;min-width:0;padding:12px}.model-info-grid h3{color:var(--green);margin:0 0 7px;font-size:.88rem}.model-info-grid p{color:var(--muted);margin:0;font-size:.82rem;line-height:1.45}.model-info-grid p+p{margin-top:8px}.model-info-grid code{color:var(--text)}.compute-status{font-weight:750;color:var(--text)!important}.top-nav{align-items:center;gap:6px;margin-left:auto;display:flex}.top-nav button{color:#fff;background:0 0;border:1px solid #0000;border-radius:4px;align-items:center;gap:7px;min-height:38px;padding:0 11px;font-weight:700;display:inline-flex}.top-nav button.active{color:#fff;background:#3b4250}.button{min-height:38px;color:var(--text);background:var(--surface);border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 12px;display:inline-flex}.button-row{justify-content:flex-start;margin-top:4px;display:flex}.recalc-button{min-height:42px}.workspace{grid-template-columns:minmax(300px,370px) minmax(0,1fr);gap:18px;width:min(1540px,100%);margin:0 auto;padding:18px 22px 28px;display:grid}.control-column,.results-column{flex-direction:column;gap:14px;min-width:0;display:flex}.panel{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px}.panel-title{color:var(--green);align-items:center;gap:9px;padding:14px 15px 6px;display:flex}.panel-title h2{color:var(--text);margin:0;font-size:.96rem;line-height:1.2}.panel>:not(.panel-title){margin:0 15px 15px}.stat-grid{gap:8px;display:grid}.stat-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.stat{border:1px solid var(--line);background:var(--surface-2);border-radius:6px;min-width:0;padding:10px}.stat span,.metric span,.scenario span{color:var(--muted);font-size:.78rem;line-height:1.25;display:block}.stat strong{margin-top:5px;font-size:1rem;display:block}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.field-grid.two-column{margin-top:12px}.number-field,.range-field{min-width:0;color:var(--muted);flex-direction:column;gap:6px;font-size:.78rem;display:flex}.input-wrap{border:1px solid var(--line);background:#fff;border-radius:7px;align-items:center;min-width:0;height:38px;display:flex;overflow:hidden}.input-wrap input{width:100%;min-width:0;height:100%;color:var(--text);background:0 0;border:0;outline:0;padding:0 9px}.input-wrap em{color:var(--muted);flex:none;padding:0 8px 0 4px;font-size:.78rem;font-style:normal}.range-field{margin-top:13px}.field-label-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.field-label-text{align-items:center;gap:5px;min-width:0;display:inline-flex;position:relative}.range-field strong{color:var(--text)}.range-field input{width:100%;accent-color:var(--green)}.segmented{background:var(--surface-2);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;display:grid}.segmented button{min-height:34px;color:var(--muted);background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;gap:5px;font-size:.84rem;display:inline-flex;position:relative}.segmented button.active{color:#fff;background:var(--green)}.help-tip{width:17px;height:17px;color:var(--green);border-radius:999px;outline:none;flex:none;justify-content:center;align-items:center;display:inline-flex;position:relative}.segmented .help-tip{color:currentColor;opacity:.86}.help-tip:focus-visible{box-shadow:0 0 0 2px #167cad47}.help-tooltip{z-index:30;color:#0c2037;opacity:0;overflow-wrap:anywhere;pointer-events:none;text-align:left;visibility:hidden;background:#fff;border:1px solid #166d5a38;border-radius:7px;width:min(320px,78vw);padding:9px 10px;font-size:.74rem;font-weight:600;line-height:1.42;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% + 8px);left:0;transform:translateY(4px);box-shadow:0 12px 28px #1f2b2329}.help-tooltip:after{content:"";background:#fff;border-bottom:1px solid #166d5a38;border-right:1px solid #166d5a38;width:10px;height:10px;position:absolute;bottom:-6px;left:8px;transform:rotate(45deg)}.help-tip:hover .help-tooltip,.help-tip:focus .help-tooltip,.help-tip:focus-within .help-tooltip{opacity:1;visibility:visible;transform:translateY(0)}.segmented .help-tooltip{left:50%;transform:translate(-50%)translateY(4px)}.segmented .help-tooltip:after{left:50%;transform:translate(-50%)rotate(45deg)}.segmented .help-tip:hover .help-tooltip,.segmented .help-tip:focus .help-tooltip,.segmented .help-tip:focus-within .help-tooltip{transform:translate(-50%)translateY(0)}.summary-band{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.metric{border:1px solid var(--line);background:var(--surface);min-width:0;box-shadow:var(--shadow);border-left-width:5px;border-radius:8px;grid-template-rows:auto auto;grid-template-columns:32px minmax(0,1fr);gap:2px 9px;padding:14px;display:grid}.metric .metric-icon{border-radius:8px;grid-row:1/span 2;place-items:center;width:32px;height:32px;display:grid}.metric strong{overflow-wrap:anywhere;min-width:0;font-size:clamp(1.28rem,2vw,1.9rem);line-height:1.12}.metric.green{border-left-color:var(--green)}.metric.green .metric-icon{color:var(--green);background:var(--green-2)}.metric.blue{border-left-color:var(--blue)}.metric.blue .metric-icon{color:var(--blue);background:var(--blue-2)}.metric.orange{border-left-color:var(--orange)}.metric.orange .metric-icon{color:var(--orange);background:var(--orange-2)}.profile-workspace{grid-template-columns:minmax(0,1fr) 220px;gap:24px;width:min(1240px,100%);margin:0 auto;padding:0 22px 40px;display:grid}.profile-main{min-width:0}.page-strip{background:#d4d8d6;border-bottom:1px solid #c7ceca;margin:0 -22px 28px;padding:15px 22px}.page-strip h2{color:#0c2037;margin:0;font-size:1.72rem;font-weight:450;line-height:1.2}.page-strip span{color:#1d3a55}.profile-form-surface{padding-top:18px}.bike-form{padding-top:28px}.form-section{margin-bottom:18px}.form-section h3{color:#0c2037;border-bottom:1px solid #b8c1bc;margin:0 0 10px;padding-bottom:6px;font-size:1.42rem;font-weight:500;line-height:1.2}.profile-grid,.bike-grid,.calculated-row,.calculated-bike-grid{gap:12px;display:grid}.profile-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.bike-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.bike-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.bike-grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}.calculated-row{grid-template-columns:260px 260px minmax(260px,1fr);align-items:end}.calculated-bike-grid{grid-template-columns:repeat(2,minmax(180px,1fr)) repeat(2,minmax(190px,1fr));align-items:start}.form-field,.choice-field,.date-field{color:#061832;flex-direction:column;gap:6px;min-width:0;font-size:.78rem;font-weight:700;display:flex}.profile-form-surface .number-field{color:#061832;font-weight:700}.form-field input,.form-field select{width:100%;min-width:0;height:46px;color:var(--text);background:#fff;border:1px solid #c6ceca;border-radius:6px;outline:0;padding:0 12px}.form-field.compact{gap:0}.date-controls{grid-template-columns:1fr 84px 84px;gap:4px;display:grid}.profile-form-surface .input-wrap{border-color:#c6ceca;height:46px}.choice-group{background:#fff;border:1px solid #c6ceca;border-radius:6px;grid-template-columns:repeat(2,minmax(0,1fr));min-height:46px;display:grid;overflow:hidden}.choice-group button{color:#061832;background:#fff;border:0;border-right:1px solid #c6ceca;justify-content:center;align-items:center;gap:6px;display:flex}.choice-group button:last-child{border-right:0}.choice-group button.active{background:#c8c8c8}.calculated-note{color:#061832;margin:0 0 8px;font-size:.92rem;line-height:1.45}.toggle-line{color:#061832;align-items:center;gap:9px;font-size:.92rem;font-weight:700;display:inline-flex}.toggle-line input{width:16px;height:16px}.profile-toggle{margin-top:2px}.dashboard-toggle{margin-top:12px}.cda-scale-controls{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;margin-top:10px;display:grid}.profile-cda-scale-controls{max-width:420px}.cda-scale-reset{white-space:nowrap;min-height:38px}.save-status{color:#0c2037;align-items:center;gap:8px;min-height:42px;margin-top:3px;font-weight:700;display:inline-flex}.save-status svg{color:#167cad}.account-rail{padding-top:48px}.rail-menu{flex-direction:column;gap:2px;display:flex}.rail-menu button{color:#e63712;text-align:left;background:#fff;border:1px solid #e0e3e1;border-radius:5px;align-items:center;gap:10px;min-height:40px;padding:0 12px;display:flex}.rail-menu button.active{color:#061832;background:#f1f3f2}.course-empty,.course-evaluation{flex-direction:column;gap:14px;display:flex}.course-empty p{color:#59636d;margin:0}.course-title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.course-title-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.course-title-row strong{color:#061832;overflow-wrap:anywhere;min-width:0}.compact-course-row{margin-bottom:12px}.prediction-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.prediction-settings-card{border:1px solid var(--line);background:var(--surface);border-radius:8px;min-width:0;padding:12px}.prediction-settings-card.wide{grid-column:1/-1}.prediction-settings-card h4{color:var(--text);margin:0 0 10px;font-size:.92rem}.pending-pill,.stale-note{color:var(--orange);background:#b7642214;border:1px solid #b7642247;border-radius:999px;font-size:.82rem;font-weight:700}.pending-pill{align-items:center;min-height:32px;padding:0 11px;display:inline-flex}.stale-note{align-self:flex-start;margin:0;padding:7px 10px}.empty-route-panel{text-align:center;background:#fff;border:1px dashed #b9c2c8;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:430px;padding:40px;display:flex}.empty-route-panel h2{color:#061832;margin:0}.empty-route-panel p{color:#59636d;max-width:560px;margin:0;line-height:1.45}.cda-table{background:#fff;border:1px solid #c6ceca;border-radius:6px;min-width:0;padding:14px 12px 16px}.cda-table h4{color:#061832;margin:0 0 12px;font-size:.8rem}.cda-header,.cda-row{grid-template-columns:minmax(72px,1fr) 84px;align-items:center;gap:10px;display:grid}.cda-header{color:#061832;padding:0 8px 6px;font-size:.76rem;font-weight:700}.cda-row{color:#061832;text-align:right;border-top:1px solid #d5dbd8;padding:7px 8px;font-size:.82rem;font-weight:700}.cda-row input{width:100%;height:36px;color:var(--text);border:1px solid #c6ceca;border-radius:6px;padding:0 8px}.analysis-layout{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:14px;display:grid}.chart{width:100%;height:230px;overflow:hidden}.chart svg{width:100%;height:100%;display:block}.elevation-area{fill:#166d5a24}.elevation-line{fill:none;stroke:var(--green);stroke-linecap:round;stroke-width:3px}.grid-lines line{stroke:#69746e33;stroke-width:1px}.power-chart rect.cool{fill:#2f6f8f}.power-chart rect.warm{fill:var(--orange)}.power-chart rect.hot{fill:var(--red)}.scenario-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.scenario{border:1px solid var(--line);background:#fbfcfb;border-radius:7px;min-width:0;padding:12px}.scenario strong,.scenario b{overflow-wrap:anywhere;margin-top:5px;display:block}.scenario b{font-size:1.2rem}.scenario .good{color:var(--green)}.scenario .bad{color:var(--red)}.table-wrap{border:1px solid var(--line);border-radius:7px;max-height:430px;overflow:auto}.table-note{color:var(--muted);margin:0 0 8px;font-size:.82rem}table{border-collapse:collapse;width:100%;min-width:780px;font-size:.86rem}th,td{border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;padding:9px 10px}th{z-index:1;color:var(--muted);background:#f8faf8;font-weight:650;position:sticky;top:0}th:first-child,td:first-child{text-align:left}.error-line{color:var(--red);background:#a33b350f;border:1px solid #a33b3540;border-radius:7px;padding:8px 10px;font-size:.86rem}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.dashboard-actions,.race-plan-actions,.race-plan-card-actions,.detail-strip-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.dashboard-actions{justify-content:flex-start}.full-button{width:100%;margin-top:10px}.race-plan-list,.course-list{gap:12px;display:grid}.builtin-course-list{gap:10px;display:grid}.builtin-course-card{border:1px solid var(--line);background:var(--surface);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:13px;display:grid}.builtin-course-card h3{color:var(--text);margin:0 0 4px;font-size:1rem}.builtin-course-card p{color:var(--muted);margin:0;font-size:.86rem}.race-plan-card,.course-card{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:minmax(220px,1fr) minmax(320px,1.2fr) auto;align-items:center;gap:14px;padding:14px;display:grid}.course-card{grid-template-columns:minmax(220px,.9fr) minmax(280px,1.1fr) minmax(240px,1fr) auto}.race-plan-card h3,.course-card h3{color:#061832;margin:0 0 4px;font-size:1.05rem}.race-plan-card p,.course-card p{color:var(--muted);margin:0;font-size:.86rem}.race-plan-card-stats,.race-hero-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.detail-strip{justify-content:space-between;align-items:center;gap:12px;display:flex}.race-hero{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);align-items:stretch;gap:18px;padding:18px;display:grid}.race-hero span{color:var(--muted);font-weight:700}.race-hero h3{color:#061832;margin:8px 0 4px;font-size:2.15rem}.race-hero p{color:var(--muted);margin:0}.race-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.race-analysis-surface{flex-direction:column;gap:14px;display:flex}.bbs-analysis-panel{border:1px solid var(--line);background:#fff;border-radius:7px;padding:18px}.analysis-toggle{justify-content:center;gap:0;margin-bottom:8px;display:flex}.analysis-toggle button{color:#061832;background:#f8fafb;border:1px solid #c8ced4;min-width:110px;min-height:32px;font-size:.8rem;font-weight:700}.analysis-toggle button.active{background:#c8cbd0}.drag-help{color:#59636d;text-align:center;margin:0 0 8px;font-size:.78rem}.race-analysis-chart{height:300px}.race-analysis-chart svg{cursor:crosshair;touch-action:none;width:100%;height:260px;display:block}.race-power-area{fill:#5a96a047;stroke:#5a96a07a;stroke-width:1px}.race-speed-line{fill:none;stroke:#ff7416;stroke-width:2px}.race-elevation-line{fill:none;stroke:#2588ff;stroke-width:2px}.race-marker-line{stroke:#0c2037;stroke-width:1.5px;stroke-dasharray:5 4}.race-marker-dot{fill:#e63712;stroke:#fff;stroke-width:2px}.marker-summary{color:#0c2037;justify-content:center;gap:14px;margin-top:-4px;font-size:.82rem;font-weight:700;display:flex}.chart-legend{color:#59636d;justify-content:center;gap:18px;font-size:.78rem;display:flex}.chart-legend span:before{content:"";vertical-align:middle;width:12px;height:3px;margin-right:5px;display:inline-block}.chart-legend .power:before{background:#5a96a08c}.chart-legend .speed:before{background:#ff7416}.chart-legend .elevation:before{background:#2588ff}.race-accordion{border:1px solid var(--line);background:#fff;border-radius:7px}.race-accordion summary{color:#061832;cursor:pointer;min-height:42px;padding:12px 14px;font-weight:700}.race-accordion summary span{color:#fff;background:#167cad;border-radius:3px;margin-left:6px;padding:1px 5px;font-size:.66rem;display:inline-block}.race-accordion>:not(summary){margin:0 14px 14px}.race-summary-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;display:grid}.muted-line{color:var(--muted)}.compact-panel{min-height:260px}.route-map{border:1px solid var(--line);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:#dde5df;border-radius:8px;min-height:360px;position:relative;overflow:hidden}.route-map:active{cursor:grabbing}.map-controls{z-index:3;gap:4px;display:grid;position:absolute;top:10px;right:10px}.map-controls button{color:#061832;background:#fff;border:1px solid #b9c2c8;border-radius:4px;width:32px;height:32px;font-size:1.2rem;font-weight:800;line-height:1}.route-map.compact{min-height:160px}.route-map.wide{min-height:320px}.osm-tiles,.route-map svg{position:absolute;inset:0}.osm-tiles img{-webkit-user-select:none;user-select:none;pointer-events:none;border:0;display:block;position:absolute;transform:translateZ(0)}.route-map svg{z-index:1}.route-map polyline{fill:none;stroke:#e63712;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.route-marker{fill:#0d7f3f;stroke:#fff;stroke-width:.55px;vector-effect:non-scaling-stroke}.range-field.warning input{accent-color:var(--orange)}.range-field.danger input{accent-color:var(--red)}.range-field.reserve input{accent-color:#f4f4f1}.range-field.safe input{accent-color:#b8b8b8}.range-field.good input{accent-color:#d7d7d2}.range-field.strong input{accent-color:#ffd21c}.range-field.runWalk input{accent-color:#ff9b18}.range-field.blown input{accent-color:#ff5a00}.range-field.warning strong{color:var(--orange)}.range-field.danger strong{color:var(--red)}.range-field.reserve strong,.range-field.safe strong,.range-field.good strong{color:var(--text)}.range-field.strong strong{color:#ffd21c}.range-field.runWalk strong{color:#ffad3d}.range-field.blown strong{color:#ff7a32}.range-field strong small{color:var(--muted);text-align:right;margin-top:2px;font-size:.72rem;font-weight:700;display:block}.power-warning{color:#ffd3a6;background:#ff9b451f;border:1px solid #ff9b4559;border-radius:7px;margin:8px 0 0;padding:9px 10px;font-size:.82rem;font-weight:700;line-height:1.35}.power-warning.danger{color:#ffb8b4;background:#ff665f21;border-color:#ff665f6b}.pacing-risk-box{border:1px solid var(--line);background:#11191c;border-radius:8px;grid-template-columns:18px minmax(0,1fr);gap:10px;margin-top:10px;padding:10px;display:grid}.pacing-risk-box .risk-swatch{border:1px solid #ffffff59;border-radius:3px;width:18px;min-height:58px}.pacing-risk-box strong{color:var(--text);font-size:.86rem;line-height:1.25;display:block}.pacing-risk-box p{color:var(--muted);margin:4px 0 0;font-size:.78rem;line-height:1.35}.pacing-risk-box small{color:var(--muted);margin-top:7px;font-size:.72rem;font-weight:700;display:block}.pacing-risk-box.reserve .risk-swatch{background:#f4f4f1}.pacing-risk-box.safe .risk-swatch{background:#b8b8b8}.pacing-risk-box.good .risk-swatch{background:#d7d7d2}.pacing-risk-box.strong{border-color:#ffd21c6b}.pacing-risk-box.strong .risk-swatch{background:#ffd21c}.pacing-risk-box.runWalk{border-color:#ff9b187a}.pacing-risk-box.runWalk .risk-swatch{background:#ff9b18}.pacing-risk-box.blown{border-color:#ff5a008f}.pacing-risk-box.blown .risk-swatch{background:#ff5a00}.yaw-cda-summary{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;margin-top:12px;padding:10px}.yaw-cda-title{color:var(--text);align-items:center;gap:5px;font-size:.78rem;font-weight:800;display:inline-flex}.yaw-cda-grid{color:var(--muted);grid-template-columns:44px repeat(5,minmax(0,1fr));align-items:center;gap:6px;margin-top:8px;font-size:.72rem;display:grid}.yaw-cda-grid b,.yaw-cda-grid strong{color:var(--text);font-size:.7rem}.yaw-cda-grid span{text-align:right;font-variant-numeric:tabular-nums;min-width:0}body{background:linear-gradient(180deg, #101619 0%, var(--bg) 230px), var(--bg)}.topbar{background:#101619;border-bottom:1px solid #263438;box-shadow:0 10px 28px #00000047}.brand-mark{color:#06120f;background:linear-gradient(135deg, var(--green), var(--blue))}.brand h1{color:var(--text)}.brand p,.top-nav button{color:var(--muted)}.top-nav button.active,.top-nav button:hover{color:var(--text);background:#223034}.button{color:var(--text);border-color:var(--line);background:#1a2326}.button.secondary{color:#06120f;background:var(--green)}.button.ghost{color:var(--text);background:#202a2e;border-color:#3a4a4f}.input-wrap,.form-field input,.form-field select,.choice-group,.choice-group button,.cda-table,.cda-row input,.bbs-analysis-panel,.race-accordion,.empty-route-panel,.race-plan-card,.course-card,.race-hero,.scenario{color:var(--text);border-color:var(--line);background:var(--surface)}.form-field,.choice-field,.date-field,.profile-form-surface .number-field,.calculated-note,.toggle-line,.course-title-row strong,.empty-route-panel h2,.cda-table h4,.cda-header,.cda-row,.race-plan-card h3,.course-card h3,.race-hero h3,.race-accordion summary,.marker-summary{color:var(--text)}.page-strip{background:#141b1f;border-bottom-color:#263438}.page-strip h2,.page-strip span{color:var(--text)}.form-section h3{border-bottom-color:var(--line);color:var(--text)}.choice-group button.active,.analysis-toggle button.active{color:#06120f;background:var(--green)}.analysis-toggle button,.map-controls button{color:var(--text);border-color:var(--line);background:#1d272b}.rail-menu button{color:var(--muted);border-color:var(--line);background:#141b1f}.rail-menu button.active,.rail-menu button:hover{color:var(--text);background:#202a2e}th{color:var(--text);background:#1b2427}tbody tr:hover{background:#58a6ff17}.help-tooltip{color:var(--text);background:#11191c;border-color:#436067;box-shadow:0 18px 34px #00000061}.help-tooltip:after{background:#11191c;border-bottom-color:#436067;border-right-color:#436067}.metric.gray{border-left-color:#8da19a}.metric.gray .metric-icon{color:#d1ddd8;background:#8da19a2b}.grid-lines line{stroke:#9aa8a32e}.race-marker-line{stroke:var(--text)}.race-marker-dot,.route-marker{fill:var(--green);stroke:#06120f}@media (width<=1120px){.workspace,.profile-workspace{grid-template-columns:1fr}.control-column{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.account-rail{order:-1;padding-top:18px}.rail-menu{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.profile-grid,.bike-grid.four,.bike-grid.five,.calculated-bike-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.race-plan-card,.course-card,.race-hero,.race-detail-grid,.race-summary-grid{grid-template-columns:1fr}}@media (width<=840px){.topbar{flex-direction:column;align-items:flex-start;padding:13px 16px}.top-actions{width:100%}.top-nav{width:100%;margin-left:0}.top-nav button{flex:1;justify-content:center}.setup-flow-inner{grid-template-columns:1fr;padding:10px 14px}.setup-flow button,.setup-flow-locked{justify-content:flex-start}.model-info-panel{width:calc(100% - 28px)}.model-info-grid{grid-template-columns:1fr}.button{flex:1}.workspace{padding:14px}.control-column,.analysis-layout,.summary-band,.scenario-grid,.prediction-settings-grid,.builtin-course-card,.profile-grid,.bike-grid.three,.calculated-row{grid-template-columns:1fr}.profile-workspace{padding:0 14px 28px}.page-strip{margin-left:-14px;margin-right:-14px}}@media (width<=520px){.field-grid,.stat-grid.two,.bike-grid.four,.bike-grid.five,.calculated-bike-grid,.rail-menu{grid-template-columns:1fr}.metric{grid-template-columns:28px minmax(0,1fr)}.metric .metric-icon{width:28px;height:28px}}
