.site-header[data-astro-cid-3ef6ksr2]{border-bottom:1px solid var(--border);padding:20px 40px;background:var(--bg);position:sticky;top:0;z-index:100;backdrop-filter:blur(12px);background:#f8f7f4d9}nav[data-astro-cid-3ef6ksr2]{max-width:var(--content-width);margin:0 auto;display:flex;justify-content:space-between;align-items:center}.logo[data-astro-cid-3ef6ksr2]{font-family:var(--sans);font-size:1.25rem;font-weight:700;color:var(--text);text-decoration:none;letter-spacing:-.02em}.logo[data-astro-cid-3ef6ksr2] span[data-astro-cid-3ef6ksr2]{color:var(--text-secondary)}.nav-links[data-astro-cid-3ef6ksr2]{display:flex;gap:32px}.nav-links[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{font-size:.875rem;font-weight:500;color:var(--text-dim);text-decoration:none;transition:color .2s var(--ease-out);letter-spacing:.01em}.nav-links[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover,.nav-links[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2].active{color:var(--text)}@media(max-width:768px){.site-header[data-astro-cid-3ef6ksr2]{padding:16px 20px}.nav-links[data-astro-cid-3ef6ksr2]{gap:20px}.nav-links[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{font-size:.8rem}}.site-footer[data-astro-cid-sz7xmlte]{border-top:1px solid var(--border);padding:28px 40px}.footer-inner[data-astro-cid-sz7xmlte]{max-width:var(--content-width);margin:0 auto;display:flex;justify-content:space-between;align-items:center}.footer-name[data-astro-cid-sz7xmlte]{font-size:.8rem;color:var(--text-dim);font-weight:500}.footer-links[data-astro-cid-sz7xmlte]{display:flex;gap:24px}.footer-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{font-size:.8rem;color:var(--text-dim);text-decoration:none;font-weight:500;transition:color .2s var(--ease-out)}.footer-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--text)}@media(max-width:768px){.site-footer[data-astro-cid-sz7xmlte]{padding:20px}}:root{--bg: #F8F7F4;--bg-card: #FFFFFF;--border: #E8E5DF;--border-light: #F0EDE8;--text: #1A1A1A;--text-secondary: #6B6B6B;--text-dim: #A0A0A0;--accent: #c8ff00;--accent-dark: #111;--serif: "Instrument Serif", Georgia, serif;--sans: "Plus Jakarta Sans", system-ui, sans-serif;--content-width: 1100px;--ease-out: cubic-bezier(.16, 1, .3, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--sans);font-weight:400;min-height:100vh;display:flex;flex-direction:column}main{max-width:var(--content-width);margin:0 auto;padding:0 40px 48px;flex:1;width:100%}a{color:var(--text);text-decoration:none;transition:color .2s var(--ease-out)}a:hover{color:var(--text-secondary)}.section-header{margin-top:56px;margin-bottom:0;padding-bottom:12px}.section-title{font-size:.8rem;font-weight:600;color:var(--text);letter-spacing:.08em;text-transform:uppercase}.section-subtitle{font-size:.875rem;color:var(--text-secondary);margin-top:4px}.projects{display:flex;flex-direction:column}.prose h2{font-family:var(--serif);font-size:1.5rem;font-weight:400;color:var(--text);margin-top:48px;margin-bottom:20px}.prose h3{font-size:1rem;font-weight:600;color:var(--text);margin-top:32px;margin-bottom:14px}.prose p{font-size:1rem;line-height:1.75;color:var(--text-secondary);margin-bottom:20px}.prose ul,.prose ol{font-size:1rem;line-height:1.75;color:var(--text-secondary);margin-bottom:20px;padding-left:24px}.prose li{margin-bottom:8px}.prose strong{color:var(--text);font-weight:600}.prose code{font-size:.875rem;background:#f0ede8;padding:2px 8px;border-radius:4px;color:var(--text)}.prose table{width:100%;font-size:.875rem;border-collapse:collapse;margin-bottom:24px}.prose th,.prose td{border:1px solid var(--border);padding:10px 14px;text-align:left}.prose th{color:var(--text);font-weight:600;background:var(--border-light)}.prose blockquote{border-left:3px solid var(--accent);padding-left:20px;margin:24px 0;color:var(--text-secondary);font-size:1rem;font-style:italic}@media(max-width:768px){main{padding:0 20px 32px}}
