:root{
  --bg:#F1E9DC;
  --bg-elevated:#FBF6EC;
  --bg-sunken:#E6DAC5;
  --ink:#201C1A;
  --ink-muted:#6B625A;
  --accent:#C1272D;
  --accent-ink:#FFFFFF;
  --brass:#9C7A3F;
  --brass-bright:#B08D57;
  --line:#D9CBB5;
  --success:#4B6B4E;
  --warn:#A9722A;
  --stamp:#8a3530;
  --shadow: 0 1px 0 rgba(32,28,26,0.06), 0 8px 20px -12px rgba(32,28,26,0.35);
}
@media (prefers-color-scheme: dark){
  :root{
    --bg:#1B1613;
    --bg-elevated:#241E1A;
    --bg-sunken:#161210;
    --ink:#F1E9DC;
    --ink-muted:#AFA18F;
    --accent:#E5564A;
    --accent-ink:#1B1613;
    --brass:#D4AF6A;
    --brass-bright:#E4C387;
    --line:#3A322C;
    --success:#84B182;
    --warn:#DDAA63;
    --stamp:#d9c9bb;
    --shadow: 0 1px 0 rgba(0,0,0,0.4), 0 10px 24px -12px rgba(0,0,0,0.6);
  }
}
:root[data-theme="dark"]{
  --bg:#1B1613; --bg-elevated:#241E1A; --bg-sunken:#161210;
  --ink:#F1E9DC; --ink-muted:#AFA18F; --accent:#E5564A; --accent-ink:#1B1613;
  --brass:#D4AF6A; --brass-bright:#E4C387; --line:#3A322C;
  --success:#84B182; --warn:#DDAA63; --stamp:#d9c9bb;
  --shadow: 0 1px 0 rgba(0,0,0,0.4), 0 10px 24px -12px rgba(0,0,0,0.6);
}
:root[data-theme="light"]{
  --bg:#F1E9DC; --bg-elevated:#FBF6EC; --bg-sunken:#E6DAC5;
  --ink:#201C1A; --ink-muted:#6B625A; --accent:#C1272D; --accent-ink:#FFFFFF;
  --brass:#9C7A3F; --brass-bright:#B08D57; --line:#D9CBB5;
  --success:#4B6B4E; --warn:#A9722A; --stamp:#8a3530;
  --shadow: 0 1px 0 rgba(32,28,26,0.06), 0 8px 20px -12px rgba(32,28,26,0.35);
}

*{ box-sizing:border-box; }
html,body{ margin:0; min-height:100%; background:var(--bg); }

.fhtc{
  position:relative; z-index:1;
  background:transparent;
  color:var(--ink);
  font-family:"Optima","Segoe UI","Century Gothic",system-ui,-apple-system,sans-serif;
  line-height:1.5;
  min-height:100%;
}
.fhtc h1,.fhtc h2,.fhtc h3{
  font-family:Rockwell,"Roboto Slab","Noto Serif",Georgia,serif;
  text-wrap:balance;
  margin:0;
}
.num{ font-family:Bahnschrift,"Cascadia Mono",Consolas,"Roboto Mono",monospace; font-variant-numeric:tabular-nums; }
