:root{--font-sans:"Manrope", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, monospace;--bg:#faf8f5;--bg-tint:#f3efe9;--surface:#fff;--surface-2:#f6f3ef;--ink:#111016;--ink-2:#3a3944;--muted:#6c6a76;--line:#e9e4dd;--line-strong:#d9d2c8;--accent:#5b3df5;--accent-ink:#fff;--accent-soft:#eeeaff;--warm:#ff7a45;--up:#12a36b;--down:#e5484d;--sponsored:#b45309;--sponsored-soft:#fff4e5;--radius:16px;--radius-sm:10px;--shadow:0 1px 2px #14101e0a, 0 6px 24px -8px #14101e14;--shadow-lift:0 2px 4px #14101e0d, 0 18px 40px -12px #14101e2e;--container:1280px;--gutter:24px;--header-h:64px;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0c0b10;--bg-tint:#13121a;--surface:#16151d;--surface-2:#1c1b25;--ink:#f3f2f7;--ink-2:#d2d0dc;--muted:#9a98a8;--line:#26242f;--line-strong:#353341;--accent:#8b74ff;--accent-ink:#0c0b10;--accent-soft:#231d45;--sponsored:#f5b35c;--sponsored-soft:#2a1f10;--shadow:0 1px 2px #0000004d, 0 6px 24px -8px #00000080;--shadow-lift:0 2px 4px #0000004d, 0 18px 40px -12px #0009;color-scheme:dark}}:root[data-theme=dark]{--bg:#0c0b10;--bg-tint:#13121a;--surface:#16151d;--surface-2:#1c1b25;--ink:#f3f2f7;--ink-2:#d2d0dc;--muted:#9a98a8;--line:#26242f;--line-strong:#353341;--accent:#8b74ff;--accent-ink:#0c0b10;--accent-soft:#231d45;--sponsored:#f5b35c;--sponsored-soft:#2a1f10;--shadow:0 1px 2px #0000004d, 0 6px 24px -8px #00000080;--shadow-lift:0 2px 4px #0000004d, 0 18px 40px -12px #0009;color-scheme:dark}@media (width<=640px){:root{--gutter:16px}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 24px)}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-feature-settings:"ss01", "cv11";-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.55;overflow-x:hidden}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}::selection{background:var(--accent);color:var(--accent-ink)}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.eyebrow{color:var(--muted);font-size:14px;font-weight:700}.chip{color:var(--cat,var(--accent));align-items:center;gap:6px;font-size:13px;font-weight:700;display:inline-flex}.meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 14px;font-size:13px;font-weight:500;display:flex}.section-head{border-bottom:2px solid var(--ink);justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:24px;padding-bottom:14px;display:flex}.section-head h2{letter-spacing:-.02em;margin:0;font-size:22px;font-weight:800}.section-head>a{color:var(--muted);font-size:14px;font-weight:600;transition:color .15s}.section-head>a:hover{color:var(--accent)}.btn{cursor:pointer;white-space:nowrap;background:var(--ink);height:40px;color:var(--bg);border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:14px;font-weight:700;transition:transform .15s,opacity .15s;display:inline-flex}.btn:hover{opacity:.9}.btn:active{transform:scale(.98)}.btn-accent{background:var(--accent);color:var(--accent-ink)}.btn-ghost{color:var(--ink);border:1px solid var(--line-strong);background:0 0}.btn-ghost:hover{border-color:var(--ink);opacity:1}.card-surface{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.title-link{background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0 1px;transition:background-size .25s}a:hover .title-link,.title-link:hover{background-size:100% 1px}.cover{border-radius:var(--radius-sm);background:var(--surface-2);isolation:isolate;position:relative;overflow:hidden}.cover>svg,.cover>img{object-fit:cover;width:100%;height:100%}.cover:after{content:"";pointer-events:none;opacity:.22;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}a:hover .cover>svg,a:hover .cover>img{transform:scale(1.03)}.cover>svg,.cover>img{transition:transform .6s cubic-bezier(.2,.7,.2,1)}.prose{color:var(--ink-2);font-size:18px;line-height:1.75}.prose :where(p,ul,ol,blockquote,table,pre){margin:0}.prose>*+*{margin-top:1.1em}.prose>p:first-of-type:first-letter{float:left;color:var(--ink);margin:.08em .1em 0 0;font-size:3.4em;font-weight:800;line-height:.9}.prose h2,.prose h3{color:var(--ink);letter-spacing:-.02em;line-height:1.25}.prose h2{margin:2em 0 0;font-size:28px;font-weight:800}.prose h3{margin:1.6em 0 0;font-size:21px;font-weight:700}.prose h2+*,.prose h3+*{margin-top:.6em}.prose a{color:var(--accent);text-underline-offset:3px;text-decoration:underline 1px}.prose a:hover{text-decoration-thickness:2px}.prose strong{color:var(--ink);font-weight:700}.prose ul,.prose ol{padding-left:1.3em}.prose li+li{margin-top:.4em}.prose li::marker{color:var(--accent)}.prose blockquote{border-left:3px solid var(--accent);color:var(--ink);padding:4px 0 4px 22px;font-size:21px;font-weight:600;line-height:1.55}.prose code{font-family:var(--font-mono);background:var(--surface-2);border:1px solid var(--line);border-radius:6px;padding:.1em .35em;font-size:.86em}.prose pre{border-radius:var(--radius-sm);border:1px solid var(--line);padding:18px 20px;font-size:14px;line-height:1.6;overflow-x:auto}.prose pre code{background:0 0;border:0;padding:0}.prose hr{background:var(--line);border:0;height:1px;margin:2.4em 0}.prose img{border-radius:var(--radius-sm)}.prose .table-wrap,.prose table{width:100%}.prose table{border-collapse:collapse;font-size:15px;line-height:1.5}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:11px 14px}.prose th{color:var(--muted);background:var(--surface-2);font-size:13px;font-weight:700}.prose thead th:first-child{border-top-left-radius:8px}.prose thead th:last-child{border-top-right-radius:8px}@media (width<=640px){.prose{font-size:17px}.prose h2{font-size:24px}.prose table{display:block;overflow-x:auto}}.logo[data-astro-cid-f7espo7c]{letter-spacing:-.03em;color:var(--ink);flex:none;align-items:center;gap:10px;font-size:19px;font-weight:800;display:inline-flex}.logo[data-astro-cid-f7espo7c] img[data-astro-cid-f7espo7c]{border-radius:9px;width:32px;height:32px}.ticker[data-astro-cid-u6vsyxkm]{border-bottom:1px solid var(--line);background:var(--surface);font-size:13px}.ticker[data-astro-cid-u6vsyxkm].failed{display:none}.ticker-inner[data-astro-cid-u6vsyxkm]{align-items:center;gap:18px;height:38px;display:flex}.live[data-astro-cid-u6vsyxkm]{color:var(--muted);flex:none;align-items:center;gap:8px;font-size:12px;font-weight:700;display:inline-flex}.pulse[data-astro-cid-u6vsyxkm]{background:var(--up);width:7px;height:7px;box-shadow:0 0 0 0 color-mix(in srgb, var(--up) 60%, transparent);border-radius:50%;animation:2s infinite pulse}@keyframes pulse{70%{box-shadow:0 0 0 7px #0000}to{box-shadow:0 0 #0000}}.track-wrap[data-astro-cid-u6vsyxkm]{flex:1;overflow:hidden;mask-image:linear-gradient(90deg,#0000,#000 4% 96%,#0000)}.track[data-astro-cid-u6vsyxkm]{gap:32px;width:max-content;margin:0;padding:0;list-style:none;display:flex}.track[data-astro-cid-u6vsyxkm].run{animation:60s linear infinite scroll}.track[data-astro-cid-u6vsyxkm]:hover{animation-play-state:paused}@keyframes scroll{to{transform:translate(-50%)}}.track[data-astro-cid-u6vsyxkm] li{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--ink-2);align-items:center;gap:8px;font-weight:600;display:inline-flex}.track[data-astro-cid-u6vsyxkm] b{color:var(--ink);font-weight:800}.track[data-astro-cid-u6vsyxkm] .up{color:var(--up)}.track[data-astro-cid-u6vsyxkm] .down{color:var(--down)}.skeleton[data-astro-cid-u6vsyxkm]{background:var(--surface-2);border-radius:4px;width:70px;height:10px}@media (prefers-reduced-motion:reduce){.track[data-astro-cid-u6vsyxkm].run{animation:none}.track-wrap[data-astro-cid-u6vsyxkm]{overflow-x:auto}}.site-header[data-astro-cid-nen7h5rs]{z-index:50;background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:saturate(1.6)blur(14px);border-bottom:1px solid var(--line);position:sticky;top:0}.bar[data-astro-cid-nen7h5rs]{height:var(--header-h);align-items:center;gap:36px;display:flex}.nav[data-astro-cid-nen7h5rs]{flex:1;gap:4px;display:flex}.nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{color:var(--ink-2);border-radius:999px;padding:8px 12px;font-size:15px;font-weight:600;transition:background .15s,color .15s}.nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover{background:var(--surface-2);color:var(--ink)}.nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page]{color:var(--ink);background:var(--surface-2)}.actions[data-astro-cid-nen7h5rs]{align-items:center;gap:6px;margin-left:auto;display:flex}.actions[data-astro-cid-nen7h5rs] .btn[data-astro-cid-nen7h5rs]{height:38px;margin-left:6px}.icon-btn[data-astro-cid-nen7h5rs]{width:40px;height:40px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;list-style:none;transition:background .15s;display:inline-grid}.icon-btn[data-astro-cid-nen7h5rs]::-webkit-details-marker{display:none}.icon-btn[data-astro-cid-nen7h5rs]:hover{background:var(--surface-2);color:var(--ink)}.moon[data-astro-cid-nen7h5rs],[data-theme=dark] .sun[data-astro-cid-nen7h5rs]{display:none}[data-theme=dark] .moon[data-astro-cid-nen7h5rs]{display:block}.menu[data-astro-cid-nen7h5rs]{display:none;position:relative}.sheet[data-astro-cid-nen7h5rs]{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:240px;box-shadow:var(--shadow-lift);flex-direction:column;padding:10px;display:flex;position:absolute;top:48px;right:0}.sheet[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:not(.btn){border-radius:8px;padding:10px 12px;font-weight:600}.sheet[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:not(.btn):hover{background:var(--surface-2)}.sheet[data-astro-cid-nen7h5rs] hr[data-astro-cid-nen7h5rs]{border:0;border-top:1px solid var(--line);margin:6px 0}.sheet[data-astro-cid-nen7h5rs] .btn[data-astro-cid-nen7h5rs]{margin-top:6px}@media (width<=1100px){.write[data-astro-cid-nen7h5rs]{display:none}}@media (width<=900px){.nav[data-astro-cid-nen7h5rs],.subscribe[data-astro-cid-nen7h5rs]{display:none}.menu[data-astro-cid-nen7h5rs]{display:block}}.site-footer[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--line);background:var(--surface);margin-top:96px;padding:56px 0 32px}.grid[data-astro-cid-jo6i4kqk]{grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;display:grid}.brand[data-astro-cid-jo6i4kqk] p[data-astro-cid-jo6i4kqk]{color:var(--muted);max-width:34ch;margin:16px 0 20px;font-size:15px}.social[data-astro-cid-jo6i4kqk]{gap:8px;display:flex}.social[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{border:1px solid var(--line);width:38px;height:38px;color:var(--ink-2);border-radius:50%;place-items:center;transition:border-color .15s,color .15s;display:grid}.social[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{border-color:var(--ink);color:var(--ink)}h3[data-astro-cid-jo6i4kqk]{color:var(--muted);margin:6px 0 14px;font-size:13px}ul[data-astro-cid-jo6i4kqk]{gap:10px;margin:0;padding:0;list-style:none;display:grid}ul[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:var(--ink-2);font-size:15px;font-weight:600}ul[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--accent)}.fine[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--line);margin-top:48px;padding-top:24px}.fine[data-astro-cid-jo6i4kqk] p[data-astro-cid-jo6i4kqk]{color:var(--muted);max-width:90ch;margin:0;font-size:13px}.fine[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{text-decoration:underline}@media (width<=760px){.grid[data-astro-cid-jo6i4kqk]{grid-template-columns:1fr 1fr}.brand[data-astro-cid-jo6i4kqk]{grid-column:1/-1}}
