/* OmniGuardLabs News — design tokens first, components consume tokens only. */
:root{
  --navy-900:#0B1F3A; --navy-800:#12294a; --navy-700:#1b3a66;
  --ink-900:#0f1720; --ink-700:#334155; --ink-500:#5b6776; --ink-300:#c9d1db; --ink-100:#eef2f6;
  --paper:#ffffff; --paper-2:#f7f9fb;
  --up:#0a7d45; --up-bg:#e6f4ec; --down:#b3261e; --down-bg:#fbeaea; --flat:#5b6776;
  --accent:#1f6feb; --warn:#9a6700; --warn-bg:#fff8c5;
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px; --s7:48px; --s8:64px;
  --r1:4px; --r2:8px; --r3:12px;
  --font-serif:Georgia,"Times New Roman",Times,serif;
  --font-sans:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --fs-0:.8125rem; --fs-1:1rem; --fs-2:1.25rem; --fs-3:1.5625rem; --fs-4:1.953rem; --fs-5:2.441rem;
  --lh:1.55; --measure:70ch; --maxw:1200px;
  --shadow:0 1px 2px rgba(15,23,32,.06),0 1px 1px rgba(15,23,32,.04);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper-2);color:var(--ink-900);font:400 var(--fs-1)/var(--lh) var(--font-sans)}
