/* Memory — scoped to #sdb-game-root. spieldb.de pastel tokens. */
#sdb-game-root{
  --cream:#FDFBF7;--paper:#fff;--rose:#E5989B;--mustard:#FFB347;--deep:#4A4E69;--ink:#22223B;--line:rgba(74,78,105,.12);
  font-family:'Be Vietnam Pro',system-ui,sans-serif;color:var(--ink);max-width:620px;margin:0 auto;
}
#sdb-game-root *{box-sizing:border-box;}
.mem-bar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between;margin-bottom:1.1rem;}
.mem-stats{font-weight:700;display:flex;gap:1.2rem;}
.mem-stats b{color:var(--deep);}
.mem-controls{display:flex;gap:.5rem;align-items:center;}
.mem-select{font:inherit;font-weight:600;padding:.55rem .9rem;border:2px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);cursor:pointer;}
.mem-btn{font:inherit;font-weight:700;padding:.6rem 1.3rem;border:0;border-radius:999px;background:var(--deep);color:#fff;cursor:pointer;transition:transform .25s cubic-bezier(.34,1.56,.64,1);}
.mem-btn:hover{transform:translateY(-2px) scale(1.03);}
.mem-btn:focus-visible,.mem-card:focus-visible,.mem-select:focus-visible{outline:3px solid var(--mustard);outline-offset:2px;}
.mem-grid{display:grid;gap:.7rem;}
.mem-card{position:relative;width:100%;height:0;padding:0 0 100%;border:0;background:transparent;cursor:pointer;perspective:700px;}
.mem-inner{position:absolute;inset:0;transition:transform .45s cubic-bezier(.34,1.56,.64,1);transform-style:preserve-3d;}
.mem-card.up .mem-inner,.mem-card.done .mem-inner{transform:rotateY(180deg);}
.mem-face{position:absolute;inset:0;border-radius:1.25rem;display:flex;align-items:center;justify-content:center;backface-visibility:hidden;border:3px solid var(--line);}
.mem-back{background:var(--deep);}
.mem-back::after{content:"";width:34%;height:34%;border-radius:50%;border:4px solid rgba(255,255,255,.35);}
.mem-front{background:var(--paper);transform:rotateY(180deg);padding:16%;}
.mem-front svg{width:100%;height:100%;}
.mem-card.done .mem-front{border-color:var(--mustard);background:rgba(255,179,71,.16);}
.mem-win{text-align:center;font-weight:700;color:var(--deep);margin-top:1rem;min-height:1.4rem;}
@media (prefers-reduced-motion:reduce){.mem-inner{transition:none!important;}}
@media (max-width:420px){.mem-grid{gap:.5rem;}.mem-face{border-radius:.9rem;}}
