/* RatLabs site cards: translucent charcoal, CRT grain, pale text, neon detail.
   Shared by the complete game interface; green is an accent, not a button fill. */
:root {
  --rl-ink: #e1e9e5;
  --rl-muted: #a2ada7;
  --rl-accent: #39d353;
  --rl-edge: rgba(200,234,204,.24);
  --rl-glass: rgba(5,8,9,.72);
  --rl-texture: repeating-linear-gradient(0deg,transparent 0 3px,rgba(0,0,0,.14) 3px 4px),radial-gradient(circle,rgba(222,239,228,.055) .6px,transparent .9px);
  --matrix-panel: var(--rl-glass);
  --matrix-edge: var(--rl-edge);
  --matrix-dots: var(--rl-texture);
}
:is(.box.card,#hud .box,.station-panel,.map-directory,.guide-hud,.area-banner,.private-terminal,.site-viewer,.youtube-viewer,.youtube-radio,.lift-panel,.flight-controls,.gadget-tray,.carrier-views,.cockpit-avionics,.pwa-actions,#labTelecom,#facilityStatus,#hud .talk,#toast,#prompt) {
  color: var(--rl-ink);
  background: var(--rl-texture),var(--rl-glass);
  background-size: auto,6px 6px;
  border: 1px solid var(--rl-edge);
  border-radius: 3px;
  box-shadow: 0 14px 40px #0005,inset 0 1px rgba(231,255,237,.065);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  text-shadow: none;
}
:is(.card,.station-panel,.map-directory,.private-terminal,.site-viewer,.youtube-viewer,.lift-panel,.flight-controls,.carrier-views,.gadget-tray,.mobile-controls,.youtube-radio,.pwa-actions,#hud) :is(button,.btn,select,input),.plan-destinations button {
  background: rgba(223,235,229,.045);
  background-image: none;
  color: var(--rl-ink);
  border: 1px solid rgba(211,230,219,.21);
  border-radius: 2px;
  box-shadow: inset 0 1px rgba(255,255,255,.035);
  font-family: 'JetBrains Mono',monospace;
  text-shadow: none;
  transition: background-color .16s,border-color .16s,box-shadow .16s;
}
:is(.card,.station-panel,.map-directory,.private-terminal,.site-viewer,.youtube-viewer,.lift-panel,.flight-controls,.carrier-views,.gadget-tray,.mobile-controls,.youtube-radio,.pwa-actions,#hud) :is(button,.btn):hover {
  background: rgba(223,235,229,.11);
  border-color: rgba(200,234,204,.62);
  box-shadow: 0 0 14px rgba(57,211,83,.09);
}
:is(button,.btn,a,input,select):focus-visible { outline: 2px solid #9ef9b0;outline-offset: 3px; }
:is(.card,.private-terminal,.flight-controls,.lift-panel,.carrier-views,.station-panel,.map-directory) :is(button[aria-pressed=true],button[aria-selected=true],.selected,.active) {
  background: rgba(57,211,83,.075);
  border-color: rgba(57,211,83,.72);
  box-shadow: inset 2px 0 #39d353;
  color: #ddf9e2;
}
:is(.card,.private-terminal,.lift-panel,.site-viewer,.youtube-viewer) :is(header,h1,h2,.big) { color: var(--rl-ink);text-shadow: none; }
:is(.card,.private-terminal,.flight-controls,.lift-panel,.station-panel,.map-directory) :is(small,.muted,.hint,.terminal-status) { color: var(--rl-muted); }
.screen.dimbg { background: rgba(0,0,0,.24);backdrop-filter: none; }
#info .card { border-style: solid;padding: clamp(20px,3vw,36px);gap: 18px;max-width: min(820px,92vw); }
#infoSpeaker,.terminal-fact,.dialogue-thread,.dialogue-card,#infoBody pre,.terminal-output,.facility-plans article,.lift-floor {
  background: rgba(218,235,226,.035);
  background-image: none;
  color: var(--rl-ink);
  border: 1px solid rgba(200,234,204,.14);
  border-radius: 2px;
  box-shadow: none;
}
#infoSpeaker { border-left: 2px solid var(--rl-accent); }
#infoBody { line-height: 1.75; }
#infoBody p { color: #d5dfd9; }
#infoBody pre { padding: 18px;line-height: 1.9; }
#infoBody .terminal-fact { padding: 18px;border-style: solid; }
#infoBody .dialogue-choices { gap: 10px; }
#infoBody .dialogue-choices button { min-height: 46px;text-align: left;padding: 12px 15px;line-height: 1.6; }
#hud .gadget-tray { padding: 6px;gap: 5px;border-radius: 3px; }
#hud .gadget-tray button { min-height: 44px;border-color: transparent;background: transparent; }
#hud .gadget-tray button:hover { border-color: var(--rl-edge);background: rgba(255,255,255,.06); }
#toast,#labTelecom,.guide-hud,.area-banner { border-left: 2px solid #8da295; }
#prompt { padding: 9px 14px;color: #edfff1;border-color: rgba(200,234,204,.36); }
.private-terminal header { padding-bottom: 16px;border-bottom-color: var(--rl-edge); }
.private-terminal.bunker-transit { max-width: 640px;padding: 24px; }
.bunker-transit-choices { display: grid;grid-template-columns: 1fr 1fr;gap: 10px; }
.bunker-transit-choices button { text-align: left;min-height: 64px;padding: 14px 16px;line-height: 1.6;letter-spacing: .025em; }
.lift-panel { border-left: 2px solid var(--rl-accent); }
.lift-panel button { padding: 14px; }
.lift-floor[aria-selected=true] { background: rgba(57,211,83,.065); }
body.vtol-in-flight .flight-controls,.flight-controls {
  left: 18px;right: auto;bottom: max(16px,env(safe-area-inset-bottom));transform: none;
  width: min(760px,calc(100vw - 390px));max-width: none;box-sizing: border-box;
  padding: 16px;font: 11px 'JetBrains Mono',monospace;
  background: var(--rl-texture),rgba(5,8,9,.70);background-size: auto,6px 6px;
  border-color: var(--rl-edge);border-radius: 3px;
}
.flight-controls .flight-panel-heading { display: grid;grid-template-columns: auto 1fr;gap: 12px;margin: 0 0 14px; }
.flight-panel-heading b { color: #f1fff5;font-size: 12px;letter-spacing: .13em; }
.flight-panel-heading b span { color: #a2ada7;font-size: 9px; }
.flight-panel-heading #flightStatus { color: #c4d1c9;font-size: 10px;line-height: 1.5; }
.flight-controls .flight-actions { display: grid;grid-template-columns: repeat(4,minmax(0,1fr));gap: 8px;margin: 0; }
.flight-controls .flight-actions button { min-height: 44px;font-size: 10px;padding: 10px 9px;line-height: 1.5;background: rgba(232,241,236,.04);border-color: rgba(200,234,204,.22); }
.flight-controls .flight-actions :is(#vtolAutopilot,[data-key=KeyE]) { border-color: rgba(126,226,148,.60);color: #ecfff1;box-shadow: inset 0 -2px rgba(57,211,83,.5); }
.flight-controls button[aria-pressed=true] { background: rgba(57,211,83,.06);border-color: rgba(57,211,83,.55); }
.flight-controls kbd { display: inline-block;color: #abbcb1;border: 1px solid #ffffff20;border-radius: 2px;padding: 1px 4px;font-size: 9px; }
.flight-controls .flight-movement { border-color: var(--rl-edge);margin-top: 14px;padding-top: 12px;max-height: 34dvh;overflow: auto; }
.flight-controls .flight-movement p { color: #bccac1;line-height: 1.9; }
.flight-controls .flight-movement>div { display: grid;grid-template-columns: repeat(5,minmax(0,1fr));gap: 6px; }
.flight-movement button { min-width: 0;min-height: 44px; }
.cockpit-avionics { background-color: rgba(5,8,9,.76);border-color: var(--rl-edge); }
@media(max-width:1000px) and (min-width:701px) {
  .flight-controls .flight-actions { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .flight-controls .flight-panel-heading { grid-template-columns: 1fr;gap: 6px; }
  .flight-panel-heading #flightStatus { text-align: left; }
}
@media(max-width:700px),(pointer:coarse) {
  body.vtol-in-flight .flight-controls,.flight-controls { left: 10px;bottom: 10px;width: calc(100vw - 20px);padding: 12px; }
  .flight-controls .flight-actions { grid-template-columns: repeat(4,minmax(0,1fr));gap: 5px; }
  .flight-controls .flight-actions button { font-size: 8px;min-height: 46px;padding: 8px 4px; }
  .flight-panel-heading b { font-size: 10px; }.flight-panel-heading #flightStatus { font-size: 8px; }
  .flight-controls .flight-movement>div { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .bunker-transit-choices { grid-template-columns: 1fr; }
  .private-terminal.bunker-transit { padding: 18px; }
  .youtube-radio { max-width: calc(100vw - 24px); }
}
@media(prefers-reduced-motion:reduce) { :is(button,.btn) { transition: none!important; } }
.private-terminal.bunker-transit .bunker-transit-choices { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0;width:100%; }
.private-terminal.bunker-transit .bunker-transit-choices button { font:12px/1.65 'JetBrains Mono',monospace;min-height:76px;padding:16px;letter-spacing:.025em; }
@media(max-width:700px) { .private-terminal.bunker-transit .bunker-transit-choices { grid-template-columns:1fr; } }
@media(prefers-reduced-transparency:reduce) { :root { --rl-glass:rgba(5,8,9,.96); } }
/* Transit windows follow their content instead of occupying the whole screen. */
.private-terminal.bunker-transit {
 inset:auto;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;
 width:min(540px,calc(100vw - 28px));max-width:none;height:auto;min-height:0;
 max-height:calc(100dvh - 32px);padding:22px;display:grid;gap:16px;box-sizing:border-box;
}
.private-terminal.bunker-transit .bunker-transit-choices {grid-template-columns:1fr;margin:0;gap:8px;}
.private-terminal.bunker-transit .bunker-transit-choices button {min-height:54px;padding:14px 16px;font-size:12px;}
.menu-keys {display:block;color:#adbfb2;font:10px/1.8 'JetBrains Mono',monospace;letter-spacing:.02em;padding-top:12px;border-top:1px solid var(--rl-edge);}
[data-menu-index]::before {content:attr(data-menu-index);display:inline-grid;place-items:center;min-width:22px;min-height:22px;margin-right:10px;border:1px solid #b4dfbd40;color:#9fe4ad;font:11px 'JetBrains Mono',monospace;vertical-align:middle;}
.private-terminal.bunker-transit>h2 {font:14px/1.6 'JetBrains Mono',monospace;margin:0;}
@media(max-height:550px){.private-terminal.bunker-transit{top:12px;transform:translateX(-50%);max-height:calc(100dvh - 24px);gap:10px;padding:16px;}.private-terminal.bunker-transit .bunker-transit-choices button{min-height:44px;padding:10px 12px;}.menu-keys{font-size:9px;}}
/* Seamless scroll surfaces retain wheel, touch and keyboard access. */
*,*::before,*::after{scrollbar-width:none!important;-ms-overflow-style:none!important}
*::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
#hud .camera-picker{position:relative;display:grid;align-content:center;gap:5px;min-width:158px;padding:8px 30px 8px 12px;text-align:left;border:1px solid var(--rl-edge);background:rgba(255,255,255,.025)}
.camera-picker kbd{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.14em;color:#93a4ad}.camera-picker strong{font:500 11px 'JetBrains Mono',monospace;color:#edf4f8}.camera-chevron{position:absolute;right:12px;bottom:12px;color:#b9d2e8}
.camera-menu{position:fixed;z-index:120;left:18px;bottom:100px;width:min(420px,calc(100vw - 36px));max-height:calc(100dvh - 130px);box-sizing:border-box;display:flex;flex-direction:column;background:radial-gradient(ellipse at 0 0,#36506b35,transparent 70%),repeating-linear-gradient(0deg,transparent 0 3px,#dceeff03 3px 4px),rgba(7,11,16,.9);border:1px solid #afcee238;box-shadow:0 20px 80px #0009;backdrop-filter:blur(14px);border-radius:8px;color:#e4edf3;font:11px 'JetBrains Mono',monospace;overflow:hidden}
.camera-menu[hidden]{display:none}.camera-menu header{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:21px 20px 16px;border-bottom:1px dotted #b7d3e533}.camera-menu header small{font-size:8px;letter-spacing:.2em;color:#9bb0c1}.camera-menu h2{font-size:17px;font-weight:500;margin:7px 0 0;letter-spacing:-.03em}.camera-menu#cameraMenu header button{background:none;border:0;color:#bdcbd4;font-size:24px;cursor:pointer;min-width:38px;min-height:38px}#cameraMenu nav{padding:8px;overflow:auto;min-height:0}.camera-menu#cameraMenu nav button{width:100%;display:grid;grid-template-columns:30px 1fr 14px;gap:10px;align-items:center;min-height:61px;padding:10px 12px;background:transparent;border:1px solid transparent;border-radius:4px;color:#dfe9f1;text-align:left;cursor:pointer;font:11px 'JetBrains Mono',monospace}.camera-menu#cameraMenu nav button strong{display:block;font-weight:500}.camera-menu#cameraMenu nav button small{display:block;margin-top:5px;font-size:9px;line-height:1.5;color:#90a1ad}.camera-menu#cameraMenu nav button kbd{font-size:10px;color:#9ab7d1}.camera-menu#cameraMenu nav button i{font-size:8px;color:transparent}.camera-menu#cameraMenu nav button[aria-checked=true]{background:#9dbde510;border-color:#abc9ed35}.camera-menu#cameraMenu nav button[aria-checked=true] i{color:#a3d4ff}.camera-menu#cameraMenu nav button:hover,.camera-menu#cameraMenu nav button:focus-visible{outline:none;border-color:#bfd9f875;background:#a3c9f91a}.camera-menu footer{display:flex;gap:12px;flex-wrap:wrap;padding:14px 20px;border-top:1px dotted #b7d3e533;font-size:8px;color:#a8b7c4}.camera-menu footer span{color:#7e96a8}.camera-menu footer small{display:block;width:100%;font-size:8px;color:#778d9c}
body.map-open .map-directory{display:none!important}.facility-map{inset:0;padding:26px clamp(16px,4vw,64px) 18px;background:radial-gradient(ellipse at 15% 0%,#19395366,transparent 60%),radial-gradient(circle,#9ecce309 .7px,transparent .9px) 0 0/8px 8px,#080d13;display:flex;flex-direction:column;gap:16px;overflow:hidden;color:#d8e6f0}.facility-map[hidden]{display:none}.facility-map>header{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1500px;margin:0 auto;gap:20px}.facility-map header small{color:#8faac0;font-size:9px;letter-spacing:.22em}.facility-map h1{margin:6px 0;font-size:28px;font-weight:500;letter-spacing:-.04em}.facility-map h1 span{display:inline-block;font:8px 'JetBrains Mono',monospace;margin-left:16px;letter-spacing:.12em;color:#b8d8f1}.facility-map header p{margin:0;font-size:10px;color:#8296a8}#facilityMap .atlas-close{padding:12px 16px;color:#d2e3f0;border:1px solid #b9cfe72e;background:#c8dfff07;border-radius:4px;cursor:pointer;font:9px 'JetBrains Mono',monospace;white-space:nowrap}.atlas-tabs{display:flex;flex-wrap:wrap;gap:6px;width:100%;max-width:1500px;margin:auto;flex:none}#facilityMap .atlas-tabs button{min-height:39px;padding:10px 14px;background:#b1ceeb06;border:1px solid #b1ceeb20;border-radius:3px;color:#91a9bd;font:10px 'JetBrains Mono',monospace;cursor:pointer}#facilityMap .atlas-tabs button kbd{margin-right:10px;color:#66849d}#facilityMap .atlas-tabs button[aria-current=true]{color:#eff8ff;border-color:#b1ceeb75;background:#94bde919}#facilityMap .atlas-tabs button:focus-visible{outline:1px solid #d4eaff;outline-offset:2px}
.facility-plans{display:block;width:100%;max-width:1500px;margin:0 auto;flex:1;min-height:0}.facility-plans article{box-sizing:border-box;max-height:100%;overflow:auto;padding:20px 24px;background:linear-gradient(140deg,#17253188,#09111c99);border:1px solid #a8c9e32a;border-radius:5px;box-shadow:0 12px 50px #0004}.facility-plans article[hidden]{display:none}.facility-plans article.current-deck{border-color:#a1c9eb60}.facility-plans h2{font-size:11px;font-weight:500;letter-spacing:.1em;color:#cadff0;padding-bottom:13px;margin:0 0 12px;border-bottom:1px dotted #a6c6e333}.plan-stage{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:24px;align-items:center}.facility-plans .plan-stage>svg{width:100%;height:min(52dvh,550px);max-height:none;background:radial-gradient(circle,#93bfe01a .55px,transparent .7px) 0 0/9px 9px,#07111c;border:1px solid #95bddd18;border-radius:3px}.plan-deck{fill:#25475e44;stroke:#8abbd4;stroke-width:.16}.plan-fixture{fill:#8daec51a;stroke:#97bfd05c;stroke-width:.07}.plan-lift{fill:#6ac8f61c;stroke:#b0e2ff;stroke-width:.18}.plan-lift-label,.plan-private-label{fill:#b3d2e9}.plan-destination{fill:#a5cee4;stroke:#0e1d2b}.plan-number{fill:#0a1520}.plan-you{fill:#f5d399;stroke:#1c2024;stroke-width:.18;filter:drop-shadow(0 0 .7px #f3dbab99)}.plan-pad-label{fill:#bad6e8;text-anchor:middle;font:bold 2px monospace}.plan-destinations{gap:0;margin:0;display:flex;flex-direction:column}.plan-destinations span{font-size:10px;line-height:1.6;padding:9px 0;color:#afc7d9;border-bottom:1px dotted #a9cbe31a}.atlas-plan-key{display:grid;gap:16px;font-size:10px;color:#99b5ca}.atlas-plan-key b{font-weight:500;font-size:8px;letter-spacing:.15em;color:#d3e7f4}.atlas-notes{margin-top:15px;color:#91aabd;font-size:10px;border-top:1px dotted #a9cbe325;padding-top:13px}.atlas-notes summary{cursor:pointer;color:#9ab8cf;font-size:8px;letter-spacing:.13em;padding:4px 0}.atlas-notes p{line-height:1.8}.atlas-notes svg{max-height:280px;margin-top:12px}.atlas-footer{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;flex:none;max-width:1500px;width:100%;margin:auto;color:#849fb3;font-size:8px;letter-spacing:.07em}.atlas-footer i{font-style:normal;margin:0 12px}.atlas-footer small{width:100%;font-size:8px;color:#5d7a92}
@media(max-width:700px),(pointer:coarse){.camera-menu{left:12px;bottom:80px;width:calc(100vw - 24px);max-height:calc(100dvh - 110px)}.camera-menu#cameraMenu nav button{min-height:60px}.facility-map{inset:0;padding:16px 12px 12px;gap:12px}.facility-map>header{align-items:flex-start;gap:10px}.facility-map h1{font-size:22px}.facility-map h1 span{display:none}.facility-map header small{font-size:7px}.facility-map header p{font-size:9px;max-width:210px}#facilityMap .atlas-close{padding:12px 9px;font-size:8px;min-height:44px}.atlas-tabs{flex-wrap:nowrap;overflow:auto;gap:5px}#facilityMap .atlas-tabs button{flex:none;min-height:44px;padding:10px}#facilityMap .atlas-tabs button kbd{margin-right:5px}.facility-plans article{padding:14px 12px}.plan-stage{grid-template-columns:1fr;gap:12px}.facility-plans .plan-stage>svg{height:38dvh}.plan-destinations{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.plan-destinations span{font-size:8px;padding:6px 0}.atlas-plan-key{grid-template-columns:1fr 1fr;gap:8px;font-size:8px}.atlas-plan-key b{grid-column:1/-1}.atlas-footer{font-size:7px;line-height:1.8}}
/* Keep the world clear; the atlas is available on demand. */
#minimap{display:none!important}
.youtube-radio{width:240px;max-width:calc(100vw - 24px);font-size:9px}.youtube-radio iframe{height:135px}.youtube-radio header{gap:5px;padding:6px}.youtube-radio button{font-size:8px;padding:5px}.youtube-watch:not(.expanded){width:min(260px,calc(100vw - 24px))}.youtube-watch header strong{font-size:9px}.youtube-watch p{font-size:8px}.youtube-watch button{min-width:28px;min-height:28px;font-size:15px}.youtube-watch.expanded{width:min(720px,calc(100vw - 24px),calc((100dvh - 100px)*16/9))}
@media(min-width:701px) and (pointer:fine){#hud .gadget-tray{padding:4px;gap:3px;left:12px;bottom:12px}#hud .gadget-tray button{min-height:36px;min-width:38px;padding:5px 7px;font-size:7px;gap:3px}#hud .gadget-tray .camera-picker{min-width:126px;padding:5px 25px 5px 9px}#hud .camera-picker strong{font-size:9px}#hud .camera-picker kbd{font-size:7px}body.vtol-in-flight .flight-controls,.flight-controls{padding:10px;width:min(680px,calc(100vw - 290px));left:12px;bottom:12px}.flight-controls button{min-height:33px;font-size:8px;padding:6px}.flight-controls .flight-actions{gap:4px}.flight-controls .flight-panel-heading{margin-bottom:8px}.camera-menu{bottom:72px}}
@media(max-width:700px),(pointer:coarse){.youtube-radio{width:210px}.youtube-radio iframe{height:118px}.youtube-watch:not(.expanded){width:min(230px,calc(100vw - 24px))}.youtube-watch button{min-width:44px;min-height:44px}}
@media(max-width:700px),(pointer:coarse){.atlas-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow:visible;margin:0;gap:5px}#facilityMap .atlas-tabs button{display:flex;align-items:center;justify-content:center;gap:3px;min-width:0;padding:8px 3px;font-size:8px}#facilityMap .atlas-tabs button kbd{margin:0}}
/* Spatial atlas: RatLabs card glass, circular pixels and a rotatable model. */
.facility-map{background:radial-gradient(ellipse at 25% 0,#24463533,transparent 65%),radial-gradient(circle,#cee1d20b .65px,transparent .9px) 0 0/7px 7px,rgba(5,9,8,.93);color:#dce5df;backdrop-filter:blur(8px)}
.facility-map header small{color:#8db89b}.facility-map h1{color:#e5eee8}.facility-map h1 span{color:#b9d3bd;border:1px dotted #a4bba545;padding:5px 8px}.facility-map header p{color:#9eaaa2}
#facilityMap .atlas-tabs button{color:#aab9af;background:#c2d9ca05;border-color:#b4ccbc27}#facilityMap .atlas-tabs button kbd{color:#9eb9a5}#facilityMap .atlas-tabs button[aria-current=true]{color:#e2f4e6;border-color:#bfd8bd70;background:#afc9ac10}
.facility-plans article{background:repeating-linear-gradient(0deg,#cadbcd02 0 1px,transparent 1px 4px),rgba(11,18,14,.65);border:1px solid #b3c8b431;border-radius:6px;box-shadow:0 15px 60px #0005;position:relative}.facility-plans article::before{content:'';position:absolute;inset:5px;border:1px dotted #bdd5c51b;border-radius:3px;pointer-events:none}.facility-plans article.current-deck{border-color:#adcfad66}.facility-plans h2{color:#d5e6d8;border-color:#c8dfcc30}.plan-destinations span{color:#b6c9bb;border-color:#c8dfcc20}.atlas-plan-key{color:#a3b8a9}.atlas-plan-key b{color:#d8e4dc}.atlas-notes,.atlas-notes summary{color:#9fbaa6;border-color:#a9c2ac30}.atlas-footer{color:#a4b4a8}.atlas-footer small{color:#7f9786}
.atlas-viewport{width:100%;min-width:0;position:relative;background:radial-gradient(ellipse at 50% 75%,#7ca88d0b,transparent 70%);border:1px dotted #adceb825;border-radius:4px;overflow:hidden}.atlas-model{display:block;width:100%;height:min(51dvh,540px);touch-action:none;cursor:grab}.atlas-model:active{cursor:grabbing}.atlas-model[hidden]{display:none}.atlas-viewport>svg{width:100%;height:min(51dvh,540px);max-height:none;background:#060e0a}
.atlas-model-tools{padding:9px 11px;border-top:1px dotted #adcbb428;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.facility-map .atlas-model-tools button{background:#afc4b208;border:1px solid #adc7b535;border-radius:3px;color:#c4d8c9;font:9px 'JetBrains Mono',monospace;min-height:32px;min-width:33px;padding:7px 10px;cursor:pointer}.facility-map .atlas-model-tools button:focus-visible{outline:1px solid #cde6d3;outline-offset:2px}.atlas-model-tools small{font:8px 'JetBrains Mono',monospace;color:#87a18f;margin-left:auto}.facility-map .plan-stage{grid-template-columns:minmax(0,1fr) 225px;gap:22px}
@media(max-width:700px){.facility-map .plan-stage{grid-template-columns:1fr;gap:14px}.atlas-model,.atlas-viewport>svg{height:300px}.atlas-model-tools small{width:100%;margin-left:0;font-size:8px}.facility-map .atlas-model-tools button{min-height:38px}.facility-map .atlas-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;gap:5px;overflow:visible}.facility-map .atlas-tabs button{min-width:0;padding:8px 4px;font-size:8px}.facility-map .atlas-tabs button kbd{margin-right:4px}.facility-plans article{padding:16px 13px}.facility-map h1 span{display:none}.plan-destinations{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}}
.catalogue-status{display:block;font:10px/1.7 'JetBrains Mono',monospace;color:#a8bdae;margin:0 0 14px}

/* Reading panels remain still and legible while the world runs behind them. */
:is(#info,#pause,#lift,.private-terminal,.youtube-viewer,.site-viewer,.camera-menu,.facility-map) *,
:is(#info,#pause,#lift,.private-terminal,.youtube-viewer,.site-viewer,.camera-menu,.facility-map) *::before,
:is(#info,#pause,#lift,.private-terminal,.youtube-viewer,.site-viewer,.camera-menu,.facility-map) *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
#info .card{background-color:rgba(9,14,17,.97);width:min(760px,calc(100vw - 28px));min-height:min(480px,80dvh);align-self:center}
#infoBody{line-height:1.8;font-size:16px;color:#e6ede9}
.lab-transcript{max-height:none;overflow:visible;scrollbar-width:none}
.lab-transcript p{background:#182126;color:#edf2ef;font:16px/1.8 system-ui,sans-serif}
.lab-transcript:empty{display:none}
.lab-questions{display:grid;grid-template-columns:1fr;gap:8px}
.lab-questions button,.lab-questions a{font-size:14px;line-height:1.6;text-align:left;background:#172024;color:#e3ece7;border-color:#52615f}
.lab-conversation[data-page="answer"] .lab-questions button{margin-top:10px;border-color:#abc8b5}
@media(max-width:600px){#info .card{min-height:0}#infoBody,.lab-transcript p{font-size:15px}}

#info .card{display:flex;flex-direction:column;height:min(740px,88dvh);min-height:0;overflow:hidden;gap:16px}
#info .card> :not(#infoBody){flex-shrink:0}
#infoBody{display:block;min-height:0;overflow:auto;scrollbar-width:none;flex:1}
#infoBody::-webkit-scrollbar{display:none}
#infoImg{flex-shrink:1!important;min-height:0;max-height:24dvh!important}

/* The CCTV frame is an overlay, not a full-screen glass card. */
#securityHud{background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
@media(max-width:700px){.security-floor-select{width:calc(100% - 24px);justify-content:center;flex-wrap:wrap;white-space:normal;bottom:8px;gap:4px}.security-floor-select button{font-size:9px;padding:8px}.security-record,.security-time{padding:7px;font-size:10px}.security-time time{font-size:11px}}
