@font-face{font-family:Geist;font-weight:400 600;font-display:swap;src:url(../fonts/geist.woff2)format("woff2")}@font-face{font-family:Geist Mono;font-weight:400 500;font-display:swap;src:url(../fonts/geist-mono.woff2)format("woff2")}:root{--bg:#fff;--panel:#fff;--panel-2:#f6f6f6;--panel-3:#ececec;--text:#111;--text-2:#333;--muted:#6b6b6b;--border:#ececec;--border-strong:#d6d6d6;--accent:#111;--accent-contrast:#fff;--link:#111;--pass:#15803d;--pass-soft:#eef7f1;--fail:#c2410c;--fail-soft:#fdf1ea;--warn:#8a5a00;--warn-soft:#fbf6ea;--note-soft:#f6f6f6;--code-bg:#fafafa;--term-bg:#fafafa;--term-text:#222;--figure-bg:#fff;--shadow:0 10px 30px #0000001f;--sans:"Geist", system-ui, -apple-system, "Segoe UI", sans-serif;--read:var(--sans);--display:var(--sans);--mono:"Geist Mono", ui-monospace, Menlo, Consolas, monospace;--read-size:17px;--h1:40px;--radius:12px;--bar-radius:28px;--pill-bg:#111;--pill-hover:#222;--pill-border:#444;--dg-bg:var(--bg);--dg-surface:#fff;--dg-faint:#f6f6f6;--dg-ink:#111;--dg-muted:#6b6b6b;--dg-line:#d6d6d6;--dg-orange:#c2410c;--dg-orange-soft:#fdf1ea;--dg-blue:#1d4ed8;--dg-blue-soft:#eef3fd;--dg-green:#15803d;--dg-green-soft:#eef7f1;--dg-purple:#6d28d9;--dg-purple-soft:#f3effd;--dg-red:#b91c1c;--dg-red-soft:#fdeeee;--dg-gray:#6b6b6b;--dg-gray-soft:#f0f0f0;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-scheme=dark]{--bg:#0a0a0a;--panel:#0a0a0a;--panel-2:#171717;--panel-3:#262626;--text:#ededed;--text-2:#c7c7c7;--muted:#8f8f8f;--border:#1f1f1f;--border-strong:#2e2e2e;--accent:#ededed;--accent-contrast:#0a0a0a;--link:#ededed;--pass:#4ade80;--pass-soft:#0f2417;--fail:#fb923c;--fail-soft:#2a1709;--warn:#facc15;--warn-soft:#262009;--note-soft:#171717;--code-bg:#141414;--term-bg:#141414;--term-text:#e5e5e5;--figure-bg:#f5f5f5;--shadow:0 10px 30px #0009;--pill-bg:#1f1f1f;--pill-hover:#2a2a2a;--pill-border:#3a3a3a;--dg-surface:#0a0a0a;--dg-faint:#141414;--dg-ink:#ededed;--dg-muted:#8f8f8f;--dg-line:#333;--dg-orange:#fb923c;--dg-orange-soft:#2a1709;--dg-blue:#60a5fa;--dg-blue-soft:#0f1b2e;--dg-green:#4ade80;--dg-green-soft:#0f2417;--dg-purple:#a78bfa;--dg-purple-soft:#1c1630;--dg-red:#f87171;--dg-red-soft:#2a1212;--dg-gray:#8f8f8f;--dg-gray-soft:#1a1a1a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root{--hl-kw:var(--dg-purple);--hl-ty:var(--dg-blue);--hl-fn:var(--dg-orange);--hl-str:var(--dg-green);--hl-num:var(--dg-red);--hl-com:var(--muted);--hl-meta:var(--dg-blue);--hl-var:var(--dg-orange);--hl-key:var(--dg-blue)}*{box-sizing:border-box}[hidden]{display:none!important}html,body{background:var(--bg);color:var(--text);font:15px/1.6 var(--sans);-webkit-font-smoothing:antialiased;margin:0}a{color:var(--link);text-underline-offset:2px}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.icon{vertical-align:-3px;flex:none;width:16px;height:16px;display:inline-block}kbd{font:500 11.5px var(--mono);border:1px solid var(--border-strong);color:var(--muted);border-radius:4px;padding:0 4px}.topbar{z-index:30;background:var(--bg);border-bottom:1px solid var(--border);align-items:center;gap:12px;height:56px;padding:0 20px;display:flex;position:sticky;top:0}.brand{color:var(--text);white-space:nowrap;align-items:center;gap:8px;font-size:14.5px;font-weight:600;text-decoration:none;display:flex}.brand-mark{background:#f97316;border-radius:6px;place-items:center;width:22px;height:22px;display:grid}.brand-mark svg{width:13px;height:13px}.crumb{min-width:0;color:var(--muted);flex:1;align-items:center;gap:8px;font-size:14px;display:flex}.crumb:has(.here):before{content:"/";color:var(--border-strong)}.crumb a{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;flex:0 3 auto;min-width:2em;text-decoration:none;overflow:hidden}.crumb a:hover{color:var(--text)}.crumb .sep{color:var(--border-strong)}.crumb .back{display:none}.crumb .here{color:var(--text);white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.top-btn{border:1px solid var(--border-strong);height:32px;color:var(--text);cursor:pointer;white-space:nowrap;background:0 0;border-radius:16px;align-items:center;gap:7px;padding:0 12px;font-size:13px;display:inline-flex}.top-btn:hover{background:var(--panel-2)}.icon-btn{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--panel-2);color:var(--text)}.loading,.empty{text-align:center;color:var(--muted);padding:64px 20px}.btn{border-radius:var(--bar-radius,8px);border:1px solid var(--border-strong);height:40px;color:var(--text);cursor:pointer;white-space:nowrap;background:0 0;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{background:var(--panel-2)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast);font-weight:600}.btn.primary:hover{filter:brightness(1.08)}.btn:disabled{opacity:.6;cursor:progress}.btn.small{height:32px;padding:0 12px;font-size:13px}.btn.block{width:100%}.link-btn{color:var(--link);cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:0;font-size:13px;text-decoration:underline}.bar{background:var(--panel-3);border-radius:2px;height:4px;overflow:hidden}.bar span{background:var(--accent);height:100%;display:block}.library{max-width:960px;margin:0 auto;padding:56px 24px 80px}.library h1{font-family:var(--display);letter-spacing:-.02em;margin:0 0 10px;font-size:40px;font-weight:500;line-height:1.15}.library .lede{color:var(--muted);max-width:600px;margin:0 0 40px;font-size:16px}.cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:28px;display:grid}.card{flex-direction:column;gap:10px;display:flex;position:relative}.card img{aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius);background:var(--panel-2);width:100%;display:block}.card .cover-blank{aspect-ratio:16/9;border-radius:var(--radius);background:var(--panel-2);text-align:center;font:600 22px/1.2 var(--display);letter-spacing:-.01em;color:var(--muted);place-items:center;padding:24px;display:grid}.card h2{font-family:var(--display);margin:4px 0 0;font-size:20px;font-weight:500;line-height:1.3}.card h2 a{color:inherit;text-decoration:none}.card h2 a:after{content:"";position:absolute;inset:0}.card p{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:14px;display:-webkit-box;overflow:hidden}.card .meta{color:var(--muted);align-items:center;gap:10px;font-size:13px;display:flex}.card .meta .bar{width:80px}.syllabus{max-width:760px;margin:0 auto;padding:56px 24px 96px}.syllabus .eyebrow{color:var(--muted);font-size:13px}.syllabus h1{font-family:var(--display);letter-spacing:-.02em;margin:8px 0 16px;font-size:44px;font-weight:500;line-height:1.1}.syllabus .summary{font-family:var(--read);font-size:calc(var(--read-size) + 1px);color:var(--text-2);margin:0 0 24px;line-height:1.6}.syllabus .facts{color:var(--muted);margin-bottom:24px;font-size:14px}.syllabus .actions{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:48px;display:flex}.syllabus .actions .note{color:var(--muted);font-size:14px}.syllabus .req{border-radius:var(--radius);background:var(--warn-soft);margin:-24px 0 40px;padding:12px 16px;font-size:14px}.syllabus h2{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 12px;font-size:13px;font-weight:600}.module{border-top:1px solid var(--border);padding:18px 0 14px}.module-head{align-items:baseline;gap:14px;display:flex}.module-head .num{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;width:24px}.module-head h3{font-family:var(--display);flex:1;margin:0;font-size:20px;font-weight:500}.module-head h3 a{color:inherit;text-decoration:none}.module-head .count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.module ol{margin:8px 0 0 38px;padding:0;list-style:none}.module li a{color:var(--text-2);align-items:center;gap:10px;padding:5px 0;font-size:15px;text-decoration:none;display:flex}.module li a:hover{color:var(--text);text-decoration:underline}.module li .done{color:var(--pass)}.module li .todo{width:16px;height:16px;color:var(--border-strong);place-items:center;display:grid}#app{container:app/inline-size}.course{min-height:calc(100vh - 56px);position:relative}.lesson{counter-reset:figure;width:100%;max-width:720px;margin:0 auto;padding:56px 24px 160px}.lesson .kicker{color:var(--muted);font-size:13px}.lesson>h1{font-family:var(--display);font-weight:600;font-size:var(--h1);letter-spacing:-.025em;margin:6px 0 28px;line-height:1.1}.lesson-body{font-family:var(--read);font-size:var(--read-size);color:var(--text-2);line-height:1.7}.lesson-body h2{font-family:var(--display);color:var(--text);margin:44px 0 12px;font-size:1.35em;font-weight:600;line-height:1.3}.lesson-body h3{font-family:var(--display);color:var(--text);margin:30px 0 8px;font-size:1.1em;font-weight:600}.lesson-body strong{color:var(--text);font-weight:600}.lesson-body p,.lesson-body ul,.lesson-body ol{margin:0 0 18px}.lesson-body li{margin:4px 0}.lesson-body code{font-family:var(--mono);background:var(--code-bg);color:var(--text);border-radius:4px;padding:1px 5px;font-size:.82em}.lesson-body pre{background:var(--code-bg);border-radius:var(--radius);color:var(--text);font-size:14px;line-height:1.6;font-family:var(--mono);margin:22px 0;padding:16px 18px;position:relative;overflow-x:auto}.lesson-body pre code{font-size:inherit;background:0 0;padding:0}.hl-kw{color:var(--hl-kw)}.hl-ty{color:var(--hl-ty)}.hl-fn,.hl-bi{color:var(--hl-fn)}.hl-str{color:var(--hl-str)}.hl-num,.hl-lit{color:var(--hl-num)}.hl-com{color:var(--hl-com);font-style:italic}.hl-meta,.hl-hunk{color:var(--hl-meta)}.hl-var{color:var(--hl-var)}.hl-key{color:var(--hl-key)}.hl-add{color:var(--hl-str);background:var(--dg-green-soft)}.hl-del{color:var(--dg-red);background:var(--dg-red-soft)}.code{position:relative}.code .copy{opacity:0;border:1px solid var(--border-strong);background:var(--bg);color:var(--muted);font:500 12px var(--sans);cursor:pointer;border-radius:6px;padding:3px 8px;transition:opacity .15s;position:absolute;top:8px;right:8px}.code:hover .copy,.code .copy:focus-visible{opacity:1}.lesson-body figure{counter-increment:figure;margin:30px 0}.lesson-body figure img{border-radius:var(--radius);background:var(--figure-bg);max-width:100%;margin:0 auto;display:block}.lesson-body figcaption{font-family:var(--sans);color:var(--muted);text-align:center;margin-top:10px;font-size:13.5px}.lesson-body figcaption:before{content:"Figure " counter(figure) ". ";color:var(--text-2);font-weight:600}.lesson-body figure.diagram{border:1px solid var(--border);border-radius:var(--radius);background:var(--dg-bg);padding:4px}.lesson-body figure.diagram figcaption{margin:4px 12px 12px}.diagram svg{max-width:100%;height:auto;margin:0 auto;display:block}.diagram text{font-family:var(--sans)}:root[data-scheme=dark] .diagram.plain svg{filter:invert(.9)hue-rotate(180deg)}.diagram .dg-mono{font-family:var(--mono)}.diagram *{transition:fill .2s,stroke .2s}.diagram .dg-f-bg{fill:var(--dg-bg)}.diagram .dg-f-surface{fill:var(--dg-surface)}.diagram .dg-f-faint{fill:var(--dg-faint)}.diagram .dg-f-ink{fill:var(--dg-ink)}.diagram .dg-f-muted{fill:var(--dg-muted)}.diagram .dg-f-line{fill:var(--dg-line)}.diagram .dg-f-orange{fill:var(--dg-orange)}.diagram .dg-f-orange-soft{fill:var(--dg-orange-soft)}.diagram .dg-f-blue{fill:var(--dg-blue)}.diagram .dg-f-blue-soft{fill:var(--dg-blue-soft)}.diagram .dg-f-green{fill:var(--dg-green)}.diagram .dg-f-green-soft{fill:var(--dg-green-soft)}.diagram .dg-f-purple{fill:var(--dg-purple)}.diagram .dg-f-purple-soft{fill:var(--dg-purple-soft)}.diagram .dg-f-red{fill:var(--dg-red)}.diagram .dg-f-red-soft{fill:var(--dg-red-soft)}.diagram .dg-f-gray{fill:var(--dg-gray)}.diagram .dg-f-gray-soft{fill:var(--dg-gray-soft)}.diagram .dg-s-bg{stroke:var(--dg-bg)}.diagram .dg-s-surface{stroke:var(--dg-surface)}.diagram .dg-s-faint{stroke:var(--dg-faint)}.diagram .dg-s-ink{stroke:var(--dg-ink)}.diagram .dg-s-muted{stroke:var(--dg-muted)}.diagram .dg-s-line{stroke:var(--dg-line)}.diagram .dg-s-orange{stroke:var(--dg-orange)}.diagram .dg-s-orange-soft{stroke:var(--dg-orange-soft)}.diagram .dg-s-blue{stroke:var(--dg-blue)}.diagram .dg-s-blue-soft{stroke:var(--dg-blue-soft)}.diagram .dg-s-green{stroke:var(--dg-green)}.diagram .dg-s-green-soft{stroke:var(--dg-green-soft)}.diagram .dg-s-purple{stroke:var(--dg-purple)}.diagram .dg-s-purple-soft{stroke:var(--dg-purple-soft)}.diagram .dg-s-red{stroke:var(--dg-red)}.diagram .dg-s-red-soft{stroke:var(--dg-red-soft)}.diagram .dg-s-gray{stroke:var(--dg-gray)}.diagram .dg-s-gray-soft{stroke:var(--dg-gray-soft)}.lesson-body blockquote{border-left:2px solid var(--border-strong);color:var(--muted);margin:20px 0;padding-left:18px}.lesson-body .table-wrap{margin:22px 0;overflow-x:auto}.lesson-body table{border-collapse:collapse;width:100%;font-family:var(--sans);font-size:14px;line-height:1.5}.lesson-body th,.lesson-body td{border-bottom:1px solid var(--border);text-align:left;padding:8px 12px 8px 0}.lesson-body th{color:var(--text);font-weight:600}.lesson-body details{font-family:var(--sans);margin:20px 0;font-size:15px}.lesson-body details>summary{cursor:pointer;color:var(--text);font-weight:600}.lesson-body kbd{font-size:.75em}.callout{border-radius:var(--radius);background:var(--note-soft);margin:24px 0;padding:14px 18px;font-size:.92em}.callout>:first-child{margin-top:0}.callout>:last-child{margin-bottom:0}.callout p{margin:0 0 8px}.callout-title{color:var(--text);margin-bottom:2px;font-weight:600}.callout-warning{background:var(--warn-soft)}.quiz{border:1px solid var(--border-strong);border-radius:var(--radius);font-family:var(--sans);color:var(--text);margin:30px 0;padding:20px 22px;font-size:15px}.quiz-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:6px;font-size:12px}.quiz>p{margin:0 0 12px;font-size:16px;font-weight:500}.quiz-options{flex-direction:column;gap:4px;display:flex}.quiz-option{text-align:left;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;padding:9px 10px;font-size:15px;line-height:1.45;display:flex}.quiz-option:before{content:"";border:1.5px solid var(--border-strong);box-sizing:border-box;border-radius:50%;flex:none;width:16px;height:16px}.quiz-option:hover{background:var(--panel-2)}.quiz-option.right{background:var(--pass-soft)}.quiz-option.right:before{border:5px solid var(--pass)}.quiz-option.wrong{background:var(--fail-soft);animation:.3s shake}.quiz-option.wrong:before{border:5px solid var(--fail)}.quiz.solved .quiz-option:not(.right){opacity:.5;pointer-events:none}.quiz-feedback{margin-top:10px;font-size:14px}.quiz-feedback.right{color:var(--pass)}.quiz-feedback.wrong{color:var(--fail)}.quiz-explain{color:var(--text-2);margin-top:6px;font-size:14.5px}.quiz-explain>:last-child{margin-bottom:0}@keyframes shake{25%{transform:translate(-3px)}75%{transform:translate(3px)}}.lesson-body figure.practice{counter-increment:none;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--panel);font-family:var(--sans);color:var(--text-2);margin:30px 0;font-size:14px;line-height:1.5;overflow:hidden}.practice-stage{aspect-ratio:16/10;background:var(--panel-2);min-height:300px;position:relative}.practice-frame{border:0;width:100%;height:100%;display:block;position:absolute;inset:0}.practice-bar{border-top:1px solid var(--border);align-items:center;gap:12px;padding:10px 14px;display:flex}.practice-bar .link-btn{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;text-decoration:none;display:inline-flex}.practice-bar .link-btn:hover{color:var(--text)}.coach{min-width:0;color:var(--text-2);flex:1;align-items:baseline;gap:10px;display:flex}.coach-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);flex:none;font-size:11px;font-weight:600}.coach.good .coach-label{color:var(--pass)}.coach.bad .coach-label{color:var(--fail)}.practice-goals{border-top:1px solid var(--border);flex-direction:column;gap:6px;margin:0;padding:10px 14px 12px;list-style:none;display:flex}.lesson-body .practice-goals li{align-items:center;gap:10px;margin:0;display:flex}.goal-dot{border:1.5px solid var(--border-strong);width:16px;height:16px;color:var(--bg);border-radius:50%;flex:none;place-items:center;display:grid}.goal-dot svg{width:10px;height:10px}.practice-goals li.met .goal-dot{background:var(--pass);border-color:var(--pass)}.practice-goals li.met .goal-text{color:var(--muted)}.goal-count{font:12.5px var(--mono);color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto}.practice-goals li.met .goal-count{color:var(--pass)}.lesson-body figure.practice figcaption{text-align:left;margin:0;padding:0 14px 12px}.lesson-body figure.practice figcaption:before{content:none}.lesson-body figure.practice figcaption p{margin:0}figure.practice:fullscreen{border:0;border-radius:0;flex-direction:column;display:flex}figure.practice:fullscreen .practice-stage{aspect-ratio:auto;flex:1}.lesson-nav{border-top:1px solid var(--border);justify-content:space-between;gap:16px;margin-top:64px;padding-top:20px;font-size:14px;display:flex}.lesson-nav a{color:var(--muted);flex-direction:column;gap:2px;max-width:48%;text-decoration:none;display:flex}.lesson-nav a span{color:var(--text);font-weight:500}.lesson-nav a:hover span{text-decoration:underline}.lesson-nav .next{text-align:right;margin-left:auto}.task{font-family:var(--sans)}.task-sheet{flex-direction:column;gap:16px;display:flex;overflow-y:auto}.task-sheet h3{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 6px;font-size:12px;font-weight:600}.task-what{color:var(--text);font-size:15px}.task-what code{font-family:var(--mono);font-size:13.5px}.task-bar{align-items:center;gap:14px;display:flex}.task-bar .file-name{font-family:var(--mono);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:13px;overflow:hidden}.status{white-space:nowrap;align-items:center;gap:8px;font-size:14px;display:inline-flex}.status .dot{background:var(--border-strong);border-radius:50%;width:8px;height:8px}.status.pass{color:var(--pass)}.status.pass .dot{background:var(--pass)}.status.fail{color:var(--fail)}.status.fail .dot{background:var(--fail)}.task-bar .grow{flex:1}.results-head{color:var(--text);align-items:baseline;gap:10px;font-size:14px;display:flex}.results-sum{color:var(--muted);margin-top:8px;font-size:13px}.tests{flex-direction:column;gap:6px;margin:8px 0 0;padding:0;font-size:14px;list-style:none;display:flex}.tests.only-fail .test.pass,.tests.only-fail .test.skip{display:none}.test{flex-direction:column;display:flex}.test .row{align-items:baseline;gap:10px;display:flex}.test .tag{font:600 11px var(--mono);letter-spacing:.04em;flex:none;width:34px}.test.pass .tag{color:var(--pass)}.test.fail .tag{color:var(--fail)}.test.skip .tag{color:var(--muted)}.test .out{white-space:pre-wrap;word-break:break-word;font:12.5px/1.55 var(--mono);color:var(--text-2);max-height:220px;margin:4px 0 4px 44px;overflow:auto}.full-log{margin-top:10px;font-size:13px}.full-log summary{cursor:pointer;color:var(--muted)}.full-log pre{white-space:pre-wrap;word-break:break-word;font:12px/1.5 var(--mono);max-height:260px;color:var(--text-2);overflow:auto}.hints{flex-direction:column;gap:10px;display:flex}.hint{color:var(--text-2);border-left:2px solid var(--warn);padding-left:14px;font-size:14px}.hint .hint-label{color:var(--muted);font-size:12px}.hint p{margin:4px 0}.hint pre{white-space:pre-wrap;word-break:break-word;font:12.5px/1.5 var(--mono);margin:6px 0}.hint code,.results code{font-family:var(--mono);font-size:12.5px}.ws-path{font-family:var(--mono);color:var(--muted);word-break:break-all;font-size:12px}.req-box{border-radius:var(--radius);background:var(--warn-soft);padding:10px 14px;font-size:13.5px}.task{z-index:20;flex-direction:column;gap:10px;width:min(640px,100% - 32px);display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.task-bar{background:var(--pill-bg);color:#fff;box-shadow:var(--shadow);border-radius:28px;min-height:56px;padding:8px 8px 8px 20px}.task-bar .file-name{color:#bdbdbd}.task-bar .status{color:#fff}.task-bar .status .dot{background:#777}.task-bar .status.pass .dot{background:#4ade80}.task-bar .status.fail .dot{background:#fb923c}.task-bar .btn{color:#fff;border-color:var(--pill-border);border-radius:20px}.task-bar .btn:hover{background:var(--pill-hover)}.task-bar .btn.primary{color:#111;background:#fff;border-color:#fff}.task-bar .link-btn{color:#ddd}.lang-pick{border:1px solid var(--pill-border);border-radius:16px;flex:none;display:inline-flex;overflow:hidden}.lang-pick button{color:#bdbdbd;font:13px var(--sans);cursor:pointer;background:0 0;border:0;padding:5px 12px}.lang-pick button:hover{color:#fff}.lang-pick button.on{color:#111;background:#fff;font-weight:600}.task-sheet{background:var(--panel);border:1px solid var(--border);max-height:min(60vh,520px);box-shadow:var(--shadow);border-radius:16px;padding:20px 22px}@media (width<=700px){.crumb>*{display:none}.crumb:has(.here):before{content:none}.crumb .back{color:var(--text-2);max-width:100%;display:block}.lesson{padding:32px 18px 160px}.lesson>h1,.syllabus h1,.library h1{font-size:30px}.task-bar .file-name{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.toast{background:var(--text);color:var(--bg);z-index:60;box-shadow:var(--shadow);border-radius:10px;padding:10px 16px;font-size:13.5px;position:fixed;top:72px;left:50%;transform:translate(-50%)}main{min-height:calc(100vh - 56px)}.syllabus .ws{color:var(--muted);margin:-32px 0 40px;font-size:14px}.syllabus h2.about{margin-top:48px}.hint .lesson-body,.hint>:not(.hint-label){font-size:14px}.conflict{flex-wrap:wrap;align-items:center;gap:14px;margin-top:8px;font-size:13.5px;display:flex}.conflict .grow{flex:1}.catch-up{font-size:13.5px}.module li a .done.assisted{color:var(--muted)}.module-head .start-here{color:var(--muted);margin-left:auto;font-size:13px}.module-head .start-here+.count{margin-left:12px}.gate{text-align:center;max-width:520px;margin:0 auto;padding:120px 24px}.gate h1{font-family:var(--display);letter-spacing:-.02em;margin:0 0 12px;font-size:36px;font-weight:500}.gate p{color:var(--muted);margin:0 0 28px;font-size:16px}.account{position:relative}.account-btn{border:1px solid var(--border);color:var(--text);font:13px var(--sans);cursor:pointer;background:0 0;border-radius:15px;height:30px;padding:0 12px}.account-btn:hover{background:var(--panel-2)}.account-menu{background:var(--panel);border:1px solid var(--border);min-width:200px;box-shadow:var(--shadow);border-radius:10px;flex-direction:column;padding:6px;display:flex;position:absolute;top:38px;right:0}.account-menu a,.account-menu button{text-align:left;color:var(--text);font:14px var(--sans);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:8px 10px;text-decoration:none}.account-menu a:hover,.account-menu button:hover{background:var(--panel-2)}.add-member{gap:10px;margin-bottom:16px;display:flex}.add-member input{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--panel);max-width:320px;height:40px;color:var(--text);font:15px var(--sans);flex:1;padding:0 12px}.members{border-top:1px solid var(--border);margin:16px 0 0;padding:0;list-style:none}.members li{border-bottom:1px solid var(--border);align-items:baseline;gap:12px;padding:12px 0;font-size:15px;display:flex}.members .grow{flex:1}.member-login{font-weight:500}.member-name,.member-seen,.member-none{color:var(--muted);font-size:13.5px}
