:root{--c-hex:#00d9ff;--c-hex-deep:#0891b2;--c-rgb:0, 217, 255;--n-hex:#0ff;--n-rgb:0, 255, 255;--bg-color:#120726;--text-main:#fff;--accent-primary:#ff3ea5;--accent-secondary:#ffd166;--font-display:"Archivo Black", "Inter", sans-serif;--font-body:"Inter", sans-serif}.theme-playful{--bg-color:#120726;--text-main:#fff;--accent-primary:#ff3ea5;--accent-secondary:#ffd166;--font-display:"Archivo Black", "Inter", sans-serif;--font-body:"Inter", sans-serif}.theme-neon{--bg-color:#080a0c;--text-main:#39ff14;--accent-primary:var(--n-hex);--accent-secondary:#f70;--font-display:"VT323", "Courier New", monospace;--font-body:"VT323", "Courier New", monospace}.theme-cosmic{--bg-color:#0b0420;--text-main:#fff;--accent-primary:var(--c-hex);--accent-secondary:var(--c-hex-deep);--font-display:"Space Grotesk", sans-serif;--font-body:"Space Grotesk", sans-serif}body{background-color:var(--bg-color);color:var(--text-main);font-family:var(--font-body);-webkit-overflow-scrolling:touch;margin:0;padding:0;transition:background-color .5s,color .5s;overflow-x:hidden}.theme-playful button{font-family:var(--font-body);background-color:var(--accent-primary);color:#fff;border-radius:12px;font-weight:800}.theme-neon button{font-family:var(--font-display);color:var(--accent-primary);border:2px solid var(--accent-primary);text-shadow:0 0 4px var(--accent-primary);box-shadow:0 0 8px rgba(var(--n-rgb), .2);background-color:#0000;border-radius:0;font-weight:700}.theme-neon button:hover{background-color:var(--accent-primary);color:#000;box-shadow:0 0 16px var(--accent-primary)}.theme-cosmic button{font-family:var(--font-body);color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#ffffff14;border:1px solid #fff3;border-radius:999px;font-weight:600}.theme-cosmic button:hover{background-color:#ffffff26;border-color:#fff6}@keyframes gifSpin{to{transform:rotate(360deg)}}@keyframes gifGlyphPulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes wmDrift{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-6px)rotate(-1.2deg)}}@keyframes starTwinkle{0%,to{opacity:.2}50%{opacity:.95}}@keyframes shootStar{0%{opacity:0;transform:translate(0)}8%{opacity:1}25%{opacity:0;transform:translate(140vw,60vh)}to{opacity:0}}@keyframes blink{50%{opacity:0}}@keyframes neonPulse{0%,to{opacity:1}50%{opacity:.65}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes popIn{0%{opacity:0;transform:scale(.7)}70%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes bouncing{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes floatUp{0%{opacity:0;transform:translateY(0)rotate(-4deg)}10%{opacity:.9}90%{opacity:.9}to{opacity:0;transform:translateY(-150px)rotate(8deg)}}@keyframes puckDrop{0%{opacity:.5;transform:translateY(-40px)}50%{opacity:1;transform:translateY(80px)}to{opacity:0;transform:translateY(140px)}}@keyframes hoverFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes arrowUp{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes streamerFall{0%{opacity:0;transform:translateY(-40px)rotate(0)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(720px)rotate(720deg)}}@keyframes crownBob{0%,to{transform:translateY(0)rotate(-3deg)}50%{transform:translateY(-10px)rotate(3deg)}}@keyframes raySpin{to{transform:translate(-50%)rotate(360deg)}}@keyframes chevronRise{0%{opacity:0;transform:translateY(22px)}25%{opacity:1}75%{opacity:1}to{opacity:0;transform:translateY(-22px)}}@keyframes pulseRing{0%{opacity:.7;transform:scale(.6)}to{opacity:0;transform:scale(1.9)}}
