/* Bellingham after dark. Shared craft, distinct app identities, road-first HUD. */
:root{--phone-ink:#f4f8fb;--phone-muted:#a9becd;--phone-line:#8baab52b;--phone-green:#3ff0b0;--phone-purple:#ce78ff;--phone-blue:#5ed9ff;--os-up:#3ff0b0;--os-down:#ff809d}
#duber-phone{font-family:'DM Sans',sans-serif;background:#020609a3;backdrop-filter:blur(9px) saturate(.7);-webkit-backdrop-filter:blur(9px) saturate(.7)}
#duber-phone[data-app] .duber-device{width:min(470px,100%);border:1px solid #b5d0e083;box-shadow:0 0 0 2px #354653,0 0 0 5px #02070b,0 26px 100px #000c,inset 0 1px 0 #f3ffff65;background:radial-gradient(ellipse at 100% 0%,#15353b55,transparent 55%),#050d12}
#duber-phone[data-app] .duber-bar{min-height:66px;padding:8px 14px;background:#0b1822e8;border-bottom:1px solid #a6c8d327}
#duber-phone #phone-title{font:600 14px/1.2 'DM Sans',sans-serif;letter-spacing:.015em;color:#c4d6df}
#duber-phone :is(#phone-back,#phone-home,#duber-close){font-family:'DM Sans',sans-serif;border:0;background:#aacbdf09;color:#c3d4de;border-radius:50%;min-width:44px;padding:8px;font-size:12px}
#duber-phone #phone-back{border-radius:12px}#duber-phone #duber-close{border-radius:12px;background:none;font-size:10px;letter-spacing:.12em}
#duber-phone #phone-home{font-size:23px}
#duber-phone[data-app="duber"]{--app-accent:#efcf8d}#duber-phone[data-app="outside"]{--app-accent:#ff996e}
#duber-phone[data-app="wallet"]{--app-accent:#addbd8}#duber-phone[data-app="settings"]{--app-accent:#becbd9}
#duber-phone :is(.phone-home,.duber-screen,.outside-screen,.phone-finance,.settings-screen){scrollbar-width:thin;scrollbar-color:#62809555 transparent}
#duber-phone :is(button,input,select,textarea){font-family:'DM Sans',sans-serif}
#duber-phone :is(button,a,input,summary){-webkit-tap-highlight-color:transparent}
#duber-phone button:not(:disabled):active{filter:brightness(1.14)}
#duber-phone .phone-home{background:radial-gradient(ellipse at 20% 1%,#1b3e503b,transparent 47%),radial-gradient(ellipse at 90% 80%,#13394422,transparent 60%);padding:17px 25px 20px;gap:15px}
#duber-phone .home-top{position:relative;z-index:1}#duber-phone #home-carrier{font-size:8px;letter-spacing:.19em}#phone-time{font-size:12px}
.phone-brand{position:relative;isolation:isolate;padding:17px 0 12px;min-height:82px}
.phone-mountains{position:absolute;width:calc(100% + 50px);height:124px;left:-25px;bottom:-7px;opacity:.4;z-index:-1;pointer-events:none}
#duber-phone .phone-brand strong{font:900 italic 44px/.94 'Barlow Condensed',sans-serif;letter-spacing:-.025em;text-shadow:0 2px 20px #000,0 0 40px #b9e6ff33;color:#f6f9fb}
#duber-phone .phone-brand small:first-child{font-size:8px;letter-spacing:.28em;color:#b7d2df;margin:0 0 6px}
#duber-phone .phone-brand span{font-size:8px;letter-spacing:.27em;margin-top:9px;color:#c9dce6}
#duber-phone .home-grid{gap:17px 10px}
#duber-phone .home-app{transition:transform .18s ease;background:none}
#duber-phone .home-app:hover{transform:translateY(-2px)}
#duber-phone .home-app .app-icon{box-shadow:0 8px 18px #0009,0 1px 0 #c1e9ff20;width:80px;height:80px}
#duber-phone .home-app span{font-size:14px;font-weight:500;letter-spacing:-.015em}
#duber-phone .home-app em:not(:empty){font-size:8px;top:-2px;right:5px;border-radius:8px;background:#0b1828;border-color:#acdfd955}
.phone-overview{border-radius:19px;padding:10px 3px;background:linear-gradient(135deg,#52657726,#10273136);box-shadow:inset 0 1px 0 #e4f5ff22;border-color:#a6becb3d}
.phone-overview>*{gap:5px;min-height:69px}.phone-overview svg{color:#adc5d6;filter:drop-shadow(0 0 6px #adc5d645)}
.phone-overview [data-overview="vibes"] svg{color:#d68aff;filter:drop-shadow(0 0 6px #b95bff)}
.phone-overview [data-overview="places"] svg{color:#61ecc4}.phone-overview strong{font:600 20px/1 'Barlow Condensed',sans-serif;letter-spacing:.015em}.phone-overview small{font-size:8px;letter-spacing:.13em}
#duber-phone .phone-resume{border-radius:40px;background:linear-gradient(140deg,#52667750,#15273770);box-shadow:inset 0 2px 2px #c3e4ff2b,0 5px 14px #0005;min-height:48px;font:600 12px 'DM Sans',sans-serif;letter-spacing:.18em;text-transform:uppercase}
#duber-phone .home-hint:empty{display:none}#duber-phone .home-hint{font-size:11px;color:#d4dfe6}
#duber-phone .phone-clock-note{font-size:10px;color:#95aebd}#duber-phone .phone-home>.phone-clock-note:last-child{font-size:8px;letter-spacing:.28em;padding:2px 0}
/* Common mastheads are recognizable through the exact artwork, not identical app layouts. */
.pv-brand{display:flex;align-items:center;gap:13px;min-width:0;padding:2px 0 16px;border-bottom:1px solid #8aafbe20;margin:0 0 3px}
#duber-phone .pv-brand .app-icon,.pv-brand .app-icon{width:52px;height:52px;flex:none;border-radius:24%;background-image:url('../assets/phone/app-icons.jpeg');background-size:350.27933% 350.27933%;background-color:#000;box-shadow:0 5px 13px #0008}
.pv-brand-copy{min-width:0}.pv-brand .pv-wordmark{font:900 italic 39px/.92 'Barlow Condensed',sans-serif;letter-spacing:-.03em;color:#f5fafc;margin:0}
.pv-brand .pv-tagline{font:400 10px/1.5 'DM Sans',sans-serif;letter-spacing:.045em;color:#adc4cf;margin:7px 0 0}
.pv-eyebrow{font:600 8px/1.6 'DM Sans',sans-serif;letter-spacing:.2em;color:#8aa8b9;display:block;margin-bottom:5px;text-transform:uppercase}
.pv-brand--bluefin .pv-wordmark{font-style:normal;font-size:30px;font-weight:600;letter-spacing:.17em;text-transform:uppercase;color:#8edbff;text-shadow:0 0 19px #0d9fff44}
.pv-brand--exchange .pv-wordmark::after{content:'↗';font-style:normal;color:#3ff0b0;font-size:.82em;margin-left:5px}
.pv-brand--outside .pv-wordmark{background:linear-gradient(115deg,#ffbe75,#ff569d 40%,#c2a4ff 66%,#ffd1af);background-clip:text;-webkit-background-clip:text;color:transparent}
.pv-brand--vibecheck .pv-wordmark{background:linear-gradient(100deg,#f2f3ff 28%,#f29adc);background-clip:text;-webkit-background-clip:text;color:transparent}
.pv-brand--wallet .pv-wordmark,.pv-brand--settings .pv-wordmark{font-style:normal;font-size:34px;font-weight:700;letter-spacing:-.015em}
#duber-phone .phone-status{font-size:12px;line-height:1.5;border-radius:13px}
#duber-phone .phone-review{background:linear-gradient(160deg,#142b32,#0b181e);border:1px solid #95b9c052;border-radius:19px;box-shadow:0 12px 25px #0004}
#duber-phone .phone-tabs,#duber-phone .os-tabs{scrollbar-width:none}
#duber-phone .phone-tabs button,#duber-phone .os-tab{font-weight:500}
/* Per-character number rolls. The accessible value is always the executed/current value. */
.pv-number{display:inline-flex;white-space:nowrap;font-variant-numeric:tabular-nums;font-feature-settings:'tnum';letter-spacing:inherit;align-items:baseline}
.pv-digit{position:relative;display:inline-block;line-height:1.14;overflow:hidden;vertical-align:bottom;min-width:0}
.pv-digit.is-changing{width:.56em;height:1.14em}.pv-digit-old,.pv-digit-new{display:block;position:absolute;inset:0;line-height:1.14}
.pv-number[data-direction="up"] .pv-digit-old{animation:pv-old-up .38s cubic-bezier(.2,.7,.25,1) both}.pv-number[data-direction="up"] .pv-digit-new{animation:pv-new-up .38s cubic-bezier(.2,.7,.25,1) both}
.pv-number[data-direction="down"] .pv-digit-old{animation:pv-old-down .38s cubic-bezier(.2,.7,.25,1) both}.pv-number[data-direction="down"] .pv-digit-new{animation:pv-new-down .38s cubic-bezier(.2,.7,.25,1) both}
@keyframes pv-old-up{to{transform:translateY(-115%);opacity:0}}@keyframes pv-new-up{from{transform:translateY(115%);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes pv-old-down{to{transform:translateY(115%);opacity:0}}@keyframes pv-new-down{from{transform:translateY(-115%);opacity:0}to{transform:translateY(0);opacity:1}}
.pv-chart{position:relative;width:100%;min-width:0;margin:0;align-self:stretch;color:#aec6d0;touch-action:pan-y}
.pv-chart-svg{display:block;width:100%;height:auto;overflow:visible;aspect-ratio:400/180}
.pv-chart--compact .pv-chart-svg{aspect-ratio:400/62;overflow:hidden}
.pv-grid-line{stroke:#a6cdd616;stroke-width:1;stroke-dasharray:3 5}.pv-axis-label{fill:#8faab9;font:9px 'DM Sans',sans-serif;letter-spacing:0}
.pv-crosshair-line{stroke:#d1e2e57c;stroke-dasharray:3 3;stroke-width:1}.pv-chart-readout{position:absolute;top:0;left:0;border:1px solid #a1b6c03e;background:#0b1b22ed;color:#f2f9fb;font:500 11px 'DM Sans',sans-serif;padding:6px 9px;border-radius:7px;pointer-events:none}
.pv-chart-readout[hidden]{display:none}.pv-chart-caption{font:400 9px/1.5 'DM Sans',sans-serif;color:#7996a5;margin-top:3px;letter-spacing:0;text-align:left}
.pv-chart-empty{display:grid;place-content:center;min-height:110px;font:400 12px/1.7 'DM Sans',sans-serif;color:#94abb9;text-align:center;border-bottom:1px solid #91bab52c;background:linear-gradient(180deg,transparent,#70aabb06);padding:20px}
.pv-chart--compact .pv-chart-empty{min-height:30px;padding:3px;font-size:10px}
/* The core HUD lives at the edges. Existing navigation and controls remain real game views. */
#market-hud{left:auto;right:var(--drive-edge,14px);top:75px;width:270px;max-width:28vw;transform:none;gap:7px;font-family:'DM Sans',sans-serif}
#market-hud .market-portfolio{display:flex;flex-direction:column;gap:6px;padding:11px 13px;min-height:0;border:1px solid #81b1c56a;border-radius:18px;background:linear-gradient(140deg,#142c40ea,#061019ed);box-shadow:inset 0 1px 1px #e4f8ff48,0 8px 28px #0005}
.market-top,.market-cash,.market-value{display:flex;align-items:baseline;justify-content:space-between;gap:8px;width:100%}
.market-brand{font:900 italic 18px 'Barlow Condensed',sans-serif;color:#d0f5e7;letter-spacing:-.025em}.market-live{font:600 8px 'DM Sans',sans-serif;color:#63f2bd!important;letter-spacing:.08em}.market-live::before{content:'●';margin-right:4px;font-size:8px}.market-live[data-sync="true"]{color:#ffd78e!important}
.market-cash{padding-bottom:6px;border-bottom:1px solid #90b9c623}.market-cash small,.market-value small{font:600 10px 'Barlow Condensed',sans-serif;letter-spacing:.09em;color:#b5c9d5}
.market-cash .pv-number{font:600 18px 'Barlow Condensed',sans-serif;color:#f3f8fb}.market-value .pv-number{font:600 28px/.98 'Barlow Condensed',sans-serif;color:#f3f8fb}
.market-gain{font:500 10px 'DM Sans',sans-serif}.market-gain[data-tone="up"]{color:var(--os-up)}.market-gain[data-tone="down"]{color:var(--os-down)}
.market-graph{width:100%;display:block}.market-graph .pv-chart-svg{height:42px;aspect-ratio:auto}.market-empty{display:block;font-size:11px;color:#80ae9e;padding:9px 0 6px}.market-stamp{display:block;text-align:right;font:400 8px 'DM Sans',sans-serif;letter-spacing:.025em;color:#8fabbc}
#market-hud .market-symbols{display:flex;flex-wrap:wrap;gap:1px;padding:7px 3px 5px;border-radius:13px;border-color:#89b2c45a;background:linear-gradient(135deg,#13293ce8,#08121ee8);box-shadow:inset 0 1px 0 #d6ecff29}
#market-hud .market-stock{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;flex:1 1 28%;padding:3px;min-height:54px;background:none;border:0;border-right:1px solid #8eb7c41d;border-radius:0;font-family:'DM Sans',sans-serif}
#market-hud .market-stock:last-of-type{border-right:0}.market-stock strong{font:700 13px 'Barlow Condensed',sans-serif;letter-spacing:.03em}.market-stock-price{font-size:10px;color:#d2e2ec}.market-stock em{font-size:10px!important;font-weight:600}
#market-hud .market-symbols>small{flex:0 0 100%;font:500 7px 'DM Sans',sans-serif;letter-spacing:.045em;color:#94acbc;text-align:center;margin-top:4px}
#player-hud{position:fixed;z-index:15;top:75px;left:var(--drive-edge,14px);display:flex;gap:0;width:286px;border:1px solid #96b7d269;border-radius:17px;padding:9px 6px;background:linear-gradient(135deg,#23364bdd,#0d1a2be8);box-shadow:inset 0 1px 1px #ddecff4a,0 8px 22px #0004;color:#edf5fa}
#player-hud[hidden]{display:none}#player-hud button{display:flex;flex:1;justify-content:center;align-items:center;gap:7px;min-width:0;min-height:44px;padding:0 6px;border:0;border-right:1px solid #96bcd63b;background:none;color:inherit;touch-action:manipulation;border-radius:0}#player-hud button:last-child{border-right:0}
.player-stat span{display:grid;gap:2px;text-align:left}.player-stat small{font:600 10px 'Barlow Condensed',sans-serif;letter-spacing:.07em;text-transform:uppercase;color:#b5cbd9}.player-stat strong{font:600 21px/.95 'Barlow Condensed',sans-serif;white-space:nowrap}.player-stat svg{flex:none;width:22px;filter:drop-shadow(0 0 5px #b3d1ff6b)}.player-stat:first-child svg{color:#d085ff;filter:drop-shadow(0 0 5px #b450ff)}.player-stat:last-child svg{color:#50f2bd}
.phone-hud-ready.is-driving #collect-hud{display:none}.phone-hud-ready.is-driving .timer{display:none!important}.phone-hud-ready.is-driving header .tools>button:is(#sound,#quality,#time-of-day,#camera,#local-drive){display:none!important}
.phone-hud-ready.is-driving #navigation.street-sign-hud{top:151px}.phone-hud-ready.is-driving #destination-hud{top:151px}.phone-hud-ready.is-driving .combo{top:90px;left:50%;max-width:30vw;transform:translateX(-50%)}.phone-hud-ready.is-driving .combo>:not(label){display:none}
.phone-hud-ready.is-driving .map{top:auto;bottom:90px;left:var(--drive-edge,14px);right:auto;width:210px;height:176px;transform:none;border-radius:17px;border:1px solid #8ab4ca7a;overflow:hidden;box-shadow:inset 0 1px 0 #d1edff55,0 6px 20px #0004;background:#081320c9}
.phone-hud-ready.is-driving .map canvas{width:210px;height:172px}.phone-hud-ready.is-driving .map>span{font:500 8px 'DM Sans',sans-serif;background:#081722c9;color:#a1c3d4;letter-spacing:.1em}
.phone-hud-ready.is-driving.driving-controls-hidden .map{display:block!important}
.phone-hud-ready.is-driving #hud #recover{top:auto;bottom:58px!important;left:var(--drive-edge,14px)!important;right:auto;min-height:26px;font-size:9px;padding:4px 7px;background:#0a1b26bd;border:1px solid #94b9c942;border-radius:7px}
.phone-hud-ready.is-driving #vibe-hud{left:238px;bottom:91px;max-width:205px}.phone-hud-ready.is-driving #radio-mini.drive-radio:not([hidden]){left:50%;transform:translateX(-50%);width:410px;bottom:12px;border:1px solid #a1bed460;border-radius:15px;background:linear-gradient(135deg,#192d3fea,#08131eea);box-shadow:inset 0 1px 0 #d3edff35}
.phone-toast{left:var(--drive-edge,14px);bottom:278px;top:auto;width:306px;min-height:0;padding:0;border-color:#bc92dc83;border-radius:17px;background:linear-gradient(130deg,#342444f3,#10283ef3 78%);font-family:'DM Sans',sans-serif;transform:none;box-shadow:inset 0 1px 0 #f0d8ff30,0 8px 25px #0006}
.phone-toast-open{display:flex;align-items:center;gap:10px;flex:1;min-width:0;min-height:82px;padding:12px;border:0;background:none;text-align:left;color:#f5f8fd;touch-action:manipulation}
.phone-toast-open>span{display:grid;gap:4px;min-width:0}.phone-toast strong{font:700 13px 'DM Sans',sans-serif}.phone-toast .phone-toast-message{font:400 12px/1.35 'DM Sans',sans-serif;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.phone-toast small{font-size:9px;color:#c0aeca}.phone-toast-dismiss{align-self:flex-start;min-width:36px;min-height:40px;padding:6px;background:none;border:0;color:#c0adca;font-size:22px}
/* Maps and Radio keep their established full-size panels, now with the phone's identity. */
#city-map{background:radial-gradient(ellipse at 15% 0%,#183846b8,transparent 50%),#040e17f5;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-family:'DM Sans',sans-serif}
#city-map .map-heading{border-bottom:1px solid #85afc737;padding-bottom:15px;margin-bottom:15px}#city-map .pv-brand{border:0;padding:0;margin:0}#city-map .pv-wordmark{font-size:34px}#city-map .pv-brand .app-icon{width:46px;height:46px;display:block;background-repeat:no-repeat}
#city-map :is(button,input){border-radius:11px;font-family:'DM Sans',sans-serif;min-height:44px}#city-map .map-stage{border-radius:18px;border:1px solid #72b8c65c;overflow:hidden;box-shadow:0 10px 35px #0006}#city-map .map-selection{border-radius:15px;background:#0d243199;border:1px solid #7aa6b82d;padding:15px}#city-map #map-selected-name{font:600 27px/1.15 'Barlow Condensed',sans-serif;letter-spacing:.01em;color:#e5f5fc}#city-map #map-selected-detail{font-size:12px;color:#abc5d5}#city-map #map-route{background:#62edbf;color:#05231b;border-color:#89f5d2;font-weight:700}#city-map #map-teleport{background:#2445537d;color:#cee6ef;border-color:#85abbc4d}
#city-map .map-filters{border-radius:12px;background:#152d3f88;padding:4px;gap:4px}#city-map .map-filters button[aria-pressed="true"]{background:#88d9d820;border:1px solid #9bc7d352;color:#a7f3df}#city-map #map-search{background:#06121c;border:1px solid #7297ad66;font-size:14px;color:#e7f5fc}#city-map .vibe-map-intro{border-radius:14px;background:linear-gradient(135deg,#331d433d,#172c402a);border:1px solid #ba8edf42}
#radio-panel{background:#030912dd;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}#radio-panel .radio-shell{border-radius:25px;background:radial-gradient(ellipse at 5% 20%,#67233c49,transparent 60%),#09111bea;border:1px solid #a486a44b;box-shadow:0 20px 70px #0008}#radio-panel .radio-top{border-color:#ccb1c32c;align-items:center}#radio-panel .pv-brand{border:0;padding:0;margin:0}#radio-panel .pv-brand .app-icon{display:block;background-repeat:no-repeat;width:45px;height:45px}#radio-panel .pv-wordmark{font-size:31px;text-transform:none;letter-spacing:-.01em}#radio-panel .pv-tagline{font-size:10px;letter-spacing:.05em}#radio-panel .radio-art{border-radius:19px;overflow:hidden;box-shadow:0 12px 35px #0007}#radio-panel .radio-art img{border-radius:19px}#radio-panel .radio-info h2{font:800 italic 40px/1 'Barlow Condensed',sans-serif;letter-spacing:-.01em}#radio-panel .radio-info h3{font:700 30px/1.05 'Barlow Condensed',sans-serif;letter-spacing:.01em;color:#fff}#radio-panel .radio-eyebrow{font:600 9px 'DM Sans',sans-serif;letter-spacing:.17em;color:#f5a4c7}#radio-panel #radio-artist{font-size:12px;color:#b7c9d5}#radio-panel :is(button,input){border-radius:12px;min-height:44px}#radio-panel #radio-play{background:linear-gradient(130deg,#ffc69d,#fc95c0);color:#301625;border:0;font-weight:700}#radio-panel #radio-tracklist{border-radius:12px;border:1px solid #b5a1b52d;background:#060e1870}#radio-panel #radio-tracklist button{font:500 12px/1.4 'DM Sans',sans-serif;text-align:left}#radio-panel #radio-tracklist button[aria-current="true"]{background:linear-gradient(100deg,#fa8caf26,#a88ffc0e);color:#ffc7dc;border-left:3px solid #fa98c2}
@media(min-width:1500px) and (min-height:850px){#market-hud{width:300px;top:80px}#player-hud{width:318px;top:80px}.player-stat strong{font-size:24px}.market-value .pv-number{font-size:33px}.market-graph .pv-chart-svg{height:53px}}
@media(max-width:1000px),(max-height:600px){
 #market-hud{top:65px;right:12px;width:211px;max-width:29vw;gap:4px}#market-hud .market-portfolio{padding:8px 10px;border-radius:13px;gap:3px}.market-brand{font-size:15px}.market-live{font-size:7px}.market-value .pv-number{font-size:24px}.market-cash .pv-number{font-size:16px}.market-cash small,.market-value small{font-size:9px}.market-gain{font-size:8px}.market-graph .pv-chart-svg{height:30px}.market-stamp{font-size:7px}.market-empty{font-size:9px;padding:5px 0}.market-cash{padding-bottom:3px}
 #market-hud .market-symbols{padding:3px 1px}#market-hud .market-stock{min-height:44px;gap:2px}.market-stock strong{font-size:11px}.market-stock-price{font-size:8px}.market-stock em{font-size:8px!important}#market-hud .market-symbols>small{font-size:6px}.market-stock:nth-of-type(n+4){display:none!important}
 #player-hud{top:65px;left:12px;width:250px;padding:6px 3px;border-radius:13px}.player-stat strong{font-size:18px}.player-stat small{font-size:9px}.player-stat svg{width:19px}#player-hud button{gap:5px;padding:0 5px;min-height:37px}
 .phone-hud-ready.is-driving .map{display:block;left:12px;top:126px;bottom:auto;width:117px;height:95px}.phone-hud-ready.is-driving .map canvas{width:117px;height:95px}.phone-hud-ready.is-driving .map>span{display:none}.phone-hud-ready.is-driving #navigation.street-sign-hud{top:227px;left:12px;max-width:185px;padding:5px 8px}.phone-hud-ready.is-driving #current-street{font-size:13px}.phone-hud-ready.is-driving #destination-hud{top:126px;left:143px;width:200px;max-width:33vw;min-height:0;padding:8px}.phone-hud-ready.is-driving #destination-name{font-size:15px}
 .phone-hud-ready.is-driving #vibe-hud{left:143px;top:126px;bottom:auto!important;max-width:180px;width:180px}.phone-hud-ready.is-driving #vibe-status{font-size:10px}.phone-hud-ready.is-driving #radio-mini.drive-radio:not([hidden]){width:350px}
 .phone-toast{left:50%;bottom:82px;width:285px;transform:translateX(-50%);border-radius:13px}.phone-toast-open{min-height:62px;padding:8px;gap:8px}.phone-toast .app-icon{width:34px;height:34px}.phone-toast .phone-toast-message{font-size:10px}.phone-toast strong{font-size:11px}.phone-toast small{font-size:8px}
}
@media(max-height:600px){#duber-phone[data-app] .duber-device{width:min(700px,100%)}#duber-phone[data-app] .duber-bar{min-height:54px;padding:5px 12px}#duber-phone .home-app .app-icon{width:54px;height:54px}#duber-phone .phone-home{padding:12px 18px;gap:10px;column-gap:25px}.phone-overview>*{min-height:54px;gap:2px}.phone-overview svg{width:17px;height:17px}.phone-overview strong{font-size:18px}.phone-overview small{font-size:7px}#duber-phone .phone-brand{display:none}.pv-brand .pv-wordmark{font-size:33px}.pv-brand{padding-bottom:10px}#duber-phone .pv-brand .app-icon{width:44px;height:44px}}
@media(min-height:601px) and (max-height:800px){#duber-phone .phone-home{gap:11px;padding:13px 25px}.phone-brand{min-height:66px;padding:9px 0}#duber-phone .home-app .app-icon{width:64px;height:64px}#duber-phone .phone-brand strong{font-size:36px}#duber-phone .home-grid{gap:11px 9px}.phone-overview>*{min-height:55px}.phone-overview svg{width:18px;height:18px}.phone-overview{padding:7px 3px}}
@media(max-width:600px) and (min-height:601px){#duber-phone{padding:8px}#duber-phone[data-app] .duber-device{width:100%;border-radius:26px}#duber-phone .phone-home{padding-inline:19px}#duber-phone .home-app .app-icon{width:clamp(64px,20vw,80px);height:clamp(64px,20vw,80px)}#duber-phone .phone-brand strong{font-size:40px}.phone-overview strong{font-size:18px}.phone-overview>*{min-height:62px}#market-hud{max-width:44vw;width:190px;top:136px}#player-hud{width:calc(100vw - 24px);top:70px}.phone-hud-ready.is-driving .map{top:auto;bottom:108px;width:135px;height:110px}.phone-hud-ready.is-driving .map canvas{width:135px;height:110px}.phone-hud-ready.is-driving #navigation.street-sign-hud{top:137px;max-width:45vw}.phone-hud-ready.is-driving #destination-hud{left:12px;top:179px;max-width:44vw}.phone-hud-ready.is-driving #vibe-hud{left:12px;top:185px;max-width:43vw}.phone-toast{bottom:230px;width:calc(100vw - 24px);left:12px;transform:none}.phone-hud-ready.is-driving #radio-mini.drive-radio:not([hidden]){width:calc(100vw - 24px)}#radio-panel .radio-layout{grid-template-columns:72px minmax(0,1fr);gap:13px}#radio-panel .radio-art{display:block;width:72px;align-self:start}#radio-panel .radio-art>span{display:none}#radio-panel .radio-info h2{font-size:28px}#radio-panel .radio-info h3{font-size:25px}#radio-panel .radio-controls{gap:5px}#radio-panel .radio-controls button{padding:10px 7px;font-size:10px}#radio-panel .radio-top{margin-bottom:15px}}
@media(max-height:450px) and (min-width:601px){#market-hud{top:12px;width:195px;max-width:25vw}#player-hud{top:12px;width:225px}#player-hud button{min-height:33px}.player-stat svg{width:17px}.player-stat strong{font-size:17px}.phone-hud-ready.is-driving header{height:56px;justify-content:center;padding:6px 220px}.phone-hud-ready.is-driving header .brand{display:none}.phone-hud-ready.is-driving header .tools{max-width:100%;justify-content:center}.phone-hud-ready.is-driving header .tools>button:not(#open-phone):not(#duber-chip):not(#pause){display:none!important}.phone-hud-ready.is-driving header .tools button{font-size:9px;min-width:40px}.phone-hud-ready.is-driving .map{top:67px;width:108px;height:88px}.phone-hud-ready.is-driving .map canvas{width:108px;height:88px}.phone-hud-ready.is-driving #navigation.street-sign-hud{top:161px;max-width:130px}.phone-hud-ready.is-driving #destination-hud{top:67px;left:132px;max-width:29vw;width:200px}.phone-hud-ready.is-driving #vibe-hud{top:67px;left:132px;max-width:24vw}.phone-hud-ready.is-driving #radio-mini.drive-radio:not([hidden]){width:300px}.market-graph .pv-chart-svg{height:25px}#market-hud .market-portfolio{padding:7px 9px}.market-cash{display:none}.market-stamp{font-size:6px}.market-brand{font-size:14px}.market-value .pv-number{font-size:21px}.market-gain{font-size:7px}.market-empty{font-size:8px}.market-top{gap:3px}#market-hud .market-symbols>small{display:none}.phone-toast{bottom:74px;width:265px}.phone-toast-open{min-height:54px}.phone-toast small{display:none}}
@media(max-width:700px) and (max-height:450px){#player-hud{width:190px}.player-stat svg{width:14px}#player-hud button{gap:4px;padding:0 4px}.player-stat strong{font-size:16px}.player-stat small{font-size:8px}#market-hud{width:165px;max-width:27vw}.phone-hud-ready.is-driving header{padding-inline:195px 180px}.market-live{font-size:6px}.market-stock-price{display:none}.market-stock em{font-size:8px!important}.market-gain{font-size:6px}.phone-hud-ready.is-driving #destination-hud{left:132px;width:180px;max-width:28vw}}
@media(prefers-reduced-motion:reduce){.pv-digit-old{display:none!important}.pv-digit-new{position:static!important;transform:none!important;opacity:1!important}.pv-digit.is-changing{width:auto;height:auto}.pv-number *{animation:none!important}.home-app{transition:none!important}}
.phone-reduced-motion .pv-digit-old{display:none!important}.phone-reduced-motion .pv-digit-new{position:static!important;transform:none!important;opacity:1!important}.phone-reduced-motion .pv-digit.is-changing{width:auto;height:auto}.phone-reduced-motion .pv-number *{animation:none!important}
/* Navigation anchors never inherit the former centred HUD transform. */
.phone-hud-ready.is-driving :is(#destination-hud,#vibe-hud){transform:none}
.phone-hud-ready.is-driving:not(.vibe-focus) #vibe-hud{display:none!important}
.pv-digit.is-changing{width:1ch}
.pv-number-accessible{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:1000px),(max-height:600px){.phone-hud-ready.is-driving.vibe-focus #vibe-hud{top:auto;bottom:82px!important;left:50%;transform:translateX(-50%);width:195px;max-width:40vw}}

/* Stable touch targets and an explicit inspection focus ring. */
#duber-phone .pv-chart:focus-visible {outline:2px solid var(--app-accent,#62edbf);outline-offset:4px;border-radius:8px}
#player-hud button,.phone-toast-dismiss {min-height:44px;min-width:44px}
.phone-hud-ready.is-driving #hud #recover {min-height:44px}
.phone-hud-ready.is-driving #duber-card {top:auto;bottom:100px;right:var(--drive-edge,14px)}
.phone-hud-ready.is-driving #duber-progress {top:auto;bottom:100px;right:var(--drive-edge,14px)}
@media(max-width:1000px),(max-height:600px){
 .phone-hud-ready.is-driving:has(#duber-card:not([hidden])) #market-hud {top:65px}
 .phone-hud-ready.is-driving #navigation.street-sign-hud {top:234px}
 .phone-hud-ready.is-driving .map,.phone-hud-ready.is-driving #destination-hud {top:133px}
}
@media(max-height:450px) and (min-width:601px){
 .phone-hud-ready.is-driving:has(#duber-card:not([hidden])) #market-hud {top:12px}
 .phone-hud-ready.is-driving .map,.phone-hud-ready.is-driving #destination-hud {top:78px}
 .phone-hud-ready.is-driving #navigation.street-sign-hud {top:171px}
 .phone-hud-ready.is-driving #duber-card {top:200px;bottom:auto;width:min(392px,60vw);right:12px}
 .phone-hud-ready.is-driving #duber-progress {top:200px;bottom:auto;width:min(310px,48vw);right:12px}
 .phone-hud-ready.is-driving #duber-card .duber-decline {min-width:44px;min-height:44px}
}
@media(max-width:600px) and (min-height:601px){
 .phone-hud-ready.is-driving:has(#duber-card:not([hidden])) #market-hud {top:144px}
 #market-hud {top:144px}
 .phone-hud-ready.is-driving #navigation.street-sign-hud {top:145px}
 .phone-hud-ready.is-driving #destination-hud {top:187px}
 .phone-hud-ready.is-driving .map {top:auto}
 .phone-hud-ready.is-driving #duber-card,.phone-hud-ready.is-driving #duber-progress {top:400px;bottom:auto;right:12px}
}
/* Phone entry remains named even while a driving shift is online. */
.phone-hud-ready header .tools #open-phone {display:inline-flex!important;align-items:center;justify-content:center;min-height:44px;background:linear-gradient(135deg,#2b4250,#102330);border:1px solid #98bdcf70;color:#e6f3fc}
.phone-hud-ready #duber-chip {border-color:#b9b6a54d;background:linear-gradient(135deg,#27313be8,#101924ef)}
.phone-hud-ready #duber-chip .duber-mark {width:28px;height:28px;color:transparent;background:url('../assets/phone/app-icons.jpeg') 6.5% 5.5% / 350.27933% 350.27933%;border-radius:8px}
.phone-hud-ready #duber-chip .duber-chip-status {color:#d0c1a3}
@media(max-width:700px) and (max-height:450px){.phone-hud-ready.is-driving header .tools #duber-chip{display:none}.phone-hud-ready.is-driving header .tools #pause{display:none}}
#market-hud .market-gain {font:500 10px/1.4 'DM Sans',sans-serif}
#market-hud .market-stamp {font:400 8px/1.4 'DM Sans',sans-serif}
@media(max-width:1000px),(max-height:600px){#market-hud .market-gain{font-size:8px}#market-hud .market-stamp{font-size:7px}}
@media(max-width:600px) and (min-height:601px){
 .phone-hud-ready.is-driving header {padding-inline:12px;justify-content:flex-end}
 .phone-hud-ready.is-driving header .tools {max-width:100%;gap:5px}
 .phone-hud-ready.is-driving header .tools>button:not(#open-phone):not(#open-map):not(#fullscreen):not(#pause){display:none!important}
 .phone-hud-ready.is-driving #hud .speed {bottom:100px;right:12px}
 #market-hud .market-gain{font-size:9px}
 #market-hud .market-stamp{font-size:7px}
}
@media(max-height:450px){
 #duber-phone .phone-home {padding:9px 16px;gap:8px;column-gap:20px}
 #duber-phone .home-grid {gap:8px 10px}
 #duber-phone .home-app .app-icon {width:48px;height:48px}
 #duber-phone .home-app span {font-size:12px}
 #duber-phone .home-hint,#duber-phone .phone-home>.phone-clock-note:last-child {display:none}
 #duber-phone .phone-overview {padding:5px 3px}
 #duber-phone .phone-overview>* {padding:3px;min-height:48px}
 #duber-phone .phone-clock-note {font-size:9px}
 #duber-phone .phone-resume {min-height:44px;font-size:10px;letter-spacing:.1em}
}
/* Incoming rides stay above the pedals and clear the speedometer. */
.phone-hud-ready.is-driving #duber-card,.phone-hud-ready.is-driving #duber-progress {bottom:170px}
@media(max-height:450px) and (min-width:601px){
 .phone-hud-ready.is-driving #duber-card {top:78px;bottom:auto;left:132px;right:auto;width:min(392px,calc(100vw - 327px))}
 .phone-hud-ready.is-driving #duber-progress {top:78px;bottom:auto;left:132px;right:auto;width:min(310px,calc(100vw - 327px))}
 .phone-hud-ready.is-driving:has(:is(#duber-card,#duber-progress):not([hidden])) #destination-hud {display:none}
}
@media(max-width:600px) and (min-height:601px){
 .phone-hud-ready.is-driving #hud .speed {bottom:100px!important;right:12px!important}
 .phone-hud-ready.is-driving #duber-card,.phone-hud-ready.is-driving #duber-progress {bottom:auto}
}
/* Live apps share one right-hand rail; their heights cannot overlap. */
.phone-hud-ready .drive-right-stack{position:fixed;z-index:18;right:var(--drive-edge,14px);top:75px;width:320px;max-width:30vw;max-height:calc(100dvh - 160px);display:flex;flex-direction:column;gap:10px;overflow:auto;scrollbar-width:thin;pointer-events:auto}
.phone-hud-ready .drive-right-stack[hidden]{display:none!important}
.phone-hud-ready.is-driving .drive-right-stack #market-hud,.phone-hud-ready.is-driving .drive-right-stack #vibe-hud,.phone-hud-ready.is-driving .drive-right-stack #duber-card,.phone-hud-ready.is-driving .drive-right-stack #duber-progress{position:relative!important;inset:auto!important;transform:none!important;width:100%!important;max-width:none!important;flex:none;margin:0}
#market-hud .market-graph .pv-chart-svg{height:140px!important;width:100%;display:block}
#market-hud .pv-chart{margin:0;width:100%}#market-hud .pv-chart-caption{display:none}#market-hud .market-gain{font-size:12px;line-height:1.5}#market-hud .market-stamp{font-size:9px;text-align:left}
#market-hud .market-picker{width:100%;min-height:34px;background:#112a36;color:#e2fff4;border:1px solid #8fbcac50;border-radius:8px;padding:5px;font:600 12px 'DM Sans',sans-serif}
#market-hud .market-periods{display:flex;gap:3px;width:100%}#market-hud .market-periods button{flex:1;padding:5px 1px;min-height:32px;border:1px solid #75a89940;background:#102530;border-radius:7px;font:600 10px 'DM Sans',sans-serif;color:#cee4df}#market-hud .market-periods button[aria-pressed=true]{background:#48edb5;color:#05281e;border-color:#48edb5}
#market-hud .market-open{min-height:30px;width:100%;border:0;background:transparent;color:#79efcb;text-align:right;font-size:11px}
.phone-hud-ready.is-driving #hud .map{--gps-width:220px;top:auto!important;right:auto!important;bottom:12px!important;left:var(--drive-edge,14px)!important;width:min(var(--gps-width),43vw)!important;height:min(calc(var(--gps-width) * .82),48dvh)!important;transform:none!important;touch-action:manipulation}
.phone-hud-ready.is-driving #hud .map[data-size=medium]{--gps-width:330px}.phone-hud-ready.is-driving #hud .map[data-size=large]{--gps-width:460px}
.phone-hud-ready.is-driving #hud .map canvas{width:100%!important;height:100%!important;display:block}.phone-hud-ready.is-driving #hud .map>span{display:none}
.map-size-control{position:absolute;right:6px;bottom:6px;z-index:2;padding:6px 8px;min-height:30px;border:1px solid #a6c7dc55;border-radius:7px;background:#081925e8;color:#c8e5ec;font-size:9px;letter-spacing:.05em}
.phone-hud-ready.is-driving #hud #recover{display:none!important}.phone-hud-ready.is-driving #radio-mini.drive-radio:not([hidden]){bottom:12px!important}
.phone-hud-ready #duber-chip[data-status=offline]{background:linear-gradient(135deg,#27313be8,#101924ef);border-color:#b9b6a54d}.phone-hud-ready #duber-chip:not([data-status=offline]){background:linear-gradient(160deg,#370c22f2,#140a12f2)!important;border-color:#ff4aa87a!important;box-shadow:inset 0 1px 0 #ffb8da35,0 0 16px #ff4aa826}.phone-hud-ready #duber-chip:not([data-status=offline]) .duber-chip-status{color:#ffb8da}
@media(max-width:1000px),(max-height:650px){.phone-hud-ready .drive-right-stack{top:65px;width:265px;max-width:32vw;max-height:calc(100dvh - 140px)}#market-hud .market-graph .pv-chart-svg{height:112px!important}#market-hud .market-gain{font-size:10px}.phone-hud-ready.is-driving #hud .map{--gps-width:170px}.phone-hud-ready.is-driving #hud .map[data-size=medium]{--gps-width:250px}.phone-hud-ready.is-driving #hud .map[data-size=large]{--gps-width:340px}}
@media(max-height:450px){.phone-hud-ready .drive-right-stack{top:12px;max-height:calc(100dvh - 80px)}#market-hud .market-graph .pv-chart-svg{height:100px!important}}

.phone-hud-ready.is-driving .drive-right-stack #vibe-hud:not([hidden]){display:block!important}

.phone-hud-ready.is-driving .drive-right-stack #vibe-rush-hud{position:relative!important;inset:auto!important;transform:none!important;max-width:none;width:100%;margin:0;flex:none}.drive-right-stack #duber-card{order:-2}.drive-right-stack #duber-progress{order:-1}
.phone-hud-ready .phone-toast{left:50%;bottom:80px;transform:translateX(-50%);width:min(360px,45vw)}
.phone-hud-ready.is-driving #hud .map{pointer-events:auto}

@media(max-width:1350px){.phone-hud-ready.is-driving:has(.map:is([data-size=medium],[data-size=large])) #radio-mini.drive-radio:not([hidden]){left:auto;right:var(--drive-edge,14px);transform:none;width:min(410px,calc(55vw - 40px))}}

.phone-hud-ready.is-driving #hud .map .speed{position:absolute!important;inset:8px 8px auto auto!important;display:flex;align-items:baseline;gap:3px;width:auto;min-width:0;padding:5px 7px;border:1px solid #8baabd55;border-radius:9px;background:#091b29e8;transform:none!important;text-align:right}.phone-hud-ready.is-driving #hud .map .speed strong{font:700 27px/1 'Barlow Condensed',sans-serif}.phone-hud-ready.is-driving #hud .map .speed>span{font-size:8px}.phone-hud-ready.is-driving #hud .map .speed small{display:none}
.drive-right-stack #duber-card{order:-3}.drive-right-stack #duber-progress{order:-2}.drive-right-stack #vibe-hud{order:-1}.drive-right-stack #vibe-hud p{margin:5px 0;font-size:12px}.drive-right-stack #vibe-hud #vibe-status{font-size:10px}.phone-hud-ready .drive-right-stack{max-height:calc(100dvh - 150px)}
@media(max-height:700px){.phone-hud-ready .drive-right-stack{max-height:calc(100dvh - 140px)}.drive-right-stack #vibe-hud{padding:8px 11px}.drive-right-stack #vibe-hud #vibe-status{display:none}.drive-right-stack #vibe-hud p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drive-right-stack #market-hud .market-portfolio{padding:8px 10px;gap:3px}.drive-right-stack #market-hud .market-stamp{font-size:8px}.drive-right-stack #market-hud .market-value .pv-number{font-size:24px}}
.phone-hud-ready.is-driving #hud .map .speed{display:grid;grid-template-columns:auto auto;gap:0 4px}.phone-hud-ready.is-driving #hud .map .speed .revbar{display:none}.phone-hud-ready.is-driving #hud .map .speed small{display:block;grid-column:1/-1;font-size:7px;line-height:1.4;margin-top:3px}

/* Bottom-corner HUD: map and Vibes left, investments and Duber right. */
.phone-hud-ready .drive-right-stack{top:auto!important;bottom:12px;max-height:calc(100dvh - 85px)!important;justify-content:flex-start}
.phone-hud-ready .drive-left-stack{position:fixed;z-index:18;left:var(--drive-edge,14px);bottom:calc(22px + var(--gps-render-height,270px));width:var(--gps-render-width,330px);display:flex;flex-direction:column;gap:8px;max-height:calc(100dvh - var(--gps-render-height,270px) - 105px);overflow:auto;scrollbar-width:thin}
.drive-left-stack[hidden]{display:none!important}
.phone-hud-ready.is-driving .drive-left-stack :is(#vibe-hud,#vibe-rush-hud){position:relative!important;inset:auto!important;transform:none!important;width:100%!important;max-width:none!important;margin:0;flex:none}
.phone-hud-ready.is-driving .drive-left-stack #vibe-hud:not([hidden]){display:block!important;padding:10px 12px}.drive-left-stack #vibe-hud p{font-size:12px;margin:5px 0}.drive-left-stack #vibe-tip{font-size:10px}
#market-hud .market-minimize{flex:none;min-height:30px;border:1px solid #78ac9955;border-radius:7px;background:#16332be6;color:#bdfce2;padding:4px 7px;font:600 10px 'DM Sans',sans-serif}
#market-hud[data-compact=true] :is(.market-cash,.market-picker,.market-symbols,.market-open){display:none!important}
#market-hud[data-compact=true] .market-live{display:none}
#market-hud[data-compact=true] .market-portfolio{padding:10px 12px;gap:5px}
#market-hud[data-compact=true] .market-graph .pv-chart-svg{height:90px!important}
#market-hud[data-compact=true] .market-value .pv-number{font-size:28px}
#market-hud[data-compact=true] .market-gain{font-size:11px}
#market-hud[data-compact=true] .market-stamp{font-size:8px;line-height:1.3}
.phone-hud-ready.is-driving:has(#hud .map) #radio-mini.drive-radio:not([hidden]){right:auto!important;left:calc((100vw + var(--gps-render-width,330px) - var(--market-render-width,320px)) / 2)!important;transform:translateX(-50%)!important;width:min(410px,calc(100vw - var(--gps-render-width,330px) - var(--market-render-width,320px) - 56px))!important}
@media(max-width:1100px){.phone-hud-ready.is-driving:has(#hud .map) #radio-mini.drive-radio:not([hidden]) .drive-radio-track{min-width:0}.drive-left-stack #vibe-hud p{font-size:11px}}
.phone-hud-ready.is-driving header{display:flex!important;align-items:center;justify-content:space-between!important;gap:12px;padding:8px var(--drive-edge,14px)!important;height:auto!important;flex-wrap:wrap}
.phone-hud-ready.is-driving .drive-top-row{display:flex;align-items:center;gap:12px;min-width:0;max-width:100%}
.phone-hud-ready.is-driving .drive-top-row .brand{display:block!important;flex:none;margin:0}
.phone-hud-ready.is-driving .drive-top-row #player-hud{position:static!important;inset:auto!important;width:auto!important;max-width:none!important;flex:none;padding:4px;gap:0;border-radius:12px}
.drive-top-row #player-hud .player-stat{padding:0 9px;min-height:40px}.drive-top-row #player-hud .player-stat strong{font-size:20px}.drive-top-row #player-hud .player-stat small{font-size:9px}.drive-top-row #player-hud .player-stat svg{width:18px}.drive-top-row #player-hud .player-stat:last-child svg{color:#83efb5}
.phone-hud-ready.is-driving .drive-top-row #navigation.street-sign-hud{position:static!important;inset:auto!important;transform:none!important;max-width:200px!important;width:auto;margin:0;flex:0 1 auto}
#drive-direction{position:fixed;z-index:12;left:50%;top:var(--drive-header-bottom,65px);transform:translateX(-50%);width:230px;pointer-events:none;text-align:center;color:#e3fff1;text-shadow:0 2px 4px #000}
#drive-direction canvas{display:block;width:180px;height:101px;margin:auto}#drive-direction>span{display:block;font:600 11px 'DM Sans',sans-serif;background:#071c26c9;border:1px solid #a5dac640;border-radius:9px;padding:5px 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.phone-hud-ready #destination-arrow{display:none!important}.phone-hud-ready.is-driving #destination-hud{top:calc(var(--drive-header-bottom,65px) + 8px)!important;left:var(--drive-edge,14px)!important}
.phone-hud-ready.is-driving .combo{top:calc(var(--drive-header-bottom,65px) + 142px)!important}
@media(max-width:1150px){.phone-hud-ready.is-driving header .tools{margin-left:auto}.phone-hud-ready.is-driving .drive-top-row{gap:7px}.drive-top-row #player-hud .player-stat{padding:0 6px}.drive-top-row #player-hud .player-stat strong{font-size:17px}}

/* Destination is centered on the menu row, immediately above its direction arrow. */
#drive-destination-label{position:fixed;z-index:19;left:50%;top:8px;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;min-height:44px;width:clamp(160px,22vw,310px);padding:6px 10px;border:1px solid #a5dac640;border-radius:9px;background:#071c26e8;color:#e3fff1;font:600 11px/1.35 'DM Sans',sans-serif;text-align:center;pointer-events:none;overflow-wrap:anywhere}
#drive-destination-label[hidden]{display:none!important}
@media(max-width:1250px){#drive-destination-label{top:calc(var(--drive-header-bottom,65px) - 2px);min-height:32px;width:260px}body:has(#drive-destination-label:not([hidden])) #drive-direction{top:calc(var(--drive-header-bottom,65px) + 36px)}}
/* A compact sign, centered on the same horizontal line as the street sign. */
#drive-destination-label{top:calc((var(--drive-header-bottom,74px) - 8px) / 2);transform:translate(-50%,-50%);min-height:32px;width:max-content;max-width:24vw;padding:5px 10px;font-size:10px;border-radius:8px}
@media(max-width:1250px){#drive-destination-label{top:calc(var(--drive-header-bottom,65px) - 2px);transform:translateX(-50%);max-width:70vw;min-height:28px}}

/* Live Hoodrich alert cards use the authoritative five-minute quote history. */
.phone-toast[data-app="Hoodrich"]{background:linear-gradient(135deg,#102c29f5,#08171ff7);border-color:#58d9ad75;width:min(390px,calc(100vw - 24px));box-shadow:inset 0 1px 0 #b9ffe528,0 12px 36px #0008}
.phone-toast[data-app="Hoodrich"] .phone-toast-open{align-items:flex-start;padding:14px;gap:12px}
.phone-toast[data-app="Hoodrich"] .phone-toast-open>span{flex:1}
.phone-toast[data-app="Hoodrich"] .phone-toast-open>span>strong{font-style:italic;letter-spacing:.06em;color:#c4ffe9}
.hoodrich-notice-chart{display:block;min-width:0;width:100%;margin-top:8px;text-align:left;font-variant-numeric:tabular-nums}
.hoodrich-notice-quote{display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:#f4fff9}
.hoodrich-notice-quote>b{font:700 13px 'DM Sans',sans-serif}.hoodrich-notice-quote .pv-number{font-size:21px;font-weight:700}
.hoodrich-notice-move{display:block;margin:5px 0;color:#52ecc0;font:600 11px/1.4 'DM Sans',sans-serif}
.hoodrich-notice-chart[data-tone="down"] .hoodrich-notice-move{color:#ff91aa}.hoodrich-notice-chart[data-tone="flat"] .hoodrich-notice-move{color:#c4d5dd}
.hoodrich-notice-chart .pv-chart{margin:6px 0;width:100%}.hoodrich-notice-chart .pv-chart-svg{display:block;width:100%;height:65px}
.phone-toast .hoodrich-notice-stamp,.hoodrich-notice-stamp{display:block!important;font:400 9px/1.4 'DM Sans',sans-serif;color:#9ebcb5}
@media(max-height:500px){.hoodrich-notice-chart .pv-chart-svg{height:42px}.phone-toast[data-app="Hoodrich"] .phone-toast-open{padding:9px}.hoodrich-notice-quote .pv-number{font-size:17px}}

#cash-found-notice{position:fixed;z-index:110;top:158px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 32px);box-sizing:border-box;padding:14px 20px;border:1px solid #53dca9;border-radius:16px;background:linear-gradient(135deg,#102c28,#12202c);color:#bbffe3;box-shadow:0 8px 28px #0006;font-weight:700;text-align:center;pointer-events:none}#cash-found-notice[hidden]{display:none}

/* Compact controller menus keep their scrollable phone above the button guide. */
@media(max-height:600px){
 .xbox-guide-visible #duber-phone{padding-bottom:calc(8px + max(64px,var(--guide-height,64px)) + env(safe-area-inset-bottom))}
 .xbox-guide-visible #duber-phone[data-app] .duber-device{max-height:calc(100dvh - 16px - max(64px,var(--guide-height,64px)) - env(safe-area-inset-bottom))}
}
