@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes bounceIn{0%{opacity:0;transform:translate(-50%,20px)}50%{opacity:.6;transform:translate(-50%,-20px)}to{opacity:1;transform:translate(-50%,-16px)}}@keyframes pulse{0%{opacity:.5;transform:scale(.95)}50%{opacity:.8;transform:scale(1.05)}to{opacity:.5;transform:scale(.95)}}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}.animate-fadeIn{animation:fadeIn .5s ease-out forwards}.animate-bounceIn{animation:bounceIn .8s ease-out forwards}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-float{animation:float 3s ease-in-out infinite}@tailwind base;@tailwind components;@tailwind utilities;:root{--foreground-rgb:255,255,255;--background-start-rgb:17,24,39;--background-end-rgb:3,7,18;--accent-color:255,0,0}*{box-sizing:border-box}.gpu-accelerated{will-change:transform;transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden;perspective:1000px}body{color:rgb(var(--foreground-rgb));background:linear-gradient(135deg,rgb(var(--background-start-rgb)) 0,rgb(var(--background-end-rgb)) 100%);background-attachment:fixed;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow-x:hidden}.font-pixel{font-family:var(--font-pixel),monospace;letter-spacing:.05em;transition:all .3s ease}select.font-pixel{background-color:rgba(0,0,0,.5);border:2px solid hsla(0,0%,100%,.1);border-radius:4px;padding:8px 32px 8px 16px;color:rgb(var(--foreground-rgb));cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='4'%3E%3Cpath fill='white' d='M4 0h8L8 4z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;will-change:border-color,box-shadow}select.font-pixel:hover{border-color:hsla(0,0%,100%,.3);box-shadow:0 0 15px hsla(0,0%,100%,.1)}button.font-pixel{background-color:hsla(0,0%,100%,.1);border:2px solid hsla(0,0%,100%,.2);border-radius:4px;padding:8px 16px;transition:all .3s ease;will-change:transform,background-color,border-color,box-shadow}button.font-pixel:hover{background-color:hsla(0,0%,100%,.2);border-color:hsla(0,0%,100%,.4);transform:translateY(-2px) translateZ(0);text-shadow:0 0 8px hsla(0,0%,100%,.5);box-shadow:0 4px 12px rgba(0,0,0,.2)}.pixel-text{font-family:var(--font-pixel),monospace;color:rgb(var(--accent-color));text-shadow:0 0 10px rgba(var(--accent-color),.8);animation:glow 1.5s ease-in-out infinite alternate;will-change:text-shadow}@keyframes glow{0%{text-shadow:0 0 5px rgba(var(--accent-color),.8)}to{text-shadow:0 0 20px rgba(var(--accent-color),.8)}}@media (max-width:640px){.font-pixel{font-size:.85em;line-height:1.4}button.font-pixel,select.font-pixel{padding:8px 16px;margin:4px;min-height:44px;width:auto;max-width:90vw}.canvas-container{padding:.75rem;margin:.75rem auto;width:90vw;height:90vw;max-width:90vh;max-height:90vh;touch-action:none}h1.text-5xl{font-size:1.75rem;margin:1rem auto}h1.text-5xl,p.text-xl{max-width:85vw;line-height:1.5;padding:0 .75rem}p.text-xl{font-size:.95rem;margin:.75rem auto}.title-container{width:100%;padding:.75rem;text-align:center}.button-group,.button-group button,.button-group.grid,.button-group.horizontal,.button-group.vertical{@apply grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 gap-3}@media (max-width:640px){.button-group,.button-group button{@apply min-w-[100px] max-w-[240px]}}@media (max-width:480px){.button-group,.button-group button{@apply min-w-[80px] max-w-[200px]}}.button-group{gap:12px}}@media (max-width:480px){.font-pixel{font-size:.75em;letter-spacing:.03em}button.font-pixel,select.font-pixel{padding:6px 12px;margin:3px}.canvas-container{padding:.5rem;margin:.5rem auto;width:85vw;height:85vw}h1.text-5xl{font-size:1.5rem;line-height:1.4;margin:.75rem auto}p.text-xl{font-size:.85rem;line-height:1.4;margin:.5rem auto}.button-group{gap:8px;padding:.5rem}.button-group button{max-width:240px;font-size:.7em}}@media (max-width:360px){.font-pixel{font-size:.7em}h1.text-5xl{font-size:1.25rem;line-height:1.3;margin:.5rem auto}p.text-xl{font-size:.8rem;line-height:1.3}button.font-pixel,select.font-pixel{padding:5px 10px;margin:2px}.button-group{gap:6px;padding:.4rem}.button-group button{max-width:200px;font-size:.65em}}@media (hover:none){button.font-pixel,select.font-pixel{min-height:44px;min-width:44px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button.font-pixel:active,select.font-pixel:active{transform:scale(.98);background-color:hsla(0,0%,100%,.25)}.clickable{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (max-width:640px){html{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}body{overscroll-behavior-y:none}select.font-pixel{background-size:12px;background-position:right 8px center}}.container{max-width:1200px;margin:0 auto;padding:1rem;width:100%}.canvas-container{background:rgba(0,0,0,.3);border-radius:8px;padding:1rem;box-shadow:0 8px 32px rgba(0,0,0,.2);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid hsla(0,0%,100%,.1);margin:1rem 0}@font-face{font-family:__Press_Start_2P_ca526f;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/60c1b9efbca49fe9.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Press_Start_2P_ca526f;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/31dd38bdb4daced8.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Press_Start_2P_ca526f;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/3511decdf5d10790.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Press_Start_2P_ca526f;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/999f4d94c8b14f83.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Press_Start_2P_ca526f;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/9b8c15de1de72117.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}.__className_ca526f{font-family:__Press_Start_2P_ca526f,monospace;font-weight:400;font-style:normal}.__variable_ca526f{--font-pixel:"__Press_Start_2P_ca526f",monospace}