@import url("https://fonts.googleapis.com/css2?family=Newsreader:ital,wght@0,400;0,500;1,400&family=Plus+Jakarta+Sans:wght@300;400;500;600;700&family=Azeret+Mono:wght@400;500&display=swap");:root{--font-display:"Newsreader",serif;--font-body:"Plus Jakarta Sans",sans-serif;--font-mono:"Azeret Mono",monospace;--color-bg:#f6f1ea;--color-surface:#fefcf8;--color-text:#1e1b16;--color-muted:#7a7164;--color-accent:#2b5078;--color-accent-soft:#7a9bb5;--color-warm:#b5652b;--color-signal:#c4382f;--color-border:#d6ccbc;--color-terracotta:#d4a574}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::placeholder{color:var(--color-muted);font-family:var(--font-body);font-weight:400;font-size:1rem}::selection{background:rgba(43,80,120,.2)}.prose{font-family:var(--font-body);font-size:1.125rem;font-weight:400;line-height:1.8;color:var(--color-text);letter-spacing:.005em}.prose p{margin-bottom:1.75rem}.prose h2{font-size:1.65rem;font-weight:400;letter-spacing:-.01em;line-height:1.3;margin-top:3.5rem;margin-bottom:1.25rem}.prose h2,.prose h3{font-family:var(--font-display);color:var(--color-text)}.prose h3{font-size:1.3rem;font-weight:500;line-height:1.35;margin-top:2.5rem;margin-bottom:1rem}.prose strong{font-weight:600;color:var(--color-text)}.prose em{font-style:italic;color:var(--color-text)}.prose blockquote{border-left:3px solid var(--color-accent);padding-left:1.5rem;margin:2.5rem 0;font-family:var(--font-display);font-style:italic;font-size:1.2rem;line-height:1.6;color:var(--color-muted)}.prose ol,.prose ul{margin-bottom:1.75rem;padding-left:1.5rem}.prose li{margin-bottom:.5rem}.prose a{color:var(--color-accent);text-decoration:underline;text-underline-offset:3px;-webkit-text-decoration-color:var(--color-border);text-decoration-color:var(--color-border);transition:-webkit-text-decoration-color .2s ease;transition:text-decoration-color .2s ease;transition:text-decoration-color .2s ease,-webkit-text-decoration-color .2s ease}.prose a:hover{-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent)}.prose hr{border:none;height:1px;background-color:var(--color-border);margin:3rem 0}.prose code{font-family:var(--font-mono);font-size:.9em;background:rgba(43,80,120,.06);padding:.15em .4em;border-radius:3px}@keyframes logoEntry{0%{opacity:0;transform:scale(.85) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes slowSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}