*{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100%;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior:none;touch-action:manipulation}#app{min-height:100%;display:flex;align-items:center;justify-content:center;padding:16px}.game{width:min(92vw,460px);display:flex;flex-direction:column;gap:14px}.crumb{font-size:14px}.crumb a{color:var(--accent);text-decoration:none;font-weight:700}.crumb a:hover{text-decoration:underline}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.title{font-size:clamp(34px,10vw,52px);font-weight:800;line-height:1;letter-spacing:-1px}.diff{display:flex;gap:6px}.chip{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:6px 10px;font-size:13px;font-weight:700;cursor:pointer;transition:background .12s ease,border-color .12s ease}.chip:hover{border-color:var(--accent)}.chip.active{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.stats{display:flex;gap:8px}.stat{flex:1;background:var(--board-bg);color:var(--accent-text);border-radius:6px;padding:6px 10px;text-align:center;min-width:0}.stat .label{font-size:10px;text-transform:uppercase;letter-spacing:1px;opacity:.85;font-weight:700}.stat .value{font-size:20px;font-weight:800;line-height:1.1;white-space:nowrap}.controls{display:flex;align-items:center;justify-content:space-between;gap:10px}.how{font-size:13px;opacity:.85;flex:1}.how b{font-weight:700}.btn{background:var(--accent);color:var(--accent-text);border:none;border-radius:6px;padding:10px 16px;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap;transition:filter .12s ease}.btn:hover{filter:brightness(1.05)}.btn:active{filter:brightness(.95)}.board{position:relative;background:var(--board-bg);border-radius:8px;padding:clamp(8px,2.5vw,12px)}.deck{display:grid;grid-template-columns:repeat(var(--cols, 4),1fr);gap:clamp(6px,2vw,10px)}.card{aspect-ratio:1 / 1;border:none;background:transparent;padding:0;cursor:pointer;perspective:600px;-webkit-tap-highlight-color:transparent}.card:disabled{cursor:default}.inner{position:relative;display:block;width:100%;height:100%;transition:transform .32s ease;transform-style:preserve-3d}.card.flipped .inner{transform:rotateY(180deg)}.face{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border-radius:8px;backface-visibility:hidden;-webkit-backface-visibility:hidden;font-size:clamp(24px,9vw,44px);line-height:1;user-select:none}.deck[data-diff=hard] .face{font-size:clamp(16px,6vw,30px)}.face.back{background:var(--cell-bg);background-image:radial-gradient(circle at 50% 40%,rgba(255,255,255,.18),transparent 60%)}.face.back:after{content:"?";font-size:clamp(18px,6vw,30px);font-weight:800;color:var(--accent);opacity:.55}.face.front{background:var(--surface);transform:rotateY(180deg);border:2px solid transparent}.card:not(.flipped):not(:disabled):hover .face.back{filter:brightness(1.08)}.card:not(.flipped):active .inner{transform:scale(.96)}.card.matched .face.front{border-color:#4caf7d;background:color-mix(in srgb,#4caf7d 18%,var(--surface));animation:matched .38s ease}@keyframes matched{0%{transform:rotateY(180deg) scale(1)}50%{transform:rotateY(180deg) scale(1.1)}to{transform:rotateY(180deg) scale(1)}}.overlay{position:absolute;inset:0;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:20px;background:var(--overlay-bg);z-index:10;opacity:0;pointer-events:none;transition:opacity .22s ease}.overlay.show{opacity:1;pointer-events:auto}.overlay .msg{font-size:clamp(24px,8vw,38px);font-weight:800}.overlay.win .msg{color:#4caf7d}.overlay .sub{font-size:15px;font-weight:700;opacity:.9}.overlay .actions{display:flex;gap:10px;margin-top:4px}
