.orbit-scene {
  position: relative;
  min-height: 680px;
  width: 100%;
  isolation: isolate;
  touch-action: pan-y;
  --scene-ink: #edf5ed;
  --scene-muted: #a6b9ad;
  --scene-accent: #c6fa83;
  --scene-ui: rgba(21, 29, 24, .88);
}
.orbit-scene[data-theme=atelier] { --scene-ink:#222720; --scene-muted:#596650; --scene-accent:#526344; --scene-ui:rgba(248,248,242,.92); }
.orbit-scene[data-theme=solar] { --scene-ink:#472b20; --scene-muted:#79523e; --scene-accent:#a8441d; --scene-ui:rgba(255,245,232,.92); }
.orbit-scene[data-theme=aurora] { --scene-accent:#c6adff; --scene-muted:#c2b9dc; --scene-ui:rgba(34,23,60,.9); }
.orbit-scene[data-theme=observatory] { --scene-accent:#85e4f5; --scene-muted:#a8c3d2; --scene-ui:rgba(12,29,43,.9); }
.solar-stage { position:absolute; inset:0 0 124px; }
.orbit-canvas { position:absolute; inset:0; width:100%; height:100%; display:block; z-index:0; outline:none; cursor:grab; }
.orbit-canvas:active { cursor:grabbing; }
.planet-link { position:absolute; top:0; left:0; display:block; width:60px; height:60px; color:var(--scene-ink)!important; text-decoration:none!important; will-change:transform; outline-offset:7px!important; user-select:none; -webkit-user-drag:none; border-radius:50%; }
.planet-emblem { width:100%; height:100%; display:flex; align-items:center; justify-content:center; overflow:hidden; border-radius:50%; background:radial-gradient(circle at 30% 20%,#48514d,#0e1513 75%); box-shadow:inset 1px 1px 2px #fffa,inset -5px -5px 12px #000b,0 8px 24px #0005; position:relative; transition:box-shadow .3s,scale .3s; border:1px solid #ffffff55; }
.planet-emblem::after { content:''; position:absolute; inset:0; border-radius:50%; background:linear-gradient(135deg,#ffffff36 0%,transparent 45%,#0005); pointer-events:none; }
.planet-emblem img { width:74%; height:74%; object-fit:contain; display:block; pointer-events:none; }
.planet-link[data-project=samiko] .planet-emblem { background:#fff; }
.planet-link[data-project=samiko] img { width:82%; height:82%; border-radius:50%; }
.planet-link[data-project=prohimoya] img { width:100%; height:100%; object-fit:cover; }
.planet-link[data-project=qrcha] .planet-emblem { background:#f5ffff; }
.planet-link[data-project=progame] img { width:100%; height:100%; object-fit:contain; scale:1.2; }
.planet-link[data-project=progps] .planet-emblem { background:radial-gradient(at 25% 20%,#fff,#d6e2e9); }
.planet-link[data-active=true] .planet-emblem,.planet-link:hover .planet-emblem,.planet-link:focus-visible .planet-emblem { box-shadow:inset 1px 1px 3px #fff9,0 0 0 4px color-mix(in srgb,var(--scene-accent),transparent 75%),0 0 38px color-mix(in srgb,var(--scene-accent),transparent 45%); scale:1.08; }
.planet-name { position:absolute; top:calc(100% + 12px); left:50%; transform:translateX(-50%) translateY(-3px); padding:7px 12px; background:var(--scene-ui); border:1px solid color-mix(in srgb,var(--scene-muted),transparent 70%); border-radius:8px; font-size:14px; line-height:1.3; font-weight:600; letter-spacing:.015em; white-space:nowrap; opacity:0; transition:opacity .2s,transform .2s; backdrop-filter:blur(10px); pointer-events:none; }
.planet-link[data-active=true] .planet-name,.planet-link:hover .planet-name,.planet-link:focus-visible .planet-name { opacity:1; transform:translateX(-50%) translateY(0); }
.planet-domain { display:none; }
.orbit-center-label { position:absolute; left:50%; top:50%; text-align:center; color:var(--scene-ink); pointer-events:none; font-size:18px; line-height:1.2; letter-spacing:.12em; font-weight:650; white-space:nowrap; z-index:2; text-shadow:0 2px 16px var(--scene-ui); transition:opacity .25s; }
.orbit-center-label small { display:block; font-size:11px; letter-spacing:.09em; margin-top:7px; color:var(--scene-muted); font-weight:450; }
.orbit-legend { position:absolute; bottom:64px; left:50%; transform:translateX(-50%); display:flex; justify-content:center; flex-wrap:wrap; width:max-content; max-width:calc(100% - 24px); gap:6px; z-index:25; }
.orbit-legend a { display:flex; align-items:center; gap:8px; padding:12px 13px; min-height:44px; border:1px solid color-mix(in srgb,var(--scene-muted),transparent 75%); border-radius:9px; background:color-mix(in srgb,var(--scene-ui),transparent 25%); color:var(--scene-ink); font-size:13px; line-height:1; font-weight:550; text-decoration:none; transition:background .25s,border-color .25s,transform .25s; }
.orbit-legend a:hover,.orbit-legend a:focus-visible,.orbit-legend a[data-active=true] { background:var(--scene-ui); border-color:var(--scene-accent); transform:translateY(-2px); }
.orbit-key { color:var(--planet-color); font-size:12px; font-variant-numeric:tabular-nums; }
[data-theme=atelier] .orbit-key,[data-theme=solar] .orbit-key { color:var(--scene-muted); }
.legend-arrow { opacity:.6; font-size:14px; }
.orbit-controls { position:absolute; bottom:12px; left:50%; transform:translateX(-50%); display:flex; align-items:center; justify-content:center; gap:20px; color:var(--scene-muted); font-size:13px; white-space:nowrap; z-index:25; letter-spacing:0; }
.orbit-pause { border:1px solid color-mix(in srgb,var(--scene-muted),transparent 65%); border-radius:30px; background:var(--scene-ui); color:var(--scene-ink); padding:11px 15px; min-height:42px; display:flex; gap:9px; align-items:center; font-size:13px; line-height:1.2; backdrop-filter:blur(8px); }
.orbit-pause:hover { border-color:var(--scene-accent); }
.pause-icon { font-size:16px; line-height:1; }
.scene-fallback-globe { position:absolute; width:100px; height:100px; left:50%; top:50%; transform:translate(-50%,-50%); filter:invert(1); }
.scene-static[data-theme=atelier] .scene-fallback-globe,.scene-static[data-theme=solar] .scene-fallback-globe { filter:none; }
.scene-static .orbit-center-label { transform:translate(-50%,65px); }
.static-orbit { position:absolute; left:50%; top:50%; border:1px solid var(--scene-muted); opacity:.4; border-radius:50%; transform:translate(-50%,-50%) rotate(8deg); }
@media(min-width:1500px) { .planet-link { width:68px; height:68px; } .orbit-legend a { font-size:14px; padding:13px 16px; } }
@media(max-width:700px) {
  .orbit-scene { min-height:530px; }
  .solar-stage { bottom:174px; }
  .planet-link { width:44px; height:44px; }
  .planet-emblem { width:36px; height:36px; margin:4px; }
  .planet-name { font-size:13px; padding:6px 9px; top:calc(100% + 8px); }
  .orbit-center-label { font-size:14px; letter-spacing:.08em; }
  .orbit-center-label small { display:none; }
  .orbit-legend { bottom:62px; max-width:calc(100% - 16px); width:100%; gap:6px; }
  .orbit-legend a { padding:11px 10px; font-size:13px; min-height:42px; gap:6px; }
  .orbit-key { font-size:12px; }
  .orbit-controls { bottom:10px; gap:12px; font-size:12px; }
  .orbit-pause { font-size:12px; padding:10px 12px; }
  .scene-fallback-globe { width:64px; height:64px; }
  .scene-static .orbit-center-label { transform:translate(-50%,42px); }
}
@media(max-width:360px) { .orbit-controls>.scene-hint { max-width:135px; white-space:normal; line-height:1.4; } }
