/* Scoped to the hero only. Overlay containers never capture links, scrolling or taps. */
#hero-atmosphere{position:absolute;inset:0;pointer-events:none;z-index:2;overflow:hidden;border-radius:34px;isolation:isolate}
#hero-atmosphere::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 23% 15%,#765783,transparent 65%),linear-gradient(145deg,#39324e,#49324d 65%,#5c4365);opacity:0;transition:opacity .4s ease}
.hero-star-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
#hero-art>img{transition:opacity .4s ease}
#hero-art.star-playing>img{opacity:.8;mix-blend-mode:normal;animation-play-state:paused}
#hero-art.star-playing #hero-atmosphere::before{opacity:.72}
#hero-art.star-playing>.art-ticket,#hero-art.star-playing>.sticker,#hero-art.star-playing>.hero-spark,#hero-art.star-playing>.art-orbit{opacity:0;pointer-events:none}
#hero-art.star-playing>.joy-sticker{visibility:hidden;pointer-events:none}
#star-playfield{position:absolute;inset:0;z-index:5;pointer-events:none;border-radius:34px}
.star-play-panel{position:absolute;left:12%;right:12%;bottom:5%;text-align:center;color:#f4e6f5;display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px 16px;padding:13px 16px;border:1px solid #cfb8dc44;background:#3a2e494d;border-radius:16px;pointer-events:none}
.star-play-panel>span:first-child{font-size:8px;letter-spacing:1.8px;text-align:left;grid-column:1}
.star-play-progress{font:italic 24px Georgia,serif;color:#ffe2a1;grid-column:1;text-align:left;grid-row:2}
.star-play-clock{grid-column:2;grid-row:1 / span 2;font-size:13px;color:#e7c6e2;font-variant-numeric:tabular-nums}
.star-play-panel>small{font-size:9px;line-height:1.7;color:#c8b8d6;grid-column:1 / -1;text-align:left}
.star-target{position:absolute;transform:translate(-50%,-50%);width:60px;height:60px;padding:0;background:transparent;display:grid;place-items:center;pointer-events:auto;color:#f5cae1;border-radius:50%;isolation:isolate;touch-action:manipulation;transition:background .2s,color .2s}
.star-target::before{content:"";position:absolute;inset:6px;border:1px solid #d9b6e657;border-radius:50%;background:#bc94c013;transition:border-color .2s,background .2s}
.star-target>span{font:40px Georgia,serif;line-height:1;filter:none;text-shadow:0 0 12px #edb9da55;position:relative}
.star-target>small{position:absolute;right:0;bottom:0;width:17px;height:17px;background:#4c385b;border:1px solid #a48cb9;border-radius:50%;display:grid;place-items:center;color:#c8b7d7;font-size:9px}
.star-target:hover{background:#e8c1de12;color:#ffdfb3}
.star-target:hover::before,.star-target:focus-visible::before{border-color:#ffe1a3;background:#ffdfa317}
.star-target:focus-visible{outline:2px solid #ffe9b7;outline-offset:3px}
.star-target.is-lit,.star-target.is-lit:disabled{color:#ffe2a1;opacity:1;background:transparent;cursor:default}
.star-target.is-lit::before{background:#ffe2a11a;border-color:#ffe2a180}
.star-target.is-lit>small{background:#ffe2a1;color:#62465f;border-color:#ffe2a1}
.star-achievement{position:absolute;top:8%;left:50%;transform:translateX(-50%) rotate(-3deg);display:flex;align-items:center;gap:12px;padding:15px 20px;background:#fff7dd;border:1px solid #daca96;border-radius:6px 18px 18px 18px;box-shadow:3px 5px 0 #e6d8b0aa;color:#7c6548;width:max-content;max-width:88%;pointer-events:none}
.star-achievement>span{font:32px Georgia;color:#c19b55}.star-achievement>div{font-size:12px;line-height:1.7;font-weight:600}
#constellation-toggle{touch-action:manipulation}
#constellation-toggle[aria-pressed=true]{background:#5a456b;color:#fff4e1;border-color:#5a456b}
#constellation-status{font-size:11px;line-height:1.8;color:#887487;min-height:1.8em}
@media(max-width:760px){#hero-atmosphere,#star-playfield{border-radius:24px}.star-target{width:48px;height:48px}.star-target>span{font-size:32px}.star-target::before{inset:4px}.star-target>small{font-size:8px;width:15px;height:15px}.star-play-panel{left:7%;right:20%;bottom:3%;padding:9px 12px;gap:3px 9px;border-radius:12px}.star-play-panel>span:first-child{font-size:6px;letter-spacing:1px}.star-play-progress{font-size:19px}.star-play-clock{font-size:11px}.star-play-panel>small{font-size:7px;line-height:1.5}.star-achievement{top:7%;padding:11px 15px;gap:9px}.star-achievement>span{font-size:25px}.star-achievement>div{font-size:10px}.star-target:nth-of-type(4),.star-target:nth-of-type(5){margin-top:-5px}}
html.motion-reduced #hero-atmosphere::before,html.motion-reduced #hero-art>img,html.motion-reduced .star-target,html.motion-reduced .star-target::before{transition:none}
@media(prefers-reduced-motion:reduce){#hero-atmosphere::before,#hero-art>img,.star-target,.star-target::before{transition:none}}
