@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-vietnamese-wght-normal.BUzh504Q.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(/_astro/bricolage-grotesque-latin-ext-wght-normal.CcLUaPy7.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(/_astro/bricolage-grotesque-latin-wght-normal.DLoelf7F.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:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/literata-cyrillic-ext-wght-normal.CGKlZYBf.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:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/literata-cyrillic-wght-normal.DLqwHbi6.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/literata-greek-ext-wght-normal.e3e57Shi.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/literata-greek-wght-normal.CO1l-giJ.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:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/literata-vietnamese-wght-normal.LcSrhZ7T.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:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/literata-latin-ext-wght-normal.BnEbWgdZ.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:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/literata-latin-wght-normal.DLxlUchJ.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{--bg:#e6eaf5;--surface:#f1f4fb;--surface-2:#dde3f2;--ink:#1c2b5a;--ink-soft:#4a5680;--primary:#2f54d6;--primary-ink:#fff;--mint:#7ed6b5;--mint-ink:#0f3d2e;--butter:#f6d77a;--butter-ink:#4a3600;--rose:#f3a6b5;--focus:#2f54d6;--hi:#ffffffe6;--lo:#1c2b5a2e;--clay:12px 14px 28px var(--lo), -10px -10px 24px var(--hi), inset 3px 3px 8px #ffffffbf, inset -5px -6px 12px #1c2b5a14;--clay-sm:6px 7px 14px var(--lo), -5px -5px 12px var(--hi), inset 2px 2px 5px #ffffffbf, inset -3px -4px 8px #1c2b5a14;--clay-pressed:inset 5px 6px 12px var(--lo), inset -5px -5px 12px var(--hi);--clay-primary:8px 10px 20px #2f54d659, -6px -6px 14px var(--hi), inset 3px 3px 8px #ffffff59, inset -5px -6px 10px #0a14504d;--r-xl:44px;--r-lg:30px;--r-md:20px;--r-sm:14px;--pill:999px;--font-ui:"Bricolage Grotesque Variable", system-ui, sans-serif;--font-read:"Literata Variable", Georgia, serif;--font-code:ui-monospace, "JetBrains Mono", "SFMono-Regular", Menlo, monospace;--step--1:clamp(.84rem, .82rem + .1vw, .9rem);--step-0:clamp(1rem, .97rem + .15vw, 1.08rem);--step-1:clamp(1.2rem, 1.12rem + .4vw, 1.4rem);--step-2:clamp(1.45rem, 1.3rem + .75vw, 1.9rem);--step-3:clamp(1.9rem, 1.6rem + 1.5vw, 2.8rem);--step-4:clamp(2.5rem, 1.9rem + 3vw, 4.4rem);--gutter:clamp(16px, 4vw, 40px);--max:1180px;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#1a2036;--surface:#232b47;--surface-2:#1d2440;--ink:#e8ecfa;--ink-soft:#a9b3d6;--primary:#8fa8ff;--primary-ink:#0d1640;--mint:#5cc39d;--mint-ink:#04251a;--butter:#e9c75e;--butter-ink:#2e2100;--focus:#b6c6ff;--hi:#8296e612;--lo:#00000080;--clay:12px 14px 28px var(--lo), -8px -8px 20px var(--hi), inset 3px 3px 8px #ffffff0f, inset -5px -6px 12px #00000059;--clay-sm:6px 7px 14px var(--lo), -4px -4px 10px var(--hi), inset 2px 2px 5px #ffffff0f, inset -3px -4px 8px #00000059;--clay-pressed:inset 5px 6px 12px #00000073, inset -4px -4px 10px var(--hi);--clay-primary:8px 10px 20px #00000080, inset 3px 3px 8px #ffffff59, inset -5px -6px 10px #0a145059;color-scheme:dark}}:root[data-theme=dark]{--bg:#1a2036;--surface:#232b47;--surface-2:#1d2440;--ink:#e8ecfa;--ink-soft:#a9b3d6;--primary:#8fa8ff;--primary-ink:#0d1640;--mint:#5cc39d;--mint-ink:#04251a;--butter:#e9c75e;--butter-ink:#2e2100;--focus:#b6c6ff;--hi:#8296e612;--lo:#00000080;--clay:12px 14px 28px var(--lo), -8px -8px 20px var(--hi), inset 3px 3px 8px #ffffff0f, inset -5px -6px 12px #00000059;--clay-sm:6px 7px 14px var(--lo), -4px -4px 10px var(--hi), inset 2px 2px 5px #ffffff0f, inset -3px -4px 8px #00000059;--clay-pressed:inset 5px 6px 12px #00000073, inset -4px -4px 10px var(--hi);--clay-primary:8px 10px 20px #00000080, inset 3px 3px 8px #ffffff59, inset -5px -6px 10px #0a145059;color-scheme:dark}@view-transition{navigation:auto}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:110px}body{background:var(--bg);min-height:100dvh;color:var(--ink);font-family:var(--font-ui);font-size:var(--step-0);flex-direction:column;margin:0;line-height:1.55;display:flex;overflow-x:hidden}main{flex:1}img{max-width:100%;height:auto;display:block}a{color:var(--primary);font-weight:600;text-decoration:none;transition:color .15s}a:hover{color:color-mix(in srgb, var(--primary) 70%, var(--ink))}.prose a{background:linear-gradient(color-mix(in srgb, var(--primary) 22%, transparent), color-mix(in srgb, var(--primary) 22%, transparent)) 0 100% / 100% .35em no-repeat;text-decoration:none}.prose a:hover{background-size:100% 100%;text-decoration:none}h1,h2,h3,h4{letter-spacing:-.02em;text-wrap:balance;margin:0 0 .5em;font-weight:750;line-height:1.12}h1{font-size:var(--step-4);letter-spacing:-.035em}h2{font-size:var(--step-3)}h3{font-size:var(--step-1);letter-spacing:-.01em}p{text-wrap:pretty;margin:0 0 1em}:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:8px}::selection{background:var(--butter);color:var(--butter-ink)}.skip{z-index:100;position:absolute;top:12px;left:-9999px}.skip:focus{background:var(--surface);border-radius:var(--pill);box-shadow:var(--clay-sm);padding:10px 16px;left:16px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.wrap{width:100%;max-width:var(--max);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:clamp(48px,8vw,96px) 0}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px 24px;margin-bottom:28px;display:flex}.section-head h2{margin:0}.lede{font-size:var(--step-1);color:var(--ink-soft);max-width:60ch}.muted{color:var(--ink-soft)}.clay{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--clay)}.clay-sm{background:var(--surface);border-radius:var(--r-md);box-shadow:var(--clay-sm)}.pad{padding:clamp(20px,3.5vw,36px)}.btn{--b-bg:var(--surface);--b-ink:var(--ink);--b-shadow:var(--clay-sm);border-radius:var(--pill);background:var(--b-bg);min-height:48px;color:var(--b-ink);box-shadow:var(--b-shadow);font:650 var(--step-0) / 1 var(--font-ui);cursor:pointer;border:0;justify-content:center;align-items:center;gap:.5em;padding:.7em 1.35em;text-decoration:none;transition:transform .15s,box-shadow .15s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn:active{box-shadow:var(--clay-pressed);transform:translateY(1px)}.btn-primary{--b-bg:var(--primary);--b-ink:var(--primary-ink);--b-shadow:var(--clay-primary)}.btn-sm{min-height:40px;font-size:var(--step--1);padding:.5em 1em}.btn-lg{min-height:56px;font-size:var(--step-1);padding:.8em 1.6em}.btn svg{flex:none;width:1.1em;height:1.1em}.btn[disabled]{opacity:.55;cursor:not-allowed;transform:none}.chip{border-radius:var(--pill);background:var(--surface);box-shadow:var(--clay-sm);font-size:var(--step--1);color:var(--ink);cursor:default;border:0;align-items:center;gap:6px;padding:.38em .85em;font-weight:600;text-decoration:none;display:inline-flex}button.chip,a.chip{cursor:pointer;min-height:36px}button.chip[aria-pressed=true],a.chip[aria-current=page]{box-shadow:var(--clay-pressed);background:var(--surface-2);color:var(--primary)}.chip .count{opacity:.65;font-variant-numeric:tabular-nums}.tag-butter{background:var(--butter);color:var(--butter-ink)}.tag-mint{background:var(--mint);color:var(--mint-ink)}.chips{flex-wrap:wrap;gap:10px;display:flex}.field{gap:6px;display:grid}.field label{font-weight:650;font-size:var(--step--1)}.input{border-radius:var(--r-md);background:var(--surface-2);width:100%;min-height:50px;box-shadow:var(--clay-pressed);color:var(--ink);font:400 var(--step-0) / 1.4 var(--font-ui);border:0;padding:.8em 1.1em}.input::placeholder{color:var(--ink-soft);opacity:.8}textarea.input{resize:vertical;min-height:170px}.page-hero{padding-block:clamp(36px,7vw,80px) 0}.page-hero h1{max-width:16ch}.timeline{gap:22px;margin:0;padding:0;list-style:none;display:grid;position:relative}.timeline:before{content:"";background:var(--surface-2);width:6px;box-shadow:var(--clay-pressed);border-radius:6px;position:absolute;top:10px;bottom:10px;left:13px}.timeline>li{padding-left:48px;position:relative}.timeline>li:before{content:"";background:var(--primary);width:24px;height:24px;box-shadow:var(--clay-primary);border-radius:50%;position:absolute;top:22px;left:4px}.timeline .when{color:var(--primary);font-weight:700;font-size:var(--step--1)}.prose{font-family:var(--font-read);overflow-wrap:break-word;font-size:clamp(1.05rem,1rem + .25vw,1.15rem);line-height:1.75}.prose>:where(p,ul,ol,h2,h3,h4,blockquote){max-width:70ch}.prose .figure{font-family:var(--font-ui);margin:2em 0;line-height:1.55}.prose h2,.prose h3{font-family:var(--font-ui);margin-top:1.8em}.prose h2{font-size:var(--step-2)}.prose img{border-radius:var(--r-md);box-shadow:var(--clay-sm)}.prose blockquote{border-radius:var(--r-md);background:var(--surface);box-shadow:var(--clay-sm);margin:1.5em 0;padding:1em 1.4em;font-style:italic}.prose code{font-family:var(--font-code);background:var(--surface-2);border-radius:6px;padding:.15em .4em;font-size:.86em}.prose pre{border-radius:var(--r-md);box-shadow:var(--clay-pressed);padding:1.1em 1.3em;font-size:.86rem;line-height:1.6;overflow-x:auto}.prose pre code{font-size:inherit;background:0 0;padding:0}.prose table{border-collapse:collapse;width:100%;font-family:var(--font-ui);font-size:var(--step--1);display:block;overflow-x:auto}.prose th,.prose td{border-bottom:2px solid var(--surface-2);text-align:left;padding:.6em .8em}.prose .katex-display{padding:.4em 0;overflow:auto hidden}.prose hr{background:var(--surface-2);height:6px;box-shadow:var(--clay-pressed);border:0;border-radius:6px;margin:2.5em 0}.astro-code,.astro-code span{background-color:var(--surface-2)!important}:root[data-theme=dark] .astro-code,:root[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important;background-color:var(--surface-2)!important}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .astro-code,:root:not([data-theme=light]) .astro-code span{color:var(--shiki-dark)!important;background-color:var(--surface-2)!important}}.grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:28px;display:grid}.grid-3{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:26px;display:grid}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}@view-transition{navigation:none}}@media print{.site-header,.site-footer,.no-print{display:none!important}.clay,.clay-sm{box-shadow:none;border:1px solid #ccc}}:root{--q:#1f9a70}:root[data-theme=dark]{--q:#5cc39d}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--q:#5cc39d}}.figure{border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--clay);margin:0;padding:clamp(16px,3vw,32px)}.figure figcaption{color:var(--ink-soft);font-size:var(--step--1);max-width:70ch;margin-top:14px}.figure figcaption strong{color:var(--ink)}.dg-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.dg{width:100%;min-width:720px;height:auto;display:block}.dg text{font-family:var(--font-ui);fill:var(--ink)}.dg .name{font-size:16px;font-weight:650}.dg .sub,.dg .lbl,.dg .eyebrow{font-family:var(--font-code);fill:var(--ink-soft)}.dg .sub{font-size:11.5px}.dg .lbl{letter-spacing:.06em;font-size:11px}.dg .eyebrow{letter-spacing:.12em;font-size:11px;font-weight:600}.dg .box{fill:var(--surface);stroke:color-mix(in srgb, var(--ink) 38%, transparent);stroke-width:1.2px}.dg .box2{fill:var(--surface-2);stroke:color-mix(in srgb, var(--ink) 30%, transparent);stroke-width:1.2px}.dg .focal{fill:color-mix(in srgb, var(--primary) 13%, var(--surface));stroke:var(--primary);stroke-width:1.8px}.dg .focal-text{fill:var(--primary)}.dg .mask{fill:var(--surface)}.dg .rule{stroke:color-mix(in srgb, var(--ink) 16%, transparent);stroke-width:1px}.dg .ln{fill:none;stroke:var(--ink-soft);stroke-width:1.4px}.dg .dash{stroke-dasharray:5 4}.dg .life{fill:none;stroke:color-mix(in srgb, var(--ink) 25%, transparent);stroke-width:1px;stroke-dasharray:3 4}.dg .acc{fill:none;stroke:var(--primary);stroke-width:2px}.dg .qln{fill:none;stroke:var(--q);stroke-width:2.6px}.dg .mk{fill:var(--ink-soft)}.dg .mk-acc{fill:var(--primary)}.dg .mk-open{fill:none;stroke:var(--ink-soft);stroke-width:1.3px}.dg-hint{font-size:var(--step--1);color:var(--ink-soft);margin:0 0 8px;display:none}@media (width<=900px){.dg-hint{display:block}}.viz{--s1:#2f54d6;--s2:#d95926;--s3:#14946a;--s4:#b77a00;--grid:color-mix(in srgb, var(--ink) 12%, transparent);position:relative}:root[data-theme=dark] .viz{--s1:#6f8ff0;--s2:#d95926;--s3:#199e70;--s4:#c98500}@media (prefers-color-scheme:dark){:root:where(:not([data-theme=light])) .viz{--s1:#6f8ff0;--s2:#d95926;--s3:#199e70;--s4:#c98500}}.viz-svg,.viz .dg-scroll>svg,.viz>svg{width:100%;height:auto;display:block;overflow:visible}.viz text{font-family:var(--font-ui);fill:var(--ink-soft);font-size:12px}.viz .axis-title{fill:var(--ink-soft);font-weight:600}.viz .grid{stroke:var(--grid);stroke-width:1px}.viz .base{stroke:color-mix(in srgb, var(--ink) 35%, transparent);stroke-width:1px}.viz .ref{stroke:var(--ink-soft);stroke-width:1.2px;stroke-dasharray:4 4}.viz .direct{fill:var(--ink);font-size:12.5px;font-weight:650}.viz .hit{fill:#0000;cursor:crosshair}.viz .hit:hover+.hl,.viz .hit:focus+.hl{opacity:1}.viz .hl{opacity:0;pointer-events:none;stroke:color-mix(in srgb, var(--ink) 30%, transparent);stroke-width:1px}.viz-legend{font-size:var(--step--1);color:var(--ink);flex-wrap:wrap;gap:8px 18px;margin:0 0 12px;padding:0;font-weight:600;list-style:none;display:flex}.viz-legend li{align-items:center;gap:8px;display:inline-flex}.viz-legend i{border-radius:4px;width:14px;height:14px;display:inline-block}.viz-tip{z-index:5;pointer-events:none;background:var(--surface);color:var(--ink);box-shadow:var(--clay-sm);white-space:nowrap;opacity:0;border-radius:12px;padding:8px 12px;font-size:13px;line-height:1.45;transition:opacity .12s;position:absolute}.viz-tip.on{opacity:1}.viz-tip b{font-weight:700}.viz-table{font-size:var(--step--1);margin-top:12px}.viz-table summary{cursor:pointer;color:var(--primary);font-weight:650}.viz-table table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;max-width:520px;margin-top:10px}.viz-table th,.viz-table td{text-align:left;border-bottom:1px solid var(--surface-2);padding:6px 10px}.viz .dg-scroll>svg,.viz>svg{min-width:600px}.site-header[data-astro-cid-nen7h5rs]{z-index:50;padding-top:14px;position:sticky;top:0}.bar[data-astro-cid-nen7h5rs]{border-radius:var(--pill);align-items:center;gap:12px;padding:8px 8px 8px 10px;display:flex;position:relative}.brand[data-astro-cid-nen7h5rs]{color:var(--ink);align-items:center;gap:10px;min-width:0;font-weight:750;text-decoration:none;display:flex}.mark[data-astro-cid-nen7h5rs]{background:var(--primary);width:44px;height:44px;color:var(--primary-ink);box-shadow:var(--clay-primary);letter-spacing:.02em;border-radius:16px 16px 16px 6px;flex:none;place-items:center;font-size:.95rem;display:grid}.brand-name[data-astro-cid-nen7h5rs]{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.nav[data-astro-cid-nen7h5rs]{align-items:center;gap:10px;margin-left:auto;display:flex}.nav[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs]{gap:2px;margin:0;padding:0;list-style:none;display:flex}.nav[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{border-radius:var(--pill);color:var(--ink);padding:10px 14px;font-size:.97rem;font-weight:600;text-decoration:none;transition:box-shadow .15s,background .15s;display:block}.nav[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover{background:var(--surface-2)}.nav[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page]{box-shadow:var(--clay-pressed);background:var(--surface-2);color:var(--primary)}.tools[data-astro-cid-nen7h5rs]{gap:8px;display:flex}.icon-btn[data-astro-cid-nen7h5rs]{background:var(--surface);width:44px;height:44px;color:var(--ink);box-shadow:var(--clay-sm);cursor:pointer;border:0;border-radius:50%;place-items:center;display:grid}.icon-btn[data-astro-cid-nen7h5rs]:active{box-shadow:var(--clay-pressed)}.icon-btn[data-astro-cid-nen7h5rs] svg{width:20px;height:20px}.i-moon[data-astro-cid-nen7h5rs],.i-close[data-astro-cid-nen7h5rs],:root[data-theme=dark] .i-sun[data-astro-cid-nen7h5rs]{display:none}:root[data-theme=dark] .i-moon[data-astro-cid-nen7h5rs]{display:block}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .i-sun[data-astro-cid-nen7h5rs]{display:none}:root:not([data-theme=light]) .i-moon[data-astro-cid-nen7h5rs]{display:block}}.menu-btn[data-astro-cid-nen7h5rs],.menu-btn[data-astro-cid-nen7h5rs][aria-expanded=true] .i-open[data-astro-cid-nen7h5rs]{display:none}.menu-btn[data-astro-cid-nen7h5rs][aria-expanded=true] .i-close[data-astro-cid-nen7h5rs]{display:block}@media (width<=1180px){.brand-name[data-astro-cid-nen7h5rs]{display:none}}@media (width<=980px){.brand-name[data-astro-cid-nen7h5rs]{display:inline}.menu-btn[data-astro-cid-nen7h5rs]{display:grid}.tools[data-astro-cid-nen7h5rs]{margin-left:auto}.nav[data-astro-cid-nen7h5rs]{border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--clay);flex-direction:column;align-items:stretch;gap:12px;padding:14px;display:none;position:absolute;top:calc(100% + 12px);left:0;right:0}.nav[data-astro-cid-nen7h5rs].open{display:flex}.nav[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs]{flex-direction:column;gap:4px}.nav[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{padding:14px 18px;font-size:1.08rem}.nav-cv[data-astro-cid-nen7h5rs]{align-self:stretch;min-height:50px}}@media (width<=380px){.brand-name[data-astro-cid-nen7h5rs]{display:none}}.site-footer[data-astro-cid-jo6i4kqk]{padding-block:clamp(56px,9vw,110px) 24px}.foot[data-astro-cid-jo6i4kqk]{border-radius:var(--r-xl);grid-template-columns:1.3fr 1fr 1fr;gap:28px;padding:clamp(24px,4vw,40px);display:grid}.name[data-astro-cid-jo6i4kqk]{font-size:var(--step-1);margin-bottom:4px;font-weight:750}.mail[data-astro-cid-jo6i4kqk]{word-break:break-all;align-items:center;gap:8px;font-weight:600;display:inline-flex}.mail[data-astro-cid-jo6i4kqk] svg{flex:none;width:18px;height:18px}ul[data-astro-cid-jo6i4kqk]{margin:0;padding:0;list-style:none}nav[data-astro-cid-jo6i4kqk] ul[data-astro-cid-jo6i4kqk]{grid-template-columns:1fr 1fr;gap:6px 16px;display:grid}nav[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:var(--ink);padding:6px 0;font-weight:600;text-decoration:none;display:inline-block}nav[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--primary)}.social[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;align-content:start;gap:10px;display:flex}.social[data-astro-cid-jo6i4kqk] svg{width:15px;height:15px}.fine[data-astro-cid-jo6i4kqk]{font-size:var(--step--1);margin:18px 6px 0}@media (width<=820px){.foot[data-astro-cid-jo6i4kqk]{grid-template-columns:1fr}}.palette,.zoom{background:0 0;border:0;max-width:none;max-height:none;padding:0}.palette::backdrop,.zoom::backdrop{background:color-mix(in srgb, var(--bg) 55%, transparent);backdrop-filter:blur(6px)}.palette{width:min(640px,100vw - 32px);margin:12vh auto auto}.palette-box{border-radius:var(--r-lg);padding:14px}.palette-search{border-radius:var(--pill);background:var(--surface-2);box-shadow:var(--clay-pressed);align-items:center;gap:10px;padding:6px 14px;display:flex}.palette-search svg{width:20px;height:20px;color:var(--ink-soft);flex:none}.palette-search input{min-width:0;min-height:44px;color:var(--ink);font:500 var(--step-0) var(--font-ui);background:0 0;border:0;outline:none;flex:1}.palette kbd{font:600 12px var(--font-code);color:var(--ink-soft);background:var(--surface);border-radius:6px;padding:3px 7px}.palette-list{max-height:52vh;margin:10px 0 0;padding:0;list-style:none;overflow-y:auto}.palette-list a{border-radius:var(--r-sm);color:var(--ink);gap:2px;padding:10px 14px;text-decoration:none;display:grid}.palette-list a[aria-selected=true],.palette-list a:hover{background:var(--surface-2);box-shadow:var(--clay-pressed)}.palette-list .k{color:var(--primary);font-size:12px;font-weight:700}.palette-list .t{font-weight:650}.palette-empty{color:var(--ink-soft);margin:14px}.zoom{width:100vw;height:100dvh}.zoom-body{place-items:center;width:100%;height:100%;padding:64px 16px 24px;display:grid;overflow:auto}.zoom-body>*{max-width:min(1400px,100%)}.zoom-body img{border-radius:var(--r-md);box-shadow:var(--clay);background:var(--surface)}.zoom-body .figure{margin:0}.zoom-body .dg,.zoom-body .viz>svg{min-width:900px}.zoom-close{z-index:2;position:fixed;top:16px;right:16px}.zoomable{cursor:zoom-in}.expand-btn{z-index:2;position:absolute;top:14px;right:14px}.figure{position:relative}.to-top{z-index:40;position:fixed;bottom:18px;right:18px}.to-top svg{width:20px;height:20px}.icon-btn{background:var(--surface);width:44px;height:44px;color:var(--ink);box-shadow:var(--clay-sm);cursor:pointer;border:0;border-radius:50%;place-items:center;display:grid}.icon-btn:active{box-shadow:var(--clay-pressed)}.icon-btn svg{width:20px;height:20px}@media print{.to-top,.expand-btn{display:none!important}}
