/* DrivePulse / NIGHTSHIFT — graphite, ion lime, and telemetry mint. */
:root{--bg:#090d11;--ink:#eef3e7;--muted:#9aa69b;--line:#26302f;--green:#d2ff5a;--deep:#10171b;--radius:16px;color-scheme:dark;background:var(--bg);color:var(--ink)}body{background:var(--bg)}.brand{font-weight:750;font-style:italic;letter-spacing:-1px}.brand-icon{background:none;border-radius:0;width:46px;height:46px;overflow:visible}.brand-icon img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 10px #d2ff5a20)}.brand-word{color:var(--green)}.beta{color:#a8b99b;background:#1f2a24;border:1px solid #36452f}.eyebrow,.hero-footnote,.feature-label,.sidebar-caption,.breadcrumb,.app-footer,.badge,.metric>small,.car-switch label{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace}.button{background:var(--green);border-color:var(--green);color:#172015;font-weight:700;border-radius:7px;box-shadow:0 0 24px #d2ff5a0a}.button:hover{background:#e1ff96;color:#172015;box-shadow:0 0 25px #d2ff5a25}.button:focus-visible,.secondary-button:focus-visible,a:focus-visible{outline-color:var(--green)}.text-link,.text-button{color:var(--green)}.status-dot{background:#8bffd6;box-shadow:0 0 10px #8bffd650}.site-nav{border-color:#25302c}.site-nav nav>a:not(.button){color:#a8b5aa}.landing{background:radial-gradient(ellipse at 86% 12%,#24332144,transparent 45%),#090d11}.hero{position:relative;gap:70px;padding-top:78px}.hero:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(#8bffd609 1px,transparent 1px),linear-gradient(90deg,#8bffd609 1px,transparent 1px);background-size:50px 50px;mask-image:linear-gradient(90deg,transparent,#000)}.hero-copy,.hero-panel{z-index:1}.hero h1{font-size:clamp(62px,6.2vw,88px);font-weight:750;letter-spacing:-5px;line-height:.98}.hero h1 em{font-family:inherit;font-style:italic;font-weight:650;color:var(--green);letter-spacing:-4px}.hero-copy>p{color:#a2afa6}.hero-footnote{color:#8d9b8c;line-height:1.8}.hero-panel{border:1px solid #3b4c3e;background:linear-gradient(145deg,#182226,#0c1317);transform:perspective(1400px) rotateY(-6deg) rotateZ(1deg);box-shadow:0 30px 80px #0008,0 0 65px #b0e8730b}.panel-top{padding-bottom:12px;border-bottom:1px solid #33403470}.hero-panel .badge,.speed-card .badge,.badge{background:#203020;color:#d2ff5a;border-color:#3a4c31}.badge.neutral{background:#161e21;border-color:#37433c;color:#9bac96}.badge.warning{background:#392b1b;border-color:#6e5430;color:#ffce87}.mock-car{font-size:23px;font-weight:550}.mock-car span{color:#8da895}.speed-stage{isolation:isolate}.speed-stage:after{content:"";position:absolute;inset:14px;border-radius:50%;background:repeating-conic-gradient(from -42deg,transparent 0deg 8deg,#94b09c4d 8deg 8.8deg);mask:radial-gradient(transparent 65%,#000 66% 68%,transparent 69%);z-index:-1}.speed-value strong{font-weight:600;font-style:italic;font-family:"Arial Narrow",Arial,sans-serif;letter-spacing:-5px;text-shadow:0 0 45px #d2ff5a16}.speed-value>span{color:#99b49d;font-family:monospace;font-size:9px;letter-spacing:2px}.speed-ring .ring-fill{stroke:var(--green);filter:drop-shadow(0 0 8px #c9ff5a4d)}.ring-track{stroke:#2b3b33}.orbit-label{color:#95ac93}.hero-stats strong{font-family:monospace;color:#e1edda}.hero-stats small{color:#9eaf9a}.feed-strip{background:#121f20;border:1px solid #2e4139;color:#a4b69e}.wave{color:#8bffd6}.section-heading>p,.feature p,.garage-layout>div>p,.roadmap-items p{color:#9cae9d}.section h2,.garage-section h2{font-weight:600}.feature{border-color:#3d4b3c}.feature-number{color:var(--green)}.feature h3{color:#edf4e6}.feature-label{color:#a2b88b}.garage-section{background:linear-gradient(120deg,#14201b,#10191b);border-top:1px solid #28392e;border-bottom:1px solid #28392e}.garage-layout em{color:var(--green);font-family:inherit;font-style:italic}.story-card{background:#11191d;border:1px solid #354735;box-shadow:0 20px 50px #0003}.story-head .brand-icon{width:40px;height:40px;background:#222f24;border-radius:9px;color:var(--green)}.story-head small,.story-event small,.story-event p{color:#98ad91}.story-event h4{color:#e5eddc}.event-dot{background:#d2ff5a;border-color:#6b853c;box-shadow:0 0 14px #d2ff5a22}.event-dot:after{background:#35482e}.bottom-cta{padding-top:70px;background:radial-gradient(ellipse at 50% 75%,#5773291a,transparent 60%)}.bottom-cta h2{font-weight:650}.bottom-cta>.eyebrow{color:#a3b68a}footer{color:#9bac93}footer .brand{color:#f2f5e9}.auth-screen{background:radial-gradient(ellipse at top,#233521,#090d11 65%)}.auth-card{background:#111a1e;border-color:#304133;box-shadow:0 30px 80px #0006}.auth-card h1{font-weight:600}.auth-card>p,.auth-note{color:#a2b199}.auth-card .eyebrow{color:#a6bc8d}.auth-card>.text-button{color:var(--green)}.quiet{color:#a1b097}.error{color:#ffb399!important}.app-body{background:#090d11}.sidebar{background:#0d1317;border-right-color:#26312e}.sidebar .brand-icon{width:39px;height:39px}.sidebar .brand{font-size:22px}.sidebar-caption{color:#8d9f8e}.nav-button{color:#9caf9d;border-radius:7px}.nav-button:hover{background:#1b2922}.nav-button.active{background:#26331f;color:var(--green);box-shadow:inset 2px 0 var(--green)}.sidebar-bottom{color:#b2c99b}.sidebar-bottom p{color:#8f9e8d}.sidebar-bottom a{color:#b8ccad}.app-main{background:radial-gradient(ellipse at 90% 0%,#25302055,transparent 50%)}.app-header{background:#0d1417bd;backdrop-filter:blur(15px);border-color:#28322e}.breadcrumb{color:#8f9e90}.breadcrumb strong{color:#c4d5bc}.breadcrumb span{color:#5b7057}.avatar{background:#26321f;border-color:#4a5d35;color:#d2ff5a;font-family:monospace}.user-pill{color:#dbe6d1}.demo-notice{background:#18251d;border-color:#32432b}.demo-notice>span{color:#c8e5a2}.demo-notice p{color:#a2b18f}.page-heading h1{font-size:38px;font-weight:650;letter-spacing:-1.7px}.page-heading .eyebrow{color:#9bae89}.car-switch label{color:#90a381}select{background:#17201e;border-color:#3c4d38;color:#d1e0c4}.speed-card{background:radial-gradient(ellipse at 50% 70%,#29381e50,transparent 65%),linear-gradient(145deg,#19232a,#0d1419);border:1px solid #43553a;position:relative;overflow:hidden;box-shadow:0 14px 35px #0002}.speed-card:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,var(--green),#8bffd6,transparent)}.speed-card h2{font-weight:650;font-size:25px}.speed-card .eyebrow{color:#a8bb95}.speed-card .quiet{color:#a1b391}.speed-card .button{background:var(--green)}.speed-card .speed-value strong{font-size:91px}.speed-card .speed-stage{width:285px;height:285px}.speed-card .secondary-button{color:#c8d8bd;border-color:#4a5b42;background:#111e18}.trip-status{color:#a6bd91}.metric{background:linear-gradient(145deg,#182128,#121a1f);border-color:#303d37;box-shadow:0 12px 30px #0001;position:relative}.metric:after{content:"";width:5px;height:5px;border-radius:50%;position:absolute;top:25px;right:20px;background:#93b873;box-shadow:0 0 9px #93b87355}.metric>small{color:#acbca2;letter-spacing:1px}.metric strong{font-family:"Arial Narrow",Arial,sans-serif;font-size:43px;font-weight:500;letter-spacing:-1.5px}.metric span{color:#a5ba96;font-family:monospace}.metric p{color:#99ac8c;font-size:10px}.spark{background:linear-gradient(180deg,#c9ff5a55,#c9ff5a03);height:39px}.spark-two{background:linear-gradient(180deg,#8bffd655,#8bffd603)}.spark-three{background:linear-gradient(180deg,#94c4ff55,#94c4ff03)}.spark-four{background:linear-gradient(180deg,#ceb3ff55,#ceb3ff03)}.surface{background:#141e23;border-color:#303d37;box-shadow:0 10px 30px #0001}.card-heading h3{font-weight:600;color:#e0ead7}.next-card{background:linear-gradient(135deg,#25391f,#17271e);border-color:#435b31}.next-card .eyebrow{color:#b3cb94}.next-card h3{font-weight:600;color:#e4f4ce}.next-card p{color:#b0c09d}.secondary-button{background:#1b2922;border-color:#42563a;color:#d1e4be}.secondary-button:hover{background:#283b21;filter:none}.event-item{border-color:#2a3930;color:#e3edd9}.event-icon{background:#24351f;border-color:#425636;color:#d2ff5a}.event-copy strong{color:#dce8d3}.event-copy small{color:#9eb28d}.event-item:hover .event-copy strong{color:var(--green)}.event-item>.badge{background:#22321e;border-color:#405434;color:#c6e9a0}.empty-state{color:#a0b38e}.empty-state strong{color:#c6d8b4}.car-card{background:linear-gradient(145deg,#19252b,#121b20);border-color:#344339}.car-card.selected{border-color:#b8e36b;box-shadow:0 0 0 1px #b8e36b,0 0 30px #d2ff5a0a}.car-card .car-art{background:radial-gradient(ellipse,#3a532c55,transparent),#111d18;border:1px solid #2d412a;color:#d2ff5a}.car-card h3{color:#eff5e6;font-weight:600}.delete-car{color:#d6a38c}.diagnostic-intro{background:linear-gradient(135deg,#192929,#121b20)}.diagnostic-intro h2{font-weight:600}.diagnostic-intro p,#scan-result p{color:#a9bc9b}.account-row p{color:#a5b898}.account-card>h2{font-weight:600}label{color:#b2c4a4}input,textarea{background:#0c1619;border-color:#3a4d3d;color:#e1eed8}input::placeholder,textarea::placeholder{color:#788c70}.icon-button{color:#bbcca7}dialog{background:#142024;border-color:#4e6442;color:#e6f2dc;box-shadow:0 25px 100px #0008}dialog::backdrop{background:#040907c7;backdrop-filter:blur(8px)}.detail-metric{color:#c6d9b7}.toast{background:#d2ff5a;color:#1d2a18;border:1px solid #e5ffb1;font-weight:550}.toast.failure{background:#47271f;color:#ffd5bd;border-color:#895137}.privacy-main h1,.privacy-main h2{color:#eef6e6}.privacy-main p,.privacy-main li{color:#a6b89a}.auth-note{border-color:#34412e}.app-footer{color:#829779}
@media(max-width:1150px){.hero{gap:35px}.metric strong{font-size:35px}.speed-card .speed-stage{width:245px;height:245px}.speed-card .speed-value strong{font-size:80px}.page-heading h1{font-size:32px}.sidebar .brand{font-size:19px}}
@media(max-width:850px){.hero h1{font-size:76px}.hero-panel{transform:none}.speed-card .speed-stage{width:225px;height:225px}.metric strong{font-size:30px}.sidebar .brand{font-size:0}.sidebar>.brand{gap:0}.sidebar .brand-icon{width:45px;height:45px}.speed-card .speed-value strong{font-size:76px}}
@media(max-width:620px){.hero{padding-top:45px}.hero h1{font-size:63px;letter-spacing:-3px}.hero h1 em{letter-spacing:-3px}.hero-panel{transform:none}.hero-panel .speed-value strong{font-size:85px}.sidebar{background:#0d1619f5;border-color:#36462f}.nav-button.active{box-shadow:inset 0 2px var(--green)}.page-heading h1{font-size:31px}.speed-card .speed-stage{width:285px;height:285px}.speed-card .speed-value strong{font-size:93px}.metric strong{font-size:40px}.metric>small{font-size:7px}.metric:after{top:22px;right:15px}.metric p{font-size:9px}.demo-notice p{font-size:10px}.hero-panel{padding:24px}.app-header{background:#10191c}.site-nav .brand{font-size:19px}.site-nav .brand-icon{width:36px;height:36px}}
/* v0.4 / mobile appearance and road-intelligence modules */
html[data-theme="electric"]{--green:#5acbff;--bg:#070e1a;--ink:#e7f3ff}html[data-theme="ember"]{--green:#ffac50;--bg:#170e09;--ink:#fff1e2}
html[data-theme="electric"] .app-body,html[data-theme="electric"] .app-main{background:#070e1a}html[data-theme="ember"] .app-body,html[data-theme="ember"] .app-main{background:#170e09}
html[data-theme="electric"] .surface,html[data-theme="electric"] .metric,html[data-theme="electric"] .speed-card,html[data-theme="electric"] .car-card{background:linear-gradient(145deg,#13283e,#0e1b2b);border-color:#294f6d}
html[data-theme="ember"] .surface,html[data-theme="ember"] .metric,html[data-theme="ember"] .speed-card,html[data-theme="ember"] .car-card{background:linear-gradient(145deg,#35241a,#1e1611);border-color:#65452f}
html[data-theme="electric"] .sidebar,html[data-theme="electric"] .app-header{background:#0a1524}html[data-theme="ember"] .sidebar,html[data-theme="ember"] .app-header{background:#1a120d}
html[data-theme="electric"] .nav-button.active{background:#17384a;color:var(--green)}html[data-theme="ember"] .nav-button.active{background:#49311d;color:var(--green)}
html[data-theme="electric"] .speed-card .badge,html[data-theme="electric"] .badge{background:#173148;color:#b1e5ff;border-color:#34617c}html[data-theme="ember"] .speed-card .badge,html[data-theme="ember"] .badge{background:#46301e;color:#ffcf97;border-color:#755333}
html[data-theme="electric"] .metric p,html[data-theme="electric"] .quiet,html[data-theme="electric"] .event-copy small{color:#a7bccf}html[data-theme="ember"] .metric p,html[data-theme="ember"] .quiet,html[data-theme="ember"] .event-copy small{color:#c4b29e}
html[data-theme="electric"] .event-icon{background:#173148;color:var(--green);border-color:#34617c}html[data-theme="ember"] .event-icon{background:#46301e;color:var(--green);border-color:#755333}
html[data-theme="electric"] .demo-notice{background:#142c3d;border-color:#31556c}html[data-theme="ember"] .demo-notice{background:#372819;border-color:#63492f}
html[data-theme="electric"] .speed-card .button,html[data-theme="ember"] .speed-card .button{background:var(--green);border-color:var(--green);color:#142014}
html[data-theme="electric"] .button:hover,html[data-theme="ember"] .button:hover{background:var(--green);filter:brightness(1.1)}
.road-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:20px}.road-grid .surface{min-width:0}.road-grid h2{margin:10px 0;font-size:29px}.road-grid .card-heading{align-items:flex-start}.traffic-map{width:100%;height:350px;border-radius:12px;margin:20px 0;color-scheme:light;overflow:hidden}.traffic-map img{max-width:none}.traffic-result{margin:20px 0;padding:18px;background:#22371f;border:1px solid #47613a;border-radius:10px;color:#e3f6cc;font-size:13px;line-height:1.7}.route-actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.radar-scope{height:210px;max-width:210px;margin:25px auto;border:1px solid #66824a;border-radius:50%;display:grid;place-items:center;position:relative;overflow:hidden;background:repeating-radial-gradient(circle,transparent 0 24px,#87ac5830 25px 26px),conic-gradient(from 25deg,transparent 0deg 250deg,#d2ff5a1a 320deg,#d2ff5a55 360deg)}.radar-scope span{text-align:center;font:10px/1.8 monospace;letter-spacing:2px;color:#d6e9bf;background:#102019e0;padding:12px;border-radius:7px;z-index:1}.radar-cross{position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.5%,#88a76a40 49.5% 50%,transparent 50%),linear-gradient(0deg,transparent 49.5%,#88a76a40 49.5% 50%,transparent 50%)}.check-label{display:flex;align-items:center;gap:10px;font-size:12px;margin:22px 0}.check-label input{width:17px;height:17px;margin:0;accent-color:var(--green)}
@media(max-width:900px){.road-grid{grid-template-columns:1fr}.road-grid h2{font-size:25px}}
@media(max-width:620px){.sidebar{height:calc(69px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}.app-main{padding-bottom:calc(69px + env(safe-area-inset-bottom))}.app-header{padding-top:env(safe-area-inset-top);height:calc(66px + env(safe-area-inset-top))}.nav-button{font-size:8px}.nav-button span{font-size:18px}.traffic-map{height:290px}.road-grid .card-heading{flex-wrap:wrap}.road-grid .surface{padding:20px}.route-actions{flex-direction:column}.app-footer{padding-bottom:24px!important}}

#traffic-form{margin-top:24px}.radar-panel label:not(.check-label) select,#traffic-form label select{display:block;width:100%;margin:8px 0 18px}
