:root{color:#392217;background:#fbf5ef;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{min-width:320px;background:#fbf5ef}body{min-width:320px;min-height:100dvh;margin:0}button,a,summary{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex="-1"]:focus-visible{outline:3px solid #875324;outline-offset:3px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.game-shell{position:relative;isolation:isolate;display:grid;min-height:var(--app-height, 100dvh);padding:clamp(14px,3vw,28px);overflow:hidden;background:radial-gradient(circle at 10% 8%,rgba(212,184,146,.24),transparent 26%),radial-gradient(circle at 94% 93%,rgba(224,177,166,.2),transparent 29%),linear-gradient(135deg,#fffdf9,#fbf2ea 55%,#fffaf5)}.game-shell:before,.game-shell:after{position:absolute;z-index:-1;width:min(38vw,310px);height:min(38vw,310px);content:"";border-radius:50%;opacity:.32;filter:blur(8px);background:radial-gradient(circle at center,#f4d9c8 0 10%,#f4d9c800 66%)}.game-shell:before{top:-120px;left:-80px}.game-shell:after{right:-100px;bottom:-130px}.silk{position:absolute;z-index:-1;width:min(55vw,560px);height:180px;opacity:.42;filter:blur(1px);background:linear-gradient(155deg,transparent 18%,#f1cabb 43%,#ffe8df 59%,transparent 82%);transform:rotate(-11deg)}.silk-top{top:-55px;right:-105px}.silk-bottom{bottom:-70px;left:-85px;transform:rotate(14deg)}.game-panel{width:min(100%,690px);margin:auto;padding:clamp(20px,4vw,36px);border:1px solid rgba(129,80,43,.18);border-radius:clamp(25px,5vw,42px);background:#fffcf7c2;box-shadow:0 20px 55px #532d1b29,inset 0 1px #ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.game-header{text-align:center}.brand-kicker{display:inline-flex;gap:9px;align-items:center;margin:0 0 8px;color:#754724;font-size:clamp(.72rem,2vw,.82rem);font-weight:800;letter-spacing:.18em;text-transform:uppercase}.game-header h1{margin:0;color:#40251a;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,7.2vw,3.25rem);font-weight:500;letter-spacing:-.045em;line-height:1}.game-intro{max-width:400px;margin:12px auto 0;color:#684b3a;font-size:clamp(.9rem,2.8vw,1rem);line-height:1.48}.scoreboard{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;margin:clamp(20px,4vw,28px) 0;padding:12px clamp(8px,3vw,18px);border:1px solid rgba(133,82,42,.16);border-radius:18px;background:#fff7eecc}.score-item{display:grid;gap:2px;justify-items:center;min-width:0}.score-item span{color:#7c5b46;font-size:clamp(.64rem,2.5vw,.74rem);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.score-item strong{color:#3d2518;font-size:clamp(.95rem,3vw,1.1rem);font-variant-numeric:tabular-nums}.score-divider{width:1px;height:31px;background:#7f513038}.memory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(8px,2.5vw,16px)}.memory-card{position:relative;display:block;min-width:0;min-height:44px;padding:0;overflow:visible;cursor:pointer;border:0;border-radius:clamp(12px,2.8vw,19px);background:transparent;aspect-ratio:3 / 4;perspective:800px}.memory-card:not(:disabled):hover .memory-card-inner{transform:translateY(-3px)}.memory-card:not(:disabled):active .memory-card-inner{transform:translateY(0) scale(.98)}.memory-card:disabled{cursor:default}.memory-card-inner{position:absolute;inset:0;display:block;border-radius:inherit;transition:transform .33s cubic-bezier(.25,.85,.3,1);transform-style:preserve-3d}.memory-card.is-face-up .memory-card-inner{transform:rotateY(180deg)}.memory-card.is-face-up:not(:disabled):hover .memory-card-inner{transform:rotateY(180deg) translateY(-3px)}.memory-card-face{position:absolute;inset:0;display:block;overflow:hidden;border:1px solid rgba(102,61,34,.22);border-radius:inherit;box-shadow:0 5px 13px #4f2d1b26;backface-visibility:hidden;-webkit-backface-visibility:hidden}.memory-card-face img{display:block;width:100%;height:100%;object-fit:cover;-webkit-user-select:none;user-select:none}.memory-card-front{background:#f3e5da;transform:rotateY(180deg)}.memory-card-back{background:#f9e8df}.card-shine{position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.32),transparent 38%,rgba(255,255,255,.08));pointer-events:none}.memory-card.is-matched .memory-card-face{border-color:#aa7731;box-shadow:0 0 0 2px #ca9c4b40,0 7px 18px #9168263d}.game-actions{display:grid;gap:11px;justify-items:center;margin-top:clamp(21px,4vw,28px)}.new-round-button,.play-again-button,.vk-button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:11px 20px;border-radius:999px;font-size:.9rem;font-weight:800;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.new-round-button{color:#4c2c1c;border:1px solid rgba(94,56,33,.35);background:#fffbf5c7}.new-round-button:hover,.play-again-button:hover{background:#fff;transform:translateY(-1px)}.game-rules{max-width:420px;color:#6e503d;font-size:.83rem;line-height:1.5;text-align:center}.game-rules summary{min-height:30px;cursor:pointer;color:#714526;font-weight:750;text-underline-offset:3px}.game-rules p{margin:7px 0 0}.game-footer{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin-top:22px;color:#806654;font-size:.73rem;line-height:1.45;text-align:center}.game-footer a{color:#6c3e23;font-weight:800;text-underline-offset:3px}.game-footer a:hover{color:#3e2417}.completion-overlay{position:fixed;z-index:10;inset:0;display:grid;padding:18px;overflow-y:auto;background:#301b139e;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.completion-dialog{width:min(100%,440px);margin:auto;padding:clamp(28px,7vw,44px);border:1px solid rgba(126,77,42,.24);border-radius:30px;background:linear-gradient(145deg,#fffdf8,#f8e7dd);box-shadow:0 26px 80px #24120c61;text-align:center}.completion-gem{margin-bottom:7px;color:#865127;font-size:2.3rem}.completion-dialog h2{margin:0;color:#43271b;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,8vw,2.75rem);font-weight:500;letter-spacing:-.05em;line-height:1}.completion-dialog>p:not(.brand-kicker){margin:13px 0 0;color:#654433;font-family:Georgia,Times New Roman,serif;font-size:1.12rem;line-height:1.42}.completion-dialog .completion-stats{margin-top:13px;color:#805a3f;font-family:inherit;font-size:.86rem;font-variant-numeric:tabular-nums}.vk-button{width:100%;margin-top:23px;color:#fff;background:#4c2d1d;box-shadow:0 8px 18px #4c2d1d42}.vk-button:hover{background:#352014;transform:translateY(-1px)}.play-again-button{width:100%;margin-top:10px;color:#4d2e1e;border:1px solid rgba(93,54,32,.33);background:transparent}@media (min-width: 580px){.memory-grid{gap:18px}.game-panel{padding:38px 48px}}@media (max-width: 380px){.game-shell{padding:8px}.game-panel{padding:18px 14px;border-radius:22px}.memory-grid{gap:7px}.scoreboard{margin:17px 0;padding:10px 4px}.score-item span{font-size:.58rem}}@media (max-height: 780px) and (max-width: 540px){.game-shell{padding:8px}.game-panel{padding:16px 14px}.game-header h1{font-size:1.9rem}.game-intro{margin-top:7px;font-size:.84rem}.scoreboard{margin:13px 0;padding-block:8px}.memory-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.memory-card{aspect-ratio:1 / 1.24}.game-actions,.game-footer{margin-top:14px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
