/* Honestly Abroad v0.2 — design system "The Ledger"
   Grounded in the subject: official gazettes, verification stamps, dated records, azulejo cobalt.
   Tokens:
   --tile   #FBFBF9  glazed-tile white (bg)
   --ink    #10151E  document ink
   --cobalt #1D3FA5  azulejo cobalt (links, structure)
   --stamp  #0B7A55  verification-stamp green (verified states)
   --flag   #B4451F  attention/failed states (used sparingly)
   Type: display "Fraunces" (warm, editorial, un-corporate) · body system sans · data/stamps "IBM Plex Mono"
   Signature: the ledger strip — a mono verification line across the top of every page,
   and every load-bearing number typeset in mono with a dotted verification underline. */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,560;9..144,640&family=IBM+Plex+Mono:wght@400;600&display=swap');
:root{--tile:#FBFBF9;--ink:#10151E;--ink2:#4F5560;--line:#DDDCD4;--cobalt:#1D3FA5;--cobalt-soft:#EEF1FA;
--stamp:#0B7A55;--stamp-soft:#EBF4F0;--flag:#B4451F;--flag-soft:#F9EFEA;--panel:#FFFFFF;
--mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
--disp:'Fraunces',Georgia,serif;
--sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif}
@media(prefers-color-scheme:dark){:root{--tile:#12151B;--ink:#EAEAE4;--ink2:#9BA1AB;--line:#2C313B;
--cobalt:#7C97E8;--cobalt-soft:#1A2133;--stamp:#5CC29C;--stamp-soft:#15251F;--flag:#E08A64;--flag-soft:#2C1E17;--panel:#181C24}}
*{box-sizing:border-box}
body{margin:0;background:var(--tile);color:var(--ink);font:17px/1.65 var(--sans);-webkit-text-size-adjust:100%}
/* signature: the ledger strip */
body::before{content:"LEDGER · 6 PRIMARY SOURCES WATCHED DAILY · EVERY NUMBER CARRIES ITS VERIFICATION DATE";
display:block;font:600 10.5px/2.4 var(--mono);letter-spacing:.14em;text-align:center;
color:var(--tile);background:var(--ink);padding:0 .8rem;white-space:nowrap;overflow:hidden}
.wrap{max-width:44rem;margin:0 auto;padding:1.4rem 1.15rem 4rem}
header.site{background:var(--panel);border-bottom:2px solid var(--ink)}
header.site .wrap{display:flex;align-items:baseline;justify-content:space-between;padding:.85rem 1.15rem;gap:1rem}
.logo{font-family:var(--disp);font-weight:640;font-size:1.15rem;letter-spacing:-.01em;text-decoration:none;color:var(--ink)}
.logo span{color:var(--cobalt)}
nav{white-space:nowrap}
nav a{color:var(--ink2);text-decoration:none;margin-left:.95rem;font:600 .82rem/1 var(--mono);letter-spacing:.02em;text-transform:uppercase}
nav a:hover{color:var(--cobalt)}
h1{font-family:var(--disp);font-weight:640;font-size:2.05rem;line-height:1.16;letter-spacing:-.01em;margin:.7em 0 .45em}
h2{font-family:var(--disp);font-weight:560;font-size:1.42rem;line-height:1.25;margin:1.9em 0 .5em}
h3{font-size:1.04rem;margin:1.5em 0 .4em}
p{margin:0 0 1em}
a{color:var(--cobalt);text-decoration-color:color-mix(in srgb,var(--cobalt) 40%,transparent)}
.lede{font-size:1.11rem;color:var(--ink2)}
/* the verification stamp block — mono, dated, left-rule like a ledger entry */
.stamp{font:400 .84rem/1.55 var(--mono);color:var(--ink);border-left:3px solid var(--stamp);
background:var(--stamp-soft);padding:.7rem .9rem;margin:1.15rem 0;border-radius:0 6px 6px 0}
.stamp b{color:var(--stamp);font-weight:600}
.draft{font:600 .84rem/1.5 var(--mono);background:var(--flag-soft);border-left:3px solid var(--flag);color:var(--flag);padding:.6rem .9rem;margin:1rem 0;border-radius:0 6px 6px 0}
.card{background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:1.25rem 1.3rem;margin:1.2rem 0}
.btn{display:inline-block;background:var(--cobalt);color:#fff !important;text-decoration:none;
padding:.7rem 1.25rem;border-radius:4px;font:700 .95rem/1.2 var(--sans);border:0;cursor:pointer}
.btn:hover{filter:brightness(1.08)}
.btn.sec{background:transparent;color:var(--cobalt) !important;border:2px solid var(--cobalt)}
table{width:100%;border-collapse:collapse;margin:1.2em 0;font-size:.95rem}
th{text-align:left;border-bottom:2px solid var(--ink);padding:.5rem .6rem;font:600 .74rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink2)}
td{padding:.55rem .6rem;border-bottom:1px solid var(--line);vertical-align:top}
td.n{text-align:right;font-family:var(--mono);font-size:.9rem;white-space:nowrap}
label{display:block;font-weight:650;font-size:.92rem;margin:1rem 0 .3rem}
input,select{width:100%;padding:.65rem .7rem;font:400 1rem/1.3 var(--mono);border:1.5px solid var(--line);border-radius:4px;background:var(--tile);color:var(--ink)}
input:focus,select:focus{outline:2px solid var(--cobalt);outline-offset:1px;border-color:var(--cobalt)}
/* results read as ledger entries: mono numbers, stamped edge */
.result{border-left:3px solid var(--stamp);background:var(--panel);border-radius:0 6px 6px 0;padding:1rem 1.15rem;margin:1.3rem 0;font-size:1rem}
.result.bad{border-left-color:var(--flag)}
.result b{font-family:var(--mono);font-size:1.12rem;font-weight:600}
.src{font:400 .82rem/1.6 var(--mono);color:var(--ink2)}
.disc{font-size:.8rem;color:var(--ink2);border-top:1px solid var(--line);margin-top:2rem;padding-top:1rem}
footer.site{border-top:2px solid var(--ink);margin-top:3rem;font-size:.85rem;color:var(--ink2);background:var(--panel)}
footer.site .wrap{padding:1.3rem 1.15rem}
ul{padding-left:1.25rem}li{margin-bottom:.5em}
.grid{display:grid;grid-template-columns:1fr;gap:1rem;margin:1.4rem 0}
@media(min-width:600px){.grid{grid-template-columns:repeat(3,1fr)}}
.tool-tag{display:inline-block;font:600 .68rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--cobalt);margin-bottom:.35rem}
.grid .card{border-top:3px solid var(--cobalt);margin:0}
.grid .card h3{font-family:var(--disp);font-weight:560;font-size:1.08rem}
.grid .card a{text-decoration:none;color:var(--ink)}
.grid .card a:hover{color:var(--cobalt)}
@media(prefers-reduced-motion:no-preference){.card,.result{transition:border-color .15s ease}}
:focus-visible{outline:2px solid var(--cobalt);outline-offset:2px}
