:root{color-scheme:light dark;--paper:light-dark(#f9f9f7,#12161d);--white:light-dark(#fff,#1a202a);--ink:light-dark(#151c29,#eceff3);--secondary:light-dark(#555f6b,#a7b0bb);--subtle:light-dark(#66707a,#8b95a1);--accent:light-dark(#165bba,#6ea8f0);--accent-dark:light-dark(#104487,#9cc4f6);--hairline:light-dark(#dce0e2,#2b323d);--soft:light-dark(#f0f3f5,#1f2631);--focus:light-dark(#6a99d9,#8fb7ee);--serif:"Newsreader", Georgia, "Times New Roman", serif;--sans:"DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;--bg:var(--paper);--bg-elevated:var(--white);--bg-card:var(--white);--bg-card-hover:var(--soft);--border:var(--hairline);--text:var(--ink);--text-muted:var(--secondary);--text-soft:var(--secondary);--heading:var(--ink);--accent-purple:var(--accent);--on-accent:light-dark(#fff,#12161d);--surface-1:var(--soft);--surface-2:light-dark(#e6eaed,#2b323d);--line:var(--hairline);--line-strong:light-dark(#c4cacf,#3a4350);--chip-bg:var(--soft);--code-bg:var(--soft);--radius:10px}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem}body{font-family:var(--sans);-webkit-font-smoothing:antialiased;background-color:var(--paper);color:var(--ink);flex-direction:column;min-height:100vh;margin:0;line-height:1.65;display:flex}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid var(--focus);outline-offset:3px}::selection{background:color-mix(in srgb, var(--accent) 28%, transparent)}.container{width:100%;max-width:1120px;margin:0 auto;padding:0 34px}header.site-header{z-index:50;backdrop-filter:blur(16px);background:color-mix(in srgb, var(--paper) 96%, transparent);border-bottom:1px solid var(--hairline);position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;gap:28px;min-height:68px;display:flex}.brand{white-space:nowrap;letter-spacing:-.65px;align-items:center;gap:11px;font-size:20px;font-weight:800;display:inline-flex}.brand-mark{border:5px solid var(--accent);border-radius:50%;width:19px;height:19px;display:block}nav.nav-links{align-self:stretch;align-items:stretch;gap:29px;display:flex}nav.nav-links a{min-height:44px;color:var(--secondary);align-items:center;font-size:13px;font-weight:700;transition:color .2s;display:flex;position:relative}nav.nav-links a:hover,nav.nav-links a.active{color:var(--ink)}nav.nav-links a.active:after{content:"";background:var(--accent);width:100%;height:2px;position:absolute;bottom:-1px;left:0}main.page-main{flex:1;padding:3rem 0 5rem}footer.site-footer{border-top:1px solid var(--hairline);color:var(--subtle);padding:25px 0 35px;font-size:12px}.footer-inner{justify-content:space-between;align-items:center;gap:25px;display:flex}.footer-inner b{color:var(--ink)}.footer-links{gap:6px;display:flex}.footer-links a{padding:10px 8px;transition:color .2s}.footer-links a:hover{color:var(--accent)}@media (width<=910px){.container{padding:0 27px}}@media (width<=560px){.container{padding:0 20px}.nav-inner{gap:9px;min-height:56px}.brand{gap:8px;font-size:16px}.brand-mark{border-width:4px;width:15px;height:15px}nav.nav-links{gap:14px}nav.nav-links a{font-size:12px}.footer-inner{line-height:1.75;display:block}.footer-links{flex-wrap:wrap;margin:5px 0 0 -8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}.section-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.5rem;display:flex}.section-title{letter-spacing:-.02em;margin:0;font-size:1.6rem;font-weight:700}.section-link{color:var(--accent);font-size:.92rem;font-weight:500}.section-link:hover{text-decoration:underline}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem;display:grid}.articles-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.25rem;display:grid}.prose h2{color:var(--heading);margin-top:2rem;margin-bottom:.75rem;font-size:1.45rem}.prose h3{color:var(--heading);margin-top:1.5rem;margin-bottom:.5rem;font-size:1.15rem}.prose p,.prose li{color:var(--text-soft);font-size:1.05rem}.prose code{background:var(--code-bg);color:var(--accent);border-radius:6px;padding:.15rem .4rem;font-size:.9em}
