@import"https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=JetBrains+Mono:wght@400;500&family=Satoshi:wght@400;500;700&display=swap";:root{--color-bg: #F6F1EB;--color-bg-alt: #EDE6DC;--color-surface: #FFFFFF;--color-ink: #1A1815;--color-ink-soft: #5C564D;--color-ink-muted: #9C9488;--color-accent: #C45D3E;--color-accent-hover: #A84B30;--color-rule: #D4CCC0;--color-code-bg: #2B2926;--font-display: "Instrument Serif", Georgia, serif;--font-body: "Satoshi", -apple-system, sans-serif;--font-mono: "JetBrains Mono", monospace;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 2rem;--space-xl: 3rem;--space-2xl: 5rem;--space-3xl: 8rem;--max-width: 72rem;--content-width: 42rem}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:18px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-weight:400;color:var(--color-ink);background-color:var(--color-bg);line-height:1.7}::selection{background:var(--color-accent);color:#fff}h1,h2,h3{font-family:var(--font-display);font-weight:400;line-height:1.15;letter-spacing:-.01em}h1{font-size:clamp(2.4rem,5vw,3.6rem)}h2{font-size:clamp(1.6rem,3vw,2.2rem);margin-top:var(--space-2xl);margin-bottom:var(--space-md)}h3{font-size:1.3rem;margin-top:var(--space-xl);margin-bottom:var(--space-sm)}p{margin-bottom:var(--space-md);max-width:65ch}a{color:var(--color-accent);text-decoration:none;transition:color .2s ease}a:hover{color:var(--color-accent-hover)}code{font-family:var(--font-mono);font-size:.85em;background:var(--color-bg-alt);padding:.15em .4em;border-radius:3px}pre{background:var(--color-code-bg);color:#e8e0d6;padding:var(--space-lg);border-radius:6px;overflow-x:auto;margin:var(--space-lg) 0;line-height:1.5}pre code{background:none;padding:0;font-size:.8rem}blockquote{border-left:3px solid var(--color-accent);padding-left:var(--space-lg);margin:var(--space-lg) 0;font-family:var(--font-display);font-style:italic;font-size:1.2rem;color:var(--color-ink-soft)}hr{border:none;height:1px;background:var(--color-rule);margin:var(--space-xl) 0}img{max-width:100%;border-radius:4px}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-lg)}.content-width{max-width:var(--content-width)}.site-header{padding:var(--space-lg) 0;border-bottom:1px solid var(--color-rule)}.site-header .container{display:flex;justify-content:space-between;align-items:baseline}.site-title{font-family:var(--font-display);font-size:1.5rem;color:var(--color-ink);text-decoration:none;letter-spacing:-.02em}.site-title:hover{color:var(--color-accent)}.site-nav{display:flex;gap:var(--space-lg);list-style:none}.site-nav a{font-size:.85rem;font-weight:500;color:var(--color-ink-soft);text-transform:uppercase;letter-spacing:.08em;text-decoration:none;transition:color .2s ease}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--color-ink)}.hero{padding:var(--space-3xl) 0 var(--space-2xl);position:relative}.hero-eyebrow{font-family:var(--font-mono);font-size:.75rem;color:var(--color-accent);text-transform:uppercase;letter-spacing:.15em;margin-bottom:var(--space-md);display:block}.hero h1{margin-bottom:var(--space-lg)}.hero h1 em{font-style:italic;color:var(--color-accent)}.hero-description{font-size:1.15rem;color:var(--color-ink-soft);max-width:52ch;line-height:1.8}.section{padding:var(--space-2xl) 0}.section-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--space-xl);border-bottom:1px solid var(--color-rule);padding-bottom:var(--space-md)}.section-title{font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;color:var(--color-ink-muted)}.section-link{font-size:.8rem;font-weight:500}.post-list{display:grid;gap:var(--space-xl)}.post-card{display:grid;grid-template-columns:auto 1fr;gap:var(--space-lg);align-items:start}.post-date{font-family:var(--font-mono);font-size:.75rem;color:var(--color-ink-muted);padding-top:.35rem;min-width:5.5rem}.post-card h3{font-family:var(--font-display);font-size:1.5rem;margin:0 0 var(--space-xs)}.post-card h3 a{color:var(--color-ink);text-decoration:none;transition:color .2s ease}.post-card h3 a:hover{color:var(--color-accent)}.post-excerpt{color:var(--color-ink-soft);font-size:.95rem;line-height:1.7}.post-tags{display:flex;gap:var(--space-sm);margin-top:var(--space-sm)}.tag{font-family:var(--font-mono);font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-ink-muted);background:var(--color-bg-alt);padding:.2em .6em;border-radius:3px}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(20rem,1fr));gap:var(--space-lg)}.project-card{border:1px solid var(--color-rule);padding:var(--space-lg);background:var(--color-surface);transition:border-color .2s ease,transform .2s ease}.project-card:hover{border-color:var(--color-accent);transform:translateY(-2px)}.project-card h3{font-family:var(--font-display);font-size:1.3rem;margin:0 0 var(--space-sm)}.project-card p{font-size:.9rem;color:var(--color-ink-soft)}.project-tech{margin-top:var(--space-md);display:flex;flex-wrap:wrap;gap:var(--space-xs)}.post-header{padding:var(--space-3xl) 0 var(--space-xl)}.post-header h1{margin-bottom:var(--space-md)}.post-meta{font-family:var(--font-mono);font-size:.75rem;color:var(--color-ink-muted);letter-spacing:.05em;display:flex;gap:var(--space-lg)}.post-body{max-width:var(--content-width);padding-bottom:var(--space-3xl)}.post-body p{margin-bottom:var(--space-lg)}.post-body h2{margin-top:var(--space-2xl)}.site-footer{border-top:1px solid var(--color-rule);padding:var(--space-xl) 0;margin-top:var(--space-2xl)}.footer-inner{display:flex;justify-content:space-between;align-items:baseline;font-size:.8rem;color:var(--color-ink-muted)}.footer-links{display:flex;gap:var(--space-lg);list-style:none}.footer-links a{color:var(--color-ink-muted);font-size:.8rem;transition:color .2s ease}.footer-links a:hover{color:var(--color-ink)}@media (max-width: 640px){html{font-size:16px}.site-header .container{flex-direction:column;gap:var(--space-md)}.post-card{grid-template-columns:1fr}.post-date{padding-top:0}.footer-inner{flex-direction:column;gap:var(--space-md)}}
