*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden;background:#0a0a12}body{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation}img{-webkit-user-drag:none}canvas{-webkit-touch-callout:none;-webkit-user-select:none;touch-action:none}@keyframes btnGlow{0%{filter:drop-shadow(0 0 8px #e040fb) drop-shadow(0 0 20px rgba(170,0,255,.4)) drop-shadow(0 0 4px #ff4dff)}40%{filter:drop-shadow(0 0 16px #ff4dff) drop-shadow(0 0 32px rgba(204,0,255,.5)) drop-shadow(0 0 8px #e040fb)}60%{filter:drop-shadow(0 0 12px #aa00ff) drop-shadow(0 0 26px rgba(255,0,255,.45)) drop-shadow(0 0 6px #cc44ff)}to{filter:drop-shadow(0 0 8px #e040fb) drop-shadow(0 0 20px rgba(170,0,255,.4)) drop-shadow(0 0 4px #ff4dff)}}.start-btn-glow{animation:btnGlow 1.8s ease-in-out infinite}.retro-logo-glow{animation:retroGlow 2s ease-in-out infinite}@keyframes retroGlow{0%,to{filter:drop-shadow(0 0 1px rgba(255,255,255,.24)) drop-shadow(0 0 0px rgba(255,255,255,.48))}50%{filter:drop-shadow(0 0 3px rgba(255,255,255,.56)) drop-shadow(0 0 1px rgba(255,255,255,.8))}}@keyframes fellOffShake{0%{transform:translate(0)}10%{transform:translate(-4px,2px)}20%{transform:translate(4px,-2px)}30%{transform:translate(-3px,-1px)}40%{transform:translate(3px,1px)}50%{transform:translate(-2px,2px)}60%{transform:translate(2px,-1px)}70%{transform:translate(-1px,1px)}80%{transform:translate(1px,-1px)}90%{transform:translate(-1px)}to{transform:translate(0)}}.fell-off-logo{animation:fellOffShake .5s ease-out;image-rendering:pixelated}@keyframes dreamvillePulse{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}.dreamville-intro{animation:dreamvillePulse 3s ease-in-out infinite}@keyframes backpackFill{0%{height:0}80%{height:160px}to{height:160px}}.backpack-fill{animation:backpackFill 5s ease-in-out infinite;height:0}@keyframes loadingBlink{0%,to{opacity:.4}50%{opacity:1}}.loading-text{animation:loadingBlink 1.2s ease-in-out infinite}@keyframes introFadeOut{0%{opacity:1}85%{opacity:1}to{opacity:0}}.intro-screen{opacity:1}@keyframes tryAgainFloat{0%{transform:translateY(0) scale(1)}50%{transform:translateY(-6px) scale(1.04)}to{transform:translateY(0) scale(1)}}@keyframes deathFadeIn{0%{opacity:0}to{opacity:1}}@keyframes tryAgainGlow{0%{filter:drop-shadow(0 0 6px rgba(180,200,255,.4)) drop-shadow(0 0 12px rgba(100,140,255,.2))}50%{filter:drop-shadow(0 0 14px rgba(180,200,255,.8)) drop-shadow(0 0 28px rgba(100,140,255,.5)) drop-shadow(0 0 40px rgba(80,120,255,.25))}to{filter:drop-shadow(0 0 6px rgba(180,200,255,.4)) drop-shadow(0 0 12px rgba(100,140,255,.2))}}.try-again-btn{animation:tryAgainFloat 2s ease-in-out infinite,tryAgainGlow 2s ease-in-out infinite}@keyframes winImageIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes winImageFade{0%{opacity:0}to{opacity:1}}@keyframes winTextIn{0%{opacity:0;transform:translate(-50%) translateY(20px)}60%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.win-phase1{animation:deathFadeIn 1.5s ease-in forwards}.win-phase2{animation:deathFadeIn 1s ease-in forwards}@keyframes deleteLaterIn{0%{opacity:0;transform:scale(.95)}30%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes introAlbumFade{0%{opacity:0}30%{opacity:.15}60%{opacity:.35}to{opacity:.55}}.try-again-btn:active{transform:scale(.92)!important;filter:drop-shadow(0 0 20px rgba(180,200,255,1)) drop-shadow(0 0 40px rgba(100,140,255,.8))!important}
