:root{color-scheme:light;--background:#fff;--surface:#f7f9f8;--ink:#303c42;--muted:#718087;--rule:#aebbb7;--soft-rule:#dce3e1;--accent:#e26d5a;--accent-dark:#6e0d25;--pastel-rose:#ffebe7;--font-sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace}*{box-sizing:border-box}html{background:var(--background);color:var(--ink);font-family:var(--font-sans);text-rendering:optimizelegibility;font-size:16px;line-height:1.65}body{min-width:320px;margin:0}::selection{background:var(--pastel-rose);color:var(--accent-dark)}.skip-link{z-index:10;background:var(--ink);color:#fff;padding:.5rem .75rem;position:fixed;top:1rem;left:1rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.site-shell{width:min(100% - 2.5rem,48rem);margin-inline:auto;padding-block:2.75rem 2rem}.site-header{padding-bottom:2rem}.site-header__identity,.site-header__topline,.site-footer,.site-nav,.section-label,.entry-date,.entry-meta,.eyebrow,.tag-list,.back-link{font-family:var(--font-mono)}.site-header__topline{letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:1rem;font-size:.75rem;display:flex}.site-header__portrait-link{flex:none;line-height:0}.site-header__portrait{object-fit:cover;object-position:50% 28%;width:4.125rem;height:4.375rem;display:block}.site-header__identity-block{flex-direction:column;flex:1;gap:.15rem;display:flex}.site-header__identity{color:var(--ink);letter-spacing:.025em;align-self:flex-start;font-size:clamp(1.25rem,5vw,2rem);font-weight:700;line-height:1.2;text-decoration:none}.site-header__role{color:var(--muted)}.site-nav{border-block:1px solid var(--rule);text-transform:uppercase;flex-wrap:wrap;gap:.65rem 1.15rem;margin-top:1.35rem;padding-block:.75rem;font-size:.78rem;display:flex}.site-nav a{color:var(--muted);text-decoration:none}.site-nav a:hover,.site-nav a:focus-visible,.site-nav a[aria-current=page]{color:var(--accent-dark)}.site-nav a[aria-current=page]:before{content:"["}.site-nav a[aria-current=page]:after{content:"]"}.intro{max-width:39rem;padding-block:2.4rem 3rem}.intro h1,.page-heading h1,.post-header h1{color:var(--ink);letter-spacing:-.035em;margin:0;font-size:clamp(1.8rem,5vw,2.45rem);font-weight:650;line-height:1.12}.highlight{background:linear-gradient(transparent 40%, var(--pastel-rose) 48%, var(--pastel-rose) 80%, transparent 88%);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-inline:.08em}.intro p,.page-heading p{color:#4d5b61;margin:1rem 0 0;font-size:1.05rem}.index-section{border-top:1px solid var(--rule);grid-template-columns:7rem minmax(0,1fr);gap:1.5rem;padding-block:1.5rem 2rem;display:grid}.section-label,.eyebrow{color:var(--accent);letter-spacing:.045em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:700}.section-content>:first-child{margin-top:0}.section-content>:last-child{margin-bottom:0}.text-link,.entry-title,.prose a,.back-link{color:inherit;text-decoration-color:var(--accent);text-underline-offset:.2em;text-decoration-thickness:1px}.text-link:hover,.text-link:focus-visible,.entry-title:hover,.entry-title:focus-visible,.prose a:hover,.prose a:focus-visible,.back-link:hover,.back-link:focus-visible{color:var(--accent-dark);text-decoration-thickness:2px}.entry-list{margin:0;padding:0;list-style:none}.entry{border-top:1px solid var(--soft-rule);grid-template-columns:7rem minmax(0,1fr);gap:1.25rem;padding-block:1rem;display:grid}.entry:first-child{border-top:0;padding-top:0}.entry-date,.entry-meta{color:var(--muted);letter-spacing:.02em;text-transform:uppercase;font-size:.72rem}.entry-title{font-weight:650}.entry-description{color:#59676d;margin:.35rem 0 0}.entry-details{flex-wrap:wrap;gap:.25rem .8rem;margin-top:.45rem;display:flex}.project-list{grid-template-columns:minmax(7.5rem,.4fr) minmax(0,1fr) auto;column-gap:1rem;display:grid}.project-entry{grid-column:1/-1;grid-template-columns:subgrid;border-top:1px solid var(--soft-rule);align-items:baseline;padding-block:.85rem;display:grid}.project-entry:first-child{border-top:0;padding-top:0}.project-entry p{color:#59676d;margin:0}.project-entry__meta{color:var(--muted);font-family:var(--font-mono);white-space:nowrap;font-size:.7rem}.social-links{gap:1rem;margin:0;padding:0;list-style:none;display:flex}.social-links a{color:var(--muted);display:block}.social-links a:hover,.social-links a:focus-visible{color:var(--accent-dark)}.social-links svg{fill:currentColor;width:1.375rem;height:1.375rem;display:block}.empty-state{color:var(--muted);margin:0;font-style:italic}.page-heading,.post-header{max-width:42rem;padding-block:2.4rem 3rem}.page-heading .eyebrow,.post-header .eyebrow{margin-bottom:.8rem}.post-meta{color:var(--muted);font-family:var(--font-mono);text-transform:uppercase;margin-top:1rem;font-size:.75rem}.tag-list{color:var(--accent-dark);text-transform:uppercase;flex-wrap:wrap;gap:.4rem;margin:1rem 0 0;padding:0;font-size:.72rem;list-style:none;display:flex}.tag-list li{background:var(--pastel-rose);border-radius:.2rem;padding:.15rem .55rem}.prose{max-width:42rem;padding-bottom:3rem}.prose h2,.prose h3{color:var(--ink);margin-top:2.5rem;line-height:1.25}.prose h2{font-size:1.5rem}.prose h3{font-size:1.2rem}.prose p,.prose li{color:#435157}.prose img{max-width:100%;height:auto}.prose pre{background:var(--surface);border-block:1px solid var(--soft-rule);padding:1rem;font-size:.85rem;overflow-x:auto}.prose code:not(pre code){background:var(--surface);padding:.1em .25em;font-size:.88em}.prose blockquote{border-left:2px solid var(--accent);margin-inline:0;padding-left:1rem}.back-link{text-transform:uppercase;margin-bottom:2rem;font-size:.75rem;display:inline-block}.site-footer{border-top:1px solid var(--rule);color:var(--muted);text-transform:uppercase;justify-content:space-between;gap:1rem;margin-top:2.5rem;padding-top:1.25rem;font-size:.72rem;display:flex}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}@media (width<=40rem){.site-shell{width:min(100% - 2rem,48rem);padding-top:1.75rem}.site-footer{flex-direction:column;align-items:flex-start;gap:.25rem}.index-section,.entry{grid-template-columns:1fr;gap:.55rem}.project-list{grid-template-columns:1fr}.index-section{padding-block:1.25rem 1.75rem}.project-entry{gap:.3rem}.project-entry__meta{white-space:normal}}
