@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-vietnamese-wght-normal.D0rl6rjA.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-latin-ext-wght-normal.D9tNdqV9.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-latin-wght-normal.BhU9QXUp.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/source-serif-4-cyrillic-ext-400-normal.CWV284fw.woff2) format("woff2"),url(/_astro/source-serif-4-cyrillic-ext-400-normal.CYkrUebz.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/source-serif-4-cyrillic-400-normal.C44pakCn.woff2) format("woff2"),url(/_astro/source-serif-4-cyrillic-400-normal.DEwCKrdL.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/source-serif-4-greek-400-normal.Cw5-AHNN.woff2) format("woff2"),url(/_astro/source-serif-4-greek-400-normal.D_DO3bho.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/source-serif-4-vietnamese-400-normal.DFDfvBrN.woff2) format("woff2"),url(/_astro/source-serif-4-vietnamese-400-normal.9XEw6Pmr.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/source-serif-4-latin-ext-400-normal.B5LksYz5.woff2) format("woff2"),url(/_astro/source-serif-4-latin-ext-400-normal.DKmgyNre.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/source-serif-4-latin-400-normal.DJ5YJwmz.woff2) format("woff2"),url(/_astro/source-serif-4-latin-400-normal.C1O10bxN.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/source-serif-4-cyrillic-ext-600-normal.D_E8FDgP.woff2) format("woff2"),url(/_astro/source-serif-4-cyrillic-ext-600-normal.h2VnbV3V.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/source-serif-4-cyrillic-600-normal.BDP5YDHD.woff2) format("woff2"),url(/_astro/source-serif-4-cyrillic-600-normal.CHh5eQWW.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/source-serif-4-greek-600-normal.DdRkKr-1.woff2) format("woff2"),url(/_astro/source-serif-4-greek-600-normal.OkzgCkGB.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/source-serif-4-vietnamese-600-normal.B33FcZBi.woff2) format("woff2"),url(/_astro/source-serif-4-vietnamese-600-normal.CKUOBVO_.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/source-serif-4-latin-ext-600-normal.pa-C5Dkf.woff2) format("woff2"),url(/_astro/source-serif-4-latin-ext-600-normal.B2fExS53.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/source-serif-4-latin-600-normal.DouSKlru.woff2) format("woff2"),url(/_astro/source-serif-4-latin-600-normal.DeJomR3S.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4";font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/source-serif-4-cyrillic-ext-400-italic.zoDFlEzN.woff2) format("woff2"),url(/_astro/source-serif-4-cyrillic-ext-400-italic.Drp6JL_V.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/source-serif-4-cyrillic-400-italic.BLN19cOa.woff2) format("woff2"),url(/_astro/source-serif-4-cyrillic-400-italic.C-sRFhvU.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/source-serif-4-greek-400-italic.C7D4Dq0H.woff2) format("woff2"),url(/_astro/source-serif-4-greek-400-italic.Ce3U_qGW.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Serif 4";font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/source-serif-4-vietnamese-400-italic.B7_QYl3c.woff2) format("woff2"),url(/_astro/source-serif-4-vietnamese-400-italic.7zG0SGDK.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4";font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/source-serif-4-latin-ext-400-italic.Cj8BerOQ.woff2) format("woff2"),url(/_astro/source-serif-4-latin-ext-400-italic.Cttr6ITu.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/source-serif-4-latin-400-italic.0j97Jm6B.woff2) format("woff2"),url(/_astro/source-serif-4-latin-400-italic.DZulBB6l.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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+0460-052F,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(/_astro/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root,[data-style=c]{--bg: oklch(.975 .014 82);--surface: oklch(1 0 0);--surface-2: oklch(.955 .016 80);--surface-3: oklch(.925 .02 78);--text: oklch(.23 .014 62);--text-2: oklch(.33 .016 60);--muted: oklch(.66 .02 70);--border: oklch(.88 .014 78);--border-strong: oklch(.78 .02 74);--accent: oklch(.7 .185 52);--accent-strong: oklch(.58 .17 48);--brand-deep: oklch(.52 .115 44);--accent-soft: oklch(.905 .055 60);--success: oklch(.6 .13 150);--success-strong:oklch(.5 .12 152);--success-text: oklch(.45 .11 152);--success-bg: oklch(.955 .03 152);--warning: oklch(.72 .14 85);--warning-bg: oklch(.945 .05 90);--danger: oklch(.55 .19 27);--danger-strong: oklch(.47 .18 26);--danger-bg: oklch(.945 .03 25);--danger-text: oklch(.47 .18 26);--radius: 6px;--radius-sm: 4px;--radius-pill: 999px;--row-h: 40px;--pad: 16px;--shadow: 0 12px 32px -18px oklch(.23 .02 62 / .2);--font: "Source Serif 4", Georgia, "Microsoft YaHei", "PingFang SC", serif;--font-display: "Space Grotesk Variable", "Space Grotesk", system-ui, "Microsoft YaHei UI", sans-serif;--font-mono: "JetBrains Mono Variable", "JetBrains Mono", ui-monospace, Consolas, monospace;--fw-normal: 400;--fw-medium: 500;--fw-bold: 600;--wide: 1240px;--measure: 42rem}[data-theme=dark]{--bg: oklch(.19 .014 62);--surface: oklch(.235 .014 62);--surface-2: oklch(.275 .014 62);--surface-3: oklch(.33 .016 62);--text: oklch(.96 .014 82);--text-2: oklch(.86 .016 78);--muted: oklch(.64 .02 72);--border: oklch(.33 .016 62);--border-strong: oklch(.42 .018 62);--accent: oklch(.76 .155 55);--accent-strong: oklch(.82 .13 55);--brand-deep: oklch(.7 .11 50);--accent-soft: oklch(.3 .05 55);--success: oklch(.77 .13 152);--success-strong:oklch(.82 .12 152);--success-text: oklch(.85 .11 152);--success-bg: oklch(.27 .045 152);--warning: oklch(.82 .14 88);--warning-bg: oklch(.3 .05 90);--danger: oklch(.72 .17 26);--danger-strong: oklch(.79 .14 26);--danger-bg: oklch(.28 .05 25);--danger-text: oklch(.8 .13 25);--shadow: 0 12px 32px -18px oklch(0 0 0 / .45)}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font);font-weight:var(--fw-normal);font-size:1.0625rem;line-height:1.72;min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,.display{font-family:var(--font-display);font-weight:var(--fw-bold)}h1{font-size:clamp(2.1rem,1.4rem + 2.6vw,3.1rem);line-height:1.08;letter-spacing:-.02em}h2{font-size:clamp(1.4rem,1.15rem + .9vw,1.75rem);line-height:1.25;letter-spacing:-.01em}h3{font-size:1.18rem;line-height:1.35}h4{font-size:1rem;line-height:1.45}.meta,small{font-size:.9375rem;color:var(--text-2)}.mono,.stamp,.stat b,.post-list .meta{font-family:var(--font-mono)}a.mono{color:var(--brand-deep)}a.mono:hover{color:var(--accent-strong)}code,pre{font-family:var(--font-mono);font-size:.875em}.flow>*+*{margin-block-start:var(--flow-gap, 1rem)}section{padding-block:clamp(2.5rem,6vw,4.5rem)}section+section{border-block-start:1px solid var(--border)}.stack-sm>*+*{margin-block-start:.5rem}.wrap{width:100%;max-width:var(--wide);margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem)}.measure{max-width:var(--measure)}main{flex:1}.site-header{position:sticky;top:0;z-index:10;background:color-mix(in oklch,var(--bg) 92%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-strong)}.site-header .wrap{display:flex;align-items:center;gap:1rem;min-height:4rem;flex-wrap:wrap}.brand-lock{display:inline-flex;align-items:center;gap:.625rem;text-decoration:none;color:var(--text)}.brand-lock .wordmark{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:1.0625rem;letter-spacing:-.01em;white-space:nowrap}.brand-lock .wordmark em{font-style:normal;color:var(--brand-deep)}.nav{display:flex;gap:.125rem;flex-wrap:wrap;margin-inline-start:auto;align-items:center}.nav a{display:inline-flex;align-items:center;min-height:var(--row-h);padding-inline:.7rem;border-radius:var(--radius-sm);text-decoration:none;color:var(--text-2);font-family:var(--font-display);font-size:.9375rem;font-weight:var(--fw-medium)}.nav a:hover{background:var(--surface-2);color:var(--text)}.nav a[aria-current=page]{color:var(--text);box-shadow:inset 0 -2px 0 var(--accent)}.nav a.lang-switch{border:1px solid var(--accent);color:var(--accent-strong);font-family:var(--font-mono);font-size:.8125rem;letter-spacing:.02em}.nav a.lang-switch:hover{background:var(--accent-soft);color:var(--accent-strong)}.theme-toggle{display:inline-flex;align-items:center;gap:.375rem;min-height:var(--row-h);padding-inline:.7rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:transparent;color:var(--text-2);font-family:var(--font-mono);font-size:.8125rem;cursor:pointer}.theme-toggle:hover{background:var(--surface-2);color:var(--text)}.stamp{display:inline-flex;align-items:center;gap:.3rem;padding:.1rem .45rem;border:1.5px solid var(--accent);border-radius:var(--radius);color:var(--accent-strong);background:transparent;font-family:var(--font-mono);font-size:.8125rem;font-weight:500;letter-spacing:.02em;line-height:1.5}.stamp-fill{background:var(--accent-soft);border-color:var(--brand-deep);color:var(--brand-deep)}.stamp-quiet{border-color:var(--border-strong);color:var(--text-2)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow)}.card-flat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr))}.post-list{list-style:none;padding:0}.post-list>li{border-block-start:1px solid var(--border)}.post-list>li:last-child{border-block-end:1px solid var(--border)}.post-list a{display:grid;gap:.25rem;padding-block:.9rem;text-decoration:none;color:inherit}.post-list a:hover .post-title{color:var(--brand-deep)}.post-list .meta{font-size:.8125rem;letter-spacing:.02em}.post-title{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:1.0625rem;line-height:1.35}.post-excerpt{color:var(--text-2);font-size:.9375rem;line-height:1.55}.pill{display:inline-flex;align-items:center;gap:.25rem;padding:.1rem .55rem;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);font-family:var(--font-mono);font-size:.8125rem}.pill-accent{border-color:var(--accent);color:var(--accent-strong);background:transparent}.stat-row{display:flex;flex-wrap:wrap;gap:.75rem 2rem}.stat{display:flex;flex-direction:column;gap:.1rem}.stat b{font-size:1.5rem;font-weight:var(--fw-bold);letter-spacing:-.01em;line-height:1.1}.stat small{font-size:.8125rem;color:var(--text-2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;min-height:2.75rem;padding-inline:1.15rem;border-radius:var(--radius);border:1px solid transparent;background:var(--accent);color:var(--text);font-family:var(--font-display);font-size:.9375rem;font-weight:var(--fw-bold);text-decoration:none}.btn:hover{background:var(--accent-strong);color:var(--surface)}.btn-ghost{background:transparent;border-color:var(--border-strong);color:var(--text)}.btn-ghost:hover{background:var(--surface-2);color:var(--text)}.prose{font-size:1.0625rem}.prose>*+*{margin-block-start:1.1em}.prose h2,.prose h3{margin-block-start:1.9em}.prose h2+*,.prose h3+*{margin-block-start:.7em}.prose a{color:var(--brand-deep);text-underline-offset:.15em;text-decoration-thickness:1px}.prose a:hover{color:var(--accent-strong)}.prose ul,.prose ol{padding-inline-start:1.4rem}.prose li+li{margin-block-start:.35em}.prose blockquote{border-inline-start:2px solid var(--accent);background:var(--surface-2);padding:.75rem 1rem;border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-2)}.prose :not(pre)>code{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.1em .35em}.prose pre{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;overflow-x:auto;line-height:1.6}.prose img{max-width:100%;height:auto;border-radius:var(--radius-sm);border:1px solid var(--border)}.prose hr{border:0;border-block-start:1px solid var(--border-strong)}.prose table{width:100%;border-collapse:collapse;font-size:.9375rem}.prose th,.prose td{border:1px solid var(--border);padding:.5rem .625rem;text-align:start}.prose th{background:var(--surface-3);font-family:var(--font-display)}.lead{font-size:1.125rem}.site-footer{border-block-start:1px solid var(--border-strong);padding-block:1.75rem;margin-block-start:3rem}.site-footer .wrap{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;align-items:center}.site-footer a{color:var(--text-2);text-underline-offset:.15em}.site-footer a:hover{color:var(--brand-deep)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.skip-link{position:absolute;inset-inline-start:1rem;inset-block-start:-3rem;background:var(--surface);color:var(--text);padding:.5rem 1rem;border:1px solid var(--accent);border-radius:var(--radius);z-index:20;font-family:var(--font-display)}.skip-link:focus{inset-block-start:1rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}a,button{touch-action:manipulation}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.01ms!important;transition-duration:.01ms!important}}[data-theme=dark] .astro-code,[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}.mark[data-astro-cid-7eczacpb]{display:block;flex:none}.stamp-inverse[data-astro-cid-7eczacpb]{border-color:var(--surface);color:var(--surface)}
