.pulse-game{display:grid;gap:1rem}.pulse-toolbar{display:flex;gap:.8rem;align-items:end;justify-content:space-between;flex-wrap:wrap}.pulse-toolbar label{display:grid;gap:.35rem;font-weight:800}.pulse-toolbar select{min-width:10rem}.pulse-sound{min-height:2.8rem}.pulse-stage{position:relative;overflow:hidden;min-height:280px;border:3px solid #111;border-radius:1rem;background:linear-gradient(135deg,#140f22,#25173e 48%,#0d0917);box-shadow:inset 0 0 50px rgba(185,128,255,.2)}.pulse-lane{position:absolute;inset:22% 6%;border-block:2px solid rgba(255,255,255,.22)}.pulse-target{position:absolute;left:18%;top:-12%;bottom:-12%;width:5px;background:#fff;box-shadow:0 0 18px #d7a8ff,0 0 40px #9d62ff}.pulse-target::before{content:"FORGE";position:absolute;top:-2rem;left:-1.5rem;color:#fff;font-size:.72rem;font-weight:900;letter-spacing:.12em}.pulse-note{position:absolute;top:50%;width:30px;height:30px;margin-top:-15px;border:3px solid #fff;border-radius:50%;background:#b980ff;box-shadow:0 0 20px rgba(185,128,255,.9);transform:translateX(-50%)}.pulse-note.hit{background:#fff;box-shadow:0 0 35px #fff}.pulse-beat{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;color:#fff;font-size:clamp(2rem,9vw,5.5rem);font-weight:950;opacity:.08}.pulse-stage.flash-perfect{box-shadow:inset 0 0 90px rgba(255,255,255,.55)}.pulse-stage.flash-good{box-shadow:inset 0 0 80px rgba(185,128,255,.48)}.pulse-readout{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}.pulse-readout div{border:2px solid #111;border-radius:.65rem;padding:.7rem;background:#fff}.pulse-readout span{display:block;font-size:.7rem;font-weight:900;letter-spacing:.08em}.pulse-readout strong{font-size:1.25rem}.pulse-pad{width:100%;min-height:92px;border:3px solid #111;border-radius:1rem;background:#b980ff;color:#111;font:950 clamp(1.25rem,5vw,2rem)/1 inherit;box-shadow:0 7px 0 #111;touch-action:manipulation}.pulse-pad:active,.pulse-pad.active{transform:translateY(5px);box-shadow:0 2px 0 #111;background:#fff}.pulse-help{margin:0;text-align:center;font-weight:800}@media(max-width:600px){.pulse-stage{min-height:220px}.pulse-readout{grid-template-columns:1fr 1fr}.pulse-readout div:last-child{grid-column:1/-1}.pulse-note{width:26px;height:26px;margin-top:-13px}}@media(prefers-reduced-motion:reduce){.pulse-note{transition:none}.pulse-stage{box-shadow:none}}
