.drive-mode{position:relative;overflow:hidden;border:1px solid #30343a;border-radius:1.35rem;color:#f5f7f9;isolation:isolate}
.drive-mode *{box-sizing:border-box}
.drive-mode h3,.drive-mode h4,.drive-mode p{margin:0}
.drive-mode h3{font-size:clamp(1.45rem,2.5vw,2.25rem);line-height:1.12;letter-spacing:-.045em}
.drive-mode h4{line-height:1.2}
.drive-mode a{color:inherit}
.drive-kicker,.drive-route-type{font:600 .69rem/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.16em;text-transform:uppercase}
.drive-detail,.drive-coverage,.drive-time{font-size:.79rem;line-height:1.45}
.drive-time{color:#98a4ad}
.drive-state{font:600 .67rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.07em;text-transform:uppercase;border:1px solid currentColor;border-radius:3rem;padding:.38rem .55rem;white-space:nowrap;color:#b8c0c8}
.drive-mode .tone-good .drive-state{color:#80d5c6}.drive-mode .tone-warning .drive-state{color:#f6c27e}.drive-mode .tone-danger .drive-state{color:#fa8c82}
.drive-service-link,.drive-action{display:inline-flex;align-items:center;gap:.4rem;min-height:2.3rem;max-width:max-content;font-size:.8rem;font-weight:650;text-decoration:none;border-bottom:1px solid currentColor}
.drive-service-link svg,.drive-action svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease}
.drive-service-link:hover svg,.drive-action:hover svg{transform:translateX(3px)}
.drive-mode a:focus-visible{outline:2px solid #fff;outline-offset:4px;border-radius:2px}

/* Night: a reduced, illuminated readout with one large decision number. */
.drive-night{padding:clamp(1.2rem,2.6vw,2.4rem);background:radial-gradient(ellipse at 50% 90%,#123333 0%,transparent 37%),linear-gradient(145deg,#080d10,#10191d 60%,#080d10);box-shadow:inset 0 1px #6ea59c20,0 18px 55px #0005}
.drive-night:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 49.9%,#74ebd112 50%,transparent 50.1%),repeating-linear-gradient(90deg,transparent 0 89px,#fff2 90px);opacity:.48;pointer-events:none;z-index:-1}
.drive-night-glow{position:absolute;inset:13% 0 auto;height:15rem;opacity:.65;z-index:-1;pointer-events:none}
.drive-night-glow svg{width:100%;height:100%}
.drive-night-track{fill:none;stroke:#2a5551;stroke-width:1}
.drive-night-trace{fill:none;stroke:#68d9c6;stroke-width:2;filter:drop-shadow(0 0 7px #4ad5bd)}
.drive-night-crosshair{fill:none;stroke:#79dfcb;stroke-width:1;opacity:.35}
.drive-night-head{display:flex;justify-content:space-between;gap:1.2rem;align-items:start}
.drive-night .drive-kicker{color:#80d6c7;margin-bottom:.55rem}
.drive-night-latest{text-align:right;color:#9db0b1;font-size:.72rem;line-height:1.55}
.drive-night-latest strong{display:block;color:#eef5f4;font-size:.82rem;font-weight:550}
.drive-night-focus{min-height:14rem;display:grid;grid-template-columns:minmax(10rem,1fr) minmax(12rem,1.2fr);align-items:center;gap:clamp(1rem,5vw,5rem);max-width:53rem;margin:1.15rem auto 1.5rem}
.drive-night-number{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:12rem;border-radius:50%;border:1px solid #4e777366;box-shadow:inset 0 0 28px #83ffe313,0 0 35px #2de1bd14;aspect-ratio:1;max-width:13rem;margin:auto}
.drive-night-number strong{font:300 clamp(4.5rem,9vw,7rem)/.9 ui-sans-serif,system-ui,sans-serif;letter-spacing:-.08em;color:#d6fff4;text-shadow:0 0 24px #58d9bc77}
.drive-night-number span{margin-top:.75rem;color:#b2c9c7;font:.66rem/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.13em;text-transform:uppercase}
.drive-night-next{max-width:23rem}
.drive-night-next h4{font-size:clamp(1.25rem,2.4vw,1.85rem);letter-spacing:-.035em;margin:.25rem 0 .55rem}
.drive-night-next p:not(.drive-kicker){color:#b0bfbe;font-size:.83rem;line-height:1.5}
.drive-night-next .drive-action{margin-top:.8rem;color:#98eddd}
.drive-night-ledger{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;border:1px solid #60797455;border-radius:.8rem;background:#60797455;overflow:hidden}
.drive-night-service{min-width:0;display:flex;flex-direction:column;gap:.5rem;padding:1.05rem 1.15rem;background:#0d1719ec}
.drive-night-service-head{display:flex;align-items:center;gap:.5rem;min-height:1.5rem}
.drive-service-symbol{display:grid;place-items:center;flex:none;width:1.25rem;height:1.25rem;border:1px solid #75cabb88;border-radius:50%;color:#91e6d4;font:.7rem/1 ui-monospace,SFMono-Regular,Consolas,monospace}
.drive-night-service-head h4{font-size:.81rem;font-weight:650;flex:1;min-width:0}
.drive-night-service-head .drive-state{font-size:.57rem;padding:.31rem .38rem}
.drive-night-value{display:flex;align-items:baseline;flex-wrap:wrap;gap:.45rem;margin:.5rem 0 0!important}
.drive-night-value strong{font-size:clamp(1.55rem,3vw,2.35rem);font-weight:520;letter-spacing:-.06em;line-height:1}
.drive-night-value span{font-size:.72rem;color:#b4c0bf}
.drive-night .drive-detail{color:#d7e2de}
.drive-night .drive-coverage{color:#a0cac2}
.drive-night .drive-service-link{margin-top:auto;color:#a7e9dc}
.drive-night-footnote{margin-top:1rem!important;padding-top:.7rem;border-top:1px solid #41635c66;color:#9eb7b2;font-size:.75rem}

/* Route: abstract linked checkpoints, explicitly non-chronological. */
.drive-route{padding:clamp(1.2rem,2.6vw,2.4rem);background:radial-gradient(circle at 82% 5%,#243b46 0%,transparent 30%),linear-gradient(150deg,#10171f,#141d25 70%,#0d151d);box-shadow:inset 0 1px #acc5d026,0 18px 55px #0004}
.drive-route:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 35px,#fff2 36px),repeating-linear-gradient(90deg,transparent 0 35px,#fff2 36px);opacity:.25;pointer-events:none;z-index:-1}
.drive-route-head{display:flex;align-items:end;justify-content:space-between;gap:1.4rem}
.drive-route-head .drive-kicker{color:#9dc9e4;margin-bottom:.55rem}
.drive-route-head>p{max-width:20rem;color:#aebec9;font-size:.75rem;line-height:1.5}
.drive-route-graphic{position:relative;max-width:72rem;height:8.8rem;margin:.5rem auto 0}
.drive-route-graphic svg{width:100%;height:100%;overflow:visible}
.drive-route-graphic .drive-route-path{fill:none;stroke:#89cce0;stroke-width:2;filter:drop-shadow(0 0 8px #6fbfd999)}
.drive-route-graphic .drive-route-hairline{stroke:#4b6772;stroke-width:1;stroke-dasharray:2 7}
.drive-route-graphic circle{fill:#132633;stroke:#a3e2f0;stroke-width:2;filter:drop-shadow(0 0 7px #71c9dc)}
.drive-route-graphic svg>path:last-child{fill:none;stroke:#6eabbf;stroke-width:1}
.drive-route-graphic span{position:absolute;bottom:.25rem;color:#a8c5ce;font:.64rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.13em;text-transform:uppercase;transform:translateX(-50%)}
.drive-route-graphic span:nth-of-type(1){left:20%}.drive-route-graphic span:nth-of-type(2){left:50%}.drive-route-graphic span:nth-of-type(3){left:82%}
.drive-route-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}
.drive-route-card{min-width:0;display:flex;flex-direction:column;gap:.6rem;padding:1.15rem;border:1px solid #5b798777;border-radius:.85rem;background:linear-gradient(155deg,#172732ed,#111a23ed);box-shadow:inset 0 1px #ffffff1a,0 12px 24px #0003}
.drive-route-card-top{display:flex;align-items:center;gap:.65rem}
.drive-route-node{display:grid;place-items:center;flex:none;width:2.2rem;height:2.2rem;border:1px solid #91ceda;border-radius:.6rem;color:#c5f3f7;font:.88rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;box-shadow:inset 0 0 12px #9bd8e126}
.drive-route-type{color:#91b9c6;font-size:.59rem;letter-spacing:.1em}
.drive-route-card-top h4{font-size:.9rem;margin-top:.18rem}
.drive-route-card-top .drive-state{margin-left:auto;font-size:.56rem;padding:.3rem .38rem}
.drive-route-reading{display:flex;gap:.55rem;align-items:baseline;flex-wrap:wrap;margin:.55rem 0 .1rem}
.drive-route-reading strong{font-size:clamp(1.75rem,3vw,2.55rem);font-weight:530;line-height:1;letter-spacing:-.065em}
.drive-route-reading span{font-size:.72rem;color:#aabac4}
.drive-route-card .drive-detail{color:#dbe7eb}
.drive-route-card .drive-coverage{color:#a3ccda}
.drive-route-followup{margin-top:auto;padding-top:.7rem;border-top:1px solid #64839266}
.drive-route-followup strong{color:#d3edf2;font-size:.8rem}
.drive-route-followup p{margin:.3rem 0 .4rem;color:#afc2ca;font-size:.74rem;line-height:1.45}
.drive-route .drive-service-link{color:#a9e1ee}
.drive-route-summary{display:flex;gap:.8rem;align-items:center;margin-top:1rem;padding:.85rem 1rem;border:1px solid #66849266;border-radius:.7rem;background:#0f2029a8}
.drive-route-count{font:550 2.1rem/1 ui-sans-serif,system-ui,sans-serif;color:#bde8f2;letter-spacing:-.06em}
.drive-route-summary strong{font-size:.84rem}.drive-route-summary p{font-size:.75rem;color:#a9bec7;margin-top:.2rem}

@media(max-width:850px){.drive-night-ledger,.drive-route-cards{grid-template-columns:1fr}.drive-night-service{padding:.9rem 1rem}.drive-route-graphic{height:6.5rem}.drive-route-head{align-items:start}}
@media(max-width:540px){.drive-night-head,.drive-route-head{flex-direction:column;align-items:start}.drive-night-latest{text-align:left}.drive-night-focus{grid-template-columns:1fr;gap:1rem}.drive-night-number{width:10.5rem;min-height:10.5rem}.drive-night-next{text-align:center;margin:auto}.drive-night-next .drive-action{margin-inline:auto}.drive-route-graphic{display:none}.drive-route-cards{margin-top:1.2rem}.drive-route-card-top{flex-wrap:wrap}.drive-route-card-top .drive-state{margin-left:0}.drive-route-summary{align-items:start}}
@media(prefers-reduced-motion:reduce){.drive-mode .drive-service-link svg,.drive-mode .drive-action svg{transition:none}}
