*{box-sizing:border-box;margin:0;padding:0}html,body,#root{background-color:#1a0f0a;width:100%;height:100%;overflow:hidden}body{justify-content:center;align-items:center;font-family:Fredoka One,Arial Black,sans-serif;display:flex}.game-container{flex-direction:column;justify-content:flex-start;align-items:center;width:100vw;height:100vh;padding-top:20px;display:flex}.canvas-wrapper{display:inline-block;position:relative}canvas{image-rendering:pixelated;image-rendering:crisp-edges;will-change:transform;display:block;transform:translateZ(0);box-shadow:0 4px 8px #0000004d,0 8px 16px #0003}canvas.modern-screen{box-shadow:0 4px 8px #0000004d,0 8px 16px #0003}.canvas-link{color:#fc0;text-shadow:0 2px 4px #00000080;z-index:2;font-family:Fredoka One,Arial Black,sans-serif;font-size:36px;line-height:1;text-decoration:none;position:absolute;bottom:10px;right:10px}.canvas-link:hover{color:gold;text-shadow:0 2px 6px #000000b3}.control-bar{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.control-bar button{color:#fc0;cursor:pointer;text-transform:uppercase;text-shadow:0 2px 4px #00000080;background:0 0;border:none;padding:16px 24px;font-family:Fredoka One,Arial Black,sans-serif;font-size:18px;transition:color .2s}.control-bar button:hover{color:gold;text-shadow:0 2px 6px #000000b3}.overlay{background:#1a0f0aeb;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.overlay-content{color:#fff;text-align:center;z-index:1;flex-direction:column;justify-content:center;align-items:center;gap:60px;padding:60px;font-family:Fredoka One,Arial Black,sans-serif;font-size:56px;display:flex}.overlay h1{text-transform:uppercase;letter-spacing:6px;color:#fc0;text-shadow:0 8px 16px #0009;white-space:nowrap;font-family:Fredoka One,Arial Black,sans-serif;font-size:144px;line-height:1.2}.overlay p{text-shadow:0 6px 10px #00000080;font-family:Fredoka One,Arial Black,sans-serif;font-size:56px;line-height:2}.blink{animation:1s infinite blink}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.loading-screen{color:#fff;text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.loading-screen h1{color:#fc0;text-shadow:0 3px 6px #0009;margin-bottom:40px;font-size:48px}.loading-screen p{color:#fff;text-shadow:0 2px 4px #00000080;margin-bottom:20px;font-size:20px}.loading-spinner{border:4px solid #fc03;border-top-color:#fc0;border-radius:50%;width:50px;height:50px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-error{color:#ff6b6b;max-width:400px}.loading-error p{color:#ff6b6b}.mobile-controls{z-index:100;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;justify-content:space-between;align-items:center;width:100%;max-width:600px;padding:0 30px;display:flex;position:fixed;bottom:30px;left:50%;transform:translate(-50%)}.mobile-controls-left-group{-webkit-user-select:none;user-select:none;gap:20px;margin-right:auto;display:flex}.mobile-btn{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;z-index:100;backface-visibility:hidden;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:0 0;border:none;justify-content:center;align-items:center;width:90px;height:90px;padding:0;display:flex;position:relative;transform:translateZ(0)}.mobile-btn-bg{object-fit:contain;pointer-events:none;filter:drop-shadow(0 3px 6px #0006);width:100%;height:100%;position:absolute}.mobile-btn:active .mobile-btn-bg{filter:drop-shadow(0 4px 8px #0009)brightness(.9);transform:translateY(2px)}.mobile-btn-arrow{color:#fff;text-shadow:0 2px 4px #000c;pointer-events:none;z-index:1;letter-spacing:1px;font-family:Fredoka One,Arial Black,sans-serif;font-size:20px;font-weight:700;position:relative}.mobile-btn-label{color:#fff;text-shadow:0 2px 4px #000c;pointer-events:none;z-index:1;letter-spacing:1px;font-family:Fredoka One,Arial Black,sans-serif;font-size:16px;font-weight:700;position:relative}.resume-link{cursor:pointer;-webkit-tap-highlight-color:transparent;color:#fc0;text-decoration:underline}.resume-link:hover{color:gold}@media (width<=640px){.overlay h1{font-size:96px}.overlay p{font-size:48px}.control-bar button{padding:12px 16px;font-size:14px}.mobile-controls{max-width:95%;padding:0 15px;bottom:20px}.mobile-controls-left-group{gap:12px}.mobile-btn,.mobile-btn-fire{width:75px;height:75px}.mobile-btn-arrow{font-size:17px}.mobile-btn-label{font-size:13px}.loading-screen h1{font-size:32px}.loading-screen p{font-size:16px}}
