.paint-secret-effect{position:absolute;inset:0;z-index:12;overflow:hidden;pointer-events:none}
.secret-ring,.secret-spark{position:absolute;left:var(--secret-x);top:var(--secret-y);pointer-events:none}
.secret-ring{width:calc(2 * var(--secret-radius));height:calc(2 * var(--secret-radius));margin-left:calc(-1 * var(--secret-radius));margin-top:calc(-1 * var(--secret-radius));border:4px solid #ffd466;border-radius:50%;box-shadow:0 0 28px #ffb947aa,inset 0 0 30px #fff7ba66;animation:secret-bloom 1.2s ease-out both}
.secret-spark{width:11px;height:11px;border-radius:50%;background:hsl(var(--hue) 90% 60%);color:hsl(var(--hue) 90% 65%);box-shadow:0 0 10px currentColor;animation:secret-flight 1.5s ease-out both}
.secret-aura,.secret-cross-arm{position:absolute;left:var(--secret-x);top:var(--secret-y);pointer-events:none}
.secret-aura{width:calc(2 * var(--secret-radius));height:calc(2 * var(--secret-radius));margin:calc(-1 * var(--secret-radius));border-radius:50%;background:radial-gradient(circle,#fffce9cc 0,#ffc65d66 24%,#fa66c033 50%,transparent 70%);animation:secret-bloom 1.6s ease-out both}
.secret-cross-arm{width:calc(2 * var(--secret-radius));height:var(--secret-width);border-radius:50%;background:linear-gradient(90deg,transparent,#ff73c8bb,#ffe985ee,#fff,#9fe5ffee,#ab8bffbb,transparent);box-shadow:0 0 18px #fff8cfaa;animation:secret-cross 1.5s ease-out both}
.paint-secret-effect[data-kind=stars] .secret-spark{width:22px;height:22px;border-radius:0;background:none;box-shadow:none;font:24px/1 system-ui;text-shadow:0 0 8px #fff,0 0 14px currentColor}
.secret-message{position:absolute;left:50%;bottom:12%;transform:translateX(-50%);width:max-content;max-width:90%;padding:12px 22px;border:1px solid #e9bb58;border-radius:20px;background:#fff9eaf5;color:#765523;text-align:center;box-shadow:0 7px 30px #57482b25;animation:secret-message 4.2s both}
.secret-message strong{display:block;font:800 clamp(20px,4vw,30px)/1.15 system-ui}.secret-message span{display:block;margin-top:5px;font:600 12px/1.4 system-ui}
@keyframes secret-bloom{from{opacity:1;transform:scale(.1)}to{opacity:0;transform:scale(1.2)}}
@keyframes secret-flight{from{opacity:1;transform:translate(-50%,-50%)}to{opacity:0;transform:translate(calc(var(--dx) * var(--secret-radius)),calc(var(--dy) * var(--secret-radius))) scale(.2)}}
@keyframes secret-message{0%{opacity:0}12%,82%{opacity:1}100%{opacity:0}}
@keyframes secret-cross{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--turn)) scaleX(.06)}20%{opacity:1}65%{opacity:.85}100%{opacity:0;transform:translate(-50%,-50%) rotate(var(--turn)) scaleX(1.15)}}
.paint-sparkles{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:2}
.paint-sparkle{position:absolute;width:19px;height:19px;margin:-9px;pointer-events:none}
.paint-sparkle::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,#fff,#fff8be 50%,#fff);clip-path:polygon(50% 0,60% 37%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);animation:paint-twinkle 3.8s ease-in-out infinite;animation-delay:var(--twinkle-delay);filter:drop-shadow(0 0 2px #fff)}
.paint-sparkle::after{content:'';position:absolute;inset:7px;border-radius:50%;background:#fff;box-shadow:0 0 7px 2px #fff6b677;animation:paint-twinkle 3.8s ease-in-out infinite;animation-delay:var(--twinkle-delay)}
@keyframes paint-twinkle{0%,43%,100%{opacity:0;transform:scale(.15) rotate(0)}62%{opacity:1;transform:scale(1) rotate(14deg)}81%{opacity:.75;transform:scale(.6) rotate(24deg)}}
@media(prefers-reduced-motion:reduce){.secret-ring,.secret-spark,.secret-aura,.secret-cross-arm,.paint-sparkles{display:none}.secret-message{animation:none}}
