:root{color-scheme:light;font-family:Avenir Next,Trebuchet MS,Segoe UI,sans-serif;line-height:1.45;font-weight:400;--page-bg: #f5f1e8;--page-bg-deep: #eee6d8;--surface: rgba(255, 253, 248, .94);--surface-muted: #f7f2e9;--surface-soft: rgba(250, 247, 240, .96);--border: #ddd2c0;--border-strong: #cab9a2;--text: #20303d;--text-soft: #5f707b;--accent: #35556b;--accent-strong: #284457;--accent-soft: #dbe5eb;--warm: #b76c49;--warm-soft: #f1e2d8;--success: #5f8569;--success-soft: #e6efe8;background:radial-gradient(circle at top,rgba(255,255,255,.82),transparent 28rem),linear-gradient(180deg,var(--page-bg) 0%,var(--page-bg-deep) 100%);color:var(--text)}*{box-sizing:border-box}html{min-height:100%}body{margin:0;min-width:320px;min-height:100dvh;color:var(--text);background:radial-gradient(circle at top,rgba(255,255,255,.82),transparent 28rem),linear-gradient(180deg,var(--page-bg) 0%,var(--page-bg-deep) 100%);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font:inherit}button:focus-visible{outline:3px solid rgba(53,85,107,.24);outline-offset:3px}.page-shell{width:min(1240px,calc(100vw - 20px));margin:0 auto;padding:14px 0 18px}.game-panel{border:1px solid var(--border);border-radius:28px;background:var(--surface);box-shadow:0 18px 40px #20303d14;min-height:calc(100dvh - 28px);padding:18px}.toolbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px}.game-title{margin:0;color:var(--text);font-size:clamp(1.65rem,2.9vw,2.4rem);line-height:.94;letter-spacing:-.05em;white-space:nowrap}.difficulty-picker{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.difficulty-button,.restart-button{border-radius:999px;padding:11px 18px;font-weight:700;cursor:pointer;transition:transform .14s ease,background-color .14s ease,color .14s ease,border-color .14s ease,box-shadow .14s ease}.difficulty-button{border:1px solid var(--border);background:var(--surface-muted);color:var(--accent);box-shadow:inset 0 -1px #fffc}.difficulty-button.is-active{border-color:var(--warm);background:var(--warm-soft);color:var(--warm);box-shadow:0 10px 22px #b76c4924}.restart-button{border:1px solid transparent;background:var(--accent);color:#f9fbfd;box-shadow:0 10px 24px #35556b29}.difficulty-button:hover,.restart-button:hover{transform:translateY(-1px)}.restart-button:hover{background:var(--accent-strong)}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.stat-card{padding:12px 14px;border:1px solid var(--border);border-radius:18px;background:var(--surface-muted)}.stat-label{display:block;color:var(--text-soft);font-size:.82rem}.stat-card strong{display:block;margin-top:5px;color:var(--text);font-size:1.24rem;letter-spacing:-.03em}.message{min-height:24px;margin:12px 0 10px;color:var(--accent);font-size:.98rem;font-weight:700}.card-grid{display:grid;gap:12px;margin-top:8px}.difficulty-easy,.difficulty-medium{grid-template-columns:repeat(4,minmax(0,1fr))}.difficulty-hard{grid-template-columns:repeat(5,minmax(0,1fr))}.difficulty-extra-hard{grid-template-columns:repeat(4,minmax(0,1fr))}@media(min-width:700px){.difficulty-extra-hard{grid-template-columns:repeat(6,minmax(0,1fr))}}@media(min-width:960px){.difficulty-easy{grid-template-columns:repeat(6,minmax(0,1fr))}.difficulty-medium{grid-template-columns:repeat(8,minmax(0,1fr))}.difficulty-hard{grid-template-columns:repeat(10,minmax(0,1fr))}.difficulty-extra-hard{grid-template-columns:repeat(8,minmax(0,1fr))}}.memory-card{aspect-ratio:1 / 1;border:none;padding:0;background:transparent;cursor:pointer;perspective:1000px}.memory-card:disabled{cursor:default}.card-inner{position:relative;display:block;width:100%;height:100%;transform-style:preserve-3d;transition:transform .24s ease}.memory-card.is-visible .card-inner{transform:rotateY(180deg)}.card-face{position:absolute;inset:0;display:grid;place-items:center;border-radius:24px;backface-visibility:hidden}.card-back{border:1px solid #45657c;background:linear-gradient(180deg,#ffffff0d,#fff0),var(--accent);color:#eef3f6;font-size:clamp(2rem,4vw,2.8rem);font-weight:800;box-shadow:0 12px 26px #2844572e}.card-front{transform:rotateY(180deg);border:1px solid var(--border-strong);background:#fffdfa;color:var(--text);font-size:clamp(2.3rem,4vw,3rem);box-shadow:0 12px 26px #20303d14}.memory-card.is-matched .card-front{border-color:#5f856947;background:var(--success-soft);box-shadow:0 14px 28px #5f856924}@media(min-width:1024px)and (max-width:1366px)and (max-height:900px)and (orientation:landscape){.page-shell{width:min(1188px,calc(100vw - 16px));padding:8px 0 12px}.game-panel{min-height:calc(100dvh - 20px);border-radius:24px;padding:14px}.toolbar{gap:8px}.game-title{font-size:clamp(1.45rem,2.4vw,1.95rem)}.difficulty-picker{gap:8px}.difficulty-button,.restart-button{padding:9px 14px}.stats-grid{gap:8px;margin-top:10px}.stat-card{padding:9px 11px;border-radius:16px}.stat-label{font-size:.76rem}.stat-card strong{margin-top:3px;font-size:1.08rem}.message{min-height:22px;margin:10px 0 8px;font-size:.9rem}.card-grid{gap:10px;margin-top:6px}.card-face{border-radius:20px}.card-back{font-size:clamp(1.8rem,3.2vw,2.45rem)}.card-front{font-size:clamp(2rem,3.2vw,2.6rem)}}@media(max-width:860px){.page-shell{width:min(calc(100vw - 16px),100%);padding:10px 0 12px}.game-panel{border-radius:24px;min-height:calc(100dvh - 22px)}.toolbar{grid-template-columns:1fr;align-items:stretch}.game-title{font-size:clamp(1.7rem,5vw,2.1rem);white-space:normal}.difficulty-picker{justify-content:flex-start}.restart-button{justify-self:start}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.page-shell{width:min(calc(100vw - 12px),100%);padding-top:8px}.game-panel{padding:14px}.toolbar{gap:10px}.difficulty-picker{width:100%}.difficulty-button,.restart-button{flex:1 1 0;text-align:center}.difficulty-hard,.difficulty-extra-hard{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:520px){.card-grid{gap:10px}.difficulty-easy,.difficulty-medium,.difficulty-hard,.difficulty-extra-hard{grid-template-columns:repeat(3,minmax(0,1fr))}.card-face{border-radius:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.difficulty-button,.restart-button,.card-inner{transition-duration:0ms}*,*:before,*:after{animation-duration:0ms}}
