:root{color-scheme:dark;--bg:#111114;--panel:#19191e;--text:#f5f4f7;--muted:#aaa6b4;--mint:#8ddbc0;--line:#373a40}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 0,#233b3455,transparent 65%),var(--bg);color:var(--text);font-family:system-ui,-apple-system,'Segoe UI','Noto Sans KR',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:3px solid var(--mint);outline-offset:4px}[hidden]{display:none!important}.site-header{border-bottom:1px solid #29292e;background:#111114}.nav{max-width:940px;margin:auto;padding:17px 24px;display:flex;justify-content:space-between;align-items:center}.logo{font-size:19px;font-weight:850;letter-spacing:-.7px}.nav-links{display:flex;gap:22px;font-size:13px;color:#c9c7d0}.site-header .nav-links a.current,.site-header .nav-links a.active,.site-header .nav-links a[aria-current="page"]{color:var(--mint)}.page{max-width:940px;margin:auto;padding:48px 24px 72px}.eyebrow{color:var(--mint);font-size:11px;font-weight:800;letter-spacing:2px}.page h1{font-size:clamp(28px,5vw,42px);letter-spacing:-1.3px;margin:14px 0}.muted{color:var(--muted);line-height:1.8;font-size:14px}.game-tile{display:block;margin-top:32px;max-width:600px;border:1px solid #416358;border-radius:20px;background:radial-gradient(circle at 90% 0,#33665366,transparent 65%),var(--panel);padding:30px;transition:transform .2s,border-color .2s}.game-tile:hover{transform:translateY(-3px);border-color:var(--mint)}.tile-top{display:flex;align-items:center;justify-content:space-between}.mini-cards{display:flex;gap:6px;transform:rotate(-8deg)}.mini-cards span{display:grid;place-items:center;width:42px;height:56px;border:1px solid #b9f1d5;border-radius:8px;background:#ddf6e8;color:#174137;font-size:22px;font-weight:800;box-shadow:0 6px 14px #0004}.mini-cards span:nth-child(2){transform:translateY(-8px)}.game-tile h2{font-size:23px;margin:25px 0 9px}.tile-meta{display:flex;gap:12px;margin:20px 0;font-size:11px;color:#b0c4bb}.tile-link{display:block;text-align:right;color:var(--mint);font-size:13px}.site-footer{padding:22px 18px;border-top:1px solid #29292e;text-align:center;font-size:12px;color:#898691}.site-footer a{text-decoration:underline;text-underline-offset:3px}.memory-main{max-width:720px;margin:auto;padding:32px 24px 45px}.game-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:25px}.game-heading h1{font-size:17px;letter-spacing:-.5px;margin:6px 0 0}.back-link{font-size:12px;color:var(--muted)}.surface{position:relative;border:1px solid #39453f;border-radius:24px;background:linear-gradient(145deg,#222a26,#181b20);box-shadow:0 20px 65px #0003;overflow:hidden}.start-screen{text-align:center;padding:48px 24px 35px}.start-screen h2{font-size:clamp(25px,5vw,37px);letter-spacing:-1.2px;margin:28px 0 9px}.start-screen .mini-cards{justify-content:center;margin:4px 0 34px;transform:rotate(-5deg)}.start-screen .mini-cards span{width:58px;height:76px;font-size:28px}.start-screen .mini-cards span:last-child{background:#254a3f;color:#a4e5c9}.subtitle{color:#d0d8d2;font-size:15px;line-height:1.7}.steps-strip{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin:25px 0}.steps-strip span{display:grid;place-items:center;width:28px;height:28px;border:1px solid #46524b;border-radius:7px;font-size:11px;color:#b4c9bc}.steps-strip span:last-child{background:#375c4b;color:#d8f7e7;border-color:#79b39b}.primary,.secondary{border:0;border-radius:12px;padding:15px 22px;font-weight:750;font-size:14px;min-height:48px;transition:background .2s,transform .2s}.primary{color:#103a2b;background:var(--mint)}.primary:hover{background:#b0f1d7;transform:translateY(-1px)}.secondary{color:#dcf4e8;background:#2b3933;border:1px solid #4b6357}.start-screen .primary{width:min(300px,100%);letter-spacing:2px;margin:8px 0 18px}.how-to{max-width:400px;margin:30px auto 0;text-align:left;border-top:1px solid #39433c;padding-top:22px;font-size:12px;color:#b8c5bd;line-height:1.8}.how-to ol{padding-left:20px;margin:10px 0}.how-to strong{color:#e6eee8}.best-small{font-size:12px;color:#a6b6ad;margin:10px 0}.play-screen{padding:24px}.hud{display:flex;justify-content:space-between;align-items:center;gap:12px}.stage-num{display:block;font-size:25px;font-weight:850;margin-top:4px;letter-spacing:-1px}.stage-num small{font-size:12px;font-weight:500;color:#a2b3a9;margin-left:6px}.next-label{text-align:right;font-size:11px;color:#aabdb1}.next-label strong{display:block;color:#e1f7e9;font-size:23px;margin-top:4px;font-variant-numeric:tabular-nums}.instruction{min-height:46px;display:flex;align-items:center;font-size:13px;color:#bcd6c9;margin:9px 0}.board{display:grid;grid-template-columns:repeat(var(--cols,4),minmax(0,1fr));gap:10px;perspective:1000px}.memory-card{position:relative;padding:0;border:0;border-radius:12px;background:transparent;height:80px;min-width:0;animation:arrive .32s ease both;animation-delay:calc(var(--i)*12ms);-webkit-tap-highlight-color:transparent;touch-action:manipulation}.card-inner{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .18s ease}.card-face{position:absolute;inset:0;display:grid;place-items:center;border-radius:12px;backface-visibility:hidden;-webkit-backface-visibility:hidden;border:1px solid #c5decf}.card-front{color:#163c2e;background:linear-gradient(145deg,#f1f5e9,#d2e7d8);font-size:clamp(23px,4vw,32px);font-weight:850;font-variant-numeric:tabular-nums;box-shadow:0 3px 0 #9cb8a7}.card-back{transform:rotateY(180deg);color:#7bbca1;background:radial-gradient(circle,#4a76613b 1px,transparent 1px) 0 0/10px 10px,linear-gradient(140deg,#294e3e,#1b352e);border-color:#527b68;font-size:23px}.card-back svg{width:22px;height:22px;opacity:.65}.memory-card.closed .card-inner{transform:rotateY(180deg)}.memory-card.correct .card-front{background:#a6e3c4;border-color:#82d9ac;box-shadow:0 3px 0 #477e61,0 0 20px #82d9ac20}.memory-card.wrong .card-front{background:#f1b9b5;border-color:#ef8b88;box-shadow:0 3px 0 #9f615b}.memory-card.wrong{animation:shake .3s}.memory-card:not(:disabled):hover .card-back{border-color:#a9e3c4;background-color:#335e4a}.stage-progress{display:flex;gap:7px;margin-top:22px}.stage-progress span{height:3px;flex:1;border-radius:3px;background:#34483e}.stage-progress .done{background:#8ddbc0}.stage-progress .active{background:#8ddbc066}.board.dense{gap:8px}.board.dense .memory-card{height:65px}.stage-overlay{position:absolute;inset:0;z-index:3;background:#161f1aee;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;backdrop-filter:blur(8px);animation:fade .25s}.stage-overlay strong{color:#aaf0cd;font-size:clamp(32px,7vw,52px);letter-spacing:4px}.stage-overlay p{color:#d2e1d7;font-size:15px}.result-screen{text-align:center;padding:44px 24px}.result-mark{display:grid;place-items:center;width:68px;height:68px;margin:0 auto 25px;border:1px solid #70a98d;border-radius:22px;color:#a4e8c4;font-size:30px;background:#2b4f3d;transform:rotate(-7deg)}.result-screen h2{font-size:clamp(32px,7vw,48px);margin:12px 0;color:#b5f3d3;letter-spacing:-1.5px}.result-screen.all-clear{background:radial-gradient(ellipse at 50% 0,#46724c66,transparent 70%)}.result-screen.all-clear .result-mark{border-color:#e2cf8d;color:#f5dfa1;background:#5d5230}.result-screen.all-clear h2{color:#f4dfa0;letter-spacing:2px}.result-subtitle{color:#e5eee8;font-size:17px;line-height:1.8}.result-detail{font-size:12px;color:#98aca0;margin:17px 0 26px}.result-actions{display:flex;justify-content:center;gap:10px;margin-top:26px}.share-status{min-height:22px;color:#b8d8c5;font-size:12px;line-height:1.7;margin-top:18px}.manual-copy{width:100%;min-height:116px;padding:12px;border:1px solid #709582;border-radius:10px;color:#eef8f2;background:#17291e;font:inherit;font-size:13px;resize:vertical}.privacy-note{text-align:center;color:#788e7f;font-size:11px;line-height:1.8;margin-top:20px}@keyframes arrive{from{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}@keyframes fade{from{opacity:0}to{opacity:1}}@keyframes shake{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
@media(max-width:600px){.nav{padding:15px 18px}.nav-links{gap:14px;font-size:12px}.page{padding:35px 18px 60px}.game-tile{padding:24px}.memory-main{padding:22px 16px 30px}.game-heading{margin-bottom:18px}.surface{border-radius:19px}.start-screen{padding:36px 20px 25px}.play-screen{padding:18px 14px}.board{gap:8px}.memory-card{height:clamp(54px,12vw,72px)}.board.dense{gap:6px}.board.dense .memory-card{height:clamp(34px,calc((100svh - 300px)/8),58px)}.board.dense .card-face{border-radius:8px;font-size:20px}.board.dense .memory-card{border-radius:8px}.stage-num{font-size:22px}.instruction{font-size:12px;min-height:42px;margin:7px 0}.stage-progress{margin-top:17px}.result-screen{padding:35px 18px}.result-actions{gap:8px}.result-actions button{flex:1;padding:14px 10px}.memory-main.is-playing{padding-top:15px;padding-bottom:16px}.is-playing .game-heading{margin-bottom:12px}.is-playing+.site-footer{display:none}.is-playing .privacy-note{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

@media(max-width:600px){.is-playing.final-stage .game-heading h1{display:none}.is-playing.final-stage .play-screen{padding-top:12px}.is-playing.final-stage .instruction{min-height:32px}.is-playing.final-stage .game-heading{margin-bottom:10px}}

.board.dense .card-inner{transition-duration:.12s}
