:root { color-scheme: light dark; --background:#f5f0e8; --surface:#fffdf9; --text:#1a3a32; --muted:#52645e; --line:#bdc8c1; --focus:#906627; --button:#1a3a32; --button-text:#fffdf9; }
* { box-sizing:border-box; }
html { scroll-padding-top:1.5rem; }
body { margin:0; background:var(--background); color:var(--text); font:1rem/1.75 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; overflow-wrap:anywhere; }
.site-header,main,footer { width:min(100% - 3rem,48rem); margin-inline:auto; }
.site-header { padding-block:2rem 1.5rem; border-bottom:1px solid var(--line); }
.brand { display:block; font-size:1.65rem; font-weight:700; letter-spacing:-.045em; }
nav { display:flex; flex-wrap:wrap; gap:.35rem 1.5rem; margin-top:.8rem; }
nav a { padding-block:.35rem; font-size:.95rem; }
nav a[aria-current] { font-weight:700; }
main { padding-block:2.25rem 1rem; }
h1 { font:500 clamp(2rem,5vw,2.7rem)/1.2 Georgia,"Times New Roman",serif; letter-spacing:-.02em; max-width:20ch; margin:0 0 1.5rem; }
h2 { font-size:1.25rem; line-height:1.4; margin:2.5rem 0 .9rem; }
p,ul { margin:0 0 1.15rem; }
ul { padding-left:1.4rem; }
li+li { margin-top:.35rem; }
a { color:inherit; text-underline-offset:.2em; text-decoration-thickness:1px; }
a:hover { text-decoration-thickness:2px; }
a:focus-visible { outline:3px solid var(--focus); outline-offset:4px; border-radius:2px; }
.action { margin:1.5rem 0; }
.action a { display:inline-block; padding:.9rem 1.2rem; border:2px solid transparent; border-radius:.7rem; background:var(--button); color:var(--button-text); text-decoration:none; font-weight:650; }
.action a:hover { text-decoration:underline; }
blockquote { background:var(--surface); border-left:3px solid var(--line); margin:1.25rem 0 1.5rem; padding:1.25rem; }
blockquote p:last-child { margin-bottom:0; }
footer { color:var(--muted); padding-block:1.5rem 2.5rem; border-top:1px solid var(--line); font-size:.875rem; }
footer a { display:block; margin-top:.75rem; }
.skip { position:absolute; left:1rem; top:-10rem; padding:.7rem 1rem; background:var(--surface); z-index:1; }
.skip:focus { top:1rem; }
@media (max-width:360px) { .site-header,main,footer { width:calc(100% - 2rem); } }
@media (prefers-color-scheme:dark) { :root { --background:#132e27; --surface:#1a3a32; --text:#f5f0e8; --muted:#c3d0c7; --line:#607b6e; --button:#e1ebdd; --button-text:#16372c; --focus:#e4bb72; } }
@media (forced-colors:active) { .action a { border-color:LinkText; } }
@media print { .site-header,footer,.skip { display:none; } body { color:#000; background:#fff; } main { width:100%; padding:0; } h2 { break-after:avoid; } .action a,blockquote { color:#000; background:none; } }
