@import url("https://fonts.googleapis.com/css2?family=Mountains+of+Christmas:wght@400;700&display=swap");.christmas{--background:220 45% 7%;--foreground:40 55% 96%;--card:220 40% 11%;--card-foreground:40 55% 96%;--popover:220 42% 9%;--popover-foreground:40 55% 96%;--primary:42 95% 62%;--primary-foreground:220 45% 10%;--secondary:350 80% 55%;--secondary-foreground:40 60% 98%;--muted:220 30% 16%;--muted-foreground:40 28% 74%;--accent:185 70% 70%;--accent-foreground:220 45% 10%;--destructive:0 84% 60%;--destructive-foreground:0 0% 98%;--border:220 32% 23%;--input:220 32% 23%;--ring:42 95% 62%;--chart-1:42 95% 62%;--chart-2:350 80% 55%;--chart-3:150 45% 40%;--chart-4:185 70% 70%;--chart-5:265 60% 68%;--christmas-gold:42 95% 62%;--christmas-red:350 80% 55%;--christmas-green:150 45% 40%;--christmas-ice:185 70% 70%;--christmas-snow:40 40% 97%;--christmas-glow:42 100% 74%;--christmas-aurora-green:155 80% 55%;--christmas-aurora-cyan:190 85% 60%;--christmas-aurora-violet:268 70% 62%}.christmas-display{font-family:Mountains of Christmas,Georgia,cursive;letter-spacing:.02em}@keyframes christmas-aurora-wave{0%,to{transform:translate3d(-4%,0,0) rotate(-2deg) scaleY(1);opacity:.35}25%{transform:translate3d(2%,-4%,0) rotate(1.2deg) scaleY(1.18);opacity:.6}50%{transform:translate3d(5%,2%,0) rotate(2.4deg) scaleY(.88);opacity:.42}75%{transform:translate3d(-2%,-3%,0) rotate(-1deg) scaleY(1.1);opacity:.65}}.animate-christmas-aurora{animation:christmas-aurora-wave var(--aurora-duration,20s) ease-in-out infinite}@keyframes christmas-star-twinkle{0%,to{opacity:.2;transform:scale(.75)}50%{opacity:1;transform:scale(1.25)}}.animate-christmas-star-twinkle{animation:christmas-star-twinkle 3s ease-in-out infinite}@keyframes christmas-snow-fall{0%{transform:translate3d(0,-6vh,0);opacity:0}6%{opacity:var(--flake-opacity,.9)}50%{transform:translate3d(var(--sway,20px),50vh,0)}94%{opacity:var(--flake-opacity,.9)}to{transform:translate3d(calc(var(--sway, 20px) * -.6),106vh,0);opacity:0}}.animate-christmas-snow-fall{animation:christmas-snow-fall var(--fall-duration,12s) linear infinite}@keyframes christmas-garland-sway{0%,to{transform:rotate(-.5deg) translateY(0)}50%{transform:rotate(.5deg) translateY(2px)}}.animate-christmas-garland-sway{transform-origin:50% 0;animation:christmas-garland-sway 7s ease-in-out infinite}@keyframes christmas-bulb-glow{0%,to{filter:drop-shadow(0 0 2px var(--bulb-color)) brightness(.85);opacity:.85}50%{filter:drop-shadow(0 0 8px var(--bulb-color)) drop-shadow(0 0 16px var(--bulb-color)) brightness(1.3);opacity:1}}.animate-christmas-bulb-glow{animation:christmas-bulb-glow 2.4s ease-in-out infinite}@keyframes christmas-sleigh-flyby{0%{transform:translate3d(-20vw,4vh,0) rotate(3deg);opacity:0}1.5%{opacity:1}7%{transform:translate3d(14vw,-1.5vh,0) rotate(-1deg)}13%{transform:translate3d(46vw,-4.5vh,0) rotate(-2.5deg)}19%{transform:translate3d(80vw,-1.5vh,0) rotate(-1deg)}24.5%{opacity:1}26%{transform:translate3d(118vw,3.5vh,0) rotate(3deg);opacity:0}to{transform:translate3d(118vw,3.5vh,0) rotate(3deg);opacity:0}}.animate-christmas-sleigh-flyby{animation:christmas-sleigh-flyby 30s linear infinite}@keyframes christmas-sleigh-sparkle{0%,to{opacity:.1;transform:translateZ(0) scale(.6)}50%{opacity:.95;transform:translate3d(-6px,3px,0) scale(1.2)}}.animate-christmas-sleigh-sparkle{animation:christmas-sleigh-sparkle .9s ease-in-out infinite}@keyframes christmas-burst-flake{0%{transform:translate(0) scale(.3) rotate(0deg);opacity:1}60%{opacity:1}to{transform:translate(var(--tx),var(--ty)) scale(1.1) rotate(var(--rot,180deg));opacity:0}}.animate-christmas-burst-flake{animation:christmas-burst-flake 1s ease-out forwards}@keyframes christmas-ornament-pop{0%{transform:scale(0) rotate(-18deg);opacity:0}35%{transform:scale(1.25) rotate(6deg);opacity:1}55%{transform:scale(1) rotate(0deg);opacity:1}75%{transform:scale(1.15);opacity:.85}to{transform:scale(1.7);opacity:0;filter:blur(2px)}}.animate-christmas-ornament-pop{animation:christmas-ornament-pop .75s ease-out forwards}@keyframes christmas-gift-pop{0%{transform:scale(0) translateY(8px);opacity:0}30%{transform:scale(1.15) translateY(0);opacity:1}50%{transform:scale(.95);opacity:1}75%{transform:scale(1.06);opacity:.9}to{transform:scale(1.25);opacity:0}}.animate-christmas-gift-pop{animation:christmas-gift-pop .9s ease-out forwards}@keyframes christmas-gift-lid{0%{transform:translateY(0) rotate(0deg);opacity:1}to{transform:translateY(-46px) rotate(-40deg);opacity:0}}.animate-christmas-gift-lid{animation:christmas-gift-lid .7s cubic-bezier(.2,.8,.3,1) forwards}@keyframes christmas-ribbon-curl{0%{transform:translate(0) rotate(0deg) scaleY(.5);opacity:1}to{transform:translate(var(--tx),var(--ty)) rotate(var(--rot,260deg)) scaleY(1.2);opacity:0}}.animate-christmas-ribbon-curl{animation:christmas-ribbon-curl .9s ease-out forwards}@keyframes christmas-cursor-sparkle{0%{transform:translate(-50%,-50%) scale(0) rotate(0deg);opacity:0}30%{transform:translate(-50%,-50%) scale(1.1) rotate(45deg);opacity:1}60%{transform:translate(-50%,-50%) scale(.85) rotate(80deg);opacity:.8}to{transform:translate(-50%,-50%) scale(.15) rotate(130deg);opacity:0}}.animate-christmas-cursor-sparkle{animation:christmas-cursor-sparkle .7s ease-out forwards}@keyframes christmas-modal-snow{0%{transform:translate3d(0,-14px,0);opacity:0}10%{opacity:.9}88%{opacity:.65}to{transform:translate3d(var(--sway,10px),520px,0);opacity:0}}.animate-christmas-modal-snow{animation:christmas-modal-snow var(--fall-duration,6s) linear infinite}@keyframes christmas-tree-star-pulse{0%,to{transform:scale(1) rotate(0deg);filter:drop-shadow(0 0 4px hsl(var(--christmas-glow)))}50%{transform:scale(1.2) rotate(9deg);filter:drop-shadow(0 0 14px hsl(var(--christmas-glow))) drop-shadow(0 0 28px hsl(var(--christmas-gold)/.6))}}.animate-christmas-tree-star-pulse{animation:christmas-tree-star-pulse 2.2s ease-in-out infinite}@keyframes christmas-text-shimmer{0%{background-position:0 50%}to{background-position:200% 50%}}.christmas-shimmer-text{background:linear-gradient(100deg,hsl(var(--christmas-gold)) 0,hsl(48 100% 88%) 20%,hsl(var(--christmas-gold)) 40%,hsl(36 90% 50%) 60%,hsl(var(--christmas-gold)) 80%,hsl(48 100% 88%) 100%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:christmas-text-shimmer 3s linear infinite}.christmas-glow-btn{position:relative;background:linear-gradient(135deg,hsl(var(--christmas-red)),hsl(350 85% 42%));color:hsl(var(--christmas-snow));box-shadow:0 0 14px hsl(var(--christmas-red)/.5),0 0 28px hsl(var(--christmas-gold)/.15),0 4px 14px rgb(0 0 0/.4);transition:transform .25s ease,box-shadow .25s ease,filter .25s ease}.christmas-glow-btn:hover{transform:scale(1.06) translateY(-1px);box-shadow:0 0 22px hsl(var(--christmas-red)/.75),0 0 46px hsl(var(--christmas-gold)/.4),0 6px 18px rgb(0 0 0/.45);filter:brightness(1.12)}.christmas-glow-btn:active{transform:scale(.95)}.animate-christmas-aurora,.animate-christmas-modal-snow,.animate-christmas-sleigh-flyby,.animate-christmas-snow-fall{will-change:transform,opacity}@import url("https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap");.arcade{--background:260 35% 6%;--foreground:185 45% 92%;--card:260 32% 10%;--card-foreground:185 45% 92%;--popover:260 34% 8%;--popover-foreground:185 45% 92%;--primary:180 100% 55%;--primary-foreground:260 45% 8%;--secondary:320 100% 60%;--secondary-foreground:260 45% 8%;--muted:260 25% 16%;--muted-foreground:230 25% 74%;--accent:55 100% 60%;--accent-foreground:260 45% 8%;--destructive:0 100% 62%;--destructive-foreground:0 0% 98%;--border:265 45% 26%;--input:265 45% 26%;--ring:180 100% 55%;--chart-1:180 100% 55%;--chart-2:320 100% 60%;--chart-3:55 100% 60%;--chart-4:135 100% 55%;--chart-5:265 95% 68%;--arcade-cyan:180 100% 55%;--arcade-magenta:320 100% 60%;--arcade-yellow:55 100% 60%;--arcade-green:135 100% 55%;--arcade-orange:25 100% 58%;--arcade-grid:300 100% 62%;--arcade-glow:180 100% 65%}.arcade-pixel{font-family:Press Start\ 2P,Courier New,monospace;letter-spacing:.06em;line-height:1.7;text-transform:uppercase}.arcade-glow-cyan{color:hsl(var(--arcade-cyan));text-shadow:0 0 6px hsl(var(--arcade-cyan)/.9),0 0 18px hsl(var(--arcade-cyan)/.55),0 0 42px hsl(var(--arcade-cyan)/.3)}.arcade-glow-magenta{color:hsl(var(--arcade-magenta));text-shadow:0 0 6px hsl(var(--arcade-magenta)/.9),0 0 18px hsl(var(--arcade-magenta)/.55),0 0 42px hsl(var(--arcade-magenta)/.3)}.arcade-glow-yellow{color:hsl(var(--arcade-yellow));text-shadow:0 0 6px hsl(var(--arcade-yellow)/.9),0 0 18px hsl(var(--arcade-yellow)/.55),0 0 42px hsl(var(--arcade-yellow)/.3)}.arcade-glow-green{color:hsl(var(--arcade-green));text-shadow:0 0 6px hsl(var(--arcade-green)/.9),0 0 18px hsl(var(--arcade-green)/.55),0 0 42px hsl(var(--arcade-green)/.3)}.arcade-glow-orange{color:hsl(var(--arcade-orange));text-shadow:0 0 6px hsl(var(--arcade-orange)/.9),0 0 18px hsl(var(--arcade-orange)/.55),0 0 42px hsl(var(--arcade-orange)/.3)}.arcade-scanlines{background-image:repeating-linear-gradient(180deg,rgba(0,0,0,.32) 0,rgba(0,0,0,.32) 1px,transparent 0,transparent 3px)}.arcade-vignette{background:radial-gradient(ellipse at center,transparent 55%,rgba(5,2,14,.35) 82%,rgba(5,2,14,.75) 100%)}@keyframes arcade-flicker{0%,to{opacity:1}6%{opacity:.92}7%{opacity:1}38%{opacity:.96}39%{opacity:1}62%{opacity:.9}63%{opacity:1}84%{opacity:.95}}.animate-arcade-flicker{animation:arcade-flicker 7s step-end infinite}.arcade-grid-floor{position:absolute;left:-12%;right:-12%;bottom:0;height:100%;perspective:300px;perspective-origin:50% 0;overflow:hidden}.arcade-grid-plane{position:absolute;inset:0;transform-origin:50% 0;transform:rotateX(62deg);overflow:hidden}.arcade-grid-lines{position:absolute;left:0;right:0;top:-128px;height:calc(100% + 256px);background-image:repeating-linear-gradient(to bottom,hsl(var(--arcade-grid)/.55) 0,hsl(var(--arcade-grid)/.55) 2px,transparent 2px,transparent 64px),repeating-linear-gradient(to right,hsl(var(--arcade-grid)/.32) 0,hsl(var(--arcade-grid)/.32) 2px,transparent 2px,transparent 64px);animation:arcade-grid-scroll 2.6s linear infinite}@keyframes arcade-grid-scroll{0%{transform:translateY(0)}to{transform:translateY(64px)}}.arcade-sun{border-radius:50%;background:linear-gradient(to top,hsl(var(--arcade-magenta)) 0,hsl(var(--arcade-orange)) 52%,hsl(var(--arcade-yellow)) 100%);-webkit-mask-image:linear-gradient(180deg,black 0,black 52%,transparent 0,transparent 58%,black 0,black 68%,transparent 0,transparent 72%,black 0,black 81%,transparent 0,transparent 84%,black 0,black);mask-image:linear-gradient(180deg,black 0,black 52%,transparent 0,transparent 58%,black 0,black 68%,transparent 0,transparent 72%,black 0,black 81%,transparent 0,transparent 84%,black 0,black)}@keyframes arcade-sun-pulse{0%,to{opacity:.85;filter:drop-shadow(0 0 24px hsl(var(--arcade-magenta)/.7))}50%{opacity:1;filter:drop-shadow(0 0 46px hsl(var(--arcade-magenta)/.95))}}.animate-arcade-sun-pulse{animation:arcade-sun-pulse 5s ease-in-out infinite}@keyframes arcade-star-twinkle{0%,to{opacity:.15;transform:scale(.8)}50%{opacity:1;transform:scale(1.25)}}.animate-arcade-star-twinkle{animation:arcade-star-twinkle var(--arcade-star-dur,2.4s) ease-in-out infinite}@keyframes arcade-invader-drift{0%{transform:translate3d(var(--ix0,-12vw),var(--iy0,20vh),0)}to{transform:translate3d(var(--ix1,112vw),var(--iy1,24vh),0)}}.arcade-invader{cursor:crosshair;transition:filter .15s ease}.arcade-invader:hover{filter:brightness(1.6) drop-shadow(0 0 10px hsl(var(--arcade-glow)/.9))}@keyframes arcade-invader-wobble{0%,to{transform:scaleY(1) translateY(0)}50%{transform:scaleY(.88) translateY(6%)}}.animate-arcade-invader-wobble{animation:arcade-invader-wobble .9s steps(2) infinite}@keyframes arcade-pixel-burst{0%{transform:translate(0) rotate(0deg) scale(1);opacity:1}70%{opacity:1}to{transform:translate(var(--tx),var(--ty)) rotate(200deg) scale(.1);opacity:0}}.animate-arcade-pixel-burst{animation:arcade-pixel-burst .75s cubic-bezier(.15,.65,.35,1) forwards}@keyframes arcade-explosion-flash{0%{transform:scale(.2);opacity:1}60%{transform:scale(1.4);opacity:.7}to{transform:scale(2);opacity:0}}.animate-arcade-explosion-flash{animation:arcade-explosion-flash .5s ease-out forwards}@keyframes arcade-score-rise{0%{transform:translate(-50%) scale(.6);opacity:0}15%{transform:translate(-50%,-12px) scale(1.15);opacity:1}30%{transform:translate(-50%,-18px) scale(1)}to{transform:translate(-50%,-64px) scale(.9);opacity:0}}.animate-arcade-score-rise{animation:arcade-score-rise 1s ease-out forwards}@keyframes arcade-edge-flash{0%{opacity:0}18%{opacity:1}to{opacity:0}}.animate-arcade-edge-flash{animation:arcade-edge-flash .7s ease-out forwards}@keyframes arcade-overdrive-hue{0%{filter:hue-rotate(0deg)}to{filter:hue-rotate(1turn)}}.animate-arcade-overdrive-hue{animation:arcade-overdrive-hue 2.2s linear infinite}@keyframes arcade-overdrive-pulse{0%,to{opacity:.35}50%{opacity:.9}}.animate-arcade-overdrive-pulse{animation:arcade-overdrive-pulse .8s ease-in-out infinite}@keyframes arcade-blink{0%,49%{opacity:1}50%,to{opacity:0}}.animate-arcade-blink{animation:arcade-blink 1.1s step-end infinite}@keyframes arcade-neon-flicker{0%,to{opacity:1}3%{opacity:.6}4%{opacity:1}9%{opacity:.75}10%{opacity:1}54%{opacity:.85}55%{opacity:1}78%{opacity:.65}79%{opacity:1}}.animate-arcade-neon-flicker{animation:arcade-neon-flicker 4.5s step-end infinite}@keyframes arcade-crt-on{0%{transform:scaleY(.004) scaleX(0);opacity:0;filter:brightness(4)}35%{transform:scaleY(.004) scaleX(1);opacity:1;filter:brightness(4)}65%{transform:scaleY(.05) scaleX(1);opacity:1;filter:brightness(2.4)}to{transform:scaleY(1) scaleX(1);opacity:1;filter:brightness(1)}}.animate-arcade-crt-on{animation:arcade-crt-on .9s cubic-bezier(.23,1,.32,1) forwards}@keyframes arcade-crt-off{0%{transform:scaleY(1) scaleX(1);opacity:1;filter:brightness(1)}55%{transform:scaleY(.006) scaleX(1);opacity:1;filter:brightness(3.2)}85%{transform:scaleY(.004) scaleX(.18);opacity:1;filter:brightness(4)}to{transform:scaleY(.002) scaleX(0);opacity:0;filter:brightness(5)}}.animate-arcade-crt-off{animation:arcade-crt-off .75s cubic-bezier(.55,0,.68,.19) forwards}@keyframes arcade-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.animate-arcade-bob{animation:arcade-bob 2.6s ease-in-out infinite}@keyframes arcade-glitch{0%{transform:translate(0) skewX(0deg);filter:hue-rotate(0deg)}12%{transform:translate(-7px,2px) skewX(-4deg);filter:hue-rotate(90deg) saturate(3)}24%{transform:translate(6px,-3px) skewX(3deg);filter:hue-rotate(-60deg)}36%{transform:translate(-4px,1px) skewX(-6deg);filter:hue-rotate(180deg) saturate(2)}50%{transform:translate(5px,-2px) skewX(2deg);filter:hue-rotate(-120deg)}64%{transform:translate(-3px,2px) skewX(-2deg);filter:hue-rotate(45deg)}80%{transform:translate(2px,-1px) skewX(1deg);filter:hue-rotate(-20deg)}to{transform:translate(0) skewX(0deg);filter:hue-rotate(0deg)}}.animate-arcade-glitch{animation:arcade-glitch .65s steps(8) 1}@keyframes arcade-pulse-ring{0%{transform:scale(.4);opacity:.9}to{transform:scale(2.6);opacity:0}}.animate-arcade-pulse-ring{animation:arcade-pulse-ring .55s ease-out forwards}.arcade-cabinet-btn{position:fixed;bottom:1.5rem;right:1.5rem;z-index:80;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:4rem;height:4.6rem;border:2px solid hsl(var(--arcade-cyan)/.7);border-radius:.75rem;cursor:pointer;background:linear-gradient(165deg,hsl(260 35% 14%),hsl(260 40% 9%) 55%,hsl(260 45% 6%));box-shadow:0 0 14px hsl(var(--arcade-cyan)/.45),0 0 34px hsl(var(--arcade-magenta)/.25),0 6px 16px rgba(0,0,0,.5);transition:transform .2s ease,box-shadow .2s ease}.arcade-cabinet-btn:hover{transform:scale(1.1);box-shadow:0 0 22px hsl(var(--arcade-cyan)/.75),0 0 48px hsl(var(--arcade-magenta)/.45),0 8px 20px rgba(0,0,0,.6)}.arcade-cabinet-btn:active{transform:scale(.94)}.arcade-cabinet-glow{position:absolute;inset:-5px;border-radius:1rem;background:conic-gradient(hsl(var(--arcade-cyan)),hsl(var(--arcade-magenta)),hsl(var(--arcade-yellow)),hsl(var(--arcade-green)),hsl(var(--arcade-cyan)));opacity:.45;filter:blur(8px);z-index:-1;animation:arcade-glow-spin 5s linear infinite}.arcade-cabinet-btn:hover .arcade-cabinet-glow{opacity:.85}@keyframes arcade-glow-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.arcade-coin-tip{position:absolute;bottom:calc(100% + 10px);right:0;padding:6px 9px;border:1px solid hsl(var(--arcade-yellow)/.7);border-radius:4px;background:hsl(260 40% 7%/.95);white-space:nowrap;opacity:0;transform:translateY(6px);pointer-events:none;transition:opacity .2s ease,transform .2s ease}.arcade-cabinet-btn:focus-visible .arcade-coin-tip,.arcade-cabinet-btn:hover .arcade-coin-tip{opacity:1;transform:translateY(0)}.arcade-dpad-btn{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;border:2px solid hsl(var(--arcade-cyan)/.6);border-radius:.5rem;background:hsl(260 35% 12%/.9);color:hsl(var(--arcade-cyan));cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:manipulation;transition:transform .1s ease,background .1s ease}.arcade-dpad-btn:hover{background:hsl(260 35% 18%/.95)}.arcade-dpad-btn:active{transform:scale(.88);background:hsl(var(--arcade-cyan)/.25)}.animate-arcade-bob,.animate-arcade-star-twinkle,.arcade-grid-lines,.arcade-invader{will-change:transform,opacity}