@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-cyrillic-ext-400-normal.BQZuk6qB.woff2)format("woff2"),url(./inter-cyrillic-ext-400-normal.DQukG94-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-cyrillic-400-normal.obahsSVq.woff2)format("woff2"),url(./inter-cyrillic-400-normal.HOLc17fK.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-greek-ext-400-normal.DGGRlc-M.woff2)format("woff2"),url(./inter-greek-ext-400-normal.KugGGMne.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-greek-400-normal.B4URO6DV.woff2)format("woff2"),url(./inter-greek-400-normal.q2sYcFCs.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-vietnamese-400-normal.DMkecbls.woff2)format("woff2"),url(./inter-vietnamese-400-normal.Bbgyi5SW.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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-latin-ext-400-normal.C1nco2VV.woff2)format("woff2"),url(./inter-latin-ext-400-normal.77YHD8bZ.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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-latin-400-normal.C38fXH4l.woff2)format("woff2"),url(./inter-latin-400-normal.CyCys3Eg.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}button.svelte-woggik{border:1px solid var(--color-border-strong);width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:border-color .15s,background-color .15s,color .15s;display:flex}button.svelte-woggik:hover{border-color:var(--color-accent);color:var(--color-text-primary);background-color:var(--color-accent-subtle)}button.svelte-woggik:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:6px}prism-vsc-dark-plus.csspre[class*=language-],code[class*=language-]{color:#d4d4d4;text-shadow:none;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;tab-size:4;-webkit-hyphens:none;hyphens:none;direction:ltr;font-family:Menlo,Monaco,Consolas,Andale Mono,Ubuntu Mono,Courier New,monospace;font-size:18px;line-height:1.5}pre[class*=language-]::selection{text-shadow:none;background:#264f78}code[class*=language-]::selection{text-shadow:none;background:#264f78}pre[class*=language-] ::selection{text-shadow:none;background:#264f78}code[class*=language-] ::selection{text-shadow:none;background:#264f78}@media print{pre[class*=language-],code[class*=language-]{text-shadow:none}}pre[class*=language-]{background:#1e1e1e;margin:.5em 0;padding:1em;overflow:auto}:not(pre)>code[class*=language-]{color:#db4c69;background:#1e1e1e;border-radius:.3em;padding:.1em .3em}.namespace{opacity:.7}.token.doctype .token.doctype-tag{color:#569cd6}.token.doctype .token.name{color:#9cdcfe}.token.comment,.token.prolog{color:#6a9955}.token.punctuation,.language-html .language-css .token.punctuation,.language-html .language-javascript .token.punctuation{color:#d4d4d4}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.inserted,.token.unit{color:#b5cea8}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.deleted{color:#ce9178}.language-css .token.string.url{text-decoration:underline}.token.operator,.token.entity{color:#d4d4d4}.token.operator.arrow{color:#569cd6}.token.atrule{color:#ce9178}.token.atrule .token.rule{color:#c586c0}.token.atrule .token.url{color:#9cdcfe}.token.atrule .token.url .token.function{color:#dcdcaa}.token.atrule .token.url .token.punctuation{color:#d4d4d4}.token.keyword{color:#569cd6}.token.keyword.module,.token.keyword.control-flow{color:#c586c0}.token.function,.token.function .token.maybe-class-name{color:#dcdcaa}.token.regex{color:#d16969}.token.important{color:#569cd6}.token.italic{font-style:italic}.token.constant{color:#9cdcfe}.token.class-name,.token.maybe-class-name{color:#4ec9b0}.token.console,.token.parameter,.token.interpolation{color:#9cdcfe}.token.punctuation.interpolation-punctuation,.token.boolean{color:#569cd6}.token.property,.token.variable,.token.imports .token.maybe-class-name,.token.exports .token.maybe-class-name{color:#9cdcfe}.token.selector,.token.escape{color:#d7ba7d}.token.tag{color:#569cd6}.token.tag .token.punctuation,.token.cdata{color:gray}.token.attr-name{color:#9cdcfe}.token.attr-value,.token.attr-value .token.punctuation{color:#ce9178}.token.attr-value .token.punctuation.attr-equals{color:#d4d4d4}.token.entity{color:#569cd6}.token.namespace{color:#4ec9b0}pre[class*=language-javascript],code[class*=language-javascript],pre[class*=language-jsx],code[class*=language-jsx],pre[class*=language-typescript],code[class*=language-typescript],pre[class*=language-tsx],code[class*=language-tsx]{color:#9cdcfe}pre[class*=language-css],code[class*=language-css]{color:#ce9178}pre[class*=language-html],code[class*=language-html]{color:#d4d4d4}.language-regex .token.anchor{color:#dcdcaa}.language-html .token.punctuation{color:gray}pre[class*=language-]>code[class*=language-]{z-index:1;position:relative}.line-highlight.line-highlight{z-index:0;background:#f7ebc6;box-shadow:inset 5px 0 #f7d87c}:root{--spacing-unit:4px;--color-background:#0a0a0b;--color-surface:#111113;--color-surface-hover:#18181b;--color-surface-elevated:#1c1c1f;--color-text-primary:#f0eff2;--color-text-secondary:#737278;--color-text-tertiary:#4a494f;--color-accent:#5e6ad2;--color-accent-hover:#7880e0;--color-accent-subtle:#5e6ad21f;--color-border:#ffffff12;--color-border-strong:#ffffff21;--color-code-bg:#151517;--color-code-text:#e2e0e8;--shadow-sm:0 1px 3px #0006;--shadow-md:0 4px 16px #00000080}:root.light{--color-background:#fafafa;--color-surface:#fff;--color-surface-hover:#f4f4f5;--color-surface-elevated:#f0f0f1;--color-text-primary:#111;--color-text-secondary:#71717a;--color-text-tertiary:#a1a1aa;--color-accent:#4f46e5;--color-accent-hover:#4338ca;--color-accent-subtle:#4f46e514;--color-border:#00000012;--color-border-strong:#00000021;--color-code-bg:#f4f4f5;--color-code-text:#1a1a2e;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 16px #0000001a}html{transition:background-color .25s,color .25s}body{max-width:76ch;padding:calc(var(--spacing-unit) * 8) calc(var(--spacing-unit) * 5);font-feature-settings:"cv02", "cv03", "cv04", "cv08";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-background);color:var(--color-text-primary);margin:0 auto;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.75;transition:background-color .25s,color .25s}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}a{color:var(--color-text-primary);font-weight:600;text-decoration:none}a:hover{color:var(--color-accent);text-decoration:underline}a:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:2px}code:not(pre code){background-color:var(--color-code-bg);color:var(--color-code-text);border:1px solid var(--color-border);border-radius:4px;padding:2px 6px;font-family:Fira Code,Cascadia Code,Menlo,Monaco,Consolas,monospace;font-size:.85em}.prose p{margin:1.4em 0}.prose h2{letter-spacing:-.02em;border-bottom:1px solid var(--color-border);margin-top:2.4em;margin-bottom:.6em;padding-bottom:.4em;font-size:1.35rem;font-weight:700;line-height:1.3}.prose h3{letter-spacing:-.01em;margin-top:2em;margin-bottom:.4em;font-size:1.1rem;font-weight:600;line-height:1.35}.prose h4{margin-top:1.5em;margin-bottom:.3em;font-size:1rem;font-weight:700}.prose ul,.prose ol{margin:1em 0;padding-left:1.6em}.prose li{margin:.35em 0;line-height:1.65}.prose blockquote{border-left:2px solid var(--color-accent);background:var(--color-accent-subtle);color:var(--color-text-secondary);border-radius:0 8px 8px 0;margin:1.8em 0;padding:.8em 1.2em;font-style:normal}.prose pre{border-radius:8px;margin:1.5em 0;overflow-x:auto}.prose a{color:var(--color-accent);text-underline-offset:2px;text-decoration:underline}.prose a:hover{color:var(--color-accent-hover)}.prose img{border-radius:8px;max-width:100%;margin:1.5em 0}.prose hr{border:none;border-top:1px solid var(--color-border);margin:2.5em 0}header.svelte-12qhfyh{z-index:50;margin-bottom:calc(var(--spacing-unit) * 12);padding:calc(var(--spacing-unit) * 4) 0;border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(12px);background:#0a0a0bd9;position:sticky;top:0}:root.light header.svelte-12qhfyh{background:#fafafad9}nav.svelte-12qhfyh{justify-content:space-between;align-items:center;gap:calc(var(--spacing-unit) * 4);display:flex}.site-name.svelte-12qhfyh{letter-spacing:-.03em;color:var(--color-text-primary);font-size:1rem;font-weight:700;text-decoration:none;transition:color .15s}.site-name.svelte-12qhfyh:hover{color:var(--color-accent);text-decoration:none}.nav-links.svelte-12qhfyh{align-items:center;gap:calc(var(--spacing-unit) * 6);display:flex}.nav-links.svelte-12qhfyh a:where(.svelte-12qhfyh){color:var(--color-text-secondary);letter-spacing:-.01em;font-size:.875rem;font-weight:450;text-decoration:none;transition:color .15s;position:relative}.nav-links.svelte-12qhfyh a:where(.svelte-12qhfyh):hover,.nav-links.svelte-12qhfyh a.active:where(.svelte-12qhfyh){color:var(--color-text-primary);text-decoration:none}.nav-links.svelte-12qhfyh a.active:where(.svelte-12qhfyh):after{content:"";background:var(--color-accent);height:1px;position:absolute;bottom:-20px;left:0;right:0}footer.svelte-12qhfyh{margin-top:calc(var(--spacing-unit) * 20);padding-top:calc(var(--spacing-unit) * 8);border-top:1px solid var(--color-border);color:var(--color-text-tertiary);text-align:center;letter-spacing:.01em;font-size:.8rem}footer.svelte-12qhfyh p:where(.svelte-12qhfyh){margin:0}.page-transition.svelte-12qhfyh{animation:.22s forwards svelte-12qhfyh-fadeSlideIn}@keyframes svelte-12qhfyh-fadeSlideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=600px){body{padding:calc(var(--spacing-unit) * 5) calc(var(--spacing-unit) * 4);font-size:15px}header.svelte-12qhfyh{margin-bottom:calc(var(--spacing-unit) * 8)}.nav-links.svelte-12qhfyh{gap:calc(var(--spacing-unit) * 4)}}
