:root{
  --ink:#1a1712; --paper:#f6f2e9; --panel:#ede7d8; --line:#d8d0ba;
  --muted:#6f6650; --accent:#7a4b12; --accent-ink:#5e3909;
}
*{box-sizing:border-box;}
::selection{ background:var(--accent); color:var(--paper); }
html{ -webkit-text-size-adjust:100%; }
body{ margin:0; background:var(--paper); color:var(--ink);
  border-top:8px solid var(--ink);
  font-family:Georgia,'Times New Roman',serif; font-size:17px; line-height:1.62; }
main{ max-width:48rem; margin:0 auto; padding:2.6rem 1.25rem 4rem; }
.kicker{ font-family:Helvetica,Arial,sans-serif; text-transform:uppercase;
  letter-spacing:.22em; font-size:.78rem; font-weight:bold; color:var(--accent-ink);
  border-bottom:1px solid var(--line); padding-bottom:.7rem; margin:0 0 1.6rem; }
h1{ font-size:2.65rem; font-weight:normal; line-height:1.12; letter-spacing:-.01em; margin:.2rem 0 1rem; }
h2{ font-size:1.4rem; font-weight:normal; line-height:1.25; margin:2.6rem 0 .8rem;
  border-bottom:2px solid var(--ink); padding-bottom:.35rem; }
h3{ font-size:1.08rem; margin:1.6rem 0 .5rem; }
.lede{ font-size:1.13rem; line-height:1.6; }
p{ margin:.8rem 0; }
pre{ background:#171410; color:#e9e3d0; border:1px solid #171410; padding:1rem 1.1rem;
  overflow-x:auto; font-size:.82rem; line-height:1.55; }
code{ font-family:ui-monospace,Menlo,Consolas,monospace; font-size:.86em; }
table{ border-collapse:collapse; width:100%; margin:1.1rem 0 1.4rem; font-size:.96rem; }
th,td{ text-align:left; vertical-align:top; padding:.55rem .65rem; border-bottom:1px solid var(--line); }
th{ font-family:Helvetica,Arial,sans-serif; font-size:.76rem; text-transform:uppercase;
  letter-spacing:.07em; background:var(--ink); color:var(--paper); border-bottom:none; }
tr:hover td{ background:#efe9da; }
td.n, th.n{ text-align:right; font-variant-numeric:tabular-nums; }
.mono{ font-family:ui-monospace,Menlo,Consolas,monospace; font-size:.82rem; word-break:break-all; }
ol li, ul li{ margin:.45rem 0; }
.foot{ margin-top:3.2rem; font-size:.88rem; color:var(--muted);
  border-top:2px solid var(--ink); padding-top:1rem; }
a{ color:var(--accent-ink); text-decoration-thickness:1px; text-underline-offset:2px; }
a:hover{ color:var(--accent); }
a:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }
.slot{ margin:1.4rem 0; }
.slot .label{ font-family:Helvetica,Arial,sans-serif; font-size:.72rem; text-transform:uppercase;
  letter-spacing:.09em; color:var(--muted); margin-bottom:.35rem; }
.columns{ display:flex; gap:1.5rem; align-items:flex-start; flex-wrap:wrap; }
.columns > div{ min-width:0; }
.housebox{ border:1px solid var(--ink); background:#fffdf6; padding:1.05rem 1.15rem; }
.housebox a{ font-size:1.12rem; }
@media (max-width:640px){
  body{ font-size:16px; }
  main{ padding:2rem 1rem 3rem; }
  h1{ font-size:2.05rem; }
  th,td{ padding:.5rem .45rem; }
}
@media (prefers-color-scheme: dark){
  :root{ --ink:#ece6d6; --paper:#161310; --panel:#201b15; --line:#3b352a;
    --muted:#a79c85; --accent:#d29a4a; --accent-ink:#e3b264; }
  body{ border-top-color:var(--accent); }
  th{ background:#ece6d6; color:#161310; }
  tr:hover td{ background:#1e1a14; }
  pre{ background:#0d0b08; border-color:#3b352a; }
  .housebox{ background:#1d1913; border-color:var(--line); }
}
