:root,[data-theme=dark]{color-scheme:dark;--paper:#090c0b;--surface:#101512;--raised:#171d19;--sunken:#0d100e;--hover:#202821;--ink:#f4f7f5;--ink-2:#a0aaa4;--ink-3:#96a19a;--ink-4:#758079;--rule:#28322c;--rule-strong:#3a453e;--accent:#b8f23d;--accent-h:#d0ff6a;--accent-ink:#c3f455;--on-accent:#10140d;--accent-wash:#1a2110;--accent-line:#4a6318;--on-ok:#08150f;--on-info:#041018;--on-warn:#1a1305;--on-danger:#1c0806;--dial-track:#5d6b62;--ok:#63d69a;--ok-wash:#10201a;--ok-line:#2c5442;--info:#62b7ff;--info-wash:#0e1a26;--info-line:#28455f;--warn:#f5c451;--warn-wash:#211a0d;--warn-line:#5a4718;--danger:#ff746c;--danger-wash:#23100f;--danger-line:#5e2a27;--code-bg:#060908;--code-bar:#10150f;--code-ink:#e8ede9;--code-line-n:#7f8c84;--code-hl:rgba(184,242,61,0.055);--code-hl-bar:var(--accent);--code-scroll:rgba(255,255,255,0.22);--tk-kw:#c9a6f0;--tk-str:#b8e37a;--tk-num:#f0bd8a;--tk-com:#8b978f;--tk-fn:#7fc4ff;--tk-type:#6fd8c8;--tk-tag:#ff9d95;--tk-attr:#f5c451;--tk-dir:#dda2d0;--tk-op:#9aa8a0;--tk-var:#ff9d95;--lift:0 1px 2px rgba(0,0,0,0.5);--lift-2:0 1px 3px rgba(0,0,0,0.5),0 8px 24px rgba(0,0,0,0.4);--focus:var(--accent);--measure:68ch;--measure-wide:84ch;--sidebar-w:252px;--rail-w:232px;--topbar-h:56px;--gutter:32px;--rail-pad:16px;--rail-inset:12px;--r-sm:6px;--r:10px;--r-lg:14px;--r-pill:999px;--sp-1:8px;--sp-2:16px;--sp-3:24px;--sp-4:32px;--sp-6:48px;--sp-8:64px;--fs-hero:56px;--fs-h1:42px;--fs-h2:26px;--fs-h3:19px;--fs-body:16px;--fs-sm:14px;--fs-meta:12.5px;--fs-xs:11px;--h-ctl:40px;--h-ctl-sm:32px;--t-hover:140ms;--t-fold:200ms;--t-prog:300ms;--t-enter:200ms;--ease:cubic-bezier(0.32,0.72,0,1);--font-display:"Avenir Next","Inter Tight","Segoe UI Variable Display","Futura",Inter,system-ui,-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;--font-text:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;--font-mono:ui-monospace,"SF Mono",SFMono-Regular,"JetBrains Mono","Cascadia Mono",Menlo,Consolas,monospace}[data-theme=light]{color-scheme:light;--paper:#f6f8f5;--surface:#ffffff;--raised:#ffffff;--sunken:#ecefe9;--hover:#e8ece5;--ink:#10140f;--ink-2:#454f48;--ink-3:#5a655d;--ink-4:#78837b;--rule:#dbe1d8;--rule-strong:#bcc5ba;--accent:#54760e;--accent-h:#446009;--accent-ink:#41600f;--on-accent:#ffffff;--accent-wash:#eef8dc;--accent-line:#b9d47a;--on-ok:#ffffff;--on-info:#ffffff;--on-warn:#ffffff;--on-danger:#ffffff;--dial-track:#8e988f;--ok:#1d7a4e;--ok-wash:#e2f3e9;--ok-line:#9ecdb2;--info:#1a5f96;--info-wash:#e3eef7;--info-line:#a2c4de;--warn:#7d5a0e;--warn-wash:#f8eed3;--warn-line:#d9c078;--danger:#a63229;--danger-wash:#f9e5e3;--danger-line:#e0aca7;--code-bg:#10150f;--code-bar:#1a201a;--code-ink:#e8ede9;--code-line-n:#8c9890;--code-hl:rgba(184,242,61,0.07);--code-scroll:rgba(255,255,255,0.24);--lift:0 1px 2px rgba(16,20,15,0.06);--lift-2:0 1px 3px rgba(16,20,15,0.07),0 8px 24px rgba(16,20,15,0.06);--focus:#41600f}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--topbar-h) + 16px)}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-text);font-size:var(--fs-body);line-height:1.68;font-feature-settings:"kern" 1;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.mono,code,kbd,pre{font-family:ui-monospace,SF Mono,SFMono-Regular,JetBrains Mono,Cascadia Mono,Menlo,Consolas,monospace;font-feature-settings:none;font-variant-ligatures:none}.display{font-weight:680;letter-spacing:-.021em;line-height:1.12}.display,h1,h2,h3,h4{font-family:var(--font-display)}h1,h2,h3,h4{margin:0;line-height:1.22;font-weight:660;letter-spacing:-.014em}p{margin:0 0 1.05em}p:last-child{margin-bottom:0}a{color:var(--accent-ink);text-decoration:none;text-underline-offset:3px}a:hover{text-decoration:underline}ol,ul{margin:0 0 1.05em;padding-left:1.35em}li{margin-bottom:.32em}li:last-child{margin-bottom:0}strong{font-weight:650;color:var(--ink)}hr{border:0;border-top:1px solid var(--rule);margin:2.4rem 0}.icode,:where(p,li,td,th,dd,.prose)>code{background:var(--sunken);border:1px solid var(--rule);border-radius:var(--r-sm);padding:.08em .34em;font-size:.875em;color:var(--ink);white-space:nowrap}@media (max-width:700px){.icode,:where(p,li,td,th,dd,.prose)>code{white-space:pre-wrap;overflow-wrap:break-word}}.dim{color:var(--ink-2)}.dimmer{color:var(--ink-3)}.tabular{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent-wash);color:var(--ink)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--h-ctl);padding:0 var(--sp-2);font:inherit;font-size:var(--fs-sm);font-weight:600;line-height:1.35;color:var(--ink);background:transparent;border:1px solid var(--rule-strong);border-radius:var(--r);cursor:pointer;transition:background var(--t-hover) ease,border-color var(--t-hover) ease,color var(--t-hover) ease}.btn:hover:not(:disabled){background:var(--hover);border-color:var(--accent-line)}.btn:disabled{color:var(--ink-3);border-color:var(--rule);cursor:not-allowed;opacity:.6}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:700}.btn-primary:hover:not(:disabled){background:var(--accent-h);border-color:var(--accent-h);color:var(--on-accent)}.btn-ghost{background:transparent;border-color:transparent;color:var(--ink-2)}.btn-ghost:hover:not(:disabled){background:var(--hover);border-color:transparent;color:var(--ink)}.btn-sm{min-height:var(--h-ctl-sm);padding:0 var(--sp-1);font-size:var(--fs-meta)}@media (max-width:960px),(pointer:coarse){.btn,.btn-sm{min-height:44px}}.tag{display:inline-flex;align-items:center;gap:4px;padding:1px 7px;border-radius:var(--r-sm);border:1px solid var(--rule);background:var(--sunken);font-size:var(--fs-meta);font-weight:600;line-height:1.6;color:var(--ink-2);white-space:nowrap}.tag[data-tone=accent]{background:var(--accent-wash);border-color:var(--accent-line);color:var(--accent-ink)}.tag[data-tone=info]{background:var(--info-wash);border-color:var(--info-line);color:var(--info)}.tag[data-tone=warn]{background:var(--warn-wash);border-color:var(--warn-line);color:var(--warn)}.tag[data-tone=danger]{background:var(--danger-wash);border-color:var(--danger-line);color:var(--danger)}.tag[data-tone=ok]{background:var(--ok-wash);border-color:var(--ok-line);color:var(--ok)}.table{width:100%;border-collapse:collapse;font-size:var(--fs-sm);margin-bottom:1.05em}.table th{text-align:left;font-size:var(--fs-meta);font-weight:650;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);padding:7px 12px 7px 0;border-bottom:1px solid var(--rule-strong);white-space:nowrap}.table td{padding:9px 12px 9px 0;border-bottom:1px solid var(--rule);vertical-align:top;color:var(--ink-2)}.table td:first-child{color:var(--ink)}.table-wrap{overflow-x:auto;margin-bottom:1.05em}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}[data-lang]{display:contents}html[lang=en] [data-lang=zh],html[lang=zh-CN] [data-lang=en]{display:none}[hidden]{display:none!important}.ui-page{width:100%;max-width:1040px}.ui-page[data-w=wide]{max-width:1240px}.ui-page[data-w=narrow]{max-width:760px}.page-head,.ui-head{display:flex;flex-direction:column;gap:var(--sp-2);padding-bottom:var(--sp-4);border-bottom:1px solid var(--rule);margin-bottom:var(--sp-4)}.eyebrow,.ui-eyebrow{display:flex;align-items:center;gap:var(--sp-1);font-family:var(--font-mono);font-size:var(--fs-meta);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.page-title,.ui-h1{font-family:var(--font-display);font-size:var(--fs-h1);font-weight:680;letter-spacing:-.022em;line-height:1.1;color:var(--ink);margin:0}.page-lede,.ui-lede{max-width:62ch;margin:0;font-size:var(--fs-body);line-height:1.62;color:var(--ink-2)}.ui-sec{margin-top:var(--sp-6)}.ui-sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-2);margin-bottom:var(--sp-2)}.ui-sec-title{font-family:var(--font-display);font-size:var(--fs-h2);font-weight:660;letter-spacing:-.016em;color:var(--ink);margin:0}.ui-sec[data-quiet] .ui-sec-title{font-size:var(--fs-h3);color:var(--ink-2);font-weight:620}.ui-sec-note{font-size:var(--fs-sm);color:var(--ink-3)}.ui-card{padding:var(--sp-3);background:var(--raised);border:1px solid var(--rule);border-radius:var(--r-lg)}.ui-cards{display:grid;grid-gap:var(--sp-2);gap:var(--sp-2);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.ui-cards[data-cols="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:720px){.ui-cards[data-cols="2"]{grid-template-columns:minmax(0,1fr)}}.ui-card[data-rows]{display:grid;grid-template-rows:auto 1fr auto;grid-gap:var(--sp-2);gap:var(--sp-2)}.ui-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-1);font-family:var(--font-mono);font-size:var(--fs-meta);color:var(--ink-3)}.ui-meta>*+:before{content:"·";margin-right:var(--sp-1);color:var(--ink-4)}.ui-prog{display:flex;align-items:center;gap:var(--sp-2)}.ui-prog-num{font-family:var(--font-mono);font-size:var(--fs-sm);font-weight:600;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.ui-prog-num b{color:var(--accent-ink);font-weight:700}.ui-bar{flex:1 1 auto;min-width:60px;height:6px;border-radius:var(--r-pill);background:var(--sunken);border:1px solid var(--rule);overflow:hidden}.ui-bar>i{display:block;height:100%;background:var(--accent);border-radius:var(--r-pill);transition:width var(--t-prog) var(--ease)}.ui-prog-label{font-size:var(--fs-meta);color:var(--ink-3);white-space:nowrap}.ui-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-1);padding:var(--sp-1) 0}.ui-quiet,.ui-toolbar>*{min-height:var(--h-ctl-sm)}.ui-quiet{font-size:var(--fs-sm);color:var(--ink-2);text-decoration:underline;-webkit-text-decoration-color:var(--rule-strong);text-decoration-color:var(--rule-strong);text-underline-offset:3px;display:inline-flex;align-items:center}.ui-quiet:hover{color:var(--ink);-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}.ui-empty{padding:var(--sp-6) var(--sp-3);text-align:center;color:var(--ink-3);background:var(--surface);border:1px dashed var(--rule);border-radius:var(--r-lg)}.ui-empty-title{display:block;font-family:var(--font-display);font-size:var(--fs-h3);color:var(--ink-2);margin-bottom:var(--sp-1)}@media (max-width:720px){:root,[data-theme=dark],[data-theme=light]{--fs-hero:34px;--fs-h1:32px;--fs-h2:22px;--sp-6:32px;--sp-8:40px}.ui-head{padding-bottom:var(--sp-3);margin-bottom:var(--sp-3)}.page-lede,.ui-lede{font-size:var(--fs-body)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.content{animation:ui-enter var(--t-enter) var(--ease)}@keyframes ui-enter{0%{opacity:0;transform:translateY(6px)}}@media (max-width:960px),(pointer:coarse){.icon-btn,.lang-btn,.rm-all>summary,.search-trigger,.snav-item,.toc-fold-head,.ui-quiet,.ui-toolbar>*{min-height:44px}.icon-btn,.lang-btn{min-width:44px}}.shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);grid-template-rows:var(--topbar-h) minmax(0,1fr);min-height:100vh}.topbar{grid-column:2;grid-row:1;position:-webkit-sticky;position:sticky;top:0;z-index:40;height:var(--topbar-h);display:flex;align-items:center;gap:var(--sp-2);padding:0 var(--gutter);background:color-mix(in srgb,var(--paper) 88%,transparent);border-bottom:1px solid var(--rule)}.topbar-brand{display:none;align-items:center;gap:var(--sp-1);color:var(--ink)}.topbar-brand-name{font-size:var(--fs-body);letter-spacing:-.02em}.topbar-brand:hover{text-decoration:none}.topbar-loc{min-width:0;display:flex;align-items:center;gap:7px;overflow:hidden}.topbar-loc-up{font-family:var(--font-mono);font-weight:600;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap}.topbar-loc-sep,.topbar-loc-up{flex:0 0 auto;font-size:var(--fs-meta);color:var(--ink-3)}.topbar-loc-name{font-family:var(--font-mono);font-size:var(--fs-meta);font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-tools{margin-left:auto;display:flex;align-items:center;gap:var(--sp-1)}.topbar-cont{display:none}.lang-btn{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:var(--h-ctl-sm);padding:0 var(--sp-1);border:1px solid var(--rule);border-radius:var(--r-sm);background:transparent;color:var(--ink-2);font:inherit;font-size:var(--fs-meta);font-weight:650;letter-spacing:.02em;cursor:pointer;transition:background var(--t-hover) ease,border-color var(--t-hover) ease,color var(--t-hover) ease}.lang-btn:hover{background:var(--hover);border-color:var(--rule-strong);color:var(--ink)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--h-ctl-sm);height:var(--h-ctl-sm);padding:0;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--ink-2);cursor:pointer;transition:background var(--t-hover) ease,color var(--t-hover) ease}.icon-btn:hover{background:var(--hover);border-color:var(--rule);color:var(--ink)}.menu-btn{display:none}.sidebar{grid-column:1;grid-row:1/-1;display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--rule);position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.sidebar-ctx{margin-top:var(--sp-2);padding:var(--sp-2) var(--rail-pad) var(--sp-6);border-top:1px solid var(--rule)}.main{grid-column:2;grid-row:2;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) var(--rail-w);grid-gap:var(--sp-6);gap:var(--sp-6);padding:var(--sp-4) var(--gutter) var(--sp-8);align-items:start}.main[data-rail=off]{grid-template-columns:minmax(0,1fr)}.content{min-width:0}.main[data-rail=off]>.content{width:100%}.main:not([data-rail=off]){grid-template-columns:minmax(0,1fr) var(--rail-w);max-width:1400px;width:100%}.rail{position:-webkit-sticky;position:sticky;top:calc(var(--topbar-h) + 34px);font-size:var(--fs-meta);line-height:1.55}.rail-block+.rail-block{margin-top:22px;padding-top:18px;border-top:1px solid var(--rule)}.rail-head{font-size:var(--fs-xs);font-weight:650;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px}.rail-toc{list-style:none;margin:0;padding:0;border-left:1px solid var(--rule)}.rail-toc a{display:block;padding:3px 0 3px 11px;margin-left:-1px;border-left:2px solid transparent;color:var(--ink-2)}.rail-toc a:hover{color:var(--ink);text-decoration:none;border-left-color:var(--rule-strong)}.rail-toc a[data-active=true]{color:var(--ink);font-weight:600;border-left-color:var(--accent)}.drawer-scrim{display:none}@media (max-width:1279px){.main,.main:not([data-rail=off]){grid-template-columns:minmax(0,1fr);justify-content:stretch}.main>.content,.main[data-rail=off]>.content{width:100%}.rail{display:none}}@media (max-width:960px){.shell{grid-template-columns:minmax(0,1fr);grid-template-rows:var(--topbar-h) minmax(0,1fr)}.menu-btn{display:inline-flex}.topbar{grid-column:1;gap:var(--sp-1)}.topbar-brand{display:flex}.topbar-loc{display:none}.topbar-cont{display:block;min-width:0}.search-trigger{min-width:44px;justify-content:center}.topbar-brand-name{font-size:var(--fs-sm)}.sidebar{position:fixed;top:var(--topbar-h);left:0;bottom:0;width:min(86vw,320px);max-height:none;z-index:60;transform:translateX(-102%);transition:transform var(--t-fold) var(--ease);box-shadow:var(--lift-2)}.sidebar[data-open=true]{transform:translateX(0)}.drawer-scrim[data-open=true]{display:block;position:fixed;inset:var(--topbar-h) 0 0;background:rgba(0,0,0,.55);z-index:55}.main{grid-column:1;padding:var(--sp-3) var(--sp-2) var(--sp-8)}.topbar{padding:0 var(--sp-2)}}@media (max-width:520px){.topbar{flex-wrap:wrap;align-content:center;row-gap:6px}.topbar-cont{order:9;flex:1 0 100%}.shell[data-cont]{--topbar-h:106px}.topbar-cont .cont-btn{width:100%;height:44px;justify-content:center;max-width:none}.topbar-cont .cont-btn-item{display:block;max-width:none}}@media (pointer:coarse){.icon-btn,.lang-btn{min-width:44px;min-height:44px}}.search-trigger{display:inline-flex;align-items:center;gap:7px;min-height:var(--h-ctl-sm);padding:0 var(--sp-1);font:inherit;font-size:var(--fs-meta);color:var(--ink-2);background:transparent;border:1px solid var(--rule);border-radius:var(--r-sm);cursor:pointer;transition:background var(--t-hover) ease,border-color var(--t-hover) ease}@media (max-width:960px),(pointer:coarse){.search-trigger{min-height:44px}}.search-trigger:hover{background:var(--hover);border-color:var(--rule-strong);color:var(--ink)}.search-kbd{font-family:ui-monospace,SF Mono,SFMono-Regular,JetBrains Mono,Menlo,monospace;font-size:var(--fs-xs);padding:1px 5px;border:1px solid var(--rule-strong);border-radius:var(--r-sm);background:var(--raised);color:var(--ink-3)}.search-scrim{position:fixed;inset:0;z-index:80;background:rgba(28,39,35,.3)}[data-theme=dark] .search-scrim{background:rgba(0,0,0,.55)}.search-panel{position:fixed;z-index:81;top:12vh;left:50%;transform:translateX(-50%);width:min(620px,calc(100vw - 28px));background:var(--surface);border:1px solid var(--rule-strong);border-radius:var(--r-lg);box-shadow:var(--lift-2);overflow:hidden}.search-input{display:block;width:100%;border-radius:0;padding:15px 18px;font:inherit;font-size:var(--fs-body);color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--rule)}.search-input:focus{outline:0;border-bottom:2px solid var(--accent);padding-bottom:14px}.search-input::placeholder{color:var(--ink-3)}.search-results{max-height:min(52vh,440px);overflow-y:auto;overscroll-behavior:contain}.search-hit{display:block;padding:9px 18px;border-left:2px solid transparent}.search-hit:hover{text-decoration:none}.search-hit[data-on=true]{background:var(--accent-wash);border-left-color:var(--accent)}.search-hit-kind{display:block;font-size:var(--fs-xs);font-weight:650;letter-spacing:.04em;color:var(--ink-3)}.search-hit-title{display:block;font-size:var(--fs-sm);font-weight:600;color:var(--ink);line-height:1.4}.search-hit-sub{display:block;font-size:var(--fs-meta);color:var(--ink-2);line-height:1.45;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-empty{padding:22px 18px;margin:0;font-size:var(--fs-sm);color:var(--ink-3)}.search-foot{display:flex;align-items:center;gap:12px;padding:8px 14px;background:var(--sunken);border-top:1px solid var(--rule);font-size:var(--fs-meta);color:var(--ink-3)}@media (max-width:700px){.search-foot,.search-kbd,.search-trigger-label{display:none}.search-results{padding-bottom:var(--sp-1)}}.home-sec-title{font-size:var(--fs-sm);font-weight:650;margin-bottom:6px}.road-progress{display:flex;align-items:center;gap:14px;margin-bottom:34px;max-width:var(--measure)}.road-progress-num{font-size:var(--fs-sm);font-weight:650;white-space:nowrap}.road,.road-nodes{list-style:none;margin:0;padding:0}.road-course+.road-course{margin-top:38px}.road-course-title{font-size:var(--fs-meta);font-weight:650;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);padding-bottom:10px;margin-bottom:4px;border-bottom:1px solid var(--rule)}.road-course-idx{margin-right:8px;color:var(--accent-ink)}.road-band{margin:34px 0 14px;padding-top:16px;border-top:1px solid var(--rule)}.road-band-title{font-weight:650;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.road-band-note,.road-band-title{display:block;font-size:var(--fs-meta)}.road-band-note{margin-top:4px;line-height:1.55;color:var(--ink-2)}.road-nodes{position:relative}.road-nodes:before{content:"";position:absolute;z-index:1;left:calc(var(--sp-2) + 8px);top:29px;bottom:29px;width:2px;border-radius:2px;background:var(--rule)}.road-node{position:relative;display:grid;grid-template-columns:26px minmax(0,1fr);grid-gap:var(--sp-2);gap:var(--sp-2);margin:0;padding:var(--sp-2) var(--sp-2) 18px}.road-dot{position:relative;z-index:2;width:18px;height:18px;margin-top:4px;border-radius:50%;border:2px solid var(--rule-strong);background:var(--paper);display:flex;align-items:center;justify-content:center;font-size:var(--fs-xs);font-weight:700;line-height:1;color:var(--ink-3);z-index:1}.road-node[data-state=done] .road-dot{background:var(--ok);border-color:var(--ok);color:var(--on-ok)}.road-node[data-state=current] .road-dot{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-wash)}.road-node[data-state=current]{background:var(--accent-wash);border-radius:var(--r)}.road-node[data-state=done] .road-summary{color:var(--ink-3)}.road-node-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:5px}.road-part{font-weight:650;letter-spacing:.06em}.road-count,.road-part{font-size:var(--fs-meta);color:var(--ink-3)}.road-count{margin-left:auto}.road-node-title{font-size:var(--fs-body);font-weight:650;margin-bottom:5px}.road-node[data-state=current] .road-node-title{font-size:var(--fs-h3)}.road-summary{font-size:var(--fs-sm);color:var(--ink-2);max-width:var(--measure);margin-bottom:10px}.road-lessons{display:flex;flex-wrap:wrap;gap:6px}.road-end{margin-top:44px;padding-top:24px;border-top:1px solid var(--rule);max-width:var(--measure);font-size:var(--fs-sm);color:var(--ink-2)}.ladder{margin:0 0 34px;padding:16px 18px 14px;border:1px solid var(--rule);border-radius:var(--r-lg);background:var(--sunken);position:relative}.ladder-head{font-size:var(--fs-meta);font-weight:650;letter-spacing:.07em;color:var(--ink-3);margin-bottom:10px;padding-right:108px}.ladder-steps{list-style:none;padding:0;align-items:stretch;flex-wrap:wrap}.ladder-step,.ladder-steps{margin:0;display:flex;gap:4px}.ladder-step{align-items:flex-start;flex:1 1 160px;min-width:0}.ladder-link{display:flex;flex-direction:column;gap:2px;flex:1 1;min-width:0;padding:9px 11px;border:1px solid transparent;border-radius:var(--r);color:var(--ink-2)}a.ladder-link:hover{background:var(--paper);border-color:var(--rule);color:var(--ink);text-decoration:none}.ladder-step[data-on] .ladder-link{background:var(--paper);border-color:var(--accent-line);box-shadow:inset 3px 0 0 var(--accent);color:var(--ink)}.ladder-goal{font-size:var(--fs-xs);font-weight:650;letter-spacing:.06em;color:var(--accent-ink)}.ladder-name{font-size:var(--fs-sm);font-weight:600;color:var(--ink)}.ladder-n{margin-left:6px;font-weight:650}.ladder-gives,.ladder-n{font-size:var(--fs-meta);color:var(--ink-3)}.ladder-gives{line-height:1.5}.ladder-arrow{color:var(--ink-3);font-size:var(--fs-meta);flex-shrink:0;margin-top:30px}.filters-more{margin:4px 0 0}.filters-more-head{display:inline-flex;align-items:center;gap:7px;padding:5px 0;font-size:var(--fs-meta);color:var(--ink-3);cursor:pointer;list-style:none}.filters-more-head::-webkit-details-marker{display:none}.filters-more-head:after{content:"";width:4.5px;height:4.5px;border-right:1.4px solid;border-bottom:1.4px solid;transform:rotate(45deg) translate(-1px,-1px);transition:transform .14s ease;order:3}.filters-more[open]>.filters-more-head:after{transform:rotate(-135deg) translate(-2px,-2px)}.filters-more-head:hover{color:var(--ink-2)}.filters-more-head:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--r-sm)}.filters-more-on{display:inline-flex;gap:6px;padding:1px 7px;border-radius:var(--r-pill);background:var(--accent-wash);color:var(--accent-ink);font-size:var(--fs-meta);font-weight:600}.ladder-more{position:static}.ladder-more>.ladder-more-head{position:absolute;top:14px;right:18px}.ladder-more-head{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-meta);color:var(--ink-3);cursor:pointer;list-style:none}.ladder-more-head::-webkit-details-marker{display:none}.ladder-more-head:after{content:"";width:4.5px;height:4.5px;border-right:1.4px solid;border-bottom:1.4px solid;transform:rotate(45deg) translate(-1px,-1px);transition:transform .14s ease}.ladder-more[open]>.ladder-more-head:after{transform:rotate(-135deg) translate(-2px,-2px)}.ladder-more-head:hover{color:var(--ink-2)}.ladder-more-head:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--r-sm)}.ladder-foot{margin:11px 0 0;padding-top:10px;border-top:1px solid var(--rule);font-size:var(--fs-meta);line-height:1.6;color:var(--ink-2)}@media (max-width:760px){.ladder{padding:13px 13px 11px}.ladder-head{padding-right:0;margin-bottom:8px}.ladder-steps{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px}.ladder-arrow{display:none}.ladder-step{flex:none}.ladder-link{padding:8px 10px}.ladder-name{display:flex;align-items:flex-start;line-height:1.35;min-height:2.7em}.ladder-gives{font-size:var(--fs-meta);line-height:1.45}.ladder-more>.ladder-more-head{position:static;margin-top:10px}}.guide-sec{margin-top:42px}.guide-h{font-size:var(--fs-h3);font-weight:650;margin:0 0 12px;padding-bottom:9px;border-bottom:1px solid var(--rule)}.guide-steps{margin:14px 0 0;padding-left:22px}.guide-steps li{margin-bottom:13px;line-height:1.72}.guide-steps li::marker{color:var(--ink-3);font-weight:650;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.guide-limits{margin:12px 0 0;padding-left:20px}.guide-limits li{margin-bottom:13px;line-height:1.72}.guide-note{margin-top:14px;padding:11px 14px;border-left:2px solid var(--accent-line);background:var(--sunken);border-radius:0 var(--r) var(--r) 0;font-size:var(--fs-sm);line-height:1.65;color:var(--ink-2)}.guide-cta{margin:44px 0 0;padding-top:26px;border-top:1px solid var(--rule)}.callout-fold>.callout-fold-head{cursor:pointer;list-style:none;display:flex;align-items:center;gap:7px}.callout-fold>.callout-fold-head::-webkit-details-marker{display:none}.callout-fold>.callout-fold-head:after{content:"";width:4.5px;height:4.5px;border-right:1.4px solid;border-bottom:1.4px solid;transform:rotate(45deg) translate(-1px,-1px);transition:transform .14s ease;opacity:.6}.callout-fold[open]>.callout-fold-head:after{transform:rotate(-135deg) translate(-2px,-2px)}.callout-fold>.callout-fold-head:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--r-sm)}.snav{padding:0 var(--rail-pad)}.snav-brand{display:flex;align-items:center;gap:var(--sp-1);height:var(--topbar-h);padding-left:var(--rail-inset);color:var(--ink)}.snav-brand:hover{text-decoration:none}.snav-brand-name{font-size:var(--fs-body);letter-spacing:-.022em}.snav-main{gap:var(--sp-3);padding-bottom:var(--sp-3)}.snav-group,.snav-main{display:flex;flex-direction:column}.side-plan-eyebrow,.snav-group-title{padding-left:var(--rail-inset)}.ctx-sec-title,.side-plan-eyebrow,.snav-group-title{font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3)}.snav-group-title{padding-bottom:6px}.snav-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}.snav-item{position:relative;display:flex;align-items:center;gap:var(--sp-1);min-height:36px;padding:0 var(--sp-1) 0 var(--rail-inset);border-radius:var(--r-sm);font-size:var(--fs-sm);font-weight:500;color:var(--ink-2);transition:background var(--t-hover) ease,color var(--t-hover) ease}.snav-item:hover{background:var(--hover);color:var(--ink);text-decoration:none}.snav-item[data-active]{background:var(--accent-wash);color:var(--ink);font-weight:650}.snav-item[data-active]:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:2px;border-radius:2px;background:var(--accent)}.snav-plan{gap:6px;padding-bottom:var(--sp-2)}.side-plan,.snav-plan{display:flex;flex-direction:column}.side-plan{gap:4px;padding-top:2px}.side-plan-eyebrow{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-1);padding-right:var(--sp-1)}.side-plan-change{font-family:var(--font-text);font-size:var(--fs-meta);font-weight:600;letter-spacing:0;text-transform:none;color:var(--accent-ink);text-decoration:underline;-webkit-text-decoration-color:var(--accent-line);text-decoration-color:var(--accent-line);text-underline-offset:2px}.side-plan-change[data-here]{color:var(--ink-3);text-decoration:none;cursor:default}.side-plan-change:hover{color:var(--accent-h);-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}.side-plan-name{padding-left:var(--rail-inset);font-family:var(--font-display);font-size:var(--fs-sm);font-weight:660;letter-spacing:-.014em;line-height:1.3;color:var(--ink)}.side-plan-name:hover{text-decoration:none;color:var(--accent-ink)}.side-plan-where{padding-left:var(--rail-inset);font-size:var(--fs-meta);line-height:1.45;color:var(--ink-3)}.side-plan .ui-prog{padding-left:var(--rail-inset);padding-right:var(--sp-1);margin-top:2px}.side-cta{display:flex;flex-direction:column;gap:1px;min-height:var(--h-ctl);margin-top:2px;padding:7px var(--sp-2);border-radius:var(--r);background:var(--accent);color:var(--on-accent);transition:background var(--t-hover) ease}.side-cta:hover{background:var(--accent-h);text-decoration:none}.side-cta-label{font-size:var(--fs-xs);font-weight:750;letter-spacing:.08em;text-transform:uppercase}.side-cta-label:after{content:" →"}.side-cta-item{font-size:var(--fs-meta);font-weight:550;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cont-btn{display:inline-flex;align-items:baseline;gap:7px;max-width:300px;height:var(--h-ctl-sm);padding:0 var(--sp-2);border:1px solid var(--accent);border-radius:var(--r-sm);background:var(--accent);color:var(--on-accent);font-size:var(--fs-meta);white-space:nowrap}.cont-btn:hover{background:var(--accent-h);border-color:var(--accent-h);text-decoration:none}.cont-btn-label{font-weight:700;flex:0 0 auto}.cont-btn-label:after{content:" →"}.cont-btn-item{min-width:0;max-width:14ch;overflow:hidden;text-overflow:ellipsis;font-size:var(--fs-meta)}@media (max-width:480px){.cont-btn-item{display:none}}.ctx-cta{display:block;margin:0 0 var(--sp-1);padding:8px var(--sp-1) 8px var(--rail-inset);border-radius:var(--r-sm);color:var(--ink-2);transition:background var(--t-hover) ease}.ctx-cta:hover{background:var(--hover);text-decoration:none}.ctx-cta .ctx-cta-label{color:var(--accent-ink)}.ctx-cta[data-tone=live]{border-color:var(--danger)}.ctx-cta[data-tone=live] .ctx-cta-label{color:var(--danger)}.ctx-cta[data-tone=live]:hover{border-color:var(--danger);background:var(--danger-wash)}.ctx-cta-label{display:block;font-size:var(--fs-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.ctx-cta-label:after{content:" →"}.ctx-cta-item{font-size:var(--fs-sm);font-weight:650;line-height:1.4}.ctx-cta-item,.ctx-cta-sub{display:block;margin-top:3px}.ctx-cta-sub{font-size:var(--fs-xs);line-height:1.5}.ctx-stat{display:grid;grid-gap:2px;gap:2px;margin:0 var(--sp-1) var(--sp-2) var(--rail-inset);font-family:var(--font-mono);font-size:var(--fs-meta);line-height:1.5;color:var(--ink-3)}.ctx-stat-cell{display:inline-flex;align-items:baseline;gap:4px;white-space:nowrap}.ctx-stat-cell b{font-size:var(--fs-meta);font-weight:700;color:var(--ink)}.ctx-stat-cell[data-tone=ok] b{color:var(--ok)}.ctx-stat-cell[data-tone=warn] b{color:var(--warn)}.ctx-now{margin:-6px var(--sp-1) 16px var(--rail-inset);font-size:var(--fs-meta);line-height:1.5;color:var(--ink-3)}.ctx-now strong{color:var(--ink-2)}.ctx-sec{margin-bottom:20px}.ctx-sec-head{padding:0 var(--sp-1) 6px var(--rail-inset)}.ctx-sec-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-1)}.ctx-sec-link{font-family:var(--font-text);font-size:var(--fs-meta);font-weight:500;letter-spacing:0;text-transform:none;color:var(--ink-3);white-space:nowrap}.ctx-sec-link:hover{color:var(--ink)}.ctx-sec-title{font-size:var(--fs-xs);font-weight:650;letter-spacing:.1em;text-transform:uppercase}.ctx-sec-note,.ctx-sec-title{display:block;color:var(--ink-3)}.ctx-sec-note{margin-top:3px;font-size:var(--fs-meta);line-height:1.5}.ctx-list{list-style:none;margin:0;padding:0}.ctx-list>li{margin:0}.ctx-item{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;grid-gap:2px 8px;gap:2px 8px;min-height:34px;padding:6px var(--sp-1) 6px var(--rail-inset);border-radius:var(--r-sm);font-size:var(--fs-sm);line-height:1.5;color:var(--ink-2)}.ctx-item:hover{background:var(--hover);color:var(--ink);text-decoration:none}.ctx-item[data-active]{background:var(--accent-wash);color:var(--ink);font-weight:600}.ctx-item[data-active]:before{content:"";position:absolute;left:0;top:5px;bottom:5px;width:2px;border-radius:2px;background:var(--accent)}.ctx-item-label{min-width:0;overflow-wrap:anywhere}.ctx-item-n{font-size:var(--fs-meta);font-weight:600;color:var(--ink-3);white-space:nowrap}.ctx-item-sub{grid-column:1/-1;font-size:var(--fs-xs);line-height:1.45;color:var(--ink-3);font-weight:400}.ctx-item[data-tone=ok] .ctx-item-sub{color:var(--ok)}.ctx-item[data-tone=warn] .ctx-item-sub{color:var(--warn)}.ctx-item[data-tone=live] .ctx-item-sub{color:var(--danger);font-weight:600}.ctx-item-dot{margin:0 2px}.ctx-item-aside{display:block;padding:0 var(--sp-1) 7px var(--rail-inset);font-size:var(--fs-meta);color:var(--ink-2)}.ctx-course+.ctx-course{margin-top:2px}.ctx-course-top{position:relative;display:flex;align-items:baseline;gap:8px;min-height:34px;padding:7px var(--sp-1) 7px var(--rail-inset);border-radius:var(--r-sm);color:var(--ink);font-size:var(--fs-sm)}.ctx-course-top:hover{background:var(--hover);text-decoration:none}.ctx-course-top[data-active]{background:var(--accent-wash)}.ctx-course-top[data-active]:before,.ctx-course-top[data-next]:not([data-active]):before{content:"";position:absolute;left:0;top:5px;bottom:5px;width:2px;border-radius:2px;background:var(--accent)}.ctx-course-top[data-next]:not([data-active]):before{background:var(--accent-line)}.ctx-course-idx{flex:0 0 auto;min-width:1.9em;font-size:var(--fs-xs);font-weight:650;letter-spacing:.04em;color:var(--ink-3)}.ctx-course-top[data-active] .ctx-course-idx{color:var(--accent-ink)}.ctx-course-name{flex:1 1 auto;min-width:0;font-weight:600;line-height:1.4;overflow-wrap:anywhere}.ctx-course-n{flex:0 0 auto;font-size:var(--fs-meta);font-weight:600;color:var(--ink-3)}.ctx-course-flag{display:block;margin:0 var(--sp-1) 6px calc(var(--rail-inset) + 1.9em);font-size:var(--fs-xs);font-weight:500;color:var(--accent-ink)}.ctx-course-next{display:block;margin:2px 0 8px;padding:6px var(--sp-1) 8px calc(var(--rail-inset) + 1.9em);color:var(--ink-2);border-radius:var(--r-sm)}.ctx-course-next:hover{text-decoration:none;background:var(--hover);color:var(--ink)}.ctx-course-next-label{display:block;font-size:var(--fs-xs);font-weight:650;letter-spacing:.09em;text-transform:uppercase;color:var(--accent-ink)}.ctx-course-next-title{display:block;margin-top:2px;font-size:var(--fs-meta);line-height:1.45}.ctx-mod{padding:0 var(--sp-1);margin-bottom:8px}.ctx-mod-head{position:relative;padding-right:34px;cursor:pointer;list-style:none;border-radius:var(--r)}.ctx-mod-head::-webkit-details-marker{display:none}.ctx-mod-head:hover{background:var(--sunken)}.ctx-mod-head:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ctx-mod-head:after{content:"";position:absolute;right:6px;top:4px;width:5px;height:5px;border-right:1.5px solid var(--ink-3);border-bottom:1.5px solid var(--ink-3);transform:rotate(-45deg);transition:transform .14s ease}.ctx-mod[open]>.ctx-mod-head:after{transform:rotate(45deg)}.ctx-mod-stage{font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink)}.ctx-mod-name,.ctx-mod-stage{display:block;font-weight:650}.ctx-mod-name{font-size:var(--fs-meta);line-height:1.45;color:var(--ink-2)}.ctx-mod-n{position:absolute;right:18px;top:1px;font-size:var(--fs-xs);font-weight:600;color:var(--ink-3)}.ctx-lessons{list-style:none;margin:5px 0 0;padding:0;border-left:1px solid var(--rule)}.ctx-lessons li{margin:0}.ctx-lesson{display:flex;align-items:baseline;gap:7px;padding:4px 6px 4px 10px;margin-left:-1px;border-left:2px solid transparent;font-size:var(--fs-meta);line-height:1.5;color:var(--ink-2)}.ctx-lesson:hover{background:var(--sunken);color:var(--ink);text-decoration:none}.ctx-lesson[data-active]{border-left-color:var(--accent);background:var(--accent-wash);color:var(--ink);font-weight:600}.ctx-lesson-n{flex:0 0 auto;min-width:1.7em;font-size:var(--fs-xs);color:var(--ink-3)}.ctx-lesson-t{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.ctx-lesson[data-done] .ctx-lesson-t:after{content:" ✓";color:var(--ok);font-weight:700}.ctx-sub{display:flex;flex-direction:column;gap:1px;margin:0 0 var(--sp-2)}.ctx-sub-btn{position:relative;display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-1);min-height:34px;padding:6px var(--sp-1) 6px var(--rail-inset);border-radius:var(--r-sm);color:var(--ink-2);transition:background var(--t-hover) ease}.ctx-sub-btn:hover{background:var(--hover);color:var(--ink);text-decoration:none}.ctx-sub-btn[data-on]{background:var(--accent-wash);color:var(--ink)}.ctx-sub-btn[data-on]:before{content:"";position:absolute;left:0;top:5px;bottom:5px;width:2px;border-radius:2px;background:var(--accent)}.ctx-sub-name{font-size:var(--fs-sm);font-weight:600;line-height:1.35}.ctx-sub-btn[data-on] .ctx-sub-name{font-weight:650}.ctx-sub-n{flex:0 0 auto}.ctx-sub-n,.ctx-sub-note{font-size:var(--fs-meta);color:var(--ink-3)}.ctx-sub-note{margin:0 var(--sp-1) 18px var(--rail-inset);line-height:1.6}.dash{max-width:78ch}.dash-cont{padding:26px 0 30px;border-bottom:1px solid var(--rule)}.dash-cont-eyebrow{font-size:var(--fs-meta);font-weight:650;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.dash-cont-title{font-size:clamp(26px,3.4vw,36px);line-height:1.2;margin:10px 0 12px;max-width:34ch}.dash-cont-meta{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 10px;margin:0 0 20px;font-size:var(--fs-meta);color:var(--ink-3)}.dash-cont-mode{padding:1px 8px;border:1px solid var(--accent-line);border-radius:var(--r-pill);background:var(--accent-wash);color:var(--accent-ink);font-size:var(--fs-meta);font-weight:650}.dash-cont-sub{color:var(--ink-2);font-weight:550}.dash-cont-pos{color:var(--ink-3)}.dash-cont-cta{display:inline-flex;align-items:center;padding:11px 24px;border:1px solid var(--accent);border-radius:var(--r-lg);background:var(--accent);color:var(--on-accent);font-size:var(--fs-body);font-weight:650}.dash-cont-cta:after{content:" →"}.dash-cont-cta:hover{background:var(--accent-h);border-color:var(--accent-h);text-decoration:none}.dash-sec{padding-top:var(--sp-4);margin-top:var(--sp-6);border-top:1px solid var(--rule)}.dash-sec .ui-sec-title{margin-bottom:var(--sp-1)}.dash-topics{list-style:none;margin:0;padding:0}.dash-topic{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 14px;margin:0;padding:9px 0;border-bottom:1px solid var(--rule)}.dash-topic:last-child{border-bottom:0}.dash-topic-name{flex:0 0 9.5em;font-size:var(--fs-sm);font-weight:650}.dash-topic-acts{display:flex;flex-wrap:wrap;gap:6px}.dash-topic-act{padding:2px 9px;border:1px solid var(--rule);border-radius:var(--r-pill);background:var(--sunken);color:var(--ink-2);font-size:var(--fs-meta);font-weight:550;white-space:nowrap}.dash-topic-act:hover{border-color:var(--accent-line);background:var(--accent-wash);color:var(--accent-ink);text-decoration:none}.dash-path{list-style:none;padding:0;flex-wrap:wrap}.dash-path,.dash-path li{margin:0;display:flex;align-items:center;gap:4px}.dash-path-step{display:inline-flex;align-items:baseline;gap:6px;padding:5px 11px;border:1px solid var(--rule);border-radius:var(--r);background:var(--sunken);color:var(--ink);font-size:var(--fs-sm)}.dash-path-step:hover{border-color:var(--accent-line);background:var(--accent-wash);text-decoration:none}.dash-path-n{font-size:var(--fs-xs);font-weight:650;color:var(--ink-3)}.dash-path-name{font-weight:600}.dash-path-arrow{color:var(--ink-3);font-size:var(--fs-meta)}.dash-note{margin:14px 0 0}.dash-langnote,.dash-note{font-size:var(--fs-sm);line-height:1.7;color:var(--ink-2)}.dash-langnote{margin:26px 0 0;padding:13px 15px;border-left:2px solid var(--info-line);border-radius:0 var(--r) var(--r) 0;background:var(--sunken)}.dash-more{margin-top:36px;padding-top:20px;border-top:1px solid var(--rule)}.dash-more>summary{cursor:pointer;font-size:var(--fs-sm);color:var(--ink-2);list-style:none}.dash-more>summary::-webkit-details-marker{display:none}.dash-more>summary:before{content:"＋ ";color:var(--ink-3)}.dash-more[open]>summary:before{content:"－ "}.dash-more>summary:hover{color:var(--ink)}.dash-more>summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--r-sm)}.dash-more-body{padding-top:14px;font-size:var(--fs-sm)}.dash-more-body ul{padding-left:1.2em}.lesson-pos{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-bottom:4px}.lesson-pos-sep,.lesson-pos-time{color:var(--ink-3);font-size:var(--fs-meta)}.lesson-jump{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-top:18px;padding-top:12px;border-top:1px solid var(--rule);font-size:var(--fs-meta)}.lesson-jump-link{display:inline-flex;align-items:baseline;gap:6px;min-width:0;max-width:46%;color:var(--ink-2)}.lesson-jump-link[data-dir=next]{margin-left:auto;text-align:right}.lesson-jump-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-jump-dir{flex:0 0 auto;color:var(--ink-3)}.lesson-jump-none{font-size:var(--fs-meta);color:var(--ink-3)}.lesson-jump-none:last-child{margin-left:auto}.lnext{margin-top:52px;padding:20px 22px 18px;border:1px solid var(--rule-strong);border-radius:var(--r-lg);background:var(--surface);max-width:var(--measure-wide)}.lnext-h{font-size:var(--fs-meta);font-weight:650;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:12px}.lnext-steps{list-style:none;margin:0;padding:0;counter-reset:lnext}.lnext-step{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;margin:0;padding:13px 0;border-top:1px solid var(--rule);counter-increment:lnext}.lnext-step:first-child{border-top:0;padding-top:0}.lnext-step-body{flex:1 1 220px;min-width:0;display:flex;flex-direction:column;gap:3px}.lnext-step-title{display:flex;align-items:baseline;gap:8px;font-size:var(--fs-sm);font-weight:650;color:var(--ink)}.lnext-step-title:before{content:counter(lnext);flex:0 0 auto;width:19px;height:19px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-pill);background:var(--sunken);border:1px solid var(--rule);color:var(--ink-3);font-size:var(--fs-xs);font-weight:650;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lnext-step[data-primary] .lnext-step-title:before{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.lnext-step-sub{padding-left:27px;font-size:var(--fs-sm);line-height:1.55;color:var(--ink-2)}.lnext-step-links{display:flex;flex-wrap:wrap;gap:4px 14px}.lnext-step-link{flex:0 0 auto;font-size:var(--fs-meta);color:var(--ink-2)}.lnext-cta{flex:0 0 auto;padding-inline:var(--sp-3)}.lnext-cta:after{content:" →"}.lnext-cta:hover{text-decoration:none}.lnext-foot{display:flex;flex-direction:column;gap:10px;margin-top:4px;padding-top:14px;border-top:1px solid var(--rule)}.lnext-foot .done-bar{width:100%;margin:0;padding:0;border:0;background:transparent;max-width:none}.lnext-back{align-self:flex-end;max-width:100%;font-size:var(--fs-meta);line-height:1.5;text-align:right;color:var(--ink-3);overflow-wrap:anywhere}.lnext-back:hover{color:var(--ink-2)}@media (max-width:960px){.snav{padding-top:0}.snav-brand,.snav-plan .side-cta{display:none}.ctx-course-top,.ctx-item,.ctx-sub-btn,.snav-item{min-height:44px}.side-plan-change,.side-plan-name{display:inline-flex;align-items:center;min-height:44px}.side-plan-eyebrow{align-items:center}.snav-main{padding-top:var(--sp-2)}}@media (max-width:620px){.lnext{padding:var(--sp-2) 15px 14px}.lnext-cta{width:100%;justify-content:center}.lesson-jump-link{max-width:100%}.lnext-back{align-self:flex-start;text-align:left}}@media (max-width:420px){.cont-btn{padding:0 9px;font-size:var(--fs-meta)}.topbar{padding:0 10px;gap:var(--sp-1)}.topbar-tools{gap:5px}}