@font-face{font-family:Mona Sans Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(./mona-sans-vietnamese-wght-normal.DsUdksa4.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:Mona Sans Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(./mona-sans-latin-ext-wght-normal.BqSk0Z3x.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:Mona Sans Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(./mona-sans-latin-wght-normal.Pz49MTQZ.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:Hubot Sans Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(./hubot-sans-vietnamese-wght-normal.CfVCUiwU.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:Hubot Sans Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(./hubot-sans-latin-ext-wght-normal.HZLZm8wG.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:Hubot Sans Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(./hubot-sans-latin-wght-normal.4x4LLvEw.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-cyrillic-ext-wght-normal.I4S5GZfc.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-cyrillic-wght-normal.BmXc_FBt.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-symbols2-wght-normal.GZpp1pK2.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-vietnamese-wght-normal.D8KDMBhC.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-latin-ext-wght-normal.DrnZ1wKl.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-latin-wght-normal.B_7UjwxQ.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{--font-display:"Hubot Sans Variable", "Hubot Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-text:"Mona Sans Variable", "Mona Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:"Geist Mono Variable", ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--t-name:clamp(2.7rem, 1.85rem + 3.8vw, 4.5rem);--t-h1:clamp(1.85rem, 1.45rem + 1.7vw, 2.6rem);--t-h2:clamp(1.25rem, 1.1rem + .6vw, 1.5rem);--t-entry:1.0625rem;--t-title:1.1rem;--t-base:1rem;--t-desc:.9rem;--t-label:.7rem;--t-mono:.78rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2.25rem;--space-8:5.5rem;--label-col:8.5rem;--col-gap:clamp(1.25rem, .7rem + 2.2vw, 2.5rem);--page-max:54rem;--reading-max:38rem;--pad-x:clamp(1.25rem, .5rem + 3.5vw, 2.75rem);--ease:cubic-bezier(.2, .6, .2, 1);--radius:5px}:root[data-theme=light]{--paper:#f3f4f1;--paper-2:#e8eae3;--ink:#0f1115;--ink-2:#4d525a;--ink-3:#898f98;--rule:#dde0d9;--accent:#2643f0;--accent-2:#1430d6;--selection:#cfd7ff;--grain-opacity:.05;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--paper:#101216;--paper-2:#1b1d24;--ink:#edeff3;--ink-2:#a4a9b2;--ink-3:#6c727c;--rule:#24272f;--accent:#88a0ff;--accent-2:#a2b4ff;--selection:#2a3270;--grain-opacity:.08;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box;margin:0}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;scroll-behavior:smooth;scroll-padding-top:2rem}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{background-color:var(--paper);color:var(--ink);font-family:var(--font-text);font-size:var(--t-base);font-feature-settings:"ss01", "cv01";min-height:100dvh;transition:background-color .25s var(--ease), color .25s var(--ease);line-height:1.55}::selection{background:var(--selection)}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.page{width:100%;max-width:var(--page-max);padding-inline:var(--pad-x);margin-inline:auto}.mono{font-family:var(--font-mono);font-size:var(--t-mono);font-feature-settings:"tnum";letter-spacing:.01em}.skip-link{left:var(--space-4);top:var(--space-4);background:var(--ink);color:var(--paper);padding:var(--space-2) var(--space-4);border-radius:var(--radius);z-index:100;transition:transform .2s var(--ease);position:absolute;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.prose{font-size:var(--t-entry);color:var(--ink);max-width:var(--reading-max);line-height:1.72}.prose>*+*{margin-top:1.25em}.prose h2,.prose h3{font-family:var(--font-display);letter-spacing:-.01em;margin-top:1.9em;font-weight:650;line-height:1.2}.prose h2{font-size:var(--t-h2)}.prose h3{font-size:1.1rem}.prose a{color:var(--accent);text-underline-offset:.16em;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:color-mix(in oklab, var(--accent) 35%, transparent);text-decoration-color:color-mix(in oklab, var(--accent) 35%, transparent);transition:text-decoration-color .15s var(--ease)}.prose a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.prose strong{color:var(--ink);font-weight:650}.prose em{font-style:italic}.prose blockquote{border-left:2px solid var(--accent);padding-left:var(--space-4);color:var(--ink-2)}.prose ul,.prose ol{padding-left:1.3em}.prose li+li{margin-top:.4em}.prose li::marker{color:var(--ink-3)}.prose hr{border:none;border-top:1px solid var(--rule);margin-block:var(--space-6)}.prose code{font-family:var(--font-mono);background:var(--paper-2);border-radius:3px;padding:.12em .38em;font-size:.85em}.prose pre{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--radius);padding:var(--space-4);font-size:.82rem;line-height:1.6;overflow-x:auto}.prose pre code{font-size:inherit;background:0 0;padding:0}.grain{z-index:1;pointer-events:none;opacity:var(--grain-opacity);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:170px 170px;position:fixed;inset:0}:root[data-theme=dark] .icon-sun,:root[data-theme=light] .icon-moon{display:none}.theme-toggle.svelte-1cmi4dh{width:2rem;height:2rem;color:var(--ink-3);transition:color .18s var(--ease);justify-content:center;align-items:center;display:inline-flex}.theme-toggle.svelte-1cmi4dh:hover{color:var(--ink)}.icon-sun.svelte-1cmi4dh,.icon-moon.svelte-1cmi4dh{display:inline-flex}.footer.svelte-jz8lnl{margin-top:var(--space-8);padding-bottom:var(--space-6)}.top.svelte-jz8lnl{color:var(--ink-3);transition:color .15s var(--ease)}.top.svelte-jz8lnl:hover{color:var(--accent)}.toggle-fixed.svelte-12qhfyh{z-index:50;position:fixed;top:.85rem;right:.85rem}.error-box.svelte-12qhfyh{padding-block:var(--space-8);text-align:center}.error-box.svelte-12qhfyh h1:where(.svelte-12qhfyh){font-family:var(--font-display);font-size:var(--t-h1);font-weight:750}.error-box.svelte-12qhfyh p:where(.svelte-12qhfyh){margin-top:var(--space-3);color:var(--ink-2)}.error-box.svelte-12qhfyh button:where(.svelte-12qhfyh){margin-top:var(--space-5);font-family:var(--font-text);font-size:var(--t-desc);color:var(--accent);border:1px solid var(--rule);padding:var(--space-2) var(--space-5);transition:border-color .15s var(--ease), background-color .15s var(--ease);border-radius:999px;font-weight:500}.error-box.svelte-12qhfyh button:where(.svelte-12qhfyh):hover{border-color:var(--accent);background:var(--paper-2)}
