/* ═══════════════════════════════════════════════════════════════
   TVK 2026 DASHBOARD — STYLES
   Order: reset → vars → shell → components → tabs → responsive
   ═══════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Noto+Sans+Tamil:wght@400;500;600;700;800&display=swap');
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}

/* ══ THEME VARS ══ */
:root[data-theme="dark"]{
  --bg:#08080f;--s1:#0f0f1a;--s2:#151520;--s3:#1c1c2e;
  --bd:rgba(255,255,255,.07);--bd2:rgba(255,255,255,.14);
  --t1:#e5e7eb;--t2:#9ca3af;--t3:#6b7280;--t4:#4b5563;
  --glass:rgba(8,8,15,.92);--scrim:rgba(0,0,0,.6);
}
:root[data-theme="light"]{
  /* Page bg slightly off-white so white cards pop; --s1 stays #fff for modals/inputs */
  --bg:#f8fafc;--s1:#ffffff;--s2:#f3f4f6;--s3:#e5e7eb;
  --bd:rgba(0,0,0,.12);--bd2:rgba(0,0,0,.22);
  /* Contrast: t1=19:1, t2=14:1, t3=7.3:1 (AA), t4=4.6:1 (AA-Normal) */
  --t1:#111827;--t2:#1f2937;--t3:#4b5563;--t4:#6b7280;
  --glass:rgba(255,255,255,.96);--scrim:rgba(255,255,255,.78);
  /* TVK-authentic deep crimson */
  --red:#cc1010;--rs:rgba(204,16,16,.08);
  --gold:#f5c518;
  /* Card-specific surface (used by component overrides below) */
  --card:#f1f5f9;--cardbd:#d1d5db;
}
:root{
  --red:#e94560;--rs:rgba(233,69,96,.1);--pink:#ec4899;--blue:#3b82f6;--indigo:#6366f1;
  --orange:#f59e0b;--green:#10b981;--purple:#a855f7;--cyan:#06b6d4;--teal:#14b8a6;
  --sp1:4px;--sp2:8px;--sp3:12px;--sp4:16px;--sp5:20px;--sp6:24px;--sp7:32px;--sp8:48px;
  --r1:6px;--r2:10px;--r3:14px;--r4:20px;--r5:28px;
  --mono:ui-monospace,SFMono-Regular,Menlo,monospace;
  --sans:'Inter','Noto Sans Tamil',system-ui,sans-serif;
}

html,body{height:100%;overflow:hidden;overscroll-behavior:none;width:100%}
body{font-family:var(--sans);background:var(--bg);color:var(--t1);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;transition:background .3s,color .3s}
body[lang="ta"]{font-family:'Noto Sans Tamil','Inter',system-ui,sans-serif;line-height:1.7;font-weight:450}
body[lang="ta"] .pc-desc,body[lang="ta"] .hp-desc,body[lang="ta"] .sec-desc,body[lang="ta"] .p-sub,body[lang="ta"] .modal-sec p,body[lang="ta"] .ctx-txt p,body[lang="ta"] .mtl small,body[lang="ta"] .benefit-hero-s{font-weight:450}
body[lang="ta"] .sec-title,body[lang="ta"] .pc-title,body[lang="ta"] .hp-title,body[lang="ta"] .modal-title,body[lang="ta"] .dashboard-title-text h1,body[lang="ta"] .benefit-hero-t,body[lang="ta"] .p-headline,body[lang="ta"] .s-name,body[lang="ta"] .stk-title{font-weight:800}
button,input,textarea,select{font-family:inherit;color:inherit;border:none;outline:none;background:none}
button{cursor:pointer}
a{color:inherit;text-decoration:none}

/* ══ APP SHELL ══ */
.app{display:flex;flex-direction:column;height:100vh;height:100svh;height:100dvh;width:100%;max-width:100vw;overflow:hidden}
.body-row{display:flex;flex:1;min-height:0;min-width:0}

/* ══ HEADER ══ */
.hdr{background:linear-gradient(180deg,var(--s2),var(--bg));border-bottom:1px solid var(--bd);padding:var(--sp3);padding-top:calc(var(--sp3) + env(safe-area-inset-top,0px));flex-shrink:0;position:relative;z-index:10;min-width:0;overflow:hidden}
.hdr::after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--red),transparent);opacity:.55}
.hdr-top{display:flex;align-items:center;gap:var(--sp2);min-width:0;width:100%}
.brand{display:flex;align-items:center;gap:var(--sp2);flex:1;min-width:0;overflow:hidden;text-decoration:none;color:inherit;cursor:pointer}
.brand:hover .brand-text h1{color:var(--red)}
.brand-text{flex:1;min-width:0;overflow:hidden}
.logo{width:32px;height:32px;border-radius:50%;overflow:hidden;flex-shrink:0;box-shadow:0 2px 8px rgba(233,69,96,.35);background:#000}
.logo img,.logo svg{display:block;width:100%;height:100%;object-fit:cover}
.brand-text h1{font-size:13px;font-weight:800;color:var(--t1);letter-spacing:-.02em;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand-text p{font-size:8.5px;color:var(--t3);letter-spacing:.08em;font-weight:600;margin-top:1px;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:500px){
  .brand-text p{display:none}
  .hdr{padding:10px}
  .hdr-top{gap:6px}
  .logo{width:28px;height:28px;font-size:12px}
  .brand-text h1{font-size:12px}
  .tool-btn{width:30px;height:30px}
  .tool-btn.lang-btn{padding:0 6px;font-size:10px}
  .stat-chip{min-width:64px;padding:5px 10px}
  .stat-chip small{font-size:8.5px}
  .stat-chip b{font-size:12px}
  .bnav button{font-size:9px;padding:6px 2px 4px;min-height:50px}
  .bnav button svg{width:18px;height:18px}
}

.hdr-tools{display:flex;gap:var(--sp1);align-items:center;flex-shrink:0;position:relative}
.tool-btn{width:32px;height:32px;border-radius:var(--r1);display:flex;align-items:center;justify-content:center;color:var(--t2);transition:all .15s;font-size:11px;font-weight:700;background:var(--s1);border:1px solid var(--bd);flex-shrink:0}
.tool-btn:hover,.tool-btn.on{color:var(--red);border-color:var(--red)}
.tool-btn svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2}
.tool-btn.lang-btn{width:auto;min-width:32px;padding:0 7px;font-family:var(--sans);font-size:10.5px;letter-spacing:.02em}

.stats-bar{display:flex;gap:var(--sp2);overflow-x:auto;scrollbar-width:none;padding-top:var(--sp2);margin:0 calc(-1*var(--sp3));padding-left:var(--sp3);padding-right:var(--sp3)}
.stats-bar::-webkit-scrollbar{display:none}
.stat-chip{flex-shrink:0;background:var(--s1);padding:6px var(--sp3);border-radius:var(--r2);border:1px solid var(--bd);min-width:74px}
.stat-chip small{font-size:9px;color:var(--t3);text-transform:uppercase;letter-spacing:.08em;font-weight:600;display:block;line-height:1.4}
.stat-chip b{font-size:13px;color:var(--t1);font-weight:700;display:block;margin-top:2px;font-family:var(--mono);line-height:1.2}

/* ══ SIDEBAR (desktop only) ══ */
.sidebar{display:none;width:220px;flex-shrink:0;border-right:1px solid var(--bd);background:var(--s1);flex-direction:column;padding:var(--sp4)}
.side-title{font-size:9px;color:var(--t3);text-transform:uppercase;letter-spacing:.14em;font-weight:700;margin-bottom:var(--sp2);padding:0 var(--sp2)}
.side-nav{display:flex;flex-direction:column;gap:2px;flex:1}
.side-item{display:flex;align-items:center;gap:var(--sp3);padding:10px var(--sp3);border-radius:var(--r1);color:var(--t2);font-size:13px;font-weight:500;transition:all .15s;width:100%;text-align:left}
.side-item:hover{background:var(--s2);color:var(--t1)}
.side-item.on{background:var(--rs);color:var(--red);font-weight:600}
.side-item svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;flex-shrink:0}
.side-item .kbd{margin-left:auto;font-size:10px;color:var(--t4);font-family:var(--mono);padding:2px 5px;background:var(--s2);border-radius:3px}
.side-foot{display:flex;flex-direction:column;gap:4px;padding:var(--sp3) var(--sp2);border-top:1px solid var(--bd);font-size:10px;color:var(--t4);text-align:center;line-height:1.5}
.side-foot a{color:var(--t4);text-decoration:none;transition:color .15s}
.side-foot a:hover{color:var(--t2)}
.side-foot a span{color:var(--red);font-weight:700;letter-spacing:.05em;transition:color .15s}
.side-foot a:hover span{color:#ff3357}

/* ══ TAB CONTENT ══ */
.main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow-x:hidden;max-width:100%}
.tc{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:none;padding-bottom:calc(80px + env(safe-area-inset-bottom,0px));max-width:100%}
.tc.hidden{display:none}
.tab-sec{padding:var(--sp5) var(--sp4);max-width:100%;overflow-x:hidden}
.tab-sec+.tab-sec{border-top:1px solid var(--bd)}
.sec-label{font-size:10px;color:var(--red);font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin-bottom:var(--sp2)}
.sec-title{font-size:19px;font-weight:800;color:var(--t1);letter-spacing:-.025em;margin-bottom:var(--sp2);line-height:1.3}
.sec-desc{font-size:12.5px;color:var(--t3);line-height:1.65;margin-bottom:var(--sp5);max-width:640px}

