:root{color-scheme:light;--bg:#f8fafc;--surface:#fff;--surface-alt:#eef4f0;--ink:#172033;--muted:#5f697a;--soft:#748093;--line:#dce3eb;--line-strong:#bfccd8;--accent:#0f766e;--accent-strong:#115e59;--accent-warm:#b45309;--code-bg:#111827;--code-border:#334155;--code-ink:#e5edf5;--code-muted:#94a3b8;--max-width:1120px;--reading-width:760px}*{box-sizing:border-box}html{background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px}body{text-rendering:optimizelegibility;min-width:320px;margin:0;line-height:1.6}body,button,input,textarea{font:inherit}a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:.08em}img{max-width:100%;display:block}code,pre{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,ui-monospace,monospace}pre{background:var(--code-bg);color:var(--code-ink);border-radius:8px;margin:0;padding:1.1rem;overflow-x:auto}.site-shell{flex-direction:column;min-height:100vh;display:flex}main{flex:1}.skip-link{z-index:20;background:var(--ink);color:var(--surface);border-radius:6px;padding:.6rem .85rem;text-decoration:none;position:absolute;top:1rem;left:1rem;transform:translateY(-140%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:10;border-bottom:1px solid color-mix(in srgb, var(--line) 86%, transparent);background:color-mix(in srgb, var(--bg) 92%, transparent);backdrop-filter:blur(18px);position:sticky;top:0}.site-header__inner{width:min(100% - 2rem, var(--max-width));justify-content:space-between;align-items:center;gap:1rem;margin:0 auto;padding:.85rem 0;display:flex}.brand{align-items:center;gap:.65rem;font-weight:760;text-decoration:none;display:inline-flex}.brand-mark{background:var(--ink);width:2.25rem;height:2.25rem;color:var(--surface);border-radius:8px;place-items:center;font-size:.78rem;font-weight:820;display:grid}.primary-nav{flex-wrap:wrap;justify-content:flex-end;gap:.25rem;display:flex}.primary-nav a{color:var(--muted);border-radius:6px;padding:.45rem .6rem;text-decoration:none}.primary-nav a:hover,.primary-nav a[aria-current=page]{background:var(--surface-alt);color:var(--ink)}.eyebrow{color:var(--accent-strong);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .55rem;font-size:.78rem;font-weight:760}.personal-hero,.home-section,.page-section,.page-header,.article-header,.article-toc,.article-body,.article-nav,.site-footer__inner{width:min(100% - 2rem, var(--max-width));margin:0 auto}.personal-hero{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);align-items:start;gap:3rem;padding:4.25rem 0 3.25rem;display:grid}.personal-hero__copy{max-width:46rem}.personal-hero h1{margin:0;font-size:3rem;line-height:1.05}.personal-hero p{max-width:43rem;color:var(--muted);margin:.9rem 0 0}.personal-hero .lede{color:var(--ink);font-size:1.22rem;line-height:1.55}.personal-links{flex-wrap:wrap;gap:.65rem 1rem;margin-top:1.35rem;display:flex}.personal-links a{color:var(--accent-strong);font-weight:720}.personal-hero__aside{gap:1rem;display:grid}.personal-photo{aspect-ratio:4/3;border:1px solid var(--line);background:var(--surface);object-fit:cover;border-radius:8px;width:100%}.now-panel{border-left:3px solid var(--accent);background:var(--surface);padding:1rem 1.1rem}.now-panel .eyebrow{margin-bottom:.75rem}.status-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.status-list li{color:var(--muted)}.status-list li:before{color:var(--accent-strong);content:"/ ";font-weight:800}.home-section{border-top:1px solid var(--line);padding:3rem 0}.home-section__header{justify-content:space-between;align-items:start;gap:1rem;margin-bottom:1.35rem;display:flex}.home-section__header h2{margin:0;font-size:1.85rem;line-height:1.15}.home-section__header p{max-width:45rem;color:var(--muted);margin:.55rem 0 0}.home-section__header>a{color:var(--accent-strong);white-space:nowrap;font-weight:720}.simple-post-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.simple-post-list li{border-bottom:1px solid var(--line)}.simple-post-list li:first-child{border-top:1px solid var(--line)}.simple-post-list a{grid-template-columns:8rem minmax(0,1fr) 7.5rem;align-items:baseline;gap:1rem;padding:1rem 0;text-decoration:none;display:grid}.simple-post-list time,.simple-post-list em{color:var(--soft);font-size:.9rem;font-style:normal;font-weight:680}.simple-post-list strong,.simple-post-list small{display:block}.simple-post-list strong{font-size:1.05rem;line-height:1.25}.simple-post-list small{color:var(--muted);margin-top:.25rem;font-size:.95rem}.simple-post-list a:hover strong,.mini-post-list a:hover,.profile-link-list a:hover strong{color:var(--accent-strong)}.writing-lanes{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.35rem;display:grid}.writing-lane{border-top:3px solid var(--line-strong);padding-top:1rem}.writing-lane header{justify-content:space-between;gap:1rem;margin-bottom:.7rem;display:flex}.writing-lane header p{color:var(--soft);text-transform:uppercase;margin:0 0 .3rem;font-size:.82rem;font-weight:760}.writing-lane h3{margin:0;font-size:1.2rem;line-height:1.25}.writing-lane h3 a{text-decoration:none}.writing-lane>p{color:var(--muted);margin:0}.mini-post-list{gap:.45rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.mini-post-list a{font-weight:700;text-decoration:none}.mini-post-list a:before{color:var(--accent-strong);content:"-> "}.quiet-note{color:var(--soft);margin:1rem 0 0;font-size:.95rem}.profile-project-grid{grid-template-columns:minmax(240px,.78fr) minmax(0,1.22fr);align-items:start;gap:2rem;display:grid}.profile-link-list{border-top:1px solid var(--line);display:grid}.profile-link-list a{border-bottom:1px solid var(--line);gap:.2rem;padding:.85rem 0;text-decoration:none;display:grid}.profile-link-list span{color:var(--muted)}.home-project-list{gap:.8rem;display:grid}.home-project{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:.85rem;padding:1rem;display:grid}.home-project span{color:var(--soft);font-size:.84rem;font-weight:720}.home-project h3{margin:.2rem 0 0;font-size:1.12rem;line-height:1.25}.home-project p{color:var(--muted);margin:.35rem 0 0}.page-section{padding:3.5rem 0}.page-section+.page-section{border-top:1px solid var(--line)}.section-heading{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.4rem;display:flex}.section-heading h2,.page-header h1,.article-header h1{margin:0;line-height:1.12}.section-heading h2{font-size:1.85rem}.section-heading p,.page-header p,.article-header p{max-width:44rem;color:var(--muted);margin:.55rem 0 0}.page-header{padding:3.5rem 0 2.25rem}.page-header h1,.article-header h1{font-size:2.65rem}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.card-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.section-card,.post-card,.project-card,.timeline-item,.uses-card{border:1px solid var(--line);background:var(--surface);border-radius:8px}.section-card,.project-card,.timeline-item,.uses-card{padding:1.1rem}.section-card{gap:.85rem;text-decoration:none;display:grid}.section-card:hover,.post-card:hover,.project-card:hover{border-color:var(--line-strong);box-shadow:0 12px 34px #1b273714}.card-meta,.post-meta,.tag-list,.timeline-period{color:var(--soft);font-size:.86rem;font-weight:680}.draft-badge{border:1px solid color-mix(in srgb, var(--accent-warm) 45%, var(--line));background:color-mix(in srgb, var(--accent-warm) 12%, var(--surface));width:fit-content;color:var(--accent-warm);text-transform:uppercase;border-radius:999px;align-items:center;padding:.16rem .48rem;font-size:.72rem;font-weight:780;line-height:1.2;display:inline-flex}.section-card h3,.post-card h3,.project-card h2,.uses-card h2{margin:0;font-size:1.15rem;line-height:1.25}.section-card p,.post-card p,.project-card p,.timeline-item p,.uses-card p{color:var(--muted);margin:0}.example-list,.tag-list{flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.example-list li,.tag-list li{border:1px solid var(--line);background:var(--bg);border-radius:999px;padding:.25rem .55rem}.tag-list a{color:inherit;text-decoration:none}.tag-list a:hover{color:var(--accent-strong)}.post-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.post-list{gap:.9rem;display:grid}.post-card{text-decoration:none;display:block;overflow:hidden}.post-card--draft{border-color:color-mix(in srgb, var(--accent-warm) 42%, var(--line));background:color-mix(in srgb, var(--surface) 92%, var(--accent-warm))}.post-card__inner{gap:.7rem;padding:1.1rem;display:grid}.post-meta{flex-wrap:wrap;gap:.35rem .65rem;display:flex}.empty-state{border:1px dashed var(--line-strong);background:color-mix(in srgb, var(--surface-alt) 72%, transparent);color:var(--muted);border-radius:8px;padding:1.5rem}.draft-section{background:linear-gradient(180deg, color-mix(in srgb, var(--accent-warm) 6%, transparent), transparent 8rem)}.article-header{max-width:var(--reading-width);padding:3.5rem 0 2rem}.article-header--draft{border-bottom:1px solid color-mix(in srgb, var(--accent-warm) 30%, var(--line))}.article-kicker{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.article-kicker .eyebrow{margin:0}.article-header .draft-note{border-left:3px solid var(--accent-warm);max-width:fit-content;color:var(--accent-warm);padding-left:.75rem;font-weight:680}.article-meta{color:var(--soft);flex-wrap:wrap;align-items:center;gap:.55rem .8rem;margin-top:1rem;font-size:.92rem;display:flex}.article-tags{margin:0}.article-toc{max-width:var(--reading-width);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1rem 0}.article-toc h2{color:var(--soft);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .7rem;font-size:.78rem;font-weight:760}.article-toc ol{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.article-toc li{line-height:1.35}.article-toc a{color:var(--muted);text-decoration:none}.article-toc a:hover{color:var(--accent-strong)}.article-toc__depth-3{padding-left:1rem}.article-body{max-width:var(--reading-width);padding:1rem 0 2.5rem}.prose{color:var(--ink);font-size:1.05rem}.prose h2,.prose h3{margin-top:2.1em;line-height:1.2}.prose p,.prose ul,.prose ol,.prose blockquote{margin:1.1rem 0}.prose blockquote{border-left:4px solid var(--accent);color:var(--muted);padding-left:1rem}.prose a{color:var(--accent-strong);font-weight:650}.prose :not(pre)>code{border:1px solid color-mix(in srgb, var(--line) 78%, transparent);background:color-mix(in srgb, var(--surface-alt) 78%, transparent);color:var(--accent-strong);overflow-wrap:anywhere;border-radius:5px;padding:.12rem .32rem;font-size:.9em}.prose .expressive-code{margin:1.45rem 0}.prose .expressive-code+.expressive-code{margin-top:1.1rem}.prose kbd{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);border-bottom-width:2px;border-radius:5px;padding:.1rem .34rem;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,ui-monospace,monospace;font-size:.86em;font-weight:650}.mermaid-figure{border:1px solid var(--line);background:var(--surface);border-radius:8px;margin:1.6rem 0;overflow:hidden}.mermaid-figure__title,.mermaid-figure__caption{color:var(--muted);margin:0;font-size:.88rem;line-height:1.5}.mermaid-figure__title{border-bottom:1px solid var(--line);color:var(--ink);padding:.75rem 1rem;font-weight:720}.mermaid-figure__canvas{background:color-mix(in srgb, var(--surface-alt) 42%, var(--surface));padding:1rem;overflow-x:auto}.prose pre.mermaid{min-width:100%;color:var(--ink);text-align:center;background:0 0;margin:0}.prose pre.mermaid svg{max-width:100%;height:auto;margin:0 auto;display:block}.prose pre.mermaid[data-mermaid-error=true]{color:var(--accent-warm);text-align:left}.mermaid-figure__caption{border-top:1px solid var(--line);padding:.7rem 1rem}.callout{--callout-color:var(--accent);--callout-bg:color-mix(in srgb, var(--surface-alt) 68%, transparent);border:1px solid var(--line);border-left:4px solid var(--callout-color);background:var(--callout-bg);border-radius:8px;margin:1.35rem 0;padding:1rem}.callout--warning{--callout-color:var(--accent-warm)}.callout--decision{--callout-color:#3b82f6}.callout--reference{--callout-color:var(--line-strong)}.callout--tip{--callout-color:#16a34a}.callout--question{--callout-color:#8b5cf6}.callout--todo{--callout-color:#0ea5e9}.callout--danger{--callout-color:#dc2626}.callout__header{align-items:center;gap:.55rem;margin-bottom:.65rem;display:flex}.callout__marker{width:1.15rem;height:1.15rem;color:var(--callout-color);flex:none;justify-content:center;align-items:center;display:inline-flex}.callout__icon{width:100%;height:100%}.callout__header strong{font-size:.95rem;line-height:1.2}.callout__body>:first-child{margin-top:0}.callout__body>:last-child{margin-bottom:0}.archive-list{gap:.7rem;margin:0;padding:0;list-style:none;display:grid}.archive-list a{border-bottom:1px solid var(--line);grid-template-columns:9.5rem minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.85rem 0;text-decoration:none;display:grid}.archive-list a:hover strong{color:var(--accent-strong)}.article-nav{max-width:var(--reading-width);grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:4rem;display:grid}.article-nav a{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:1rem;text-decoration:none}.article-nav a:hover{border-color:var(--line-strong);box-shadow:0 10px 28px #1b273714}.article-nav span{color:var(--soft);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.35rem;font-size:.78rem;font-weight:760;display:block}.article-nav strong{line-height:1.3;display:block}.article-nav__older{text-align:right}.tag-cloud{flex-wrap:wrap;gap:.75rem;display:flex}.tag-card{border:1px solid var(--line);background:var(--surface);border-radius:999px;align-items:baseline;gap:.5rem;padding:.55rem .85rem;text-decoration:none;display:flex}.tag-card:hover{border-color:var(--line-strong);box-shadow:0 10px 28px #1b273714}.tag-card span{color:var(--soft);font-size:.86rem;font-weight:680}.site-footer{border-top:1px solid var(--line);background:var(--surface)}.site-footer__inner{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:1rem;padding:2rem 0;font-size:.92rem;display:flex}.site-footer a{color:var(--ink);font-weight:650}@media (prefers-color-scheme:dark){:root{color-scheme:dark;--bg:#0f1419;--surface:#151c23;--surface-alt:#162720;--ink:#edf2f7;--muted:#a5b1bf;--soft:#8c9aaa;--line:#293542;--line-strong:#405062;--accent:#2dd4bf;--accent-strong:#5eead4;--accent-warm:#f59e0b}}@media (width<=860px){.site-header__inner{flex-direction:column;align-items:flex-start}.primary-nav{justify-content:flex-start}.personal-hero,.writing-lanes,.profile-project-grid,.card-grid,.card-grid--two,.post-grid,.article-nav{grid-template-columns:1fr}.personal-hero{gap:2rem;padding:3rem 0 2.5rem}.personal-hero h1{font-size:2.35rem}.personal-photo{max-width:32rem}.home-section__header{flex-direction:column;align-items:flex-start}.simple-post-list a{grid-template-columns:1fr;gap:.35rem}.section-heading{flex-direction:column;align-items:flex-start}.archive-list a{grid-template-columns:1fr;gap:.25rem}.article-nav__older{text-align:left}}@media (width<=540px){.site-header__inner,.personal-hero,.home-section,.page-section,.page-header,.article-header,.article-toc,.article-body,.article-nav,.site-footer__inner{width:min(100% - 1.25rem, var(--max-width))}.primary-nav a{padding:.4rem .5rem}.personal-hero .lede{font-size:1.08rem}.page-header h1,.article-header h1{font-size:2.1rem}}
