/* Keep the existing viewer controls; only the scene annotations and small-screen fit change. */
.viewer-label-leaders{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;}
.viewer-label-leaders line{stroke-width:.7;stroke-opacity:.45;}
.viewer-body-label{border:1px solid #7183a32b;border-radius:4px;background:#070e1caa;padding:2px 5px;line-height:1.35;backdrop-filter:blur(3px);}
.viewer-body-label small{font-size:9px;opacity:.7;}
:is(#helioViewerBox,#geoViewerBox){container-type:inline-size;overflow:hidden;}
:is(#helioViewerBox,#geoViewerBox)>div:first-child{flex-wrap:wrap;gap:8px!important;}
:is(#helioViewerBox,#geoViewerBox)>div:first-child>div{flex-wrap:wrap;gap:8px!important;}
:is(#helioViewerContainer,#geoViewerContainer){overflow:hidden;}
:is(#helioViewerContainer,#geoViewerContainer,#sphereViewerContainer,#skyViewerContainer,#armillaryViewerContainer) canvas{display:block;touch-action:none;}
@container (max-width:620px){
  :is(#helioViewerBox,#geoViewerBox)>div:first-child{padding:8px 10px!important;}
  :is(#helioViewerInfo,#geoViewerInfo){font-size:10px!important;}
}
.sphere-planet-label{display:inline-flex;align-items:center;gap:5px;vertical-align:middle}
.sphere-planet-glyph{font-family:'Morinus4',sans-serif;font-size:18px;font-weight:400;line-height:1}
.sphere-planet-name{font-family:system-ui,-apple-system,'Noto Sans KR',sans-serif;font-size:11px;font-weight:600;letter-spacing:0}
.sky-art-credit{position:absolute;right:12px;bottom:8px;color:#8fa3b7;font:10px system-ui,sans-serif;z-index:6;text-shadow:0 1px 3px #000;text-underline-offset:3px}
.sky-art-credit:hover,.sky-art-credit:focus-visible{color:#d1def0}
.sky-body-altitude:not([hidden]){display:block;color:#b7c4d8;font-size:9px;font-weight:400;line-height:1.5}
.sky-planet-obscured{border-style:dashed;border-color:#a0acc56b;background:#0b1222d9;text-align:center}
.sky-hidden-planet-marker{width:11px;height:11px;border:1px solid currentColor;border-radius:50%;background:#080e18b3;box-shadow:0 0 0 3px #080e183d;transform:translate(-50%,-50%)}
.sky-hidden-planet-marker::after{content:'';position:absolute;width:3px;height:3px;border-radius:50%;background:currentColor;left:3px;top:3px}
.arm-label{position:absolute;left:0;top:0;pointer-events:none;white-space:nowrap;color:#f3e3b3;font-size:11px;letter-spacing:.02em;padding:2px 6px;border-radius:4px;background:#05070d8c;border:1px solid #e2c17240;font-family:system-ui,-apple-system,'Apple SD Gothic Neo','Noto Sans KR',sans-serif}
.arm-label.arm-cardinal{color:#fff;font-weight:700;font-size:12px}
.arm-label.arm-pole{color:#b9d4ff;border-color:#b9d4ff66}
.arm-label.arm-angle{font-weight:800;letter-spacing:.5px;font-size:10px;border-color:#ffd06a66}
.arm-label.viewer-body-label{border-color:#c8d7ff40}
.arm-info{position:absolute;left:12px;bottom:12px;display:grid;grid-template-columns:auto 1fr;gap:3px 10px;padding:9px 12px;font-size:11px;color:#b8ad90;background:#0c101cd1;border:1px solid #e2c17240;border-radius:10px;backdrop-filter:blur(6px);pointer-events:none;z-index:2}
.arm-info b{color:#fff;font-weight:500;font-variant-numeric:tabular-nums}
.arm-reset{position:absolute;right:12px;bottom:12px;z-index:2;display:flex;align-items:center;gap:5px;padding:5px 9px;font-size:11px;color:#f3e3b3;background:#e2c1721a;border:1px solid #e2c17240;border-radius:6px;cursor:pointer}
.arm-reset:hover{background:#e2c17238}
@media (max-width:620px){.arm-info{font-size:10px;padding:7px 9px;left:8px;bottom:8px}}
