:root{color-scheme:dark;font-family:Inter,Arial,sans-serif;color:#f3f7fa;background:#142d3b;font-size:16px}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input{font:inherit}button{cursor:pointer;color:inherit;background:#182d3bd9;border:1px solid #ffffff24;border-radius:5px;padding:12px 15px;font-size:14px;transition:background .18s,border .18s}button:hover{background:#294658;border-color:#c4eaff70}button:focus-visible,input:focus-visible{outline:2px solid #8ae1ff;outline-offset:3px}button.active,button.selected{background:#c5edf7;color:#122a36;border-color:#c5edf7}#viewport{position:fixed;inset:0}canvas{display:block;width:100%;height:100%;touch-action:none}header{position:fixed;inset:0 0 auto;height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:#0e1c27ef;border-bottom:1px solid #ffffff20;gap:18px}.brand{font-size:19px;font-weight:750;letter-spacing:.13em}.brand span{display:block;letter-spacing:.03em;font-size:12px;font-weight:400;color:#b0c9d7;margin-top:6px}.modebar{display:flex;gap:5px}.places{position:fixed;top:110px;left:28px;width:290px;background:#102330e8;backdrop-filter:blur(16px);padding:23px;border:1px solid #b2d7e128;border-radius:8px}h1{font-size:22px;line-height:1.2;letter-spacing:-.03em;font-weight:550;margin:0 0 9px}.places>p{font-size:14px;line-height:1.5;color:#abc4d2;margin:0 0 22px}.destinations{display:grid;gap:8px}.destinations button{display:flex;text-align:left;justify-content:space-between;align-items:center;font-size:14px;padding:13px 11px}.destinations span{font-size:12px;opacity:.65;margin-left:8px}.roadsearch{display:block;font-size:14px;margin-top:24px;color:#b6d0df}.roadsearch input{display:block;width:100%;margin-top:9px;background:#091b27;border:1px solid #ffffff35;border-radius:4px;padding:11px;color:white;font-size:14px}#findroad{width:100%;margin-top:7px}.places #searchstatus{font-size:13px;margin:8px 0 0}.layers{display:grid;gap:12px;border-top:1px solid #ffffff22;margin-top:22px;padding-top:18px;font-size:14px}.layers input{accent-color:#b2e4ef;margin-right:8px}.camera{position:fixed;right:28px;bottom:86px;display:flex;gap:6px}.camera button{background:#11232ee8}#notice{position:fixed;bottom:94px;left:28px;max-width:540px;background:#102330e8;padding:11px 14px;border-left:2px solid #d1b888;color:#e8dac1;font-size:13px}footer{position:fixed;inset:auto 0 0;background:#0e1c27f5;border-top:1px solid #ffffff22;min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 28px;font-size:12px;color:#b6cbd8}#counts{color:#e2edf3}#position{font-variant-numeric:tabular-nums}#loading{position:fixed;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#102733}#loading h2{font-weight:500;font-size:23px}#loading p{font-size:14px;color:#b5d0df;max-width:500px;text-align:center;padding:0 20px}.spinner{width:30px;height:30px;border:2px solid #ffffff30;border-top-color:#bce9f4;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}dialog{max-width:680px;width:calc(100% - 32px);max-height:85dvh;overflow:auto;border:1px solid #a8cbd448;border-radius:10px;background:#122633;color:#e5f1f6;padding:32px;line-height:1.65}dialog::backdrop{background:#0009;backdrop-filter:blur(5px)}dialog h2{font-size:27px;font-weight:500;margin:0 30px 16px 0}dialog p,dialog dd{font-size:15px;color:#c4d6df}dialog dt{font-weight:600;margin-top:20px}dialog dd{margin:5px 0 0}a{color:#a2ddec}#closeabout,#closeinspect{position:absolute;right:13px;top:10px;border:0;background:transparent;font-size:26px;padding:3px 10px}#inspector{position:fixed;top:110px;right:28px;width:280px;background:#102330ef;border:1px solid #ffffff30;border-radius:8px;padding:24px}#inspector h2{font-size:17px;line-height:1.5;margin:8px 0 15px;overflow-wrap:anywhere}#selectionDetails{font-size:14px;line-height:1.8;color:#c4d8e4}#selectionDetails strong{display:block;color:#eef5f8;font-weight:500}#selectionDetails p{margin:0 0 13px}.sources{border-top:1px solid #ffffff20;padding-top:20px}[hidden]{display:none!important}@media(max-width:760px){header{height:74px;padding:0 14px;gap:10px}.brand{font-size:14px}.brand span{font-size:12px}.modebar button{padding:9px;font-size:12px}header>#info{font-size:12px;padding:9px;max-width:76px}.places{top:90px;left:14px;width:220px;padding:15px}.places h1{font-size:19px}.places>p{font-size:12px;margin-bottom:13px}.destinations{gap:5px}.destinations button{padding:10px 9px;font-size:12px}.roadsearch{margin-top:13px}.layers{font-size:12px;gap:7px;margin-top:12px;padding-top:12px}#notice{left:14px;right:14px;bottom:103px;font-size:12px;max-width:none}footer{font-size:12px;padding:10px 14px;min-height:43px}.help,#position{display:none}.camera{left:14px;right:auto;bottom:53px}.camera button{font-size:12px;padding:10px}#inspector{top:auto;bottom:149px;left:14px;right:14px;width:auto;max-height:40dvh;overflow:auto}.places #searchstatus:empty{display:none}}@media(max-height:720px){.places{max-height:calc(100dvh - 270px);overflow:auto}.places h1{font-size:19px}.places>p{margin-bottom:14px}.roadsearch{margin-top:13px}}
.suncontrol{display:block;font-size:14px;margin-top:18px;color:#c2d8e1}.suncontrol output{float:right;font-size:13px}.suncontrol input{display:block;width:100%;margin:10px 0;accent-color:#e5c28e}button.primary{background:#b9e7f2;color:#102b36;border-color:#b9e7f2;font-weight:600}#drive{width:100%;margin-top:10px;padding:14px}.driving .places,.driving .camera,.driving .modebar,.driving #inspector{display:none!important}.driving #notice{bottom:71px;max-width:470px;font-size:12px}.driveheading{position:fixed;top:104px;left:28px;background:#102330ea;padding:14px 18px;border:1px solid #ffffff25;border-radius:6px}.driveheading strong{display:block;font-size:17px}.driveheading span{display:block;font-size:13px;color:#b8d1dd;margin-top:6px}.speedometer{position:fixed;right:30px;bottom:150px;background:#102330ef;padding:18px 24px;border:1px solid #ffffff30;border-radius:8px;min-width:150px}.speedometer b{font-size:54px;font-weight:500;font-variant-numeric:tabular-nums}.speedometer>span{font-size:12px;margin-left:8px}.speedometer small{display:block;font-size:14px;color:#bbd3df}#minimap{position:fixed;top:104px;right:28px;width:180px;height:180px;border-radius:8px;border:1px solid #abcbd84a}.driveactions{position:fixed;top:305px;right:28px;display:grid;grid-template-columns:1fr 1fr;gap:5px;width:220px}.driveactions button{font-size:12px;padding:10px}.drivehelp{position:fixed;bottom:64px;right:28px;font-size:12px;color:#cde1eb;background:#102330dd;padding:10px}.pedals{position:fixed;bottom:98px;left:28px;display:flex;gap:30px;user-select:none}.pedals>div{display:flex;gap:7px}.pedals button{touch-action:none;min-height:48px;min-width:65px}.pedals button.held{background:#e4f6ff;color:#123344}.driving #position,.driving .help{display:none}@media(max-width:760px){.driveheading{left:14px;top:88px;max-width:calc(100% - 160px);padding:12px}.driveheading strong{font-size:14px}#minimap{width:125px;height:125px;top:88px;right:14px}.driveactions{right:14px;top:226px;width:170px}.speedometer{right:14px;bottom:176px;padding:10px 18px;min-width:118px}.speedometer b{font-size:40px}.pedals{left:14px;right:14px;bottom:98px;justify-content:space-between;gap:12px}.pedals button{font-size:12px;min-width:43px;padding:11px 8px}.pedals>div{gap:4px}.drivehelp{display:none}.driving #notice{bottom:51px;left:14px;right:14px;max-width:none;padding:8px}.suncontrol{margin-top:12px}.places{max-height:calc(100dvh - 255px);overflow:auto}}
#audioPanel{position:fixed;top:188px;left:28px;width:270px;padding:13px 16px;background:#102330f2;border:1px solid #ffffff28;border-radius:7px;max-height:calc(100dvh - 380px);overflow:auto;font-size:14px}#audioPanel summary{cursor:pointer;font-weight:600;padding:3px 0}#audioPanel label{display:block;margin-top:10px;font-size:12px;color:#c4dbe5}#audioPanel select{width:100%;font:inherit;font-size:13px;padding:9px;margin-top:6px;background:#173342;color:white;border:1px solid #ffffff35;border-radius:4px}.audiobuttons{display:flex;gap:6px;margin-top:10px}.audiobuttons button{flex:1;font-size:12px;padding:9px}#audioVolume{width:100%;accent-color:#c7e8f2}#audioVolumeValue{float:right}#radioStatus{font-size:12px;line-height:1.5;color:#c1d4df;margin:10px 0 0}.localmusic input{font-size:12px;width:100%;margin-top:6px}#horn{touch-action:none}@media(max-width:760px){#audioPanel{top:164px;left:14px;width:170px;padding:10px;max-height:calc(100dvh - 340px);font-size:13px}.audiobuttons{gap:4px}.audiobuttons button{padding:8px 4px;font-size:12px}#audioPanel select{font-size:12px}}

.reference-link{display:block;color:#8be4ff;padding:7px 0;text-underline-offset:3px}

.places{max-height:calc(100dvh - 235px);overflow:auto}#inspector{max-height:calc(100dvh - 230px);overflow:auto}#tour{width:100%;margin-top:8px;border-color:#dab574;color:#f2d5a4}#spotActions{position:fixed;top:105px;left:50%;transform:translateX(-50%);background:#102330f2;border:1px solid #b7e0ef50;border-radius:8px;padding:18px;max-width:290px;z-index:4}#spotActions strong{display:block;padding-right:20px;font-size:14px;margin-bottom:12px}#spotActions>div{display:flex;gap:6px}#spotActions button{font-size:12px;padding:9px}#spotActions #closeSpot{position:absolute;right:5px;top:4px;padding:3px 8px;border:0;background:none;font-size:22px}#maplabels{position:fixed;inset:0;pointer-events:none;z-index:1}.maplabel{position:absolute;left:0;top:0;pointer-events:auto;padding:5px 9px;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;background:#142d39de;border:1px solid #b2cddd55;box-shadow:0 2px 10px #0004}.maplabel.business{color:#ffdfa2;border-color:#d9ad6550}header,.places,#inspector,.camera,footer,#notice,#drivehud{z-index:2}#tourOverlay{display:none;position:fixed;left:0;right:0;bottom:9vh;text-align:center;z-index:8;pointer-events:none;color:#fff;text-shadow:0 2px 20px #000}#tourOverlay span{font-size:12px;letter-spacing:.25em}#tourOverlay h2{font-size:clamp(26px,4vw,54px);font-weight:400;margin:12px}#tourOverlay button{pointer-events:auto;background:#152b37bd;margin:4px}.touring #tourOverlay{display:block}.touring header,.touring .places,.touring footer,.touring #notice,.touring .camera,.touring #inspector,.touring #spotActions,.touring #maplabels{display:none!important}#minimap{cursor:crosshair}@media(max-width:760px){#spotActions{top:auto;bottom:152px;width:250px}.maplabel{font-size:10px;max-width:165px}.places{max-height:calc(100dvh - 270px)}}

#drivehud{position:fixed;inset:0;pointer-events:none}#drivehud>*{pointer-events:auto}

#goDrive{width:100%;margin-top:8px}#spotActions>div{flex-wrap:wrap}#driveMode{grid-column:1/-1}

#roadWarning{position:fixed;top:115px;left:50%;transform:translateX(-50%);width:min(390px,48vw);padding:18px;background:#542329f5;border:2px solid #ffaaaa;border-radius:8px;text-align:center;box-shadow:0 8px 30px #0006}#roadWarning strong{font-size:19px;color:#fff}#roadWarning p{font-size:14px;line-height:1.5;margin:10px 0}#roadWarning button{background:#fff;color:#442025;font-weight:bold}#eveningDrive{grid-column:1/-1}#eveningDrive[aria-pressed="true"]{background:#eed2a3;color:#24303b}@media(max-width:760px){#roadWarning{top:auto;bottom:165px;width:80vw}}

#paintColor{display:block;width:100%;height:32px;padding:2px;margin-top:6px;border:1px solid #ffffff44;background:#162b38;border-radius:4px}

#viewport{position:fixed;inset:0;z-index:1}

/* Driving gets the full scene; controls sit at the edges. */
.driving header{height:54px;background:#10232cbd;padding:8px 22px}.driving header .brand span{display:none}.driving header #startShirley{display:none}
.driving .driveheading{top:70px;left:18px}.driving #minimap{top:70px;right:18px;width:145px;height:145px}.driving .driveactions{top:228px;right:18px;width:190px}
.driving #audioPanel{top:155px;left:18px;width:220px}.driving #audioPanel:not([open]){width:auto;max-width:220px}.driving .speedometer{bottom:92px;right:18px;min-width:100px;padding:10px 15px}.driving .speedometer b{font-size:36px}
.driving .pedals{bottom:67px;left:18px;gap:14px}.driving .drivehelp{bottom:35px;right:18px}.driving #notice{bottom:30px;left:18px;padding:5px 10px}.driving footer{height:25px}
@media(max-width:760px){.driving #audioPanel{top:145px;width:170px}.driving #minimap{width:105px;height:105px}.driving .driveactions{top:185px;width:155px}.driving .pedals{bottom:72px;right:18px}.driving .speedometer{bottom:140px}.driving #notice{font-size:11px}.driving header .brand{font-size:15px}}
/* Unified driving dashboard. */
.driving .driveheading{top:76px;left:22px;max-width:calc(100vw - 270px);border-radius:12px;border-left:3px solid #9de1dc;background:#0b1c29e8;box-shadow:0 6px 24px #0003}
.driving #audioPanel{top:auto;bottom:128px;left:22px;width:270px;max-height:calc(100dvh - 265px);border-radius:12px;background:#0b1c29f2}
.driving #audioPanel:not([open]){width:240px;max-width:none}.garageSummary{font-size:14px;letter-spacing:.02em}
.driving .driveactions{top:243px;right:22px;width:190px;background:#0b1c29e8;padding:10px;border:1px solid #ffffff25;border-radius:12px;gap:7px}.driveactions #hudToggle{grid-column:1/-1;background:transparent}
.driving #minimap{top:76px;right:22px;width:190px;height:150px;border-radius:12px;background:#0b1c29}
.driving .speedometer{bottom:65px;right:22px;width:190px;background:#0b1c29ed;border-radius:12px;box-shadow:0 6px 24px #0004}.driving .speedometer b{font-size:46px}.speedometer #gearValue{font-size:17px;color:#a5e8dd;font-weight:700}.speedometer #assistValue{display:block;font-size:12px;color:#b2ccc9;margin:7px 0 0}
.driving .pedals{bottom:65px;left:22px;gap:10px;background:#0b1c29cf;padding:8px;border-radius:12px}.pedals button{border-radius:7px}.driving #notice{bottom:29px;max-width:calc(100vw - 270px)}
.minimal-hud.driving #audioPanel,.minimal-hud.driving #minimap,.minimal-hud.driving .drivehelp,.minimal-hud.driving #notice,.minimal-hud.driving footer,.minimal-hud.driving .pedals{display:none!important}.minimal-hud.driving .driveactions{top:76px;background:transparent;border:0;padding:0}.minimal-hud.driving .driveactions button:not(#hudToggle):not(#exitDrive){display:none}.minimal-hud.driving .speedometer{bottom:20px}
.immersive header{background:transparent}.immersive footer{display:none}
@media(max-width:760px){header{gap:6px;padding:0 12px}header button{font-size:12px;padding:9px}.driving .driveheading{top:65px;left:12px;max-width:calc(100vw - 140px);padding:9px}.driving #minimap{width:110px;height:110px;right:12px;top:65px}.driving .driveactions{top:190px;right:12px;width:150px;padding:7px;gap:4px}.driving .driveactions button{padding:8px 4px}.driving #audioPanel{bottom:138px;left:12px;width:180px;max-height:calc(100dvh - 290px)}.driving #audioPanel:not([open]){width:180px}.driving .speedometer{width:120px;bottom:134px;right:12px;min-width:0}.driving .speedometer b{font-size:32px}.driving .pedals{left:8px;right:8px;bottom:56px;justify-content:space-between;gap:3px}.pedals button{min-width:40px;padding:9px 6px}.driving #notice{font-size:10px;max-width:100%;bottom:26px;left:8px}.minimal-hud.driving .driveactions{top:65px}}
.driving footer{height:24px;min-height:0;padding:4px 12px;background:transparent;border:0;justify-content:flex-end;pointer-events:none}.driving footer a{pointer-events:auto;font-size:11px}.driving footer #counts,.driving #notice{display:none}.driving .drivehelp{left:22px;right:auto;bottom:24px;padding:5px 8px;font-size:11px}.driving .speedometer{bottom:76px}.immersive.driving header{height:42px;border:0;background:transparent}.immersive.driving header .brand,.immersive.driving header #info{visibility:hidden}

.look-controls{position:fixed;bottom:138px;left:50%;transform:translateX(-50%);display:flex;gap:5px;padding:5px;border-radius:12px;background:#10252cdb;border:1px solid #a9dce42b;z-index:12}.look-controls button{font-size:14px;min-height:38px}.look-controls button[aria-pressed="true"]{background:#bcecf2;color:#0c242f}.review-open .look-controls{left:calc(50% + 130px)}@media(max-width:800px){.look-controls{bottom:105px}.review-open .look-controls{display:none}}


#touchReverse,#phoneHud,#sheetToggle,#roadWarning .closeWarn{display:none}
@media(max-width:700px){#phoneHud,#sheetToggle,#roadWarning .closeWarn{display:inline-flex}}

.review-redfin{display:inline-block;margin:6px 0 0;font-size:13px;color:#9fd8e6}
.coverage-legend .photo-key::before{border:2px solid #3ddc84}

/* Who drives: a two-way switch. The filled half is the current mode, the outlined half is the choice you can make. */
#driveMode{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--edge,#ffffff24);border-radius:12px;overflow:hidden;padding:0!important;background:#0e1418}
#driveMode button{border-radius:0!important;border:0!important;margin:0!important;min-height:44px;font-weight:600;background:transparent!important;color:var(--muted,#b7bec3)!important;cursor:pointer;text-indent:0!important}
#driveMode button::before{display:none!important;content:none!important}
#driveMode button[aria-pressed="true"]{color:#fff!important;cursor:default}
#driveMode #autoDrive[aria-pressed="true"]{background:#2f9e57!important;animation:autoPulse 1.8s ease-in-out infinite}
#driveMode #manualDrive[aria-pressed="true"]{background:var(--accent,#edb567)!important;color:#1a1a1a!important}
#driveMode button[aria-pressed="false"]:hover{background:#ffffff14!important;color:#fff!important}
@keyframes autoPulse{0%,100%{box-shadow:inset 0 0 0 0 rgba(255,255,255,0)}50%{box-shadow:inset 0 0 0 3px rgba(255,255,255,.35)}}
#autoBadge{display:none;margin-left:8px;padding:2px 8px;border-radius:999px;background:#2f9e57;color:#fff;font-size:11px;font-weight:700;letter-spacing:.08em;vertical-align:middle}
body.auto-driving #autoBadge{display:inline-block}

#tourLine{display:block;margin-top:4px;font-size:12px;color:#ffd9a0}
#tourList button{text-align:left}

#tourMenu{margin-top:10px}#tourMenu .tourhead{margin:0 0 6px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#b7bec3}
#tourList{display:grid;gap:6px}#tourList .tourrow{display:grid;grid-template-columns:1fr auto auto;gap:4px;align-items:center}
#tourList .tourrow b{font-weight:600;font-size:13px}#tourList .tourrow small{display:block;color:#b7bec3;font-size:11px}
#tourList .tourrow button{min-height:34px;padding:4px 10px;font-size:12px}
#tourOverlay .tourbar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:8px}#tourOverlay select{min-height:34px;border-radius:8px;background:#0e1418;color:#fff;border:1px solid #ffffff2e;padding:4px 8px}
body:not(.tour-flight) #tourOverlay .flightonly{display:none}

#tourOverlay .tourbar{justify-content:center}

.stopcard{display:grid;justify-items:center;gap:6px;margin:8px auto 4px;max-width:340px;text-align:center}.stopcard img{width:100%;max-width:320px;border-radius:12px;box-shadow:0 8px 30px #0008}.stopcard .line{margin:0;font-size:14px;color:#fff}.stopcard .addr{color:#d9dee2;font-size:12px}
#driveCard{position:fixed;left:50%;top:70px;transform:translateX(-50%);z-index:12;background:#0e1418e6;border:1px solid #ffffff24;border-radius:14px;padding:10px 12px 12px;max-width:min(360px,80vw)}#driveCard h3{margin:0;font-size:16px}#driveCard img{max-width:300px}
body.driving.minimal-hud #driveCard{display:none}