.tab-foot{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;padding:var(--sp6) var(--sp4) var(--sp4);font-size:10px;color:var(--t4);letter-spacing:.04em;line-height:1.5}
.tab-foot a{color:var(--t4);text-decoration:none;transition:color .15s}
.tab-foot a:hover{color:var(--t2)}
.tab-foot a span{color:var(--red);font-weight:700;letter-spacing:.08em;transition:color .15s}
.tab-foot a:hover span{color:#ff3357}
.ig-link{display:inline-flex;align-items:center;justify-content:center;gap:5px;color:var(--t3)!important;font-weight:600;letter-spacing:.02em;line-height:1}
.ig-link svg{width:11px;height:11px;flex-shrink:0}
.ig-link:hover{color:#e6683c!important}
.foot-dm{color:var(--t4);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:600}
.foot-label{font-size:9px;color:var(--t4);letter-spacing:.14em;font-weight:700;text-transform:uppercase;margin-bottom:5px}
.foot-sep{height:1px;background:var(--bd);margin:6px 0;width:100%}
.tvk-official{display:flex;flex-direction:column;gap:2px;padding:2px 0 4px}
.tvk-links{display:flex;flex-direction:column;gap:3px;align-items:center}
.tvk-links a{display:inline-flex;align-items:center;gap:5px;justify-content:center;font-size:10.5px;color:var(--t2)!important;font-weight:600;letter-spacing:.02em;text-decoration:none}
.ico-sm{width:11px;height:11px;flex-shrink:0}
.tvk-links a:hover{color:var(--red)!important}

/* ══ BOTTOM NAV ══ */
.bnav{position:fixed;bottom:0;left:0;right:0;z-index:100;display:flex;background:var(--glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--bd);padding-bottom:env(safe-area-inset-bottom,0px);width:100%;max-width:100vw}
.bnav button{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:7px 2px 5px;min-height:52px;font-size:10px;font-weight:600;color:var(--t4);transition:color .15s;overflow:hidden}
.bnav button span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bnav button svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;flex-shrink:0}
.bnav button.on{color:var(--red)}
.bnav button.on svg{stroke-width:2.3}

/* ══ BUTTONS & CHIPS ══ */
.chip{display:inline-flex;align-items:center;gap:4px;padding:7px 12px;border-radius:100px;font-size:11px;font-weight:600;background:var(--s1);border:1px solid var(--bd);color:var(--t2);cursor:pointer;transition:all .15s;white-space:nowrap;min-height:36px}
.chip:hover{color:var(--t1);border-color:var(--bd2)}
.chip.on{background:var(--red);border-color:var(--red);color:#fff}
.chip b{font-weight:700;opacity:.7}
.chip-row{display:flex;gap:6px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:4px;margin:0 calc(-1*var(--sp4));padding-left:var(--sp4);padding-right:var(--sp4)}
.chip-row::-webkit-scrollbar{display:none}

.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:var(--r2);font-size:12px;font-weight:600;background:var(--red);color:#fff;transition:all .15s;min-height:40px}
.btn:hover{background:#ff3357}
.btn-ghost{background:var(--s1);border:1px solid var(--bd);color:var(--t2)}
.btn-ghost:hover{color:var(--t1);border-color:var(--bd2)}

/* ══ PULSE TAB ══ */
.pulse-hero{padding:var(--sp4) var(--sp4) var(--sp3);background:radial-gradient(ellipse at top,rgba(233,69,96,.08),transparent 70%);max-width:100%;overflow-x:hidden}
.dashboard-title{display:flex;align-items:center;gap:var(--sp3);margin-bottom:var(--sp3)}
.dashboard-title-text{flex:1;min-width:0}
.dashboard-title-text h1{font-size:clamp(18px,5vw,28px);font-weight:900;color:var(--t1);letter-spacing:-.02em;line-height:1.2}
.dashboard-title-text p{font-size:10px;color:var(--t3);letter-spacing:.12em;font-weight:600;text-transform:uppercase;margin-top:4px;line-height:1.4}
.dashboard-title-logo{width:48px;height:48px;border-radius:50%;overflow:hidden;flex-shrink:0;box-shadow:0 4px 16px rgba(233,69,96,.35);background:#000}
.dashboard-title-logo img,.dashboard-title-logo svg{display:block;width:100%;height:100%;object-fit:cover}
.home-toggles{display:flex;gap:var(--sp2);margin-bottom:var(--sp4);flex-wrap:wrap}
.home-toggle{display:flex;align-items:center;gap:var(--sp2);padding:9px var(--sp3);background:var(--s1);border:1px solid var(--bd);border-radius:var(--r2);font-size:11.5px;color:var(--t2);font-weight:600;transition:all .15s;min-height:40px;flex:1 1 140px}
.home-toggle:hover{border-color:var(--bd2);color:var(--t1)}
.home-toggle.on{border-color:var(--red);color:var(--red);background:var(--rs)}
.home-toggle svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2}
.home-toggle small{font-size:10px;opacity:.6;margin-left:auto}

.p-hook{font-size:10px;color:var(--red);letter-spacing:.2em;font-weight:700;text-transform:uppercase;margin-bottom:var(--sp1)}
.p-headline{font-size:clamp(22px,6vw,40px);font-weight:800;color:var(--t1);line-height:1.28;letter-spacing:-.025em;margin-bottom:var(--sp3)}
.p-headline em{font-style:normal;background:linear-gradient(135deg,var(--red),var(--pink));-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.p-sub{font-size:13px;color:var(--t2);line-height:1.65;margin-bottom:var(--sp4);max-width:560px}

.big-num-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp2)}
.big-num{background:var(--s1);border:1px solid var(--bd);border-radius:var(--r3);padding:var(--sp4);position:relative;overflow:hidden}
.big-num::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--red);opacity:.8}
.big-num .n{font-size:clamp(22px,5.5vw,36px);font-weight:800;font-family:var(--mono);color:var(--t1);letter-spacing:-.03em;line-height:1}
.big-num .l{font-size:10px;color:var(--t3);text-transform:uppercase;letter-spacing:.08em;font-weight:600;margin-top:8px;line-height:1.4}
.big-num .s{font-size:11px;color:var(--t2);margin-top:6px;line-height:1.55}

/* Promise hero cards — neutral card, single category dot (no full gradient) */
.hero-promises{display:grid;grid-template-columns:1fr;gap:var(--sp3)}
.hp{padding:var(--sp5) var(--sp5);border-radius:var(--r3);position:relative;overflow:hidden;cursor:pointer;transition:transform .15s,border-color .15s;background:var(--s1);border:1px solid var(--bd);border-left:3px solid var(--cat,var(--red))}
.hp:hover{transform:translateY(-2px);border-color:var(--bd2);border-left-color:var(--cat,var(--red))}
.hp-num{display:flex;align-items:center;gap:8px;font-size:9px;font-family:var(--mono);color:var(--t3);font-weight:700;letter-spacing:.12em}
.hp-dot{width:6px;height:6px;border-radius:50%;display:inline-block}
.hp-title{font-size:17px;font-weight:800;color:var(--t1);margin-top:8px;line-height:1.3;letter-spacing:-.02em}
.hp-desc{font-size:12px;color:var(--t2);margin-top:8px;line-height:1.65}
.hp-metric{display:inline-block;margin-top:var(--sp3);padding:5px 12px;background:var(--s2);border:1px solid var(--bd);border-radius:100px;font-size:13px;font-weight:700;color:var(--t1);font-family:var(--mono)}

