:root{--bg: #ffffff;--bg2: #f6f8f9;--panel: #ffffff;--text: #252423;--muted: #5f6b73;--line: #e2e6e9;--head: #0B1F33;--accent: #0E7C86;--accent2: #0B4F5C;--link: #0b62a4;--hl: #e6f4f5;--navy: #0B1F33;--mint: #5EEAD4;--code-bg: #f1f3f4;--code-fg: #6b3d00;--pre-bg: #1e1e1e;--pre-fg: #e8e8e8;--th-bg: #0B1F33;--th-fg: #fff;--row: #f8faf9;--tip-bg: #f4effb;--tip-bd: #6b3fa0;--tip-t: #4b2582;--warn-bg: #fdecea;--warn-bd: #d13438;--warn-t: #a4262c;--ex-bg: #eef7ee;--ex-bd: #107c10;--ex-t: #0b5a0b;--note-bg: #eaf3fb;--note-bd: #2b7bd6;--note-t: #1a5aa6;--sec-bg: #fff7ed;--sec-bd: #c2410c;--sec-t: #9a3412;--teach-bg: #e8f4f6;--teach-t: #0b3440;--recap-bg: #eef6ee;--recap-bd: #3c8d40;--recap-t: #22642a;--shadow: 0 1px 3px rgba(11,31,51,.08),0 6px 18px rgba(11,31,51,.06);--topbar-h: 60px;--side-w: 300px;--font: 'Source Sans 3','Source Sans Pro','Inter',system-ui,-apple-system,'Segoe UI',Roboto,'Noto Sans','Noto Sans Devanagari','Mukta',sans-serif;--font-h: 'Inter',system-ui,-apple-system,'Segoe UI',Roboto,'Noto Sans','Noto Sans Devanagari',sans-serif;--mono: 'Source Code Pro','JetBrains Mono',ui-monospace,'Cascadia Code',Menlo,Consolas,'DejaVu Sans Mono',monospace}[data-theme="dark"]{--bg: #0d1520;--bg2: #111c29;--panel: #132030;--text: #dde4ea;--muted: #93a3b0;--line: #243345;--head: #eef3f7;--accent: #2DD4BF;--accent2: #5EEAD4;--link: #7cc4ff;--hl: #173345;--code-bg: #1d2b3b;--code-fg: #f5c98b;--pre-bg: #0a0f16;--pre-fg: #e6edf3;--th-bg: #1d3a52;--th-fg: #fff;--row: #111d2a;--tip-bg: #251b36;--tip-bd: #a47ee0;--tip-t: #d4bfff;--warn-bg: #321a1c;--warn-bd: #f06a6e;--warn-t: #ffb3b5;--ex-bg: #16281a;--ex-bd: #4cc152;--ex-t: #a6e8a9;--note-bg: #15243a;--note-bd: #5a9ff0;--note-t: #b3d4ff;--sec-bg: #2f2014;--sec-bd: #f0883e;--sec-t: #ffc79a;--teach-bg: #12293a;--teach-t: #cfe8ee;--recap-bg: #14281a;--recap-bd: #4cc152;--recap-t: #a6e8a9;--shadow: 0 1px 3px rgba(0,0,0,.4),0 6px 18px rgba(0,0,0,.3);color-scheme: dark}*{box-sizing: border-box}html{font-family: var(--font);font-size: 17px;line-height: 1.6;color: var(--text);background: var(--bg);-webkit-text-size-adjust: 100%;scroll-padding-top: calc(var(--topbar-h) + 12px)}body{margin: 0;background: var(--bg);color: var(--text)}a{color: var(--link);text-underline-offset: 2px}.skip{position: absolute;left: -999px;top: 0;background: var(--accent);color: #fff;padding: 8px 12px;z-index: 100}.skip:focus{left: 8px}.muted{color: var(--muted);font-size: .92em}.topbar{position: fixed;top: 0;left: 0;right: 0;height: var(--topbar-h);z-index: 50;display: flex;align-items: center;gap: 14px;padding: 0 16px;background: var(--navy);color: #fff;border-bottom: 3px solid var(--accent)}[data-theme="dark"] .topbar{background: #07101a}.brand{display: flex;align-items: center;gap: 10px;color: #fff;text-decoration: none;min-width: 0}.brand span{display: flex;flex-direction: column;line-height: 1.15}.brand b{font-family: var(--font-h);font-size: 17px;font-weight: 800;letter-spacing: .1px;white-space: nowrap}.brand small{color: var(--mint);font-size: 12.5px;white-space: nowrap}.menu-btn{display: none;background: none;border: 0;padding: 8px;cursor: pointer;flex-direction: column;gap: 4px}.menu-btn span{display: block;width: 22px;height: 2.5px;background: #fff;border-radius: 2px}.search{position: relative;margin-left: auto;width: min(340px,28vw)}.search input{width: 100%;height: 38px;border-radius: 8px;border: 1px solid #2a4a63;background: #10283d;color: #fff;padding: 0 12px 0 34px;font: inherit;font-size: 15px;outline: none;background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235EEAD4' stroke-width='2.5' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E");background-repeat: no-repeat;background-position: 11px center}.search input::placeholder{color: #9fb3c3}.search input:focus{border-color: var(--mint);box-shadow: 0 0 0 3px rgba(94,234,212,.25)}.results{position: absolute;right: 0;top: 46px;width: min(560px,92vw);max-height: 70vh;overflow: auto;background: var(--panel);color: var(--text);border: 1px solid var(--line);border-radius: 10px;box-shadow: 0 12px 40px rgba(0,0,0,.25);padding: 6px}.results a{display: block;padding: 9px 11px;border-radius: 7px;text-decoration: none;color: var(--text)}.results a:hover,.results a.sel{background: var(--hl)}.results .rt{font-weight: 700;font-family: var(--font-h);font-size: 15px;color: var(--head)}.results .rc{display: block;font-size: 11.5px;color: var(--accent);text-transform: uppercase;letter-spacing: .4px}.results .rs{font-size: 13.5px;color: var(--muted);display: block;margin-top: 2px}.results mark{background: rgba(45,212,191,.35);color: inherit;border-radius: 2px}.results .none{padding: 12px;color: var(--muted)}.theme-btn{background: #10283d;border: 1px solid #2a4a63;color: var(--mint);width: 38px;height: 38px;border-radius: 8px;cursor: pointer;display: grid;place-items: center;flex: none}.theme-btn:hover{border-color: var(--mint)}[data-theme="dark"] .i-moon,[data-theme="light"] .i-sun{display: none}.shell{display: flex;padding-top: var(--topbar-h);min-height: 100vh}.sidebar{position: fixed;top: var(--topbar-h);bottom: 0;left: 0;width: var(--side-w);overflow-y: auto;background: var(--bg2);border-right: 1px solid var(--line);padding: 14px 10px 40px;font-size: 14.5px;line-height: 1.35;overscroll-behavior: contain}.main{flex: 1;min-width: 0;margin-left: var(--side-w);padding: 22px clamp(16px,4vw,56px) 30px}.content,.crumbs,.pn-nav,.foot{max-width: 860px;margin-left: auto;margin-right: auto}.tree ul{list-style: none;margin: 0;padding: 0}.tree a{display: block;padding: 5px 9px;border-radius: 6px;color: var(--text);text-decoration: none}.tree a:hover{background: var(--hl)}.tree a.current{background: var(--accent);color: #fff;font-weight: 600}[data-theme="dark"] .tree a.current{color: #06201d}.tree .lv0>a{font-weight: 700;font-family: var(--font-h);font-size: 14px}.tree summary{cursor: pointer;padding: 6px 9px;border-radius: 6px;list-style: none;position: relative;padding-left: 24px}.tree summary::-webkit-details-marker{display: none}.tree summary::before{content: "";position: absolute;left: 9px;top: .75em;border: 5px solid transparent;border-left-color: var(--muted);border-right: 0;transition: transform .15s}.tree details[open]>summary::before{transform: rotate(90deg)}.tree summary:hover{background: var(--hl)}.tree .part>details>summary{font-family: var(--font-h);font-weight: 700;font-size: 13.5px;color: var(--head);margin-top: 4px}.tree .pn{display: block;font-size: 11px;letter-spacing: .8px;text-transform: uppercase;color: var(--accent)}.tree .lv1{margin-left: 12px}.tree .lv1>a,.tree .chap>details>summary{font-size: 14px}.tree .lv2{margin-left: 14px;border-left: 1px solid var(--line)}.tree .lv2 a{font-size: 13.5px;padding: 4px 9px;color: var(--muted)}.tree .lv2 a.current{color: #fff}.tree a.ov{font-style: italic;color: var(--muted)}.tree a.ov.current{color: #fff}.crumbs ol{list-style: none;display: flex;flex-wrap: wrap;gap: 4px;padding: 0;margin: 0 auto 14px;font-size: 13.5px;color: var(--muted)}.crumbs li + li::before{content: "›";margin: 0 6px 0 2px;color: var(--muted)}.crumbs a{color: var(--muted);text-decoration: none}.crumbs a:hover{color: var(--accent);text-decoration: underline}.crumbs li[aria-current]{color: var(--text);font-weight: 600;max-width: 100%;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}h1,h2,h3,h4{font-family: var(--font-h);color: var(--head);line-height: 1.25}.content h1{font-size: clamp(26px,3.6vw,34px);font-weight: 800;margin: 4px 0 18px;padding: 10px 0 10px 16px;border-left: 6px solid var(--accent);background: var(--bg2);border-radius: 0 8px 8px 0}.content h2{font-size: 23px;margin: 34px 0 10px;padding-bottom: 6px;border-bottom: 2px solid var(--accent)}.content h3{font-size: 19px;color: var(--accent2);margin: 26px 0 8px}[data-theme="dark"] .content h3{color: var(--accent2)}.content h4{font-size: 17px;margin: 20px 0 6px}.content p{margin: 8px 0 12px}.content ul,.content ol{padding-left: 26px;margin: 6px 0 14px}.content li{margin: 3px 0}.content strong{color: var(--head)}.content img{max-width: 100%;height: auto}.kicker{margin: 0 0 4px;font-size: 13px;text-transform: uppercase;letter-spacing: .6px;font-weight: 700}.kicker a{color: var(--accent);text-decoration: none}.secno{display: inline-block;background: var(--accent);color: #fff;font-size: .6em;padding: 3px 9px;border-radius: 6px;vertical-align: .25em;margin-right: 4px}[data-theme="dark"] .secno{color: #06201d}code{font-family: var(--mono);font-size: .86em;background: var(--code-bg);color: var(--code-fg);padding: .1em .38em;border-radius: 4px;font-variant-ligatures: none}pre{position: relative;background: var(--pre-bg);color: var(--pre-fg);border-left: 5px solid var(--accent);padding: 14px 16px;border-radius: 8px;overflow-x: auto;margin: 12px 0 18px;line-height: 1.5}pre code{background: none;color: inherit;padding: 0;font-size: 14px;white-space: pre;display: block}pre.has-copy{padding-top: 40px;background-image: linear-gradient(rgba(255,255,255,.06),rgba(255,255,255,.06));background-size: 100% 30px;background-repeat: no-repeat}pre.has-copy::before{content: attr(data-lang);position: absolute;top: 6px;left: 14px;font: 600 11.5px var(--font-h);letter-spacing: .6px;text-transform: uppercase;color: #8fa3b3}.copy-btn{position: absolute;top: 3px;right: 6px;font: 600 12px var(--font-h);color: #cfe;background: rgba(255,255,255,.08);border: 1px solid rgba(255,255,255,.22);border-radius: 5px;padding: 2px 9px;cursor: pointer;opacity: .85;transition: opacity .15s}pre:hover .copy-btn,.copy-btn:focus{opacity: 1}.copy-btn.done{color: #06201d;background: var(--mint);border-color: var(--mint)}.table-wrap{overflow-x: auto;margin: 12px 0 18px;border-radius: 8px;border: 1px solid var(--line);-webkit-overflow-scrolling: touch}.table-wrap table{margin: 0;border: 0}table{border-collapse: collapse;width: 100%;font-size: 15px}th{background: var(--th-bg);color: var(--th-fg);text-align: left;padding: 9px 12px;font-family: var(--font-h);font-size: 14px;font-weight: 600;vertical-align: bottom}th strong,th b,th code{color: #fff}th code{background: rgba(255,255,255,.12)}td{border-top: 1px solid var(--line);padding: 8px 12px;vertical-align: top}tbody tr:nth-child(even) td{background: var(--row)}td code.nw{white-space: nowrap}table.rvb th:first-child{background: #9f1d24}table.rvb th:nth-child(2){background: #1b4f9c}table.rvb td:first-child{border-left: 4px solid #d13438}table.rvb td:nth-child(2){border-left: 4px solid #2b7bd6}.admonition{border-radius: 8px;padding: 12px 18px 10px;margin: 16px 0 20px;border-left: 6px solid;background: var(--note-bg);border-color: var(--note-bd)}.admonition p{margin: 6px 0}.admonition>:last-child{margin-bottom: 4px}.admonition-title{font-family: var(--font-h);font-weight: 700;font-size: 16px;margin: 0 0 6px !important;color: var(--note-t)}.admonition.note .admonition-title{color: var(--note-t)}.admonition.tip{background: var(--teach-bg);border-color: var(--accent)}.admonition.warning,.admonition.danger{background: var(--warn-bg);border-color: var(--warn-bd)}.admonition.warning .admonition-title,.admonition.danger .admonition-title{color: var(--warn-t)}.admonition.warning .admonition-title::before,.admonition.danger .admonition-title::before{content: "\26A0\FE0E "}.admonition.example{background: var(--ex-bg);border-color: var(--ex-bd)}.admonition.example .admonition-title{color: var(--ex-t)}.admonition.security{background: var(--sec-bg);border-color: var(--sec-bd)}.admonition.security .admonition-title{color: var(--sec-t)}.admonition.security .admonition-title::before{content: "\26A0\FE0E "}.admonition.lab{background: #eef2ff;border-color: #3730a3}.admonition.summary{background: var(--bg2);border-color: var(--accent)}.admonition.rtip{background: var(--tip-bg);border: 2px solid var(--tip-bd);border-left-width: 8px;box-shadow: 0 4px 16px rgba(107,63,160,.18);padding: 14px 20px 12px;position: relative}.admonition.rtip .admonition-title{color: var(--tip-t);font-size: 17px;display: flex;align-items: center;gap: 10px}.admonition.rtip .admonition-title::before{content: "R";flex: none;width: 28px;height: 28px;line-height: 28px;border-radius: 50%;background: var(--tip-bd);color: #fff;font-size: 15px;font-weight: 800;text-align: center}[data-theme="dark"] .admonition.rtip .admonition-title::before{color: #1b1030}.admonition pre{margin: 10px 0}.admonition .table-wrap{background: var(--bg)}.teacher{background: var(--teach-bg);border-left: 6px solid var(--accent);border-radius: 8px;padding: 12px 18px;margin: 12px 0 20px;color: var(--teach-t);font-size: 1.02em}.teacher::before{content: "Chala mitrano \2014 Ravindra sir";display: block;font-family: var(--font-h);font-weight: 700;font-size: 12.5px;color: var(--accent2);text-transform: uppercase;letter-spacing: .6px;margin-bottom: 4px}.teacher p{margin: 5px 0}.objectives{background: var(--navy);color: #fff;padding: 14px 22px;border-radius: 8px;margin: 0 0 22px}[data-theme="dark"] .objectives{background: #0a1a2a;border: 1px solid var(--line)}.objectives b,.objectives strong{color: var(--mint);font-family: var(--font-h)}.objectives code{background: rgba(255,255,255,.1);color: #fde68a}.objectives ul{margin: 6px 0 0}.recap{background: var(--recap-bg);border: 1px solid var(--recap-bd);border-left: 6px solid var(--recap-bd);border-radius: 8px;padding: 12px 18px;margin: 30px 0 10px}.recap p:first-child{color: var(--recap-t);margin-top: 0}.recap p:first-child strong{color: var(--recap-t)}.summary{background: var(--bg2);border: 1px solid var(--line);border-left: 6px solid var(--accent);border-radius: 8px;padding: 12px 18px;margin: 20px 0}p.tline{font-style: italic;color: var(--tip-t);margin: 10px 0 6px;font-size: 1.04em}.qa h4{color: var(--accent2)}dt{font-weight: 700;color: var(--accent2);margin-top: 14px;font-family: var(--font-h)}dd{margin: 4px 0 10px 20px}dd p{margin: 3px 0}.co{display: inline-block;font-size: 12px;font-weight: 700;color: #fff;background: var(--accent);border-radius: 4px;padding: 0 6px;margin-left: 4px}.co.gen{background: #64748b}.steps{background: var(--bg2);border: 1px solid var(--line);border-radius: 8px;padding: 10px 18px 6px;margin: 14px 0 18px}.steps>p:first-child{font-family: var(--font-h);font-weight: 700;color: var(--accent2)}.ba{display: grid;grid-template-columns: 1fr 1fr;gap: 16px;margin: 10px 0 16px}.ba.stack{grid-template-columns: 1fr}h4.before{color: var(--warn-t)}h4.after{color: var(--ex-t)}.cols2{column-count: 2;column-gap: 28px}.cols2 table,.cols2 .table-wrap{break-inside: avoid}p.src{font-size: 13px;color: var(--tip-t);background: var(--tip-bg);display: inline-block;padding: 2px 10px;border-radius: 5px}p.src strong{color: var(--tip-t)}a.url{word-break: break-all}.lead{font-size: 1.12em;color: var(--muted)}.caption{font-size: 14px;color: var(--muted);font-style: italic;text-align: center}.diagram{margin: 16px 0 20px;text-align: center;overflow-x: auto}.diagram .table-wrap{border: 0}.diagram table{width: auto;margin: 0 auto}.diagram td{border: none;background: none !important;padding: 4px;vertical-align: middle;text-align: center}.box{display: inline-block;border: 1px solid var(--text);border-radius: 6px;padding: 6px 10px;min-width: 110px;background: var(--panel);text-align: left;font-size: 14.5px}.box b{display: block;font-family: var(--font-h);border-bottom: 1px solid var(--line);margin-bottom: 4px;padding-bottom: 2px}.box.fact{background: var(--accent);color: #fff}.box.dim{background: var(--bg2)}.box.step{background: var(--navy);color: #fff;text-align: center}.box.step b{color: var(--mint)}.arrow{font-size: 20px;color: var(--accent2);font-weight: bold}.about{margin-top: 24px;padding: 26px 30px;background: var(--navy);color: #fff;border-radius: 10px;border-left: 8px solid var(--accent)}.about h3{color: var(--mint);margin: 0 0 12px;font-size: 24px}.about p{color: #eee;font-size: 17px}.about a{color: var(--mint);font-weight: 600}.about b{color: #fff}.hero{display: grid;grid-template-columns: minmax(0,1.5fr) minmax(0,1fr);gap: 28px;align-items: center;background: linear-gradient(135deg,#0B1F33 0%,#0d2a40 60%,#0E4F5C 100%);color: #fff;border-radius: 14px;padding: 34px 34px 30px;margin: 0 0 24px;box-shadow: var(--shadow)}.eyebrow{color: var(--mint);text-transform: uppercase;letter-spacing: 1.4px;font-weight: 700;font-size: 13px;margin: 0}.content .hero-title{font-size: clamp(32px,5vw,48px);color: #fff;background: none;border: 0;padding: 0;margin: 6px 0 8px}.hero-sub{color: var(--mint);font-size: 19px;font-weight: 600;font-family: var(--font-h);margin: 0 0 12px}.hero-desc{color: #d8e1e8;font-size: 16px}.hero-desc span{color: #aebdca !important;font-size: 14px !important}.author-line{color: #fff}.author-line b{color: var(--mint)}.author-line a{color: var(--mint)}.hero-term{font-family: var(--mono);font-size: 13.5px;color: var(--mint);background: #06131f;border: 1px solid #1c4a5c;border-radius: 10px;padding: 16px 18px;line-height: 1.7;overflow-wrap: anywhere}.hero-term .p{color: #9ca3af}.hero-term .w{color: #fde68a}.btn{display: inline-block;background: var(--accent);color: #fff !important;text-decoration: none;font-weight: 700;padding: 10px 18px;border-radius: 8px;margin: 4px 8px 4px 0;font-family: var(--font-h);font-size: 15px}[data-theme="dark"] .btn{color: #06201d !important}.btn:hover{filter: brightness(1.1)}.btn.ghost{background: transparent;border: 2px solid var(--mint);color: var(--mint) !important;padding: 8px 16px}.content .btn.ghost:not(.hero .btn){color: var(--accent) !important;border-color: var(--accent)}.outline{display: grid;grid-template-columns: repeat(auto-fill,minmax(360px,1fr));gap: 16px}.ol-front{grid-column: 1 / -1;background: var(--bg2);border: 1px solid var(--line);border-radius: 10px;padding: 12px 16px;font-weight: 700}.ol-part{background: var(--panel);border: 1px solid var(--line);border-radius: 10px;padding: 14px 16px 10px;box-shadow: var(--shadow)}.ol-part h3{margin: 0 0 8px;font-size: 17px}.ol-part h3 a{color: var(--head);text-decoration: none}.ol-part h3 a:hover{color: var(--accent)}.ol-part .pn,.part-hero .partno{display: block;color: var(--accent);font-size: 12px;letter-spacing: 1px;text-transform: uppercase}.ol-ch{list-style: none;padding: 0 !important;margin: 0 !important;font-size: 15px}.ol-ch>li{border-top: 1px solid var(--line);padding: 5px 0;margin: 0}.ol-ch summary{cursor: pointer}.ol-ch summary a,.ol-ch li.nosec a{text-decoration: none;color: var(--text);font-weight: 600}.ol-ch summary a:hover,.ol-ch li.nosec a:hover{color: var(--accent)}.ol-ch li.nosec{padding-left: 17px}.ol-sec{font-size: 14px;padding-left: 22px !important;margin: 4px 0 6px !important}.ol-sec a{color: var(--muted);text-decoration: none}.ol-sec a:hover{color: var(--accent);text-decoration: underline}.part-hero{background: var(--navy);color: #fff;border-radius: 14px;padding: 36px 34px;margin-bottom: 24px}.part-hero .partno{color: var(--mint);font-weight: 700;font-size: 14px;letter-spacing: 1.6px}.content .parttitle{color: #fff;background: none;border-left: 6px solid #2DD4BF;padding: 4px 0 4px 16px;margin: 10px 0 10px;font-size: clamp(28px,4.2vw,40px)}.partsub{color: #cbd5e1;font-size: 17px;margin: 0}.cards{list-style: none;padding: 0 !important;display: grid;grid-template-columns: repeat(auto-fill,minmax(330px,1fr));gap: 16px}.cards .card{background: var(--panel);border: 1px solid var(--line);border-radius: 10px;padding: 14px 18px;box-shadow: var(--shadow);margin: 0}.cards h3{margin: 0 0 8px;font-size: 17px}.cards h3 a{color: var(--head);text-decoration: none}.cards h3 a:hover{color: var(--accent)}.mini{font-size: 14px;padding-left: 0 !important;list-style: none;margin: 0 !important}.mini a{color: var(--muted);text-decoration: none}.mini a:hover{color: var(--accent);text-decoration: underline}.concepts{list-style: none;padding: 0 !important;counter-reset: none;display: grid;gap: 8px}.concepts li{margin: 0}.concepts a{display: flex;gap: 14px;align-items: center;padding: 12px 16px;background: var(--panel);border: 1px solid var(--line);border-radius: 10px;text-decoration: none;color: var(--text);font-weight: 600;box-shadow: var(--shadow);transition: border-color .15s,transform .15s}.concepts a:hover{border-color: var(--accent);transform: translateX(3px)}.concepts .num{flex: none;min-width: 52px;text-align: center;background: var(--hl);color: var(--accent2);border-radius: 6px;padding: 2px 8px;font-family: var(--font-h);font-weight: 800}.pn-nav{display: grid;grid-template-columns: 1fr 1fr;gap: 14px;margin-top: 40px;padding-top: 22px;border-top: 1px solid var(--line)}.pnbtn{display: flex;flex-direction: column;gap: 3px;padding: 12px 16px;border: 1px solid var(--line);border-radius: 10px;text-decoration: none;background: var(--panel);box-shadow: var(--shadow);min-width: 0}.pnbtn:hover{border-color: var(--accent)}.pnbtn .dir{font-size: 13px;color: var(--accent);font-weight: 700;text-transform: uppercase;letter-spacing: .5px}.pnbtn .t{color: var(--head);font-weight: 600;font-family: var(--font-h);font-size: 15px;overflow: hidden;text-overflow: ellipsis;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical}.pnbtn.next{text-align: right;grid-column: 2}.foot{margin-top: 34px;padding: 18px 0 8px;border-top: 3px solid var(--accent);color: var(--muted);font-size: 14.5px;text-align: center}.foot p{margin: 4px 0}.foot p:first-child{color: var(--text);font-weight: 600}.foot .small{font-size: 12.5px}@media (max-width: 1100px){:root{--side-w: 270px}}@media (max-width: 900px){.menu-btn{display: flex}.sidebar{transform: translateX(-100%);transition: transform .22s ease;z-index: 60;width: min(86vw,330px);visibility: hidden;transition: transform .22s ease,visibility 0s .22s}body.nav-open .sidebar{transform: none;visibility: visible;transition: transform .22s ease;box-shadow: 0 0 40px rgba(0,0,0,.3)}.scrim{position: fixed;inset: var(--topbar-h) 0 0 0;background: rgba(0,0,0,.45);z-index: 55}.main{margin-left: 0}.hero{grid-template-columns: 1fr;padding: 26px 22px}}@media (max-width: 640px){html{font-size: 16px}:root{--topbar-h: 56px}.topbar{gap: 8px;padding: 0 10px}.brand small{display: none}.brand b{font-size: 15px}.brand svg{width: 22px;height: 27px}.search{width: auto;flex: 1;min-width: 0}.search input{font-size: 16px;height: 36px;padding-left: 30px;background-position: 9px center}.search input::placeholder{font-size: 14px}.results{position: fixed;left: 8px;right: 8px;top: calc(var(--topbar-h) + 6px);width: auto}.theme-btn{width: 36px;height: 36px}.main{padding: 14px 14px 24px}.content h1{font-size: 24px;padding: 8px 0 8px 12px}.content h2{font-size: 20px}.content h3{font-size: 17.5px}pre code{font-size: 13px}table{font-size: 14px}th,td{padding: 7px 9px}.admonition{padding: 10px 14px 8px}.admonition.rtip{padding: 12px 14px 10px}.ba{grid-template-columns: 1fr}.cols2{column-count: 1}.outline,.cards{grid-template-columns: 1fr}.pn-nav{grid-template-columns: 1fr}.pnbtn.next{grid-column: 1}.hero-term{display: none}.part-hero{padding: 24px 20px}}@media (max-width: 520px){.brand span{display: none}.search input::placeholder{font-size: 14px}}@media print{.topbar,.sidebar,.pn-nav,.copy-btn,.crumbs{display: none !important}.main{margin: 0;padding: 0}.shell{padding: 0}}.topnav{display: flex;align-items: center;gap: 4px;margin-left: 18px}.topnav>a,.dd-btn{color: #e2e8f0;text-decoration: none;font: 600 15px var(--font-h);padding: 8px 12px;border-radius: 8px;background: none;border: 0;cursor: pointer}.topnav>a:hover,.dd-btn:hover,.dd.open .dd-btn{background: rgba(255,255,255,.1);color: #fff}.topnav>a[aria-current],.dd-btn.on{color: var(--mint);box-shadow: inset 0 -2px 0 var(--mint)}.dd{position: relative}.dd-menu{display: none;position: absolute;left: 0;top: 44px;min-width: 280px;background: var(--panel);border: 1px solid var(--line);border-radius: 10px;box-shadow: 0 12px 40px rgba(0,0,0,.25);padding: 6px;z-index: 70}.dd.open .dd-menu{display: block}.dd-item{display: block;padding: 9px 12px;border-radius: 7px;text-decoration: none;color: var(--text)}a.dd-item:hover,a.dd-item.current{background: var(--hl)}.dd-item b{display: block;font-family: var(--font-h);color: var(--head);font-size: 15px}.dd-item small{color: var(--muted);font-size: 12.5px}.dd-item.soon{opacity: .6;cursor: default}.dd-item.soon small{font-style: italic}.li-ico{vertical-align: -2px}.sitenav{display: none;margin-bottom: 14px;padding-bottom: 10px;border-bottom: 1px solid var(--line)}.sitenav ul{list-style: none;margin: 0;padding: 0}.sitenav a{display: block;padding: 6px 9px;border-radius: 6px;color: var(--text);text-decoration: none;font-weight: 600}.sitenav a:hover{background: var(--hl)}.sitenav a.current{background: var(--accent);color: #fff}.sn-h,.tree-h{font: 700 11.5px var(--font-h);text-transform: uppercase;letter-spacing: .8px;color: var(--muted);margin: 0 0 6px 9px}.tree-h{margin: 0 0 8px}.tree-h a{display: block;padding: 8px 9px;font-size: 15px;letter-spacing: .2px;text-transform: none;color: var(--head);background: var(--hl);border-radius: 8px}.tree-h a.current{background: var(--accent);color: #fff}.soon-item{display: block;padding: 6px 9px;color: var(--muted)}.soon-item em{font-size: 12px}.tree .lv0.top>a,.tree .lv0.chap>details>summary{font-weight: 600;font-size: 14px}body.no-side .sidebar{display: none}body.no-side .main{margin-left: 0}.main.wide .content,.main.wide .crumbs,.main.wide .foot{max-width: 1120px}body.kind-home .content{max-width: 1120px}.intro-hero{background: linear-gradient(135deg,#0B1F33 0%,#0d2a40 55%,#0E4F5C 100%);color: #fff;border-radius: 16px;padding: 40px 40px 34px;margin: 6px 0 26px;box-shadow: var(--shadow)}.intro-hero .hero-title{font-size: clamp(30px,4.6vw,46px)}.hero-lead{font-size: 21px;line-height: 1.5;color: #e8eef3;max-width: 820px;margin: 0 0 12px}.hero-lead b{color: var(--mint)}.intro-hero .hero-desc{max-width: 780px;font-size: 17px}.li-btn .li-ico{margin-right: 4px}.ccards{list-style: none;padding: 0 !important;display: grid;grid-template-columns: repeat(auto-fill,minmax(300px,1fr));gap: 18px;margin: 10px 0 30px !important}.ccard{margin: 0 !important;--cc: #0E7C86}.ccard-in{display: flex;flex-direction: column;height: 100%;background: var(--panel);border: 1px solid var(--line);border-top: 6px solid var(--cc);border-radius: 12px;padding: 18px 20px 16px;box-shadow: var(--shadow);text-decoration: none;color: var(--text);transition: transform .15s,border-color .15s}a.ccard-in:hover{transform: translateY(-3px);border-color: var(--cc)}.ccard h3{margin: 4px 0 2px;font-size: 22px;color: var(--head)}.cc-cat{font: 700 11.5px var(--font-h);text-transform: uppercase;letter-spacing: 1px;color: var(--cc)}.cc-book{margin: 0 0 8px !important;font-weight: 600;color: var(--muted);font-size: 14.5px}.cc-desc{font-size: 15px;margin: 0 0 12px !important;flex: 1}.cc-stats{display: flex;gap: 10px;flex-wrap: wrap;margin: 0 0 12px !important}.cc-stats span,.hero-stats span{background: var(--hl);border-radius: 999px;padding: 3px 12px;font-size: 14px}.cc-stats b{color: var(--head)}.cc-go{font: 700 15px var(--font-h);color: var(--cc)}.ccard.soon{--cc: #94a3b8}.ccard.soon .ccard-in{border-style: dashed;border-top-style: solid;background: var(--bg2);box-shadow: none;opacity: .85}.cc-badge{display: inline-block;align-self: flex-start;background: #fde68a;color: #713f12;font: 700 12.5px var(--font-h);text-transform: uppercase;letter-spacing: .8px;border-radius: 6px;padding: 3px 10px;margin: 6px 0 10px !important}.c-aws{--cc: #c2570c}.c-powerbi{--cc: #b58500}.c-excel{--cc: #217346}.c-cyber{--cc: #0E7C86}[data-theme="dark"] .c-aws{--cc: #fb923c}[data-theme="dark"] .c-powerbi{--cc: #F2C811}[data-theme="dark"] .c-excel{--cc: #4ade80}[data-theme="dark"] .c-cyber{--cc: #2DD4BF}.home-connect{background: var(--bg2);border: 1px solid var(--line);border-radius: 12px;padding: 4px 22px 10px}.home-connect h2{border: 0;margin-top: 14px}.hero-stats{display: flex;gap: 10px;flex-wrap: wrap}.hero-stats span{background: rgba(255,255,255,.12);color: #fff}.hero-stats b{color: var(--mint)}.course-hero{grid-template-columns: 1fr}.nf-list li{font-size: 18px}body[data-course="aws"]{--accent: #c2570c;--accent2: #0b3d6e;--hl: #fdf1e7}body[data-course="powerbi"]{--accent: #9a7000;--accent2: #6b4f00;--hl: #fdf6dc}body[data-course="excel"]{--accent: #217346;--accent2: #185C37;--hl: #e8f4ec}[data-theme="dark"] body[data-course="aws"]{--accent: #fb923c;--accent2: #fdba74;--hl: #33230f}[data-theme="dark"] body[data-course="powerbi"]{--accent: #F2C811;--accent2: #fde68a;--hl: #332b0c}[data-theme="dark"] body[data-course="excel"]{--accent: #4ade80;--accent2: #86efac;--hl: #10301d}[data-theme="dark"] .tree a.current,[data-theme="dark"] .tree-h a.current,[data-theme="dark"] .sitenav a.current{color: #111}.admonition.trainer{background: var(--tip-bg);border: 2px solid var(--tip-bd);border-left-width: 8px;box-shadow: 0 4px 16px rgba(107,63,160,.18);padding: 14px 20px 12px}.admonition.trainer .admonition-title{color: var(--tip-t);font-size: 17px;display: flex;align-items: center;gap: 10px}.admonition.trainer .admonition-title::before{content: "R";flex: none;width: 28px;height: 28px;line-height: 28px;border-radius: 50%;background: var(--tip-bd);color: #fff;font-size: 15px;font-weight: 800;text-align: center}.admonition.summary .admonition-title::before{content: "\2605 "}.admonition.danger .admonition-title::before{content: "\2716 "}.practice{background: var(--bg2);border: 1px dashed var(--accent);border-radius: 8px;padding: 8px 18px;margin: 12px 0}.interview dt{color: var(--head)}.signature{margin-top: 18px;padding-top: 10px;border-top: 1px solid var(--line)}.signature .sname{font: 700 19px var(--font-h);color: var(--head)}.signature .srole{color: var(--muted)}.highlight{position: relative;margin: 12px 0 18px}.highlight pre{margin: 0}blockquote{border-left: 4px solid var(--line);margin: 10px 0;padding: 4px 14px;color: var(--muted)}.ad-slot{display: block;max-width: 100%;overflow: hidden;margin: 22px 0;text-align: center;min-height: 0;clear: both}.ad-slot:empty{display: none;margin: 0}.ad-slot ins{max-width: 100%}.ad-label{display: block;font-size: 11px;letter-spacing: .6px;text-transform: uppercase;color: var(--muted);margin-bottom: 4px}.results .rk{display: inline-block;font: 700 11px var(--font-h);text-transform: uppercase;letter-spacing: .5px;color: #fff;background: #0E7C86;border-radius: 4px;padding: 1px 7px;margin-right: 6px;vertical-align: 1px}.results .rk.k-aws{background: #c2570c}.results .rk.k-powerbi{background: #9a7000}.results .rk.k-excel{background: #217346}.results .rk.k-{background: #475569}.results .rc{display: inline}.results .rt{display: block;margin-top: 2px}.results .rcount{font-size: 12.5px;color: var(--muted);padding: 4px 11px 6px;border-bottom: 1px solid var(--line);margin-bottom: 4px}.foot .fname{font-family: var(--font-h)}@media (max-width: 1180px){.topnav>a,.dd-btn{padding: 8px 9px;font-size: 14.5px}.brand small{display: none}}@media (max-width: 900px){.topnav{display: none}.sitenav{display: block}body.no-side .sidebar{display: block}.intro-hero{padding: 26px 22px}.search{width: min(340px,45vw)}}@media (max-width: 640px){.hero-lead{font-size: 18px}.ccards{grid-template-columns: 1fr}.search{width: auto}}.intro-hero .btn.ghost,.content .intro-hero .btn.ghost{color: var(--mint) !important;border-color: var(--mint)}.content .ccard h3{color: var(--head)}.ad-slot:has(ins[data-ad-status="unfilled"]){display: none}.ba,.ba.stack{display: block}.ba h4{margin: 14px 0 6px}.highlight .c{color: #8B949E;font-style: italic}.highlight .err{color: #F85149}.highlight .esc{color: #E6EDF3}.highlight .g{color: #E6EDF3}.highlight .k{color: #FF7B72}.highlight .l{color: #A5D6FF}.highlight .n{color: #E6EDF3}.highlight .o{color: #FF7B72;font-weight: bold}.highlight .x{color: #E6EDF3}.highlight .p{color: #E6EDF3}.highlight .ch{color: #8B949E;font-style: italic}.highlight .cm{color: #8B949E;font-style: italic}.highlight .cp{color: #8B949E;font-weight: bold;font-style: italic}.highlight .cpf{color: #8B949E;font-style: italic}.highlight .c1{color: #8B949E;font-style: italic}.highlight .cs{color: #8B949E;font-weight: bold;font-style: italic}.highlight .gd{color: #FFA198;background-color: #490202}.highlight .ge{color: #E6EDF3;font-style: italic}.highlight .ges{color: #E6EDF3;font-weight: bold;font-style: italic}.highlight .gr{color: #FFA198}.highlight .gh{color: #79C0FF;font-weight: bold}.highlight .gi{color: #56D364;background-color: #0F5323}.highlight .go{color: #8B949E}.highlight .gp{color: #8B949E}.highlight .gs{color: #E6EDF3;font-weight: bold}.highlight .gu{color: #79C0FF}.highlight .gt{color: #FF7B72}.highlight .g-Underline{color: #E6EDF3;text-decoration: underline}.highlight .kc{color: #79C0FF}.highlight .kd{color: #FF7B72}.highlight .kn{color: #FF7B72}.highlight .kp{color: #79C0FF}.highlight .kr{color: #FF7B72}.highlight .kt{color: #FF7B72}.highlight .ld{color: #79C0FF}.highlight .m{color: #A5D6FF}.highlight .s{color: #A5D6FF}.highlight .na{color: #E6EDF3}.highlight .nb{color: #E6EDF3}.highlight .nc{color: #F0883E;font-weight: bold}.highlight .no{color: #79C0FF;font-weight: bold}.highlight .nd{color: #D2A8FF;font-weight: bold}.highlight .ni{color: #FFA657}.highlight .ne{color: #F0883E;font-weight: bold}.highlight .nf{color: #D2A8FF;font-weight: bold}.highlight .nl{color: #79C0FF;font-weight: bold}.highlight .nn{color: #FF7B72}.highlight .nx{color: #E6EDF3}.highlight .py{color: #79C0FF}.highlight .nt{color: #7EE787}.highlight .nv{color: #79C0FF}.highlight .ow{color: #FF7B72;font-weight: bold}.highlight .pm{color: #E6EDF3}.highlight .w{color: #6E7681}.highlight .mb{color: #A5D6FF}.highlight .mf{color: #A5D6FF}.highlight .mh{color: #A5D6FF}.highlight .mi{color: #A5D6FF}.highlight .mo{color: #A5D6FF}.highlight .sa{color: #79C0FF}.highlight .sb{color: #A5D6FF}.highlight .sc{color: #A5D6FF}.highlight .dl{color: #79C0FF}.highlight .sd{color: #A5D6FF}.highlight .s2{color: #A5D6FF}.highlight .se{color: #79C0FF}.highlight .sh{color: #79C0FF}.highlight .si{color: #A5D6FF}.highlight .sx{color: #A5D6FF}.highlight .sr{color: #79C0FF}.highlight .s1{color: #A5D6FF}.highlight .ss{color: #A5D6FF}.highlight .bp{color: #E6EDF3}.highlight .fm{color: #D2A8FF;font-weight: bold}.highlight .vc{color: #79C0FF}.highlight .vg{color: #79C0FF}.highlight .vi{color: #79C0FF}.highlight .vm{color: #79C0FF}.highlight .il{color: #A5D6FF}.byline{margin:-6px 0 12px;font-size:14px;color:var(--muted)}.byline a{color:var(--accent);font-weight:600;text-decoration:none}.share{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0 18px}.share-l{font-size:13px;font-weight:700;color:var(--muted);margin-right:2px}.sh{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:36px;height:36px;padding:0 9px;border-radius:8px;border:1px solid var(--line);background:var(--bg2);color:var(--head);font:inherit;font-size:13.5px;cursor:pointer;text-decoration:none;box-sizing:border-box}.sh[hidden]{display:none}.sh svg{width:18px;height:18px;flex:none}.sh:hover,.sh:focus-visible{border-color:var(--accent);color:var(--accent)}.sh-wa svg{color:#25D366}.sh-fb svg{color:#1877F2}.sh-li svg{color:#0A66C2}.sh-tg svg{color:#229ED9}.share-end{margin-top:26px;padding-top:14px;border-top:1px solid var(--line)}.course-hero+.share{margin-top:16px}@media (max-width:640px){.sh .sh-t{display:none}.sh{min-width:40px;height:40px}}.in-short{margin:12px 0 16px;padding:10px 14px;border-left:4px solid var(--accent);background:var(--bg2);border-radius:6px}.faq{margin:28px 0}.faq-item{padding:10px 0;border-bottom:1px solid var(--line)}.content .faq-item h3{font-size:17px;margin:0 0 4px}.faq-item p{margin:0}.kw-intro{font-weight:600}.related{margin:28px 0 8px;padding:14px 18px;border:1px solid var(--line);border-radius:10px;background:var(--bg2)}.content .related h2{font-size:18px;margin:0 0 8px;padding:0;border:0}.related ul{margin:0;padding-left:18px}.related li{margin:3px 0}.related .num{font-weight:700;color:var(--accent);margin-right:6px}.related-all{margin:8px 0 0;font-size:14px}.content h2.hv3{font-size:19px;color:var(--accent2);margin:26px 0 8px;padding-bottom:0;border-bottom:0}.content h2.hv4,.content h3.hv4{font-size:17px;color:var(--head);margin:20px 0 6px;padding-bottom:0;border-bottom:0}@media (max-width:640px){.content h2.hv3{font-size:17.5px}}.content h2.before,.content h3.before{color:var(--warn-t)}.content h2.after,.content h3.after{color:var(--ex-t)}.about h2.about-name{color:var(--mint);margin:0 0 12px;font-size:24px;border:0;padding:0}.enq-cta{margin:34px 0 10px;padding:18px 22px;border-radius:12px;background:var(--bg2);border:1px solid var(--line);border-left:6px solid var(--accent)}.content .enq-cta h2{margin:0 0 8px;border:0;padding:0;font-size:21px}.enq-contact{padding:12px 18px;border-radius:10px;background:var(--bg2);border:1px solid var(--line);margin:12px 0 20px}.enq-contact p{margin:6px 0}.enq-form{max-width:560px}.f-row{display:flex;flex-direction:column;gap:4px;margin:0 0 14px;border:0;padding:0;min-width:0}.f-row label,.f-row legend{font-weight:600;font-size:14.5px;color:var(--head)}.f-row input[type=text],.f-row input[type=tel],.f-row input[type=email],.f-row select,.f-row textarea{font:inherit;font-size:16px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--text);width:100%;box-sizing:border-box}.f-row input:focus,.f-row select:focus,.f-row textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.f-row small{font-size:12.5px;color:var(--muted)}.f-mode{flex-direction:row;flex-wrap:wrap;gap:18px;align-items:center}.f-mode legend{margin-bottom:4px;padding:0}.f-mode label{font-weight:400}.req{color:#c0392b}.opt{font-weight:400;color:var(--muted);font-size:13px}.hp{position:absolute!important;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.consent{font-size:13px;color:var(--muted)}.enq-status{margin-top:10px;font-weight:600}.enq-status.ok{color:#15803d}.enq-status.err{color:#b91c1c}[data-theme="dark"] .enq-status.ok{color:#4ade80}[data-theme="dark"] .enq-status.err{color:#f87171}.ig-ico,.li-ico{vertical-align:-2px}.topnav .nav-enq{font-weight:700}.ig-btn .ig-ico{margin-right:4px;width:17px;height:17px}body .content .intro-hero .btn.ghost:not(.hero .btn){color:var(--mint)!important;border-color:var(--mint)}