.memory-shell{max-width:560px;margin:24px auto;padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}.memory-toolbar{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;margin-bottom:18px}.memory-toolbar button,.memory-hide{min-height:46px;padding:10px 18px;border:1px solid var(--button-line);border-radius:8px;background:var(--cell);color:var(--ink);font:inherit;cursor:pointer}.memory-progress{font-size:18px;margin:12px 0 6px}.memory-meter{width:100%;height:8px;accent-color:var(--coral);margin-bottom:20px}.memory-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;min-height:360px}.memory-card{aspect-ratio:1/1;min-width:0;min-height:56px;border:1px solid var(--button-line);border-radius:12px;background:var(--cell);color:var(--ink);font:700 clamp(28px,6vw,42px) Georgia,serif;cursor:pointer}.memory-card.open{background:var(--card);color:oklch(0.30376 0.02578 235.08);border-color:var(--card)}.memory-card.matched{background:var(--mine-two);color:var(--on-accent);border-color:var(--mine-two)}.memory-card:disabled{opacity:1;cursor:default}.memory-page button:focus-visible,.memory-page a:focus-visible,.memory-page summary:focus-visible{outline:3px solid var(--coral);outline-offset:3px}.memory-hide{margin-top:18px;background:var(--coral);color:var(--on-accent);border-color:var(--coral)}.memory-status{min-height:3em;line-height:1.55;margin-top:18px}.memory-paused{min-height:360px;display:grid;place-items:center;text-align:center;border:1px dashed var(--button-line);border-radius:12px;padding:24px}.memory-board[hidden],.memory-paused[hidden],.memory-hide[hidden]{display:none}.memory-storage{font-size:14px;line-height:1.5;color:var(--muted)}.memory-rules{max-width:640px;margin:32px auto;line-height:1.7}.memory-rules h2{font-size:28px}.memory-rules h3{margin-top:24px}.memory-rules summary{cursor:pointer;min-height:44px}.memory-dialog{max-width:min(90vw,420px);background:var(--panel);color:var(--ink);border:1px solid var(--button-line);border-radius:14px;padding:24px}.memory-dialog::backdrop{background:color-mix(in srgb,var(--bg) 80%,transparent)}.memory-dialog button{min-height:46px;padding:10px 14px;margin:12px 6px 0 0;border-radius:8px;font:inherit;border:1px solid var(--button-line);background:var(--cell);color:var(--ink)}.memory-dialog #memory-confirm{background:var(--coral);color:var(--on-accent)}.memory-page .intro>p{max-width:640px;margin:16px auto;line-height:1.6}@media(max-width:600px){.memory-shell{padding:16px}.memory-board{gap:9px;min-height:0}.memory-card{border-radius:8px}.memory-paused{min-height:300px}.memory-toolbar{gap:8px}.memory-toolbar button{flex:1;font-size:15px;padding-inline:10px}}@media(prefers-reduced-motion:reduce){.memory-page *{scroll-behavior:auto}}