/* Vijay spotlight */
.vjy-wrap{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp3)}
.vjy{background:linear-gradient(135deg,rgba(255,23,68,.15),rgba(233,69,96,.05));border:1px solid rgba(255,23,68,.3);border-radius:var(--r3);padding:var(--sp4);position:relative;cursor:pointer;transition:all .15s}
.vjy:hover{border-color:#ff1744;transform:translateY(-2px)}
.vjy-b{display:inline-block;font-size:9px;letter-spacing:.15em;color:#ff1744;font-weight:800;background:rgba(255,23,68,.15);padding:3px 8px;border-radius:4px;text-transform:uppercase}
.vjy-n{font-size:10px;color:var(--t3);font-family:var(--mono);margin-top:var(--sp2)}
.vjy-name{font-size:17px;font-weight:800;color:var(--t1);margin-top:3px;line-height:1.2;letter-spacing:-.02em}
.vjy-d{font-size:11px;color:var(--t2);margin-top:4px;line-height:1.45}
.vjy-stats{display:flex;gap:var(--sp3);margin-top:var(--sp3);padding-top:var(--sp3);border-top:1px solid var(--bd)}
.vjy-stat{flex:1}
.vjy-stat b{font-size:14px;color:var(--t1);font-family:var(--mono);font-weight:700;display:block}
.vjy-stat small{font-size:9px;color:var(--t3);text-transform:uppercase;letter-spacing:.06em;line-height:1.4;display:block;margin-top:2px}

/* Battle CTA */
.battle-cta{background:linear-gradient(135deg,rgba(239,68,68,.12),rgba(233,69,96,.04));border:1px solid rgba(239,68,68,.25);border-radius:var(--r3);padding:var(--sp6) var(--sp5);text-align:center;cursor:pointer;transition:all .2s}
.battle-cta:hover{border-color:#ef4444;transform:translateY(-2px)}
.battle-cta .big{font-size:clamp(40px,10vw,64px);font-weight:900;font-family:var(--mono);color:#ef4444;line-height:1;letter-spacing:-.04em}
.battle-cta .lbl{font-size:13px;color:var(--t1);font-weight:600;margin:var(--sp3) auto 0;line-height:1.5;max-width:520px}
.battle-cta .arrow{display:inline-block;margin-top:var(--sp3);font-size:12px;color:var(--red);font-weight:600;letter-spacing:.05em}

/* Mini timeline */
.mini-tl{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp2)}
.mtl{background:var(--s1);border:1px solid var(--bd);border-radius:var(--r2);padding:var(--sp4);border-left:3px solid var(--red)}
.mtl b{font-size:10px;color:var(--red);font-weight:700;letter-spacing:.1em;text-transform:uppercase;display:block}
.mtl p{font-size:12px;color:var(--t1);font-weight:600;margin-top:6px;line-height:1.45}
.mtl small{font-size:10px;color:var(--t3);margin-top:4px;display:block;line-height:1.55}

/* ══ PROMISES TAB ══ */
.persona-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp2);margin-bottom:var(--sp4)}
.pers{background:var(--s1);border:1px solid var(--bd);border-radius:var(--r2);padding:10px;cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:10px;min-height:56px;min-width:0}
.pers:hover{border-color:var(--bd2)}
.pers.on{background:var(--rs);border-color:var(--red)}
.pers-ic{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;background:var(--s2)}
.pers-txt{flex:1;min-width:0;overflow:hidden}
.pers-txt b{font-size:12px;font-weight:700;color:var(--t1);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pers-txt small{font-size:10px;color:var(--t3);display:block;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.pg{display:grid;grid-template-columns:1fr;gap:var(--sp2)}
.pc{background:var(--s1);border:1px solid var(--bd);border-radius:var(--r2);padding:18px 18px 18px 20px;cursor:pointer;transition:all .15s;position:relative;display:flex;flex-direction:column;gap:10px;min-height:180px}
.pc:hover{border-color:var(--bd2);transform:translateY(-1px)}
.pc-tag{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:2px 8px;border-radius:3px;display:inline-block;margin-bottom:8px}
.pc-title{font-size:14px;font-weight:700;color:var(--t1);line-height:1.35;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}
.pc-desc{font-size:12px;color:var(--t2);line-height:1.55;overflow:hidden;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;flex:1}
.pc > .pc-metric{align-self:flex-start;margin-bottom:2px}
.pc-foot{display:flex;align-items:center;gap:var(--sp2);margin-top:var(--sp2)}
.pc-metric{font-size:10.5px;font-weight:800;padding:2px 8px;border-radius:4px;font-family:var(--mono);letter-spacing:.02em;line-height:1.4}
.pc-ben{font-size:10px;color:var(--t3)}

/* Modal */
.modal{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:var(--sp4);background:var(--scrim);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.modal.on{display:flex}
.modal-box{background:var(--s1);border:1px solid var(--bd2);border-radius:var(--r3);max-width:520px;width:100%;max-height:85vh;overflow-y:auto;-webkit-overflow-scrolling:touch}
.modal-hd{padding:var(--sp4);border-bottom:1px solid var(--bd);position:sticky;top:0;background:var(--s1);z-index:1}
.modal-tag{font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:3px 8px;border-radius:3px;display:inline-block;margin-bottom:8px}
.modal-title{font-size:20px;font-weight:800;color:var(--t1);line-height:1.2;letter-spacing:-.02em}
.modal-x{position:absolute;top:var(--sp3);right:var(--sp3);width:32px;height:32px;border-radius:50%;background:var(--s2);display:flex;align-items:center;justify-content:center;color:var(--t2);font-size:16px}
.modal-body{padding:var(--sp4)}
.modal-sec{margin-bottom:var(--sp4)}
.modal-sec h4{font-size:10px;color:var(--t3);letter-spacing:.14em;text-transform:uppercase;font-weight:700;margin-bottom:var(--sp2)}
.modal-sec p{font-size:13px;color:var(--t1);line-height:1.55}
.ctx-row{display:flex;gap:var(--sp2);padding:var(--sp3);background:var(--s2);border-radius:var(--r1);margin-bottom:var(--sp2);border-left:3px solid var(--ctx-c,var(--red))}
.ctx-ic{font-size:14px;flex-shrink:0}
.ctx-txt{flex:1}
.ctx-txt b{font-size:10px;color:var(--ctx-c,var(--red));font-weight:700;letter-spacing:.08em;text-transform:uppercase;display:block;margin-bottom:3px}
.ctx-txt p{font-size:12px;color:var(--t1);line-height:1.5}
.modal-ft{padding:var(--sp3) var(--sp4);border-top:1px solid var(--bd);display:flex;gap:var(--sp2)}

/* ══ HEAD TO HEAD ══ */
.h2h-grid{display:grid;grid-template-columns:1fr;gap:var(--sp2)}
.h2h{background:var(--s1);border:1px solid var(--bd);border-radius:var(--r2);padding:var(--sp4)}
.h2h-label{font-size:11px;color:var(--t3);font-weight:600;margin-bottom:var(--sp2)}
.h2h-tvk{font-size:18px;font-weight:800;color:var(--red);font-family:var(--mono);margin-bottom:4px}
.h2h-tvk small{font-size:10px;color:var(--t3);font-family:var(--sans);text-transform:uppercase;letter-spacing:.08em;margin-left:6px}
.h2h-row{display:flex;align-items:center;gap:var(--sp2);margin-top:6px;font-size:11px;color:var(--t2);font-family:var(--mono)}
.h2h-row b{font-family:var(--sans);font-weight:600;color:var(--t3);min-width:54px;font-size:10px;letter-spacing:.06em}

/* ══ TREEMAP ══ */
.tree{display:grid;grid-template-columns:1fr 1fr;gap:3px}
.trc{display:flex;flex-direction:column;justify-content:center;padding:12px;border-radius:var(--r1);position:relative;overflow:hidden;min-height:72px;border:1px solid var(--bd)}
.trc::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.04),transparent);pointer-events:none}
.trc .a{font-size:16px;font-weight:800;color:#fff;font-family:var(--mono)}
.trc .lb{font-size:9px;color:rgba(255,255,255,.75);margin-top:2px;text-transform:uppercase;letter-spacing:.04em}
.trc.big{grid-column:span 2;min-height:90px}
.trc.big .a{font-size:24px}
/* Single-family red gradient, size-encoded by tier */
.tr-1{background:linear-gradient(135deg,#9f0d2b,#e94560)}
.tr-2{background:linear-gradient(135deg,#7a0a22,#c01640)}
.tr-3{background:linear-gradient(135deg,#5e0919,#9f0d2b)}
.tr-4{background:linear-gradient(135deg,#42060f,#7a0a22)}
.tr-5{background:linear-gradient(135deg,#2a0408,#4a0812)}
.tr-6{background:linear-gradient(135deg,#1b0205,#2a0408)}

/* Payout cards — monochrome, single red accent dot */
.pay-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp2)}
.pay{background:var(--s1);border:1px solid var(--bd);border-radius:var(--r2);padding:var(--sp3);text-align:center;position:relative}
.pay::before{content:'';position:absolute;top:8px;left:8px;width:4px;height:4px;border-radius:50%;background:var(--red);opacity:.7}
.pay-amt{font-size:16px;font-weight:800;font-family:var(--mono);color:var(--t1)}
.pay-lbl{font-size:10px;color:var(--t3);margin-top:3px;line-height:1.4}

/* Before/after */
.ba-row{margin-bottom:var(--sp3)}
.ba-label{font-size:12px;font-weight:500;color:var(--t2);margin-bottom:var(--sp1)}
.ba-track{height:30px;background:var(--s1);border:1px solid var(--bd);border-radius:var(--r1);overflow:hidden;position:relative}
.ba-fill{height:100%;border-radius:var(--r1);display:flex;align-items:center;padding-left:10px;font-size:11px;font-weight:700;color:#fff;transition:width 1.2s cubic-bezier(.16,1,.3,1);width:0}
.ba-pct{font-size:12px;font-weight:700;font-family:var(--mono);margin-top:var(--sp1);display:inline-block}

/* ══ MAP TAB ══ */
.map-intro{padding:var(--sp5) var(--sp4) 0;max-width:100%}
@media(min-width:1024px){.map-intro{padding:var(--sp6) var(--sp7) 0;max-width:1200px;margin:0 auto;width:100%}}
@media(min-width:1440px){.map-intro{max-width:1360px}}
.home-wrap{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0}
/* At desktop, home-wrap spans the same 1200/1360 container as .tab-sec but relies on
   its child .map-area's own padding for the left gutter (no double-padding). */
@media(min-width:1024px){.home-wrap{max-width:1200px;margin:0 auto;width:100%;box-sizing:border-box;padding:0}}
@media(min-width:1440px){.home-wrap{max-width:1360px}}
@media(min-width:1024px){.map-area{padding:var(--sp6) var(--sp7);min-width:0}}
.map-area{display:flex;flex-direction:column;gap:var(--sp3);padding:var(--sp4);flex:1;min-height:0;min-width:0}
.map-bar{display:flex;gap:var(--sp2);flex-wrap:wrap;min-width:0}
.ov-desc{font-size:11px;color:var(--t3);line-height:1.5;padding:0 var(--sp1);min-height:1em;letter-spacing:.01em}
.m-search{flex:1;min-width:0;position:relative}
.m-search input{width:100%;padding:10px 12px 10px 34px;background:var(--s1);border:1px solid var(--bd);border-radius:var(--r2);color:var(--t1);font-size:16px;height:42px;-webkit-appearance:none}
.m-search input:focus{border-color:var(--red)}
.m-search::before{content:"";position:absolute;left:11px;top:21px;transform:translateY(-50%);width:14px;height:14px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") center/contain no-repeat;pointer-events:none;z-index:2}
.sug-box{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:50;background:var(--s1);border:1px solid var(--bd2);border-radius:var(--r2);max-height:320px;overflow-y:auto;-webkit-overflow-scrolling:touch;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.sug-i{display:flex;flex-direction:column;gap:2px;padding:10px 14px;cursor:pointer;border-bottom:1px solid var(--bd);min-height:44px}
.sug-i:last-child{border-bottom:none}
.sug-i:hover{background:var(--rs)}
.sug-i b{font-size:13px;color:var(--t1);font-weight:600}
.sug-i span{font-size:11px;color:var(--t3);font-family:var(--mono)}
.map-box{flex:none;height:52vh;max-height:480px;min-height:360px;background:radial-gradient(ellipse at center,rgba(233,69,96,.04),transparent);border-radius:var(--r2);border:1px solid var(--bd);overflow:hidden;position:relative}
/* Desktop: map-area content fills its natural flex share; chip-row must not break edges */
@media(min-width:768px){
  .map-area .chip-row{margin-left:0;margin-right:0;padding-left:0;padding-right:0}
  .map-area .m-list-h{padding:0 4px;margin-top:var(--sp2)}
}
.map-box svg{width:100%;height:100%;display:block;touch-action:manipulation}
.map-box path.ac{stroke:rgba(255,255,255,.35);stroke-width:.4;cursor:pointer;transition:fill-opacity .12s,filter .12s}
.map-box path.ac:hover{fill-opacity:1;filter:brightness(1.15);stroke:#fff;stroke-width:.7}
.map-box path.ac.on{stroke:#fff;stroke-width:1.4;filter:brightness(1.2) drop-shadow(0 0 4px rgba(255,255,255,.4))}
.map-box path.ac.dim{fill-opacity:.18}
.map-box path.ac.vijay{stroke:#ff1744;stroke-width:1}
[data-theme="light"] .map-box path.ac{stroke:rgba(0,0,0,.18)}
[data-theme="light"] .map-box path.ac.on{stroke:#111;stroke-width:1.6}
.dot-hit{fill:transparent;cursor:pointer}
.map-leg{position:absolute;bottom:var(--sp2);left:var(--sp2);background:var(--scrim);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:var(--sp2);border-radius:var(--r1);font-size:10px;color:var(--t2);border:1px solid var(--bd);display:flex;gap:10px;flex-wrap:wrap;pointer-events:none}
.leg-i{display:flex;align-items:center;gap:4px}
.leg-d{width:6px;height:6px;border-radius:50%}
.m-list{max-height:180px;overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1;min-height:0}
.m-list-h{font-size:9px;color:var(--t3);text-transform:uppercase;letter-spacing:.08em;font-weight:600;padding:0 var(--sp2);margin-bottom:var(--sp1)}
.mli{display:flex;align-items:center;gap:var(--sp2);padding:var(--sp2);border-radius:var(--r1);cursor:pointer;min-height:40px}
.mli:active,.mli.on{background:var(--rs)}
.mli-n{width:28px;font-size:10px;color:var(--t4);font-family:var(--mono)}
.mli-d{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.mli-nm{flex:1;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--t1)}
.mli-nm.vijay{color:#ff1744;font-weight:700}
.mli-v{font-size:11px;color:var(--t3);font-family:var(--mono)}

.detail{background:var(--s1);border-top:1px solid var(--bd);overflow-y:auto;-webkit-overflow-scrolling:touch;padding:var(--sp4);flex-shrink:0;max-height:60vh}
.det-empty{padding:var(--sp6) var(--sp4);text-align:center}
.det-empty svg{width:40px;height:40px;margin:0 auto var(--sp3);opacity:.25;display:block}
.det-empty p{font-size:13px;color:var(--t3);line-height:1.5}
.dc{background:var(--s2);border-radius:var(--r2);padding:var(--sp4);border:1px solid var(--bd);margin-bottom:var(--sp3)}
.dc-hero{background:linear-gradient(135deg,var(--rs),transparent);border-color:rgba(233,69,96,.2)}
.badges{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:var(--sp2)}
.badge{font-size:9px;padding:3px 8px;border-radius:var(--r1);font-weight:700;color:#fff;letter-spacing:.02em}
.sn{font-size:10px;color:var(--t3);font-family:var(--mono)}
.s-name{font-size:20px;font-weight:800;color:var(--t1);letter-spacing:-.02em;line-height:1.2;margin-top:3px}
.s-dist{font-size:12px;color:var(--t2);margin-top:4px;line-height:1.45}
.cand-box{margin-top:var(--sp3);padding:var(--sp3);background:rgba(0,0,0,.2);border-radius:var(--r1)}
[data-theme="light"] .cand-box{background:rgba(0,0,0,.04)}
.cb-label{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--red);font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.cb-row{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--sp2);margin-top:var(--sp2);position:relative;overflow:hidden}
.cb-avatar{width:140px;height:140px;border-radius:50%;object-fit:cover;flex-shrink:0;background:#1a1a2e;border:3px solid rgba(255,23,68,.4);position:relative;z-index:1;box-shadow:0 4px 14px rgba(0,0,0,.22)}
.cb-info{flex:1;min-width:0}
.cb-name{font-size:16px;color:var(--t1);font-weight:700;line-height:1.25}
.cb-role{font-size:10.5px;color:var(--red);font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-top:3px;line-height:1.35}
.cb-edu{font-size:10.5px;color:var(--t3);font-family:var(--mono);margin-top:2px;line-height:1.35;word-break:break-word}

/* Candidate card avatar */
.cc-av-wrap{width:120px;height:120px;border-radius:50%;overflow:hidden;flex-shrink:0;background:#1a1a2e;position:relative;border:3px solid rgba(204,16,16,.25);box-shadow:0 4px 14px rgba(0,0,0,.12);margin-bottom:var(--sp2)}
.cc-av{width:100%;height:100%;object-fit:cover;display:block}
.cc-role{display:block;font-size:9.5px;color:var(--red);font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-top:2px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Vjy avatar — centered above badge */
.vjy{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--sp4)}
.vjy-av{width:104px;height:104px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,23,68,.45);background:#1a1a2e;box-shadow:0 4px 14px rgba(255,23,68,.25);display:block;margin:0 auto 8px}
.vjy-b{align-self:center}
.vjy-stats{width:100%;text-align:center}
.vjy-stat b,.vjy-stat small{text-align:center}
.demo-t{font-size:9px;color:var(--t3);text-transform:uppercase;letter-spacing:.08em;font-weight:600;margin-bottom:var(--sp2)}
.demo-g{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:var(--sp2);margin-bottom:var(--sp3);padding-bottom:var(--sp3);border-bottom:1px solid var(--bd)}
.demo-c{text-align:center}
.demo-c .n{font-size:18px;font-weight:800;color:var(--t1);font-family:var(--mono)}
.demo-c .n.bl{color:#60a5fa}.demo-c .n.pk{color:#f472b6}
.demo-c .l{font-size:9px;color:var(--t3);text-transform:uppercase;letter-spacing:.06em;margin-top:2px}
.kpi-g{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp2)}
.kpi{background:rgba(0,0,0,.15);border-radius:var(--r1);padding:var(--sp2);text-align:center}
[data-theme="light"] .kpi{background:rgba(0,0,0,.04)}
.kpi .v{font-size:15px;font-weight:800;font-family:var(--mono)}
.kpi .l{font-size:9px;color:var(--t3);margin-top:2px;text-transform:uppercase}
.bat{background:rgba(239,68,68,.08);border-left:3px solid #ef4444;padding:var(--sp2) var(--sp3);border-radius:var(--r1)}
.bat b{font-size:11px;color:#f87171;font-weight:700;display:block}
.bat span{font-size:10px;color:var(--t3);margin-top:2px;display:block}

/* 2021 result in detail panel */
.p21-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.p21-win{font-size:11px;font-weight:800;padding:4px 10px;border-radius:var(--r1);color:#fff;letter-spacing:.04em;font-family:var(--mono)}
.p21-run{font-size:10px;font-weight:700;padding:3px 8px;border-radius:var(--r1);letter-spacing:.04em}
.p21-txt{font-size:12px;color:var(--t2);line-height:1.5}
.p21-txt b{color:var(--t1);font-family:var(--mono);font-weight:700}
.p21-wn{font-size:14px;font-weight:700;color:var(--t1);margin-bottom:var(--sp2);line-height:1.3}
.p21-turnout{font-size:10px;color:var(--t3);margin-left:auto;font-family:var(--mono);letter-spacing:.02em}
.p21-mpct{font-size:11px;color:var(--t3);font-family:var(--mono);margin-left:4px}

/* 2026 opposition in detail panel */
.opp-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--bd)}
.opp-row:last-child{border-bottom:none}
.opp-p{font-size:10px;font-weight:800;padding:3px 10px;border-radius:var(--r1);letter-spacing:.04em;min-width:62px;text-align:center}
.opp-n{font-size:12px;color:var(--t1);font-weight:500;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.opp-n.opp-tba{color:var(--t4);font-style:italic;font-weight:400}
.party-flag{display:inline-flex;align-items:center;justify-content:center;min-width:56px;padding:3px 8px;border-radius:3px;font-size:10px;font-weight:800;letter-spacing:.04em;color:#fff;text-align:center;box-shadow:0 1px 2px rgba(0,0,0,.2);flex-shrink:0}
.crown{font-size:12px;margin-left:2px;filter:drop-shadow(0 1px 2px rgba(251,191,36,.5))}
.opp-row.opp-won .opp-n{font-weight:700}
.opp-row.opp-won{background:linear-gradient(90deg,rgba(251,191,36,.08),transparent);border-radius:4px;padding-left:4px;margin-left:-4px}
.opp-row .opp-n{font-size:13px;font-weight:600}

/* Local issues */
.dc-issues .demo-t{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.issue-conf{font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-family:var(--mono);margin-left:auto}
.issue-row{display:flex;gap:8px;align-items:flex-start;padding:6px 0;border-bottom:1px solid var(--bd);font-size:11.5px;line-height:1.45}
.issue-row:last-child{border-bottom:none}
.issue-ic{font-size:13px;line-height:1.3;flex-shrink:0;width:16px;text-align:center}
.issue-sev{font-size:8.5px;font-weight:800;letter-spacing:.04em;padding:2px 5px;border-radius:3px;font-family:var(--mono);min-width:32px;text-align:center;line-height:1.3;align-self:center;flex-shrink:0}
.issue-sev.s-high{background:rgba(239,68,68,.15);color:#ef4444}
.issue-sev.s-med{background:rgba(245,158,11,.15);color:#f59e0b}
.issue-sev.s-low{background:rgba(16,185,129,.15);color:#10b981}
.issue-t{flex:1;color:var(--t2);min-width:0}

/* Strongholds section */
.sh-grid{display:grid;grid-template-columns:1fr;gap:var(--sp2)}
.sh-card{background:var(--s1);border:1px solid var(--bd);border-left-width:3px;border-radius:var(--r2);padding:var(--sp3);display:flex;align-items:center;gap:var(--sp3)}
.sh-n{font-size:28px;font-weight:900;font-family:var(--mono);flex-shrink:0;min-width:50px;text-align:center;letter-spacing:-.02em}
.sh-l{font-size:13px;font-weight:700;color:var(--t1);line-height:1.3}
.sh-s{font-size:10px;color:var(--t3);margin-top:4px;line-height:1.45}
@media(min-width:640px){.sh-grid{grid-template-columns:repeat(3,1fr)}.sh-card{flex-direction:column;text-align:center;gap:var(--sp1)}}

/* Flip list */
.flip-list{display:flex;flex-direction:column;gap:6px}
.flip-r{display:flex;align-items:center;gap:var(--sp2);padding:var(--sp2) var(--sp3);background:var(--s1);border:1px solid var(--bd);border-radius:var(--r1);cursor:pointer;transition:all .15s}
.flip-r:hover{border-color:var(--bd2)}
.flip-r.on{background:var(--rs);border-color:var(--red);box-shadow:0 0 0 2px rgba(204,16,16,.15)}
.flip-r.on .nm{color:var(--red);font-weight:700}
.flip-r .rk{width:24px;font-size:10px;color:var(--t4);font-family:var(--mono);font-weight:700}
.flip-r .nm{flex:1;font-size:12px;color:var(--t1);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.flip-r .mg{font-size:11px;font-family:var(--mono);font-weight:700;color:#ef4444}
.flip-r .bar{width:50px;height:4px;background:var(--s3);border-radius:2px;overflow:hidden;flex-shrink:0}
.flip-r .bar span{display:block;height:100%;background:linear-gradient(90deg,#ef4444,#f59e0b);border-radius:2px}

/* ══ CANDIDATES TAB ══ */
.cs-row{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp2);margin-bottom:var(--sp4)}
.cs{background:var(--s1);padding:var(--sp3);border-radius:var(--r2);border:1px solid var(--bd);border-left-width:3px;text-align:center}
.cs b{font-size:20px;font-weight:800;color:var(--t1);font-family:var(--mono);display:block}
.cs small{font-size:9px;color:var(--t3);text-transform:uppercase;letter-spacing:.06em}
.sort-row{display:flex;gap:var(--sp2);align-items:center;margin-bottom:var(--sp3);font-size:11px;color:var(--t3)}
/* Candidates tab: breathing room between search · filters · sort rows */
.cand-search{margin-bottom:var(--sp4)!important}
.cand-filters-row{margin-bottom:var(--sp4)}
.cand-sort{margin-top:var(--sp2);margin-bottom:var(--sp5)}
.cand-sort select{min-height:38px;padding:8px 12px}
#candOut{margin-top:var(--sp4)}
.cs-row{margin-bottom:var(--sp5)}
.sort-row select{padding:8px 10px;background:var(--s1);border:1px solid var(--bd);border-radius:var(--r1);color:var(--t1);font-size:12px;min-height:36px}
.view-toggle{display:flex;gap:2px;background:var(--s1);border:1px solid var(--bd);border-radius:var(--r1);padding:2px}
.vt{padding:6px 10px;border-radius:4px;font-size:10px;color:var(--t3);font-weight:600;letter-spacing:.05em;text-transform:uppercase}
.vt.on{background:var(--rs);color:var(--red)}
.cg{display:grid;grid-template-columns:1fr;gap:18px}
@media(min-width:560px){.cg{grid-template-columns:repeat(2,1fr)}}
@media(min-width:960px){.cg{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1440px){.cg{grid-template-columns:repeat(4,1fr)}}
.cc{background:var(--s1);padding:20px;border-radius:var(--r2);display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--sp1);border:1px solid var(--bd);transition:border-color .15s,transform .15s,box-shadow .15s;cursor:pointer;min-height:260px}
.cc:hover{border-color:var(--bd2);transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.08)}
.cc-i{width:120px;height:120px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800;flex-shrink:0;font-family:var(--mono);margin-bottom:var(--sp2);border:3px solid rgba(204,16,16,.22)}
.cc-inf{width:100%;min-width:0;display:flex;flex-direction:column;align-items:center;gap:3px}
.cc-inf b{font-size:14px;color:var(--t1);display:block;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:700}
.cc-inf small{font-size:11px;color:var(--t3);display:block;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.cc-role{display:block;font-size:10px;color:var(--red);font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-top:4px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.cc-bds{display:flex;gap:3px;flex-wrap:wrap;justify-content:center;margin-top:6px}
.cc-bd{font-size:8px;padding:2px 6px;border-radius:4px;font-weight:700;color:#fff;letter-spacing:.02em}

.dist-grp{margin-bottom:var(--sp3);background:var(--s1);border:1px solid var(--bd);border-radius:var(--r2);overflow:hidden}
.dist-hd{padding:var(--sp3);display:flex;align-items:center;gap:var(--sp2);cursor:pointer;min-height:50px}
.dist-hd b{font-size:13px;font-weight:700;color:var(--t1);flex:1}
.dist-hd small{font-size:10px;color:var(--t3)}
.dist-hd .arr{transition:transform .2s}
.dist-grp.open .dist-hd .arr{transform:rotate(90deg);color:var(--red)}
.dist-body{display:none;padding:0 var(--sp3) var(--sp3)}
.dist-grp.open .dist-body{display:block;padding-top:var(--sp2);border-top:1px solid var(--bd)}

/* List view */
.cl{background:var(--s1);border:1px solid var(--bd);border-radius:var(--r2);overflow:hidden}
.cl-r{display:flex;align-items:center;gap:var(--sp2);padding:var(--sp2) var(--sp3);border-bottom:1px solid var(--bd);min-height:44px}
.cl-r:last-child{border-bottom:none}
.cl-r .n{width:30px;font-size:10px;color:var(--t4);font-family:var(--mono)}
.cl-r .nm{flex:1;font-size:12px;color:var(--t1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cl-r .cd{width:120px;font-size:11px;color:var(--t3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}
.cl-r .bds{display:flex;gap:2px;flex-shrink:0}

/* ══ TIMELINE ══ */
.tl{position:relative;padding:var(--sp3) 0}
.tl-line{position:absolute;left:18px;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--red),var(--purple),var(--cyan));opacity:.25}
.tl-i{display:flex;gap:var(--sp3);margin-bottom:var(--sp3);position:relative}
.tl-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:5px;position:relative;z-index:2;box-shadow:0 0 0 4px var(--bg)}
.tl-c{background:var(--s1);border:1px solid var(--bd);border-radius:var(--r2);padding:var(--sp3);flex:1}
.tl-ph{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px}
.tl-c h4{font-size:13px;font-weight:700;color:var(--t1);margin-bottom:3px}
.tl-c p{font-size:11px;color:var(--t2);line-height:1.5}

/* ══ NEWS BELL + PANEL ══ */
.bell-btn{position:relative}
.bell-dot{position:absolute;top:4px;right:4px;width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 0 2px var(--bg);animation:news-pulse 2s ease-in-out infinite}
.news-panel{position:fixed;top:64px;right:var(--sp3);z-index:250;width:min(340px,calc(100vw - 32px));max-height:min(460px,calc(100vh - 80px));overflow-y:auto;background:var(--s1);border:1px solid var(--bd2);border-radius:var(--r2);padding:8px;box-shadow:0 10px 32px rgba(0,0,0,.3);display:flex;flex-direction:column;gap:6px}
.news-panel[hidden]{display:none}
@media(min-width:768px){.news-panel{top:72px}}
.news-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:var(--s2);border:1px solid var(--bd);border-left:3px solid var(--red);border-radius:var(--r1);cursor:pointer;transition:border-color .15s,background .15s;position:relative}
.news-item:hover{border-color:var(--bd2);background:var(--s3)}
.news-emoji{font-size:18px;line-height:1.3;flex-shrink:0}
@keyframes news-pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.85}}
.news-txt{flex:1;font-size:12px;line-height:1.4;color:var(--t1);font-weight:600;min-width:0}
.news-close{width:20px;height:20px;border-radius:50%;background:transparent;color:var(--t3);font-size:14px;line-height:1;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s;border:none}
.news-close:hover{background:var(--s3);color:var(--t1)}
.news-empty{padding:24px 12px;text-align:center;font-size:12px;color:var(--t3)}

/* ══ BENEFIT HERO (Pulse primary CTA) ══ */
.benefit-hero{display:flex;align-items:stretch;gap:0;background:linear-gradient(135deg,#121221 0%,#1a0e18 60%,#2a0d1a 100%);border:1px solid rgba(233,69,96,.35);border-radius:var(--r4);overflow:hidden;cursor:pointer;transition:transform .2s,border-color .2s,box-shadow .2s;position:relative;margin-bottom:var(--sp4);min-height:150px;box-shadow:0 6px 24px rgba(233,69,96,.08)}
.benefit-hero:hover{transform:translateY(-2px);border-color:var(--red);box-shadow:0 10px 32px rgba(233,69,96,.18)}
.benefit-hero::after{content:"";position:absolute;top:0;right:0;width:40%;height:100%;background:linear-gradient(135deg,transparent 40%,rgba(233,69,96,.15) 70%,rgba(251,191,36,.12) 100%);pointer-events:none}
.benefit-hero-l{flex:1;padding:var(--sp5) var(--sp5);display:flex;flex-direction:column;justify-content:center;position:relative;z-index:1;min-width:0}
.benefit-hero-eyebrow{font-size:10px;color:var(--red);font-weight:800;letter-spacing:.18em;text-transform:uppercase;margin-bottom:var(--sp2)}
.benefit-hero-t{font-size:clamp(20px,5.5vw,30px);font-weight:900;color:var(--t1);letter-spacing:-.025em;line-height:1.2}
.benefit-hero-s{font-size:12.5px;color:var(--t2);margin-top:var(--sp2);line-height:1.55;max-width:420px}
.benefit-hero-cta{display:inline-flex;align-items:center;gap:8px;margin-top:var(--sp4);padding:10px 20px;background:var(--red);color:#fff;border-radius:100px;font-size:13px;font-weight:700;letter-spacing:.02em;align-self:flex-start;transition:background .15s}
.benefit-hero-cta span{font-size:16px;transition:transform .2s}
.benefit-hero:hover .benefit-hero-cta{background:#ff3357}
.benefit-hero:hover .benefit-hero-cta span{transform:translateX(4px)}
.benefit-hero-r{width:0;flex-shrink:0}
@media(min-width:640px){
  .benefit-hero-r{width:120px;background:
    radial-gradient(circle at 60% 40%, rgba(251,191,36,.35), transparent 55%),
    radial-gradient(circle at 30% 70%, rgba(233,69,96,.3), transparent 50%)}
}

/* ══ PHILOSOPHY (Vetri) ══ */
.philo-thesis{font-size:clamp(17px,4vw,26px);font-weight:800;font-style:italic;color:var(--red);margin:var(--sp2) 0 var(--sp3);line-height:1.3;letter-spacing:-.01em;text-align:center;padding:0 var(--sp2)}
.philo-lede{font-size:13px;color:var(--t2);line-height:1.65;max-width:620px;margin:0 auto var(--sp4);text-align:center;padding:0 var(--sp2)}
/* v-sec: uniform horizontal padding for first 3 Vetri sections */
.v-sec{max-width:1100px;margin:0 auto;width:100%}
.philo-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--sp2);margin-bottom:var(--sp4)}

/* ══ PILLAR VIZ — architectural columns supporting TVK lintel ══ */
.pillar-viz{display:flex;flex-direction:column;gap:0;margin-top:var(--sp4);padding:0 var(--sp2)}
.pillar-lintel{height:42px;background:linear-gradient(90deg,#7a0a22 0%,#cc1010 25%,#fbbf24 50%,#cc1010 75%,#7a0a22 100%);display:flex;align-items:center;justify-content:center;border-radius:4px 4px 2px 2px;box-shadow:0 4px 14px rgba(204,16,16,.28),inset 0 1px 0 rgba(255,255,255,.15);position:relative;z-index:2}
.pillar-lintel::after{content:"";position:absolute;bottom:-4px;left:8px;right:8px;height:4px;background:linear-gradient(180deg,#5a0818,#3a0510);border-radius:0 0 3px 3px}
.pillar-lintel span{color:#fff;font-weight:900;letter-spacing:.16em;font-size:12.5px;font-family:var(--sans);text-shadow:0 1px 2px rgba(0,0,0,.4)}
.pillar-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:0;margin-top:12px;align-items:start}
.pillar-col{display:flex;flex-direction:column;align-items:center;gap:10px}
.pillar-shaft{position:relative;width:54px;height:150px;margin-top:12px;background:linear-gradient(90deg,#52483f 0%,#7d7166 20%,#a89d92 50%,#7d7166 80%,#52483f 100%);border-radius:2px;box-shadow:inset 1px 0 0 rgba(255,255,255,.08),inset -1px 0 0 rgba(0,0,0,.2),0 2px 6px rgba(0,0,0,.15)}
.pillar-cap{position:absolute;top:-10px;left:-8px;right:-8px;height:10px;background:var(--pc);border-radius:2px 2px 0 0;box-shadow:0 -2px 6px color-mix(in srgb,var(--pc) 45%,transparent),inset 0 1px 0 rgba(255,255,255,.3)}
.pillar-cap::before{content:"";position:absolute;top:-4px;left:-2px;right:-2px;height:4px;background:linear-gradient(180deg,var(--pc),color-mix(in srgb,var(--pc) 60%,#000));border-radius:2px 2px 0 0}
.pillar-flute{position:absolute;inset:4px 6px;background:repeating-linear-gradient(90deg,transparent 0 6px,rgba(0,0,0,.14) 6px 7px);pointer-events:none;border-radius:1px}
.pillar-base-deco{position:absolute;bottom:-12px;left:-10px;right:-10px;height:12px;background:linear-gradient(180deg,#52483f 0%,#2d2620 80%,#1a1510 100%);border-radius:2px;box-shadow:0 3px 8px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.08)}
.pillar-info{text-align:center;padding:0 4px;margin-top:6px}
.pillar-ic{font-size:26px;line-height:1;margin-bottom:6px;filter:drop-shadow(0 2px 4px color-mix(in srgb,var(--pc) 35%,transparent))}
.pillar-info b{display:block;font-size:16px;font-weight:800;color:var(--t1);letter-spacing:-.01em;line-height:1.15}
.pillar-info span{display:block;font-size:11px;color:var(--pc);font-weight:700;letter-spacing:.02em;margin-top:2px}
.pillar-info q{display:block;font-size:12px;color:var(--t2);margin-top:8px;font-style:italic;line-height:1.45;quotes:"\201C" "\201D";font-weight:500}
.pillar-info q::before{content:open-quote;opacity:.5;margin-right:1px}
.pillar-info q::after{content:close-quote;opacity:.5;margin-left:1px}
[data-theme="light"] .pillar-shaft{background:linear-gradient(90deg,#b8ada0 0%,#d5cdc0 20%,#ebe4d8 50%,#d5cdc0 80%,#b8ada0 100%);box-shadow:inset 1px 0 0 rgba(255,255,255,.4),inset -1px 0 0 rgba(0,0,0,.12),0 2px 6px rgba(0,0,0,.08)}
[data-theme="light"] .pillar-base-deco{background:linear-gradient(180deg,#8a7d6d,#4a3f35)}
[data-theme="light"] .pillar-flute{background:repeating-linear-gradient(90deg,transparent 0 6px,rgba(0,0,0,.08) 6px 7px)}
@media(max-width:480px){
  .pillar-shaft{width:42px;height:118px}
  .pillar-lintel span{font-size:10.5px;letter-spacing:.12em}
  .pillar-lintel{height:36px}
  .pillar-info b{font-size:14px}
  .pillar-info q{font-size:11px}
  .pillar-ic{font-size:22px}
}
.philo-card{padding:var(--sp3);border-radius:var(--r2);border:1px solid var(--bd);border-top:3px solid var(--pc);background:var(--s1);text-align:center}
.philo-ttl{font-size:11px;font-weight:800;color:var(--pc);letter-spacing:.06em;margin-bottom:4px}
.philo-q{font-size:11.5px;color:var(--t1);font-weight:600;line-height:1.4;min-height:2.6em}
.philo-sub{font-size:9px;color:var(--t3);margin-top:4px;letter-spacing:.1em;font-family:var(--mono)}
@media(max-width:480px){.philo-grid{grid-template-columns:1fr;gap:6px}}
.leader-strip{display:flex;gap:var(--sp2);overflow-x:auto;scrollbar-width:none;padding-bottom:4px;margin-bottom:var(--sp4)}
.leader-strip::-webkit-scrollbar{display:none}
.leader{flex:0 0 auto;min-width:110px;padding:var(--sp2);background:var(--s1);border:1px solid var(--bd);border-radius:var(--r2);text-align:center}
.leader-av{width:128px;height:128px;border-radius:50%;background:linear-gradient(135deg,var(--red),#fbbf24);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:36px;margin:0 auto 12px;overflow:hidden;border:3px solid rgba(255,255,255,.12);box-shadow:0 6px 20px rgba(0,0,0,.22)}
[data-theme="light"] .leader-av{border-color:rgba(0,0,0,.08);box-shadow:0 4px 14px rgba(0,0,0,.08)}
.leader-av img{width:100%;height:100%;object-fit:cover;display:block}
.leader{min-width:180px;padding:var(--sp4) var(--sp3)}
.leader-n{font-size:13px;font-weight:800;color:var(--t1);line-height:1.2}
.leader-r{font-size:10.5px;color:var(--t3);margin-top:4px;line-height:1.35}
.leader-strip{gap:var(--sp3);padding:var(--sp2) 2px var(--sp3)}
.leader-n{font-size:11px;font-weight:700;color:var(--t1);line-height:1.25}
.leader-r{font-size:9.5px;color:var(--t3);margin-top:2px;line-height:1.3}

/* ══ FISCAL CARD ══ */
.fiscal-card{background:linear-gradient(135deg,rgba(239,68,68,.08),rgba(251,191,36,.04));border:1px solid rgba(239,68,68,.28);border-radius:var(--r3);padding:var(--sp4);margin-bottom:var(--sp4)}
.fiscal-hdr{font-size:10px;font-weight:800;letter-spacing:.15em;color:#ef4444;margin-bottom:var(--sp2)}
.fiscal-row{display:flex;align-items:baseline;gap:var(--sp3);margin-bottom:var(--sp2)}
.fiscal-num{font-size:clamp(22px,5vw,32px);font-weight:900;font-family:var(--mono);color:#ef4444;letter-spacing:-.02em;line-height:1;flex-shrink:0}
.fiscal-lbl{font-size:12px;color:var(--t2);line-height:1.4}
.fiscal-line{font-size:11.5px;color:var(--t2);font-style:italic;line-height:1.55;padding:var(--sp2) 0;border-top:1px solid var(--bd);border-bottom:1px solid var(--bd);margin:var(--sp2) 0}
.fiscal-ans{margin-top:var(--sp3);margin-bottom:0;padding-top:var(--sp3);border-top:1px solid var(--bd)}

/* ══ ECONOMY VISION CARD ══ */
.econ-card{background:linear-gradient(135deg,#1a1a2e 0%,#4a0812 50%,#7a0a22 100%);border:1px solid rgba(251,191,36,.35);border-radius:var(--r3);padding:var(--sp5) var(--sp4);color:#fff;position:relative;overflow:hidden;box-shadow:0 8px 28px rgba(204,16,16,.2)}
.econ-card::after{content:"";position:absolute;top:-50%;right:-20%;width:300px;height:300px;background:radial-gradient(circle,rgba(251,191,36,.22),transparent 60%);pointer-events:none}
.econ-eyebrow{font-size:10px;color:#fbbf24;font-weight:800;letter-spacing:.18em;margin-bottom:var(--sp2);position:relative;z-index:1}
.econ-num{font-size:clamp(36px,11vw,60px);font-weight:900;font-family:var(--mono);color:#fbbf24;letter-spacing:-.04em;line-height:1;position:relative;z-index:1}
.econ-num span{font-size:.35em;color:#fff;margin-left:8px;font-weight:700;letter-spacing:.04em;vertical-align:top;display:inline-block;margin-top:8px}
.econ-lbl{font-size:14px;color:rgba(255,255,255,.92);margin-top:var(--sp2);font-weight:600;position:relative;z-index:1}
.econ-sub{font-size:11.5px;color:rgba(255,255,255,.7);margin-top:var(--sp2);line-height:1.55;max-width:520px;position:relative;z-index:1}

/* ══ 5-YEAR VISION TIMELINE ══ */
.vision-tl{position:relative;padding:var(--sp2) 0}
.vtl-line{position:absolute;left:26px;top:30px;bottom:30px;width:3px;background:linear-gradient(to bottom,#ef4444,#f59e0b,#ec4899,#10b981,#6366f1);border-radius:3px;opacity:.4}
.vtl-yr{display:flex;gap:var(--sp3);padding:var(--sp3) 0;position:relative}
.vtl-dot{width:54px;height:54px;border-radius:50%;background:var(--yc,var(--red));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-family:var(--mono);font-size:18px;flex-shrink:0;box-shadow:0 0 0 4px var(--bg),0 4px 14px rgba(0,0,0,.25);z-index:1;letter-spacing:-.02em}
[data-theme="light"] .vtl-dot{box-shadow:0 0 0 4px var(--bg),0 4px 12px rgba(0,0,0,.12)}
.vtl-body{flex:1;min-width:0;padding-top:4px}
.vtl-hd{font-size:11px;color:var(--yc,var(--red));font-weight:800;letter-spacing:.14em;margin-bottom:var(--sp2)}
.vtl-body ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}
.vtl-body li{font-size:12.5px;color:var(--t1);line-height:1.5;padding-left:16px;position:relative}
.vtl-body li::before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:var(--yc,var(--red));opacity:.65}

/* ══ TECH BENTO ══ TVK red + gold brand */
.bento{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;grid-auto-flow:dense}
@media(min-width:720px){.bento{grid-template-columns:repeat(4,1fr);gap:12px}}
.bento-c{position:relative;padding:14px 14px 12px;background:var(--s1);border:1px solid var(--bd);border-radius:var(--r2);overflow:hidden;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex;flex-direction:column;gap:6px;min-height:110px}
.bento-c::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--red),#fbbf24);opacity:.75}
.bento-c:hover{border-color:var(--bd2);transform:translateY(-2px);box-shadow:0 6px 18px rgba(204,16,16,.12)}
.bento-hero{grid-column:span 2;grid-row:span 2;min-height:232px;padding:20px;background:linear-gradient(135deg,var(--s1) 0%,rgba(204,16,16,.04) 100%)}
.bento-hero::before{height:3px}
@media(min-width:720px){.bento-med{grid-column:span 2}}
.bento-emoji{position:absolute;right:10px;bottom:6px;font-size:56px;line-height:1;filter:grayscale(1) contrast(.85);opacity:.14;pointer-events:none;z-index:0}
.bento-hero .bento-emoji{font-size:140px;right:-10px;bottom:-18px;opacity:.1}
.bento-tag,.bento-body{position:relative;z-index:1}
.bento-tag{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;padding:3px 8px;font-size:9.5px;font-weight:800;letter-spacing:.08em;color:var(--pc,var(--red));background:color-mix(in srgb,var(--pc,var(--red)) 10%,transparent);border:1px solid color-mix(in srgb,var(--pc,var(--red)) 28%,transparent);border-radius:3px;font-family:var(--mono);line-height:1.4}
.philo-bento{grid-template-columns:1fr}
@media(min-width:640px){.philo-bento{grid-template-columns:repeat(3,1fr)}}
.philo-bento .bento-c{min-height:140px}
.philo-bento .bento-c::before{background:linear-gradient(90deg,var(--pc),var(--pc) 40%,#fbbf24)}
.bento-body{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.bento-body em{font-size:13px;font-weight:800;color:var(--t1);font-style:normal;line-height:1.25}
.bento-body span{font-size:11px;color:var(--t3);line-height:1.5;margin-top:2px}
.bento-hero .bento-tag{font-size:10px;padding:4px 10px;background:var(--red);color:#fff;border:none}
.bento-hero .bento-body em{font-size:clamp(18px,2.4vw,24px);line-height:1.22;letter-spacing:-.015em}
.bento-hero .bento-body span{font-size:13px;color:var(--t2);line-height:1.55;max-width:520px}
[data-theme="light"] .bento-c{box-shadow:0 1px 3px rgba(0,0,0,.04)}
[data-theme="light"] .bento-c:hover{box-shadow:0 6px 22px rgba(204,16,16,.12)}
[data-theme="light"] .bento-hero{background:linear-gradient(135deg,#ffffff 0%,#fff5f5 100%)}

/* ══ TOURISM STRIP ══ */
.tour-strip{display:flex;gap:var(--sp2);overflow-x:auto;scrollbar-width:none;padding-bottom:4px;margin:0 calc(-1*var(--sp4));padding-left:var(--sp4);padding-right:var(--sp4)}
.tour-strip::-webkit-scrollbar{display:none}
.tour-c{flex:0 0 auto;min-width:130px;padding:var(--sp3);background:var(--s1);border:1px solid var(--bd);border-left:3px solid #8b5cf6;border-radius:var(--r2);display:flex;flex-direction:column;gap:6px}
.tour-c b{font-size:18px;font-weight:900;color:var(--t1);font-family:var(--mono)}
.tour-c span{font-size:11px;color:var(--t2);line-height:1.35;font-weight:600}

/* ══ 5-column timeline variant ══ */
.mini-tl-5{grid-template-columns:repeat(2,1fr)}
@media(min-width:640px){.mini-tl-5{grid-template-columns:repeat(5,1fr)}}

/* ══ Vertical TIMELINE (First 100 Days) ══ */
.tml{position:relative;padding:var(--sp2) 0 var(--sp2) 0}
.tml-line{position:absolute;left:17px;top:22px;bottom:22px;width:2px;background:linear-gradient(to bottom,#ef4444,#f59e0b,#ec4899,#10b981,#6366f1);border-radius:2px;opacity:.55}
.tml-item{display:flex;align-items:flex-start;gap:var(--sp3);padding:var(--sp3) 0;position:relative}
.tml-dot{width:36px;height:36px;border-radius:50%;background:var(--d,var(--red));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-family:var(--mono);font-size:11px;flex-shrink:0;box-shadow:0 0 0 4px var(--bg),0 2px 8px rgba(0,0,0,.25);z-index:1;letter-spacing:-.02em}
.tml-body{flex:1;min-width:0;padding-top:2px}
.tml-body b{display:block;font-size:10px;color:var(--d,var(--red));font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.tml-body p{font-size:14px;color:var(--t1);font-weight:700;line-height:1.3;margin-top:4px}
.tml-body small{display:block;font-size:11px;color:var(--t3);margin-top:3px;font-family:var(--mono)}
[data-theme="light"] .tml-dot{box-shadow:0 0 0 4px var(--bg),0 2px 8px rgba(0,0,0,.12)}

/* ══ PILLAR CHIPS (Manifesto) ══ */
.mani-wrap{display:block;width:100%;max-width:100%}
.mani-wrap > *{margin-left:0;margin-right:0}
.mani-wrap .persona-grid,.mani-wrap .pillar-chips,.mani-wrap .thoon-chips,.mani-wrap .view-row,.mani-wrap .const-wrap,.mani-wrap .pg,.mani-wrap .flat-grid,.mani-wrap .sec-label,.mani-wrap .sec-title,.mani-wrap .sec-desc{width:100%;box-sizing:border-box}
/* #promiseGrid was a grid container in the old layout; now it just holds .flat-grid */
.mani-wrap #promiseGrid{display:block;grid-template-columns:none}
/* Manifesto's promises tab-sec gets more room than other tab-secs */
#tab1 .tab-sec:has(.mani-wrap){max-width:1600px}
.pillar-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:var(--sp3)}
.pchip{padding:7px 14px;border-radius:100px;font-size:11px;font-weight:700;background:var(--s1);border:1px solid var(--bd);color:var(--t2);cursor:pointer;transition:all .15s;letter-spacing:.02em}
.pchip.on{background:var(--pc,var(--red));border-color:var(--pc,var(--red));color:#fff}
.pchip:hover:not(.on){border-color:var(--pc,var(--bd2));color:var(--pc,var(--t1))}

.thoon-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:var(--sp3)}
.tchip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px 5px 6px;height:30px;border-radius:100px;background:var(--s1);border:1.5px solid var(--pc,var(--bd));color:var(--pc,var(--t2));font-weight:700;font-size:11px;cursor:pointer;transition:all .15s;letter-spacing:.01em}
.tchip b{display:flex;align-items:center;justify-content:center;min-width:20px;height:20px;font-family:var(--mono);font-size:10.5px;font-weight:800;background:var(--pc);color:#fff;border-radius:50%;padding:0 5px}
.tchip span{color:var(--pc)}
.tchip.on{background:var(--pc);border-color:var(--pc);color:#fff;box-shadow:0 2px 8px color-mix(in srgb,var(--pc) 35%,transparent)}
.tchip.on b{background:#fff;color:var(--pc)}
.tchip.on span{color:#fff}
.tchip:hover:not(.on){background:color-mix(in srgb,var(--pc) 10%,transparent)}

/* ══ THOON GROUPS ══ */
.thoon-grp{margin-bottom:var(--sp5);border-left:3px solid var(--pc);padding-left:var(--sp3)}
.thoon-hd{display:flex;align-items:center;gap:var(--sp3);padding-bottom:var(--sp3)}
.thoon-n{width:32px;height:32px;border-radius:8px;background:var(--pc);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-family:var(--mono);font-size:14px;flex-shrink:0}
.thoon-ti{flex:1;min-width:0}
.thoon-ti b{display:block;font-size:15px;color:var(--t1);font-weight:800;line-height:1.25}
.thoon-ti small{font-size:10px;color:var(--pc);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.thoon-ct{font-size:11px;color:var(--t3);font-family:var(--mono);font-weight:700}
.thoon-body{display:grid;grid-template-columns:1fr;gap:var(--sp2)}
@media(min-width:640px){.thoon-body{grid-template-columns:repeat(2,1fr)}}
@media(min-width:960px){.thoon-body{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1280px){.thoon-body{grid-template-columns:repeat(4,1fr)}}
.flat-grid{display:grid;grid-template-columns:1fr;gap:12px;width:100%;box-sizing:border-box}
@media(min-width:640px){.flat-grid{grid-template-columns:repeat(2,1fr);gap:14px}}
@media(min-width:960px){.flat-grid{grid-template-columns:repeat(3,1fr);gap:16px}}
@media(min-width:1200px){.flat-grid{grid-template-columns:repeat(4,1fr);gap:16px}}
.flat-grid > .pc{min-width:0}
.pc-top{display:flex;align-items:center;gap:6px;margin-bottom:2px}
.pc-thoon{font-size:9.5px;font-weight:800;letter-spacing:.08em;padding:2px 6px;border-radius:3px;background:var(--pc,var(--red));color:#fff;font-family:var(--mono)}
.pc{border-left:3px solid var(--pc,var(--red))}
.pc-scheme-pill{display:inline-block;font-size:10px;color:var(--red);background:rgba(204,16,16,.08);border:1px solid rgba(204,16,16,.25);padding:2px 8px;border-radius:3px;font-weight:700;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}
.modal-scheme{font-size:11px;color:var(--red);font-weight:700;letter-spacing:.05em;margin-top:6px;font-style:italic}
.pc-foot{display:flex;gap:6px;flex-wrap:wrap;align-items:center}

/* ══ VIEW TOGGLE (Promises) ══ */
.view-row{display:flex;justify-content:flex-end;margin-bottom:var(--sp3)}
#promView{display:inline-flex;background:var(--s1);border:1px solid var(--bd);border-radius:var(--r2);padding:3px;gap:2px}
#promView .vt{padding:7px 14px;border-radius:6px;font-size:11px;font-weight:600;color:var(--t3);letter-spacing:.04em;text-transform:none;transition:all .15s}
#promView .vt.on{background:var(--rs);color:var(--red)}

/* ══ CONSTELLATION ══ */
.const-wrap{background:radial-gradient(ellipse at center,rgba(233,69,96,.04),transparent 70%);border:1px solid var(--bd);border-radius:var(--r3);overflow:hidden;margin-bottom:var(--sp4)}
.const-head{display:flex;align-items:flex-end;justify-content:space-between;padding:var(--sp4) var(--sp4) 0;gap:var(--sp3)}
.const-counter{min-width:0;flex:1}
.const-n{font-size:clamp(24px,6vw,38px);font-weight:900;font-family:var(--mono);color:var(--t1);letter-spacing:-.03em;line-height:1.05;min-height:1em}
.const-l{font-size:10px;color:var(--t3);text-transform:uppercase;letter-spacing:.1em;font-weight:700;margin-top:4px}
.const-sub{text-align:right;flex-shrink:0}
.const-count{font-size:12px;color:var(--red);font-weight:700;font-family:var(--mono)}
.const-hint{font-size:10px;color:var(--t4);margin-top:3px}
.const-stage{position:relative;aspect-ratio:1;max-height:520px;margin:0 auto;width:100%}
.const-svg{width:100%;height:100%;display:block}
.const-star circle{transition:opacity .15s}
.const-star:hover circle:nth-child(1){opacity:.35}
.const-star:active{transform-origin:center}
.const-label{font-family:var(--sans);font-size:8.5px;fill:#fff;cursor:pointer;opacity:0;transition:opacity .35s ease,fill-opacity .15s;dominant-baseline:middle;paint-order:stroke;stroke:rgba(8,8,15,.7);stroke-width:2.5px;stroke-linejoin:round}
body[lang="ta"] .const-label{font-size:9px}
.const-label.filled{font-weight:700;fill-opacity:1}
.const-label.outline{font-weight:500;fill-opacity:.6}
.const-label.on{opacity:1}
.const-label:hover{fill:#fbbf24;fill-opacity:1}
@media(max-width:767px){.const-label{font-size:7.5px}.const-label.outline{fill-opacity:.4}body[lang="ta"] .const-label{font-size:8px}}
.const-foot{padding:0 var(--sp4) var(--sp4);display:flex;justify-content:center}
.const-share{font-weight:600}
@media(min-width:768px){
  .const-stage{max-height:560px;max-width:560px}
}

/* ══ QUIZ WIZARD ══ */
.q-progress{display:flex;gap:6px;margin-top:var(--sp3)}
.q-dot{width:24px;height:4px;border-radius:2px;background:var(--s3);transition:background .2s}
.q-dot.done{background:var(--red);opacity:.5}
.q-dot.on{background:var(--red)}
.q-opts{display:grid;grid-template-columns:1fr;gap:var(--sp2)}
@media(min-width:480px){.q-opts{grid-template-columns:1fr 1fr}}
.q-opt{display:flex;align-items:center;gap:var(--sp3);padding:var(--sp3) var(--sp4);background:var(--s2);border:1px solid var(--bd);border-radius:var(--r2);cursor:pointer;transition:all .15s;min-height:54px;width:100%;text-align:left}
.q-opt:hover{border-color:var(--red);background:var(--rs);transform:translateX(2px)}
.q-opt-ic{font-size:22px;flex-shrink:0;width:32px;text-align:center}
.q-opt-l{flex:1;font-size:14px;color:var(--t1);font-weight:600;line-height:1.3}

/* ══ SHARE MENU (compact action sheet — desktop fallback for Web Share API) ══ */
.share-menu{position:fixed;inset:0;z-index:400;background:var(--scrim);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:flex-end;justify-content:center;padding:var(--sp4);padding-bottom:calc(var(--sp4) + env(safe-area-inset-bottom,0px));opacity:0;transition:opacity .2s}
.share-menu.on{opacity:1}
.share-menu-box{background:var(--s1);border:1px solid var(--bd);border-radius:var(--r4);padding:var(--sp4);width:100%;max-width:360px;display:flex;flex-direction:column;gap:var(--sp2);transform:translateY(20px);transition:transform .25s cubic-bezier(.2,.9,.3,1);box-shadow:0 -10px 40px rgba(0,0,0,.25)}
.share-menu.on .share-menu-box{transform:translateY(0)}
.share-menu-title{font-size:11px;color:var(--t3);text-transform:uppercase;letter-spacing:.14em;font-weight:700;text-align:center;margin-bottom:var(--sp2)}
.share-opt{display:flex;align-items:center;gap:var(--sp3);padding:12px var(--sp4);background:var(--s2);border:1px solid var(--bd);border-radius:var(--r2);font-size:14px;font-weight:600;color:var(--t1);cursor:pointer;transition:all .15s;min-height:52px;width:100%;text-align:left;text-decoration:none}
.share-opt:hover{border-color:var(--bd2);background:var(--s3)}
.share-ic{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
@media(min-width:640px){.share-menu{align-items:center}.share-menu-box{max-width:320px}}
.share-cancel{padding:10px;font-size:13px;color:var(--t3);font-weight:600;margin-top:var(--sp1);background:transparent;border:none}
.share-cancel:hover{color:var(--t1)}

/* ══ TOAST ══ */
.toast{position:fixed;bottom:80px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--t1);color:var(--bg);padding:10px 18px;border-radius:100px;font-size:12px;font-weight:600;opacity:0;transition:all .3s;z-index:300;pointer-events:none;box-shadow:0 4px 20px rgba(0,0,0,.25)}
.toast.on{opacity:1;transform:translateX(-50%) translateY(0)}

/* ══ MISC ══ */
.pulse-r{animation:pr 2s ease-in-out infinite}
@keyframes pr{0%,100%{opacity:.3}50%{opacity:0}}
.dot{cursor:pointer}
.fade-in{animation:fi .4s ease forwards}
@keyframes fi{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.count-up{display:inline-block}

/* ══ TABLET ══ */
@media(min-width:640px){
  .big-num-grid{grid-template-columns:repeat(4,1fr)}
  .hero-promises{grid-template-columns:repeat(3,1fr)}
  .persona-grid{grid-template-columns:repeat(3,1fr)}
  .mini-tl{grid-template-columns:repeat(4,1fr)}
  .tree{grid-template-columns:repeat(4,1fr)}
  .trc.big{grid-column:span 2}
  .pay-grid{grid-template-columns:repeat(5,1fr)}
  .cs-row{grid-template-columns:repeat(5,1fr)}
  .pg{grid-template-columns:repeat(2,1fr)}
  .cg{grid-template-columns:repeat(2,1fr)}
  .h2h-grid{grid-template-columns:repeat(2,1fr)}
}
@media(min-width:768px){
  .hdr{padding:var(--sp4) var(--sp5)}
  .brand-text h1{font-size:16px}
  .home-wrap{flex-direction:row}
  .map-area{flex:1;padding:var(--sp4);min-width:0}
  .map-box{flex:1;height:auto;max-height:none;min-height:560px;max-width:620px;margin:0 auto;width:100%;aspect-ratio:340/490}
  .detail{width:340px;flex-shrink:0;border-left:1px solid var(--bd);border-top:none;max-height:none}
  .m-list{max-height:220px;max-width:620px;margin:0 auto}
  .s-name{font-size:24px}
  .tab-sec{padding:var(--sp6) var(--sp5)}
  .sec-title{font-size:26px}
  .sec-desc{font-size:14px}
  .p-headline{font-size:52px}
  .pulse-hero{padding:var(--sp8) var(--sp5) var(--sp6)}
  .dashboard-title-logo{width:56px;height:56px;font-size:24px}
  .sort-row{flex-wrap:wrap}
}
@media(min-width:1024px){
  .bnav{display:none}
  .sidebar{display:flex}
  .tc{padding-bottom:var(--sp6)}
  .detail{width:400px}
  .pg{grid-template-columns:repeat(3,1fr)}
  .cg{grid-template-columns:repeat(3,1fr)}
  .h2h-grid{grid-template-columns:repeat(3,1fr)}
  .hero-promises{grid-template-columns:repeat(3,1fr)}
  .vjy-wrap{grid-template-columns:1fr 1fr}
  .tab-sec{padding:var(--sp7) var(--sp7);max-width:1200px;margin:0 auto;width:100%}
  .pulse-hero{max-width:1200px;margin:0 auto}
  .p-headline{font-size:64px}
}
@media(min-width:1440px){
  .pg,.cg{grid-template-columns:repeat(4,1fr)}
  .tab-sec{max-width:1360px}
}

/* ══ LIGHT THEME — TVK-aligned overrides (comprehensive contrast pass) ══ */
/* Matches tvkvijay.com: crisp surfaces, solid crimson blocks, gold-on-red accents.
   Cards use --card (#f1f5f9) + --cardbd (#d1d5db) so they pop off the --bg (#f8fafc) page.
   All text meets WCAG AA (4.5:1) on its own surface. Dark theme 100% untouched. */

/* ── 1. Card surfaces: distinct from page bg + solid border ── */
[data-theme="light"] .pc,
[data-theme="light"] .hp,
[data-theme="light"] .big-num,
[data-theme="light"] .cc,
[data-theme="light"] .cs,
[data-theme="light"] .mtl,
[data-theme="light"] .h2h,
[data-theme="light"] .pay,
[data-theme="light"] .sh-card,
[data-theme="light"] .flip-r,
[data-theme="light"] .dist-grp,
[data-theme="light"] .cl,
[data-theme="light"] .dc,
[data-theme="light"] .cand-box,
[data-theme="light"] .vjy,
[data-theme="light"] .pers,
[data-theme="light"] .home-toggle{background:var(--card);border:1px solid var(--cardbd);box-shadow:0 1px 2px rgba(15,23,42,.04)}
[data-theme="light"] .vjy{background:linear-gradient(135deg,#fff1f2,#fff7ed);border-color:#fda4af}
[data-theme="light"] .dc-hero{background:linear-gradient(135deg,#fee2e2,#fff);border-color:#fca5a5}
[data-theme="light"] .pc:hover,
[data-theme="light"] .hp:hover,
[data-theme="light"] .cc:hover,
[data-theme="light"] .pers:hover,
[data-theme="light"] .home-toggle:hover{border-color:#9ca3af;box-shadow:0 4px 12px rgba(15,23,42,.08)}

/* Card internal color usage — ensure text reads on card bg */
[data-theme="light"] .pc-title,
[data-theme="light"] .hp-title,
[data-theme="light"] .sec-title,
[data-theme="light"] .s-name,
[data-theme="light"] .modal-title,
[data-theme="light"] .vjy-name,
[data-theme="light"] .dashboard-title-text h1{color:#111827}
[data-theme="light"] .pc-desc,
[data-theme="light"] .hp-desc,
[data-theme="light"] .modal-sec p,
[data-theme="light"] .ctx-txt p,
[data-theme="light"] .p-sub,
[data-theme="light"] .sec-desc{color:#1f2937}
[data-theme="light"] .pc-ben,
[data-theme="light"] .vjy-d,
[data-theme="light"] .s-dist,
[data-theme="light"] .stat-chip small,
[data-theme="light"] .big-num .l,
[data-theme="light"] .big-num .s,
[data-theme="light"] .modal-sec h4{color:#4b5563}

/* ── 3. Index / candidate avatar circle: full saturation in light ── */
[data-theme="light"] .cc-i{background:var(--col,#4f46e5)!important;color:#fff!important;font-weight:800}

/* ── 4. Filter chips: visible border + darker text when inactive ── */
[data-theme="light"] .chip{background:#ffffff;border:1px solid #d1d5db;color:#374151}
[data-theme="light"] .chip:hover{border-color:#6b7280;color:#111827;background:#f9fafb}
[data-theme="light"] .chip.on{background:var(--red);border-color:var(--red);color:#fff}
[data-theme="light"] .chip b{opacity:.85}
[data-theme="light"] .chip.on b{opacity:1}

/* ── 5. Stat chips: stronger border + slightly grey bg ── */
[data-theme="light"] .stat-chip{background:#f3f4f6;border:1px solid #d1d5db}
[data-theme="light"] .stat-chip b{color:#111827}
[data-theme="light"] .stat-chip small{color:#4b5563;font-weight:700}

/* ── 6. Search inputs + sort selects: visible border ── */
[data-theme="light"] .m-search input,
[data-theme="light"] .sort-row select{background:#ffffff;border:1px solid #d1d5db;color:#111827}
[data-theme="light"] .m-search input:focus,
[data-theme="light"] .sort-row select:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(204,16,16,.12)}
[data-theme="light"] .m-search input::placeholder{color:#9ca3af}

/* ── 7. Badges (VIJAY/KEY/BATTLE/WOMAN/SC/ST etc.) — full opacity ── */
[data-theme="light"] .cc-bd,
[data-theme="light"] .badge,
[data-theme="light"] .vjy-b,
[data-theme="light"] .p21-win{color:#fff!important;font-weight:800}
[data-theme="light"] .cc-bd{box-shadow:0 1px 2px rgba(0,0,0,.15)}

/* Category tags (.pc-tag, .modal-tag, .stk-tag, .opp-p, .p21-run) use inline alpha
   styles; bump visual weight by adding outline + stronger text contrast. */
[data-theme="light"] .pc-tag,
[data-theme="light"] .modal-tag{font-weight:800;border:1px solid currentColor;padding:3px 9px}
[data-theme="light"] .opp-p{font-weight:800;border:1px solid currentColor}
[data-theme="light"] .p21-run{font-weight:700}
[data-theme="light"] .stk-tag{font-weight:800}

/* ── 8. Header / sidebar / bottom nav — clear separation ── */
[data-theme="light"] .hdr{background:linear-gradient(180deg,#fff,#fbfbfc);border-bottom:1px solid #d1d5db}
[data-theme="light"] .hdr::after{opacity:.9}
[data-theme="light"] .logo{box-shadow:0 2px 10px rgba(204,16,16,.25)}
[data-theme="light"] .dashboard-title-logo{box-shadow:0 4px 18px rgba(204,16,16,.22)}
[data-theme="light"] .sidebar{background:#ffffff;border-right:1px solid #d1d5db;box-shadow:inset -1px 0 0 #e5e7eb}
[data-theme="light"] .side-item:hover{background:#f3f4f6}
[data-theme="light"] .bnav{background:rgba(255,255,255,.96);border-top:1px solid #d1d5db;box-shadow:0 -4px 20px rgba(15,23,42,.08)}
[data-theme="light"] .bnav button{color:#6b7280}
[data-theme="light"] .bnav button.on{color:var(--red)}

/* ── Tables, treemap, timeline — keep readable on white ── */
[data-theme="light"] .h2h-label{color:#1f2937;font-weight:700}
[data-theme="light"] .h2h-row{color:#1f2937}
[data-theme="light"] .h2h-row b{color:#4b5563}
[data-theme="light"] .h2h-tvk{color:var(--red)}

/* ── Benefit hero, headline, treemap red family (unchanged behavior) ── */
[data-theme="light"] .benefit-hero{background:linear-gradient(135deg,#cc1010 0%,#a80d0d 60%,#800808 100%);border:none;box-shadow:0 10px 32px rgba(204,16,16,.18)}
[data-theme="light"] .benefit-hero::after{background:linear-gradient(135deg,transparent 30%,rgba(245,197,24,.35) 65%,rgba(245,197,24,.55) 100%)}
[data-theme="light"] .benefit-hero-eyebrow{color:var(--gold)}
[data-theme="light"] .benefit-hero-t{color:#fff}
[data-theme="light"] .benefit-hero-s{color:rgba(255,255,255,.88)}
[data-theme="light"] .benefit-hero-cta{background:var(--gold);color:#7a0a0a}
[data-theme="light"] .benefit-hero:hover .benefit-hero-cta{background:#fdd835}
[data-theme="light"] .benefit-hero-r{background:radial-gradient(circle at 60% 40%,rgba(245,197,24,.6),transparent 55%),radial-gradient(circle at 30% 70%,rgba(255,255,255,.25),transparent 50%)}
[data-theme="light"] .p-headline em{background:none;-webkit-text-fill-color:var(--red);color:var(--red)}
[data-theme="light"] .pulse-hero{background:radial-gradient(ellipse at top,rgba(204,16,16,.06),transparent 70%)}
[data-theme="light"] .battle-cta{background:linear-gradient(135deg,rgba(204,16,16,.08),rgba(245,197,24,.04));border-color:rgba(204,16,16,.28)}
[data-theme="light"] .battle-cta .big{color:var(--red)}

/* Treemap — richer reds read better on white */
[data-theme="light"] .tr-1{background:linear-gradient(135deg,#cc1010,#ff3838);border-color:transparent}
[data-theme="light"] .tr-2{background:linear-gradient(135deg,#a80d0d,#cc1010);border-color:transparent}
[data-theme="light"] .tr-3{background:linear-gradient(135deg,#850a0a,#a80d0d);border-color:transparent}
[data-theme="light"] .tr-4{background:linear-gradient(135deg,#660808,#850a0a);border-color:transparent}
[data-theme="light"] .tr-5{background:linear-gradient(135deg,#4a0606,#660808);border-color:transparent}
[data-theme="light"] .tr-6{background:linear-gradient(135deg,#300404,#4a0606);border-color:transparent}

/* Map area + constellation (constellation pinned dark) */
[data-theme="light"] .map-box{background:radial-gradient(ellipse at center,rgba(204,16,16,.05),#fff);border-color:#d1d5db}
[data-theme="light"] .const-wrap{background:#0a0a12;border-color:rgba(204,16,16,.3)}
[data-theme="light"] .const-n{color:#fff}
[data-theme="light"] .const-l{color:rgba(255,255,255,.55)}
[data-theme="light"] .const-count{color:var(--gold)}
[data-theme="light"] .const-hint{color:rgba(255,255,255,.45)}
[data-theme="light"] .const-share{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.18)}
[data-theme="light"] .const-share:hover{background:rgba(255,255,255,.14)}

/* Modal polish */
[data-theme="light"] .modal-box{background:#ffffff;border:1px solid #d1d5db;box-shadow:0 20px 60px rgba(15,23,42,.25)}
[data-theme="light"] .modal-hd{background:#ffffff;border-bottom:1px solid #e5e7eb}
[data-theme="light"] .ctx-row{background:#f3f4f6;border:1px solid #e5e7eb}

/* Legacy block kept intentionally empty — the older overrides below are superseded */
[data-theme="light"] .hdr{background:linear-gradient(180deg,#fff,#fbfbfc)}
[data-theme="light"] .hdr::after{opacity:.9}
[data-theme="light"] .logo{box-shadow:0 2px 10px rgba(204,16,16,.25)}
[data-theme="light"] .dashboard-title-logo{box-shadow:0 4px 18px rgba(204,16,16,.22)}

/* Benefit hero — solid TVK-red block with gold stripe, white type */
[data-theme="light"] .benefit-hero{background:linear-gradient(135deg,#cc1010 0%,#a80d0d 60%,#800808 100%);border:none;box-shadow:0 10px 32px rgba(204,16,16,.18)}
[data-theme="light"] .benefit-hero::after{background:linear-gradient(135deg,transparent 30%,rgba(245,197,24,.35) 65%,rgba(245,197,24,.55) 100%)}
[data-theme="light"] .benefit-hero-eyebrow{color:var(--gold)}
[data-theme="light"] .benefit-hero-t{color:#fff}
[data-theme="light"] .benefit-hero-s{color:rgba(255,255,255,.88)}
[data-theme="light"] .benefit-hero-cta{background:var(--gold);color:#7a0a0a}
[data-theme="light"] .benefit-hero:hover .benefit-hero-cta{background:#fdd835}
[data-theme="light"] .benefit-hero-r{background:radial-gradient(circle at 60% 40%,rgba(245,197,24,.6),transparent 55%),radial-gradient(circle at 30% 70%,rgba(255,255,255,.25),transparent 50%)}

/* Headlines — gradient text replaced with solid crimson (cleaner on white) */
[data-theme="light"] .p-headline em{background:none;-webkit-text-fill-color:var(--red);color:var(--red)}

/* Hero promise cards — solid white, crimson left border, category dot stays */
[data-theme="light"] .hp{background:#fff;border-color:rgba(0,0,0,.08);box-shadow:0 2px 10px rgba(0,0,0,.04)}
[data-theme="light"] .hp:hover{box-shadow:0 6px 20px rgba(0,0,0,.08)}

/* Big-num — brighter red top stripe to match TVK */
[data-theme="light"] .big-num{box-shadow:0 2px 10px rgba(0,0,0,.04)}
[data-theme="light"] .big-num::before{opacity:1}

/* Vjy — pale red tint on white instead of translucent */
[data-theme="light"] .vjy{background:linear-gradient(135deg,rgba(204,16,16,.06),rgba(245,197,24,.04));border-color:rgba(204,16,16,.22)}

/* Battle CTA — pale red tint block */
[data-theme="light"] .battle-cta{background:linear-gradient(135deg,rgba(204,16,16,.08),rgba(245,197,24,.04));border-color:rgba(204,16,16,.22)}
[data-theme="light"] .battle-cta .big{color:var(--red)}

/* Mini timeline — red accent stays, white card */
[data-theme="light"] .mtl{box-shadow:0 1px 6px rgba(0,0,0,.04)}

/* Pulse hero background glow — red not pink */
[data-theme="light"] .pulse-hero{background:radial-gradient(ellipse at top,rgba(204,16,16,.06),transparent 70%)}

/* Treemap — richer reds read better on white */
[data-theme="light"] .tr-1{background:linear-gradient(135deg,#cc1010,#ff3838)}
[data-theme="light"] .tr-2{background:linear-gradient(135deg,#a80d0d,#cc1010)}
[data-theme="light"] .tr-3{background:linear-gradient(135deg,#850a0a,#a80d0d)}
[data-theme="light"] .tr-4{background:linear-gradient(135deg,#660808,#850a0a)}
[data-theme="light"] .tr-5{background:linear-gradient(135deg,#4a0606,#660808)}
[data-theme="light"] .tr-6{background:linear-gradient(135deg,#300404,#4a0606)}

/* Map box — subtle red wash */
[data-theme="light"] .map-box{background:radial-gradient(ellipse at center,rgba(204,16,16,.05),#fff)}

/* Constellation — pin DARK even in light theme (stars need a night sky) */
[data-theme="light"] .const-wrap{background:#0a0a12;border-color:rgba(204,16,16,.3)}
[data-theme="light"] .const-n{color:#fff}
[data-theme="light"] .const-l{color:rgba(255,255,255,.55)}
[data-theme="light"] .const-count{color:var(--gold)}
[data-theme="light"] .const-hint{color:rgba(255,255,255,.45)}
[data-theme="light"] .const-share{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.18)}
[data-theme="light"] .const-share:hover{background:rgba(255,255,255,.14)}

/* Sidebar — cleaner on white */
[data-theme="light"] .sidebar{background:#fff;border-right-color:var(--bd)}
[data-theme="light"] .side-item:hover{background:var(--s2)}

/* Bottom nav — white with shadow */
[data-theme="light"] .bnav{background:rgba(255,255,255,.95);box-shadow:0 -2px 12px rgba(0,0,0,.04)}

/* Quiz modal options — subtle */
[data-theme="light"] .q-opt{background:var(--s2);border-color:var(--bd)}
[data-theme="light"] .q-opt:hover{background:rgba(204,16,16,.05)}

/* Light theme text-heavy readability pass */
[data-theme="light"] .pc-desc,[data-theme="light"] .hp-desc,[data-theme="light"] .modal-sec p,[data-theme="light"] .ctx-txt p,[data-theme="light"] .p-sub{color:#2f2f34}
[data-theme="light"] .sec-desc{color:#3a3a3a}
[data-theme="light"] .pc,[data-theme="light"] .hp,[data-theme="light"] .big-num,[data-theme="light"] .dc,[data-theme="light"] .vjy,[data-theme="light"] .mtl,[data-theme="light"] .h2h,[data-theme="light"] .sh-card{border-color:rgba(0,0,0,.09);box-shadow:0 1px 4px rgba(0,0,0,.03)}
[data-theme="light"] .pc:hover,[data-theme="light"] .hp:hover,[data-theme="light"] .vjy:hover{box-shadow:0 6px 20px rgba(0,0,0,.07);border-color:rgba(204,16,16,.4)}
[data-theme="light"] .modal-box{box-shadow:0 20px 60px rgba(0,0,0,.18)}
[data-theme="light"] .modal-sec h4{color:#5a5a60}
[data-theme="light"] .ctx-row{background:#f5f5f7}
[data-theme="light"] .h2h-label{color:#3a3a3a;font-weight:600}
[data-theme="light"] .h2h-row{color:#2f2f34}
[data-theme="light"] .flip-r{box-shadow:0 1px 3px rgba(0,0,0,.04)}
[data-theme="light"] .mli.on,[data-theme="light"] .mli:active{background:rgba(204,16,16,.08)}
[data-theme="light"] .cc,[data-theme="light"] .cl,[data-theme="light"] .dist-grp{box-shadow:0 1px 3px rgba(0,0,0,.04)}

/* Tamil-specific: tighten letter-spacing slightly on white for visual density */
[data-theme="light"] body[lang="ta"] .sec-title,[data-theme="light"] body[lang="ta"] .pc-title,[data-theme="light"] body[lang="ta"] .hp-title,[data-theme="light"] body[lang="ta"] .modal-title{letter-spacing:0}

/* ══ PRINT ══ */
@media print{
  body{background:#fff;color:#000}
  .hdr,.bnav,.sidebar,.modal,.hdr-tools,.stats-bar{display:none!important}
  .tc{overflow:visible;height:auto;padding-bottom:0}
  .pc,.dc,.hp,.vjy,.battle-cta,.big-num{break-inside:avoid}
}
