:root{--primary-bg:#eceef2;--secondary-bg:#fff;--surface-2:#f2f4f7;--text-color:#454b59;--heading-color:#10131a;--muted-color:#6b7282;--accent-color:#0b6bcb;--accent-fill:#0b6bcb;--accent-fill-hover:#0959a8;--accent-soft:#dcebfa;--on-accent:#fff;--header-bg:#fff;--border-color:#e3e6ec;--shadow-color:#10131a0f;--hero-bg:#eceef2;--avatar-bg:#dcebfa;--code-bg:#f6f8fb;--code-border:#e3e6ec;--font-mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--container-width:76rem;--container-padding:clamp(16px, 4vw, 40px);--gap:1rem;--radius:1.5rem;--radius-inner:1rem;--pad:clamp(1.25rem, 3vw, 2.25rem)}[data-theme=dark]{--primary-bg:#0c0e13;--secondary-bg:#171a22;--surface-2:#20242e;--text-color:#c3c8d4;--heading-color:#f3f5f9;--muted-color:#8a92a2;--accent-color:#6db3f7;--accent-fill:#6db3f7;--accent-fill-hover:#8cc4fa;--accent-soft:#1a2c40;--on-accent:#06203a;--header-bg:#171a22;--border-color:#2a2f3b;--shadow-color:#0006;--hero-bg:#0c0e13;--avatar-bg:#cfe2f6;--code-bg:#12151c;--code-border:#2a2f3b}:root .astro-code,:root .astro-code span{color:var(--shiki-light);font-style:var(--shiki-light-font-style);font-weight:var(--shiki-light-font-weight);text-decoration:var(--shiki-light-text-decoration)}[data-theme=dark] .astro-code,[data-theme=dark] .astro-code span{color:var(--shiki-dark);font-style:var(--shiki-dark-font-style);font-weight:var(--shiki-dark-font-weight);text-decoration:var(--shiki-dark-text-decoration)}pre.astro-code{border:1px solid var(--code-border);font-family:var(--font-mono);-moz-tab-size:2;tab-size:2;border-radius:10px;padding:1rem 1.15rem;font-size:.85rem;line-height:1.6;overflow-x:auto;background-color:var(--code-bg)!important}pre.astro-code code{font-family:inherit;font-size:inherit;background:0 0;border:none;padding:0}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--text-color);background-color:var(--primary-bg);-webkit-font-smoothing:antialiased;overflow-wrap:break-word;font-family:Manrope,system-ui,-apple-system,Segoe UI,sans-serif;font-size:1rem;line-height:1.7}.container{width:100%;max-width:var(--container-width);padding:0 var(--container-padding);margin:auto}h1,h2,h3{color:var(--heading-color);letter-spacing:-.02em;text-wrap:balance;margin-bottom:.75em;font-weight:800;line-height:1.2}h1{letter-spacing:-.03em;font-size:clamp(1.9rem,6vw,2.8rem);line-height:1.1}h2{font-size:1.5rem}h3{font-size:1.2rem;font-weight:700}p{margin-bottom:1em}img{max-width:100%}a{color:var(--accent-color);text-decoration:none;transition:color .2s}a:hover{color:var(--heading-color)}:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.site-header{padding-top:1rem}.site-header-content{background-color:var(--header-bg);border-radius:999px;align-items:center;gap:1rem;padding:.4rem .4rem .4rem .5rem;display:flex}.header-brand{align-items:center;gap:.65rem;display:flex}.header-avatar{object-fit:cover;border-radius:50%;flex:none;width:2.25rem;height:2.25rem;display:block}.header-site-title{color:var(--heading-color);white-space:nowrap;font-weight:700}.main-nav{align-items:center;gap:.15rem;margin-left:auto;display:flex}.nav-link{color:var(--muted-color);border-radius:999px;padding:.45rem .8rem;font-size:.9rem;font-weight:600;transition:background-color .2s,color .2s}.nav-link:hover{color:var(--heading-color)}.nav-link-active,.nav-link-active:hover{background-color:var(--heading-color);color:var(--primary-bg)}.section{padding-top:var(--gap)}.content-panel{background-color:var(--secondary-bg);border-radius:var(--radius);padding:var(--pad)}.page-header{margin-bottom:2rem}.page-header h1{margin-bottom:.5rem}.page-header p{color:var(--muted-color);margin-bottom:0}.footer{text-align:center;color:var(--muted-color);padding:2.5rem 0;font-size:.875rem}.footer p{margin-bottom:0}.pill-links{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;display:flex}.pill{background-color:var(--surface-2);color:var(--heading-color);border-radius:999px;padding:.6rem 1.1rem;font-size:.92rem;font-weight:700;line-height:1.4;transition:background-color .2s,color .2s;display:inline-block}.pill:hover{background-color:var(--accent-soft);color:var(--heading-color)}.pill-primary{background-color:var(--accent-fill);color:var(--on-accent)}.pill-primary:hover{background-color:var(--accent-fill-hover);color:var(--on-accent)}.theme-toggle{background:var(--surface-2);cursor:pointer;width:2.25rem;height:2.25rem;color:var(--text-color);border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;transition:background-color .2s,color .2s;display:flex}.theme-toggle:hover{background-color:var(--accent-soft);color:var(--accent-color)}.theme-toggle-icon{justify-content:center;align-items:center;display:flex}.theme-toggle-icon svg{width:18px;height:18px}.blog-meta{color:var(--muted-color);flex-wrap:wrap;align-items:center;gap:.5rem 1rem;font-size:.9rem;display:flex}.blog-tags{flex-wrap:wrap;gap:.35rem;display:flex}.tag{background-color:var(--surface-2);color:var(--muted-color);border-radius:999px;padding:.1rem .55rem;font-size:.75rem;font-weight:600}.back-link{color:var(--muted-color);font-size:.9rem;font-weight:600}.back-link:hover{color:var(--accent-color)}.post-rows{gap:.25rem;list-style:none;display:grid}.post-row a{color:inherit;border-radius:.75rem;grid-template-columns:6.5rem minmax(0,1fr);gap:.25rem 1rem;margin-inline:-.8rem;padding:.7rem .8rem;transition:background-color .2s;display:grid}.post-row a:hover{background-color:var(--surface-2)}.post-row time{color:var(--muted-color);font-variant-numeric:tabular-nums;padding-top:.15em;font-size:.875rem}.post-row-title{color:var(--heading-color);font-size:1.05rem;font-weight:700;line-height:1.35;transition:color .2s;display:block}.post-row a:hover .post-row-title{color:var(--accent-color)}.post-row-excerpt{color:var(--muted-color);margin-top:.25rem;font-size:.95rem;line-height:1.6;display:block}.post-row .blog-tags{margin-top:.5rem}[data-theme=dark] div[style*="background: #f8f9fa"],[data-theme=dark] div[style*="background:#f8f9fa"]{background-color:var(--secondary-bg)!important;border-color:var(--border-color)!important}[data-theme=dark] div[style*="background: #f8f9fa"] a,[data-theme=dark] div[style*="background:#f8f9fa"] a{color:var(--accent-color)!important}[data-theme=dark] div[style*="background: #f8f9fa"] p,[data-theme=dark] div[style*="background:#f8f9fa"] p{color:var(--text-color)!important}@media (width<=560px){.header-site-title{display:none}.site-header-content{gap:.25rem}.nav-link{padding:.45rem .6rem;font-size:.85rem}.post-row a{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
