*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;overflow-x:hidden}:root{--bg-primary:#171412;--bg-secondary:#231f1b;--text-primary:#f5f5f4;--text-secondary:#a8a29e;--text-tertiary:#78716c;--accent:#d4af37;--accent-hover:#e8c547;--border:#2d2926;--code-bg:#1e1a17}[data-theme=daylight]{--bg-primary:#faf7f2;--bg-secondary:#f0ebe3;--text-primary:#1c1917;--text-secondary:#57534e;--text-tertiary:#a8a29e;--accent:#c9a227;--accent-hover:#a68520;--border:#e7e5e4;--code-bg:#f5f2ed}::selection{background-color:rgba(212,175,55,.2)}body{font-family:DM Sans,system-ui,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .4s ease,color .4s ease}a{color:inherit;text-decoration:none}button{font-family:inherit}.post{max-width:720px;margin:0 auto;padding:96px 24px 120px;animation:fadeIn .6s ease-out}.post__top{margin-bottom:32px}.post__back{display:inline-flex;align-items:center;gap:10px;font-family:DM Sans,system-ui,sans-serif;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary);transition:color .2s ease}.post__back-dot{width:6px;height:6px;border-radius:999px;background-color:var(--accent);display:inline-block}.post__back:hover{color:var(--accent)}.post__header{margin-bottom:48px}.post__kicker{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:12px}.post__title{font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(32px,6vw,52px);font-weight:500;letter-spacing:-.02em;margin-bottom:16px}.post__meta{font-size:13px;color:var(--text-tertiary)}.post__body{font-family:Cormorant Garamond,Georgia,serif;font-size:19px;line-height:1.9;color:var(--text-secondary)}.post__body p+p{margin-top:1.5em}.post__image{margin:2em 0}.post__image img{display:block;width:100%;height:auto;border-radius:12px;border:1px solid var(--border);background:var(--bg-secondary)}.post__subhead{font-family:Cormorant Garamond,Georgia,serif;font-size:22px;font-weight:500;letter-spacing:-.01em;margin-top:2.5em;margin-bottom:.8em;color:var(--text-primary)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDelayed{0%,30%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}@keyframes stagger{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}