@font-face{font-family:Poppins;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/f836bffb0378cb18-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:Poppins;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/204a0a5e1cf12efb-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Poppins;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/2cc74b96cdc9383d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Poppins;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/ac0a48a8bf13ca80-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:Poppins;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/ae6a2fe692ea80aa-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Poppins;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/c99ef75952aca458-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Poppins;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/0d4c388da6b99db2-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:Poppins;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/bd907a34e79d0cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Poppins;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/7c1535108079abc4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Poppins;font-style:italic;font-weight:700;font-display:swap;src:url(/_next/static/media/334d90a676c555e4-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:Poppins;font-style:italic;font-weight:700;font-display:swap;src:url(/_next/static/media/8727a9eb9a9ed107-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Poppins;font-style:italic;font-weight:700;font-display:swap;src:url(/_next/static/media/cf1f69a0c8aed54d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Poppins;font-style:italic;font-weight:800;font-display:swap;src:url(/_next/static/media/cef19ad087fd80a0-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:Poppins;font-style:italic;font-weight:800;font-display:swap;src:url(/_next/static/media/7519ebedca413f1f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Poppins;font-style:italic;font-weight:800;font-display:swap;src:url(/_next/static/media/8f91baacbcce7392-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/034d78ad42e9620c-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/fe0777f1195381cb-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/eafabf029ad39a43-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/db911767852bc875-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/f10b8e9d91f3edcb-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8888a3826f4a3af4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/29e7bbdce9332268-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c3bc380753a8436c-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/0484562807a97172-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/29a4aea02fdee119-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/a1386beebedccca4-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/b957ea75a84b6ea7-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Poppins;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/28485c0de2075f40-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:Poppins;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/5fb25f343c7550ca-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Poppins;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/7db6c35d839a711c-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Poppins Fallback;src:local("Arial");ascent-override:93.62%;descent-override:31.21%;line-gap-override:8.92%;size-adjust:112.16%}.__className_4afbf9{font-family:Poppins,Poppins Fallback}.__variable_4afbf9{--font-poppins:"Poppins","Poppins Fallback"}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/a28c2b9ac7af2e56-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/a0c01b36d2b8a87c-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/5c1ccc374f1e8ba1-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e53ca308b0847562-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/204110a767e6228b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/bb3399ef2d1151e0-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Roboto Slab;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/71e733b07472b8d3-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Roboto Slab Fallback;src:local("Times New Roman");ascent-override:89.69%;descent-override:23.20%;line-gap-override:0.00%;size-adjust:116.83%}.__className_0a7615{font-family:Roboto Slab,Roboto Slab Fallback;font-weight:400;font-style:normal}.__variable_0a7615{--font-roboto-slab:"Roboto Slab","Roboto Slab Fallback"}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#abb2bf;background:#282c34}.hljs-comment,.hljs-quote{color:#5c6370;font-style:italic}.hljs-doctag,.hljs-formula,.hljs-keyword{color:#c678dd}.hljs-deletion,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-subst{color:#e06c75}.hljs-literal{color:#56b6c2}.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#98c379}.hljs-attr,.hljs-number,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-pseudo,.hljs-template-variable,.hljs-type,.hljs-variable{color:#d19a66}.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-symbol,.hljs-title{color:#61aeee}.hljs-built_in,.hljs-class .hljs-title,.hljs-title.class_{color:#e6c07b}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}:root{--font-main:var(--font-poppins),"Segoe UI",Tahoma,Geneva,Verdana,sans-serif;--font-heading:var(--font-main);--font-article:var(--font-roboto-slab),Georgia,"Times New Roman",serif;--font-article-weight:400;--font-article-line-height:1.6;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:2rem;--text-3xl:2.5rem;--fs-body:var(--text-base);--fs-nav:var(--text-base);--fs-card-title:var(--text-base);--fs-course-title:var(--text-lg);--fs-container-title:var(--text-xl);--fs-section-title:var(--text-2xl);--fs-hero-text:var(--text-lg);--fs-hero-title:var(--text-3xl);--fs-article-title:var(--text-2xl);--fs-article-h2:var(--text-xl);--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-page:var(--space-4);--space-section:var(--space-12);--space-card:var(--space-4);--space-grid:var(--space-4);--space-article:var(--space-4);--page-width:70rem;--article-width:45rem;--radius-sm:0.25rem;--radius-md:1rem;--radius-pill:999px;--radius-card:var(--radius-md);--radius-image:var(--radius-sm);--btn-min-height:2.5rem;--btn-padding-x:1rem;--btn-padding-y:0.65rem;--btn-gap:0.5rem;--btn-font-size:var(--text-sm);--btn-font-weight:600;--btn-radius:var(--radius-pill);--transition-fast:150ms ease;--shadow-sm:0 1px 2px rgb(0 0 0/0.06);--shadow-md:0 8px 24px rgb(0 0 0/0.12);--dot-size:1px;--dot-space:28px;--dot-position:10px 10px;--bg-dots:radial-gradient(circle,rgb(var(--dot-color)/var(--dot-opacity)) var(--dot-size),transparent var(--dot-size));--bg-gradient:linear-gradient(to bottom,var(--gradient-top) 0%,var(--gradient-middle) 55%,var(--gradient-bottom) 100%)}:root,[data-theme=dark]{--code-background:#0a0b14;--code-text:#ccc;--code-button-color:#ccc;--code-button-hover:#fff;--background-color:#151622;--background-color-t:#151622;--text-color:#fafafa;--secondary-text-color:#abb0bb;--dot-color:140 160 185;--dot-opacity:0.14;--gradient-top:#232139;--gradient-middle:#171927;--gradient-bottom:#0f1021;--surface-color:#1c1e2e;--surface-raised:#232538;--surface-hover:#2a2d42;--glass-bg:var(--surface-color);--glass-bg-raised:var(--surface-raised);--glass-bg-hover:var(--surface-hover);--line-color:#9c9ea738;--brand-soft-color:#a387ff;--brand-strong-color:#5b34da;--brand-transparent:#5b34da47;--featured-course-bg:#2a2150;--featured-course-bg-hover:#332864;--featured-course-border:#a387ff;--featured-course-shadow:none;--review-color:#ffe188;--accent-red:#ff4444;--nav-shadow:var(--shadow-sm);--table-background:#181a2b;--table-header-background:#20233a;--table-border:rgb(255 255 255/0.08)}[data-theme=light]{--code-background:#f4f4f6;--code-text:#222;--code-button-color:#555;--code-button-hover:#000;--background-color:#f4f5f9;--background-color-t:#f4f5f9;--text-color:#1f2131;--secondary-text-color:#5a6170;--dot-color:80 95 125;--dot-opacity:0.11;--gradient-top:#e6e9f2;--gradient-middle:#eef0f7;--gradient-bottom:#f4f5f9;--surface-color:#ffffff;--surface-raised:#f8f9fc;--surface-hover:#eef0f6;--glass-bg:var(--surface-color);--glass-bg-raised:var(--surface-raised);--glass-bg-hover:var(--surface-hover);--line-color:#14162622;--brand-soft-color:#7b5cf0;--brand-strong-color:#5b34da;--brand-transparent:#7b5cf01a;--featured-course-bg:#f5f3ff;--featured-course-bg-hover:#ebe6ff;--featured-course-border:var(--brand-soft-color);--featured-course-shadow:none;--review-color:#c9920a;--accent-red:#e53935;--nav-shadow:var(--shadow-sm);--table-background:#fff;--table-border:#d8dde8;--table-header-background:#f5f7fb}:root,[data-theme=dark]{--comment-heading:#f4f1ff;--comment-text:#f0edf8;--comment-input-background:rgb(8 8 22/0.4);--comment-input-border:rgb(255 255 255/0.18);--comment-input-text:#f4f1ff;--comment-placeholder:rgb(255 255 255/0.45);--comment-focus-border:#a78bfa;--comment-focus-ring:rgb(167 139 250/0.16);--comment-counter:rgb(255 255 255/0.5);--comment-button-background:#7c3aed;--comment-button-background-hover:#6d28d9;--comment-button-text:#fff;--comment-cancel-text:rgb(255 255 255/0.65);--comment-cancel-text-hover:#fff;--comment-message-text:rgb(255 255 255/0.65);--comment-muted-text:rgb(255 255 255/0.55);--comment-divider:rgb(255 255 255/0.12);--comment-reply-divider:rgb(255 255 255/0.08);--comment-reply-line:rgb(255 255 255/0.12);--comment-avatar-background:#1e1e2a;--comment-avatar-text:#fff;--comment-author-text:#f4f1ff;--comment-date-text:rgb(255 255 255/0.45);--comment-body-text:rgb(255 255 255/0.78);--comment-admin-text:#c4b5fd;--comment-reply-text:#a78bfa;--comment-delete-text:#f87171}[data-theme=light]{--comment-heading:#1f2233;--comment-text:#272a3b;--comment-input-background:#fff;--comment-input-border:rgb(31 34 51/0.22);--comment-input-text:#272a3b;--comment-placeholder:rgb(39 42 59/0.5);--comment-focus-border:#7c3aed;--comment-focus-ring:rgb(124 58 237/0.14);--comment-counter:rgb(39 42 59/0.58);--comment-button-background:#7c3aed;--comment-button-background-hover:#6d28d9;--comment-button-text:#fff;--comment-cancel-text:rgb(39 42 59/0.68);--comment-cancel-text-hover:#272a3b;--comment-message-text:rgb(39 42 59/0.72);--comment-muted-text:rgb(39 42 59/0.62);--comment-divider:rgb(31 34 51/0.15);--comment-reply-divider:rgb(31 34 51/0.1);--comment-reply-line:rgb(31 34 51/0.17);--comment-avatar-background:#25283a;--comment-avatar-text:#fff;--comment-author-text:#272a3b;--comment-date-text:rgb(39 42 59/0.55);--comment-body-text:rgb(39 42 59/0.84);--comment-admin-text:#6d28d9;--comment-reply-text:#7c3aed;--comment-delete-text:#dc2626}:root,[data-theme=dark]{--quiz-heading:rgb(255 255 255/0.96);--quiz-text:rgb(255 255 255/0.87);--quiz-muted-text:rgb(255 255 255/0.58);--quiz-feedback-text:rgb(255 255 255/0.72);--quiz-accent:#7c3aed;--quiz-accent-light:#a78bfa;--quiz-progress-background:rgb(255 255 255/0.09);--quiz-answer-background:rgb(255 255 255/0.03);--quiz-answer-border:rgb(255 255 255/0.12);--quiz-answer-text:rgb(255 255 255/0.87);--quiz-answer-hover-background:rgb(124 58 237/0.08);--quiz-answer-hover-border:rgb(167 139 250/0.55);--quiz-focus-border:rgb(167 139 250/0.9);--quiz-focus-ring:rgb(124 58 237/0.18);--quiz-selected-background:rgb(124 58 237/0.14);--quiz-selected-border:rgb(167 139 250/0.82);--quiz-selected-text:rgb(255 255 255/0.96);--quiz-letter-background:rgb(255 255 255/0.045);--quiz-letter-border:rgb(255 255 255/0.14);--quiz-letter-text:rgb(255 255 255/0.72);--quiz-selected-letter-background:rgb(124 58 237/0.2);--quiz-selected-letter-border:rgb(167 139 250/0.65);--quiz-selected-letter-text:#ddd6fe;--quiz-correct-background:rgb(34 197 94/0.11);--quiz-correct-border:rgb(74 222 128/0.55);--quiz-correct-answer-text:rgb(255 255 255/0.9);--quiz-correct-text:#86efac;--quiz-correct-icon:#86efac;--quiz-correct-letter-background:rgb(34 197 94/0.16);--quiz-correct-letter-border:rgb(74 222 128/0.45);--quiz-incorrect-background:rgb(239 68 68/0.1);--quiz-incorrect-border:rgb(248 113 113/0.58);--quiz-incorrect-answer-text:rgb(255 255 255/0.9);--quiz-incorrect-text:#fca5a5;--quiz-incorrect-icon:#fca5a5;--quiz-incorrect-letter-background:rgb(239 68 68/0.15);--quiz-incorrect-letter-border:rgb(248 113 113/0.45);--quiz-correct-feedback-background:rgb(34 197 94/0.08);--quiz-correct-feedback-border:rgb(74 222 128/0.28);--quiz-incorrect-feedback-background:rgb(239 68 68/0.08);--quiz-incorrect-feedback-border:rgb(248 113 113/0.3);--quiz-result-icon-background:rgb(124 58 237/0.14);--quiz-result-icon-border:rgb(167 139 250/0.35);--quiz-result-icon-text:#c4b5fd;--quiz-result-percentage:#c4b5fd;--quiz-empty-border:rgb(255 255 255/0.16)}[data-theme=light]{--quiz-heading:#18181b;--quiz-text:#27272a;--quiz-muted-text:#71717a;--quiz-feedback-text:#52525b;--quiz-accent:#7c3aed;--quiz-accent-light:#8b5cf6;--quiz-progress-background:#e4e4e7;--quiz-answer-background:#fff;--quiz-answer-border:#d4d4d8;--quiz-answer-text:#27272a;--quiz-answer-hover-background:#f5f3ff;--quiz-answer-hover-border:#a78bfa;--quiz-focus-border:#8b5cf6;--quiz-focus-ring:rgb(124 58 237/0.18);--quiz-selected-background:#ede9fe;--quiz-selected-border:#8b5cf6;--quiz-selected-text:#4c1d95;--quiz-letter-background:#f4f4f5;--quiz-letter-border:#d4d4d8;--quiz-letter-text:#52525b;--quiz-selected-letter-background:#ddd6fe;--quiz-selected-letter-border:#8b5cf6;--quiz-selected-letter-text:#4c1d95;--quiz-correct-background:#f0fdf4;--quiz-correct-border:#86efac;--quiz-correct-answer-text:#166534;--quiz-correct-text:#15803d;--quiz-correct-icon:#16a34a;--quiz-correct-letter-background:#dcfce7;--quiz-correct-letter-border:#86efac;--quiz-incorrect-background:#fef2f2;--quiz-incorrect-border:#fca5a5;--quiz-incorrect-answer-text:#991b1b;--quiz-incorrect-text:#dc2626;--quiz-incorrect-icon:#dc2626;--quiz-incorrect-letter-background:#fee2e2;--quiz-incorrect-letter-border:#fca5a5;--quiz-correct-feedback-background:#f0fdf4;--quiz-correct-feedback-border:#bbf7d0;--quiz-incorrect-feedback-background:#fef2f2;--quiz-incorrect-feedback-border:#fecaca;--quiz-result-icon-background:#ede9fe;--quiz-result-icon-border:#c4b5fd;--quiz-result-icon-text:#7c3aed;--quiz-result-percentage:#7c3aed;--quiz-empty-border:#d4d4d8}*,:after,:before{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip}::selection{background-color:var(--brand-strong-color);color:white}body{min-height:100dvh;display:flex;flex-direction:column;color:var(--text-color);font-family:var(--font-main);font-size:var(--fs-body);background-color:var(--background-color);background-image:none}.site-shell{flex:1 1;flex-direction:column}.site-content,.site-shell{display:flex;min-height:100dvh;width:100%;max-width:100%;overflow-x:clip}.site-content{flex:1 0 auto;flex-direction:column}.page-dotted{position:fixed;inset:0;z-index:0;pointer-events:none;background-color:var(--background-color);background-image:var(--bg-dots),var(--bg-gradient);background-size:var(--dot-space) var(--dot-space),100% 100%;background-position:var(--dot-position),0 0}a{text-decoration:none;color:var(--text-color)}.italic{color:var(--brand-soft-color);font-style:italic}body nav.site-nav{flex-shrink:0;width:100%;padding:var(--space-page);font-size:var(--fs-nav);background:transparent;z-index:100;position:relative}footer,main,nav{position:relative;z-index:1}body nav.site-nav ul{list-style:none;justify-content:center;gap:var(--space-2);margin:0 auto;width:min(calc(var(--page-width) - var(--space-page) * 2),100%)}body nav.site-nav li,body nav.site-nav ul{display:flex;align-items:center}body nav.site-nav li:first-child{margin-right:auto}body nav.site-nav .nav-user,body nav.site-nav .nav-user :is(.cl-userButton-root,.cl-userButtonTrigger,.cl-avatarBox){display:flex;align-items:center;justify-content:center}body nav.site-nav .nav-user :is(.cl-userButtonBox,.cl-userButtonTrigger,.cl-avatarBox){width:var(--btn-min-height);height:var(--btn-min-height)}body nav.site-nav a.nav-brand{display:inline-flex;align-items:center;width:auto;min-height:auto;padding:.15em 0;border:none;border-radius:0;background:none;box-shadow:none;font-size:1.35rem;font-weight:500;gap:.65rem;color:var(--text-color)}body nav.site-nav a.nav-brand:hover{background:none;color:var(--brand-soft-color);filter:none}body nav.site-nav a svg{fill:currentColor}body nav.site-nav a.nav-brand img{display:block;width:44px;height:44px;flex-shrink:0;border-radius:.5rem}.theme-toggle-icons{display:block;width:24px;height:24px;overflow:hidden;flex-shrink:0}.theme-toggle-track{display:flex;flex-direction:column;transition:transform .3s ease}[data-theme=dark] .theme-toggle-track{transform:translateY(-50%)}[data-theme=light] .theme-toggle-track{transform:translateY(0)}.theme-toggle .theme-icon{display:block;width:24px;height:24px;flex-shrink:0;fill:currentColor}@media (prefers-reduced-motion:reduce){.theme-toggle-track{transition:none}}main{flex:1 1;width:min(var(--page-width),100%);margin:0 auto;padding:var(--space-page);font-size:var(--fs-body)}section{padding:var(--space-section) 0}h1,h2{text-wrap:balance}h1{margin-top:5rem;color:var(--text-color);font-family:var(--font-main);font-size:var(--fs-hero-title);font-weight:600;line-height:1.05}.subheading,h1{text-align:center}.subheading{margin-top:2rem;font-size:var(--fs-hero-text);line-height:1.4}.preview-launch-notice{margin:1.5rem auto 0;max-width:42rem;padding:.875rem 1rem;border:1px solid var(--brand-soft-color);border-radius:.75rem;background-color:var(--brand-transparent);color:var(--text-color);font-size:var(--fs-body);line-height:1.5;text-align:center}h2{font-size:var(--fs-container-title);line-height:1.2}h2,section h2{margin-bottom:3.5rem;font-weight:600}section h2{color:var(--text-color);font-family:var(--font-main);font-size:var(--fs-section-title);line-height:1.25;text-align:center}.footer{flex-shrink:0;margin:0;padding:.625rem 1rem;border-top:1px solid var(--line-color)}.footer,.footer-content{width:100%;max-width:100%}.footer-content{display:flex;align-items:center;justify-content:space-between;gap:1rem}.footer-copyright{flex-shrink:0;color:var(--secondary-text-color);font-size:.75rem;line-height:1}.footer-links{display:flex;align-items:center;gap:.75rem;flex:1 1;min-width:0;flex-wrap:wrap;justify-content:flex-end}.footer-links a{display:inline-flex;align-items:center;padding:0;border:none;background:none;min-height:auto;color:var(--secondary-text-color);font-size:.75rem;font-weight:400;line-height:1;white-space:nowrap;transition:color var(--transition-fast)}.footer-links a:hover{color:var(--text-color)}@media (max-width:1150px){.theme-toggle-label,body nav.site-nav .no-mobile{display:none}body nav.site-nav ul{justify-content:center}}@media (max-width:800px){:root{--fs-body:var(--text-sm);--fs-nav:var(--text-sm);--fs-card-title:var(--text-sm);--fs-container-title:1.3125rem;--fs-section-title:1.75rem;--fs-hero-text:1.09375rem;--fs-hero-title:2.1875rem;--fs-article-title:1.75rem;--fs-article-h2:1.3125rem}body nav.site-nav{margin-top:var(--space-4)}h1{margin-top:var(--space-6)}body nav.site-nav li:first-child{margin-right:0}body nav.site-nav a:not(.nav-brand) svg{display:none}}@media (max-width:480px){.footer{padding:.5rem .75rem}.footer-content{gap:.5rem}.footer-copyright,.footer-links a{font-size:.6875rem}.footer-links{gap:.5rem}}.grid-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr));grid-gap:var(--space-grid);gap:var(--space-grid);justify-content:start}.grid-container>.course-card{max-width:24rem;width:100%}.flex-container{flex-wrap:wrap;justify-content:center}.flex-container,.guides-scroll{display:flex;gap:var(--space-grid)}.guides-scroll{flex-wrap:nowrap;overflow:auto hidden;overscroll-behavior-x:contain;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;touch-action:pan-x pinch-zoom}.guides-scroll .card{flex:1 0 min(300px,100%);min-width:min(300px,100%)}.guides-scroll a.card:hover{scale:none}@supports not selector(::scroll-button(right)){.guides-scroll{scrollbar-width:thin;scrollbar-color:var(--secondary-text-color) transparent}.guides-scroll::-webkit-scrollbar{height:.5rem;width:0}.guides-scroll::-webkit-scrollbar-thumb{background-color:var(--line-color);border-radius:var(--radius-pill)}}@supports selector(::scroll-button(right)){.guides-scroll{anchor-name:--guides-scroll;overflow:auto hidden;scrollbar-width:none}.guides-scroll::-webkit-scrollbar{display:none}.guides-scroll::scroll-button(*){--guides-scroll-btn-size:2.5rem;position:absolute;position-anchor:--guides-scroll;align-self:anchor-center;z-index:1;display:flex;align-items:center;justify-content:center;width:var(--guides-scroll-btn-size);height:var(--guides-scroll-btn-size);border:1px solid var(--line-color);border-radius:var(--radius-pill);background-color:var(--surface-color);box-shadow:var(--nav-shadow);color:var(--text-color);font-size:1.25rem;line-height:1;transition:background-color var(--transition-fast)}.guides-scroll::scroll-button(*):enabled{cursor:pointer}.guides-scroll::scroll-button(*):enabled:hover{background-color:var(--surface-hover)}.guides-scroll::scroll-button(*):disabled{opacity:0;pointer-events:none}.guides-scroll::scroll-button(left){content:"‹"/"Scroll left";left:calc(anchor(left) - .5rem);right:auto}.guides-scroll::scroll-button(right){content:"›"/"Scroll right";left:calc(anchor(right) - var(--guides-scroll-btn-size) + .5rem);right:auto}}input.search-bar{display:block;width:100%;max-width:100%;margin:2em auto;padding:1em 1.25em;border:1px solid var(--line-color);border-radius:100em;background-color:var(--surface-color);color:var(--text-color);font:inherit;outline:none;transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none}input.search-bar:hover{background-color:var(--surface-hover)}input.search-bar:focus{border-color:var(--brand-soft-color);background-color:var(--surface-raised);box-shadow:0 0 0 3px var(--brand-transparent)}input.search-bar::-webkit-search-decoration,input.search-bar::-webkit-search-results-button,input.search-bar::-webkit-search-results-decoration{-webkit-appearance:none}input.search-bar::-webkit-search-cancel-button{cursor:pointer}.tutorials-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));grid-gap:var(--space-grid);gap:var(--space-grid)}.source-code-page main{max-width:72rem;margin-inline:auto;padding:0 var(--space-page-inline) 4rem}.source-code-page h1{text-align:center;margin-bottom:.5rem}.source-code-empty{margin-top:2rem;text-align:center;color:var(--secondary-text-color)}.source-code-card{height:100%}.source-code-card h3{flex:1 1}.source-code-card-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto}.source-code-card-actions .ui-button-icon{width:2.5rem;height:2.5rem}.source-code-youtube-icon{width:1.1rem;height:1.1rem}.card,.course-card{padding:var(--space-card);border:1px solid var(--line-color);border-radius:var(--radius-card);background-color:var(--surface-color);box-shadow:none;transition:background-color var(--transition-fast),scale var(--transition-fast);display:flex;flex-direction:column}.course-card{overflow:hidden}.home-course-image{width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:var(--radius-image)}.home-course-image-img{display:block;width:100%;height:100%;object-fit:cover}.card img{display:block;width:100%;height:auto;border-radius:var(--radius-image)}.card h3,.course-card h3{margin:.5em 0;font-size:var(--fs-course-title);font-weight:600;line-height:1.3}.course-card h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.card h3{margin-top:1em;font-size:var(--fs-card-title)}.card p{margin-top:.5em;font-size:var(--fs-body)}.card p,.course-card-meta{color:var(--secondary-text-color);line-height:1.4}.course-card-meta{margin:.5em 0 0;font-size:var(--text-xs);font-weight:600}.course-card-cta{color:var(--text-color);font-size:var(--text-sm);font-weight:600;text-decoration:none;transition:color var(--transition-fast)}.course-card-owned-label{color:var(--secondary-text-color);font-size:var(--text-sm);font-weight:600}.course-card-owned{cursor:pointer}.course-card .price,.course-card-owned:hover .course-card-owned-label{color:var(--text-color)}.course-card .price{font-size:var(--text-base);font-weight:600}.course-card .original-price{color:var(--secondary-text-color);font-size:var(--text-sm);font-weight:500;text-decoration:line-through;text-decoration-thickness:1.5px;opacity:.75}.course-card .discounted-price{color:var(--brand-soft-color);font-weight:700}.course-card-details-buy{display:block}.course-card-buy-btn{width:100%;white-space:normal;text-align:center;gap:.35em}.course-card-buy-btn .original-price{color:rgb(255 255 255/.72);font-size:inherit;font-weight:500;text-decoration:line-through;text-decoration-thickness:1.5px;opacity:1}.course-card-buy-btn .discounted-price{color:#fff;font-weight:700}.course-card-buy-btn-loading{pointer-events:none;opacity:.7}.course-card-buy-btn-owned{border-color:var(--line-color);background-color:var(--surface-raised);color:var(--secondary-text-color);cursor:pointer;text-decoration:none}.course-card-buy-btn-owned:hover{border-color:var(--line-color);background-color:var(--surface-hover);color:var(--text-color);filter:none}.course-card .course-card-progress{width:100%;margin-top:auto;padding-top:.85rem}.course-card-progress-track{width:100%;height:.35rem;overflow:hidden;border-radius:var(--radius-pill);background-color:var(--surface-hover)}.course-card-progress-value{height:100%;border-radius:inherit;background-color:var(--brand-strong-color);transition:width .3s ease}.course-card .details{margin-top:auto;padding-top:1em;display:flex;gap:1em;align-items:center;justify-content:space-between}.course-card:has(.course-card-progress) .details{margin-top:0;padding-top:.75rem}.course-card .details .course-card-meta{margin:0}.course-card .reviews{display:inline-flex;align-items:center;gap:.25em;color:var(--review-color)}.reviews svg{fill:currentColor}.course-card:hover,a.card:hover,a.course-card:hover{scale:1.02;box-shadow:none}a.card:hover,a.course-card:hover{background-color:var(--surface-hover)}.course-card:hover .course-card-cta,a.course-card:hover .course-card-cta{color:var(--brand-soft-color)}.course-card.featured{position:relative;border:1.5px solid var(--featured-course-border);background-color:var(--featured-course-bg);box-shadow:none}.course-card.featured:hover{background-color:var(--featured-course-bg-hover);box-shadow:none}.course-card.featured:before{content:"NEW COURSE";position:absolute;top:calc(var(--space-card) + .5rem);left:calc(var(--space-card) + .5rem);z-index:2;padding:.4em .65em;color:#063632;font-size:.75rem;font-weight:700;letter-spacing:.05em;line-height:1;background-color:#3bffef;border-radius:2px;pointer-events:none}.course-card.featured .course-card-meta{color:var(--brand-soft-color)}.course-card.featured .course-card-progress-value{background-color:var(--brand-soft-color)}a.course-card.featured:hover{background-color:var(--featured-course-bg-hover)}[data-theme=light] .course-purchase-card.course-card.featured{border:1px solid var(--line-color);background-color:var(--surface-color)}[data-theme=light] .course-purchase-card.course-card.featured:hover{background-color:var(--surface-color);scale:1}.card .links-container{margin-top:auto;padding-top:.5em;display:flex;flex-wrap:wrap;gap:.5em}.card .icon-link{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border:1px solid var(--line-color);background-color:var(--surface-color);border-radius:50%;transition:background-color var(--transition-fast),color var(--transition-fast)}.card .icon-link svg{width:24px;height:24px}.card .icon-link:hover{background-color:var(--surface-hover)}.card .details{margin-top:.5em;font-weight:500;color:var(--secondary-text-color)}.course-section summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;font-weight:600;cursor:pointer;list-style:none;transition:background-color var(--transition-fast)}.course-section summary::-webkit-details-marker{display:none}.course-section summary:before{content:"";flex-shrink:0;background-color:var(--brand-soft-color);mask-image:url(/_next/static/media/arrow-down.be28558e.svg);mask-size:contain;mask-repeat:no-repeat;mask-position:center;-webkit-mask-image:url(/_next/static/media/arrow-down.be28558e.svg);-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;transition:transform var(--transition-fast)}.course-section[open] summary:before{transform:rotate(180deg)}.course-section summary:hover{background-color:var(--surface-hover)}.course-section-title{flex:1 1}.course-section-meta{font-weight:500;color:var(--secondary-text-color)}input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not(.search-bar),select,textarea{width:100%;min-height:2.75rem;padding:var(--space-3) var(--space-3);border:1px solid var(--line-color);border-radius:var(--radius-md);background-color:var(--surface-color);color:var(--text-color);font:inherit;font-size:var(--text-sm);outline:none;transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast)}textarea{min-height:7rem;resize:vertical}input::placeholder,textarea::placeholder{color:var(--secondary-text-color);opacity:.7}input:hover:not(.search-bar),select:hover,textarea:hover{background-color:var(--surface-hover)}input:focus:not(.search-bar),select:focus,textarea:focus{border-color:var(--brand-soft-color);background-color:var(--surface-raised);box-shadow:0 0 0 3px var(--brand-transparent)}.admin-primary-button,.admin-secondary-button,.course-buy-btn,.course-card-buy-btn,.course-editor-secondary-button,.empty-courses-button,.lesson-control-button,.nav-sign-in,.theme-toggle,.ui-button,body nav.site-nav a:not(.nav-brand){display:inline-flex;align-items:center;justify-content:center;gap:var(--btn-gap);min-height:var(--btn-min-height);padding:var(--btn-padding-y) var(--btn-padding-x);border:1px solid transparent;border-radius:var(--btn-radius);font:inherit;font-size:var(--btn-font-size);font-weight:var(--btn-font-weight);line-height:1;white-space:nowrap;text-decoration:none;cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),filter var(--transition-fast),opacity var(--transition-fast)}.admin-primary-button:disabled,.admin-secondary-button:disabled,.lesson-control-button:disabled,.nav-sign-in:disabled,.theme-toggle:disabled,.ui-button:disabled{cursor:not-allowed;opacity:.5}.admin-primary-button svg,.admin-secondary-button svg,.course-editor-secondary-button svg,.lesson-control-button svg,.theme-toggle svg,.ui-button svg,body nav.site-nav a:not(.nav-brand) svg{flex-shrink:0;width:1rem;height:1rem}.ui-button-default,.ui-button-outline,.ui-button-secondary{min-height:var(--btn-min-height);padding:var(--btn-padding-y) var(--btn-padding-x)}.ui-button-sm{min-height:2.25rem;padding:.5rem .75rem;font-size:var(--text-xs)}.ui-button-lg{min-height:3rem;padding:.8rem 1.35rem;font-size:var(--text-base)}.ui-button-icon{width:var(--btn-min-height);height:var(--btn-min-height);min-height:var(--btn-min-height);padding:0}.admin-primary-button,.course-buy-btn,.course-card-buy-btn,.ui-button-default,body nav.site-nav a.cta{border-color:transparent;background-color:var(--brand-strong-color);color:#fff}.admin-primary-button:hover:not(:disabled),.course-buy-btn:hover,.course-card-buy-btn:hover,.ui-button-default:hover:not(:disabled),body nav.site-nav a.cta:hover{filter:brightness(1.1)}.admin-secondary-button,.course-editor-secondary-button,.empty-courses-button,.lesson-control-button,.nav-sign-in,.theme-toggle,.ui-button-outline,.ui-button-secondary,body nav.site-nav a:not(.nav-brand):not(.cta){border-color:var(--line-color);background-color:var(--surface-color);color:var(--text-color);box-shadow:none}.admin-secondary-button:hover:not(:disabled),.course-editor-secondary-button:hover:not(:disabled),.empty-courses-button:hover,.lesson-control-button:hover:not(:disabled),.nav-sign-in:hover,.theme-toggle:hover,.ui-button-outline:hover:not(:disabled),.ui-button-secondary:hover:not(:disabled),body nav.site-nav a:not(.nav-brand):not(.cta):hover{border-color:var(--line-color);background-color:var(--surface-hover);color:var(--text-color);filter:none;scale:none}.ui-button-ghost{border-color:transparent;background:none;color:var(--text-color)}.ui-button-ghost:hover:not(:disabled){background-color:var(--surface-hover)}.ui-button-link{min-height:auto;padding:0;border:0;border-radius:0;background:none;color:var(--brand-soft-color)}.ui-button-link:hover:not(:disabled){text-decoration:underline;text-underline-offset:.15em}.ui-button-destructive{border-color:transparent;background-color:var(--accent-red);color:#fff}.ui-button-destructive:hover:not(:disabled){filter:brightness(1.1)}.ui-button-destructiveOutline{border-color:rgb(255 68 68/.35);background-color:rgb(255 68 68/.08);color:var(--accent-red)}.ui-button-destructiveOutline:hover:not(:disabled){border-color:var(--accent-red);background-color:rgb(255 68 68/.14)}.lesson-complete-button{border-color:var(--brand-soft-color);background-color:rgb(124 92 255/.1);color:var(--brand-soft-color)}.lesson-complete-button:hover:not(:disabled){border-color:var(--brand-soft-color);background-color:rgb(124 92 255/.18);color:var(--brand-soft-color)}.lesson-complete-button-completed{border-color:#3fcf6f;background-color:rgb(63 207 111/.12);color:#3fcf6f}.lesson-complete-button-completed:hover:not(:disabled){border-color:#3fcf6f;background-color:rgb(63 207 111/.2);color:#3fcf6f}.confirmation-dialog-overlay{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:1rem;background-color:rgb(7 8 15/.78)}.confirmation-dialog{position:relative;width:min(27rem,100%);padding:1.75rem;border:1px solid var(--line-color);border-radius:var(--radius-card);background-color:var(--background-color);background-image:var(--bg-dots),var(--bg-gradient);background-size:var(--dot-space) var(--dot-space),100% 100%;background-position:var(--dot-position),0 0;color:var(--text-color);box-shadow:0 2rem 6rem rgb(0 0 0/.55),var(--featured-course-shadow);animation:confirmation-dialog-open .18s ease-out}.confirmation-dialog-close{position:absolute;top:.85rem;right:.85rem;width:2.25rem;height:2.25rem;display:grid;place-items:center;padding:0;border:1px solid var(--line-color);border-radius:50%;background-color:var(--surface-color);color:var(--secondary-text-color);cursor:pointer;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast)}.confirmation-dialog-close:hover:not(:disabled){border-color:var(--brand-soft-color);background-color:var(--brand-transparent);color:var(--brand-soft-color)}.confirmation-dialog-close svg{width:1rem;height:1rem}.confirmation-dialog-icon{width:3.25rem;height:3.25rem;display:grid;place-items:center;margin-bottom:1.25rem;border:1px solid rgb(255 68 68/.35);border-radius:50%;background-color:rgb(255 68 68/.1);color:#ff8f8f}.confirmation-dialog-icon svg{width:1.4rem;height:1.4rem}.confirmation-dialog-copy{padding-right:2rem}.confirmation-dialog-eyebrow{margin:0 0 .35rem;color:#ff8f8f;font-size:.6875rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.confirmation-dialog h2{margin:0;color:var(--text-color);font-family:var(--font-main);font-size:1.75rem;font-weight:500;line-height:1.2;text-align:left}.confirmation-dialog-copy>p:last-child{margin:.7rem 0 0;color:var(--secondary-text-color);font-size:.9rem;line-height:1.55}.confirmation-dialog-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid var(--line-color)}.action-button-content{display:inline-flex;align-items:center;justify-content:center;gap:.45rem}.action-button-loading-icon{width:1rem;height:1rem;animation:action-button-spin .8s linear infinite}@keyframes confirmation-dialog-open{0%{opacity:0;translate:0 .75rem;scale:.97}to{opacity:1;translate:0;scale:1}}@keyframes action-button-spin{to{rotate:1turn}}@media (max-width:500px){.confirmation-dialog{padding:1.25rem}.confirmation-dialog-actions{flex-direction:column-reverse}.confirmation-dialog-actions .ui-button{width:100%}}.blog-post,.prose{width:min(var(--article-width),100%);margin:0 auto;font-family:var(--font-article);font-weight:var(--font-article-weight);line-height:var(--font-article-line-height);--article-space-tight:0.5rem;--article-space-flow:1.25rem;--article-space-block:1.25rem;--article-space-subsection:1.25rem;--article-space-section:2rem;--article-space-lead:1.5rem}.blog-post h1,.prose h1{font-size:var(--fs-article-title)}.blog-post h1,.blog-post h2,.prose h1,.prose h2{margin-top:var(--article-space-section);margin-bottom:0;text-align:left;font-family:var(--font-main);font-weight:600;line-height:1.25}.blog-post h2,.prose h2{font-size:var(--fs-article-h2)}.blog-post h3,.prose h3{margin-top:var(--article-space-subsection);margin-bottom:0;font-family:var(--font-main)}.blog-post p,.prose p{margin-top:var(--article-space-flow)}.blog-post h1+p,.blog-post h2+p,.blog-post h3+p,.prose h1+p,.prose h2+p,.prose h3+p{margin-top:var(--article-space-tight)}.blog-post ol,.blog-post ul,.prose ol,.prose ul{margin-top:var(--article-space-flow);padding-left:1.25rem}.blog-post li,.prose li{margin-top:.5rem}.blog-post :is(p,li) a,.prose :is(p,li) a{color:var(--brand-soft-color);text-decoration:underline;text-underline-offset:.15em}.blog-post :is(p,li) a:hover,.prose :is(p,li) a:hover{color:var(--text-color)}.blog-post img{width:100%;height:auto;border-radius:var(--radius-image)}.blog-post pre[class*=language-]{margin-top:var(--article-space-block);padding:1.25rem 1.5rem;border:1px solid var(--line-color);border-radius:var(--radius-card);background-color:var(--code-background);color:var(--code-text);overflow-x:auto}.blog-post pre[class*=language-] code{background:none;color:inherit}.blog-post h2+pre[class*=language-],.blog-post h3+pre[class*=language-]{margin-top:var(--article-space-tight)}.blog-post pre{position:relative}.blog-post .highlight{width:100%;border-left:4px solid var(--brand-soft-color);padding:1em;border-radius:var(--radius-image);background-color:var(--brand-transparent)}.blog-post .highlight+.highlight{margin-top:var(--article-space-tight)}.blog-post .highlight strong{font-weight:400}.blog-post .course-cta{margin-top:var(--article-space-section)}.blog-post .course-cta h2{margin-top:0}.blog-post .course-cta p{margin-top:var(--article-space-flow)}.blog-post .course-cta h2+p{margin-top:var(--article-space-tight)}.blog-post .course-cta .course-card{display:flex;margin-top:var(--article-space-block)}.blog-post .video-link{margin-top:var(--article-space-lead)}.copy-code-btn{position:absolute;top:.5rem;right:.5rem;height:3rem;width:3rem;border:1px solid transparent;border-radius:999px;display:flex;align-items:center;justify-content:center;background:none;color:var(--code-button-color);font:inherit;font-size:.8rem;cursor:pointer;transition:var(--transition-fast)}.copy-code-btn:hover{background-color:rgb(255 255 255/.1);color:var(--code-button-hover)}.copy-code-btn svg{fill:currentColor}.video-link{width:max-content;padding:.5em 1em;border:1px solid var(--line-color);border-radius:100em;background-color:var(--surface-color);color:var(--text-color);font-size:var(--fs-body);font-weight:500;font-family:var(--font-main);display:flex;align-items:center;gap:.5em}.video-link,.video-link svg{transition:var(--transition-fast)}.video-link svg{width:24px;height:24px;fill:var(--text-color)}.video-link:hover{background-color:var(--text-color);color:var(--background-color)}.video-link:hover svg{fill:var(--accent-red)}@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}}