:root{--bg: #f7fbf7;--panel: #ffffff;--text: #18211f;--muted: #52625c;--primary: #146c5b;--primary-dark: #0d4d41;--secondary: #e8f3ef;--line: #cddbd5;--warn: #8a5a00;--danger: #8f2d2d;--ok: #1f6f45;--shadow: 0 18px 42px rgba(17, 45, 37, .12);--radius: 8px}*{box-sizing:border-box}.memory-game-page{margin:-.5rem -1rem 0;min-height:calc(100vh - 8rem);background:radial-gradient(circle at 10% 0%,rgba(20,108,91,.11),transparent 30rem),linear-gradient(180deg,#f7fbf7,#eef6f3);color:var(--text);font-family:PingFang SC,Microsoft YaHei,Noto Sans CJK SC,Arial,sans-serif;font-size:16px;line-height:1.65}button,input{font:inherit}.memory-game-app{width:min(820px,100%);margin:0 auto;padding:22px 20px 28px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:18px}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#d8ece5;color:var(--primary-dark);font-size:22px}.privacy{color:var(--muted);font-size:14px;text-align:right}.screen{display:none;background:#ffffffed;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:clamp(20px,4vw,34px)}.screen.active{display:block}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(32px,4vw,40px);line-height:1.25;margin-bottom:18px;letter-spacing:0}h2{font-size:clamp(24px,3vw,30px);line-height:1.3;margin-bottom:14px;letter-spacing:0}h3{font-size:18px;margin-bottom:10px;letter-spacing:0}.lead{font-size:17px;color:var(--muted);max-width:680px}.notice{display:flex;gap:14px;align-items:flex-start;background:#fff8e8;border:1px solid #efd18f;border-radius:var(--radius);color:#503900;padding:16px;margin:22px 0}.notice strong{color:#3b2a00}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:26px 0}.step{background:var(--secondary);border:1px solid #cfe3dc;border-radius:var(--radius);padding:16px;min-height:116px}.step-icon{font-size:24px;line-height:1;margin-bottom:8px}.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px}.btn{min-height:46px;border:2px solid transparent;border-radius:var(--radius);padding:10px 18px;cursor:pointer;font-weight:800;color:#fff;background:var(--primary);transition:transform .12s ease,background .12s ease,border-color .12s ease}.btn:hover,.btn:focus-visible{background:var(--primary-dark);outline:none;transform:translateY(-1px)}.btn.secondary{color:var(--primary-dark);background:#fff;border-color:var(--primary)}.btn.secondary:hover,.btn.secondary:focus-visible{background:#eef8f4}.btn:disabled{cursor:not-allowed;opacity:.55;transform:none}.progress-wrap{margin-bottom:24px}.progress-row{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-weight:700;margin-bottom:10px}.progress{width:100%;height:16px;border-radius:999px;overflow:hidden;background:#dce8e4}.progress span{display:block;height:100%;width:0%;background:linear-gradient(90deg,#146c5b,#4d9d79);transition:width .18s ease}.word-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:26px 0}.word-card{display:grid;place-items:center;min-height:112px;background:#eff8f4;border:2px solid #b8d9cc;border-radius:var(--radius);font-size:clamp(22px,3vw,28px);font-weight:900;color:var(--primary-dark);text-align:center}.question-layout{display:grid;gap:24px}.visual{min-height:180px;display:grid;place-items:center;background:#f0f6f3;border:1px solid var(--line);border-radius:var(--radius);padding:18px}.big-symbol{font-size:clamp(72px,15vw,130px);line-height:1}.shape-board{display:grid;grid-template-columns:repeat(4,72px);gap:12px;justify-content:center}.shape{width:72px;height:72px;display:grid;place-items:center;border-radius:var(--radius);background:#fff;border:2px solid #bfd5ce;font-size:28px}.options{display:grid;gap:12px;margin-top:22px}.option{width:100%;min-height:64px;padding:14px 18px;border-radius:var(--radius);border:2px solid var(--line);background:#fff;color:var(--text);text-align:left;cursor:pointer;font-weight:750}.option:hover,.option:focus-visible{outline:none;border-color:var(--primary);background:#f1faf6}.option.selected{border-color:var(--primary);background:#dff1ea;box-shadow:inset 0 0 0 2px #146c5b1f}.option .hint{display:block;color:var(--muted);font-size:14px;font-weight:500;margin-top:4px}.feedback{min-height:32px;color:var(--danger);font-weight:800;margin-top:12px}.mini-note{color:var(--muted);font-size:14px;margin-bottom:0}.result-head{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;margin-bottom:22px}.result-badge{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;background:#e7f5ee;color:var(--ok);font-size:34px;font-weight:900}.score-box{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0}.score-item{border:1px solid var(--line);background:#fff;border-radius:var(--radius);padding:16px}.score-item strong{display:block;font-size:22px;color:var(--primary-dark)}.advice{border-left:6px solid var(--primary);background:#f2faf6;padding:18px;border-radius:var(--radius)}.details{margin-top:20px;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.details ul{margin:8px 0 0;padding-left:24px}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);width:min(560px,calc(100% - 32px));padding:14px 18px;border-radius:var(--radius);background:#123d34;color:#fff;box-shadow:var(--shadow);text-align:center;font-weight:800;opacity:0;pointer-events:none;transition:opacity .16s ease}.toast.show{opacity:1}@media(max-width:720px){.memory-game-page{font-size:16px}.memory-game-app{padding:14px}.topbar,.result-head{align-items:flex-start;grid-template-columns:1fr;flex-direction:column}.privacy{text-align:left}.steps,.score-box,.word-grid{grid-template-columns:1fr}.word-card{min-height:78px}.shape-board{grid-template-columns:repeat(3,64px)}.shape{width:64px;height:64px}.btn,.option{width:100%}}@media print{.memory-game-page{background:#fff}.topbar,.actions,#introScreen,#memoryScreen,#quizScreen{display:none!important}.screen{display:block;box-shadow:none;border:0}}
