.game-shell{width:min(1080px,100%);margin:0 auto;padding:24px 28px 36px}
.game-nav{display:flex;justify-content:space-between;gap:16px;font-size:13px;font-weight:700;margin-bottom:24px;color:#115e59}
.game-nav a{text-decoration:none;padding:7px 0}.game-nav a:hover{text-decoration:underline}
.game-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px}
.game-heading h1{font-size:clamp(30px,4vw,44px);letter-spacing:-1.5px;margin-bottom:10px}
.game-heading .eyebrow{margin-bottom:10px}.game-intro{margin:0;color:var(--muted);font-size:17px}
.game-logo{flex:0 0 180px}.game-logo img{display:block;width:100%;height:auto;border-radius:12px}
.instructions{font-size:14px;line-height:1.7;color:var(--muted);margin:0 0 20px}.instructions span{display:block}.instructions strong{color:var(--deep);white-space:nowrap}
.play-area{padding:24px;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 12px 40px #134e4a08}
.game-controls{display:flex;justify-content:space-between;align-items:end;gap:20px}.difficulty{border:0;padding:0;margin:0;min-width:0}.difficulty legend{font-size:12px;font-weight:700;color:var(--muted);padding:0;margin-bottom:9px}
.difficulty-options{display:flex;gap:6px;background:#edf5f9;border-radius:12px;padding:5px}.difficulty label{position:relative;cursor:pointer}.difficulty input{position:absolute;opacity:0;width:1px;height:1px}.difficulty label span{display:block;padding:13px 24px;border-radius:9px;font-weight:700;font-size:14px;color:#416070}.difficulty input:checked+span{background:#115e59;color:#fff;box-shadow:0 3px 8px #115e5926}.difficulty input:focus-visible+span{outline:3px solid #134e4a;outline-offset:3px}
.new-game{border:0;border-radius:10px;background:#134e4a;color:white;padding:15px 22px;min-height:48px;font:700 14px Arial,Helvetica,sans-serif;cursor:pointer;touch-action:manipulation}.new-game:hover{background:#115e59}.new-game:focus-visible,.memory-card:focus-visible{outline:3px solid #7b52c8;outline-offset:4px}
.difficulty-help{font-size:12px;color:var(--muted);line-height:1.5;margin:12px 0 20px}
.scoreboard{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:12px;background:#f7fbfd;padding:14px 0}.scoreboard>div{text-align:center;padding:0 8px;border-right:1px solid var(--line)}.scoreboard>div:last-child{border:0}.scoreboard span{display:block;font-size:11px;font-weight:700;color:var(--muted);margin-bottom:6px}.scoreboard strong{font-size:25px;color:var(--deep);font-variant-numeric:tabular-nums}.scoreboard small{font-size:12px;font-weight:400;color:var(--muted)}.scoreboard .streak-stat strong{color:#805513}
.game-message{min-height:24px;line-height:1.5;margin:16px 0;color:#365b4f;text-align:center;font-size:14px;font-weight:700}
.card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.memory-card{font-family:Arial,Helvetica,sans-serif;border:0;background:transparent;padding:0;min-width:0;min-height:112px;height:clamp(112px,12vw,136px);cursor:pointer;perspective:900px;border-radius:13px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.card-inner{position:relative;display:block;width:100%;height:100%;transform-style:preserve-3d;transition:transform .32s ease}.memory-card.revealed .card-inner{transform:rotateY(180deg)}
.card-face{position:absolute;inset:0;border-radius:13px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;backface-visibility:hidden;-webkit-backface-visibility:hidden;padding:12px 6px}
.card-back{background:linear-gradient(135deg,#0789b7,#087099);color:#fff;border:1px solid #115e59;box-shadow:0 3px 0 #07577b}.memory-card:nth-child(3n) .card-back{background:linear-gradient(135deg,#1499ae,#14758e)}.card-back b{font-size:28px;letter-spacing:-1px}.card-back small{font-size:10px;letter-spacing:2px;color:#e0f6ff}
.card-front{transform:rotateY(180deg);background:#eef8ff;border:2px solid #7bbcf0;color:#134e4a;box-shadow:0 3px 0 #d6e2db}.card-front .card-value{display:block;white-space:nowrap;font-size:clamp(12px,1.65vw,20px);font-weight:700;letter-spacing:-.25px;font-variant-numeric:tabular-nums}.card-front .card-kind{font-size:10px;color:#586d64;letter-spacing:.6px;text-transform:uppercase}.card-value sup{font-size:.72em;line-height:0;vertical-align:super}.memory-card.matched{cursor:default}.memory-card.matched .card-front{background:#eaf8ed;border-color:#5eaf78;box-shadow:0 3px 0 #c9e6d2;color:#205b34;animation:match-glow .5s ease .15s}.memory-card.matched .card-kind{color:#27643b}.memory-card.miss .card-front{border-color:#d4a250;background:#fff8ec}
@media(hover:hover){.memory-card:not(.revealed):hover .card-back{filter:brightness(1.08)}}
.completion{margin-top:24px;border:1px solid #89c9a0;border-radius:16px;background:linear-gradient(120deg,#edf9f0,#edf7ff);text-align:center;padding:30px 20px}.completion[hidden]{display:none}.completion h2{font-size:32px}.completion p{color:#365b4f;line-height:1.6}.completion .eyebrow{color:#27643b}.completion:focus{outline:3px solid #115e59;outline-offset:4px}.completion .new-game{margin-top:8px}.game-tip{font-size:13px;line-height:1.7;text-align:center;color:var(--muted);max-width:740px;margin:22px auto 0}
@keyframes match-glow{50%{box-shadow:0 0 0 5px #5eaf7833}}
@media(max-width:800px){.game-shell{padding:20px}.play-area{padding:18px}.game-logo{flex-basis:145px}.card-grid{gap:10px}.card-front .card-value{font-size:14px}.card-front .card-value.long-number{font-size:12px}}
@media(max-width:640px){.game-shell{padding:16px 12px 28px}.game-heading{flex-direction:column-reverse;align-items:flex-start;gap:18px}.game-logo{flex-basis:auto;width:150px}.game-heading h1{font-size:32px}.game-controls{align-items:stretch;flex-wrap:wrap;gap:12px}.difficulty{width:100%}.difficulty-options label{flex:1;text-align:center}.difficulty label span{padding:13px 12px}.new-game{width:100%}.play-area{padding:14px;border-radius:16px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.memory-card{height:108px;min-height:108px}.card-front .card-value{font-size:16px}.card-front .card-value.long-number{font-size:12px}.scoreboard{padding:12px 0}.scoreboard>div{padding:0 3px}.scoreboard strong{font-size:22px}.scoreboard span{font-size:10px}.scoreboard small{display:block;font-size:10px}.game-message{font-size:13px;min-height:40px}.game-nav{font-size:12px}.game-tip{text-align:left}}
@media(prefers-reduced-motion:reduce){.card-inner{transition:none}.memory-card.matched .card-front{animation:none}}
