.solitaire-game{--card-height:clamp(65px,13vw,105px);--card-step:clamp(27px,5.7vw,34px);max-width:660px;margin:auto}
.solitaire-game .solitaire-surface{background:#367769;border-radius:20px;padding:12px 9px 16px;box-shadow:inset 0 1px 8px #164b3526;margin:20px 0 12px}
.solitaire-game .solitaire-upper,.solitaire-game .solitaire-tableau{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(3px,1vw,9px)}
.solitaire-game .solitaire-upper{margin:0 0 10px}
.solitaire-game .solitaire-pile{display:flex;flex-direction:column;align-items:stretch;gap:6px;min-width:0}
.solitaire-game .playing-card{position:relative;width:100%;height:var(--card-height);min-width:0;min-height:0;padding:0;border:1px solid #d4dace;border-radius:7px;font-family:inherit;cursor:pointer;line-height:1;color:#173c42;box-shadow:0 2px 3px #173c4210;background:#fffdf8;display:block;overflow:hidden;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.solitaire-game .playing-card.red{color:#b43d32}
.solitaire-game .playing-card .card-corner{position:absolute;top:6px;left:4px;font-size:clamp(12px,2.65vw,20px);font-weight:800;white-space:nowrap;letter-spacing:-.7px}
.solitaire-game .playing-card .card-suit{position:absolute;top:53%;left:50%;transform:translate(-50%,-50%);font-size:clamp(21px,5vw,36px)}
.solitaire-game .face-down{background:repeating-linear-gradient(45deg,#317b76 0,#317b76 5px,#398681 5px,#398681 8px);border:3px solid #fcfbf5;box-shadow:0 0 0 1px #b2c2b7;cursor:default}
.solitaire-game .stock-card.face-down{cursor:pointer}
.solitaire-game .playing-card.empty-card{border:1.5px dashed #a1b8ad;background:#edf2e9;box-shadow:none;display:flex;align-items:center;justify-content:center;font-size:22px;color:#69887c}
.solitaire-game .playing-card.card-selected{outline:3px solid #d17c38;outline-offset:1px;box-shadow:0 0 0 4px #f7d9aa;z-index:30!important}
.solitaire-game .playing-card:focus-visible{outline:3px solid #186761;outline-offset:2px}
.solitaire-game .pile-label{font-size:clamp(9px,2vw,12px);line-height:1.2;text-align:center;color:#fffdf3;white-space:nowrap}
.solitaire-game .solitaire-column{position:relative;min-height:var(--card-height)}
.solitaire-game .tableau-card,.solitaire-game .column-base{position:absolute;left:0}
.solitaire-game .solitaire-tableau{margin:20px 0;align-items:start}
.solitaire-game .solitaire-draw-note{font-size:12px;color:#fffdf3;text-align:center;margin:12px 0}
.solitaire-game .game-status{min-height:42px;font-size:14px;display:flex;align-items:center;justify-content:center}
.solitaire-game .action-row{justify-content:center}
.solitaire-game .game-note{font-size:13px;line-height:1.6;text-align:center}
.solitaire-game button:disabled{opacity:.45;cursor:default}

.memory-game{max-width:580px;margin:auto}
.memory-game .memory-theme{font-size:15px;color:#765132;text-align:center;margin:4px 0 20px;font-weight:700}
.memory-game .memory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:470px;margin:auto}
.memory-game .memory-grid:has(.memory-card:nth-child(6):last-child){grid-template-columns:repeat(3,minmax(0,1fr));max-width:380px}
.memory-game .memory-card{aspect-ratio:1;min-height:64px;padding:8px;position:relative;display:flex;align-items:center;justify-content:center;border-radius:18px;background:#f7dfbe;border:2px solid #e7bc82;box-shadow:0 3px 0 #dfb073;cursor:pointer;touch-action:manipulation;transition:background-color .18s}
.memory-game .memory-back{font-size:36px;line-height:1;color:#8b511c;font-weight:800;font-family:inherit}
.memory-game .memory-open{background:#fffdf7;border-color:#ddb77c;box-shadow:0 3px 0 #dac29c}
.memory-game .memory-matched{background:#e7f0df;border-color:#acc993;box-shadow:0 3px 0 #b7cda3;cursor:default}
.memory-game .memory-animal{display:flex;width:90%;height:90%;align-items:center;justify-content:center}
.memory-game .memory-animal svg{width:100%;height:100%;max-height:90px}
.memory-game .memory-tick{position:absolute;right:5px;bottom:3px;border-radius:50%;width:18px;height:18px;background:#3d7865;color:white;font-size:12px;font-weight:800;text-align:center;line-height:18px}
.memory-game .game-status{font-size:18px;color:#654e32;font-weight:700;margin:23px 0 12px;text-align:center}
.memory-game .game-note{text-align:center}
.memory-game .memory-card:focus-visible{outline:3px solid #245f59;outline-offset:4px}

.quiz-game{max-width:600px;margin:auto}
.quiz-game .quiz-progress{display:flex;flex-direction:column;align-items:stretch;gap:5px;color:#597369;font-size:14px;margin:18px 0 28px}
.quiz-game .quiz-progress progress{width:100%;height:8px;accent-color:#287f76;border-radius:6px}
.quiz-game .quiz-kicker{font-size:12px;text-transform:uppercase;letter-spacing:1.5px;font-weight:800;color:#698478;margin-bottom:12px}
.quiz-game .quiz-question{font-size:clamp(23px,5.5vw,31px);line-height:1.35;margin:8px 0 25px;color:#173b40;font-weight:750;letter-spacing:-.4px}
.quiz-game .quiz-options{display:grid;gap:11px;margin:20px 0}
.quiz-game .quiz-option{display:flex;align-items:center;gap:14px;text-align:left;min-height:61px;width:100%;padding:12px 16px;background:#fffdf7;border:1.5px solid #d7ded2;border-radius:16px;color:#214c48;font:inherit;font-size:17px;cursor:pointer;box-shadow:0 2px 0 #213d3210}
.quiz-game .quiz-letter{height:30px;width:30px;min-width:30px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:#eef1e8;color:#506b60;font-size:14px;font-weight:800}
.quiz-game .quiz-option.chosen{background:#e8f3ed;border-color:#46867b;box-shadow:0 0 0 1px #46867b}
.quiz-game .quiz-option.is-correct{background:#e8f3e2;border-color:#65904c;color:#305c2f}
.quiz-game .quiz-option.is-wrong{background:#fff0e7;border-color:#be815d;color:#824c2d}
.quiz-game .quiz-option:disabled{cursor:default;opacity:1}
.quiz-game .quiz-option:focus-visible{outline:3px solid #287f76;outline-offset:3px}
.quiz-game .quiz-feedback{background:#f0f2e8;padding:18px 20px;border-radius:18px;line-height:1.55;margin:18px 0;color:#456355}
.quiz-game .quiz-feedback.correct{background:#e8f3e2;color:#305c2f}
.quiz-game .quiz-feedback.incorrect{background:#fff1e5;color:#795037}
.quiz-game .quiz-feedback p{margin:5px 0}
.quiz-game .quiz-summary{background:#edf4e8;border-radius:22px;padding:26px;text-align:center;margin:20px 0}
.quiz-game .quiz-summary h2{font-size:27px;margin:0 0 12px;color:#285a48}
.quiz-game .quiz-review{margin:20px 0;display:grid;gap:12px}
.quiz-game .quiz-review-item{padding:16px;background:#fffdf6;border:1px solid #dedfd2;border-radius:15px;line-height:1.5}
.quiz-game .quiz-review-item p{margin:6px 0;font-size:15px}
.quiz-game .action-row{justify-content:center}
@media(min-width:650px){.memory-game .memory-large{grid-template-columns:repeat(5,minmax(0,1fr));max-width:570px}.memory-game .memory-card{min-height:82px}.solitaire-game{--card-step:32px}}
@media(prefers-reduced-motion:reduce){.memory-game .memory-card{transition:none}}

.memory-game .memory-card{flex-direction:column;gap:2px}.memory-game .memory-animal{height:76%;width:88%;min-height:0;flex-shrink:1}.memory-game .memory-label{font-size:clamp(10px,2.7vw,13px);line-height:1.1;font-weight:700;color:#31554b;max-width:100%;overflow-wrap:anywhere;flex-shrink:0}
