:root{--primary: #ff1243;--foreground: #ffea87;--background: #ff1243;--black: #000000}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}*{-webkit-tap-highlight-color:transparent}html,body,*{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important;-webkit-touch-callout:none}img,svg,a,button{-webkit-user-drag:none}html,body{height:100%;background:var(--background);overflow:hidden;overscroll-behavior:none;padding-bottom:env(safe-area-inset-bottom)}body{line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--foreground);font:400 16px/1.5 "Press Start 2P",monospace}ul,ol{list-style:none}a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit;border:none;background:none;outline:none}img,picture,video,canvas,svg{display:block;max-width:100%}#app{width:100%;height:100svh;display:flex;align-items:center;justify-content:center;overflow:hidden}main,.menu,.gameover{min-height:100svh}.menu,.gameover{overflow:hidden;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--background)}.title{text-align:center;font-size:clamp(48px,15vw,128px);font-weight:400;text-transform:uppercase;color:var(--foreground);animation:slowPulseTitle 3s ease-in-out infinite;transform-origin:center;will-change:transform;text-shadow:4px 4px 0 var(--black),-2px -2px 0 var(--black),2px -2px 0 var(--black),-2px 2px 0 var(--black)}.button{appearance:none;border:3px solid var(--black);background:var(--foreground);color:var(--black);width:100%;max-width:300px;min-height:48px;padding:clamp(10px,2vw,14px) clamp(14px,3vw,20px);border-radius:4px;cursor:pointer;text-decoration:none;font-weight:400;font-size:clamp(14px,4vw,20px);display:inline-flex;align-items:center;justify-content:center;text-align:center;letter-spacing:.04em;box-shadow:4px 4px 0 var(--black);transition:transform .1s ease,box-shadow .1s ease;animation:slowPulseBtn 3s ease-in-out infinite;transform-origin:center;will-change:transform}.button:hover,.button:focus-visible{animation:none;transform:scale(1.08) rotate(-1deg);box-shadow:6px 6px 0 var(--black)}.button:active{animation:none!important;transform:translate(3px,3px)!important;box-shadow:1px 1px 0 var(--black)!important;transition:transform .06s ease,box-shadow .06s ease}.button.disabled{opacity:.5;pointer-events:none;cursor:default}.button--secondary{background:transparent;border:2px solid var(--foreground);color:var(--foreground);box-shadow:none;font-size:clamp(10px,2.5vw,14px)}.button--secondary:hover,.button--secondary:focus-visible{background:#ffea871a}.menu-content{display:flex;flex-direction:column;align-items:center;width:100%;padding:0 clamp(16px,5vw,48px)}.menu-content .title{margin-bottom:clamp(16px,4vh,32px)}.menu-subtitle{font-size:clamp(9px,3vw,14px);color:var(--foreground);opacity:.8;text-align:center;margin-bottom:clamp(40px,10vh,80px);line-height:1.8}.menu-actions{display:flex;flex-direction:column;align-items:center;gap:clamp(12px,3vw,20px);width:100%;max-width:320px;padding:0 16px}.menu-actions .button:nth-child(1){animation-delay:0s}.menu-actions .button:nth-child(2){animation-delay:.2s}.menu-actions .button:nth-child(3){animation-delay:.4s}.menu-actions .button:nth-child(4){animation-delay:.6s}#game-wrapper{position:relative;width:100%;height:100svh;padding-bottom:env(safe-area-inset-bottom);box-sizing:border-box;display:flex;align-items:center;justify-content:center;overflow:hidden}@supports (height: 100dvh){#game-wrapper{height:min(100dvh,100svh)}}canvas{display:block}#game-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center}#game-container canvas{border:4px solid var(--black);box-shadow:6px 6px 0 var(--black)}@keyframes slowPulseTitle{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes slowPulseBtn{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@keyframes glowPulse{0%,to{box-shadow:4px 4px 0 var(--black),0 0 10px var(--foreground)}50%{box-shadow:4px 4px 0 var(--black),0 0 24px var(--foreground),0 0 40px var(--foreground)}}.gameover .title{font-size:clamp(28px,9vw,72px)}.gameover .button{max-width:none;white-space:nowrap}.gameover-content{display:flex;flex-direction:column;align-items:center;width:100%;padding:0 clamp(16px,5vw,48px);gap:clamp(16px,4vh,32px);max-height:100svh;overflow:visible;justify-content:center}.new-record-badge{font-size:clamp(12px,3.5vw,18px);color:var(--black);background:var(--foreground);border:3px solid var(--black);padding:clamp(8px,2vw,14px) clamp(16px,4vw,28px);box-shadow:4px 4px 0 var(--black);text-align:center;animation:glowPulse 1.5s ease-in-out infinite}.gameover-scores{display:flex;flex-direction:column;align-items:center;gap:clamp(16px,4vh,32px);width:100%}.gameover-score-item{display:flex;flex-direction:column;align-items:center;gap:8px}.gameover-label{font-size:clamp(9px,2.5vw,14px);color:var(--foreground);opacity:.7;letter-spacing:.1em}.gameover-value{font-size:clamp(28px,10vw,64px);color:var(--foreground);text-shadow:3px 3px 0 var(--black),-2px -2px 0 var(--black),2px -2px 0 var(--black),-2px 2px 0 var(--black)}.gameover-score-item--record .gameover-value{font-size:clamp(20px,7vw,44px);opacity:.75}@media(hover:none)and (pointer:coarse){.button:hover{transform:none!important}}
