:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-display:"Nunito", ui-rounded, system-ui, sans-serif;--font-body:"Onest", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;--bg:#fbf6ef;--bg-soft:#f5ede3;--surface:#fff;--surface-2:#fffaf4;--ink:#3a2e48;--ink-2:#6b5d7a;--ink-3:#9c90a8;--line:#ece2d6;--line-2:#e2d5c6;--lavender:#b8a6e6;--lavender-strong:#7559c4;--lavender-soft:#efeafb;--rose:#e8aabb;--rose-strong:#b85574;--rose-soft:#fbe9ef;--peach:#f6c7a5;--peach-strong:#b0612f;--peach-soft:#fdf0e5;--mint:#9ed8c2;--mint-strong:#23795b;--mint-soft:#e3f5ed;--coral:#f09484;--coral-strong:#b8473b;--coral-soft:#fdebe7;--sky:#a9cbeb;--sky-strong:#3d6f9f;--sky-soft:#e8f1fa;--butter:#f2dc87;--butter-strong:#8a6b06;--butter-soft:#fcf5da;--primary:var(--lavender-strong);--primary-ink:#fff;--focus:#9a83e0;--shadow-s:0 1px 2px #3a2e480f, 0 2px 8px #3a2e480d;--shadow:0 1px 2px #3a2e480d, 0 10px 30px #3a2e4814;--shadow-l:0 2px 6px #3a2e480f, 0 24px 60px #3a2e4824;--r-xs:8px;--r-s:12px;--r:18px;--r-l:26px;--r-xl:34px;--code-bg:#fffcf8;--code-line:#f6efe6;--code-gutter:#b9adc4;--code-active:#f3edfd;--code-run:#fbe3ec;--code-error:#fde7e3;--tok-keyword:#7a4fc8;--tok-string:#237a5c;--tok-function:#b23f73;--tok-number:#ad5f22;--tok-comment:#9a8fa8;--tok-property:#33669c;--tok-punct:#6b5d7a;--tok-variable:#3a2e48;--tok-regexp:#a15b0e;--ease:cubic-bezier(.22, 1, .36, 1);--t-fast:.15s;--t:.26s}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#1e1628;--bg-soft:#251b31;--surface:#2b203b;--surface-2:#322645;--ink:#f4ecf8;--ink-2:#cbbdd8;--ink-3:#9a8aac;--line:#433456;--line-2:#514064;--lavender:#9f8be0;--lavender-strong:#c8b7ff;--lavender-soft:#3a2d58;--rose:#d993aa;--rose-strong:#f4adc3;--rose-soft:#47293b;--peach:#e6ad86;--peach-strong:#f7c39b;--peach-soft:#47322a;--mint:#7fcdb0;--mint-strong:#93e3c5;--mint-soft:#1e3c36;--coral:#ef8a7b;--coral-strong:#ffa699;--coral-soft:#4a2a2c;--sky:#8db6e0;--sky-strong:#a9cdf5;--sky-soft:#24364d;--butter:#e0c66a;--butter-strong:#f1d983;--butter-soft:#433a1f;--primary:#8f73e6;--primary-ink:#fff;--focus:#b9a5ff;--shadow-s:0 1px 2px #0000004d;--shadow:0 1px 2px #00000040, 0 12px 32px #08021059;--shadow-l:0 2px 6px #0000004d, 0 24px 60px #08021080;--code-bg:#241a32;--code-line:#2d2240;--code-gutter:#75668a;--code-active:#33264d;--code-run:#4a2740;--code-error:#4d2a2e;--tok-keyword:#cdabff;--tok-string:#8fe0c2;--tok-function:#f6a8ca;--tok-number:#f7c08f;--tok-comment:#8e80a3;--tok-property:#a4ccf6;--tok-punct:#bcaecb;--tok-variable:#f4ecf8;--tok-regexp:#f3d58a}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#1e1628;--bg-soft:#251b31;--surface:#2b203b;--surface-2:#322645;--ink:#f4ecf8;--ink-2:#cbbdd8;--ink-3:#9a8aac;--line:#433456;--line-2:#514064;--lavender:#9f8be0;--lavender-strong:#c8b7ff;--lavender-soft:#3a2d58;--rose:#d993aa;--rose-strong:#f4adc3;--rose-soft:#47293b;--peach:#e6ad86;--peach-strong:#f7c39b;--peach-soft:#47322a;--mint:#7fcdb0;--mint-strong:#93e3c5;--mint-soft:#1e3c36;--coral:#ef8a7b;--coral-strong:#ffa699;--coral-soft:#4a2a2c;--sky:#8db6e0;--sky-strong:#a9cdf5;--sky-soft:#24364d;--butter:#e0c66a;--butter-strong:#f1d983;--butter-soft:#433a1f;--primary:#8f73e6;--primary-ink:#fff;--focus:#b9a5ff;--shadow-s:0 1px 2px #0000004d;--shadow:0 1px 2px #00000040, 0 12px 32px #08021059;--shadow-l:0 2px 6px #0000004d, 0 24px 60px #08021080;--code-bg:#241a32;--code-line:#2d2240;--code-gutter:#75668a;--code-active:#33264d;--code-run:#4a2740;--code-error:#4d2a2e;--tok-keyword:#cdabff;--tok-string:#8fe0c2;--tok-function:#f6a8ca;--tok-number:#f7c08f;--tok-comment:#8e80a3;--tok-property:#a4ccf6;--tok-punct:#bcaecb;--tok-variable:#f4ecf8;--tok-regexp:#f3d58a}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font:16px/1.6 var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 .4em;font-weight:800;line-height:1.2}h1{font-size:clamp(1.6rem,3.2vw,2.15rem)}h2{font-size:1.3rem}h3{font-size:1.08rem}p{margin:0 0 .7em}a{color:var(--lavender-strong)}code,pre,kbd{font-family:var(--font-mono)}:not(pre)>code{background:var(--lavender-soft);color:var(--ink);border-radius:6px;padding:.08em .38em;font-size:.88em}button{font:inherit;color:inherit}:focus-visible{outline:2.5px solid var(--focus);outline-offset:2px;border-radius:8px}::selection{background:color-mix(in srgb, var(--lavender) 45%, transparent)}.icon{vertical-align:-.18em;flex-shrink:0}.muted{color:var(--ink-2)}.small{font-size:.86rem}.grow{flex:1}.row{align-items:center;display:flex}.row.gap{gap:10px}.row.center{justify-content:center}.row.wrap{flex-wrap:wrap}.rot180{transform:rotate(180deg)}.hide-sm{display:inline}.app{flex-direction:column;min-height:100vh;display:flex}.main{flex:1;width:100%}.topbar{z-index:30;background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);align-items:center;gap:16px;padding:10px clamp(16px,3vw,32px);display:flex;position:sticky;top:0}.brand{cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:4px;display:flex}.brand-mark{background:linear-gradient(135deg, var(--rose), var(--lavender));color:#fff;width:34px;height:34px;box-shadow:var(--shadow-s);border-radius:12px;place-items:center;font-size:18px;display:grid}.brand-name{font-family:var(--font-display);letter-spacing:-.01em;font-size:1.15rem;font-weight:900}.topnav{scrollbar-width:none;flex:1;gap:2px;display:flex;overflow-x:auto}.topnav-link{cursor:pointer;color:var(--ink-2);white-space:nowrap;transition:background var(--t-fast), color var(--t-fast);background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:8px 12px;font-size:.92rem;font-weight:600;display:flex}.topnav-link:hover{background:var(--surface);color:var(--ink)}.topnav-link.active{background:var(--lavender-soft);color:var(--lavender-strong)}.topbar-right{align-items:center;gap:8px;display:flex}.pill{font-size:.9rem;font-weight:700;font-family:var(--font-display);border-radius:999px;align-items:center;gap:5px;padding:5px 11px;display:inline-flex}.pill-streak{background:var(--peach-soft);color:var(--peach-strong)}.pill-xp{background:var(--butter-soft);color:var(--butter-strong)}.lang-switch{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:3px;display:inline-flex}.lang-switch button{color:var(--ink-2);cursor:pointer;font-size:.78rem;font-weight:700;font-family:var(--font-display);background:0 0;border:0;border-radius:999px;padding:4px 10px}.lang-switch button.on{background:var(--lavender-strong);color:#fff}.bottomnav{display:none}@media (width<=900px){.topnav{display:none}.bottomnav{z-index:30;background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom));display:flex;position:sticky;bottom:0}.bottomnav button{color:var(--ink-3);cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;align-items:center;gap:2px;padding:4px 0;font-size:.68rem;font-weight:600;display:flex}.bottomnav button .bil-ru{display:none}.bottomnav button.active{color:var(--lavender-strong)}.topbar{gap:8px}.brand-name{display:none}.topbar-right{margin-left:auto}}@media (width<=420px){.pill-xp{display:none}}.page{max-width:1180px;margin:0 auto;padding:clamp(18px,3vw,34px) clamp(16px,3vw,32px) 64px}.page-narrow{max-width:760px}.page-wide{max-width:1440px}.page-title{align-items:center;gap:10px;display:flex}.page-title .icon{color:var(--lavender-strong)}.page-intro{color:var(--ink-2);max-width:680px;margin-bottom:20px}.section-title{align-items:center;gap:8px;margin:28px 0 12px;font-size:1.15rem;display:flex}.section-title .icon{color:var(--rose-strong)}.eyebrow{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);font-size:.78rem;font-weight:700;font-family:var(--font-display)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-s);padding:18px 20px}.notice{border-radius:var(--r-s);background:var(--butter-soft);color:var(--ink);align-items:center;gap:8px;margin:12px 0;padding:10px 14px;display:flex}.notice.ok{background:var(--mint-soft)}.notice.bad{background:var(--coral-soft)}.back-link{margin-bottom:8px}.bi{margin:0 0 14px}.bi p:last-child,.bil p:last-child{margin-bottom:0}.bi-en p,.bi-single p{margin:0 0 .5em}.bi-ru{border-left:3px solid var(--lavender);color:var(--ink-2);margin-top:6px;padding:2px 0 2px 12px;font-size:.95em}.bi-ru p{margin:0 0 .4em}.bi-lg{font-size:1.08rem}.bi-lg .bi-en,.bi-lg.bi-single{font-weight:500}.bi-sm{margin-bottom:6px;font-size:.93rem}.bi ul,.bi ol{margin:.3em 0 .6em;padding-left:1.3em}.bi pre{background:var(--code-bg);border:1px solid var(--line);border-radius:var(--r-s);padding:10px 12px;font-size:.86rem;overflow-x:auto}.bil-stack{flex-direction:column;line-height:1.25;display:inline-flex}.bil-both:not(.bil-stack) .bil-ru:before{content:" · ";color:var(--ink-3)}.bil-ru{color:var(--ink-2);font-size:.82em;font-weight:500}.bil-both:not(.bil-stack) .bil-ru{font-size:.9em}.btn .bil-ru,.chip .bil-ru,.kind-chip .bil-ru,.step-label .bil-ru{color:inherit;opacity:.72}.btn .bil-both:not(.bil-stack) .bil-ru:before{content:" / "}.inline-bi{display:inline}.term{background:linear-gradient(transparent 58%, color-mix(in srgb, var(--rose) 45%, transparent) 58%);font:inherit;color:inherit;cursor:help;border:0;border-radius:2px;padding:0 1px;font-weight:600;text-decoration:none;display:inline}.term:hover{background:color-mix(in srgb, var(--rose) 40%, transparent)}.bi-ru .term{background:linear-gradient(transparent 60%, color-mix(in srgb, var(--lavender) 40%, transparent) 60%)}.term-card{z-index:80;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-l);animation:pop .18s var(--ease);padding:14px 16px;position:fixed}.term-sheet{border-radius:var(--r-l) var(--r-l) 0 0;padding:20px 20px calc(20px + env(safe-area-inset-bottom));max-height:70vh;animation:sheet .25s var(--ease);inset:auto 0 0;overflow-y:auto}.term-sheet-close{background:var(--bg-soft);cursor:pointer;border:0;border-radius:50%;place-items:center;width:32px;height:32px;display:grid;position:absolute;top:10px;right:10px}.term-head{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:4px;display:flex}.term-word{font-family:var(--font-display);font-size:1.2rem;font-weight:800}.term-ipa{font-family:var(--font-mono);color:var(--ink-3);font-size:.85rem}.term-pos{font-family:var(--font-body)}.term-ru{color:var(--rose-strong);margin-bottom:8px;font-weight:600}.term-ru-muted{color:var(--ink-2);font-size:.9rem;font-weight:500}.term-def{margin-bottom:8px}.term-example{background:var(--bg-soft);border-radius:var(--r-s);margin:8px 0;padding:8px 10px;font-size:.92rem}.term-example-label{color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:4px;margin-bottom:2px;font-size:.75rem;font-weight:700;display:flex}@keyframes pop{0%{opacity:0;transform:translateY(4px)scale(.98)}to{opacity:1;transform:none}}@keyframes sheet{0%{transform:translateY(100%)}to{transform:none}}.btn{cursor:pointer;font-family:var(--font-display);transition:transform var(--t-fast) var(--ease), box-shadow var(--t-fast), background var(--t-fast), opacity var(--t-fast);text-align:left;border:1.5px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:.96rem;font-weight:800;line-height:1.2;display:inline-flex}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--primary-ink);box-shadow:0 4px 14px color-mix(in srgb, var(--primary) 35%, transparent)}.btn-primary:hover:not(:disabled){box-shadow:0 6px 20px color-mix(in srgb, var(--primary) 45%, transparent)}.btn-soft{background:var(--lavender-soft);color:var(--lavender-strong)}.btn-rose{background:var(--rose-soft);color:var(--rose-strong);border-color:var(--rose)}.btn-coral{background:var(--coral-soft);color:var(--coral-strong)}.btn-ghost{color:var(--ink-2);border-color:var(--line-2);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--surface);color:var(--ink)}.btn-ghost.subtle{border-color:#0000}.btn-ghost.danger{color:var(--coral-strong)}.btn-sm{padding:6px 12px;font-size:.86rem}.btn-lg{padding:13px 24px;font-size:1.02rem}.btn .bil-stack{flex-direction:row}.btn.pulse{border-color:var(--butter-strong);color:var(--butter-strong);animation:1.6s ease-in-out infinite pulse}@keyframes pulse{50%{box-shadow:0 0 0 6px color-mix(in srgb, var(--butter) 35%, transparent)}}.icon-btn{width:36px;height:36px;color:var(--ink-2);cursor:pointer;transition:background var(--t-fast);background:0 0;border:0;border-radius:12px;flex-shrink:0;place-items:center;display:inline-grid}.icon-btn:hover,.icon-btn.active{background:var(--lavender-soft);color:var(--lavender-strong)}.icon-btn.sm{border-radius:8px;width:26px;height:26px}.icon-btn.listen.speaking{background:var(--lavender-soft);color:var(--lavender-strong);animation:1.4s ease-in-out infinite listening}.link-btn.listen.speaking svg{animation:1.4s ease-in-out infinite listening-icon}@keyframes listening{50%{box-shadow:0 0 0 5px color-mix(in srgb, var(--lavender) 30%, transparent)}}@keyframes listening-icon{50%{opacity:.45}}.link-btn{color:var(--lavender-strong);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:4px 0;font-weight:600;display:inline-flex}.link-btn.tiny{font-size:.8rem}.chip{font-size:.78rem;font-weight:700;font-family:var(--font-display);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 9px;display:inline-flex}.chip-lavender{background:var(--lavender-soft);color:var(--lavender-strong)}.chip-rose{background:var(--rose-soft);color:var(--rose-strong)}.chip-peach{background:var(--peach-soft);color:var(--peach-strong)}.chip-mint{background:var(--mint-soft);color:var(--mint-strong)}.chip-coral{background:var(--coral-soft);color:var(--coral-strong)}.chip-sky{background:var(--sky-soft);color:var(--sky-strong)}.chip-butter{background:var(--butter-soft);color:var(--butter-strong)}.chip-ghost{background:var(--bg-soft);color:var(--ink-2)}.chip-row{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.chip-btn,.chip-check{border:1.5px solid var(--line-2);background:var(--surface);cursor:pointer;color:var(--ink-2);transition:all var(--t-fast);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:.86rem;font-weight:600;display:inline-flex}.chip-btn:hover,.chip-check:hover{border-color:var(--lavender);color:var(--ink)}.chip-btn.on,.chip-check.on{background:var(--lavender-soft);border-color:var(--lavender-strong);color:var(--lavender-strong)}.chip-btn.ghost{border-style:dashed}.chip-check input{accent-color:var(--lavender-strong)}.chip-check.ok{border-color:var(--mint-strong);background:var(--mint-soft);color:var(--mint-strong)}.xp-chip{font-family:var(--font-display);color:var(--butter-strong);background:var(--butter-soft);border-radius:999px;margin-left:auto;padding:3px 10px;font-size:.82rem;font-weight:800}.xp-chip.done{color:var(--mint-strong);background:var(--mint-soft)}.seg-ctl,.seg-row{background:var(--bg-soft);border-radius:999px;flex-wrap:wrap;gap:4px;padding:4px;display:inline-flex}.seg-ctl button,.seg-btn{cursor:pointer;color:var(--ink-2);background:0 0;border:0;border-radius:999px;padding:7px 14px;font-weight:600}.seg-ctl button.on,.seg-btn.on{background:var(--surface);color:var(--lavender-strong);box-shadow:var(--shadow-s)}.toggle{cursor:pointer;color:var(--ink-2);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:.88rem;font-weight:600;display:inline-flex}.toggle input{opacity:0;pointer-events:none;position:absolute}.toggle-track{background:var(--line-2);width:38px;height:22px;transition:background var(--t-fast);border-radius:999px;flex-shrink:0;position:relative}.toggle-thumb{width:16px;height:16px;box-shadow:var(--shadow-s);transition:transform var(--t-fast) var(--ease);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px}.toggle input:checked+.toggle-track{background:var(--lavender-strong)}.toggle input:checked+.toggle-track .toggle-thumb{transform:translate(16px)}.toggle input:focus-visible+.toggle-track{outline:2px solid var(--focus);outline-offset:2px}.spinner,.spinner-dot{border:2.5px solid var(--lavender-soft);border-top-color:var(--lavender-strong);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin;display:inline-block}.spinner.light{border-color:#fff #ffffff59 #ffffff59}.spinner-dot{border-width:2px;width:10px;height:10px}@keyframes spin{to{transform:rotate(360deg)}}.text-input,.text-area{border-radius:var(--r-s);border:1.5px solid var(--line-2);background:var(--surface);width:100%;color:var(--ink);font:inherit;transition:border var(--t-fast), box-shadow var(--t-fast);padding:11px 14px}.text-input.mono{font-family:var(--font-mono);font-size:.95rem}.text-input:focus,.text-area:focus{border-color:var(--lavender-strong);box-shadow:0 0 0 4px color-mix(in srgb, var(--lavender) 25%, transparent);outline:none}.input-wrong{background:var(--coral-soft);border-color:var(--coral)!important}.input-ok{background:var(--mint-soft);border-color:var(--mint-strong)!important}.text-area{resize:vertical;min-height:96px}.mentor{align-items:flex-end;gap:12px;margin:14px 0;display:flex;position:relative}.mentor-avatar{flex-shrink:0}.mentor-bubble{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l) var(--r-l) var(--r-l) 8px;box-shadow:var(--shadow-s);min-width:0;animation:pop .25s var(--ease);flex:1;padding:12px 16px;position:relative}.mentor-bubble .bi{margin:0}.mentor-name,.dl-name{font-family:var(--font-display);color:var(--rose-strong);margin-bottom:2px;font-size:.8rem;font-weight:800}.mentor-mochi{flex-shrink:0;margin-left:-4px}@media (width<=560px){.mentor-mochi{display:none}.mentor-avatar .avatar-svg{width:40px;height:40px}}.mentor-happy .mentor-bubble{background:color-mix(in srgb, var(--mint-soft) 55%, var(--surface));border-color:color-mix(in srgb, var(--mint) 60%, var(--line))}.mentor-celebrate .mentor-bubble{background:color-mix(in srgb, var(--butter-soft) 60%, var(--surface))}.mentor-oops .mentor-bubble{background:color-mix(in srgb, var(--coral-soft) 45%, var(--surface));border-color:color-mix(in srgb, var(--coral) 45%, var(--line))}.mentor-compact{margin:10px 0}.mentor-compact .mentor-bubble{padding:10px 14px}.avatar-svg{border-radius:50%;display:block}.mochi{display:block;overflow:visible}.mochi-happy,.mochi-celebrate{animation:1.2s ease-in-out infinite bob}.mochi-oops{animation:.5s ease-in-out 2 wiggle}.mochi-sleepy .mochi-head{transform-origin:40px 50px;animation:3s ease-in-out infinite nod}.mochi-tail{transform-origin:58px 64px;animation:2.4s ease-in-out infinite tail}.mochi-hearts{animation:1.6s ease-out infinite floatUp}.mochi-sparkles{animation:1.2s ease-in-out infinite twinkle}.mochi-drop{animation:1.4s ease-in infinite drip}.mochi-z{animation:2.4s ease-out infinite floatUp}.petal-dots circle{animation:1s ease-in-out infinite blink}.petal-dots circle:nth-child(2){animation-delay:.15s}.petal-dots circle:nth-child(3){animation-delay:.3s}@keyframes bob{50%{transform:translateY(-4px)}}@keyframes wiggle{25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}@keyframes nod{50%{transform:rotate(4deg)}}@keyframes tail{50%{transform:rotate(10deg)}}@keyframes floatUp{0%{opacity:0;transform:translateY(6px)}30%{opacity:1}to{opacity:0;transform:translateY(-10px)}}@keyframes twinkle{50%{opacity:.4;transform:scale(.9)}}@keyframes drip{0%{opacity:0;transform:translateY(-2px)}30%{opacity:1}to{opacity:0;transform:translateY(6px)}}@keyframes blink{50%{opacity:.25}}.dialogue{flex-direction:column;gap:10px;display:flex}.dl-line{animation:pop .3s var(--ease) both;align-items:flex-end;gap:10px;display:flex}.dl-you{flex-direction:row-reverse}.dl-bubble{background:var(--surface);border:1px solid var(--line);max-width:640px;box-shadow:var(--shadow-s);border-radius:20px 20px 20px 6px;padding:10px 14px}.dl-you .dl-bubble{background:var(--lavender-soft);border-color:#0000;border-radius:20px 20px 6px}.dl-bubble .bi{margin:0}.dl-avatar{flex-shrink:0}.codeview{background:var(--code-bg);border:1px solid var(--line);border-radius:var(--r-s);margin:10px 0;position:relative;overflow:hidden}.codeview pre{margin:0;padding:10px 0;font-size:13.5px;line-height:1.65;overflow-x:auto}.codeview-label{font:600 11px var(--font-mono);color:var(--ink-3);text-transform:lowercase;padding:6px 12px 0}.cv-line{text-align:left;width:100%;min-height:1.65em;font:inherit;color:inherit;background:0 0;border:0;align-items:baseline;padding-right:12px;display:flex;position:relative}button.cv-line{cursor:pointer}button.cv-line:hover{background:var(--code-active)}.codeview-plain .cv-line{padding-left:12px}.cv-num{text-align:right;width:2.6em;color:var(--code-gutter);-webkit-user-select:none;user-select:none;flex-shrink:0;padding-right:12px}.cv-code{white-space:pre;flex:1}.cv-extra{flex-shrink:0;margin-left:8px}.cv-hl{background:color-mix(in srgb, var(--lavender) 22%, transparent);box-shadow:inset 3px 0 0 var(--lavender-strong)}.hl-expect .cv-hl{background:color-mix(in srgb, var(--mint) 25%, transparent);box-shadow:inset 3px 0 0 var(--mint-strong)}.cv-run{background:var(--code-run);box-shadow:inset 3px 0 0 var(--rose-strong)}.cv-err{background:var(--code-error);box-shadow:inset 3px 0 0 var(--coral-strong)}.cv-removed{background:var(--code-error)}.cv-removed .cv-num:before{content:"−";color:var(--coral-strong);margin-right:2px}.cv-added{background:color-mix(in srgb, var(--mint) 22%, transparent)}.cv-added .cv-num:before{content:"+";color:var(--mint-strong);margin-right:2px}.cv-flagged{background:color-mix(in srgb, var(--peach) 22%, transparent);box-shadow:inset 3px 0 0 var(--peach-strong)}.cv-editing{outline:2px dashed var(--lavender-strong);outline-offset:-2px}.cv-extra-flag{background:color-mix(in srgb, var(--coral) 18%, transparent)}.cv-wrong-type{background:color-mix(in srgb, var(--butter) 30%, transparent)}.cv-issue{box-shadow:inset 3px 0 0 var(--coral-strong)}.code-inline-line{white-space:pre;font-size:.9em}:not(pre)>code.code-inline-line{background:0 0;padding:0}.tok-keyword{color:var(--tok-keyword);font-weight:500}.tok-string,.tok-string2{color:var(--tok-string)}.tok-number,.tok-bool,.tok-atom{color:var(--tok-number)}.tok-comment{color:var(--tok-comment);font-style:italic}.tok-heading{color:var(--tok-function);font-weight:700}.tok-variableName,.tok-variableName.tok-definition{color:var(--tok-variable)}.tok-propertyName{color:var(--tok-property)}.tok-function,.tok-variableName2{color:var(--tok-function)}.tok-punctuation,.tok-operator{color:var(--tok-punct)}.tok-regexp{color:var(--tok-regexp)}.tok-className,.tok-typeName{color:var(--tok-function)}.code-editor{border:1px solid var(--line);border-radius:var(--r-s);background:var(--code-bg);overflow:hidden}.code-editor .cm-editor{min-height:inherit}.cm-doc{max-width:320px;font-family:var(--font-body);padding:8px 10px;font-size:13px;line-height:1.45}.cm-doc code{color:var(--tok-function);background:0 0;margin-bottom:4px;padding:0;display:block}.cm-doc-ru{color:var(--ink-2);margin-top:2px}.code-frame{background:var(--code-bg);border-radius:var(--r-xs);border:1px solid var(--line);margin:8px 0;padding:8px 10px;font-size:12.5px;overflow-x:auto}.lab{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start;gap:16px;margin:12px 0;display:grid}.lab-stack{grid-template-columns:1fr}.lab-tabs{display:none}.lab-code{flex-direction:column;gap:10px;min-width:0;display:flex}.lab-side{flex-direction:column;gap:12px;min-width:0;display:flex;position:sticky;top:72px}.lab-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.lab-codeview{margin:0}.speed{color:var(--ink-3);align-items:center;gap:6px;display:inline-flex}.speed input{width:90px;accent-color:var(--lavender-strong)}@media (width<=1000px){.lab{grid-template-columns:1fr}.lab-side{position:static}.lab-tabs{background:var(--bg-soft);border-radius:999px;gap:4px;padding:4px;display:flex}.lab-tabs button{color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:999px;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px;font-size:.86rem;font-weight:700;display:inline-flex}.lab-tabs button.active{background:var(--surface);color:var(--lavender-strong);box-shadow:var(--shadow-s)}.lab-tab-code .lab-browser,.lab-tab-code .lab-report,.lab-tab-browser .lab-code .lab-editor,.lab-tab-browser .lab-report,.lab-tab-report .lab-code .lab-editor,.lab-tab-report .lab-browser,.hide-sm{display:none}}.dot{border-radius:50%;width:8px;height:8px;display:inline-block}.dot-passed{background:var(--mint-strong)}.dot-failed,.dot-error{background:var(--coral-strong)}.browser{border-radius:var(--r);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.browser-bar{background:var(--bg-soft);border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:8px 12px;display:flex}.browser-dots{gap:6px;display:flex}.browser-dots i{background:var(--coral);border-radius:50%;width:11px;height:11px;display:block}.browser-dots i:nth-child(2){background:var(--butter)}.browser-dots i:nth-child(3){background:var(--mint)}.browser-url{background:var(--surface);font:500 12.5px var(--font-mono);color:var(--ink-2);border-radius:999px;flex:1;align-items:center;gap:6px;min-width:0;padding:4px 12px;display:flex;overflow:hidden}.browser-url span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.browser-busy{border:2px solid var(--lavender-soft);border-top-color:var(--lavender-strong);border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-left:auto;animation:.8s linear infinite spin}.browser-viewport{background:#fff;position:relative}.browser-viewport iframe{background:#fff;border:0;width:100%;height:100%;display:block}.browser-blank{color:var(--ink-3);background:var(--surface-2);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:20px;display:flex;position:absolute;inset:0}.report{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;font-size:.92rem}.report-empty{color:var(--ink-3);align-items:center;gap:10px;display:flex}.report-head{font-family:var(--font-display);justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;font-weight:800;display:flex}.report-summary{align-items:center;gap:14px;display:inline-flex}.report-summary .pass{color:var(--mint-strong);align-items:center;gap:4px;display:inline-flex}.report-summary .fail{color:var(--coral-strong);align-items:center;gap:4px;display:inline-flex}.report-summary .skip{color:var(--ink-3)}.report-dur{color:var(--ink-3);font:500 12px var(--font-mono)}.report-test{border-radius:var(--r-s);border:1px solid var(--line);margin-bottom:6px;overflow:hidden}.report-test-head{background:var(--surface-2);cursor:pointer;text-align:left;border:0;align-items:center;gap:8px;width:100%;padding:8px 10px;display:flex}.report-passed .report-status-icon{color:var(--mint-strong)}.report-failed .report-status-icon,.report-timedOut .report-status-icon{color:var(--coral-strong)}.report-failed .report-test-head{background:var(--coral-soft)}.report-test-title{font-weight:600;font-family:var(--font-mono);word-break:break-word;flex:1;font-size:13.5px}.report-label{font:600 11px/1.5 var(--font-mono);background:var(--butter-soft,#fff4cc);color:var(--ink-2);vertical-align:1px;border-radius:999px;margin-left:8px;padding:1px 7px;display:inline-block}.report-label-error{background:var(--coral-soft,#ffe1dc)}.report-skip{font:12.5px var(--font-mono);color:var(--ink-3);margin:4px 0 8px}.report-test-body{padding:8px 10px}.steps{margin:0;padding:0;list-style:none}.step-row{font:12.5px/1.4 var(--font-mono);align-items:center;gap:8px;padding:3px 0;display:flex}.step-icon{flex-shrink:0;place-items:center;width:16px;display:inline-grid}.step-passed>.step-row .step-icon{color:var(--mint-strong)}.step-failed>.step-row{color:var(--coral-strong)}.step-name{word-break:break-word;flex:1}.step-line{background:var(--lavender-soft);color:var(--lavender-strong);font:600 11px var(--font-mono);cursor:pointer;border:0;border-radius:6px;padding:1px 6px}.step-dur{color:var(--ink-3);font-size:11px}.report-error{margin-top:8px}.report-error-msg{background:var(--coral-soft);color:var(--ink);border-radius:var(--r-xs);white-space:pre-wrap;word-break:break-word;border-left:3px solid var(--coral-strong);margin:0;padding:10px 12px;font-size:12.5px;line-height:1.5}.report-file{font:12px var(--font-mono);color:var(--ink-3)}.err-explain{background:var(--lavender-soft);border-radius:var(--r-s);margin-top:8px;padding:10px 12px}.err-explain-head{font-family:var(--font-display);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;font-weight:800;display:flex}.err-explain-head .icon{color:var(--butter-strong)}.err-explain .bi{margin:0;font-size:.93rem}.report-sub{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);font-size:.78rem;font-weight:700;font-family:var(--font-display);align-items:center;gap:6px;margin:10px 0 4px;display:flex}.report-console pre,.report-console-out,.script-out pre{background:var(--code-bg);border-radius:var(--r-xs);white-space:pre-wrap;border:1px solid var(--line);margin:0;padding:8px 10px;font-size:12.5px}.report-notes ul{margin:0;padding-left:0;list-style:none}.report-notes li{background:var(--butter-soft);border-radius:var(--r-xs);margin-bottom:4px;padding:6px 10px}.report-notes .bi{margin:0}.report-paused{background:var(--rose-soft);border-radius:var(--r-xs);align-items:center;gap:6px;margin-bottom:6px;padding:6px 10px;font-size:.86rem;display:flex}.lesson{max-width:820px}.lesson-wide{max-width:1400px}.lesson-mid{max-width:1120px}.lesson-wide .task-context,.lesson-wide .task-prompt,.lesson-wide .testcase,.lesson-wide .hints,.lesson-wide .task-feedback,.lesson-wide .explain-box,.lesson-mid .task-context,.lesson-mid .task-prompt,.lesson-mid .testcase,.lesson-mid .hints,.lesson-mid .task-feedback,.lesson-mid .explain-box,.lesson-mid .prompt-blocks,.lesson-mid .prompt-preview,.lesson-mid .agent-simulated,.lesson-mid .predict-q,.lesson-mid .predict-why,.lesson-mid .agent-msg,.lesson-mid .agent-missing,.lesson-mid .task-hint-line{max-width:860px}.lesson-top{z-index:20;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);align-items:center;gap:12px;margin-bottom:10px;padding:10px 0;display:flex;position:sticky;top:0}.lesson-progress{flex:1;gap:4px;display:flex}.seg{background:var(--line);height:7px;transition:background var(--t);border-radius:999px;flex:1}.seg.done{background:var(--mint)}.seg.current{background:var(--lavender-strong)}.seg.missed{background:var(--coral)}.lesson-count{font:700 .82rem var(--font-display);color:var(--ink-3)}.lesson-title-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px;display:flex}.lesson-title{font-family:var(--font-display);color:var(--ink-2);font-size:.95rem;font-weight:800}.lesson-step{animation:stepIn .32s var(--ease)}@keyframes stepIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.lesson-nav{border-top:1px dashed var(--line-2);justify-content:space-between;gap:12px;margin-top:26px;padding-top:16px;display:flex}.lesson-nav-back{border:0;margin-top:8px;padding-top:0}.lesson-goal{color:var(--ink-2);background:var(--surface);border-radius:var(--r-s);border:1px dashed var(--line-2);align-items:flex-start;gap:8px;margin-top:18px;padding:10px 14px;display:flex}.lesson-goal .bi{margin:0}.step-label{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.05em;color:var(--rose-strong);background:var(--rose-soft);border-radius:999px;align-items:center;gap:6px;margin-bottom:12px;padding:4px 10px;font-size:.78rem;font-weight:800;display:inline-flex}.step-title{margin-bottom:14px;font-size:clamp(1.3rem,2.6vw,1.65rem)}.step-title .bil-stack .bil-ru{margin-top:4px;font-size:.62em;font-weight:600}.step-theory .bi-paras .bi{font-size:1.04rem}.example-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:start;gap:14px;display:grid}.example-notes{flex-direction:column;gap:8px;display:flex}.example-note{text-align:left;border-radius:var(--r-s);border:1.5px solid var(--line);background:var(--surface);cursor:pointer;transition:all var(--t-fast);gap:10px;padding:10px 12px;display:flex}.example-note.active{border-color:var(--lavender-strong);background:var(--lavender-soft)}.example-note .bi{margin:0}.note-lines{font:700 11px var(--font-mono);background:var(--bg-soft);height:fit-content;color:var(--ink-2);border-radius:6px;flex-shrink:0;padding:2px 6px}.example-nav{color:var(--ink-3);justify-content:center;align-items:center;gap:10px;font-size:.85rem;display:flex}@media (width<=760px){.example-grid{grid-template-columns:1fr}}.mapping-hint{color:var(--ink-3);margin:4px 0 8px;font-size:.86rem}.mapping-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start;gap:14px;display:grid}@media (width<=760px){.mapping-grid{grid-template-columns:1fr}}.testcase{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-s);box-shadow:var(--shadow-s);margin:10px 0;padding:12px 14px}.testcase-head{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.testcase-id{font:700 .8rem var(--font-mono);color:var(--lavender-strong)}.testcase-title{flex:1;font-weight:700}.testcase-pre{color:var(--ink-2);margin-bottom:6px;font-size:.86rem}.testcase-steps{flex-direction:column;gap:4px;margin:0;padding-left:1.4em;display:flex}.testcase-steps li{padding-left:2px}.tc-action,.tc-expected{text-align:left;cursor:default;width:100%;color:var(--ink);background:0 0;border:0;border-radius:8px;padding:3px 6px;font-size:.92rem;display:block}.tc-action:not(:disabled),.tc-expected:not(:disabled){cursor:pointer}.tc-action.active{background:color-mix(in srgb, var(--lavender) 25%, transparent)}.tc-expected{color:var(--mint-strong);align-items:flex-start;gap:6px;font-weight:600;display:flex}.tc-expected.active{background:color-mix(in srgb, var(--mint) 25%, transparent)}.tc-data{font-family:var(--font-mono);color:var(--ink-2);font-size:.85em}.mistakes{flex-direction:column;gap:16px;display:flex}.mistake{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px}.mistake-pair{grid-template-columns:minmax(0,1fr);gap:8px;margin-bottom:8px;display:grid}.mistake-pair>div{min-width:0}.mistake-pair .codeview{margin:4px 0 0}.mistake-pair .cv-code{white-space:pre-wrap;overflow-wrap:anywhere;text-indent:-2ch;padding-left:2ch}.mistake-wrong .codeview{border-color:color-mix(in srgb, var(--coral) 60%, var(--line));background:color-mix(in srgb, var(--coral-soft) 50%, var(--code-bg))}.mistake-right .codeview{border-color:color-mix(in srgb, var(--mint) 60%, var(--line));background:color-mix(in srgb, var(--mint-soft) 50%, var(--code-bg))}.mk-label{font:800 .74rem var(--font-display);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:4px;display:inline-flex}.mistake-wrong .mk-label{color:var(--coral-strong)}.mistake-right .mk-label{color:var(--mint-strong)}.model-answer,.explain-box{background:var(--mint-soft);border-radius:var(--r-s);margin:12px 0;padding:12px 14px}.explain-box{background:var(--sky-soft)}.explain-label{font:800 .78rem var(--font-display);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2);align-items:center;gap:6px;margin-bottom:6px;display:flex}.explain-box .bi,.model-answer .bi{margin:0}.self-rate{flex-wrap:wrap;gap:8px;display:flex}.phrases{flex-direction:column;gap:10px;display:flex}.phrase{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.phrase-body{flex:1;min-width:0}.phrase-body .bi{margin:0}.phrase-note{color:var(--ink-3);margin-top:6px}.ctx-chip{font:700 .74rem var(--font-display);background:var(--bg-soft);color:var(--ink-2);border-radius:999px;flex-shrink:0;padding:3px 10px;display:inline-flex}.ctx-standup{background:var(--peach-soft);color:var(--peach-strong)}.ctx-code-review{background:var(--lavender-soft);color:var(--lavender-strong)}.ctx-bug-report{background:var(--coral-soft);color:var(--coral-strong)}.ctx-chat{background:var(--sky-soft);color:var(--sky-strong)}.ctx-prompt{background:var(--mint-soft);color:var(--mint-strong)}.ctx-meeting{background:var(--butter-soft);color:var(--butter-strong)}@media (width<=560px){.phrase{flex-wrap:wrap}.ctx-chip{order:-1}}.vocab-list{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;margin-bottom:12px;display:grid}.vocab-row{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-s);align-items:flex-start;gap:8px;padding:10px 12px;display:flex}.vocab-ru{color:var(--ink-2);font-size:.9rem}.lesson-finish{text-align:center}.finish-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow);text-align:center;flex-direction:column;align-items:stretch;gap:12px;padding:clamp(22px,4vw,36px);display:flex}.finish-card h1,.finish-card h2{margin:0}.finish-card .mentor{text-align:left}.finish-badge{background:linear-gradient(135deg, var(--rose), var(--lavender));color:#fff;width:72px;height:72px;box-shadow:var(--shadow);animation:popIn .5s var(--ease);border-radius:26px;place-items:center;margin:0 auto;display:grid}.finish-badge.soft{background:linear-gradient(135deg, var(--peach), var(--butter))}@keyframes popIn{0%{opacity:0;transform:scale(.4)rotate(-12deg)}70%{transform:scale(1.08)rotate(3deg)}to{opacity:1;transform:none}}.finish-stats{justify-content:center;gap:14px;display:flex}.stat{background:var(--bg-soft);border-radius:var(--r);flex-direction:column;min-width:96px;padding:10px 18px;display:flex}.stat-n{font:900 1.6rem var(--font-display);color:var(--lavender-strong)}.stat-l{color:var(--ink-2);font-size:.8rem}.failed-kps,.credited{text-align:left;background:var(--peach-soft);border-radius:var(--r-s);padding:10px 14px}.credited{background:var(--mint-soft)}.failed-kps ul,.credited ul{flex-direction:column;gap:4px;margin:0;padding-left:0;list-style:none;display:flex}.failed-kps li{align-items:center;gap:6px;display:flex}.center-card{text-align:center;flex-direction:column;align-items:center;gap:14px;display:flex}.task{flex-direction:column;gap:6px;display:flex}.task-head{align-items:center;gap:8px;margin-bottom:4px;display:flex}.kind-chip{font:800 .76rem var(--font-display);text-transform:uppercase;letter-spacing:.05em;background:var(--lavender-soft);color:var(--lavender-strong);border-radius:999px;align-items:center;gap:6px;padding:4px 11px;display:inline-flex}.kind-review,.kind-agent{background:var(--rose-soft);color:var(--rose-strong)}.kind-predict{background:var(--sky-soft);color:var(--sky-strong)}.kind-fix,.kind-find-bug,.kind-code{background:var(--peach-soft);color:var(--peach-strong)}.kind-vocab{background:var(--mint-soft);color:var(--mint-strong)}.task-context{background:var(--surface-2);border:1px dashed var(--line-2);border-radius:var(--r-s);padding:10px 14px}.task-context .bi{margin:0}.task-prompt .bi{margin:6px 0}.task-body{margin-top:4px}.task-hint-line{color:var(--ink-3);margin:6px 0;font-size:.84rem}.task-hint-line .icon{margin-right:4px}.task-actions{border-top:1px solid var(--line);background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:5;flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;padding-top:14px;padding-bottom:12px;display:flex;position:sticky;bottom:0;box-shadow:0 -10px 20px -14px #3a2e4840}@media (width<=900px){.app:not(.app-immersive) .task-actions{bottom:64px}}.hints{flex-direction:column;gap:8px;margin-top:8px;display:flex}.hint{background:var(--butter-soft);border-radius:var(--r-s);animation:pop .25s var(--ease);border-left:3px solid var(--butter);padding:10px 14px}.hint-label{font:800 .74rem var(--font-display);text-transform:uppercase;letter-spacing:.05em;color:var(--butter-strong);align-items:center;gap:6px;margin-bottom:2px;display:flex}.hint .bi{margin:0}.feedback-detail{border-top:1px dashed var(--line-2);margin-top:6px;padding-top:6px}.xp-pop{font:900 .9rem var(--font-display);color:var(--butter-strong);background:var(--butter-soft);animation:popIn .5s var(--ease);border-radius:999px;margin-top:6px;padding:2px 10px;display:inline-block}.confirm-box{background:var(--coral-soft);border-radius:var(--r-s);flex-direction:column;gap:10px;padding:12px 14px;display:flex}.confirm-box .bi{margin:0}.app-note{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:6px;font-size:.84rem;display:flex}.goal-banner{border-radius:var(--r-s);align-items:center;gap:8px;padding:8px 12px;font-size:.92rem;font-weight:600;display:flex}.goal-banner.find-bug{background:var(--peach-soft);color:var(--peach-strong)}.goal-banner.fix{background:var(--sky-soft);color:var(--sky-strong)}.answer-reveal{margin-top:8px}.options{flex-direction:column;gap:8px;display:flex}.option{text-align:left;border-radius:var(--r);border:1.5px solid var(--line-2);background:var(--surface);cursor:pointer;width:100%;transition:all var(--t-fast) var(--ease);color:var(--ink);align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.option:hover:not(:disabled){border-color:var(--lavender);transform:translate(2px)}.option:disabled{cursor:default;opacity:.65}.opt-selected{border-color:var(--lavender-strong);background:var(--lavender-soft)}.opt-correct{border-color:var(--mint-strong)!important;background:var(--mint-soft)!important;opacity:1!important}.opt-wrong{border-color:var(--coral)!important;background:var(--coral-soft)!important;opacity:1!important}.opt-mark{border:2px solid var(--line-2);background:var(--surface);flex-shrink:0;place-items:center;width:22px;height:22px;margin-top:1px;display:grid}.opt-dot{border-radius:50%}.opt-box{border-radius:7px}.opt-selected .opt-mark{border-color:var(--lavender-strong);background:var(--lavender-strong);box-shadow:inset 0 0 0 3px var(--surface)}.opt-correct .opt-mark{border-color:var(--mint-strong);background:var(--mint-strong);color:#fff;box-shadow:none}.opt-wrong .opt-mark{border-color:var(--coral-strong);background:var(--coral-strong);color:#fff;box-shadow:none}.opt-body{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.opt-why{color:var(--ink-2);border-top:1px dashed var(--line-2);padding-top:6px;font-size:.9rem}.opt-why .bi{margin:0}.fill-code .cv-code{white-space:pre-wrap}.blank{font:inherit;font-family:var(--font-mono);border:1.5px dashed var(--lavender-strong);background:var(--lavender-soft);color:var(--ink);border-radius:7px;min-width:4ch;margin:0 1px;padding:1px 6px}.blank:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--lavender) 30%, transparent);border-style:solid;outline:none}.blank-wrong{border-color:var(--coral-strong);background:var(--coral-soft);border-style:solid}.blank-ok{border-color:var(--mint-strong);background:var(--mint-soft);border-style:solid}select.blank{appearance:auto}.parsons-cols{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (width<=760px){.parsons-cols{grid-template-columns:1fr}}.parsons-col-title{font:800 .78rem var(--font-display);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);margin-bottom:6px}.parsons-pool,.parsons-answer{border-radius:var(--r);background:var(--bg-soft);flex-direction:column;gap:6px;min-height:120px;margin:0;padding:8px;list-style:none;display:flex}.parsons-answer{background:var(--code-bg);border:1.5px dashed var(--line-2)}.parsons-line{text-align:left;border-radius:var(--r-s);border:1.5px solid var(--line);background:var(--surface);cursor:pointer;width:100%;color:var(--ink);touch-action:manipulation;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.parsons-line.pool:hover:not(:disabled){border-color:var(--lavender)}.parsons-line.placed{cursor:default}.parsons-line.dragging{box-shadow:var(--shadow-l);z-index:3;position:relative}.parsons-line.ok{border-color:var(--mint-strong);background:var(--mint-soft)}.parsons-line.bad{border-color:var(--coral);background:var(--coral-soft)}.parsons-content{flex:1;min-width:0;overflow-x:auto}.parsons-text{font-size:.95rem}.drag-handle{color:var(--ink-3);cursor:grab;touch-action:none;place-items:center;display:grid}.parsons-actions{gap:2px;display:flex}.parsons-empty,.parsons-drop{color:var(--ink-3);text-align:center;padding:10px}.match-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.match-item{overflow-wrap:anywhere;min-width:0}.match-item .code-inline-line{white-space:pre-wrap;word-break:break-word}.match-col{flex-direction:column;gap:8px;display:flex}.match-item{text-align:left;border-radius:var(--r-s);border:1.5px solid var(--line-2);background:var(--surface);cursor:pointer;min-height:48px;transition:all var(--t-fast);color:var(--ink);padding:10px 12px;font-size:.93rem}.match-item:hover:not(:disabled){border-color:var(--lavender)}.match-item.picked{border-color:var(--lavender-strong);box-shadow:0 0 0 3px color-mix(in srgb, var(--lavender) 30%, transparent)}.match-item.targetable{border-style:dashed}.match-item.linked{background:var(--pc-soft);border-color:var(--pc);align-items:flex-start;gap:8px;display:flex}.match-item.linked>:not(.match-n){flex:1;min-width:0}.match-item.c-lavender{--pc:var(--lavender);--pc-soft:var(--lavender-soft);--pc-strong:var(--lavender-strong)}.match-item.c-sky{--pc:var(--sky);--pc-soft:var(--sky-soft);--pc-strong:var(--sky-strong)}.match-item.c-butter{--pc:var(--butter);--pc-soft:var(--butter-soft);--pc-strong:var(--butter-strong)}.match-n{background:var(--surface);border:1.5px solid var(--pc);width:20px;height:20px;color:var(--pc-strong);font:800 .72rem var(--font-display);border-radius:50%;flex-shrink:0;place-items:center;margin-top:1px;display:grid}.match-item.bad{box-shadow:0 0 0 2px var(--coral-soft);border-color:var(--coral-strong)!important}.match-item.ok{border-color:var(--mint-strong)!important}.match-item:disabled{cursor:default;opacity:1}.predict-q{margin:12px 0;font-weight:600}.predict-buttons{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.predict-btn{border-radius:var(--r);border:2px solid var(--line-2);background:var(--surface);min-width:140px;font:800 1rem var(--font-display);cursor:pointer;transition:all var(--t-fast);flex:1;justify-content:center;align-items:center;gap:8px;padding:14px;display:inline-flex}.predict-btn.pass{color:var(--mint-strong)}.predict-btn.fail{color:var(--coral-strong)}.predict-btn.pass.on{background:var(--mint-soft);border-color:var(--mint-strong)}.predict-btn.fail.on{background:var(--coral-soft);border-color:var(--coral-strong)}.predict-btn:disabled{opacity:.4;cursor:default}.predict-compare{flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0 0;font-weight:600;display:flex}.predict-why{margin-top:8px}.issue-picker{background:var(--surface);border:1.5px solid var(--lavender);border-radius:var(--r);box-shadow:var(--shadow);animation:pop .2s var(--ease);padding:10px 12px}.issue-picker-title{margin-bottom:8px;font-size:.9rem;font-weight:700}.issue-chips{flex-wrap:wrap;gap:6px;display:flex}.flag-chip{font:700 11px var(--font-display);background:var(--peach-soft);color:var(--peach-strong);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:1px 8px;display:inline-flex}.flag-chip.ok{background:var(--mint-soft);color:var(--mint-strong)}.test-level{margin-top:10px}.test-level-title{font:800 .76rem var(--font-display);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);margin-bottom:6px}.issue-notes{flex-direction:column;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.issue-notes li{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--coral-strong);border-radius:var(--r-s);grid-template-columns:auto 1fr;gap:4px 10px;padding:8px 12px;display:grid}.issue-notes li .bi{grid-column:2;margin:0}.issue-where{font:700 12px var(--font-mono);color:var(--coral-strong);grid-row:span 2}.agent-simulated{color:var(--sky-strong);background:var(--sky-soft);border-radius:var(--r-s);align-items:center;gap:6px;padding:6px 10px;font-size:.82rem;display:flex}.prompt-blocks{flex-direction:column;gap:8px;display:flex}.prompt-block{text-align:left;border-radius:var(--r);border:1.5px dashed var(--line-2);background:var(--surface);cursor:pointer;transition:all var(--t-fast);color:var(--ink);align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.prompt-block.on{border-style:solid;border-color:var(--lavender);background:var(--lavender-soft)}.prompt-block.locked{cursor:default}.prompt-block:disabled{opacity:.55;cursor:default}.pb-check{border:2px solid var(--line-2);background:var(--surface);border-radius:7px;flex-shrink:0;place-items:center;width:20px;height:20px;margin-top:2px;display:grid}.prompt-block.on .pb-check{background:var(--lavender-strong);border-color:var(--lavender-strong);color:var(--surface)}.pb-text{flex-direction:column;flex:1;gap:2px;display:flex}.pb-en{font-weight:500}.pb-ru{color:var(--ink-2);font-size:.88rem}.prompt-preview{background:var(--code-bg);border:1px solid var(--line);border-radius:var(--r);margin-top:10px;padding:10px 14px}.prompt-preview p{font-family:var(--font-mono);margin:4px 0 0;font-size:13px}.prompt-preview-label{font:800 .74rem var(--font-display);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);align-items:center;gap:6px;display:flex}.agent-thinking{color:var(--ink-2);align-items:center;gap:10px;margin:12px 0;font-style:italic;display:flex}.agent-response{border-radius:var(--r);border:1.5px solid var(--line);background:var(--surface-2);animation:pop .3s var(--ease);margin-top:12px;padding:12px}.agent-response.best{border-color:var(--mint)}.agent-msg{align-items:flex-end;gap:10px;display:flex}.agent-bubble{background:var(--surface);border:1px solid var(--line);border-radius:20px 20px 20px 6px;flex:1;padding:10px 14px}.agent-bubble .bi{margin:0}.agent-missing{background:var(--butter-soft);border-radius:var(--r-s);margin-top:8px;padding:8px 12px}.agent-missing ul{margin:0;padding-left:0;list-style:none}.agent-run{margin-top:10px}.agent-run summary{cursor:pointer;color:var(--lavender-strong);align-items:center;gap:6px;padding:6px 0;font-weight:700;list-style:none;display:inline-flex}.agent-run summary::-webkit-details-marker{display:none}.verdict{border-radius:var(--r-s);margin-top:8px;padding:10px 14px}.verdict.ok{background:var(--mint-soft)}.verdict.bad{background:var(--coral-soft)}.verdict ul{flex-direction:column;gap:4px;margin:0;padding-left:0;list-style:none;display:flex}.verdict .bi{margin:0}.verdict-runs{flex-wrap:wrap;gap:8px;margin-bottom:6px;display:flex}.see-run,.run-completed{margin-top:10px}.script-run{flex-direction:column;align-items:flex-start;gap:8px;margin-top:10px;display:flex}.script-out{width:100%}.vocab-card{flex-direction:column;gap:12px;display:flex}.vocab-prompt{align-items:center;gap:10px;display:flex}.vocab-term{flex-direction:column;display:flex}.vocab-term .term-word{font-size:1.6rem}.vocab-ask{color:var(--ink-3);font-size:.86rem}.vocab-options{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;display:grid}.vocab-opt{border-radius:var(--r);border:1.5px solid var(--line-2);background:var(--surface);cursor:pointer;text-align:left;color:var(--ink);transition:all var(--t-fast);padding:12px 14px;font-weight:600}.vocab-opt:hover:not(:disabled){border-color:var(--lavender)}.cloze{background:var(--surface);border-radius:var(--r);border:1px solid var(--line);padding:12px 16px}.cloze-en{margin:0;font-size:1.08rem;font-weight:500}.cloze-ru{color:var(--ink-2);border-left:3px solid var(--lavender);margin:6px 0 0;padding-left:10px;font-size:.92rem}.cloze-gap{border-bottom:2.5px solid var(--rose-strong);color:#0000;min-width:70px;margin:0 4px;display:inline-block}.figure{margin:14px 0}.fig-flow{align-items:stretch;gap:4px;display:flex}.fig-node{border-radius:var(--r);background:var(--surface);border:1px solid var(--line);min-width:0;box-shadow:var(--shadow-s);flex-direction:column;flex:1 1 0;gap:8px;padding:12px 10px;display:flex}.fig-text{flex-direction:column;gap:6px;display:flex}.fig-node.tone-lavender{background:var(--lavender-soft)}.fig-node.tone-butter{background:var(--butter-soft)}.fig-node.tone-sky{background:var(--sky-soft)}.fig-node.tone-peach{background:var(--peach-soft)}.fig-node.tone-mint{background:var(--mint-soft)}.fig-icon{color:var(--ink-2)}.fig-title{font-size:.92rem;font-weight:700}.fig-sub{color:var(--ink-2);font-size:.8rem}.fig-arrow{color:var(--ink-3);place-items:center;display:grid}@media (width<=760px){.fig-flow{flex-direction:column}.fig-node{flex-direction:row;align-items:center}.fig-arrow{transform:rotate(90deg)}}.fig-legend{flex-wrap:wrap;gap:8px;display:flex}.leg{border-radius:999px;padding:3px 10px;font-size:.82rem;font-weight:600}.leg-title,.fig-l-title{background:color-mix(in srgb, var(--lavender) 28%, transparent)}.leg-steps,.fig-l-steps{background:color-mix(in srgb, var(--peach) 28%, transparent)}.leg-expect,.fig-l-expect{background:color-mix(in srgb, var(--mint) 32%, transparent)}.fig-mva{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);flex-direction:column;gap:8px;padding:12px;display:flex}.mva-head{font-weight:800;font-family:var(--font-display);color:var(--ink-2);grid-template-columns:1fr 1fr;gap:30px;font-size:.85rem;display:grid}.mva-row{grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;display:grid}.mva-manual{background:var(--bg-soft);border-radius:var(--r-s);align-items:center;gap:8px;padding:8px 10px;font-size:.9rem;display:flex}.mva-n{background:var(--lavender-soft);width:22px;height:22px;color:var(--lavender-strong);font:800 .75rem var(--font-display);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.mva-code{border:1px solid var(--line);white-space:nowrap;overflow-x:auto;background:var(--code-bg)!important;border-radius:var(--r-s)!important;padding:8px 10px!important;font-size:.82rem!important}.mva-expect .mva-manual{background:var(--mint-soft)}.mva-foot{color:var(--ink-2);border-top:1px dashed var(--line-2);flex-wrap:wrap;gap:14px;padding-top:8px;font-size:.85rem;display:flex}@media (width<=640px){.mva-row{grid-template-columns:1fr}.mva-row>.icon{margin:0 auto;transform:rotate(90deg)}.mva-head{display:none}}.fig-dom{background:var(--code-bg);border:1px solid var(--line);border-radius:var(--r);padding:12px;font-size:13px;overflow-x:auto}.dom-node{border-left:2px solid var(--line-2);margin:3px 0;padding:3px 0 3px 10px}.dom-node code{color:var(--tok-keyword);background:0 0!important;padding:0!important}.dom-node.tone-lavender>code{background:var(--lavender-soft)!important;padding:1px 6px!important}.dom-node.tone-sky>code{background:var(--sky-soft)!important;padding:1px 6px!important}.dom-node.tone-peach>code{background:var(--peach-soft)!important;padding:1px 6px!important}.dom-children{padding-left:12px}.dom-text{color:var(--ink);font-family:var(--font-body);margin-left:8px}.fig-checklist{flex-direction:column;gap:6px;display:flex}.check-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-s);align-items:center;gap:10px;padding:8px 12px;display:flex}.check-n{background:var(--rose-soft);width:26px;height:26px;color:var(--rose-strong);font:900 .85rem var(--font-display);border-radius:9px;flex-shrink:0;place-items:center;display:grid}.fig-redgreen{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.rg-card{border-radius:var(--r);flex:200px;align-items:center;gap:10px;padding:12px 14px;font-weight:700;display:flex}.rg-red{background:var(--coral-soft);color:var(--coral-strong)}.rg-green{background:var(--mint-soft);color:var(--mint-strong)}.rg-note{color:var(--ink-2);flex-basis:100%;font-size:.9rem}.home-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:22px;display:grid}@media (width<=980px){.home-grid{grid-template-columns:1fr}.home-side{position:static}.home-side .mochi-card{display:none}}.home-main{flex-direction:column;gap:14px;min-width:0;display:flex}.home-side{flex-direction:column;gap:14px;display:flex;position:sticky;top:80px}.cta-card{text-align:left;cursor:pointer;background:linear-gradient(120deg, var(--lavender-soft), var(--rose-soft));transition:transform var(--t-fast) var(--ease), box-shadow var(--t-fast);color:var(--ink);border:0;align-items:center;gap:16px;padding:20px 22px;display:flex}.cta-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.cta-icon{background:var(--surface);width:56px;height:56px;color:var(--rose-strong);box-shadow:var(--shadow-s);border-radius:20px;flex-shrink:0;place-items:center;display:grid}.cta-text{flex:1;min-width:0}.cta-title{font:800 1.25rem/1.25 var(--font-display);margin:2px 0}.cta-meta{color:var(--ink-2);align-items:center;gap:4px;font-size:.85rem;display:flex}.home-row{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.small-card{text-align:left;cursor:pointer;transition:transform var(--t-fast) var(--ease);color:var(--ink);flex-direction:column;gap:4px;display:flex}.small-card:hover:not(:disabled){transform:translateY(-2px)}.small-card:disabled{cursor:default}.small-card.accent{background:var(--peach-soft);border-color:#0000}.small-card.calm{opacity:.85}.small-card-head{font-family:var(--font-display);align-items:center;gap:8px;font-weight:800;display:flex}.big-num{font:900 2rem/1 var(--font-display);color:var(--lavender-strong)}.weak-card{background:var(--butter-soft);border-color:#0000}.weak-row{text-align:left;background:var(--surface);border-radius:var(--r-s);cursor:pointer;width:100%;color:var(--ink);border:0;flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px;padding:10px 12px;display:flex}.weak-row>span:first-child{flex:1;font-weight:600}.level-card{flex-direction:column;gap:10px;display:flex}.level-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.level-name{font:800 1.15rem/1.25 var(--font-display)}.streak-pill{background:var(--peach-soft);color:var(--peach-strong);font:800 1rem var(--font-display);border-radius:999px;align-items:center;gap:4px;padding:5px 12px;display:inline-flex}.xp-bar{background:var(--bg-soft);border-radius:999px;height:12px;overflow:hidden}.xp-bar span{border-radius:inherit;background:linear-gradient(90deg, var(--lavender), var(--rose));height:100%;transition:width .6s var(--ease);display:block}.xp-meta{flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:.84rem;font-weight:600;display:flex}.mini-stats{color:var(--ink-2);border-top:1px dashed var(--line-2);justify-content:space-between;gap:6px;padding-top:10px;font-size:.82rem;display:flex}.mini-stats strong{color:var(--ink);font-family:var(--font-display);font-size:1.05rem}.mochi-card{text-align:center;background:var(--surface-2);flex-direction:column;align-items:center;gap:6px;display:flex}.map{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.map-node{text-align:left;border-radius:var(--r);border:1px solid var(--line);background:var(--surface);cursor:pointer;transition:transform var(--t-fast) var(--ease), box-shadow var(--t-fast);box-shadow:var(--shadow-s);color:var(--ink);align-items:center;gap:12px;padding:14px;display:flex}.map-node:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.map-num{width:44px;height:44px;font:900 1.15rem var(--font-display);border-radius:15px;flex-shrink:0;place-items:center;display:grid}.tone-lavender .map-num,.tone-lavender .chapter-num{background:var(--lavender-soft);color:var(--lavender-strong)}.tone-rose .map-num,.tone-rose .chapter-num{background:var(--rose-soft);color:var(--rose-strong)}.tone-peach .map-num,.tone-peach .chapter-num{background:var(--peach-soft);color:var(--peach-strong)}.tone-mint .map-num,.tone-mint .chapter-num{background:var(--mint-soft);color:var(--mint-strong)}.tone-sky .map-num,.tone-sky .chapter-num{background:var(--sky-soft);color:var(--sky-strong)}.tone-butter .map-num,.tone-butter .chapter-num{background:var(--butter-soft);color:var(--butter-strong)}.map-text{flex:1;min-width:0}.map-title{margin:2px 0 4px;font-weight:700;line-height:1.3}.map-node.locked,.map-node.planned{opacity:.72;box-shadow:none}.map-node.mastered{border-color:var(--mint)}.ring{flex-shrink:0}.chapter-head{align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.chapter-num{width:64px;height:64px;font:900 1.6rem var(--font-display);border-radius:22px;flex-shrink:0;place-items:center;display:grid}.chapter-head h1{margin:4px 0 8px}.story-card{margin:14px 0}.story-toggle{cursor:pointer;color:var(--ink-2);background:0 0;border:0;align-items:center;gap:8px;margin-bottom:8px;padding:0;font-weight:700;display:flex}.lesson-list{flex-direction:column;gap:10px;display:flex}.lesson-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-s);transition:box-shadow var(--t-fast);align-items:stretch;display:flex;overflow:hidden}.lesson-card:hover{box-shadow:var(--shadow)}.lesson-card.next{border-color:var(--lavender);box-shadow:0 0 0 3px var(--lavender-soft)}.lesson-card-main{text-align:left;cursor:pointer;min-width:0;color:var(--ink);background:0 0;border:0;flex:1;align-items:center;gap:14px;padding:14px 16px;display:flex}.lesson-card-main:disabled{cursor:default;opacity:.6}.lesson-n{background:var(--bg-soft);width:40px;height:40px;font:800 .95rem var(--font-display);color:var(--ink-2);border-radius:14px;flex-shrink:0;place-items:center;display:grid}.lesson-card.done .lesson-n{background:var(--mint-soft);color:var(--mint-strong)}.lesson-card-text{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.lesson-card-title{font-weight:700}.lesson-card-meta{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:6px;font-size:.82rem;display:flex}.lesson-go{font:800 .85rem var(--font-display);color:var(--lavender-strong);white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.iknow-btn{border:0;border-left:1px dashed var(--line-2);background:var(--butter-soft);color:var(--butter-strong);font:800 .8rem var(--font-display);cursor:pointer;white-space:nowrap;align-items:center;gap:4px;padding:0 14px;display:flex}.iknow-btn:hover{background:color-mix(in srgb, var(--butter) 40%, var(--surface))}@media (width<=600px){.lesson-card{flex-direction:column}.lesson-go{display:none}.iknow-btn{border-left:0;border-top:1px dashed var(--line-2);justify-content:center;padding:8px 14px}}.boss-card{background:linear-gradient(120deg, var(--butter-soft), var(--peach-soft));border:0;flex-wrap:wrap;align-items:center;gap:14px;margin-top:16px;display:flex}.boss-card.locked{opacity:.75}.boss-icon{background:var(--surface);width:56px;height:56px;color:var(--butter-strong);border-radius:20px;flex-shrink:0;place-items:center;display:grid}.boss-text{flex:1;min-width:180px}.boss-text h3{margin:2px 0}.iknow-card{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:14px;display:flex}.iknow-card h3{align-items:center;gap:8px;margin:0 0 4px;display:flex}.plan{flex-direction:column;gap:10px;display:flex}.plan-card{gap:14px;display:flex}.plan-n{font:900 1rem var(--font-display);color:var(--ink-3);flex-shrink:0;width:44px}.kp-list{color:var(--ink-2);margin:6px 0 0;padding-left:1.1em;font-size:.9rem}.toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.search{background:var(--surface);border:1.5px solid var(--line-2);min-width:220px;color:var(--ink-3);border-radius:999px;flex:1;align-items:center;gap:8px;padding:8px 14px;display:flex}.search:focus-within{border-color:var(--lavender-strong)}.search input{font:inherit;color:var(--ink);background:0 0;border:0;outline:none;flex:1}.gloss-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;display:grid}.gloss-card{flex-direction:column;gap:4px;display:flex}.gloss-card.learned{border-color:var(--mint)}.gloss-head{justify-content:space-between;align-items:flex-start;display:flex}.gloss-foot{flex-wrap:wrap;gap:6px;margin-top:auto;display:flex}.sticker-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:18px;display:grid}.sticker-cell{text-align:center;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);flex-direction:column;align-items:center;gap:6px;padding:14px 10px;display:flex}.sticker-cell:not(.earned){background:var(--bg-soft)}.sticker-name{font-weight:800;font-family:var(--font-display);font-size:.95rem}.sticker-desc .bi{color:var(--ink-2);margin:0;font-size:.86rem}.sticker-desc .bi-ru,.finish-card .bi-ru.center{border-left:0;padding-left:0}.sticker-name .bil-ru{font-weight:600}.sticker{filter:drop-shadow(0 4px 8px #3a2e482e);transition:transform var(--t) var(--ease);place-items:center;display:grid;position:relative}.sticker-cell.earned .sticker:hover{transform:rotate(0)scale(1.06)!important}.sticker>svg{position:absolute;inset:0}.sticker-icon{place-items:center;display:grid;position:relative}.sticker-locked{filter:grayscale()opacity(.45)}.sticker-reveal{animation:popIn .6s var(--ease);place-items:center;margin:8px auto;display:grid}.qa-list{flex-direction:column;gap:12px;display:flex}.qa{flex-direction:column;gap:10px;display:flex}.qa-q{flex-wrap:wrap;align-items:flex-start;gap:10px;display:flex}.qa-q .bi{flex:1;min-width:220px;margin:0}.qa-a{border-top:1px dashed var(--line-2);padding-top:10px}.settings .set-card{flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:14px;display:flex}.settings .set-card h2{align-items:center;gap:8px;margin:0;font-size:1.05rem;display:flex}.range-row{width:100%;color:var(--ink-2);align-items:center;gap:10px;font-size:.86rem;display:flex}.range-row input{accent-color:var(--lavender-strong);flex:1}.danger-zone{border-top:1px dashed var(--line-2);width:100%;padding-top:12px}.code-box{width:100%;font:.78rem/1.4 var(--font-mono,ui-monospace, monospace);border-radius:var(--r-s);border:1px solid var(--line-2);background:var(--bg-soft);color:var(--ink);resize:vertical;word-break:break-all;padding:10px 12px}.paste-box{flex-direction:column;align-items:flex-start;gap:8px;width:100%;display:flex}.import-box{background:var(--bg-soft);border-radius:var(--r-s);flex-direction:column;align-items:flex-start;gap:10px;width:100%;padding:14px;display:flex}.import-box h3{margin:0;font-size:1rem}.import-cmp{border-collapse:collapse;font-size:.9rem}.import-cmp th,.import-cmp td{text-align:left;padding:4px 14px 4px 0}.import-cmp thead th{color:var(--ink-2);font-size:.78rem;font-weight:700}.import-cmp tbody th{color:var(--ink-2);font-weight:500}.import-cmp td{font-variant-numeric:tabular-nums;font-weight:600}.import-cmp td.more{color:var(--mint-strong);font-weight:800}.import-choice{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.backup-card{background:var(--sky-soft);border-color:#0000;flex-direction:column;gap:8px;display:flex}.backup-card .bi{margin:0}.backup-note{color:var(--ink-2);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;font-size:.9rem;display:flex}.bug-panel{margin-bottom:12px}.bug-panel summary{cursor:pointer;align-items:center;gap:8px;font-weight:700;display:flex}.bug-group h3,.br-field h3{font:800 .74rem var(--font-display);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2);margin:0 0 4px}.bug-group h3{margin-top:14px}.bug-group .chip-row{margin:6px 0 0}.playground-modes{margin-bottom:14px}.playground-modes button{align-items:center;gap:6px;display:inline-flex}.hunt-top{grid-template-columns:minmax(260px,5fr) 7fr;align-items:start;gap:14px;margin-bottom:14px;display:grid}@media (width<=1000px){.hunt-top{grid-template-columns:1fr}}.hunt-board,.bug-report{flex-direction:column;gap:12px;min-width:0;display:flex}.hunt-board-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.hunt-board-head h2,.bug-report-title{font:800 1.05rem/1.3 var(--font-display);align-items:center;gap:8px;margin:0;display:flex}.hunt-areas{flex-wrap:wrap;gap:6px;display:flex}.hunt-area-count{font-variant-numeric:tabular-nums;opacity:.7;font-weight:600}.hunt-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.hunt-item{text-align:left;border-radius:var(--r-s);width:100%;color:var(--ink);cursor:pointer;font:inherit;background:0 0;border:1.5px solid #0000;align-items:flex-start;gap:10px;padding:8px 10px;display:flex}.hunt-item:hover:not(:disabled){background:var(--bg-soft)}.hunt-item:disabled{cursor:default}.hunt-item.on{background:var(--lavender-soft);border-color:var(--lavender)}.hunt-mark{background:var(--bg-soft);width:24px;height:24px;color:var(--ink-3);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.hunt-item.on .hunt-mark{background:var(--surface);color:var(--lavender-strong)}.hunt-item.caught .hunt-mark{background:var(--mint-soft);color:var(--mint-strong)}.bug-report-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.bug-id{font:600 .8rem var(--font-mono);color:var(--ink-2);background:var(--bg-soft);border-radius:var(--r-xs);padding:2px 8px}.br-field .bi{margin:0}.br-field ol,.br-pre{margin:0;padding-left:1.3em}.br-results{grid-template-columns:1fr 1fr;gap:10px;display:grid}@media (width<=560px){.br-results{grid-template-columns:1fr}}.br-expected,.br-actual{border-radius:var(--r-s);padding:10px 12px}.br-expected{background:var(--mint-soft)}.br-actual{background:var(--coral-soft)}.petal-note{border-radius:var(--r-s);background:var(--sky-soft);align-items:flex-start;gap:10px;padding:10px 12px;font-size:.92rem;display:flex}.petal-note .avatar-svg{flex-shrink:0}.petal-goal{align-items:center;gap:6px;margin-top:6px;display:flex}.hunt-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.hunt-solution summary{cursor:pointer;color:var(--ink-2);align-items:center;gap:6px;font-weight:600;display:inline-flex}.hunt-solution[open] summary{margin-bottom:8px}.hunt-solution .btn{margin-top:8px}.verdict-caught{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.onboarding{background:radial-gradient(circle at 20% 10%, var(--rose-soft), transparent 45%), radial-gradient(circle at 90% 80%, var(--lavender-soft), transparent 50%), var(--bg);place-items:center;min-height:100vh;padding:20px 16px;display:grid}.onb-card{background:var(--surface);border-radius:var(--r-xl);width:100%;max-width:620px;box-shadow:var(--shadow-l);animation:stepIn .4s var(--ease);flex-direction:column;gap:16px;padding:clamp(22px,4vw,38px);display:flex}.onb-dots{gap:6px;display:flex}.onb-dots span{background:var(--line);border-radius:99px;width:26px;height:6px}.onb-dots span.on{background:var(--lavender-strong)}.onb-options{flex-direction:column;gap:8px;display:flex}.onb-opt{text-align:left;border-radius:var(--r);border:1.5px solid var(--line-2);background:var(--surface);cursor:pointer;color:var(--ink);flex-direction:column;gap:2px;padding:14px 16px;display:flex}.onb-opt.on{border-color:var(--lavender-strong);background:var(--lavender-soft)}.onb-card>.btn{align-self:flex-end}.modal-backdrop{z-index:90;background:color-mix(in srgb, var(--ink) 35%, transparent);place-items:center;padding:16px;animation:.2s fade;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--r-xl);width:100%;max-width:460px;box-shadow:var(--shadow-l);text-align:center;animation:popIn .45s var(--ease);flex-direction:column;gap:10px;padding:26px;display:flex}.modal h2{margin:0}.modal .mentor{text-align:left}.level-big{font:900 4rem/1 var(--font-display);background:linear-gradient(135deg, var(--lavender-strong), var(--rose-strong));color:#0000;-webkit-background-clip:text;background-clip:text}.toast{z-index:85;max-width:420px;animation:sheet .3s var(--ease);cursor:pointer;position:fixed;bottom:16px;right:16px}.toast .mentor{margin:0}@media (width<=900px){.toast{bottom:80px;left:12px;right:12px}}@keyframes fade{0%{opacity:0}}.st-table{border-collapse:collapse;width:100%;margin-top:12px;font-size:12px}.st-table td{border-bottom:1px solid var(--line);vertical-align:top;padding:4px 6px}.st-fail td:first-child{color:var(--coral-strong);font-weight:700}.st-ok td:first-child{color:var(--mint-strong)}.st-warn td:first-child{color:var(--butter-strong);font-weight:700}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.inspector{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:12px;margin:12px 0;display:grid}.ins-page .browser.picking .browser-viewport{cursor:crosshair}.ins-pick{border:1.5px solid var(--line-2);background:var(--surface);color:var(--ink-2);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.ins-pick.on{border-color:var(--lavender-strong);color:var(--lavender-strong);background:var(--lavender-soft)}.ins-panel{border:1px solid var(--line);border-radius:var(--r);background:var(--code-bg);flex-direction:column;min-width:0;display:flex;overflow:hidden}.ins-tabs,.trace-tabs,.trace-moments,.file-tabs{background:var(--bg-soft);border-bottom:1px solid var(--line);gap:2px;padding:4px 6px 0;display:flex;overflow-x:auto}.ins-tabs button,.trace-tabs button,.trace-moments button,.file-tabs button{font:600 12.5px var(--font-body);color:var(--ink-2);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:8px 8px 0 0;align-items:center;gap:5px;padding:7px 11px;display:inline-flex}.ins-tabs button.active,.trace-tabs button.active,.trace-moments button.active,.file-tabs button.active{background:var(--code-bg);color:var(--ink);box-shadow:inset 0 -2px 0 var(--lavender-strong)}.file-tabs{border:1px solid var(--line);border-radius:var(--r-s) var(--r-s) 0 0;font-family:var(--font-mono);border-bottom:0;margin-bottom:-10px}.file-tabs button{font-family:var(--font-mono);font-size:12px}.ins-tree{font:12.5px/1.6 var(--font-mono);min-height:160px;padding:6px 0;overflow:auto}.ins-row{white-space:nowrap;cursor:pointer;color:var(--ink);align-items:center;gap:2px;padding:1px 8px 1px 6px;display:flex}.ins-row:hover{background:var(--lavender-soft)}.ins-row.sel{background:color-mix(in srgb, var(--lavender) 35%, transparent)}.ins-textrow,.ins-close{cursor:default;color:var(--ink-2)}.ins-textrow{color:var(--ink)}.ins-twisty{width:16px;height:16px;color:var(--ink-3);cursor:pointer;background:0 0;border:0;flex-shrink:0;place-items:center;padding:0;display:inline-grid}.ins-tname{color:var(--tok-function)}.ins-aname{color:var(--tok-property)}.ins-aval{color:var(--tok-string)}.ins-text{color:var(--ink)}.ins-ellipsis{color:var(--ink-3)}.ins-aria{white-space:pre}.ins-aria.unnamed{color:var(--coral-strong)}.ins-aria.ins-prop{color:var(--ink-3);cursor:default}.ins-aria:not(.pickable){cursor:default}.ins-details{border-top:1px solid var(--line);background:var(--surface);padding:10px 12px;font-size:.86rem}.ins-dtag{font:12px/1.5 var(--font-mono);white-space:nowrap;margin-bottom:6px;overflow-x:auto}.ins-details dl{grid-template-columns:minmax(0,140px) minmax(0,1fr);gap:4px 12px;margin:0;display:grid}.ins-details dt{color:var(--ink-3);text-transform:uppercase;letter-spacing:.03em;padding-top:2px;font-size:.75rem;font-weight:700}.ins-details dd{overflow-wrap:anywhere;min-width:0;margin:0}.ins-attr{margin:0 4px 3px 0;display:inline-block}.ins-src{color:var(--ink-3);font-size:.8rem}.ins-warn{color:var(--coral-strong);font-weight:600}.ins-locator{background:var(--mint-soft)!important}.ins-empty{border-top:1px solid var(--line);color:var(--ink-3);background:var(--surface);align-items:center;gap:6px;padding:10px 12px;font-size:.85rem;display:flex}.ins-picked{color:var(--ink-2);align-items:center;gap:6px;margin-top:4px;font-size:.88rem;display:inline-flex}@media (width<=900px){.inspector{grid-template-columns:1fr}}.trace{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);box-shadow:var(--shadow-s);margin:12px 0;position:relative;overflow:hidden}.trace-top{background:var(--bg-soft);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 12px;display:flex}.trace-brand{font:700 .86rem var(--font-display);color:var(--ink-2);align-items:center;gap:6px;display:inline-flex}.trace-tests{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:6px;padding:8px 12px;display:flex}.trace-main{grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);min-height:300px;display:grid}.trace-actions{border-right:1px solid var(--line);background:var(--code-bg);max-height:380px;overflow:auto}.trace-sub{font:700 .72rem var(--font-display);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);padding:8px 10px 4px}.trace-row{text-align:left;width:100%;font:12.5px/1.4 var(--font-mono);color:var(--ink);cursor:pointer;background:0 0;border:0;border-left:3px solid #0000;align-items:center;gap:6px;padding:5px 10px;display:flex}.trace-row:hover:not(:disabled){background:var(--lavender-soft)}.trace-row.sel{background:color-mix(in srgb, var(--lavender) 32%, transparent);border-left-color:var(--lavender-strong)}.trace-row:disabled{cursor:default;opacity:.65}.trace-row.failed .trace-ico{color:var(--coral-strong)}.trace-row.passed .trace-ico{color:var(--mint-strong)}.trace-row.cat-hook,.trace-row.cat-teststep{font-weight:700;font-family:var(--font-body)}.trace-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.trace-line{color:var(--ink-3);font-size:11.5px}.trace-dur{color:var(--ink-3);flex-shrink:0;font-size:11px}.trace-view{flex-direction:column;min-width:0;display:flex}.trace-moments{background:var(--surface)}.trace-snap{background:var(--bg-soft);flex-direction:column;flex:1;gap:6px;padding:8px;display:flex}.trace-url{flex:none}.trace-snap iframe{border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;height:320px}.trace-nosnap{color:var(--ink-3);text-align:center;background:var(--surface-2);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;padding:30px;display:flex}.trace-bottom{border-top:1px solid var(--line)}.trace-panel{max-height:300px;padding:10px 12px;font-size:.88rem;overflow:auto}.trace-panel .codeview{margin:0}.trace-call{grid-template-columns:max-content 1fr;gap:4px 14px;margin:0;font-size:.86rem;display:grid}.trace-call dt{color:var(--ink-3);font-family:var(--font-mono);font-size:.8rem}.trace-call dd{overflow-wrap:anywhere;min-width:0;margin:0}.trace-call dd.failed{color:var(--coral-strong);font-weight:700}.trace-call dd.passed{color:var(--mint-strong);font-weight:700}.trace-err{background:var(--coral-soft)!important}.trace-console{font:12.5px var(--font-mono);white-space:pre-wrap;margin:0}.trace-hidden-browser{width:1000px;height:640px;position:absolute;top:0;left:-12000px;overflow:hidden}.trace-hidden-browser iframe{border:0;width:1000px;height:640px}.trace-diagnosis{margin-top:12px}@media (width<=760px){.trace-main{grid-template-columns:1fr}.trace-actions{border-right:0;border-bottom:1px solid var(--line);max-height:220px}.trace-snap iframe{height:260px}}.files-view{flex-direction:column;gap:6px;margin:8px 0;display:flex}.file-block{border:1px solid var(--line);border-radius:var(--r-s);background:var(--code-bg)}.file-block summary{cursor:pointer;font:600 12px var(--font-mono);color:var(--ink-2);align-items:center;gap:6px;padding:6px 12px;display:flex}.file-block .codeview{border:0;border-top:1px solid var(--line);border-radius:0;margin:0}.fig-ladder{flex-direction:column;gap:6px;display:flex}.ladder-row{border-radius:var(--r-s);border:1px solid var(--line);grid-template-columns:28px minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:10px;padding:8px 12px;display:grid}.ladder-row.tone-mint{background:var(--mint-soft)}.ladder-row.tone-sky{background:var(--sky-soft)}.ladder-row.tone-butter{background:var(--butter-soft)}.ladder-row.tone-coral{background:var(--coral-soft)}.ladder-n{background:var(--surface);width:24px;height:24px;color:var(--ink-2);border-radius:50%;place-items:center;font-size:.8rem;font-weight:800;display:grid}.ladder-code{overflow-wrap:anywhere;font-size:.8rem;background:0 0!important;padding:0!important}.ladder-text{color:var(--ink-2);font-size:.84rem}@media (width<=640px){.ladder-row{grid-template-columns:28px 1fr}.ladder-text{grid-column:2}}.fig-step-wrap{flex:1 1 0;align-items:stretch;gap:4px;min-width:0;display:flex}.fig-step-wrap>.fig-node{flex:1 1 0}.fig-flow-tight .fig-node{padding:10px 8px}.fig-caption{color:var(--ink-2);align-items:center;gap:6px;margin-top:8px;font-size:.86rem;display:flex}@media (width<=760px){.fig-step-wrap{flex-direction:column}}.fig-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.fig-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-s);flex-direction:column;gap:6px;padding:12px;display:flex}.fig-card-head{color:var(--ink-2);align-items:center;gap:6px;display:flex}@media (width<=560px){.fig-cards{grid-template-columns:1fr}}.fig-gates{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.fig-gate{background:var(--butter-soft);border:1px dashed var(--butter-strong);color:var(--ink);border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:.82rem;font-weight:600;display:inline-flex}.fig-pom{align-items:center;gap:6px;display:flex}.pom-col{flex-direction:column;flex:1 1 0;gap:6px;min-width:0;display:flex}.pom-file{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-s);font:600 12px var(--font-mono);flex-wrap:wrap;align-items:center;gap:6px;padding:6px 10px;display:flex}.pom-call{color:var(--ink-3);font-weight:500}.pom-class{background:var(--lavender-soft);border:1px solid var(--line);border-radius:var(--r);flex-direction:column;flex:1.3 1 0;gap:6px;min-width:0;padding:12px;display:flex}.pom-title{font:700 .95rem var(--font-mono);align-items:center;gap:6px;display:flex}.pom-part{color:var(--ink-2);flex-direction:column;gap:2px;font-size:.8rem;display:flex}.pom-note{color:var(--ink);border-top:1px dashed var(--line-2);padding-top:6px;font-size:.82rem}.pom-page{border-radius:var(--r);background:var(--mint-soft);border:1px solid var(--line);font:600 .85rem var(--font-mono);flex:none;place-items:center;gap:4px;padding:16px 14px;display:grid}@media (width<=760px){.fig-pom{flex-direction:column;align-items:stretch}.fig-pom>.fig-arrow{transform:rotate(90deg)}}.fig-http{align-items:stretch;gap:6px;display:flex}.http-card{border:1px solid var(--line);border-radius:var(--r);background:var(--code-bg);flex-direction:column;flex:1 1 0;gap:4px;min-width:0;padding:12px;display:flex}.http-req{background:var(--sky-soft)}.http-res{background:var(--mint-soft)}.http-head{font:700 .92rem var(--font-mono);align-items:center;gap:8px;display:flex}.http-method{background:var(--sky-strong);color:#fff;border-radius:6px;padding:1px 7px;font-size:.78rem}.http-status{background:var(--mint-strong);color:#fff;border-radius:6px;padding:1px 7px;font-size:.78rem}.http-sub{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);margin-top:4px;font-size:.72rem;font-weight:700}.http-card pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:12px}.http-card code{font-size:12px;background:0 0!important;padding:0!important}@media (width<=760px){.fig-http{flex-direction:column}.fig-http>.fig-arrow{transform:rotate(90deg)}}.fig-uiapi{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);flex-direction:column;gap:8px;padding:12px;display:flex}.uiapi-row{grid-template-columns:minmax(150px,max-content) 1fr max-content;align-items:center;gap:10px;display:grid}.uiapi-label{align-items:center;gap:6px;font-size:.86rem;font-weight:600;display:inline-flex}.uiapi-bar{font:11.5px var(--font-mono);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;padding:5px 12px;overflow:hidden}.uiapi-bar.ui{background:var(--peach-soft);border:1px solid var(--peach);width:100%}.uiapi-bar.api{background:var(--mint-soft);border:1px solid var(--mint);width:34%;min-width:150px}.uiapi-time{font:700 .85rem var(--font-mono);color:var(--ink-2)}@media (width<=640px){.uiapi-row{grid-template-columns:1fr max-content}.uiapi-bar{grid-area:2/1/auto/-1;width:auto!important}}.repeat-strip{flex-wrap:wrap;align-items:center;gap:4px;margin:6px 0;display:flex}.rep{border-radius:6px;place-items:center;width:22px;height:22px;font-size:.8rem;font-weight:800;display:inline-grid}.rep-passed{background:var(--mint-soft);color:var(--mint-strong)}.rep-failed{background:var(--coral-soft);color:var(--coral-strong)}
