.lrn-site{--on-ink:#fff}.lrn-site ::selection{background:var(--accent-soft);color:var(--accent-deep)}.lrn-wrap{width:min(100% - 48px,1380px);margin-inline:auto}@media (max-width:700px){.lrn-wrap{width:calc(100% - 32px)}}.lrn-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-5) 0 var(--sp-4);border-bottom:1px solid var(--border)}.lrn-bar-search{flex:0 1 360px}.lrn-crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-1) var(--sp-2);margin:0;padding:0;list-style:none;font-size:var(--t-body-sm);line-height:var(--lh-body-sm);color:var(--ink-mute)}.lrn-crumbs li{display:inline-flex;align-items:center;gap:var(--sp-2)}.lrn-crumbs a{color:var(--ink-soft);text-decoration:none}.lrn-crumbs a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.lrn-crumbs [aria-current]{color:var(--ink);font-weight:var(--w-medium)}@media (max-width:700px){.lrn-bar{flex-direction:column;align-items:stretch}.lrn-bar-search{flex-basis:auto}}.mk .lrn-search-trigger{cursor:pointer;text-align:left;font:inherit;color:var(--ink-mute)}.mk .lrn-search-trigger:hover{border-color:var(--border-strong)}.lrn-search-placeholder{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-left:var(--sp-2)}.lrn-kbd{flex:none;margin-right:var(--sp-3);padding:0 var(--sp-2);border:1px solid var(--border);border-radius:var(--r-xs);background:var(--surface-warm);font-family:var(--font-mono);font-size:var(--t-caption);line-height:var(--lh-caption);color:var(--ink-mute)}.lrn-search{width:min(640px,calc(100% - 32px));max-height:min(640px,80vh);margin:12vh auto auto;padding:0;border:1px solid var(--border);border-radius:var(--r-xl);background:var(--surface);color:var(--ink);box-shadow:var(--elev-3)}.lrn-search::backdrop{background:rgba(20,20,15,.34);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.lrn-search[open]{animation:lrnRise .26s var(--ease) both}.lrn-search-box{display:grid;gap:var(--sp-2);padding:var(--sp-3)}.lrn-search-results{max-height:52vh;overflow-y:auto;margin:0;padding:0;list-style:none}.lrn-search-results a{display:grid;grid-template-columns:minmax(0,1fr) auto 14px;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);color:var(--ink);text-decoration:none}.lrn-search-results a.on{background:var(--sunken)}.lrn-search-title{font-size:var(--t-body);line-height:var(--lh-body);font-weight:var(--w-medium)}.lrn-search-where{font-size:var(--t-caption);line-height:var(--lh-caption);color:var(--ink-mute)}.lrn-search-hint,.lrn-search-none{margin:0;padding:var(--sp-2) var(--sp-3) var(--sp-3);font-size:var(--t-body-sm);line-height:var(--lh-body-sm);color:var(--ink-mute)}@keyframes lrnRise{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}.lrn-layout{display:grid;grid-template-columns:256px minmax(0,1fr);gap:clamp(32px,4vw,64px);padding:var(--sp-6) 0 clamp(56px,7vw,104px)}.lrn-tree{position:sticky;top:112px;align-self:start;max-height:calc(100vh - 128px);overflow-y:auto;overscroll-behavior:contain;padding:0 var(--sp-2) var(--sp-4) 0;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.lrn-tree .lrn-tree-browse{display:none}.lrn-tree-nav{display:flex;flex-direction:column;gap:var(--sp-1)}.lrn-tree ul{margin:0;padding:0;list-style:none}.lrn-tree-home,.lrn-tree-item,.lrn-tree-topiclink{display:flex;align-items:center;gap:var(--sp-2);min-height:34px;padding:6px 10px;border-radius:var(--r-sm);color:var(--ink-soft);text-decoration:none;font-size:var(--t-body-sm);line-height:var(--lh-body-sm);transition:background var(--dur-fast) ease,color var(--dur-fast) ease}.lrn-tree-home:hover,.lrn-tree-item:hover,.lrn-tree-topiclink:hover{background:var(--sunken);color:var(--ink)}.lrn-tree-home.on,.lrn-tree-item.on,.lrn-tree-topiclink.on{background:var(--ink);color:var(--surface);font-weight:var(--w-medium)}.lrn-tree-home.on svg,.lrn-tree-item.on svg,.lrn-tree-topiclink.on svg{color:var(--surface)}.lrn-tree-home{font-weight:var(--w-bold);color:var(--ink);margin-bottom:var(--sp-2)}.lrn-tree-home svg,.lrn-tree-item svg,.lrn-tree-topiclink svg{flex:none;color:var(--accent)}.lrn-tree-topics{display:grid;gap:2px}.lrn-tree-row{display:flex;align-items:center;gap:2px}.lrn-tree-topiclink{flex:1 1 auto;min-width:0;color:var(--ink);font-weight:var(--w-medium)}.lrn-tree-chev{flex:none;display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:var(--r-sm);background:none;color:var(--ink-mute);cursor:pointer}.lrn-tree-chev:hover{background:var(--sunken);color:var(--ink)}.lrn-tree-chev svg{transition:transform var(--dur) var(--ease)}.lrn-tree-topic.is-open>.lrn-tree-row .lrn-tree-chev svg{transform:rotate(90deg)}.lrn-tree-branch{padding:2px 0 var(--sp-3) 22px}.lrn-tree-label{margin:var(--sp-3) 0 2px;padding-left:10px;font-size:var(--t-label);line-height:var(--lh-label);font-weight:var(--w-medium);color:var(--ink-faint)}.lrn-tree-section:first-child .lrn-tree-label{margin-top:var(--sp-1)}.lrn-tree-headings{margin:2px 0 var(--sp-2) 14px!important;padding-left:10px!important;border-left:1px solid var(--border)}.lrn-tree-headings a{display:block;padding:4px 8px;color:var(--ink-mute);text-decoration:none;font-size:var(--t-caption);line-height:var(--lh-caption);transition:color var(--dur-fast) ease}.lrn-tree-headings a:hover{color:var(--ink)}.lrn-tree-headings a.on{color:var(--accent-deep);font-weight:var(--w-bold)}.lrn-tree-ref{display:grid;gap:2px;margin-top:var(--sp-4);padding-top:var(--sp-3);border-top:1px solid var(--border)}.lrn-page{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "aside" "body";row-gap:var(--sp-5);align-content:start}.lrn-head{grid-area:head;min-width:0}.lrn-aside{grid-area:aside;display:grid;gap:var(--sp-4);align-self:start;max-width:420px}.lrn-body{grid-area:body;min-width:0}@media (min-width:1180px){.lrn-page.has-aside{grid-template-columns:minmax(0,1fr) 300px;grid-template-areas:"head aside" "body aside";column-gap:clamp(32px,3vw,56px)}.lrn-page.has-aside .lrn-aside{grid-row:1/span 2;max-width:none}}.lrn-head h1{max-width:22ch;margin:var(--sp-3) 0 0;font-size:var(--t-display);line-height:var(--lh-display);letter-spacing:var(--tr-display);text-wrap:balance}.lrn-head h1:first-child{margin-top:0}.lrn-dek{max-width:60ch;margin:var(--sp-4) 0 0;font-size:var(--t-title);line-height:var(--lh-title);font-weight:var(--w-regular);color:var(--ink-soft);text-wrap:pretty}.lrn-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-4);font-size:var(--t-body-sm);line-height:var(--lh-body-sm);color:var(--ink-mute)}.lrn-meta>span{display:inline-flex;align-items:center;gap:6px}.lrn-infobox{overflow:hidden;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface)}.lrn-infobox-art{aspect-ratio:3/2;background:var(--surface-warm)}.lrn-infobox-art img{display:block;width:100%;height:100%;object-fit:cover}.lrn-infobox-title{margin:0;padding:var(--sp-3) var(--sp-4);font-family:var(--font-brand);font-size:var(--t-title-sm);line-height:var(--lh-title-sm);font-weight:var(--w-bold);color:var(--ink);text-wrap:balance}.lrn-infobox dl{margin:0}.lrn-infobox dl>div{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:var(--sp-3);padding:10px var(--sp-4);border-top:1px solid var(--border)}.lrn-infobox dt{font-weight:var(--w-medium);color:var(--ink-mute)}.lrn-infobox dd,.lrn-infobox dt{font-size:var(--t-body-sm);line-height:var(--lh-body-sm)}.lrn-infobox dd{margin:0;color:var(--ink);font-variant-numeric:tabular-nums}.lrn-infobox dd a{color:var(--accent-deep);text-underline-offset:3px}.lrn-quiz{display:flex;align-items:center;gap:var(--sp-3);padding:14px var(--sp-4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);color:var(--ink);text-decoration:none;transition:border-color var(--dur-fast) ease,box-shadow var(--dur) ease}.lrn-quiz:hover{border-color:var(--border-strong);box-shadow:var(--elev-1)}.lrn-quiz>svg:first-child{flex:none;color:var(--accent)}.lrn-quiz>svg:last-child{flex:none;margin-left:auto;color:var(--ink-mute);transition:transform var(--dur) var(--ease)}.lrn-quiz:hover>svg:last-child{transform:translateX(3px);color:var(--ink)}.lrn-quiz>span{display:grid;font-size:var(--t-body-sm);line-height:var(--lh-body-sm);color:var(--ink-soft)}.lrn-quiz b{font-size:var(--t-body);line-height:var(--lh-body);color:var(--ink)}.lrn-prose{max-width:72ch}.lrn-example li,.lrn-example p,.lrn-faq li,.lrn-faq p,.lrn-prose>ol>li,.lrn-prose>p,.lrn-prose>ul>li{font-size:var(--t-body-lg);line-height:var(--lh-body-lg);color:var(--ink-soft)}.lrn-prose p{margin:0 0 18px;text-wrap:pretty}.lrn-prose h2{margin:56px 0 14px;font-size:var(--t-title-lg);line-height:var(--lh-title-lg);letter-spacing:var(--tr-title-lg)}.lrn-prose h2,.lrn-prose h3{text-wrap:balance;scroll-margin-top:120px}.lrn-prose h3{margin:32px 0 10px;font-size:var(--t-title);line-height:var(--lh-title)}.lrn-prose>:first-child{margin-top:0}.lrn-prose ol,.lrn-prose ul{display:grid;gap:10px;margin:0 0 22px;padding-left:22px}.lrn-prose ul{list-style:disc}.lrn-prose ol{list-style:decimal}.lrn-prose li::marker{color:var(--accent);font-weight:var(--w-bold)}.lrn-prose strong{color:var(--ink);font-weight:var(--w-bold)}.lrn-prose a{color:var(--accent-deep);text-decoration:underline;text-decoration-color:var(--accent-line);text-decoration-thickness:1px;text-underline-offset:3px;transition:text-decoration-color var(--dur-fast) ease}.lrn-prose a:hover{text-decoration-color:var(--accent-deep)}.lrn-prose code{padding:1px 5px;border-radius:var(--r-xs);background:var(--surface-warm);font-family:var(--font-mono);font-size:var(--t-body-sm);line-height:var(--lh-body-sm);color:var(--ink)}.lrn-intro>p{font-size:var(--t-body-lg);line-height:var(--lh-body-lg);color:var(--ink-soft)}.lrn-takeaways{margin:28px 0 8px}.lrn-takeaways-title{margin:0 0 var(--sp-2)!important;font-family:var(--font-brand);font-size:var(--t-title);line-height:var(--lh-title);font-weight:var(--w-bold);color:var(--accent-deep)!important}.lrn-takeaways ul{display:grid;gap:var(--sp-2);margin:0;padding-left:20px;list-style:disc}.lrn-takeaways li{font-size:var(--t-body-lg);line-height:var(--lh-body-lg);color:var(--accent-deep)}.lrn-takeaways li::marker{color:var(--accent)}.lrn-callout{display:grid;grid-template-columns:20px minmax(0,1fr);gap:var(--sp-3);align-items:start}.lrn-callout>svg{margin-top:4px;color:var(--accent-deep)}.lrn-callout p:last-child{margin-bottom:0}.lrn-example{margin:28px 0;padding:var(--sp-5) var(--sp-5) 6px;border:1px solid var(--border-strong);border-radius:var(--r-lg);background:var(--surface)}.lrn-example-title{display:flex;align-items:center;gap:var(--sp-2);margin:0 0 var(--sp-3)!important;font-size:var(--t-body)!important;line-height:var(--lh-body)!important;font-weight:var(--w-bold);color:var(--ink)!important}.lrn-example-title svg{color:var(--accent)}.lrn-example .lrn-table{margin:var(--sp-3) 0 var(--sp-4)}.lrn-table{margin:24px 0 28px;overflow-x:auto;border:1px solid var(--border);border-radius:var(--r-md)}.lrn-table:focus-visible{outline:none;box-shadow:var(--ring)}.lrn-table table{width:100%;border-collapse:collapse;font-size:var(--t-body);line-height:var(--lh-body);font-variant-numeric:tabular-nums}.lrn-table th{background:var(--surface-warm);color:var(--ink);font-weight:var(--w-bold);text-align:left;vertical-align:bottom}.lrn-table td,.lrn-table th{padding:10px 14px;border-bottom:1px solid var(--border)}.lrn-table td{color:var(--ink-soft);vertical-align:top}.lrn-table tr:last-child td{border-bottom:0}.lrn-table td.is-num{text-align:right;white-space:nowrap;color:var(--ink)}.lrn-table td strong{color:var(--ink)}.lrn-faq{margin-top:56px;border-bottom:1px solid var(--border)}.lrn-faq details{border-top:1px solid var(--border)}.lrn-faq summary{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:18px 0;cursor:pointer;list-style:none;font-size:var(--t-body-lg);line-height:var(--lh-body-lg);font-weight:var(--w-bold);color:var(--ink)}.lrn-faq summary::-webkit-details-marker{display:none}.lrn-faq summary svg{flex:none;color:var(--ink-mute);transition:transform var(--dur) var(--ease)}.lrn-faq details[open] summary svg{transform:rotate(180deg)}.lrn-faq summary:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--r-xs)}.lrn-faq details>div{padding:0 0 var(--sp-3)}.lrn-tool{grid-template-columns:minmax(0,1fr)!important;margin-top:56px}.lrn-tool .mk-endcap-body{padding:clamp(24px,3vw,36px)}.lrn-tool-title{margin:0 0 var(--sp-2)!important;font-family:var(--font-brand);font-size:var(--t-title-lg);line-height:var(--lh-title-lg);font-weight:var(--w-bold);color:#fff!important;text-wrap:balance}.lrn-tool .cta{margin-top:var(--sp-1)}.lrn-sources{margin-top:40px;padding-top:var(--sp-4);border-top:1px solid var(--border)}.lrn-sources-title{margin:0 0 var(--sp-2)!important;font-size:var(--t-body)!important;line-height:var(--lh-body)!important;font-weight:var(--w-bold);color:var(--ink)!important}.lrn-sources ol{display:grid;gap:6px;margin:0;padding-left:20px;list-style:decimal}.lrn-sources li{font-size:var(--t-body-sm);line-height:var(--lh-body-sm);color:var(--ink-mute);overflow-wrap:anywhere}.lrn-sources a{color:var(--ink-soft);text-decoration-color:var(--border-strong)}.lrn-disclaimer{margin-top:var(--sp-4)!important;font-size:var(--t-caption)!important;line-height:var(--lh-caption)!important;color:var(--ink-mute)!important}.lrn-chapters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-4);max-width:72ch;margin-top:48px}.lrn-chapter{display:grid;gap:4px;padding:var(--sp-4) var(--sp-5);border:1px solid var(--border);border-radius:var(--r-lg);color:var(--ink);text-decoration:none;transition:border-color var(--dur-fast) ease,box-shadow var(--dur) ease}.lrn-chapter:hover{border-color:var(--border-strong);box-shadow:var(--elev-1)}.lrn-chapter.is-next{text-align:right}.lrn-chapter-dir{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-body-sm);line-height:var(--lh-body-sm);color:var(--ink-mute)}.lrn-chapter.is-next .lrn-chapter-dir{justify-content:flex-end}.lrn-chapter-title{font-size:var(--t-body);line-height:var(--lh-body);font-weight:var(--w-bold);text-wrap:balance}.lrn-chapter:hover .lrn-chapter-title{color:var(--accent-deep)}@media (max-width:600px){.lrn-chapters{grid-template-columns:1fr}.lrn-chapter.is-next{text-align:left}.lrn-chapter.is-next .lrn-chapter-dir{justify-content:flex-start}}.lrn-related{max-width:72ch;margin-top:56px}.lrn-related h2{margin:0 0 var(--sp-3);font-size:var(--t-title);line-height:var(--lh-title)}.lrn-related ul{margin:0;padding:0;list-style:none;border-top:1px solid var(--border)}.lrn-related li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--sp-4);align-items:baseline;padding:var(--sp-3) 0;border-bottom:1px solid var(--border)}.lrn-related a{display:grid;gap:2px;color:var(--ink);text-decoration:none}.lrn-related-title{font-size:var(--t-body);line-height:var(--lh-body);font-weight:var(--w-bold)}.lrn-related a:hover .lrn-related-title{color:var(--accent-deep)}.lrn-related-dek{font-size:var(--t-body-sm);line-height:var(--lh-body-sm);color:var(--ink-soft)}.lrn-related-meta{font-size:var(--t-caption);line-height:var(--lh-caption);color:var(--ink-mute);white-space:nowrap}.lrn-navbox{margin-top:56px;overflow:hidden;border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface)}.lrn-navbox-head{margin:0;padding:10px var(--sp-4);background:var(--deep);text-align:center;font-size:var(--t-body);line-height:var(--lh-body);font-weight:var(--w-bold)}.lrn-navbox-head a{color:#fff;text-decoration:none}.lrn-navbox-head a:hover{text-decoration:underline;text-underline-offset:3px}.lrn-navbox dl{margin:0}.lrn-navbox dl>div{display:grid;grid-template-columns:180px minmax(0,1fr);border-top:1px solid var(--border)}.lrn-navbox dl>div:first-child{border-top:0}.lrn-navbox dt{background:var(--surface-warm);font-weight:var(--w-bold);color:var(--ink)}.lrn-navbox dd,.lrn-navbox dt{padding:10px var(--sp-4);font-size:var(--t-body-sm);line-height:var(--lh-body-sm)}.lrn-navbox dd{display:flex;flex-wrap:wrap;gap:4px var(--sp-4);margin:0}.lrn-navbox dd a{color:var(--accent-deep);text-decoration:none}.lrn-navbox dd a:hover{text-decoration:underline;text-underline-offset:3px}.lrn-navbox dd [aria-current]{color:var(--ink);font-weight:var(--w-bold)}@media (max-width:640px){.lrn-navbox dl>div{grid-template-columns:1fr}.lrn-navbox dt{padding-bottom:6px}}.lrn-course{margin-top:48px}.lrn-course h2{margin:0 0 var(--sp-3);font-size:var(--t-title-lg);line-height:var(--lh-title-lg)}.lrn-course ol{margin:0;padding:0;list-style:none;border-top:1px solid var(--border)}.lrn-course li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:var(--sp-3);padding:var(--sp-5) 0;border-bottom:1px solid var(--border)}.lrn-course-n{font-family:var(--font-brand);font-size:var(--t-title-lg);line-height:var(--lh-title-lg);font-weight:var(--w-bold);color:var(--accent);font-variant-numeric:tabular-nums}.lrn-course-title{font-family:var(--font-brand);font-size:var(--t-title);line-height:var(--lh-title);font-weight:var(--w-bold);color:var(--ink);text-decoration:none;text-wrap:balance}.lrn-course-title:hover{color:var(--accent-deep);text-decoration:underline;text-underline-offset:4px}.lrn-course li p{max-width:64ch;margin:6px 0 var(--sp-3);font-size:var(--t-body);line-height:var(--lh-body);color:var(--ink-soft)}.lrn-course-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3);font-size:var(--t-body-sm);line-height:var(--lh-body-sm);color:var(--ink-mute)}.lrn-terms{max-width:72ch;margin-top:56px}.lrn-terms h2{margin:0 0 var(--sp-3);font-size:var(--t-title-lg);line-height:var(--lh-title-lg)}.lrn-terms dl{margin:0;border-top:1px solid var(--border)}.lrn-terms dl>div{display:grid;grid-template-columns:200px minmax(0,1fr);gap:var(--sp-4);padding:var(--sp-3) 0;border-bottom:1px solid var(--border)}.lrn-terms dt a{font-size:var(--t-body);line-height:var(--lh-body);font-weight:var(--w-bold);color:var(--ink);text-decoration:none}.lrn-terms dt a:hover{color:var(--accent-deep);text-decoration:underline;text-underline-offset:3px}.lrn-terms dd{margin:0;font-size:var(--t-body);line-height:var(--lh-body);color:var(--ink-soft)}.lrn-full{color:var(--ink-mute)}.lrn-terms-more{display:flex;flex-wrap:wrap;gap:var(--cta-gap,16px);margin-top:var(--sp-5)}@media (max-width:640px){.lrn-terms dl>div{grid-template-columns:1fr;gap:4px}}.lrn-acro h2,.lrn-gloss h2{margin:0 0 var(--sp-2);font-size:var(--t-title-lg);line-height:var(--lh-title-lg)}.lrn-acro-lead{max-width:64ch;margin:0 0 var(--sp-4);font-size:var(--t-body-lg);line-height:var(--lh-body-lg);color:var(--ink-soft)}.lrn-acro-group+.lrn-acro-group{margin-top:var(--sp-5)}.lrn-acro-group h3{margin:var(--sp-5) 0 var(--sp-2);font-size:var(--t-title-sm);line-height:var(--lh-title-sm);color:var(--ink-soft)}.lrn-acro-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(24px,3vw,48px);margin:0;padding:0;list-style:none;border-top:1px solid var(--border)}.lrn-acro-list li{border-bottom:1px solid var(--border)}.lrn-acro-list a{display:grid;grid-template-columns:24px 96px minmax(0,1fr);gap:var(--sp-3);align-items:baseline;padding:14px 0;color:var(--ink);text-decoration:none}.lrn-acro-n{font-size:var(--t-caption);line-height:var(--lh-caption);color:var(--ink-faint);font-variant-numeric:tabular-nums}.lrn-acro-word{font-family:var(--font-brand);font-size:var(--t-title-lg);line-height:var(--lh-title-lg);font-weight:var(--w-bold);color:var(--accent-deep);letter-spacing:var(--tr-title-lg)}.lrn-acro-text{display:grid;gap:2px}.lrn-acro-text b{font-size:var(--t-body);line-height:var(--lh-body);color:var(--ink)}.lrn-acro-text span{font-size:var(--t-body-sm);line-height:var(--lh-body-sm);color:var(--ink-soft)}.lrn-acro-list a:hover .lrn-acro-text b{color:var(--accent-deep)}@media (max-width:820px){.lrn-acro-list{grid-template-columns:1fr}}.lrn-gloss{margin-top:64px}.lrn-gloss-tools{display:grid;gap:var(--sp-3);margin:var(--sp-3) 0 var(--sp-2)}.lrn-gloss-tools .ds-input{max-width:440px}.lrn-az{position:sticky;top:96px;z-index:5;display:flex;flex-wrap:wrap;gap:2px;padding:var(--sp-2) 0;background:var(--bg);border-bottom:1px solid var(--border)}.lrn-az a,.lrn-az span{display:grid;place-items:center;min-width:30px;height:30px;border-radius:var(--r-xs);font-size:var(--t-body-sm);line-height:var(--lh-body-sm);font-weight:var(--w-bold)}.lrn-az a{color:var(--accent-deep);text-decoration:none}.lrn-az a:hover{background:var(--sunken)}.lrn-az span{color:var(--ink-faint);opacity:.5}.lrn-gloss-none{margin:var(--sp-5) 0;font-size:var(--t-body);line-height:var(--lh-body);color:var(--ink-mute)}.lrn-gloss-letter{display:grid;grid-template-columns:64px minmax(0,1fr);gap:var(--sp-4);padding-top:var(--sp-5);scroll-margin-top:160px}.lrn-gloss-l{position:sticky;top:160px;align-self:start;margin:0;font-family:var(--font-brand);font-size:var(--t-display);line-height:var(--lh-display);font-weight:var(--w-bold);color:var(--border-strong)}.lrn-gloss-letter dl{margin:0}.lrn-term{margin:0 -12px;padding:var(--sp-4) 12px;border-top:1px solid var(--border);border-radius:var(--r-sm);scroll-margin-top:160px;transition:background .6s ease}.lrn-gloss-letter dl>.lrn-term:first-child{border-top:0}.lrn-term:target{background:var(--accent-soft)}.lrn-term dt{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px var(--sp-3)}.lrn-term-word{font-family:var(--font-brand);font-size:var(--t-title);line-height:var(--lh-title);font-weight:var(--w-bold);color:var(--ink)}.lrn-term .lrn-full{font-size:var(--t-body-sm);line-height:var(--lh-body-sm)}.lrn-term .chip{align-self:center}.lrn-term dd{max-width:70ch;margin:6px 0 0}.lrn-term dd p{margin:0;font-size:var(--t-body);line-height:var(--lh-body);color:var(--ink-soft)}.lrn-term dd .lrn-term-eg{margin-top:6px;font-size:var(--t-body-sm);line-height:var(--lh-body-sm);color:var(--ink-mute)}@media (max-width:640px){.lrn-gloss-letter{grid-template-columns:1fr;gap:0}.lrn-gloss-l{position:static;font-size:var(--t-title-lg);line-height:var(--lh-title-lg)}}.lrn-scope.pf-app{display:contents!important}.lrn-deck{max-width:680px}.lrn-deck-bar{margin-bottom:var(--sp-3)}.lrn-deck-bar .ds-choice svg{width:14px;height:14px}.lrn-deck-score{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-2) var(--sp-4)}.lrn-deck-tools{display:flex;align-items:center;gap:var(--sp-2)}.lrn-deck-mark{display:flex;justify-content:center;gap:var(--cta-gap,16px);margin-top:var(--sp-4)}.lrn-deck-mark .cta{flex:1 1 0;max-width:220px}.lrn-deck-keys{margin-top:var(--sp-3)!important;text-align:center}.lrn-deck-foot{margin-top:var(--sp-7);font-size:var(--t-body-sm);line-height:var(--lh-body-sm);color:var(--ink-mute)}.lrn-deck-foot a{color:var(--accent-deep)}.lrn-hub{padding-bottom:0}.lrn-hub h2{margin:0 0 var(--sp-5);font-size:var(--t-title-lg);line-height:var(--lh-title-lg)}.lrn-hub-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(32px,5vw,88px);align-items:center;padding:clamp(40px,6vw,88px) 0 clamp(48px,6vw,80px)}.lrn-hub-intro h1{max-width:15ch;font-size:var(--t-display);line-height:var(--lh-display);letter-spacing:var(--tr-display);text-wrap:balance}.lrn-hub-lead{max-width:54ch;margin:var(--sp-4) 0 var(--sp-5);font-size:var(--t-body-lg);line-height:var(--lh-body-lg);color:var(--ink-soft)}.lrn-hub-intro .lrn-search-trigger{max-width:560px}.lrn-hub-stats{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-5);margin:var(--sp-4) 0 0;font-size:var(--t-body-sm);line-height:var(--lh-body-sm);color:var(--ink-mute)}.lrn-hub-stats b{color:var(--ink);font-variant-numeric:tabular-nums}.lrn-start-title{margin:0 0 var(--sp-2);font-family:var(--font-brand);font-size:var(--t-title);line-height:var(--lh-title);font-weight:var(--w-bold);color:var(--ink)}.lrn-start ol{margin:0;padding:0;list-style:none;border-top:1px solid var(--border)}.lrn-start li{border-bottom:1px solid var(--border)}.lrn-start a{display:grid;grid-template-columns:36px minmax(0,1fr) 20px;gap:var(--sp-3);align-items:center;padding:var(--sp-4) 0;color:var(--ink);text-decoration:none}.lrn-start-n{font-family:var(--font-brand);font-size:var(--t-title-lg);line-height:var(--lh-title-lg);font-weight:var(--w-bold);color:var(--accent);font-variant-numeric:tabular-nums}.lrn-start a>span:nth-child(2){display:grid;gap:2px}.lrn-start b{font-size:var(--t-body-lg);line-height:var(--lh-body-lg);color:var(--ink)}.lrn-start a>span:nth-child(2)>span{font-size:var(--t-body-sm);line-height:var(--lh-body-sm);color:var(--ink-soft)}.lrn-start a>svg{color:var(--ink-mute);transition:transform var(--dur) var(--ease),color var(--dur-fast) ease}.lrn-start a:hover b,.lrn-start a:hover>svg{color:var(--accent-deep)}.lrn-start a:hover>svg{transform:translateX(4px)}.lrn-levels{padding:clamp(40px,5vw,72px) 0;border-top:1px solid var(--border)}.lrn-levels-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3.5vw,56px);counter-reset:lvl}.lrn-level{padding-top:var(--sp-4);border-top:1px solid var(--ink)}.lrn-level-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);margin:0 0 var(--sp-3)}.lrn-level-count{font-size:var(--t-body-sm);line-height:var(--lh-body-sm);color:var(--ink-mute);font-variant-numeric:tabular-nums}.lrn-level-line{margin:0 0 var(--sp-3);font-size:var(--t-body);line-height:var(--lh-body);color:var(--ink-soft)}.lrn-level ul{margin:0;padding:0;list-style:none}.lrn-level li{border-top:1px solid var(--border)}.lrn-level li a{display:block;padding:10px 0;font-size:var(--t-body);line-height:var(--lh-body);font-weight:var(--w-medium);color:var(--ink);text-decoration:none}.lrn-level li a:hover{color:var(--accent-deep);text-decoration:underline;text-underline-offset:3px}.lrn-level-more{margin:var(--sp-2) 0 0;font-size:var(--t-body-sm);line-height:var(--lh-body-sm);color:var(--ink-mute)}.lrn-dir{padding:clamp(40px,5vw,72px) 0;border-top:1px solid var(--border)}.lrn-dir-list{margin:0;padding:0;list-style:none}.lrn-dir-row{display:grid;grid-template-columns:220px minmax(0,.9fr) minmax(0,1.3fr);gap:clamp(20px,3vw,48px);align-items:start;padding:var(--sp-6) 0;border-top:1px solid var(--border)}.lrn-dir-row:first-child{border-top:0;padding-top:0}.lrn-dir-art{display:block;overflow:hidden;aspect-ratio:7/5;border-radius:var(--r-lg);background:var(--surface-warm)}.lrn-dir-art img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}.lrn-dir-row:hover .lrn-dir-art img{transform:scale(1.04)}.lrn-dir-text h3{margin:0 0 var(--sp-2);font-size:var(--t-title-lg);line-height:var(--lh-title-lg)}.lrn-dir-text h3 a{display:inline-flex;align-items:center;gap:var(--sp-2);color:var(--ink);text-decoration:none}.lrn-dir-text h3 a svg{color:var(--accent)}.lrn-dir-text h3 a:hover{color:var(--accent-deep)}.lrn-dir-text p{margin:0 0 var(--sp-4);font-size:var(--t-body);line-height:var(--lh-body);color:var(--ink-soft)}.lrn-dir-pages{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--sp-4) var(--sp-6)}.lrn-dir-section{margin:0 0 6px;font-size:var(--t-label);line-height:var(--lh-label);font-weight:var(--w-medium);color:var(--ink-faint)}.lrn-dir-pages ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}.lrn-dir-pages a{font-size:var(--t-body);line-height:var(--lh-body);color:var(--ink);text-decoration:none}.lrn-dir-pages a:hover{color:var(--accent-deep);text-decoration:underline;text-underline-offset:3px}.lrn-study{padding:clamp(48px,6vw,88px) 0;background:var(--surface-warm)}.lrn-study-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,3.5vw,56px);align-items:start}.lrn-study-title{display:flex;align-items:center;gap:var(--sp-2);margin:0 0 var(--sp-2);font-family:var(--font-brand);font-size:var(--t-title);line-height:var(--lh-title);font-weight:var(--w-bold);color:var(--ink)}.lrn-study-title svg{color:var(--accent)}.lrn-study-grid>div>p:not(.lrn-study-title){margin:0 0 var(--sp-4);font-size:var(--t-body);line-height:var(--lh-body);color:var(--ink-soft)}.lrn-study-acros{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--sp-5);margin:0 0 var(--sp-5);padding:0;list-style:none}.lrn-study-acros li{border-top:1px solid var(--border-strong)}.lrn-study-acros a{display:grid;grid-template-columns:64px minmax(0,1fr);gap:var(--sp-2);align-items:baseline;padding:8px 0;color:var(--ink);text-decoration:none}.lrn-study-acros b{font-family:var(--font-brand);font-size:var(--t-body-lg);line-height:var(--lh-body-lg);color:var(--accent-deep)}.lrn-study-acros span{font-size:var(--t-body-sm);line-height:var(--lh-body-sm);color:var(--ink-soft)}.lrn-study-acros a:hover span{color:var(--ink)}.lrn-study-sample{position:relative;display:grid;height:132px;margin:0 0 var(--sp-5);perspective:900px}.lrn-study-sample>span{grid-area:1/1;display:grid;place-items:center;padding:var(--sp-4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--elev-2);backface-visibility:hidden;text-align:center;transition:transform .7s var(--ease)}.lrn-study-sample .is-front{font-family:var(--font-brand);font-size:var(--t-display);line-height:var(--lh-display);font-weight:var(--w-bold);color:var(--ink);transform:rotate(-2deg)}.lrn-study-sample .is-back{font-size:var(--t-body);line-height:var(--lh-body);color:var(--ink-soft);transform:rotateY(180deg) rotate(-2deg)}.lrn-study-cards:hover .lrn-study-sample .is-front{transform:rotateY(-180deg) rotate(-2deg)}.lrn-study-cards:hover .lrn-study-sample .is-back{transform:rotateY(0deg) rotate(-2deg)}@media (max-width:1100px){.lrn-hub-hero{grid-template-columns:minmax(0,1fr)}.lrn-study-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.lrn-study-gloss{grid-column:1/-1}.lrn-dir-row{grid-template-columns:180px minmax(0,1fr)}.lrn-dir-pages{grid-column:2}}@media (max-width:800px){.lrn-levels-grid,.lrn-study-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){.lrn-dir-row{grid-template-columns:minmax(0,1fr)}.lrn-dir-art{aspect-ratio:16/9}.lrn-dir-pages{grid-column:auto}.lrn-dir-pages,.lrn-study-acros{grid-template-columns:minmax(0,1fr)}}@media (max-width:960px){.lrn-layout{grid-template-columns:minmax(0,1fr);gap:var(--sp-4);padding-top:var(--sp-4)}.lrn-tree{position:static;max-height:none;overflow:visible;padding:0}.lrn-tree .lrn-tree-browse{display:flex}.lrn-tree-nav{display:none;margin-top:var(--sp-3);padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface)}.lrn-tree.is-browsing .lrn-tree-nav{display:flex}}@media (max-width:640px){.lrn-head h1,.lrn-hub-intro h1{font-size:var(--t-title-lg);line-height:var(--lh-title-lg);letter-spacing:var(--tr-title-lg)}.lrn-dek{font-size:var(--t-body-lg);line-height:var(--lh-body-lg)}}@media (prefers-reduced-motion:reduce){.lrn-dir-art img,.lrn-search[open],.lrn-study-sample>span,.lrn-term{animation:none;transition:none}}.lrn-paths{max-width:820px}.lrn-paths-pick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3)}@media (max-width:560px){.lrn-paths-pick{grid-template-columns:minmax(0,1fr)}}.lrn-paths-pick .ds-option>svg{margin-top:4px;color:var(--accent)}.lrn-path-head{margin-top:var(--sp-6);padding-top:var(--sp-5);border-top:1px solid var(--border)}.lrn-path-persona{max-width:64ch;margin:0;font-size:var(--t-body-lg);line-height:var(--lh-body-lg);color:var(--ink-soft)}.lrn-path-persona b{color:var(--ink)}.lrn-path-facts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) minmax(0,.6fr) minmax(0,.6fr);gap:var(--sp-4);margin:var(--sp-5) 0 0}.lrn-path-facts dt{font-size:var(--t-label);line-height:var(--lh-label);font-weight:var(--w-medium);color:var(--ink-mute)}.lrn-path-facts dd{margin:4px 0 0;font-size:var(--t-body);line-height:var(--lh-body);font-weight:var(--w-medium);color:var(--ink)}.lrn-path-note{margin:var(--sp-3) 0 0;font-size:var(--t-caption);line-height:var(--lh-caption);color:var(--ink-mute)}@media (max-width:700px){.lrn-path-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}.lrn-path-line{margin-top:var(--sp-7)!important;--ds-timeline-top:6px;--ds-timeline-gap:var(--sp-5)}.lrn-stage{scroll-margin-top:120px}.lrn-stage-when{margin:0;font-size:var(--t-body-sm);line-height:var(--lh-body-sm);font-weight:var(--w-medium);color:var(--ink-mute)}.lrn-stage h3{margin:2px 0 0;font-size:var(--t-title);line-height:var(--lh-title)}.lrn-stage.is-upcoming h3{color:var(--ink-mute)}.lrn-stage-body{margin-top:var(--sp-2)}.lrn-stage-body>p{max-width:64ch;margin:0 0 var(--sp-3);font-size:var(--t-body-lg);line-height:var(--lh-body-lg);color:var(--ink-soft)}.lrn-stage.is-done .lrn-stage-body>p{font-size:var(--t-body);line-height:var(--lh-body);color:var(--ink-mute)}.lrn-stage-detail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-4) var(--sp-6);margin:var(--sp-3) 0}.lrn-stage-label{margin:0 0 6px;font-size:var(--t-label);line-height:var(--lh-label);font-weight:var(--w-medium);color:var(--ink-mute)}.lrn-stage-detail ul{display:grid;gap:6px;margin:0;padding-left:18px;list-style:disc}.lrn-stage-detail li{font-size:var(--t-body);line-height:var(--lh-body);color:var(--ink-soft)}.lrn-stage-learn,.lrn-stage-money{max-width:64ch;margin:0 0 var(--sp-3)!important;font-size:var(--t-body)!important;line-height:var(--lh-body)!important;color:var(--ink-soft)}.lrn-stage-money b{color:var(--ink)}.lrn-stage-learn a{color:var(--accent-deep);text-underline-offset:3px}.lrn-decide{margin:var(--sp-5) 0 var(--sp-3)}.lrn-decide-prompt{max-width:64ch;margin:0 0 var(--sp-3);font-size:var(--t-body-lg);line-height:var(--lh-body-lg);color:var(--ink)}.lrn-decide-options{display:grid;gap:var(--sp-2)}.lrn-decide-options .ds-option:disabled{cursor:default;transform:none;box-shadow:none}.lrn-decide-letter{font-size:var(--t-body-sm);line-height:var(--lh-body-sm);font-weight:var(--w-bold);color:var(--accent-deep)}.lrn-outcome{display:grid;gap:var(--sp-2);justify-items:start;margin:var(--sp-3) 0 0}.lrn-stage-next{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3);margin:var(--sp-4) 0 0}.lrn-stage-hint{font-size:var(--t-body-sm);line-height:var(--lh-body-sm);color:var(--ink-mute)}.lrn-path-end{margin-top:var(--sp-7);padding-top:var(--sp-5);border-top:1px solid var(--border);scroll-margin-top:120px}.lrn-path-end h2{margin:0 0 var(--sp-2);font-size:var(--t-title-lg);line-height:var(--lh-title-lg)}.lrn-path-end p{max-width:64ch;margin:0 0 var(--sp-4);font-size:var(--t-body-lg);line-height:var(--lh-body-lg);color:var(--ink-soft)}.lrn-path-end-links{display:flex;flex-wrap:wrap;gap:var(--cta-gap,16px)}@media (max-width:640px){.lrn-stage-detail{grid-template-columns:minmax(0,1fr)}}