.archive-space{--moon-size:64vmin;--moon-top:58%}
.archive-moon{position:absolute;width:var(--moon-size);height:var(--moon-size);left:50%;top:var(--moon-top);transform:translate(-50%,-50%);z-index:1;pointer-events:none}
/* The shader's visible sphere is 1 / 1.045 of its canvas. Match the logo's outer frame. */
.archive-space .archive-logo-gate{left:50%;top:var(--moon-top);width:calc(var(--moon-size) / 1.045);height:calc(var(--moon-size) / 1.045);transform-origin:50% 50%}
.archive-moon canvas{display:block;width:100%;height:100%;border-radius:50%}
.archive-moon{background:radial-gradient(circle at 30% 30%,#999,#16191e 70%);border-radius:50%}
.archive-moon.earth-ready{background:none}
.archive-space .planet-label{left:88%;top:38%;transform:none;min-width:180px;text-align:left;clip-path:none;background:transparent;border:0;border-bottom:1px solid #acc6db99;padding:8px 0 12px 25px;transition:transform .45s ease;color:#e5eff9;text-shadow:0 2px 8px #000}
.archive-space .planet-label:before{content:'↗';position:absolute;left:0;top:5px;font-size:22px;color:#a7cce9}
.archive-space .planet-label:after{content:'';position:absolute;width:42px;height:1px;background:#acc6db99;left:-36px;bottom:-1px;transform:rotate(-30deg);transform-origin:right}
.archive-space .planet-label strong{font-size:clamp(13px,1.4vw,20px);font-weight:400;letter-spacing:.1em;text-transform:uppercase}
.archive-space .orbit-node:nth-child(even) .planet-label{left:auto;right:88%;text-align:right;padding:8px 25px 12px 0}
.archive-space .orbit-node:nth-child(even) .planet-label:before{left:auto;right:0;content:'↖'}
.archive-space .orbit-node:nth-child(even) .planet-label:after{left:auto;right:-36px;transform:rotate(30deg);transform-origin:left}
.archive-space .orbit-node button:hover .planet,.archive-space .orbit-node button:focus-visible .planet{transform:translate(-12px,-15px) scale(1.06)}
.archive-space .orbit-node button:hover .planet-label,.archive-space .orbit-node button:focus-visible .planet-label{transform:translate(12px,-10px)}
@media(max-width:700px){.archive-space .planet-label{min-width:105px;max-width:140px}.archive-space .planet-label strong{font-size:12px;letter-spacing:.04em}}
.moon-credit{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);z-index:160;font-size:9px;color:#c0c8d2;white-space:nowrap}
@media(max-width:700px){.archive-space{--moon-size:76vw;--moon-top:65%}}
.category-world{perspective:1600px;touch-action:auto}
.category-world .category-heading{top:25px;left:50%;width:65%;z-index:8}.category-world .category-heading h2{font-size:clamp(25px,3vw,44px)}.category-world .category-heading .eyebrow{margin-bottom:8px}
.category-world .project-deck{position:absolute;inset:auto;left:50%;top:55%;width:0;height:0;perspective:none;transform-style:preserve-3d;transition:none;z-index:4}
.ring-item{position:absolute;left:0;top:0;width:clamp(125px,14vw,205px);height:clamp(85px,9vw,140px);padding:0;border:0;background:transparent;transform-style:preserve-3d;cursor:pointer;backface-visibility:visible;pointer-events:none}
.ring-card{position:absolute;inset:0;display:block;transform-style:preserve-3d;pointer-events:auto;transition:scale .32s;backface-visibility:visible;box-shadow:0 5px 20px #0008}
.ring-card-title{position:absolute;bottom:0;left:0;right:0;padding:7px 5px;background:#030711d9;color:#fff;font-size:11px;text-align:center;pointer-events:none}.ring-card img{pointer-events:none}
.ring-card img{width:100%;height:100%;object-fit:cover;display:block;border:1px solid #dae8f599;backface-visibility:visible}.ring-item.is-selected .ring-card{translate:0 -16px 12px;scale:1.02}
.ring-preview{position:absolute;z-index:6;left:50%;top:51%;transform:translate(-50%,-50%);width:clamp(200px,23vw,330px);padding:10px;border:0;background:#060d18b8;color:#fff;text-align:center;cursor:pointer;border-radius:4px}
.ring-preview-category{display:block;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#c4d9e9}.ring-preview strong{display:block;font-size:clamp(19px,2vw,28px);font-weight:400;margin:8px 0 12px}.ring-preview img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;animation:ring-preview-in .25s ease}.ring-open{display:block;font-size:13px;margin:12px 0 2px}.ring-preview:focus-visible{outline:2px solid white}
.category-world .deck-index{position:absolute;right:5%;bottom:24px;z-index:10;background:#07101eef;border:1px solid #aac8df80;padding:14px 20px;border-radius:28px;color:white;font-size:15px;font-variant-numeric:tabular-nums}
.category-world .deck-help{left:5%;bottom:90px;display:block;color:#d8e5ef;font-size:11px}.ring-controls{position:absolute;bottom:20px;left:5%;z-index:10;display:flex;gap:10px;align-items:center}.ring-controls button,.ring-select{min-height:44px;background:#091524;color:#fff;border:1px solid #9ebcd677;border-radius:6px;padding:8px 12px}.ring-controls label{font-size:0}.ring-select{font-size:14px;max-width:240px}.ring-controls button{min-width:44px;cursor:pointer}
.ring-loader{position:absolute;inset:0;z-index:15;background:#050914;display:grid;place-content:center;text-align:center;font-size:23px;letter-spacing:.12em;transition:opacity .3s;pointer-events:none}.ring-loader span{font-size:10px;margin-top:20px;letter-spacing:.25em}.category-world.ring-ready .ring-loader{opacity:0;visibility:hidden}
.project-dialog{background:linear-gradient(#03071199,#030711ba),url('assets/space-background.jpg') center/cover no-repeat!important;backdrop-filter:none!important}
@keyframes ring-preview-in{from{opacity:.35}to{opacity:1}}
.ring-card-title{top:calc(100% + 12px);bottom:auto;left:0;right:0;background:transparent;border-top:1px solid #a7cce977;padding:8px 0;color:#fff;text-shadow:0 2px 5px #000;font-size:12px;letter-spacing:.04em}
.ring-card{overflow:visible}
@media(max-width:768px){
 .category-world .world-back{top:14px;left:5%;padding:10px;font-size:12px;z-index:12}
 .category-world .category-heading{top:70px;width:90%}.category-world .category-heading h2{font-size:25px}.category-world .category-heading .eyebrow{display:none}
 .ring-preview{top:115px;left:5%;transform:none;width:90%;padding:0;background:transparent;text-align:left}.ring-preview strong{font-size:21px;margin:6px 0 10px}.ring-preview img{max-height:30svh;object-fit:cover}.ring-preview-category{display:none}.ring-open{margin-top:10px}
 .category-world .project-deck{top:50%;pointer-events:none}.ring-item{pointer-events:none}.ring-item.is-selected .ring-card{translate:0 -8px 2px;scale:1.005}
 .ring-drag{display:none}.category-world{touch-action:none}.ring-card{pointer-events:auto}
 .category-world .deck-index{top:14px;bottom:auto;right:5%;font-size:12px;padding:12px}
 .ring-controls{bottom:max(15px,env(safe-area-inset-bottom));left:5%;right:5%;justify-content:space-between}.ring-select{max-width:58vw}.category-world .deck-help{bottom:78px;left:5%;font-size:10px;z-index:8;pointer-events:none}
}
@media(prefers-reduced-motion:reduce){.ring-card,.ring-preview img{animation:none;transition:none}}
