/* Shared styling for guides and articles.
   Tool pages stay self-contained so they keep working offline. */
:root{
  --paper:#EEF2EA; --paper-raised:#F6F8F3; --ink:#1C2B26; --ink-soft:#4A5A52;
  --rule:#C9D6C4; --rule-strong:#A9BCA3;
  --profit:#1E6B45; --profit-soft:#E3EEE6;
  --loss:#B3372B; --loss-soft:#F6E7E4;
  --est:#8A6A1F; --est-soft:#F3ECD9;
}
@media (prefers-color-scheme: dark){
  :root{
    --paper:#141B17; --paper-raised:#1C2620; --ink:#E4ECE4; --ink-soft:#9FB0A5;
    --rule:#2A362E; --rule-strong:#3C4B41;
    --profit:#5BBD8B; --profit-soft:#1D3328;
    --loss:#E1705F; --loss-soft:#3A211D;
    --est:#D6B35C; --est-soft:#332B18;
  }
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--paper);color:var(--ink);
  font-family:Georgia,'Times New Roman',serif;font-size:1.08rem;line-height:1.7}
h1,h2,h3{font-family:'Palatino Linotype','Book Antiqua',Palatino,Georgia,serif;
  line-height:1.2;text-wrap:balance;font-weight:600}
a{color:var(--profit)}
a:focus-visible{outline:3px solid var(--profit);outline-offset:2px}
.wrap{max-width:42rem;margin:0 auto;padding:0 1.25rem}
.wide{max-width:52rem}

/* header + nav */
header{border-bottom:2px solid var(--rule-strong);padding:1rem 0}
header .wrap{display:flex;justify-content:space-between;align-items:baseline;
  gap:1rem;flex-wrap:wrap;max-width:52rem}
.brand{font-family:'Palatino Linotype',Palatino,serif;font-size:1.25rem;font-weight:700;
  color:var(--ink);text-decoration:none}
.brand span{color:var(--profit)}
.nav{display:flex;gap:1.1rem;flex-wrap:wrap;font-family:Consolas,monospace;font-size:.85rem}
.nav a{text-decoration:none}
.nav a:hover{text-decoration:underline}
.nav a[aria-current="page"]{color:var(--ink-soft);cursor:default}

/* article body */
article{padding:2.75rem 0 1rem}
h1{font-size:clamp(1.9rem,4.5vw,2.5rem);margin-bottom:.75rem}
.meta{font-family:Consolas,monospace;font-size:.8rem;letter-spacing:.04em;
  color:var(--ink-soft);margin-bottom:1.5rem}
.meta .dot{opacity:.5;margin:0 .5rem}
.standfirst{font-size:1.2rem;color:var(--ink-soft);margin-bottom:2rem}
h2{font-size:1.5rem;margin:2.5rem 0 .9rem}
h3{font-size:1.15rem;margin:1.75rem 0 .6rem}
p{margin-bottom:1.1rem}
ul,ol{margin:0 0 1.1rem 1.3rem}
li{margin-bottom:.5rem}
strong{color:var(--ink)}
code{font-family:Consolas,monospace;font-size:.92em;background:var(--paper-raised);
  border:1px solid var(--rule);border-radius:2px;padding:0 .25em}

.pullout{background:var(--paper-raised);border-left:4px solid var(--profit);
  padding:1.1rem 1.3rem;margin:1.75rem 0;border-radius:0 4px 4px 0}
.pullout p:last-child{margin-bottom:0}
.pullout .eq{font-family:Consolas,monospace;font-size:1.1rem;font-weight:700;
  color:var(--profit);display:block;margin:.3rem 0}
.warn{border-left-color:var(--est);background:var(--est-soft)}

.tablewrap{overflow-x:auto;margin-bottom:1.3rem}
table{border-collapse:collapse;width:100%;min-width:28rem;
  font-family:Consolas,monospace;font-size:.88rem;font-variant-numeric:tabular-nums}
th,td{padding:.5rem .7rem;border-bottom:1px solid var(--rule);text-align:right}
th:first-child,td:first-child{text-align:left}
th{font-weight:400;font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;
  color:var(--ink-soft);border-bottom:2px solid var(--rule-strong)}
tr.bad td{background:var(--loss-soft)}
.neg{color:var(--loss);font-weight:700}
.pos{color:var(--profit);font-weight:700}
caption{caption-side:bottom;font-family:Georgia,serif;font-size:.9rem;
  color:var(--ink-soft);text-align:left;padding-top:.6rem}

.cta-box{border:2px solid var(--profit);border-radius:4px;padding:1.5rem;
  margin:2.5rem 0 1rem;background:var(--paper-raised)}
.cta-box h2{margin-top:0}
.cta{display:inline-block;font-family:Consolas,monospace;font-weight:700;font-size:.95rem;
  background:var(--profit);color:#fff;padding:.75rem 1.3rem;border-radius:3px;
  text-decoration:none;margin-top:.5rem}
.cta:hover{filter:brightness(1.08)}

/* next / related */
.next{border-top:2px solid var(--rule-strong);margin-top:2.5rem;padding-top:1.5rem}
.next h2{font-size:1.2rem;margin:0 0 1rem}
.next ul{list-style:none;margin:0;display:grid;gap:.9rem}
.next li{margin:0}
.next a{font-weight:700;text-decoration:none}
.next a:hover{text-decoration:underline}
.next .blurb{display:block;font-weight:400;color:var(--ink-soft);font-size:.95rem;
  margin-top:.15rem}

/* guides index */
.guide-list{list-style:none;margin:0;display:grid;gap:1.5rem}
.guide-list li{margin:0;padding-bottom:1.5rem;border-bottom:1px solid var(--rule)}
.guide-list li:last-child{border-bottom:none}
.guide-list h2{font-size:1.3rem;margin:0 0 .3rem}
.guide-list h2 a{text-decoration:none}
.guide-list h2 a:hover{text-decoration:underline}
.guide-list .meta{margin-bottom:.5rem}
.guide-list p{margin-bottom:0;color:var(--ink-soft)}
.kind{display:inline-block;font-family:Consolas,monospace;font-size:.68rem;
  letter-spacing:.07em;text-transform:uppercase;padding:.1rem .45rem;border-radius:2px;
  background:var(--profit-soft);color:var(--profit);vertical-align:.12em;margin-left:.4rem}
.kind.tool{background:var(--est-soft);color:var(--est)}

.section-head{margin:2.5rem 0 1.25rem;padding-bottom:.5rem;border-bottom:2px solid var(--rule-strong)}
.section-head h2{font-size:1.15rem;margin:0;font-family:Consolas,monospace;
  letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font-weight:400}

footer{border-top:2px solid var(--rule-strong);padding:1.75rem 0 3rem;
  font-size:.88rem;color:var(--ink-soft);margin-top:2rem}
footer .wrap{display:flex;gap:1.25rem;flex-wrap:wrap;justify-content:space-between;max-width:52rem}
footer a{color:var(--ink-soft)}
