#mars-stage.moons-ready{height:580px;min-height:580px}
#mars-stage.moons-ready::before,#mars-stage.moons-ready::after{display:none}
#mars-stage.moons-ready #mars-3d{inset:0;transform:none!important}
#mars-stage.model-visual-pending :is(#mars-3d canvas,.moon-labels),#mars-stage.model-visual-ready:not(.model-view-active) :is(#mars-3d canvas,.moon-labels){opacity:0;transform:translateY(8px) scale(.97)}
#mars-stage.model-visual-ready :is(#mars-3d canvas,.moon-labels){transform-origin:50% 50%;transition:opacity .65s cubic-bezier(.22,1,.36,1),transform 1.1s cubic-bezier(.22,1,.36,1)}
#mars-stage.model-visual-ready.model-view-active :is(#mars-3d canvas,.moon-labels){opacity:1;transform:translateY(0) scale(1)}
#mars-stage.model-visual-ready.model-view-leaving :is(#mars-3d canvas,.moon-labels){opacity:0;transform:translateY(-3px) scale(1.01);transition-duration:.3s}
#mars-stage.tab-view-enter{animation:none}
.moon-toolbar{position:absolute;top:15px;left:50%;transform:translateX(-50%);z-index:6;display:flex;gap:4px;padding:5px;border:1px solid var(--line-strong);border-radius:12px;background:rgba(255,252,246,.92)}
.moon-toolbar button{border:0;border-radius:8px;background:transparent;padding:9px 15px;color:var(--muted);font:11px var(--mono);cursor:pointer;white-space:nowrap;transition:background .2s,color .2s}
.moon-toolbar button[aria-pressed="true"]{background:var(--gold);color:#fffaf3}
.moon-labels{position:absolute;inset:0;pointer-events:none;z-index:4;overflow:hidden}
.moon-label{position:absolute;pointer-events:auto;transform:translate(-50%,-100%);border:1px solid var(--moon-color);border-radius:9px;background:rgba(53,45,38,.88);color:#fff7e8;cursor:pointer;padding:8px 12px;font-size:11px;white-space:nowrap;box-shadow:0 4px 16px #392a1518}
.moon-label::after{content:'';position:absolute;left:var(--anchor-x,50%);top:100%;height:13px;border-left:1px solid var(--moon-color)}
.moon-label::before{content:'';position:absolute;left:calc(var(--anchor-x,50%) - 3px);top:calc(100% + 11px);width:6px;height:6px;background:var(--moon-color);border-radius:50%;box-shadow:0 0 0 4px #ffffff45}
.moon-label-floating::before,.moon-label-floating::after{display:none}
.moon-info{position:absolute;left:20px;bottom:52px;z-index:3;max-width:310px;padding:13px 16px;border:1px solid var(--line);border-radius:12px;background:rgba(255,252,246,.89);pointer-events:none;transition:opacity .08s ease,transform .08s ease,visibility 0s}
.moon-info strong{display:block;font-size:16px;letter-spacing:.08em}.moon-info p{margin:6px 0 0;font-size:11px;line-height:1.7;color:var(--muted)}
.moon-sources{position:absolute;bottom:15px;left:20px;z-index:5;font-size:9px;color:var(--muted);max-width:65%;transition:opacity .08s ease,transform .08s ease,visibility 0s}
.moon-sources a{margin-right:8px}
#mars-stage.moons-ready .planet-intro{top:75px;left:20px;transform:none;max-width:280px}
#mars-stage:not(.moon-closeup) .planet-intro.is-open{z-index:7}
#mars-stage:not(.moon-closeup):has(.planet-intro.is-open) :is(.moon-info,.moon-sources),
#mars-stage.moon-closeup:has(.moon-archive.is-open:not([hidden])) :is(.moon-info,.moon-sources){opacity:0;visibility:hidden;transform:translateY(5px);transition:opacity .08s ease,transform .08s ease,visibility 0s .08s}
#mars-stage.moon-closeup .planet-intro,#mars-stage.moons-ready .planet-hint{display:none}
.moon-archives{position:absolute;z-index:6;top:76px;left:20px;width:min(285px,calc(100% - 40px));pointer-events:auto}
.moon-archive{box-sizing:border-box;padding:17px 18px;border:1px solid rgba(183,95,64,.28);border-radius:15px;background:rgba(250,247,240,.9);box-shadow:0 14px 34px -24px rgba(60,45,30,.55);backdrop-filter:blur(9px);color:#5a4d3d}
.moon-archive-title{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:0;border:0;background:transparent;cursor:pointer;text-align:left}
.moon-archive-title span{color:var(--gold);font:700 10px var(--mono);letter-spacing:.14em;text-transform:uppercase}.moon-archive-mark{font-size:17px!important}
.moon-archive-divider{height:1px;margin-top:12px;background:rgba(183,95,64,.32)}
.moon-archive:not(.is-open) .moon-archive-divider{display:none}.moon-archive.is-open{max-height:calc(100vh - 118px);overflow:auto;scrollbar-width:thin}
.moon-archive p{margin:11px 0 0;font-size:11px;line-height:1.8;color:var(--muted)}.moon-archive p a{color:var(--gold);text-underline-offset:3px}
@media(max-width:560px){.moon-archives{top:67px;left:12px;width:min(258px,calc(100% - 24px))}.moon-archive{padding:15px 16px}.moon-archive.is-open{max-height:calc(100vh - 108px)}.moon-archive p{font-size:10px;line-height:1.65}}
@media(max-width:560px){#mars-stage.moons-ready{height:610px;min-height:610px}.moon-toolbar{top:12px;max-width:95%}.moon-toolbar button{padding:9px 10px;font-size:10px}.moon-info{left:12px;right:12px;bottom:65px;max-width:none;padding:10px 13px}.moon-info strong{font-size:14px}.moon-sources{left:12px;bottom:14px;max-width:60%;line-height:1.6}#mars-stage.moons-ready .planet-intro{left:12px;top:68px;max-width:230px}}
/* Keep the title accessible while long profile copy scrolls inside the card. */
#mars-stage.moons-ready .planet-intro.is-open,#mars-stage .moon-archive.is-open{display:flex;flex-direction:column;box-sizing:border-box;min-height:0;max-height:min(380px,calc(100dvh - 160px));overflow:hidden}
#mars-stage :is(.intro-title,.intro-divider,.moon-archive-title,.moon-archive-divider){flex-shrink:0}
#mars-stage :is(#mars-intro-content,#phobos-archive-content,#deimos-archive-content){min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:rgba(183,95,64,.65) transparent;scrollbar-gutter:stable;padding-right:8px;margin-top:10px}
#mars-stage :is(#mars-intro-content,#phobos-archive-content,#deimos-archive-content)::-webkit-scrollbar{width:6px}
#mars-stage :is(#mars-intro-content,#phobos-archive-content,#deimos-archive-content)::-webkit-scrollbar-thumb{background:rgba(183,95,64,.65);border-radius:8px}
#mars-stage.moon-closeup .planet-intro.is-open{display:none}
@media(prefers-reduced-motion:reduce){.moon-toolbar button,.moon-info,.moon-sources,#mars-stage.model-visual-ready :is(#mars-3d canvas,.moon-labels){transition:none}}
