:root{--color-main: #02003e;--color-accent: #0064ff;--color-accent-hover: #004df2;--color-bg: #eff3f9;--color-bg-soft: #f6fafe;--color-surface: #ffffff;--color-ntrl-100: #f6fafe;--color-ntrl-200: #eff3f9;--color-ntrl-300: #e1e7ef;--color-ntrl-400: #c7cedb;--color-ntrl-500: #8f96a3;--color-ntrl-600: #646b7a;--color-ntrl-700: #3f4451;--color-ntrl-800: #222a5e;--color-footer-bg: #262429;--color-footer-muted: #6e7084;--color-footer-border: #6e7084;--color-ntrl-900: #02003e;--color-text: var(--color-ntrl-900);--color-text-muted: var(--color-ntrl-600);--color-border: var(--color-ntrl-300);--color-info: #0064ff;--color-info-bg: #e8f0ff;--color-warning: #b8790a;--color-warning-bg: #fdf3e0;--color-danger: #d13a3a;--color-danger-bg: #fbe8e8;--color-success: #1f9254;--color-success-bg: #e6f6ee;--color-violet: #7c3aed;--color-violet-hover: #6d28d9;--color-cyan: #0891b2;--color-code-bg: #1e1e2e;--color-code-text: #cdd6f4;--color-code-gutter-bg: #181825;--color-code-gutter-border: #313244;--color-code-ln: #7f849c;--color-docs-text: #00122c;--color-inline-code-bg: #eef2ff;--color-table-rule: #c4cad4;--color-table-header-text: #5e6697;--font-text: "Open Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-display: "Onest", var(--font-text);--font-code: "Source Code Pro", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--sidebar-width: 340px;--toc-width: 297px;--content-max-width: 760px;--header-height: 64px;--radius-sm: 6px;--radius-md: 10px;--shadow-sm: 0 1px 2px rgba(2, 0, 62, 0.06);--shadow-md: 0 4px 16px rgba(2, 0, 62, 0.08)}@font-face{font-family:"Open Sans";font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/open-sans/open-sans-latin-400-normal.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}@font-face{font-family:"Open Sans";font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/open-sans/open-sans-cyrillic-400-normal.woff2") format("woff2");unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}@font-face{font-family:"Open Sans";font-style:italic;font-weight:400;font-display:swap;src:url("/fonts/open-sans/open-sans-latin-400-italic.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}@font-face{font-family:"Open Sans";font-style:italic;font-weight:400;font-display:swap;src:url("/fonts/open-sans/open-sans-cyrillic-400-italic.woff2") format("woff2");unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}@font-face{font-family:"Open Sans";font-style:normal;font-weight:600;font-display:swap;src:url("/fonts/open-sans/open-sans-latin-600-normal.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}@font-face{font-family:"Open Sans";font-style:normal;font-weight:600;font-display:swap;src:url("/fonts/open-sans/open-sans-cyrillic-600-normal.woff2") format("woff2");unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}@font-face{font-family:"Open Sans";font-style:normal;font-weight:700;font-display:swap;src:url("/fonts/open-sans/open-sans-latin-700-normal.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}@font-face{font-family:"Open Sans";font-style:normal;font-weight:700;font-display:swap;src:url("/fonts/open-sans/open-sans-cyrillic-700-normal.woff2") format("woff2");unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}@font-face{font-family:"Onest";font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/onest/onest-latin-400-normal.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}@font-face{font-family:"Onest";font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/onest/onest-cyrillic-400-normal.woff2") format("woff2");unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}@font-face{font-family:"Onest";font-style:normal;font-weight:600;font-display:swap;src:url("/fonts/onest/onest-latin-600-normal.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}@font-face{font-family:"Onest";font-style:normal;font-weight:600;font-display:swap;src:url("/fonts/onest/onest-cyrillic-600-normal.woff2") format("woff2");unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/source-code-pro/source-code-pro-latin-400-normal.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/source-code-pro/source-code-pro-cyrillic-400-normal.woff2") format("woff2");unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}*,*::before,*::after{box-sizing:border-box}html{height:100%;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{min-height:100%;display:flex;flex-direction:column;margin:0;font-family:var(--font-text);font-size:16px;line-height:1.6;color:var(--color-text);background:var(--color-bg)}main{flex:1 0 auto}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;color:var(--color-main);line-height:1.25;margin-top:2em;margin-bottom:0.6em;scroll-margin-top:calc(var(--header-height) + 16px)}h1{font-size:2rem}h2{font-size:1.5rem;border-bottom:1px solid var(--color-border);padding-bottom:0.3em}h3{font-size:1.2rem}a{color:var(--color-accent);text-decoration:none}a:hover{color:var(--color-accent-hover);text-decoration:underline}p{margin:0 0 1em}ul,ol{padding-left:1.4em}blockquote{margin:1.5em 0;padding:0.2em 1em;border-left:3px solid var(--color-accent);background:var(--color-bg-soft);color:var(--color-text-muted)}hr{border:none;border-top:1px solid var(--color-border);margin:2em 0}.btn{display:inline-block;font-family:var(--font-display);font-weight:600;padding:0.55em 1.2em;border-radius:var(--radius-sm);background:var(--color-accent);color:#fff;border:none;cursor:pointer;transition:background-color 0.15s ease}.btn:hover{background:var(--color-accent-hover);color:#fff;text-decoration:none}.btn--secondary{background:var(--color-ntrl-200);color:var(--color-main)}.btn--secondary:hover{background:var(--color-ntrl-300);color:var(--color-main)}.btn--violet{background:var(--color-violet);color:#fff}.btn--violet:hover{background:var(--color-violet-hover);color:#fff}.container{max-width:var(--bp-1200, 1200px);margin:0 auto;padding:0 24px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.site-logo{display:inline-flex;white-space:nowrap;text-decoration:none}.site-logo:hover{text-decoration:none}.site-logo svg{display:block;height:30px;width:auto}.site-logo__word{fill:var(--color-ntrl-800)}.site-logo__suffix{fill:var(--color-accent)}.site-logo--header:hover .site-logo__suffix{fill:var(--color-accent-hover)}.site-logo--footer .site-logo__word{fill:#fff}.site-logo--footer .site-logo__suffix{fill:#fff}.site-header{position:sticky;top:0;z-index:100;height:var(--header-height);display:flex;align-items:center;background:var(--color-surface);font-family:var(--font-display)}.site-header__inner{width:100%;max-width:1664px;margin:0 auto;padding:0.75rem 24px;display:flex;align-items:center;gap:1.5rem;font-size:12px}@media (min-width: 1200px){.site-header__inner{padding-top:1rem;padding-bottom:1rem}}@media (min-width: 1440px){.site-header__inner{gap:2.5rem;font-size:15px}}@media (min-width: 1664px){.site-header__inner{font-size:16px}}.site-header__nav{display:none;gap:18px;font-weight:400}@media (min-width: 1024px){.site-header__nav{display:flex}}@media (min-width: 1200px){.site-header__nav{gap:24px}}.site-header__nav a{color:var(--color-ntrl-800)}.site-header__nav a:hover{color:var(--color-accent-hover);text-decoration:none}.site-header__nav a.is-active{color:var(--color-accent)}.site-header__spacer{flex:1}.site-header__search{width:220px;padding:0.4em 0.75em;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-soft);color:var(--color-text-muted);font-size:0.9rem;display:none}@media (min-width: 728px){.site-header__search{display:inline-block}}.site-header__progress{font-weight:400;color:var(--color-ntrl-800);white-space:nowrap}.site-header__reset{display:inline-flex;align-items:center;flex:none;padding:0.45rem 0.8rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-bg-soft);color:var(--color-ntrl-800);cursor:pointer;font-family:var(--font-display);font-size:0.86em;font-weight:400;line-height:1;white-space:nowrap;transition:background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, transform 0.15s ease}.site-header__reset:hover{border-color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 8%, #fff);color:var(--color-accent-hover);transform:translateY(-1px)}.site-header__reset:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media (min-width: 550px){.site-header__reset{padding-inline:0.9rem}}.is-progress-reset-modal-open{overflow:hidden}.progress-reset-modal[hidden]{display:none}.progress-reset-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:1.25rem}.progress-reset-modal__backdrop{position:absolute;inset:0;background:radial-gradient(circle at 50% 35%, color-mix(in srgb, var(--color-accent) 14%, transparent), transparent 34%),color-mix(in srgb, var(--color-ntrl-800) 52%, transparent);backdrop-filter:blur(5px)}.progress-reset-modal__dialog{position:relative;width:100%;max-width:420px;padding:1.5rem;border:1px solid color-mix(in srgb, var(--color-accent) 18%, var(--color-border));border-radius:var(--radius-md);background:var(--color-surface);box-shadow:0 24px 80px color-mix(in srgb, var(--color-ntrl-800) 28%, transparent);color:var(--color-ntrl-800);text-align:center;animation:progress-reset-modal-in 180ms ease-out}.progress-reset-modal__close{position:absolute;top:0.75rem;right:0.75rem;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;border-radius:999px;background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:1.35rem;line-height:1}.progress-reset-modal__close:hover{background:var(--color-bg-soft);color:var(--color-ntrl-800)}.progress-reset-modal__icon{position:relative;width:3rem;height:3rem;margin:0 auto 0.9rem;border-radius:999px;background:linear-gradient(135deg, color-mix(in srgb, var(--color-accent) 18%, #fff), #fff),var(--color-bg-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-accent) 26%, transparent)}.progress-reset-modal__icon::before,.progress-reset-modal__icon::after{content:"";position:absolute}.progress-reset-modal__icon::before{top:0.82rem;left:0.82rem;width:1.25rem;height:1.25rem;border:2px solid var(--color-accent);border-right-color:transparent;border-radius:999px;transform:rotate(-35deg)}.progress-reset-modal__icon::after{top:0.79rem;right:0.77rem;width:0;height:0;border-top:0.28rem solid transparent;border-bottom:0.28rem solid transparent;border-left:0.42rem solid var(--color-accent);transform:rotate(-34deg)}.progress-reset-modal__title{margin:0 0 0.55rem;font-size:1.3rem;line-height:1.2}.progress-reset-modal__text{margin:0;color:var(--color-text-muted);font-size:0.95rem;line-height:1.55}.progress-reset-modal__actions{display:grid;gap:0.7rem;margin-top:1.25rem}@media (min-width: 430px){.progress-reset-modal__actions{grid-template-columns:1fr 1fr}}.progress-reset-modal__cancel,.progress-reset-modal__confirm{min-height:2.65rem;border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-display);font-size:0.95rem;transition:background-color 0.15s ease, border-color 0.15s ease, transform 0.15s ease}.progress-reset-modal__cancel:hover,.progress-reset-modal__confirm:hover{transform:translateY(-1px)}.progress-reset-modal__cancel:focus-visible,.progress-reset-modal__confirm:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.progress-reset-modal__cancel{border:1px solid var(--color-border);background:#fff;color:var(--color-ntrl-800)}.progress-reset-modal__cancel:hover{border-color:var(--color-accent);background:var(--color-bg-soft)}.progress-reset-modal__confirm{border:1px solid var(--color-danger);background:var(--color-danger);color:#fff}.progress-reset-modal__confirm:hover{border-color:color-mix(in srgb, var(--color-danger) 82%, #000);background:color-mix(in srgb, var(--color-danger) 88%, #000)}@keyframes progress-reset-modal-in{from{opacity:0;transform:translateY(8px) scale(0.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.progress-reset-modal__dialog{animation:none}}.site-header__burger{display:inline-flex;border:none;background:none;cursor:pointer;padding:8px}@media (min-width: 1024px){.site-header__burger{display:none}}.site-footer{flex-shrink:0;margin-top:auto;padding:24px 0;background:var(--color-footer-bg);color:#fff;font-family:var(--font-display);font-size:14px}@media (min-width: 430px){.site-footer{padding:32px 0}}@media (min-width: 550px){.site-footer{padding:40px 0 32px}}.site-footer__inner{max-width:1664px;margin:0 auto;padding:0 24px}.site-footer__pre-line{display:flex;flex-direction:column;align-items:center;gap:24px;padding-bottom:25px}@media (min-width: 400px){.site-footer__pre-line{flex-direction:row;justify-content:space-between}}.site-footer__cols{display:grid;gap:24px 64px;padding:25px 0;border-top:1px solid var(--color-footer-border)}@media (min-width: 550px){.site-footer__cols{grid-template-columns:1fr 1fr}}@media (min-width: 728px){.site-footer__cols{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between}}.site-footer__col{display:flex;flex-direction:column;gap:12px}@media (min-width: 728px){.site-footer__col{gap:16px}}@media (min-width: 1024px){.site-footer__col:first-of-type{margin-right:auto}}.site-footer__heading{margin:0 0 12px;color:var(--color-footer-muted);font-size:1em;font-weight:400;line-height:1.75;text-transform:uppercase}.site-footer__nav{display:flex;flex-direction:column;align-items:flex-start;gap:0}.site-footer__nav a{display:block;color:#fff;font-size:14px;line-height:1.75;text-decoration:none}.site-footer__nav a:hover{color:#fff;text-decoration:none}.site-footer__copyright{display:flex;flex-direction:column;flex-wrap:wrap;gap:20px 30px;padding-top:20px;color:var(--color-footer-muted);font-size:14px}@media (min-width: 728px){.site-footer__copyright{flex-direction:row;align-items:center;justify-content:space-between;padding-top:60px}}@media (min-width: 1024px){.site-footer__copyright{padding-top:100px}}.site-footer__copy{color:var(--color-footer-muted)}.docs-layout{display:grid;grid-template-columns:1fr;gap:0;max-width:1664px;margin:0 auto}@media (min-width: 1024px){.docs-layout{grid-template-columns:var(--sidebar-width) minmax(0, 1fr)}}@media (min-width: 1440px){.docs-layout{grid-template-columns:var(--sidebar-width) minmax(0, 1fr) var(--toc-width)}}@media (min-width: 1024px){.docs-layout--no-sidebar{grid-template-columns:minmax(0, 1fr)}}@media (min-width: 1440px){.docs-layout--no-sidebar{grid-template-columns:minmax(0, 1fr) var(--toc-width)}}.docs-sidebar{display:none;padding:24px 16px;border-right:1px solid var(--color-border);background:var(--color-bg-soft)}@media (min-width: 1024px){.docs-sidebar{display:block;position:sticky;top:var(--header-height);height:calc(100vh - var(--header-height));overflow-y:auto}}.docs-sidebar.is-open{display:block;position:fixed;z-index:200;top:var(--header-height);left:0;bottom:0;width:var(--sidebar-width);max-width:85vw;box-shadow:var(--shadow-md)}.docs-content{padding:32px 24px 64px;min-width:0}.docs-content__inner{max-width:var(--content-max-width);margin:0 auto;color:var(--color-docs-text);font-family:var(--font-text)}.docs-content__inner p,.docs-content__inner ul,.docs-content__inner ol{font-size:14px;font-weight:500;line-height:24px;letter-spacing:-0.3px}.docs-content__inner b,.docs-content__inner strong{font-weight:600}.docs-content__inner h1,.docs-content__inner h2,.docs-content__inner h3,.docs-content__inner h4,.docs-content__inner h5,.docs-content__inner h6{font-family:var(--font-text);color:var(--color-docs-text)}.docs-content__inner h1{font-size:36px;font-weight:500;line-height:normal;margin-top:0}.docs-content__inner h2{font-size:24px;font-weight:600;line-height:normal;border-bottom:none;padding-bottom:0}.docs-content__inner h3{font-size:21px;font-weight:600;letter-spacing:-0.4px;line-height:normal}.docs-content__inner h4{font-size:18px;font-weight:600;letter-spacing:-0.3px;line-height:normal}.docs-content__inner h5{font-size:16px;font-weight:600;letter-spacing:-0.3px;line-height:normal}.docs-content__inner h6{font-size:14px;font-weight:600;letter-spacing:-0.4px;line-height:normal}.docs-content__inner ul,.docs-content__inner ol{list-style:none;padding-left:0}.docs-content__inner ul:not(.quiz__options)>li{position:relative;margin-left:30px;padding-bottom:10px}.docs-content__inner ul:not(.quiz__options)>li::before{content:"";position:absolute;left:-15px;top:8px;width:6px;height:6px;border-radius:6px;background:var(--color-accent)}.docs-content__inner ol{list-style-type:decimal}.docs-content__inner ol>li{margin-left:30px;padding-bottom:10px}.docs-content__inner ul>li:last-child,.docs-content__inner ol>li:last-child{padding-bottom:0}.docs-content__inner ul>li>p:first-child,.docs-content__inner ol>li>p:first-child{margin-top:0}.docs-content__inner ul>li>p:last-child,.docs-content__inner ol>li>p:last-child{margin-bottom:0}.docs-content__inner p a,.docs-content__inner ul a,.docs-content__inner ol a,.docs-content__inner table a,.docs-content__inner blockquote a,.docs-content__inner h1 a,.docs-content__inner h2 a,.docs-content__inner h3 a,.docs-content__inner h4 a,.docs-content__inner h5 a,.docs-content__inner h6 a,.docs-content__inner .alert p a{color:var(--color-accent);text-decoration:none}.docs-content__inner p a:hover,.docs-content__inner ul a:hover,.docs-content__inner ol a:hover,.docs-content__inner table a:hover,.docs-content__inner blockquote a:hover,.docs-content__inner h1 a:hover,.docs-content__inner h2 a:hover,.docs-content__inner h3 a:hover,.docs-content__inner h4 a:hover,.docs-content__inner h5 a:hover,.docs-content__inner h6 a:hover,.docs-content__inner .alert p a:hover{color:var(--color-accent-hover);text-decoration:underline}.docs-content__inner blockquote{margin:20px 0;padding:5px 20px;border-left:4px solid var(--color-accent);background:transparent;color:var(--color-docs-text)}.docs-content__inner hr{margin:25px 15px;border:none;border-top:1px solid var(--color-inline-code-bg)}.docs-content__inner table{width:100%;border-spacing:0;border:none;border-collapse:collapse;font-size:16px;margin:1.5em 0}.docs-content__inner th,.docs-content__inner td{padding:1em 1.5em;border:none;border-bottom:1px solid var(--color-table-rule);text-align:left;vertical-align:top}.docs-content__inner thead{background:var(--color-bg)}.docs-content__inner thead th{color:var(--color-table-header-text);font-size:0.875em;font-weight:700;line-height:1.5em;letter-spacing:0.3px;background:var(--color-bg)}.docs-content__inner thead th:first-child{border-top-left-radius:4px}.docs-content__inner thead th:last-child{border-top-right-radius:4px}.docs-content__inner tbody td{font-size:0.875em;line-height:1.5em;font-weight:400;letter-spacing:-0.3px}.docs-content__inner tr:last-child td{border-bottom:none}@media (max-width: 549px){.docs-content__inner p,.docs-content__inner ul,.docs-content__inner ol{font-size:13px;line-height:18px}.docs-content__inner h1{font-size:30px}.docs-content__inner h2{font-size:20px}.docs-content__inner h3{font-size:18px}}@media (max-width: 429px){.docs-content__inner p,.docs-content__inner ul,.docs-content__inner ol{font-size:12px;letter-spacing:0}.docs-content__inner h1{font-size:25px}.docs-content__inner h2{font-size:18px}.docs-content__inner h3{font-size:16px}.docs-content__inner ul:not(.quiz__options)>li{margin-left:15px;padding-bottom:6px}.docs-content__inner ol>li{margin-left:15px}}.docs-toc{display:none;padding:24px 16px}@media (min-width: 1440px){.docs-toc{display:block;position:sticky;top:var(--header-height);height:calc(100vh - var(--header-height));overflow-y:auto;font-size:0.85rem}}.docs-toc h4{margin-top:0;font-size:0.8rem;text-transform:uppercase;letter-spacing:0.04em;color:var(--color-text-muted)}.docs-toc ul{list-style:none;padding-left:0}.docs-toc li{margin-bottom:0.4em}.docs-toc li>ul{margin:0.3em 0 0.5em;padding-left:14px}.docs-toc a{display:block;padding:1px 0 1px 10px;border-left:2px solid transparent;color:var(--color-text-muted);transition:color 0.15s ease, border-color 0.15s ease}.docs-toc a:hover{color:var(--color-accent);text-decoration:none}.docs-toc a.is-active{color:var(--color-accent);font-weight:600;border-left-color:var(--color-accent)}.module-index__lessons{margin-top:1.5em}.module-index__lessons a{font-weight:600}.docs-sidebar a{text-decoration:none}.docs-sidebar a:hover{text-decoration:none}.docs-sidebar .module-nav{list-style:none;padding-left:0;margin:0}.docs-sidebar .module-nav>li{margin-bottom:4px}.docs-sidebar .module-nav__module-header{display:flex;align-items:stretch;border-radius:var(--radius-sm);overflow:hidden}.docs-sidebar .module-nav__module-header.is-active{background:var(--color-info-bg)}.docs-sidebar .module-nav__toggle{flex:none;display:flex;align-items:center;justify-content:center;width:28px;padding:0;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer}.docs-sidebar .module-nav__toggle:hover{color:var(--color-accent)}.docs-sidebar .module-nav__toggle-icon{display:block;width:0;height:0;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:5px solid currentColor;transition:transform 0.15s ease}.docs-sidebar .module-nav__toggle.is-expanded .module-nav__toggle-icon{transform:rotate(90deg)}.docs-sidebar .module-nav__module-title{display:flex;align-items:center;justify-content:space-between;flex:1;min-width:0;gap:8px;font-family:var(--font-display);font-weight:600;font-size:0.88rem;padding:8px 10px;color:var(--color-main)}.docs-sidebar .module-nav__module-header:has(.module-nav__toggle) .module-nav__module-title{padding-left:0}.docs-sidebar .module-nav__module-header.is-active .module-nav__module-title{color:var(--color-accent)}.docs-sidebar .module-nav__module-title:hover{color:var(--color-accent)}.docs-sidebar .module-nav__module-title>span:first-child{min-width:0}.docs-sidebar .module-nav__lessons{list-style:none;padding-left:14px;margin:2px 0 8px}.docs-sidebar .module-nav__lessons a{display:flex;align-items:center;gap:8px;padding:5px 10px;border-radius:var(--radius-sm);color:var(--color-text);font-size:0.86rem}.docs-sidebar .module-nav__lessons a:hover{color:var(--color-accent)}.docs-sidebar .module-nav__lessons a.is-active{color:var(--color-accent);background:var(--color-info-bg)}.docs-sidebar .module-nav__check{width:14px;height:14px;flex:none;border-radius:50%;border:2px solid var(--color-ntrl-400)}.docs-sidebar .module-nav__check.is-done{border-color:var(--color-success);background:var(--color-success)}.docs-sidebar .module-nav__percent{font-size:0.75rem;color:var(--color-text-muted);font-weight:400}.tool-nav__heading{font-family:var(--font-display);font-weight:600;font-size:0.78rem;text-transform:uppercase;letter-spacing:0.04em;color:var(--color-text-muted);padding:4px 10px 10px}.tool-nav{list-style:none;padding-left:0;margin:0}.tool-nav__link{display:flex;align-items:center;gap:10px;padding:8px 10px;margin-bottom:2px;border-radius:var(--radius-sm);color:var(--color-text);font-size:0.88rem}.tool-nav__link:hover{color:var(--color-accent)}.tool-nav__link.is-active{background:var(--color-info-bg);color:var(--color-accent)}.tool-nav__badge{flex:none;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--radius-sm);font-family:var(--font-code);font-size:0.72rem;font-weight:700;color:#fff;letter-spacing:-0.02em}.tool-nav__badge--kubectl{background:var(--color-accent)}.tool-nav__badge--d8{background:var(--color-violet)}.tool-nav__badge--werf{background:var(--color-warning)}.tool-nav__badge--nelm{background:var(--color-success)}.tool-nav__badge--docker{background:var(--color-cyan)}.tool-nav__badge--dmtlint-pkglint{background:var(--color-danger)}.tool-nav__badge--linux-networking{background:var(--color-ntrl-700)}.tool-nav__label{font-family:var(--font-display);font-weight:600}.tool-nav__all-link{display:block;margin-top:12px;padding:8px 10px;font-size:0.82rem;color:var(--color-text-muted)}.tool-nav__all-link:hover{color:var(--color-accent)}.breadcrumbs{font-size:0.85rem;color:var(--color-text-muted);margin-bottom:1.5em}.breadcrumbs a{color:var(--color-text-muted);text-decoration:none}.breadcrumbs a:hover{color:var(--color-accent);text-decoration:none}.lesson-meta{display:flex;flex-wrap:wrap;gap:10px;margin:1em 0 2em}.lesson-meta__badge{display:inline-flex;align-items:center;gap:6px;font-size:0.82rem;padding:0.3em 0.8em;border-radius:999px;background:var(--color-ntrl-200);color:var(--color-text-muted);font-family:var(--font-display)}.lesson-meta__badge--app{background:var(--color-success-bg);color:var(--color-success)}.lesson-prereqs{background:var(--color-bg-soft);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1em 1.2em;margin:1.5em 0}.lesson-prereqs h4{margin-top:0}.prev-next{display:flex;justify-content:space-between;gap:16px;margin-top:3em;padding-top:1.5em;border-top:1px solid var(--color-border)}.prev-next__link{flex:1;padding:1em;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.prev-next__link--next{text-align:right}.prev-next__label{display:block;font-size:0.78rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:0.04em}.prev-next__title{font-family:var(--font-display);font-weight:600;color:var(--color-main)}.hero{padding:4em 24px 3em;text-align:center;background:linear-gradient(180deg, var(--color-bg-soft) 0%, var(--color-bg) 100%)}.hero h1{font-size:2.4rem;margin-top:0}.hero p{max-width:640px;margin:0 auto 1.5em;color:var(--color-text-muted);font-size:1.1rem}.module-section{max-width:1200px;margin:0 auto;padding:0 24px 4em}.module-section__title{font-family:var(--font-display);font-size:1.75rem;color:var(--color-main);margin:0 0 1.25em}.module-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(260px, 1fr));gap:18px}.module-card{display:flex;flex-direction:column;min-height:100%;padding:1.4em;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:transform 0.15s ease, box-shadow 0.15s ease}.module-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);text-decoration:none}.module-card__id{font-family:var(--font-code);color:var(--color-accent);font-size:0.85rem}.module-card__title{font-family:var(--font-display);font-weight:600;color:var(--color-main);margin:0.3em 0}.module-card__summary{flex:1;font-size:0.9rem;line-height:1.45;color:var(--color-text-muted)}.module-card__lessons{margin-top:auto;padding-top:1em;font-size:0.85rem;font-family:var(--font-code);color:var(--color-accent)}.tabs{margin:1.5em 0;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.tabs__nav{display:flex;flex-wrap:wrap;background:var(--color-ntrl-200);border-bottom:1px solid var(--color-border)}.tabs__btn{font-family:var(--font-display);font-size:0.88rem;padding:0.7em 1.1em;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;color:var(--color-text-muted)}.tabs__btn.is-active{color:var(--color-accent);border-bottom-color:var(--color-accent);background:var(--color-surface)}.tabs__panel{display:none;padding:1em 1.2em;background:var(--color-surface)}.tabs__panel.is-active{display:block}.tabs__panel>*:first-child{margin-top:0}.alert{margin:1.5em 0;padding:1em 1.2em;border-radius:var(--radius-md);border-left:4px solid var(--color-info);background:var(--color-info-bg)}.alert>*:first-child{margin-top:0}.alert>*:last-child{margin-bottom:0}.alert__title{font-family:var(--font-display);font-weight:600;display:flex;align-items:center;gap:8px;margin-bottom:0.4em}.alert__icon{width:20px;height:20px;min-width:20px;flex:none}.alert--info{border-color:var(--color-info);background:var(--color-info-bg)}.alert--info .alert__icon{color:var(--color-info)}.alert--warning{border-color:var(--color-warning);background:var(--color-warning-bg)}.alert--warning .alert__icon{color:var(--color-warning)}.alert--danger{border-color:var(--color-danger);background:var(--color-danger-bg)}.alert--danger .alert__icon{color:var(--color-danger)}.alert--success{border-color:var(--color-success);background:var(--color-success-bg)}.alert--success .alert__icon{color:var(--color-success)}.app-badge{display:inline-flex;align-items:center;gap:8px;margin:1em 0;padding:0.6em 1em;border-radius:var(--radius-md);background:var(--color-success-bg);border:1px solid var(--color-success);color:var(--color-success);font-family:var(--font-display);font-size:0.9rem}.app-badge a{color:inherit;text-decoration:underline}.cheat-ref{display:inline-flex;align-items:center;gap:6px;padding:0.15em 0.6em;border-radius:999px;background:var(--color-ntrl-200);color:var(--color-main);font-family:var(--font-code);font-size:0.82em;border:1px solid var(--color-border)}.cheat-ref:hover{border-color:var(--color-accent);text-decoration:none}code{font-family:var(--font-code);font-weight:500;line-height:22px;padding:2px 4px;background:var(--color-inline-code-bg);color:inherit;border-radius:4px;white-space:normal}@media (max-width: 549px){code{font-size:12px;line-height:16px}}@media (max-width: 429px){code{font-size:11px}}@media (max-width: 399px){code{font-size:10px}}pre{position:relative;font-family:var(--font-code);font-size:13px;line-height:1.428571429;background:var(--color-code-bg);color:var(--color-code-text);padding:10px;border-radius:4px;overflow-x:auto;margin:5px 0 25px}pre code{background:none;padding:0;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;border-radius:0;white-space:pre}.highlight{position:relative;margin:5px 0 25px;border-radius:4px;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.highlight pre{margin:0;overflow-x:visible}.highlight .chroma .lntable{width:max-content;min-width:100%;border-collapse:collapse;margin:0}.highlight .lntable .lntd:first-child{width:36px;min-width:36px;vertical-align:top;background:var(--color-code-gutter-bg);border-right:1px solid var(--color-code-gutter-border);user-select:none}.highlight .lntable .lntd:first-child pre{margin:0;padding:10px 0;background:transparent;border-radius:0;overflow:visible}.highlight .lntable .lntd:first-child .ln,.highlight .lntable .lntd:first-child .lnt{display:block;text-align:right;padding-right:8px;margin-right:0;color:var(--color-code-ln)}.highlight .lntable .lntd:last-child{width:auto}.highlight .lntable .lntd:last-child pre{margin:0;padding:10px;border-radius:0;overflow-x:visible}.copy-code-btn{position:absolute;top:0.6em;right:0.6em;z-index:2;font-family:var(--font-text);font-size:0.75rem;padding:0.3em 0.7em;border:1px solid rgba(255,255,255,0.2);border-radius:var(--radius-sm);background:rgba(255,255,255,0.08);color:var(--color-code-text);cursor:pointer;opacity:0;transition:opacity 0.15s ease}.highlight:hover .copy-code-btn{opacity:1}.copy-code-btn.is-copied{opacity:1;background:var(--color-success);border-color:var(--color-success)}.bg{color:var(--color-code-text);background-color:var(--color-code-bg)}.chroma{color:var(--color-code-text);background-color:var(--color-code-bg);-webkit-text-size-adjust:none}.chroma .x{color:#cdd6f4}.chroma .err{color:#f38ba8}.chroma .cl{color:#cdd6f4}.chroma .lnlinks{outline:none;text-decoration:none;color:inherit}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}.chroma .hl{background-color:#45475a}.chroma .lnt{white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em;color:var(--color-code-ln)}.chroma .ln{white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em;color:var(--color-code-ln)}.chroma .line{display:flex;flex-wrap:nowrap}.chroma .k{color:#cba6f7}.chroma .kc{color:#fab387}.chroma .kd{color:#f38ba8}.chroma .kn{color:#94e2d5}.chroma .kp{color:#cba6f7}.chroma .kr{color:#cba6f7}.chroma .kt{color:#f38ba8}.chroma .na{color:#89b4fa}.chroma .nc{color:#f9e2af}.chroma .no{color:#f9e2af}.chroma .nd{color:#89b4fa;font-weight:bold}.chroma .ni{color:#94e2d5}.chroma .ne{color:#fab387}.chroma .nl{color:#89dceb}.chroma .nn{color:#fab387}.chroma .nx{color:#cdd6f4}.chroma .py{color:#fab387}.chroma .nt{color:#cba6f7}.chroma .nb{color:#89dceb}.chroma .bp{color:#89dceb}.chroma .nv{color:#f5e0dc}.chroma .vc,.chroma .vg,.chroma .vi,.chroma .vm{color:#f5e0dc}.chroma .nf,.chroma .fm{color:#89b4fa}.chroma .ld{color:#cdd6f4}.chroma .s,.chroma .sb,.chroma .sc,.chroma .s2,.chroma .si,.chroma .sx,.chroma .s1,.chroma .ss{color:#a6e3a1}.chroma .sa{color:#f38ba8}.chroma .dl{color:#89b4fa}.chroma .sd,.chroma .sh{color:#6c7086}.chroma .se{color:#89b4fa}.chroma .sr{color:#94e2d5}.chroma .m,.chroma .mb,.chroma .mf,.chroma .mh,.chroma .mi,.chroma .il,.chroma .mo{color:#fab387}.chroma .o,.chroma .ow,.chroma .or{color:#89dceb;font-weight:bold}.chroma .p{color:var(--color-code-text)}.chroma .c,.chroma .cm,.chroma .c1,.chroma .cs,.chroma .cp{color:#6c7086;font-style:italic}.chroma .ch{color:#585b70;font-style:italic}.chroma .cpf{color:#6c7086;font-weight:bold;font-style:italic}.chroma .gd{color:#f38ba8;background-color:#313244}.chroma .ge{font-style:italic}.chroma .gr{color:#f38ba8}.chroma .gh,.chroma .gu{color:#fab387;font-weight:bold}.chroma .gi{color:#a6e3a1;background-color:#313244}.chroma .go,.chroma .gp{color:#cdd6f4}.chroma .gs{font-weight:bold}.chroma .gt{color:#f38ba8}.chroma .gl{text-decoration:underline}.quiz{margin:1.5em 0;padding:1.2em;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.quiz__question{font-family:var(--font-display);font-weight:600;margin-bottom:0.8em}.quiz__options{list-style:none;padding-left:0;margin:0 0 0.8em}.quiz__option{margin-bottom:0.5em;margin-left:0;padding-bottom:0}.quiz__option::before{content:none}.quiz__option label{display:flex;gap:0.6em;padding:0.5em 0.7em;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:background-color 0.38s ease, border-color 0.38s ease, box-shadow 0.38s ease, transform 0.18s ease}.quiz__option label:hover{border-color:var(--color-accent)}.quiz__option.is-correct label{border-color:var(--color-success);background:var(--color-success-bg);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-success) 12%, transparent)}.quiz__option.is-incorrect label{border-color:var(--color-danger);background:var(--color-danger-bg)}.quiz__option.is-shaking label{animation:quiz-wrong-shake 460ms cubic-bezier(0.36, 0.07, 0.19, 0.97)}.quiz__check{font-family:var(--font-display)}.quiz__explanation{display:none;margin-top:0.8em;padding:0.8em 1em;background:var(--color-bg-soft);border-radius:var(--radius-sm);font-size:0.92rem}.quiz.is-answered .quiz__explanation{display:block}.quiz__source{display:block;margin-top:0.4em;font-size:0.82rem;color:var(--color-text-muted)}.quiz__source a{color:var(--color-accent);text-decoration:underline;text-underline-offset:2px}.quiz__source a:hover{color:var(--color-accent-hover)}.quiz-particles{position:fixed;left:0;top:0;z-index:1000;pointer-events:none}.quiz-particles__particle{position:absolute;left:calc(var(--size) / -2);top:calc(var(--size) / -2);width:var(--size);height:var(--size);border-radius:45% 55% 48% 52%;box-shadow:0 0 10px color-mix(in srgb, currentColor 35%, transparent);opacity:0;transform:translate3d(0, 0, 0) rotate(0deg) scale(0.65);animation:quiz-particle-burst 1300ms cubic-bezier(0.16, 1, 0.3, 1) forwards;animation-delay:var(--delay)}.quiz-particles__particle:nth-child(3n){border-radius:999px}.quiz-particles__particle:nth-child(4n){width:calc(var(--size) * 0.7);height:calc(var(--size) * 1.45)}@keyframes quiz-particle-burst{0%{opacity:0;transform:translate3d(0, 0, 0) rotate(0deg) scale(0.55)}14%{opacity:1}72%{opacity:0.9}100%{opacity:0;transform:translate3d(var(--tx), var(--ty), 0) rotate(var(--rot)) scale(1)}}@keyframes quiz-wrong-shake{0%,100%{transform:translateX(0)}15%,45%,75%{transform:translateX(-7px)}30%,60%,90%{transform:translateX(7px)}}@media (prefers-reduced-motion: reduce){.quiz-particles{display:none}.quiz__option.is-shaking label{animation:none}}.progress-badge{display:inline-flex;align-items:center;gap:6px}.progress-badge__bar{width:120px;height:6px;border-radius:999px;background:var(--color-ntrl-300);overflow:hidden}.progress-badge__fill{display:block;height:100%;background:var(--color-accent);width:0%;transition:width 0.2s ease, background-color 0.25s ease}.progress-badge.is-complete .progress-badge__fill{background:var(--color-success)}.lesson-complete-status{margin:1.5rem 0 0;padding:0.85rem 1rem;border-radius:var(--radius-md);background:var(--color-success-bg);color:var(--color-success);font-weight:500}.mermaid{position:relative;margin:1.6em 0;padding:0.5em;text-align:center;cursor:zoom-in;border-radius:var(--radius-md);transition:background-color 0.15s ease}.mermaid:hover{background-color:var(--color-ntrl-100)}.mermaid svg{max-width:100%;height:auto}.mermaid-zoom-btn{position:absolute;top:0.5em;right:0.5em;display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;opacity:0;transition:opacity 0.15s ease, color 0.15s ease, border-color 0.15s ease}.mermaid:hover .mermaid-zoom-btn,.mermaid-zoom-btn:focus-visible{opacity:1}.mermaid-zoom-btn:hover{color:var(--color-accent);border-color:var(--color-accent)}body.mermaid-modal-open{overflow:hidden}.mermaid-modal-overlay{display:none;position:fixed;inset:0;z-index:1000;align-items:center;justify-content:center;padding:clamp(0px, 3vw, 32px);background:rgba(10,12,20,0.28);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(10px)}.mermaid-modal-overlay.is-open{display:flex}.mermaid-modal{display:flex;flex-direction:column;width:80%;height:80%;max-width:1176px;background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-md);overflow:hidden}.mermaid-modal__toolbar{display:flex;align-items:center;gap:0.5em;flex:0 0 auto;padding:0.6em 0.8em;background:var(--color-ntrl-100);border-bottom:1px solid var(--color-border)}.mermaid-modal__btn{min-width:34px;height:34px;padding:0 0.6em;font-family:var(--font-text);font-size:0.95rem;line-height:1;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);cursor:pointer;transition:border-color 0.15s ease, color 0.15s ease}.mermaid-modal__btn:hover{color:var(--color-accent);border-color:var(--color-accent)}.mermaid-modal__zoom-label{min-width:60px;font-variant-numeric:tabular-nums}.mermaid-modal__hint{display:none;margin-left:0.5em;font-size:0.8rem;color:var(--color-text-muted)}@media (min-width: 728px){.mermaid-modal__hint{display:inline}}.mermaid-modal__close{width:34px;height:34px;margin-left:auto;font-size:1.3rem;line-height:1;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);cursor:pointer;transition:border-color 0.15s ease, color 0.15s ease}.mermaid-modal__close:hover{color:var(--color-danger);border-color:var(--color-danger)}.mermaid-modal__viewport{position:relative;flex:1 1 auto;overflow:hidden;cursor:grab;touch-action:none;background-color:var(--color-bg);background-image:radial-gradient(circle, var(--color-ntrl-400) 1px, transparent 1px);background-size:22px 22px}.mermaid-modal__viewport.is-dragging{cursor:grabbing}.mermaid-modal__stage{position:absolute;top:0;left:0;transform-origin:0 0;will-change:transform;background:var(--color-surface);box-shadow:var(--shadow-sm);padding:24px;border-radius:var(--radius-sm)}.mermaid-modal__stage svg{display:block}
