*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#e8edf5;--surf:#fff;--card:#fff;--bdr:#c8d8ea;--bdr2:#a8bcd4;
  --txt:#0a1a30;--txt2:#1e3a5a;--txt3:#5070a0;
  --navy:#0b2650;--navy2:#0f2e5c;
  --gold:#b8900a;--goldb:#d4a020;--goldd:#7a5c08;
  --red:#b91c1c;--redb:#dc2626;--grn:#15803d;--grnb:#16a34a;
  --warn:#c2410c;--warnb:#ea580c;
  --pan:#0d1f40;--pan2:#142850;--panb:#2a4880;
}
body{background:var(--bg);color:var(--txt);font-family:'Inter',sans-serif;min-height:100vh;overflow-x:hidden}

/* LOADER */
#loader{position:fixed;inset:0;background:var(--navy);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999;transition:opacity .6s}
#loader.gone{opacity:0;pointer-events:none}
.ld-f{font-size:72px;margin-bottom:22px;animation:fw 2s ease-in-out infinite}
@keyframes fw{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
.ld-t{font-size:12px;letter-spacing:5px;color:var(--goldb);text-transform:uppercase;margin-bottom:26px;font-family:'Barlow Semi Condensed',sans-serif}
.ld-b{width:260px;height:3px;background:rgba(255,255,255,.1);border-radius:2px;overflow:hidden}
.ld-bf{height:100%;background:var(--goldb);width:0;animation:lf 2.4s ease forwards}
@keyframes lf{to{width:100%}}

/* HEADER */
header{background:var(--navy);position:relative;z-index:100;box-shadow:0 2px 18px rgba(0,0,0,.22)}
.hb{height:6px;display:flex}
.hb span{flex:1}.hb span:nth-child(odd){background:var(--red)}.hb span:nth-child(even){background:#1a3a70}
.hi{display:flex;align-items:center;justify-content:space-between;padding:13px 36px;border-bottom:2px solid var(--goldd)}
.logo{display:flex;align-items:center;gap:14px}
.eagle{font-size:44px}
.hn h1{font-size:26px;font-weight:700;color:var(--goldb);letter-spacing:3px;text-transform:uppercase;line-height:1;font-family:'Barlow Semi Condensed',sans-serif}
.hn p{font-size:9px;color:rgba(255,255,255,.38);letter-spacing:2px;text-transform:uppercase;font-family:'Roboto Mono',monospace;margin-top:3px}
.hr{text-align:right}
.lpill{display:inline-flex;align-items:center;gap:6px;background:rgba(220,38,38,.15);border:1px solid rgba(220,38,38,.38);border-radius:3px;padding:3px 10px;font-size:9px;color:#f87171;letter-spacing:2px;text-transform:uppercase;margin-bottom:6px;font-family:'Barlow Semi Condensed',sans-serif}
.ldot{width:6px;height:6px;border-radius:50%;background:#f87171;animation:pulse 1.4s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.1}}
.hdate{font-size:10px;color:rgba(255,255,255,.38);font-family:'Roboto Mono',monospace}
.apib{background:#fff8dc;border-bottom:2px solid #e8c020;padding:7px 36px;font-size:10px;color:#5a3800;font-family:'Roboto Mono',monospace;display:none;align-items:center;gap:8px}
.apib.show{display:flex}

/* TABS */
.tabs{background:var(--navy);border-bottom:2px solid var(--goldd);display:flex;padding:0 36px;position:sticky;top:0;z-index:90}
.tb{background:none;border:none;color:rgba(255,255,255,.42);font-family:'Barlow Semi Condensed',sans-serif;font-size:12px;font-weight:600;letter-spacing:2px;text-transform:uppercase;padding:12px 20px;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;transition:color .18s,border-color .18s}
.tb:hover{color:rgba(255,255,255,.8)}.tb.on{color:var(--goldb);border-bottom-color:var(--goldb)}

/* PANES */
.pane{display:none}.pane.on{display:block}
.inner{padding:26px 36px;max-width:1360px;margin:0 auto}
.sl{font-size:10px;letter-spacing:4px;color:var(--goldd);text-transform:uppercase;margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--bdr);font-weight:700;font-family:'Barlow Semi Condensed',sans-serif}

/* HERO */
.hero-box{position:relative;background:linear-gradient(160deg,rgba(11,38,80,.93) 0%,rgba(9,24,56,.90) 100%),url('flag.jpg') center/cover no-repeat;border-radius:8px;padding:30px 30px 26px;margin-bottom:22px;text-align:center;overflow:hidden;box-shadow:0 6px 28px rgba(0,0,0,.22)}
.hero-box::before{content:'★ ★ ★ ★ ★ ★ ★';position:absolute;top:14px;right:28px;color:rgba(255,255,255,.12);font-size:11px;letter-spacing:12px}
.hero-box::after{content:'';position:absolute;top:0;left:0;bottom:0;width:5px;background:var(--red);border-radius:8px 0 0 8px}
.heye{font-size:10px;letter-spacing:3px;color:rgba(255,255,255,.38);text-transform:uppercase;margin-bottom:10px;font-family:'Roboto Mono',monospace}
.htitle{font-size:46px;color:#fff;letter-spacing:6px;text-transform:uppercase;font-weight:700;margin-bottom:26px;font-family:'Barlow Semi Condensed',sans-serif;line-height:1;text-shadow:0 2px 12px rgba(0,0,0,.3)}
.htitle span{color:var(--goldb)}

/* ODOMETER COUNTER */
.fcrow{display:flex;align-items:center;justify-content:center;gap:3px;flex-wrap:nowrap;margin-bottom:24px}
.fcdollar{font-family:'Barlow Semi Condensed',sans-serif;font-size:52px;color:var(--goldb);font-weight:700;padding-right:6px;line-height:1;flex-shrink:0;align-self:center;text-shadow:0 0 20px rgba(212,160,32,.3)}
.fccomma{font-family:'Roboto Mono',monospace;font-size:30px;color:rgba(255,255,255,.25);flex-shrink:0;padding:0 1px;user-select:none;line-height:1;align-self:flex-end;padding-bottom:8px}
.od-slot{width:52px;height:72px;overflow:hidden;position:relative;background:var(--pan);border:1px solid var(--panb);border-radius:5px;flex-shrink:0;box-shadow:0 2px 12px rgba(0,0,0,.4),inset 0 1px 4px rgba(0,0,0,.3)}
.od-slot::after{content:'';position:absolute;top:50%;left:0;right:0;height:1px;background:rgba(255,255,255,.08);z-index:5;pointer-events:none}
.od-slot::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25) 0%,transparent 25%,transparent 75%,rgba(0,0,0,.25) 100%);z-index:4;pointer-events:none}
/* Last few digits slightly dimmer to indicate fast-change */
.od-slot.fast{opacity:.75}
.od-strip{position:absolute;top:0;left:0;right:0;will-change:transform}
.od-strip .od-n{height:72px;display:flex;align-items:center;justify-content:center;font-family:'Roboto Mono',monospace;font-size:48px;color:#fff;line-height:1;font-weight:500}
.hsub{display:flex;justify-content:center;gap:36px;flex-wrap:wrap}
.hsi{text-align:center}
.hsl{font-size:9px;color:rgba(255,255,255,.38);letter-spacing:2px;text-transform:uppercase;font-family:'Roboto Mono',monospace}
.hsv{font-size:18px;color:#fc8080;font-family:'Roboto Mono',monospace;margin-top:4px;font-weight:500}

/* METRIC CARDS */
.mgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin-bottom:20px}
.mc{background:var(--surf);border:1px solid var(--bdr);border-radius:7px;padding:16px;position:relative;overflow:hidden;box-shadow:0 1px 5px rgba(0,0,0,.07)}
.mc::before{content:'';position:absolute;top:0;left:0;right:0;height:3px}
.mc.pos::before{background:var(--grnb)}.mc.neg::before{background:var(--redb)}.mc.neu::before{background:var(--goldb)}.mc.wrn::before{background:var(--warnb)}
.mc-l{font-size:9px;letter-spacing:2px;color:var(--txt3);text-transform:uppercase;margin-bottom:8px;font-family:'Barlow Semi Condensed',sans-serif;font-weight:600}
.mc-v{font-family:'Roboto Mono',monospace;font-size:14px;color:var(--txt);line-height:1.3;font-weight:600;word-break:break-all}
.mc-v.pos{color:var(--grn)}.mc-v.neg{color:var(--redb)}.mc-v.wrn{color:var(--warnb)}
.mc-s{font-size:9px;color:var(--txt3);margin-top:5px;font-family:'Roboto Mono',monospace}
.mc-bgt{font-size:9px;color:var(--txt3);margin-top:7px;padding-top:7px;border-top:1px solid var(--bdr);font-family:'Roboto Mono',monospace;line-height:1.7}
.mc-bgt strong{color:var(--txt2);font-size:9px}
.bprog{height:4px;background:var(--bg);border-radius:2px;margin:4px 0;overflow:hidden}
.bpfill{height:100%;border-radius:2px}

/* FISCAL SUSTAINABILITY SECTION */
.fsmeter{background:var(--surf);border:1px solid var(--bdr);border-left:4px solid var(--redb);border-radius:7px;padding:22px 24px;margin-bottom:20px;box-shadow:0 1px 5px rgba(0,0,0,.07)}
.fsmhead{font-size:15px;letter-spacing:3px;color:var(--redb);text-transform:uppercase;font-weight:700;margin-bottom:4px;font-family:'Barlow Semi Condensed',sans-serif}
.fsmsub{font-size:11px;color:var(--txt3);font-family:'Roboto Mono',monospace;line-height:1.7;margin-bottom:18px}
/* Household analogy */
.hh-box{background:#f0f6ff;border:1px solid #b0c8e8;border-radius:6px;padding:16px 20px;margin-bottom:18px;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.hh-title{font-size:12px;font-weight:700;color:var(--navy);letter-spacing:2px;text-transform:uppercase;margin-bottom:12px;grid-column:1/-1;font-family:'Barlow Semi Condensed',sans-serif}
.hh-item{display:flex;flex-direction:column;gap:4px}
.hh-lbl{font-size:9px;color:var(--txt3);letter-spacing:2px;text-transform:uppercase;font-family:'Barlow Semi Condensed',sans-serif;font-weight:600}
.hh-val{font-family:'Roboto Mono',monospace;font-size:18px;font-weight:600}
.hh-val.ok{color:var(--grn)}.hh-val.bad{color:var(--redb)}.hh-val.warn{color:var(--warnb)}
.hh-note{font-size:10px;color:var(--txt3);font-family:'Inter',sans-serif;margin-top:2px}
/* 4-zone warning meter */
.zone-row{display:flex;height:36px;border-radius:5px;overflow:hidden;margin-bottom:8px;border:1px solid var(--bdr)}
.zone{display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;font-family:'Barlow Semi Condensed',sans-serif;position:relative}
.zone-1{flex:25;background:#d1fae5;color:#065f46}
.zone-2{flex:25;background:#fef3c7;color:#92400e}
.zone-3{flex:25;background:#fee2e2;color:#991b1b}
.zone-4{flex:25;background:#7f1d1d;color:#fecaca}
.zone-marker{position:absolute;top:-8px;left:50%;transform:translateX(-50%);font-size:18px;z-index:10}
.zone-label-row{display:flex;margin-bottom:16px}
.zone-lbl{flex:25;text-align:center;font-size:9px;color:var(--txt3);font-family:'Roboto Mono',monospace;padding:2px 0}
/* Key facts row */
.keyfacts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}
.kf{background:var(--bg);border:1px solid var(--bdr);border-radius:5px;padding:12px;text-align:center}
.kf-icon{font-size:20px;margin-bottom:6px}
.kf-val{font-family:'Roboto Mono',monospace;font-size:16px;font-weight:600;margin-bottom:4px}
.kf-val.red{color:var(--redb)}.kf-val.warn{color:var(--warnb)}.kf-val.grn{color:var(--grn)}
.kf-lbl{font-size:9px;color:var(--txt3);font-family:'Inter',sans-serif;line-height:1.5}
/* Milestones */
.milestones{border-top:1px solid var(--bdr);padding-top:14px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.ms{text-align:center;background:var(--bg);border-radius:5px;padding:10px 8px;border:1px solid var(--bdr)}
.ms-yr{font-family:'Roboto Mono',monospace;font-size:22px;font-weight:600;margin-bottom:3px}
.ms-l{font-size:9px;color:var(--txt3);letter-spacing:1px;text-transform:uppercase;font-family:'Barlow Semi Condensed',sans-serif;font-weight:600}

/* TARIFF — FIX: block display, smaller font, no word-break */
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}
.tc{background:var(--surf);border:1px solid var(--bdr);border-radius:7px;padding:20px 18px;text-align:center;box-shadow:0 1px 5px rgba(0,0,0,.07);display:flex;flex-direction:column;align-items:center;gap:0}
.tc.hi{border-color:var(--goldd);background:#fffdf0}
.tc-yr{display:block;font-size:9px;letter-spacing:2px;color:var(--txt3);text-transform:uppercase;margin-bottom:12px;font-family:'Barlow Semi Condensed',sans-serif;font-weight:600;width:100%}
.tc-v{display:block;font-family:'Roboto Mono',monospace;font-size:15px;color:var(--txt);margin-bottom:10px;font-weight:600;width:100%;white-space:normal;word-break:normal;overflow-wrap:anywhere}
.tc.hi .tc-v{color:var(--gold)}
.tc-p{display:block;font-size:10px;color:var(--txt3);font-family:'Inter',sans-serif;line-height:1.6;width:100%}

/* OIL */
.ogrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}
.oc{background:var(--surf);border:1px solid var(--bdr);border-radius:7px;padding:16px;box-shadow:0 1px 5px rgba(0,0,0,.07)}
.oi{font-size:22px;margin-bottom:8px}
.ol{font-size:9px;color:var(--txt3);letter-spacing:2px;text-transform:uppercase;margin-bottom:8px;font-family:'Barlow Semi Condensed',sans-serif;font-weight:600}
.ov{font-family:'Roboto Mono',monospace;font-size:17px;color:var(--txt);margin-bottom:5px;font-weight:600}
.os{font-size:10px;color:var(--txt3);font-family:'Inter',sans-serif;line-height:1.7}
.owrn{font-size:10px;color:var(--warnb);margin-top:5px;font-family:'Inter',sans-serif;font-weight:600}
.src-row{display:flex;align-items:center;gap:6px;margin-top:5px}
.src-l{font-size:9px;color:var(--txt3);font-family:'Roboto Mono',monospace;width:54px;flex-shrink:0}
.src-bg{flex:1;height:7px;background:var(--bg);border-radius:4px;overflow:hidden;border:1px solid var(--bdr)}
.src-f{height:100%;border-radius:3px;background:var(--goldb)}
.src-p{font-size:9px;color:var(--txt2);width:32px;text-align:right;font-family:'Roboto Mono',monospace;font-weight:600}

/* AD SLOTS */
.adzone{border-top:1px solid var(--bdr);padding-top:18px;margin-top:8px;display:flex;flex-direction:column;gap:8px;align-items:center}
.ad{background:#f8fafc;border:1px dashed var(--bdr2);border-radius:4px;display:flex;align-items:center;justify-content:center;color:var(--txt3);font-size:9px;letter-spacing:2px;text-transform:uppercase;font-family:'Roboto Mono',monospace;transition:opacity .15s}
.ad.ldr{width:100%;max-width:728px;height:90px}
.ad.sm{width:100%;max-width:300px;height:50px}

/* YOY */
.yctrl{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap;margin-bottom:18px;padding:14px 18px;background:var(--surf);border:1px solid var(--bdr);border-radius:7px;box-shadow:0 1px 5px rgba(0,0,0,.07)}
.sg{display:flex;align-items:center;gap:8px}
.sg label{font-size:10px;letter-spacing:2px;color:var(--txt3);text-transform:uppercase;font-family:'Barlow Semi Condensed',sans-serif;font-weight:600}
select{background:var(--surf);border:1px solid var(--bdr2);color:var(--txt);font-family:'Inter',sans-serif;font-size:14px;padding:5px 10px;border-radius:4px;cursor:pointer;outline:none}
select:focus{border-color:var(--gold)}
.fy-note{background:#fffef0;border:1px solid #e8d060;border-radius:5px;padding:8px 12px;font-size:10px;color:#5a4000;font-family:'Roboto Mono',monospace;line-height:1.7;margin-left:auto}
.dtbl{width:100%;border-collapse:collapse;margin-bottom:20px}
.dtbl th{background:var(--navy);color:rgba(255,255,255,.8);font-size:10px;letter-spacing:2px;text-transform:uppercase;padding:11px 13px;text-align:left;white-space:nowrap;font-family:'Barlow Semi Condensed',sans-serif;font-weight:600}
.dtbl th.gold{color:var(--goldb)}
.dtbl td{padding:10px 13px;border-bottom:1px solid var(--bdr);font-family:'Roboto Mono',monospace;font-size:12px;vertical-align:top;background:var(--surf);color:var(--txt)}
.dtbl tr:nth-child(even) td{background:#f6f9fc}
.mn{color:var(--txt2);font-family:'Inter',sans-serif;font-size:12px;font-weight:500}
.cpos{color:var(--grn)}.cneg{color:var(--redb)}.cneu{color:var(--txt3)}.cwrn{color:var(--warnb)}
.ext-val{color:var(--warnb);font-weight:600}
.ext-note{font-size:9px;color:var(--txt3);display:block;margin-top:2px}
.bgt-val{color:var(--gold)}
.bgt-note{font-size:9px;display:block;margin-top:2px}
.over{color:var(--redb)}.under{color:var(--grnb)}
.chart-box{background:var(--surf);border:1px solid var(--bdr);border-radius:7px;padding:20px;margin-bottom:20px;box-shadow:0 1px 5px rgba(0,0,0,.07)}
.cleg{display:flex;gap:18px;flex-wrap:wrap;margin-top:12px}
.cleg span{font-size:10px;font-family:'Roboto Mono',monospace;color:var(--txt2);display:flex;align-items:center;gap:5px}
.ldot{width:10px;height:10px;border-radius:2px;flex-shrink:0}

/* TRUMP TRACKER */
.trhdr{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:20px 22px;border-radius:7px;margin-bottom:20px;box-shadow:0 2px 12px rgba(0,0,0,.15);background:linear-gradient(135deg,rgba(11,38,80,.92) 0%,rgba(9,24,56,.9) 100%),url('whitehouse.jpg') center/cover no-repeat;color:#fff}
.trbadge{background:var(--red);color:#fff;font-size:10px;letter-spacing:3px;text-transform:uppercase;padding:5px 14px;border-radius:3px;font-weight:700;font-family:'Barlow Semi Condensed',sans-serif}
.trtit{font-size:18px;letter-spacing:4px;color:#fff;text-transform:uppercase;font-weight:700;font-family:'Barlow Semi Condensed',sans-serif}
.trsub{font-size:9px;color:rgba(255,255,255,.5);font-family:'Roboto Mono',monospace;margin-top:3px}
.trdays{margin-left:auto;text-align:right}
.trdn{font-family:'Roboto Mono',monospace;font-size:36px;color:var(--goldb);line-height:1;font-weight:600}
.trdl{font-size:9px;color:rgba(255,255,255,.45);letter-spacing:2px;text-transform:uppercase;font-family:'Barlow Semi Condensed',sans-serif}
.egrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:12px;margin-bottom:20px}
.ec{background:var(--surf);border:1px solid var(--bdr);border-radius:7px;padding:14px;text-align:center;box-shadow:0 1px 5px rgba(0,0,0,.07)}
.eci{font-size:20px;margin-bottom:6px}
.ecl{font-size:9px;color:var(--txt3);letter-spacing:2px;text-transform:uppercase;margin-bottom:6px;font-family:'Barlow Semi Condensed',sans-serif;font-weight:600}
.ecw{font-size:10px;color:var(--txt3);font-family:'Roboto Mono',monospace;margin-bottom:2px}
.ecn{font-size:20px;font-family:'Roboto Mono',monospace;font-weight:600;color:var(--txt)}
.ecn.b{color:var(--grn)}.ecn.w{color:var(--redb)}
.ecd{font-size:10px;margin-top:4px;font-family:'Roboto Mono',monospace}
.ecd.b{color:var(--grn)}.ecd.w{color:var(--redb)}

/* RESOURCES TAB */
.res-intro{background:var(--navy);color:#fff;border-radius:7px;padding:20px 24px;margin-bottom:20px;display:flex;align-items:center;gap:20px}
.res-intro-txt h3{font-family:'Barlow Semi Condensed',sans-serif;font-size:18px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--goldb);margin-bottom:6px}
.res-intro-txt p{font-size:11px;color:rgba(255,255,255,.55);font-family:'Inter',sans-serif;line-height:1.7}
.res-cat{margin-bottom:28px}
.res-cat-head{font-size:11px;letter-spacing:4px;color:var(--goldd);text-transform:uppercase;font-weight:700;font-family:'Barlow Semi Condensed',sans-serif;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--bdr)}
.res-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.res-card{background:var(--surf);border:1px solid var(--bdr);border-radius:7px;padding:16px 18px;box-shadow:0 1px 5px rgba(0,0,0,.07);display:flex;flex-direction:column;gap:8px;transition:box-shadow .15s,border-color .15s}
.res-card:hover{box-shadow:0 3px 14px rgba(0,0,0,.12);border-color:var(--goldd)}
.res-card-head{display:flex;align-items:center;gap:10px}
.res-icon{font-size:22px;flex-shrink:0}
.res-name{font-size:14px;font-weight:700;color:var(--navy);font-family:'Barlow Semi Condensed',sans-serif;letter-spacing:1px}
.res-url{font-size:9px;color:var(--txt3);font-family:'Roboto Mono',monospace}
.res-desc{font-size:11px;color:var(--txt3);font-family:'Inter',sans-serif;line-height:1.6;flex:1}
.res-btn{display:inline-block;background:var(--navy);color:#fff;font-size:10px;letter-spacing:2px;text-transform:uppercase;padding:6px 14px;border-radius:4px;text-decoration:none;font-family:'Barlow Semi Condensed',sans-serif;font-weight:600;transition:background .15s;text-align:center}
.res-btn:hover{background:var(--goldd);color:var(--navy)}
.res-highlight{background:#e8f4ff;border-color:#90b8d8}
.res-disclaimer{background:#fffdf0;border:1px solid #e8d060;border-radius:6px;padding:12px 16px;font-size:10px;color:#5a4000;font-family:'Inter',sans-serif;line-height:1.7;margin-top:20px}

/* FOOTER */
footer{background:var(--navy);border-top:2px solid var(--goldd);padding:16px 36px;text-align:center}
.ft1{font-size:9px;color:rgba(255,255,255,.4);font-family:'Roboto Mono',monospace;margin-bottom:5px}
.ft2{font-size:9px;color:rgba(255,255,255,.22);font-family:'Roboto Mono',monospace;line-height:1.7;max-width:900px;margin:0 auto}
/* ── DATA SOURCE LINKS — label IS the link, icon appears on hover ───────
   .mn-link: wraps the table metric label — no visible link styling
   .src-ico: tiny bar-chart SVG, invisible until hover
   CSS tooltip via data-tip attribute + ::after pseudo-element
   .src-link: small inline link for card subtitles (non-table use)
───────────────────────────────────────────────────────────────────────── */

/* Table metric label as transparent link */
a.mn-link{
  color:inherit;text-decoration:none;cursor:pointer;
  display:inline-flex;align-items:center;gap:5px;
  position:relative;
}
a.mn-link:hover{color:var(--txt)}

/* Data source icon — invisible until hover */
a.mn-link .src-ico{
  width:11px;height:11px;flex-shrink:0;
  opacity:0;transition:opacity .2s;
  color:var(--txt3);
}
a.mn-link:hover .src-ico{opacity:.7}

/* CSS tooltip — appears above on hover */
a.mn-link::after{
  content:attr(data-tip);
  position:absolute;
  bottom:calc(100% + 6px);
  left:0;
  background:var(--navy);
  color:#fff;
  font-size:9px;
  font-family:'Roboto Mono',monospace;
  letter-spacing:1px;
  padding:5px 10px;
  border-radius:4px;
  white-space:nowrap;
  opacity:0;
  pointer-events:none;
  transition:opacity .18s;
  z-index:200;
  border:1px solid var(--goldd);
}
/* Small triangle pointer */
a.mn-link::before{
  content:'';
  position:absolute;
  bottom:calc(100% + 1px);
  left:10px;
  border:5px solid transparent;
  border-top-color:var(--navy);
  opacity:0;
  pointer-events:none;
  transition:opacity .18s;
  z-index:201;
}
a.mn-link:hover::after,a.mn-link:hover::before{opacity:1}

/* Card subtitle source links — small, inline, subtle */
.src-link{
  display:inline-block;font-size:9px;color:var(--txt3);
  text-decoration:none;opacity:.55;font-family:'Roboto Mono',monospace;
  border-bottom:1px dotted var(--bdr2);margin-left:4px;
  transition:opacity .15s,color .15s;
}
.src-link:hover{opacity:1;color:var(--goldb)}