.orgelmemory {
    --orgelmemory-accent: #315d75;
    --orgelmemory-card-back: #315d75;
    --orgelmemory-module-bg: #ffffff;
    --orgelmemory-card-front: #ffffff;
    --orgelmemory-text: #1f2933;
    --orgelmemory-border: #d7dde2;
    position: relative;
    display: block;
    width: 100%;
    max-width: none;
    margin: 1.5rem 0;
    padding: clamp(1rem, 2.5vw, 1.75rem);
    border: 1px solid var(--orgelmemory-border);
    border-radius: 4px;
    background: var(--orgelmemory-module-bg);
    color: var(--orgelmemory-text);
    font-family: inherit;
}
.orgelmemory * { box-sizing: border-box; }
.orgelmemory__header { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.orgelmemory__title { margin:0 0 .3rem; color:inherit; font-size:clamp(1.5rem,4vw,2.2rem); }
.orgelmemory__intro { margin:0; }
.orgelmemory__restart { flex:0 0 auto; border:0; border-radius:3px; padding:.72rem 1rem; background:var(--orgelmemory-accent); color:#fff; font:inherit; font-weight:700; cursor:pointer; }
.orgelmemory__restart:hover { filter:brightness(.92); }
.orgelmemory__restart:focus-visible,.orgelmemory-card:focus-visible { outline:3px solid var(--orgelmemory-accent); outline-offset:3px; }
.orgelmemory__stats { display:flex; flex-wrap:wrap; gap:.6rem 1.4rem; margin:0 0 1rem; padding:.7rem .9rem; border:1px solid var(--orgelmemory-border); border-radius:3px; background:transparent; font-size:.95rem; }
.orgelmemory__grid { display:grid; grid-template-columns:repeat(var(--orgelmemory-columns),minmax(0,1fr)); gap:clamp(.45rem,1.5vw,.85rem); width:100%; }
.orgelmemory-card { min-width:0; aspect-ratio:1/1; padding:0; border:0; border-radius:3px; background:transparent; cursor:pointer; perspective:900px; }
.orgelmemory-card__inner { position:relative; display:block; width:100%; height:100%; transition:transform .38s ease; transform-style:preserve-3d; }
.orgelmemory-card.is-flipped .orgelmemory-card__inner,.orgelmemory-card.is-matched .orgelmemory-card__inner { transform:rotateY(180deg); }
.orgelmemory-card__face { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; overflow:hidden; border:1px solid var(--orgelmemory-border); border-radius:3px; backface-visibility:hidden; }
.orgelmemory-card__back { padding:14%; background:var(--orgelmemory-card-back); }
.orgelmemory-card__logo { display:block; width:78%; height:78%; object-fit:contain; }
.orgelmemory-card__symbol { color:#fff; font-size:clamp(2rem,6vw,4rem); line-height:1; }
.orgelmemory-card__front { padding:.65rem; background:var(--orgelmemory-card-front); transform:rotateY(180deg); }
.orgelmemory-card__front img { width:100%; height:100%; object-fit:contain; }
.orgelmemory-card__term { overflow-wrap:anywhere; color:var(--orgelmemory-text); font-size:clamp(.82rem,2.1vw,1.25rem); font-weight:700; line-height:1.2; text-align:center; }
.orgelmemory-card.is-matched .orgelmemory-card__face { border:3px solid var(--orgelmemory-accent); }
.orgelmemory__result { position:absolute; inset:0; z-index:5; display:grid; place-items:center; padding:1rem; border-radius:inherit; background:rgba(255,255,255,.94); }
.orgelmemory__result[hidden] { display:none; }
.orgelmemory__result-box { display:flex; flex-direction:column; align-items:center; gap:.8rem; max-width:420px; padding:2rem; border:1px solid var(--orgelmemory-border); border-radius:4px; background:var(--orgelmemory-module-bg); color:var(--orgelmemory-text); text-align:center; }
.orgelmemory__result-box > strong { font-size:2rem; }
.orgelmemory__restart--result { margin-top:.4rem; }
.orgelmemory-message { padding:1rem; border-left:4px solid #dba617; background:#fff8dc; }
@media (max-width:700px) { .orgelmemory { --orgelmemory-columns:3 !important; } .orgelmemory__header { display:block; } .orgelmemory__restart { margin-top:.9rem; } }
@media (max-width:430px) { .orgelmemory { --orgelmemory-columns:2 !important; padding:.8rem; } .orgelmemory__grid { gap:.45rem; } }
@media (prefers-reduced-motion:reduce) { .orgelmemory-card__inner { transition:none; } }
