/* =====================================================================================
   CILL IELTS — shared design layer (2026-10-30, owner: "premium, professional, tidy, easy")
   Loaded LAST on every app page (never on the exam-style test/mock pages, which copy the real
   computer-delivered IELTS on purpose). Principles: one font · one brand colour + calm greys ·
   a small fixed type scale · one card / button / badge style · nothing floating over content.
   ===================================================================================== */

/* ---------- 1 · font + tokens ---------- */
:root{
  --sans:"Plus Jakarta Sans","Hind Siliguri",-apple-system,"Segoe UI",system-ui,sans-serif;
  --ui-ink:#161a33;          /* headings */
  --ui-text:#3b405e;         /* body copy */
  --ui-muted:#6c7192;        /* meta, captions */
  --ui-line:#e7e8f1;         /* hairlines */
  --ui-radius:16px;
  --ui-shadow:0 1px 2px rgba(22,26,51,.04), 0 8px 24px -14px rgba(22,26,51,.18);
  --ui-shadow-hover:0 2px 4px rgba(22,26,51,.05), 0 14px 32px -14px rgba(79,70,229,.32);
}
@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]){ --ui-ink:#eef0fb; --ui-text:#c9cbe0; --ui-muted:#9a9dbb; --ui-line:#2f3048; } }
:root[data-theme="dark"]{ --ui-ink:#eef0fb; --ui-text:#c9cbe0; --ui-muted:#9a9dbb; --ui-line:#2f3048; }

body{ font-family:var(--sans); -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility; }
h1,h2,h3,h4{ font-family:var(--sans); letter-spacing:-.022em; }
h1{ font-weight:800; } h2,h3{ font-weight:700; }
.bn,.bnx,[lang="bn"]{ letter-spacing:0; }   /* Bangla never gets Latin letter-spacing */

/* ---------- 2 · labels: ONE calm colour (no more red/coral eyebrows everywhere) ---------- */
.kicker,
.skill-card.v2 .sk-order{
  color:var(--brand) !important; font-size:.74rem !important; font-weight:700 !important;
  letter-spacing:.1em !important; text-transform:uppercase;
}

/* ---------- 3 · buttons: primary (brand) · secondary (outline) — the coral button becomes secondary ---------- */
.btn{ font-family:var(--sans); font-weight:700; letter-spacing:-.005em; border-radius:12px; }
.btn-primary{ box-shadow:0 1px 2px rgba(22,26,51,.08), 0 6px 16px -8px rgba(79,70,229,.55); }
.btn-coral{ background:var(--surface,#fff) !important; color:var(--brand-strong) !important; border:1.5px solid var(--ui-line) !important; box-shadow:none !important; }
.btn-coral:hover{ border-color:var(--brand) !important; background:var(--brand-tint, #eef0fe) !important; }
.mockcard .btn-coral, .cta-band .btn-coral{ background:#fff !important; color:var(--brand-strong) !important; border-color:#fff !important; }
.mockcard .btn-coral:hover, .cta-band .btn-coral:hover{ background:#eef0fe !important; }

/* ---------- 4 · badges: one quiet pill ---------- */
.acc{ font-size:.7rem !important; font-weight:700 !important; padding:2px 9px !important; letter-spacing:.01em !important; }

/* ---------- 5 · floating helpers: smaller + calmer, never shouting over content ---------- */
#bnFloat{ font-size:.82rem !important; padding:8px 13px !important; box-shadow:0 6px 18px -8px rgba(14,159,110,.55) !important; }
#cillRepBtn{ opacity:.9; }

/* =====================================================================================
   HOME (index.html)
   ===================================================================================== */
/* hero: a logged-in student sees ONE tidy "welcome back" block — the visitor buttons/ticks step aside */
.cont-bar:not([hidden]) ~ .hero-actions,
.cont-bar:not([hidden]) ~ .hero-note{ display:none !important; }
.cont-bar{ background:var(--surface,#fff) !important; border:1px solid var(--ui-line) !important; border-radius:18px !important;
  box-shadow:var(--ui-shadow); padding:18px 20px !important; max-width:640px; }
.cont-bar .cb-tx b{ font-size:1.02rem; color:var(--ui-ink) !important; }
.cont-bar .cb-tx span{ font-size:.92rem; color:var(--ui-muted); }
.cont-bar .cb-links{ border-top:1px solid var(--ui-line) !important; }
.cont-bar .cb-links a{ font-size:.84rem !important; font-weight:600 !important; background:var(--bg,#f6f6fb) !important; border-color:transparent !important; color:var(--ui-text) !important; }
.cont-bar .cb-links a:hover{ color:var(--brand) !important; border-color:var(--ui-line) !important; }
.cont-bar .cb-links .cb-t{ background:var(--brand) !important; color:#fff !important; }
.hero-plan{ background:var(--surface,#fff) !important; border:1px solid var(--ui-line) !important; box-shadow:var(--ui-shadow); border-radius:18px !important; padding:14px 18px !important; }
.hero-plan .hp-badge{ width:44px !important; height:44px !important; font-size:1.05rem !important; border-radius:12px !important; }
.hero-plan .hp-tx b{ font-size:.98rem !important; color:var(--ui-ink) !important; }
.hero-plan .hp-tx span{ font-size:.88rem !important; color:var(--ui-muted) !important; }
.hero-plan .hp-go{ background:var(--bg,#f6f6fb) !important; color:var(--brand-strong) !important; padding:9px 15px !important; font-size:.9rem !important; }
.hero-plan .hp-go:hover{ background:var(--brand-tint,#eef0fe) !important; }

/* section heads */
.section-head h2{ font-size:clamp(1.7rem,3vw,2.25rem) !important; }
.section-head p{ font-size:1.04rem !important; color:var(--ui-text) !important; line-height:1.65; }

/* the four skill cards: fewer sizes, one rhythm */
.skill-card{ border-radius:var(--ui-radius) !important; border:1px solid var(--ui-line) !important; box-shadow:var(--ui-shadow) !important; }
a.skill-card:hover{ box-shadow:var(--ui-shadow-hover) !important; }
.skill-card .sic{ width:44px !important; height:44px !important; font-size:1.3rem !important; border-radius:12px !important; }
.skill-card h3{ font-size:1.15rem !important; letter-spacing:-.015em; }
.skill-card.v2 p{ font-size:.93rem !important; color:var(--ui-text) !important; line-height:1.55; }
.skill-card.v2 .sk-meta{ font-size:.8rem !important; color:var(--ui-muted) !important; }
.sk-sub a{ font-size:.84rem !important; border-radius:10px !important; }
.newcard{ background:var(--surface,#fff) !important; border:1px solid var(--ui-line) !important; box-shadow:var(--ui-shadow); }
.newcard .nc-ic{ box-shadow:none !important; background:var(--brand-tint,#eef0fe) !important; }

/* =====================================================================================
   VOCAB CARD (vocab.html) — one size per job, one chip style, quiet section labels
   ===================================================================================== */
.vcard{ border-radius:var(--ui-radius) !important; border:1px solid var(--ui-line) !important; box-shadow:var(--ui-shadow) !important; padding:18px 20px !important; }
.vcard.known{ border-left:4px solid var(--good) !important; }
.vtop{ gap:8px !important; }
.vword{ font-size:1.3rem !important; font-weight:800 !important; letter-spacing:-.02em; color:var(--ui-ink) !important; }
.vpos{ font-size:.82rem !important; font-style:normal !important; color:var(--ui-muted) !important; }
.vlvl{ font-size:.68rem !important; font-weight:700 !important; padding:2px 8px !important; }
.ven{ font-size:1rem !important; color:var(--ui-ink) !important; line-height:1.5; margin:10px 0 2px !important; }
.vbn{ font-size:.95rem !important; color:var(--ui-muted) !important; }
.vex,.vsec{ border-top:1px solid var(--ui-line) !important; }
.vex{ padding:10px 0 0 18px !important; }
.vex li{ font-size:.95rem !important; color:var(--ui-text); line-height:1.55; }
.vex .exbn{ font-size:.88rem !important; }
.vex b{ color:var(--ui-ink) !important; }
.vsec{ margin-top:12px !important; padding-top:11px !important; }
.vsec-lab{ font-size:.68rem !important; letter-spacing:.09em !important; color:var(--ui-muted) !important; margin-bottom:8px !important; }
.vsyn{ font-size:.86rem !important; font-weight:600 !important; border-radius:8px !important; padding:4px 10px !important; }
.vref{ font-size:.86rem !important; font-style:normal !important; font-weight:500 !important; border:1px solid var(--ui-line) !important; border-radius:8px !important; padding:3px 10px !important; color:var(--ui-text) !important; }
.vform{ font-size:.86rem !important; border-radius:8px !important; padding:4px 10px !important; }
.vform em{ font-style:normal !important; color:var(--ui-muted); }
.vpara{ font-size:.93rem !important; border-radius:12px !important; border-color:var(--ui-line) !important; }
.vsrc{ font-size:.78rem !important; color:var(--ui-muted) !important; }
.mbtn{ border-radius:12px !important; font-weight:700 !important; }

/* ---------- home fixes after first review ---------- */
.hero .lede{ max-width:540px !important; font-size:1.12rem !important; line-height:1.65; color:var(--ui-text) !important; }
.mockcard .kicker, .cta-band .kicker{ color:rgba(255,255,255,.72) !important; }
.sic{ color:var(--brand) !important; } .sic svg, .nc-ic svg{ display:block; }
.newcard .nc-ic{ color:var(--brand) !important; }
.skill-card.v2 .sk-btns .btn-primary{ font-size:.92rem !important; }

/* report button: small flag + the words, compact (owner: keep the words visible) */
#cillRepBtn{ padding:5px 11px 5px 9px !important; font-size:12px !important; gap:5px !important; border-radius:999px !important; }
#cillRepBtn .rp-l{ display:inline !important; } #cillRepBtn .rp-s{ display:none !important; }
@media (max-width:560px){ #cillRepBtn .rp-l{ display:none !important; } #cillRepBtn .rp-s{ display:inline !important; } }

/* ---------- line icons instead of emoji in navigation (pure CSS; the emoji stays in the HTML for screen-readers/old browsers) ---------- */
.v2tab[data-tab="lessons"] .v2t-ic{font-size:0 !important;display:inline-flex;align-items:center;justify-content:center;}.v2tab[data-tab="lessons"] .v2t-ic::before{content:"";width:18px;height:18px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M2%203h6a4%204%200%200%201%204%204v14a3%203%200%200%200-3-3H2z%22%2F%3E%3Cpath%20d%3D%22M22%203h-6a4%204%200%200%200-4%204v14a3%203%200%200%201%203-3h7z%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M2%203h6a4%204%200%200%201%204%204v14a3%203%200%200%200-3-3H2z%22%2F%3E%3Cpath%20d%3D%22M22%203h-6a4%204%200%200%200-4%204v14a3%203%200%200%201%203-3h7z%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;}
.v2tab[data-tab="practice"] .v2t-ic{font-size:0 !important;display:inline-flex;align-items:center;justify-content:center;}.v2tab[data-tab="practice"] .v2t-ic::before{content:"";width:18px;height:18px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2020h9%22%2F%3E%3Cpath%20d%3D%22M16.5%203.5a2.12%202.12%200%200%201%203%203L7%2019l-4%201%201-4Z%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2020h9%22%2F%3E%3Cpath%20d%3D%22M16.5%203.5a2.12%202.12%200%200%201%203%203L7%2019l-4%201%201-4Z%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;}
.v2tab[data-tab="tests"] .v2t-ic{font-size:0 !important;display:inline-flex;align-items:center;justify-content:center;}.v2tab[data-tab="tests"] .v2t-ic::before{content:"";width:18px;height:18px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%226%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%222%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%226%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%222%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;}
.v2sublbl > span[aria-hidden="true"]{font-size:0 !important;display:inline-flex;align-items:center;justify-content:center;}.v2sublbl > span[aria-hidden="true"]::before{content:"";width:15px;height:15px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M2%203h6a4%204%200%200%201%204%204v14a3%203%200%200%200-3-3H2z%22%2F%3E%3Cpath%20d%3D%22M22%203h-6a4%204%200%200%200-4%204v14a3%203%200%200%201%203-3h7z%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M2%203h6a4%204%200%200%201%204%204v14a3%203%200%200%200-3-3H2z%22%2F%3E%3Cpath%20d%3D%22M22%203h-6a4%204%200%200%200-4%204v14a3%203%200%200%201%203-3h7z%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;}
a.modbtn[href*="listening"] .ic{font-size:0 !important;display:inline-flex;align-items:center;justify-content:center;}a.modbtn[href*="listening"] .ic::before{content:"";width:24px;height:24px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2014h3a2%202%200%200%201%202%202v3a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2v-7a9%209%200%200%201%2018%200v7a2%202%200%200%201-2%202h-1a2%202%200%200%201-2-2v-3a2%202%200%200%201%202-2h3%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2014h3a2%202%200%200%201%202%202v3a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2v-7a9%209%200%200%201%2018%200v7a2%202%200%200%201-2%202h-1a2%202%200%200%201-2-2v-3a2%202%200%200%201%202-2h3%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;}
a.modbtn[href*="reading"] .ic{font-size:0 !important;display:inline-flex;align-items:center;justify-content:center;}a.modbtn[href*="reading"] .ic::before{content:"";width:24px;height:24px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M2%203h6a4%204%200%200%201%204%204v14a3%203%200%200%200-3-3H2z%22%2F%3E%3Cpath%20d%3D%22M22%203h-6a4%204%200%200%200-4%204v14a3%203%200%200%201%203-3h7z%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M2%203h6a4%204%200%200%201%204%204v14a3%203%200%200%200-3-3H2z%22%2F%3E%3Cpath%20d%3D%22M22%203h-6a4%204%200%200%200-4%204v14a3%203%200%200%201%203-3h7z%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;}
a.modbtn[href*="writing"] .ic{font-size:0 !important;display:inline-flex;align-items:center;justify-content:center;}a.modbtn[href*="writing"] .ic::before{content:"";width:24px;height:24px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2020h9%22%2F%3E%3Cpath%20d%3D%22M16.5%203.5a2.12%202.12%200%200%201%203%203L7%2019l-4%201%201-4Z%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2020h9%22%2F%3E%3Cpath%20d%3D%22M16.5%203.5a2.12%202.12%200%200%201%203%203L7%2019l-4%201%201-4Z%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;}
a.modbtn[href*="speaking"] .ic{font-size:0 !important;display:inline-flex;align-items:center;justify-content:center;}a.modbtn[href*="speaking"] .ic::before{content:"";width:24px;height:24px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%202a3%203%200%200%200-3%203v7a3%203%200%200%200%206%200V5a3%203%200%200%200-3-3Z%22%2F%3E%3Cpath%20d%3D%22M19%2010v2a7%207%200%200%201-14%200v-2%22%2F%3E%3Cpath%20d%3D%22M12%2019v3%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%202a3%203%200%200%200-3%203v7a3%203%200%200%200%206%200V5a3%203%200%200%200-3-3Z%22%2F%3E%3Cpath%20d%3D%22M19%2010v2a7%207%200%200%201-14%200v-2%22%2F%3E%3Cpath%20d%3D%22M12%2019v3%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;}
a.modbtn .ic{color:var(--brand);}

/* ---------- decorative labels (chapter labels, "Skill 1 of 4", box titles, logo sub-line): brand colour, not coral.
   --accent-strong is ONLY used decoratively (checked 2026-10-30); wrong-answer marks use --accent / --bad and stay red. ---------- */
:root{ --accent-strong:var(--brand-strong, #3730a3); }
@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]){ --accent-strong:#b3aeff; } }
:root[data-theme="dark"]{ --accent-strong:#b3aeff; }
nav.links a.active::after{ background:var(--brand) !important; }
.lpartsec{ border-bottom-color:var(--brand) !important; }
.ltnote{ border-left-color:var(--brand) !important; }
.bookchip{ background:var(--brand-tint,#eef0fe) !important; }

.hero .kick{ color:var(--brand) !important; }

a.modbtn .ic{ width:28px; height:28px; justify-content:flex-start !important; }

/* Bangla helper: tucked into the bottom-left corner on desktop (phones keep their spot above the install button) */
@media (min-width:700px){ #bnFloat{ bottom:18px !important; left:18px !important; } }
/* injected widgets (account menu, install button, report + what's-new pop-ups) share the app font */
#cill-pwa-btn, .cauth-acct, .cauth-menu, #cillWn, #cillRepBtn, [id^="cillRep"], .cill-auth-widget{ font-family:var(--sans) !important; }

/* hero tick-list: each point stays together (no lonely ✓ at a line end) */
.hero-note{ display:flex; flex-wrap:wrap; gap:6px 18px; }
.hero-note .hn{ white-space:nowrap; }
@media (max-width:560px){
  .hero-actions{ display:grid !important; grid-template-columns:1fr; gap:10px; }
  .hero-actions .btn{ width:100%; justify-content:center; }
  .hero-note{ flex-direction:column; align-items:flex-start; gap:4px; }
}

/* =====================================================================================
   TYPE SCALE — five sizes only, nothing under 12px (owner: "some fonts small, sizes look different")
   ===================================================================================== */
/* fixed px so a label is the SAME size on every page (pages had different root sizes: 16px vs 19px) */
:root{ --fs-xs:14px; --fs-sm:16px; --fs-base:18px; --fs-md:21px; --fs-lg:26px; }
/* owner asked for "all fonts bigger" (19px base on the learning pages) — the newer account / dashboard pages now match */
:root:not(:has(#home)){ font-size:19px; }
body{ font-weight:450; }                 /* Plus Jakarta Sans is light at 400 — a touch more body */
b,strong{ font-weight:700; }

/* skill pages (Listening / Reading / Writing / Speaking): "How this page works" */
.v2how{ font-size:var(--fs-base) !important; }
.v2how-t{ font-size:var(--fs-md) !important; }
.v2how-s, .v2how-b .v2how-lede, .v2how-b .bnx{ font-size:var(--fs-sm) !important; }
.v2s-tx b{ font-size:var(--fs-base) !important; margin-bottom:4px !important; }
.v2s-tx span{ font-size:var(--fs-sm) !important; line-height:1.55 !important; }
.v2cov-h{ font-size:var(--fs-xs) !important; }
.v2cov a, .v2cov a b{ font-size:var(--fs-sm) !important; }
.v2tip{ font-size:var(--fs-sm) !important; }
.v2num, .v2s-n{ font-size:var(--fs-xs) !important; }
/* practice + section-test lists */
.v2prac-h h2, .v2tests h2, .v2tests-h h2{ font-size:var(--fs-lg) !important; }
.v2prac-h p{ font-size:var(--fs-base) !important; }
.v2p-type, .v2p-info{ font-size:var(--fs-xs) !important; }
.v2p-t{ font-size:var(--fs-base) !important; }
.v2p-d, .v2p-sub, .v2p-go{ font-size:var(--fs-sm) !important; }
/* chapter cards: "CHAPTER 1" is ONE size, title / Bangla / footer on the scale */
.lm-badge, .lm-badge .num, .lm-card .lm-badge .num{ font-size:var(--fs-xs) !important; letter-spacing:.08em !important; }
.lm-title, .lm-card .lm-title{ font-size:var(--fs-md) !important; line-height:1.35 !important; color:var(--ui-ink) !important; }
.lm-bn, .lm-card .lm-bn{ font-size:var(--fs-sm) !important; }
.lm-go, .lm-card .lm-go, .lm-bk, .lm-card .nw, .lm-book{ font-size:var(--fs-sm) !important; }
.lm-orient-tx, .lm-orient-go{ font-size:var(--fs-sm) !important; }
.lm-orient-bn, .ln-count{ font-size:var(--fs-sm) !important; }
.acc{ font-size:var(--fs-xs) !important; }
/* vocab + home small text up to the floor */
.vsec-lab{ font-size:var(--fs-xs) !important; } .vlvl{ font-size:var(--fs-xs) !important; }
.skill-card.v2 .sk-meta, .sk-line{ font-size:var(--fs-sm) !important; }
.back-link{ font-size:var(--fs-sm) !important; }
.v2t-l, .v2t-lg{ font-size:var(--fs-sm) !important; }
.lm-head p{ font-size:var(--fs-base) !important; }
/* My Progress · Next steps on phones: button goes under the text (bigger type squeezed it) */
@media (max-width:560px){ .pl{ flex-wrap:wrap; } .pl .pt{ flex:1 1 calc(100% - 56px); } .pl > a{ margin-left:52px; } }

/* ---------- pass 3 (2026-10-31): small / uneven text on Mock tests, Paraphrasing, Login, Home ---------- */
/* Mock tests page */
.hero .kick, .mtag, .feat span{ font-size:var(--fs-xs) !important; }
.mockcard > .sub, .wrap > .note, .wrap > .note b, .wrap > .note .bn{ font-size:var(--fs-sm) !important; }
.modbtn .mt{ font-size:var(--fs-base) !important; }
.modbtn .md{ font-size:var(--fs-xs) !important; }
/* Paraphrasing course + Practice gym */
span.kick, .utab .un, .utab .ub, .ut small, .steplab, .tbadge{ font-size:var(--fs-xs) !important; }
.ptop .ut{ font-size:var(--fs-base) !important; }
/* Login */
.card > .kick{ font-size:var(--fs-xs) !important; }
.cfhint, .ordiv, .card > .foot, .card > .foot a{ font-size:var(--fs-sm) !important; }
/* Home: section intros + skill-card text on the same scale as other pages */
.eyebrow{ font-size:var(--fs-xs) !important; }
.section-head p{ font-size:var(--fs-base) !important; }
.skill-card.v2 p, .skill-card.v2 .sk-btns .btn-primary{ font-size:var(--fs-sm) !important; }
.sk-sub a{ font-size:var(--fs-xs) !important; }
.sk-btns .btn-ghost{ font-size:var(--fs-sm) !important; }
.skill-card.v2 > a:not(.btn){ font-size:var(--fs-xs) !important; }
.chips-line .chip{ font-size:var(--fs-xs) !important; }
.filters label, .pcard-foot .savebtn{ font-size:var(--fs-sm) !important; }
/* Practice gym: no coral boxes/buttons — calm brand tint, brand button */
.gym-banner{ border:1px solid var(--ui-line) !important; box-shadow:var(--ui-shadow) !important; }
.gym-go{ background:var(--brand) !important; }
.gym-go:hover{ background:var(--brand-strong) !important; }
.para-free-note{ background:var(--brand-tint,#eef0fe) !important; border:1px solid color-mix(in srgb,var(--brand) 22%,transparent) !important; }
.bdg-test{ background:var(--brand-tint,#eef0fe) !important; }
