@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-cyrillic-ext-wght-normal.c-5QAGAI.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-cyrillic-wght-normal.BMDVbyM7.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-greek-ext-wght-normal.BXZfsJY4.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-greek-wght-normal.Cc-u-6OI.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-vietnamese-wght-normal.BDs68eHQ.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-latin-ext-wght-normal.C8iNium2.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-latin-wght-normal.Bo_j9asI.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--c-bg:#fff;--c-surface:#f6f7f9;--c-surface-2:#eaeef3;--c-text:#1a1d21;--c-muted:#4d5762;--c-primary:#0b4f8a;--c-primary-hover:#083d6b;--c-primary-soft:#e6eef7;--c-on-primary:#fff;--c-accent:#a8391a;--c-accent-soft:#fbece6;--c-border:#d6dce4;--c-border-strong:#b5bfcb;--c-footer:#12202f;--c-footer-text:#dbe4ee;--c-footer-muted:#a9b8c8;--font-sans:"Source Sans 3 Variable", "Source Sans 3", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--fs-sm:.875rem;--fs-base:1.0625rem;--fs-lg:1.1875rem;--fs-h3:1.25rem;--fs-h2:clamp(1.4375rem, 1.2rem + 1vw, 1.9375rem);--fs-h1:clamp(1.75rem, 1.3rem + 2.1vw, 2.875rem);--lh-tight:1.2;--lh-snug:1.35;--lh-body:1.65;--sp-1:.25rem;--sp-2:.5rem;--sp-3:.75rem;--sp-4:1rem;--sp-5:1.5rem;--sp-6:2rem;--sp-7:3rem;--sp-8:4.5rem;--gutter:1rem;--shell:87.5rem;--container:60rem;--prose:42rem;--section-y:clamp(2.5rem, 2rem + 3vw, 4.5rem);--radius:8px;--radius-lg:14px;--shadow:0 1px 2px #12202f12, 0 4px 14px #12202f0f;--tap:2.75rem}@media (width>=48em){:root{--gutter:1.5rem}}@media (width>=64em){:root{--gutter:2rem}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:1rem}body{min-width:320px;font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-body);color:var(--c-text);background:var(--c-bg);overflow-wrap:break-word;-webkit-font-smoothing:antialiased;margin:0}img,svg,video,iframe{max-width:100%}img{height:auto;display:block}h1,h2,h3,h4{line-height:var(--lh-snug);margin:0 0 var(--sp-3);text-wrap:balance;font-weight:650}h1{font-size:var(--fs-h1);line-height:var(--lh-tight);letter-spacing:-.01em;font-weight:700}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3)}p{margin:0 0 var(--sp-4)}a{color:var(--c-primary);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{color:var(--c-primary-hover);text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--c-primary);outline-offset:2px;border-radius:2px}::selection{background:var(--c-primary-soft)}.skip-link{left:var(--sp-3);z-index:100;background:var(--c-text);color:#fff;padding:var(--sp-3) var(--sp-4);border-radius:var(--radius);position:absolute;top:-4rem}.skip-link:focus{top:var(--sp-3)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.shell{width:100%;max-width:var(--shell);padding-inline:var(--gutter);margin-inline:auto}.container{width:100%;max-width:calc(var(--container) + 2 * var(--gutter));padding-inline:var(--gutter);margin-inline:auto}.band{padding-block:var(--section-y)}.band--subtle{background:var(--c-surface)}.band--primary{background:var(--c-primary);color:var(--c-on-primary)}.band--flush-top{padding-top:0}.stack>*+*{margin-top:var(--sp-4)}.center{text-align:center}.section-head{margin-bottom:var(--sp-6)}.section-head h2{margin-bottom:var(--sp-2)}.section-intro{color:var(--c-muted);font-size:var(--fs-lg);max-width:44rem;margin:0}.center .section-intro,.section-head.center .section-intro{margin-inline:auto}.section-link{margin:var(--sp-5) 0 0;font-weight:600}.site-header{border-bottom:1px solid var(--c-border);background:var(--c-bg)}.site-header .shell{justify-content:space-between;align-items:center;gap:var(--sp-2) var(--sp-4);padding-block:var(--sp-3);flex-wrap:wrap;display:flex}.brand{align-items:center;gap:var(--sp-3);min-height:var(--tap);color:var(--c-text);letter-spacing:-.01em;font-size:1.125rem;font-weight:700;text-decoration:none;display:inline-flex}.brand:hover{color:var(--c-text);text-decoration:none}.brand img{border-radius:8px;width:40px;height:40px}.site-nav{flex-basis:100%;order:3}.site-nav ul{gap:0 var(--sp-4);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.site-nav a{min-height:var(--tap);color:var(--c-text);align-items:center;font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--c-primary);text-decoration:underline 2px}.site-header .btn{padding-inline:var(--sp-4);order:2;font-size:.9375rem}@media (width>=48em){.site-nav{margin-inline:auto var(--sp-3);flex-basis:auto;order:2}.site-header .btn{order:3}}.btn{justify-content:center;align-items:center;gap:var(--sp-2);min-height:var(--tap);padding:.55rem var(--sp-5);font:inherit;text-align:center;border-radius:var(--radius);cursor:pointer;border:2px solid #0000;font-size:1rem;font-weight:650;line-height:1.25;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.btn:hover{text-decoration:none}.btn--primary{background:var(--c-primary);color:var(--c-on-primary);border-color:var(--c-primary)}.btn--primary:hover{background:var(--c-primary-hover);border-color:var(--c-primary-hover);color:var(--c-on-primary)}.btn--secondary{color:var(--c-primary);border-color:var(--c-primary);background:0 0}.btn--secondary:hover{background:var(--c-primary-soft);color:var(--c-primary-hover)}.btn--inverse{color:var(--c-primary);background:#fff;border-color:#fff}.btn--inverse:hover{background:var(--c-primary-soft);border-color:var(--c-primary-soft);color:var(--c-primary-hover)}.btn--ghost{color:#fff;background:0 0;border-color:#fff}.btn--ghost:hover{color:#fff;background:#ffffff24}.btn--lg{min-height:3.25rem;padding-inline:var(--sp-6);font-size:var(--fs-lg)}.btn--block{width:100%}@media (width>=30em){.btn--block{width:auto}}.btn-row{gap:var(--sp-3);flex-wrap:wrap;display:flex}.band--primary :focus-visible,.site-footer :focus-visible{outline-color:#fff}.hero{padding-block:var(--sp-6) var(--sp-6)}.hero .container,.hero .shell{gap:var(--sp-5);display:grid}.hero__text{min-width:0}.hero h1{margin-bottom:var(--sp-4)}.hero .lede{font-size:var(--fs-lg);color:var(--c-text);max-width:46rem}.hero__meta{align-items:center;gap:var(--sp-1) var(--sp-4);color:var(--c-muted);font-size:var(--fs-sm);margin:0 0 var(--sp-4);flex-wrap:wrap;display:flex}.hero__media{margin:0}.hero__media img{border-radius:var(--radius-lg);border:1px solid var(--c-border);background:var(--c-surface);width:100%}.hero--home{padding-block:var(--sp-6) var(--sp-7);background:linear-gradient(180deg, var(--c-surface) 0%, var(--c-bg) 100%)}.hero--home .btn-row{margin-top:var(--sp-5)}@media (width>=64em){.hero--home .shell{align-items:center;gap:var(--sp-7);grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.hero--home{padding-block:var(--sp-7) var(--sp-8)}}.breadcrumbs{margin:0 0 var(--sp-4);font-size:var(--fs-sm)}.breadcrumbs ol{gap:0 var(--sp-2);color:var(--c-muted);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.breadcrumbs li+li:before{content:"/";margin-right:var(--sp-2);color:var(--c-border-strong)}.breadcrumbs a{min-height:1.75rem;color:var(--c-muted);align-items:center;display:inline-flex}.breadcrumbs [aria-current]{color:var(--c-text)}.quote{margin:var(--sp-5) 0 0;padding:var(--sp-4) var(--sp-5);border-left:4px solid var(--c-primary);background:var(--c-primary-soft);border-radius:0 var(--radius) var(--radius) 0;font-size:var(--fs-lg);font-style:italic}.tags{gap:var(--sp-2);margin:0 0 var(--sp-4);flex-wrap:wrap;padding:0;list-style:none;display:flex}.tag{background:var(--c-accent-soft);color:var(--c-accent);font-size:var(--fs-sm);border-radius:999px;padding:.15rem .65rem;font-weight:650;line-height:1.5;display:inline-block}.grid{gap:var(--sp-5);grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));align-items:stretch;display:grid}.grid--wide{grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr))}.grid>*{min-width:0}.card{padding:var(--sp-5);background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius);flex-direction:column;display:flex}.band--subtle .card{background:var(--c-bg)}.card h3{margin-bottom:var(--sp-2)}.card p{flex:1;margin:0}.card p+p{margin-top:var(--sp-3)}.card__icon{width:1.75rem;height:1.75rem;margin-bottom:var(--sp-3);color:var(--c-primary);flex:none}.card--plain p{color:var(--c-text)}.tile{background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius);flex-direction:column;display:flex;position:relative;overflow:hidden}.tile__img{aspect-ratio:3/2;object-fit:cover;background:var(--c-surface-2);border-bottom:1px solid var(--c-border);width:100%}.tile__body{padding:var(--sp-4) var(--sp-5) var(--sp-5);flex-direction:column;flex:1;display:flex}.tile__title{margin-bottom:var(--sp-2);font-size:1.125rem}.tile__title a{color:var(--c-text);text-decoration:none}.tile__title a:after{content:"";position:absolute;inset:0}.tile__title a:hover{color:var(--c-primary);text-decoration:underline}.tile:focus-within{outline:3px solid var(--c-primary);outline-offset:2px}.tile__title a:focus-visible{outline:none}.tile__text{color:var(--c-muted);-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;margin:0;font-size:.98rem;display:-webkit-box;overflow:hidden}.tile .tags{margin-bottom:var(--sp-2)}.content-layout{gap:var(--sp-6);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}@media (width>=64em){.content-layout.has-toc{gap:var(--sp-7);grid-template-columns:minmax(0,1fr) 15rem}.toc-aside{top:var(--sp-5);position:sticky}}.prose{min-width:0;max-width:var(--prose)}.prose>:first-child{margin-top:0}.prose h2{margin-top:var(--sp-7);scroll-margin-top:1rem}.prose h3{margin-top:var(--sp-6);scroll-margin-top:1rem}.prose ul,.prose ol{margin:0 0 var(--sp-4);padding-left:1.4rem}.prose li{margin-bottom:var(--sp-2);padding-left:.15rem}.prose li>p{margin-bottom:var(--sp-2)}.prose blockquote{margin:var(--sp-5) 0;padding:var(--sp-3) var(--sp-5);border-left:4px solid var(--c-primary);background:var(--c-surface);color:var(--c-text)}.prose blockquote>:last-child{margin-bottom:0}.prose img{border-radius:var(--radius);margin-block:var(--sp-5)}.prose hr{border:0;border-top:1px solid var(--c-border);margin:var(--sp-6) 0}.prose code{background:var(--c-surface-2);border-radius:4px;padding:.1em .35em;font-size:.92em}.prose pre{padding:var(--sp-4);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);overflow-x:auto}.prose pre code{background:0 0;padding:0}.table-wrap{margin:var(--sp-5) 0;border:1px solid var(--c-border);border-radius:var(--radius);-webkit-overflow-scrolling:touch;overflow-x:auto}.table-wrap:focus-visible{outline:3px solid var(--c-primary);outline-offset:2px}.table-wrap table{border-collapse:collapse;width:100%;min-width:30rem;font-size:.97rem}.table-wrap th,.table-wrap td{padding:var(--sp-3) var(--sp-4);text-align:left;vertical-align:top;border-bottom:1px solid var(--c-border)}.table-wrap thead th{background:var(--c-surface-2);font-weight:650}.table-wrap tbody tr:last-child td{border-bottom:0}.callout{margin:var(--sp-6) 0;padding:var(--sp-5);border:1px solid var(--c-border-strong);border-left:4px solid var(--c-accent);border-radius:var(--radius);background:var(--c-surface)}.callout>h2{font-size:var(--fs-h3);margin-top:0}.callout>:last-child{margin-bottom:0}.tldr{margin:0 0 var(--sp-6);padding:var(--sp-5);border:1px solid var(--c-border);border-left:4px solid var(--c-primary);border-radius:var(--radius);background:var(--c-primary-soft)}.tldr h2{margin:0 0 var(--sp-3);font-size:var(--fs-h3)}.tldr ul{margin:0;padding-left:1.3rem}.tldr li{margin-bottom:var(--sp-2)}.tldr li:last-child{margin-bottom:0}.toc{border:1px solid var(--c-border);border-radius:var(--radius);background:var(--c-surface)}.toc summary{cursor:pointer;padding:var(--sp-3) var(--sp-4);min-height:var(--tap);align-items:center;font-weight:650;display:flex}.toc nav{padding:0 var(--sp-4) var(--sp-4)}.toc ol{margin:0;padding:0;list-style:none}.toc a{color:var(--c-text);padding:.4rem 0;font-size:.97rem;line-height:1.35;text-decoration:none;display:block}.toc a:hover{color:var(--c-primary);text-decoration:underline}@media (width>=64em){.toc summary{pointer-events:none;cursor:default}.toc summary::marker,.toc summary::-webkit-details-marker{display:none}}.faq{margin-top:var(--sp-7);max-width:var(--prose)}.faq h2{margin-bottom:var(--sp-4)}.faq-item{border:1px solid var(--c-border);border-radius:var(--radius);background:var(--c-bg);padding:var(--sp-4) var(--sp-5);margin-bottom:var(--sp-3)}.faq-item h3{margin:0 0 var(--sp-2);font-size:1.125rem}.faq-item p{margin:0}.faq-item p+p{margin-top:var(--sp-3)}.related h2{margin-bottom:var(--sp-5)}.cta-band{text-align:center}.cta-band .container{max-width:calc(48rem + 2 * var(--gutter))}.cta-band__text{margin:0 0 var(--sp-5);text-wrap:balance;font-size:clamp(1.25rem,1.05rem + .9vw,1.75rem);font-weight:650;line-height:1.3}.cta-band .btn-row{justify-content:center}.share{align-items:center;gap:var(--sp-2);margin-top:var(--sp-6);padding-top:var(--sp-4);border-top:1px solid var(--c-border);max-width:var(--prose);flex-wrap:wrap;display:flex}.share__label{margin-right:var(--sp-2);font-weight:650}.share a,.share button{justify-content:center;align-items:center;gap:var(--sp-2);min-width:var(--tap);min-height:var(--tap);padding:0 var(--sp-3);border:1px solid var(--c-border-strong);border-radius:var(--radius);background:var(--c-bg);color:var(--c-text);font:inherit;cursor:pointer;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.share a:hover,.share button:hover{background:var(--c-surface);color:var(--c-primary)}.share svg{flex:none;width:1.15rem;height:1.15rem}.share [data-copy-state]:after{content:attr(data-copy-state)}.hub-nav{gap:var(--sp-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.hub-nav a{min-height:var(--tap);padding:0 var(--sp-4);border:1px solid var(--c-border-strong);background:var(--c-bg);color:var(--c-text);border-radius:999px;align-items:center;font-size:.97rem;font-weight:600;text-decoration:none;display:inline-flex}.hub-nav a:hover{border-color:var(--c-primary);color:var(--c-primary);background:var(--c-primary-soft)}.hub-library{margin-bottom:var(--sp-6)}.hub-library__count{color:var(--c-muted);font-size:var(--fs-base);font-weight:400}.hub-cluster+.hub-cluster{margin-top:var(--sp-7)}.hub-cluster h3{margin-bottom:var(--sp-2);font-size:1.5rem}.hub-cluster .section-intro{margin-bottom:var(--sp-5);font-size:var(--fs-base)}.grid--hub{grid-template-columns:repeat(auto-fill,minmax(min(100%,16.5rem),1fr))}.link-list{margin:0;padding:0;list-style:none}.link-list li{border-bottom:1px solid var(--c-border)}.link-list a{min-height:var(--tap);align-items:center;padding-block:.4rem;text-decoration:none;display:flex}.link-list a:hover{text-decoration:underline}.video{aspect-ratio:16/9;border-radius:var(--radius-lg);background:#000;width:100%;max-width:50rem;margin-inline:auto;position:relative;overflow:hidden}.video iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.site-footer{background:var(--c-footer);color:var(--c-footer-text);padding-block:var(--sp-7) var(--sp-6);font-size:1rem}.site-footer a{color:var(--c-footer-text);text-decoration:none}.site-footer a:hover{color:#fff;text-decoration:underline}.footer-grid{gap:var(--sp-6);grid-template-columns:1fr;display:grid}@media (width>=30em){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=64em){.footer-grid{grid-template-columns:1.3fr repeat(3,minmax(0,1fr))}}.footer-brand p{color:var(--c-footer-muted);max-width:22rem}.footer-brand .brand{color:#fff}.footer-col h2{text-transform:uppercase;letter-spacing:.06em;color:var(--c-footer-muted);margin-bottom:var(--sp-2);font-size:1rem;font-weight:650}.footer-col ul{margin:0;padding:0;list-style:none}.footer-col a{min-height:var(--tap);align-items:center;padding-block:.25rem;display:inline-flex}.footer-legal{margin-top:var(--sp-6);padding-top:var(--sp-5);gap:var(--sp-2) var(--sp-5);color:var(--c-footer-muted);font-size:var(--fs-sm);border-top:1px solid #ffffff29;flex-wrap:wrap;justify-content:space-between;display:flex}.footer-legal a{color:var(--c-footer-muted);text-decoration:underline}.footer-legal p{margin:0}.footer-social{gap:var(--sp-2);margin-top:var(--sp-4);flex-wrap:wrap;display:flex}.footer-social a{width:var(--tap);height:var(--tap);border-radius:var(--radius);border:1px solid #ffffff47;justify-content:center;align-items:center;padding:0;display:inline-flex}.footer-social a:hover{background:#ffffff1a;text-decoration:none}.footer-social svg{width:1.25rem;height:1.25rem}.modal{border-radius:var(--radius-lg);width:min(26rem,100vw - 2rem);color:var(--c-text);background:var(--c-bg);border:0;padding:0;box-shadow:0 20px 60px #00000059}.modal::backdrop{background:#12202f99}.modal__inner{padding:var(--sp-6) var(--sp-5) var(--sp-5);position:relative}.modal h2{padding-right:var(--sp-6);font-size:1.5rem}.modal__close{top:var(--sp-2);right:var(--sp-2);width:var(--tap);height:var(--tap);color:var(--c-text);border-radius:var(--radius);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex;position:absolute}.modal__close:hover{background:var(--c-surface)}.modal__close svg{width:1.4rem;height:1.4rem}.modal .btn-row{margin-top:var(--sp-4)}.icon{vertical-align:-.2em;flex:none;width:1.25em;height:1.25em;display:inline-block}.icon svg{width:100%;height:100%;display:block}@media (width>=80em){:root{--fs-base:1.125rem}}@media (width>=64em){.content-layout.has-toc>.content-main{grid-area:1/1}.content-layout.has-toc>.toc-aside{grid-area:1/2}}.hero .hero__media{margin-top:var(--sp-4)}.hero:not(.hero--home) .hero__media img{aspect-ratio:3/2;object-fit:cover;width:100%}@media (width>=48em){.hero:not(.hero--home) .hero__media img{aspect-ratio:2.4}}
