:root{--bg-primary:#0d1117;--bg-secondary:#1e283c80;--text-color:#e6edf3;--border-color:#58a6ff26;--glow-color:#58a6ff;--accent-color:#a371f7;--danger-color:#ff7b72;--success-color:#2ea043;--gold-color:gold}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;color:var(--text-color);background-color:#0d1117;background-image:radial-gradient(circle,#1c2128 0%,#0d1117 100%);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow:hidden}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle,#58a6ff08 0%,#0000 70%);animation:8s ease-in-out infinite alternate bg-pulse;position:fixed;inset:0}@keyframes bg-pulse{0%{opacity:.3;transform:scale(1)}to{opacity:.8;transform:scale(1.1)}}#root{flex-direction:column;display:flex}.command-display{z-index:5;justify-content:center;align-items:center;width:280px;height:280px;margin:40px auto;display:flex;position:relative}.command-ready{color:var(--glow-color);letter-spacing:4px;font-size:32px;font-weight:900;animation:1.5s ease-in-out infinite ready-pulse}@keyframes ready-pulse{0%,to{opacity:.3;transform:scale(.95)}50%{opacity:.8;transform:scale(1.05)}}.beat-pulse-active{animation:.15s ease-out beat-hit}@keyframes beat-hit{0%{filter:brightness();transform:scale(1)}50%{filter:brightness(1.3);transform:scale(1.08)}to{filter:brightness();transform:scale(1)}}.rhythm-target{pointer-events:none;z-index:0;border:4px solid #ffffff1a;border-radius:50%;width:120px;height:120px;position:absolute}.target-glow{border-color:#fff;transition:all 50ms ease-out;transform:scale(1.05);box-shadow:0 0 30px #fff}.approach-circle{pointer-events:none;z-index:1;border:3px solid #fff;border-radius:50%;width:120px;height:120px;position:absolute}.timer-ring{pointer-events:none;width:100%;height:100%;position:absolute}.command-icon-wrapper,.command-circle,.command-rapid{z-index:2;justify-content:center;align-items:center;width:120px;height:120px;display:flex;position:relative}.command-icon-wrapper{color:var(--glow-color);filter:drop-shadow(0 0 10px var(--glow-color))}.command-icon-wrapper svg{stroke-width:2.5px;width:80px;height:80px}.command-icon-wrapper.urgent{color:var(--danger-color);filter:drop-shadow(0 0 15px var(--danger-color));animation:.2s infinite urgent-shake}@keyframes urgent-shake{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}.command-circle{border-radius:50%;width:100px;height:100px}.command-rapid{border:3px solid var(--glow-color);box-shadow:0 0 20px var(--glow-color)40;background:#ffffff0d;border-radius:50%;flex-direction:column;transition:transform .1s}.rapid-number{color:#fff;font-size:48px;font-weight:900;line-height:1}.rapid-label{color:var(--glow-color);letter-spacing:2px;font-size:14px;font-weight:700}.tap-pulse{box-shadow:0 0 40px var(--glow-color)60;background:#ffffff26;transform:scale(.9)}.reverse-badge{background:var(--danger-color);color:#fff;letter-spacing:2px;box-shadow:0 0 15px var(--danger-color)60;border-radius:4px;padding:4px 12px;font-size:14px;font-weight:900;animation:.3s cubic-bezier(.175,.885,.32,1.275) badge-in;position:absolute;top:-20px}@keyframes badge-in{0%{transform:scale(0)rotate(-10deg)}to{transform:scale(1)rotate(0)}}.rhythm-ball{border-radius:50%;justify-content:center;align-items:center;display:flex;background:radial-gradient(circle at 30% 30%, var(--accent-color), #000)!important;width:100px!important;height:100px!important;box-shadow:0 0 40px var(--accent-color), inset 0 0 20px #fff3!important;border:none!important}.rhythm-ball .rapid-label{letter-spacing:2px;color:#fff;text-shadow:0 0 10px #fff;font-size:14px}.control-pad{flex-direction:column;justify-content:center;align-items:center;gap:30px;width:100%;min-height:250px;margin:0 auto;display:flex}.fade-in{animation:.25s ease-out forwards pad-fade-in}@keyframes pad-fade-in{0%{opacity:0;transform:translateY(10px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.color-buttons{justify-content:center;gap:25px;display:flex}.color-btn{cursor:pointer;border:none;border-radius:50%;width:65px;height:65px;transition:transform .1s,filter .2s;box-shadow:0 6px 15px #0006}.color-btn:active{transform:scale(.9)}.color-btn.red{background-color:var(--danger-color);filter:drop-shadow(0 0 5px var(--danger-color))}.color-btn.blue{background-color:var(--glow-color);filter:drop-shadow(0 0 5px var(--glow-color))}.color-btn.green{background-color:var(--success-color);filter:drop-shadow(0 0 5px var(--success-color))}.color-btn.yellow{background-color:var(--gold-color);filter:drop-shadow(0 0 5px var(--gold-color))}.direction-grid{flex-direction:column;align-items:center;gap:15px;display:flex}.dir-row{align-items:center;gap:50px;display:flex}.dir-btn{cursor:pointer;color:#ffffff4d;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:20px;justify-content:center;align-items:center;width:80px;height:80px;transition:all .2s;display:flex}.dir-btn:active{color:var(--glow-color);box-shadow:0 0 15px var(--glow-color)40;background:#ffffff1a;transform:scale(.9)}.dir-center-dot{background:#ffffff26;border-radius:50%;width:6px;height:6px}.dir-icon{width:40px;height:40px;color:inherit}.shape-buttons{justify-content:center;gap:25px;display:flex}.shape-btn{cursor:pointer;color:#fff6;background:#ffffff08;border:1px solid #ffffff1a;border-radius:18px;justify-content:center;align-items:center;width:65px;height:65px;transition:all .2s;display:flex}.shape-btn:active{color:var(--glow-color);box-shadow:0 0 15px var(--glow-color)40;background:#ffffff1a;transform:scale(.9)}.shape-icon{width:32px;height:32px;color:inherit}.tap-btn{border:4px solid var(--glow-color);color:#fff;letter-spacing:4px;cursor:pointer;width:180px;height:180px;box-shadow:0 0 30px var(--glow-color)40, inset 0 0 20px var(--glow-color)20;background:#ffffff0d;border-radius:50%;font-size:32px;font-weight:900;transition:all 50ms}.tap-btn:active{box-shadow:0 0 50px var(--glow-color)60;background:#ffffff26;transform:scale(.92)}@media (width<=400px){.dir-row{gap:30px}.color-btn{width:60px;height:60px}.dir-btn{width:70px;height:70px}.shape-btn{width:60px;height:60px}.tap-btn{width:150px;height:150px}}.screen-shake{animation:.4s cubic-bezier(.36,.07,.19,.97) both shake}.screen-shake-intense{animation:.5s cubic-bezier(.36,.07,.19,.97) both shake-intense}@keyframes shake{0%{transform:translate(0)}10%{transform:translate(-6px,-6px)}20%{transform:translate(6px,6px)}30%{transform:translate(-6px,6px)}40%{transform:translate(6px,-6px)}50%{transform:translate(-3px,-3px)}to{transform:translate(0)}}@keyframes shake-intense{0%,to{transform:translate(0)rotate(0)}10%,30%,50%,70%,90%{transform:translate(-12px,-12px)rotate(-2deg)}20%,40%,60%,80%{transform:translate(12px,12px)rotate(2deg)}}.screen-shake-correct{animation:.2s cubic-bezier(.36,.07,.19,.97) both shake-correct}@keyframes shake-correct{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.flash-overlay{z-index:9999;pointer-events:none;animation:.4s ease-out forwards flash-fade;position:fixed;inset:0}@keyframes flash-fade{0%{opacity:.8}to{opacity:0}}.game-failed-active{transition:filter .6s ease-out}.menu-container{z-index:10;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;padding:40px 20px;display:flex}.glitch-title{white-space:nowrap;color:#fff;letter-spacing:2px;text-shadow:0 0 10px var(--glow-color), 0 0 20px var(--glow-color), 0 0 40px var(--glow-color), 0 0 80px var(--accent-color);font-size:clamp(32px,10vw,48px);font-weight:900;animation:2s infinite alternate neon-pulse,5s infinite glitch-anim}@keyframes neon-pulse{0%{text-shadow:0 0 10px var(--glow-color), 0 0 20px var(--glow-color), 0 0 40px var(--glow-color), 0 0 80px var(--accent-color)}to{text-shadow:0 0 5px var(--glow-color), 0 0 10px var(--glow-color), 0 0 20px var(--glow-color), 0 0 40px var(--accent-color)}}@keyframes glitch-anim{0%{transform:translate(0)skew(0deg)}2%{color:var(--danger-color);transform:translate(-2px,1px)skew(-8deg)}4%{color:var(--glow-color);transform:translate(2px,-1px)skew(8deg)}6%{color:#fff;transform:translate(0)skew(0deg)}to{transform:translate(0)skew(0deg)}}.mode-card{cursor:pointer;background:#141c2d99;border:1px solid #ffffff14;border-radius:16px;align-items:center;gap:14px;width:100%;max-width:380px;padding:16px 18px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex}.mode-card:active{transform:scale(.97)}.mode-card:hover{transform:translateY(-2px)}.mode-card--survival{background:#ff7b720f;border-color:#ff7b724d}.mode-card--survival:hover{border-color:var(--danger-color);box-shadow:0 0 24px #ff7b724d}.mode-card--timeattack{background:#58a6ff0f;border-color:#58a6ff4d}.mode-card--timeattack:hover{border-color:var(--glow-color);box-shadow:0 0 24px #58a6ff4d}.mode-card--zen{background:#2ea0430f;border-color:#2ea0434d}.mode-card--zen:hover{border-color:var(--success-color);box-shadow:0 0 24px #2ea0434d}.mode-card--rhythm{background:#bb86fc0f;border-color:#bb86fc4d}.mode-card--rhythm:hover{border-color:var(--accent-color);box-shadow:0 0 24px #bb86fc4d}.mode-card__icon{flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.mode-card__body{text-align:left;flex:1}.mode-card__title{letter-spacing:1px;margin-bottom:4px;font-size:18px;font-weight:900}.mode-card__desc{opacity:.6;font-size:12px;line-height:1.5}.mode-card__arrow{opacity:.4;flex-shrink:0;font-size:28px;transition:opacity .2s,transform .2s}.mode-card:hover .mode-card__arrow{opacity:.9;transform:translate(4px)}.particles-bg{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.particle{color:#58a6ff1f;font-family:monospace;font-weight:700;animation:linear forwards float-up;position:absolute}@keyframes float-up{0%{opacity:0;transform:translateY(100vh)scale(.5)}20%{opacity:1}80%{opacity:1}to{opacity:0;transform:translateY(-100px)scale(1.5)}}.combo-wrapper{z-index:10;pointer-events:none;flex-direction:column;align-items:center;animation:.25s cubic-bezier(.175,.885,.32,1.5) forwards combo-in;display:flex;position:absolute;top:20px;right:16px}@keyframes combo-in{0%{opacity:0;transform:scale(.3)translateY(10px)}60%{opacity:1;transform:scale(1.15)translateY(-2px)}to{opacity:1;transform:scale(1)translateY(0)}}.feedback-popup{z-index:15;pointer-events:none;animation:.7s ease-out forwards feedback-fly;position:absolute}.feedback-correct{color:var(--glow-color);text-shadow:0 0 10px var(--glow-color);font-size:24px;font-weight:900}.feedback-perfect{color:var(--gold-color);text-shadow:0 0 15px var(--gold-color), 0 0 30px var(--gold-color);font-size:28px;font-weight:900}.feedback-wrong{color:var(--danger-color);text-shadow:0 0 10px var(--danger-color);font-size:22px;font-weight:900}@keyframes feedback-fly{0%{opacity:1;transform:translateY(0)scale(.5)}30%{transform:translateY(-20px)scale(1.2)}to{opacity:0;transform:translateY(-60px)scale(.8)}}.overlay-backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;text-align:center;background:0 0;flex-direction:column;justify-content:center;align-items:center;padding:20px;animation:.4s ease-out forwards overlay-fade-in;display:flex;position:absolute;inset:0}.overlay-backdrop h1{text-shadow:0 0 20px var(--glow-color), 0 0 40px #00000080}.menu-btn{background:var(--bg-secondary);color:var(--text-color);cursor:pointer;text-align:center;border:1px solid #ffffff1a;border-radius:12px;width:100%;max-width:300px;padding:14px 28px;font-size:16px;font-weight:700;transition:all .2s}.menu-btn:hover{background:#283750cc;transform:scale(1.03)}.menu-btn:active{transform:scale(.97)}.neon-pulse-ring{border:2px solid #58a6ff1a;border-radius:50%;width:200px;height:200px;animation:2s ease-in-out infinite neon-ring-pulse;position:absolute}@keyframes neon-ring-pulse{0%,to{opacity:.3;border-color:#58a6ff1a;transform:scale(1)}50%{opacity:.6;border-color:#58a6ff4d;transform:scale(1.1)}}.correct-burst{border:4px solid var(--glow-color);pointer-events:none;z-index:10;border-radius:50%;width:180px;height:180px;animation:.4s cubic-bezier(0,.55,.45,1) forwards burst-expand;position:absolute}.perfect-burst{border-color:var(--gold-color);box-shadow:0 0 30px var(--gold-color);border-width:6px}@keyframes burst-expand{0%{opacity:1;transform:scale(.5)}to{opacity:0;transform:scale(2.5)}}
