:root{--c-bg: #F8F5F1;--c-card: #FFFFFF;--c-ink: #232726;--c-muted: #82867F;--c-line: #E7E3DB;--c-ledge: #E2DCD2;--c-accent: #E5622E;--c-accent-dark: #B84718;--c-accent-soft: #FDEDE4;--c-ok: #1B9C6E;--c-ok-dark: #137553;--c-ok-soft: #E6F5EF;--c-bad: #D8452C;--c-bad-soft: #FBE9E4;--r-sm: 12px;--r-md: 16px;--r-lg: 22px;--r-pill: 999px;--shadow-1: 0 2px 8px rgba(60, 45, 30, .05);--shadow-2: 0 10px 24px rgba(70, 50, 30, .08);--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 22px;--s6: 32px;--font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--t-display: 44px;--t-title: 28px;--t-body: 17px;--t-label: 14px;--t-caption: 11px;--icon: 22px;--icon-sm: 18px}.ico{width:var(--icon);height:var(--icon);display:block;flex:0 0 auto}.ico-sm{width:var(--icon-sm);height:var(--icon-sm)}:root{--c-bg: #FBF6F1;--c-line: #ECE4DC;--c-ledge: #E4DAD0;--c-ink: #2B2B29;--c-muted: #8C877F;--font: ui-rounded, "SF Pro Rounded", system-ui, -apple-system, "Segoe UI", sans-serif;--bg: var(--c-bg);--card: var(--c-card);--ink: var(--c-ink);--muted: var(--c-muted);--line: var(--c-line);--ledge: var(--c-ledge);--fox: var(--c-accent);--fox-dark: var(--c-accent-dark);--fox-soft: var(--c-accent-soft);--green: var(--c-ok);--green-dark: var(--c-ok-dark);--green-soft: var(--c-ok-soft);--red: var(--c-bad);--red-soft: var(--c-bad-soft);--shadow: var(--shadow-1)}*{box-sizing:border-box}body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}#app{max-width:480px;margin:0 auto;min-height:100vh;padding:18px 16px 28px}.dir,.game-pick,.opt,.pair,.tile,.check{border:none;cursor:pointer;font-family:inherit;transition:transform .06s ease,box-shadow .06s ease,background .15s ease,border-color .15s ease}.dir:active,.game-pick:active,.opt:active,.pair:active,.tile:active,.check:active{transform:translateY(2px)}@media (prefers-reduced-motion: reduce){*{transition:none!important}}:focus-visible{outline:3px solid var(--fox);outline-offset:2px}.start{text-align:center;padding-top:34px}.start h1{margin:12px 0 4px;font-size:36px;letter-spacing:-1px}.start p.claim{color:var(--muted);margin:0 0 26px;font-size:16px}.dir{display:flex;align-items:center;gap:14px;text-align:left;width:100%;margin:12px 0;padding:16px 18px;border-radius:var(--r-lg);background:var(--card);color:var(--ink);box-shadow:0 3px 0 var(--ledge),var(--shadow-1)}.dir .flag{font-size:26px;line-height:1}.dir .lines{flex:1;display:flex;flex-direction:column;gap:2px}.dir .t{font-size:var(--t-body);font-weight:700}.dir .s{font-size:13px;color:var(--muted);font-weight:400}.dir:active{box-shadow:0 1px 0 var(--ledge),var(--shadow-1)}.dir.primary{background:var(--fox);color:#fff;box-shadow:0 3px 0 var(--fox-dark),var(--shadow-1)}.dir.primary .s{color:#ffffffd1}.dir.primary:active{box-shadow:0 1px 0 var(--fox-dark),var(--shadow-1)}.langswitch{display:flex;justify-content:center;gap:8px;margin-bottom:10px}.langpick{border:1px solid var(--ledge);background:var(--card);color:var(--muted);border-radius:999px;padding:10px 16px;font-family:inherit;font-size:14px;cursor:pointer}.langpick.on{background:var(--fox-soft);border-color:var(--fox);color:var(--ink);font-weight:700}.start .foot{margin-top:26px;font-size:13px;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:6px}.head{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:nowrap}.flame{display:flex;align-items:center;gap:5px;white-space:nowrap;background:var(--fox-soft);color:var(--fox);border-radius:var(--r-pill);padding:5px 11px 5px 8px;font-size:var(--t-label);font-weight:800;font-variant-numeric:tabular-nums}.goal{flex:1;min-width:60px;display:flex;flex-direction:column;gap:5px}.goal-row{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--t-caption);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.goal-row b{color:var(--ink);font-size:12px;font-variant-numeric:tabular-nums}.goalbar{height:9px;background:#efe5da;border-radius:var(--r-pill);overflow:hidden}.goalfill{height:100%;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--fox),#F08A4B);transition:width .35s ease}.iconbtn{width:36px;height:36px;display:grid;place-items:center;padding:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--muted);cursor:pointer;box-shadow:0 2px 0 var(--ledge)}.iconbtn:active{transform:translateY(2px);box-shadow:none}.tools{position:relative}.tools>summary{list-style:none;cursor:pointer}.tools>summary::-webkit-details-marker{display:none}.tools[open]>summary .iconbtn{color:var(--fox);border-color:var(--fox)}.tools-menu{position:absolute;right:0;top:42px;z-index:20;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-2);padding:6px;min-width:186px;display:flex;flex-direction:column}.tools-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:10px;border:none;background:none;cursor:pointer;font:inherit;font-size:15px;color:var(--ink);text-align:left;border-radius:10px}.tools-menu button:active{background:var(--fox-soft);color:var(--fox)}.tools-menu .ico{color:var(--muted)}.tools-xp{display:flex;align-items:center;gap:10px;padding:10px;font-size:var(--t-label);font-weight:700;color:var(--fox);border-bottom:1px solid var(--line);margin-bottom:4px}.card{background:var(--card);border-radius:var(--r-lg);padding:24px 20px 22px;text-align:center;position:relative;min-height:96px;box-shadow:0 2px 0 var(--ledge),var(--shadow-2)}.bg{font-size:var(--t-display);font-weight:800;word-break:break-word;letter-spacing:-1px}.intro .bg{cursor:pointer}.lat{color:var(--muted);margin-top:4px;font-size:var(--t-label);font-family:var(--font-mono);letter-spacing:.02em}.hint{color:var(--muted);margin-bottom:8px}.speak{position:absolute;top:14px;right:14px;width:38px;height:38px;display:grid;place-items:center;padding:0;border:none;border-radius:50%;cursor:pointer;background:var(--fox-soft);color:var(--fox);box-shadow:0 2px #f3d6c5}.speak:active{transform:translateY(2px);box-shadow:none}.speak-big{width:88px;height:88px;margin:6px auto 0;display:grid;place-items:center;border:none;border-radius:50%;cursor:pointer;background:var(--fox-soft);color:var(--fox);box-shadow:0 4px #f3d6c5}.speak-big .ico{width:40px;height:40px}.speak-big:active{transform:translateY(2px);box-shadow:0 1px #f3d6c5}.card-fox{position:absolute;top:14px;left:14px;width:34px;height:34px;opacity:.95}.opts{display:flex;flex-direction:column;gap:11px;margin-top:18px}.opt{padding:15px;font-size:18px;font-weight:600;border-radius:var(--r-md);background:var(--card);color:var(--ink);box-shadow:0 4px 0 var(--ledge),var(--shadow)}.opt:active{box-shadow:0 1px 0 var(--ledge),var(--shadow)}.opt.right{background:var(--green-soft);color:var(--green-dark);box-shadow:0 4px 0 var(--green)}.opt.wrong{background:var(--red-soft);color:var(--red);box-shadow:0 4px 0 var(--red)}.intro{box-shadow:0 2px 0 var(--ledge),0 0 0 2px var(--fox-soft),var(--shadow-2)}.introlabel{color:var(--fox);font-weight:700;font-size:10px;letter-spacing:.16em;font-family:var(--font-mono);text-transform:uppercase;margin-bottom:10px}.introrule{width:36px;height:2px;border-radius:2px;background:var(--line);margin:16px auto 14px}.meaning{font-size:22px;font-weight:600;color:var(--ink)}.card-hint{text-align:center;font-size:13px;color:var(--muted);margin-top:10px}.pairs-title{text-align:center;color:var(--muted);margin-bottom:12px}.pairs{display:flex;gap:12px}.col{flex:1;display:flex;flex-direction:column;gap:11px}.pair{position:relative;padding:15px;font-size:18px;font-weight:600;border-radius:var(--r-md);background:var(--card);color:var(--ink);box-shadow:0 4px 0 var(--ledge),var(--shadow)}.pair-speak{position:absolute;right:9px;top:50%;transform:translateY(-50%);color:var(--fox);opacity:.5;pointer-events:none}.pair.sel .pair-speak,.pair.solved .pair-speak{opacity:.85}.pair:active{box-shadow:0 1px 0 var(--ledge),var(--shadow)}.pair small{display:block;color:var(--muted);font-size:12px;font-weight:400;margin-top:2px}.pair.sel{background:#fff3ec;box-shadow:0 4px 0 var(--fox)}.pair.solved{background:var(--green-soft);box-shadow:0 4px 0 var(--green);opacity:.55;pointer-events:none}.pair.wrong{background:var(--red-soft);box-shadow:0 4px 0 var(--red)}.build{min-height:52px;border:2px dashed var(--line);border-radius:var(--r-md);padding:9px;margin:14px 0;display:flex;flex-wrap:wrap;gap:8px;background:#fffcf9}.tiles{display:flex;flex-wrap:wrap;gap:9px}.tile{padding:11px 15px;font-size:18px;font-weight:600;border-radius:12px;background:var(--card);color:var(--ink);box-shadow:0 3px 0 var(--ledge),var(--shadow)}.tile:active{box-shadow:0 1px 0 var(--ledge),var(--shadow)}.tile.used{opacity:.3;pointer-events:none}.tile.placed{background:var(--green-soft);box-shadow:0 3px 0 var(--green)}.check{width:100%;margin-top:16px;padding:17px;font-size:18px;font-weight:800;border-radius:var(--r-lg);display:flex;align-items:center;justify-content:center;gap:8px;background:var(--fox);color:#fff;box-shadow:0 4px 0 var(--fox-dark)}.check:active{box-shadow:0 1px 0 var(--fox-dark)}.feedback{text-align:center;margin-top:18px;font-size:18px;font-weight:700;padding:12px 16px;border-radius:var(--r-md)}.feedback.ok{color:var(--green-dark);background:var(--green-soft)}.feedback.no{color:var(--red);background:var(--red-soft)}.games-menu{text-align:center;padding-top:14px}.games-menu h2{font-size:24px;margin:8px 0 18px;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--fox)}.game-pick{display:block;width:100%;margin:12px 0;padding:17px;font-size:18px;font-weight:600;border-radius:var(--r-md);background:var(--card);color:var(--ink);box-shadow:0 4px 0 var(--ledge),var(--shadow)}.game-pick:active{box-shadow:0 1px 0 var(--ledge),var(--shadow)}.game-pick.ghost{color:var(--muted);box-shadow:0 4px 0 var(--ledge)}.score{text-align:center;font-weight:700;color:var(--muted);margin-bottom:6px}.emoji-big{font-size:104px;text-align:center;margin:14px 0 20px;line-height:1}.alphabet{text-align:center}.letter-big{font-size:104px;font-weight:800;margin:12px auto 6px;line-height:1;width:150px;height:150px;display:flex;align-items:center;justify-content:center;color:var(--fox);background:var(--fox-soft);border-radius:32px;box-shadow:0 2px 0 var(--ledge),var(--shadow-1)}.alphabet .speak{position:static;display:inline-block;margin-top:6px}.alphabet .hint{text-align:center;color:var(--muted);margin-bottom:12px}.alphabet .ex{text-align:center;margin-top:16px;min-height:26px;font-weight:700;color:var(--ink)}.alphabet.confuse .letter-big{box-shadow:0 2px 0 var(--ledge),0 0 0 3px var(--fox)}.alphabet.confuse .hint{color:var(--fox);font-weight:600}.alphabet.listen .speak-big{margin:6px auto 4px}.opts.letter-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.letter-opt{font-size:22px}.letter-opt b{font-weight:800;margin-right:4px}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:16px}.mcard{min-height:66px;font-size:15px;font-weight:600;border:none;border-radius:14px;background:var(--fox);color:var(--fox);cursor:pointer;word-break:break-word;padding:4px;box-shadow:0 4px 0 var(--fox-dark)}.mcard.open{background:var(--card);color:var(--ink);box-shadow:0 4px 0 var(--ledge)}.mcard.solved{background:var(--green-soft);color:var(--green-dark);box-shadow:0 4px 0 var(--green);pointer-events:none}.mcard.wrong{background:var(--red-soft);color:var(--red);box-shadow:0 4px 0 var(--red)}.gameover{text-align:center;padding-top:18px}.gameover h2{font-size:24px;margin:10px 0}.gameover .big{font-size:30px;font-weight:800;color:var(--fox)}.settings{padding-top:14px}.settings h2{display:flex;align-items:center;gap:8px;font-size:24px;margin:6px 0 4px}.settings .claim{color:var(--muted);margin:0 0 20px}.settings .switch-row,.settings .time-row{display:flex;align-items:center;justify-content:space-between;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px 18px;margin:12px 0;font-size:18px;font-weight:600}.settings .switch-row input{width:26px;height:26px;accent-color:var(--fox)}.settings .time-row input{font-size:20px;font-weight:700;padding:6px 10px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink)}
