:root{--color-brand-red:#C1432E;--color-brand-green:#64A724;--color-brand-blue:#0768A9;--color-bg:#FDFBF7;--color-bg-alt:#F5F0E8;--color-surface:#FFFFFF;--color-surface-alt:#E8E0D4;--color-border:#D4C9B9;--color-text-primary:#1F1C18;--color-text-secondary:#3D3830;--color-text-muted:#78705F;--color-text-faint:#A69985;--color-link:#0768A9;--color-link-hover:#055285}@media(prefers-color-scheme:dark){:root{--color-bg:#1F1C18;--color-bg-alt:#2D2A24;--color-surface:#3D3830;--color-surface-alt:#4A453D;--color-border:#5C564C;--color-text-primary:#F5F0E8;--color-text-secondary:#D4C9B9;--color-text-muted:#A69985;--color-text-faint:#78705F;--color-link:#5A9FD4;--color-link-hover:#7AB8E8}}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px}body{font-family:-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,sans-serif;font-size:1rem;line-height:1.6;color:var(--color-text-primary);background-color:var(--color-bg);transition:background-color .3s ease,color .3s ease}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;margin-bottom:.75rem;color:var(--color-text-primary)}h1{font-size:2.25rem;font-weight:700}h2{font-size:1.75rem;padding-bottom:.5rem;border-bottom:2px solid var(--color-border);margin-bottom:1.5rem}h3{font-size:1.375rem}p{margin-bottom:1.25rem;color:var(--color-text-secondary)}a{color:var(--color-link);text-decoration:underline;transition:color .2s ease}a:hover{color:var(--color-link-hover)}small{font-size:.875rem;color:var(--color-text-muted)}.container{max-width:800px;margin:0 auto;padding:2rem 1.5rem}header{background-color:var(--color-surface);border-bottom:1px solid var(--color-border);padding:1.5rem 0;margin-bottom:3rem;transition:background-color .3s ease}.site-header{display:flex;justify-content:space-between;align-items:center}.site-title{font-size:1.5rem;font-weight:700;color:var(--color-brand-red);text-decoration:none;margin:0}.site-title:hover{color:var(--color-brand-red);opacity:.8}nav a{color:var(--color-text-secondary);text-decoration:none;margin-left:1.5rem;font-size:.9375rem}nav a:hover{color:var(--color-brand-red)}footer{border-top:1px solid var(--color-border);padding:2rem 0;margin-top:4rem;text-align:center;color:var(--color-text-muted);font-size:.875rem}article header{background:0 0;border:none;padding:0;margin-bottom:2rem}article .post-title{font-size:2.25rem;margin-bottom:.75rem;color:var(--color-text-primary)}article .post-meta{font-size:1rem;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.post-content{font-size:1.0625rem;line-height:1.7}.post-separator{margin:4rem 0;border:none;border-top:1px solid var(--color-border)}.post-separator:last-child{display:none}.post-content{font-size:1.0625rem;line-height:1.7}.post-content h2{margin-top:2.5rem;margin-bottom:1rem}.post-content h3{margin-top:2rem;margin-bottom:.75rem}.post-content ul,.post-content ol{margin-left:1.5rem;margin-bottom:1.25rem}.post-content li{margin-bottom:.5rem}.post-content code{background-color:var(--color-surface-alt);padding:.2rem .4rem;border-radius:3px;font-size:.9em;font-family:monaco,courier new,monospace}.post-content pre{background-color:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:6px;padding:1rem;overflow-x:auto;margin-bottom:1.25rem}.post-content pre code{background:0 0;padding:0}.post-content blockquote{border-left:4px solid var(--color-brand-red);padding-left:1.25rem;margin:1.5rem 0;color:var(--color-text-muted);font-style:italic}.btn{display:inline-block;padding:.75rem 1.5rem;border-radius:6px;font-weight:500;text-decoration:none;transition:all .2s ease;border:none;cursor:pointer}.btn-primary{background-color:var(--color-brand-red);color:#fff}.btn-primary:hover{background-color:#9a3625;color:#fff}.btn-secondary{background-color:var(--color-brand-green);color:#fff}.btn-secondary:hover{background-color:#4e821c;color:#fff}.text-muted{color:var(--color-text-muted)}.text-center{text-align:center}.mt-4{margin-top:2rem}.mb-4{margin-bottom:2rem}@media(max-width:768px){.container{padding:1.5rem 1rem}h1{font-size:1.875rem}article .post-title{font-size:1.875rem}.post-item{padding:1.25rem}nav a{margin-left:1rem;font-size:.875rem}}