/**
 * plaza-galaxy.css — 星系地图全部样式
 * 配合 plaza-data.js + plaza-galaxy.js
 * 设计依据：homepage-plaza-refactor-arch.md v1.0
 */
/* ===== 星系地图容器 ===== */
.galaxy-map { position:relative; width:100%; max-width:480px; margin:0 auto; aspect-ratio:1/1; overflow:hidden; }
/* ===== SVG 轨道 ===== */
.galaxy-orbit { position:absolute; inset:0; width:100%; height:100%; }
.galaxy-orbit .orbit-path { fill:none; stroke:rgba(255,255,255,.06); stroke-width:1.5; stroke-dasharray:4 6; }
.galaxy-orbit .orbit-glow { fill:none; stroke:rgba(167,139,250,.12); stroke-width:3; filter:blur(2px); }
/* ===== 恒星（启程广场）===== */
.galaxy-star-circle { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:72px; height:72px;
  border-radius:50%; background:radial-gradient(circle at 35% 35%,#fef3c7,#fbbf24,#d97706);
  box-shadow:0 0 30px rgba(251,191,36,.4),0 0 60px rgba(251,191,36,.15);
  display:flex; align-items:center; justify-content:center; font-size:32px; z-index:3;
  animation:starPulse 3s ease-in-out infinite; cursor:pointer; }
.galaxy-star-label { position:absolute; left:50%; top:calc(50% + 44px); transform:translateX(-50%);
  font-size:11px; font-weight:600; color:rgba(251,191,36,.7); white-space:nowrap; z-index:3; }
@keyframes starPulse { 0%,100%{box-shadow:0 0 30px rgba(251,191,36,.4)} 50%{box-shadow:0 0 50px rgba(251,191,36,.6)} }
/* ===== 行星节点 ===== */
.galaxy-planet { position:absolute; transform:translate(-50%,-50%); z-index:4; cursor:pointer;
  transition:transform .3s ease,opacity .3s ease; display:flex; flex-direction:column; align-items:center; gap:4px;
  animation:planetFadeIn .6s ease backwards; }
.galaxy-planet:hover { transform:translate(-50%,-50%) scale(1.15); z-index:5; }
.planet-circle { width:52px; height:52px; border-radius:50%;
  background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.2),transparent 70%);
  display:flex; align-items:center; justify-content:center; font-size:24px;
  box-shadow:0 0 20px rgba(255,255,255,.08); transition:all .3s; position:relative; }
.planet-label { font-size:10px; font-weight:600; color:rgba(255,255,255,.5); white-space:nowrap;
  text-shadow:0 1px 4px rgba(0,0,0,.6); }
.planet-state-badge { position:absolute; top:-4px; right:-4px; width:18px; height:18px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-size:10px; }
/* ===== 行星状态样式 ===== */
.galaxy-planet.state-locked .planet-circle { filter:grayscale(100%) brightness(.35); }
.galaxy-planet.state-locked .planet-state-badge { background:#ef4444; color:#fff; }
.galaxy-planet.state-locked .planet-state-badge::after { content:'🔒'; }
.galaxy-planet.state-active .planet-circle { box-shadow:0 0 25px rgba(167,139,250,.25); }
.galaxy-planet.state-active .planet-state-badge { background:#22c55e; color:#fff; }
.galaxy-planet.state-active .planet-state-badge::after { content:'▶'; font-size:8px; }
.galaxy-planet.state-completed .planet-circle { box-shadow:0 0 15px rgba(251,191,36,.2); }
.galaxy-planet.state-completed .planet-state-badge { background:#fbbf24; color:#1a1a2e; }
.galaxy-planet.state-completed .planet-state-badge::after { content:'★'; }
.galaxy-planet.age-recommended .planet-circle { box-shadow:0 0 20px rgba(251,191,36,.3); }
.galaxy-planet.age-recommended .planet-label { color:rgba(251,191,36,.7); }
.galaxy-planet.age-hidden { opacity:.25; pointer-events:none; }
/* ===== 入场动画 ===== */
@keyframes planetFadeIn { from{opacity:0;transform:translate(-50%,-50%) scale(.5)} to{opacity:1;transform:translate(-50%,-50%) scale(1)} }
/* ===== 响应式 ===== */
@media(max-width:380px){
  .galaxy-star-circle { width:56px; height:56px; font-size:26px; }
  .galaxy-star-label { top:calc(50% + 36px); font-size:10px; }
  .planet-circle { width:42px; height:42px; font-size:20px; }
  .planet-label { font-size:9px; }
}
