.memory-pulse{box-sizing:border-box;width:100%;height:100%;color:var(--text-main);font-family:var(--font-hud);background:radial-gradient(circle at 50% 52%, #9d6dff29, transparent 58%), linear-gradient(#3a2e6059 1px, transparent 1px) 0 0 / 8cqmin 8cqmin, linear-gradient(90deg, #3a2e6059 1px, transparent 1px) 0 0 / 8cqmin 8cqmin, var(--ink);-webkit-user-select:none;user-select:none;grid-template-rows:auto 1fr auto;place-items:center;gap:2cqmin;padding:3.5cqmin 3cqmin;display:grid;position:relative;container-type:size}.memory-pulse-status{min-height:1.2em;font:400 clamp(18px, 6cqmin, 40px) / 1.1 var(--font-display);letter-spacing:.02em;color:var(--text-secondary);text-align:center;transition:color .16s var(--ease);margin:0}.memory-pulse[data-phase=input] .memory-pulse-status{color:var(--volt);text-shadow:.06em .06em 0 var(--hot-pink)}.memory-pulse[data-phase=done] .memory-pulse-status{color:var(--primary-lime)}.memory-pulse[data-phase=over] .memory-pulse-status{color:var(--danger);font-size:clamp(15px,4.6cqmin,30px)}.memory-pulse-help{font:600 clamp(11px, 2.8cqmin, 15px) var(--font-hud);color:var(--text-secondary);text-align:center;margin:0}.memory-pulse-board{aspect-ratio:1;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);gap:2.4cqmin;width:min(86cqw,70cqh);display:grid;position:relative}.memory-pulse-board:before{content:"";border:2px solid var(--line);pointer-events:none;position:absolute;inset:17%;transform:rotate(45deg)}.memory-pulse-hub{border:2px solid var(--line);background:var(--night);text-align:center;grid-area:2/2;align-content:center;justify-items:center;gap:.6cqmin;display:grid;position:relative}.memory-pulse-hub-label,.memory-pulse-progress{font:700 clamp(9px, 2.5cqmin, 14px) / 1 var(--font-hud);text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary)}.memory-pulse-round{font:400 clamp(22px, 8cqmin, 52px) / 1 var(--font-display);color:var(--text-main)}.memory-pulse-pad{--mp-c:var(--primary-lime);background:var(--surface-raised);min-width:0;color:var(--mp-c);box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--mp-c) 40%, transparent), 4px 4px 0 0 #000;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:3px solid #000;border-radius:0;place-items:center;padding:0;display:grid;position:relative}.memory-pulse-pad--0{--mp-c:var(--primary-lime);grid-area:1/2}.memory-pulse-pad--1{--mp-c:var(--action);grid-area:2/3}.memory-pulse-pad--2{--mp-c:var(--hot-pink);grid-area:3/2}.memory-pulse-pad--3{--mp-c:var(--electric-purple);grid-area:2/1}.memory-pulse-pad svg{fill:currentColor;opacity:.5;width:58%;height:58%}.memory-pulse-key{font:700 clamp(10px, 3cqmin, 17px) / 1 var(--font-hud);color:var(--text-secondary);position:absolute;top:5%;left:7%}.memory-pulse-pad:focus-visible{outline:3px solid var(--text-main);outline-offset:3px}@media (hover:hover){.memory-pulse-pad:hover:not([aria-disabled=true]) svg{opacity:.8}}.memory-pulse-pad[aria-disabled=true]{cursor:default}.memory-pulse-pad.is-lit{background:var(--mp-c);color:var(--ink);box-shadow:inset 0 0 0 2px var(--text-main), 0 0 26px color-mix(in srgb, var(--mp-c) 70%, transparent), 4px 4px 0 0 #000}.memory-pulse-pad.is-lit svg{opacity:1}.memory-pulse-pad.is-lit .memory-pulse-key{color:var(--ink)}.memory-pulse--motion .memory-pulse-pad.is-lit{animation:memory-pulse-beat .24s var(--ease)}@keyframes memory-pulse-beat{0%{transform:scale(.9)}to{transform:scale(1)}}.memory-pulse-pad.is-expected{outline:4px dashed var(--volt);outline-offset:4px}.memory-pulse-pad.is-expected svg{opacity:1}.memory-pulse-pad.is-wrong{border-color:var(--danger);background:color-mix(in srgb, var(--danger) 22%, var(--surface-raised))}.memory-pulse-pad.is-wrong:after{content:"";background:linear-gradient(45deg, transparent 46%, var(--danger) 46%, var(--danger) 54%, transparent 54%), linear-gradient(-45deg, transparent 46%, var(--danger) 46%, var(--danger) 54%, transparent 54%);position:absolute;inset:18%}@media (prefers-reduced-motion:reduce){.memory-pulse-pad.is-lit{animation:none}.memory-pulse-status{transition:none}}
