@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@300;400;500;600&family=Playfair+Display:ital,wght@1,400&display=swap');
:root{color-scheme:dark;--ivory:#f4eee0;--muted:#b4c3c4;--accent:#e8b37f;--ink:#142326}*{box-sizing:border-box}body{margin:0;background:var(--ink);color:var(--ivory);font-family:'Be Vietnam Pro',Arial,sans-serif;font-size:13px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}#viewport{position:relative;width:100%;height:100svh;min-height:640px;overflow:hidden}#scene,#scene canvas,.vignette,#labels{position:absolute;inset:0;width:100%;height:100%}.vignette{pointer-events:none;background:linear-gradient(90deg,rgba(8,23,29,.8) 0%,rgba(8,23,29,.4) 25%,transparent 53%),linear-gradient(0deg,rgba(5,19,24,.94),transparent 21%,transparent 86%,rgba(5,19,24,.55))}header{position:absolute;top:30px;left:36px;right:36px;display:flex;align-items:center;justify-content:space-between;gap:15px;letter-spacing:2px;font-size:10px}.brand{display:flex;align-items:center;font-weight:500;letter-spacing:2.6px}.phase{font-size:9px;color:#d0dedb}.phase span,.dot{display:inline-block;width:5px;height:5px;background:var(--accent);border-radius:100%;margin-right:8px}.intro{position:absolute;left:36px;top:18%;max-width:420px;pointer-events:none}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:500;color:var(--accent);margin:0 0 19px}h1{font-size:clamp(36px,4.5vw,67px);font-weight:300;line-height:1.12;letter-spacing:-2px;margin:0 0 22px}h1 em{font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:.87em;letter-spacing:-1.7px}.lead{font-size:11px;line-height:1.9;color:#c4cfca;max-width:325px}.stats{display:flex;gap:24px;margin-top:27px;font-size:9px;color:#c6cdc6}.stats span{display:flex;flex-direction:column;gap:4px}.stats b{font-size:21px;letter-spacing:-.5px;font-weight:400;color:var(--ivory)}.views{position:absolute;left:36px;bottom:135px;display:flex;flex-direction:column;gap:6px}.views button{background:none;border:none;color:#b1bfbe;text-align:left;padding:8px 0;font-size:11px}.views small{color:#7e9294;margin-right:14px;font-size:9px}.views button.active{color:var(--ivory)}.views button.active small{color:var(--accent)}.views button.active:after{content:'—';margin-left:13px;color:var(--accent)}.tools{position:absolute;right:30px;top:100px;display:flex;flex-direction:column;gap:7px}.tools button{background:#152b30ce;border:1px solid #a0c1c322;border-radius:3px;color:#e2e9df;padding:12px 15px;backdrop-filter:blur(14px);text-align:left;font-size:14px}.tools span{font-size:10px;margin-left:8px}.tools button:hover,.tools button[aria-pressed=true]{background:#233f46; border-color:#dab08788}.compass{position:absolute;right:40px;bottom:138px;text-align:center;color:#d9e5df}.compass span{font-size:10px}.compass div{font-size:38px;font-weight:300}.compass small{font-size:8px;letter-spacing:2px}footer{position:absolute;left:36px;right:36px;bottom:24px;display:flex;justify-content:space-between;align-items:end;gap:25px;font-size:9px;letter-spacing:1px}footer p{font-size:9px;letter-spacing:0;color:#aebfbe;margin:9px 0 0;max-width:475px;line-height:1.7}.credits{font-size:8px;line-height:1.8;letter-spacing:0;text-align:right;color:#a5b9b8}.credits span{color:#e6c095}.label{position:absolute;pointer-events:none;white-space:nowrap;transform:translate(-50%,-100%);font-size:9px;letter-spacing:.5px;color:#f7f2e7;text-shadow:0 1px 8px #001b22;background:#12252aab;padding:5px 8px;border-left:2px solid #d4a879;border-radius:1px}.label small{display:block;color:#b6c8c7;font-size:8px;margin-top:3px}#labels{pointer-events:none}#loading{position:absolute;inset:0;z-index:10;background:#10252d;display:flex;align-items:center;justify-content:center;flex-direction:column;transition:opacity .7s}.loading-mark{font:50px Georgia;border:1px solid #759797;padding:15px 28px;margin-bottom:25px}#loading p{letter-spacing:3px;font-size:10px}#loading span{font-size:11px;color:#9eafb2}#loading.gone{opacity:0;pointer-events:none}#auditLegend{position:absolute;top:92px;left:36px;background:#142b30eb;max-width:300px;padding:14px 17px;border:1px solid #c4dac333;font-size:9px;line-height:1.8}#auditLegend b{display:block;font-weight:500;margin-bottom:7px}#auditLegend span{display:block}#auditLegend i{display:inline-block;width:9px;height:9px;margin-right:8px}#selection{position:absolute;bottom:130px;left:320px;max-width:285px;min-width:240px;padding:21px;background:#11282fec;backdrop-filter:blur(15px);border:1px solid #8caaaa55;border-radius:3px}#selection small{color:var(--accent);letter-spacing:1.5px;font-size:8px}#selection h2{font-size:15px;line-height:1.5;font-weight:400;margin:13px 0}#selection p{line-height:1.8;color:#bdcfcd;font-size:10px}#selection a{font-size:9px;color:var(--accent)}#closeSelection{position:absolute;right:9px;top:5px;background:none;border:0;color:#afc6c5;font-size:20px}dialog{border:1px solid #6d898744;color:var(--ivory);background:#14272a;width:min(1040px,94vw);max-height:87svh;padding:32px;box-shadow:0 20px 100px #0008;border-radius:4px}dialog::backdrop{background:#001015ad;backdrop-filter:blur(9px)}.dialog-head{display:flex;justify-content:space-between;gap:15px;align-items:start}.dialog-head h2{font-size:25px;font-weight:300;margin:0 0 23px}.dialog-head button{background:none;border:0;color:var(--ivory);font-size:30px}.tabs{display:flex;gap:25px;border-bottom:1px solid #83999444;flex-wrap:wrap}.tabs button{padding:12px 0;background:none;border:0;color:#a9bdb7;font-size:12px;border-bottom:2px solid transparent}.tabs button.active{border-color:var(--accent);color:var(--ivory)}.tabbody{font-size:12px;line-height:1.9;padding-top:20px;color:#b8cbc5}.big{font-size:20px!important;font-weight:300;color:var(--ivory);max-width:740px}.steps{display:grid;grid-template-columns:1fr 1fr;gap:18px 35px;margin:28px 0}.steps b{font-size:9px;letter-spacing:1px;color:var(--accent)}.steps h3{font-size:15px;color:var(--ivory);font-weight:400;margin:7px 0}.steps p{margin:0}.note{padding:15px 0;border-top:1px solid #92a8a833;color:#e6c39d}.tabbody a{color:var(--accent)}.source-row{display:grid;grid-template-columns:190px 1fr 125px;gap:20px;padding:16px 0;border-bottom:1px solid #88a6a622}.source-row h3{font-size:12px;margin:0;color:var(--ivory);font-weight:500}.source-row p{font-size:11px;margin:3px 0}.source-row small{font-size:10px;color:var(--accent)}.quality-n{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:22px}.quality-n div{border-bottom:1px solid #a5bdb244;padding:12px 0}.quality-n b{display:block;font-size:27px;color:var(--ivory);font-weight:300}.quality-n span{font-size:11px}body.audit .intro{opacity:0}
@media(max-width:760px){header{top:20px;left:20px;right:20px}.phase{display:none}.intro{left:20px;top:100px;max-width:275px}h1{font-size:39px}.lead{font-size:10px;max-width:250px}.eyebrow{font-size:8px;max-width:250px;line-height:1.7}.tools{right:15px;top:95px}.tools button{padding:11px}.tools span{display:none}.views{left:20px;bottom:145px}.views button{font-size:10px}footer{left:20px;right:20px;bottom:16px;display:block}footer p{font-size:8px;max-width:95%}.credits{margin-top:10px;text-align:left;font-size:7px}.compass{right:22px;bottom:190px}#selection{bottom:150px;left:20px;right:70px}#auditLegend{left:20px;top:74px;max-width:250px}.source-row{grid-template-columns:1fr;gap:5px}.steps{grid-template-columns:1fr}.dialog-head h2{font-size:21px}dialog{padding:20px}.tabs{gap:17px}.tabs button{font-size:10px}.label{font-size:8px}.stats{margin-top:20px}}
#experience{position:absolute;right:30px;bottom:220px;width:245px;padding:16px;background:#10252ce8;border:1px solid #adc6bc33;border-radius:4px;backdrop-filter:blur(16px)}.exp-head{display:flex;justify-content:space-between;gap:10px;font-size:8px;letter-spacing:1px;color:#d9c4a8}.exp-head b{font-weight:400;letter-spacing:0;text-align:right;max-width:120px}.exp-actions{display:flex;gap:6px;margin:12px 0}.exp-actions button{flex:1;background:#254048;border:1px solid #93b7b433;border-radius:3px;color:#e7e7d9;padding:9px 5px;font-size:9px}.exp-actions button[aria-pressed=true]{border-color:#e8b37f;color:#ffdab2}#experience label{display:block;font-size:9px;color:#bacdc8}#experience output{float:right;color:#e8c6a2}#experience input{display:block;width:100%;accent-color:#e8b37f;margin:12px 0 0}#missionPanel{border-top:1px solid #99bbaa33;margin-top:14px;padding-top:5px}#missionPanel p{font-size:9px;line-height:1.8;color:#ddc8a6}#missionPanel small{font-size:8px;color:#adc0bb;line-height:1.8;display:block}body.cinematic .intro,body.mission-mode .intro{opacity:0;pointer-events:none}body.cinematic .vignette{background:linear-gradient(0deg,#08151dd9,transparent 20%,transparent 86%,#08151d99)}body.cinematic header{border-bottom:1px solid #c9bfa233;padding-bottom:15px}.intro{transition:opacity .5s} @media(max-height:820px){#experience{bottom:120px}#experience:has(#missionPanel:not([hidden])){top:90px;bottom:auto;right:220px}.intro{top:16%}}@media(max-width:760px){#experience{width:215px;right:15px;bottom:290px}.intro{max-width:240px}#experience:has(#missionPanel:not([hidden])){top:auto;bottom:270px;right:15px}.exp-head{font-size:7px}}
body.pilot-mode .intro{opacity:0;pointer-events:none}
@media(max-height:820px) and (min-width:761px){.tools{top:90px;gap:5px}.tools button{padding:9px 12px}#experience{bottom:125px}#experience:has(#missionPanel:not([hidden])){right:280px}} 
body.hero-view .intro{opacity:0;pointer-events:none}#renderStats{position:absolute;right:32px;bottom:100px;font:9px monospace;color:#bdd1cc;background:#132b32b8;padding:6px 9px;border-radius:3px;pointer-events:none}@media(max-width:760px){#renderStats{bottom:150px;right:15px}}
#visualPanel{border-top:1px solid #91aaa644;margin-top:12px;padding-top:10px}#visualPanel summary{cursor:pointer;color:#e5bd91;font-size:8px;letter-spacing:1.2px;list-style:none}#visualPanel summary:after{content:'＋';float:right}#visualPanel[open] summary:after{content:'−'}#visualControls{display:grid;grid-template-columns:1fr;gap:5px;margin:10px 0 7px}#visualControls button{background:#1d383f;border:1px solid #9bb7b330;color:#e6e7dc;border-radius:3px;padding:8px;text-align:left;font-size:8px}#visualControls button[aria-pressed=true]{border-color:#dfb17a88;color:#ffd2a0}#visualPanel>small{font-size:7px;line-height:1.6;color:#98ada8;display:block}.tools{max-height:calc(100svh - 180px);overflow:auto}.tools::-webkit-scrollbar{width:3px}.tools::-webkit-scrollbar-thumb{background:#9fb4ad55}
#patchHud{position:absolute;left:315px;top:92px;width:260px;padding:16px 18px;background:#0e252be8;border:1px solid #7fe4d255;backdrop-filter:blur(16px);font-size:9px;color:#bdd0ca}#patchHud small{color:#78e4d6;letter-spacing:1.3px;font-size:8px}#patchHud h3{font-size:14px;font-weight:400;color:#f2eadc;margin:8px 0 12px}#patchHud div{display:flex;gap:5px;align-items:baseline}#patchHud b{color:#f1c18e;font-size:15px;font-weight:400;margin-left:6px}#patchHud b:first-child{margin-left:0}.rp-meter{height:3px;background:#586866;margin:12px 0!important}.rp-meter i{width:0;height:100%;background:#70e1d2}#patchHud p{line-height:1.6;color:#d6b08d}#patchHud strong{color:#ef936c;font-weight:500}#patchHud dl{display:grid;grid-template-columns:42px 1fr;gap:5px;margin:12px 0}#patchHud dt{color:#6fded1}#patchHud dd{margin:0;color:#9fb4af}#patchHud a{color:#e8b37f}#patchHud.missing-lod{border-color:#ef936c99}@media(max-width:760px){#patchHud{left:20px;top:80px;width:240px}.views{max-height:270px;overflow:auto}}
#tileHud{position:absolute;left:315px;top:92px;width:260px;padding:16px 18px;background:#11262be8;border:1px solid #f1bd7277;backdrop-filter:blur(16px);font-size:9px;color:#bcd0ca}#tileHud small{color:#f1bd72;letter-spacing:1.3px;font-size:8px}#tileHud h3{font-size:15px;font-weight:400;color:#f2eadc;margin:8px 0 12px}#tileHud p{line-height:1.6;color:#bacbc6}#tileHud strong{color:#f1bd72;font-weight:500}#tileHud b{font-size:14px;color:#8ce3d4;font-weight:400}.rt-compare{width:100%;margin-top:7px;padding:9px;background:#243d42;border:1px solid #e7b57366;border-radius:3px;color:#f5debd;font:9px 'Be Vietnam Pro',sans-serif;text-align:left}.rt-compare:hover{border-color:#f1bd72}#tileHud.loaded{border-color:#77dfce88}#tileHud.failed{border-color:#ef806c}@media(max-width:760px){#tileHud{left:20px;top:80px;width:240px}}
#captureHud{position:absolute;left:315px;top:92px;width:280px;padding:16px 18px;background:#10262be8;border:1px solid #70dfd066;backdrop-filter:blur(16px);font-size:9px;color:#bcd0ca}#captureHud small{color:#70dfd0;letter-spacing:1.3px;font-size:8px}#captureHud h3{font-size:15px;font-weight:400;color:#f2eadc;margin:8px 0 12px}.gc-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.gc-kpis span{padding:7px 5px;border:1px solid #7fb8ae33;color:#a9bdb8}.gc-kpis b{display:block;color:#f1bd72;font-size:16px;font-weight:400}.gc-progress{height:3px;background:#526866;margin:12px 0}.gc-progress i{display:block;width:4%;height:100%;background:#70dfd0;transition:width .35s}#captureHud p{line-height:1.65;margin:9px 0;color:#bacbc6}#captureHud strong{color:#ef8c73;font-weight:500}.gc-play{width:100%;padding:9px;background:#223d42;border:1px solid #70dfd055;border-radius:3px;color:#dbefe9;font:9px 'Be Vietnam Pro',sans-serif;text-align:left;margin:3px 0 10px}#captureHud a{color:#f1bd72}@media(max-width:760px){#captureHud{left:20px;top:80px;width:250px}}
#bridgeHud{position:absolute;left:315px;top:92px;width:280px;padding:16px 18px;background:#14252ae8;border:1px solid #d9aa626e;backdrop-filter:blur(16px);font-size:9px;color:#becbc7}#bridgeHud small{color:#e5b76f;letter-spacing:1.3px;font-size:8px}#bridgeHud h3{font-size:15px;font-weight:400;color:#f4ecdc;margin:8px 0 12px}#bridgeHud b{font-size:16px;color:#f1bd72;font-weight:400}#bridgeHud p{line-height:1.7;color:#b9c7c3;margin:12px 0}#bridgeHud a{color:#73ddd0}@media(max-width:760px){#bridgeHud{left:20px;top:80px;width:250px}}
#footbridgeHud{position:absolute;left:315px;top:92px;width:300px;padding:17px 19px;background:#0b282de8;border:1px solid #70ddc66e;backdrop-filter:blur(16px);font-size:9px;color:#c3d4cf}#footbridgeHud small{color:#71dcc5;letter-spacing:1.3px;font-size:8px}#footbridgeHud h3{font-size:15px;font-weight:400;color:#f1eee4;margin:8px 0 12px}#footbridgeHud b{color:#83e1ce;font-weight:500}#footbridgeHud div b{font-size:15px;font-weight:400}#footbridgeHud p{line-height:1.7;color:#c2d1cd;margin:12px 0}#footbridgeHud a{color:#edbd82}@media(max-width:760px){#footbridgeHud{left:20px;top:80px;width:260px}}
#semanticHud{position:absolute;left:315px;top:92px;width:290px;padding:17px 19px;background:#14272be8;border:1px solid #e4ad766e;backdrop-filter:blur(16px);font-size:9px;color:#c8d4cf}#semanticHud small{color:#efb77d;letter-spacing:1.3px;font-size:8px}#semanticHud h3{font-size:15px;font-weight:400;color:#f3eadc;margin:8px 0 12px}#semanticHud b{font-size:15px;color:#f0c08a;font-weight:400}#semanticHud p{line-height:1.7;color:#c1cdca;margin:12px 0}#semanticHud a{color:#77ddcf}@media(max-width:760px){#semanticHud{left:20px;top:80px;width:255px}}
#atlasHud{position:absolute;left:315px;top:82px;width:310px;padding:17px 19px;background:#10252beF;border:1px solid #e7ae716e;backdrop-filter:blur(17px);font-size:9px;color:#c7d3cf}#atlasHud small{color:#efb476;letter-spacing:1.3px;font-size:8px}#atlasHud h3{font-size:15px;font-weight:400;color:#f3eadf;margin:8px 0 10px}.ta-grid{display:grid;grid-template-columns:repeat(8,1fr);height:20px;gap:3px;margin:9px 0 13px}.ta-grid i{border:1px solid #fff3;border-radius:2px}#atlasHud label{display:block;margin:9px 0;color:#b8cbc6}#atlasHud output{float:right;color:#efbd88}#atlasHud input{display:block;width:100%;margin-top:6px;accent-color:#dfaa70}#atlasHud p{line-height:1.6;margin:11px 0;color:#bdcbc8}#atlasHud strong{color:#ef967d;font-weight:500}#atlasHud a{color:#73dece}@media(max-width:760px){#atlasHud{left:20px;top:72px;width:270px}}
#urbanDetailHud{position:absolute;left:315px;top:78px;width:320px;padding:18px 20px;background:#102429ed;border:1px solid #dba26778;backdrop-filter:blur(18px);font-size:9px;color:#c5d1cd}#urbanDetailHud>small{color:#e8ae72;letter-spacing:1.3px;font-size:8px}#urbanDetailHud h3{font-size:15px;font-weight:400;color:#f3e9dc;margin:8px 0 12px}.ud-numbers{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.ud-numbers b{font-size:15px;font-weight:400;color:#efbd84;border:1px solid #d9ae7b35;padding:7px 5px}.ud-numbers small{display:block;font-size:7px;color:#9eafaa;margin-top:3px}#urbanDetailHud label{display:block;margin:13px 0;color:#b9c9c5}#urbanDetailHud output{float:right;color:#efbd84}#urbanDetailHud input{display:block;width:100%;margin-top:7px;accent-color:#dba267}#urbanDetailHud p{line-height:1.65;margin:11px 0;color:#becbc8}#urbanDetailHud strong{color:#ef9277;font-weight:500}#urbanDetailHud a{color:#75ddce}@media(max-width:760px){#urbanDetailHud{left:20px;top:70px;width:270px}}
#confidenceHud{position:absolute;left:315px;top:70px;width:330px;padding:18px 20px;background:#102329f0;border:1px solid #e39b5578;backdrop-filter:blur(18px);font-size:9px;color:#c4d1cd}#confidenceHud>small{color:#efaa66;letter-spacing:1.3px;font-size:8px}#confidenceHud h3{font-size:16px;font-weight:400;color:#f5eadb;margin:8px 0 12px}.cf-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.cf-kpis b{font-size:17px;font-weight:400;color:#efb676;border:1px solid #daa36c38;padding:8px 6px}.cf-kpis small{display:block;font-size:7px;color:#9dafaa;margin-top:3px}.cf-scale{height:7px;margin:13px 0 25px;background:linear-gradient(90deg,#d9382d,#efa134,#26b7a1);position:relative}.cf-scale span{position:absolute;top:11px;font-size:7px;color:#9fb0ac}.cf-scale span:last-child{right:0}.cf-scale i{position:absolute;left:33%;top:-3px;width:1px;height:13px;background:#fff}#confidenceHud label{display:block;margin:10px 0;color:#b8c9c5}#confidenceHud output{float:right;color:#efb676}#confidenceHud input{display:block;width:100%;margin-top:7px;accent-color:#e79c56}#confidenceHud ol{padding:0;margin:12px 0;list-style:none}#confidenceHud li{display:flex;justify-content:space-between;border-top:1px solid #81958f2c;padding:6px 0}#confidenceHud li b{color:#efb676;font-weight:500}#confidenceHud li span{color:#9fb2ad;font-size:7px}#confidenceHud p{line-height:1.62;color:#bdcbc8}#confidenceHud strong{color:#ef8b72;font-weight:500}#confidenceHud a{color:#72ddcd}@media(max-width:760px){#confidenceHud{left:20px;top:62px;width:280px}}

/* PoC 12 map-first information architecture. */
#uiDock{position:absolute;z-index:9;left:36px;top:84px;display:flex;gap:6px}#uiDock button{border:1px solid #a8beb72f;background:#10272dcc;color:#dbe6df;border-radius:3px;padding:8px 11px;font-size:9px;backdrop-filter:blur(14px)}#uiDock button[aria-pressed=true]{border-color:#e8ad6d88;background:#213c43;color:#ffd1a2}#uiDock span{margin-left:5px}.intro{display:none;z-index:8;top:128px;left:36px;max-width:390px;padding:20px 22px;background:#10262deb;border:1px solid #9fb5af33;border-radius:4px;backdrop-filter:blur(18px);pointer-events:auto}.intro h1{font-size:38px;margin-bottom:14px}.intro .eyebrow{margin-bottom:12px}body.ui-info-open .intro{display:block}.views{display:none;z-index:8;top:126px;bottom:auto;left:36px;width:255px;max-height:calc(100svh - 220px);overflow:auto;padding:10px 16px;background:#10262deb;border:1px solid #9fb5af33;border-radius:4px;backdrop-filter:blur(18px);gap:1px}.views button{padding:7px 0;font-size:10px}.views button.active:after{float:right}body.ui-views-open .views{display:flex}.tools{display:none;z-index:8;right:30px;top:126px;width:245px;background:#10262deb;border:1px solid #9fb5af33;padding:9px;border-radius:4px}.tools button{padding:9px 11px;font-size:10px}body.ui-controls-open .tools{display:flex}#experience{display:none;z-index:8;right:30px;bottom:88px}body.ui-controls-open #experience{display:block}.map-hud{z-index:7;left:auto!important;right:30px!important;top:126px!important;max-height:calc(100svh - 220px);overflow:auto}.hud-collapse{position:absolute;right:8px;top:7px;width:26px;height:26px;border:0;background:transparent;color:#d7b184;font-size:16px}.map-hud.is-collapsed{width:280px!important;height:48px!important;min-height:0!important;overflow:hidden;padding:17px 42px 12px 16px!important}.map-hud.is-collapsed>*:not(small):not(.hud-collapse){display:none!important}footer{z-index:5;right:auto;max-width:650px}.credits{display:none}.compass{bottom:92px}#cinematicHud{position:absolute;right:30px;top:126px;width:315px;padding:18px 20px;background:#0d2229ed;border:1px solid #e6a56c73;backdrop-filter:blur(18px);font-size:9px;color:#bdcdca}#cinematicHud>small{color:#f0ad70;letter-spacing:1.3px}#cinematicHud h3{font-size:17px;font-weight:300;margin:9px 0 14px}.p12-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.p12-actions button{background:#203941;border:1px solid #e3a36b48;color:#f2d0aa;padding:9px 6px;font-size:8px}#cinematicHud label{display:block;margin:12px 0;color:#b8c9c5}#cinematicHud output{float:right;color:#efb676}#cinematicHud input{display:block;width:100%;margin-top:7px;accent-color:#e79c56}#cinematicHud p{line-height:1.65;color:#b9c9c6}#cinematicHud strong{color:#ef9b7b;font-weight:500}body.p12-active #labels{display:none}body.p12-active .vignette{background:radial-gradient(circle at 65% 42%,transparent 0 38%,rgba(3,8,18,.34) 78%),linear-gradient(0deg,rgba(2,8,16,.88),transparent 18%,transparent 84%,rgba(3,8,18,.5))}
@media(max-width:760px),(orientation:portrait){#viewport{min-height:0}header{top:16px;left:16px;right:16px}.brand>span:last-child{font-size:9px;letter-spacing:2.2px}.phase{display:none}#uiDock{left:16px;top:64px;right:16px}#uiDock button{flex:1;padding:8px 5px}#uiDock span{margin-left:3px}.intro{left:16px;right:16px;top:108px;max-width:none;padding:17px}.intro h1{font-size:31px}.views{left:16px;right:16px;top:108px;width:auto;max-height:calc(100svh - 190px)}.tools{left:16px;right:16px;top:108px;width:auto;max-height:40svh}.tools span{display:inline}#experience{left:16px;right:16px;bottom:72px;width:auto;max-height:42svh;overflow:auto}.map-hud{left:16px!important;right:16px!important;top:108px!important;width:auto!important;max-height:calc(100svh - 190px)}.map-hud.is-collapsed{width:auto!important}footer{left:16px;right:16px;bottom:10px;max-width:none}footer p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compass{display:none}#renderStats{bottom:68px;right:16px}.label{display:none}}

/* Demo-ready shell: presenter controls and a calm map-first finish. */
header,#uiDock,footer,.views,.tools,.intro,.map-hud,#experience{transition:opacity .18s ease,transform .18s ease}
#uiDock button{min-height:38px;letter-spacing:.15px}
#uiDock button:hover{border-color:#d4ad7e66;background:#19343bdd}
.views button{min-height:34px;border-radius:2px}
.views button:hover{color:#fff;background:#ffffff08}
.views button[aria-current=true]{color:var(--ivory)}
.demo-utilities{display:flex;flex-direction:column;gap:6px;margin-top:6px;padding-top:10px;border-top:1px solid #9eb6b12b}
.demo-utilities>p{margin:0 2px 2px;color:var(--accent);font-size:8px;letter-spacing:1.5px}
.demo-utilities>small{padding:5px 3px 2px;color:#9fb1ae;font-size:7px;line-height:1.65}
#presenterExit{display:none;position:absolute;z-index:20;right:22px;bottom:20px;border:1px solid #d9b07f59;border-radius:2px;background:#0c2228b8;color:#ead9c4;padding:9px 12px;font-size:8px;letter-spacing:1.1px;backdrop-filter:blur(12px);opacity:.58}
#presenterExit:hover,#presenterExit:focus-visible{opacity:1}
#demoToast{position:absolute;z-index:21;left:50%;bottom:28px;max-width:min(430px,80vw);padding:9px 13px;transform:translate(-50%,12px);border:1px solid #d8ad7954;border-radius:2px;background:#0a2027dc;color:#eee5d8;font-size:9px;letter-spacing:.4px;opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease;backdrop-filter:blur(12px)}
#demoToast.show{opacity:1;transform:translate(-50%,0)}
body.presenter-clean header,body.presenter-clean #uiDock,body.presenter-clean footer,body.presenter-clean .compass,body.presenter-clean #renderStats,body.presenter-clean #labels,body.presenter-clean .map-hud,body.presenter-clean #experience,body.presenter-clean .views,body.presenter-clean .tools,body.presenter-clean .intro,body.presenter-clean #auditLegend,body.presenter-clean #selection{display:none!important}
body.presenter-clean #presenterExit{display:block}
body.presenter-clean .vignette{background:radial-gradient(circle at 58% 46%,transparent 0 48%,rgba(3,11,17,.22) 100%)}
@media(max-width:760px),(pointer:coarse){#uiDock button{min-height:44px}.views button,.tools button{min-height:42px}#presenterExit{right:14px;bottom:14px;min-height:42px}#demoToast{bottom:66px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
/* PoC 13 · compact enrichment status */
.re13-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}
.re13-kpis span{display:flex;flex-direction:column;padding:9px 10px;border:1px solid rgba(130,207,196,.22);background:rgba(3,19,24,.24);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#9fb2b2}
.re13-kpis b{font:500 22px/1.1 var(--sans);letter-spacing:-.04em;color:#efd0a7;margin-bottom:3px}
#reality13Hud{position:absolute;right:30px;top:126px;width:350px;max-width:365px;padding:18px 20px;background:#0d2229ed;border:1px solid rgba(118,203,189,.42);backdrop-filter:blur(18px);font-size:9px;color:#bdcdca}
#reality13Hud>small{color:#80d3c3;letter-spacing:1.3px}#reality13Hud h3{font-size:17px;font-weight:300;margin:9px 0 14px}#reality13Hud p{line-height:1.65;color:#b9c9c6}#reality13Hud strong{color:#efb181;font-weight:500}
#reality13Hud label{display:grid;grid-template-columns:1fr auto;gap:6px;color:#b8c5c3;font-size:11px;margin-top:12px}
#reality13Hud input{grid-column:1/-1;width:100%;accent-color:#76cbbd}
@media(max-width:700px){.re13-kpis{grid-template-columns:1fr 1fr}.re13-kpis b{font-size:18px}}

/* Surface lab shares the bounded, collapsible map HUD. */
#surface14Hud{position:absolute;width:320px;max-width:min(320px,calc(100vw - 32px));padding:18px 20px;background:#0d2229ed;border:1px solid #79baa755;backdrop-filter:blur(16px);color:#becdc6;font-size:11px}
#surface14Hud h3{font-size:18px;font-weight:400;margin:10px 0}#surface14Hud>small{font-size:9px;letter-spacing:1.5px;color:#8bd6c3}
#surface14Hud p{line-height:1.6}#surface14Hud details{margin-top:15px}#surface14Hud summary{cursor:pointer;color:#edc395}#surface14Hud a{color:#8bd6c3}
.surface14-swatches{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.surface14-swatches figure{margin:0;min-width:0}.surface14-swatches img{width:100%;max-height:48px;aspect-ratio:1;object-fit:cover;border-radius:3px}.surface14-swatches figcaption{font-size:8px;overflow-wrap:anywhere;margin-top:5px;color:#b2bcb5}
#surface14Hud .p12-actions{grid-template-columns:1fr 1fr}

/* Per-building reference images stay behind disclosure; map retains the available space. */
#facade15Hud{position:absolute;width:320px;max-width:min(320px,calc(100vw - 32px));padding:18px 20px;background:#10262cef;border:1px solid #8ac6af55;color:#becdc6;font-size:11px}
#facade15Hud h3{font-size:17px;font-weight:400;margin:10px 0}#facade15Hud>small{font-size:9px;letter-spacing:1.3px;color:#8bd6c3}
#facade15Hud label{display:block;margin:12px 0 6px;color:#b5c5be}#facade15Count{float:right;color:#edc395}#facade15Select{width:100%;min-height:38px;padding:6px;background:#213b40;color:#f0eadd;border:1px solid #77968b66;font:inherit}
#facade15Hud .p12-actions{margin-top:8px}#facade15AB{width:100%;margin:8px 0 10px;background:#1f393e;color:#e9cfaa;border:1px solid #b8a58166;min-height:36px;font:inherit}
#facade15Hud summary{color:#bcd5c9;cursor:pointer}#facade15Hud p{line-height:1.6;font-size:10px}#facade15Hud a{color:#9bdbc7}#facade15Reference{width:100%;max-height:145px;object-fit:contain;margin-top:12px;background:#0c1c23}#facade15Load{color:#8cb5aa}.facade15-credits p{font-size:10px;line-height:1.7}

body.facade15-active #labels{display:none}
