/*
 * GlobeCounter — Base Dashboard Stylesheet v6.0
 * Dark black background, red accent, white tiles for data
 * Globe & Mail authority meets Bloomberg terminal energy
 */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:#0a0a0a;color:#ffffff;font-family:'DM Sans',sans-serif;min-height:100vh;overflow-x:hidden;}

:root{
    --bg:          #0a0a0a;
    --bg2:         #111111;
    --bg3:         #1a1a1a;
    --accent:      #D0021B;
    --accent-dim:  #a80015;
    --accent-light:rgba(208,2,27,0.12);
    --accent-border:rgba(208,2,27,0.4);
    --secondary:   #c45e00;
    --teal:        #00897b;
    --blue:        #1565c0;
    --text:        #ffffff;
    --text-sec:    #cccccc;
    --text-muted:  #888888;
    --text-faint:  #555555;
    --border:      #2a2a2a;
    --border-hi:   #3a3a3a;
    --shadow:      0 2px 12px rgba(0,0,0,0.5);
    --shadow-red:  0 4px 20px rgba(208,2,27,0.3);
}

/* ── WATERMARK — disabled ── */
#country-watermark{display:none;}

/* ── HEADER ── */
#site-header{position:sticky;top:0;z-index:1000;background:var(--accent);
    height:52px;display:flex;align-items:center;justify-content:space-between;
    padding:0 18px;box-shadow:0 2px 20px rgba(208,2,27,0.5);}
.logo{font-family:'Bebas Neue',sans-serif;font-size:26px;letter-spacing:3px;
    color:#fff;display:flex;align-items:center;gap:8px;line-height:1;}
.logo-accent{color:rgba(255,255,255,0.85);}
.logo-flag{display:inline-flex;align-items:center;flex-shrink:0;
    border:none;border-radius:2px;overflow:hidden;line-height:0;}
.header-right{display:flex;align-items:center;gap:12px;}
.hdate{font-family:'DM Mono',monospace;font-size:9px;color:rgba(255,255,255,0.7);letter-spacing:1px;}
.live-pill{display:flex;align-items:center;gap:5px;background:rgba(0,0,0,0.3);
    border:1px solid rgba(255,255,255,0.3);padding:3px 10px;border-radius:2px;}
.live-dot{width:6px;height:6px;background:#fff;border-radius:50%;
    animation:blink 1.4s infinite;box-shadow:0 0 6px rgba(255,255,255,0.8);}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:0.1;}}
