@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-vietnamese-wght-normal-CHiFlh_0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-ext-wght-normal-Dg-wlmqe.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-wght-normal-CaVRRdDk.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Material Symbols Outlined Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/material-symbols-outlined-latin-fill-normal-DkUCKoZE.woff2)format("woff2-variations")}:root{--font-sans:"Hanken Grotesk Variable", "Hanken Grotesk", -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;--font-head:"Geist Variable", Geist, "Hanken Grotesk", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono Variable", "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--fs-xs:.75rem;--fs-sm:.875rem;--fs-md:1rem;--fs-lg:1.25rem;--fs-xl:1.625rem;--fs-2xl:2.125rem;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--radius-sm:8px;--radius-md:8px;--radius-lg:16px;--radius-xl:24px;--radius-pill:999px;--btn-h:44px;--btn-h-sm:36px;--tap:44px;--sidebar-w:248px;--bottom-nav-h:60px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--bg:#090d16;--surface:#0f172a;--surface-2:#1e293b;--border:#334155;--text:#dae2fd;--text-muted:#94a3b8;--primary:#5457e6;--primary-contrast:#fff;--primary-soft:#6366f126;--primary-text:#c0c1ff;--secondary:#38bdf8;--tertiary:#fbbf24;--success:#10b981;--success-soft:#10b98124;--danger:#ef4444;--danger-soft:#ef444424;--warning:#f59e0b;--warning-soft:#f59e0b24;--info-soft:#3b82f624;--shadow-sm:none;--shadow-md:0 4px 20px -2px #00000080;--syn-kw:#a78bfa;--syn-str:#fbbf24;--syn-num:#38bdf8;--syn-com:#8394ab;--syn-fn:#7dd3fc;--syn-op:#94a3b8;--code-bg:#0b1120;--code-caret:#fff;--code-gutter:#0b1120;--code-text:#e2e8f0;--output-bg:#090d16;--output-text:#dae2fd;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#f6f7fb;--surface:#fff;--surface-2:#eef1f7;--border:#dde2ee;--text:#121826;--text-muted:#4b5567;--primary:#4f46e5;--primary-contrast:#fff;--primary-soft:#e5ecff;--primary-text:#3730a3;--secondary:#0369a1;--tertiary:#92400e;--success:#0f7a55;--success-soft:#dff5e6;--danger:#c62d3b;--danger-soft:#fde5e8;--warning:#9a6200;--warning-soft:#fff0d1;--info-soft:#e5ecff;--shadow-sm:0 1px 2px #1218260f;--shadow-md:0 6px 20px #12182617;--syn-kw:#6d28d9;--syn-str:#92400e;--syn-num:#0369a1;--syn-com:#5b6b80;--syn-fn:#0369a1;--syn-op:#475569;--code-bg:#fbfcff;--code-caret:#000;--code-gutter:#eef1f7;--code-text:#1c2438;--output-bg:#0f172a;--output-text:#e2e8f0;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);font-size:var(--fs-md);-webkit-text-size-adjust:100%;margin:0;line-height:1.55;overflow-x:hidden}h1,h2,h3{font-family:var(--font-head);letter-spacing:-.02em;margin:0 0 var(--sp-3);line-height:1.25}h1{font-size:var(--fs-xl)}h2{font-size:var(--fs-lg)}h3{font-size:var(--fs-md)}p{margin:0 0 var(--sp-3)}a{color:var(--primary-text)}:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.shell{min-height:100%;display:flex}.sidebar{width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);height:100vh;padding:var(--sp-5) var(--sp-3);gap:var(--sp-2);flex-direction:column;flex:none;display:flex;position:sticky;top:0}.brand{font-weight:800;font-size:var(--fs-lg);padding:0 var(--sp-3) var(--sp-4)}.nav-link{align-items:center;gap:var(--sp-3);min-height:var(--btn-h);padding:0 var(--sp-3);border-radius:var(--radius-md);color:var(--text-muted);font-weight:600;text-decoration:none;display:flex}.nav-link:hover{background:var(--surface-2)}.nav-link.active{background:var(--primary-soft);color:var(--primary-text)}.main{min-width:0;padding:var(--sp-6) var(--sp-6) var(--sp-7);flex:1;width:100%;max-width:1500px;margin:0 auto}.bottom-nav{z-index:20;background:var(--surface);border-top:1px solid var(--border);padding-bottom:var(--safe-bottom);height:calc(var(--bottom-nav-h) + var(--safe-bottom));display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav .nav-link{font-size:var(--fs-xs);border-radius:0;flex-direction:column;flex:1;justify-content:center;gap:2px;padding:0}.nav-ico{font-size:1.25rem;line-height:1}.shell.mobile .main{padding:calc(var(--sp-4) + var(--safe-top)) calc(var(--sp-4) + var(--safe-right)) calc(var(--bottom-nav-h) + var(--safe-bottom) + var(--sp-5)) calc(var(--sp-4) + var(--safe-left))}.card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-5);box-shadow:var(--shadow-sm)}.card.link{color:inherit;text-decoration:none;display:block}.card.link:hover{box-shadow:var(--shadow-md)}.btn{font-family:var(--font-head);justify-content:center;align-items:center;gap:var(--sp-2);min-height:var(--btn-h);padding:0 var(--sp-4);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;font-weight:700;text-decoration:none;display:inline-flex}.btn.primary{background:var(--primary);color:var(--primary-contrast);border-color:#0000}.btn.danger{color:var(--danger)}.btn.sm{min-height:var(--btn-h-sm);padding:0 var(--sp-3);font-size:var(--fs-sm)}.btn:disabled{opacity:.55;cursor:not-allowed}.row{gap:var(--sp-3);flex-wrap:wrap;align-items:center;display:flex}.stack{gap:var(--sp-4);flex-direction:column;display:flex}.grid{gap:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.muted{color:var(--text-muted)}.chip{border-radius:var(--radius-pill);background:var(--surface-2);font-size:var(--fs-xs);color:var(--text-muted);padding:2px 10px;font-weight:700;display:inline-block}.chip.ok{background:var(--success-soft);color:var(--success)}.chip.warn{background:var(--warning-soft);color:var(--warning)}.progressbar{border-radius:var(--radius-pill);background:var(--surface-2);height:8px;overflow:hidden}.progressbar>div{background:linear-gradient(90deg, var(--primary), var(--secondary));height:100%;transition:width .3s}.state{text-align:center;padding:var(--sp-7) var(--sp-4)}.state.error{color:var(--danger)}.spinner{border:3px solid var(--border);border-top-color:var(--primary);width:28px;height:28px;margin:0 auto var(--sp-3);border-radius:50%;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.callout{border-radius:var(--radius-md);padding:var(--sp-3) var(--sp-4);background:var(--info-soft)}.callout.warning{background:var(--warning-soft)}.callout.tip{background:var(--success-soft)}.field{flex-direction:column;gap:6px;display:flex}.field input,.field select{min-height:var(--btn-h);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);color:var(--text);padding:0 var(--sp-3);font:inherit;font-size:16px}.tabs{background:var(--surface-2);border-radius:var(--radius-md);gap:4px;padding:4px;display:flex}.tabs button{border-radius:var(--radius-sm);min-height:40px;color:var(--text-muted);font:inherit;background:0 0;border:0;flex:1;font-weight:700}.tabs button[aria-selected=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.badge{gap:var(--sp-3);align-items:center;display:flex}.badge:not(.earned) strong{color:var(--text-muted)}.badge .medal{background:var(--surface-2);border-radius:50%;place-items:center;width:44px;height:44px;font-size:1.3rem;display:grid}.badge.earned .medal{background:var(--warning-soft)}.lesson-layout{gap:var(--sp-5);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.lesson-layout .pane{max-height:calc(100vh - 2 * var(--sp-6));overflow-y:auto}.workbench{gap:var(--sp-3);flex-direction:column;display:flex}.editor-wrap{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--code-bg);overflow:hidden}.cm-editor{font-family:var(--font-mono);background:var(--code-bg);color:var(--code-text)}.cm-editor.cm-focused{outline:2px solid var(--primary)}.cm-scroller{min-height:180px;max-height:50vh;font-family:var(--font-mono);overflow:auto}.cm-gutters{background:var(--code-gutter)!important;color:var(--text-muted)!important;border:0!important}.cm-content{caret-color:var(--code-caret)}.cm-cursor,.cm-dropCursor{border-left:2px solid var(--code-caret)!important}.symbol-bar{background:var(--surface-2);border-top:1px solid var(--border);-webkit-overflow-scrolling:touch;gap:6px;padding:6px;display:flex;overflow-x:auto}.symbol-bar button{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);min-width:40px;min-height:40px;color:var(--text);font:600 1.05rem var(--font-mono);flex:none}.output{background:var(--output-bg);color:var(--output-text);border-radius:var(--radius-md);padding:var(--sp-3) var(--sp-4);font-family:var(--font-mono);font-size:var(--fs-sm);white-space:pre-wrap;word-break:break-word;min-height:72px;max-height:40vh;overflow:auto}.output .err{color:#ff9aa4}.test{gap:var(--sp-3);padding:var(--sp-2) 0;border-bottom:1px solid var(--border);display:flex}.test:last-child{border:0}.test pre{background:var(--surface-2);border-radius:var(--radius-sm);white-space:pre-wrap;font-size:var(--fs-sm);margin:4px 0 0;padding:8px}.actionbar{bottom:calc(var(--bottom-nav-h) + var(--safe-bottom));z-index:10;gap:var(--sp-2);padding:var(--sp-2) 0;background:var(--bg);flex-wrap:wrap;display:flex;position:sticky}.shell:not(.mobile) .actionbar{position:static}pre.snippet{background:var(--code-bg);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--sp-3);font:var(--fs-sm) var(--font-mono);margin:0;overflow-x:auto}.quiz-opt{gap:var(--sp-3);min-height:var(--btn-h);padding:var(--sp-2) var(--sp-3);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;align-items:center;display:flex}.quiz-opt.right{border-color:var(--success);background:var(--success-soft)}.quiz-opt.wrong{border-color:var(--danger);background:var(--danger-soft)}@media (width<=899px){.lesson-layout{grid-template-columns:minmax(0,1fr)}.lesson-layout .pane{max-height:none}h1{font-size:1.4rem}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.card.accent{border-left:4px solid var(--primary)}.card.accent.done{border-left-color:var(--success)}.stat{flex-direction:column;gap:2px;display:flex}.stat b{font:700 var(--fs-xl) var(--font-head)}.hero{background:linear-gradient(135deg, var(--surface-2), var(--surface))}.topbar{margin-bottom:var(--sp-4);justify-content:space-between;align-items:center;display:flex}.cm-activeLineGutter{background:var(--surface-2)!important;color:var(--text)!important}.cm-activeLine{background:#ffffff0a!important}.icon{letter-spacing:normal;text-transform:none;white-space:nowrap;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;direction:ltr;flex:none;font-family:Material Symbols Outlined Variable,Material Symbols Outlined;font-style:normal;font-weight:400;line-height:1;display:inline-block}.small{font-size:var(--fs-sm)}.grow{flex:1;min-width:0}.brand{align-items:center;gap:var(--sp-2);font:700 1.25rem var(--font-head);letter-spacing:-.02em;display:flex}.logo{border-radius:var(--radius-md);background:var(--surface-2);width:36px;height:36px;color:var(--secondary);place-items:center;display:grid}.sidebar .brand{padding:0 var(--sp-2) var(--sp-4)}.topbar-app{margin-bottom:var(--sp-5);justify-content:space-between;align-items:center;display:flex}.shell.desktop .topbar-app .brand{visibility:hidden}.shell.mobile .topbar-app{z-index:15;margin:calc(-1 * var(--sp-4) - var(--safe-top)) calc(-1 * var(--sp-4)) var(--sp-4);padding:calc(var(--sp-2) + var(--safe-top)) var(--sp-4) var(--sp-2);background:color-mix(in srgb, var(--bg) 85%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);position:sticky;top:0}.streak-chip{border-radius:var(--radius-pill);background:var(--surface-2);color:var(--tertiary);font:600 var(--fs-sm) var(--font-mono);align-items:center;gap:4px;padding:6px 12px;display:inline-flex}.avatar{background:var(--primary);color:#fff;width:34px;height:34px;font:700 var(--fs-sm) var(--font-head);border-radius:50%;place-items:center;text-decoration:none;display:grid}.nav-link .icon{font-size:24px}.ring{flex:none;place-items:center;display:grid;position:relative}.ring svg{position:absolute;inset:0}.ring span{font:600 var(--fs-xs) var(--font-head);color:var(--tertiary)}.progressbar.thin{height:6px}.stats-strip{gap:var(--sp-2);grid-template-columns:repeat(3,1fr);display:grid}.stat-tile{background:var(--surface-2);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:2px;min-width:0;padding:10px 12px;display:flex}.stat-head{font:600 var(--fs-xs) var(--font-head);align-items:center;gap:4px;display:flex}.tone-primary{color:var(--primary-text)}.tone-secondary{color:var(--secondary)}.tone-tertiary{color:var(--tertiary)}.stat-val b{font:600 1rem var(--font-mono)}.stat-val small{color:var(--text-muted);font-size:var(--fs-xs);margin-left:4px}.stat-sub{color:var(--text-muted);font-size:var(--fs-xs)}.stat-tile.big{padding:var(--sp-4)}.stat-tile.big .stat-head{text-transform:uppercase;letter-spacing:.06em}.stat-tile.big .stat-val b{font:700 2rem var(--font-head)}.hero-card{background:var(--surface-2);border-radius:var(--radius-xl);padding:var(--sp-4);gap:var(--sp-3);box-shadow:var(--shadow-md);flex-direction:column;display:flex;position:relative;overflow:hidden}.hero-card>*{z-index:1;position:relative}.hero-card:before{content:"";background:var(--primary-soft);filter:blur(28px);pointer-events:none;border-radius:50%;width:130px;height:130px;position:absolute;top:-48px;right:-48px}.code-preview{background:var(--bg);border-radius:var(--radius-md);padding:var(--sp-3);font:var(--fs-sm) var(--font-mono);color:var(--text-muted);white-space:pre;overflow:hidden}.section-head{margin-bottom:var(--sp-2);justify-content:space-between;align-items:center;display:flex}.section-head h2{margin:0}.task{align-items:center;gap:var(--sp-3);border-radius:var(--radius-lg);background:var(--surface-2);color:inherit;padding:14px;text-decoration:none;display:flex}.task .ico{border-radius:var(--radius-md);background:var(--primary-soft);width:40px;height:40px;color:var(--secondary);flex:none;place-items:center;display:grid}.task.done strong{color:var(--text-muted);text-decoration:line-through}.mini-btn{border-radius:var(--radius-md);background:var(--border);min-height:36px;color:var(--secondary);font:600 var(--fs-sm) var(--font-head);align-items:center;padding:0 14px;text-decoration:none;display:inline-flex}.timeline{gap:var(--sp-3);flex-direction:column;display:flex;position:relative}.timeline:before{content:"";background:linear-gradient(var(--secondary), var(--primary), var(--border));opacity:.5;width:2px;position:absolute;top:20px;bottom:20px;left:14px}.tl-item{align-items:flex-start;gap:14px;display:flex;position:relative}.node{background:var(--surface-2);width:28px;height:28px;color:var(--text-muted);z-index:1;box-shadow:var(--shadow-sm);border-radius:50%;flex:none;place-items:center;margin-top:4px;display:grid}.node.done{color:var(--secondary)}.node.current{background:var(--primary);color:#fff}.node.sm{width:24px;height:24px;margin:0}.mod-card{background:var(--surface-2);border-radius:var(--radius-lg);min-width:0;color:inherit;flex-direction:column;flex:1;gap:8px;padding:14px;text-decoration:none;display:flex}.mod-card.current{background:var(--surface-2);outline:1px solid var(--primary-soft);box-shadow:var(--shadow-md)}.mod-card.locked,.mod-card.planned{opacity:.6}.mod-card h3{margin:0}.pill-row{gap:var(--sp-2);scrollbar-width:none;padding-bottom:4px;display:flex;overflow-x:auto}.pill-row::-webkit-scrollbar{display:none}.pill{border-radius:var(--radius-pill);background:var(--surface-2);color:var(--text-muted);font:600 var(--fs-sm) var(--font-head);border:0;flex:none;min-height:36px;padding:6px 14px}.pill[aria-pressed=true]{background:var(--primary);color:#fff}.lesson-row{align-items:center;gap:var(--sp-3);display:flex}.card.slim{background:var(--surface);padding:10px 12px}.profile-hero{background:var(--surface-2);border-radius:var(--radius-xl);padding:var(--sp-4);gap:var(--sp-3);box-shadow:var(--shadow-md);flex-direction:column;display:flex;position:relative;overflow:hidden}.profile-hero .big-avatar{border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--primary), var(--secondary));color:#fff;width:64px;height:64px;font:700 1.6rem var(--font-head);flex:none;place-items:center;display:grid}.level-box{background:var(--bg);border-radius:var(--radius-md);padding:var(--sp-3);flex-direction:column;gap:6px;display:flex}.stat-grid{gap:var(--sp-2);grid-template-columns:repeat(2,1fr);display:grid}.matrix{background:var(--bg);padding:var(--sp-3);border-radius:var(--radius-md);grid-template-columns:repeat(4,1fr);grid-auto-rows:22px;gap:6px;display:grid}.matrix i{background:var(--surface-2);border-radius:4px}.matrix i.future{opacity:.35}.matrix .lv1{background:color-mix(in srgb, var(--primary) 35%, var(--surface-2))}.matrix .lv2{background:color-mix(in srgb, var(--primary) 60%, var(--surface-2))}.matrix .lv3{background:var(--primary)}.matrix .lv4{background:var(--secondary)}.badge-scroll{gap:var(--sp-3);padding-bottom:4px;display:flex;overflow-x:auto}.badge.compact{min-width:180px;padding:var(--sp-3);background:var(--surface-2);border-radius:var(--radius-lg);flex-direction:column;flex:none;align-items:flex-start}.pref-row{justify-content:space-between;align-items:center;gap:var(--sp-3);border-radius:var(--radius-md);background:var(--bg);padding:12px 14px;display:flex}.two-col{gap:var(--sp-5);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;display:grid}@media (width<=899px){.two-col{grid-template-columns:minmax(0,1fr)}}.name-input{border-radius:var(--radius-md);border:1px solid var(--primary);background:var(--bg);min-height:40px;color:var(--text);font:600 1.25rem var(--font-head);width:100%;max-width:240px;padding:0 10px}.mini-select{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-2);min-height:36px;color:var(--text);font:inherit;padding:0 8px}.shell.ws{flex-direction:column;height:100vh;overflow:hidden}.ws-header{align-items:center;gap:var(--sp-4);height:56px;padding:0 var(--sp-5);background:var(--surface);border-bottom:1px solid var(--border);flex:none;display:flex}.ws-nav{margin-left:var(--sp-4);gap:4px;display:flex}.ws-nav a{border-radius:var(--radius-md);color:var(--text-muted);font:600 var(--fs-sm) var(--font-head);padding:6px 12px;text-decoration:none}.ws-nav a.active{background:var(--surface-2);color:var(--text)}.main.ws{flex-direction:column;flex:1;max-width:none;min-height:0;margin:0;padding:0;display:flex}.ide-page{flex-direction:column;flex:1;min-height:0;display:flex}.ide-crumbs{height:40px;padding:0 var(--sp-5);background:var(--surface);border-bottom:1px solid var(--border);flex:none;align-items:center;gap:8px;display:flex}.dot{background:var(--warning);border-radius:50%;width:8px;height:8px;display:inline-block}.dot.ready,.dot.running{background:var(--success)}.dot.error{background:var(--danger)}.ide{background:var(--bg);flex:1;grid-template-columns:minmax(340px,400px) minmax(0,1fr) minmax(300px,380px);gap:4px;min-height:0;padding:4px;display:grid}.ide-left,.ide-right,.ide-center{background:var(--surface);border-radius:var(--radius-lg);min-height:0;overflow-y:auto}.ide-left{padding:var(--sp-4)}.ide-right{padding:var(--sp-3)}.ide-center{flex-direction:column;display:flex}.ide-left .lesson-head h1{font-size:1.25rem}.editor-panel{flex-direction:column;flex:1;min-height:0;display:flex}.ide-center .editor-wrap{border:0;border-radius:0;flex-direction:column;flex:1;min-height:0;display:flex}.ide-center .editor-wrap>div:first-child{flex:1;min-height:0;overflow:auto}.ide-center .cm-editor{height:100%}.ide-center .cm-scroller{max-height:none}.panel-bar{background:var(--surface-2);font-size:var(--fs-sm);justify-content:space-between;align-items:center;padding:6px 12px;display:flex}.status-bar{background:var(--surface-2);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 12px;display:flex}.shell:not(.ws) .editor-panel{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.shell:not(.ws) .status-bar .btn{display:none}.shell:not(.ws) .status-bar{gap:12px}.icon-btn{border-radius:var(--radius-md);width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;place-items:center;text-decoration:none;display:inline-grid}.icon-btn:hover{background:var(--surface-2)}.icon-btn.big{background:var(--surface-2);width:40px;height:40px;color:var(--text)}.lesson-head{align-items:center;gap:var(--sp-3);display:flex}.task-card{background:var(--surface-2);border-radius:var(--radius-lg);padding:var(--sp-4)}.ide-left .task-card{background:var(--surface-2)}.hint-box{background:var(--warning-soft);border-radius:var(--radius-md);color:var(--tertiary);margin-top:10px;padding:8px 12px}.hint-head{all:unset;cursor:pointer;width:100%;font:600 var(--fs-sm) var(--font-head);justify-content:space-between;align-items:center;display:flex}.hint-head:disabled{cursor:default;opacity:.8}.hint-box p{color:var(--text)}.criteria{font-size:var(--fs-sm);flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.criteria li{align-items:flex-start;gap:8px;display:flex}.criteria .icon{color:var(--secondary)}.result-panel{gap:var(--sp-3);flex-direction:column;display:flex}.result-panel .tabs button{font-size:var(--fs-sm);min-height:36px;padding:0 6px}.success-card{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--success-soft), var(--primary-soft));color:var(--success);flex-wrap:wrap;display:flex}.success-card strong{color:var(--text)}table.vars{border-collapse:collapse;width:100%;font:var(--fs-sm) var(--font-mono)}table.vars td{border-bottom:1px solid var(--border);word-break:break-all;padding:6px 4px}.solution{padding:12px}.shell.mobile .actionbar .btn{min-height:48px}@media (width<=1023px){.ws-header{display:none}}.quiz-shell{gap:var(--sp-3);flex-direction:column;width:100%;max-width:720px;margin:0 auto;display:flex}.quiz-top{align-items:center;gap:var(--sp-2);display:flex}.seg{grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;height:6px;display:grid}.seg i{background:var(--border);border-radius:3px}.seg i.done{background:var(--secondary)}.seg i.cur{background:var(--primary)}.quiz-q{border:0;margin:0;padding:0}.quiz-code{background:var(--bg);border-radius:var(--radius-lg);padding:var(--sp-3);font:var(--fs-sm) var(--font-mono);overflow-x:auto}.quiz-code .ln{gap:12px;display:flex}.quiz-code .ln span{text-align:right;width:18px;color:var(--text-muted);opacity:.5;-webkit-user-select:none;user-select:none}.quiz-code code{white-space:pre}.quiz-opt{border-radius:var(--radius-lg);background:var(--surface-2);border:1px solid #0000;gap:12px;padding:12px 14px}.quiz-opt .letter{border-radius:var(--radius-md);background:var(--border);width:28px;height:28px;font:600 var(--fs-sm) var(--font-mono);flex:none;place-items:center;display:grid}.quiz-opt .opt-text{font-family:var(--font-mono);font-size:var(--fs-sm);white-space:pre-wrap}.quiz-opt.sel{border-color:var(--primary);background:var(--primary-soft)}.quiz-opt.sel .letter{background:var(--primary);color:#fff}.quiz-opt.right{border-color:var(--success);background:var(--success-soft);color:var(--success)}.quiz-opt.right .letter{background:var(--success);color:#fff}.quiz-opt.wrong{border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.quiz-opt.wrong .letter{background:var(--danger);color:#fff}.quiz-opt.dim{opacity:.45}.quiz-opt:focus-within{outline:3px solid var(--primary);outline-offset:2px}.feedback{bottom:calc(var(--bottom-nav-h) + var(--safe-bottom) + 8px);padding:var(--sp-3);border-radius:var(--radius-xl);background:var(--surface-2);box-shadow:var(--shadow-md);position:sticky}.shell.desktop .feedback{bottom:16px}.feedback.ok{outline:1px solid var(--success)}.feedback.bad{outline:1px solid var(--danger)}.feedback.ok strong{color:var(--success)}.feedback.bad strong{color:var(--danger)}.result-hero{text-align:center;padding:var(--sp-6) var(--sp-4);gap:var(--sp-3);color:var(--tertiary);flex-direction:column;align-items:center;display:flex}.result-hero h1,.result-hero p{color:var(--text)}.feedback .btn{width:100%}.shell.bare{display:block}.main.bare{max-width:none;padding:calc(var(--sp-4) + var(--safe-top)) var(--sp-4) calc(var(--sp-6) + var(--safe-bottom))}.wizard{gap:var(--sp-4);flex-direction:column;width:100%;max-width:560px;margin:0 auto;display:flex}.wiz-head{align-items:center;gap:var(--sp-3);display:flex}.link-btn{all:unset;cursor:pointer;color:var(--secondary);font-weight:600}.link-btn:focus-visible{outline:3px solid var(--primary)}.hero-title{letter-spacing:-.03em;margin:10px 0;font-size:clamp(2rem,8vw,2.6rem)}.grad{background:linear-gradient(90deg, var(--primary-text), var(--secondary));color:#0000;-webkit-background-clip:text;background-clip:text}.demo-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.demo-card pre{padding:var(--sp-3);font:var(--fs-sm) var(--font-mono);color:var(--text-muted);margin:0;overflow-x:auto}.demo-out{padding:10px var(--sp-3);background:var(--bg);font:var(--fs-sm) var(--font-mono)}.feature{border-radius:var(--radius-lg);background:var(--surface-2);align-items:center;gap:12px;padding:12px;display:flex}.feature .ico,.choice .ico{border-radius:var(--radius-md);background:var(--primary-soft);width:40px;height:40px;color:var(--secondary);flex:none;place-items:center;display:grid}.choice{all:unset;box-sizing:border-box;cursor:pointer;border-radius:var(--radius-lg);background:var(--surface-2);width:100%;color:var(--text);border:1px solid #0000;padding:14px;display:block}.choice:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.choice.sel{border-color:var(--primary);background:var(--primary-soft)}.choice .check{border:2px solid var(--border);border-radius:50%;flex:none;place-items:center;width:22px;height:22px;display:grid}.choice.sel .check{background:var(--primary);border-color:var(--primary);color:#fff}.mini-code{background:var(--bg);border-radius:var(--radius-md);font:var(--fs-sm) var(--font-mono);color:var(--text-muted);white-space:pre;text-align:left;margin-top:10px;padding:8px 10px;display:block}.plan-card{padding:var(--sp-4);border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--primary-soft), var(--success-soft))}.summary-grid{gap:var(--sp-2);grid-template-columns:1fr 1fr;display:grid}.sum{border-radius:var(--radius-lg);background:var(--surface-2);color:var(--secondary);flex-direction:column;align-items:flex-start;gap:4px;padding:12px;display:flex}.sum b{color:var(--text);font-family:var(--font-head)}.bug-list{flex-direction:column;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:flex}.bug-list li{border-radius:var(--radius-md);background:var(--bg);font-size:var(--fs-sm);align-items:flex-start;gap:8px;padding:8px 10px;display:flex}.bug-list .icon{color:var(--danger)}.bug-list li:first-child .icon{color:var(--tertiary)}.ico-sm{border-radius:var(--radius-md);background:var(--primary-soft);width:36px;height:36px;color:var(--secondary);flex:none;place-items:center;display:grid}.tabs button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}html.kb-open .bottom-nav{display:none}html.kb-open .actionbar{bottom:0}.shell.mobile .actionbar{padding-bottom:calc(var(--sp-2) + 0px);flex-flow:wrap}.shell.mobile .actionbar .symbol-bar{border:1px solid var(--border);border-radius:var(--radius-md);flex:1 0 100%}.shell.mobile .actionbar .btn{flex:1}.shell.mobile .actionbar .btn.primary{flex:3}html,body{overflow-x:clip}.hint-box .muted{color:inherit}.output .muted{color:#94a3b8}.cm-tooltip{border-radius:var(--radius-md);box-shadow:var(--shadow-md);overflow:hidden;background:var(--surface-2)!important;color:var(--text)!important;border:1px solid var(--border)!important}.cm-tooltip-autocomplete>ul{max-height:14em;font-family:var(--font-mono)!important}.cm-tooltip-autocomplete>ul>li{color:var(--text)!important;padding:6px 10px!important}.cm-tooltip-autocomplete>ul>li[aria-selected]{background:var(--primary)!important;color:var(--primary-contrast)!important}.cm-tooltip-autocomplete .cm-completionDetail{color:var(--text-muted);margin-left:.75em;font-style:normal}.cm-tooltip-autocomplete li[aria-selected] .cm-completionDetail{color:inherit;opacity:.85}.cm-completionMatchedText{color:var(--primary-text);font-weight:700;text-decoration:none!important}.cm-tooltip-autocomplete li[aria-selected] .cm-completionMatchedText{color:inherit}.cm-completionIcon{opacity:.8}.table-wrap{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2);overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.data-table th{text-align:left;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 12px;font-weight:600}.data-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:10px 12px}.data-table tr:last-child td{border-bottom:0}.mono{font-family:var(--font-mono)}.credentials-sheet .data-table{background:var(--surface);border-radius:var(--radius-md)}@media print{body *{visibility:hidden!important}.credentials-sheet,.credentials-sheet *{visibility:visible!important}.credentials-sheet{box-shadow:none;border:0;position:absolute;inset:0;color:#000!important;background:#fff!important}.credentials-sheet .data-table td,.credentials-sheet .data-table th{color:#000!important;border-color:#999!important}.no-print,.credentials-sheet .callout{display:none!important}}.lbl.req:after,.req-mark{content:" *";color:var(--danger);font-weight:700}.req-mark:after{content:none}.lbl{display:inline-block}legend.lbl{color:var(--text);padding:0;font-size:1rem}.pw-wrap{display:flex;position:relative}.pw-wrap input{flex:1;width:100%;padding-right:52px}.pw-toggle{width:44px;height:44px;color:var(--text-muted);border-radius:var(--radius-md);cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.pw-toggle:hover{background:var(--surface-2);color:var(--text)}.field-error{color:var(--danger);font-size:var(--fs-sm);margin-top:-8px;font-weight:600}.field-ok{color:var(--success);font-size:var(--fs-sm);margin-top:-8px}input[aria-invalid=true]{border-color:var(--danger)!important}.danger-zone{margin-top:var(--sp-3);padding-top:var(--sp-4);border-top:1px solid var(--border)}.danger-zone h3{color:var(--danger)}.asg-toggle:focus-visible{outline:3px solid var(--primary);outline-offset:3px;border-radius:6px}.tk-preview{gap:var(--sp-2);margin-top:var(--sp-3);flex-direction:column;display:flex}.tk-head{gap:var(--sp-2);align-items:baseline;display:flex}.tk-note{border-radius:var(--radius-sm);background:var(--surface-2);font-size:var(--fs-sm);margin:0;padding:8px 10px}.tk-note.warn{border-left:3px solid var(--tertiary,#e0a030)}.tk-desktop{gap:var(--sp-4);padding:var(--sp-3);border-radius:var(--radius-md);background:repeating-conic-gradient(var(--surface-2) 0% 25%, transparent 0% 50%) 0 0 / 16px 16px;flex-wrap:wrap;align-items:flex-start;max-width:100%;display:flex;overflow:auto}.tk-window{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#111;background:#f0f0f0;border:1px solid #9a9a9a;border-radius:8px;max-width:100%;font:13px/1.3 system-ui,sans-serif;display:inline-block;overflow:hidden;box-shadow:0 6px 24px #00000059}.tk-titlebar{color:#222;background:linear-gradient(#e9e9e9,#d4d4d4);border-bottom:1px solid #b4b4b4;align-items:center;gap:8px;padding:6px 8px;display:flex}.tk-dots{gap:5px;display:inline-flex}.tk-dots i{background:silver;border-radius:50%;width:10px;height:10px;display:block}.tk-title{text-align:center;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;font-weight:600;overflow:hidden}.tk-close{all:unset;cursor:pointer;text-align:center;color:#333;border-radius:4px;width:22px;height:22px;font-size:16px;line-height:20px}.tk-close:hover{color:#fff;background:#d9534f}.tk-close:focus-visible{outline:2px solid #1a56db}.tk-content{outline:none;max-width:100%;position:relative;overflow:hidden}.tk-content:focus-visible{outline-offset:-2px;outline:2px solid #1a56db}.tk-closed{border:1px dashed var(--border);color:var(--text-muted);font-size:var(--fs-sm);border-radius:8px;padding:10px 14px}.tk-button{font:inherit;cursor:pointer;color:#111;background:#e1e1e1;border:1px solid #adadad;border-radius:3px}.tk-button:hover:not(:disabled){background:#e9f1fb;border-color:#0078d4}.tk-button:active:not(:disabled){background:#cfe3f8}.tk-button:focus-visible,.tk-entry:focus-visible,.tk-text:focus-visible,.tk-select:focus-visible{outline-offset:1px;outline:2px solid #1a56db}.tk-entry,.tk-text,.tk-select{font:inherit;color:#111;background:#fff;border:1px solid #8a8a8a;border-radius:2px}.tk-check{cursor:pointer}.tk-labelframe{border:1px solid #aaa;border-radius:3px}.tk-legend{color:inherit;padding:0 4px;font-size:12px;line-height:16px;position:absolute;top:-9px;left:8px}.tk-listbox{font:inherit;color:#111}.tk-option{cursor:pointer;padding:1px 6px}.tk-option.sel{color:#fff;background:#0078d4}.tk-option:focus-visible{outline-offset:-2px;outline:2px solid #1a56db}.tk-progress{background:#e6e6e6;border:1px solid #bcbcbc;border-radius:2px;position:relative;overflow:hidden}.tk-progress>div{background:#06b025}.tk-separator{background:#b4b4b4}.tk-scrollbar{background:#e6e6e6;border:1px solid #c4c4c4}.tk-notebook{flex-direction:column;display:flex}.tk-tabs{gap:2px;display:flex}.tk-tabs button{font:inherit;color:#111;cursor:pointer;background:#e6e6e6;border:1px solid #aaa;border-bottom:0;border-radius:3px 3px 0 0;padding:4px 12px}.tk-tabs button[aria-selected=true]{background:#f8f8f8;font-weight:600}.tk-menubar{z-index:3;background:#f6f6f6;border-bottom:1px solid #c8c8c8;padding:0 4px;display:flex;position:relative}.tk-menu-top{position:relative}.tk-menubar button{font:inherit;cursor:pointer;color:#111;background:0 0;border:0;padding:4px 10px}.tk-menubar button:hover{background:#dfe9f5}.tk-menu-drop{z-index:4;background:#fff;border:1px solid #aaa;flex-direction:column;min-width:150px;display:flex;position:absolute;top:100%;left:0;box-shadow:0 4px 12px #00000040}.tk-menu-drop button{text-align:left;white-space:nowrap}.tk-menu-drop hr{border:0;border-top:1px solid #ccc;width:100%;margin:2px 0}.tk-dialog{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#111;background:#f0f0f0;border:1px solid #9a9a9a;border-radius:8px;max-width:360px;overflow:hidden;box-shadow:0 6px 24px #00000059}.tk-dialog-body{flex-direction:column;align-items:flex-start;gap:6px;padding:10px 14px;display:flex}.tk-dialog-body p{margin:0}.tk-hint{color:#555;font-size:11px}.tk-image{color:#888;font-size:22px}.tk-log{background:var(--output-bg);color:var(--output-text);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--fs-sm);white-space:pre-wrap;max-height:160px;margin:0;padding:8px 10px;overflow:auto}.credit{margin:var(--sp-6,32px) 0 var(--sp-2,8px);padding-top:var(--sp-3,12px);border-top:1px solid var(--border);text-align:center;color:var(--text-muted,var(--muted,#8a94a6));font-size:12px}
