html,body{color:#f5f5f5;background:#05050a;height:100%;margin:0;font-family:system-ui,sans-serif;overflow:hidden}main{flex-direction:column;height:100%;display:flex}#sky{touch-action:none;user-select:none;background:radial-gradient(at 50% -20%,#101c3f,#05050a 70%);flex:1;position:relative;overflow:hidden}#lines{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.edge{fill:none;stroke:#9fc2ff;stroke-width:2px;stroke-linecap:round;stroke-dasharray:0 11;opacity:.6;filter:drop-shadow(0 0 2px #7fa8ff);transition:opacity .15s;animation:3.5s linear infinite edge-drift,1.6s ease-in-out infinite edge-shimmer}.edge.edge-active{stroke:#fff6dc;stroke-width:2.5px;stroke-dasharray:0 7;opacity:1;filter:drop-shadow(0 0 5px #ffe9a8);animation:1.2s linear infinite edge-drift}@keyframes edge-drift{to{stroke-dashoffset:-22px}}@keyframes edge-shimmer{0%,to{opacity:.35}50%{opacity:.85}}.trail{stroke:#ffe9a8;stroke-width:2px;stroke-linecap:round;filter:drop-shadow(0 0 4px #ffe9a8);animation:.7s forwards trail-fade}@keyframes trail-fade{0%{opacity:.9}to{opacity:0}}.star{--size:.6;--amp:0;--rot:0deg;--ray-scale:1;--ray-gap:90deg;--glow:1;cursor:pointer;filter:brightness(.62) drop-shadow(0 0 calc(3px * var(--glow)) #ffd6964d);background:0 0;border:none;border-radius:50%;padding:0;transition:filter .3s ease-out;animation:6s ease-in-out infinite dim-flicker;position:absolute;transform:translate(-50%,-50%)}.star:hover{filter:brightness(.85) drop-shadow(0 0 calc(5px * var(--glow)) #ffd69673)}.star.is-lit{filter:brightness(1.55) drop-shadow(0 0 calc(11px * var(--glow)) #ffd696b3);animation:4s ease-in-out infinite flicker}.star.is-lit:hover{filter:brightness(1.8) drop-shadow(0 0 calc(15px * var(--glow)) #ffd696d9)}.star.is-lit.igniting{animation:.55s ease-out forwards ignite-burst}@keyframes ignite-burst{0%{filter:brightness(1.55) drop-shadow(0 0 calc(11px * var(--glow)) #ffd696b3);transform:translate(-50%,-50%)scale(1);box-shadow:0 0 #ffe0aa8c}30%{filter:brightness(2.6) drop-shadow(0 0 calc(28px * var(--glow)) #ffe0aaf2);transform:translate(-50%,-50%)scale(1.55)}to{filter:brightness(1.55) drop-shadow(0 0 calc(11px * var(--glow)) #ffd696b3);transform:translate(-50%,-50%)scale(1);box-shadow:0 0 0 26px #ffe0aa00}}.star:before,.star:after{content:"";pointer-events:none;position:absolute}.star:after{transform:scale(calc(1 + var(--amp) * (.4 + var(--size) * .7)));filter:brightness(calc(1 + var(--amp) * 1.8));background:radial-gradient(circle,#fffef2 0%,#ffd873 40%,#ffb85200 75%);border-radius:50%;transition:transform 60ms linear,filter 60ms linear;inset:-35%}.star-point:before{content:none}.star-point:after{inset:calc(-18% * var(--ray-scale))}.star-particle:before{content:none}.star-particle:after{inset:calc(-70% * var(--ray-scale));filter:blur(1.5px) brightness(calc(1 + var(--amp) * 1.8));background:radial-gradient(circle,#ffefd2d9 0%,#ffd69680 35%,#ffb85200 75%)}.star-burst:before{inset:calc(-180% * var(--ray-scale));background:repeating-conic-gradient(from var(--rot), #ffe4a8eb 0deg 1.6deg, transparent 1.6deg var(--ray-gap));transform:scale(calc(1 + var(--amp) * (.5 + var(--size) * .9)));transition:transform 60ms linear;mask-image:radial-gradient(circle,#000 0%,#0000 68%)}.star-cross:before{inset:calc(-220% * var(--ray-scale));clip-path:polygon(50% 0%,58% 38%,100% 50%,58% 62%,50% 100%,42% 62%,0% 50%,42% 38%);transform:rotate(var(--rot)) scale(calc(1 + var(--amp) * (.4 + var(--size) * .6)));background:radial-gradient(circle,#ffefd2a6 0%,#ffd69659 40%,#0000 70%)}.star:focus-visible{outline-offset:4px;outline:2px solid #fff6d8}.star.active:after{background:radial-gradient(circle,#fff 0%,#fff2c9 40%,#ffe9a800 78%)}.star.is-lit:before{content:"";inset:calc(-160% * var(--ray-scale));background:repeating-conic-gradient(from var(--rot), #fff6d8f2 0deg 1.1deg, transparent 1.1deg var(--ray-gap));clip-path:none;filter:none;transform:scale(calc(1 + var(--amp) * (.5 + var(--size) * .9)));transition:transform 60ms linear;mask-image:radial-gradient(circle,#000 0%,#0000 60%)}.star.is-lit:after{filter:brightness(calc(1 + var(--amp) * 1.8));background:radial-gradient(circle,#fff 0%,#fff2c9 40%,#ffe9a800 78%);inset:-45%}.star.is-lit.active:after{background:radial-gradient(circle,#fff 0% 45%,#fff6d800 80%)}@keyframes flicker{0%,to{opacity:.6}50%{opacity:1}}@keyframes dim-flicker{0%,to{opacity:.35}50%{opacity:.55}}#hint{letter-spacing:.05em;opacity:.6;text-align:center;pointer-events:none;margin:0;font-size:1.1rem;transition:opacity .4s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#hint.is-hidden{opacity:0}.controls{background:#05050a;flex:none;justify-content:center;padding:12px;display:flex}.controls button{font:inherit;color:#f5f5f5;cursor:pointer;background:#14183099;border:1px solid #7fa8ff;border-radius:6px;padding:8px 16px}.controls button:hover,.controls button:focus-visible{background:#23295c}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}a{color:#9fd8ff}
