/* A phone-first instrument panel: real readings, quiet states, no decorative gauges. */
.experience-nav{display:flex;gap:4px;padding:12px 0;border-bottom:1px solid var(--line)}
.experience-nav a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;text-decoration:none;font-size:14px;border-radius:7px;color:var(--muted)}
.experience-nav a[aria-current=page]{background:var(--ink);color:#fff;font-weight:600}
.ride-view>.sidebar,.ride-view>main>:not(.experience-nav):not(.ride-panel){display:none}
.ride-view>main{margin:0 auto;max-width:560px;padding:0 24px 24px}
.ride-view .experience-nav{position:sticky;top:0;z-index:3;background:var(--paper);padding:12px 0;gap:8px}
.ride-view .experience-nav a{flex:1}
.ride-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0 14px}
.ride-brand{font-size:13px;font-weight:650;margin:0 0 8px;color:var(--muted)}
.ride-header h1{font-size:23px;line-height:1.3;letter-spacing:-.025em}
.ride-local{font-size:11px;color:var(--muted);white-space:nowrap}
.ride-feed{font-size:13px;color:var(--muted);margin:12px 0 0;min-height:20px}
.ride-feed:before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:#87948c;margin-right:8px}
.ride-feed.receiving:before{background:#427326}
.ride-speed{text-align:center;padding:16px 0 20px}
.ride-label{display:block;font-size:13px;color:var(--muted);line-height:1.5}
.ride-speed>div{display:flex;justify-content:center;align-items:baseline;gap:8px;margin:0}
.ride-speed strong{font-size:clamp(70px,22vw,104px);letter-spacing:-.065em;font-weight:600;line-height:1.2;font-variant-numeric:tabular-nums}
.ride-unit{font-size:16px;font-weight:400;color:var(--muted)}
.ride-sample{display:block;font-size:11px;color:var(--muted);line-height:1.5;min-height:17px}
.ride-sample.live{color:#356120}.ride-sample.stale{color:var(--warning)}
.ride-battery-line{display:grid;grid-template-columns:1fr auto;align-items:center;gap:9px;font-size:14px;padding-bottom:22px}
.ride-battery-line strong{font-variant-numeric:tabular-nums;margin-left:8px}
.ride-battery-line progress{grid-column:1/-1;width:100%;height:6px;border:0;border-radius:4px;overflow:hidden;background:#dce5d8;accent-color:#427326}
.ride-battery-line progress::-webkit-progress-bar{background:#dce5d8}.ride-battery-line progress::-webkit-progress-value{background:#427326}
.ride-assistance{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:20px;background:#e6edda;border-radius:12px}
.ride-assistance strong{display:inline-block;font-size:31px;line-height:1.45;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.035em;overflow-wrap:anywhere}
.ride-assistance>div{min-width:0}.ride-assistance .ride-label{font-size:12px}.ride-assistance .ride-unit{font-size:14px}
.ride-effort{display:grid;grid-template-columns:1fr 1fr 1fr;padding:24px 0;border-bottom:1px solid var(--line);gap:14px}
.ride-effort>div{min-width:0}.ride-effort .ride-label{font-size:12px;min-height:36px}.ride-effort p{margin:4px 0}.ride-effort strong{font-size:27px;font-weight:600;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.ride-effort p span{font-size:12px;color:var(--muted)}
.ride-range-section{padding:24px 0 8px}.ride-range-section h2{font-size:18px;margin:0 0 12px}
.ride-ranges{padding:0;margin:0;list-style:none}
.ride-ranges li{display:grid;grid-template-columns:1fr auto;gap:2px 14px;padding:12px 14px;margin:0 -14px;border-bottom:1px solid var(--line);font-size:15px}
.ride-ranges .current{background:#e6edda;border-radius:8px;border-color:transparent}
.range-name{font-weight:600}.range-number{font-size:17px;font-weight:600;font-variant-numeric:tabular-nums}.range-note{grid-column:1/-1;font-size:11px;color:var(--muted)}
.ride-footnote{font-size:12px;line-height:1.6;color:var(--muted);margin:12px 0}
.ride-control-note{font-size:13px;line-height:1.6;color:var(--ink);margin:16px 0}
.ride-alert-link{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:48px;font-size:14px;font-weight:600;text-decoration:none;padding:16px 0;border-top:1px solid var(--line)}
.ride-alert-link:hover{text-decoration:underline}
.ride-controls{position:sticky;bottom:0;background:var(--paper);padding:14px 0 max(12px,env(safe-area-inset-bottom));display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line);z-index:2}
.ride-controls .primary{flex:1}.ride-controls p{width:100%;font-size:12px;line-height:1.5;color:var(--muted);margin:0}
.ride-controls #ride-error{color:var(--warning)}
.remembered-ble{display:flex;flex-wrap:wrap;gap:8px;width:100%;min-width:0}.remembered-ble p{width:100%;margin:0}.remembered-ble button{white-space:normal;overflow-wrap:anywhere}.ride-controls .remembered-ble button{width:100%}
.mode-editor{margin:18px 0;border:1px solid var(--line);border-radius:10px;padding:16px}.mode-editor summary{cursor:pointer;min-height:32px;font-weight:600}.mode-editor label{display:block;margin:16px 0;font-size:14px}.mode-editor input,.mode-editor select{display:block;width:100%;max-width:420px;min-height:44px;margin:7px 0;padding:10px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);font:inherit}.mode-editor small{color:var(--muted)}.mode-editor .caption{line-height:1.6}
@media(max-width:380px){.ride-view>main{padding-left:18px;padding-right:18px}.ride-header h1{font-size:21px}.ride-assistance{padding:16px;gap:12px}.ride-assistance strong{font-size:28px}.ride-effort{gap:10px}.ride-effort strong{font-size:25px}}
@media print{.experience-nav,.ride-panel{display:none!important}}

/* Progress advances only when a real diagnostic stage finishes. */
.checkup-view>.sidebar,.checkup-view>main>:not(.checkup-panel){display:none}
.checkup-view>main{margin:0 auto;max-width:620px;padding:28px 28px 40px}
.checkup-brand{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:650}
.checkup-brand span{margin-left:auto;font-size:10px;letter-spacing:.12em;color:var(--muted)}
.checkup-signal{display:flex;align-items:flex-end;gap:7px;height:54px;margin:36px 0 24px}
.checkup-signal span{width:10px;height:22px;background:var(--ink);border-radius:3px}
.checkup-signal span:nth-child(2),.checkup-signal span:nth-child(4){height:36px}.checkup-signal span:nth-child(3){height:50px;background:#82a34b}
.is-reading .checkup-signal span{animation:checkup-pulse 1.5s ease-in-out infinite alternate}.is-reading .checkup-signal span:nth-child(2n){animation-delay:.4s}
@keyframes checkup-pulse{from{opacity:.4;transform:scaleY(.65)}to{opacity:1;transform:scaleY(1)}}
.checkup-eyebrow{font-size:10px;letter-spacing:.16em;font-weight:650;color:var(--muted)}
.checkup-panel h1{font-size:clamp(30px,7vw,42px);line-height:1.12;letter-spacing:-.04em;max-width:430px;margin:14px 0}
.checkup-intro{font-size:16px;line-height:1.6;color:var(--muted);max-width:400px;margin:0 0 28px}
#checkup-detail{min-height:42px;font-size:14px;line-height:1.5;margin:0 0 12px}
#checkup-meter{display:block;width:100%;height:6px;border:0;accent-color:var(--ink);border-radius:4px;overflow:hidden;background:var(--line)}
#checkup-meter::-webkit-progress-bar{background:var(--line)}#checkup-meter::-webkit-progress-value{background:var(--ink)}
#checkup-count{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;margin:10px 0 20px}
#checkup-steps{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.checkup-step{display:grid;grid-template-columns:30px 1fr auto;gap:12px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);font-size:14px}
.checkup-step-number{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.checkup-step strong{font-weight:550}.checkup-step small{font-size:11px;color:var(--muted)}
.checkup-step.reading{background:#e6edda;margin:0 -12px;padding:18px 12px;border-radius:7px}.checkup-step.reading strong{font-weight:700}.checkup-step.partial small,.checkup-step.error small{color:var(--warning)}
.checkup-note{font-size:12px;line-height:1.6;color:var(--muted);margin:22px 0 16px}
.ride-report{padding:14px 16px;background:#eaf0e9;border-radius:9px;margin-bottom:18px}.ride-report strong{font-size:13px}.ride-report p{font-size:11px;line-height:1.5;margin:7px 0 12px;color:var(--muted)}.ride-report .button{font-size:12px;min-height:44px;padding:8px 12px}
.support-note{padding:20px 0;border-top:1px solid var(--line)}.support-note p{font-size:13px;margin:0 0 12px}.support-note small{display:block;font-size:11px;color:var(--muted);margin-top:10px}
@media(max-width:380px){.checkup-view>main{padding:22px 20px}.checkup-brand span{font-size:8px}.checkup-step{gap:8px;font-size:13px}.checkup-step small{font-size:10px}}
@media(prefers-reduced-motion:reduce){.is-reading .checkup-signal span{animation:none}}