.live-text{font-family:'DM Mono',monospace;font-size:9px;color:#fff;letter-spacing:2px;}
.mode-toggle{display:flex;background:rgba(0,0,0,0.3);border:1px solid rgba(255,255,255,0.25);border-radius:2px;overflow:hidden;}
.mode-btn{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:1px;text-transform:uppercase;
    padding:4px 14px;cursor:pointer;border:none;background:transparent;color:rgba(255,255,255,0.6);transition:all 0.2s;}
.mode-btn.active{background:rgba(255,255,255,0.2);color:#fff;font-weight:500;}
.mode-btn:hover:not(.active){color:#fff;}

/* ── TICKER ── */
#ticker-bar{background:#111;height:28px;display:flex;align-items:center;overflow:hidden;
    position:sticky;top:52px;z-index:999;border-bottom:1px solid #222;}
.ticker-badge{background:var(--accent);height:100%;padding:0 14px;display:flex;align-items:center;
    font-family:'Bebas Neue',sans-serif;font-size:11px;letter-spacing:2px;color:#fff;white-space:nowrap;flex-shrink:0;}
.ticker-scroll{display:flex;animation:ticker-a 50s linear infinite;white-space:nowrap;}
.ticker-scroll span{font-family:'DM Mono',monospace;font-size:10px;padding:0 28px;
    letter-spacing:1px;color:rgba(255,255,255,0.7);}
.ticker-scroll span::before{content:'◆ ';color:var(--accent);opacity:0.8;}
@keyframes ticker-a{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}

/* ── DASHBOARD ── */
#dashboard{padding:10px;max-width:1600px;margin:0 auto;
    position:relative;z-index:1;display:flex;flex-direction:column;gap:10px;}

/* ── SECTION HEADS ── */
.section-head{display:flex;align-items:center;gap:12px;padding:6px 0 2px;}
.section-title{font-family:'Bebas Neue',sans-serif;font-size:11px;letter-spacing:4px;
    color:var(--text-muted);white-space:nowrap;text-transform:uppercase;}
.section-rule{flex:1;height:1px;background:var(--border);}

/* ── DARK TILE (default) ── */
.tile{background:var(--bg2);border:1px solid var(--border);border-radius:3px;
    padding:16px 18px 13px;position:relative;overflow:hidden;
    box-shadow:var(--shadow);transition:box-shadow 0.2s,transform 0.2s;z-index:1;}
.tile:hover{box-shadow:0 4px 20px rgba(0,0,0,0.6);transform:translateY(-1px);}
.tile::before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:var(--border-hi);}
.tile.t-accent::before   {background:var(--accent);}
.tile.t-secondary::before{background:var(--secondary);}
.tile.t-teal::before     {background:var(--teal);}
.tile.t-blue::before     {background:var(--blue);}
.tile.t-white::before    {background:#555;}

/* White data tiles — bright on dark page */
.tile.white-tile{background:#ffffff;color:#1a1a1a;border:2px solid #1a1a1a;}
.tile.white-tile::before{background:#1a1a1a;}
.tile.white-tile.t-accent::before{background:var(--accent);}
.tile.white-tile.t-secondary::before{background:var(--secondary);}
.tile.white-tile.t-teal::before{background:var(--teal);}
.tile.white-tile.t-blue::before{background:var(--blue);}
.tile.white-tile .tile-label{color:#888;}
.tile.white-tile .tile-ctx{color:#444;}
.tile.white-tile .tile-source a{color:#666;}
.tile.white-tile .tile-updated{color:#aaa;}

/* ── LABELS ── */
.tile-label{font-family:'DM Mono',monospace;font-size:8px;letter-spacing:2px;text-transform:uppercase;
    color:var(--text-muted);margin-bottom:5px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;position:relative;z-index:1;}
.tile-label.l-accent   {color:var(--accent);}
.tile-label.l-secondary{color:var(--secondary);}
.tile-label.l-teal     {color:var(--teal);}
.tile-label.l-blue     {color:var(--blue);}
.freshness{font-family:'DM Mono',monospace;font-size:7px;color:var(--text-faint);
    background:var(--bg3);border:1px solid var(--border);padding:1px 5px;border-radius:2px;margin-left:auto;}
.trend{display:inline-flex;align-items:center;gap:3px;font-family:'DM Mono',monospace;
    font-size:8px;font-weight:600;padding:2px 6px;border-radius:2px;letter-spacing:0.5px;}
.trend.up-bad{color:#ff4444;background:rgba(208,2,27,0.2);border:1px solid rgba(208,2,27,0.4);}
.trend.up-good{color:#00cc88;background:rgba(0,137,123,0.2);border:1px solid rgba(0,137,123,0.3);}
.trend.flat{color:var(--text-muted);background:var(--bg3);border:1px solid var(--border);}

.tile-title{font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:2px;
    color:#ffffff;margin-bottom:8px;line-height:1.1;position:relative;z-index:1;}
.white-tile .tile-title{color:#1a1a1a;}

.tile-kpi{font-family:'Bebas Neue',sans-serif;font-size:56px;letter-spacing:-1px;
    line-height:0.85;margin-bottom:6px;position:relative;z-index:1;}
.tile-kpi.k-accent   {color:var(--accent);}
.tile-kpi.k-secondary{color:var(--secondary);}
.tile-kpi.k-teal     {color:var(--teal);}
.tile-kpi.k-blue     {color:var(--blue);}
.tile-kpi.k-white    {color:#ffffff;}
.tile-kpi.k-dark     {color:#1a1a1a;}

.tile-ctx{font-size:11px;color:var(--text-sec);line-height:1.5;margin-bottom:8px;position:relative;z-index:1;}
.tile-visual{margin:8px 0 6px;position:relative;z-index:1;}
.tile-chart{position:relative;overflow:hidden;margin:8px 0 6px;z-index:1;}
.tile-chart canvas{display:block;width:100%!important;}

.tile-foot{display:flex;align-items:center;justify-content:space-between;
    padding-top:8px;border-top:1px solid var(--border);margin-top:8px;gap:8px;position:relative;z-index:1;}
.tile-source{font-family:'DM Mono',monospace;font-size:8px;color:var(--text-faint);}
.tile-source a{color:var(--text-muted);text-decoration:none;}
.tile-source a:hover{color:var(--accent);}
.tile-updated{font-family:'DM Mono',monospace;font-size:7px;color:var(--text-faint);white-space:nowrap;}
.share-btn{font-family:'DM Mono',monospace;font-size:8px;letter-spacing:1px;
    color:var(--accent);background:rgba(208,2,27,0.15);border:1px solid rgba(208,2,27,0.4);
    padding:4px 12px;cursor:pointer;text-decoration:none;transition:all 0.15s;
    text-transform:uppercase;white-space:nowrap;flex-shrink:0;border-radius:2px;}
.share-btn:hover{background:var(--accent);color:#fff;}

/* ── STAT LINES ── */
.stat-line{font-family:'DM Mono',monospace;font-size:9px;color:var(--text-muted);
    letter-spacing:1px;margin-bottom:4px;line-height:1.5;}
.stat-line::before{content:'→ ';color:var(--accent);opacity:0.7;}

/* ── MODAL ── */
#modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,0.8);z-index:9999;
    opacity:0;visibility:hidden;transition:opacity 0.2s,visibility 0.2s;
    display:flex;align-items:center;justify-content:center;padding:20px;}
#modal-backdrop.open{opacity:1;visibility:visible;}
.modal-box{background:#111;border:1px solid var(--border);border-radius:3px;
    box-shadow:0 24px 80px rgba(0,0,0,0.8);
    width:min(720px,100%);max-height:85vh;overflow-y:auto;
    transform:translateY(20px) scale(0.97);
    transition:transform 0.25s cubic-bezier(0.16,1,0.3,1);}
#modal-backdrop.open .modal-box{transform:translateY(0) scale(1);}
.modal-head{padding:18px 20px 14px;border-bottom:1px solid var(--border);
    display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
    position:relative;}
.modal-head::before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:var(--accent);}
.modal-title{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:2px;color:#fff;}
.modal-close-btn{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:1px;
    color:var(--text-muted);background:var(--bg3);border:1px solid var(--border);
    padding:6px 14px;cursor:pointer;border-radius:2px;transition:all 0.15s;white-space:nowrap;}
.modal-close-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent);}
.modal-body{padding:20px;}
.modal-kpi{font-family:'Bebas Neue',sans-serif;font-size:64px;line-height:0.9;margin-bottom:6px;}
.modal-desc{font-size:13px;color:var(--text-sec);line-height:1.7;margin-bottom:16px;}
.modal-chart-wrap{height:240px;position:relative;margin-bottom:14px;}
.modal-chart-wrap canvas{display:block;width:100%!important;}
.modal-src{font-family:'DM Mono',monospace;font-size:9px;color:var(--text-faint);}
.modal-src a{color:var(--text-muted);}
.modal-foot{padding:12px 20px 16px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;}

/* ── DEBT HERO ── */
.debt-tile{background-color:var(--accent);border-radius:3px;padding:0;
    position:relative;overflow:hidden;text-align:center;
    box-shadow:var(--shadow-red),0 8px 40px rgba(0,0,0,0.5);color:#fff;
    background-size:cover;background-position:center center;background-repeat:no-repeat;
    display:flex;flex-direction:column;justify-content:space-between;}
.debt-ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
    border-radius:50%;border:1px solid rgba(255,255,255,0.05);
    animation:ring-p 4s ease-in-out infinite;pointer-events:none;}
.debt-ring:nth-child(1){width:300px;height:300px;}
.debt-ring:nth-child(2){width:400px;height:400px;animation-delay:1.3s;opacity:.4;}
.debt-ring:nth-child(3){width:500px;height:500px;animation-delay:2.6s;opacity:.2;}
.debt-tile::after{content:'';position:absolute;inset:0;
    background:rgba(168,0,12,0.75);pointer-events:none;z-index:0;}
/* Eyebrow banner */
.debt-eyebrow{font-family:'Bebas Neue',sans-serif;font-size:16px;color:#fff;
    letter-spacing:6px;padding:20px 24px 8px;position:relative;z-index:1;
    text-shadow:0 2px 8px rgba(0,0,0,0.4);}
.debt-sub{font-family:'Bebas Neue',sans-serif;font-size:26px;letter-spacing:6px;
    color:rgba(255,255,255,0.95);padding:0 24px 8px;position:relative;z-index:1;}
.debt-toggle{display:flex;margin:0 auto 6px;border:1px solid rgba(255,255,255,0.3);
    overflow:hidden;width:fit-content;border-radius:2px;position:relative;z-index:1;}
.dtbtn{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:1px;text-transform:uppercase;
    padding:7px 22px;cursor:pointer;border:none;background:transparent;
    color:rgba(255,255,255,0.6);transition:all 0.2s;}
.dtbtn.active{background:rgba(0,0,0,0.35);color:#fff;font-weight:500;}
.debt-definition{font-family:'DM Mono',monospace;font-size:10px;color:rgba(255,255,255,0.5);
    margin-bottom:4px;letter-spacing:1px;min-height:14px;padding:0 24px;position:relative;z-index:1;}
/* Main number */
.debt-num{font-family:'Bebas Neue',sans-serif;font-size:clamp(46px,7.5vw,108px);
    color:#fff;letter-spacing:-1px;line-height:0.88;padding:4px 16px 6px;
    animation:dg 3s ease-in-out infinite;position:relative;z-index:1;flex:1;
    display:flex;align-items:center;justify-content:center;}
@keyframes dg{0%,100%{text-shadow:0 2px 20px rgba(0,0,0,0.4);}50%{text-shadow:0 2px 40px rgba(0,0,0,0.6),0 0 80px rgba(255,255,255,0.08);}}
.debt-rate{padding:0 24px 8px;font-family:'DM Mono',monospace;font-size:14px;
    color:rgba(255,255,255,0.9);letter-spacing:1px;position:relative;z-index:1;}
.pulse-num{color:#fff;display:inline-block;font-weight:600;
    animation:np 1s ease-in-out infinite;
    background:rgba(255,255,255,0.2);padding:2px 9px;border-radius:2px;}
@keyframes np{0%,100%{background:rgba(255,255,255,0.2);transform:scale(1);}50%{background:rgba(255,255,255,0.32);transform:scale(1.07);}}
/* Stat boxes */
.debt-substats{display:flex;gap:0;margin-top:10px;position:relative;z-index:1;
    border-top:2px solid rgba(255,255,255,0.2);border-bottom:2px solid rgba(255,255,255,0.2);}
.dss-item{background:rgba(0,0,0,0.3);border-right:1px solid rgba(255,255,255,0.15);
    padding:16px 12px;text-align:center;flex:1;}
.dss-item:last-child{border-right:none;}
.dss-val{font-family:'Bebas Neue',sans-serif;font-size:clamp(28px,3.5vw,44px);color:#fff;letter-spacing:0.5px;}
.dss-label{font-family:'DM Mono',monospace;font-size:10px;color:rgba(255,255,255,0.7);
    letter-spacing:1px;text-transform:uppercase;margin-top:4px;}
/* Source line */
.debt-src{padding:8px 24px 12px;font-family:'DM Mono',monospace;font-size:10px;color:rgba(255,255,255,0.6);
    display:flex;align-items:center;justify-content:center;gap:12px;
    flex-wrap:wrap;position:relative;z-index:1;}
.debt-src a{color:rgba(255,255,255,0.85);text-decoration:none;}
.debt-src .share-btn{background:rgba(0,0,0,0.25);border-color:rgba(255,255,255,0.3);color:#fff;}

/* Canada map — see canonical block below */

/* ── GOVERNMENT TILE ── */
.gov-tile{background:#ffffff;border:2px solid #1a1a1a;border-radius:3px;color:#1a1a1a;
    padding:16px 18px 14px;position:relative;overflow:hidden;box-shadow:var(--shadow);}
.gov-tile::before{content:'';position:absolute;top:0;left:0;width:100%;height:4px;background:var(--accent);}
.gov-pm-row{display:flex;align-items:flex-start;gap:12px;margin-bottom:10px;}
.gov-pm-avatar{width:44px;height:44px;border-radius:50%;
    background:rgba(208,2,27,0.2);border:2px solid rgba(208,2,27,0.4);
    display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;}
.gov-pm-name{font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:1px;color:#fff;line-height:1;margin-bottom:2px;}
.gov-pm-title{font-family:'DM Mono',monospace;font-size:8px;color:var(--text-muted);letter-spacing:1px;text-transform:uppercase;margin-bottom:3px;}
.gov-party-badge{display:inline-flex;align-items:center;background:rgba(208,2,27,0.2);
    border:1px solid rgba(208,2,27,0.4);padding:2px 8px;border-radius:2px;
    font-family:'DM Mono',monospace;font-size:8px;color:var(--accent);letter-spacing:1px;}
.gov-mandate-badge{display:inline-flex;align-items:center;background:var(--bg3);
    border:1px solid var(--border);padding:2px 8px;border-radius:2px;
    font-family:'DM Mono',monospace;font-size:8px;color:var(--text-muted);letter-spacing:1px;margin-left:4px;}
.gov-stats{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:10px;}
.gov-stat{background:var(--bg3);border:1px solid var(--border);border-radius:2px;padding:7px 10px;}
.gov-stat-val{font-family:'Bebas Neue',sans-serif;font-size:19px;color:#fff;line-height:1;margin-bottom:2px;}
.gov-stat-val.red{color:var(--accent);}
.gov-stat-label{font-family:'DM Mono',monospace;font-size:7px;color:var(--text-muted);letter-spacing:1px;text-transform:uppercase;}
.gov-seats-label{font-family:'DM Mono',monospace;font-size:8px;color:var(--text-muted);letter-spacing:2px;text-transform:uppercase;margin-bottom:5px;}
.gov-seats-bar{height:22px;border-radius:2px;overflow:hidden;display:flex;margin-bottom:7px;border:1px solid var(--border);}
.gov-seats-seg{height:100%;display:flex;align-items:center;justify-content:center;
    font-family:'DM Mono',monospace;font-size:7px;font-weight:600;color:rgba(255,255,255,0.9);overflow:hidden;}
.gov-opp-row{display:flex;align-items:center;justify-content:space-between;
    font-family:'DM Mono',monospace;font-size:8px;color:var(--text-sec);margin-bottom:4px;}
.gov-opp-seats{font-weight:600;color:#fff;background:var(--bg3);padding:1px 6px;border-radius:2px;font-size:9px;}
.gov-debt-added{background:rgba(208,2,27,0.15);border:1px solid rgba(208,2,27,0.35);
    border-radius:2px;padding:8px 12px;margin-bottom:8px;text-align:center;}
.gov-debt-added-val{font-family:'Bebas Neue',sans-serif;font-size:28px;color:var(--accent);letter-spacing:-0.5px;line-height:1;}
.gov-debt-added-label{font-family:'DM Mono',monospace;font-size:7px;color:rgba(208,2,27,0.7);letter-spacing:1px;text-transform:uppercase;margin-top:2px;}

/* ── ROWS ── */
.row{display:grid;gap:10px;}
.r-2{grid-template-columns:1fr 1fr;}
.r-3{grid-template-columns:1fr 1fr 1fr;}
.r-4{grid-template-columns:1fr 1fr 1fr 1fr;}

/* ── SIMPLE/ADVANCED ── */
.advanced-only{display:block;}
body.simple-mode .advanced-only{display:none!important;}

/* ── AD ── */
.ad-zone{border:1px dashed var(--border);background:var(--bg2);text-align:center;padding:10px;
    font-family:'DM Mono',monospace;font-size:7px;color:var(--text-faint);
    letter-spacing:2px;text-transform:uppercase;border-radius:2px;}

/* ── CONTACT ── */
#contact-section{background:#ffffff;border:2px solid #1a1a1a;border-radius:3px;
    padding:28px;box-shadow:var(--shadow);position:relative;z-index:1;}
#contact-section::before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:var(--accent);}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:16px;}
.contact-about h3{font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:2px;color:#1a1a1a;margin-bottom:10px;}
.contact-about p{font-size:12px;color:#444;line-height:1.7;margin-bottom:10px;}
.contact-links{display:flex;flex-direction:column;gap:8px;margin-top:12px;}
.contact-link{display:flex;align-items:center;gap:12px;padding:10px 14px;
    border:1px solid #ddd;border-radius:3px;text-decoration:none;
    transition:all 0.15s;background:#f5f5f5;}
.contact-link:hover{border-color:var(--accent-border);background:rgba(208,2,27,0.1);}
.contact-link-icon{font-size:16px;flex-shrink:0;}
.contact-link-label{font-family:'DM Mono',monospace;font-size:7px;letter-spacing:2px;text-transform:uppercase;color:#888;margin-bottom:2px;}
.contact-link-value{font-family:'DM Mono',monospace;font-size:10px;color:var(--accent);}
.contact-form h3{font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:2px;color:#1a1a1a;margin-bottom:10px;}
.cf-row{margin-bottom:10px;}
.cf-row label{display:block;font-family:'DM Mono',monospace;font-size:7px;letter-spacing:2px;text-transform:uppercase;color:#888;margin-bottom:3px;}
.cf-row input,.cf-row select,.cf-row textarea{width:100%;font-family:'DM Sans',sans-serif;
    font-size:12px;color:#1a1a1a;background:#f5f5f5;
    border:1px solid #ddd;border-radius:2px;padding:7px 10px;outline:none;transition:border-color 0.15s;}
.cf-row input:focus,.cf-row select:focus,.cf-row textarea:focus{border-color:var(--accent-border);background:#fff;}
.cf-row select option{background:#fff;}
.cf-row textarea{resize:vertical;min-height:75px;}
.cf-submit{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:2px;text-transform:uppercase;
    background:var(--accent);color:#fff;border:none;padding:10px 24px;
    cursor:pointer;border-radius:2px;width:100%;transition:background 0.15s;}
.cf-submit:hover{background:var(--accent-dim);}

/* ── SOURCE TICKER ── */
#source-ticker{background:var(--bg2);border-top:1px solid var(--border);height:28px;
    display:flex;align-items:center;overflow:hidden;margin-top:4px;}
.src-label{padding:0 14px;height:100%;display:flex;align-items:center;
    font-family:'DM Mono',monospace;font-size:7px;color:var(--text-muted);
    border-right:1px solid var(--border);white-space:nowrap;flex-shrink:0;
    letter-spacing:2px;text-transform:uppercase;background:var(--bg3);}
.src-scroll{display:flex;animation:ticker-a 70s linear infinite;white-space:nowrap;}
.src-scroll span{font-family:'DM Mono',monospace;font-size:8px;color:var(--text-muted);padding:0 20px;letter-spacing:1px;}

/* ── FOOTER ── */
#site-footer{padding:26px 20px;text-align:center;background:#000;border-top:3px solid var(--accent);}
.footer-logo{font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:4px;color:rgba(255,255,255,0.15);margin-bottom:6px;}
.footer-logo .logo-accent{color:rgba(208,2,27,0.4);}
.footer-tag{font-family:'DM Mono',monospace;font-size:9px;color:rgba(255,255,255,0.15);letter-spacing:2px;margin-bottom:10px;}
.footer-links{display:flex;justify-content:center;gap:20px;margin-bottom:10px;flex-wrap:wrap;}
.footer-links a{font-family:'DM Mono',monospace;font-size:9px;color:rgba(255,255,255,0.2);text-decoration:none;letter-spacing:1px;transition:color 0.15s;}
.footer-links a:hover{color:rgba(255,255,255,0.5);}
.footer-disc{font-family:'DM Mono',monospace;font-size:8px;color:rgba(255,255,255,0.1);max-width:660px;margin:0 auto;line-height:1.8;}
.footer-disc a{color:rgba(255,255,255,0.15);text-decoration:none;}

/* ── RESPONSIVE ── */
@media(max-width:1100px){.r-3{grid-template-columns:1fr 1fr;}.r-4{grid-template-columns:1fr 1fr;}.contact-grid{grid-template-columns:1fr;}}
@media(max-width:700px){.r-2,.r-3,.r-4{grid-template-columns:1fr;}.debt-num{font-size:40px!important;}.mode-toggle{display:none;}}

/* ── EXPAND HINT on clickable tiles ── */
.tile[onclick]{cursor:pointer;}
.tile[onclick]:hover::after{
    content:'⊕ EXPAND';
    position:absolute;bottom:6px;right:8px;
    font-family:'DM Mono',monospace;font-size:7px;letter-spacing:1px;
    color:rgba(255,255,255,0.25);pointer-events:none;
}
.white-tile[onclick]:hover::after{color:rgba(0,0,0,0.2);}

/* ── RED TILES — bold red background, white text ── */
.tile.red-tile{background:var(--accent);color:#ffffff;border:2px solid #000;}
.tile.red-tile::before{background:rgba(0,0,0,0.3);}
.tile.red-tile .tile-label{color:rgba(255,255,255,0.7);}
.tile.red-tile .tile-title{color:#ffffff;}
.tile.red-tile .tile-kpi{color:#ffffff;}
.tile.red-tile .tile-ctx{color:rgba(255,255,255,0.8);}
.tile.red-tile .stat-line{color:rgba(255,255,255,0.7);}
.tile.red-tile .stat-line::before{color:rgba(255,255,255,0.5);}
.tile.red-tile .tile-foot{border-top:1px solid rgba(255,255,255,0.2);}
.tile.red-tile .tile-source a{color:rgba(255,255,255,0.6);}
.tile.red-tile .tile-updated{color:rgba(255,255,255,0.4);}
.tile.red-tile .share-btn{background:rgba(0,0,0,0.25);border-color:rgba(255,255,255,0.3);color:#fff;}
.tile.red-tile .freshness{background:rgba(0,0,0,0.2);border-color:rgba(255,255,255,0.2);color:rgba(255,255,255,0.6);}
.tile.red-tile .trend.up-bad{background:rgba(0,0,0,0.25);border-color:rgba(255,255,255,0.25);color:#fff;}

/* ── WHITE TILES — bright white, dark text ── */
.tile.white-tile::before{background:#1a1a1a;}
.tile.white-tile.t-accent::before{background:var(--accent);}
.tile.white-tile.t-secondary::before{background:var(--secondary);}
.tile.white-tile.t-teal::before{background:var(--teal);}
.tile.white-tile.t-blue::before{background:var(--blue);}
.tile.white-tile .tile-label{color:#888;}
.tile.white-tile .tile-title{color:#1a1a1a;}
.tile.white-tile .tile-kpi.k-accent{color:var(--accent);}
.tile.white-tile .tile-kpi.k-secondary{color:var(--secondary);}
.tile.white-tile .tile-kpi.k-teal{color:var(--teal);}
.tile.white-tile .tile-kpi.k-blue{color:var(--blue);}
.tile.white-tile .tile-kpi.k-white{color:#1a1a1a;}
.tile.white-tile .tile-ctx{color:#444;}
.tile.white-tile .stat-line{color:#555;}
.tile.white-tile .stat-line::before{color:var(--accent);opacity:1;}
.tile.white-tile .tile-foot{border-top:1px solid #e0e0e0;}
.tile.white-tile .tile-source a{color:#666;}
.tile.white-tile .tile-updated{color:#aaa;}
.tile.white-tile .freshness{background:#f5f5f5;border-color:#ddd;color:#888;}
.tile.white-tile .share-btn{color:var(--accent);background:rgba(208,2,27,0.08);border-color:rgba(208,2,27,0.3);}
.tile.white-tile .trend.up-bad{color:var(--accent);background:rgba(208,2,27,0.1);border-color:rgba(208,2,27,0.3);}
.tile.white-tile .trend.flat{color:#888;background:#f5f5f5;border-color:#ddd;}

/* ── TILE FONT SIZES — ensure readability ── */
.tile-title{font-size:18px!important;}
.tile-kpi{font-size:52px!important;}
.tile-ctx{font-size:12px!important;}
.tile-label{font-size:9px!important;}
.stat-line{font-size:11px!important;}

/* ── BOTTOM ROW FIX — ensure 4 columns don't stack ── */
.r-4{grid-template-columns:repeat(4,1fr)!important;}
.r-3{grid-template-columns:repeat(3,1fr)!important;}
.r-2{grid-template-columns:repeat(2,1fr)!important;}
@media(max-width:1024px){
    .r-4{grid-template-columns:repeat(2,1fr)!important;}
}
@media(max-width:600px){
    .r-4,.r-3,.r-2{grid-template-columns:1fr!important;}
}

/* ── WHITE GOV TILE text overrides ── */
.gov-tile .gov-pm-name{color:#1a1a1a;}
.gov-tile .gov-pm-title{color:#666;}
.gov-tile .gov-stat-val{color:#1a1a1a;}
.gov-tile .gov-stat-label{color:#888;}
.gov-tile .gov-opp-row{color:#444;}
.gov-tile .gov-opp-seats{color:#1a1a1a;background:#f0f0f0;}
.gov-tile .gov-stat{background:#f5f5f5;border-color:#e0e0e0;}
.gov-tile .tile-label{color:#888;}
.gov-tile .tile-source a{color:#666;}
.gov-tile .tile-updated{color:#aaa;}
.gov-tile .tile-foot{border-top-color:#e0e0e0;}
.gov-tile .gov-seats-bar{border-color:#ddd;}
.gov-tile .freshness{background:#f0f0f0;border-color:#ddd;color:#888;}
/* Ministers */
.gov-ministers{margin-top:8px;padding-top:8px;border-top:1px solid #e0e0e0;}
.gov-min-row{display:flex;align-items:baseline;justify-content:space-between;
    padding:4px 0;border-bottom:1px solid #f0f0f0;}
.gov-min-row:last-child{border-bottom:none;}
.gov-min-name{font-family:'DM Sans',sans-serif;font-size:11px;font-weight:600;color:#1a1a1a;}
.gov-min-role{font-family:'DM Mono',monospace;font-size:9px;color:#888;letter-spacing:0.5px;text-align:right;}

/* ── DEBT MAP — see canonical block below ── */

/* ════════════════════════════════════════════════════════
   TILE COLOR SYSTEM — single source of truth
   Applied via engine.js: class="tile t-accent white-tile"
   ════════════════════════════════════════════════════════ */

/* WHITE TILE — bright white, pops on black page */
.tile.white-tile {
    background: #ffffff !important;
    color: #1a1a1a !important;
    border: 2px solid #1a1a1a !important;
}
.tile.white-tile::before { background: #1a1a1a !important; }
.tile.white-tile.t-accent::before    { background: #D0021B !important; }
.tile.white-tile.t-secondary::before { background: #c45e00 !important; }
.tile.white-tile.t-teal::before      { background: #00897b !important; }
.tile.white-tile.t-blue::before      { background: #1565c0 !important; }
.tile.white-tile .tile-label    { color: #888 !important; }
.tile.white-tile .tile-title    { color: #1a1a1a !important; }
.tile.white-tile .tile-kpi      { color: #1a1a1a !important; }
.tile.white-tile .tile-kpi.k-accent    { color: #D0021B !important; }
.tile.white-tile .tile-kpi.k-secondary { color: #c45e00 !important; }
.tile.white-tile .tile-kpi.k-teal      { color: #00897b !important; }
.tile.white-tile .tile-kpi.k-blue      { color: #1565c0 !important; }
.tile.white-tile .tile-kpi.k-white     { color: #1a1a1a !important; }
.tile.white-tile .tile-ctx   { color: #444 !important; }
.tile.white-tile .stat-line  { color: #555 !important; }
.tile.white-tile .stat-line::before { color: #D0021B !important; }
.tile.white-tile .tile-foot  { border-top: 1px solid #e0e0e0 !important; }
.tile.white-tile .tile-source a { color: #666 !important; }
.tile.white-tile .tile-updated  { color: #aaa !important; }
.tile.white-tile .freshness     { background:#f5f5f5; border-color:#ddd; color:#888; }
.tile.white-tile .share-btn     { color:#D0021B; background:rgba(208,2,27,0.08); border-color:rgba(208,2,27,0.3); }
.tile.white-tile .trend.up-bad  { color:#D0021B; background:rgba(208,2,27,0.1); border-color:rgba(208,2,27,0.25); }
.tile.white-tile .trend.flat    { color:#888; background:#f5f5f5; border-color:#ddd; }

/* RED TILE — bold red, white text */
.tile.red-tile {
    background: #D0021B !important;
    color: #ffffff !important;
    border: 2px solid #000 !important;
}
.tile.red-tile::before         { background: rgba(0,0,0,0.25) !important; }
.tile.red-tile .tile-label     { color: rgba(255,255,255,0.7) !important; }
.tile.red-tile .tile-title     { color: #ffffff !important; }
.tile.red-tile .tile-kpi       { color: #ffffff !important; }
.tile.red-tile .tile-ctx       { color: rgba(255,255,255,0.8) !important; }
.tile.red-tile .stat-line      { color: rgba(255,255,255,0.75) !important; }
.tile.red-tile .stat-line::before { color: rgba(255,255,255,0.5) !important; }
.tile.red-tile .tile-foot      { border-top: 1px solid rgba(255,255,255,0.2) !important; }
.tile.red-tile .tile-source a  { color: rgba(255,255,255,0.65) !important; }
.tile.red-tile .tile-updated   { color: rgba(255,255,255,0.4) !important; }
.tile.red-tile .freshness      { background:rgba(0,0,0,0.2); border-color:rgba(255,255,255,0.2); color:rgba(255,255,255,0.6); }
.tile.red-tile .share-btn      { background:rgba(0,0,0,0.25); border-color:rgba(255,255,255,0.3); color:#fff; }
.tile.red-tile .trend.up-bad   { color:#fff; background:rgba(0,0,0,0.25); border-color:rgba(255,255,255,0.25); }

/* Canada map — see canonical block below */

/* GRID — force columns, no stacking */
.r-4 { grid-template-columns: repeat(4, 1fr) !important; }
.r-3 { grid-template-columns: repeat(3, 1fr) !important; }
.r-2 { grid-template-columns: repeat(2, 1fr) !important; }
@media(max-width: 900px) {
    .r-4 { grid-template-columns: repeat(2, 1fr) !important; }
    .r-3 { grid-template-columns: repeat(2, 1fr) !important; }
}
@media(max-width: 500px) {
    .r-4, .r-3, .r-2 { grid-template-columns: 1fr !important; }
}

/* ── KPI COLUMN TILES — compact + fill dead space ── */
#kpi-0.tile, #kpi-1.tile { padding: 10px 14px 8px; }
#kpi-0 .tile-label, #kpi-1 .tile-label { font-size:7px  !important; margin-bottom:1px; }
#kpi-0 .tile-ctx,   #kpi-1 .tile-ctx   { font-size:9px  !important; margin-bottom:3px; }
#kpi-0 .tile-foot,  #kpi-1 .tile-foot  { padding-top:4px; margin-top:4px; }

/* ── kpi-0 (Bureaucracy) — tighter title, bigger KPI, chart fills space ── */
#kpi-0.tile { display:flex; flex-direction:column; }
#kpi-0 .tile-title { font-size:13px !important; margin-bottom:0px; margin-top:-2px; }
#kpi-0 .tile-kpi   { font-size:38px !important; margin-bottom:2px; }
#kpi-0 .tile-ctx   { font-size:9px  !important; margin-bottom:2px; }
#kpi-0 .tile-chart { flex:1; min-height:0; margin:2px 0; }
#kpi-0 .tile-chart canvas { height:100% !important; }

/* ── kpi-1 (Employment) — bigger KPI, visual pushed toward bottom ── */
#kpi-1.tile { display:flex; flex-direction:column; }
#kpi-1 .tile-title  { font-size:12px !important; margin-bottom:0px; }
#kpi-1 .tile-kpi    { font-size:46px !important; margin-bottom:2px; }
#kpi-1 .tile-ctx    { font-size:9px  !important; margin-bottom:0px; }
#kpi-1 .tile-visual { flex:1; display:flex; flex-direction:column; justify-content:flex-end; padding-top:6px; }
#kpi-1 .tile-visual > div { margin-bottom:6px !important; }
#kpi-1 .tile-visual > div > div:nth-child(2) { height:22px !important; }
#kpi-1 .tile-visual > div > div > div { height:22px !important; line-height:22px !important; font-size:11px !important; }

/* ── DEBT SUBSTAT BAR — tighter ── */
.dss-item { padding: 10px 12px; }

/* ── GOV TILE — fill full grid height ── */
#gov-tile.gov-tile {
    display: flex;
    flex-direction: column;
}
#gov-tile .gov-ministers {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid #e0e0e0;
}
#gov-tile .gov-min-row {
    flex: 1;
    display: flex;
    align-items: center;
    border-bottom: 1px solid #f0f0f0;
    padding: 0;
    margin: 0;
}
#gov-tile .gov-min-row:last-child { border-bottom: none; }

/* ── SIMPLE KPI ROW 1 & 2 — LOCKED UNIFORM HEIGHT ── */
#simple-kpi-row-1 .tile,
#simple-kpi-row-2 .tile {
    display: flex;
    flex-direction: column;
    height: 420px;
    min-height: 420px;
    max-height: 420px;
    overflow: hidden;
}

/* MAID — chart + stat lines fill tile */
#simple-kpi-row-1 #maid-s .tile-kpi   { font-size:38px !important; line-height:1 !important; margin-bottom:2px !important; }
#simple-kpi-row-1 #maid-s .tile-title { margin-bottom:0 !important; }
#simple-kpi-row-1 #maid-s .tile-chart { flex:1; min-height:0; margin:4px 0 !important; }
#simple-kpi-row-1 #maid-s .tile-chart canvas { height:100% !important; }
#simple-kpi-row-1 #maid-s .tile-visual { flex:1; display:flex; flex-direction:column; justify-content:space-around; }
#simple-kpi-row-1 #maid-s .stat-line  { font-size:11px !important; padding:4px 0; border-bottom:1px solid #f0f0f0; }
#simple-kpi-row-1 #maid-s .stat-line:last-child { border-bottom:none; }

/* CBC — chart fills all remaining space */
#simple-kpi-row-1 #cbc .tile-chart  { flex: 1; min-height: 0; margin: 4px 0 !important; }
#simple-kpi-row-1 #cbc .tile-chart canvas { height: 100% !important; }

/* Housing — chart fills all remaining space */
#simple-kpi-row-1 #house-s .tile-chart { flex: 1; min-height: 0; margin: 4px 0 !important; }
#simple-kpi-row-1 #house-s .tile-chart canvas { height: 100% !important; }

/* Carbon Tax — ranked bars + stat lines fill tile */
#simple-kpi-row-2 #carbon .tile-visual { margin: 6px 0 4px; }
#simple-kpi-row-2 #carbon .tile-visual + .tile-visual { flex: 1; display: flex; flex-direction: column; justify-content: space-around; }
#simple-kpi-row-2 #carbon .stat-line { font-size: 11px !important; font-weight: 600; padding: 6px 0; border-bottom: 1px solid #f0f0f0; }
#simple-kpi-row-2 #carbon .stat-line:last-child { border-bottom: none; }

/* TFW — chart fills tile, ctx line bold and prominent */
#simple-kpi-row-2 #tfw .tile-ctx { font-size: 13px !important; font-weight: 700; color: #D0021B !important; }
#simple-kpi-row-2 #tfw .tile-chart { flex: 1; min-height: 0; margin: 4px 0 !important; }
#simple-kpi-row-2 #tfw .tile-chart canvas { height: 100% !important; }

/* GDP — horizontal bar chart fills tile */
#simple-kpi-row-2 #gdp-s .tile-chart { flex: 1; min-height: 0; margin: 4px 0 !important; }
#simple-kpi-row-2 #gdp-s .tile-chart canvas { height: 100% !important; }

/* ── SHARE MODAL ── */
.share-modal {
    display: none;
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.85);
    z-index: 2000;
    align-items: center;
    justify-content: center;
}
.share-modal.open { display: flex; }
.share-modal-box {
    background: #1a1a1a;
    border: 1px solid #333;
    border-radius: 8px;
    padding: 24px;
    max-width: 420px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
}
.share-modal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}
.share-modal-title {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 24px;
    letter-spacing: 2px;
    color: #fff;
}
.share-modal-close {
    background: none;
    border: none;
    color: #888;
    font-size: 24px;
    cursor: pointer;
    padding: 4px 8px;
    line-height: 1;
}
.share-modal-close:hover { color: #fff; }
.share-preview {
    margin-bottom: 16px;
    text-align: center;
    background: #111;
    border-radius: 4px;
    padding: 12px;
    min-height: 100px;
}
.share-feedback {
    display: none;
    background: rgba(0,137,123,0.25);
    border: 1px solid #00897b;
    color: #4ecca3;
    padding: 12px 16px;
    border-radius: 4px;
    font-family: 'DM Mono', monospace;
    font-size: 12px;
    font-weight: 500;
    text-align: center;
    margin-bottom: 16px;
    animation: feedbackPulse 0.3s ease-out;
}
@keyframes feedbackPulse {
    0% { transform: scale(0.95); opacity: 0; }
    100% { transform: scale(1); opacity: 1; }
}
.share-platforms {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    margin-bottom: 20px;
}
.share-platform-btn {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 1px solid #333;
    background: #222;
    color: #ccc;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.15s;
}
.share-platform-btn:hover {
    background: #333;
    color: #fff;
    border-color: #555;
    transform: scale(1.1);
}
.share-actions {
    display: flex;
    gap: 10px;
}
.share-action-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 16px;
    border-radius: 4px;
    border: 1px solid #333;
    background: #222;
    color: #ccc;
    font-family: 'DM Mono', monospace;
    font-size: 11px;
    letter-spacing: 1px;
    cursor: pointer;
    transition: all 0.15s;
}
.share-action-btn:hover {
    background: #333;
    color: #fff;
}
.share-action-btn.primary {
    background: #D0021B;
    border-color: #D0021B;
    color: #fff;
}
.share-action-btn.primary:hover {
    background: #a80015;
}

/* ══════════════════════════════════════════════════════════════════════════
   MOBILE RESPONSIVE — Progressive Enhancement
   ══════════════════════════════════════════════════════════════════════════ */

/* Tablet: 768px and below */
@media (max-width: 768px) {
    .dashboard { padding: 10px; gap: 10px; }
    
    /* Header */
    #site-header { padding: 8px 12px; }
    .logo-text { font-size: 16px; letter-spacing: 3px; }
    .logo-flag { width: 20px; height: 14px; margin-left: 6px; }
    .header-right { gap: 8px; }
    .mode-toggle span { padding: 4px 10px; font-size: 9px; }
    
    /* Ticker */
    #ticker-bar { height: 24px; }
    .ticker-badge { padding: 0 10px; font-size: 9px; }
    .ticker-scroll span { font-size: 9px; padding: 0 20px; }
    
    /* Debt tile */
    .debt-sub { font-size: 20px; letter-spacing: 4px; }
    .debt-num { font-size: 48px !important; }
    .debt-rate { font-size: 12px; padding: 0 16px 6px; }
    .debt-substats { flex-wrap: wrap; }
    .debt-substat { flex: 1 1 45%; min-width: 120px; padding: 10px 12px; }
    .debt-substat-val { font-size: 22px; }
    .debt-substat-label { font-size: 7px; }
    .debt-src { padding: 6px 16px 10px; }
    
    /* Tiles */
    .tile { padding: 14px; }
    .tile-label { font-size: 7px; }
    .tile-title { font-size: 14px; }
    .tile-kpi { font-size: 36px; }
    .tile-ctx { font-size: 10px; }
    
    /* Gov tile */
    .gov-pm-name { font-size: 18px; }
    .gov-stats { gap: 8px; }
    .gov-stat-val { font-size: 18px; }
    
    /* Contact */
    .contact-grid { gap: 16px; }
}

/* Phone: 480px and below */
@media (max-width: 480px) {
    .dashboard { padding: 8px; gap: 8px; }
    
    /* Header — stack or hide elements */
    #site-header { padding: 6px 10px; }
    .logo-text { font-size: 14px; letter-spacing: 2px; }
    .header-right { gap: 6px; }
    .mode-toggle { display: none; }
    .header-date { font-size: 8px; display: none; }
    .header-live { font-size: 8px; padding: 3px 8px; }
    
    /* Ticker smaller */
    #ticker-bar { height: 22px; }
    .ticker-badge { font-size: 8px; padding: 0 8px; }
    .ticker-scroll span { font-size: 8px; padding: 0 16px; }
    
    /* Debt tile — vertical stack */
    .debt-eyebrow { font-size: 12px; }
    .debt-sub { font-size: 16px; letter-spacing: 3px; }
    .debt-toggle { transform: scale(0.85); }
    .debt-num { font-size: 36px !important; letter-spacing: -1px; }
    .debt-rate { font-size: 10px; }
    .debt-substats { flex-direction: column; gap: 0; }
    .debt-substat { flex: none; width: 100%; border-right: none !important; border-bottom: 1px solid rgba(255,255,255,0.15); }
    .debt-substat:last-child { border-bottom: none; }
    .debt-substat-val { font-size: 20px; }
    .debt-src { font-size: 9px; }
    
    /* All grids single column */
    .r-2, .r-3, .r-4 { grid-template-columns: 1fr !important; }
    
    /* Tiles compact */
    .tile { padding: 12px; }
    .tile-label { font-size: 6px; letter-spacing: 1.5px; }
    .tile-title { font-size: 12px; }
    .tile-kpi { font-size: 32px; }
    .tile-ctx { font-size: 9px; }
    .tile-foot { padding-top: 6px; margin-top: 6px; }
    .tile-source, .tile-updated { font-size: 7px; }
    
    /* Gov tile */
    .gov-pm-photo { width: 50px; height: 50px; }
    .gov-pm-name { font-size: 16px; }
    .gov-pm-title { font-size: 9px; }
    .gov-stats { flex-wrap: wrap; gap: 6px; }
    .gov-stat { flex: 1 1 45%; padding: 8px; }
    .gov-stat-val { font-size: 16px; }
    .gov-stat-label { font-size: 6px; }
    .gov-opp-row { font-size: 9px; padding: 4px 0; }
    .gov-opp-seats { font-size: 10px; padding: 2px 6px; }
    
    /* Charts smaller */
    .tile-chart { min-height: 100px; }
    
    /* Contact form */
    #contact-section { padding: 16px; }
    .contact-about h3, .contact-form h3 { font-size: 14px; }
    .contact-about p { font-size: 11px; }
    .cf-row input, .cf-row select, .cf-row textarea { font-size: 14px; padding: 10px; }
    .contact-submit { padding: 12px; font-size: 11px; }
    
    /* Share modal */
    .share-modal-box { margin: 10px; padding: 16px; max-height: 90vh; overflow-y: auto; }
    .share-modal-title { font-size: 16px; }
    .share-platforms { gap: 10px; }
    .share-platform-btn { width: 44px; height: 44px; }
    .share-actions { flex-direction: column; gap: 8px; }
    .share-action-btn { width: 100%; }
    
    /* Modal */
    .modal-box { margin: 10px; padding: 16px; max-height: 90vh; overflow-y: auto; }
    .modal-title { font-size: 14px; }
    .modal-kpi { font-size: 36px; }
    .modal-desc { font-size: 12px; }
}

/* Small phone: 360px and below */
@media (max-width: 360px) {
    .logo-text { font-size: 12px; }
    .debt-num { font-size: 28px !important; }
    .debt-substat-val { font-size: 18px; }
    .tile-kpi { font-size: 28px; }
    .gov-pm-name { font-size: 14px; }
}
