.memory-main{max-width:1180px;margin:auto;padding:145px var(--pad) 5rem}.memory-main [hidden]{display:none!important}.memory-main h1,.memory-main h2,.memory-main h3{font-family:Inter,ui-sans-serif,system-ui,sans-serif;text-transform:none;letter-spacing:-.035em;line-height:1.16}.memory-main h1{font-size:clamp(3rem,6vw,5.3rem);margin:1rem 0}.memory-main h1 em{color:var(--gold);font-style:normal}.memory-main h2{font-size:clamp(1.6rem,3vw,2.4rem)}.memory-main p{color:var(--paper-soft);line-height:1.7}.memory-intro{max-width:790px}.memory-intro>a{display:inline-block;color:var(--cyan);margin-bottom:1.2rem}.memory-setup{display:flex;align-items:end;gap:1rem;flex-wrap:wrap;padding:1.4rem;border:1px solid var(--line);background:var(--ink-soft)}.memory-setup label{display:grid;gap:.45rem;color:var(--paper);font-weight:700}.memory-setup select{min-height:48px;padding:.6rem 2rem .6rem .8rem;border:1px solid #5b695f;background:#121c18;color:var(--paper);font:inherit}.memory-main .button{min-height:48px;white-space:normal}.memory-main :focus-visible{outline:3px solid var(--cyan);outline-offset:4px}.memory-setup-note{font-size:.82rem;margin:.7rem 0 2rem}.memory-board{padding-top:1rem;scroll-margin-top:100px}.memory-board-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.memory-board-head h2{margin:.5rem 0}.memory-stats{display:flex;gap:1.6rem}.memory-stats div{display:grid;gap:.25rem}.memory-stats small{color:var(--muted);font-size:.7rem;letter-spacing:.1em}.memory-stats strong{font-size:1.5rem;color:var(--gold)}.memory-board progress{display:block;width:100%;height:8px;margin:1rem 0 1.5rem;accent-color:var(--gold)}.memory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.memory-card{position:relative;min-width:0;min-height:165px;padding:1rem;text-align:left;border:1px solid #446253;border-radius:8px;background:linear-gradient(140deg,#142720,#101916);color:var(--paper);font:inherit;cursor:pointer;display:flex;flex-direction:column;gap:1rem;justify-content:space-between;transition:border-color .15s,background .15s}.memory-card small{font-size:.58rem;color:#9bb7a9;letter-spacing:.08em;line-height:1.5}.memory-card:hover:not(:disabled){border-color:var(--cyan);background:#1c332b}.memory-card .card-cover{align-self:center;margin:auto;font-size:1.3rem;letter-spacing:.18em;font-weight:900;color:var(--gold)}.memory-card .card-cover::before{content:"";display:block;width:38px;height:38px;margin:0 auto .8rem;background:linear-gradient(90deg,transparent 44%,#142720 44%,#142720 56%,transparent 56%),linear-gradient(transparent 44%,#142720 44%,#142720 56%,transparent 56%),linear-gradient(135deg,#f6c643,#70e6dc);border-radius:5px}.memory-card.face-up{border-color:var(--cyan);background:#182c26}.memory-card .card-word{font-size:clamp(1.05rem,2vw,1.5rem);font-weight:800;overflow-wrap:anywhere}.memory-card .card-meaning{font-size:.94rem;font-weight:600;line-height:1.45;overflow-wrap:anywhere}.memory-card.matched{border-color:#8a7230;background:#282416;cursor:default}.memory-card.matched small{color:var(--gold)}.memory-card:disabled{opacity:1;cursor:default}.memory-feedback{min-height:70px;margin:1.2rem 0 .6rem;padding:1rem;border-left:3px solid var(--cyan);background:#111d18;color:var(--paper)!important}.memory-complete{margin-top:1.6rem;padding:1.4rem;border:1px solid #8a7230;background:linear-gradient(120deg,#282416,#142720)}.memory-complete h2{color:var(--gold)}.memory-complete a{color:var(--gold);font-weight:700}.memory-review{margin-top:3rem}.memory-review ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.memory-review li{min-width:0;padding:1.3rem;border:1px solid var(--line);background:#111b17}.memory-review h3{font-size:1.1rem;margin-top:0}.memory-review p{font-size:.92rem}.memory-review-links{display:flex;gap:.8rem;flex-wrap:wrap;font-size:.85rem}.memory-review-links a{color:var(--cyan);font-weight:700}.memory-boundary{font-size:.85rem;max-width:800px}
@media(max-width:760px){.memory-main{padding-top:115px}.memory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.memory-card{min-height:158px;padding:.8rem}.memory-card .card-meaning{font-size:.86rem}.memory-setup{padding:1rem}.memory-setup label,.memory-setup .button{width:100%}.memory-review ul{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.memory-card{transition:none}}
