@import url("https://fonts.googleapis.com/css2?family=Geist+Mono:wght@300;400;500&family=Geist:wght@300;400;500&display=swap");*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#fafaf8;--fg:#1a1a1a;--muted:#666;--border:#e0e0da}[data-theme=dark]{--bg:#0f0f0f;--fg:#f5f5f5;--muted:#a3a3a3;--border:#2a2a2a}html{font-size:15px}body{background:var(--bg);color:var(--fg);font-family:Geist,sans-serif;line-height:1.7}p{font-size:.95rem;margin-bottom:14px;font-weight:300;letter-spacing:.01em}a{color:var(--fg);text-decoration:underline;text-underline-offset:2px;-webkit-text-decoration-color:rgba(0,0,0,.3);text-decoration-color:rgba(0,0,0,.3);transition:color .15s,-webkit-text-decoration-color .15s;transition:color .15s,text-decoration-color .15s;transition:color .15s,text-decoration-color .15s,-webkit-text-decoration-color .15s}a:hover{-webkit-text-decoration-color:rgba(0,0,0,.7);text-decoration-color:rgba(0,0,0,.7)}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fadeUp{animation:fadeUp .4s ease both}.scroll-reveal{opacity:0;transform:translateY(12px);transition:opacity .5s ease,transform .5s ease;will-change:opacity,transform}.scroll-reveal.is-visible{opacity:1;transform:translateY(0)}.theme-toggle{position:fixed;top:16px;right:16px;z-index:1000;border:1px solid var(--border);background:var(--bg);color:var(--fg);font-family:Geist Mono,monospace;font-size:.75rem;letter-spacing:.04em;padding:6px 10px;border-radius:999px;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.theme-toggle:hover{border-color:color-mix(in srgb,var(--border) 70%,var(--fg))}.theme-toggle:focus-visible{outline:2px solid color-mix(in srgb,var(--fg) 60%,transparent);outline-offset:2px}.prose h2{font-weight:500;margin:32px 0 10px}.prose h2,.prose p{font-size:.95rem;letter-spacing:.01em}.prose p{margin-bottom:14px;font-weight:300;line-height:1.8}.prose code{font-family:Geist Mono,monospace;font-size:.82em;background:color-mix(in srgb,var(--border) 40%,transparent);padding:1px 5px;border-radius:3px}.prose em{font-style:italic}.prose strong{font-weight:500}.prose ol,.prose ul{margin:0 0 14px;padding-left:1.4em}.prose li{font-size:.95rem;font-weight:300;line-height:1.8;margin-bottom:4px}.prose hr{border:none;border-top:1px solid var(--border);margin:28px 0}.prose img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:10px;border:1px solid var(--border);display:block;margin:20px 0}@media (prefers-reduced-motion:reduce){.scroll-reveal{opacity:1;transform:none;transition:none}}@media (max-width:480px){.container{padding:36px 18px 60px!important}}