*{box-sizing:border-box}html{scroll-behavior:smooth;background:#02060d;color-scheme:dark}
body{margin:0;min-width:320px;background:radial-gradient(circle at 70% 0,#0d2847 0,#050a13 28%,#02060c 70%);color:#f6f8ff;font-family:Inter,system-ui,sans-serif;line-height:1.45}
a{text-decoration:none!important}
.topbar{height:64px;max-width:1600px;margin:auto;display:flex;align-items:center;gap:26px;padding:0 28px;border-bottom:1px solid #173651;background:linear-gradient(90deg,#030914fa,#06101df5 58%,#071a2bf2);position:sticky;top:0;z-index:80;backdrop-filter:blur(18px);justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:11px;color:#8eb5ff;font-weight:400!important;letter-spacing:.22em;font-size:15px;font-family:Inter,system-ui,sans-serif;text-decoration:none!important;text-transform:uppercase}.brand img{width:34px;height:34px;object-fit:cover;border-radius:50%;border:1px solid #1e3a5a}.site-nav{display:flex;align-items:center;gap:26px;font-size:11px;font-weight:700}.site-nav a{color:#8aa4c0;letter-spacing:1.4px;text-transform:uppercase}.site-nav a:hover{color:#c8ddff}.atlas-nav-current{padding:10px 15px;border:1px solid #2d7daf;border-radius:9px;background:linear-gradient(90deg,#08314b,#0b4464);color:#e6f6ff!important}.site-menu-button{display:none;width:44px;height:44px;background:#0e1a30;border:1px solid #1e3a5a;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:5px}.site-menu-button span{display:block;width:18px;height:2px;background:#7dd3fc;border-radius:2px}.site-mobile-nav{position:fixed;inset:64px 0 auto 0;background:#05111ff5;border-bottom:1px solid #173651;z-index:75;padding:12px 18px;display:grid;gap:6px}.site-mobile-nav a{color:#cfe6ff;padding:10px 0;border-bottom:1px solid #12324f;font-size:13px;font-weight:700;letter-spacing:1px}

.atlas-shell{display:grid;grid-template-columns:minmax(290px,340px) minmax(0,1fr);height:calc(100dvh - 140px);min-height:700px;border-top:1px solid #0f1d32;border-bottom:1px solid #173651}
.guide-panel{background:linear-gradient(180deg,#051426,#03101d);border-right:1px solid #23415e;padding:22px 18px;overflow-y:auto}.guide-kicker{color:#34dbff;font-size:18px;font-weight:900;letter-spacing:1.5px}.guide-panel h1{margin:10px 0 0;font-size:52px;line-height:.94;letter-spacing:1px;color:#f5f9ff}.guide-panel p{margin:10px 0 0;color:#b7cadc;font-size:14px}.guide-tag{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;margin-top:14px;border-radius:999px;border:1px solid #345f82;background:#07182b;color:#8fdcff;font-size:10px;font-weight:800;letter-spacing:1.2px}.guide-group{margin-top:18px}.small-heading{color:#8dcfff;font-size:10px;letter-spacing:1.2px;font-weight:900;margin-bottom:10px}.quick-list,.sector-list{display:grid;gap:10px}.quick-location{display:grid;grid-template-columns:36px 1fr;gap:10px;align-items:center;padding:12px 10px;border-radius:10px;border:1px solid #2f5779;background:#07192a;color:#edf7ff;cursor:pointer;text-align:left;transition:.18s ease}.quick-location strong{display:block;font-size:12px;letter-spacing:.8px}.quick-location small{display:block;color:#8ea8c1;font-size:10px;letter-spacing:.8px;margin-top:2px}.quick-location.active,.quick-location:hover{border-color:#4bdfff;background:#0b2740;box-shadow:0 0 0 1px rgba(84,224,255,.15) inset,0 0 16px rgba(84,224,255,.07)}.quick-index{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;border:1px solid #355e7e;background:#0a2033;color:#ffbf69;font-size:12px;font-weight:900}
.sector-list{grid-template-columns:repeat(2,minmax(0,1fr))}.sector-pill{min-height:42px;padding:0 10px;border-radius:9px;border:1px solid #2d5476;background:#07192a;color:#d8f4ff;font-size:11px;font-weight:800;letter-spacing:.8px;cursor:pointer;transition:.18s ease}.sector-pill.active,.sector-pill:hover{border-color:#49e2ff;background:#0a2944;color:#fff}.sector-pill.sector-restricted{border-color:#7f3947;color:#ffced3}.sector-pill.sector-restricted.active,.sector-pill.sector-restricted:hover{border-color:#e65f73;background:#491e29}
.guide-detail{margin-top:20px;padding:14px;border-radius:14px;border:1px solid #2d5578;background:linear-gradient(180deg,#071829,#04121f)}.detail-preview{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px;border:1px solid #335d7e;background:#07101a;margin:10px 0 14px}.guide-detail h2{margin:0;color:#fff;font-size:28px;line-height:1.05;letter-spacing:1px}.guide-detail p{font-size:13px;line-height:1.65;color:#d0deea}.detail-meta{margin-top:14px;padding-top:12px;border-top:1px solid rgba(141,207,255,.18);display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px;font-weight:900;letter-spacing:1px;color:#79dfff}

.stage{position:relative;overflow:hidden;background:radial-gradient(circle at 50% 30%,rgba(18,70,106,.18),transparent 42%),linear-gradient(180deg,#03111c,#040d16 68%,#030913)}.grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(52,219,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(52,219,255,.05) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(circle at center,rgba(0,0,0,.85),transparent 88%);pointer-events:none}.stage-glow{position:absolute;inset:0;background:radial-gradient(circle at 52% 40%,rgba(52,219,255,.16),transparent 38%),radial-gradient(circle at 52% 58%,rgba(255,111,58,.07),transparent 34%);pointer-events:none}.stage-top,.stage-bottom{position:absolute;left:0;right:0;z-index:16;display:flex;align-items:center;justify-content:space-between;padding:17px 22px;color:#8bb7d8;font-size:10px;font-weight:800;letter-spacing:1.4px}.stage-top{top:0}.stage-bottom{bottom:0;border-top:1px solid rgba(52,219,255,.12);background:linear-gradient(180deg,transparent,rgba(3,12,21,.8))}.plus,.slash{color:#49e2ff}.stage-status{display:flex;align-items:center;gap:9px}.live-dot{width:8px;height:8px;border-radius:50%;background:#55efff;box-shadow:0 0 12px #55efff}
#globeMount{position:absolute;inset:0}#globeMount canvas{width:100%!important;height:100%!important;display:block;transition:opacity .7s ease,transform .85s ease}.marker{position:absolute;z-index:18;transform:translate(-50%,-50%);display:flex;align-items:center;gap:14px;cursor:pointer;user-select:none}.marker.hidden{display:none!important}.marker-ring{position:relative;display:grid;place-items:center;width:54px;height:54px;border-radius:50%;border:1px solid rgba(84,224,255,.9);background:radial-gradient(circle at center,rgba(84,224,255,.18),rgba(84,224,255,.03));box-shadow:0 0 30px rgba(84,224,255,.28)}.marker-ring::before{content:"";position:absolute;inset:7px;border:1px solid rgba(84,224,255,.6);border-radius:50%}.marker-core{width:12px;height:12px;border-radius:50%;background:#54e0ff;box-shadow:0 0 18px #54e0ff}.marker-label{display:grid;gap:2px;padding:11px 12px;border:1px solid rgba(85,135,175,.78);background:rgba(8,19,32,.92);border-radius:8px;min-width:160px}.marker-label strong{font-size:13px;letter-spacing:1px;color:#fff}.marker-label small{font-size:10px;letter-spacing:1px;color:#84dfff}.marker-two .marker-ring,.marker-two .marker-ring::before{border-color:rgba(255,191,105,.78)}.marker-two .marker-core{background:#ffbf69;box-shadow:0 0 18px #ffbf69}
.globe-fallback{position:absolute;inset:auto 16px 70px 16px;z-index:18;padding:16px;border:1px solid #8c4d54;background:#2a1014;color:#ffd9dd;border-radius:8px}.globe-hint{position:absolute;left:50%;bottom:64px;transform:translateX(-50%);z-index:16;padding:12px 18px;border-radius:999px;border:1px solid rgba(72,215,255,.28);background:rgba(5,18,33,.76);backdrop-filter:blur(8px);color:#cdeaff;font-size:10px;font-weight:800;letter-spacing:1.2px;white-space:nowrap}.stage-back{position:absolute;left:20px;top:68px;z-index:20;padding:11px 15px;border-radius:10px;border:1px solid #3478a2;background:rgba(8,29,46,.94);color:#e8f7ff;font-size:11px;font-weight:900;letter-spacing:.8px;cursor:pointer}
.atlas-floating{position:absolute;right:20px;top:70px;z-index:20}.atlas-floating>button{background:#092239ed;border:1px solid #39749a;border-radius:8px;color:#b6e8ff;padding:11px 13px;font-size:11px;font-weight:800;letter-spacing:1px;cursor:pointer}.atlas-layer-popover{position:absolute;right:0;top:48px;width:250px;border:1px solid #407398;background:#061422f7;border-radius:10px;padding:14px;box-shadow:0 15px 45px #000c}.atlas-layer-popover[hidden]{display:none!important}.layer{width:100%;display:grid;grid-template-columns:24px 1fr auto;gap:10px;align-items:center;padding:10px 10px;margin-top:8px;border-radius:10px;border:1px solid #2f5677;background:#081a2b;color:#eef8ff;cursor:pointer;text-align:left}.layer.active{border-color:#4bdfff;background:#0b2943}.layer-icon,.layer-check{font-weight:900}.layer strong{display:block;font-size:11px;letter-spacing:.8px}.layer small{display:block;color:#8ea8c1;font-size:9px;letter-spacing:.8px;margin-top:2px}
.tools{position:absolute;right:20px;top:140px;z-index:20;display:grid;gap:10px}.tools button{width:48px;height:48px;border-radius:10px;border:1px solid #355d7e;background:#081c2f;color:#dff7ff;font-size:22px;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.3)}
.landmarks-overlay{position:absolute;inset:0;z-index:10;pointer-events:none}.landmark{position:absolute;padding:6px 8px;border-radius:6px;border:1px solid #3b7696;background:rgba(5,27,43,.84);color:#9be6ff;font-size:9px;letter-spacing:1px}.lm-a{left:20%;top:29%}.lm-b{right:12%;bottom:27%}

.colony-scene{position:absolute;inset:70px 22px 56px 22px;z-index:14;display:grid;opacity:0;pointer-events:none;transform:scale(1.04);transition:opacity .65s ease,transform .75s ease}.colony-scene[hidden]{display:grid;visibility:hidden}.stage.colony-mode .colony-scene{opacity:1;pointer-events:auto;transform:scale(1)}.stage.colony-mode #globeMount canvas{opacity:.08;transform:scale(1.28)}.colony-scene-frame{position:relative;width:100%;height:100%;border-radius:24px;border:1px solid rgba(78,156,198,.38);overflow:hidden;box-shadow:0 25px 70px rgba(0,0,0,.36),inset 0 0 0 1px rgba(84,224,255,.08);background:#040b12}.colony-scene-image{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.95) contrast(1.05) brightness(.95)}.scene-vignette{position:absolute;inset:0;background:radial-gradient(circle at center,transparent 35%,rgba(2,8,14,.55) 100%),linear-gradient(180deg,rgba(5,13,21,.35),rgba(2,9,16,.48))}.scene-caption{position:absolute;left:18px;bottom:16px;z-index:3;color:#ffcf90;font-size:10px;font-weight:900;letter-spacing:1.3px;text-transform:uppercase}.surface-node{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);z-index:4;min-width:112px;padding:10px 12px;border-radius:11px;border:1px solid rgba(79,220,255,.7);background:rgba(6,31,47,.88);backdrop-filter:blur(6px);color:#e6f8ff;font-size:11px;font-weight:900;letter-spacing:.8px;cursor:pointer;box-shadow:0 0 0 4px rgba(7,27,43,.24),0 12px 24px rgba(0,0,0,.3);transition:.18s ease}.surface-node span{display:inline-block;margin-right:7px;font-size:14px}.surface-node:hover,.surface-node.active{border-color:#7df2ff;background:#0c4b61;box-shadow:0 0 0 4px rgba(14,73,96,.25),0 0 26px rgba(84,224,255,.28)}.surface-node.military{border-color:#c95b6c;background:rgba(58,17,27,.84);color:#ffdce0}.surface-node.military:hover,.surface-node.military.active{border-color:#ff7387;background:#61202f;box-shadow:0 0 0 4px rgba(82,22,33,.28),0 0 24px rgba(255,115,135,.24)}
.access-overlay{position:absolute;inset:0;z-index:26;background:rgba(2,7,13,.88);display:grid;place-items:center;padding:16px;backdrop-filter:blur(8px)}.access-overlay[hidden]{display:none!important}.access-box{max-width:420px;width:100%;border:1px solid #d94b5a;box-shadow:0 0 40px #b51e3852,inset 0 0 38px #7d10252f;padding:26px 18px;text-align:center;background:linear-gradient(160deg,#240c1a,#080e19);animation:alertBlink .25s 2}.access-symbol{font-size:36px;color:#fa5265}.access-kicker{color:#f49aaa;font-size:9px;font-weight:800;letter-spacing:1.6px;margin:12px 0}.access-box h2{font-size:clamp(25px,3vw,40px);color:#ff5368;letter-spacing:2px;margin:6px 0}.access-box p{color:#f5d9dd;font-size:12px;letter-spacing:1.2px}.access-box small{display:block;color:#9c9eab;font-size:10px;letter-spacing:1px}.access-box button{margin-top:22px;padding:12px 20px;color:#ffe8ea;background:#5e1a29;border:1px solid #f16e7c;border-radius:6px;font-weight:800;font-size:11px;cursor:pointer}@keyframes alertBlink{50%{border-color:#ffb9bf;box-shadow:0 0 65px #ff455e99}}
.site-footer{display:flex;flex-direction:column;align-items:center;min-height:76px;border-top:1px solid #1f3a55;padding:14px 30px;background:#020812}.site-copyright{margin-top:7px;color:#7d97b5;font-size:11px;letter-spacing:.8px;text-align:center}

@media(max-width:1020px){.atlas-shell{grid-template-columns:minmax(260px,305px) minmax(0,1fr)}.guide-panel h1{font-size:42px}.surface-node{min-width:96px;font-size:10px}}
@media(max-width:820px){.site-nav{display:none}.site-menu-button{display:flex}.atlas-shell{display:flex;flex-direction:column;height:auto;min-height:0}.guide-panel{border-right:0;border-bottom:1px solid #23415e;padding:18px 14px}.guide-panel h1{font-size:34px}.stage{min-height:72dvh}.colony-scene{inset:62px 10px 56px 10px}.atlas-floating{right:12px;top:66px}.tools{right:12px;top:132px}.globe-hint{max-width:calc(100% - 20px);white-space:normal;text-align:center;padding:10px 14px}.surface-node{min-width:88px;padding:9px 8px;font-size:9px}.surface-node span{font-size:12px}.stage-back{left:12px;top:64px}}
@media(max-width:560px){.sector-list{grid-template-columns:1fr 1fr}.detail-meta{flex-direction:column;align-items:flex-start}.stage-top,.stage-bottom{padding:14px 12px}.stage-top{font-size:9px}.stage-bottom{font-size:8px}.tools button{width:42px;height:42px;font-size:20px}.surface-node{min-width:78px;font-size:8px;padding:8px 6px}.surface-node span{display:block;margin:0 0 4px 0}.colony-scene{inset:62px 8px 56px 8px}}
@media(prefers-reduced-motion:reduce){#globeMount canvas,.colony-scene,.surface-node{transition:none}}

/* v0.8 — navigable colony overview */
.site-mobile-nav[hidden], .guide-group[hidden], .stage-back[hidden] {display:none!important}
.atlas-shell{grid-template-columns:minmax(235px,272px) minmax(0,1fr)}
.guide-panel{padding:17px 12px}
.guide-panel h1{font-size:clamp(25px,2.2vw,32px);line-height:1.02;overflow-wrap:anywhere}
.guide-panel p{font-size:12px}
.guide-kicker{font-size:15px}
.quick-location{padding:9px 8px}
.sector-list{gap:7px}.sector-pill{min-height:38px;font-size:10px}
.guide-detail{padding:11px}.guide-detail h2{font-size:22px}
.colony-scene-frame{touch-action:none;cursor:grab}
.colony-scene-frame.dragging{cursor:grabbing}
.colony-world{position:absolute;inset:0;transform-origin:center center;will-change:transform;transition:transform .85s cubic-bezier(.2,.7,.1,1);user-select:none}
.colony-world.is-dragging{transition:none}
.colony-scene-image{position:absolute;inset:0;pointer-events:none}
.scene-vignette{pointer-events:none}
.scene-caption{pointer-events:none}
.atlas-floating{top:70px;right:20px}
.tools{top:auto;bottom:89px;right:20px}
.atlas-layer-popover{top:48px;right:0;max-width:min(250px,calc(100vw - 45px))}
@media(max-width:1020px) and (min-width:821px){.atlas-shell{grid-template-columns:238px minmax(0,1fr)}.guide-panel h1{font-size:26px}}
@media(max-width:820px){.atlas-shell{display:flex;flex-direction:column}.guide-panel{order:2}.stage{order:1;min-height:72dvh}.guide-panel h1{font-size:28px}.tools{bottom:84px;right:12px}}

.colony-world.outpost-variant .colony-scene-image{filter:sepia(.32) hue-rotate(-12deg) saturate(.7) contrast(1.12);transform:scaleX(-1)}

/* v0.8.1: test approximately 20% shorter atlas viewport; no other layout changes */
@media (min-width:821px){.atlas-shell{height:calc(80dvh - 112px);min-height:560px}}
@media (max-width:820px){.stage{height:57.6dvh;min-height:0}}

/* v0.9: map-first, no sidebars */
.site-mobile-nav[hidden], .locations-menu[hidden], .selection-card[hidden], .interior-scene[hidden], .room-note[hidden], .stage-back[hidden], .atlas-intro[hidden]{display:none!important}
.atlas-shell{display:block!important;width:100%;height:calc(80dvh - 112px)!important;min-height:540px!important}
.stage{height:100%;width:100%}
.atlas-intro{position:absolute;top:67px;left:22px;z-index:18;background:#031321a8;border:1px solid #215775;border-radius:10px;padding:10px 14px;display:grid;gap:2px;pointer-events:none}
.atlas-intro strong{color:#34dbff;font-size:17px;letter-spacing:1px}.atlas-intro span{color:#b5cedb;font-size:10px;letter-spacing:1px}
.locations-button{position:absolute;left:20px;bottom:75px;z-index:21;background:#08263b;border:1px solid #428aae;border-radius:9px;color:#d7f6ff;padding:11px 15px;cursor:pointer;font-size:11px;font-weight:900;letter-spacing:.7px}
.locations-menu{position:absolute;left:20px;bottom:120px;z-index:21;width:230px;padding:9px;border:1px solid #3783a5;background:#031321f5;border-radius:10px;display:grid;gap:7px}.locations-menu button{padding:11px;border:1px solid #214763;background:#0a2033;border-radius:7px;color:#eef8ff;cursor:pointer;text-align:left;font-weight:800}
.selection-card{position:absolute;left:20px;top:140px;z-index:22;width:min(320px,calc(100% - 90px));padding:15px;border:1px solid #408caa;border-radius:12px;background:#041524eb;backdrop-filter:blur(9px);box-shadow:0 14px 50px #0008}.selection-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.selection-head strong{color:#a9efff;letter-spacing:1px;font-size:14px}.selection-head button{border:0;background:none;color:#e5f6ff;font-size:23px;cursor:pointer}.selection-card p{color:#c6deed;font-size:12px;line-height:1.55}.selection-card #enterFacility{padding:10px 13px;background:linear-gradient(90deg,#0c5878,#0c344c);border:1px solid #53c5ed;border-radius:7px;color:#fff;font-weight:900;font-size:11px;cursor:pointer}
.colony-scene{inset:63px 18px 52px 18px}.colony-scene-frame{background:#160c0a}.colony-scene-image{object-fit:contain!important;background:#29150f}.colony-world{background:linear-gradient(130deg,#402014,#1d0f0b)}
.interior-scene{position:absolute;inset:63px 18px 52px;z-index:17;overflow:hidden;background:#020e1b;border:1px solid #2b6688;border-radius:18px;touch-action:none;cursor:grab}.interior-pan{position:absolute;inset:0;transition:transform .2s ease}.interior-pan img{position:absolute;left:-22%;top:0;width:144%;height:100%;object-fit:cover}.interior-tint{position:absolute;inset:0;background:linear-gradient(180deg,#03111d52,transparent 35%,#03101ac0);pointer-events:none}.interior-hotspots{position:absolute;inset:0;z-index:3;pointer-events:none}.interior-hotspot{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;background:#082d46e8;border:1px solid #6fe6ff;border-radius:8px;color:#e9faff;padding:11px;font-size:10px;font-weight:900;cursor:pointer}.interior-caption{position:absolute;left:15px;bottom:14px;color:#aeeaff;font-weight:900;font-size:11px;letter-spacing:1px}
.room-note{position:absolute;top:120px;right:90px;z-index:24;background:#041c2fee;border:1px solid #5fdfff;border-radius:10px;padding:14px;width:235px;display:grid;gap:8px}.room-note strong{color:#fff;font-size:14px}.room-note span{color:#a6c7d8;font-size:11px}.room-note button{padding:8px;border:1px solid #3a849a;background:#0c3149;color:#fff;cursor:pointer}
.stage.interior-mode .colony-scene{opacity:0;pointer-events:none}.stage.interior-mode .interior-scene{display:block}
@media(max-width:820px){.atlas-shell{height:58dvh!important;min-height:430px!important}.colony-scene,.interior-scene{inset:57px 6px 49px}.selection-card{left:10px;top:102px;width:min(280px,calc(100% - 75px))}.atlas-intro{top:55px;left:10px}.locations-button{left:10px;bottom:56px}.locations-menu{left:10px;bottom:101px}.room-note{right:10px;top:90px}.interior-hotspot{font-size:8px;padding:7px}.stage-back{top:108px}}

/* Bastion 3D enhancement: retain original 2D view for Aster */
.bastion-3d{position:absolute;inset:0;z-index:2;background:#100f17;touch-action:none;cursor:grab}
.bastion-3d:active{cursor:grabbing}
.bastion-3d[hidden]{display:none!important}
.bastion-3d canvas{display:block;width:100%;height:100%}
.colony-scene-frame.bastion-active .colony-world{display:none!important}
.colony-scene-frame.bastion-active .scene-caption{z-index:5;pointer-events:none}

/* V3: Explore uses the same visual treatment as the other header links. */
.site-nav .atlas-nav-current{padding:0;border:0;border-radius:0;background:none;color:#8aa4c0!important}.site-nav .atlas-nav-current:hover{color:#c8ddff!important}

/* V4: Keep the 3D canvas as the pointer target; decorative overlays do not intercept drags. */
.colony-scene-frame.bastion-active .bastion-3d{pointer-events:auto}
.colony-scene-frame.bastion-active .scene-vignette,.colony-scene-frame.bastion-active .scene-caption{pointer-events:none}
