.stage.mem{cursor:default;touch-action:manipulation;flex-direction:column;justify-content:flex-start;align-items:center;gap:14px;height:auto;padding:20px 24px 22px;display:flex}.mem:is([data-phase=idle],[data-phase=show],[data-phase=recall]){background:var(--yellow);color:var(--on-pastel)}.mem:is([data-phase=over],[data-phase=complete]){background:var(--st-result);color:var(--st-result-ink)}.mem:is([data-phase=idle],[data-phase=show],[data-phase=recall]) :is(.status,.count,.strikes){color:var(--on-pastel)}.mem:is([data-phase=over],[data-phase=complete]) :is(.status,.count,.strikes){color:var(--st-result-sub)}.mem .topbar{width:100%;max-width:420px;min-height:26px;font-family:var(--font-display);justify-content:space-between;align-items:center;gap:12px;font-size:16px;font-weight:600;display:flex}.mem .strikes{align-items:center;gap:8px;display:inline-flex}.mem .marks{gap:5px;display:inline-flex}.mem[data-mode=number] .marks,.mem[data-mode=sequence] .marks{display:none}.mem .strikes-word{margin-right:2px}.mem .marks svg{width:26px;height:26px;display:block}.mem .marks .dot{fill:#fff;stroke:#1b1b1f;stroke-width:2px}.mem .marks .x{stroke:none}.mem [data-mark=on] .dot{fill:#e8432e}.mem [data-mark=on] .x{stroke:#fff;stroke-width:2.2px}.mem .board{aspect-ratio:1;width:100%;max-width:420px;position:relative}.mem .grid{grid-template-columns:repeat(var(--cols,3), minmax(0, 1fr));grid-auto-rows:minmax(0,1fr);gap:8px;width:100%;height:100%;display:grid}.mem .grid[hidden],.mem .numpad[hidden]{display:none}.mem .cell{cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#fff;border:3px solid #1b1b1f;border-radius:12px;width:100%;min-width:44px;height:100%;min-height:44px;padding:0;position:relative;box-shadow:3px 3px #1b1b1f}.mem .cell[data-state=lit]{background:var(--green)}.mem .cell[data-state=lit]:after{content:"";background:#1b1b1f;border-radius:50%;width:32%;height:32%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.mem .cell[data-state=done]{background:var(--mint);box-shadow:none;transform:translate(3px,3px)}.mem .cell[data-state=done]:after{content:"";border-bottom:4px solid #1b1b1f;border-right:4px solid #1b1b1f;width:22%;height:40%;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.mem .cell[data-state=miss]{background:var(--coral);border-style:dashed}.mem .cell[data-state=miss]:before,.mem .cell[data-state=miss]:after{content:"";background:#1b1b1f;border-radius:2px;width:46%;height:4px;position:absolute;top:50%;left:50%}.mem .cell[data-state=miss]:before{transform:translate(-50%,-50%)rotate(45deg)}.mem .cell[data-state=miss]:after{transform:translate(-50%,-50%)rotate(-45deg)}.mem .cell:focus-visible{outline-offset:3px;outline:3px solid #1b1b1f}.mem .numpad{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:absolute;inset:0}.mem .digits{border-radius:var(--r-card);max-width:100%;box-shadow:var(--sh-sm);color:#1b1b1f;font-family:var(--font-display);letter-spacing:.06em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;background:#fff;border:3.5px solid #1b1b1f;margin:0;padding:8px 22px;font-size:clamp(30px,9vw,54px);font-weight:700;line-height:1.2}.mem .digits:empty{display:none}.mem .answer{flex-direction:column;align-items:stretch;gap:10px;width:100%;display:flex}.mem .answer[hidden]{display:none}.mem .answer-l{font-family:var(--font-display);color:var(--on-pastel);font-size:16px;font-weight:600}.mem .answer-i{border-radius:var(--r-tile);color:#1b1b1f;width:100%;min-height:56px;font-family:var(--font-display);letter-spacing:.08em;text-align:center;background:#fff;border:3.5px solid #1b1b1f;padding:0 14px;font-size:30px;font-weight:600}.mem .answer-i:focus-visible{outline-offset:3px;outline:3px solid #1b1b1f}.mem .answer-b{align-self:center;margin-top:0}.mem .status{text-align:center;max-width:420px;min-height:1.4em;font-size:16px;font-weight:700;line-height:1.4}.mem:is([data-phase=show],[data-phase=recall]) .status{color:#1b1b1f;min-height:0;font-family:var(--font-display);background:#fff;border:3px solid #1b1b1f;border-radius:999px;padding:6px 20px;font-size:20px;font-weight:600}.mem .eg{color:#1b1b1f;max-width:100%;height:auto;display:none}.mem[data-mode=visual] .eg[data-eg=visual],.mem[data-mode=number] .eg[data-eg=number],.mem[data-mode=sequence] .eg[data-eg=sequence]{display:block}.mem:is([data-phase=over],[data-phase=complete]) .eg{display:none!important}.mem .eg rect{fill:#fff;stroke:#1b1b1f;stroke-width:2.5px}.mem .eg rect[fill]{fill:var(--green)}.mem .eg path{stroke-width:3px}.mem .eg text.big{font-family:var(--font-display);letter-spacing:.08em;font-size:24px;font-weight:700}.mem .eg text.cap{font-family:var(--font-display);font-size:12px;font-weight:600}.mem .overlay{z-index:1;border-radius:inherit;text-align:center;background:var(--yellow);color:var(--on-pastel);flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:20px 24px;display:flex;position:absolute;inset:0}.mem:is([data-phase=show],[data-phase=recall]) .overlay{display:none}.mem:is([data-phase=over],[data-phase=complete]) .overlay{background:var(--st-result);color:var(--st-result-ink)}.mem .overlay .title{font-size:52px;font-weight:700;line-height:1.05}.mem .overlay .sub{max-width:340px;color:var(--on-pastel2);overflow-wrap:anywhere}.mem:is([data-phase=over],[data-phase=complete]) .overlay .sub{color:var(--st-result-sub)}.mem .overlay .cue svg{display:none}.mem[data-phase=over] .overlay .cue svg{width:44px;height:44px;display:block}.mem .modeseg{background:#fff;border:3px solid #1b1b1f;border-radius:999px;gap:2px;padding:3px;display:inline-flex}.mem .modeseg button{color:#1b1b1f;min-height:44px;font-family:var(--font-display);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 14px;font-size:16px;font-weight:600}.mem .modeseg button[aria-pressed=true]{background:var(--green);box-shadow:inset 0 0 0 2.5px #1b1b1f}.mem .modeseg button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.mem .startb{border:var(--bw) solid #1b1b1f;border-radius:var(--r-btn);background:var(--green);color:#1b1b1f;min-width:160px;min-height:56px;box-shadow:var(--sh-sm);font-family:var(--font-display);cursor:pointer;margin-top:4px;padding:0 28px;font-size:22px;font-weight:700}.mem:is([data-phase=over],[data-phase=complete]) .overlay .startb{background:var(--yellow)}.mem .startb:active{transform:translate(3px,3px);box-shadow:0 0 #1b1b1f}.mem .startb:focus-visible{outline:3px solid var(--accent);outline-offset:4px}@media (width<=1000px){.mem .overlay .title{font-size:44px}}@media (width<=760px){.stage.mem{gap:10px;padding:56px 10px 16px}.mem .grid{gap:6px}.mem .cell{border-radius:10px;box-shadow:2px 2px #1b1b1f}.mem .topbar{white-space:nowrap;font-size:14px}.mem .marks svg{width:22px;height:22px}.mem .status{font-size:15px}.mem:is([data-phase=show],[data-phase=recall]) .status{padding:5px 16px;font-size:17px}.mem .overlay{gap:10px;padding:56px 12px 14px}.mem .overlay .title{font-size:36px}.mem .modeseg button{padding:0 12px;font-size:15px}.mem .seg-long{display:none}}.how h3{margin-top:8px;font-size:19px;font-weight:700}.rules caption{text-align:left}.cite{margin-left:1px;font-size:.7em;line-height:0}.cite a{color:var(--ink);padding:0 2px;font-weight:700}.cite+.cite:before{content:","}.src-sec .refs{flex-direction:column;gap:10px;margin:0;padding-left:1.6em;display:flex}.src-sec .refs li{max-width:820px;color:var(--ink2);overflow-wrap:anywhere;scroll-margin-top:16px;font-size:15px;line-height:1.55}.src-sec .refs li:target{background:var(--hi)}.src-sec .refs-note{max-width:820px;color:var(--ink3);margin-top:14px;font-size:14px}.src-sec #sources{margin-top:28px;scroll-margin-top:16px}
