@font-face{font-family:"Press Start 2P";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/press-start-2p-latin-400-normal-_wFEWmAB.woff2)format("woff2"),url(/assets/press-start-2p-latin-400-normal-KLytu4cr.woff)format("woff")}@font-face{font-family:"Press Start 2P";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/press-start-2p-latin-ext-400-normal-DpfYvR5A.woff2)format("woff2"),url(/assets/press-start-2p-latin-ext-400-normal-DBgyq7ky.woff)format("woff")}@font-face{font-family:Bungee;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bungee-latin-400-normal-Dfnurram.woff2)format("woff2"),url(/assets/bungee-latin-400-normal-DA8IEVW_.woff)format("woff")}@font-face{font-family:Bungee;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bungee-latin-ext-400-normal-DWzJMwsA.woff2)format("woff2"),url(/assets/bungee-latin-ext-400-normal-DXe9_7Rr.woff)format("woff")}:root{--font-pixel:"Press Start 2P", "Courier New", monospace;--font-display:"Bungee", "Press Start 2P", "Courier New", monospace;--storm-night-1:#070d1e;--storm-night-2:#0b1530;--storm-night-3:#14224a;--storm-cyan:#7fe9ff;--storm-snow:#f4fbff;--sunrise-pink:#ff7aa8;--sunrise-orange:#ff8a3d;--sunrise-gold:#ffc14d;--sunrise-warm-white:#fffdf5;--box-burgundy-dark:#450c17;--box-burgundy:#7a182b;--box-burgundy-light:#9e2a40;--ribbon-gold-dark:#b8860b;--ribbon-gold:#ffc14d;--ribbon-gold-light:#ffe066;--snow-shadow:#8bb3d6;--snow-mid:#c0ddf3;--snow-light:#eaf5fc;--snow-pure:#fff}*{box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}html,body{background-color:var(--storm-night-1);width:100%;height:100dvh;color:var(--storm-snow);font-family:var(--font-pixel);touch-action:manipulation;-webkit-user-select:none;user-select:none;overflow:hidden}#root{justify-content:center;align-items:center;width:100vw;height:100dvh;display:flex;position:relative;overflow:hidden}.pixel-crisp{image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;shape-rendering:crispedges}.stage-viewport{background-color:#050a16;justify-content:center;align-items:center;width:100%;max-width:100vw;height:100%;max-height:100dvh;display:flex;position:relative;overflow:hidden}.stage-canvas-container{transform-origin:50%;width:1280px;max-width:100%;height:720px;max-height:100%;position:relative;overflow:hidden}@media (aspect-ratio<=16/9){.stage-canvas-container{width:100vw;height:56.25vw}}@media (aspect-ratio>=16/9){.stage-canvas-container{width:177.78dvh;height:100dvh}}@media (width<=600px) and (orientation:portrait){.stage-canvas-container{width:100vw;height:100dvh}}.mc-button{font-family:var(--font-pixel);letter-spacing:1px;color:#fff;cursor:pointer;background-color:#3b5f92;border:4px solid #14284d;border-color:#82b1ff #14284d #14284d #82b1ff;outline:none;justify-content:center;align-items:center;padding:16px 36px;font-size:1.1rem;transition:transform 80ms,box-shadow .15s,background-color .15s;display:inline-flex;position:relative;box-shadow:0 8px #0b1530,0 0 24px #7fe9ff59}.mc-button:hover{background-color:#4a75b3;transform:translateY(-2px);box-shadow:0 10px #0b1530,0 0 32px #7fe9ffa6}.mc-button:active{border-color:#14284d #82b1ff #82b1ff #14284d;transform:translateY(4px);box-shadow:0 4px #0b1530,0 0 16px #7fe9ff80}.icon-btn{color:#f4fbff;cursor:pointer;z-index:50;background:#0b1530d9;border:2px solid #3b5f92;outline:none;justify-content:center;align-items:center;width:44px;height:44px;padding:0;transition:transform .1s,border-color .15s,background .15s;display:flex;box-shadow:0 4px #070d1e}.icon-btn:hover{border-color:var(--storm-cyan);background:#233e6b;transform:translateY(-2px)}.icon-btn:active{transform:translateY(2px);box-shadow:0 2px #070d1e}.shake-light{animation:.25s infinite shakeLight}.shake-heavy{animation:.15s infinite shakeHeavy}@keyframes shakeLight{0%{transform:translate(0)}25%{transform:translate(-2px,1px)}50%{transform:translate(2px,-1px)}75%{transform:translate(-1px,-2px)}to{transform:translate(1px,2px)}}@keyframes shakeHeavy{0%{transform:translate(0)}20%{transform:translate(-4px,3px)}40%{transform:translate(5px,-3px)}60%{transform:translate(-3px,-4px)}80%{transform:translate(4px,2px)}to{transform:translate(0)}}@keyframes sparkleFloat{0%,to{opacity:.85;transform:translateY(0)rotate(0)scale(1)}50%{opacity:1;transform:translateY(-8px)rotate(15deg)scale(1.15)}}.sparkle-anim{animation:2.4s ease-in-out infinite sparkleFloat}@media (prefers-reduced-motion:reduce){.shake-light,.shake-heavy,.sparkle-anim{animation:none!important}}
