/* FasterGEO shared tokens — THE EVIDENCE FILE (paper & ink, proof-red) */
@import url('https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;0,6..72,600;1,6..72,400&family=IBM+Plex+Mono:wght@400;500;600&display=swap');
:root{
  --bg:#F6F3EC;--surface:#FCFAF5;--well:#EFEBE0;
  --line:#DAD3C2;--line-strong:#BFB6A0;
  --tx:#1C1A15;--dim:#4C4739;--faint:#8A8371;
  --acc:#B23A26;--acc-2:#B23A26;--acc-soft:#F3E4DE;
  --red:#B23A26;--red-soft:#F3E4DE;
  --green:#3A6B42;--green-soft:#E7EEE2;--amber:#9A6A17;
  --serif:"Newsreader",Georgia,serif;
  --monoF:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,monospace;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--tx);-webkit-font-smoothing:antialiased;
  font:16.5px/1.75 var(--serif)}
.mono{font-family:var(--monoF)}
.num{font-variant-numeric:tabular-nums}
a{color:var(--tx);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:3px}
a:hover{text-decoration-color:var(--red)}
header{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:24px;
  padding:0 max(24px,calc(50vw - 520px));height:56px;
  background:var(--bg);border-bottom:3px double var(--line-strong)}
.logo{font-family:var(--monoF);font-size:14px;font-weight:600;letter-spacing:.14em;color:var(--tx);text-decoration:none}
.logo b{color:var(--red)}
header nav{margin-left:auto;display:flex;gap:20px;font-family:var(--monoF);font-size:12.5px}
header nav a{color:var(--dim);text-decoration:none}header nav a:hover{color:var(--red)}
main{max-width:820px;margin:0 auto;padding:52px 24px 80px}
.crumb{font-family:var(--monoF);font-size:12px;color:var(--faint);margin-bottom:20px;letter-spacing:.04em}
.crumb a{color:var(--faint);text-decoration:none}
h1{font-family:var(--serif);font-size:clamp(30px,4vw,42px);font-weight:500;letter-spacing:-.015em;line-height:1.12;margin:0 0 14px}
h1 em{font-style:italic;font-weight:500;color:var(--red)}
.lead{color:var(--dim);font-size:17.5px;max-width:640px;margin:0 0 30px}
.toolform{display:flex;max-width:560px;border:1px solid var(--tx);background:var(--surface)}
.toolform input{flex:1;background:transparent;border:0;
  padding:14px 16px;font:14px var(--monoF);color:var(--tx);outline:none;min-width:0}
.toolform input::placeholder{color:var(--faint)}
.toolform button{background:var(--tx);color:var(--bg);border:none;
  padding:0 24px;font:600 12.5px var(--monoF);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.toolform button:hover{background:var(--red)}
.toolform button:disabled{opacity:.65;cursor:wait}
.result{margin-top:18px}
.card{background:var(--surface);border:1px solid var(--line-strong);padding:20px 22px}
.err{color:var(--red);margin-top:14px;font-family:var(--monoF);font-size:13px}
h2{font-family:var(--monoF);font-size:11.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
  color:var(--red);margin:60px 0 18px}
.prose{color:var(--dim);font-size:16px;max-width:680px}
.prose b{color:var(--tx)}
.faq details{border-bottom:1px solid var(--line);padding:14px 2px}
.faq summary{font-weight:500;font-size:17px;cursor:pointer;list-style:none;color:var(--tx);font-family:var(--serif)}
.faq summary::after{content:"+";float:right;color:var(--faint);font-family:var(--monoF)}
.faq details[open] summary::after{content:"−"}
.faq p{color:var(--dim);font-size:15.5px;margin:10px 0 2px}
footer{max-width:820px;margin:0 auto;padding:24px;border-top:3px double var(--line-strong);
  color:var(--faint);font-family:var(--monoF);font-size:12px;display:flex;gap:16px;flex-wrap:wrap}
footer a{margin-left:auto;color:var(--dim);text-decoration:none}
footer a:hover{color:var(--red)}
.badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--monoF);font-size:11px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--green);
  border:1px solid var(--green);padding:3px 10px;margin-bottom:16px}
pre.gen{background:#16140F;color:#D8D2C4;border:1px solid var(--tx);
  padding:18px;font:13px/1.7 var(--monoF);overflow:auto;white-space:pre-wrap}
.copybtn{margin-top:10px;background:var(--surface);border:1px solid var(--line-strong);
  color:var(--dim);padding:8px 16px;font:12.5px var(--monoF);cursor:pointer}
.copybtn:hover{color:var(--red);border-color:var(--red)}
.bot-row{display:flex;align-items:center;gap:10px;padding:9px 2px;border-bottom:1px solid var(--line);
  font-size:14px;font-family:var(--monoF)}
.bot-row:last-child{border-bottom:none}
.bot-row .mono{flex:1}
.ok{color:var(--green)}.bad{color:var(--red)}.dim{color:var(--faint)}
.toolgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0;margin-top:30px;
  border:1px solid var(--line-strong);background:var(--surface)}
.toolgrid a{display:block;border-right:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:20px;color:var(--tx);text-decoration:none}
.toolgrid a:hover b{color:var(--red)}
.toolgrid b{display:block;font-family:var(--serif);font-size:17px;font-weight:500;margin-bottom:6px}
.toolgrid span{font-size:14px;color:var(--dim)}
.toolgrid .soon{opacity:.55}

/* masthead CTA + evidence-file shared patterns */
header .btn{background:var(--tx);color:var(--bg);padding:7px 14px;border:1px solid var(--tx);text-decoration:none}
header .btn:hover{background:var(--red);border-color:var(--red);color:var(--bg)}
.toollist{margin-top:26px;border-top:1px solid var(--line-strong)}
.toollist a,.toollist .row{display:grid;grid-template-columns:230px 1fr auto;gap:20px;align-items:baseline;
  padding:18px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--tx)}
.toollist a:hover .t{color:var(--red)}
.toollist .t{font:500 18px var(--serif)}
.toollist .d{color:var(--dim);font-size:15px}
.toollist .arr{font-family:var(--monoF);color:var(--faint)}
.toollist .soon{opacity:.55}
.steps{border-top:1px solid var(--line-strong);margin-top:8px}
.steps .step{display:grid;grid-template-columns:150px 1fr;gap:24px;padding:22px 0;border-bottom:1px solid var(--line)}
.steps .no{font:500 15px var(--monoF);color:var(--red);letter-spacing:.04em;padding-top:3px}
.steps h3{font:500 19px var(--serif);margin:0 0 6px}
.steps p{margin:0;color:var(--dim);font-size:15.5px;max-width:70ch}
.steps .mono{font-size:13px}
.steps .exit{display:block;margin-top:8px;font:12px var(--monoF);letter-spacing:.06em;color:var(--tx)}
.steps .exit b{color:var(--green);font-weight:600}
@media (max-width:760px){.toollist a,.toollist .row{grid-template-columns:1fr;gap:4px}
.steps .step{grid-template-columns:1fr;gap:6px}}
