/* Desktop-first, quiet controls around the architectural view. */
.global-unit-search{display:grid;gap:10px;padding:0 0 18px!important;border-top:0!important;border-bottom:1px solid #dce2df}.global-unit-search button{width:100%;min-height:44px}.global-unit-search select{max-width:100%}.global-unit-search input{box-sizing:border-box}
.unit-finder [hidden],.unit-availability[hidden]{display:none!important}
.floor-destinations{display:grid;gap:8px}.floor-destinations p{font-size:13px;line-height:1.5;margin:0 0 6px;color:var(--muted)}.floor-destinations button{text-align:left;padding:12px 14px;min-height:44px}
.unit-finder button:disabled{background:#e9e9ed!important;color:#86868b!important;box-shadow:none!important;cursor:not-allowed}
:root{color-scheme:light;--ink:#1d1d1f;--muted:#6e6e73;--accent:#007aff;--panel:rgba(250,250,252,.94)}
body{font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",sans-serif!important;color:var(--ink)!important}
header{top:16px!important;left:16px!important;right:16px!important;gap:8px!important;padding:10px 14px!important;border:1px solid #ffffffb3!important;border-radius:20px!important;background:var(--panel)!important;box-shadow:0 4px 24px #00000012;z-index:30;flex-wrap:nowrap!important}
header strong{font-size:13px;letter-spacing:.12em;margin-right:12px}header small{display:none!important}
header select{flex:1;min-width:110px;max-width:280px;margin:0!important;background:#e9e9ed!important;border:0!important;font-weight:600}
button,select,input{font-family:inherit!important;font-size:13px!important;border-radius:11px!important;min-height:40px;transition:background .15s,box-shadow .15s}
button{background:#e9e9ed!important;color:var(--ink)!important;border:0!important;font-weight:500;white-space:nowrap}
button:hover{background:#dedee4!important}button.active{background:var(--accent)!important;color:#fff!important;box-shadow:0 2px 7px #007aff22}
button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #007aff80!important;outline-offset:3px}
aside#unitControlPanel{top:88px!important;left:16px!important;width:272px!important;padding:20px!important;background:var(--panel)!important;border:1px solid #ffffffb3!important;border-radius:20px!important;box-shadow:0 6px 28px #00000012!important;max-height:calc(100vh - 168px)!important}
aside h1{font-size:23px!important;letter-spacing:-.6px!important;margin:0 0 6px!important}
aside #summary{font-size:12px!important;color:var(--muted)!important;line-height:1.5!important;margin-bottom:18px!important}
.unit-finder{padding:0!important;background:transparent!important;border:0!important;gap:14px!important}
.unit-finder label{font-size:12px!important;color:var(--muted)!important;font-weight:500!important}
.unit-finder input,.unit-finder select{background:#eeeef2!important;border:1px solid transparent!important;color:var(--ink)!important;min-height:42px!important}
.unit-finder small{color:var(--muted)!important;font-size:11px!important}
#panelToggle{left:288px!important;top:105px!important;border:0!important;width:28px!important;height:40px!important;border-radius:0 10px 10px 0!important;background:var(--panel)!important;font-size:23px!important}
body.left-panel-hidden #panelToggle{left:16px!important;border-radius:12px!important;width:40px!important}
#walkMinimap{background:var(--panel)!important;border:1px solid #ffffffb3!important;border-radius:18px!important;padding:12px!important;box-shadow:0 4px 20px #00000012!important;opacity:.92!important;right:16px!important}
footer{left:16px!important;right:16px!important;bottom:12px!important;padding:10px 14px!important;background:var(--panel)!important;color:var(--muted)!important;border:1px solid #ffffff80!important;border-radius:14px!important;font-size:11px!important;line-height:1.4;box-shadow:0 3px 16px #0000000a;pointer-events:none}
footer #status{max-width:28%;font-size:10px;opacity:.7}
@media(max-width:900px){header{gap:5px!important;padding:9px!important}header button{padding:9px!important;font-size:11px!important}header strong{margin-right:2px;font-size:11px}footer #status{display:none}}
@media(prefers-reduced-motion:reduce){button,select,input{transition:none}}

/* Future development / architectural control surfaces. */
:root{color-scheme:light;--ink:#242b2d;--muted:#687477;--accent:#365f61;--panel:rgba(250,251,250,.96)}
body{font-family:"Avenir Next","Segoe UI",sans-serif!important}
header,aside#unitControlPanel,#walkMinimap,footer{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid #dce2df!important;box-shadow:0 5px 22px #192d2710!important;color:var(--ink)!important}
header{top:18px!important;left:20px!important;right:20px!important;padding:10px 16px!important;border-radius:12px!important;background:var(--panel)!important}
header strong{font-size:12px;letter-spacing:.13em;color:var(--ink);margin-right:22px}
header select{background:#f0f3f1!important;border:1px solid #dce2df!important;max-width:240px;font-weight:500;letter-spacing:.01em;color:var(--ink)!important}
button,select,input{border-radius:7px!important;min-height:44px;letter-spacing:.01em}
button{background:#f1f4f2!important;color:var(--ink)!important;border:1px solid #dce2df!important;font-weight:500}
button:hover:not(:disabled){background:#e6edE9!important;border-color:#a8bab2!important}
button.active{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important;box-shadow:none!important;font-weight:600}
button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #638d87!important;outline-offset:3px}
select option{background:#fafbfa;color:#242b2d}
aside#unitControlPanel{top:98px!important;left:20px!important;width:272px!important;padding:22px!important;border-radius:12px!important;background:var(--panel)!important;max-height:calc(100vh - 176px)!important}
aside h1{font-size:28px!important;font-weight:500!important;letter-spacing:-1px!important;color:var(--ink)!important}
aside h1:before{content:none}
aside #summary{padding-bottom:16px;border-bottom:1px solid #dce2df;font-size:12px!important}
.unit-finder label{font-size:12px!important;text-transform:none;letter-spacing:0!important}
.unit-finder input,.unit-finder select{background:#f1f4f2!important;border:1px solid #dce2df!important;color:var(--ink)!important;padding:12px!important}
.unit-finder input::placeholder{color:#737e79;opacity:1}
.unit-finder button:disabled{background:#eff1ef!important;color:#8b948f!important;border-color:transparent!important}
.floor-destinations{gap:7px}.floor-destinations button{min-height:44px;border-radius:7px!important;padding:12px 14px;white-space:normal}
.floor-destinations p{font-size:12px;margin-bottom:9px}
#panelToggle{left:292px!important;top:116px!important;background:var(--panel)!important;color:var(--accent)!important;border:1px solid #dce2df!important;border-radius:0 7px 7px 0!important}
body.left-panel-hidden #panelToggle{left:20px!important;border-radius:8px!important}
#walkMinimap{right:20px!important;border-radius:12px!important;opacity:1!important;color:var(--ink)!important}
#walkMinimap small,#walkMinimap p{color:var(--muted)!important}
footer{left:20px!important;right:20px!important;border-radius:8px!important;background:var(--panel)!important;color:var(--muted)!important;font-size:10px!important}
@media(max-width:900px){header{left:12px!important;right:12px!important;padding:8px!important;gap:5px!important}header strong{font-size:10px;letter-spacing:.13em;margin-right:4px}header select{min-width:100px!important}header button{font-size:11px!important;padding:9px 8px!important}}
@media(max-width:620px){header{flex-wrap:wrap!important}header select{max-width:none}header button{flex:1}aside#unitControlPanel{top:132px!important;max-height:calc(100vh - 210px)!important}#panelToggle{top:148px!important}#walkMinimap{max-width:140px!important}}

/* Handover repair: wrapped navigation and mutually exclusive narrow-screen overlays. */
header{flex-wrap:wrap!important}
header select{width:auto;flex:1 1 140px;min-width:0!important}
header button{flex:0 1 auto}
aside#unitControlPanel{top:var(--controls-bottom,98px)!important;bottom:82px;max-height:none!important;width:min(272px,calc(100vw - 64px))!important}
#panelToggle{top:calc(var(--controls-bottom,98px) + 18px)!important}
.source-scope{border-top:1px solid #dce2df;margin-top:16px;padding-top:12px;font-size:11px;line-height:1.5}
.source-scope summary{cursor:pointer;font-weight:600}
.source-scope p{margin:8px 0 0;color:var(--muted)}
@media(max-width:620px){
 header{top:10px!important;left:10px!important;right:10px!important}
 header strong{flex:0 0 auto}
 header select{flex:1 1 160px}
 header button{flex:1 1 auto}
 aside#unitControlPanel{left:10px!important;right:50px;width:auto!important;padding:16px!important;bottom:76px}
 #panelToggle{left:auto!important;right:10px;width:32px!important;border-radius:7px!important}
 body.left-panel-hidden #panelToggle{left:10px!important;right:auto;width:40px!important}
 /* The panel occupies the same scene region as the map at phone widths. Restore the map on closing Units. */
 body:not(.left-panel-hidden) #walkMinimap{display:none!important}
 footer{left:10px!important;right:10px!important;bottom:8px!important;max-height:60px;overflow:hidden}
}
@media(max-height:480px){aside#unitControlPanel{bottom:58px}footer{max-height:36px;overflow:hidden}}

/* Floor selector remains readable at phone widths. */
@media(max-width:620px){header strong{display:none}header select{flex:1 1 100%!important;width:100%;max-width:none!important}}
/* Restored automatic phone edition; apply only with approved mobile restoration. */
body.mobile-game #panelToggle,body.mobile-game.left-panel-hidden #panelToggle{top:var(--controls-bottom,68px)!important;left:max(8px,env(safe-area-inset-left))!important;right:auto!important;width:52px!important;font-size:13px!important}
body.mobile-game:not(.left-panel-hidden) #walkMinimap{display:none!important}
body.mobile-game aside#unitControlPanel{top:var(--controls-bottom,68px)!important;bottom:calc(18px + env(safe-area-inset-bottom));left:8px!important;right:8px!important;width:auto!important;max-height:none!important}
body.mobile-game .source-scope{clear:both}
