*,:after,:before{box-sizing:border-box}:root{--color-paper:#faf9f5;--color-surface:#ffffff;--color-ink:#1f2421;--color-muted:#62685f;--color-line:#e4e2da;--color-accent:#2f6f4f;--color-accent-ink:#ffffff;--color-accent-hover:#265e43;--color-danger:#9b2c2c;--color-accent-subtle:rgba(47,111,79,0.1);--shadow-card:0 1px 4px rgba(0,0,0,0.06);--color-sidebar:#eeece7;--color-sidebar-text:#1f2421;--color-sidebar-muted:#62685f;--color-sidebar-hover:rgba(0,0,0,0.05);--color-sidebar-active:rgba(47,111,79,0.12);--color-sidebar-active-text:#2f6f4f;--sidebar-width:240px;--space-1:0.25rem;--space-2:0.5rem;--space-3:1rem;--space-4:1.5rem;--space-5:2rem;--space-6:3rem;--font-body:ui-serif,Georgia,"Times New Roman",serif;--font-ui:system-ui,sans-serif;--text-sm:0.8rem;--text-base:1rem;--text-lg:1.25rem;--text-xl:1.6rem;--line-height:1.5;--radius:4px;--measure:42rem;color-scheme:light}[data-theme=dark]{--color-paper:#1a1d1b;--color-surface:#222825;--color-ink:#e2e6e1;--color-muted:#7a8a7e;--color-line:#2d3530;--color-accent:#3d8f65;--color-accent-ink:#ffffff;--color-accent-hover:#4aa077;--color-danger:#e05252;--color-accent-subtle:rgba(61,143,101,0.18);--shadow-card:none;--color-sidebar:#151918;--color-sidebar-text:#e2e6e1;--color-sidebar-muted:#7a8a7e;--color-sidebar-hover:rgba(255,255,255,0.06);--color-sidebar-active:rgba(61,143,101,0.25);--color-sidebar-active-text:#5ab882;color-scheme:dark}@media (min-width:768px) and (max-width:1023px){:root{--sidebar-width:200px;--space-4:1.25rem}}@media (max-width:767px){:root{--space-4:1rem;--space-5:1.5rem;--space-6:2rem}}body,html{height:100%}body{background:var(--color-paper);font-family:var(--font-body);line-height:var(--line-height)}body,h1,h2,h3,h4,h5,h6{margin:0;color:var(--color-ink)}h1,h2,h3,h4,h5,h6{font-family:var(--font-ui);font-weight:700;line-height:1.2}p{margin:0}a{color:var(--color-accent)}code{font-family:ui-monospace,Cascadia Code,Fira Code,monospace;font-size:.875em;background:var(--color-line);padding:.1em .35em;border-radius:var(--radius)}img,video{max-width:100%;display:block}