/* ══ LIGHT MODE — COLOR TOKENS ══ */
body.light {
  --bg:      #f0f4f8;
  --bg2:     #e2e8f0;
  --bg3:     #cbd5e1;
  --bg-rgb:  240,244,248;
  --card:    rgba(0,0,0,.05);
  --card2:   rgba(0,0,0,.08);
  --border:  rgba(0,0,0,.09);
  --border2: rgba(0,0,0,.14);
  --text:    #0f172a;
  --text2:   #475569;
  --muted:   rgba(15,23,42,.5);
  --dim:     rgba(15,23,42,.3);
}

/* Navbar & nav */
body.light .navbar{background:rgba(240,244,248,.97);border-bottom:1px solid rgba(0,0,0,.08);}
body.light .mobile-nav{background:rgba(240,244,248,.97);border-top:1px solid rgba(0,0,0,.08);}
body.light .nav-logo-road{background:rgba(0,0,0,.06);}
body.light .mnav-btn{color:rgba(15,23,42,.35);}
body.light .mnav-btn.active,body.light .mnav-btn:hover{color:#3B82F6;}
body.light .nav-link{color:rgba(15,23,42,.5);}
body.light .nav-link.active,body.light .nav-link:hover{color:#3B82F6;}

/* Cards & containers */
body.light .modal{background:#e8eef5;border-color:rgba(0,0,0,.1);}
body.light .paywall-sheet,body.light .ad-sheet{background:linear-gradient(160deg,#dde6f0,#e8f0f8);}
body.light .feat{background:rgba(0,0,0,.04);border-color:rgba(0,0,0,.08);}
body.light .stat-pill{background:rgba(0,0,0,.06);color:#1e3a5f;}
body.light .stat-pill.fire{background:rgba(239,68,68,.1);color:#dc2626;}
body.light .stat-pill.xp{background:rgba(59,130,246,.1);color:#1d4ed8;}

/* Hardcoded white texts → dark in light mode */
body.light [style*="color:#fff"],[style*="color: #fff"],
body.light [style*="color:white"]{color:#0f172a!important;}
body.light [style*="color:rgba(255,255,255,.5)"]{color:rgba(15,23,42,.5)!important;}
body.light [style*="color:rgba(255,255,255,.4)"]{color:rgba(15,23,42,.45)!important;}
body.light [style*="color:rgba(255,255,255,.3)"]{color:rgba(15,23,42,.35)!important;}
body.light [style*="color:rgba(255,255,255,.2)"]{color:rgba(15,23,42,.25)!important;}
body.light [style*="color:rgba(241,245,249,.35)"]{color:rgba(15,23,42,.35)!important;}
body.light [style*="color:rgba(241,245,249,.28)"]{color:rgba(15,23,42,.28)!important;}
body.light [style*="color:rgba(241,245,249,.8)"]{color:rgba(15,23,42,.8)!important;}

/* Quiz */
body.light .quiz-prog-track{background:rgba(0,0,0,.1);}
body.light .q-card{background:#e8eef5;border-color:rgba(0,0,0,.1);}
body.light .choice{background:#e8eef5;border-color:rgba(0,0,0,.1);}
body.light .choice:hover:not(:disabled){background:rgba(59,130,246,.08);}
body.light .choice-ltr{background:rgba(0,0,0,.06);border-color:rgba(0,0,0,.08);}
body.light .expl{background:rgba(59,130,246,.06);border-color:rgba(59,130,246,.2);}
body.light .btn-next{box-shadow:0 4px 18px rgba(99,102,241,.3);}
body.light .quiz-x{background:rgba(0,0,0,.06);border-color:rgba(0,0,0,.1);}

/* Roadmap — tabs & popup */
body.light .rm-cat-tab{background:rgba(0,0,0,.05);border-color:rgba(0,0,0,.1);color:rgba(15,23,42,.5);}
body.light .rm-cat-tab.active{background:rgba(59,130,246,.1);border-color:#3B82F6;color:#1d4ed8;}
body.light .rm-stat{background:rgba(0,0,0,.06);border-color:rgba(0,0,0,.1);}
body.light .map-header-inner{background:rgba(240,244,248,.97);border-bottom-color:rgba(0,0,0,.1);}
body.light .rm-zone-transition{background:#e8eef5;}
body.light .rm-bridge-speech{background:rgba(0,0,0,.06);border-color:rgba(0,0,0,.1);color:#1e293b;}
body.light .rm-bridge-next-label{color:rgba(15,23,42,.55);background:rgba(0,0,0,.04);border-color:rgba(0,0,0,.08);}
/* Zone section backgrounds — subtle colored tints per zone */
body.light #screen-roadmap{background:#edf1f7;}
body.light .rm-cat-section::before{background-image:radial-gradient(circle,rgba(0,0,0,.04) 1px,transparent 1px);background-size:28px 28px;}
body.light .rm-cat-section::after{display:none;}
body.light .rm-zone-signs   {background:linear-gradient(180deg,rgba(239,68,68,.1) 0%,rgba(239,68,68,.04) 40%,#edf1f7 100%)!important; border-top-color:#EF4444;}
body.light .rm-zone-priority{background:linear-gradient(180deg,rgba(245,158,11,.1) 0%,rgba(245,158,11,.04) 40%,#edf1f7 100%)!important; border-top-color:#F59E0B;}
body.light .rm-zone-speed   {background:linear-gradient(180deg,rgba(59,130,246,.1) 0%,rgba(59,130,246,.04) 40%,#edf1f7 100%)!important; border-top-color:#3B82F6;}
body.light .rm-zone-danger  {background:linear-gradient(180deg,rgba(139,92,246,.1) 0%,rgba(139,92,246,.04) 40%,#edf1f7 100%)!important; border-top-color:#8B5CF6;}
body.light .rm-zone-safety  {background:linear-gradient(180deg,rgba(16,185,129,.1) 0%,rgba(16,185,129,.04) 40%,#edf1f7 100%)!important; border-top-color:#10B981;}
body.light .rm-zone-cross   {background:linear-gradient(180deg,rgba(249,115,22,.1) 0%,rgba(249,115,22,.04) 40%,#edf1f7 100%)!important; border-top-color:#F97316;}
body.light .rm-zone-highway {background:linear-gradient(180deg,rgba(6,182,212,.1)  0%,rgba(6,182,212,.04)  40%,#edf1f7 100%)!important; border-top-color:#06B6D4;}
body.light .rm-zone-maneuver{background:linear-gradient(180deg,rgba(236,72,153,.1) 0%,rgba(236,72,153,.04) 40%,#edf1f7 100%)!important; border-top-color:#EC4899;}
body.light .rm-zone-lights  {background:linear-gradient(180deg,rgba(132,204,22,.1) 0%,rgba(132,204,22,.04) 40%,#edf1f7 100%)!important; border-top-color:#84CC16;}
body.light .rm-zone-expert  {background:linear-gradient(180deg,rgba(99,102,241,.12) 0%,rgba(99,102,241,.04) 40%,#edf1f7 100%)!important; border-top-color:#6366F1;}
/* Category header */
body.light .rm-cat-hdr{background:linear-gradient(180deg,rgba(255,255,255,.6) 0%,transparent 100%);}
body.light .rm-cat-hdr h3{color:#0f172a;text-shadow:none;}
body.light .rm-cat-hdr p{color:rgba(15,23,42,.5);}
body.light .rm-cat-pct{background:rgba(255,255,255,.75);border-color:rgba(0,0,0,.12);color:inherit;}
/* Node circles */
body.light .rm-circle.rm-locked{
  background:linear-gradient(145deg,#d5dde9,#c5cedd)!important;
  border-color:rgba(0,0,0,.18)!important;
  color:rgba(15,23,42,.75)!important;
}
/* Override inline opacity:.25 on locked number spans */
body.light .rm-circle.rm-locked span{opacity:0.7!important;}
body.light .rm-node-label{color:#334155;}
body.light .rm-node-xp{background:rgba(59,130,246,.1);border-color:rgba(59,130,246,.25);color:#1d4ed8;}
body.light .rm-lock-badge{background:#dce4f0;border-color:rgba(0,0,0,.12);}
/* SVG road path — fix white border + road color for light bg */
body.light .rmp-g1{stroke-opacity:0.2!important;}
body.light .rmp-g2{stroke-opacity:0.14!important;}
body.light .rmp-b {stroke:rgba(0,0,0,0.15)!important;}
body.light .rmp-r {stroke:#b8c4d4!important;}
body.light .rmp-d {stroke-opacity:0.75!important;}

/* Dashboard */
body.light .dash-card{background:#e8eef5;border-color:rgba(0,0,0,.08);}
body.light .dash-profile-card{background:#e8eef5;border-color:rgba(0,0,0,.08);}
body.light .cat-track{background:rgba(0,0,0,.08);}
body.light .ach-item{border-bottom-color:rgba(0,0,0,.06);}
body.light .ach-ic{background:rgba(59,130,246,.1);}
body.light .hist-item{background:rgba(0,0,0,.04);}
body.light .big-xp-bar{background:rgba(0,0,0,.08);}

/* Leaderboard */
body.light .lb-item{background:#e8eef5;border-color:rgba(0,0,0,.08);}
body.light .lb-item.me{background:rgba(59,130,246,.06);border-color:rgba(59,130,246,.2);}
body.light .podium-item .pod-base{background:rgba(0,0,0,.04);}

/* Forms */
body.light .form-inp{background:rgba(0,0,0,.05);border-color:rgba(0,0,0,.12);color:#0f172a;}
body.light .form-inp:focus{border-color:rgba(59,130,246,.5);}

/* Speech bubble */
body.light .speech{background:#e2e8f0;border-color:rgba(0,0,0,.1);}

/* Ad screen */
body.light .ad-screen{background:#1e293b;}

/* Overlays */
body.light .overlay{background:rgba(240,244,248,.85);}

/* Landing */
body.light .hero-badge{background:rgba(59,130,246,.1);border-color:rgba(59,130,246,.2);color:#1d4ed8;}
body.light .stats-bar{background:rgba(0,0,0,.04);}
body.light .stats-bar-item+.stats-bar-item{border-right-color:rgba(0,0,0,.08);}

/* Exam dots */
body.light .edot{background:rgba(0,0,0,.07);color:rgba(15,23,42,.35);}
body.light .edot:hover{background:rgba(0,0,0,.12);}

/* Quiz timer */
body.light .timer-normal{background:rgba(0,0,0,.06);}

/* Plan cards */
body.light .plan-card{background:rgba(0,0,0,.04);border-color:rgba(0,0,0,.1);}
body.light .plan-card.selected{background:rgba(59,130,246,.08);border-color:#3B82F6;}
body.light .plan-period{color:rgba(15,23,42,.5);}
body.light .plan-price{color:#0f172a;}

/* Theme toggle */
body.light .theme-toggle{background:rgba(0,0,0,.07);border-color:rgba(0,0,0,.12);}

/* Pricing */
body.light .pricing-card{background:var(--bg2)!important;border-color:var(--border)!important;}
body.light .pricing-card.selected{border-color:#6366F1!important;background:rgba(99,102,241,.08)!important;box-shadow:0 0 0 1px #6366F1;}

/* Roadmap misc */
body.light .map-header-inner{background:rgba(240,244,248,.97);}
body.light .rm-lock-badge{background:#94a3b8;}
body.light .lv-circle{box-shadow:0 6px 20px rgba(99,102,241,.2);}
body.light .exam-dots{background:var(--card);border-color:var(--border);}
body.light .edot{color:rgba(15,23,42,.3);}
body.light .quiz-topbar .quiz-x{color:var(--text);}
body.light .speech::after{border-left-color:var(--border);}
body.light .q-fr{color:var(--text2);}
body.light .toast{background:var(--bg3);border-color:var(--border2);color:var(--text);}
body.light .result-wrap{background:var(--bg);}
body.light .r-stat{background:var(--card);border-color:var(--border);}
body.light .rm-node-xp{background:rgba(99,102,241,.1);border-color:rgba(99,102,241,.2);color:#4338ca;}
body.light .rm-cur-arrow{color:#3B82F6;}
body.light .modal-close{background:var(--card2);border-color:var(--border);}
body.light .rm-popup-icon{border-color:var(--border);}

/* ══ LIGHT MODE — ROADMAP ══ */
body.light #screen-roadmap{background:var(--bg2);overflow-y:auto;}
body.light .rm-section-bg{background:var(--bg)!important;}
body.light .rm-zigzag-area{background:var(--bg);}
body.light .roadmap-wrap{background:var(--bg);}
body.light .rm-circle.rm-locked{background:var(--bg3);border-color:var(--border2);color:var(--muted);}
/* Keep done (category color) and current (blue) circles with their colors — no generic .rm-circle override */
body.light .rm-node-label{color:var(--text2);}
body.light .rm-node-xp{color:#4f46e5;background:rgba(99,102,241,.1);border-color:rgba(99,102,241,.2);}
body.light .rm-node-star{color:#94a3b8;}
body.light .rm-node-star.on{color:#f59e0b;}
body.light .rm-cat-section{background:var(--bg);}
body.light .rm-cat-hdr{background:transparent;}
body.light .rm-cat-hdr h3{color:var(--text);}
body.light .rm-cat-hdr .rm-cat-sub{color:var(--muted);}
body.light .rm-lock-icon{color:var(--text2);}
body.light .rm-stars span{color:#94a3b8;}
body.light .rm-stars span.filled{color:#F59E0B;}

/* ══ LIGHT MODE — LEARN SCREEN ══ */
body.light #screen-learn{background:var(--bg);}
body.light .lea-sidebar{background:var(--bg2);border-color:var(--border);}
body.light .lea-sidebar-item{color:var(--text2);}
body.light .lea-sidebar-item.active{background:rgba(59,130,246,.1);color:#1d4ed8;}
body.light .lea-card{background:var(--bg2);border-color:var(--border);}
body.light .lea-level-btn{background:var(--bg3);border-color:var(--border);}
body.light .lea-level-btn:hover{background:rgba(59,130,246,.08);}
body.light .lea-stat{background:var(--card);border-color:var(--border);color:var(--text2);}
body.light .lea-top{background:var(--bg2);border-color:var(--border);}

/* ══ LIGHT MODE — LANDING SCREEN ══ */
body.light #screen-landing{background:linear-gradient(160deg,#e8f0f8,#f0f4f8);}
body.light .hero-title{color:#0f172a;}
body.light .hero-sub{color:rgba(15,23,42,.6);}
body.light .stats-bar{background:rgba(0,0,0,.05);border-color:rgba(0,0,0,.08);}
body.light .stats-bar-item{color:var(--text);}
body.light .feat-grid .feat{background:#e2e8f0;border-color:rgba(0,0,0,.1);}
body.light .pricing-card{background:#e2e8f0!important;border-color:rgba(0,0,0,.12)!important;}
body.light .pricing-card.selected{border-color:#3B82F6!important;background:rgba(59,130,246,.06)!important;}

/* ══ LIGHT MODE — EXAM / QUIZ ══ */
body.light #screen-exam-intro{background:var(--bg);}
body.light .exam-intro-card{background:var(--bg2);border-color:var(--border);}
body.light #screen-quiz{background:var(--bg);}
body.light .quiz-header{background:var(--bg);}
body.light .q-text{color:var(--text);}
body.light .choice-text{color:var(--text);}
body.light .choice.correct{background:rgba(34,197,94,.1);border-color:rgba(34,197,94,.4);}
body.light .choice.wrong{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.4);}

/* ══ LIGHT MODE — RESULT ══ */
body.light .result-wrap{background:var(--bg);}
body.light .r-stat{background:var(--bg2);border-color:var(--border);}
body.light .r-stat-val{color:var(--text);}
body.light .r-stat-lbl{color:var(--muted);}
body.light .result-hero{color:var(--text);}
body.light .r-grade-badge{color:var(--text);}

/* ══ LIGHT MODE — LEADERBOARD ══ */
body.light #screen-leaderboard{background:var(--bg);overflow-y:auto;}
body.light .podium-name{color:var(--text);}
body.light .pod-score{color:var(--muted);}
body.light .lb-rank{color:var(--muted);}
body.light .lb-name{color:var(--text);}
body.light .lb-score{color:var(--text2);}
body.light .podium-item .pod-base{background:var(--bg2);}
body.light .pod-crown{color:#F59E0B;}
body.light .lb-item{background:var(--bg2);border-color:var(--border);}
body.light .lb-rank-num{color:var(--text2);}
body.light .lb-stat{background:var(--bg3);color:var(--text2);}

/* ══ LIGHT MODE — BUTTONS ══ */
body.light .btn-ghost:hover{background:rgba(0,0,0,.06);}
body.light .btn-cta-sec{background:rgba(0,0,0,.05)!important;border-color:var(--border2)!important;color:var(--text)!important;}
body.light .btn-cta-sec:hover{background:rgba(0,0,0,.09)!important;}

/* ══ LIGHT MODE — XP / STAT BARS ══ */
body.light .xp-bar-track{background:rgba(0,0,0,.08);}
body.light .node-bar{background:rgba(0,0,0,.08);}
body.light .nb-lock{background:rgba(0,0,0,.06);}
body.light .map-prog-track{background:rgba(0,0,0,.08);}

/* ══ LIGHT MODE — QUIZ MISC ══ */
body.light .quiz-x:hover{background:rgba(0,0,0,.07);}
body.light .timer-normal{background:rgba(0,0,0,.07);color:var(--text);}
body.light .edot{background:rgba(0,0,0,.06);color:var(--muted);}
body.light .edot:hover{background:rgba(0,0,0,.1);}
body.light .expl-wrap{background:rgba(59,130,246,.05);border-color:rgba(59,130,246,.15);}

/* ══ LIGHT MODE — ROADMAP EXTRA ══ */
body.light .rm-cat-tab{background:rgba(0,0,0,.05);border-color:var(--border);color:var(--muted);}
body.light .rm-cat-tab.active{border-color:#3B82F6;color:#1d4ed8;background:rgba(59,130,246,.1);}
body.light .rm-stat{background:var(--card2);border-color:var(--border2);}
body.light .rm-node-xp{background:rgba(99,102,241,.1);border-color:rgba(99,102,241,.2);color:#4338ca;}
body.light .rm-circle.rm-current{border-color:rgba(99,102,241,.4);}

/* ══ LIGHT MODE — PAYWALL ══ */
body.light .plan-card{background:var(--bg2)!important;border-color:var(--border)!important;}
body.light .plan-card.selected{border-color:#3B82F6!important;background:rgba(59,130,246,.06)!important;}
body.light .plan-period{color:var(--muted)!important;}
body.light .plan-price{color:var(--text)!important;}
body.light .plan-price span{color:var(--muted)!important;}
body.light .paywall-dismiss{color:var(--muted);}
body.light .paywall-dismiss:hover{color:var(--text);}
body.light .paywall-feat-row{background:var(--card);border-color:var(--border);}
body.light .paywall-feat-txt{color:var(--text2);}
body.light .stripe-note{color:var(--muted)!important;}

/* ══ LIGHT MODE — AD MODAL ══ */
body.light .ad-ring-wrap{background:var(--card);}
body.light .ad-brand-bar{background:var(--bg3);color:var(--text2);}
body.light .ad-unlock-note{color:var(--muted)!important;}
body.light .ad-sub-btn{background:rgba(99,102,241,.1);color:#4338ca;border-color:rgba(99,102,241,.2);}

/* ══ LIGHT MODE — SCROLLBARS ══ */
body.light ::-webkit-scrollbar-thumb{background:var(--bg3);}

/* ══ LIGHT MODE — CHAR SELECT ══ */
body.light .char-card{background:var(--bg2);border-color:var(--border);}
body.light .char-card.selected{border-color:#3B82F6;background:rgba(59,130,246,.06);}
body.light .char-name{color:var(--text);}
body.light .char-desc{color:var(--muted);}
body.light .char-tag{background:var(--bg3);color:var(--text2);}

/* ══ LIGHT MODE — TOAST ══ */
body.light .toast{background:var(--bg2);border-color:var(--border);color:var(--text);}

/* ══ LIGHT MODE — CONFIRM DIALOG ══ */
body.light .confirm-dialog{background:var(--bg2);border-color:var(--border);}
body.light .confirm-dialog h3{color:var(--text);}
body.light .confirm-dialog p{color:var(--muted);}

/* ══ LIGHT MODE — FUEL ══ */
body.light .fuel-pack{background:var(--card2);border-color:var(--border2);}
body.light .fuel-modal-box{background:#e8eef5;}
