:root{--panel:#181c20ee;--edge:#ffffff24;--ink:#f4f4f2;--muted:#b7bec3;--accent:#edb567;--map-size:clamp(180px,16vw,248px);font-family:Inter,Arial,sans-serif;color:var(--ink);background:#181c20}button{border-radius:12px;background:var(--panel);border-color:var(--edge);font-size:14px;line-height:1.3;min-height:44px}button:hover{background:#30363b;border-color:#ffffff70}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button.primary,button.selected,button.active{background:var(--accent);color:#191c20;border-color:var(--accent)}header,body.immersive header{height:72px;inset:0 24px auto;padding:0;border:0;background:none;gap:12px;pointer-events:none}header>*{pointer-events:auto}.brand{margin-right:auto;font-size:22px;letter-spacing:.2em;text-shadow:0 1px 10px #0008}.brand span{display:none}header>#fullscreen,header>#info{font-size:15px;min-width:106px;padding:12px 20px}body.immersive header .brand,body.immersive header #info{visibility:visible}body.driving .driveheading{top:83px;left:24px;right:auto;border:1px solid var(--edge);border-left:1px solid var(--edge);border-radius:14px;background:var(--panel);padding:16px 22px;max-width:45vw}body.driving .driveheading strong{font-size:19px;letter-spacing:.035em}body.driving .driveheading span{font-size:14px;color:var(--ink);margin-top:6px}body.driving #minimap{top:auto;right:auto;left:24px;bottom:32px;width:var(--map-size);height:var(--map-size);border:9px solid var(--panel);border-radius:16px;box-shadow:0 10px 32px #0003}body.driving .speedometer{top:auto;bottom:32px;right:24px;width:var(--map-size);min-width:0;border:1px solid var(--edge);border-radius:18px;background:var(--panel);padding:20px 24px;box-shadow:0 10px 32px #0003}body.driving .speedometer b{font-size:76px;line-height:1.12;font-weight:400;color:var(--accent);letter-spacing:-.04em}body.driving .speedometer>span{font-size:17px;margin-left:12px}body.driving .speedometer small{padding-top:15px;margin-top:13px;border-top:1px solid #ffffff40;font-size:17px;color:var(--ink)}body.driving #gearValue{font-size:26px;color:var(--ink)}body.driving #assistValue{display:block;font-size:12px;color:var(--muted);margin:8px 0 0}body.driving .driveactions{top:auto;bottom:32px;left:calc(var(--map-size) + 58px);right:calc(var(--map-size) + 58px);width:auto;padding:10px;display:flex;align-items:stretch;gap:6px;border-radius:18px;background:var(--panel);border:1px solid var(--edge);box-shadow:0 10px 32px #0003}body.driving .driveactions button{flex:1;min-width:0;min-height:66px;font-size:14px;padding:8px 6px;border:0;border-radius:12px;background:transparent;white-space:normal}body.driving .driveactions #autoDrive{flex:1.6;background:var(--accent);color:#16191b}body.driving .driveactions button:hover{background:#ffffff16}body.driving .driveactions #autoDrive:hover{background:#f4c781}body.driving .driveactions button:before{content:'';display:block;width:22px;height:22px;margin:0 auto 7px;background:currentColor;mask:var(--icon) center/contain no-repeat}#garageToggle{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 10 12 3l9 7v11h-6v-7H9v7H3Z' fill='none' stroke='black' stroke-width='1.8'/%3E%3C/svg%3E")}#eveningDrive{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.8'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 1v3m0 16v3M1 12h3m16 0h3M4 4l2 2m12 12 2 2M4 20l2-2M18 6l2-2'/%3E%3C/g%3E%3C/svg%3E")}#autoDrive{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.8'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3Cpath d='M3 10h7m4 0h7m-9 4v7'/%3E%3C/g%3E%3C/svg%3E")}#pauseDrive{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 4h4v16H6zm8 0h4v16h-4z'/%3E%3C/svg%3E")}#driveCamera{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h12v14H3Zm12 5 6-4v12l-6-4' fill='none' stroke='black' stroke-width='1.8'/%3E%3C/svg%3E")}#exitDrive{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m3 5 6-2 6 3 6-2v16l-6 2-6-3-6 2Zm6-2v16m6-13v16' fill='none' stroke='black' stroke-width='1.8'/%3E%3C/svg%3E")}body.driving #audioPanel{display:none;top:80px;bottom:132px;left:auto;right:24px;width:320px;max-height:calc(100dvh - 215px);padding:23px;background:var(--panel);border:1px solid var(--edge);border-radius:18px;backdrop-filter:blur(16px);z-index:9}body.driving #audioPanel[open]{display:block}#audioPanel summary{font-size:18px;padding-bottom:8px}#audioPanel label{font-size:14px;color:var(--muted);margin-top:16px}#audioPanel select{font-size:14px;background:#272c31;border-radius:8px;padding:11px}#audioPanel .audiobuttons button{font-size:14px}.garageExtras{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px;padding-top:18px;border-top:1px solid var(--edge)}.garageExtras button{font-size:13px;padding:9px}.garageExtras #tourQuick{grid-column:1/-1;color:var(--accent)}body.driving .pedals{display:none;left:50%;right:auto;bottom:132px;transform:translateX(-50%);background:var(--panel);padding:8px;border-radius:14px;gap:15px}body.driving.touch-controls .pedals{display:flex}body.driving .drivehelp{bottom:8px;left:50%;right:auto;transform:translateX(-50%);background:none;padding:0;margin:0;color:#eee;text-shadow:0 1px 4px #000;font-size:12px}body.driving footer{background:none;min-height:0;padding:4px 24px;border:0;height:24px}#spotActions{top:auto;bottom:146px;left:50%;padding:16px 20px;border-radius:14px;background:var(--panel);max-width:380px}body.driving #spotActions{z-index:6}#roadWarning{top:85px!important;bottom:auto!important;left:50%!important;right:auto!important;transform:translateX(-50%);max-width:360px;background:var(--panel)!important}.places,#inspector{background:var(--panel);border:1px solid var(--edge);border-radius:18px;top:92px;padding:22px;max-height:calc(100dvh - 175px)}.places h1{font-size:24px}.places input[type=search]{background:#282d32;border-radius:8px}.places .destinations button{font-size:14px;border-radius:9px}.places input{accent-color:var(--accent)}dialog{background:#1c2126;border-radius:18px}#tourOverlay button{background:var(--panel);font-size:15px}.camera button{background:var(--panel)}body.driving.minimal-hud .driveactions{display:flex!important}body.driving.minimal-hud #garageToggle{display:block!important}body.driving.minimal-hud #audioPanel[open]{display:block!important}body.driving.minimal-hud .driveactions>button:not(#garageToggle):not(#exitDrive){display:none}body.driving.minimal-hud .driveheading,body.driving.minimal-hud .speedometer{opacity:.8}
@media(max-width:1050px){body.driving .driveactions{left:220px;right:220px;gap:2px;padding:7px}body.driving .driveactions button{font-size:12px;min-height:64px}body.driving .speedometer b{font-size:60px}}
@media(max-width:900px){header,body.immersive header{inset:0 14px auto;height:64px}.brand{font-size:16px}header>#fullscreen,header>#info{min-width:0;padding:8px 12px;font-size:13px}body.driving .driveheading{top:73px;left:14px;padding:11px 15px;max-width:70vw}body.driving .driveheading strong{font-size:16px}body.driving .driveactions{left:14px;right:14px;bottom:28px}body.driving #minimap{left:14px;bottom:126px;width:144px;height:144px;border-width:6px}body.driving .speedometer{right:14px;bottom:126px;width:150px;padding:12px 16px}body.driving .speedometer b{font-size:48px}body.driving .speedometer small{font-size:14px;padding-top:7px;margin-top:5px}body.driving .speedometer>span{font-size:13px}body.driving #gearValue{font-size:20px}body.driving #audioPanel{right:14px;top:72px;width:min(320px,calc(100vw - 28px));bottom:124px;max-height:calc(100dvh - 196px)}body.driving .drivehelp{display:none}body.driving .pedals{bottom:286px;width:max-content;max-width:calc(100vw - 28px);gap:8px}body.driving .pedals button{min-width:40px;min-height:44px;padding:8px;font-size:12px}#spotActions{bottom:300px;width:calc(100vw - 32px)}.places{left:14px;width:280px}.camera{bottom:45px}.touring #tourOverlay{bottom:7vh}}
@media(pointer:coarse){body.driving .pedals{display:flex}}@media(prefers-reduced-motion:reduce){button{transition:none}}
body.driving header{background:transparent;height:72px;border:0}body.driving.minimal-hud .driveactions{top:auto;bottom:32px}body.driving.minimal-hud .speedometer{bottom:32px}@media(max-width:900px){body.driving header{height:64px}body.driving.minimal-hud .driveactions{bottom:28px}body.driving.minimal-hud .speedometer{bottom:126px}}
#reviewToggle{pointer-events:auto}#houseChecklist{position:fixed;z-index:40;left:22px;top:92px;width:340px;max-height:calc(100dvh - 190px);overflow:auto;padding:20px;background:rgba(18,29,34,.97);border:1px solid #64716c;border-radius:18px;color:#eef1e9;box-shadow:0 16px 50px #0005}#houseChecklist[hidden]{display:none}.review-head{display:flex;justify-content:space-between;align-items:start}.review-head small{font-size:9px;letter-spacing:2px;color:#dcc796}.review-head h2{font-size:23px;margin:6px 0}#houseChecklist label{display:block;font-size:12px;margin:12px 0}#houseChecklist select,#houseChecklist input[type=search]{box-sizing:border-box;width:100%;padding:10px;background:#25373e;color:#fff;border:1px solid #637277;border-radius:8px;margin-top:5px}.review-filters{display:grid;gap:4px}.review-current{border-top:1px solid #526064;margin-top:16px;padding-top:16px}.review-current h3{font-size:20px;margin:8px 0}.review-current p,#reviewTotals{font-size:12px;color:#c0cec9}.review-actions{display:flex;gap:5px;margin:8px 0}.review-actions button{flex:1;font-size:11px;padding:10px 4px}#houseChecklist button[aria-pressed=true]{background:#dfc28a;color:#16232b}#reviewList{max-height:160px;overflow:auto;margin:12px 0}.review-row{display:block;width:100%;text-align:left;margin:3px 0;padding:9px}.review-row.selected{border-color:#dfc28a}.review-source{display:block;font-size:10px;color:#9aaea6;line-height:1.5}.address-switch{display:flex!important;gap:8px;align-items:center}#houseAddressLabels{position:fixed;inset:0;z-index:3;pointer-events:none}.house-address{position:absolute;transform:translate(-50%,-100%);pointer-events:auto;padding:5px 9px;border:1px solid #a0a79b;background:#172831e8;color:#fff;font-size:11px;border-radius:6px;white-space:nowrap}.house-address:after{content:'';position:absolute;top:100%;left:50%;height:9px;border-left:1px solid #e9dfbe}.review-open .places{visibility:hidden}.review-open #inspector{display:none}body:not(.driving) .places{background:rgba(19,32,39,.95);border:1px solid #67716b;border-radius:20px;padding:22px;width:280px;top:90px;bottom:105px;overflow:auto}body:not(.driving) .places h1{font-size:26px;line-height:1.1}body:not(.driving) .destinations{display:grid;grid-template-columns:1fr 1fr;gap:6px}body:not(.driving) .destinations button{min-height:48px;margin:0;font-size:12px;text-align:left}body:not(.driving) #nextPhoto{grid-column:1/-1}body:not(.driving) .layers{display:grid;gap:8px;font-size:11px}body:not(.driving) .camera{border-radius:14px;padding:7px;background:#14252de8}.explore-help{font-size:11px;color:#c4d0cc;line-height:1.5;margin:10px 0}#cockpitDash{pointer-events:none;position:fixed;bottom:0;left:28%;width:44%;height:115px;border-radius:90px 90px 0 0;background:linear-gradient(#263238,#0d1418);border-top:3px solid #839397;z-index:4;display:none;box-shadow:0 -10px 30px #0003}body.cockpit-view #cockpitDash{display:block}#cockpitDash:before{content:'';position:absolute;left:18%;top:8px;width:130px;height:130px;border:13px solid #101619;border-radius:50%;box-shadow:inset 0 0 0 2px #777}#cockpitDash span{position:absolute;right:20%;top:35px;font-size:11px;color:#dfc28a} @media(max-width:700px){#houseChecklist{left:12px;right:12px;width:auto;top:78px;max-height:calc(100dvh - 205px)}#reviewToggle{font-size:10px;padding:8px}body:not(.driving) .places{width:235px;left:12px;padding:16px}#cockpitDash{left:18%;width:64%;height:85px}.house-address{font-size:10px}}
