.ac-site{--ac-bg:var(--kw-bg,#080b14);--ac-panel:var(--kw-surface,#111827);--ac-text:var(--kw-text,#edf2fc);--ac-muted:var(--kw-muted,#a7b4ca);--ac-line:var(--kw-border,#2a354b);--ac-accent:var(--kw-accent,#8ab4ff);color:var(--ac-text);padding-top:22px;min-height:80vh;font-size:15px;line-height:1.75;overflow-wrap:anywhere}[data-theme=light] .ac-site{--ac-bg:#f8faff;--ac-panel:#fff;--ac-text:#17253d;--ac-muted:#495c78;--ac-line:#cbd5e5;--ac-accent:#245bb8}.ac-site *{box-sizing:border-box}.ac-site a{color:var(--ac-accent);text-underline-offset:4px}.ac-site button,.ac-site input,.ac-site select,.ac-site textarea{font:inherit;min-height:44px;max-width:100%;color:var(--ac-text);background:var(--ac-bg);border:1px solid var(--ac-line);border-radius:8px;padding:8px 12px}.ac-site button{cursor:pointer}.ac-site button:disabled{cursor:default;opacity:.55}.ac-site :is(a,button,input,textarea,select,summary):focus-visible{outline:3px solid var(--ac-accent);outline-offset:3px}.ac-site summary{min-height:44px;cursor:pointer;display:flex;align-items:center;gap:12px;font-weight:600}.ac-site summary:before{content:"›";display:inline-block;transition:transform .16s ease}.ac-site details[open]>summary:before{transform:rotate(90deg)}.ac-site h1{font-size:clamp(30px,4vw,48px);line-height:1.16;letter-spacing:-.035em;margin:14px 0 24px}.ac-site h2{font-size:24px;line-height:1.35;letter-spacing:-.025em;margin:38px 0 15px}.ac-site h3{font-size:18px;line-height:1.5;letter-spacing:-.01em}.ac-site :is(h2,h3)[id]{scroll-margin-top:100px}.ac-site p{margin:12px 0}.ac-site ol,.ac-site ul{padding-left:24px}.ac-site :is(pre,code){font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.ac-site small{font-size:12px;color:var(--ac-muted)}.ac-topbar{max-width:1540px;margin:auto;padding:16px 24px;border-bottom:1px solid var(--ac-line);display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:13px}.ac-topbar>div{display:flex;gap:12px}.ac-version{display:flex;align-items:center;gap:8px;text-decoration:none}.ac-layout{max-width:1540px;margin:0 auto;display:grid;grid-template-columns:250px minmax(0,1fr) 210px;gap:36px;padding:32px 24px 80px}.ac-article{min-width:0;max-width:900px}.ac-right,.ac-sidebar{min-width:0}.ac-navigation,.ac-right>details{position:sticky;top:100px;max-height:calc(100dvh - 130px);overflow:auto;scrollbar-width:thin;padding-right:8px}.ac-sidebar nav{display:flex;flex-direction:column;margin:16px 0;gap:4px}.ac-sidebar nav details>a,.ac-sidebar nav>a{display:flex;align-items:center;gap:10px;justify-content:space-between;min-height:44px;padding:9px 12px;border-radius:7px;text-decoration:none;color:var(--ac-muted);font-size:13px;line-height:1.45}.ac-sidebar nav details>a{padding-left:22px}.ac-sidebar nav summary{padding:8px 12px;font-size:13px}.ac-sidebar nav a:hover,.ac-sidebar nav a[aria-current=page]{color:var(--ac-text);background:color-mix(in srgb,var(--ac-accent) 13%,transparent)}.ac-sidebar nav a[aria-current=page]{box-shadow:inset 2px 0 var(--ac-accent)}.ac-sidebar-note{padding:18px 12px;border-top:1px solid var(--ac-line)}.ac-breadcrumbs,.ac-sidebar-note{font-size:12px;color:var(--ac-muted)}.ac-breadcrumbs{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 28px}.ac-eyebrow{font-size:10px;letter-spacing:.1em;font-weight:700;color:var(--ac-muted);line-height:1.7}.ac-eyebrow span{padding:0 6px}.ac-lead{font-size:17px;color:var(--ac-muted);line-height:1.8}.ac-actions,.ac-hero-actions,.ac-study-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:24px 0}.ac-actions .kw-button,.ac-hero-actions .kw-button,.ac-study-actions .kw-button{font-size:13px;min-height:44px;color:var(--ac-text);text-decoration:none;white-space:normal}.ac-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ac-line);border-bottom:1px solid var(--ac-line);margin:36px 0}.ac-stats>div{padding:20px 12px;display:flex;flex-direction:column}.ac-stats strong{font-size:27px;line-height:1.3}.ac-stats span{color:var(--ac-muted);font-size:12px}.ac-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ac-card{display:flex;flex-direction:column;gap:10px;padding:23px;border:1px solid var(--ac-line);border-radius:12px;background:var(--ac-panel);text-decoration:none;color:var(--ac-text)!important;transition:border-color .16s ease,background-color .16s ease}.ac-card:hover{border-color:var(--ac-accent)}.ac-card h2,.ac-card h3{font-size:19px;line-height:1.4;margin:0}.ac-card p{color:var(--ac-muted);font-size:13px;margin:0 0 8px;line-height:1.75}.ac-card-foot{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--ac-accent);margin-top:auto;gap:12px}.ac-role-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ac-role-grid>a{display:flex;flex-direction:column;padding:16px;border:1px solid var(--ac-line);border-radius:9px;text-decoration:none}.ac-role-grid span{font-size:11px;color:var(--ac-muted)}.ac-right nav{display:flex;flex-direction:column;gap:3px;padding:12px 0}.ac-right nav a{padding:8px 10px;min-height:44px;text-decoration:none;color:var(--ac-muted);font-size:12px;line-height:1.5;border-left:1px solid var(--ac-line)}.ac-right nav a[aria-current=location]{color:var(--ac-accent);border-left:2px solid var(--ac-accent)}.ac-right-note{margin-top:24px;padding:18px 0;border-top:1px solid var(--ac-line);font-size:12px;color:var(--ac-muted)}.ac-right-note strong{display:block;margin:7px 0;font-size:11px}.ac-right>details{max-height:55dvh}.ac-text-link{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:44px;text-decoration:none;font-size:13px}.ac-muted{color:var(--ac-muted);font-size:13px}.ac-notice{background:color-mix(in srgb,var(--ac-accent) 7%,var(--ac-panel));border:1px solid var(--ac-line);border-left:3px solid var(--ac-accent);border-radius:8px;padding:16px 20px;margin:24px 0;font-size:13px}.ac-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--ac-muted)}.ac-meta,.ac-tag{align-items:center}.ac-tag{display:inline-flex;min-height:28px;padding:2px 9px;border:1px solid var(--ac-line);border-radius:5px;font-size:10px;line-height:1.5;word-break:break-word}.ac-course-progress{margin:24px 0;padding:20px;border:1px solid var(--ac-line);border-radius:10px;font-size:12px}.ac-course-progress>span{display:flex;justify-content:space-between}.ac-progress-track{height:5px;border-radius:5px;background:var(--ac-line);margin:12px 0;overflow:hidden}.ac-progress-track>span{display:block;height:100%;width:100%;background:var(--ac-accent);transform-origin:left}.ac-lesson-list{list-style:none;padding:0!important;display:flex;flex-direction:column;gap:10px}.ac-lesson-list a{display:flex;align-items:flex-start;gap:16px;text-decoration:none;border:1px solid var(--ac-line);border-radius:10px;padding:20px;color:var(--ac-text)}.ac-lesson-list a:hover{border-color:var(--ac-accent)}.ac-lesson-list a>div{min-width:0;flex:1 1}.ac-lesson-list h3{margin:0}.ac-lesson-list p{font-size:13px;color:var(--ac-muted);margin:8px 0}.ac-lesson-number{color:var(--ac-accent);font-family:monospace;font-size:13px}.ac-lesson-pagination{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;border-top:1px solid var(--ac-line);margin-top:30px;padding-top:20px}.ac-lesson-pagination>a{min-height:44px;display:flex;align-items:center;font-size:13px}.ac-lesson-example{margin:25px 0}.ac-history-row{display:flex;gap:15px;align-items:center;justify-content:space-between;min-height:60px;border-bottom:1px solid var(--ac-line);font-size:12px}.ac-history-row code{overflow-wrap:anywhere}.ac-code{margin:20px 0;border:1px solid var(--ac-line);border-radius:10px;background:var(--ac-panel);overflow:hidden;min-width:0;font-size:12px}.ac-code-bar{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--ac-line);padding:8px 12px;background:color-mix(in srgb,var(--ac-line) 25%,var(--ac-panel))}.ac-code-bar label{font-size:11px;color:var(--ac-muted)}.ac-code-bar select{min-width:0;flex:1 1;font-family:monospace;font-size:11px;padding:6px}.ac-code-bar button{font-size:11px;padding:6px 9px}.ac-code pre{max-height:390px;overflow:auto;padding:16px 0;margin:0;line-height:1.9;tab-size:4;white-space:pre;scrollbar-width:thin}.ac-code-expanded pre{max-height:none}.ac-code-line{display:flex;min-width:max-content;padding-right:24px}.ac-line-number{-webkit-user-select:none;user-select:none;color:var(--ac-muted);display:inline-block;text-align:right;min-width:45px;padding:0 12px 0 5px;flex-shrink:0}.ac-token-string{color:#abd5ae}.ac-token-comment{color:#a6b4c8;font-style:italic}.ac-token-keyword{color:#c3b9ff}.ac-token-type{color:#a6d9f2}.ac-token-number{color:#f4c795}.ac-token-builtin{color:#9ddbd4}[data-theme=light] .ac-token-string{color:#2b653d}[data-theme=light] .ac-token-comment{color:#51657d}[data-theme=light] .ac-token-keyword{color:#673ca1}[data-theme=light] .ac-token-type{color:#175e87}[data-theme=light] .ac-token-number{color:#8f4b0f}[data-theme=light] .ac-token-builtin{color:#146c68}.ac-line-notes{border-top:1px solid var(--ac-line);padding:10px 15px}.ac-line-notes ol{max-height:500px;overflow:auto;padding-left:35px}.ac-line-notes li{padding:8px 6px;border-bottom:1px solid var(--ac-line);font-size:12px}.ac-line-notes li code{white-space:pre-wrap;display:block;color:var(--ac-accent)}.ac-line-notes li span{display:block;color:var(--ac-muted)}.ac-copy-notice{display:block;padding:8px 15px}.ac-source-details{border:1px solid var(--ac-line);border-radius:8px;margin:12px 0;padding:8px 16px}.ac-source-details[open]{padding-bottom:20px}.ac-source-chapter{min-width:0}.ac-source-chapter .w21-markdown{max-width:100%}.ac-source-chapter .w21-markdown h2,.ac-source-chapter .w21-markdown h3{scroll-margin-top:100px}.ac-source{border-top:1px solid var(--ac-line);margin-top:40px;font-size:12px;color:var(--ac-muted)}.ac-source h2{font-size:17px}.ac-hash{display:block;overflow-wrap:anywhere;font-size:11px}.ac-facts{margin:25px 0;font-size:13px}.ac-facts>div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:16px;padding:12px 0;border-bottom:1px solid var(--ac-line)}.ac-facts dt{color:var(--ac-muted)}.ac-facts dd{margin:0}.ac-steps li{padding:8px 0}.ac-steps li code{display:block;white-space:pre-wrap;font-size:12px;padding:10px;border:1px solid var(--ac-line);border-radius:6px;margin:7px 0}.ac-preview{margin:20px 0;background:var(--ac-panel);border:1px solid var(--ac-line);border-radius:10px;overflow:hidden}.ac-preview img{max-width:100%;height:auto;display:block}.ac-diagram figcaption,.ac-preview figcaption{font-size:12px;padding:12px;color:var(--ac-muted)}.ac-diagram{margin:20px 0}.ac-diagram>div{overflow:auto;max-height:600px}.ac-diagram svg{width:100%;min-width:400px;max-width:680px;display:block}.ac-diagram rect{fill:var(--ac-panel);stroke:var(--ac-line)}.ac-diagram text{fill:var(--ac-text);font-size:13px}.ac-diagram path{color:var(--ac-accent)}.ac-diagram pre{white-space:pre-wrap}.ac-table-scroll{overflow:auto;max-width:100%;border:1px solid var(--ac-line);border-radius:8px}.ac-table-scroll table{border-collapse:collapse;min-width:630px;width:100%;font-size:12px}.ac-table-scroll td,.ac-table-scroll th{text-align:left;vertical-align:top;padding:12px;border-bottom:1px solid var(--ac-line)}.ac-table-scroll th{background:var(--ac-panel)}.ac-related{display:flex;flex-direction:column;gap:5px}.ac-related a{min-height:44px;padding:8px 0;font-size:13px}.ac-search{position:relative;z-index:3;font-size:12px}.ac-search-label{display:block;margin:10px 0 6px;color:var(--ac-muted);font-size:11px}.ac-search-input{position:relative;display:flex;align-items:center}.ac-search-input input{width:100%;padding-left:30px;padding-right:30px;font-size:12px}.ac-search-input>span:first-child{position:absolute;left:10px;font-size:20px}.ac-key{position:absolute;right:10px;color:var(--ac-muted)}.ac-suggestions{position:relative;max-height:430px;overflow:auto;background:var(--ac-panel);border:1px solid var(--ac-line);border-radius:9px;margin-top:8px;padding:8px;box-shadow:0 10px 30px #0002}.ac-search-full .ac-search-label{font-size:14px}.ac-search-full .ac-search-input input{font-size:15px;padding-block:12px}.ac-suggestions p{font-size:11px}.ac-result{display:flex;flex-direction:column;gap:4px;min-height:60px;text-decoration:none;padding:14px 12px;border-bottom:1px solid var(--ac-line);color:var(--ac-text)!important}.ac-result:hover,.ac-result[data-active=true]{background:color-mix(in srgb,var(--ac-accent) 8%,transparent)}.ac-result strong{font-size:14px}.ac-result small{line-height:1.7}.ac-result-kind{font-size:10px;letter-spacing:.05em;color:var(--ac-accent)}.ac-search-all{min-height:44px;display:flex;align-items:center;font-size:12px;padding:10px}.ac-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}.ac-filters label{display:flex;flex-direction:column;gap:5px}.ac-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:25px 0;font-size:12px}.ac-reference-list>label{display:flex;flex-direction:column;font-size:12px;gap:8px}.ac-reference-list>a{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:64px;border-bottom:1px solid var(--ac-line);text-decoration:none;padding:14px 5px}.ac-reference-list>a>span{display:flex;flex-direction:column;gap:3px;font-size:14px}.ac-exercise{padding:24px;border:1px solid var(--ac-line);background:var(--ac-panel);border-radius:12px;margin:35px 0}.ac-exercise h2{margin-top:0}.ac-exercise textarea{width:100%;resize:vertical;min-height:120px;display:block;margin:9px 0}.ac-exercise label{font-size:13px}.ac-exercise details{margin:15px 0}.ac-exercise fieldset{padding:15px 0;border:0;margin:20px 0}.ac-exercise legend{font-weight:600;font-size:14px}.ac-option{display:flex;align-items:flex-start;gap:12px;padding:12px;border:1px solid var(--ac-line);border-radius:7px;margin:8px 0;min-height:44px}.ac-option input{width:18px;height:18px;min-height:18px;margin-top:4px;flex-shrink:0;accent-color:var(--ac-accent)}.ac-feedback{padding:16px;border:1px solid var(--ac-accent);border-radius:7px;margin:15px 0;font-size:13px}.ac-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media(min-width:1280px){.ac-navigation>summary{display:none}.ac-right>details>summary{font-size:12px;color:var(--ac-muted)}}@media(max-width:1279px){.ac-layout{grid-template-columns:220px minmax(0,1fr);gap:25px}.ac-right{grid-column:2;grid-row:1;padding-bottom:15px;border-bottom:1px solid var(--ac-line)}.ac-article{grid-column:2;grid-row:2}.ac-sidebar{grid-column:1;grid-row:1/span 2}.ac-right>details{position:static;max-height:none}.ac-right nav{display:flex;flex-direction:row;flex-wrap:wrap}.ac-right-note,.ac-right>.ac-text-link{display:none}}@media(max-width:900px){.ac-layout{display:flex;flex-direction:column;gap:20px;padding:15px 20px 60px}.ac-sidebar{order:0;border-bottom:1px solid var(--ac-line)}.ac-navigation{position:static;max-height:none;overflow:visible;padding:0}.ac-navigation>summary{justify-content:space-between}.ac-nav-content{max-height:400px;overflow:auto;padding:0 8px 15px}.ac-navigation:not([open]) .ac-nav-content{display:none}.ac-right{order:1;padding-bottom:10px}.ac-right details:not([open]) nav{display:none}.ac-article{order:2;max-width:none}.ac-topbar{padding:12px 20px}.ac-topbar .ac-version{font-size:10px}.ac-cards{gap:12px}.ac-card{padding:18px}.ac-breadcrumbs{margin-top:5px}.ac-site h1{font-size:36px}.ac-right nav a{padding:6px 10px;border:1px solid var(--ac-line);border-radius:6px}.ac-reference-list>a{min-height:64px}}@media(max-width:540px){.ac-site{padding-top:12px}.ac-topbar{padding:12px 16px;align-items:flex-start;flex-direction:column;gap:4px}.ac-layout{padding:12px 16px 45px}.ac-site h1{font-size:31px}.ac-site h2{font-size:22px}.ac-cards{grid-template-columns:1fr}.ac-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.ac-stats>div{padding:15px 8px}.ac-role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ac-hero-actions{align-items:stretch;flex-direction:column}.ac-hero-actions>a{justify-content:center}.ac-code-bar{flex-wrap:wrap;padding:8px}.ac-code-bar select{flex-basis:70%}.ac-code-bar button{flex:1 1}.ac-exercise{padding:17px}.ac-lesson-list a{padding:15px;gap:10px}.ac-filters,.ac-lesson-pagination{grid-template-columns:1fr}.ac-facts>div{grid-template-columns:105px minmax(0,1fr);gap:12px}.ac-source-details{padding:8px 12px}.ac-lead{font-size:15px}.ac-preview figcaption{padding:10px}.ac-actions>*{width:100%;justify-content:center}.ac-history-row{flex-wrap:wrap}.ac-study-actions button{width:100%}.ac-source-chapter .w21-table-scroll{margin-left:0;margin-right:0}}@media(prefers-reduced-motion:reduce){.ac-site *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.ac-article p a,.ac-study-actions p a{text-decoration:underline}.ac-article .ac-breadcrumbs a{min-height:30px;display:inline-flex;align-items:center}.ac-site .kw-button:not(.kw-button-secondary){color:#fff;background:#3158c6;border-color:#3158c6}.ac-site .kw-button-secondary{color:var(--ac-text);background:var(--ac-panel)}.ac-history-row strong{display:block;font-size:14px;color:var(--ac-text);font-weight:500}.ac-study-history>.ac-filters input{min-width:0}.ac-study-history .ac-course-progress{margin:10px 0 20px}.ac-site summary{color:var(--ac-text)}.ac-token-check{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:20px 0;border-block:1px solid var(--ac-line);margin:25px 0}.ac-token-check input{width:100%;min-width:0}.ac-token-check label{font-weight:600}.ac-study-history>div>a{display:flex;align-items:center;min-height:44px}[data-theme=light] .ac-site summary{color:#17253d!important}.ac-diagram-group rect{fill:color-mix(in srgb,var(--ac-accent) 4%,var(--ac-bg));stroke-dasharray:4 4}.ac-diagram .ac-diagram-group text{font-size:11px;fill:var(--ac-muted)}.ac-diagram .ac-edge-label{font-size:11px;fill:var(--ac-text)}.ac-site .ac-pagination>span{color:var(--ac-text)}.ac-filters>label{min-width:0}.ac-filters select{min-width:0;max-width:100%}.ac-diagram-source{max-width:100%;overflow:auto;white-space:pre;padding:15px;border:1px solid var(--ac-line);border-radius:8px}.ac-site .ac-nav-toggle,.ac-site .ac-toc-toggle{display:none;width:100%;align-items:center;justify-content:space-between;gap:12px;border:0;padding:8px 0;background:transparent;color:var(--ac-text);text-align:left;font-size:13px;font-weight:600}.ac-contents{position:sticky;top:100px;max-height:55dvh;overflow:auto;scrollbar-width:thin}.ac-toc-label{font-size:12px;color:var(--ac-muted);font-weight:600;min-height:36px;margin:0!important}.ac-contents nav{padding-top:0}.ac-nav-content{display:block}@media(max-width:1279px){.ac-contents{position:static;max-height:none;overflow:visible}.ac-toc-label{display:none}.ac-site .ac-toc-toggle{display:flex}.ac-right .ac-contents nav{display:none}.ac-right .ac-contents[data-open=true] nav{display:flex}}@media(max-width:900px){.ac-site .ac-nav-toggle{display:flex}.ac-sidebar .ac-navigation .ac-nav-content{display:none}.ac-sidebar[data-open=true] .ac-navigation .ac-nav-content{display:block}}