@import"https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300..900;1,9..144,300..900&family=IBM+Plex+Mono:wght@400;500&family=IBM+Plex+Sans:ital,wght@0,400;0,500;0,600;1,400&display=swap";:root{--bg: #faf8f3;--surface: #f5f1e8;--ink: #1a1d24;--ink-2: #3a3f4a;--ink-muted: #6b7280;--border: #e7e2d3;--accent: #d97706;--accent-hover: #b45309;--accent-soft: #fbbf24;--code-bg: #f0ebdc;--selection: #fde68a;--font-display: "Fraunces", Georgia, serif;--font-body: "IBM Plex Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", "Courier New", monospace;--radius: 4px;--radius-card: 8px;--radius-pill: 999px}[data-theme=dark]{--bg: #0f1115;--surface: #1a1d24;--ink: #f5f1e8;--ink-2: #c4c0b3;--ink-muted: #8b8f99;--border: #2a2e38;--accent: #fbbf24;--accent-hover: #f59e0b;--accent-soft: #d97706;--code-bg: #1a1d24;--selection: #78350f}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--bg);color:var(--ink);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;transition:background-color .25s ease-out,color .25s ease-out}::selection{background:var(--selection)}img,video{max-width:100%;height:auto;display:block}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius)}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px;transition:color .15s ease-out}a:hover{color:var(--accent-hover)}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:var(--radius);font-family:var(--font-body);font-size:15px;font-weight:500;text-decoration:none;cursor:pointer;transition:background-color .15s ease-out,border-color .15s ease-out,color .15s ease-out}.btn-primary{background:var(--accent);color:#fff;border:2px solid var(--accent)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.btn-secondary{background:transparent;color:var(--ink);border:2px solid var(--border)}.btn-secondary:hover{border-color:var(--ink);color:var(--ink)}.btn:disabled,.btn[disabled]{opacity:.5;cursor:not-allowed}.container{max-width:1100px;margin:0 auto;padding:0 24px}.astro-code,.astro-code span{color:var(--shiki-light)!important;background-color:var(--shiki-light-bg)!important}[data-theme=dark] .astro-code,[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}button[data-astro-cid-x3pjskd3]{background:none;border:none;cursor:pointer;color:var(--ink-2);padding:4px;border-radius:var(--radius);display:flex;align-items:center;transition:color .15s ease-out}button[data-astro-cid-x3pjskd3]:hover{color:var(--ink)}.site-header[data-astro-cid-ctg3m53h]{position:sticky;top:0;z-index:100;background:var(--bg);border-bottom:1px solid var(--border);transition:background-color .25s ease-out}.header-inner[data-astro-cid-ctg3m53h]{display:flex;align-items:center;justify-content:space-between;height:60px;gap:24px}.wordmark[data-astro-cid-ctg3m53h]{font-family:var(--font-display);font-size:1.25rem;font-weight:700;color:var(--ink);text-decoration:none;letter-spacing:-.02em;flex-shrink:0}.wordmark[data-astro-cid-ctg3m53h]:hover{color:var(--ink)}.nav-desktop[data-astro-cid-ctg3m53h]{display:flex;align-items:center;gap:4px}.nav-link[data-astro-cid-ctg3m53h]{font-size:14px;font-weight:500;color:var(--ink-2);text-decoration:none;padding:6px 10px;border-radius:var(--radius);transition:color .15s ease-out,background-color .15s ease-out}.nav-link[data-astro-cid-ctg3m53h]:hover,.nav-link[data-astro-cid-ctg3m53h].active{color:var(--ink);background:var(--surface)}.header-actions[data-astro-cid-ctg3m53h]{display:flex;align-items:center;gap:8px}.mobile-menu-btn[data-astro-cid-ctg3m53h]{display:none;background:none;border:none;cursor:pointer;color:var(--ink-2);padding:4px;border-radius:var(--radius)}.mobile-menu-btn[data-astro-cid-ctg3m53h]:hover{color:var(--ink)}.nav-mobile[data-astro-cid-ctg3m53h]{border-top:1px solid var(--border);padding:8px 0 16px;display:flex;flex-direction:column}.mobile-nav-link[data-astro-cid-ctg3m53h]{padding:12px 24px;color:var(--ink-2);text-decoration:none;font-size:15px;font-weight:500;transition:color .15s ease-out,background-color .15s ease-out}.mobile-nav-link[data-astro-cid-ctg3m53h]:hover{color:var(--ink);background:var(--surface)}@media(max-width:768px){.nav-desktop[data-astro-cid-ctg3m53h]{display:none}.mobile-menu-btn[data-astro-cid-ctg3m53h]{display:flex}}.site-footer[data-astro-cid-gcn2mc3v]{border-top:1px solid var(--border);padding-top:48px;margin-top:96px;background:var(--surface)}.footer-inner[data-astro-cid-gcn2mc3v]{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;padding-bottom:48px}.footer-heading[data-astro-cid-gcn2mc3v]{font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:16px}.social-list[data-astro-cid-gcn2mc3v],.site-links[data-astro-cid-gcn2mc3v]{list-style:none;display:flex;flex-direction:column;gap:8px}.social-list[data-astro-cid-gcn2mc3v] a[data-astro-cid-gcn2mc3v],.site-links[data-astro-cid-gcn2mc3v] a[data-astro-cid-gcn2mc3v]{color:var(--ink-2);text-decoration:none;font-size:14px;transition:color .15s ease-out}.social-list[data-astro-cid-gcn2mc3v] a[data-astro-cid-gcn2mc3v]:hover,.site-links[data-astro-cid-gcn2mc3v] a[data-astro-cid-gcn2mc3v]:hover{color:var(--accent)}.rss-link[data-astro-cid-gcn2mc3v]{display:inline-flex;align-items:center;gap:8px;color:var(--ink-2);text-decoration:none;font-size:14px;transition:color .15s ease-out}.rss-link[data-astro-cid-gcn2mc3v]:hover{color:var(--accent)}.footer-bottom[data-astro-cid-gcn2mc3v]{border-top:1px solid var(--border);padding-top:24px;padding-bottom:32px}.footer-bottom[data-astro-cid-gcn2mc3v] p[data-astro-cid-gcn2mc3v]{font-size:13px;color:var(--ink-muted)}.footer-bottom[data-astro-cid-gcn2mc3v] a[data-astro-cid-gcn2mc3v]{color:var(--ink-muted);text-underline-offset:2px}.footer-bottom[data-astro-cid-gcn2mc3v] a[data-astro-cid-gcn2mc3v]:hover{color:var(--accent)}@media(max-width:640px){.footer-inner[data-astro-cid-gcn2mc3v]{grid-template-columns:1fr;gap:32px}}
