@import "https://fonts.googleapis.com/css2?family=Source+Serif+4:ital,wght@0,400;0,600;1,400&family=Inter:wght@400;500&family=Fragment+Mono:ital@0;1&display=swap";.language-toggle[data-astro-cid-ra2rg4ph]{align-items:center;gap:8px;display:flex}.flag[data-astro-cid-ra2rg4ph]{opacity:.35;align-items:center;text-decoration:none;transition:opacity .2s;display:flex}.flag[data-astro-cid-ra2rg4ph]:hover{opacity:.8}.flag[data-astro-cid-ra2rg4ph].active{opacity:1}nav[data-astro-cid-wpvy4v7s]{z-index:100;-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#ffffffeb;position:fixed;top:0;left:0;right:0}.nav-inner[data-astro-cid-wpvy4v7s]{max-width:960px;height:var(--nav-height);justify-content:space-between;align-items:center;margin:0 auto;padding:0 32px;display:flex}.site-name[data-astro-cid-wpvy4v7s]{letter-spacing:-.01em;color:var(--text);white-space:nowrap;font-family:Inter,-apple-system,sans-serif;font-size:15px;font-weight:500;text-decoration:none}.nav-right[data-astro-cid-wpvy4v7s]{align-items:center;gap:24px;display:flex}.nav-toggle[data-astro-cid-wpvy4v7s]{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;width:28px;height:28px;padding:0;display:none}.nav-toggle[data-astro-cid-wpvy4v7s] span[data-astro-cid-wpvy4v7s]{background:var(--text);width:20px;height:1.5px;transition:transform .25s,opacity .2s;display:block}.nav-links[data-astro-cid-wpvy4v7s]{gap:28px;list-style:none;display:flex}.nav-links[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]{color:var(--text-secondary);font-family:Inter,-apple-system,sans-serif;font-size:14px;text-decoration:none;transition:color .2s}.nav-links[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]:hover{color:var(--text)}@media (width<=640px){.nav-right[data-astro-cid-wpvy4v7s]{gap:14px}.nav-toggle[data-astro-cid-wpvy4v7s]{display:flex}.nav-links[data-astro-cid-wpvy4v7s]{top:var(--nav-height);background:var(--bg);border-bottom:1px solid var(--border);opacity:0;pointer-events:none;flex-direction:column;gap:0;padding:8px 0;transition:opacity .2s,transform .2s;position:absolute;left:0;right:0;transform:translateY(-8px)}.nav-links[data-astro-cid-wpvy4v7s] li[data-astro-cid-wpvy4v7s]{padding:0 32px}.nav-links[data-astro-cid-wpvy4v7s] li[data-astro-cid-wpvy4v7s]+li[data-astro-cid-wpvy4v7s]{border-top:1px solid var(--border)}.nav-links[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]{padding:12px 0;font-size:15px;display:block}nav[data-astro-cid-wpvy4v7s].open .nav-links[data-astro-cid-wpvy4v7s]{opacity:1;pointer-events:auto;transform:none}nav[data-astro-cid-wpvy4v7s].open .nav-toggle[data-astro-cid-wpvy4v7s] span[data-astro-cid-wpvy4v7s]:first-child{transform:translateY(6.5px)rotate(45deg)}nav[data-astro-cid-wpvy4v7s].open .nav-toggle[data-astro-cid-wpvy4v7s] span[data-astro-cid-wpvy4v7s]:nth-child(2){opacity:0}nav[data-astro-cid-wpvy4v7s].open .nav-toggle[data-astro-cid-wpvy4v7s] span[data-astro-cid-wpvy4v7s]:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}}.book-banner[data-astro-cid-vkieb65r]{top:var(--nav-height);z-index:99;height:var(--banner-height);background:#1a1a1a;justify-content:center;align-items:center;padding:0 44px 0 20px;display:flex;position:fixed;left:0;right:0}html.book-banner-hidden .book-banner[data-astro-cid-vkieb65r]{display:none}.bb-link[data-astro-cid-vkieb65r]{color:#f4f4f4;justify-content:center;align-items:center;gap:14px;width:100%;max-width:960px;font-family:Inter,-apple-system,sans-serif;line-height:1.2;text-decoration:none;display:flex}.bb-badge[data-astro-cid-vkieb65r]{background:var(--highlight);color:#1a1a1a;letter-spacing:.04em;text-transform:uppercase;border-radius:4px;flex-shrink:0;padding:3px 8px;font-size:11px;font-weight:600}.bb-text[data-astro-cid-vkieb65r]{color:#cfcfcf;white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.bb-cta[data-astro-cid-vkieb65r]{color:#f4f4f4;flex-shrink:0;font-size:14px;font-weight:500}.bb-arrow[data-astro-cid-vkieb65r]{color:var(--highlight);transition:transform .2s;display:inline-block}.bb-link[data-astro-cid-vkieb65r]:hover .bb-arrow[data-astro-cid-vkieb65r]{transform:translate(3px)}.bb-close[data-astro-cid-vkieb65r]{color:#8a8a8a;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:20px;line-height:1;transition:color .2s;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.bb-close[data-astro-cid-vkieb65r]:hover{color:#f4f4f4}@media (width<=720px){.bb-text[data-astro-cid-vkieb65r]{display:none}.bb-link[data-astro-cid-vkieb65r]{gap:10px}}footer[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--border);margin-top:40px;padding:32px 0}.footer-inner[data-astro-cid-jo6i4kqk]{max-width:var(--max-width);justify-content:space-between;align-items:center;margin:0 auto;padding:0 32px;display:flex}footer[data-astro-cid-jo6i4kqk] p[data-astro-cid-jo6i4kqk]{color:var(--text-light);font-family:Inter,-apple-system,sans-serif;font-size:13px}.footer-links[data-astro-cid-jo6i4kqk]{gap:20px;list-style:none;display:flex}.footer-links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:var(--text-light);font-family:Inter,-apple-system,sans-serif;font-size:13px;text-decoration:none;transition:color .2s}.footer-links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--text)}@font-face{font-family:DejaVu Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/DejaVuSans-Bold.ttf)format("truetype")}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--text:#1a1a1a;--text-secondary:#1a1a1a;--text-light:#1a1a1a;--link:#1a1a1a;--border:#e0e0e0;--bg:#fff;--accent:#3b5be8;--accent-deep:#2b45c4;--highlight:#e6ea3c;--max-width:720px;--nav-height:56px;--banner-height:44px}html.book-banner-hidden{--banner-height:0px}main{padding-top:var(--banner-height)}body{color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:"Source Serif 4",Georgia,Times New Roman,serif;font-size:17px;line-height:1.7}a{color:var(--link);text-decoration-color:var(--border);text-underline-offset:3px;transition:text-decoration-color .2s}a:hover{text-decoration-color:var(--text)}a.cta-link{text-decoration-color:var(--accent)}a.cta-link:hover{text-decoration-color:var(--accent-deep)}.content{max-width:var(--max-width);margin:0 auto;padding:0 32px}.section-header{text-transform:uppercase;letter-spacing:.08em;color:var(--text-light);padding:40px 0 20px;font-family:Inter,-apple-system,sans-serif;font-size:12px;font-weight:500}.post-list{list-style:none}.post-list li{justify-content:space-between;align-items:baseline;gap:24px;padding:11px 0;display:flex}.post-list li+li{border-top:1px solid #f0f0f0}.post-list .post-title{font-size:17px;font-weight:400;line-height:1.4}.post-list .post-title a{color:var(--text);text-decoration:none}.post-list .post-title a:hover{text-decoration:underline;text-decoration-color:var(--text-secondary);text-underline-offset:3px}.post-list .post-date{color:var(--text-light);white-space:nowrap;flex-shrink:0;font-family:Inter,-apple-system,sans-serif;font-size:13px}.prose{max-width:var(--max-width);margin:0 auto;padding:0 32px}.prose h1{letter-spacing:-.02em;margin-bottom:8px;font-size:32px;font-weight:600;line-height:1.3}.prose .post-subtitle{color:var(--text-secondary);margin-bottom:8px;font-family:"Source Serif 4",Georgia,serif;font-size:20px;line-height:1.4}.prose .post-meta{color:var(--text-light);margin-bottom:40px;font-family:Inter,-apple-system,sans-serif;font-size:14px}.prose h2{margin-top:48px;margin-bottom:16px;font-size:24px;font-weight:600;line-height:1.3}.prose h3{margin-top:36px;margin-bottom:12px;font-size:20px;font-weight:600}.prose p{margin-bottom:20px}.prose a{color:var(--text);text-decoration-color:var(--accent)}.prose a:hover{text-decoration-color:var(--accent-deep)}.prose ul,.prose ol{margin-bottom:20px;padding-left:28px}.prose li{margin-bottom:8px}.prose blockquote{border-left:3px solid var(--border);color:var(--text-secondary);margin:24px 0;padding-left:20px;font-style:italic}.prose code{background:#f5f5f5;border-radius:3px;padding:2px 6px;font-size:15px}.prose pre{background:#f8f8f8;border-radius:6px;margin-bottom:24px;padding:20px;overflow-x:auto}.prose pre code{background:0 0;padding:0}.prose img{border-radius:6px;max-width:100%;margin:24px auto 8px;display:block}.prose img+em{text-align:center;color:var(--text-secondary);margin-bottom:24px;font-size:14px;display:block}.prose hr{border:none;border-top:1px solid var(--border);margin:40px 0}@media (width<=640px){.post-list li{flex-direction:column;gap:4px}.prose h1{font-size:26px}}
