:root{color-scheme:light dark;--ink:light-dark(#16191d,#e8eaed);--ink-muted:light-dark(#5a6470,#a0a8b4);--ink-faint:light-dark(#8b94a0,#6f7883);--bg:light-dark(#fff,#14171a);--bg-raised:light-dark(#f6f7f9,#1c2024);--bg-sunken:light-dark(#eef0f3,#0f1215);--line:light-dark(#dfe3e8,#2c3238);--line-strong:light-dark(#c3cad2,#3b434b);--accent:light-dark(#0b5ea8,#6bb4f0);--accent-bg:light-dark(#e8f2fb,#16344f);--warn:light-dark(#8a5a00,#e5b25d);--warn-bg:light-dark(#fdf4e3,#3a2f18);--error:light-dark(#a3231d,#f08b85);--error-bg:light-dark(#fdeceb,#3d1d1b);--gap-good:light-dark(#2f7d32,#7bc47f);--gap-noticeable:light-dark(#9a6100,#f0bc61);--gap-hard:light-dark(#b3261e,#ff9b93);--font:system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--radius:6px;--measure:68ch;--page:1100px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);color:var(--ink);background:var(--bg);margin:0;font-size:1rem;line-height:1.6;overflow-x:hidden}h1,h2,h3{text-wrap:balance;margin:0 0 var(--space-3);line-height:1.25}h1{letter-spacing:-.02em;font-size:clamp(1.6rem,1.2rem + 1.6vw,2.2rem)}h2{margin-top:var(--space-7);font-size:1.3rem}h3{margin-top:var(--space-5);font-size:1.05rem}p,ul,ol{margin:0 0 var(--space-4)}a{color:var(--accent);text-underline-offset:.2em}a:hover{text-decoration-thickness:2px}:where(a,button,input,select,summary):focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}code{font-family:var(--font-mono);background:var(--bg-sunken);border-radius:3px;padding:.1em .35em;font-size:.9em}hr{border:0;border-top:1px solid var(--line);margin:var(--space-6) 0}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page{max-width:var(--page);padding:0 var(--space-4);margin:0 auto}.prose{max-width:var(--measure)}.site-header{border-bottom:1px solid var(--line);background:var(--bg)}.site-header__inner{align-items:baseline;gap:var(--space-4);padding-block:var(--space-4);flex-wrap:wrap;display:flex}.site-header__brand{letter-spacing:-.01em;color:var(--ink);font-size:1.1rem;font-weight:650;text-decoration:none}.site-nav{gap:var(--space-4);margin-left:auto;display:flex}.site-nav a{color:var(--ink-muted);text-decoration:none}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--ink);text-decoration:underline}main{padding-block:var(--space-6) var(--space-8)}.site-footer{border-top:1px solid var(--line);padding-block:var(--space-5);color:var(--ink-muted);font-size:.9rem}.site-footer__inner{gap:var(--space-4);flex-wrap:wrap;justify-content:space-between;display:flex}.lede{color:var(--ink-muted);max-width:var(--measure);margin-bottom:var(--space-6);font-size:1.1rem}.card-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin:0;padding:0;list-style:none;display:grid}.card{padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-raised);color:inherit;text-decoration:none;display:block}.card:hover{border-color:var(--line-strong)}.card h3{margin:0 0 var(--space-2);color:var(--accent)}.card p{color:var(--ink-muted);margin:0;font-size:.95rem}.post-list{gap:var(--space-5);margin:0;padding:0;list-style:none;display:grid}.post-item{padding-bottom:var(--space-5);border-bottom:1px solid var(--line)}.post-item:last-child{border-bottom:0}.post-item h3{margin:0 0 var(--space-1);font-size:1.15rem}.post-item h3 a{text-decoration:none}.post-item h3 a:hover{text-decoration:underline}.post-meta{color:var(--ink-faint);margin:0 0 var(--space-2);font-size:.85rem}.post-summary{color:var(--ink-muted);max-width:var(--measure);margin:0}.post-body{max-width:var(--measure)}.post-body h2{margin-top:var(--space-6)}.note{border:1px solid var(--line);border-left:3px solid var(--ink-faint);border-radius:var(--radius);background:var(--bg-raised);padding:var(--space-3) var(--space-4);margin:0 0 var(--space-4);max-width:var(--measure);font-size:.92rem}.note--warn{border-left-color:var(--warn);background:var(--warn-bg);color:var(--warn)}.note--error{border-left-color:var(--error);background:var(--error-bg);color:var(--error)}.note--info{border-left-color:var(--accent);background:var(--accent-bg)}.note p{margin:0}.note p+p{margin-top:var(--space-2)}
