:root{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica,
    Arial, "Apple Color Emoji", "Segoe UI Emoji", sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas,
    "Liberation Mono", monospace;--measure:44rem;--bg:#ffffff;--bg-soft:#f6f7f9;--bg-elevated:#ffffff;--text:#1a1d24;--text-soft:#5b6270;--text-faint:#868d9a;--border:#e6e8ec;--border-strong:#d3d7de;--accent:#6d3bf5;--accent-hover:#5a27e0;--accent-soft:#f0ebff;--code-bg:#282a36;--code-text:#f8f8f2;--shadow:0 1px 2px rgba(16, 18, 24, .04), 0 8px 24px rgba(16, 18, 24, .06)}:root[data-theme=dark],:root:not([data-theme=light]){}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0b0d12;--bg-soft:#12151c;--bg-elevated:#151922;--text:#e6e8ee;--text-soft:#a3abba;--text-faint:#6f7787;--border:#232833;--border-strong:#333a48;--accent:#a68bff;--accent-hover:#b9a3ff;--accent-soft:#1b1830;--shadow:0 1px 2px rgba(0, 0, 0, .3), 0 12px 32px rgba(0, 0, 0, .35)}}:root[data-theme=dark]{--bg:#0b0d12;--bg-soft:#12151c;--bg-elevated:#151922;--text:#e6e8ee;--text-soft:#a3abba;--text-faint:#6f7787;--border:#232833;--border-strong:#333a48;--accent:#a68bff;--accent-hover:#b9a3ff;--accent-soft:#1b1830;--shadow:0 1px 2px rgba(0, 0, 0, .3), 0 12px 32px rgba(0, 0, 0, .35)}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;font-family:var(--font-sans);font-size:1.0625rem;line-height:1.7;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;display:flex;flex-direction:column;min-height:100vh}.container{width:100%;max-width:var(--measure);margin-inline:auto;padding-inline:1.25rem}main.container{flex:1 0 auto;padding-block:2.5rem 4rem}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline;text-underline-offset:2px}img{max-width:100%;height:auto;border-radius:8px}hr{border:0;border-top:1px solid var(--border);margin:2.5rem 0}::selection{background:var(--accent);color:#fff}.skip-link{position:absolute;left:-999px;top:0;background:var(--accent);color:#fff;padding:.6rem 1rem;border-radius:0 0 8px 0;z-index:100}.skip-link:focus{left:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.site-header{border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:saturate(160%)blur(10px);position:sticky;top:0;z-index:50}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.85rem;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:.6rem}.brand:hover{text-decoration:none}.brand-mark{display:inline-flex;flex:none;border-radius:11px;box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 35%,transparent);transition:transform .18s ease}.brand-mark svg{display:block}.brand:hover .brand-mark{transform:rotate(-6deg)scale(1.05)}.brand-text{display:flex;flex-direction:column;line-height:1.12}.brand-name{font-weight:700;font-size:1.15rem;color:var(--text);letter-spacing:-.02em}.brand-tag{font-size:.76rem;color:var(--text-faint);font-style:italic}@media(max-width:26rem){.brand-mark svg{width:32px;height:32px}.brand-name{font-size:1.05rem}.brand-tag{display:none}}.site-nav{display:flex;align-items:center;gap:1.1rem}.site-nav a{color:var(--text-soft);font-size:.95rem;font-weight:500}.site-nav a:hover{color:var(--text);text-decoration:none}.site-nav a.active{color:var(--accent)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;margin-left:.25rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-soft);color:var(--text-soft);cursor:pointer;transition:color .15s,border-color .15s,background .15s}.theme-toggle:hover{color:var(--accent);border-color:var(--border-strong)}.theme-toggle .icon-moon{display:none}:root[data-theme=dark] .theme-toggle .icon-sun{display:none}:root[data-theme=dark] .theme-toggle .icon-moon{display:block}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-toggle .icon-sun{display:none}:root:not([data-theme=light]) .theme-toggle .icon-moon{display:block}}.home-hero{margin-bottom:1.5rem}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;font-weight:700;color:var(--accent);margin:0 0 .5rem}.home-hero h1{font-size:clamp(2rem,6vw,2.9rem);line-height:1.1;letter-spacing:-.02em;margin:0}.home-intro .prose{color:var(--text-soft)}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:3.25rem 0 1rem;border-top:1px solid var(--border);padding-top:1.75rem}.section-head h2{font-size:1.35rem;margin:0;letter-spacing:-.01em}.see-all{font-size:.9rem;font-weight:600;white-space:nowrap}.post-list{list-style:none;margin:0;padding:0}.post-item+.post-item{border-top:1px dashed var(--border)}.post-link{display:flex;align-items:baseline;gap:1rem;padding:.7rem 0;color:var(--text)}.post-link:hover{text-decoration:none}.post-link:hover .post-title{color:var(--accent)}.post-link time{flex:none;width:6.5rem;font-variant-numeric:tabular-nums;font-size:.85rem;color:var(--text-faint);font-family:var(--font-mono);padding-top:.15rem}.post-title{font-weight:500;transition:color .15s}.list-header{margin-bottom:1.5rem}.list-header h1{font-size:clamp(1.9rem,5vw,2.5rem);margin:0 0 .4rem;letter-spacing:-.02em}.list-count{color:var(--text-faint);margin:0;font-size:.95rem}.year-group{margin-top:2.25rem}.year-heading{font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);margin:0 0 .35rem;font-family:var(--font-mono)}@media(max-width:34rem){.post-link{flex-direction:column;gap:.1rem}.post-link time{width:auto}}.post-header{margin-bottom:2rem}.post-header h1{font-size:clamp(1.9rem,5.5vw,2.6rem);line-height:1.15;letter-spacing:-.02em;margin:0 0 .75rem}.post-meta{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;color:var(--text-faint);font-size:.9rem;font-family:var(--font-mono)}.tag-list{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;padding:0;margin:1rem 0 0}.tag-list a{display:inline-block;font-size:.8rem;padding:.2rem .6rem;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-weight:600}.tag-list a:hover{text-decoration:none;background:var(--accent);color:#fff}.prose{font-size:1.075rem}.prose>*:first-child{margin-top:0}.prose h2{font-size:1.55rem;margin:2.5rem 0 .8rem;letter-spacing:-.01em;line-height:1.25}.prose h3{font-size:1.25rem;margin:2rem 0 .6rem}.prose h4{font-size:1.05rem;margin:1.6rem 0 .5rem}.prose p,.prose ul,.prose ol{margin:0 0 1.25rem}.prose ul,.prose ol{padding-left:1.4rem}.prose li{margin-bottom:.4rem}.prose li::marker{color:var(--text-faint)}.prose strong{color:var(--text);font-weight:700}.prose blockquote{margin:1.75rem 0;padding:.35rem 0 .35rem 1.25rem;border-left:3px solid var(--accent);color:var(--text-soft);font-style:italic;font-size:1.1rem}.prose blockquote p:last-child{margin-bottom:0}.prose a{text-decoration:underline;text-underline-offset:2px;text-decoration-color:color-mix(in srgb,var(--accent) 45%,transparent)}.prose a:hover{text-decoration-color:initial}.prose img{display:block;margin:1.5rem auto;box-shadow:var(--shadow)}figure{margin:1.75rem 0}figure img{margin-bottom:.5rem}figcaption{text-align:center;color:var(--text-faint);font-size:.88rem}.fig-row{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin:1.5rem 0}.fig-row figure{flex:1 1 260px;margin:0}.fig-row figure img{width:100%;margin:0}.prose table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.95rem;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--border);padding:.55rem .8rem;text-align:left}.prose th{background:var(--bg-soft);font-weight:700}.prose :not(pre)>code{font-family:var(--font-mono);font-size:.88em;background:var(--bg-soft);border:1px solid var(--border);padding:.12em .4em;border-radius:5px;word-break:break-word}.prose pre,.prose .chroma{background:var(--code-bg);color:var(--code-text);border-radius:10px;padding:1rem 1.15rem;overflow-x:auto;font-family:var(--font-mono);font-size:.875rem;line-height:1.6;margin:1.5rem 0;box-shadow:var(--shadow);-webkit-overflow-scrolling:touch}.prose .chroma{padding:0}.prose .chroma code,.prose pre code{background:0 0;border:0;padding:1rem 1.15rem;display:block;font-size:inherit;border-radius:0}.prose pre>code{padding:0}.prose .highlight{margin:1.5rem 0}.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:3rem;padding-top:1.75rem;border-top:1px solid var(--border)}.post-nav a{display:flex;flex-direction:column;gap:.2rem;padding:.9rem 1.1rem;border:1px solid var(--border);border-radius:10px;color:var(--text);font-weight:500;background:var(--bg-soft);transition:border-color .15s,transform .15s}.post-nav a:hover{text-decoration:none;border-color:var(--accent);transform:translateY(-1px)}.post-nav a span{font-size:.78rem;color:var(--text-faint);font-family:var(--font-mono)}.post-nav .next{text-align:right;grid-column:2}.post-nav .prev{grid-column:1}@media(max-width:34rem){.post-nav{grid-template-columns:1fr}.post-nav .next,.post-nav .prev{grid-column:1;text-align:left}}.notfound{text-align:center;padding:3rem 0}.notfound h1{font-size:clamp(1.6rem,5vw,2.2rem);margin:.5rem 0 1rem}.notfound-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;margin-top:1.5rem}.btn{display:inline-block;padding:.6rem 1.2rem;border-radius:8px;background:var(--accent);color:#fff;font-weight:600;border:1px solid var(--accent)}.btn:hover{background:var(--accent-hover);border-color:var(--accent-hover);text-decoration:none}.btn-ghost{background:0 0;color:var(--accent)}.btn-ghost:hover{background:var(--accent-soft);color:var(--accent)}.site-footer{border-top:1px solid var(--border);flex-shrink:0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:1.75rem;flex-wrap:wrap}.footer-social{display:flex;gap:.35rem}.footer-social a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;color:var(--text-soft);transition:color .15s,background .15s}.footer-social a:hover{color:var(--accent);background:var(--bg-soft)}.footer-copy{color:var(--text-faint);font-size:.85rem;margin:0}