
:root{--amber:#ffb13b;--green:#3ee567;--red:#ff493d;--blue:#2e74ff;--text:#dbe0e3;--muted:#7f8a91;--line:#30363a}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{width:100%;height:100%;margin:0;background:#000;overflow:hidden}body{font-family:"Arial Narrow",Arial,sans-serif;color:var(--text);user-select:none}button{font:inherit;touch-action:manipulation}#dashboard{width:100vw;height:100dvh;padding:5px;display:grid;grid-template-rows:44px minmax(0,1fr);gap:5px;background:radial-gradient(circle at 50% 0%,rgba(255,177,59,.045),transparent 42%),linear-gradient(#07090a,#020303)}.panel{position:relative;overflow:hidden;background:linear-gradient(180deg,#080b0c,#020303);border:1.5px solid var(--line);border-radius:7px;box-shadow:inset 0 0 0 1px #000}.topbar{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;padding:0 14px;color:var(--amber);font-weight:700;letter-spacing:1.6px}.top-left,.top-right{display:flex;align-items:center;gap:8px}.top-right{justify-content:flex-end}#clock,.brand{font-size:18px}.brand{text-align:center;letter-spacing:2.2px}.status-pill{border:1px solid #41484d;border-radius:4px;padding:2px 6px;color:var(--muted);font-size:9px;letter-spacing:1px}.status-pill.live{color:var(--green);border-color:#285c35}.status-pill.warn{color:var(--amber)}.hidden{display:none!important}.icon-btn{width:30px;height:30px;border:0;background:transparent;color:var(--amber);font-size:17px}.grid{min-height:0;display:grid;grid-template-columns:30% 40% 30%;grid-template-rows:57% 43%;gap:5px}.panel-title{position:absolute;top:8px;left:11px;color:var(--amber);font-size:14px;font-weight:700;letter-spacing:1px;z-index:10}.gauge-wrap{position:absolute;inset:25px 4px 4px;display:grid;place-items:center}.arc-gauge{position:absolute;width:min(27vw,170px);aspect-ratio:1;border-radius:50%;background:conic-gradient(from 225deg,var(--amber) 0 205deg,var(--red) 205deg 248deg,transparent 248deg);-webkit-mask:radial-gradient(circle,#0000 0 68%,#000 69% 76%,#0000 77%);mask:radial-gradient(circle,#0000 0 68%,#000 69% 76%,#0000 77%)}.arc-gauge::after{content:"";position:absolute;inset:12%;border:1px solid #343a3e;border-radius:50%}.needle{position:absolute;left:50%;top:50%;width:38%;height:3px;background:var(--red);transform-origin:0 50%;transform:rotate(135deg);z-index:3}.hub{position:absolute;width:19px;height:19px;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:#15191b;border:2px solid #000;z-index:4}.tick{position:absolute;font-size:10px;color:#cfd5d8;z-index:5}.t0{left:13%;bottom:18%}.t1{left:4%;bottom:40%}.t2{left:12%;top:24%}.t3{left:30%;top:7%}.t4{left:48%;top:2%}.t5{right:29%;top:7%}.t6{right:12%;top:24%}.t7{right:5%;bottom:40%}.t8{right:14%;bottom:18%}.digital-readout{position:absolute;bottom:1px;text-align:center;color:var(--amber);font-family:"Courier New",monospace;font-weight:700;z-index:6}#rpmValue{font-size:23px;line-height:1}.digital-readout .sub{font-size:9px;color:var(--muted)}.map-panel{background:#0a0c0e}#map{width:100%;height:100%;filter:saturate(.6) brightness(.62) contrast(1.18)}.leaflet-control-attribution,.leaflet-control-zoom{display:none!important}.leaflet-container{background:#090b0d}.map-overlay{position:absolute;z-index:500;left:7px;right:7px;display:flex;justify-content:space-between;color:#ccd2d6;font-size:9px;letter-spacing:.8px;pointer-events:none}.top-map{top:7px}.nav-card{position:absolute;left:7px;bottom:7px;z-index:500;display:flex;gap:7px;align-items:center;max-width:70%;background:rgba(4,6,7,.91);border:1px solid #394148;border-radius:4px;padding:5px 8px;color:var(--text)}.turn-arrow{font-size:18px;color:var(--blue)}.nav-card strong,.nav-card span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-card strong{font-size:12px}.nav-card span{font-size:9px;color:#9aa4ab}.map-btn{position:absolute;right:7px;bottom:7px;z-index:500;width:33px;height:33px;border:1px solid #41484d;border-radius:5px;background:rgba(4,6,7,.92);color:var(--amber);font-size:20px}.speed-panel{display:flex;flex-direction:column;align-items:center;justify-content:center}.speed-number{margin-top:11px;color:var(--amber);font-family:"Courier New",monospace;font-weight:700;font-size:clamp(48px,8.7vw,72px);line-height:.9}.speed-unit{color:var(--amber);font-size:12px;font-weight:700;letter-spacing:1.8px;margin:4px 0 7px}.speed-bar{width:78%;height:9px;border:1px solid #4a5154;background:repeating-linear-gradient(90deg,#111 0 12px,#454b4e 13px 14px)}#speedBarFill{height:100%;width:0;background:var(--green);transition:width .25s linear}.speed-scale{width:80%;display:flex;justify-content:space-between;margin-top:3px;color:var(--amber);font-size:8px}.trip-row{display:flex;justify-content:space-between;width:80%;margin-top:7px;color:#909aa1;font-size:9px;letter-spacing:1px}.trip-row strong{color:#cfd6da}.engine-panel{padding-top:27px}.engine-grid{display:grid;grid-template-columns:1fr 1px 1fr;align-items:center;height:51%}.engine-divider{width:1px;height:72%;background:#394044}.engine-item{text-align:center}.engine-label{font-size:10px;color:#9aa3a8}.engine-value{font-family:"Courier New",monospace;font-size:20px;color:var(--amber);font-weight:700;margin-top:4px}.mini-row{display:flex;justify-content:space-between;margin:0 12px 5px;color:#8f989e;font-size:9px}.mini-row strong{color:#cfd5d8}.segment-bar{margin:0 11px;height:10px;display:grid;grid-template-columns:repeat(12,1fr);gap:2px}.segment-bar i{display:block;background:var(--amber);border:1px solid #80581d}.segment-bar i.off{background:#171a1c;border-color:#323638}.music-panel{display:grid;grid-template-columns:34% 66%;padding:8px;align-items:center}.album-art{width:min(100%,92px);aspect-ratio:1;border-radius:4px;border:1px solid #272c2f;overflow:hidden;position:relative;background:linear-gradient(#261638,#ff6840 55%,#111 56%)}.album-art .sun{position:absolute;width:38%;aspect-ratio:1;border-radius:50%;background:#ffad49;left:31%;top:16%}.album-art .road{position:absolute;width:150%;height:55%;left:-25%;bottom:-20%;background:linear-gradient(90deg,#151515 0 45%,#ffb13b 46% 49%,#151515 50% 100%);transform:perspective(120px) rotateX(55deg)}.music-info{min-width:0;padding-left:4px}.song{font-size:15px;color:var(--amber);font-weight:700}.artist{font-size:10px;color:#aeb6bb;margin-top:2px}.music-controls{display:flex;gap:5px;margin-top:8px}.music-controls button,.phone-buttons button{border:1px solid #30363a;background:linear-gradient(#111516,#050606);color:var(--amber);border-radius:5px}.music-controls button{flex:1;height:31px;font-size:14px}.music-controls .main-action{color:#fff;border-color:#7e5a25}.phone-panel{padding-top:27px}.phone-status{height:48%;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--amber);font-size:12px}.phone-outline{font-size:28px}.phone-buttons{position:absolute;left:7px;right:7px;bottom:7px;display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.phone-buttons button{height:32px;font-size:14px}.phone-buttons .call{color:var(--green)}.sheet{position:fixed;inset:0;z-index:5000;background:rgba(0,0,0,.72);display:grid;place-items:center;padding:18px}.sheet-card{width:min(92vw,340px);background:#090b0c;border:1px solid #3c4347;border-radius:8px;padding:16px;color:var(--text)}.sheet-title{color:var(--amber);font-weight:700;letter-spacing:1.5px;margin-bottom:12px}.toggle-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid #1e2326;font-size:14px}.toggle-row input{width:22px;height:22px;accent-color:#d99029}.sheet-button{width:100%;margin-top:10px;height:38px;border:1px solid #454c50;background:#101315;color:var(--amber);border-radius:5px;font-weight:700;letter-spacing:1px}@media (orientation:portrait){body::before{content:"ROTATE PHONE";position:fixed;inset:0;display:grid;place-items:center;z-index:99999;background:#000;color:var(--amber);font-size:24px;letter-spacing:2px}}

.nav-copy{min-width:0;max-width:100%}
.map-actions{position:absolute;right:7px;bottom:7px;z-index:510;display:flex;gap:5px}
.map-actions .map-btn{position:static}
.map-credit{position:absolute;right:7px;top:20px;z-index:500;font-size:7px;color:#69747b;background:rgba(0,0,0,.45);padding:1px 3px;border-radius:2px}
.search-card{width:min(94vw,460px)}
.search-form{display:grid;grid-template-columns:1fr 92px;gap:7px}
.search-form input{min-width:0;height:38px;background:#030405;border:1px solid #454c50;border-radius:5px;color:#fff;padding:0 10px;font-size:16px;outline:none}
.search-form input:focus{border-color:var(--amber)}
.search-form button{height:38px;border:1px solid #765621;background:#17130c;color:var(--amber);border-radius:5px;font-weight:700}
.search-status{min-height:21px;margin:8px 0 5px;color:#929da4;font-size:11px}
.search-results{display:grid;gap:5px;max-height:145px;overflow:auto;-webkit-overflow-scrolling:touch}
.search-result{width:100%;text-align:left;border:1px solid #30373b;background:#0b0e0f;color:#dce1e4;border-radius:5px;padding:8px 9px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.search-result strong{color:var(--amber)}
.sheet-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.route-summary{color:var(--green)!important}
@media (max-height:390px){.search-results{max-height:100px}.search-card{padding:10px}.sheet-title{margin-bottom:7px}.search-form input,.search-form button{height:34px}}
