@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=Sora:wght@500;600;700&display=swap";:root{color:#f5fbff;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at top,#3891c92e,#0000 24%),radial-gradient(circle at 50% 120%,#56d9ff14,#0000 36%),linear-gradient(#02050a,#070d16 48%,#03070d);font-family:Space Grotesk,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100%}body{min-width:320px;margin:0}body:before{content:"";opacity:.42;pointer-events:none;background-color:#0000;background-image:linear-gradient(#ffffff04 1px,#0000 1px),linear-gradient(90deg,#ffffff04 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:48px 48px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:fixed;inset:0;-webkit-mask-image:radial-gradient(circle,#000 34%,#0000 100%);mask-image:radial-gradient(circle,#000 34%,#0000 100%)}h1,h2,strong{color:#f8fdff;font-family:Sora,sans-serif}button,input,textarea,select{font:inherit}.app-shell{gap:12px;padding:16px;display:grid}.app-header,.game-frame{background:linear-gradient(#0b121ff0,#050912f5),#050912f5;border:1px solid #85d4ff29;border-radius:28px;position:relative;overflow:hidden;box-shadow:0 24px 90px #0000005c,inset 0 1px #ffffff0a}.app-header{justify-content:space-between;align-items:end;gap:12px;padding:12px 14px;display:flex}.app-header:after,.game-frame:after{content:"";pointer-events:none;background:radial-gradient(circle,#4ddcff2e,#0000 72%);border-radius:999px;width:340px;height:340px;position:absolute;inset:auto -12% -70% auto}.app-kicker,.hud-label,.overlay-kicker,.stage-corner-copy span{text-transform:uppercase;letter-spacing:.18em;margin:0;font-size:.68rem}.app-kicker,.hud-label,.overlay-kicker{color:#adeaffb3}.app-header h1{letter-spacing:.12em;margin:2px 0 0;font-size:clamp(2rem,5vw,3.5rem);line-height:.94}.app-copy{color:#ddecf8b8;max-width:21rem;margin:0;font-size:.9rem;line-height:1.35}.game-frame{padding:9px}.pulse-stage{touch-action:none;-webkit-user-select:none;user-select:none;cursor:pointer;background:radial-gradient(circle,#3dc1ff1f,#0000 20%),radial-gradient(circle,#46a6ff17,#0000 44%),linear-gradient(#040811,#04070f 55%,#03060c);border:1px solid #83d0ff24;border-radius:24px;height:min(78svh,860px);min-height:560px;position:relative;overflow:hidden}.pulse-stage:before,.pulse-stage:after{content:"";pointer-events:none;position:absolute;inset:0}.pulse-stage:before{background:radial-gradient(circle,#57d7ff14,#0000 34%),linear-gradient(#7dd0ff0d,#0000 18%)}.pulse-stage:after{background:radial-gradient(circle at center, rgba(117, 236, 255, calc(.03 + var(--bg-energy) * .1)), transparent 38%), radial-gradient(circle at center, rgba(255, 255, 255, calc(var(--hit-flash) * .07)), transparent 58%);transform:scale(calc(1 + var(--hit-flash) * .015))}.pulse-grid,.pulse-vignette{pointer-events:none;position:absolute;inset:0}.pulse-grid{opacity:.34;background-color:#0000;background-image:linear-gradient(#ffffff05 1px,#0000 1px),linear-gradient(90deg,#ffffff05 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:44px 44px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;-webkit-mask-image:radial-gradient(circle,#000 24%,#0000 82%);mask-image:radial-gradient(circle,#000 24%,#0000 82%)}.pulse-vignette{background:radial-gradient(circle,#0000 28%,#00000080 100%)}.stage-hud{pointer-events:none;z-index:3;justify-content:space-between;gap:10px;display:flex;position:absolute;inset:16px 16px auto}.hud-cluster{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#080d187a;border:1px solid #8fcdff1c;border-radius:16px;gap:4px;padding:10px 12px;display:grid;box-shadow:inset 0 1px #ffffff06}.hud-cluster-right{justify-items:end}.hud-score,.hud-best,.hud-combo{color:#f8fdff;line-height:1}.hud-score{letter-spacing:.02em;font-size:clamp(1.75rem,4vw,2.7rem)}.hud-best,.hud-combo{letter-spacing:.02em;font-size:clamp(.94rem,1.9vw,1.12rem)}.stability-meter{background:#ffffff14;border-radius:999px;width:min(30vw,180px);min-width:132px;height:9px;margin-top:6px;position:relative;overflow:hidden;box-shadow:inset 0 1px 2px #00000059}.stability-fill{width:var(--stability-width);border-radius:inherit;background:linear-gradient(90deg,#ff5c6ee0,#76e5fffa 38%,#fffffff5);transition:width 80ms linear;position:absolute;inset:0 auto 0 0;box-shadow:0 0 18px #5ad7ff57,inset 0 0 18px #ffffff1a}.stage-corner-copy{color:#e1eff8b3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none;z-index:2;background:#090e1875;border:1px solid #8fcdff1a;border-radius:14px;gap:4px;max-width:16rem;padding:10px 12px;display:grid;position:absolute;bottom:16px;left:16px}.pulse-center{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.pulse-arena{aspect-ratio:1;place-items:center;width:min(74vw,560px);display:grid;position:relative;transform:translateY(2%)}.pulse-svg{filter:drop-shadow(0 0 30px #52d3ff29);width:100%;height:100%;overflow:visible}.pulse-wave{transform-origin:50%;opacity:calc(var(--wave-alpha) * .5);transform:scale(calc(.92 + var(--wave-scale)))}.pulse-moving-ring{transform-origin:50%}.core-shell,.core-shell:before,.core-shell:after{border-radius:999px;position:absolute}.core-shell{aspect-ratio:1;width:24%;box-shadow:0 0 calc(32px + var(--hit-flash) * 26px) #4ae0ff6b, inset 0 0 32px #ffffff14;transform:scale(calc(1 + var(--core-pulse) * .04 + var(--hit-flash) * .06));background:radial-gradient(circle at 35% 35%,#fffc,#87ecff42 28%,#1428464d 58%,#070d17f2)}.core-shell:before,.core-shell:after{content:"";inset:14%}.core-shell:before{filter:blur(8px);background:radial-gradient(circle,#b7f7ffe6,#4ed4ff47 44%,#0000 72%)}.core-shell:after{background:radial-gradient(circle,#ffffffe6,#9cefff33 52%,#0000 72%);inset:34%}.judgement-stack{pointer-events:none;z-index:3;justify-items:center;gap:4px;display:grid;position:absolute;inset:auto 0 11%}.judgement-text,.judgement-subline{opacity:var(--feedback-alpha);transform:translateY(calc((1 - var(--feedback-alpha)) * 8px));margin:0;line-height:1;transition:opacity .1s linear,transform .1s linear}.judgement-text{letter-spacing:.16em;text-transform:uppercase;color:var(--feedback-color);text-shadow:0 0 18px color-mix(in srgb, var(--feedback-color) 32%, transparent);font-family:Sora,sans-serif;font-size:clamp(1.35rem,4vw,2.4rem)}.judgement-subline{color:#dbedf8b8;letter-spacing:.18em;text-transform:uppercase;font-size:.78rem}.stage-overlay-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:#f7fdff;text-align:left;z-index:4;pointer-events:none;background:#080d16b8;border:1px solid #9adeff2e;border-radius:22px;gap:8px;width:min(28rem,100% - 28px);padding:20px 18px;display:grid;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);box-shadow:0 20px 48px #0000004d,inset 0 1px #ffffff0a}.stage-overlay-card strong,.overlay-copy,.overlay-stats{margin:0}.stage-overlay-card strong{letter-spacing:.08em;font-size:clamp(1.8rem,5.2vw,3.2rem);line-height:.94}.overlay-copy{color:#dbedf8b8;font-size:.95rem;line-height:1.4}.overlay-stats{color:#f4faffeb;letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;gap:14px;font-size:.82rem;display:flex}@media (width<=720px){.app-header{flex-direction:column;align-items:start}.pulse-stage{height:auto;min-height:100svh}.stage-hud{flex-direction:column;inset:12px 12px auto}.hud-cluster-right{justify-items:start}.pulse-arena{width:min(88vw,480px)}.stage-corner-copy{max-width:none;bottom:12px;left:12px;right:12px}}
