:root{--paper: #fbf7ef;--paper-2: #f3ecdf;--card: #ffffff;--ink: #1d1b16;--ink-2: #5d574b;--line: #e4dccb;--blue: #0b3d91;--blue-soft: #e6edf9;--yellow: #f2c21b;--yellow-soft: #fdf3cc;--red: #c8102e;--red-soft: #fbe5e8;--ok: #1b7a4b;--ok-soft: #e1f3e9;--bad: #b3261e;--bad-soft: #fbe4e2;--on-accent: #ffffff;--shadow: 0 1px 0 rgb(29 27 22 / 4%), 0 8px 24px -12px rgb(29 27 22 / 22%);--shadow-lift: 0 2px 0 rgb(29 27 22 / 6%), 0 16px 32px -14px rgb(11 61 145 / 35%);--r-s: 10px;--r-m: 16px;--r-l: 24px;--gut: 16px;--tab-h: 64px;--serif: ui-serif, "New York", "Iowan Old Style", Georgia, "Times New Roman", serif;--sans: -apple-system, system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--round: ui-rounded, "SF Pro Rounded", -apple-system, system-ui, sans-serif;--fast: .14s;--normal: .26s;--ease: cubic-bezier(.16, 1, .3, 1);--stitch: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='14' viewBox='0 0 28 14'%3E%3Cg fill='%23c8102e'%3E%3Cpath d='M7 1l6 6-6 6-6-6z'/%3E%3C/g%3E%3Cg fill='%230b3d91'%3E%3Cpath d='M21 4l3 3-3 3-3-3z'/%3E%3C/g%3E%3C/svg%3E");color-scheme:light}:root[data-theme=dark]{--paper: #0f1422;--paper-2: #151b2c;--card: #192034;--ink: #f2ede3;--ink-2: #a9a497;--line: #2a3350;--blue: #7fa6ff;--blue-soft: #1b2850;--yellow: #f5cd45;--yellow-soft: #3a3214;--red: #ff6b81;--red-soft: #3d1a22;--ok: #4fd18b;--ok-soft: #12352a;--bad: #ff8a80;--bad-soft: #3d1c1a;--on-accent: #0f1422;--shadow: 0 1px 0 rgb(0 0 0 / 30%), 0 10px 26px -14px rgb(0 0 0 / 70%);--shadow-lift: 0 2px 0 rgb(0 0 0 / 30%), 0 16px 32px -14px rgb(0 0 0 / 80%);--stitch: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='14' viewBox='0 0 28 14'%3E%3Cg fill='%23ff6b81'%3E%3Cpath d='M7 1l6 6-6 6-6-6z'/%3E%3C/g%3E%3Cg fill='%237fa6ff'%3E%3Cpath d='M21 4l3 3-3 3-3-3z'/%3E%3C/g%3E%3C/svg%3E");color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 var(--sans);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overflow-x:hidden}button,input,select{font:inherit;color:inherit}a{color:var(--blue)}h1,h2,h3,p{margin:0}[hidden]{display:none!important}.ic{width:22px;height:22px;flex:none}.flip{transform:rotate(180deg)}:focus-visible{outline:3px solid var(--yellow);outline-offset:2px;border-radius:6px}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;z-index:50;background:var(--card);padding:8px 12px}.muted{color:var(--ink-2)}.small{font-size:13px}.center{text-align:center}.warn{background:var(--yellow-soft);border-radius:var(--r-s);padding:10px 12px;font-size:14px;margin:8px 0}.danger{color:var(--bad)!important}#view{max-width:560px;margin:0 auto;padding:calc(env(safe-area-inset-top) + 12px) var(--gut) calc(var(--tab-h) + env(safe-area-inset-bottom) + 28px);outline:none;min-height:100dvh}.view-in{animation:rise var(--normal) var(--ease)}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}body.full .tabbar{display:none}body.full #view{padding-bottom:calc(env(safe-area-inset-bottom) + 24px)}.tabbar{position:fixed;inset:auto 0 0;z-index:20;display:grid;grid-template-columns:repeat(5,1fr);height:calc(var(--tab-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:color-mix(in srgb,var(--paper) 88%,transparent);-webkit-backdrop-filter:saturate(160%) blur(16px);backdrop-filter:saturate(160%) blur(16px);border-top:1px solid var(--line)}.tabbar a{display:grid;place-items:center;align-content:center;gap:2px;color:var(--ink-2);text-decoration:none;font-size:11px;font-weight:600;letter-spacing:.01em;transition:color var(--fast)}.tabbar a[aria-current=page]{color:var(--blue)}.tabbar a[aria-current=page] .ic{transform:translateY(-1px) scale(1.08)}.tabbar .ic{transition:transform var(--normal) var(--ease)}.vh{display:flex;align-items:flex-start;gap:10px;margin:8px 0 18px}.vh h1{font:700 30px/1.1 var(--serif);letter-spacing:-.01em}.vh-sub{color:var(--ink-2);font-size:14px;margin-top:6px}.vh-back,.icon-btn{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;text-decoration:none}.vh-back:active,.icon-btn:active{transform:scale(.94)}.altita{height:14px;background:var(--stitch) repeat-x center / 28px 14px;opacity:.9}.hero{position:relative;overflow:hidden;margin:0 calc(var(--gut) * -1) 18px;padding:0 var(--gut) 20px;background:linear-gradient(180deg,var(--paper-2),var(--paper));border-bottom:1px solid var(--line)}.hero .altita{margin:0 calc(var(--gut) * -1) 18px}.hero:after{content:"";position:absolute;right:-40px;top:34px;width:150px;height:150px;border-radius:50%;background:conic-gradient(var(--blue) 0 33%,var(--yellow) 0 66%,var(--red) 0);opacity:.1}.hero-kicker{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--red)}.hero-title{font:700 clamp(34px,9vw,44px)/1.02 var(--serif);letter-spacing:-.02em;margin-top:6px}.hero-title .nm{color:var(--blue)}.hero-sub{color:var(--ink-2);margin-top:8px;max-width:34ch}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px}.stat{position:relative;display:grid;align-content:start;gap:2px;min-height:86px;padding:12px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-m);box-shadow:var(--shadow);text-decoration:none;color:inherit}.stat-n{display:flex;align-items:center;gap:2px;font:700 26px/1.1 var(--round);font-variant-numeric:tabular-nums}.stat-n.sm{font-size:18px;position:absolute;left:12px;top:26px;width:52px;justify-content:center}.stat-n small{font-size:11px;color:var(--ink-2)}.stat-l{font-size:12px;color:var(--ink-2);line-height:1.25}.stat-ring .stat-l{margin-top:2px}.stat-accent{background:var(--blue);border-color:var(--blue);color:var(--on-accent)}.stat-accent .stat-l{color:color-mix(in srgb,var(--on-accent) 80%,transparent)}.stat-link .stat-l{color:var(--blue);font-weight:600}.fire{color:var(--red);width:24px;height:24px}.ring{transform:rotate(-90deg)}.ring-bg{fill:none;stroke:var(--paper-2);stroke-width:6}.ring-fg{fill:none;stroke:var(--yellow);stroke-width:6;stroke-linecap:round;transition:stroke-dashoffset .6s var(--ease)}.banner{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center;margin:0 0 18px;padding:14px 16px;border-radius:var(--r-m);text-decoration:none;color:var(--ink);background:var(--yellow-soft);border:1px solid color-mix(in srgb,var(--yellow) 50%,transparent)}.banner span{font-size:14px;color:var(--ink-2);grid-column:1}.banner .ic{grid-row:1 / 3;grid-column:2;color:var(--ink-2)}.block{margin:0 0 24px}.h2{font:700 20px/1.2 var(--serif);margin:0 0 12px}.lead{color:var(--ink-2);margin:0 0 14px}.plan{list-style:none;margin:0;padding:0;display:grid;gap:8px}.plan-item{display:flex;align-items:center;gap:12px;padding:14px;text-decoration:none;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:var(--r-m);box-shadow:var(--shadow);transition:transform var(--fast),box-shadow var(--fast)}.plan-item:active{transform:scale(.985)}.plan-item>.ic{color:var(--ink-2)}.plan-mark{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:12px;background:var(--paper-2);font-size:20px}.plan-txt{flex:1;display:grid}.plan-txt small{color:var(--ink-2);font-size:13px}.plan-item.done{opacity:.7}.plan-item.done .plan-mark{background:var(--ok-soft);color:var(--ok)}.plan-item.done b{text-decoration:line-through;text-decoration-color:var(--ok)}.tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tile{display:grid;align-content:end;gap:2px;min-height:148px;padding:14px;border-radius:var(--r-l);text-decoration:none;color:var(--ink);background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);transition:transform var(--fast)}.tile:active{transform:scale(.97)}.tile small{font-size:12px;color:var(--ink-2);line-height:1.3}.tile-big{font:700 28px/1 var(--serif);margin-bottom:auto}.tile-big .ic{width:34px;height:34px}.tile-blue{background:var(--blue);border-color:var(--blue);color:var(--on-accent)}.tile-yellow{background:var(--yellow);border-color:var(--yellow);color:#1d1b16}.tile-red{background:var(--red);border-color:var(--red);color:var(--on-accent)}.tile-blue small,.tile-red small{color:color-mix(in srgb,var(--on-accent) 82%,transparent)}.tile-yellow small{color:#1d1b16bf}.foot-note{text-align:center;color:var(--ink-2);font-size:13px}.alpha-card{display:grid;gap:8px;padding:18px;margin:0 0 24px;border-radius:var(--r-l);text-decoration:none;background:var(--blue);color:var(--on-accent);box-shadow:var(--shadow-lift)}.alpha-letters{font:700 30px/1 var(--serif);letter-spacing:.04em}.alpha-card small{display:block;font-size:13px;opacity:.85}.unit{margin:0 0 22px}.unit-h{display:flex;align-items:center;gap:12px;margin-bottom:10px}.unit-h h2{font:700 19px/1.2 var(--serif)}.unit-h p{font-size:13px;color:var(--ink-2);font-style:italic}.unit-n{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--paper-2);font:700 15px var(--round)}.unit-p{margin-left:auto;font:600 13px var(--round);color:var(--ink-2)}.lessons{list-style:none;padding:0 0 0 16px;border-left:2px dashed var(--line);margin:0 0 0 16px;display:grid;gap:8px}.lesson-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--r-m);text-decoration:none;color:var(--ink);background:var(--card);border:1px solid var(--line)}.lesson-row.next{border-color:var(--blue);box-shadow:var(--shadow-lift)}.lesson-dot{display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:50%;border:2px solid var(--line);font-size:13px;font-weight:700}.lesson-row.done .lesson-dot{background:var(--ok);border-color:var(--ok);color:var(--on-accent)}.lesson-row.next .lesson-dot{background:var(--blue);border-color:var(--blue);color:var(--on-accent)}.lesson-t{flex:1;display:grid;min-width:0}.lesson-t small{font-size:13px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stars{color:var(--yellow);letter-spacing:1px;font-size:14px}.letters{display:grid;grid-template-columns:repeat(auto-fill,minmax(62px,1fr));gap:8px}.letter{display:grid;justify-items:center;gap:2px;padding:10px 4px;border-radius:var(--r-s);cursor:pointer;border:1px solid var(--line);background:var(--card);transition:transform var(--fast),background var(--fast)}.letter:active{transform:scale(.95)}.letter-l{font:700 20px/1.1 var(--serif)}.letter-s{font-size:12px;color:var(--ink-2)}.letter.star{border-color:color-mix(in srgb,var(--red) 45%,var(--line))}.letter.star .letter-l{color:var(--red)}.letter.on{background:var(--blue);color:var(--on-accent);border-color:var(--blue)}.letter.on .letter-l,.letter.on .letter-s{color:inherit}.letter-detail{display:flex;gap:14px;margin-top:12px;padding:16px;border-radius:var(--r-m);background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);animation:rise var(--normal) var(--ease)}.ld-big{font:700 44px/1 var(--serif);color:var(--blue);min-width:64px}.ld-body{display:grid;gap:6px}.ld-word{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.ld-tip{font-size:14px;color:var(--ink-2)}.combos{list-style:none;padding:0;margin:0;display:grid;gap:6px}.combos li{display:grid;grid-template-columns:82px 1fr auto;grid-template-areas:"c w b" "s w b";align-items:center;gap:0 10px;padding:10px 12px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-s)}.combo-c{grid-area:c;font:700 17px var(--serif);color:var(--red)}.combo-s{grid-area:s;font-size:13px;color:var(--ink-2)}.combo-w{grid-area:w;display:grid}.combo-w small{color:var(--ink-2);font-size:12px}.combos .say{grid-area:b}.say{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;cursor:pointer;flex:none;border:1px solid var(--line);background:var(--blue-soft);color:var(--blue);transition:transform var(--fast)}.say:active{transform:scale(.92)}.say.speaking{animation:pulse .9s var(--ease) infinite}.say-big{width:64px;height:64px}.slow-e{font-size:19px;line-height:1}.say-big .slow-e{font-size:28px}.say-big .ic{width:28px;height:28px}.say-row{display:flex;gap:10px;justify-content:center;margin:10px 0 2px}@keyframes pulse{50%{transform:scale(1.08);box-shadow:0 0 0 6px color-mix(in srgb,var(--blue) 18%,transparent)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:12px 18px;border-radius:14px;border:1px solid var(--line);background:var(--card);color:var(--ink);font-weight:650;text-decoration:none;cursor:pointer;transition:transform var(--fast),filter var(--fast),opacity var(--fast)}.btn:active{transform:translateY(1px) scale(.99)}.btn:disabled{opacity:.45;cursor:default}.btn-wide{width:100%;margin:8px 0}.btn-primary{background:var(--blue);border-color:var(--blue);color:var(--on-accent);box-shadow:0 3px color-mix(in srgb,var(--blue) 60%,#000)}.btn-primary:active{box-shadow:0 1px color-mix(in srgb,var(--blue) 60%,#000);transform:translateY(2px)}.btn-ok{background:var(--ok);border-color:var(--ok);color:var(--on-accent);width:100%}.btn-bad{background:var(--bad);border-color:var(--bad);color:var(--on-accent)}.sheet .btn-bad{width:100%}.btn-ghost{background:transparent}.btn-text{background:none;border:0;min-height:40px;width:100%}.btn-mic{width:100%;background:var(--red-soft);border-color:color-mix(in srgb,var(--red) 40%,transparent);color:var(--red)}.btn-mic.listening{animation:pulse .9s infinite}.btn .ic{width:20px;height:20px}.lesson{display:grid;gap:14px}.lesson-top{display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:5;padding:6px 0;background:var(--paper)}.bar{flex:1;height:12px;border-radius:99px;background:var(--paper-2);overflow:hidden}.bar span{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--ok));transform-origin:left;transition:transform .4s var(--ease);border-radius:inherit}.ex-kind{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--red)}.ex{display:grid;gap:14px}.ex-intro{text-align:center;padding:22px 16px;border-radius:var(--r-l);background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow)}.ex-ro{font:700 clamp(26px,7vw,34px)/1.15 var(--serif)}.ex-ru{color:var(--ink-2);font-size:18px;margin-top:8px}.ex-hint{color:var(--ink-2);font-size:13px;margin-top:10px}.ex-prompt{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px;border-radius:var(--r-l);background:var(--card);border:1px solid var(--line)}.ex-ru-big{font:600 22px/1.3 var(--serif)}.ex-num{font:800 64px/1 var(--round);color:var(--blue);width:100%;text-align:center;font-variant-numeric:tabular-nums}.ex-listen{justify-content:center;gap:16px;padding:26px}.opts{display:grid;gap:8px}.opt{min-height:54px;padding:12px 16px;text-align:left;border-radius:14px;cursor:pointer;border:2px solid var(--line);background:var(--card);font-size:17px;box-shadow:0 2px 0 var(--line);transition:transform var(--fast),border-color var(--fast),background var(--fast)}.opt:active{transform:translateY(2px);box-shadow:none}.opt.right{border-color:var(--ok);background:var(--ok-soft)}.opt.wrong{border-color:var(--bad);background:var(--bad-soft);animation:shake .3s}@keyframes shake{25%{transform:translate(-5px)}75%{transform:translate(5px)}}.tiles-answer{min-height:62px;display:flex;flex-wrap:wrap;gap:8px;padding:10px 0;border-bottom:2px solid var(--line)}.tiles-bank{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.tile-w{padding:10px 14px;border-radius:12px;border:2px solid var(--line);background:var(--card);box-shadow:0 2px 0 var(--line);font-size:17px;cursor:pointer}.tile-w.used{visibility:hidden}.type-form{display:grid;gap:10px}.type-in{width:100%;min-height:54px;padding:12px 14px;border-radius:14px;border:2px solid var(--line);background:var(--card);font-size:19px}.type-in:focus{border-color:var(--blue);outline:none}.dia{display:flex;gap:8px}.dia button{flex:1;min-height:44px;border-radius:10px;border:1px solid var(--line);background:var(--paper-2);font:700 19px var(--serif);cursor:pointer}.sheet{position:fixed;inset:auto 0 0;z-index:30;display:grid;gap:6px;padding:18px var(--gut) calc(env(safe-area-inset-bottom) + 18px);border-radius:var(--r-l) var(--r-l) 0 0;animation:up var(--normal) var(--ease);box-shadow:0 -10px 30px -10px #00000040}@keyframes up{0%{transform:translateY(100%)}to{transform:none}}.sheet-ok{background:var(--ok-soft)}.sheet-bad{background:var(--bad-soft)}.sheet-t{display:flex;align-items:center;gap:6px;font-weight:800;font-size:18px}.sheet-ok .sheet-t{color:var(--ok)}.sheet-bad .sheet-t{color:var(--bad)}.sheet-a{display:flex;align-items:center;justify-content:space-between;gap:10px;font:600 19px var(--serif)}.sheet-ru{color:var(--ink-2);margin-bottom:6px}.note{display:grid;gap:14px;padding:20px;border-radius:var(--r-l);background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow)}.note-body{display:grid;gap:10px;font-size:17px}.note-body b{color:var(--blue)}.note-meta{color:var(--ink-2);font-size:13px}.lesson-done{text-align:center;padding-top:10vh}.done-big{font:800 48px/1 var(--serif);color:var(--blue)}.done-sub{color:var(--ink-2)}.done-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.done-stats div{display:grid;padding:12px 6px;border-radius:var(--r-m);background:var(--card);border:1px solid var(--line)}.done-stats b{font:800 24px var(--round)}.done-stats small{color:var(--ink-2);font-size:12px}.modes{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:24px}.mode{display:grid;gap:4px;align-content:start;text-align:left;padding:14px;border-radius:var(--r-m);text-decoration:none;color:var(--ink);background:var(--card);border:1px solid var(--line);cursor:pointer}.mode small{font-size:12px;color:var(--ink-2);line-height:1.3}.mode-blue{border-top:5px solid var(--blue)}.mode-red{border-top:5px solid var(--red)}.mode-yellow{border-top:5px solid var(--yellow)}.survival{list-style:none;padding:0;margin:0;display:grid;gap:6px}.survival li{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--yellow-soft);border-radius:var(--r-s)}.survival div{display:grid}.survival small{color:var(--ink-2)}.qa{margin-bottom:8px;border-radius:var(--r-m);background:var(--card);border:1px solid var(--line);overflow:hidden}.qa.weak{border-left:4px solid var(--red)}.qa summary{display:grid;gap:2px;padding:14px 40px 14px 14px;cursor:pointer;list-style:none;position:relative}.qa summary::-webkit-details-marker{display:none}.qa summary:after{content:"+";position:absolute;right:14px;top:12px;font:400 24px var(--round);color:var(--ink-2);transition:transform var(--fast)}.qa[open] summary:after{transform:rotate(45deg)}.qa-q{font:600 18px/1.3 var(--serif)}.qa-ru{font-size:13px;color:var(--ink-2)}.qa-body{padding:0 14px 14px;display:grid;gap:8px}.qa-line,.qa-vars li{display:flex;align-items:center;gap:10px}.qa-var{font-size:13px;color:var(--ink-2)}.qa-vars{list-style:none;padding:0;margin:0;display:grid;gap:6px}.answer{padding:14px;border-radius:var(--r-s);background:var(--blue-soft)}.answer-label,.fc-label{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}.answer-ro{font:600 19px/1.35 var(--serif);margin-top:4px}.answer-say{font-size:13px;color:var(--ink-2);font-style:italic;margin-top:4px}.answer-ru{color:var(--ink-2);margin-top:4px;font-size:15px}.answer .say-row{justify-content:flex-start}.train-set,.form{display:grid;gap:12px;padding:16px;margin-bottom:18px;border-radius:var(--r-l);background:var(--card);border:1px solid var(--line)}.train-set label,.f{display:grid;gap:6px;font-weight:600;font-size:14px}.f small{font-weight:400;color:var(--ink-2);font-size:12px}select,.f input:not([type=checkbox]):not([type=radio]):not([type=range]){width:100%;min-height:48px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--paper);font-size:16px;font-weight:400}input[type=range]{width:100%;accent-color:var(--blue)}.check{display:flex!important;align-items:center;gap:8px;grid-auto-flow:column}.check input,.chip input{accent-color:var(--blue)}fieldset.f{border:0;padding:0;margin:0}fieldset.f legend{padding:0;margin-bottom:6px}.checks,.seg2{display:flex!important;flex-wrap:wrap;gap:6px}.chip{position:relative}.chip input{position:absolute;opacity:0}.chip span{display:inline-block;padding:8px 12px;border-radius:99px;border:1px solid var(--line);background:var(--paper);font-weight:500;font-size:14px;cursor:pointer}.chip input:checked+span{background:var(--blue);border-color:var(--blue);color:var(--on-accent)}.chip input:focus-visible+span{outline:3px solid var(--yellow)}.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.row3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.sticky-save{position:sticky;bottom:calc(var(--tab-h) + env(safe-area-inset-bottom) + 8px);z-index:4}.howto{padding:12px;border-radius:var(--r-s);background:var(--paper-2)}.howto summary{font-weight:650;cursor:pointer}.howto ol{margin:8px 0 0;padding-left:20px}.train{display:grid;gap:12px;text-align:center;padding:22px 16px;border-radius:var(--r-l);background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow)}.train-phase{font-size:13px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--red);min-height:20px}.train-q{font:700 26px/1.25 var(--serif);min-height:66px}.train-count{height:8px;border-radius:99px;background:var(--paper-2);overflow:hidden}.train-count span{display:block;height:100%;background:var(--yellow);transform-origin:left;transform:scaleX(0)}.train-a{font:600 20px/1.35 var(--serif);color:var(--blue);min-height:54px}.train-ru{color:var(--ink-2);font-size:14px;min-height:20px}.train-ctl{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.train-ctl .btn{padding:10px 6px;font-size:14px}.exam{display:grid;gap:12px}.exam-officer{font-size:64px;text-align:center;line-height:1;padding:18px 0 4px;filter:saturate(.9)}.exam-ctl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.exam-ctl .btn{padding:8px 4px;font-size:13px;min-height:46px}.exam-q{font:700 22px/1.3 var(--serif);text-align:center;padding:14px;border-radius:var(--r-m);background:var(--card);border:1px solid var(--line)}.exam-q small{display:block;font:400 14px var(--sans);color:var(--ink-2);margin-top:4px}.exam-heard{text-align:center;font-size:14px;color:var(--ink-2);min-height:20px}.exam-answer{padding:16px;border-radius:var(--r-m);background:var(--blue-soft);display:grid;gap:6px;animation:rise var(--normal) var(--ease)}.exam-answer .say-row{justify-content:flex-start}.exam-self{font-weight:700;margin-top:8px}.grades{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.grades-4{grid-template-columns:repeat(4,1fr)}.grade{display:grid;justify-items:center;gap:2px;padding:10px 4px;min-height:60px;border-radius:14px;border:1px solid var(--line);background:var(--card);font-weight:650;font-size:14px;cursor:pointer}.grade span{font-size:20px}.grade small{font-weight:400;color:var(--ink-2);font-size:12px}.grade-0,.grade-fail{background:var(--bad-soft)}.grade-1,.grade-hard{background:var(--yellow-soft)}.grade-2,.grade-ok{background:var(--ok-soft)}.grade-3{background:var(--blue-soft)}.exam-sum{text-align:center;display:grid;gap:10px}.sum-list{list-style:none;padding:0;margin:6px 0;display:grid;gap:6px;text-align:left}.sum-list li{display:flex;gap:10px;padding:10px 12px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-s)}.seg{display:grid;grid-template-columns:repeat(4,1fr);padding:4px;border-radius:14px;background:var(--paper-2);gap:4px}.seg button{min-height:40px;border:0;border-radius:10px;background:transparent;font:700 15px var(--round);cursor:pointer}.seg button[aria-checked=true]{background:var(--card);box-shadow:var(--shadow);color:var(--blue)}.seg-l{text-align:center;margin:6px 0 4px}.story{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:6px;counter-reset:s}.story-s{width:100%;display:grid;gap:2px;text-align:left;padding:12px 14px;border-radius:var(--r-s);border:1px solid var(--line);background:var(--card);cursor:pointer;transition:background var(--fast),border-color var(--fast)}.story-s.on{border-color:var(--blue);background:var(--blue-soft)}.story-ro{font:600 18px/1.4 var(--serif)}.story-ru{font-size:13px;color:var(--ink-2)}.blank{color:var(--ink-2);letter-spacing:.05em}.deck{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}.deck-n{display:grid;justify-items:center;padding:14px 4px;border-radius:var(--r-m);background:var(--card);border:1px solid var(--line)}.deck-n b{font:800 26px var(--round);font-variant-numeric:tabular-nums}.deck-n:first-child b{color:var(--red)}.deck-n small{font-size:11px;color:var(--ink-2);text-align:center}.empty{text-align:center;color:var(--ink-2);padding:24px 8px}.fc{display:grid;gap:10px;justify-items:center;text-align:center;min-height:46vh;align-content:center;padding:24px 18px;border-radius:var(--r-l);background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-lift)}.fc hr{width:60%;border:0;border-top:1px dashed var(--line);margin:6px 0}.fc-tag{font-size:12px;color:var(--ink-2);text-transform:uppercase;letter-spacing:.08em}.fc-ro{font:700 clamp(22px,6vw,30px)/1.25 var(--serif)}.fc-ru{font:500 21px/1.3 var(--sans)}.fc-sub{color:var(--ink-2);font-size:15px}.fc.flipped{animation:flip var(--normal) var(--ease)}@keyframes flip{0%{transform:perspective(800px) rotateX(8deg);opacity:.6}to{transform:none;opacity:1}}.methods{list-style:none;padding:0;margin:0 0 24px;display:grid;gap:8px;counter-reset:m}.methods li{position:relative;padding:14px 14px 14px 52px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-m);counter-increment:m}.methods li:before{content:counter(m);position:absolute;left:14px;top:14px;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--yellow);color:#1d1b16;font:800 13px var(--round)}.methods p{color:var(--ink-2);font-size:14px;margin:2px 0}.methods small{color:var(--blue);font-weight:600;font-size:12px}.plan-card{padding:16px;border-radius:var(--r-l);background:var(--blue-soft)}.steps{margin:0;padding-left:20px;display:grid;gap:8px}.toast{position:fixed;left:50%;bottom:calc(var(--tab-h) + env(safe-area-inset-bottom) + 16px);z-index:60;max-width:calc(100% - 32px);padding:12px 16px;border-radius:14px;background:var(--ink);color:var(--paper);font-size:14px;font-weight:600;transform:translate(-50%,20px);opacity:0;transition:transform var(--normal) var(--ease),opacity var(--normal)}.toast.on{transform:translate(-50%);opacity:1}.ph{display:grid;gap:4px}.ph-ro{font:700 20px/1.3 var(--serif)}.ph-l .ph-ro{font-size:clamp(26px,7vw,34px);line-height:1.15}.ph-s .ph-ro{font-size:18px}.ph-tr{color:var(--red);font-size:15px;letter-spacing:.01em}.ph-l .ph-tr{font-size:18px}.ph-ru{color:var(--ink-2);font-size:15px}.ph-l .ph-ru{font-size:18px}.ph-act{display:flex;align-items:center;gap:8px;margin-top:6px;flex-wrap:wrap}.ph-l .ph-act{justify-content:center}.ph-wbtn{min-height:40px;padding:0 14px;border-radius:99px;border:1px solid var(--line);background:var(--card);font-weight:650;font-size:14px;color:var(--blue);cursor:pointer}.ph-wbtn[aria-expanded=true]{background:var(--blue);color:var(--on-accent);border-color:var(--blue)}.ph-words{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;animation:rise var(--normal) var(--ease)}.ph-l .ph-words{justify-content:center}.ph-whint{width:100%;font-size:12px;color:var(--ink-2)}.wchip{display:grid;justify-items:start;gap:0;padding:8px 10px;border-radius:12px;border:1px solid var(--line);background:var(--card);text-align:left;cursor:pointer;max-width:100%}.wchip b{font:700 17px var(--serif)}.wchip small{color:var(--red);font-size:13px}.wchip span{font-size:12px;color:var(--ink-2);max-width:22ch}.wchip.speaking{border-color:var(--blue);background:var(--blue-soft)}.answer-short{background:var(--ok-soft)}.answer-short .answer-label{color:var(--ok)}.how{padding:12px 14px;border-radius:var(--r-s);background:var(--yellow-soft);font-size:15px}.how .answer-label{color:#8a6a00;margin-bottom:4px}:root[data-theme=dark] .how .answer-label{color:var(--yellow)}.qa-label{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);margin-top:4px}.qa-tr,.story-tr,.train-tr{color:var(--red);font-size:13px}.train-tr{font-size:15px}.train-qtr{color:var(--red);font-size:15px;margin-top:-6px}.qa-vars li div{display:grid}.qa-vars .ph-tr,.survival .ph-tr{font-size:13px}.exam-q p{font:700 22px/1.3 var(--serif)}.ex-intro .ph{justify-items:center}.sheet .ph-ro{font-size:19px}.fc .ph{justify-items:center}.fc .ph-act{justify-content:center}.ph-wplay{width:100%;display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:4px}.say-m{background:var(--paper-2);color:var(--ink)}.ph-rec.recording{background:var(--red);border-color:var(--red);color:#fff;animation:pulse .9s infinite}.opt-tr{display:block;font-size:13px;color:var(--red);margin-top:2px}.start{margin:0 0 22px;padding:16px;border-radius:var(--r-l);background:var(--card);border:2px solid var(--blue);box-shadow:var(--shadow-lift)}.start-steps{list-style:none;counter-reset:st;margin:0 0 10px;padding:0;display:grid;gap:8px}.start-steps li{counter-increment:st}.start-steps a{display:grid;grid-template-columns:34px 1fr;gap:0 10px;align-items:center;padding:10px;border-radius:var(--r-s);background:var(--paper-2);color:var(--ink);text-decoration:none}.start-steps a:before{content:counter(st);grid-row:1 / 3;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--blue);color:var(--on-accent);font:800 15px var(--round)}.start-steps span{font-size:13px;color:var(--ink-2)}.tr-demo{color:var(--red);font-weight:600}@media (min-width: 720px){.tabbar{left:50%;right:auto;width:520px;transform:translate(-50%);bottom:14px;height:var(--tab-h);padding:0;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-lift)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}}
