@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+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: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+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: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+??,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;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/jetbrains-mono-latin-400-normal.V6pRDFza.woff2)format("woff2"),url(/_astro/jetbrains-mono-latin-400-normal.6-qcROiO.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/jetbrains-mono-latin-500-normal.BWZEU5yA.woff2)format("woff2"),url(/_astro/jetbrains-mono-latin-500-normal.CJOVTJB7.woff)format("woff")}:root{--font-ui:"Space Grotesk Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--radius:14px;--container:1200px}:root,:root[data-theme=dark]{color-scheme:dark;--bg:#0f1013;--panel:#16171b;--panel-2:#131417;--hover:#1b1d22;--border:#26282e;--border-strong:#363941;--focus:#555b68;--text-strong:#eceef1;--text:#d6d8dd;--text-soft:#a3a8b2;--text-dim:#80858f;--selected:#23262c;--selected-border:#3a3f4a;--tag-bg:#23262c;--tooltip-bg:#1d1f24;--shadow:#00000080;--shadow-strong:#0000008c;--panel-shadow:none;--footer-bg:var(--bg);--bull:#4dae8b;--bull-rgb:77 174 139;--bull-ink:#4dae8b;--bull-bg:#15241e;--bull-border:#2b4a3d;--on-bull:#0f1013;--bear:#d9707a;--bear-rgb:217 112 122;--bear-ink:#d9707a;--accent:#e8a33d;--accent-hover:#f0b65c;--accent-ink:#e8a33d;--accent-ink-hover:#f0cf8f;--accent-bg:#2a2316;--accent-border:#4d3c1f;--accent-text:#f0cf8f;--on-accent:#1a1406;--info:#8fa8cc;--info-bg:#1c2230;--info-border:#33415a;--entry:#5aa9ff;--entry-rgb:90 169 255;--on-entry:#0f1013;--cell-empty:#1f2126;--chart-grid:#ffffff0f;--ico-bg:transparent;--ico-border:var(--border-strong);--pro-bg:var(--panel);--mark-bear:#d9707a;--mark-bull:#4dae8b;--mark-pencil:#e8a33d;--mark-eraser:#f0cf8f;--mark-ferrule:#a3a8b2;--mark-tip:#f0cf8f;--mark-line:#e8a33d}:root[data-theme=light]{color-scheme:light;--bg:#fff;--panel:#fff;--panel-2:#f5f6f8;--hover:#eef0f3;--border:#e0e3e8;--border-strong:#c9ced6;--focus:#8c95a3;--text-strong:#14171c;--text:#1c2027;--text-soft:#4b5260;--text-dim:#6b717c;--selected:#e6eaf1;--selected-border:#c3cbd8;--tag-bg:#eceef2;--tooltip-bg:#fff;--shadow:#1419231f;--shadow-strong:#1419232e;--panel-shadow:0 24px 48px #14192314;--footer-bg:var(--panel-2);--bull:#17946a;--bull-rgb:23 148 106;--bull-ink:#0f7352;--bull-bg:#e3f4ec;--bull-border:#9fd3bd;--on-bull:#fff;--bear:#cf4757;--bear-rgb:207 71 87;--bear-ink:#b23445;--accent:#e8a33d;--accent-hover:#dd9223;--accent-ink:#8f5a06;--accent-ink-hover:#5c3a04;--accent-bg:#fcf1de;--accent-border:#e5c48a;--accent-text:#8f5a06;--on-accent:#1a1406;--info:#3d6aa8;--info-bg:#e8eef8;--info-border:#b8c8e2;--entry:#2f7fe0;--entry-rgb:47 127 224;--on-entry:#fff;--cell-empty:#e8ebef;--chart-grid:#00000014;--ico-bg:var(--accent-bg);--ico-border:var(--accent-border);--pro-bg:#fffaf2;--mark-bear:#cf4757;--mark-bull:#17946a;--mark-pencil:#dd9223;--mark-eraser:#e9b25a;--mark-ferrule:#8c95a3;--mark-tip:#efc988;--mark-line:#c27a0e}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.55;overflow-x:hidden}a{color:var(--accent-ink);text-decoration:none}a:hover{color:var(--accent-ink-hover)}:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px;border-radius:6px}h1,h2,h3{color:var(--text-strong);margin:0}p{margin:0}img,svg{display:block}.container{max-width:var(--container);margin:0 auto;padding:0 24px}.mono{font-family:var(--font-mono)}.section{border-top:1px solid var(--border)}.section>.container{padding-top:96px;padding-bottom:96px}.section.alt{background:var(--panel-2)}.eyebrow{font-family:var(--font-mono);color:var(--accent-ink);letter-spacing:.02em;font-size:13px}.h2{letter-spacing:-.03em;max-width:760px;margin-top:12px;font-size:clamp(32px,4vw,48px);line-height:1.1}.lead{color:var(--text-soft);margin-top:20px;font-size:17px}.btn{min-height:52px;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:0 24px;font-size:17px;font-weight:600;transition:background-color .15s,border-color .15s;display:inline-flex}.btn-sm{border-radius:10px;min-height:44px;padding:0 18px;font-size:15px}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary:hover{background:var(--accent-hover);color:var(--on-accent)}.btn-ghost{border-color:var(--border-strong);color:var(--text-strong);font-weight:500}.btn-ghost:hover{border-color:var(--focus);color:var(--text-strong);background:var(--hover)}.card{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel)}.chip{background:var(--tag-bg);color:var(--text-soft);border-radius:999px;padding:4px 10px;font-size:13px;display:inline-block}.chip.on-accent{background:var(--accent-bg);border:1px solid var(--accent-border);color:var(--accent-text)}.chip.on-bull{background:var(--bull-bg);border:1px solid var(--bull-border);color:var(--bull-ink)}.chip.on-info{background:var(--info-bg);border:1px solid var(--info-border);color:var(--info)}.tag{font-family:var(--font-mono);background:var(--bull-bg);border:1px solid var(--bull-border);color:var(--bull-ink);border-radius:6px;padding:2px 8px;font-size:12px}.check-list{flex-direction:column;gap:12px;margin:28px 0 0;padding:0;list-style:none;display:flex}.check-list li{align-items:flex-start;gap:10px;display:flex}.check-list svg{flex:none;margin-top:3px}.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}.mark[data-astro-cid-4pt2nqzy]{flex:none}.theme-toggle[data-astro-cid-l6lhmie6]{border:1px solid var(--border-strong);width:44px;height:44px;color:var(--text-soft);cursor:pointer;background:0 0;border-radius:10px;flex:none;justify-content:center;align-items:center;padding:0;transition:background-color .15s,color .15s;display:inline-flex}.theme-toggle[data-astro-cid-l6lhmie6]:hover{background:var(--hover);color:var(--text-strong)}.theme-toggle[data-astro-cid-l6lhmie6] .moon,:root[data-theme=light] .theme-toggle[data-astro-cid-l6lhmie6] .sun{display:none}:root[data-theme=light] .theme-toggle[data-astro-cid-l6lhmie6] .moon{display:block}.nav-bar[data-astro-cid-wpvy4v7s]{z-index:10;background:color-mix(in srgb, var(--bg) 88%, transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);position:sticky;top:0}.nav[data-astro-cid-wpvy4v7s]{justify-content:space-between;align-items:center;gap:16px;padding-top:14px;padding-bottom:14px;display:flex}.brand[data-astro-cid-wpvy4v7s]{color:var(--text-strong);letter-spacing:-.01em;align-items:center;gap:10px;font-size:19px;font-weight:700;display:flex}.brand[data-astro-cid-wpvy4v7s]:hover{color:var(--text-strong)}.links[data-astro-cid-wpvy4v7s]{gap:24px;margin:0;padding:0;font-size:15px;list-style:none;display:flex}.links[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]{color:var(--text-soft)}.links[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]:hover{color:var(--text-strong)}.actions[data-astro-cid-wpvy4v7s]{align-items:center;gap:8px;display:flex}@media (width<=900px){.links[data-astro-cid-wpvy4v7s]{display:none}}@media (width<=420px){.nav[data-astro-cid-wpvy4v7s]{gap:8px}.actions[data-astro-cid-wpvy4v7s] .btn-sm{padding:0 14px}.actions[data-astro-cid-wpvy4v7s] .btn-sm svg{display:none}}footer[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--border);background:var(--footer-bg)}.top[data-astro-cid-jo6i4kqk]{color:var(--text-dim);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-top:32px;padding-bottom:20px;font-size:14px;display:flex}.brand[data-astro-cid-jo6i4kqk]{align-items:center;gap:8px;display:flex}.author[data-astro-cid-jo6i4kqk]{color:var(--text);font-weight:500}.author[data-astro-cid-jo6i4kqk]:hover{color:var(--text-strong)}nav[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;align-items:center;gap:8px 24px;display:flex}nav[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:var(--text-soft)}nav[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--text-strong)}.mail[data-astro-cid-jo6i4kqk]{align-items:center;gap:6px;display:inline-flex}.legal[data-astro-cid-jo6i4kqk]{color:var(--text-dim);max-width:var(--container);padding-bottom:32px;font-size:12px}.toast[data-astro-cid-be3zt3oo]{z-index:20;border:1px solid var(--border-strong);background:var(--tooltip-bg);width:380px;max-width:calc(100vw - 32px);box-shadow:0 24px 48px var(--shadow-strong);border-radius:12px;padding:18px 20px;font-size:14px;position:fixed;bottom:24px;right:24px}.toast-head[data-astro-cid-be3zt3oo]{justify-content:space-between;align-items:center;gap:12px;display:flex}.toast-head[data-astro-cid-be3zt3oo] strong[data-astro-cid-be3zt3oo]{color:var(--text-strong);font-size:15px}.close[data-astro-cid-be3zt3oo]{width:44px;height:44px;color:var(--text-soft);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;margin:-12px -12px -12px 0;display:flex}.close[data-astro-cid-be3zt3oo]:hover{background:var(--selected);color:var(--text-strong)}ol[data-astro-cid-be3zt3oo]{color:var(--text-soft);flex-direction:column;gap:6px;margin:10px 0 0;padding-left:20px;display:flex}b[data-astro-cid-be3zt3oo]{color:var(--text);font-weight:500}@media (width<=640px){.toast[data-astro-cid-be3zt3oo]{bottom:16px;right:16px}}
