.constellation{isolation:isolate}
.constellation-web{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;overflow:visible}
.constellation-web line{stroke:rgba(229,194,124,.28);stroke-width:.16;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 4px rgba(229,194,124,.24));stroke-dasharray:2 7;animation:webShimmer 10s linear infinite}

/* Área de clique grande, estrela visual pequena e luminosa. */
.constellation-point{z-index:3;width:42px;height:42px;padding:0;border:0;background:transparent!important;box-shadow:none!important;border-radius:0;cursor:pointer;opacity:1;transform:translate(-50%,-50%);animation:none!important}
.constellation-point::before,.constellation-point::after{content:"";position:absolute;left:50%;top:50%;pointer-events:none;transform:translate(-50%,-50%)}
.constellation-point::before{width:34px;height:34px;background:
  radial-gradient(circle at center,#fff 0 1.6px,#fff5c9 2.2px,#f0c36f 3.4px,rgba(240,195,111,.28) 6px,transparent 12px),
  linear-gradient(90deg,transparent 0 43%,rgba(255,244,204,.18) 47%,#fff7d6 50%,rgba(255,244,204,.18) 53%,transparent 57%),
  linear-gradient(0deg,transparent 0 43%,rgba(255,244,204,.18) 47%,#fff7d6 50%,rgba(255,244,204,.18) 53%,transparent 57%);
  filter:drop-shadow(0 0 4px #fff) drop-shadow(0 0 11px rgba(255,224,150,.95)) drop-shadow(0 0 24px rgba(229,174,76,.55));
  animation:starTwinkle 3.8s ease-in-out infinite;animation-delay:var(--star-delay,0s)}
.constellation-point::after{width:58px;height:58px;border-radius:50%;background:radial-gradient(circle,rgba(255,236,174,.24),rgba(255,205,100,.06) 36%,transparent 69%);animation:haloBreath 4.6s ease-in-out infinite;animation-delay:var(--star-delay,0s)}
.constellation-point.star-rose::before{background:
  radial-gradient(circle at center,#fff 0 1.6px,#ffe2d8 2.2px,#dc927d 3.4px,rgba(220,146,125,.25) 6px,transparent 12px),
  linear-gradient(90deg,transparent 0 43%,rgba(255,221,210,.17) 47%,#fff0e8 50%,rgba(255,221,210,.17) 53%,transparent 57%),
  linear-gradient(0deg,transparent 0 43%,rgba(255,221,210,.17) 47%,#fff0e8 50%,rgba(255,221,210,.17) 53%,transparent 57%);
  filter:drop-shadow(0 0 4px #fff) drop-shadow(0 0 11px rgba(235,153,130,.92)) drop-shadow(0 0 24px rgba(173,64,73,.48))}
.constellation-point.star-small::before{transform:translate(-50%,-50%) scale(.76)}
.constellation-point:hover::before,.constellation-point[aria-expanded="true"]::before{filter:drop-shadow(0 0 6px #fff) drop-shadow(0 0 15px rgba(255,231,170,1)) drop-shadow(0 0 34px rgba(230,174,73,.92));animation-duration:1.35s}
.constellation-point:focus-visible{outline:1px solid rgba(255,255,255,.92);outline-offset:0;border-radius:50%}
.constellation-point.is-flaring::before{animation:flareRays .9s ease-out!important}
.constellation-point.is-flaring::after{animation:flareHalo .9s ease-out!important}
.constellation-point.is-ritual-selected{outline:1px solid rgba(255,255,255,.94);outline-offset:-3px;border-radius:50%}
.constellation-point.is-ritual-selected::before{filter:drop-shadow(0 0 7px #fff) drop-shadow(0 0 18px rgba(255,231,170,1)) drop-shadow(0 0 42px rgba(230,174,73,.98))}

.constellation-popover{z-index:12;max-height:calc(100% - 28px);overflow:auto;border-radius:2px;transition:opacity .16s ease,transform .16s ease;overscroll-behavior:contain}
.constellation-popover strong{font-size:.78rem}.constellation-popover p{line-height:1.55}.constellation-popover .choose-light{width:100%;margin-top:13px;border:0;background:var(--wine);color:#fff;padding:10px 12px;cursor:pointer;font-weight:800;font-size:.75rem}

@keyframes webShimmer{to{stroke-dashoffset:-36}}
@keyframes starTwinkle{0%,100%{opacity:.68;transform:translate(-50%,-50%) scale(.82) rotate(0deg)}38%{opacity:1;transform:translate(-50%,-50%) scale(1.18) rotate(4deg)}52%{opacity:.82;transform:translate(-50%,-50%) scale(.94) rotate(-3deg)}72%{opacity:1;transform:translate(-50%,-50%) scale(1.08) rotate(0deg)}}
@keyframes haloBreath{0%,100%{transform:translate(-50%,-50%) scale(.72);opacity:.32}50%{transform:translate(-50%,-50%) scale(1.2);opacity:.82}}
@keyframes flareRays{0%{opacity:.35;transform:translate(-50%,-50%) scale(.55)}45%{opacity:1;transform:translate(-50%,-50%) scale(2.3) rotate(45deg)}100%{opacity:0;transform:translate(-50%,-50%) scale(3.1) rotate(90deg)}}
@keyframes flareHalo{0%{opacity:.25;transform:translate(-50%,-50%) scale(.7)}55%{opacity:1;transform:translate(-50%,-50%) scale(2.05)}100%{opacity:0;transform:translate(-50%,-50%) scale(2.7)}}
@media(prefers-reduced-motion:reduce){.constellation-web line,.constellation-point::before,.constellation-point::after{animation:none!important}}
