:root{color-scheme:dark;--bg:#101827;--panel:#172235;--panel-2:#1c2a40;--line:#2b3a50;--muted:#8c9bb0;--text:#f4f7fb;--mint:#7ce6c1;--mint-dark:#163d3a;--coral:#ff927d;--yellow:#f4cf75}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 50% 0%,#1c3044 0%,var(--bg) 55%);color:var(--text);font-family:"DM Sans",sans-serif}.app{width:min(100% - 40px,980px);margin:0 auto}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff12}.brand{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;font:700 21px "Space Grotesk",sans-serif;letter-spacing:-1px}.brand-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--mint);color:#10242a;font-size:22px}.brand-dot,h1 span,.modal h2 span{color:var(--mint)}.top-note,.eyebrow,.control-label,.stat-label,.page-footer,.win-stats span{font-size:10px;font-weight:800;letter-spacing:1.5px}.top-note{color:#a9b6c7;display:flex;align-items:center;gap:9px}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 12px #7ce6c188}.intro{text-align:center;padding:48px 0 32px}.eyebrow{color:var(--mint);display:flex;justify-content:center;align-items:center;gap:8px}.eyebrow span{font-size:15px}h1,h2{font-family:"Space Grotesk",sans-serif;letter-spacing:-1.8px}h1{font-size:clamp(34px,5vw,50px);margin:12px 0 8px} .intro p{color:var(--muted);font-size:14px;margin:0}.game-shell{background:linear-gradient(145deg,#1b293d,#152135);border:1px solid #ffffff14;border-radius:20px;padding:24px 28px 18px;box-shadow:0 24px 70px #0003}.game-toolbar{display:flex;justify-content:space-between;align-items:end;gap:15px}.control-label,.stat-label{display:block;color:var(--muted);font-size:9px;margin-bottom:9px}.segmented{display:flex;gap:4px;padding:4px;background:#0e1828;border:1px solid #ffffff0c;border-radius:10px}.level-btn,.restart-btn{font:600 12px "DM Sans",sans-serif;border:0;cursor:pointer}.level-btn{background:transparent;color:#91a0b4;padding:8px 15px;border-radius:7px}.level-btn.active{background:var(--mint);color:#10242a}.restart-btn{background:#26364c;color:#e8eef5;padding:10px 14px;border:1px solid #ffffff12;border-radius:9px}.restart-btn span{font-size:17px;vertical-align:-1px;margin-right:5px}.stats{display:grid;grid-template-columns:repeat(3,1fr);margin:24px 0 15px;padding:15px 4px;border-top:1px solid #ffffff0d;border-bottom:1px solid #ffffff0d}.stat{display:flex;justify-content:center;align-items:center;gap:11px;border-right:1px solid #ffffff10}.stat:last-child{border:0}.stat-icon{font-size:20px;color:var(--mint)}.stat-label{margin:0 0 3px;font-size:8px}.stat strong{font:700 18px "Space Grotesk",sans-serif}.progress-track{height:4px;background:#ffffff10;border-radius:5px;overflow:hidden;margin:0 0 20px}.progress-fill{height:100%;width:0;background:var(--mint);transition:width .35s ease}.board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:660px;margin:0 auto}.card{aspect-ratio:1.18;border:0;background:transparent;padding:0;perspective:700px;cursor:pointer;min-width:0}.card-inner{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .45s cubic-bezier(.2,.7,.2,1)}.card.flipped .card-inner,.card.matched .card-inner{transform:rotateY(180deg)}.card-face{position:absolute;inset:0;display:grid;place-items:center;border-radius:13px;backface-visibility:hidden;-webkit-backface-visibility:hidden}.card-back{background:linear-gradient(145deg,#263a52,#1c2d43);border:1px solid #3b5069;color:#7890a9;font:600 27px "Space Grotesk",sans-serif;box-shadow:inset 0 1px #ffffff0c}.card:not(.matched):hover .card-back{border-color:#7ce6c188;transform:translateY(-2px)}.card-front{transform:rotateY(180deg);background:#24374c;border:1px solid #7ce6c155;font-size:clamp(27px,4vw,42px);box-shadow:inset 0 0 25px #7ce6c10c}.card.matched .card-front{background:#193c3a;border-color:#7ce6c1;color:var(--mint)}.card:focus-visible{outline:2px solid var(--mint);outline-offset:4px;border-radius:13px}.game-footer{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:10px;margin-top:18px}.game-footer kbd{border:1px solid #526178;border-radius:4px;padding:1px 5px;color:#c4cfdb}.game-footer #status{color:var(--mint)}.page-footer{display:flex;justify-content:space-between;color:#66758b;font-size:8px;padding:22px 2px 30px}.modal{position:fixed;inset:0;z-index:5;background:#080f1bd9;display:grid;place-items:center;padding:20px;backdrop-filter:blur(8px)}.modal.hidden{display:none}.modal-card{width:min(100%,390px);padding:36px 30px 30px;text-align:center;border:1px solid #ffffff1b;border-radius:20px;background:linear-gradient(145deg,#20334a,#152235);box-shadow:0 25px 90px #0008}.win-spark{margin:0 auto 15px;display:grid;place-items:center;width:56px;height:56px;border-radius:17px;background:#7ce6c11c;color:var(--mint);font-size:30px}.modal h2{font-size:32px;margin:12px 0 8px}.modal-card p{font-size:13px;color:var(--muted)}.win-stats{display:flex;justify-content:center;gap:50px;margin:25px 0}.win-stats div{display:grid;gap:5px}.win-stats strong{font:700 22px "Space Grotesk"}.win-stats span{color:var(--muted);font-size:8px}.play-again{width:100%;padding:13px;border:0;border-radius:10px;background:var(--mint);color:#10242a;font:700 13px "DM Sans";cursor:pointer}.play-again span{margin-left:8px;font-size:17px}
@media(max-width:600px){.app{width:min(100% - 24px,480px)}.topbar{height:65px}.top-note{font-size:8px}.intro{padding:36px 0 25px}.intro p{font-size:12px;line-height:1.5;max-width:290px;margin:auto}.game-shell{padding:17px 13px 15px;border-radius:15px}.game-toolbar{align-items:center}.level-btn{padding:8px 10px;font-size:11px}.restart-btn{font-size:11px;padding:9px}.stats{margin:18px 0 13px}.stat{gap:6px}.stat-icon{font-size:16px}.stat strong{font-size:16px}.board{gap:8px}.card-face{border-radius:10px}.card-back{font-size:23px}.game-footer{font-size:9px;flex-wrap:wrap}.page-footer{font-size:7px;gap:12px}.page-footer span:last-child{text-align:right}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}