@import"https://fonts.googleapis.com/css2?family=Orbitron:wght@700;900&family=Rajdhani:wght@500;600;700&display=swap";*,*:before,*:after{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}:root{--bg1:#1e1b4b;--bg2:#0c0a1d;--surface:rgba(30,27,75,.8);--card-bg:rgba(255,255,255,.97);--card-text:#1E293B;--blue:#3B82F6;--purple:#8B5CF6;--green:#22C55E;--red:#EF4444;--pink:#EC4899;--orange:#F59E0B;--g-blue:rgba(59,130,246,.35);--g-purple:rgba(139,92,246,.35);--g-green:rgba(34,197,94,.4);--g-red:rgba(239,68,68,.35);--g-pink:rgba(236,72,153,.35);--text:#F1F5F9;--dim:rgba(180,180,220,.65);--radius:16px;--font:"Rajdhani",system-ui,sans-serif;--font-num:"Orbitron","Rajdhani",monospace}html,body{width:100%;height:100%;overflow:hidden;font-family:var(--font);background:radial-gradient(ellipse at top,var(--bg1),var(--bg2));color:var(--text)}#app{width:100%;height:100%;max-width:430px;margin:0 auto;position:relative;overflow:hidden;display:flex;flex-direction:column}.screen{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:32px 24px;text-align:center;gap:22px;animation:fadeIn .5s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}.btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font);font-weight:700;border:none;border-radius:14px;cursor:pointer;transition:transform .12s cubic-bezier(.2,.8,.3,1.2),box-shadow .2s,filter .2s;position:relative;overflow:hidden}.btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(255,255,255,.12),transparent 50%);pointer-events:none;border-radius:inherit}.btn:active{transform:scale(.88);filter:brightness(1.1)}.btn-main{padding:16px 48px;font-size:17px;color:#fff;letter-spacing:.5px;background:linear-gradient(135deg,var(--purple),var(--blue));box-shadow:0 6px 28px var(--g-purple),0 0 0 1px #ffffff14 inset,0 1px #ffffff26 inset}.btn-main:active{box-shadow:0 2px 10px var(--g-purple)}.btn-ghost{padding:14px 36px;font-size:14px;color:var(--dim);letter-spacing:.3px;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);border-radius:14px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.btn-ghost:active{background:#ffffff1a}.start-screen{position:relative;overflow:hidden;cursor:pointer}.orb{position:absolute;border-radius:50%;pointer-events:none;filter:blur(60px)}.orb1{width:300px;height:300px;top:10%;left:20%;opacity:.25;background:var(--purple);animation:float1 6s ease-in-out infinite}.orb2{width:200px;height:200px;bottom:20%;right:10%;opacity:.2;background:var(--blue);animation:float2 5s ease-in-out infinite}@keyframes float1{0%,to{transform:translate(0)}50%{transform:translate(30px,-20px)}}@keyframes float2{0%,to{transform:translate(0)}50%{transform:translate(-20px,15px)}}.start-rain{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden}.start-card{position:absolute;top:-80px;width:140px;padding:8px 10px 8px 14px;background:#ffffff0f;border-radius:10px;overflow:hidden;border:1px solid rgba(255,255,255,.06);animation:startFall var(--sd,7s) linear var(--sdl,0s) infinite;transform:rotate(var(--sr,0deg))}.start-card .sc-stripe{position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:3px 0 0 3px}.start-card .sc-text{font-size:10px;font-weight:600;color:#fff3;line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}@keyframes startFall{0%{top:-100px;opacity:0}5%{opacity:1}90%{opacity:1}to{top:110%;opacity:0}}.start-hz{position:absolute;top:72%;left:0;right:0;height:3px;z-index:1;pointer-events:none}.start-hz-line{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--purple);border-radius:2px;opacity:.3;box-shadow:0 0 12px var(--purple),0 0 30px var(--g-purple)}.start-hz-glow{position:absolute;top:-10px;right:0;bottom:-10px;left:0;background:linear-gradient(90deg,transparent,var(--g-purple),var(--g-blue),var(--g-purple),transparent);animation:hzPulse 2s ease-in-out infinite;opacity:.25;border-radius:8px}.start-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:16px;animation:fadeIn .6s ease-out}.logo-split{display:flex;flex-direction:column;align-items:center;z-index:1;animation:logoFloat 3s ease-in-out infinite;filter:drop-shadow(0 0 30px var(--g-purple)) drop-shadow(0 0 60px var(--g-blue))}.logo-line1,.logo-line2{font-family:var(--font-num);font-weight:900;line-height:.9;background:linear-gradient(135deg,var(--green),var(--blue),var(--purple));background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:grad 4s ease infinite}.logo-line1{font-size:52px;letter-spacing:8px}.logo-line2{font-size:68px;letter-spacing:12px}@keyframes logoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes grad{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.tap-hint{font-family:var(--font-num);font-size:12px;font-weight:700;letter-spacing:5px;color:var(--dim);margin-top:24px;animation:tapBlink 1.5s ease-in-out infinite}@keyframes tapBlink{0%,to{opacity:.25}50%{opacity:.85}}.char-screen{gap:16px;padding:24px 20px}.cs-title{font-family:var(--font-num);font-size:24px;font-weight:900;letter-spacing:3px;color:var(--text);z-index:1;text-transform:uppercase}.cs-sub{font-size:14px;color:var(--dim);z-index:1;margin-top:-6px}.cs-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;width:100%;max-width:340px;z-index:1}.cs-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 12px 16px;border-radius:18px;background:#ffffff0a;border:2px solid rgba(255,255,255,.08);cursor:pointer;color:var(--text);transition:transform .18s cubic-bezier(.2,.8,.3,1.2),border-color .2s,box-shadow .25s,background .2s;animation:fadeIn .4s ease-out both;overflow:hidden}.cs-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:var(--cg);opacity:0;transition:opacity .25s;pointer-events:none}.cs-card:active{transform:scale(.93)}.cs-card .cs-img-wrap{position:relative;width:90px;height:90px;z-index:1}.cs-card .cs-glow{position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--cc) 25%,transparent),transparent 70%);opacity:0;transition:opacity .25s}.cs-card .cs-img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 12px rgba(0,0,0,.3));transition:transform .2s cubic-bezier(.2,.8,.3,1.2);position:relative;z-index:1}.cs-card .cs-name{font-family:var(--font-num);font-size:11px;font-weight:900;letter-spacing:2px;color:var(--dim);transition:color .2s;z-index:1;text-align:center}.cs-card:hover .cs-glow,.cs-card:active .cs-glow{opacity:1}.cs-card:hover .cs-img{transform:scale(1.08)}.cs-card:hover .cs-name{color:var(--cc)}.cs-card:hover{border-color:color-mix(in srgb,var(--cc) 40%,transparent);box-shadow:0 0 28px color-mix(in srgb,var(--cc) 20%,transparent)}.cs-card.sel{border-color:var(--cc);background:color-mix(in srgb,var(--cc) 10%,transparent);box-shadow:0 0 36px color-mix(in srgb,var(--cc) 30%,transparent),0 0 0 1px var(--cc) inset;animation:charSelected .35s ease-out}.cs-card.sel:before{opacity:.08}.cs-card.sel .cs-glow{opacity:1}.cs-card.sel .cs-img{transform:scale(1.12)}.cs-card.sel .cs-name{color:var(--cc)}@keyframes charSelected{0%{transform:scale(1)}30%{transform:scale(.92)}60%{transform:scale(1.05)}to{transform:scale(1)}}.cs-home{margin-top:8px;z-index:1}.hud{display:flex;align-items:flex-start;justify-content:space-between;padding:12px 16px;z-index:20;flex-shrink:0;position:relative;background:linear-gradient(180deg,rgba(12,10,29,.9),transparent)}.hud-l{display:flex;flex-direction:column;gap:2px}.hud-r{display:flex;align-items:center;gap:10px}.hud-tag{font-size:9px;font-weight:700;color:var(--dim);letter-spacing:1.5px;text-transform:uppercase;font-family:var(--font)}.hud-score{font-family:var(--font-num);font-size:32px;font-weight:900;font-variant-numeric:tabular-nums;line-height:1;color:var(--text);text-shadow:0 0 20px var(--g-green);transition:transform .15s cubic-bezier(.3,1.5,.7,1)}.hud-score.score-pop{transform:scale(1.2)}.hud-c{position:absolute;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:5px}.hud-timer{font-family:var(--font-num);font-size:26px;font-weight:900;font-variant-numeric:tabular-nums;color:var(--text);line-height:1;text-shadow:0 0 12px rgba(255,255,255,.15)}.hud-timer.urgent{color:var(--red);text-shadow:0 0 16px var(--g-red);animation:timerBlink .5s ease infinite}@keyframes timerBlink{0%,to{opacity:1}50%{opacity:.3}}.hud-round{font-family:var(--font-num);font-size:11px;font-weight:700;color:var(--dim);letter-spacing:2px}.hud-cat-badge{font-size:10px;font-weight:700;padding:3px 10px;border-radius:8px;letter-spacing:.3px}.life-wrap{display:flex;flex-direction:row;align-items:center;gap:4px}.life-icon{width:28px;height:28px;object-fit:contain;border-radius:50%;filter:drop-shadow(0 2px 6px rgba(0,0,0,.3));transition:transform .3s cubic-bezier(.2,.8,.3,1.2),opacity .3s,filter .3s}.life-icon.life-lost{transform:scale(0);opacity:0;filter:grayscale(1) brightness(.4)}.life-shake{animation:lifeShake .3s ease}@keyframes lifeShake{0%,to{transform:none}25%{transform:translate(-3px)}75%{transform:translate(3px)}}.pause-btn{width:32px;height:32px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#ffffff0f;color:var(--dim);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .12s}.pause-btn:active{opacity:.5;transform:scale(.9)}.timebar-wrap{height:4px;background:#ffffff0f;flex-shrink:0;overflow:hidden}.timebar{height:100%;width:100%;background:linear-gradient(90deg,var(--green),var(--blue));transition:width .1s linear;border-radius:0 2px 2px 0}.timebar.tb-urgent{background:linear-gradient(90deg,var(--red),var(--orange));animation:tbPulse .4s ease infinite}@keyframes tbPulse{0%,to{opacity:1}50%{opacity:.6}}.game-area{flex:1;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 80%,rgba(139,92,246,.06),transparent 70%)}.hit-zone{position:absolute;top:75%;left:50%;height:4px;z-index:10;width:var(--hz-w,100%);transform:translate(-50%) rotate(var(--hz-a,0deg));transition:transform .08s linear,width .6s ease}.hz-line{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--purple);border-radius:2px;box-shadow:0 0 16px var(--purple),0 0 40px var(--g-purple),0 0 80px var(--g-purple)}.hz-glow{position:absolute;top:-12px;right:-20px;bottom:-12px;left:-20px;background:linear-gradient(90deg,transparent,var(--g-purple),var(--g-blue),var(--g-purple),transparent);animation:hzPulse 2s ease-in-out infinite;border-radius:8px}@keyframes hzPulse{0%,to{opacity:.35}50%{opacity:.8}}.hz-label{position:absolute;right:0;top:-22px;font-size:10px;font-weight:900;color:var(--purple);letter-spacing:3px;opacity:.55;text-transform:uppercase}.hit-zone.hz-perfect .hz-line{background:var(--green);box-shadow:0 0 20px var(--green),0 0 50px var(--g-green)}.hit-zone.hz-good .hz-line{background:var(--blue);box-shadow:0 0 20px var(--blue),0 0 50px var(--g-blue)}.hit-zone.hz-miss .hz-line{background:var(--red);box-shadow:0 0 20px var(--red),0 0 50px var(--g-red)}.mcard{position:absolute;width:240px;left:50%;transform:translate(calc(-50% + var(--cx,0px))) rotate(var(--cr,0deg));background:var(--card-bg);border-radius:16px;overflow:hidden;z-index:5;box-shadow:0 8px 32px #00000059,0 0 0 1px #ffffff0f inset;cursor:pointer;-webkit-user-select:none;user-select:none;animation:cardSpawn .25s cubic-bezier(.2,.8,.3,1.2)}@keyframes cardSpawn{0%{opacity:0;transform:translate(calc(-50% + var(--cx,0px))) rotate(var(--cr,0deg)) scale(.6)}to{opacity:1;transform:translate(calc(-50% + var(--cx,0px))) rotate(var(--cr,0deg)) scale(1)}}.mcard:active{filter:brightness(1.05)}.mcard .mc-accent{position:absolute;left:0;top:0;bottom:0;width:5px;border-radius:5px 0 0 5px}.mcard .mc-inner{display:flex;align-items:center;gap:12px;padding:12px 14px 12px 18px}.mcard .mc-thumb-mini{width:44px;height:44px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:22px;box-shadow:0 4px 12px #00000026}.mcard .mc-text{flex:1;min-width:0}.mcard .mc-cat-tag{font-size:10px;font-weight:800;letter-spacing:.5px;display:block;margin-bottom:3px}.mcard .mc-title{font-size:13px;font-weight:700;line-height:1.35;color:var(--card-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mcard.snap-p{box-shadow:0 0 36px var(--g-green),0 0 72px var(--g-green)}.mcard.snap-g{box-shadow:0 0 28px var(--g-blue)}.mcard.snap-m{box-shadow:0 0 24px var(--g-red)}.card-exit-perfect{animation:exitP .3s ease-out forwards}@keyframes exitP{to{transform:translate(calc(-50% + var(--cx,0px))) translateY(-120px) scale(.7) rotate(calc(var(--cr,0deg) + 10deg));opacity:0}}.card-exit-good{animation:exitG .3s ease-out forwards}@keyframes exitG{to{transform:translate(calc(-50% + var(--cx,0px) + 200px)) rotate(calc(var(--cr,0deg) + 20deg));opacity:0}}.card-exit-miss{animation:exitM .3s ease-out forwards}@keyframes exitM{to{transform:translate(calc(-50% + var(--cx,0px))) translateY(100px) rotate(calc(var(--cr,0deg) - 5deg));opacity:0}}.combo-badge{position:absolute;top:calc(75% + 20px);left:50%;transform:translate(-50%);font-family:var(--font-num);font-size:18px;font-weight:900;z-index:15;white-space:nowrap;color:var(--green);text-shadow:0 0 12px var(--g-green);opacity:0;transition:opacity .15s,transform .15s}.combo-badge.on{opacity:1;animation:comboPop .2s ease-out}.combo-badge.combo-hot{color:var(--orange);text-shadow:0 0 16px rgba(245,158,11,.5);font-size:20px}.combo-badge.combo-fire{color:var(--pink);text-shadow:0 0 20px var(--g-pink);font-size:22px}@keyframes comboPop{0%{transform:translate(-50%) scale(1.3)}to{transform:translate(-50%) scale(1)}}.jd{position:absolute;top:70%;left:50%;transform:translate(-50%,-100%);z-index:30;text-align:center;pointer-events:none;animation:jPop .55s ease-out forwards}.j-lbl{font-family:var(--font-num);font-size:44px;font-weight:900;letter-spacing:5px;text-shadow:0 0 32px currentColor,0 0 64px currentColor,0 2px 0 rgba(0,0,0,.3);-webkit-text-stroke:1px rgba(255,255,255,.15)}.j-lbl.perfect{color:var(--green);font-size:48px}.j-lbl.good{color:var(--blue)}.j-lbl.miss{color:var(--red)}.j-pts{font-family:var(--font-num);font-size:22px;font-weight:900;margin-top:2px;text-shadow:0 0 16px currentColor}@keyframes jPop{0%{opacity:0;transform:translate(-50%,-100%) scale(.2)}10%{opacity:1;transform:translate(-50%,-100%) scale(1.3)}25%{transform:translate(-50%,-100%) scale(.9)}35%{transform:translate(-50%,-100%) scale(1)}to{opacity:0;transform:translate(-50%,-140%) scale(1)}}.ptcl{position:absolute;width:8px;height:8px;border-radius:50%;pointer-events:none;z-index:26;animation:pOut .6s ease-out forwards}@keyframes pOut{0%{opacity:1;transform:translate(var(--px),var(--py)) scale(1)}to{opacity:0;transform:translate(calc(var(--px)*4),calc(var(--py)*4)) scale(0)}}.confetti{position:absolute;width:6px;height:10px;border-radius:2px;pointer-events:none;z-index:27;animation:confOut .7s ease-out forwards}@keyframes confOut{0%{opacity:1;transform:translate(0) rotate(0)}to{opacity:0;transform:translate(var(--cx),var(--cy)) rotate(var(--cr))}}.ripple{position:absolute;border-radius:50%;pointer-events:none;z-index:25;animation:ripOut .5s ease-out forwards}@keyframes ripOut{0%{width:0;height:0;opacity:.65;border:3px solid var(--rc,var(--green));transform:translate(-50%,-50%)}to{width:160px;height:160px;opacity:0;border:2px solid var(--rc,var(--green));transform:translate(-50%,-50%)}}.screen-flash{position:absolute;top:0;right:0;bottom:0;left:0;z-index:28;pointer-events:none;animation:flashOut .3s ease-out forwards}@keyframes flashOut{0%{opacity:1}to{opacity:0}}.pause-ov{position:absolute;top:0;right:0;bottom:0;left:0;z-index:50;background:#0c0a1deb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;animation:fadeIn .2s ease-out}.pause-title{font-size:36px;font-weight:900;letter-spacing:4px;background:linear-gradient(135deg,var(--purple),var(--blue));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 20px var(--g-purple))}.pause-acts{display:flex;flex-direction:column;gap:10px;width:200px}.go{display:flex;flex-direction:column;align-items:center;padding:28px 20px;text-align:center;gap:14px;flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;animation:fadeIn .45s ease-out}.go-tag{font-family:var(--font-num);font-size:44px;font-weight:900;letter-spacing:3px;background:linear-gradient(135deg,var(--green),var(--purple),var(--blue));background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:grad 3s ease infinite,goTagPulse 2s ease-in-out infinite;filter:drop-shadow(0 0 20px var(--g-purple))}@keyframes goTagPulse{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}.go-sub{font-size:11px;color:var(--dim);letter-spacing:1.5px;text-transform:uppercase}.go-score{font-family:var(--font-num);font-size:56px;font-weight:900;line-height:1;color:#fff;text-shadow:0 0 24px var(--g-green);animation:scoreCountUp .6s ease-out}@keyframes scoreCountUp{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.go-detail{font-size:12px;color:var(--dim);letter-spacing:.5px}.grade-badge{width:76px;height:76px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:38px;font-weight:900;border:3px solid currentColor;box-shadow:0 0 24px currentColor}.grade-S{text-shadow:0 0 24px #FFD700}.grade-A{text-shadow:0 0 24px rgba(59,130,246,.6)}.rank-section{width:100%;max-width:340px;background:var(--surface);border-radius:16px;padding:16px;border:1px solid rgba(255,255,255,.06)}.rank-title{font-size:15px;font-weight:800;margin-bottom:10px;background:linear-gradient(90deg,var(--orange),var(--pink));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.rank-list{width:100%}.rank-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.04);font-size:13px}.rank-row:last-child{border-bottom:none}.rank-num{width:20px;font-weight:800;color:var(--dim);text-align:center}.rank-grade{width:20px;font-weight:900;text-align:center}.rank-score{flex:1;font-weight:700;font-variant-numeric:tabular-nums}.rank-date{font-size:11px;color:var(--dim)}.rank-me{background:#8b5cf61f;border-radius:8px}.go-news-title{font-size:14px;font-weight:800;color:var(--purple);letter-spacing:1px;margin-top:4px}.news-section{width:100%;max-width:380px}.news-card{display:block;width:100%;border-radius:16px;overflow:hidden;position:relative;aspect-ratio:16/9;margin-bottom:12px;text-decoration:none;color:#fff;box-shadow:0 8px 32px #0000004d}.nc-bg{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.nc-emoji{font-size:64px;opacity:.12}.nc-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:20px;background:linear-gradient(180deg,transparent 20%,rgba(0,0,0,.8) 100%);display:flex;flex-direction:column;justify-content:flex-end}.nc-cat{display:inline-block;font-size:10px;font-weight:700;padding:3px 8px;background:#ffffff2e;border-radius:6px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);width:fit-content}.nc-title{font-size:17px;font-weight:800;margin-top:6px;line-height:1.3}.nc-summary{font-size:12px;color:#ffffffa6;margin-top:4px;line-height:1.4}.nc-cta{font-size:12px;font-weight:700;margin-top:8px;color:var(--green)}.go-btns{display:flex;gap:10px;width:100%;max-width:380px;margin-top:4px}.go-btns .btn{flex:1}.go-btns-col{display:flex;flex-direction:column;gap:10px;width:100%;max-width:380px;margin-top:4px}.go-btns-col .btn{width:100%}.go-retry{box-shadow:0 6px 24px var(--g-green)}.round-cards{position:absolute;top:12px;left:50%;transform:translate(-50%);font-family:var(--font-num);font-size:11px;font-weight:700;color:var(--dim);letter-spacing:2px;z-index:12}.round-clear-ov{position:absolute;top:0;right:0;bottom:0;left:0;z-index:50;background:#0c0a1deb;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;animation:fadeIn .3s ease-out}.rc-badge{font-family:var(--font-num);font-size:32px;font-weight:900;letter-spacing:4px;background:linear-gradient(135deg,var(--green),var(--blue));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 16px var(--g-green));animation:gradeBounce .6s cubic-bezier(.2,.8,.3,1.2)}.rc-next{font-family:var(--font-num);font-size:18px;font-weight:900;color:var(--text);letter-spacing:3px}.rc-hint{font-size:14px;color:var(--dim);max-width:260px;line-height:1.5;margin-bottom:8px}.rc-acts{display:flex;flex-direction:column;gap:10px;width:200px}.bg-particle{position:absolute;border-radius:50%;pointer-events:none;opacity:0;animation:bgFloat var(--dur,8s) linear infinite}@keyframes bgFloat{0%{opacity:0;transform:translateY(0) scale(0)}10%{opacity:var(--op,.15)}90%{opacity:var(--op,.15)}to{opacity:0;transform:translateY(calc(var(--drift,-200px))) scale(1)}}.area-shake{animation:areaShake .3s ease}@keyframes areaShake{0%,to{transform:none}20%{transform:translate(-4px) translateY(2px)}40%{transform:translate(4px) translateY(-2px)}60%{transform:translate(-3px) translateY(1px)}80%{transform:translate(2px) translateY(-1px)}}.area-tension{animation:areaTension .15s ease infinite alternate}@keyframes areaTension{0%{transform:translate(0)}to{transform:translate(1px,-1px)}}.ready-go-ov{position:absolute;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;background:#0c0a1db3;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);pointer-events:none}.rg-text{font-family:var(--font-num);font-size:56px;font-weight:900;letter-spacing:6px;color:var(--text);text-shadow:0 0 30px var(--g-purple);animation:rgIn .4s cubic-bezier(.2,.8,.3,1.2)}.rg-text.rg-go{color:var(--green);text-shadow:0 0 40px var(--g-green);animation:rgGo .4s cubic-bezier(.2,.8,.3,1.2)}@keyframes rgIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes rgGo{0%{transform:scale(.5);opacity:0}to{transform:scale(1.2);opacity:1}}.hz-perfect-zone{position:absolute;left:0;right:0;height:var(--pz-h,40px);top:50%;transform:translateY(-50%);background:linear-gradient(180deg,#22c55e0f,#22c55e1f,#22c55e0f);border-top:1px dashed rgba(34,197,94,.2);border-bottom:1px dashed rgba(34,197,94,.2);pointer-events:none}.grade-badge{animation:gradeBounce .6s cubic-bezier(.2,.8,.3,1.2)}@keyframes gradeBounce{0%{transform:scale(0) rotate(-20deg)}to{transform:scale(1) rotate(0)}}
