.populationIdentity{display:block!important;color:#65c9f2!important;margin-top:2px}.fieldHint{display:block;color:#7899ad;margin-top:4px}.populationChart{display:grid;grid-template-columns:minmax(180px,260px) 1fr;gap:18px;align-items:center;margin-top:10px}.popPie{aspect-ratio:1;border-radius:50%;position:relative;display:grid;place-items:center;box-shadow:0 0 28px #43c9ff25}.popPie:after{content:'';position:absolute;width:54%;height:54%;border-radius:50%;background:#071824;border:1px solid #1d5b7d}.popPie>div{z-index:1;text-align:center;max-width:48%}.popPie b{display:block;font-size:15px;color:#dff6ff}.popPie small{font-size:7px;letter-spacing:.1em;color:#78a9c5}.popLegend{display:grid;gap:5px;max-height:270px;overflow:auto;padding-right:4px}.popLegendRow{display:grid;grid-template-columns:12px 1fr;gap:7px;align-items:start;padding:5px;border-bottom:1px solid #17384d}.popLegendRow i{width:9px;height:9px;border-radius:50%;background:var(--sw);margin-top:3px}.popLegendRow b{display:block;font-size:10px}.popLegendRow small{display:block;font-size:9px;color:#7899ad;margin-top:1px}.popLegendRow.primaryPop{background:#0a2b3c;border:1px solid #2a8db7;border-radius:6px}.topDownStage{background:radial-gradient(circle at 50% 50%,#10283b 0,#06111c 26%,#02070d 68%)}.topDownStage .topOrbit{border-radius:50%;height:auto;aspect-ratio:1}.topDownStage .orbitBody{min-width:54px;min-height:54px;padding:0;border:0;background:transparent;overflow:visible}.topDownStage .worldSphere{display:block;width:var(--body-size,28px);height:var(--body-size,28px);border-radius:50%;margin:auto;box-shadow:inset -8px -6px 12px #000a,0 0 12px var(--pc,#5ea9d7);background:radial-gradient(circle at 34% 28%,#ffffff99 0 3%,transparent 8%),radial-gradient(circle at 35% 32%,var(--pc,#68717a),var(--pc,#68717a) 40%,#17212a 78%)}.topDownStage .worldLabel{display:block;white-space:nowrap;font-size:9px;color:#d7edfa;text-shadow:0 1px 4px #000,0 0 5px #000;margin-top:3px}.topDownStage .worldLabel em{display:block;color:#79b8d8;font-size:8px;font-style:normal}.topDownStage .nodeCrystal{transform:translate(-50%,-50%)}

/* Celestial asset library integration. */
.topDownStage img.worldSphere{object-fit:contain;border-radius:0;background:none;box-shadow:none;filter:none}
.topDownStage .orbitBody.inhabited img.worldSphere{width:calc(var(--body-size,28px) + 8px);height:calc(var(--body-size,28px) + 8px);filter:none}
.topDownStage .orbitBody.uninhabited img.worldSphere{opacity:.82;filter:grayscale(.35)}
.topDownStage img.starVisual{object-fit:contain;border-radius:0;background:none;box-shadow:none;width:94px;height:94px;filter:drop-shadow(0 0 18px var(--star,#ffd36b));z-index:2}
.topDownStage img.starVisual.star2{width:62px;height:62px}
.topDownStage .nodeCrystal{width:42px;height:50px;background:none;clip-path:none;filter:none}
.topDownStage .nodeCrystal:after{display:none}
.topDownStage .nodeAsset{display:block;width:42px;height:50px;object-fit:contain;filter:drop-shadow(0 0 9px #5dffc0)}
.topDownStage .nodeLabel{transform:translate(48px,-34px)}
.planetStrip img.stripPlanet{display:block;width:58px;height:58px;object-fit:contain;border-radius:0;background:none;box-shadow:none;filter:none}
.planetHead img.planetVisual{display:block;object-fit:contain;border:0;border-radius:0;background:none;box-shadow:none;filter:none}
.planetHero img.heroPlanet{display:block;object-fit:contain;border:0;border-radius:0;background:none;box-shadow:none;filter:none}
@media(max-width:760px){.populationChart{grid-template-columns:1fr}.popPie{width:min(230px,70vw);margin:auto}.popLegend{max-height:220px}.topDownStage .orbitBody{min-width:48px;min-height:48px}.topDownStage .worldLabel{font-size:8px;max-width:90px;overflow:hidden;text-overflow:ellipsis}.topDownStage .worldLabel em{font-size:7px}}

/* Exact orbit anchoring and deterministic planetary moon systems. */
.topDownStage .orbitBody{width:var(--body-size,48px);height:var(--body-size,48px);min-width:0;min-height:0;display:block;transform:translate(-50%,-50%);z-index:5}
.topDownStage .orbitBody .worldSphere{position:absolute;left:50%;top:50%;width:var(--body-size,48px);height:var(--body-size,48px);transform:translate(-50%,-50%);object-fit:contain;margin:0}
.topDownStage .orbitBody.inhabited img.worldSphere,.topDownStage .orbitBody.uninhabited img.worldSphere{width:var(--body-size,48px);height:var(--body-size,48px)}
.topDownStage .orbitBody .worldLabel{position:absolute;left:50%;top:calc(50% + var(--body-size,48px)/2 + 4px);transform:translateX(-50%);margin:0}
.topDownStage .moonSystem{position:absolute;width:0;height:0;z-index:4;pointer-events:none}
.topDownStage .moonOrbit{position:absolute;left:0;top:0;transform:translate(-50%,-50%);border:1px solid #6a92aa66;border-radius:50%;box-shadow:0 0 7px #4db8e81c inset}
.topDownStage .moonBody{position:absolute;left:var(--moon-x);top:var(--moon-y);width:var(--moon-size,22px);height:var(--moon-size,22px);min-width:0;min-height:0;padding:0;border:0;background:transparent;transform:translate(-50%,-50%);pointer-events:auto;z-index:7;overflow:visible}
.topDownStage .moonBody:hover{background:transparent;border:0;box-shadow:none}
.topDownStage .moonBody img{display:block;width:100%;height:100%;object-fit:contain;filter:none}
.topDownStage .moonBody.uninhabited img{opacity:.9}
.topDownStage .moonBody.inhabited{filter:drop-shadow(0 0 6px #74dbff)}
.topDownStage .moonLabel{position:absolute;left:50%;top:calc(100% + 3px);transform:translateX(-50%);white-space:nowrap;color:#d9effc;font-size:8px;text-shadow:0 1px 4px #000,0 0 5px #000}
.topDownStage .moonLabel em{display:block;color:#79b8d8;font-size:7px;font-style:normal}
.topDownStage img.starVisual{width:110px;height:110px}
.topDownStage img.starVisual.star2{width:72px;height:72px}
.topDownStage .nodeAsset{width:44px;height:58px}
@media(max-width:760px){.topDownStage .orbitBody{min-width:0;min-height:0}.topDownStage .moonLabel{font-size:7px}.topDownStage img.starVisual{width:84px;height:84px}.topDownStage img.starVisual.star2{width:56px;height:56px}}

/* Planet dossier and population adaptation viewer. */
.viewerModal:has(.planetViewerCard){position:fixed;inset:0}
.planetViewerCard{width:min(790px,96vw);max-height:94dvh;padding:0;overflow:hidden;display:flex;flex-direction:column;background:linear-gradient(145deg,#071522fa,#040d17fc);border-color:#4387b3;box-shadow:0 24px 80px #000d,0 0 32px #1a83bd2b inset}
.planetViewerHeader{min-height:104px;display:grid;grid-template-columns:82px minmax(0,1fr) auto 42px;gap:14px;align-items:center;padding:13px 15px 10px;background:radial-gradient(circle at 5% 35%,#16415c55,transparent 30%),linear-gradient(180deg,#071724,#050e18);border-bottom:1px solid #17445f}
.planetViewerPortrait{width:76px;height:76px;object-fit:contain;filter:drop-shadow(0 0 10px #72cfff33)}
.planetViewerIdentity{min-width:0}.planetViewerIdentity small,.eyebrow{color:#6dbde8;text-transform:uppercase;letter-spacing:.13em;font-size:9px}.planetViewerIdentity h2{margin:2px 0 1px;color:#e8f7ff;font-size:30px;line-height:1;text-transform:uppercase;letter-spacing:.04em;text-shadow:0 0 16px #64bfff35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.planetViewerIdentity p{margin:7px 0 0;color:#b6cddd;font-size:14px}.planetViewerIdentity strong{color:#ecf8ff}
.planetControl{display:flex;align-items:center;gap:9px;color:var(--faction-color);text-transform:uppercase;letter-spacing:.08em;font-size:11px;white-space:nowrap}.controlSigil{width:29px;height:29px;position:relative;display:inline-block;border:1px solid currentColor;border-radius:50%;box-shadow:0 0 12px color-mix(in srgb,var(--faction-color),transparent 40%)}.controlSigil:before,.controlSigil:after{content:'';position:absolute;inset:5px 10px;border:1px solid currentColor;transform:rotate(35deg)}.controlSigil:after{transform:rotate(-35deg)}
.planetViewerHeader .closeViewer{align-self:start;width:38px;height:38px;padding:0;font-size:25px;border:0;background:transparent;color:#9cb7c8}.planetViewerHeader .closeViewer:hover{color:#fff;background:#102536}
.planetViewerTabs{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;padding:7px 12px 0;background:#050e18}.planetViewerTabs button{padding:10px 7px;border-radius:4px 4px 0 0;text-transform:capitalize;font-size:11px;letter-spacing:.025em;background:linear-gradient(#102132,#091522);border-color:#284961;color:#c0d5e4}.planetViewerTabs button.active{color:#eefaff;border-color:#64aee0;background:linear-gradient(#1f4c76,#102a48);box-shadow:0 0 14px #3d8fff66 inset,0 0 12px #357ed844}
.planetViewerContent{display:block;min-height:0;height:auto;flex:1 1 auto;overflow:auto;background:#040c15}
.planetSectionIntro{padding:24px 26px 15px;border-bottom:1px solid #15364b;background:radial-gradient(circle at 10% 0,#0c2c42,transparent 45%)}.planetSectionIntro h3{margin:5px 0 7px;color:#e2f5ff;font-size:22px}.planetSectionIntro p{max-width:650px;margin:0;color:#a9becc;line-height:1.55}
.planetOverview{padding:24px}.planetOverviewLead{display:grid;grid-template-columns:210px 1fr;gap:26px;align-items:center;padding:22px;border:1px solid #214d69;border-radius:9px;background:radial-gradient(circle at 18% 50%,#0e3047,#06121e 58%)}.planetOverviewArt{width:190px;height:190px;object-fit:contain}.planetOverviewLead h3{margin:4px 0 9px;color:#e7f7ff;font-size:29px}.planetOverviewLead p{color:#adc4d3;line-height:1.65}.planetFactGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:12px}.planetFactGrid article{padding:12px;border:1px solid #1b455e;border-radius:7px;background:#071624}.planetFactGrid small{display:block;color:#6f9db9;text-transform:uppercase;font-size:8px;letter-spacing:.09em}.planetFactGrid b{display:block;margin-top:4px;color:#e1f2fb;font-size:12px}
.planetEnvLibrary{padding:20px 24px;grid-template-columns:repeat(4,1fr)}
.populationViewer{min-height:100%;position:relative;padding:20px 24px 15px;background:radial-gradient(circle at 28% 54%,#14344c55,transparent 34%),radial-gradient(circle at 12% 20%,#cdefff 0 1px,transparent 1.5px),radial-gradient(circle at 72% 42%,#9edcff 0 1px,transparent 1.5px),radial-gradient(circle at 42% 82%,#8cc9ed 0 1px,transparent 1.5px),radial-gradient(circle at 90% 12%,#fff 0 1px,transparent 1.4px);background-size:auto,137px 137px,191px 191px,223px 223px,267px 267px}.populationIntro{max-width:520px;position:relative;z-index:2}.populationIntro h3{margin:5px 0 7px;color:#e6f6ff;letter-spacing:.12em;font-size:18px}.populationIntro p{margin:0;color:#b3c7d5;line-height:1.5}
.adaptationStage{display:grid;grid-template-columns:minmax(250px,43%) 1fr;gap:5px;align-items:center;min-height:430px;margin-top:-8px}.adaptationFigure{height:440px;position:relative;display:flex;align-items:end;justify-content:center;overflow:hidden}.adaptationFigure:after{content:'';position:absolute;left:12%;right:12%;bottom:3px;height:16px;border:1px solid #4abbea55;border-radius:50%;box-shadow:0 0 18px #5bcfff55}.adaptationFigure .humanDetailed{width:auto;height:425px;max-width:100%;object-fit:contain;opacity:.95;filter:drop-shadow(0 0 8px #5ac7ff77)}.scanLine{position:absolute;left:17%;right:17%;top:14%;height:1px;background:linear-gradient(90deg,transparent,#b9ecff,transparent);box-shadow:0 0 8px #72d7ff;animation:humanScan 5s ease-in-out infinite alternate;opacity:.45}@keyframes humanScan{to{transform:translateY(300px)}}
.adaptationDetails{display:grid;gap:8px;align-content:center;padding:10px 0}.adaptationDetails .adaptRow{min-height:69px;padding:9px 70px 9px 18px;border:0;border-left:0;background:linear-gradient(90deg,#0a1d2d99,transparent);border-radius:0}.adaptationDetails .adaptRow:before{left:-72px;top:34px;width:70px;border-color:#8dd9ff99}.adaptationDetails .adaptRow:after{content:'';position:absolute;left:-76px;top:30px;width:7px;height:7px;border-radius:50%;background:#dcf7ff;box-shadow:0 0 8px #70d4ff}.adaptationDetails .adaptRow b{color:#d9effb;font-size:12px;letter-spacing:.01em;text-transform:none}.adaptationDetails .adaptRow h4{margin:2px 0;color:#8fceef;font-size:12px;font-weight:500}.adaptationDetails .adaptRow p{margin:2px 0;color:#a8bdcc;font-size:10px;line-height:1.35}.adaptationDetails .adaptRow small{color:#668aa0;font-size:8px}.adaptationDetails .adaptActions button{width:29px;height:29px;padding:0;font-size:14px}.adaptationDetails .addAdaptation{width:100%;margin-top:5px}.adaptationEmpty{padding:20px;border:1px solid #244b62;border-radius:6px;background:#071522aa}.populationViewer .adaptTemplateBar{margin:3px 0 0;padding:10px 12px;background:#071522cc;border-color:#1b435b}
.planetRecordList{display:grid;gap:10px;padding:20px 24px}.planetRecordList article,.viewerEmptyState{padding:16px;border:1px solid #1c455d;border-radius:7px;background:#071624}.planetRecordList h4{margin:2px 0 6px;color:#dff4ff}.planetRecordList p,.viewerEmptyState p{margin:0;color:#9fb8c8;line-height:1.5}.planetRecordList strong{display:block;margin-top:9px;color:#72cfff}.viewerEmptyState{text-align:center;padding:42px 20px}.viewerEmptyState b{color:#d8edf8}
@media(max-width:760px){.planetViewerCard{width:100vw;max-width:none;height:100dvh;max-height:100dvh;border-radius:0}.planetViewerHeader{grid-template-columns:62px minmax(0,1fr) 38px;min-height:82px;padding:8px 10px}.planetViewerPortrait{width:58px;height:58px}.planetViewerIdentity h2{font-size:21px}.planetViewerIdentity p{font-size:11px;margin-top:4px}.planetControl{grid-column:2/3;font-size:8px;margin-top:-10px}.controlSigil{width:20px;height:20px}.planetViewerHeader .closeViewer{grid-column:3;grid-row:1}.planetViewerTabs{display:flex;overflow-x:auto;padding-inline:6px}.planetViewerTabs button{flex:1 0 92px}.planetViewerContent{height:calc(100dvh - 142px)}.adaptationStage{grid-template-columns:42% 1fr;min-height:390px}.adaptationFigure{height:390px}.adaptationFigure .humanDetailed{height:370px}.adaptationDetails .adaptRow:before{left:-38px;width:36px}.adaptationDetails .adaptRow:after{left:-42px}.planetOverviewLead{grid-template-columns:120px 1fr;gap:13px;padding:13px}.planetOverviewArt{width:115px;height:115px}.planetFactGrid{grid-template-columns:1fr 1fr}.planetEnvLibrary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){.populationViewer{padding:16px 13px}.populationIntro p{font-size:11px}.adaptationStage{display:block;margin-top:4px}.adaptationFigure{height:300px}.adaptationFigure .humanDetailed{height:290px}.adaptationDetails{margin-top:-3px}.adaptationDetails .adaptRow{padding-left:12px}.adaptationDetails .adaptRow:before,.adaptationDetails .adaptRow:after{display:none}.planetOverview{padding:12px}.planetOverviewLead{grid-template-columns:1fr;text-align:center}.planetOverviewArt{margin:auto}.planetFactGrid{grid-template-columns:1fr 1fr}.planetEnvLibrary{grid-template-columns:repeat(2,1fr);padding:13px}.planetControl b{max-width:150px;overflow:hidden;text-overflow:ellipsis}.planetViewerIdentity small{display:none}}

/* Anatomical human display and data-driven body-region callouts. */
.planetViewerTabs{grid-template-columns:repeat(4,1fr)}
.adaptationStage{height:var(--stage-height,510px);min-height:0;grid-template-columns:44% 56%;gap:0;align-items:stretch;margin-top:2px;position:relative;isolation:isolate}
.adaptationFigure{height:100%;min-width:0;min-height:0;overflow:hidden;align-items:flex-end;z-index:1}
.adaptationFigure .humanDetailed{width:auto;height:calc(100% - 12px);max-width:94%;opacity:1;filter:drop-shadow(0 0 5px #63cfff55)}
.adaptationLeaders{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;overflow:visible}
.adaptationLeaders polyline{fill:none;stroke:#a9def5aa;stroke-width:1.1;vector-effect:non-scaling-stroke}
.adaptationLeaders circle{fill:#eafaff;stroke:#7bd5ff;stroke-width:1;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 2px #78d7ff)}
.bodyAnchor{position:absolute;width:7px;height:7px;transform:translate(-50%,-50%);border-radius:50%;background:#eafaff;border:1px solid #70d1fb;box-shadow:0 0 7px #73d5ff;z-index:3;pointer-events:none}
.adaptationDetails{height:calc(100% - 28px);min-height:0;overflow:hidden;align-self:center;display:grid;grid-template-rows:repeat(var(--adapt-count),minmax(0,1fr)) auto;gap:7px;align-content:stretch;padding:0 0 0 22px;position:relative;z-index:4}
.adaptationDetails .adaptRow{min-height:0;display:flex;flex-direction:column;justify-content:center;padding:9px 72px 9px 12px;background:linear-gradient(90deg,#0a1d2ddb,#07152188 72%,transparent);border-left:1px solid #79c9ed55}
.adaptationDetails .adaptRow:before,.adaptationDetails .adaptRow:after{display:none}
.adaptationDetails .adaptRow b{font-size:12px;color:#e0f3fc}.adaptationDetails .adaptRow h4{font-size:12px;color:#93d4f3}.adaptationDetails .adaptRow p{font-size:10px;max-width:380px}.adaptationDetails .addAdaptation{min-height:38px}
@media(max-width:760px){.adaptationStage{grid-template-columns:43% 57%}.adaptationDetails{padding-left:15px}.adaptationDetails .adaptRow{padding-right:64px}.adaptationFigure .humanDetailed{max-width:100%}}
@media(max-width:520px){.planetViewerTabs button{flex:1 1 25%;min-width:82px}.adaptationStage{display:block;height:auto!important;min-height:0}.adaptationLeaders,.bodyAnchor{display:none}.adaptationFigure{height:410px;overflow:hidden}.adaptationFigure .humanDetailed{height:400px;max-width:100%}.adaptationDetails{height:auto;overflow:visible;display:grid;grid-template-rows:none;gap:8px;margin:0;padding:5px 0}.adaptationDetails .adaptRow{min-height:86px;padding:10px 70px 10px 12px;border:1px solid #24506a;border-left:2px solid #78cfee;border-radius:5px}.populationViewer .adaptTemplateBar{margin-top:10px}}

/* Planet-level political control. */
.worldControlBadges{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.worldControlBadge{display:inline-flex;align-items:center;min-height:22px;padding:3px 7px;border:1px solid color-mix(in srgb,var(--control-colour,#78bddd),#fff 12%);border-radius:999px;background:color-mix(in srgb,var(--control-colour,#78bddd),transparent 82%);color:#dff5ff;font-size:9px;line-height:1.2;box-shadow:0 0 8px color-mix(in srgb,var(--control-colour,#78bddd),transparent 72%)}
.worldControlBadge.removable{cursor:pointer}.worldControlBadge.unassigned{--control-colour:#657786;color:#9eb2bf}.popupControls{margin:7px 0 5px}.derivedControl{display:grid;gap:2px}.derivedControl small{color:#6f93aa;text-transform:uppercase;font-size:8px;letter-spacing:.08em}.derivedControl strong{color:#e1f3fc}.derivedControl span{color:#7994a5;font-size:9px}
.worldControlEditor{margin:14px 0;padding:13px;border:1px solid #24516b;border-radius:7px;background:#071827}.worldControlEditor h3{margin:0 0 5px}.worldControlEditor p{margin:0 0 10px;color:#93adbd;font-size:10px;line-height:1.45}.controllerPicker{display:grid;grid-template-columns:1fr auto;gap:7px;margin-top:9px}.controllerPicker select{min-width:0}.planetControl>div{display:grid;gap:4px}.planetControl .worldControlBadges{justify-content:flex-end;max-width:320px}.planetControl .worldControlBadge{font-size:8px;min-height:19px}
.systemControlButton{display:block;margin:10px auto 0}.systemControlDossier{display:grid;gap:14px}.systemControlSummary{padding:16px;border:1px solid #275975;border-radius:8px;background:linear-gradient(135deg,#0b2436,#06121e)}.systemControlSummary small{color:#71b8dc;text-transform:uppercase;letter-spacing:.1em}.systemControlSummary h3{margin:5px 0 10px;color:#ecf9ff}.systemControlWorlds{display:grid;gap:8px}.systemControlWorld{display:grid;grid-template-columns:minmax(150px,1fr) minmax(200px,1.4fr);gap:14px;align-items:center;padding:12px;border:1px solid #1a4057;border-radius:7px;background:#061521}.systemControlWorld h4{margin:0;color:#e1f4fd}.systemControlWorld span{color:#87a7ba;font-size:10px}.systemControlWorld .sharedPopulation{display:block;margin-top:3px;color:#e5bd67}.controlNote{margin:0;color:#85a0b2;font-size:10px}.contestedMark{background:linear-gradient(135deg,#3977ff 0 25%,#d7c36b 25% 50%,#4f8f32 50% 75%,#8f2f3d 75%)}
@media(max-width:760px){.planetControl .worldControlBadges{justify-content:flex-start;max-width:210px}.systemControlWorld{grid-template-columns:1fr}.controllerPicker{grid-template-columns:1fr}.worldControlEditor{padding:10px}}

