@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2e4y-bhazgt_v.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.3o0_l_yqebdng.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.2mglm451ism6l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.3bjsqkuy1d2v8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0xluf1kzv7x5w.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.45487z7p3r8wm.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2e4y-bhazgt_v.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.3o0_l_yqebdng.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.2mglm451ism6l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.3bjsqkuy1d2v8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0xluf1kzv7x5w.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.45487z7p3r8wm.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2e4y-bhazgt_v.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.3o0_l_yqebdng.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.2mglm451ism6l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.3bjsqkuy1d2v8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0xluf1kzv7x5w.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.45487z7p3r8wm.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Fallback;src:local(Arial);ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.0%;size-adjust:101.17%}.ibm_plex_sans_5ccd99be-module__14iPxa__className{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.ibm_plex_sans_5ccd99be-module__14iPxa__variable{--font-sans:"IBM Plex Sans", "IBM Plex Sans Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.3zhtymus0wdqb.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.3nkuoiize4urq.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.1da667lu-u79a.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.1i05ju5aeyhye.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.1dgcou5jor5q_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_3face3d4-module__o-yuFG__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal;font-weight:400}.ibm_plex_mono_3face3d4-module__o-yuFG__variable{--font-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#161616;--side:#141414;--panel:#1c1c1c;--hover:#292929;--selected:#252525;--text:#f4f4f4;--muted:#a8a8a8;--faint:#8d8d8d;--border:#2c2c2c;--contrast:#f4f4f4;--inverse:#161616;--danger:#ff8389;--success:#6fdc8c;--font-body:var(--font-sans), "IBM Plex Sans", Arial, sans-serif;--font-code:var(--font-mono), "IBM Plex Mono", ui-monospace, monospace;font-family:var(--font-body);font-size:16px}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--side:#fafafa;--panel:#f7f7f7;--hover:#e8e8e8;--selected:#eee;--text:#161616;--muted:#525252;--faint:#6f6f6f;--border:#e5e5e5;--contrast:#161616;--inverse:#fff;--danger:#da1e28;--success:#198038}*,:before,:after{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--text);outline-offset:4px}main:focus{outline:none}svg{stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:18px;height:18px}img{max-width:100%;height:auto}h1,h2,h3{font-family:var(--font-body);letter-spacing:0;font-weight:400;line-height:1.3}h1{margin:10px 0 12px;font-size:1.75rem;line-height:1.25}h1 .soft,h2 .soft{color:var(--muted)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--contrast);color:var(--inverse);padding:12px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:15px}.brand{white-space:nowrap;align-items:center;gap:7px;font-size:18px;font-weight:500;display:flex}.brand-mark{font-family:var(--font-code);letter-spacing:-4px;padding-right:4px;font-size:22px;font-weight:400}.brand-mark i{padding:0 3px;font-size:16px;font-style:normal}.brand-period,.brand-suffix{color:var(--muted)}.eyebrow{color:var(--muted);text-transform:uppercase;align-items:center;gap:8px;margin:0;font-size:12px;display:flex}.row-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:9px;font-size:12px;display:flex}.helper{color:var(--muted);margin:8px 0;font-size:.875rem}.muted{color:var(--muted)}.badge{color:var(--muted);border:1px solid var(--border);white-space:nowrap;align-items:center;gap:6px;padding:2px 7px;font-size:.75rem;display:inline-flex}.badge.published{color:var(--success);border-color:color-mix(in srgb, var(--success) 40%, transparent)}.badge.draft{color:var(--faint)}.primary,.secondary,.danger{white-space:nowrap;border-radius:0;align-items:center;gap:12px;min-height:40px;padding:10px 16px;font-size:14px;font-weight:400;display:inline-flex}.primary{background:var(--contrast);color:var(--inverse);border:1px solid var(--contrast);justify-content:space-between;gap:24px}.secondary{border:1px solid var(--border);background:0 0}.secondary:hover{background:var(--hover)}.danger{border:1px solid color-mix(in srgb, var(--danger) 55%, transparent);color:var(--danger);background:0 0}.danger:hover{background:color-mix(in srgb, var(--danger) 12%, transparent)}.primary:disabled,.secondary:disabled,.danger:disabled{opacity:.4;cursor:not-allowed}.small{min-height:32px;padding:6px 12px;font-size:.8125rem}.icon-button{width:36px;height:36px;color:var(--muted);justify-content:center;align-items:center;display:flex}.icon-button:hover{background:var(--hover);color:var(--text)}.theme-toggle{color:var(--muted);align-items:center;gap:11px;padding:8px 0;font-size:14px;display:flex}.link-button{color:var(--muted);text-underline-offset:4px;font-size:.875rem;text-decoration:underline}.actions{flex-wrap:wrap;align-items:center;gap:12px;margin:20px 0;display:flex}.read-link{align-items:center;gap:12px;margin-top:16px;font-size:14px;display:inline-flex}.field{margin:18px 0;display:block}.field>span,.field-label{color:var(--muted);margin-bottom:8px;font-size:.875rem;display:block}.input,.textarea,.select{background:var(--panel);color:var(--text);border:0;border-bottom:1px solid var(--muted);border-radius:0;width:100%;min-width:0;padding:12px;font-size:1rem}.textarea{resize:vertical;min-height:150px;line-height:1.6}.textarea.short{min-height:90px}.input:focus,.textarea:focus,.select:focus{outline:2px solid var(--text);outline-offset:2px}.input::placeholder,.textarea::placeholder{color:var(--faint);opacity:1}.checkbox{cursor:pointer;align-items:flex-start;gap:12px;padding:10px 0;font-size:1rem;display:flex}.checkbox input,input[type=radio]{accent-color:var(--text);flex-shrink:0;width:16px;height:16px;margin-top:5px}.form-error{border-left:3px solid var(--danger);background:color-mix(in srgb, var(--danger) 10%, transparent);margin:16px 0;padding:12px 16px;font-size:.9375rem}.form-success{border-left:3px solid var(--success);background:color-mix(in srgb, var(--success) 10%, transparent);margin:16px 0;padding:12px 16px;font-size:.9375rem}.tabs{border-bottom:1px solid var(--border);margin:20px 0;display:flex;overflow-x:auto}.tabs a,.tabs button{white-space:nowrap;color:var(--muted);border-bottom:2px solid #0000;padding:10px 16px;font-size:.875rem}.tabs a:hover,.tabs button:hover{background:var(--hover)}.tabs .active{border-bottom-color:var(--text);color:var(--text);font-weight:500}.empty{padding:32px 0}.empty h2{margin:0 0 12px;font-size:1.25rem}.empty p{color:var(--muted);max-width:680px;font-size:1rem;line-height:1.6}.article-body{overflow-wrap:break-word;font-size:1rem;line-height:1.75}.article-body h2{margin:28px 0 12px;font-size:1.25rem}.article-body h3{margin:24px 0 10px;font-size:1.0625rem;font-weight:500}.article-body p{margin:12px 0}.article-body ul,.article-body ol{padding-left:22px}.article-body li{margin:8px 0}.article-body a{text-underline-offset:4px;text-decoration:underline}.article-body blockquote{border-left:2px solid var(--text);margin:24px 0;padding:4px 0 4px 20px;font-size:1.25rem;line-height:1.5}.article-body blockquote p{margin:0}.article-body code{font-family:var(--font-code);background:var(--panel);padding:1px 5px;font-size:.875em}.article-body pre{background:var(--panel);padding:16px;overflow-x:auto}.article-body pre code{background:0 0;padding:0}.article-body table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}.article-body th,.article-body td{border-bottom:1px solid var(--border);text-align:left;padding:8px 12px}.article-body hr{border:0;border-top:1px solid var(--border);margin:32px 0}.toast{z-index:70;background:var(--contrast);max-width:420px;color:var(--inverse);padding:12px 18px;font-size:.875rem;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 20px #0003}.toast:empty{display:none}.toast.error{border-left:4px solid var(--danger)}@media (max-width:760px){.toast{left:16px;right:16px;bottom:calc(80px + env(safe-area-inset-bottom));max-width:none}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.sidebar{background:var(--side);border-right:1px solid var(--border);z-index:20;flex-direction:column;width:208px;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.sidebar>.brand{border-bottom:1px solid var(--border);flex-shrink:0;height:48px;padding:0 16px}.sidebar-search{border-bottom:1px solid var(--border);background:var(--panel);align-items:center;min-width:0;margin:20px 12px 0;display:flex}.sidebar-search:focus-within{border-bottom-color:var(--text)}.sidebar-search input{outline-offset:0;background:0 0;border:0;width:100%;min-width:0;padding:9px 8px;font-size:.875rem}.sidebar-search input::placeholder{color:var(--faint);opacity:1}.sidebar-search button{color:var(--muted);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:38px;display:flex}.nav-label{color:var(--muted);margin:24px 16px 12px;font-size:12px}.nav-link{min-height:40px;color:var(--muted);border-left:2px solid #0000;align-items:center;gap:12px;padding:9px 16px;font-size:14px;display:flex}.nav-link:hover{background:var(--hover);color:var(--text)}.nav-link.active{border-left-color:var(--text);color:var(--text);font-weight:500}.nav-link .nav-external{width:14px;height:14px;margin-left:auto}.nav-separator{background:var(--border);height:1px;margin:16px}.sidebar-bottom{margin-top:auto;padding:24px 16px 16px}.account{border-top:1px solid var(--border);color:var(--muted);overflow-wrap:anywhere;padding:12px 0;font-size:.875rem}.account a,.account button{color:var(--text);text-align:left;margin-top:8px;font-size:.875rem;display:block}.domain{font-family:var(--font-code);color:var(--faint);border-top:1px solid var(--border);justify-content:space-between;margin-top:12px;padding-top:12px;font-size:12px;display:flex}.workspace{margin-left:208px}.topbar{border-bottom:1px solid var(--border);height:48px;color:var(--muted);justify-content:space-between;align-items:center;padding:0 32px;font-size:12px;display:flex}.slash{color:var(--faint);margin:0 10px}.header-actions{align-items:center;gap:8px;display:flex}main{max-width:1440px;min-height:calc(100vh - 108px);margin:0 auto;padding:24px 32px 32px}footer.site-footer{border-top:1px solid var(--border);color:var(--faint);justify-content:space-between;gap:16px;margin:0 32px;padding:16px 0;font-size:12px;display:flex}.mobile-header,.mobile-bottom-nav{display:none}.welcome{margin-bottom:20px}.intro{color:var(--muted);max-width:720px;margin:0;font-size:16px;line-height:1.6}.feature{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:20px 0;display:block}.feature:hover h2{text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:1px}.feature .kicker{color:var(--muted);text-transform:uppercase;align-items:center;gap:8px;font-size:12px;display:flex}.feature .pill{color:var(--faint);text-transform:none}.feature h2{margin:12px 0 8px;font-size:1.25rem;line-height:1.3}.feature p{color:var(--muted);max-width:800px;margin:0;font-size:16px}.section-heading{justify-content:space-between;align-items:center;gap:14px;margin:24px 0 8px;display:flex}.section-heading h2{margin:0;font-size:18px;font-weight:500}.section-heading>a{color:var(--muted);font-size:14px}.filters{border-bottom:1px solid var(--border);display:flex;overflow-x:auto}.filter{white-space:nowrap;color:var(--muted);border-bottom:2px solid #0000;padding:10px 16px;font-size:14px}.filter:hover{background:var(--hover)}.filter.active{border-bottom-color:var(--text);color:var(--text);font-weight:500}.list-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;display:flex}.content-row{flex:1;align-items:center;gap:16px;min-width:0;padding:14px 0;display:flex}.content-row:hover .row-title{text-underline-offset:4px;text-decoration:underline}.row-icon{width:24px;height:36px;color:var(--muted);flex-shrink:0;justify-content:center;align-items:center;display:flex}.row-main{flex:1;min-width:0}.row-title{margin:0 0 4px;font-size:1rem;line-height:1.4;display:block}.row-end{color:var(--faint);white-space:nowrap;font-size:12px}.bottom-grid{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:32px;margin-top:24px;display:grid}.small-card{padding:20px 0 0;display:block}.small-card .eyebrow{color:var(--faint)}.small-card h3{margin:12px 0 8px;font-size:1.125rem}.small-card p{color:var(--muted);margin:0;font-size:1rem}.small-card:hover h3{text-underline-offset:4px;text-decoration:underline}.sample-notice{color:var(--faint);margin:20px 0 0;font-size:12px}.page-head{margin-bottom:24px}.page-head h1{font-size:1.75rem}.page-head p{color:var(--muted);max-width:800px;margin:0;font-size:16px}.article{max-width:840px;margin:0 auto}.back{color:var(--muted);gap:10px;margin-bottom:24px;font-size:14px;display:inline-flex}.back:hover{color:var(--text)}.article .lead{color:var(--muted);margin:20px 0;font-size:1.0625rem;line-height:1.6}.article-bottom{border-top:1px solid var(--border);margin-top:32px;padding-top:20px}.title-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.title-row h1{margin:10px 0 0}.title-row .save-button{margin-top:12px}.topic-line{color:var(--muted);flex-wrap:wrap;gap:8px;margin:20px 0;font-size:12px;display:flex}.topic-line span+span:before{content:"·";color:var(--faint);margin-right:8px}.video-frame{aspect-ratio:16/9;background:var(--panel);border:0;width:100%;margin:24px 0}.video-placeholder{border:1px solid var(--border);background:var(--panel);aspect-ratio:16/7;color:var(--muted);text-align:center;justify-content:center;align-items:center;gap:12px;margin:24px 0;padding:16px;font-size:14px;display:flex}.source-list{padding:0;list-style:none}.source-list li{border-bottom:1px solid var(--border);padding:10px 0}.source-list a{text-underline-offset:4px;overflow-wrap:anywhere;text-decoration:underline}.steps li{padding:8px 0}.save-button{border:1px solid var(--border);white-space:nowrap;flex-shrink:0;align-items:center;gap:8px;padding:8px 10px;font-size:.875rem;display:flex}.save-button svg{width:16px;height:16px}.save-button[aria-pressed=true]{border-color:var(--muted)}.save-button:hover{background:var(--panel)}.save-button:disabled{opacity:.5}.framework{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:28px 0;padding:20px 0;display:grid}.framework h3{margin:0 0 8px;font-size:.875rem;font-weight:500}.framework p{color:var(--muted);margin:0;font-size:1rem;line-height:1.6}.note-panel{border-top:1px solid var(--border);margin-top:28px;padding-top:20px}.note-panel h2{margin:0 0 8px;font-size:1.125rem}.note-panel>p{color:var(--muted);font-size:.875rem}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;display:grid}.card{border-bottom:1px solid var(--border);padding:24px 0;display:block}.card h2{margin:10px 0;font-size:1.25rem}.card p{color:var(--muted);margin:8px 0;font-size:1rem;line-height:1.6}.card a:hover h2{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:1px}.note-preview{white-space:pre-wrap;color:var(--muted);overflow-wrap:anywhere;margin:10px 0;font-size:1rem;line-height:1.6}.progress{background:var(--border);height:3px;margin:14px 0 8px}.progress>span{background:var(--text);height:100%;transition:width .25s;display:block}.course-layout{grid-template-columns:minmax(220px,280px) minmax(0,1fr);align-items:start;gap:40px;display:grid}.course-menu{border-top:1px solid var(--border);padding-top:16px;position:sticky;top:24px}.course-menu summary{cursor:pointer;font-size:1rem;font-weight:500;list-style:none}.course-menu summary::-webkit-details-marker{display:none}.course-menu a{color:var(--muted);border-left:2px solid #0000;align-items:flex-start;gap:10px;padding:12px 8px;font-size:.875rem;display:flex}.course-menu a:hover{background:var(--panel)}.course-menu a.active{border-left-color:var(--text);background:var(--panel);color:var(--text)}.course-menu a>span:first-child{font-family:var(--font-code);min-width:20px;color:var(--faint)}.lesson{min-width:0}.lesson .article-body{max-width:760px}.lesson-list{border-top:1px solid var(--border);margin:24px 0;padding:0;list-style:none}.lesson-list li a{border-bottom:1px solid var(--border);gap:16px;padding:16px 0;display:flex}.lesson-list li a:hover strong{text-underline-offset:4px;text-decoration:underline}.lesson-list .num{font-family:var(--font-code);color:var(--faint);min-width:24px}.lesson-list strong{font-weight:400;display:block}.path-step{border-bottom:1px solid var(--border);gap:18px;padding:20px 0;display:flex}.path-step>span{font-family:var(--font-code);color:var(--faint);font-size:1.25rem}.path-step>div{flex:1}.path-step h2{margin:0 0 10px;font-size:1.25rem}.path-step p{color:var(--muted);font-size:1rem}.summary{flex-wrap:wrap;gap:24px;margin:18px 0;display:flex}.summary span{color:var(--muted);font-size:.875rem}.summary strong{color:var(--text);font-weight:500}.quiz{max-width:840px;margin:0 auto}.quiz-panel{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:24px 0;padding:24px 0}.quiz-panel h2{margin:16px 0;font-size:1.25rem;line-height:1.4}.quiz-progress{background:var(--border);height:3px;margin:16px 0}.quiz-progress>div{background:var(--text);height:100%;transition:width .25s}.options{border:0;margin:20px 0;padding:0;display:grid}.option{border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:12px;padding:14px 12px;font-size:16px;display:flex}.option:has(input:checked){box-shadow:inset 3px 0 var(--text);background:var(--selected)}.option input{margin-top:0}.quiz-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.feedback{border-left:2px solid var(--text);background:var(--hover);margin:20px 0;padding:16px;font-size:16px}.feedback p{color:var(--muted);margin:6px 0}.large-score{letter-spacing:-1px;font-size:48px}.result-item{border-top:1px solid var(--border);padding:16px 0;font-size:16px}.result-item p{color:var(--muted)}.search-form{border-bottom:1px solid var(--muted);background:var(--panel);align-items:center;max-width:840px;margin:20px 0 24px;display:flex}.search-form:focus-within{border-bottom-color:var(--text)}.search-form input{outline-offset:0;background:0 0;border:0;width:100%;min-width:0;padding:12px 16px;font-size:1rem}.search-form button{width:48px;height:48px;color:var(--muted);flex-shrink:0;justify-content:center;align-items:center;display:flex}.search-summary{color:var(--muted);margin:0 0 12px;font-size:.875rem}.search-result{border-bottom:1px solid var(--border);padding:18px 0;display:block}.search-result:hover .row-title{text-underline-offset:4px;text-decoration:underline}.search-result p{color:var(--muted);overflow-wrap:anywhere;max-width:840px;margin:10px 0 0;font-size:1rem;line-height:1.6}.auth-panel{max-width:440px;margin:24px auto}.auth-panel .primary{width:100%;margin-top:8px}.auth-switch{color:var(--muted);margin-top:24px;font-size:.9375rem}.auth-switch a{color:var(--text);text-underline-offset:4px;text-decoration:underline}.more-sheet{display:none}@media (max-width:1100px){main{padding:24px 28px}.topbar{padding:0 28px}footer.site-footer{margin:0 28px}}@media (max-width:1050px){.course-layout{grid-template-columns:220px minmax(0,1fr);gap:24px}.framework{gap:16px}}@media (max-width:760px){.sidebar{display:none}.workspace{padding-bottom:calc(64px + env(safe-area-inset-bottom));margin-left:0}.mobile-header{background:var(--side);border-bottom:1px solid var(--border);z-index:30;justify-content:space-between;align-items:center;height:48px;padding:0 16px;display:flex;position:sticky;top:0}.mobile-header .brand{font-size:16px}.topbar{height:40px;padding:0 20px}.topbar .header-actions{display:none}main{min-height:calc(100dvh - 200px);padding:20px 20px 28px}h1,.page-head h1{font-size:1.625rem}.row-end{display:none}.content-row{gap:12px}.filter{padding:10px 12px}.bottom-grid,.card-grid{grid-template-columns:1fr;gap:0}.bottom-grid .small-card+.small-card{padding-top:20px}footer.site-footer{flex-wrap:wrap;gap:8px;margin:0 20px}footer.site-footer>a{width:100%}.course-layout{display:block}.course-menu{margin-bottom:24px;position:static}.framework{grid-template-columns:1fr;gap:18px}.save-button>span{display:none}.save-button{padding:9px}.quiz-panel{padding:20px 0}.mobile-bottom-nav{z-index:40;background:var(--side);border-top:1px solid var(--border);padding:0 8px env(safe-area-inset-bottom);min-height:64px;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-bottom-nav a,.mobile-bottom-nav button{min-width:0;min-height:64px;color:var(--muted);border-top:2px solid #0000;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:5px;font-size:.8125rem;display:flex}.mobile-bottom-nav .active{color:var(--text);border-top-color:var(--text)}.mobile-bottom-nav svg{width:20px;height:20px}.more-sheet[open]{width:100%;max-width:none;max-height:80dvh;padding:0 20px calc(20px + env(safe-area-inset-bottom));background:var(--bg);color:var(--text);border:0;border-top:1px solid var(--border);margin:0;animation:.18s ease-out sheet-enter;display:block;position:fixed;inset:auto 0 0;overflow-y:auto;box-shadow:0 -8px 32px #0003}.more-sheet::backdrop{background:#0006}.more-sheet header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 0 12px;display:flex}.more-sheet header h2{margin:0;font-size:1.125rem;font-weight:500}.more-sheet nav a{border-bottom:1px solid var(--border);align-items:center;gap:14px;padding:18px 4px;font-size:1rem;display:flex}.more-sheet nav a:last-child{border-bottom:0}.more-sheet nav a>span:last-child{color:var(--muted);margin-left:auto}}@keyframes sheet-enter{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
