
/* 1.0.0-beta.5.17.3 — expanded wandering star route. Old nine-star renderer stays dormant for rollback. */
.beta3-hidden-star,.beta3-star-route-panel{display:none!important}
#beta581StarPageLayer,#beta581StarHeaderLayer{pointer-events:none;z-index:645}
#beta581StarPageLayer{position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible}
#beta581StarHeaderLayer{position:fixed;inset:0;z-index:860;overflow:visible}
.beta581-star{
  --star-color:#d2b174;
  --star-size:18px;
  position:absolute;
  width:38px;height:38px;
  display:grid;place-items:center;
  padding:0;margin:0;
  border:0;border-radius:50%;
  background:radial-gradient(circle, color-mix(in srgb,var(--star-color) 12%,transparent), transparent 66%);
  color:var(--star-color);
  font:700 var(--star-size)/1 Georgia,serif;
  opacity:.42;
  text-shadow:0 0 7px color-mix(in srgb,var(--star-color) 72%,transparent),0 0 18px color-mix(in srgb,var(--star-color) 34%,transparent);
  pointer-events:auto;
  cursor:pointer;
  transform:translate(-50%,-50%);
  transition:opacity .22s ease,filter .22s ease,transform .22s ease;
  animation:beta581StarTwinkle 3.8s ease-in-out infinite;
  -webkit-tap-highlight-color:transparent;
}
.beta581-star::before{content:"";position:absolute;inset:9px;border:1px solid color-mix(in srgb,var(--star-color) 30%,transparent);border-radius:50%;opacity:.2;transform:scale(.5);transition:.25s ease}
.beta581-star:hover,.beta581-star:focus-visible{opacity:1;filter:drop-shadow(0 0 8px var(--star-color));transform:translate(-50%,-50%) scale(1.18) rotate(13deg);outline:1px solid color-mix(in srgb,var(--star-color) 52%,transparent);outline-offset:2px}
.beta581-star:hover::before,.beta581-star:focus-visible::before{opacity:.72;transform:scale(1.3)}
.beta581-star.beta581-header-star{position:fixed;z-index:870}
.beta581-star.is-found{pointer-events:none;animation:beta581StarFound .78s ease forwards!important}
.beta581-star.is-runaway{pointer-events:none;animation:beta581StarRunaway 1.05s cubic-bezier(.2,.8,.2,1) forwards!important}
.beta581-star.is-runaway::after{content:"";position:absolute;width:76px;height:2px;right:15px;top:18px;background:linear-gradient(90deg,transparent,var(--star-color));filter:blur(.4px);opacity:.8;transform-origin:right center}
@keyframes beta581StarTwinkle{0%,100%{opacity:.32;filter:brightness(.9)}47%{opacity:.72;filter:brightness(1.2)}55%{opacity:.46;filter:brightness(1)}}
@keyframes beta581StarFound{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}45%{opacity:1;transform:translate(-50%,-50%) scale(1.75) rotate(80deg);filter:drop-shadow(0 0 13px var(--star-color))}100%{opacity:0;transform:translate(-50%,-50%) scale(.15) rotate(180deg)}}
@keyframes beta581StarRunaway{0%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}18%{transform:translate(calc(-50% - 10px),calc(-50% + 5px)) scale(.86) rotate(-26deg)}35%{opacity:1;transform:translate(calc(-50% + 15px),calc(-50% - 12px)) scale(1.2) rotate(34deg)}100%{opacity:0;transform:translate(calc(-50% + var(--escape-x,65vw)),calc(-50% + var(--escape-y,-28vh))) scale(.2) rotate(620deg);filter:blur(1.5px)}}
.beta581-star-route-panel{--seal-color:#b89df0}
.beta581-star-route-panel .beta581-route-head{display:flex;justify-content:space-between;gap:14px;align-items:start;flex-wrap:wrap}
.beta581-star-route-panel .beta581-route-count{font:600 34px/1 Georgia,serif;color:var(--gold-2)}
.beta581-route-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:14px}
.beta581-route-room{border:1px solid var(--line);border-radius:13px;padding:9px;background:rgba(255,255,255,.025);min-width:0}
.beta581-route-room strong{display:block;font:600 13px/1.2 Georgia,serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.beta581-route-room-stars{display:flex;gap:5px;margin-top:7px}
.beta581-route-dot{width:23px;height:23px;display:grid;place-items:center;border-radius:50%;border:1px solid color-mix(in srgb,var(--room-color) 32%,transparent);color:color-mix(in srgb,var(--room-color) 52%,#777);background:color-mix(in srgb,var(--room-color) 5%,transparent);font-family:Georgia,serif}
.beta581-route-dot.found{color:var(--room-color);background:color-mix(in srgb,var(--room-color) 16%,transparent);box-shadow:0 0 10px color-mix(in srgb,var(--room-color) 16%,transparent)}
.beta581-route-dot.runaway{animation:beta581RouteDot 1.5s ease-in-out infinite;color:#f1d9a5}
.beta581-route-note{margin:13px 0 0!important;font-size:12px!important}
.beta581-star-complete{position:fixed;right:18px;bottom:18px;z-index:980;width:min(390px,calc(100vw - 36px));padding:18px;border:1px solid color-mix(in srgb,#b89df0 48%,transparent);border-radius:18px;background:rgba(19,17,27,.96);box-shadow:0 24px 60px rgba(0,0,0,.42);backdrop-filter:blur(16px)}
.beta581-star-complete strong{font:600 22px/1.2 Georgia,serif;color:#e5d7ff}.beta581-star-complete p{color:var(--muted);line-height:1.5}.beta581-star-complete .card-actions{margin-top:12px}
@keyframes beta581RouteDot{50%{transform:translateX(3px) rotate(20deg);filter:drop-shadow(0 0 5px currentColor)}}
body:has(.modal-backdrop.open) .beta581-star,body.archive-major-open530 .beta581-star{opacity:0!important;pointer-events:none!important}
@media(max-width:760px){.beta581-star{width:42px;height:42px;--star-size:20px}.beta581-route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.beta581-star-complete{bottom:calc(84px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.beta581-star,.beta581-route-dot{animation:none!important}.beta581-star.is-found,.beta581-star.is-runaway{opacity:0!important;transition:opacity .2s ease!important}}
