@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-ext-wght-normal.cHuGMAiY.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 Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-wght-normal.DwHjdM4S.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-greek-wght-normal.ece1310W.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 Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-vietnamese-wght-normal.D-yuW59g.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 Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-ext-wght-normal.CxNHBx-q.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-wght-normal.D9elroTD.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}@font-face{font-family:Bebas Neue;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/bebas-neue-latin-ext-400-normal.DWiEslNC.woff2)format("woff2"),url(/_astro/bebas-neue-latin-ext-400-normal.HFKRJXnW.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bebas Neue;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/bebas-neue-latin-400-normal.9mHNbWWO.woff2)format("woff2"),url(/_astro/bebas-neue-latin-400-normal.Bi-ndsyu.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/space-mono-vietnamese-400-normal.BNOj0Qhp.woff2)format("woff2"),url(/_astro/space-mono-vietnamese-400-normal.B0PMp_xB.woff)format("woff");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:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/space-mono-latin-ext-400-normal.DTLbW2xa.woff2)format("woff2"),url(/_astro/space-mono-latin-ext-400-normal.D4cJI_B-.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/space-mono-latin-400-normal.Rg4St2Dn.woff2)format("woff2"),url(/_astro/space-mono-latin-400-normal._3DlpgIW.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/space-mono-vietnamese-700-normal.DWQgDHuA.woff2)format("woff2"),url(/_astro/space-mono-vietnamese-700-normal.D-KrLuLr.woff)format("woff");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:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/space-mono-latin-ext-700-normal.B2s3bDs2.woff2)format("woff2"),url(/_astro/space-mono-latin-ext-700-normal.B_E7P90g.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/space-mono-latin-700-normal.mWgeinG7.woff2)format("woff2"),url(/_astro/space-mono-latin-700-normal.D7A851RN.woff)format("woff");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{--paper:var(--c-white);--ink:var(--c-black);--ink-2:var(--c-ink-70);--ink-3:var(--c-ink-58);--street-minor:var(--c-sand);--street-major:var(--c-sand-75);--landscape:var(--c-green);--landscape-edge:var(--c-green-text);--water:var(--c-blue);--lake:var(--c-light-blue);--threshold:var(--c-red);--threshold-active:var(--c-red-text);--card:var(--c-white);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--space-24:6rem;--text-xs:.8125rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.3125rem;--text-2xl:1.625rem;--text-3xl:2rem;--text-4xl:2.75rem;--text-5xl:3.75rem;--font-heading:"Bebas Neue", system-ui, sans-serif;--font-body:"Source Serif 4 Variable", Georgia, serif;--font-ui:"Space Mono", ui-monospace, "SFMono-Regular", monospace;--focus-ring:2px solid var(--ink);--focus-ring-offset:2px;--measure:66ch;--measure-lede:55ch;--container:1200px;--container-wide:1280px;--gutter:clamp(20px, 5vw, 4rem);--dur-1:.12s;--dur-2:.2s;--dur-3:.32s;--ease-out:cubic-bezier(.22, .61, .36, 1);--ease-in:cubic-bezier(.55, .06, .68, .19);--ease-spring:cubic-bezier(.34, 1.3, .64, 1);--z-raised:10;--z-nav:100;--z-overlay:1000;--wash-outside:#ffffffc7;--header-h:67px;--c-black:#000;--c-white:#fff;--c-cream:#efe9c9;--c-sand:#cfc5a2;--c-beige:#fdb497;--c-brown:#e1804d;--c-red:#fc5237;--c-orange:#ff9d03;--c-yellow:#ffcb03;--c-light-green:#d2e90f;--c-green:#03c739;--c-light-blue:#99ecff;--c-blue:#0e98ff;--c-purple:#cfb6ff;--c-pink:#ffb6f4;--c-ink-70:#4d4d4d;--c-ink-58:#6b6b6b;--c-ink-45:#8c8c8c;--c-ink-40:#999;--c-ink-25:#bfbfbf;--c-sand-75:#9b947a;--c-red-text:#ca422c;--c-blue-text:#0b75c4;--c-green-text:#028326;--c-orange-text:#a16302;--c-yellow-text:#8a6e02;--c-purple-70:#917fb2;--c-purple-50:#685b80;--c-purple-25:#342e40;--radius-0:0;--radius-1:3px;--radius-2:8px;--radius-3:16px;--radius-round:44px;--font-display:"Bebas Neue", system-ui, sans-serif;--font-mono:"Space Mono", ui-monospace, "SFMono-Regular", monospace;--atlas-ground:var(--paper);--atlas-surface:var(--card);--atlas-ink:var(--ink);--atlas-ink-muted:var(--ink-2);--atlas-ink-faint:var(--ink-3);--atlas-line:var(--c-ink-25);--atlas-line-strong:var(--c-ink-40);--atlas-accent:var(--threshold);--atlas-accent-2:var(--landscape);--atlas-accent-text:var(--c-red-text);--atlas-accent-2-text:var(--c-green-text);--atlas-on-accent:var(--c-black);--atlas-control-line:var(--c-ink-45);--atlas-link:var(--ink);--atlas-focus:var(--ink);--atlas-marker:var(--threshold);--atlas-marker-alt:var(--landscape);--atlas-layer:var(--landscape);--atlas-hover:var(--threshold-active);--atlas-active:var(--threshold-active);--atlas-rule-header:var(--atlas-ink)}[data-guide-theme=fg01]{--atlas-accent:var(--c-blue);--atlas-accent-2:var(--c-green);--atlas-accent-text:var(--c-blue-text);--atlas-accent-2-text:var(--c-green-text);--atlas-focus:var(--c-blue-text);--atlas-hover:var(--c-blue-text);--atlas-active:var(--c-blue-text)}[data-guide-theme=fg02]{--atlas-accent:var(--c-green);--atlas-accent-2:var(--c-green);--atlas-accent-text:#027722;--atlas-accent-2-text:#027722;--atlas-focus:#027722;--atlas-hover:#027722;--atlas-active:#02641c}[data-guide-theme=fg03]{--atlas-surface:var(--c-white);--atlas-line-strong:var(--c-ink-70);--atlas-accent:var(--c-orange);--atlas-accent-2:var(--c-orange);--atlas-accent-text:var(--c-black);--atlas-accent-2-text:var(--c-orange-text);--atlas-on-accent:var(--c-black);--atlas-focus:var(--c-black);--atlas-hover:var(--c-orange-text);--atlas-active:var(--c-orange-text);--atlas-rule-header:var(--c-black)}[data-guide-theme=fg04]{--atlas-surface:var(--c-white);--atlas-line-strong:var(--c-ink-70);--atlas-accent:var(--c-purple-50);--atlas-accent-2:var(--c-yellow);--atlas-accent-text:var(--c-purple-50);--atlas-accent-2-text:var(--c-yellow-text);--atlas-on-accent:var(--c-white);--atlas-focus:var(--c-purple-50);--atlas-hover:var(--c-purple-25);--atlas-active:var(--c-purple-25);--atlas-marker:var(--c-purple-50);--atlas-marker-alt:var(--c-purple-25);--atlas-layer:var(--c-purple-50);--atlas-rule-header:var(--c-black)}html.js [data-reveal]{opacity:0;transition:opacity var(--dur-3) var(--ease-out), transform var(--dur-3) var(--ease-out);transition-delay:var(--reveal-delay,0s);transform:translateY(10px)}html.js [data-reveal].is-revealed{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html.js [data-reveal]{opacity:1;transition:none;transform:none}}.hover-raise{transition:transform var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out), background-color var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out)}@media (hover:hover){.hover-raise:hover{transform:translateY(-2px)}}.hover-raise:active{transition-duration:var(--dur-1);transform:translateY(0)scale(.99)}@media (prefers-reduced-motion:reduce){.hover-raise,.hover-raise:hover,.hover-raise:active{transition:none;transform:none}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}.site-header{z-index:200;padding:var(--space-6) var(--space-6) 0;border-bottom:1px solid var(--atlas-rule-header);background-color:var(--atlas-ground);position:sticky;top:0}body[data-full-height] .site-header{position:static}.site-header-inner{align-items:baseline;gap:var(--space-4) var(--space-8);max-width:1280px;padding-bottom:var(--space-4);flex-wrap:wrap;margin:0 auto;display:flex}.site-masthead{font-family:var(--font-heading);font-weight:400;font-size:var(--text-sm);letter-spacing:.14em;text-transform:uppercase;color:var(--atlas-ink);flex-shrink:0;text-decoration:none}.site-masthead:hover{color:var(--atlas-accent-text)}.site-masthead:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.site-nav{gap:var(--space-6);flex-wrap:wrap;align-items:baseline;list-style:none;display:flex}.site-nav a{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--atlas-ink-muted);letter-spacing:.02em;padding-bottom:2px;font-weight:500;text-decoration:none}.site-nav a[aria-current=page],.site-nav a[aria-current=true]{color:var(--atlas-ink);box-shadow:inset 0 -2px 0 var(--atlas-accent);font-weight:700}.site-nav a:hover{color:var(--atlas-accent-text)}.site-nav a:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.site-nav a,.nav-dd-summary,.site-masthead{position:relative}.site-nav a:before,.nav-dd-summary:before,.site-masthead:before{content:"";position:absolute;inset:-6px -4px}.site-nav-dd{position:relative}.nav-dd-summary{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--atlas-ink-muted);letter-spacing:.02em;cursor:pointer;user-select:none;align-items:center;gap:5px;padding-bottom:2px;font-weight:500;list-style:none;display:inline-flex}.nav-dd-summary::-webkit-details-marker{display:none}.nav-dd-summary:after{content:"";width:0;height:0;transition:transform var(--dur-1) var(--ease-out);border-top:4px solid;border-left:3.5px solid #0000;border-right:3.5px solid #0000}.nav-dd[open] .nav-dd-summary:after{transform:rotate(180deg)}.nav-dd-summary:hover{color:var(--atlas-accent-text)}.nav-dd-summary:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.nav-dd-summary.is-current{color:var(--atlas-ink);box-shadow:inset 0 -2px 0 var(--atlas-accent);font-weight:700}.nav-dd[open] .nav-dd-summary{color:var(--atlas-ink)}.nav-dd-menu{z-index:50;background:var(--atlas-ground);border:1px solid var(--atlas-ink);width:max-content;min-width:232px;max-width:calc(100vw - 24px);padding:var(--space-2);list-style:none;position:absolute;top:calc(100% + 10px);left:0;box-shadow:0 10px 28px #00000029}.nav-dd-menu a{padding:var(--space-2) var(--space-3);font-family:var(--font-ui);font-size:var(--text-sm);color:var(--atlas-ink-muted);white-space:normal;text-decoration:none;display:block}.nav-dd-menu a:hover,.nav-dd-menu a:focus-visible{background:var(--atlas-surface);color:var(--atlas-accent-text);outline:none}.nav-dd-all{margin-top:var(--space-1);border-top:1px solid var(--rule,var(--atlas-surface));font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--atlas-ink-faint)}@media (prefers-reduced-motion:reduce){.nav-dd-summary:after{transition:none}}@media (width<=540px){.site-header{padding:var(--space-4) var(--space-4) 0}.site-header-inner{justify-content:space-between;align-items:center;gap:var(--space-3);padding-bottom:var(--space-3)}.site-masthead{font-size:var(--text-xs);letter-spacing:.08em}.site-nav{gap:var(--space-4)}.site-nav a,.nav-dd-summary{font-size:var(--text-xs)}.nav-dd-menu{left:auto;right:0}}.site-footer{border-top:1px solid var(--ink);background:var(--ink);color:var(--paper);margin-top:auto}.site-footer-inner{max-width:var(--container-wide);padding:var(--space-12) var(--gutter) var(--space-8);gap:var(--space-8) var(--space-12);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1.2fr);margin:0 auto;display:grid}@media (width<=767px){.site-footer-inner{padding-top:var(--space-8);grid-template-columns:1fr}}.site-footer-mark{font-family:var(--font-heading);font-weight:400;font-size:var(--text-sm);letter-spacing:.14em;text-transform:uppercase}.site-footer-tagline{margin-top:var(--space-2);font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink-2);max-width:34ch}.site-footer-signature{margin-top:var(--space-6);font-family:var(--font-ui);font-size:var(--text-sm);color:var(--ink-2)}.site-footer-signature a{color:var(--ink);text-underline-offset:4px;font-weight:600;text-decoration-thickness:2px}.site-footer-signature a:hover{color:var(--threshold)}.site-footer-heading{font-family:var(--font-ui);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:var(--space-3);font-weight:700}.site-footer-links{gap:var(--space-2);list-style:none;display:grid}.site-footer-links a{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--ink-2);text-decoration:none}.site-footer-links a:hover{color:var(--threshold)}.site-footer-links a:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.site-footer-meta{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--ink-3);line-height:1.7}.site-footer-mark{color:var(--paper)}.site-footer-tagline,.site-footer-signature{color:#efe9c9b3}.site-footer-meta,.site-footer-heading{color:#efe9c98c}.site-footer-signature a{color:var(--paper)}.site-footer-links a{color:#efe9c9d1}.site-footer-links a:hover,.site-footer-signature a:hover{color:var(--c-orange)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{background-color:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-text-size-adjust:100%;scroll-behavior:smooth;font-size:100%;line-height:1.65}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{flex-direction:column;min-height:100vh;display:flex;position:relative;overflow-x:hidden}body:after{content:"";opacity:.04;pointer-events:none;z-index:9999;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23noise)' opacity='1'/%3E%3C/svg%3E");position:fixed;inset:0}main{flex:1}body[data-guide-theme]{background-color:var(--atlas-ground)}html:has(>body[data-full-height]){height:100%;overflow:hidden}body[data-full-height]{height:100dvh;min-height:0;overflow:hidden}body[data-full-height] main{flex-direction:column;min-height:0;display:flex}body[data-full-height] .site-footer[hidden]{display:none}img,svg{max-width:100%;display:block}a{color:var(--ink);text-underline-offset:3px;transition:color var(--dur-1) var(--ease-out)}a:hover{color:var(--atlas-accent-text)}a:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset);border-radius:1px}.skip-link{top:var(--space-4);left:var(--space-4);padding:var(--space-2) var(--space-4);background:var(--ink);color:var(--paper);font-family:var(--font-ui);font-size:var(--text-sm);z-index:10000;border-radius:2px;font-weight:600;text-decoration:none;transition:transform .1s;position:absolute;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}@media (prefers-reduced-motion:reduce){.skip-link{transition:none}}.prose{max-width:var(--measure)}.prose p{margin-bottom:var(--space-4);font-size:var(--text-lg);line-height:1.7}.prose p:last-child{margin-bottom:0}.prose h1{font-family:var(--font-heading);font-weight:400;font-size:var(--text-4xl);letter-spacing:-.01em;margin-bottom:var(--space-4);color:var(--ink);line-height:1.1}.prose h2{font-family:var(--font-heading);font-weight:400;font-size:var(--text-2xl);margin-top:var(--space-12);margin-bottom:var(--space-4);color:var(--ink);line-height:1.2}.prose h3{font-family:var(--font-heading);font-weight:400;font-size:var(--text-lg);margin-top:var(--space-8);margin-bottom:var(--space-3);color:var(--ink);line-height:1.3}.prose ul,.prose ol{padding-left:var(--space-6);margin-bottom:var(--space-4)}.prose li{margin-bottom:var(--space-2);font-size:var(--text-lg);line-height:1.6}.prose a{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.prose a:hover{color:var(--atlas-accent-text)}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.page-wrapper{max-width:1280px;padding:var(--space-12) var(--space-6);margin:0 auto}
