:root{--menu-pulse-duration:2s;--menu-slide-duration:.3s;--cursor-transition-duration:.2s;--glitch-duration:.3s;--scan-line-duration:.6s;--typewriter-duration:.4s;--menu-transition-duration:.2s}@keyframes subtlePulse{0%{opacity:.5;transform:translate(0)}50%{opacity:1;transform:translate(2px)}to{opacity:.5;transform:translate(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes powerOn{0%{border-color:rgba(var(--accent), 0);box-shadow:0 0 0 rgba(var(--accent), 0);transform:scale(.95)}50%{border-color:rgba(var(--accent), 1);box-shadow:0 0 30px rgba(var(--accent), .9);transform:scale(1.1)}to{border-color:rgba(var(--accent), .3);box-shadow:0 0 8px rgba(var(--accent), .3);transform:scale(1)}}@keyframes shimmer{0%{border-color:rgba(var(--accent), .3);box-shadow:0 0 8px rgba(var(--accent), .3)}50%{border-color:rgba(var(--accent), .9);box-shadow:0 0 20px rgba(var(--accent), .7)}to{border-color:rgba(var(--accent), .3);box-shadow:0 0 8px rgba(var(--accent), .3)}}.shimmer-effect{animation:.75s ease-out powerOn,2s ease-in-out .75s infinite shimmer}.menu-item.visible{animation:slideIn var(--menu-slide-duration) cubic-bezier(.22, 1, .36, 1) both}.menu-caret{transition:transform var(--menu-slide-duration) ease;display:none}.menu-caret-desktop,.menu-caret-mobile{filter:drop-shadow(0 0 2px #00ffff4d)}@media (hover:none) and (pointer:coarse){.menu-caret-mobile{display:inline}}@media (hover:hover) and (pointer:fine){.menu-caret-desktop{display:inline}}@keyframes digitalGlitch{0%{filter:hue-rotate();text-shadow:none;transform:translate(0)}10%{filter:hue-rotate(90deg);text-shadow:2px 0 #f0f,-2px 0 #0ff;transform:translate(-2px)}20%{filter:hue-rotate(180deg);text-shadow:-2px 0 #f0f,2px 0 #0ff;transform:translate(2px)}30%{filter:hue-rotate(270deg);text-shadow:0 0 #f0f,0 0 #0ff;transform:translate(0)}40%{filter:hue-rotate(360deg);text-shadow:1px 0 #f0f,-1px 0 #0ff;transform:translate(1px)}50%{filter:hue-rotate(90deg);text-shadow:-1px 0 #f0f,1px 0 #0ff;transform:translate(-1px)}60%,to{filter:hue-rotate();text-shadow:none;transform:translate(0)}}.option-toggle{transition:opacity .1s;position:relative}.option-toggle.transitioning{animation:digitalGlitch var(--glitch-duration) ease-out}@keyframes typewriterReveal{0%{opacity:0;transform:scaleX(0)}50%{opacity:.5;transform:scaleX(1.1)}to{opacity:1;transform:scaleX(1)}}.font-transition{transform-origin:0;display:inline-block}.font-transition.transitioning{animation:typewriterReveal var(--typewriter-duration) ease-out}@keyframes scanLine{0%{opacity:0;transform:translateY(-100%)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(100vh)}}.scan-line{pointer-events:none;z-index:9999;width:100%;height:1px;animation:scanLine var(--scan-line-duration) ease-in-out;filter:blur(.5px);background:linear-gradient(90deg,#0000 0%,#00ffff4d 40%,#00ffff80 50%,#00ffff4d 60%,#0000 100%);position:fixed;top:0;left:0;box-shadow:0 0 4px #0ff3}.menu-item{transition:all .15s;position:relative;transform:translate(0)}.menu-item:hover{text-shadow:-1px 0 #0ff3,1px 0 #f0f3;transform:translate(3px)}.menu-item:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 0%,#00ffff0d 50%,#0000 100%);width:100%;height:100%;transition:transform .3s;position:absolute;top:0;left:0;transform:translate(-100%)}.menu-item:hover:after{transform:translate(100%)}@keyframes gridPulse{0%{opacity:0;transform:scale(.98)}50%{opacity:.5}to{opacity:0;transform:scale(1.02)}}.grid-pulse:before{content:"";pointer-events:none;background-image:repeating-linear-gradient(0deg,#0000,#0000 2px,#00ffff1a 2px 4px),repeating-linear-gradient(90deg,#0000,#0000 2px,#00ffff1a 2px 4px);border-radius:2px;animation:.3s ease-out gridPulse;position:absolute;inset:-2px}.game-menu-container{grid-template-rows:auto;grid-template-columns:1fr;align-items:start;transition:height .28s cubic-bezier(.22,1,.36,1);display:grid;position:relative;overflow:hidden}.game-menu-container[data-state=main]{--show-submenu:0}.game-menu-container[data-state=submenu]{--show-submenu:1}.game-menu-main,.game-menu-submenu{transition:opacity var(--menu-transition-duration) ease-out, transform var(--menu-transition-duration) ease-out;grid-area:1/1}.game-menu-main{opacity:calc(1 - var(--show-submenu));transform:translateX(calc(var(--show-submenu) * -10px))}.game-menu-submenu{opacity:var(--show-submenu);transform:translateX(calc((1 - var(--show-submenu)) * 10px))}.game-menu-container[data-state=submenu] .game-menu-main,.game-menu-container[data-state=main] .game-menu-submenu{pointer-events:none;visibility:hidden;transition:opacity var(--menu-transition-duration) ease-out, transform var(--menu-transition-duration) ease-out, visibility 0s linear var(--menu-transition-duration)}.menu-door{transition:border-color .3s,background-color .3s,transform .16s ease-out}.menu-door:active{transform:scale(.94)}.menu-backdrop{-webkit-backdrop-filter:blur(7px)saturate(.85);backdrop-filter:blur(7px)saturate(.85);background:#03050575;transition:opacity .2s ease-out;animation:.26s ease-out both menuBackdropIn;position:fixed;inset:0}.menu-backdrop[data-state=closing]{opacity:0}@keyframes menuBackdropIn{0%{opacity:0}to{opacity:1}}.menu-window{transform-origin:1.25rem calc(100% + 2rem);border:1px solid color-mix(in srgb, var(--foreground) 13%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--background) 80%, transparent), color-mix(in srgb, var(--background) 66%, transparent));-webkit-backdrop-filter:blur(22px)saturate(1.35);backdrop-filter:blur(22px)saturate(1.35);width:min(25rem,100vw - 2rem);max-height:calc(100dvh - 5.5rem);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--foreground) 9%, transparent), 0 0 0 1px #00000073, 0 28px 80px -18px #000000d9;opacity:0;border-radius:14px;transition:opacity .17s ease-out,transform .26s cubic-bezier(.22,1,.36,1);position:absolute;bottom:4.25rem;left:1rem;overflow:hidden auto;transform:scale(.94)translateY(6px)}.menu-window[data-state=open]{opacity:1;transform:none}.menu-window[data-state=closing]{opacity:0;transition-duration:.15s,.15s;transform:scale(.97)translateY(3px)}.menu-window-header{border-bottom:1px solid color-mix(in srgb, var(--foreground) 9%, transparent);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem 1.1rem;display:flex}.menu-kbd,.menu-help kbd{letter-spacing:.08em;border:1px solid color-mix(in srgb, var(--foreground) 16%, transparent);color:color-mix(in srgb, var(--foreground) 62%, transparent);border-radius:5px;padding:.3rem .42rem;font-family:inherit;font-size:.68rem;line-height:1}.menu-window-body{padding:.85rem 1rem .9rem .6rem}.menu-row{border-radius:8px;width:100%;min-height:2.5rem;padding:.3rem .5rem}.menu-row:active{background:color-mix(in srgb, var(--foreground) 6%, transparent)}.menu-leader{border-bottom:1px dotted color-mix(in srgb, currentColor 34%, transparent);flex:1;min-width:1rem;height:0;margin:0 .7rem;transform:translateY(.28em)}.menu-value{letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;text-align:right;font-size:.78rem}.menu-help{border-top:1px solid color-mix(in srgb, var(--foreground) 9%, transparent);letter-spacing:.06em;min-height:2.7rem;color:color-mix(in srgb, var(--foreground) 58%, transparent);align-items:center;padding:.65rem 1.5rem .75rem;font-size:.72rem;display:flex}.menu-help-keys{gap:1.1rem;display:none}.menu-help-keys>span{align-items:center;gap:.45rem;display:inline-flex}.menu-help-touch{text-transform:uppercase;letter-spacing:.2em;font-size:.64rem}@media (hover:hover) and (pointer:fine){.menu-help-keys{display:inline-flex}.menu-help-touch{display:none}}@media (hover:none){.menu-kbd{display:none}}@keyframes pressStartIn{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}@keyframes pressStartPulse{0%,to{opacity:.32}50%{opacity:.95}}.press-start{letter-spacing:.3em;text-transform:uppercase;color:var(--foreground);text-shadow:0 0 12px rgba(var(--accent), .55);font-size:.66rem;animation:.7s cubic-bezier(.22,1,.36,1) .5s both pressStartIn,2.4s ease-in-out 1.2s infinite pressStartPulse}@media (prefers-reduced-motion:reduce){.menu-window,.menu-backdrop,.menu-door{transition:opacity .12s linear;animation:none;transform:none!important}.press-start{opacity:.8;animation:none}.menu-item.visible{opacity:1;animation:none}.menu-item:hover{transform:none}.menu-item:after,.shimmer-effect,.scan-line,.option-toggle.transitioning,.font-transition.transitioning{transition:none!important;animation:none!important}.game-menu-main,.game-menu-submenu,.game-menu-container{transition:none}}
