.lunar-base-architectures-page{background:#090909;color:#f0f2ef}
.lunar-base-architectures-page .architecture-heading{padding-bottom:28px}
.architecture-heading h1{max-width:14ch;margin-bottom:24px;color:#f0f2ef;font-size:clamp(42px,5.5vw,76px);font-weight:400;line-height:1.08;letter-spacing:-.045em}
.architecture-intro{max-width:58ch;color:#bcbcbc;font-size:18px;line-height:1.65;margin:0}
.architecture-planner{padding:0 clamp(20px,5vw,80px) 72px;max-width:1800px;margin:auto}
.planning-kicker{font:11px/1.5 monospace;letter-spacing:.15em;text-transform:uppercase;color:#83d4e5}
.planning-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 18px}
.planning-tabs button,.globe-tools button,.site-list button,.planet-label{border:1px solid #366170;background:linear-gradient(125deg,#122b36e8,#08151de8);color:#d7edf3;cursor:pointer;font:inherit}
.planning-tabs button{padding:17px 14px;text-align:left;display:flex;align-items:center;justify-content:space-between;font-size:16px}
.planning-tabs button span{font:10px monospace;color:#6199a8}
.planning-tabs button[aria-pressed=true]{border-color:#a0e5f1;background:#193944;box-shadow:inset 3px 0 #a0e5f1}
.planning-tabs button:hover,.globe-tools button:hover,.site-list button:hover,.planet-label:hover{background:#244856}
.planning-tabs button:focus-visible,.globe-tools button:focus-visible,.site-list button:focus-visible,.planet-label:focus-visible,.architecture-panel a:focus-visible,.architecture-panel button:focus-visible{outline:2px solid #e7c37f;outline-offset:4px}
.planner-layout{display:block}.globe-column{width:100%}
.planet-viewport{position:relative;height:640px;overflow:hidden;border:1px solid #366170;background:#071019;isolation:isolate}
.planet-viewport canvas{display:block;width:100%;height:100%;touch-action:none;outline-offset:-5px}
.planet-viewport canvas:focus-visible{outline:2px solid #e7c37f}
.planet-overlay{position:absolute;left:18px;top:17px;pointer-events:none;z-index:3;display:flex;flex-direction:column;gap:5px;text-shadow:0 1px 5px #000}
.planet-overlay strong{font:11px/1.5 monospace;color:#b2e7f1;letter-spacing:.1em}
.planet-overlay span{font:11px/1.5 monospace;color:#8db4c0}
.planet-labels{position:absolute;inset:0;pointer-events:none;z-index:4}
.planet-label{position:absolute;pointer-events:auto;padding:6px 9px;font-size:11px;white-space:nowrap;min-height:30px}
.planet-label[aria-pressed=true]{border-color:#e7c37f;color:#fff0c2}
.planet-label[hidden],.architecture-panel[hidden]{display:none}
.planet-leaders{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.planet-leaders line{stroke:#85d4e4;stroke-width:1;opacity:.65}
.globe-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0}
.globe-tools button{padding:8px 12px;font-size:12px}
.globe-hint{font-size:12px;line-height:1.6;color:#9baab0;margin:10px 0 0}
.architecture-panel{border:1px solid #366170;background:linear-gradient(140deg,#102733,#09151d);padding:24px;color:#bed0d6;height:570px;overflow:auto;scrollbar-color:#416371 #0b1921;scrollbar-width:thin}
.architecture-panel h2{font-size:29px;letter-spacing:-.025em;color:#e4f7fa;line-height:1.15;font-weight:400;margin:12px 0 18px}
.architecture-panel h3{font-size:15px;color:#d5ebf0;margin:22px 0 10px;font-weight:500}
.architecture-panel p{font-size:14px;line-height:1.65;margin:0 0 15px}
.architecture-panel .planning-note{font-size:12px;color:#92afb9;line-height:1.6}
.site-list{display:grid;gap:6px;margin:12px 0 16px}
.site-list button{display:flex;justify-content:space-between;gap:10px;padding:10px;font-size:12px;text-align:left}
.site-list button span{color:#96b1b9;font-size:10px;white-space:nowrap}
.site-list button[aria-pressed=true]{border-color:#e7c37f}
.site-detail{border:1px solid #566951;border-top:0;background:#10242b;padding:14px 12px 16px;animation:region-unfold .24s ease-out;transform-origin:top}
.site-detail[hidden]{display:none}
.site-row button{width:100%}
.site-row:has(button[aria-expanded=true]){border-left:2px solid #e7c37f}
@keyframes region-unfold{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}
#candidate-regions-title,#polar-candidate-regions-title,#abdulezer-candidate-pairs-title{scroll-margin-top:24px}
@media(prefers-reduced-motion:reduce){.site-detail{animation:none}}
.site-detail p{font-size:12px}
.architecture-panel a{color:#a1dfed;text-underline-offset:3px}
.architecture-panel .go-to-base{display:flex;justify-content:space-between;align-items:center;background:#d8edf0;color:#09151d;border:0;width:100%;padding:15px;font:inherit;font-size:14px;text-align:left;cursor:pointer;margin-top:22px}
.go-to-base:hover{background:#fff}
.planning-sources{margin-top:20px}
.planning-sources summary{font-size:12px;cursor:pointer;color:#a1dfed}
.planning-sources p{font-size:11px;margin-top:10px}
.architecture-confirm{color:#e6f5f8;background:#10232d;border:1px solid #7baebc;max-width:440px;width:calc(100% - 48px);padding:28px}
.architecture-confirm::backdrop{background:#02080ce0}
.architecture-confirm h2{font-size:23px;font-weight:400;line-height:1.4;margin:0 0 15px}
.architecture-confirm p{color:#b5ccd5;font-size:14px;line-height:1.6}
.confirm-actions{display:flex;gap:12px;margin-top:24px}
.confirm-actions button{font:inherit;font-size:14px;border:1px solid #8cb6c3;padding:12px 22px;background:#183540;color:#dfedf1;cursor:pointer}
.confirm-actions button[value=yes]{background:#d8edf0;color:#09151d}
.planet-fallback{position:absolute;inset:0;padding:100px 30px;background:#071019;color:#e2eef1;z-index:5}
.planet-fallback[hidden]{display:none}
@media(min-width:1450px){.planet-viewport{height:660px}}
@media(max-width:1000px){.planner-layout{grid-template-columns:minmax(0,1fr) 320px}.planet-viewport{height:550px}}
@media(max-width:800px){.planner-layout{grid-template-columns:1fr}.planet-viewport{height:510px}.architecture-panel{height:auto;overflow:visible}.planning-tabs button{font-size:14px;padding:13px 10px}.planning-tabs button span{display:none}}
@media(max-width:480px){.planning-tabs{grid-template-columns:1fr 1fr}.planet-viewport{height:410px}.planet-overlay{left:12px;top:12px}.planet-label{font-size:10px;padding:5px}.architecture-planner{padding-bottom:40px}}
.architecture-panel p strong{font-weight:700;color:#edf8fa}
.orbit-key{position:absolute;left:18px;bottom:18px;z-index:3;display:flex;flex-wrap:wrap;gap:9px 14px;max-width:calc(100% - 170px);padding:9px 10px;background:#071019d9;border:1px solid #366170;color:#d0e5eb;font:10px/1.5 monospace;pointer-events:none}
.orbit-key[hidden]{display:none}
.orbit-key span{display:flex;align-items:center;gap:6px}
.orbit-key i{display:inline-block;width:6px;height:6px;border-radius:50%}
.orbit-cycler{background:#f2c676;box-shadow:0 0 6px #f2c676}
.orbit-lander{background:#83ecc2;box-shadow:0 0 6px #83ecc2}
.orbit-note{font-size:11px;line-height:1.65;color:#8baab7;margin:10px 0 0;max-width:80ch}
.orbit-note a{color:#a1dfed;text-underline-offset:3px}
@media(max-width:480px){.orbit-key{left:12px;bottom:12px;max-width:calc(100% - 118px);gap:7px 10px;padding:7px;font-size:9px}}

.flight-targets{position:absolute;inset:0;pointer-events:none;z-index:5}
.flight-target{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;border:1px solid transparent;border-radius:50%!important;background:transparent;pointer-events:auto;cursor:pointer;padding:0;touch-action:manipulation}
.flight-target[hidden],.flight-tracking[hidden]{display:none}
.flight-target:hover{border-color:transparent;background:transparent;outline:none}.flight-target:focus-visible{border-color:#fff;background:transparent;outline:2px solid #fff;outline-offset:3px}
.flight-target[aria-pressed=true]{border-color:#fff;background:#ffffff14}
.flight-tracking{position:absolute;z-index:6;display:flex;flex-direction:column;gap:5px;padding:10px 12px;max-width:min(230px,calc(100% - 24px));background:#0b242eeb;border:1px solid #83ecc2;color:#ecfff7;box-shadow:0 4px 20px #0005}
.flight-tracking strong{font-size:12px;line-height:1.35}
.flight-tracking span{font:10px/1.5 monospace;color:#a2d4c5}
.flight-tracking button{align-self:flex-start;margin-top:3px;border:1px solid #628879;background:#102e38;color:#d7f4e9;padding:5px 8px;font:10px/1.4 monospace;cursor:pointer}
.flight-tracking button:hover{background:#244d54}
.flight-tracking button:focus-visible{outline:2px solid #e7c37f;outline-offset:3px}
.flight-announcement{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:480px){.flight-target{width:44px;height:44px}.flight-tracking{padding:8px 10px;max-width:190px}}

#polar-flight-status{max-width:calc(100% - 24px);color:#b8e6cd;font-size:10px}
#polar-flight-status[hidden]{display:none}

#pair-light-status{color:#e5d4a0;font-size:10px;max-width:calc(100% - 24px)}
#pair-light-status[hidden]{display:none}
.pair-base{border-top:1px solid #3d5d63;padding:10px 0;margin-bottom:8px}
.pair-base>strong{font-size:12px;color:#e2f5f3}
.pair-base p{margin:5px 0}
.pair-base a{font-size:11px}
.pair-light{float:right;font:10px/1.6 monospace;padding:1px 6px;border:1px solid #637583;color:#a4b8c5}
.pair-light[data-daylight=true]{border-color:#ad9563;color:#f1d79e}
.pair-row button strong{overflow-wrap:anywhere}

#spoke-candidate-regions-title{scroll-margin-top:24px}
.hub-card{border:1px solid #366170;border-left:2px solid #a0e5f1;padding:14px 12px;margin:18px 0;color:#d5ebf0}
.hub-card>strong{font-size:13px}.hub-card p,.hub-card a{font-size:12px}.hub-card p{margin:7px 0}

.planet-viewport[data-planner-mode=spoke] .planet-overlay{padding:9px 11px;max-width:calc(100% - 36px);background:#071019ed;border:1px solid #366170}


.architecture-projection{position:absolute;inset:0;z-index:4;pointer-events:none;transform-style:preserve-3d}
.spoke-operation{position:absolute;right:14px;top:120px;bottom:40px;width:44%;border:1px solid #91dfed90;background:linear-gradient(140deg,#113743c7,#081c28d4 65%);box-shadow:0 0 22px #52bad524,inset 0 0 30px #6fd7f412;color:#ddf5f8;pointer-events:auto;animation:operation-reveal .8s ease-out;overflow:hidden}
.architecture-projection[data-projected=true] :is(.spoke-operation,.description-hologram){left:50%;top:50%;right:auto;bottom:auto;transform-origin:0 0;backface-visibility:hidden}
.spoke-operation[hidden]{display:none}
.spoke-operation::before{content:'';position:absolute;top:14px;left:14px;height:2px;width:44px;background:#bbf5ff;box-shadow:0 0 10px #a9f1ff}
.spoke-operation header{position:absolute;left:14px;right:14px;top:33px;display:flex;flex-direction:column;gap:7px;color:#d4eff6}
.spoke-operation header>strong{font:9px/1.4 monospace;letter-spacing:.1em;color:#a0e5f1}
.spoke-operation header>span{font-size:18px;line-height:1.2;letter-spacing:-.02em}.spoke-operation header>small{font:12px/1.4 monospace;color:#b9dbe4}
#operation-phase{font:10px/1.5 monospace;color:#95becb;margin:1px 0 0;min-height:30px}
.operation-stage{position:absolute;inset:145px 0 82px;pointer-events:auto;touch-action:pan-y;overflow:hidden}
#operation-profile{display:block;position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.profile-ridge{fill:none;stroke:#86c8d8;stroke-width:1.1}.profile-route{fill:none;stroke-width:1.6;stroke-dasharray:1 5;stroke-linecap:round}.profile-strata path{fill:none;stroke:#6bb0c0;stroke-width:.7;opacity:.2}.profile-outline{fill:none;stroke:#fff;stroke-width:1.3}
.operation-stage .flight-target{z-index:2;pointer-events:auto}.operation-stage .flight-target[aria-pressed=true]{border-color:transparent;background:none}
.operation-anchor{position:absolute;max-width:126px;padding:4px 5px;color:#d7edf3;background:#0a202bd1;display:flex;flex-direction:column;gap:2px;font:9px/1.4 monospace;text-align:center}
.operation-anchor strong{font-size:10px;line-height:1.4}.operation-anchor span{color:#a7c9d4}.operation-anchor[hidden]{display:none}
.operation-terrain-note{position:absolute;left:14px;right:14px;bottom:50px;padding:10px 0 0;border-top:1px solid #73b8ca42;color:#8db3bf;font:9px/1.5 monospace;margin:0}
.operation-tools{position:absolute;left:14px;right:14px;bottom:13px;display:flex;gap:5px;align-items:center;color:#87b8c4;font:9px/1.4 monospace}
.operation-tools>span{margin-right:auto}.operation-tools button{pointer-events:auto;border:1px solid #6cb0c373;background:#0a202c;color:#d4eff6;font:10px/1.4 monospace;min-width:28px;min-height:28px;cursor:pointer;padding:4px 6px}
.operation-tools button:hover{background:#22586a;border-color:#b8efff}.operation-tools button:focus-visible{outline:2px solid #fff;outline-offset:3px}
.planet-viewport[data-planner-mode=spoke] .orbit-key{bottom:24px;max-width:48%;font-size:9px;padding:7px}
@keyframes operation-reveal{from{opacity:0}to{opacity:1}}
.planet-viewport{transition:height .7s ease}
.planet-viewport[data-planner-mode=spoke] .viewer-brand{right:calc(46% + 18px);bottom:65px;width:80px;height:80px;opacity:.25}
/* The descriptive surface lives within the same room as the Moon. */
.description-hologram{position:absolute;right:24px;top:30px;bottom:30px;width:30%;pointer-events:auto;overflow:hidden;border:1px solid #91dfed90;background:linear-gradient(140deg,#113743c7,#081c28d4 65%);box-shadow:0 0 22px #52bad524,inset 0 0 30px #6fd7f412;color:#ddf5f8;backface-visibility:hidden}
.description-hologram .architecture-panel{height:100%;padding:24px;overflow:auto;overscroll-behavior:contain;border:0;background:none;box-shadow:none}
.description-hologram .architecture-panel h2{font-size:27px}
.planet-viewport[data-planner-layout=wide] .planet-overlay{left:34%;right:35%;top:18px;padding:8px 10px;max-width:none;background:#071019de;border:1px solid #366170}
.planet-viewport[data-planner-layout=wide][data-planner-mode=spoke] .planet-overlay{left:34%;max-width:none}
.planet-viewport[data-planner-layout=wide] .orbit-key{left:34%;bottom:20px;max-width:29%;font-size:9px;padding:7px}
.planet-viewport[data-planner-layout=wide] .viewer-brand{right:35%;bottom:65px;width:70px;height:70px;opacity:.25}
.planet-viewport[data-planner-layout=compact]{height:auto;padding:402px 12px 12px}
.planet-viewport[data-planner-layout=compact][data-planner-mode=spoke]{height:auto;padding-top:755px}
.planet-viewport[data-planner-layout=compact] canvas{position:absolute;left:0;top:0;width:100%;height:350px}
.planet-viewport[data-planner-layout=compact] .architecture-projection{position:static;transform-style:flat}
[data-planner-layout=compact] .description-hologram{position:relative;left:auto;top:auto;right:auto;bottom:auto;width:auto;height:500px;transform:none}
[data-planner-layout=compact] .description-hologram .architecture-panel{height:100%;overflow:auto;padding:20px}
[data-planner-layout=compact] .spoke-operation{top:402px;bottom:auto;left:12px;right:12px;width:auto;height:340px;transform:none}
[data-planner-layout=compact] .spoke-operation header{top:29px;gap:5px}[data-planner-layout=compact] .operation-stage{top:138px;bottom:75px}
.planet-viewport[data-planner-layout=compact] .orbit-key{bottom:auto;top:322px;max-width:calc(100% - 24px);left:12px;padding:5px 7px}
.planet-viewport[data-planner-layout=compact] .planet-overlay{padding:7px 9px;left:12px;top:12px;max-width:calc(100% - 24px)}
.planet-viewport[data-planner-layout=compact] .viewer-brand{right:12px;top:276px;bottom:auto;width:60px;height:60px}

.architecture-panel{border-color:#91dfed70;background:linear-gradient(140deg,#113743d9,#081c28e8 65%);box-shadow:inset 0 0 30px #6fd7f412}
.architecture-panel::before{content:'';display:block;height:2px;width:44px;background:#bbf5ff;box-shadow:0 0 10px #a9f1ff;margin-bottom:17px}
.flight-tracking{background:linear-gradient(140deg,#113743ed,#081c28ed 65%);border-color:#91dfed90;box-shadow:0 0 18px #52bad524,inset 0 0 25px #6fd7f412}
@media(prefers-reduced-motion:reduce){.spoke-operation{animation:none}.planet-viewport{transition:none}}

.description-hologram .architecture-panel{border:0;background:none;box-shadow:none}

.planet-viewport .globe-tools{position:absolute;left:34%;bottom:58px;z-index:7;margin:0;gap:6px}
.planet-viewport .globe-tools button{padding:7px 9px;font-size:11px}
.planet-viewport[data-planner-layout=compact] .globe-tools{top:355px;bottom:auto;left:12px;right:12px}
.planet-viewport[data-globe-failed=true]{padding-top:150px}
.planet-viewport[data-globe-failed=true] .planet-fallback{inset:12px 12px auto;padding:18px;z-index:3;font-size:13px}
.planet-viewport[data-globe-failed=true] canvas{display:none}
.planet-viewport[data-globe-failed=true] .globe-tools{display:none}

.architecture-projection{z-index:6}.flight-tracking{z-index:8}
.architecture-projection{transform-style:flat}
.planet-viewport{overflow:clip}

/* Reserve and composite the scroll surface once, independent of Moon motion. */
.description-hologram .architecture-panel{overflow-y:scroll;overflow-x:hidden;scrollbar-gutter:stable;contain:layout paint;transform:translateZ(0);backface-visibility:hidden}
.description-hologram .architecture-panel::-webkit-scrollbar{width:7px}
.description-hologram .architecture-panel::-webkit-scrollbar-track{background:#0b1921}
.description-hologram .architecture-panel::-webkit-scrollbar-thumb{background:#416371;border-radius:4px}
.description-hologram{will-change:transform}
.planet-viewport[data-planner-layout=wide] .viewer-brand{right:18px;bottom:8px;top:auto;width:48px;height:48px;opacity:.35;transform:none}
.planet-viewport[data-planner-layout=compact] .viewer-brand{right:14px;top:283px;bottom:auto;width:46px;height:46px;opacity:.35;transform:none}
/* Mission control mounts the complete planner inside its existing frame. */
.mission-embedded,.mission-embedded body{margin:0;background:#071019}
.mission-embedded :is(.site-header,.architecture-heading,.site-footer,.skip,.globe-hint,.orbit-note){display:none}
.mission-embedded .architecture-planner{max-width:none;padding:12px}
.mission-embedded .planning-kicker{margin-top:0}
.mission-embedded .planning-tabs{margin:10px 0 12px}
.mission-embedded .planet-viewport[data-planner-layout=wide]{height:calc(100vh - 122px);min-height:540px}
@media(max-width:959px){.mission-embedded .architecture-planner{padding:10px}.mission-embedded .planning-tabs button{padding:12px 10px}}

.planet-viewport[data-planner-layout=wide] .viewer-brand{left:18px;right:auto;top:18px;bottom:auto}

/* Base annotations remain subordinate to spacecraft and their hit targets. */
.planet-labels{z-index:4;mask-composite:intersect}
.planet-label,.mission-architecture button.planet-label{background:#0a202b70;border-color:#83c9d966;color:#d7edf3c7;text-shadow:0 1px 3px #0008}
.planet-label[aria-pressed=true],.mission-architecture button.planet-label[aria-pressed=true]{border-color:#e7c37f99;color:#fff0c2d9}
.planet-label:hover,.planet-label:focus-visible,.mission-architecture button.planet-label:hover,.mission-architecture button.planet-label:focus-visible{background:#183b49c7;color:#f1fbff;border-color:#a0e5f1}
.planet-leaders line{opacity:.35}
