:root{--stone:#f1f0eb;--ink-green:#18473b;--ink:#171815;--cinnabar:#d95a32;--bg:var(--stone);--text:var(--ink);--muted:#5d5f58;--heading:var(--ink-green);--accent:var(--cinnabar);--line:#17181524;--card:#ffffff61;--grain-opacity:.07;--serif:"Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", serif;--sans:"PingFang SC", "Noto Sans SC", "Source Han Sans SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif;--latin-serif:"Iowan Old Style", "Palatino", "Georgia", serif;--max:1120px;--gutter:clamp(16px, 4vw, 40px);color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#18473b;--text:#f1f0eb;--muted:#b9c4bd;--heading:#f1f0eb;--accent:#f0805a;--line:#f1f0eb2e;--card:#0000001f;--grain-opacity:.09;color-scheme:dark}}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background-color:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.75}body:before{content:"";pointer-events:none;z-index:-1;opacity:var(--grain-opacity);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.35 0 0 0 0 0.33 0 0 0 0 0.3 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}h1,h2,h3{font-family:var(--serif);color:var(--heading);text-wrap:balance;margin:0;font-weight:700;line-height:1.3}p{margin:0}a{color:inherit;text-decoration-color:var(--line);text-underline-offset:4px}a:hover{text-decoration-color:currentColor}img{max-width:100%;height:auto;display:block}.wrap{max-width:var(--max);padding:0 var(--gutter);margin:0 auto}.section{border-top:1px solid var(--line);padding:clamp(64px,10vw,120px) 0}.section-head{gap:10px;margin-bottom:clamp(32px,5vw,56px);display:grid}.eyebrow{letter-spacing:.18em;color:var(--muted);font-size:13px}.section-head h2{font-size:clamp(28px,4vw,40px)}.muted{color:var(--muted)}.accent{color:var(--accent)}.btn{border:1px solid var(--heading);color:var(--heading);border-radius:999px;align-items:center;gap:8px;padding:12px 22px;font-size:15px;text-decoration:none;transition:background .2s,color .2s;display:inline-flex}.btn.primary,.btn:hover{background:var(--heading);color:var(--bg)}.btn:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.prose{max-width:680px}.prose h2{margin:48px 0 16px;font-size:26px}.prose h3{margin:32px 0 12px;font-size:21px}.prose p,.prose ul,.prose ol,.prose blockquote{margin:0 0 20px}.prose blockquote{border-left:3px solid var(--accent);color:var(--muted);padding-left:16px}.prose code{background:var(--card);border-radius:4px;padding:2px 6px;font-size:.9em}.prose pre{background:var(--card);border-radius:8px;padding:16px;overflow-x:auto}.top[data-astro-cid-hkbrpulz]{z-index:10;background:color-mix(in srgb, var(--bg) 88%, transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);position:sticky;top:0}.bar[data-astro-cid-hkbrpulz]{justify-content:space-between;align-items:center;gap:16px;height:64px;display:flex}.logo[data-astro-cid-hkbrpulz]{flex-shrink:0;display:block}.logo-dark[data-astro-cid-hkbrpulz]{display:none}@media (prefers-color-scheme:dark){.logo-light[data-astro-cid-hkbrpulz]{display:none}.logo-dark[data-astro-cid-hkbrpulz]{display:block}}nav[data-astro-cid-hkbrpulz]{gap:clamp(14px,3vw,32px);font-size:15px;display:flex}nav[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]{color:var(--muted);text-decoration:none}nav[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]:hover{color:var(--heading)}@media (width<=520px){.logo[data-astro-cid-hkbrpulz] img{width:64px}nav[data-astro-cid-hkbrpulz]{gap:12px;font-size:14px}}.foot[data-astro-cid-hkbrpulz]{border-top:1px solid var(--line);color:var(--muted);padding:28px 0 40px;font-size:14px}.foot-row[data-astro-cid-hkbrpulz]{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}
