.games-room{--game-ink:#4c2e29;--game-red:#8b3036;--game-gold:#ba8b45;color:var(--game-ink);font-family:inherit;max-width:720px;margin:auto}
.games-room *{box-sizing:border-box}
.games-room button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
.games-room button:focus-visible{outline:3px solid #267f83;outline-offset:5px}
.games-switch{display:flex;justify-content:center;gap:6px;width:fit-content;max-width:100%;margin:0 auto 28px;padding:5px;border:1px solid #d9c4a5;border-radius:999px;background:#e9ddc9}
.games-switch button{border:0;border-radius:999px;background:transparent;padding:11px 21px;font-size:14px;font-weight:700;color:#6d5345;transition:background .2s,color .2s,box-shadow .2s}
.games-switch button[aria-pressed=true]{background:#fff9ec;color:var(--game-red);box-shadow:0 2px 7px #55341616}
.games-intro{text-align:center}
.games-eyebrow{display:block;font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#8c693d;margin-bottom:9px}
.games-intro h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(25px,4vw,34px);line-height:1.16;font-weight:500;margin:0 0 10px;color:var(--game-ink)}
.games-intro p{font-size:14px;line-height:1.6;margin:0;color:#7d6255}
.games-score{display:flex;justify-content:center;gap:26px;font-size:12px;margin:20px 0 15px;color:#8c7360}
.games-score strong{font-size:16px;color:var(--game-red);font-weight:700}
.games-memory{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:550px;margin:0 auto}
.games-card{position:relative;aspect-ratio:1.08;padding:0;border:1px solid #b57562;border-radius:12px;background:#8b3036;box-shadow:0 4px 0 #6f292d;transition:transform .18s,background .25s,border-color .25s;overflow:hidden}
.games-card:not(.is-open):hover{transform:translateY(-3px);background:#a24043}
.games-card:not(.is-open):active{transform:translateY(1px)}
.games-card-back,.games-card-face{position:absolute;inset:7px;display:flex;align-items:center;justify-content:center;transition:opacity .2s,transform .25s;pointer-events:none}
.games-card-back{gap:8px;border:1px solid #dfb17470;border-radius:7px;background:radial-gradient(circle at center,#b2514b60,transparent 80%);color:#e8c38a}
.games-card-back>span{font-family:Georgia,serif;font-size:38px;font-style:italic;color:#f7d9a1}
.games-card-back svg{width:9px;height:9px;opacity:.7}
.games-card-face{flex-direction:column;gap:0;opacity:0;transform:scale(.85)}
.games-card-face>svg{width:70%;height:75%;max-height:90px;flex-shrink:1}
.games-card-face small{font-size:10px;color:#785847;line-height:1.1;margin-top:-2px;white-space:nowrap}
.games-card.is-open{background:#fffaf0;border-color:#d9bd8b;box-shadow:0 4px 0 #c9af81}
.games-card.is-open .games-card-back{opacity:0;transform:scale(1.1)}
.games-card.is-open .games-card-face{opacity:1;transform:scale(1)}
.games-card.is-matched{background:#edf1df;border-color:#a4b287;box-shadow:0 4px 0 #a1ad81}
.games-card.is-matched::after{content:'✓';position:absolute;right:8px;top:5px;color:#54734d;font-size:14px}
.games-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:23px auto 0;max-width:550px;font-size:11px;color:#8e7562}
.games-reset{border:0;background:transparent;color:var(--game-red);padding:10px 0;white-space:nowrap;font-weight:700!important;font-size:12px!important}
.games-reset span{display:inline-block;margin-left:5px;font-size:18px;vertical-align:middle}
.games-celebration{display:flex;align-items:center;justify-content:center;gap:18px;padding:21px 14px 4px;text-align:center;color:#a67b35}
.games-celebration>svg{width:20px;flex-shrink:0}
.games-celebration h3{font-family:Georgia,serif;color:var(--game-red);font-size:24px;font-weight:500;margin:0 0 7px}
.games-celebration p{font-size:12px;color:#7c6855;margin:0;line-height:1.5}
.games-live{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.games-count-progress{display:flex;justify-content:center;gap:10px;margin:23px 0 16px}
.games-count-progress>span{width:18px;height:18px;color:#d9cbb3}
.games-count-progress>span.is-done{color:#b7853c}
.games-gift-shelf{display:flex;justify-content:center;flex-wrap:wrap;align-items:flex-end;gap:6px;min-height:160px;padding:22px 10px 14px;max-width:520px;margin:0 auto;border-bottom:8px solid #b89566;border-radius:10px 10px 4px 4px;background:radial-gradient(ellipse at bottom,#e6d2a84f,transparent 70%)}
.games-shelf-gift{display:block;flex:0 0 65px;max-width:15%;filter:drop-shadow(0 5px 3px #5f352a16)}
.games-shelf-gift svg{width:100%;height:auto}
.games-gift-1{filter:hue-rotate(135deg) drop-shadow(0 5px 3px #5f352a16);transform:rotate(-6deg)}
.games-gift-2{filter:hue-rotate(320deg) drop-shadow(0 5px 3px #5f352a16);transform:rotate(5deg)}
.games-numbers{display:flex;justify-content:center;gap:18px;margin:30px 0 16px}
.games-numbers button{position:relative;width:77px;height:77px;border:1px solid #d4b380;border-radius:14px;background:#fff9ec;color:var(--game-red);box-shadow:0 4px 0 #cdb48e;font-family:Georgia,serif;font-size:36px;transition:transform .15s,background .15s}
.games-numbers button:hover{background:#f4e3c5;transform:translateY(-2px)}
.games-numbers button.is-correct{background:#edf1df;border-color:#9eae7b;color:#4f7148;box-shadow:0 4px 0 #9eae7b}
.games-numbers button.is-correct span{position:absolute;top:2px;right:7px;font:14px sans-serif}
.games-numbers button.is-wrong{background:#f6e4d9}
.games-correct-message,.games-count-hint{text-align:center;font-size:13px;color:#7d6255;min-height:20px;line-height:1.5}
.games-correct-message{color:#55724b}
.games-primary{border:0;border-radius:999px;padding:12px 18px;background:var(--game-red);color:#fff7e6;font-size:12px!important;font-weight:700!important}
@media(max-width:520px){.games-switch{margin-bottom:23px}.games-switch button{font-size:12px;padding:10px 15px}.games-memory{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.games-card{aspect-ratio:1.05}.games-card-face>svg{width:72%;height:70%}.games-card-face small{font-size:9px}.games-bottom{flex-wrap:wrap;justify-content:center;gap:0;text-align:center;margin-top:18px}.games-bottom>span{width:100%}.games-bottom .games-primary{margin-top:10px}.games-gift-shelf{min-height:130px}.games-shelf-gift{max-width:29%;flex-basis:62px}.games-numbers{gap:14px;margin-top:23px}.games-numbers button{width:66px;height:66px}.games-celebration{gap:9px}.games-celebration h3{font-size:22px}.games-celebration>svg{width:13px}}
@media(prefers-reduced-motion:reduce){.games-room *{transition:none!important;animation:none!important}}
