:root{
  --bg:#fffdfa; --fg:#1b1b1b; --muted:#5c5c5c; --line:#e3ded6;
  --accent:#1e2c41; --accent-soft:#eef1f6; --code-bg:#f6f3ee;
  --max:44rem;
}
@media (prefers-color-scheme:dark){
  :root{ --bg:#141719; --fg:#ececec; --muted:#a0a0a0; --line:#2c3033;
         --accent:#c9d6ea; --accent-soft:#1c2230; --code-bg:#1a1d20; }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--bg); color:var(--fg);
  font:17px/1.7 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
.wrap{max-width:var(--max); margin:0 auto; padding:0 1.15rem}

header.site{border-bottom:1px solid var(--line)}
header.site .wrap{display:flex; align-items:baseline; gap:1rem; padding-top:1.1rem; padding-bottom:1.1rem; flex-wrap:wrap}
header.site a.brand{font-weight:700; letter-spacing:-.01em; text-decoration:none; color:var(--fg); font-size:1.05rem}
header.site nav{margin-left:auto; display:flex; gap:1rem; font-size:.9rem}
header.site nav a{color:var(--muted); text-decoration:none}
header.site nav a:hover{color:var(--fg)}

main{padding:2.2rem 0 3rem}
h1{font-size:1.85rem; line-height:1.28; letter-spacing:-.02em; margin:0 0 .6rem}
h2{font-size:1.22rem; line-height:1.35; margin:2.4rem 0 .7rem; letter-spacing:-.01em}
h3{font-size:1.02rem; margin:1.7rem 0 .5rem}
p{margin:0 0 1.05rem}
a{color:var(--fg); text-underline-offset:.18em; text-decoration-thickness:1px}
ul,ol{margin:0 0 1.05rem; padding-left:1.25rem}
li{margin:.3rem 0}
strong{font-weight:650}

.meta{color:var(--muted); font-size:.86rem; margin:0 0 1.6rem}

.summary{
  background:var(--accent-soft); border:1px solid var(--line);
  border-radius:10px; padding:1rem 1.1rem; margin:0 0 2rem;
}
.summary p{margin:0; font-size:1rem}
.summary .label{
  display:block; font-size:.72rem; letter-spacing:.09em; text-transform:uppercase;
  color:var(--muted); margin-bottom:.45rem;
}

.facts{
  border:1px solid var(--line); border-radius:10px; overflow-x:auto; margin:0 0 1.4rem;
}
table{border-collapse:collapse; width:100%; font-size:.94rem}
th,td{text-align:left; padding:.6rem .8rem; border-bottom:1px solid var(--line)}
th{font-weight:650; white-space:nowrap}
tr:last-child td{border-bottom:0}

pre{
  background:var(--code-bg); border:1px solid var(--line); border-radius:10px;
  padding:.9rem 1rem; overflow-x:auto; font-size:.88rem; line-height:1.6; margin:0 0 1.4rem;
}
code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}

.callout{
  border-left:3px solid var(--accent); padding:.15rem 0 .15rem 1rem; margin:0 0 1.4rem;
}
.callout p:last-child{margin-bottom:0}

.sources{margin-top:3rem; border-top:1px solid var(--line); padding-top:1.3rem}
.sources h2{font-size:.95rem; margin-top:0}
.sources ul{font-size:.87rem; color:var(--muted); padding-left:1.1rem}
.sources a{color:var(--muted)}

.cards{list-style:none; padding:0; margin:1.5rem 0 0}
.cards li{border-top:1px solid var(--line); padding:1.1rem 0; margin:0}
.cards a{text-decoration:none; font-weight:600; display:block; margin-bottom:.25rem}
.cards a:hover{text-decoration:underline}
.cards span{color:var(--muted); font-size:.9rem}

footer.site{border-top:1px solid var(--line); color:var(--muted); font-size:.85rem}
footer.site .wrap{padding-top:1.4rem; padding-bottom:2.2rem}
footer.site a{color:var(--muted)}

@media (max-width:480px){
  body{font-size:16px}
  h1{font-size:1.55rem}
}
