:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f7fb;--ink:#0f172a;--muted:#475569;--card-back:#1e3a8a;--card-back-text:#dbeafe;--matched:#15803d;--matched-ring:#86efac;--button:#1d4ed8;--button-hover:#1e40af;--surface:#fff;--shadow:0 8px 20px #0f172a14;--radius:clamp(8px, 1.2vmin, 14px);--flip-ms:.28s;--page-pad-x:clamp(.5rem, 1.8vw, 1rem);--page-pad-y:clamp(.35rem, 1.2vh, .75rem);--grid-gap:clamp(.28rem, 1vmin, .7rem);--title-size:clamp(1.15rem, 2.8vh + .6vw, 2.1rem);--body-size:clamp(.75rem, 1.4vh + .25vw, .95rem);--stats-size:clamp(.75rem, 1.5vh + .2vw, 1rem);--button-pad-y:clamp(.4rem, 1.1vh, .7rem);--button-pad-x:clamp(.9rem, 2vw, 1.35rem);--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px)}*,:before,:after{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}body{background:radial-gradient(circle at top, #dbeafe 0%, transparent 42%), linear-gradient(180deg, #eef4ff 0%, var(--bg) 48%, #edf2f7 100%);color:var(--ink);font-family:Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}.page{width:100%;max-width:100dvw;height:100dvh;padding:calc(var(--page-pad-y) + var(--safe-top)) calc(var(--page-pad-x) + var(--safe-right)) calc(var(--page-pad-y) + var(--safe-bottom)) calc(var(--page-pad-x) + var(--safe-left));flex-direction:column;margin:0;display:flex;overflow:hidden}.game{flex-direction:column;flex:auto;gap:clamp(.25rem,.9vh,.65rem);width:min(1100px,100%);min-width:0;min-height:0;margin:0 auto;display:flex;overflow:hidden}.game-top{text-align:center;flex-direction:column;flex:none;align-items:center;gap:clamp(.2rem,.7vh,.45rem);display:flex}.game-header h1{font-size:var(--title-size);letter-spacing:-.03em;margin:0;line-height:1.1}.game-instructions{color:var(--muted);font-size:var(--body-size);margin:.15rem 0 0;line-height:1.25}.game-stats{font-size:var(--stats-size);flex-wrap:wrap;justify-content:center;gap:.35rem 1rem;margin-top:.25rem;font-weight:600;line-height:1.2;display:flex}.game-complete{color:#166534;text-align:center;max-width:min(36rem,100%);font-size:var(--body-size);background:#ecfdf5;border-radius:999px;margin:0;padding:clamp(.3rem,.8vh,.55rem) clamp(.65rem,1.5vw,1rem);font-weight:600;line-height:1.25}.board{flex:auto;min-width:0;min-height:0;display:flex;overflow:hidden}.card-grid{gap:var(--grid-gap);flex:auto;width:100%;min-width:0;height:100%;min-height:0;display:grid}@media (orientation:portrait){.card-grid{grid-template-rows:repeat(5,minmax(0,1fr));grid-template-columns:repeat(4,minmax(0,1fr))}}@media (orientation:landscape){.card-grid{grid-template-rows:repeat(4,minmax(0,1fr));grid-template-columns:repeat(5,minmax(0,1fr))}.game{gap:clamp(.15rem,.7vh,.45rem)}.game-header h1{font-size:clamp(1rem,3.2vh,1.7rem)}.game-instructions,.game-stats,.game-complete{font-size:clamp(.7rem,2.2vh,.9rem)}.game-stats{margin-top:.1rem}}@media (orientation:landscape) and (max-height:500px){:root{--page-pad-y:.25rem;--page-pad-x:.45rem;--grid-gap:clamp(.18rem, .8vmin, .4rem)}.game-instructions{display:none}.game-stats{gap:.25rem .75rem;margin-top:0}.game-complete{padding:.2rem .55rem}.new-game-button{min-height:34px;padding:.3rem .85rem;font-size:.8rem}}.card{appearance:none;perspective:900px;cursor:pointer;border-radius:var(--radius);background:0 0;border:0;width:100%;min-width:0;height:100%;min-height:0;padding:0}.card:focus-visible{outline-offset:2px;outline:3px solid #93c5fd}.card:disabled{cursor:default}.card-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform var(--flip-ms) ease;border-radius:var(--radius);box-shadow:var(--shadow);display:block;position:relative}.card.is-flipped .card-inner,.card.is-matched .card-inner{transform:rotateY(180deg)}.card-face{backface-visibility:hidden;border-radius:var(--radius);place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.card-back{background:linear-gradient(145deg, #1e40af 0%, var(--card-back) 55%, #172554 100%);color:var(--card-back-text);font-size:clamp(1rem,4vmin,2.2rem);font-weight:700}.card-front{background:var(--surface);transform:rotateY(180deg)}.card-front img{object-fit:cover;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.card.is-matched .card-front{box-shadow:inset 0 0 0 3px var(--matched-ring)}.card.is-matched .card-front:after{content:"";pointer-events:none;box-shadow:inset 0 0 0 2px var(--matched);border-radius:var(--radius);position:absolute;inset:0}.game-actions{flex:none;justify-content:center;display:flex}.new-game-button{appearance:none;background:var(--button);color:#fff;font:inherit;font-size:var(--body-size);padding:var(--button-pad-y) var(--button-pad-x);cursor:pointer;min-height:clamp(34px,5.5vh,44px);box-shadow:var(--shadow);border:0;border-radius:999px;font-weight:650}.new-game-button:hover{background:var(--button-hover)}.new-game-button:focus-visible{outline-offset:2px;outline:3px solid #93c5fd}@media (prefers-reduced-motion:reduce){:root{--flip-ms:0s}.card-inner{transition:none}}
