@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./bricolage-grotesque-vietnamese-opsz-normal.D9N6E8K1.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./bricolage-grotesque-latin-ext-opsz-normal.IcJDqblK.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./bricolage-grotesque-latin-opsz-normal.Cre6nC2_.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 Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-cyrillic-ext-wght-normal.DjL33-gN.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 Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-cyrillic-wght-normal.BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-vietnamese-wght-normal.6IgcOCM7.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 Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-latin-ext-wght-normal.DC-KSUi6.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 Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-latin-wght-normal.BgDaEnEv.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.X_5orZeX.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.DiZS0aHC.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.CO5SzqOn.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.DadHysG0.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.Bwz-egvJ.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.XN7g48iV.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{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f3efe6;--card:#fff;--line:#e3dcce;--ui:#e9e3d6;--ink:#1e1a15;--mute:#716959;--accent:#e8590c;--accent-fill:#c94a0a;--on-accent:#fff;--accent-text:#b3410a;--accent-soft:#fbe4d6;--accent-soft-ink:#9a3412;--code-bg:#f7f3eb;--media-bg:#e6ddcb;--ok:#2c7a4d;--warn-bg:#fbf0d9;--warn:#8a5a0b;--error-bg:#fdecea;--error:#7a1c12;--gold:#7a6200;--silver:#5e6b77;--bronze:#8f4a26;--backdrop:#00000073;--font-display:"Bricolage Grotesque Variable", system-ui, sans-serif;--font-text:"Geist Variable", system-ui, sans-serif;--font-mono:"Geist Mono Variable", ui-monospace, monospace;--radius-card:8px;--radius-control:6px;--radius-pill:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--width-feed:600px;--width-project:1040px;--width-form:560px}:root[data-modus=dunkel]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d0f12;--card:#15181d;--line:#262b33;--ui:#2a3039;--ink:#eceef1;--mute:#8b929d;--accent:#f2672a;--accent-fill:#f2672a;--on-accent:#0d0f12;--accent-text:#f2672a;--accent-soft:#2b1b11;--accent-soft-ink:#ffa36e;--code-bg:#0f1216;--media-bg:#1c2027;--ok:#c6f432;--warn-bg:#2b2210;--warn:#f5c66b;--error-bg:#2e1512;--error:#ff9c8f;--gold:#f2c94c;--silver:#bac3cc;--bronze:#c27b4a}@media (prefers-color-scheme:dark){:root[data-modus=system]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d0f12;--card:#15181d;--line:#262b33;--ui:#2a3039;--ink:#eceef1;--mute:#8b929d;--accent:#f2672a;--accent-fill:#f2672a;--on-accent:#0d0f12;--accent-text:#f2672a;--accent-soft:#2b1b11;--accent-soft-ink:#ffa36e;--code-bg:#0f1216;--media-bg:#1c2027;--ok:#c6f432;--warn-bg:#2b2210;--warn:#f5c66b;--error-bg:#2e1512;--error:#ff9c8f;--gold:#f2c94c;--silver:#bac3cc;--bronze:#c27b4a}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-text);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.55}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em;overflow-wrap:anywhere;margin:0;font-weight:600;line-height:1.15}h1{font-size:32px}h2{font-size:26px}h3{font-size:22px}h4{font-size:17px}a{color:var(--accent-text)}code,pre,kbd,samp{font-family:var(--font-mono)}img,video{max-width:100%;height:auto}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.meta{font-family:var(--font-mono);letter-spacing:normal;color:var(--mute);margin:0;font-size:12px;font-weight:400;line-height:1.55}.mono{font-family:var(--font-mono)}.chips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;border-radius:var(--radius-control);background:var(--card);color:var(--ink);padding:8px 12px;position:absolute;top:-48px;left:8px}.skip-link:focus{top:8px}::view-transition-old(root){animation-duration:.16s}::view-transition-new(root){animation-duration:.16s}html{-webkit-tap-highlight-color:color-mix(in srgb, var(--accent) 14%, transparent)}.pop{animation:.26s ease-out wb-pop}@keyframes wb-pop{0%{transform:scale(.7)}45%{transform:scale(1.25)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.footer.svelte-148r58i{border-top:1px solid var(--line);margin-top:48px}.inner.svelte-148r58i{max-width:calc(var(--width-project) + 40px);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:0 auto;padding:20px;display:flex}ul.svelte-148r58i{gap:16px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}a.svelte-148r58i{color:var(--mute)}.ladelinie.svelte-12qhfyh{z-index:50;background:var(--accent);height:2px;animation:8s cubic-bezier(.1,.8,.2,1) forwards svelte-12qhfyh-ladelinie;position:fixed;top:0;left:0}@keyframes svelte-12qhfyh-ladelinie{0%{width:0}to{width:92%}}html{scroll-padding-top:72px}.site-header.svelte-12qhfyh{z-index:10;position:sticky;top:0}main.svelte-12qhfyh:focus{outline:none}.site-bottom.svelte-12qhfyh{z-index:10;position:fixed;bottom:0;left:0;right:0}@media (width>=720px){.site-bottom.svelte-12qhfyh{display:none}}@media (width<=719.98px){html{scroll-padding-bottom:calc(72px + env(safe-area-inset-bottom))}body{padding-bottom:calc(56px + env(safe-area-inset-bottom))}}
