.site-head{border-bottom:1px solid var(--line);background:var(--panel);z-index:5;align-items:center;gap:22px;padding:12px 20px;display:flex;position:sticky;top:0}.site-head .brand{letter-spacing:.3px;color:var(--text);font-weight:600;text-decoration:none}.site-head .brand span{color:var(--accent)}.site-head nav{flex-wrap:wrap;gap:16px;margin-right:auto;display:flex}.site-head nav a{color:var(--muted);border-bottom:1px solid #0000;padding:2px 0;font-size:13px;text-decoration:none}.site-head nav a:hover{color:var(--text)}.site-head nav a.on{color:var(--text);border-bottom-color:var(--accent)}.doc-main{max-width:46rem;margin:0 auto;padding:34px 20px 60px}.doc-main.wide{max-width:62rem}.site-foot{border-top:1px solid var(--line);text-align:center;color:var(--muted);padding:20px;font-size:12px}.site-foot p{margin:4px 0}.site-foot .fine{color:var(--muted-2);font-size:11px}.crumbs{color:var(--muted);flex-wrap:wrap;gap:6px;margin:0 0 10px;font-size:12px;display:flex}.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--text);text-decoration:underline}.pager{border-top:1px solid var(--line);justify-content:space-between;gap:10px;margin-top:34px;padding-top:18px;display:flex}.pager a{border:1px solid var(--line);color:var(--text);background:var(--panel);border-radius:7px;flex:1 1 0;min-width:0;padding:10px 12px;text-decoration:none}.pager a:hover{border-color:var(--line-strong)}.pager a.next{text-align:right}.pager small{color:var(--muted);margin-bottom:2px;font-size:11px;display:block}.prose{font-size:15px;line-height:1.65}.prose h1{margin:0 0 14px;font-size:clamp(1.5rem,4vw,2rem);line-height:1.25}.prose h2{margin:32px 0 10px;padding-top:4px;font-size:1.12rem}.prose h3{margin:24px 0 8px;font-size:1rem}.prose p{margin:12px 0}.prose ul,.prose ol{padding-left:1.3rem}.prose li{margin:5px 0}.prose a{color:var(--accent)}.prose blockquote{border-left:3px solid var(--accent-dim);background:var(--panel);border-radius:0 6px 6px 0;margin:14px 0;padding:10px 14px}.prose blockquote p{margin:4px 0}.prose code{font-family:var(--mono);background:var(--panel-2);border-radius:3px;padding:1px 5px;font-size:.875em}.prose pre{background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:12px 14px;font-size:12.5px;line-height:1.55;overflow-x:auto}.prose pre code{font-size:inherit;background:0 0;padding:0}:root[data-theme=dark] .astro-code,:root[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important;text-decoration:var(--shiki-dark-text-decoration)!important}.prose table{border-collapse:collapse;width:100%;margin:14px 0;font-size:13px;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:6px 10px}.prose th{background:var(--panel);font-weight:600}.prose hr{border:0;border-top:1px solid var(--line);margin:26px 0}.lede{color:var(--muted);margin:0 0 22px;font-size:14px}.tagrow{flex-wrap:wrap;gap:5px;margin:0 0 18px;display:flex}.tagrow .chip{font-size:10.5px}.card{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:8px;margin-bottom:8px;padding:13px 15px;text-decoration:none;display:block}.card:hover{border-color:var(--line-strong)}.card h3{margin:0 0 4px;font-size:14px}.card p{color:var(--muted);margin:0;font-size:12.5px}.card-row{align-items:baseline;gap:8px;display:flex}.card-row .meta{color:var(--muted);font-size:11px;font-family:var(--mono);margin-left:auto}.lesson-list{counter-reset:lesson;margin:0 0 22px;padding:0;list-style:none}.lesson-list li{border-bottom:1px solid var(--line);align-items:baseline;gap:10px;padding:6px 0;display:flex}.lesson-list li:last-child{border-bottom:0}.lesson-list .n{counter-increment:lesson;font-family:var(--mono);color:var(--muted);flex:0 0 1.6rem;font-size:11px}.lesson-list .n:before{content:counter(lesson, decimal-leading-zero)}.lesson-list a{color:var(--text);text-decoration:none}.lesson-list a:hover{color:var(--accent)}.drill-list{margin:0;padding:0;list-style:none}.drill-list li{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:7px 0;display:flex}.drill-list li:last-child{border-bottom:0}.drill-list a{color:var(--text);flex:1;text-decoration:none}.drill-list a:hover{color:var(--accent)}.section-head{border-bottom:1px solid var(--line);align-items:baseline;gap:10px;margin:34px 0 12px;padding-bottom:6px;display:flex}.section-head h2{margin:0;font-size:1.05rem}.section-head .meta{color:var(--muted);margin-left:auto;font-size:11.5px}.track-block{margin-bottom:40px}.track-block>p{color:var(--muted);margin:0 0 16px}.cta-row{flex-wrap:wrap;gap:10px;margin:22px 0 0;display:flex}.btn{border:1px solid var(--line);color:var(--text);background:var(--panel);border-radius:7px;padding:9px 16px;font-size:13px;font-weight:600;text-decoration:none;display:inline-block}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn:hover{border-color:var(--line-strong)}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}@media (width<=640px){.doc-main{padding:22px 15px 44px}.pager{flex-direction:column}.pager a.next{text-align:left}.site-head{flex-wrap:wrap;gap:8px 16px;padding:10px 15px}.site-head .brand{flex:1 0 auto}.site-head nav{flex-basis:100%;order:3;gap:14px;margin-right:0}}.rx{border:1px solid var(--line);border-radius:7px;margin:14px 0;overflow:hidden}.rx>pre.astro-code,.rx>pre.rx-static{border:0;border-radius:0;margin:0}pre.rx-static{background:var(--panel);border:1px solid var(--line);font-family:var(--mono);color:var(--text-soft);border-radius:7px;margin:0;padding:12px 14px;font-size:12.5px;line-height:1.55;overflow-x:auto}.rx-bar{background:var(--panel-2);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px;padding:7px 9px;display:flex}.rx-btn{font:inherit;border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer;border-radius:5px;padding:3px 10px;font-size:11.5px}.rx-btn:hover{border-color:var(--line-strong)}.rx-btn:disabled{opacity:.55;cursor:default}.rx-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.rx-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.rx-note{color:var(--muted-2);margin-left:auto;font-size:11px}.rx-note a{color:var(--muted)}.rx-editor{box-sizing:border-box;background:var(--panel);width:100%;color:var(--text);border:0}textarea.rx-editor{resize:vertical;font-family:var(--mono);tab-size:2;padding:12px 14px;font-size:12.5px;line-height:1.55;display:block;overflow:hidden}textarea.rx-editor:focus,.rx-editor.cm-focused{outline:1px solid var(--accent-dim);outline-offset:-1px}.rx-editor .cm-scroller{font-family:var(--mono);max-height:22rem;font-size:12.5px;line-height:1.55;overflow:auto}.rx-editor .cm-content{padding:12px 14px}.rx-out{border-top:1px solid var(--line)}.rx-meta{font-family:var(--mono);color:var(--muted);background:var(--panel-2);flex-wrap:wrap;align-items:center;gap:5px;padding:6px 10px;font-size:11px;display:flex}.rx-meta .rx-ok{color:var(--accent)}.rx-meta .rx-err{color:var(--danger)}.rx-meta .rx-warn{color:var(--warn)}.rx-linkish{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.rx .rx-body{background:var(--panel);max-height:22rem;font-family:var(--mono);white-space:pre;border:0;border-radius:0;margin:0;padding:11px 14px;font-size:12px;line-height:1.5;overflow:auto}.rx .rx-body:empty{display:none}@media (width<=640px){.rx .rx-body{max-height:14rem}.rx-btn{padding:7px 13px;font-size:12px}.rx-note{flex-basis:100%;margin-left:0}}.tagrow .chip.hub{color:var(--text-soft);text-decoration:none}.tagrow .chip.hub:hover,.tagrow .chip.hub:focus-visible{color:var(--accent);text-underline-offset:2px;text-decoration:underline}
