/* AGOOJIYE Universe: vehicle first, controls at the edges. */
:root{--ink:#111a1d;--panel:#142328f5;--gold:#c9ad72;--line:#ffffff26;--muted:#b8c5c8}
.public-play{color:#f5f4ee;background:var(--ink);font-family:Arial,Helvetica,sans-serif;overflow:hidden}
.public-play button,.public-play select{font:inherit;font-size:14px;min-height:44px;border:1px solid var(--line);border-radius:8px;background:#1a2b31;color:inherit;padding:10px 16px}
.public-play button:hover{background:#2b4048}.public-play button:focus-visible,.public-play a:focus-visible,.public-play select:focus-visible,.public-play input:focus-visible,#viewport:focus-visible{outline:3px solid #ebca80;outline-offset:3px}
.public-play button:disabled{opacity:.45}.public-play button.primary,.public-play #drive-mode{background:var(--gold);color:#142125;border-color:var(--gold);font-weight:700}
.public-play header{height:80px;padding:0 clamp(16px,3vw,48px);gap:20px;background:#111a1d;border-bottom:1px solid var(--line);position:relative;z-index:20}
.public-brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:inherit;min-width:180px}.public-brand>img{width:42px;height:42px;object-fit:contain}.public-brand span>img{object-fit:contain;display:block;width:118px;height:28px}.public-brand small{font-size:12px;letter-spacing:4px;color:#b8c5c8;display:block}
.primary-nav{display:flex;gap:8px;margin-left:auto}.public-play #engineering-mode{border:0;background:none;color:inherit}.public-play #engineering-mode[aria-pressed=true]{color:#e3c993}.public-play #mobile-options{background:none}
.public-play main,.public-play.embedded main{display:block;height:calc(100dvh - 80px);min-height:0}.public-play .workspace{height:100%;min-height:0;background:#bcc5c8}
#viewport{inset:0;touch-action:pan-y}.public-play canvas{touch-action:none}
.scene-heading{position:absolute;left:clamp(20px,4vw,64px);top:clamp(20px,4vh,46px);pointer-events:none;color:#17262c}
.scene-heading h1{font-size:clamp(28px,3.4vw,54px);font-weight:500;letter-spacing:-2px;line-height:1.03;margin:16px 0 10px}.scene-heading p{font-size:16px;margin:0;color:#3f5057}
.place-label{display:flex;align-items:center;gap:8px;font-size:12px;letter-spacing:1.5px;font-weight:700}.place-label img{width:24px;height:16px}
.inspection-dock{position:absolute;bottom:70px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:24px;padding:12px 14px;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 32px #17262c22;white-space:nowrap}
.inspect-navigation,.inspect-actions{display:flex;align-items:center;gap:8px}.inspect-navigation>span{font-size:14px;color:var(--muted);padding:0 8px}.inspect-navigation b{font-weight:400;color:#f4e1b8;margin-left:8px}.inspect-navigation button{font-size:22px;width:44px;padding:4px}
.view-caption{position:absolute;right:28px;top:28px;padding:8px 12px;border:1px solid #14232822;background:#eef2f0bf;border-radius:6px;font-size:13px;color:#304047}
.partner-strip{position:absolute;left:clamp(20px,4vw,64px);right:clamp(20px,4vw,64px);bottom:18px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#3c4a50;pointer-events:none}.partner-strip strong{font-weight:600;color:#24363d;margin-left:6px}
#static-preview{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;overflow:hidden;background:radial-gradient(circle at 50% 42%,#e9f1ef 0,#d5e1e1 38%,#b8c8cb 100%);padding:24px}
#static-preview::before{content:"";position:absolute;width:min(72vw,780px);height:min(28vw,300px);border-radius:50%;background:#ffffff55;filter:blur(28px);transform:translateY(18%);pointer-events:none}
.preview-scene{position:relative;width:min(950px,92vw);height:min(65%,460px);display:grid;place-items:center;perspective:900px;isolation:isolate}
.preview-scene>img{position:relative;z-index:2;max-width:100%;width:950px;height:auto;max-height:100%;object-fit:contain;filter:drop-shadow(0 26px 18px #172d342f);transform-origin:50% 58%;animation:preview-flow 6.8s ease-in-out infinite}
.preview-orbit{position:absolute;z-index:1;width:68%;height:24%;border:1px solid #b18b4f88;border-radius:50%;transform:rotateX(68deg) rotateZ(-7deg);box-shadow:0 0 28px #d1a65326;animation:preview-orbit 5.2s linear infinite}
.preview-orbit-a{animation-delay:-1.7s}.preview-orbit-b{width:52%;height:19%;border-color:#ffffffaa;transform:rotateX(68deg) rotateZ(24deg);animation-duration:7.4s;animation-direction:reverse}
.preview-orbit::after{content:"";position:absolute;left:3%;top:50%;width:8px;height:8px;border-radius:50%;background:#c9ad72;box-shadow:0 0 14px #c9ad72;transform:translate(-50%,-50%)}
.preview-copy{position:relative;z-index:3;text-align:center;color:#28383e}.preview-kicker{display:block;font-size:11px;letter-spacing:.16em;color:#80662f;font-weight:700;margin-bottom:4px}
#play-status{color:#28383e;background:#ffffffb8;border-radius:999px;padding:9px 16px;font-size:14px;margin:0;box-shadow:0 6px 20px #243d4320}.preview-progress{height:3px;width:min(240px,55vw);margin:8px auto 0;border-radius:99px;background:#ffffff88;overflow:hidden}.preview-progress i{display:block;width:36%;height:100%;background:#a47d32;border-radius:inherit;animation:preview-progress 2s ease-in-out infinite}
@keyframes preview-flow{0%,100%{transform:translate3d(-1.2%,1%,0) rotateY(-4deg) scale(.97)}50%{transform:translate3d(1.2%,-1%,0) rotateY(4deg) scale(1.02)}}
@keyframes preview-orbit{from{transform:rotateX(68deg) rotateZ(0deg)}to{transform:rotateX(68deg) rotateZ(360deg)}}
@keyframes preview-progress{0%{transform:translateX(-140%)}100%{transform:translateX(330%)}}
@media(prefers-reduced-motion:reduce){.preview-scene>img,.preview-orbit,.preview-progress i{animation:none}.preview-scene>img{transform:none}}
body.lightweight .preview-orbit,body.lightweight .preview-progress{display:none}
body.ready #static-preview{display:none}body.lightweight #static-preview{display:flex}body.lightweight .inspection-dock,body.lightweight .scene-heading,body.lightweight .view-caption{display:none}
body.driving .scene-heading,body.driving .inspection-dock,body.driving .view-caption,body.gdiz-driving .scene-heading,body.gdiz-driving .inspection-dock,body.gdiz-driving .view-caption{display:none}
.public-play #drive-hud{inset:0}.public-play .destination{top:22px;left:28px;max-width:310px;padding:12px 16px;background:var(--panel);border:1px solid var(--line);border-radius:10px}
.destination strong{font-size:16px;font-weight:500;color:#f2d794}.destination p{font-size:14px;line-height:1.4;margin:7px 0 0;color:#cad4d7}
.public-play .camera-bar{right:28px;top:22px;left:auto;gap:4px}.public-play .camera-bar button{background:var(--panel)}.public-play .camera-bar button.active{color:#f2d794;background:#26373c}
.public-play .drive-actions{position:absolute;top:80px;right:28px;gap:6px;display:flex}.public-play .drive-actions button{font-size:13px;background:var(--panel)}
.public-play .pedals{left:28px;right:28px;bottom:66px;display:flex;justify-content:space-between;gap:12px}
.steer-pair,.pedal-pair{display:flex;gap:8px}.public-play .pedals button{height:60px;min-width:60px;touch-action:none;user-select:none;font-size:24px;background:var(--panel)}.public-play [data-pedal=brake]{font-size:14px!important}.public-play [data-pedal=up]{background:var(--gold)!important;color:#142125}
.public-play .speedometer{right:28px;bottom:145px;width:72px;height:72px;border-radius:12px;background:var(--panel);border:1px solid var(--line)}.public-play .speedometer strong{font-size:32px}.public-play .speedometer span{font-size:12px;letter-spacing:0;margin:4px 0 0}
.public-play .driving-help{bottom:22px;left:28px;background:none;color:#f1f4ee;margin:0;padding:0;font-size:12px}.simulation-label{position:absolute;bottom:24px;right:28px;font-size:12px;color:#eff2ec}
.driving .partner-strip{left:50%;right:auto;transform:translateX(-50%);bottom:82px;color:#d9e4e3;background:#182b30c9;padding:6px 12px;border-radius:6px;gap:12px;white-space:nowrap}.driving .partner-strip strong{color:#e9d098}.driving .partner-strip>span{display:none}
.public-play dialog{position:fixed;inset:0 0 0 auto;width:min(420px,100%);max-width:100%;max-height:100dvh;height:100dvh;margin:0;padding:28px;background:#142328;border:0;border-left:1px solid var(--line);border-radius:0;color:#f4f4ee;overflow:auto}
dialog::backdrop{background:#09121788;backdrop-filter:blur(4px)}.menu-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.menu-heading h2{font-size:26px;font-weight:400;margin:0}.menu-heading button{float:none}.menu-field{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:20px 0;font-size:16px}.menu-field select{max-width:190px}.public-finish input{width:52px;height:40px;border:1px solid #ffffff50;border-radius:8px}dialog>button{display:block;width:100%;text-align:left;margin:10px 0}.mode-nav{border-top:1px solid var(--line);padding-top:20px;margin:20px 0}.mode-nav button{width:100%;text-align:left}
.project-links{display:grid;gap:16px;border-top:1px solid var(--line);padding-top:24px}.project-links a{color:#e3cd9f;text-decoration:none;font-size:16px}.menu-note{font-size:13px;line-height:1.6;color:#aebfc4;margin-top:24px}
.skip-link{position:fixed;top:-100px;left:16px;z-index:1000;background:#12252a;color:white;padding:12px}.skip-link:focus{top:8px}.no-script{position:absolute;z-index:10;bottom:10px;background:#142328;padding:10px}
.public-play .gdiz-title{max-width:340px}.public-play .gdiz-map-panel{bottom:70px}.public-play .gdiz-cockpit{bottom:65px}
@media(max-width:760px){
 .public-play header,.public-play.embedded header{height:64px;gap:6px;padding:0 12px}.public-brand{min-width:0;gap:7px}.public-brand>img{width:32px;height:32px}.public-brand span>img{width:84px;height:21px}.public-brand small{font-size:12px;letter-spacing:3px}.primary-nav{gap:0}.public-play header button{padding:8px 11px}.public-play #mobile-options{font-size:0;width:44px;padding:0}.public-play #mobile-options span{font-size:20px}.public-play main,.public-play.embedded main{height:calc(100dvh - 64px)}
 .scene-heading{top:20px;left:20px}.scene-heading h1{max-width:300px;font-size:32px;letter-spacing:-1px;margin:10px 0}.scene-heading p{display:none}.place-label{font-size:12px;letter-spacing:1px}.view-caption{top:150px;right:16px;font-size:12px}
 .inspection-dock{bottom:calc(50px + env(safe-area-inset-bottom,0px));left:12px;right:12px;transform:none;display:block;padding:10px;border-radius:12px;white-space:normal}.inspect-navigation{justify-content:space-between;margin-bottom:8px}.inspect-navigation>span{font-size:13px}.inspect-actions{display:grid;grid-template-columns:1fr 1.2fr}.inspect-actions button{font-size:14px;padding:10px 8px}.partner-strip{left:14px;right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));justify-content:center;font-size:12px}.partner-strip>div{display:none}
 .public-play.driving header{height:60px}.public-play.driving .public-brand{display:none}.public-play.driving .primary-nav{margin-left:0;margin-right:auto}
 .public-play .destination{top:14px;left:14px;right:96px;max-width:none;padding:10px 12px}.public-play .destination p{display:none}.public-play .destination strong{font-size:14px}.public-play .camera-bar{top:68px;left:14px;right:auto}.public-play .camera-bar button{font-size:13px;padding:8px 12px}.public-play .camera-bar [data-shot=roadside],.public-play .camera-bar [data-shot=aerial]{display:none}
 .public-play .drive-actions{top:auto;bottom:calc(128px + env(safe-area-inset-bottom,0px));left:14px;right:auto}.public-play .drive-actions #restart-drive,.public-play .drive-actions #record-drive{display:none}
 .public-play .speedometer{right:14px;top:14px;bottom:auto;width:64px;height:64px}.public-play .pedals{left:12px;right:12px;bottom:calc(40px + env(safe-area-inset-bottom,0px));gap:8px}.public-play .pedals button{min-width:46px;height:58px;padding:8px;font-size:22px}.steer-pair,.pedal-pair{gap:5px}.public-play [data-pedal=down]{min-width:36px}.public-play .driving-help{display:none}.simulation-label{bottom:calc(12px + env(safe-area-inset-bottom,0px));left:0;right:0;text-align:center;font-size:12px}
 .driving .partner-strip{display:none}.public-play .gdiz-map-panel,.public-play .gdiz-ledger>div:nth-child(2),.public-play .gdiz-ledger>div:nth-child(3),.public-play .gdiz-ledger>div:nth-child(5),.public-play .gdiz-ledger>div:nth-child(6){display:none}.public-play .gdiz-settings{display:none}.options-open .gdiz-settings{display:grid}.public-play .gdiz-title{top:14px;left:14px;right:14px;max-width:none}.gdiz-title>span,.gdiz-title h2,.gdiz-title p:not(#gdiz-mission){display:none}.public-play .gdiz-ledger{top:76px;left:14px;right:auto;display:flex;gap:16px;padding:10px}.public-play .gdiz-cockpit{bottom:48px;transform:translateX(-50%) scale(.85)}
 #static-preview{padding:8px}.preview-scene{width:100%;height:min(62%,420px)}.preview-kicker{font-size:10px}#static-preview>img{max-width:100%;max-height:65%}
}
@media(max-height:520px) and (orientation:landscape){.scene-heading h1{font-size:26px}.scene-heading p,.place-label{display:none}.inspection-dock{bottom:18px;left:auto;right:18px;width:360px;display:flex;gap:10px}.inspect-navigation{margin:0}.inspect-navigation>span{display:none}.inspect-actions{display:flex}.inspect-actions button{min-height:44px}.partner-strip{bottom:18px;right:auto;max-width:34%}.public-play .drive-actions{bottom:20px;left:calc(50% - 65px)}.public-play .pedals{bottom:24px}.simulation-label{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Latest direction: a bright, quiet product interface. */
.public-play header{background:#f8faf9;color:#17272d;border-bottom-color:#cfd8d9}
.public-play .public-brand small{color:#5a6b71}
.public-play #mobile-options,.public-play #engineering-mode{color:#283b42}
.public-play #engineering-mode[aria-pressed=true]{color:#746031}
.inspection-dock{background:#fafcfaf2;border-color:#d2dcde;box-shadow:0 8px 30px #2c46551a;color:#24373e}
.inspection-dock button{background:white;color:#24373e;border-color:#cbd5d8}
.inspection-dock button:hover{background:#e9efef}
.inspect-navigation>span{color:#52666f}.inspect-navigation b{color:#795f2c}
.public-play dialog{background:#f8faf9;color:#24373e;border-color:#cdd8dc}
.public-play dialog button,.public-play dialog select{background:#edf2f1;color:#23373e;border-color:#cbd5d8}
.public-play dialog .project-links a{color:#755920}.public-play dialog .menu-note{color:#536870}
.public-play dialog .project-links,.public-play dialog .mode-nav{border-color:#d2dcde}

.interior .scene-heading,.interior .partner-strip{display:none}

.design-details{margin:20px 0}.design-details summary{cursor:pointer;font-size:16px;padding:12px 0}.design-details button{display:block;width:100%;text-align:left;margin:8px 0}

.public-play dialog button{float:none}.public-play dialog .mode-nav,.public-play dialog .project-links{width:100%;clear:both}

/* Embedded landing: one company identity, with inspection options in the scene. */
.public-play.embedded:not(.driving):not(.gdiz-driving) header{position:absolute;top:16px;right:20px;height:44px;padding:0 6px;background:#f8faf9ed;border:1px solid #d0dadd;border-radius:8px}
.public-play.embedded:not(.driving):not(.gdiz-driving) header .public-brand,.public-play.embedded:not(.driving):not(.gdiz-driving) header .primary-nav{display:none}
.public-play.embedded:not(.driving):not(.gdiz-driving) main{height:100dvh}
.public-play.embedded:not(.driving):not(.gdiz-driving) .view-caption{top:76px}
@media(max-width:760px){.public-play.embedded:not(.driving):not(.gdiz-driving) .scene-heading{max-width:calc(100% - 85px)}.public-play.embedded:not(.driving):not(.gdiz-driving) .view-caption{top:150px}}
.destination-choices{display:flex;gap:8px;flex-wrap:wrap;max-width:560px;margin-top:18px;pointer-events:auto}.destination-choices button{background:#f9fbfaeF;border:1px solid #a8b8b7;border-radius:7px;padding:11px 14px;color:#173b39;font-size:14px;cursor:pointer}.destination-choices button[data-world="gdiz"]{background:#173b39;color:white}.destination-choices button:disabled{opacity:.5}.destination #route-name{display:block;font-size:14px;color:#e3c481;margin-bottom:8px}.ride-ledger{position:absolute;right:22px;bottom:166px;background:#f8fbf4ee;color:#173b39;border-radius:9px;padding:12px 16px;display:grid;gap:5px}.ride-ledger span,.ride-ledger small{font-size:12px}.ride-ledger strong{font-size:24px}.industrial-application a{color:inherit}
.gdiz-title{top:16px;left:16px;padding:12px 16px;max-width:330px}.gdiz-title h2{font-size:22px}.gdiz-title>span{font-size:12px;letter-spacing:.05em}.gdiz-title p{font-size:14px}.gdiz-ledger{top:16px;right:16px;min-width:300px;padding:12px;gap:12px}.gdiz-ledger span{font-size:11px;letter-spacing:0}.gdiz-map-panel{top:185px;left:16px}.gdiz-settings{top:185px;right:16px;display:block;width:240px}.gdiz-settings:not([open]),.gdiz-map-panel:not([open]){width:auto;padding:12px}.gdiz-settings summary,.gdiz-map-panel>summary{font-size:14px;cursor:pointer;pointer-events:auto}.gdiz-settings[open] label{margin-top:10px;font-size:14px}.gdiz-settings[open] button{margin:8px 3px 0 0;font-size:13px!important}.gdiz-map-panel p,.gdiz-map-panel small,.gdiz-map-panel a{font-size:13px}.gdiz-cockpit{border-radius:12px;background:#163534de}.gdiz-cameras{bottom:12px}
@media(max-width:760px){.destination-choices{gap:5px;margin-top:8px;max-width:290px}.destination-choices button{font-size:12px;padding:7px 8px}.scene-heading h1{font-size:32px}.scene-heading>p{display:none}.ride-ledger{right:10px;bottom:168px;padding:8px 10px}.ride-ledger strong{font-size:18px}.ride-ledger small{font-size:11px}.gdiz-title{left:8px;top:8px;max-width:56%;padding:8px}.gdiz-title>span,.gdiz-title h2,.gdiz-title>p:not(#gdiz-mission),.gdiz-title small{display:none}.gdiz-title #gdiz-mission{font-size:13px;margin:0}.gdiz-ledger{right:8px;top:8px;width:36%;min-width:0;grid-template-columns:1fr;padding:8px;gap:5px}.gdiz-ledger>div:nth-child(3),.gdiz-ledger>div:nth-child(5),.gdiz-ledger>div:nth-child(6){display:none}.gdiz-ledger span{font-size:10px}.gdiz-ledger strong{font-size:14px}.gdiz-map-panel{top:118px;left:8px;max-width:42%;max-height:38%}.gdiz-settings{top:165px;right:8px;max-width:48%;max-height:44%}.gdiz-cockpit{left:8px;right:8px;transform:none;bottom:50px;justify-content:space-between;padding:9px;gap:8px}.gdiz-gauge{width:55px}.gdiz-gauge strong{font-size:26px}.gdiz-cockpit .wheel-control{width:70px}.gdiz-pedals{width:145px}.gdiz-pedals button{min-height:40px;font-size:12px}.gdiz-cameras{gap:4px}.gdiz-cameras button{font-size:12px}}

#map-panel{position:absolute;z-index:8;left:18px;bottom:75px;background:#f7faf4f2;color:#173b39;border:1px solid #afbfbc;border-radius:8px;padding:10px 12px;max-width:350px;pointer-events:auto}#map-panel summary{font-size:14px;cursor:pointer}#map-panel canvas{width:100%;height:auto;margin-top:8px}#map-panel a{display:block;font-size:12px;color:#1b6257;margin:7px 0}#map-panel p,#map-panel small{font-size:12px;line-height:1.4}#map-panel.historical-map,.gdiz-driving #map-panel{display:none}.driving #map-panel{bottom:145px;max-width:290px}@media(max-width:760px){#map-panel{left:8px;bottom:95px;max-width:250px;padding:8px}.driving #map-panel{bottom:155px;max-width:230px}#map-panel[open]{max-height:46vh;overflow:auto}}

@media(max-width:760px){body:not(.driving) #map-panel{bottom:190px}}

#map-panel img{display:block;width:100%;height:auto;border-radius:4px;margin:8px 0}#map-panel[open]{max-height:65vh;overflow:auto}#local-landmark{font-weight:600}#map-panel a{font-size:14px} .simulation-label{padding:3px 6px;background:#14342d99;border-radius:3px}

/* Icon-first commands; accessible names remain in the buttons. */
.camera-bar [data-shot="chase"],.gdiz-cameras [data-gcamera="follow"]{font-size:0!important;min-width:44px!important;width:46px;height:44px!important;padding:10px!important;display:inline-grid;place-items:center;vertical-align:middle}
.camera-bar [data-shot="chase"]::before,.gdiz-cameras [data-gcamera="follow"]::before{content:"";display:block;width:23px;height:23px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%226%22%20width%3D%2218%22%20height%3D%2214%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22m8%206%202-3h4l2%203%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2213%22%20r%3D%224%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat}
.camera-bar [data-shot="driver"],.gdiz-cameras [data-gcamera="driver"]{font-size:0!important;min-width:44px!important;width:46px;height:44px!important;padding:10px!important;display:inline-grid;place-items:center;vertical-align:middle}
.camera-bar [data-shot="driver"]::before,.gdiz-cameras [data-gcamera="driver"]::before{content:"";display:block;width:23px;height:23px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%222%22%2F%3E%3Cpath%20d%3D%22M3%2010h7m4%200h7m-9%204v7%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat}
.camera-bar [data-shot="roadside"]{font-size:0!important;min-width:44px!important;width:46px;height:44px!important;padding:10px!important;display:inline-grid;place-items:center;vertical-align:middle}
.camera-bar [data-shot="roadside"]::before{content:"";display:block;width:23px;height:23px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%222%22%20y%3D%227%22%20width%3D%2220%22%20height%3D%2210%22%20rx%3D%222%22%2F%3E%3Ccircle%20cx%3D%226%22%20cy%3D%2218%22%20r%3D%222%22%2F%3E%3Ccircle%20cx%3D%2218%22%20cy%3D%2218%22%20r%3D%222%22%2F%3E%3Cpath%20d%3D%22M6%207v5h12V7%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat}
.camera-bar [data-shot="aerial"],.gdiz-cameras [data-gcamera="map"]{font-size:0!important;min-width:44px!important;width:46px;height:44px!important;padding:10px!important;display:inline-grid;place-items:center;vertical-align:middle}
.camera-bar [data-shot="aerial"]::before,.gdiz-cameras [data-gcamera="map"]::before{content:"";display:block;width:23px;height:23px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m3%206%206-3%206%203%206-3v15l-6%203-6-3-6%203Z%22%2F%3E%3Cpath%20d%3D%22M9%203v15m6-12v15%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat}
#cinematic{font-size:0!important;min-width:44px!important;width:46px;height:44px!important;padding:10px!important;display:inline-grid;place-items:center;vertical-align:middle}
#cinematic::before{content:"";display:block;width:23px;height:23px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m8%204%2012%208-12%208Z%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat}
#restart-drive{font-size:0!important;min-width:44px!important;width:46px;height:44px!important;padding:10px!important;display:inline-grid;place-items:center;vertical-align:middle}
#restart-drive::before{content:"";display:block;width:23px;height:23px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%204v6h6%22%2F%3E%3Cpath%20d%3D%22M4%2010a8%208%200%201%201%201%208%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat}
#record-drive{font-size:0!important;min-width:44px!important;width:46px;height:44px!important;padding:10px!important;display:inline-grid;place-items:center;vertical-align:middle}
#record-drive::before{content:"";display:block;width:23px;height:23px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%222%22%20y%3D%226%22%20width%3D%2214%22%20height%3D%2212%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22m16%2010%206-4v12l-6-4%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat}
#mobile-options{font-size:0!important;min-width:44px!important;width:46px;height:44px!important;padding:10px!important;display:inline-grid;place-items:center;vertical-align:middle}
#mobile-options::before{content:"";display:block;width:23px;height:23px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%206h16M4%2012h16M4%2018h16%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat}
.pedals [data-pedal="brake"]{font-size:0!important;min-width:44px!important;width:46px;height:44px!important;padding:10px!important;display:inline-grid;place-items:center;vertical-align:middle}
.pedals [data-pedal="brake"]::before{content:"";display:block;width:23px;height:23px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%227%22%2F%3E%3Cpath%20d%3D%22M3%206a11%2011%200%200%200%200%2012M21%206a11%2011%200%200%201%200%2012M12%208v5m0%203v.2%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat}
.public-play .destination{max-width:230px;padding:12px 14px}.public-play .destination #route-name{font-size:13px;letter-spacing:0}.public-play .destination #mission{font-size:13px;margin:4px 0 0}.public-play .destination #pickup-progress{font-size:18px;margin:8px 0 0}.public-play .drive-actions,.public-play .camera-bar{gap:6px}.public-play .drive-actions{top:78px}.public-play .driving-help{display:none}.public-play .ride-ledger small{display:none}.public-play .ride-ledger{padding:8px 12px}.public-play .ride-ledger span{font-size:11px}.public-play .scene-heading>p,.public-play .view-caption{display:none}.public-play .inspect-navigation span{font-size:0}.public-play .inspect-navigation b{font-size:15px}.public-play .scene-heading h1{font-size:clamp(26px,4vw,52px)}@media(max-width:760px){.public-play .destination{max-width:52%;padding:8px}.public-play .destination #mission{font-size:12px}.public-play .destination #route-name{font-size:12px}.public-play .camera-bar{gap:4px;right:8px}.public-play .camera-bar button{width:40px;min-width:40px!important;height:40px!important}.public-play .drive-actions{top:58px}.public-play .simulation-label{font-size:10px}.public-play .scene-heading h1{font-size:28px}.public-play .inspection-dock{gap:12px}.public-play .inspect-actions button{font-size:14px}}

.public-play .ride-ledger{right:108px}@media(max-width:760px){.public-play .ride-ledger{right:10px}}

#mobile-options>span{display:none}
@media(max-width:760px){.public-play .destination{left:12px;top:14px;width:calc(100% - 110px);max-width:none;padding:8px 10px}.public-play .destination #pickup-progress{font-size:16px;margin:4px 0 0}.public-play .camera-bar{top:92px!important;left:auto!important;right:12px!important;bottom:auto!important;width:auto!important;transform:none!important;display:flex!important;gap:4px;flex-wrap:nowrap}.public-play .camera-bar button{display:inline-grid!important}.public-play .drive-actions{top:92px!important;left:12px!important;right:auto!important;bottom:auto!important;display:flex!important}.public-play #cinematic{height:40px!important;width:44px!important}.public-play .destination #mission{display:none}.public-play .drive-actions #restart-drive,.public-play .drive-actions #record-drive{display:none}}

/* One compact energy instrument; technical assumptions open only on demand. */
#energy-hud{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);z-index:12;display:flex;align-items:center;gap:10px;padding:5px 9px;border:1px solid #abc0b3;background:#fbfdf8f5;color:#203a32;border-radius:30px;box-shadow:0 4px 18px #12352c20;font-size:14px;pointer-events:auto}
#energy-hud[hidden]{display:none}#energy-details>summary{display:flex;align-items:center;gap:7px;cursor:pointer;list-style:none;min-height:34px}#energy-details>summary::-webkit-details-marker{display:none}
.battery-shell{width:25px;height:14px;border:1.5px solid currentColor;border-radius:3px;padding:2px;display:inline-flex}.battery-shell i{display:block;height:100%;background:#388766;max-width:100%}
#energy-net{font-size:12px;min-width:46px}#energy-hud[data-state="low"] .battery-shell i{background:#b34d36}#energy-hud[data-state="charging"] .battery-shell{color:#248457}
#energy-charge{width:36px;height:36px;min-height:36px;border-radius:50%;padding:0;background:#1b493c;color:#fff;font-size:20px;border:0}#energy-charge:disabled{opacity:.45}
.energy-popover{position:absolute;bottom:58px;left:50%;transform:translateX(-50%);width:min(330px,90vw);max-height:min(440px,55dvh);overflow:auto;padding:18px;background:#fff;color:#233b34;border:1px solid #bccbbf;border-radius:14px;box-shadow:0 8px 30px #173b3528}
.energy-popover strong{font-size:18px}.energy-popover p{margin:10px 0;font-size:14px}.energy-popover small{display:block;font-size:13px;line-height:1.5;margin:10px 0}.energy-popover select{width:100%;padding:10px;border:1px solid #b8c6bd;border-radius:7px;background:white;color:#213e32}.energy-popover label{display:block;margin:12px 0 5px}
@media(max-width:700px){#energy-hud{bottom:94px;gap:6px;padding:4px 7px;font-size:12px;white-space:nowrap}#energy-net{font-size:12px;min-width:42px}#energy-charge{width:32px;height:32px;min-height:32px}.energy-popover{white-space:normal}}
@media(max-height:560px) and (min-width:701px){#energy-hud{bottom:18px}.energy-popover{max-height:60dvh}}

.gdiz-driving #energy-hud{bottom:224px}@media(max-width:760px){.gdiz-driving #energy-hud{bottom:210px}}
.culture-details p{font-size:14px;line-height:1.6}.culture-details a{display:block;margin:12px 0;font-size:14px;color:#765e2e}

.gdiz-map-panel:not([open]),.gdiz-settings:not([open]){height:auto!important;min-height:0!important;max-height:none!important}
.gdiz-map-panel:not([open])>*:not(summary),.gdiz-settings:not([open])>*:not(summary){display:none!important}
@media(min-width:761px){.gdiz-cockpit{gap:18px;padding:9px 18px}.gdiz-cockpit #gdiz-wheel{width:72px;height:72px;border-width:7px}.gdiz-cockpit #gdiz-wheel:before,.gdiz-cockpit #gdiz-wheel:after{width:24px;top:26px}.gdiz-cockpit #gdiz-wheel i{height:24px}.gdiz-cockpit .wheel-control{width:86px}.gdiz-gauge strong{font-size:36px}.gdiz-cameras>span{display:none}.gdiz-driving #energy-hud{bottom:192px}}

.public-play .gdiz-map-panel:not([open]){bottom:auto}
@media(max-width:760px){
.public-play .gdiz-cockpit{left:8px;right:8px;transform:none!important;bottom:54px;width:auto;box-sizing:border-box;gap:6px;padding:8px}
.public-play .gdiz-cockpit .wheel-control{width:76px;flex-shrink:0}.public-play .gdiz-cockpit .gdiz-pedals{width:138px;flex-shrink:0}
.public-play .gdiz-map-panel,.public-play .gdiz-settings{display:block;top:158px;bottom:auto;max-width:calc(100% - 30px);max-height:45%;z-index:10}
.public-play .gdiz-map-panel{left:14px;right:auto}.public-play .gdiz-settings{right:14px;left:auto}
.public-play .gdiz-map-panel[open]{width:260px}.public-play .gdiz-settings[open]{width:240px}
.public-play .gdiz-map-panel summary,.public-play .gdiz-settings summary{font-size:19px}
}

@media(max-width:760px){.public-play .gdiz-cockpit{bottom:62px}.public-play.gdiz-driving #energy-hud{bottom:222px}}

@media(max-width:760px){.public-play:not(.gdiz-driving) #energy-hud{bottom:106px}}

/* A visit to watch first; driving controls appear only when requested. */
.public-play .public-brand>img,.public-play .public-brand small,.public-play .primary-nav{display:none!important}
.public-play .public-brand{min-width:120px}.public-play .public-brand span>img{width:120px;height:32px}
.public-play.embedded header .public-brand{display:none!important}
.public-play header{height:64px;gap:10px;padding:0 18px}.public-play main,.public-play.embedded main{height:calc(100dvh - 64px)}
.tour-navigation{display:flex;align-items:center;gap:8px;margin-left:auto}.tour-navigation button{white-space:nowrap;font-size:15px;background:transparent;color:#253e37;border-color:#c6d2cb}
.public-play #tour-toggle{background:#d1b575;color:#20332d;font-weight:600}.public-play #tour-pause{width:44px;padding:0;font-size:22px}
.public-play .destination-choices{display:none!important}
.public-play .scene-heading{display:none}.public-play .drive-actions #cinematic,.public-play .gdiz-cameras #gdiz-assist{display:none!important}
.public-play.tour-guided .pedals,.public-play.tour-guided .gdiz-cockpit,.public-play.tour-guided .drive-actions{display:none!important}
.public-play.tour-guided .gdiz-cameras{bottom:86px}.public-play.tour-guided #energy-hud{bottom:28px}
.tour-support{position:absolute;right:20px;bottom:28px;z-index:12;background:#21483c;color:white;padding:12px 18px;border-radius:7px;text-decoration:none;font-size:15px;font-weight:600}
.public-play:not(.tour-guided) .tour-support{display:none}.public-play.tour-guided .ride-ledger{bottom:86px;right:20px}.public-play.tour-guided .partner-strip{bottom:85px}
.public-play.tour-guided .simulation-label{bottom:4px;font-size:11px;background:transparent;color:#233b34}
.public-play #destination-dialog{inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(430px,94vw);height:auto;max-height:92dvh;padding:20px;border:1px solid #d2dcd5;border-radius:16px;background:#fafbf8;color:#203a33;overflow:auto}
.destination-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:16px}.destination-heading h2{font-size:22px;margin:0}.destination-heading button{padding:6px 12px;min-width:44px}
.destination-map{position:relative;aspect-ratio:320/384;width:100%;isolation:isolate;background:#e0e7dd;overflow:hidden;border-radius:9px;border:1px solid #bdcbbf}
.destination-tiles{position:absolute;inset:0;z-index:-1}.destination-tiles img{position:absolute;width:80%;height:66.6667%;max-width:none}
.destination-map button{position:absolute;transform:translate(-50%,-100%);width:144px;min-height:50px;padding:6px 8px;background:#fff!important;color:#244237!important;border:2px solid #a78a4d!important;box-shadow:0 3px 10px #17322630}
.destination-map button:after{content:'';position:absolute;left:calc(50% - 5px);bottom:-7px;width:10px;height:10px;background:#a78a4d;transform:rotate(45deg)}
.destination-map button b{display:block;font-size:16px}.destination-map button small{display:block;font-size:12px;margin-top:3px}.destination-map button:hover{background:#fff3ce!important}
.map-attribution{display:block;text-align:right;font-size:12px;color:#244237;margin:6px 0}.destination-note{font-size:14px;line-height:1.5}.destination-sources{font-size:13px}.destination-sources a,.destination-sources small{display:block;margin:9px 0}
@media(max-width:760px){
.public-play header,.public-play.embedded header,.public-play.driving header{height:60px;padding:0 8px;gap:4px}.public-play header .public-brand{display:none!important}
.public-play main,.public-play.embedded main{height:calc(100dvh - 60px)}
.tour-navigation{gap:4px;margin:0;flex:1}.tour-navigation button{font-size:13px;padding:7px 8px}.public-play #tour-toggle{flex:1}.public-play #tour-pause{width:44px;min-width:44px}
.public-play #mobile-options{width:44px;min-width:44px!important;padding:7px!important}
.public-play.tour-guided .tour-support{bottom:22px;right:12px;left:12px;text-align:center;padding:12px}
.public-play.tour-guided #energy-hud{bottom:80px}.public-play.tour-guided .gdiz-cameras{bottom:134px}
.public-play.tour-guided .ride-ledger{bottom:142px;right:12px}
.public-play.tour-guided #map-panel{bottom:142px}
.public-play #destination-dialog{padding:14px}.destination-heading h2{font-size:20px}.destination-map button{width:134px}
}

.public-play.embedded header{position:relative!important;top:auto!important;right:auto!important;width:auto!important;border-radius:0!important}
.public-play.embedded:not(.driving):not(.gdiz-driving) main{height:calc(100dvh - 64px)}
@media(max-width:760px){.public-play.embedded:not(.driving):not(.gdiz-driving) main{height:calc(100dvh - 60px)}}

/* Keep participation outside the scene; the gamepad is the primary ride action. */
.public-play .workspace>#tour-toggle{position:absolute;right:20px;bottom:28px;z-index:12;display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 20px;border:1px solid #a98b4a;border-radius:10px;box-shadow:0 3px 14px #16332826;font-size:16px}
#tour-toggle>span[aria-hidden]{font-size:23px;line-height:1}.tour-navigation #tour-toggle{display:flex;align-items:center;justify-content:center;gap:7px}
.energy-info{font-size:17px;color:#376654}.energy-breakdown{margin:14px 0}.energy-breakdown>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #e1e8e2;font-size:13px}.energy-breakdown dd{margin:0;font-weight:600;white-space:nowrap}.energy-breakdown>div:last-child{color:#244e3f}.energy-popover{max-height:min(520px,60dvh);overscroll-behavior:contain}
@media(max-width:760px){.public-play .workspace>#tour-toggle{left:12px;right:12px;bottom:22px;width:calc(100% - 24px);min-height:48px}.tour-navigation #tour-toggle{font-size:13px}.energy-popover{max-height:55dvh}}

#energy-hud{width:min(570px,calc(100% - 24px));box-sizing:border-box;justify-content:space-around;border-radius:12px;padding:8px 12px;gap:8px}
#energy-details>summary{display:grid;grid-template-columns:25px auto 18px;gap:3px 6px}#energy-details>summary>small{font-size:12px;grid-column:1/4;text-align:center}#energy-details #energy-net{display:none}
.energy-metric{display:flex;flex-direction:column;align-items:center;gap:5px;white-space:nowrap;font-size:13px}.energy-metric small{font-size:12px}
.public-play.tour-guided #energy-hud{bottom:90px}.public-play.tour-guided .partner-strip{bottom:178px}.public-play.tour-guided .ride-ledger{bottom:184px}
@media(max-width:760px){#energy-hud{padding:6px;gap:5px}.energy-metric{font-size:12px}.public-play.tour-guided #energy-hud{bottom:84px}.public-play.tour-guided .ride-ledger,.public-play.tour-guided #map-panel{bottom:170px}.public-play.tour-guided .gdiz-cameras{bottom:180px}}

.public-play button,.public-play .pedals,.public-play .gdiz-pedals{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}
.public-play [data-pedal],.public-play [data-gpedal]{touch-action:none;transition:background-color .08s,box-shadow .08s,transform .08s}
.public-play [data-pedal].is-pressed,.public-play [data-gpedal].is-pressed{background:#e4bd60!important;color:#193b31!important;box-shadow:inset 0 0 0 3px #315848,inset 0 3px 7px #17352c55;transform:translateY(2px)}
@media(prefers-reduced-motion:reduce){.public-play [data-pedal],.public-play [data-gpedal]{transition:none;transform:none!important}}

@media(min-width:761px){.public-play.tour-guided .ride-ledger{bottom:86px}}

.public-play #destination-dialog .destination-heading{position:sticky;top:-14px;z-index:3;background:#fafbf8;padding:8px 0}.public-play #close-destinations{min-width:92px;min-height:44px;white-space:nowrap;font-size:14px}
#map-panel[open],.public-play .gdiz-map-panel[open]{max-height:min(430px,52dvh)!important;overflow:auto;overscroll-behavior:contain}
#map-panel>summary,.gdiz-map-panel>summary{min-height:44px;display:flex;align-items:center;gap:8px;list-style:none}
#map-panel[open]>summary,.gdiz-map-panel[open]>summary{position:sticky;top:-8px;background:#f7faf4;z-index:3;color:#173b39;padding:5px 0;border-bottom:1px solid #c3d0c4}
.map-collapse{display:none;font-size:13px;font-weight:600;margin-left:auto;padding-left:10px}
details[open]>summary .map-collapse{display:inline}#map-panel:not([open])>summary>span:not(.map-collapse){font-size:13px}
@media(max-width:760px){.public-play #map-panel[open],.public-play .gdiz-map-panel[open]{max-width:calc(100% - 24px)!important;width:320px!important}.destination-heading h2{font-size:18px}}

.project-fact{position:absolute;top:18px;left:50%;transform:translateX(-50%);width:min(380px,calc(100% - 28px));box-sizing:border-box;z-index:7;display:flex;align-items:flex-start;gap:8px;padding:10px 10px 10px 14px;border-radius:10px;background:#f8faf2ec;color:#244237;box-shadow:0 2px 12px #1c3e3214;pointer-events:none}
.project-fact[hidden]{display:none}.project-fact strong{display:block;font-size:14px;line-height:1.3}.project-fact span{display:block;font-size:12px;line-height:1.4;margin-top:4px}.project-fact button{pointer-events:auto;min-width:44px;min-height:44px;padding:0;flex-shrink:0;border:0;background:transparent;color:#244237;font-size:22px}
@media(max-width:760px){.project-fact{top:146px;width:calc(100% - 28px);padding:8px 6px 8px 12px}.project-fact strong{font-size:13px}.project-fact span{font-size:12px}.public-play.gdiz-driving .project-fact{top:210px}}

.mission-celebration{width:min(490px,calc(100vw - 28px));max-height:calc(100dvh - 28px);overflow-y:auto;border:0;border-radius:18px;padding:32px 26px 22px;background:#f6f9f1;color:#204132;text-align:center;box-shadow:0 24px 90px #0b231a66}.mission-celebration::backdrop{background:#0a201a9e;backdrop-filter:blur(4px)}.mission-close{position:absolute;right:8px;top:8px;min-width:44px;min-height:44px;border:0;background:transparent;color:#204132;font-size:26px}.win-check{display:inline-grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#dcead8;color:#28583c;font-size:30px;margin:0 0 15px}.mission-celebration h2{font-size:30px;line-height:1.1;margin:0 0 12px}.mission-celebration p{font-size:16px;line-height:1.5;margin:0 0 20px}.win-progress{background:#e6eddf;padding:15px;border-radius:8px;text-align:left}.win-progress strong{font-size:16px}.win-progress span{font-size:14px;display:block}.win-progress progress{width:100%;height:8px;margin:12px 0;display:block;accent-color:#356c4d}.win-actions{display:grid;gap:10px;margin:22px 0 14px}.win-actions>*{display:flex;justify-content:center;align-items:center;min-height:50px;padding:12px;border:0;border-radius:7px;font-size:17px;font-weight:650;background:#28583c;color:white;text-decoration:none}.win-actions>a{background:#e2bc65;color:#204132}.win-join{display:block;font-size:14px;min-height:44px;padding:12px 0;color:#28583c;text-underline-offset:3px}.win-replay{margin:5px auto 12px;min-height:44px;padding:10px 20px;border:1px solid #9eaf9b;border-radius:7px;background:transparent;color:#28583c;font-size:16px}.mission-celebration small{font-size:11px;line-height:1.5;color:#5a6e60;display:block}.mission-confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none;border-radius:18px}.mission-confetti i{position:absolute;top:-18px;left:var(--x);width:7px;height:13px;opacity:0;animation:mission-confetti-fall 3s var(--delay) ease-out forwards;transform:rotate(var(--turn))}@keyframes mission-confetti-fall{0%{opacity:1;translate:0 0}85%{opacity:1}100%{opacity:0;translate:25px 650px;rotate:500deg}}@media(prefers-reduced-motion:reduce){.mission-confetti{display:none}}@media(max-width:480px){.mission-celebration{padding:28px 20px 18px}.mission-celebration h2{font-size:27px}.win-check{width:46px;height:46px;margin-bottom:12px}.mission-celebration p{font-size:14px;margin-bottom:14px}.win-actions{margin-top:16px}}

/* Mission cards stay above the ride; the settings drawer styles must not apply. */
.public-play dialog.mission-celebration{inset:18px auto auto 50%;transform:translateX(-50%);width:min(650px,calc(100% - 24px));height:auto;max-height:calc(100dvh - 36px);margin:0;padding:20px;border:1px solid #d3e0d6;border-radius:18px;background:#f8faf4;color:#204132;overflow:auto;box-sizing:border-box}
.public-play dialog.mission-celebration::backdrop{background:#10271f26;backdrop-filter:none}
.public-play dialog.mission-celebration .mission-close{position:absolute;top:4px;right:4px;width:44px;min-height:44px;margin:0;padding:0;text-align:center;background:transparent;border:0;color:#204132}
.mission-celebration .win-check{width:32px;height:32px;font-size:22px;margin:0 0 5px}
.mission-celebration h2{font-size:23px;margin:0 28px 6px}
.mission-celebration p{font-size:14px;line-height:1.3;margin:0 0 10px}
.mission-celebration .win-progress{padding:10px 12px}
.mission-celebration .win-progress strong{font-size:14px}
.mission-celebration .win-progress span{font-size:12px}
.mission-celebration .win-progress progress{margin:6px 0}
.mission-celebration .win-actions{grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 4px}
.public-play dialog.mission-celebration [data-win-support]{background:#246746;color:#fff;border:0}
.public-play dialog.mission-celebration .win-actions a{background:#e2bc65;color:#173c2c}
.mission-celebration .win-actions>*{font-size:15px;padding:10px;min-height:52px;box-sizing:border-box;border-radius:12px}
.mission-celebration .win-join{display:inline-flex;align-items:center;font-size:12px;padding:4px 8px;min-height:36px}
.public-play dialog.mission-celebration .win-replay{display:inline-flex;width:auto;align-items:center;justify-content:center;margin:4px 8px;min-height:44px;padding:8px 16px;border-radius:10px;background:#e6efdf;color:#244f37}
.mission-celebration small{font-size:10px;margin-top:3px}
@media(max-width:480px){.public-play dialog.mission-celebration{padding:16px 12px;inset:12px auto auto 50%}.mission-celebration h2{font-size:21px}.mission-celebration .win-actions>*{font-size:13px}.mission-celebration p{font-size:13px}}

.mission-celebration .win-secondary{display:flex;align-items:center;justify-content:center;gap:6px}.mission-celebration .win-secondary>*{flex:1}.mission-celebration .win-join{justify-content:center}@media(max-width:480px){.mission-celebration h2{font-size:19px;margin:0 16px 6px}.mission-celebration .win-progress span{font-size:11px}.mission-celebration .win-actions a{font-size:12px}}

.public-play .public-brand small{font-size:10px;line-height:1.3;letter-spacing:0;color:#295542;font-weight:600;white-space:nowrap}.public-play:not(.embedded).driving .public-brand{display:flex}

/* Clear driving actions and compact, optional project facts. */
.public-play #tour-toggle{background:#b82d31;color:#fff;border-color:#b82d31;font-weight:750}
.public-play #tour-toggle:focus-visible{outline:3px solid #fff;outline-offset:3px}
.public-play [data-pedal="up"],.public-play [data-gpedal="up"]{background:#246746!important;color:#fff!important;min-height:60px;font-size:26px!important;line-height:1.1}
.public-play [data-pedal="up"] small,.public-play [data-gpedal="up"] small{display:block;font-size:11px;line-height:1.2;font-weight:700;white-space:normal}
.public-play .project-fact{width:auto;max-width:min(320px,calc(100% - 28px));padding:3px 6px 3px 12px}
.project-fact details{pointer-events:auto}.project-fact summary{cursor:pointer;font-size:12px;font-weight:700;min-height:44px;display:flex;align-items:center;gap:8px}.project-fact summary:after{content:' ⓘ'}.project-fact details span{padding:0 0 10px;max-width:260px}
.public-play:not(.tour-guided) .project-fact{display:none!important}
.machinery-link{color:inherit;text-decoration:underline;text-underline-offset:3px}

/* Gold invitation and action-triggered, two-step driving guidance. */
.public-play #tour-toggle{background:#d8b456;color:#193b2c;border-color:#ba963f}
.public-play.tour-guided #tour-toggle:not(:disabled){animation:gold-invitation 2.4s ease-in-out 5}
.public-play .driving-lesson{position:relative;z-index:20;animation:gold-invitation 1.8s ease-in-out infinite;outline:3px solid #e9c45e;outline-offset:3px}
.public-play .driving-lesson:after{content:attr(data-lesson);position:absolute;bottom:calc(100% + 12px);right:0;width:148px;padding:8px 10px;border-radius:10px;background:#f4d477;color:#17392b;font-size:12px;font-weight:750;line-height:1.25;white-space:normal;pointer-events:none;box-shadow:0 3px 12px #10281c30}
.driving-lesson-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@keyframes gold-invitation{0%,100%{box-shadow:0 0 0 0 #e6bd5700}50%{box-shadow:0 0 0 6px #e6bd5780}}
@media(prefers-reduced-motion:reduce){.public-play.tour-guided #tour-toggle:not(:disabled),.public-play .driving-lesson{animation:none}}

/* Mobile: reserve the scene for the vehicle, with secondary controls in the menu. */
@media(max-width:760px){
.public-play header,.public-play.embedded header,.public-play.driving header{height:48px!important;padding:0 6px!important;min-height:48px}
.public-play main,.public-play.embedded main{height:calc(100dvh - 48px)!important}
.public-play .tour-navigation{flex:1;gap:4px}.public-play .tour-navigation #tour-toggle{flex:0 1 auto;margin-left:auto;padding:6px 10px;font-size:12px;min-height:40px;animation:none}
.public-play #tour-toggle>span[aria-hidden]{font-size:17px}.public-play #tour-place,.public-play #tour-pause,.public-play #mobile-options{min-height:44px;padding:5px 8px}
.public-play #drive-hud .destination{top:6px;left:8px;right:72px;max-width:none;display:flex;align-items:center;gap:10px;padding:5px 9px;min-height:30px;border:0;border-radius:8px;background:#17352bba}
.public-play .destination span,.public-play .destination strong{font-size:11px;margin:0;line-height:1.2}.public-play .destination p{display:none}
.public-play .speedometer{top:6px;right:8px;bottom:auto;width:54px;height:40px;display:flex;align-items:center;justify-content:center;gap:3px;border:0;border-radius:8px;background:#17352bba}.public-play .speedometer strong{font-size:19px}.public-play .speedometer span{font-size:9px;margin:0}
.public-play #energy-hud,.public-play.gdiz-driving #energy-hud,.public-play.tour-guided #energy-hud{bottom:70px;left:auto;right:8px;transform:none;width:auto;padding:0 8px;border-radius:9px;gap:0;font-size:11px;box-shadow:none}
.public-play.tour-guided #energy-hud{bottom:8px!important}
.public-play #energy-details>summary{min-height:44px;display:flex;gap:5px}.public-play #energy-details>summary small,.public-play #energy-net,.public-play #energy-hud>.energy-metric{display:none}
.public-play .energy-popover{position:absolute;bottom:50px;left:auto;right:0;transform:none;width:min(330px,calc(100vw - 32px));max-height:65dvh;overflow:auto;box-sizing:border-box}
.public-play #map-panel:not([open]),.public-play .gdiz-map-panel:not([open]){display:block;top:auto!important;bottom:70px!important;left:8px!important;right:auto!important;width:auto!important;padding:0 8px!important;border-radius:9px;box-shadow:none}
.public-play.tour-guided #map-panel:not([open]),.public-play.tour-guided .gdiz-map-panel:not([open]){bottom:8px!important}
.public-play #map-panel:not([open])>summary{font-size:0;min-height:44px}.public-play #map-panel:not([open])>summary>span:not(.map-collapse){font-size:11px}
.public-play #map-panel[open],.public-play .gdiz-map-panel[open]{top:52px!important;bottom:auto!important;left:8px!important;max-height:calc(100% - 110px)!important}
.public-play .ride-ledger{display:none}.public-play .project-fact{display:none!important}
.public-play .pedals{bottom:8px;left:8px;right:8px;gap:6px}.public-play .pedals button,.public-play [data-pedal="up"],.public-play [data-gpedal="up"]{height:48px;min-height:48px!important}
.public-play [data-pedal="up"] small,.public-play [data-gpedal="up"] small{font-size:10px}.public-play .pedal-pair{gap:4px}.public-play .simulation-label{display:none}
.public-play .gdiz-title{top:6px;left:8px;right:8px;padding:6px 10px;max-width:none;border-radius:8px}.public-play #gdiz-mission{font-size:11px;margin:0;line-height:1.25}.public-play #gdiz-service{display:none}
.public-play .gdiz-cockpit{bottom:8px;left:8px;right:8px;transform:none;width:auto;padding:0;background:none;display:block}.public-play .gdiz-cockpit .wheel-control,.public-play .gdiz-gauge{display:none}.public-play .gdiz-cockpit .gdiz-pedals{display:flex;width:100%;gap:5px}.public-play .gdiz-pedals button{flex:1;min-width:40px;min-height:48px;font-size:16px}.public-play .gdiz-pedals [data-gpedal="up"]{flex:2}
.public-play .mobile-ride-tools h3{font-size:16px;margin:10px 0}.public-play .mobile-ride-tools .camera-bar,.public-play .mobile-ride-tools .gdiz-cameras,.public-play .mobile-ride-tools .gdiz-settings,.public-play .mobile-ride-tools .gdiz-ledger{position:static!important;transform:none!important;max-width:100%;min-width:0;width:auto;flex-wrap:wrap;margin:8px 0;padding:8px;box-sizing:border-box}
.public-play .mobile-ride-tools .camera-bar{display:flex}.public-play .mobile-ride-tools .camera-bar button{display:block!important;font-size:12px}.public-play .mobile-ride-tools .gdiz-cameras,.public-play .mobile-ride-tools .gdiz-settings,.public-play .mobile-ride-tools .gdiz-ledger{display:none}
.public-play.gdiz-driving .mobile-ride-tools .camera-bar{display:none}.public-play.gdiz-driving .mobile-ride-tools .gdiz-cameras,.public-play.gdiz-driving .mobile-ride-tools .gdiz-ledger{display:flex}.public-play.gdiz-driving .mobile-ride-tools .gdiz-settings{display:block}.public-play .mobile-ride-tools .gdiz-ledger>div{display:block!important}.public-play .mobile-ride-tools .gdiz-cameras button{font-size:12px!important}
}

@media(max-width:760px){.public-play .mobile-ride-tools .ride-ledger{display:block;position:static;margin:8px 0;padding:10px;min-width:0;text-align:left}.public-play .mobile-ride-tools .ride-ledger small{display:block}.public-play.gdiz-driving .mobile-ride-tools .ride-ledger{display:none}.public-play.tour-guided .tour-navigation #tour-toggle{animation:gold-invitation 2.4s ease-in-out 3}}
@media(prefers-reduced-motion:reduce){.public-play.tour-guided .tour-navigation #tour-toggle{animation:none}}

@media(max-width:760px){.public-play .mobile-ride-tools .camera-bar button,.public-play .mobile-ride-tools .gdiz-cameras button{font-size:12px!important;color:#fff!important;background:#24483b!important;min-width:44px;min-height:44px;width:auto!important;padding:8px!important}.public-play .mobile-ride-tools .camera-bar button:before,.public-play .mobile-ride-tools .gdiz-cameras button:before{display:none!important}.public-play .mobile-ride-tools button.active{background:#d8b456!important;color:#173b2c!important}.public-play:not(.ready) .workspace>#tour-toggle{left:50%;right:auto;transform:translateX(-50%);bottom:8px;width:auto;min-height:40px;padding:6px 12px;font-size:12px}}

/* A visible gold invitation inside the mobile scene, above the compact HUD. */
@media(max-width:760px){
.public-play.tour-guided .workspace>#tour-toggle{display:flex!important;position:absolute;left:50%;right:auto;bottom:64px;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);min-height:48px;padding:11px 20px;font-size:16px;font-weight:750;background:#e3bc55;color:#173b2c;border:2px solid #fff1b4;border-radius:14px;box-shadow:0 3px 16px #122d3d44;z-index:12;white-space:nowrap}
.public-play.tour-guided .workspace>#tour-toggle>span[aria-hidden]{font-size:25px}
.public-play .tour-navigation #tour-toggle{min-height:44px;font-size:14px}
.public-play.tour-guided .workspace>#tour-toggle:focus-visible{outline:3px solid #173b2c;outline-offset:3px}
}

/* Prevent Safari's canvas intrinsic size from widening the embedded document. */
html:has(body.public-play){width:100%;height:100%;overflow:hidden}
body.public-play{width:100%;max-width:100%;height:100%;min-width:0;margin:0;overflow:hidden}
.public-play main,.public-play .workspace,.public-play #viewport{min-width:0;max-width:100%;width:100%;overflow:hidden}
.public-play #viewport canvas{display:block;width:100%!important;height:100%!important;max-width:100%;min-width:0}
@media(max-width:760px){
.public-play{--ride-safe-bottom:max(12px,env(safe-area-inset-bottom,0px));--ride-header:calc(52px + env(safe-area-inset-top,0px))}
.public-play header,.public-play.embedded header,.public-play.driving header{box-sizing:border-box;width:100%;min-width:0;height:var(--ride-header)!important;min-height:var(--ride-header);padding:env(safe-area-inset-top,0px) max(6px,env(safe-area-inset-right,0px)) 0 max(6px,env(safe-area-inset-left,0px))!important;gap:4px}
.public-play main,.public-play.embedded main{height:calc(100% - var(--ride-header))!important}
.public-play .tour-navigation{min-width:0;gap:4px}.public-play .tour-navigation #tour-toggle{min-width:0;padding:6px 8px;font-size:13px}.public-play #mobile-options{flex:0 0 44px;width:44px}.public-play #tour-place{flex:0 0 auto}.public-play #tour-pause{flex:0 0 40px;width:40px;min-width:40px}
.public-play .pedals{bottom:var(--ride-safe-bottom)!important;left:max(8px,env(safe-area-inset-left,0px));right:max(8px,env(safe-area-inset-right,0px));min-width:0;max-width:calc(100% - 16px)}
.public-play .pedal-pair,.public-play .steer-pair{min-width:0;gap:4px}.public-play .pedals button{min-width:40px;padding:6px;font-size:20px}
.public-play .gdiz-cockpit{bottom:var(--ride-safe-bottom)!important}
.public-play #energy-hud,.public-play.gdiz-driving #energy-hud{bottom:calc(62px + var(--ride-safe-bottom))!important;right:max(8px,env(safe-area-inset-right,0px))}
.public-play #map-panel:not([open]),.public-play .gdiz-map-panel:not([open]){bottom:calc(62px + var(--ride-safe-bottom))!important}
.public-play.tour-guided #energy-hud,.public-play.tour-guided #map-panel:not([open]),.public-play.tour-guided .gdiz-map-panel:not([open]){bottom:var(--ride-safe-bottom)!important}
.public-play.tour-guided .workspace>#tour-toggle{bottom:calc(56px + var(--ride-safe-bottom))}
.public-play .driving-lesson:after{width:130px;max-width:calc(100vw - 32px);right:0;font-size:11px}
}

/* Palette 2 applies to interface controls, preserving the real-world scene. */
:root{--gold:#A85C32;--ink:#0E0E0E;--panel:#0e0e0ef0;--muted:#F4F1EA}
.public-play header,.public-play.embedded header,.public-play.driving header{background:#FFFFFF;color:#0E0E0E;border-color:#D9D4CA}
.public-play .tour-navigation button,.public-play #mobile-options{color:#0E0E0E;border-color:#D9D4CA}
.public-play #tour-toggle,.public-play.tour-guided .workspace>#tour-toggle{background:#A85C32!important;color:#FFFFFF!important;border-color:#A85C32!important;box-shadow:0 3px 14px #0e0e0e33}
.public-play #drive-hud .destination,.public-play .speedometer,.public-play .gdiz-title{background:#0e0e0edd;color:#FFFFFF}
.public-play .destination strong,.public-play .destination span{color:#FFFFFF}
.public-play #energy-hud,.public-play #map-panel,.public-play .gdiz-map-panel,.public-play .energy-popover{background:#F4F1EA;color:#0E0E0E;border-color:#D9D4CA}
.public-play .pedals button,.public-play .gdiz-pedals button{background:#0E0E0E!important;color:#FFFFFF!important}
.public-play [data-pedal="up"],.public-play [data-gpedal="up"],.public-play [data-pedal].is-pressed,.public-play [data-gpedal].is-pressed{background:#A85C32!important;color:#FFFFFF!important}
.public-play .driving-lesson:after{background:#A85C32;color:#FFFFFF}
.public-play dialog,.public-play dialog.mission-celebration{background:#F4F1EA;color:#0E0E0E;border-color:#D9D4CA}
.public-play dialog button,.public-play .mobile-ride-tools .camera-bar button,.public-play .mobile-ride-tools .gdiz-cameras button{background:#0E0E0E!important;color:#FFFFFF!important}
.public-play .mobile-ride-tools button.active,.public-play dialog.mission-celebration .win-actions a,.public-play dialog.mission-celebration [data-win-support]{background:#A85C32!important;color:#FFFFFF!important}
.public-play .win-progress{background:#FFFFFF;color:#0E0E0E}.public-play .win-progress progress{accent-color:#A85C32}
.public-play :focus-visible{outline-color:#A85C32!important}
@keyframes gold-invitation{0%,100%{box-shadow:0 0 0 0 #A85C3200}50%{box-shadow:0 0 0 5px #A85C3240}}


/* One visible driving action: the tour control owns the mobile placement. */
.public-play .inspection-dock #start-ride{display:none!important}
.public-play .inspection-dock .inspect-actions{justify-content:flex-end}