a{color:var(--accent)} a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
img{max-width:100%;height:auto}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--s4)}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:var(--s2)} .skip:focus{left:var(--s2);z-index:10}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* Header */
.mast{background:var(--navy-900);color:#fff}
.mast .row{display:flex;align-items:center;gap:var(--s4);min-height:60px}
.brand{color:#fff;text-decoration:none;font:700 1.35rem/1 var(--font-serif);letter-spacing:.2px;white-space:nowrap}
.brand b{color:#8fb8ff;font-weight:700}
.search{flex:1;max-width:340px;margin-left:auto}
.search input{width:100%;padding:10px 12px;border-radius:var(--r2);border:1px solid var(--navy-700);background:var(--navy-800);color:#fff;font:inherit}
.search input::placeholder{color:#b8c4d6}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 var(--s4);border-radius:var(--r2);font:600 .95rem/1 var(--font-sans);text-decoration:none;border:1px solid transparent;cursor:pointer}
.btn-primary{background:#fff;color:var(--navy-900)} .btn-primary:hover{background:var(--ink-100)}
.btn-secondary{background:transparent;color:var(--navy-900);border-color:var(--ink-300)}
.btn-quiet{background:transparent;color:var(--accent);padding:0 var(--s2)}
.nav{background:var(--navy-800);overflow-x:auto;scrollbar-width:none}
.nav ul{display:flex;gap:var(--s1);list-style:none;margin:0;padding:0}
.nav a{display:block;color:#dfe7f2;text-decoration:none;padding:12px 12px;font:600 .9rem/1 var(--font-sans);white-space:nowrap;border-bottom:3px solid transparent}
.nav a:hover,.nav a[aria-current=page]{color:#fff;border-bottom-color:#8fb8ff}
.menu-btn{display:none;background:none;border:1px solid var(--navy-700);color:#fff;border-radius:var(--r2);min-height:44px;min-width:44px}

/* Ticker */
.ticker{background:var(--paper);border-bottom:1px solid var(--ink-300)}
.ticker .row{display:flex;gap:var(--s4);align-items:center;min-height:48px;font-size:var(--fs-0)}
.tk-items{display:flex;gap:var(--s5);align-items:center;overflow-x:auto;scrollbar-width:none;flex:1;min-width:0}
.tk{display:flex;align-items:center;gap:var(--s2);white-space:nowrap;text-decoration:none;color:var(--ink-900)}
.tk strong{font-weight:700}
.tk svg{width:56px;height:18px}
.chg.up{color:var(--up)} .chg.down{color:var(--down)} .chg.flat{color:var(--flat)}
.delayed{color:var(--warn);background:var(--warn-bg);padding:2px 8px;border-radius:var(--r1)}
.attrib{flex-shrink:0;color:var(--ink-500);white-space:nowrap;font-size:var(--fs-0)}
.attrib a{color:var(--ink-500)}

/* Layout */
main{padding:var(--s6) 0 var(--s7)}
.grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:var(--s6)}
.card{background:var(--paper);border:1px solid var(--ink-300);border-radius:var(--r3);padding:var(--s5);box-shadow:var(--shadow)}
.card+.card{margin-top:var(--s5)}
h1,h2,h3{font-family:var(--font-serif);line-height:1.2;margin:0 0 var(--s3);color:var(--ink-900)}
h1{font-size:var(--fs-5)} h2{font-size:var(--fs-3)} h3{font-size:var(--fs-2)}
.kicker{font:700 .75rem/1 var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:var(--s2)}
.lede{font-size:var(--fs-2);color:var(--ink-700);max-width:var(--measure)}
.prose{max-width:var(--measure)} .prose p,.prose li{color:var(--ink-700)}
.muted{color:var(--ink-500)} .small{font-size:var(--fs-0)}
.soon{border:1px dashed var(--ink-300);border-radius:var(--r3);padding:var(--s5);background:var(--paper);color:var(--ink-500)}
.badge{display:inline-block;font:700 .7rem/1 var(--font-sans);letter-spacing:.06em;text-transform:uppercase;padding:4px 8px;border-radius:var(--r1)}
.badge.verified{background:var(--up-bg);color:var(--up)} .badge.unconfirmed{background:var(--warn-bg);color:var(--warn)}
.hero{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:var(--s5)}
.hero .lead{min-height:280px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(0deg,rgba(11,31,58,.92),rgba(11,31,58,.55)),var(--navy-700);color:#fff;border-radius:var(--r3);padding:var(--s6)}
.hero .lead h2{color:#fff;font-size:var(--fs-4)} .hero .lead p{color:#dbe4f0}
.list{list-style:none;margin:0;padding:0} .list li{padding:var(--s3) 0;border-bottom:1px solid var(--ink-100)} .list li:last-child{border-bottom:0}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--s4)}
.tile{display:block;text-decoration:none;color:inherit;background:var(--paper);border:1px solid var(--ink-300);border-radius:var(--r3);padding:var(--s4);min-height:44px}
.tile:hover{border-color:var(--accent)} .tile h3{font-size:1.1rem;margin-bottom:var(--s1)} .tile p{margin:0;color:var(--ink-500);font-size:.92rem}
.pill{display:inline-block;font:700 .7rem/1 var(--font-sans);padding:3px 7px;border-radius:99px;background:var(--up-bg);color:var(--up);margin-left:var(--s1)}

/* Tables */
.tbl-wrap{overflow-x:auto;border:1px solid var(--ink-300);border-radius:var(--r3);background:var(--paper)}
table{border-collapse:collapse;width:100%;font-size:.92rem}
th,td{padding:10px 12px;text-align:right;border-bottom:1px solid var(--ink-100);white-space:nowrap}
th:first-child,td:first-child,th.l,td.l{text-align:left}
th{position:sticky;top:0;background:var(--paper-2);font-weight:700;color:var(--ink-700)}
th button{all:unset;cursor:pointer;display:inline-flex;gap:4px;align-items:center;min-height:24px}
th button:focus-visible{outline:3px solid var(--accent)}
tr:hover td{background:var(--paper-2)}
.coin{display:flex;align-items:center;gap:var(--s2)} .coin img{width:20px;height:20px}

/* Forms / tools */
.form{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--s4)}
label{display:block;font-weight:600;font-size:.92rem;margin-bottom:var(--s1);color:var(--ink-700)}
input,select{width:100%;min-height:44px;padding:8px 12px;border:1px solid var(--ink-300);border-radius:var(--r2);font:inherit;background:#fff;color:var(--ink-900)}
.hint{font-size:var(--fs-0);color:var(--ink-500);margin-top:var(--s1)}
.results{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--s4);margin-top:var(--s5)}
.stat{background:var(--paper-2);border:1px solid var(--ink-100);border-radius:var(--r2);padding:var(--s4)}
.stat .v{font:700 1.5rem/1.2 var(--font-sans);color:var(--navy-900)} .stat .k{font-size:var(--fs-0);color:var(--ink-500)}
.assume{margin-top:var(--s5);font-size:var(--fs-0);color:var(--ink-500);border-top:1px solid var(--ink-100);padding-top:var(--s3)}
.toolbar{display:flex;flex-wrap:wrap;gap:var(--s3);align-items:end;margin-bottom:var(--s4)}
.toolbar>div{min-width:160px}
canvas{width:100%;display:block}
.heat{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:4px}
.heat a{display:flex;flex-direction:column;justify-content:center;min-height:80px;border-radius:var(--r2);padding:var(--s2);color:#fff;text-decoration:none;font-size:.85rem}
.heat a b{font-size:1rem}
.seg{display:inline-flex;border:1px solid var(--ink-300);border-radius:var(--r2);overflow:hidden}
.seg button{border:0;background:#fff;min-height:40px;padding:0 12px;cursor:pointer;font:600 .85rem var(--font-sans)}
.seg button[aria-pressed=true]{background:var(--navy-900);color:#fff}

/* Pager */
.pager{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:center;margin-top:var(--s4)}
.pg{min-width:44px;min-height:44px;border:1px solid var(--ink-300);background:var(--paper);border-radius:var(--r2);font:600 .95rem var(--font-sans);cursor:pointer;color:var(--ink-900)}
.pg.cur{background:var(--navy-900);color:#fff;border-color:var(--navy-900)} .pg:disabled{opacity:.4;cursor:default}
.pg-gap{padding:0 4px;color:var(--ink-500)}

/* Footer */
.foot{background:var(--navy-900);color:#c9d6e8;padding:var(--s7) 0 var(--s6);font-size:.92rem}
.foot a{color:#e6eefa}
.foot .cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s5)}
.foot h2{color:#fff;font:700 .85rem/1 var(--font-sans);letter-spacing:.06em;text-transform:uppercase;margin-bottom:var(--s3)}
.foot ul{list-style:none;padding:0;margin:0} .foot li{margin:6px 0}
.own{margin-top:var(--s6);padding-top:var(--s4);border-top:1px solid var(--navy-700);color:#e6eefa}
.disc{color:#9fb0c7;font-size:var(--fs-0);max-width:90ch}

@media (max-width:900px){
  .grid,.hero{grid-template-columns:minmax(0,1fr)}
  .foot .cols{grid-template-columns:repeat(2,minmax(0,1fr))}
  h1{font-size:var(--fs-4)}
}
@media (max-width:640px){
  .search{display:none}
  .mast .btn-primary{padding:0 12px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
