*{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}input,textarea{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}html,body{background-color:#030712;margin:0;padding:0;min-height:100vh;color-scheme:dark}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#6b728080;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#6b7280b3}::-webkit-scrollbar-corner{background:transparent}*{scrollbar-width:thin;scrollbar-color:rgba(107,114,128,.5) transparent}.app-drag-region{-webkit-app-region:drag}.app-drag-region button,.app-drag-region input,.app-drag-region label,.app-drag-region a,.app-drag-region select,.app-drag-region [role=button]{-webkit-app-region:no-drag}#root{min-height:100vh}@keyframes wave-sine{0%{transform:scaleY(.702)}6.25%{transform:scaleY(.847)}12.5%{transform:scaleY(.934)}18.75%{transform:scaleY(.984)}25%{transform:scaleY(1)}31.25%{transform:scaleY(.984)}37.5%{transform:scaleY(.934)}43.75%{transform:scaleY(.847)}50%{transform:scaleY(.702)}56.25%{transform:scaleY(.607)}62.5%{transform:scaleY(.505)}68.75%{transform:scaleY(.393)}75%{transform:scaleY(.3)}81.25%{transform:scaleY(.393)}87.5%{transform:scaleY(.505)}93.75%{transform:scaleY(.607)}to{transform:scaleY(.702)}}.loading-bar{width:6px;height:20px;background-color:#a78bfa4d;border:1px solid #a78bfa;border-radius:1px;transform-origin:bottom;transform:scaleY(.3);will-change:transform}.animate-wave-1{animation:wave-sine 1.3s linear infinite;animation-delay:-.65s}.animate-wave-2{animation:wave-sine 1.3s linear infinite;animation-delay:-.43s}.animate-wave-3{animation:wave-sine 1.3s linear infinite;animation-delay:-.22s}.animate-wave-4{animation:wave-sine 1.3s linear infinite}.slider::-webkit-slider-thumb{appearance:none;width:20px;height:20px;border-radius:50%;background:#a78bfa;cursor:pointer;border:2px solid #1f2937}.slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#a78bfa;cursor:pointer;border:2px solid #1f2937}.slider-vertical{transform:rotate(-90deg);transform-origin:center}.slider-vertical::-webkit-slider-thumb{appearance:none;width:16px;height:16px;border-radius:50%;background:#a78bfa;cursor:pointer;border:2px solid #1f2937}.slider-vertical::-webkit-slider-track{width:100%;height:6px;background:#374151;border-radius:3px}.slider-vertical::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#a78bfa;cursor:pointer;border:2px solid #1f2937}.slider-vertical::-moz-range-track{width:100%;height:6px;background:#374151;border-radius:3px}*{outline:none}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid #a78bfa;outline-offset:2px;box-shadow:0 0 0 2px #a78bfa4d}.slider:focus-visible{outline:1px solid #a78bfa;outline-offset:1px}.slider::-webkit-slider-thumb:focus{outline:none}.slider::-moz-range-thumb:focus{outline:none}.slider-vertical::-webkit-slider-thumb:focus{outline:none}.slider-vertical::-moz-range-thumb:focus{outline:none}.flex.items-center.gap-2.bg-gray-900 button:focus-visible,.flex.items-center.gap-2.bg-gray-800 button:focus-visible{outline:2px solid #a78bfa;outline-offset:1px;background-color:#a78bfa1a}.flex.gap-1.bg-gray-800.rounded-lg.p-1 button:focus-visible{outline:2px solid #a78bfa;outline-offset:1px;box-shadow:0 0 0 1px #a78bfa80}input[type=text]:focus-visible,input[type=number]:focus-visible{outline:2px solid #a78bfa;outline-offset:1px;box-shadow:0 0 0 2px #a78bfa33}select:focus-visible{outline:2px solid #a78bfa;outline-offset:1px;box-shadow:0 0 0 2px #a78bfa33}*:focus:not(:focus-visible){outline:none!important}html[data-shift-pressed] *:focus:not(input):not(textarea),html[data-shift-pressed] *:focus-visible:not(input):not(textarea){outline:none!important}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid #a78bfa!important;outline-offset:2px!important;box-shadow:0 0 0 2px #a78bfa4d!important}html[data-shift-pressed] button:focus,html[data-shift-pressed] select:focus,html[data-shift-pressed] [tabindex]:focus:not(input):not(textarea),html[data-shift-pressed] .tab-button:focus,html[data-shift-pressed] [role=button]:focus{outline:none!important;box-shadow:none!important}html[data-shift-pressed] *:focus:not(input):not(textarea){outline:none!important;box-shadow:none!important}.number-selector-input:focus-visible,.number-selector-input:focus{outline:none!important;box-shadow:none!important;background-color:transparent!important}.game-button-glow{position:relative;transition:all .3s ease;z-index:1}.game-button-glow:before{content:"";position:absolute;inset:-2px;background:linear-gradient(135deg,#8b5cf6,#a855f7,#c084fc,#a855f7,#8b5cf6);background-size:300% 300%;border-radius:6px;opacity:0;z-index:-1;transition:opacity .3s ease}.game-button-glow:hover:before{animation:gradient-shift 4s ease infinite}.game-icon-gradient{transition:color .3s ease;color:#9ca3af}.game-button-glow:hover .game-icon-gradient{animation:icon-color-shift 4s ease infinite;filter:drop-shadow(0 0 4px rgba(168,85,247,.5))}@keyframes icon-color-shift{0%,to{color:#a855f7}33%{color:#b370f7}66%{color:#c084fc}}.game-button-glow:after{content:"";position:absolute;inset:0;background:#1f2937;border-radius:4px;z-index:-1}.game-button-glow:hover:before{opacity:1}@keyframes gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.game-menu-dropdown{animation:game-menu-appear .15s ease-out}@keyframes game-menu-appear{0%{opacity:0;transform:translateY(-8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.stream-surfer-bg{background:linear-gradient(135deg,#0a0a1a,#1a0a2e,#0f0f23);min-height:100vh}.stream-surfer-title{background:linear-gradient(90deg,#0ff,#f0f,#ff0,#0ff);background-size:300% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:title-shimmer 3s ease-in-out infinite;text-shadow:0 0 40px rgba(0,255,255,.3)}@keyframes title-shimmer{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.victory-text{background:linear-gradient(90deg,gold,#ff8c00,gold);background-size:200% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:victory-shimmer 1.5s ease-in-out infinite}@keyframes victory-shimmer{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.stream-surfer-bg canvas:focus{outline:none}.stream-surfer-bg kbd{display:inline-block;padding:2px 6px;font-family:JetBrains Mono,monospace;font-size:11px;background:#374151;border:1px solid #4b5563;border-radius:4px;box-shadow:0 2px #1f2937}@keyframes game-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.game-button-glow:hover svg{animation:game-pulse .6s ease-in-out infinite}.particles-container{pointer-events:none;position:absolute;inset:0;overflow:hidden}@keyframes score-popup{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-30px) scale(1.2)}}.score-popup{animation:score-popup .5s ease-out forwards}@keyframes loading-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.game-loading:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);animation:loading-shimmer 1.5s infinite}.neon-text-cyan{color:#0ff;text-shadow:0 0 5px #00ffff,0 0 10px #00ffff,0 0 20px #00ffff}.neon-text-magenta{color:#f0f;text-shadow:0 0 5px #ff00ff,0 0 10px #ff00ff,0 0 20px #ff00ff}.neon-text-yellow{color:#ff0;text-shadow:0 0 5px #ffff00,0 0 10px #ffff00,0 0 20px #ffff00}.scanlines:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.1),rgba(0,0,0,.1) 1px,transparent 1px,transparent 2px);pointer-events:none;z-index:100}@keyframes bounce-slow{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.animate-bounce-slow{animation:bounce-slow 2s ease-in-out infinite}@keyframes fade-in-out{0%{opacity:0}15%{opacity:1}85%{opacity:1}to{opacity:0}}.animate-fade-in-out{animation:fade-in-out 2s ease-in-out forwards}@keyframes text-reveal{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}.animate-text-reveal{animation:text-reveal 1s ease-out forwards}@keyframes medallion-glow{0%,to{box-shadow:0 0 10px currentColor,0 0 20px currentColor;transform:scale(1)}50%{box-shadow:0 0 20px currentColor,0 0 40px currentColor;transform:scale(1.1)}}.animate-medallion-glow{animation:medallion-glow 2s ease-in-out infinite}@keyframes boss-shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.animate-boss-shake{animation:boss-shake .5s ease-in-out}@keyframes health-pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-health-pulse{animation:health-pulse 1s ease-in-out infinite}@keyframes portal-swirl{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-portal-swirl{animation:portal-swirl 3s linear infinite}@keyframes confetti-fall{0%{transform:translateY(-100vh) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}.animate-confetti{animation:confetti-fall 3s ease-in forwards}@keyframes music-note-float{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(-50px) rotate(15deg);opacity:0}}.animate-music-note{animation:music-note-float 2s ease-out forwards}@keyframes damage-flash{0%,to{filter:brightness(1)}50%{filter:brightness(2) saturate(0)}}.animate-damage-flash{animation:damage-flash .2s ease-out}@keyframes save-sparkle{0%,to{transform:scale(1) rotate(0);opacity:.7}50%{transform:scale(1.3) rotate(180deg);opacity:1}}.animate-save-sparkle{animation:save-sparkle 2s ease-in-out infinite}
