@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-ext-wght-normal.BOeWTOD4.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-wght-normal.DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-ext-wght-normal.DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-wght-normal.CkhJZR-_.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-vietnamese-wght-normal.CBcvBZtf.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-ext-wght-normal.DO1Apj_S.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-wght-normal.Dx4kXJAl.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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)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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-greek-wght-normal.Bw9x6K1M.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-latin-wght-normal.B9CIFXIH.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:Instrument Serif;font-style:normal;font-display:swap;font-weight:400;src:url(./instrument-serif-latin-400-normal.DnYpCC2O.woff2)format("woff2"),url(./instrument-serif-latin-400-normal.BVbkICAY.woff)format("woff")}@font-face{font-family:Instrument Serif;font-style:italic;font-display:swap;font-weight:400;src:url(./instrument-serif-latin-400-italic.DKMiL14s.woff2)format("woff2"),url(./instrument-serif-latin-400-italic.u__WvvIK.woff)format("woff")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-sans:"Inter Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:"Instrument Serif", "Iowan Old Style", Georgia, serif;--font-mono:"JetBrains Mono Variable", ui-monospace, SFMono-Regular, Menlo, monospace;--pierre:#eadec0;--courant:#4fbdc5;--sarcelle:#0b7f95;--nuit:#081823;--bg:#fafafa;--bg-warm:#f5f0e3;--surface:#fff;--surface-2:#f4efe3;--surface-3:#ebe3cf;--ink:#081823;--muted:#55626a;--line:#e6dfcd;--line-strong:#d6cbb0;--accent:#0b7f95;--accent-ink:#fff;--accent-soft:#dcf0f2;--new:#8a5d00;--new-bg:#f6e9c5;--beta:#5f4bb0;--beta-bg:#ebe6f8;--ok:#17734a;--glass:#fafafab8;--aurora-warm:.55;--aurora-cool:.35;--radius-s:10px;--radius-m:16px;--radius-l:26px;--shadow:0 1px 2px #0818230d, 0 12px 32px -18px #08182338;--shadow-lift:0 2px 4px #0818230d, 0 28px 60px -28px #08182359;--ease:cubic-bezier(.2, .7, .2, 1);--ease-spring:cubic-bezier(.34, 1.4, .5, 1);--page:min(1180px, 100% - 32px)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#081823;--bg-warm:#0c1f2b;--surface:#0e2331;--surface-2:#13293a;--surface-3:#1a3346;--ink:#f1ece0;--muted:#a3b2b7;--line:#1f3a4c;--line-strong:#2c4a5e;--accent:#4fbdc5;--accent-ink:#052028;--accent-soft:#123a45;--new:#f2d48a;--new-bg:#3b321a;--beta:#bcaef6;--beta-bg:#282450;--ok:#6fd3a2;--glass:#081823b3;--aurora-warm:.14;--aurora-cool:.28;--shadow:0 1px 2px #00000040, 0 14px 36px -18px #000000b3;--shadow-lift:0 2px 4px #00000040, 0 30px 60px -26px #000000d9}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#081823;--bg-warm:#0c1f2b;--surface:#0e2331;--surface-2:#13293a;--surface-3:#1a3346;--ink:#f1ece0;--muted:#a3b2b7;--line:#1f3a4c;--line-strong:#2c4a5e;--accent:#4fbdc5;--accent-ink:#052028;--accent-soft:#123a45;--new:#f2d48a;--new-bg:#3b321a;--beta:#bcaef6;--beta-bg:#282450;--ok:#6fd3a2;--glass:#081823b3;--aurora-warm:.14;--aurora-cool:.28;--shadow:0 1px 2px #00000040, 0 14px 36px -18px #000000b3;--shadow-lift:0 2px 4px #00000040, 0 30px 60px -26px #000000d9}.theme-dark-only{display:none!important}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-dark-only{display:revert!important}:root:not([data-theme=light]) .theme-light-only{display:none!important}}:root[data-theme=dark] .theme-dark-only{display:revert!important}:root[data-theme=dark] .theme-light-only{display:none!important}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:96px;overflow-x:clip}body{background:var(--bg);color:var(--ink);font:16px/1.55 var(--font-sans);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;margin:0;overflow-x:clip}h1,h2,h3{text-wrap:balance;margin:0;line-height:1.05}h1,h2{font-family:var(--font-display);letter-spacing:-.01em;font-weight:400}h3{letter-spacing:-.015em}em{font-style:italic}p{text-wrap:pretty;margin:0}a{color:inherit}img{max-width:100%;display:block}button{font:inherit;color:inherit}code,pre,kbd{font-family:var(--font-mono);font-size:.88em}::selection{background:var(--courant);color:var(--nuit)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.page{width:var(--page);margin-inline:auto}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-size:.78rem;font-weight:650}:root.js [data-reveal]{opacity:0;transition:opacity .8s var(--ease), transform .8s var(--ease);transition-delay:calc(var(--i,0) * 70ms);transform:translateY(24px)}:root.js [data-reveal].is-visible{opacity:1;transform:none}.demo-tap{animation:demo-press .45s var(--ease);position:relative}.demo-tap:after{content:"";border-radius:inherit;min-width:1.6em;box-shadow:0 0 0 3px color-mix(in srgb, var(--courant) 80%, transparent);animation:demo-ring .65s var(--ease) forwards;pointer-events:none;position:absolute;inset:-4px}@keyframes demo-press{40%{scale:.94}}@keyframes demo-ring{0%{opacity:1;scale:.85}to{opacity:0;scale:1.15}}::view-transition-old(root){animation-duration:.35s}::view-transition-new(root){animation-duration:.35s}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}:root.js [data-reveal]{opacity:1;transform:none}}.mark.svelte-6d62c{gap:calc(var(--size) * .12);width:var(--size);height:var(--size);flex:none;grid-template-columns:repeat(2,1fr);display:grid}.mark.svelte-6d62c span:where(.svelte-6d62c){animation:svelte-6d62c-rise .7s var(--ease-spring) both;transition:transform .4s var(--ease-spring);border-radius:30%}.mark.svelte-6d62c span:where(.svelte-6d62c):first-child{background:var(--pierre)}.mark.svelte-6d62c span:where(.svelte-6d62c):nth-child(2){background:var(--courant);animation-delay:80ms}.mark.svelte-6d62c span:where(.svelte-6d62c):nth-child(3){background:var(--courant);animation-delay:.16s}.mark.svelte-6d62c span:where(.svelte-6d62c):nth-child(4){background:var(--sarcelle);animation-delay:.24s}a:hover>.mark.svelte-6d62c span:where(.svelte-6d62c):first-child{transform:translate(-2px,-2px)}a:hover>.mark.svelte-6d62c span:where(.svelte-6d62c):nth-child(2){transform:translate(2px,-2px)rotate(8deg)}a:hover>.mark.svelte-6d62c span:where(.svelte-6d62c):nth-child(3){transform:translate(-2px,2px)rotate(-8deg)}a:hover>.mark.svelte-6d62c span:where(.svelte-6d62c):nth-child(4){transform:translate(2px,2px)}@keyframes svelte-6d62c-rise{0%{opacity:0;transform:translateY(6px)scale(.6)}}.skip.svelte-12qhfyh{z-index:30;background:var(--ink);color:var(--bg);border-radius:var(--radius-s);padding:8px 14px;position:absolute;top:-60px;left:16px}.skip.svelte-12qhfyh:focus{top:12px}header.site.svelte-12qhfyh{z-index:20;transition:background .3s var(--ease), box-shadow .3s var(--ease);position:sticky;top:0}header.site.scrolled.svelte-12qhfyh{background:var(--glass);-webkit-backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--line)}.bar.svelte-12qhfyh{justify-content:space-between;align-items:center;gap:16px;height:68px;display:flex}.brand.svelte-12qhfyh{letter-spacing:-.02em;white-space:nowrap;border-radius:var(--radius-s);align-items:center;gap:12px;font-size:1.02rem;font-weight:700;text-decoration:none;display:inline-flex}.brand.svelte-12qhfyh:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.tools.svelte-12qhfyh{gap:6px;display:flex}.tool.svelte-12qhfyh{border:1px solid var(--line);background:var(--surface);width:40px;height:40px;color:var(--ink);cursor:pointer;transition:transform .3s var(--ease-spring), border-color .2s var(--ease);border-radius:50%;place-items:center;display:grid}.tool.svelte-12qhfyh:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.tool.svelte-12qhfyh:hover{border-color:var(--accent);transform:rotate(-12deg)scale(1.06)}main.svelte-12qhfyh{min-height:70vh}footer.site.svelte-12qhfyh{border-top:1px solid var(--line);background:var(--bg-warm);margin-top:120px}.foot.svelte-12qhfyh{color:var(--muted);gap:14px;padding-block:36px 44px;font-size:.9rem;display:grid}@media (width>=900px){.foot.svelte-12qhfyh{grid-template-columns:auto 1fr auto;align-items:center;gap:32px}}.foot.svelte-12qhfyh .brand:where(.svelte-12qhfyh){color:var(--ink)}.foot.svelte-12qhfyh nav:where(.svelte-12qhfyh){flex-wrap:wrap;gap:6px 20px;display:flex}.foot.svelte-12qhfyh nav:where(.svelte-12qhfyh) a:where(.svelte-12qhfyh){text-underline-offset:3px;align-items:center;gap:4px;display:inline-flex}.foot.svelte-12qhfyh nav:where(.svelte-12qhfyh) a:where(.svelte-12qhfyh):hover{color:var(--ink)}
