/* Shared stylesheet for full-text paper pages. Served standalone, so this
   file carries its own reset; the pages that link it have no skeleton. */
:root{
  --paper:#F6F6F3;
  --ink:#161C24;
  --ink-soft:#4A5560;
  --rule:#D4D6D0;
  --accent:#2F5D7C;
  --font-display:"Archivo","Helvetica Neue",Arial,sans-serif;
  --font-body:"Newsreader",Georgia,"Times New Roman",serif;
  --font-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --paper:#0F141A;
    --ink:#E6E8E6;
    --ink-soft:#9BA6B0;
    --rule:#2A323B;
    --accent:#7FB2CE;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --paper:#0F141A;
  --ink:#E6E8E6;
  --ink-soft:#9BA6B0;
  --rule:#2A323B;
  --accent:#7FB2CE;
  color-scheme:dark;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:1.02rem;
  line-height:1.65;
  padding-left:max(16px, env(safe-area-inset-left, 0px));
  padding-right:max(16px, env(safe-area-inset-right, 0px));
  padding-block:0 4rem;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%}
.wrap{max-width:44rem;margin:0 auto}

.back{
  display:inline-block;margin:2.2rem 0 0;font-family:var(--font-mono);
  font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;
  color:var(--accent);text-decoration:none
}
.back:hover,.back:focus-visible{text-decoration:underline}

header.head{padding-block:1.6rem 1.5rem;border-bottom:2px solid var(--ink)}
.rail{
  font-family:var(--font-mono);font-size:.72rem;letter-spacing:.04em;color:var(--ink-soft);
  display:flex;flex-wrap:wrap;gap:.3rem .9rem;margin:0 0 1rem
}
.rail .tag{color:var(--accent)}
h1{
  font-family:var(--font-display);font-weight:700;font-size:clamp(1.7rem,5.5vw,2.5rem);
  line-height:1.08;letter-spacing:-.02em;margin:0;text-wrap:balance
}
.subtitle{font-size:1.05rem;color:var(--ink-soft);font-style:italic;margin:.55rem 0 0;text-wrap:pretty}
.byline{font-family:var(--font-mono);font-size:.74rem;color:var(--ink-soft);margin:1rem 0 0}
.note{
  margin:1.4rem 0 0;padding-left:1rem;border-left:2px solid var(--accent);
  color:var(--ink-soft);font-size:.95rem
}

h2{
  font-family:var(--font-display);font-weight:700;font-size:1.22rem;letter-spacing:-.01em;
  margin:2.6rem 0 .9rem;text-wrap:balance
}
h3{
  font-family:var(--font-mono);font-size:.74rem;letter-spacing:.13em;text-transform:uppercase;
  font-weight:500;color:var(--accent);margin:2rem 0 .6rem
}
p{margin:0 0 1.05rem}
ol.reforms{margin:.3rem 0 1.05rem;padding-left:1.3rem;display:grid;gap:.7rem}
ol.reforms li{padding-left:.3rem}

.refs{
  margin-top:2.6rem;padding-top:1.4rem;border-top:1px solid var(--rule);
  font-size:.85rem;line-height:1.5;color:var(--ink-soft)
}
.refs h2{font-size:1rem;margin-top:0}
.refs p{margin:0 0 .65rem;padding-left:1.4rem;text-indent:-1.4rem;overflow-wrap:anywhere}

footer.foot{
  margin-top:2.6rem;padding-top:1.4rem;border-top:1px solid var(--rule);
  font-family:var(--font-mono);font-size:.74rem;color:var(--ink-soft)
}
a{color:var(--accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
