/* pdVerse "Teal" theme: Inter Tight type, deep teal / gold / lavender on warm paper.
   Loaded LAST on every page (scripts/site-chrome.js THEME_TAGS, after theme-green.css and
   theme-silicon.css), so it only re-points tokens, fonts, shapes and a few hard-coded greens.
   No markup, IDs or scripts depend on it: delete the <link> and the site is back to the green look.
   Lesson and PrepSprint diagram SVGs keep their own dark panels and are never targeted here. */

/* ---- Fonts: self-hosted (SIL Open Font License), variable, latin + latin-ext ------------------ */
/* Inter Tight and JetBrains Mono from Google Fonts' own files; one variable file per subset covers
   every weight. latin-ext is only fetched for characters such as the rupee sign. */
@font-face { font-family: "Inter Tight"; font-style: normal; font-weight: 300 600; font-display: swap;
  src: url("/fonts/InterTight-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Inter Tight"; font-style: normal; font-weight: 300 600; font-display: swap;
  src: url("/fonts/InterTight-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "JetBrains Mono"; font-style: normal; font-weight: 400 500; font-display: swap;
  src: url("/fonts/JetBrainsMono-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "JetBrains Mono"; font-style: normal; font-weight: 400 500; font-display: swap;
  src: url("/fonts/JetBrainsMono-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
/* Arial scaled to Inter Tight's measured width (95.37% at weight 400) and vertical metrics, so text
   barely moves when the web font swaps in (this is what keeps layout shift down). */
@font-face { font-family: "Inter Tight Fallback"; src: local("Arial"), local("ArialMT");
  size-adjust: 95.37%; ascent-override: 101.7%; descent-override: 25.2%; line-gap-override: 0%; }

/* ---- Palette (light) -------------------------------------------------------------------------- */
/* [data-topic] (not just body[data-topic]): prepsprint.css re-declares per-topic colours on inner
   [data-topic] elements too, which body-only selectors never reached. */
:root, :root body, body[data-topic], [data-topic],
:root[data-theme="dark"] body[data-topic="academy"] /* no dark design: stays light, as before */ {
  /* teal palette (contrast ratios checked against --tl-paper / --tl-soft / white) */
  --tl-paper: #f5f4ee; --tl-soft: #edece4; --tl-card: #ffffff;
  --tl-line: #e3e1d8; --tl-line-strong: #cfd8d4; --tl-card-line: #e6e4da;
  --tl-ink: #10292d; --tl-body: #3b4a47; --tl-body-2: #5b6865; --tl-muted: #5f6a67; --tl-icon-soon: #a3aaa6;
  --tl-primary: #0f3238; --tl-primary-hover: #0a2529; --tl-on-primary: #ffffff;
  --tl-fill: #0f3238; --tl-fill-hover: #0a2529;
  --tl-primary-soft: #e4ecea; --tl-primary-border: #c6d6d2;
  --tl-gold: #8c7b33; --tl-gold-text: #75661f;
  --tl-gold-soft: #f3eedb; --tl-gold-soft-text: #6b5d22; --tl-gold-soft-line: #ddd3ae;
  --tl-lav: #cdc8f6; --tl-lav-hover: #bfb8f2; --tl-on-lav: #1e1a44;
  --tl-lav-soft: #ecebfb; --tl-lav-soft-text: #3d3680; --tl-lav-soft-line: #d3cff5;
  --tl-success: #1f6b45; --tl-success-soft: #e8f1ec;
  --tl-panel: #0f3238; --tl-panel-chip: #17454c; --tl-panel-text: #e7efec; --tl-panel-text-2: #9fb4b0;
  --tl-code-bg: #edece4; --tl-term-bg: #10292d; --tl-term-text: #d9e6e2; --tl-term-comment: #8fa7a2; --tl-term-flag: #cdc8f6;
  --tl-grid-line: #e6e4da;
  --tl-shadow-sm: 0 1px 2px rgba(16, 41, 45, 0.05);
  --tl-shadow-card: 0 20px 50px rgba(16, 41, 45, 0.06);
  --tl-shadow-mock: 0 30px 80px rgba(16, 41, 45, 0.18);
  --tl-focus: #0f3238;
  --tl-font: "Inter Tight", "Inter Tight Fallback", Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --tl-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --tl-grid: linear-gradient(var(--tl-grid-line) 1px, transparent 1px) 0 0 / 64px 64px,
             linear-gradient(90deg, var(--tl-grid-line) 1px, transparent 1px) 0 0 / 64px 64px;

  /* theme-green's own tokens */
  --tg-green: #0f3238; --tg-green-hover: #0a2529;
  --tg-fill: #0f3238; --tg-fill-hover: #0a2529; --tg-deep: #10292d; --tg-sage: #edece4; --tg-paper: #f5f4ee;

}
/* storefront names (--ink, --card, --teal-soft ...) are also the article pages' own :root variables,
     so they are kept off body.pa-chrome: declaring them on body shadowed the article's values */
:root:not(:has(body.pa-chrome)), :root body:not(.pa-chrome), body[data-topic], [data-topic],
:root[data-theme="dark"] body[data-topic="academy"] {
  --ink: #10292d; --body: #3b4a47; --muted: #5f6a67; --hairline: #e3e1d8;
  --soft: #edece4; --card: #ffffff; --canvas: #f5f4ee; --glass: rgba(245, 244, 238, 0.92);
  --dark: #10292d; --dark-soft: #9fb4b0;
  --green: #0f3238; --green-hover: #0a2529; --green-soft: #e4ecea; --green-border: #c6d6d2;
  --teal: #0f3238; --teal-hover: #0a2529; --teal-soft: #e4ecea; --teal-border: #c6d6d2;
  --brown: #75661f; --brown-hover: #5f531a; --brown-soft: #f3eedb; --brown-border: #ddd3ae;
  --purple: #3d3680; --purple-hover: #2e2866; --purple-soft: #ecebfb; --purple-border: #d3cff5; --purple-glow: rgba(61, 54, 128, 0.16);
  --glow: rgba(15, 50, 56, 0.16);
  --radius-sm: 12px; --radius: 16px; --radius-lg: 20px;
  --shadow-sm: 0 1px 2px rgba(16, 41, 45, 0.05);
  --shadow-md: 0 20px 50px rgba(16, 41, 45, 0.06);
  --shadow-lg: 0 30px 80px rgba(16, 41, 45, 0.18);
}
:root, :root body, body[data-topic], [data-topic],
:root[data-theme="dark"] body[data-topic="academy"] {

  /* PrepSprint / generated pages (every topic gets the same teal) */
  --ps-ink: #10292d; --ps-body: #3b4a47; --ps-muted: #5f6a67; --ps-line: #e3e1d8;
  --ps-paper: #f5f4ee; --ps-card: #ffffff; --ps-soft: #edece4; --ps-radius: 20px; --ps-text-muted: #5f6a67;
  --ps-primary: #0f3238; --ps-primary-dark: #0a2529; --ps-primary-soft: #e4ecea; --ps-primary-border: #c6d6d2;
  --ps-green: #1f6b45; --ps-green-dark: #18553a; --ps-green-soft: #e8f1ec;
  --ps-glow: rgba(15, 50, 56, 0.16); --ps-shadow: 0 20px 50px rgba(16, 41, 45, 0.06);
  --ps-hero-panel-bg: #0f3238; --ps-hero-panel-border: #17454c;
  --ps-hero-panel-kicker: #cdc8f6; --ps-hero-panel-chain: #c9b46a;
  --ps-hero-gradient: var(--tl-grid), #f5f4ee;
  --ps-callout-success-bg: #e8f1ec; --ps-callout-success-border: #b9d4c4; --ps-callout-success-text: #1f4a34; --ps-callout-success-title: #1f6b45;
  --ps-success-soft: #e8f1ec; --ps-success-border: #b9d4c4; --ps-success-text: #1f4a34; --ps-success-title: #1f6b45;

  /* page-specific palettes (Signoff Academy, Innovus / design-planning readers, command equivalence) */
  --sa-green: #0f3238; --sa-green-dark: #0a2529;
  --dp-accent: #0f3238; --dp-accent-hover: #0a2529; --dp-teal: #8c7b33;

  --si-head: var(--tl-font); --si-text: var(--tl-font); --si-btn: 999px; --si-card: 20px;
}

/* ---- Palette (dark): same structure as theme-green's dark block ------------------------------ */
:root[data-theme="dark"], html[data-theme="dark"] body, html[data-theme="dark"] body[data-topic], body[data-theme="dark"],
html[data-theme="dark"] [data-topic]:not([data-topic="academy"]),
/* Complete Library and 404 are designed dark in every mode */
:root:has(.bundle-hero), :root:has(.bundle-hero) body, :root:has(.not-found-card), :root:has(.not-found-card) body {
  --tl-paper: #0b1a1c; --tl-soft: #0f2326; --tl-card: #12292d;
  --tl-line: #21393d; --tl-line-strong: #2c474b; --tl-card-line: #21393d;
  --tl-ink: #eaf1ef; --tl-body: #c9d5d2; --tl-body-2: #b3c2be; --tl-muted: #9aaea9; --tl-icon-soon: #5d726e;
  --tl-primary: #7cc2b8; --tl-primary-hover: #9bd3ca; --tl-on-primary: #ffffff;
  --tl-fill: #2f7d75; --tl-fill-hover: #276a63;
  --tl-primary-soft: #143338; --tl-primary-border: #2c474b;
  --tl-gold: #c9b46a; --tl-gold-text: #c9b46a;
  --tl-gold-soft: #2a2a1c; --tl-gold-soft-text: #d9c88a; --tl-gold-soft-line: #4a4630;
  --tl-lav-soft: #22233f; --tl-lav-soft-text: #cdc8f6; --tl-lav-soft-line: #3a3a63;
  --tl-success: #7fc79f; --tl-success-soft: #12302a;
  --tl-code-bg: #0f2326; --tl-term-bg: #081315;
  --tl-grid-line: #17302f;
  --tl-shadow-card: 0 20px 50px rgba(0, 0, 0, 0.25);
  --tl-shadow-mock: 0 30px 80px rgba(0, 0, 0, 0.45);
  --tl-focus: #7cc2b8;

  --tg-green: #7cc2b8; --tg-green-hover: #9bd3ca;
  --tg-fill: #2f7d75; --tg-fill-hover: #276a63; --tg-deep: #0b1a1c; --tg-sage: #0f2326; --tg-paper: #0b1a1c;

}
:root[data-theme="dark"]:not(:has(body.pa-chrome)), html[data-theme="dark"] body:not(.pa-chrome), html[data-theme="dark"] body[data-topic],
body[data-theme="dark"]:not(.pa-chrome), html[data-theme="dark"] [data-topic]:not([data-topic="academy"]),
:root:has(.bundle-hero), :root:has(.bundle-hero) body, :root:has(.not-found-card), :root:has(.not-found-card) body {
  --ink: #eaf1ef; --body: #c9d5d2; --muted: #9aaea9; --hairline: #21393d;
  --soft: #0f2326; --card: #12292d; --canvas: #0b1a1c; --glass: rgba(11, 26, 28, 0.92);
  --dark: #081315; --dark-soft: #9aaea9;
  --green: #7cc2b8; --green-hover: #9bd3ca; --green-soft: #143338; --green-border: #2c474b;
  --teal: #7cc2b8; --teal-hover: #9bd3ca; --teal-soft: #143338; --teal-border: #2c474b;
  --brown: #c9b46a; --brown-hover: #d9c88a; --brown-soft: #2a2a1c; --brown-border: #4a4630;
  --purple: #cdc8f6; --purple-hover: #ddd9fa; --purple-soft: #22233f; --purple-border: #3a3a63; --purple-glow: rgba(205, 200, 246, 0.18);
  --card-bg: rgba(18, 41, 45, 0.82); --border: #21393d; --accent: #7cc2b8;
  --glow: rgba(124, 194, 184, 0.18);
}
:root[data-theme="dark"], html[data-theme="dark"] body, html[data-theme="dark"] body[data-topic], body[data-theme="dark"],
html[data-theme="dark"] [data-topic]:not([data-topic="academy"]),
:root:has(.bundle-hero), :root:has(.bundle-hero) body, :root:has(.not-found-card), :root:has(.not-found-card) body {
  --ps-ink: #eaf1ef; --ps-body: #c9d5d2; --ps-muted: #9aaea9; --ps-line: #21393d;
  --ps-paper: #0b1a1c; --ps-card: #12292d; --ps-soft: #0f2326; --ps-text-muted: #9aaea9;
  --ps-primary: #7cc2b8; --ps-primary-dark: #9bd3ca; --ps-primary-soft: #143338; --ps-primary-border: #2c474b;
  --ps-green: #7fc79f; --ps-green-dark: #5fae84; --ps-green-soft: #12302a;
  --ps-glow: rgba(124, 194, 184, 0.16); --ps-shadow: 0 20px 50px rgba(0, 0, 0, 0.25);
  --ps-hero-panel-bg: #081315; --ps-hero-panel-border: #21393d;
  --ps-hero-gradient: var(--tl-grid), #0b1a1c;
  --ps-callout-success-bg: #12302a; --ps-callout-success-border: #1f4a3c; --ps-callout-success-text: #cfe7da; --ps-callout-success-title: #7fc79f;
  --ps-success-soft: #12302a; --ps-success-border: #1f4a3c; --ps-success-text: #cfe7da; --ps-success-title: #7fc79f;
  --sa-green: #7cc2b8; --sa-green-dark: #9bd3ca;
  --dp-accent: #7cc2b8; --dp-accent-hover: #9bd3ca; --dp-teal: #c9b46a;
}

/* ---- Typography ------------------------------------------------------------------------------ */
body, button, input, select, textarea { font-family: var(--tl-font); }
/* every selector theme-green / silicon / prepsprint pin to DM Sans, Montserrat, Outfit or Inter */
:is(h1, h2, h3, h4, h5, h6, .auth-card h2, .banner-text strong, .book-body h3, .brand, .bundle-hero h1,
  .bundle-item-card h3, .card h3, .card-box h2, .category-icon, .chapter-abstract h3, .chapter-interview-answers h3,
  .cluster-hero h1, .cluster-section h2, .complete-library-price strong, .confirmation-card h2, .dp-banner-pill,
  .dp-card-body h3, .dp-hub-title, .dp-stat-item strong, .dp-subcategory-header h2, .footer-logo, .legal-content h2,
  .logo, .lookup-card h2, .lp-tool-card > span, .lp-tool-footer strong, .mockup-title, .next-steps-title,
  .not-found-card h1, .not-found-code, .pdf-expired-overlay h3, .pdf-paywall-card h3, .pdf-reader-title, .pdv-logo,
  .pdv-logo span:last-child, .prepsprint-hub-card strong, .price-row strong, .price-tag, .ps-brand, .ps-chain,
  .ps-product span, .ps-sta-visual figcaption strong, .ps-steps article > span, .ps-topic-icon, .ps-upgrade-banner h2,
  .ps-bundle-offer-price strong, .review-modal-header h3, .scenario-card h3, .section-title, .stat-value,
  .ticket-badge, .ticket-title, .lrn-row-title, .pdv-nav-menu a, .pdv-nav-trigger, .si-stats dd) {
  font-family: var(--tl-font);
}
:not(text):not(tspan)[style*="Outfit"], :not(text):not(tspan)[style*="Inter"],
:not(text):not(tspan)[style*="DM Sans"], :not(text):not(tspan)[style*="Montserrat"] { font-family: var(--tl-font) !important; }
pre, code, kbd, samp, .vl-code, .vl-sim, .tl-mono { font-family: var(--tl-mono); }

h1, h2 { font-weight: 400; letter-spacing: -0.03em; }
h1 { line-height: 1.04; }
h2 { line-height: 1.1; }
h3, h4 { font-weight: 500; letter-spacing: -0.01em; }
.section-title { font-weight: 400; letter-spacing: -0.03em; font-size: clamp(30px, 3.8vw, 52px); line-height: 1.08; }
:is(.ps-page-hero, .lrn-hero, .lrn-path-hero, .cluster-hero, .page-hero, .sa-hero, .pa-hero, .vid-hero, .cr-hero) h1 {
  font-weight: 400; letter-spacing: -0.03em; line-height: 1.04; font-size: clamp(36px, 4.6vw, 64px);
}
.ps-lead, .lrn-lead, .hero-text { font-size: 18px; line-height: 1.6; color: var(--tl-body) !important; }
body { line-height: 1.65; }
::selection { background: #cdc8f6; color: #1e1a44; }

/* lesson / article reading pages: same 760px measure, slightly roomier text */
.de-lesson h2 { font-weight: 400; letter-spacing: -0.02em; font-size: 1.6rem; }
.de-lesson h3 { font-weight: 500; }
.de-lesson p, .de-lesson ul, .de-lesson ol { font-size: 1.04rem; line-height: 1.7; }
.de-lesson strong { font-weight: 600; }

/* eyebrow: small gold text after an 8px gold dot */
.tl-eyebrow, .eyebrow, .ps-eyebrow {
  display: inline-flex; align-items: center; gap: 8px; width: fit-content;
  padding: 0; border: 0 !important; background: none !important; border-radius: 0;
  color: var(--tl-gold-text) !important; font-size: 14px; font-weight: 500; letter-spacing: 0; text-transform: none;
}
.tl-eyebrow::before, .eyebrow::before, .ps-eyebrow::before {
  content: ""; flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--tl-gold);
}
/* small-caps label */
.tl-label, .vl-code-label, .de-box-label {
  font-size: 11.5px !important; font-weight: 600 !important; letter-spacing: 0.1em !important; text-transform: uppercase; color: var(--tl-muted) !important;
}
.tl-gold { color: var(--tl-gold); }

/* ---- Buttons: pills, 44px, no bounce ---------------------------------------------------------- */
.btn, .ps-button, .dp-btn, .lp-download-button, .sa-bundle-button, .sa-cta, .tl-btn,
button[type="submit"], a[data-action="buy"], button[data-action="buy"], [data-action="free-download"] {
  border-radius: 999px !important; font-weight: 500 !important; font-size: 14.5px; min-height: 44px;
  letter-spacing: 0; box-shadow: none !important;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
.btn:hover, .ps-button:hover, .dp-btn:hover, .tl-btn:hover, .ps-button-primary:hover, .ps-button-ghost:hover { transform: none !important; }
.btn-primary, .ps-button-primary, .dp-btn-primary, .tl-btn-primary,
.btn-brown, .btn-lowpower, .btn-academy, .btn-purple {
  background: var(--tl-fill) !important; border-color: var(--tl-fill) !important; color: var(--tl-on-primary) !important;
}
.btn-primary:hover, .ps-button-primary:hover, .dp-btn-primary:hover, .tl-btn-primary:hover,
.btn-brown:hover, .btn-lowpower:hover, .btn-academy:hover, .btn-purple:hover {
  background: var(--tl-fill-hover) !important; border-color: var(--tl-fill-hover) !important;
}
.btn-secondary, .tl-btn-secondary {
  background: var(--tl-lav) !important; border-color: var(--tl-lav) !important; color: var(--tl-on-lav) !important;
}
.btn-secondary:hover, .tl-btn-secondary:hover { background: var(--tl-lav-hover) !important; border-color: var(--tl-lav-hover) !important; }
.btn-outline, .btn-ghost, .ps-button-ghost, .tl-btn-ghost {
  background: var(--tl-card) !important; color: var(--tl-ink) !important; border: 1px solid var(--tl-line-strong) !important;
}
.btn-outline:hover, .btn-ghost:hover, .ps-button-ghost:hover, .tl-btn-ghost:hover { border-color: var(--tl-primary) !important; }
.tl-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 12px 22px; border: 1px solid transparent; text-decoration: none; cursor: pointer; line-height: 1.2;
}

/* ---- Cards --------------------------------------------------------------------------------------- */
.card, .book-card, .ps-card, .dp-card, .bundle-item-card, .faq-item, .review-card, .prepsprint-hub-card,
.ps-topic-card, .ps-level-card, .lp-chapter-card, .lp-track-card, .lrn-path-card, .lrn-shelf-card,
.lrn-lesson-list, .de-pager a, .ps-answer-card, .ps-library-topic, .ps-steps article, .tl-card {
  border-radius: 20px !important; border: 1px solid var(--tl-card-line) !important;
  box-shadow: var(--tl-shadow-card); transform: none !important;
}
:is(.card, .book-card, .ps-card, .dp-card, .bundle-item-card, .prepsprint-hub-card, .ps-topic-card, .ps-level-card,
  .lp-chapter-card, .lrn-shelf-card, .de-pager a, .ps-library-topic, .tl-card):hover {
  border-color: var(--tl-line-strong) !important; box-shadow: var(--tl-shadow-card); transform: none !important;
}
.lrn-lesson-list, .de-pager a { box-shadow: var(--tl-shadow-sm); }
.complete-library-banner, .cta-card, .author-band .container { border-radius: 26px; }

/* ---- Pills / badges / tags ---------------------------------------------------------------------- */
.si-pill, .tl-pill, .lrn-pill {
  display: inline-flex; align-items: center; gap: 6px; width: fit-content;
  padding: 4px 12px; border-radius: 999px; border: 1px solid var(--tl-line-strong);
  background: var(--tl-card); color: var(--tl-primary);
  font-family: var(--tl-font); font-size: 11.5px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase;
}
.tl-pill-gold { background: var(--tl-gold-soft); color: var(--tl-gold-soft-text); border-color: var(--tl-gold-soft-line); }
.tl-pill-lav { background: var(--tl-lav-soft); color: var(--tl-lav-soft-text); border-color: var(--tl-lav-soft-line); }

/* ---- Header / nav ----------------------------------------------------------------------------- */
.pdv-site-header {
  background: rgba(245, 244, 238, 0.92) !important; border-bottom: 1px solid var(--tl-line) !important;
  backdrop-filter: saturate(1.2) blur(14px); -webkit-backdrop-filter: saturate(1.2) blur(14px);
}
html[data-theme="dark"] .pdv-site-header, :root:has(.bundle-hero) .pdv-site-header, :root:has(.not-found-card) .pdv-site-header {
  background: rgba(11, 26, 28, 0.9) !important;
}
.pdv-logo, .pdv-logo span:last-child { font-weight: 500; letter-spacing: -0.02em; color: var(--tl-ink); }
.pdv-logo-mark, .ps-brand-mark {
  border-radius: 7px !important; background: #0f3238 !important; color: #f5f4ee !important; box-shadow: none !important;
  font-weight: 600; font-size: 0.8rem;
}
.pdv-nav-menu { color: var(--tl-ink); font-weight: 500; }
.pdv-nav-menu > a, .pdv-nav-trigger { font-size: 15px; font-weight: 500; color: var(--tl-ink); }
.pdv-nav-menu > a:hover, .pdv-nav-trigger:hover, .pdv-nav-dropdown a:hover, .pdv-nav-dropdown a:focus-visible { color: var(--tl-primary); }
.pdv-nav-dropdown { border-radius: 16px; border-color: var(--tl-line); box-shadow: var(--tl-shadow-card); }
.pdv-site-header .pdv-nav-menu .pdv-nav-prep,
.pdv-site-header .pdv-nav-menu .pdv-nav-start {
  display: inline-flex; align-items: center; align-self: center; min-height: 40px; padding: 8px 18px; white-space: nowrap;
  border-radius: 999px !important; background: var(--tl-fill) !important; color: var(--tl-on-primary) !important;
  font-size: 14.5px; font-weight: 500 !important; text-decoration: none;
}
.pdv-site-header .pdv-nav-menu .pdv-nav-prep:hover,
.pdv-site-header .pdv-nav-menu .pdv-nav-start:hover { background: var(--tl-fill-hover) !important; }
/* show one icon: only the homepage defined this, so every other page showed sun and moon together */
.theme-toggle .light-icon { display: none; }
html[data-theme="dark"] .theme-toggle .light-icon { display: block; }
html[data-theme="dark"] .theme-toggle .dark-icon { display: none; }
.pdv-site-header .theme-toggle, .pdv-nav-toggle { border-radius: 999px; border-color: var(--tl-line); background: var(--tl-card); color: var(--tl-ink); }
@media (max-width: 900px) {
  .pdv-nav-menu { background: var(--tl-paper); border-bottom-color: var(--tl-line); }
  .pdv-site-header .pdv-nav-menu .pdv-nav-prep, .pdv-site-header .pdv-nav-menu .pdv-nav-start { align-self: flex-start; }
}

/* ---- Footer: paper, hairline, quiet ----------------------------------------------------------- */
.footer, .ps-footer, .site-footer, .page-footer, .ce-footer {
  background: var(--tl-paper) !important; border-top: 1px solid var(--tl-line) !important; color: var(--tl-muted) !important;
}
.footer-bottom, .ps-footer-bottom { border-top-color: var(--tl-line) !important; }
.footer p, .footer li, .ps-footer, .ps-footer p, .site-footer, .site-footer p { color: var(--tl-muted) !important; font-size: 14px; }
.footer a:not(.logo):not(.btn), .ps-footer a, .site-footer a, .ps-footer-support a { color: var(--tl-ink) !important; }
.footer a:hover, .ps-footer a:hover, .site-footer a:hover { color: var(--tl-primary) !important; text-decoration: underline; text-underline-offset: 3px; }
.footer h2, .footer h3, .footer h4, .ps-footer h2, .ps-footer h3, .footer .logo, .footer-logo { color: var(--tl-ink) !important; }
/* footer small print was light grey for the old dark footer: muted ink on the paper footer now */
.footer-bottom, .footer-bottom span, .ps-footer-bottom, .ps-footer-bottom span, .ps-trademark-note { color: var(--tl-muted) !important; }

/* ---- Code ------------------------------------------------------------------------------------- */
.de-lesson pre.vl-code, pre.ps-code, .ps-guide-answer > pre, .ps-answer-card pre {
  border-radius: 14px; background: var(--tl-code-bg); border: 1px solid var(--tl-line);
}
.de-lesson pre.vl-code code { font-size: 13px; line-height: 1.65; color: var(--tl-ink); }
.de-lesson code, .ps-guide-answer code, .ps-answer-card code { background: var(--tl-code-bg); color: var(--tl-ink); font-size: 0.88em; }
.de-lesson pre.vl-sim, .tl-terminal { border-radius: 14px; background: var(--tl-term-bg); }
.de-lesson pre.vl-sim code, .tl-terminal { color: var(--tl-term-text); font-size: 13px; }
.de-lesson pre.vl-sim .vl-pass { color: #8fd4c9; }
.tl-terminal .tl-c { color: var(--tl-term-comment); }
.tl-terminal .tl-f { color: var(--tl-term-flag); }

/* ---- Tables / callouts ------------------------------------------------------------------------ */
/* body.pa-chrome articles style their own tables from their own palette */
.de-lesson th, body:not(.pa-chrome) :is(main, article) table th { background: var(--tl-soft); color: var(--tl-ink); font-weight: 600; }
.de-lesson th, .de-lesson td, body:not(.pa-chrome) :is(main, article) table :is(th, td) { border-color: var(--tl-line); }
.de-box { border-radius: 16px; border-color: var(--tl-line); border-left: 3px solid var(--tl-primary); background: var(--tl-card); }
.de-takeaways { border-radius: 16px; background: var(--tl-primary-soft); }

/* ---- Focus ------------------------------------------------------------------------------------ */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible,
summary:focus-visible, [tabindex]:focus-visible, .pdv-nav a:focus-visible, .pdv-nav-trigger:focus-visible,
.pdv-nav-toggle:focus-visible, .pdv-site-header .theme-toggle:focus-visible, a.lrn-row:focus-visible {
  outline: 2px solid var(--tl-focus) !important; outline-offset: 2px;
}

/* ---- Hero backgrounds: faint grid on paper ---------------------------------------------------- */
.tl-grid-bg, .lrn-hero, .lrn-path-hero, .ps-question-hero, html[data-theme="dark"] .ps-question-hero { background: var(--tl-grid), var(--tl-paper) !important; }
.ps-question-hero { border-bottom: 1px solid var(--tl-line) !important; }
html[data-theme="dark"] .ps-question-hero h1 { color: var(--tl-ink); }
.lrn-hero-stat { color: var(--tl-gold-text); font-weight: 500; }
:root:not([data-theme="dark"]) .hero:has(.hero-grid) { background: var(--tl-grid), var(--tl-paper); }
html[data-theme="dark"] .hero:has(.hero-grid) { background: var(--tl-grid), var(--tl-paper); color: var(--tl-ink); }
html[data-theme="dark"] .hero:has(.hero-grid) h1, html[data-theme="dark"] .hero:has(.hero-grid) h1 * { color: var(--tl-ink) !important; }
html[data-theme="dark"] .hero:has(.hero-grid) :is(.hero-text, .hero-pack, .hero-quote, p) { color: var(--tl-body) !important; }
.hero:has(.hero-grid) :is(.btn-secondary) { background: var(--tl-lav) !important; color: var(--tl-on-lav) !important; border-color: var(--tl-lav) !important; }
.hero:has(.hero-grid) .hero-pack a { color: var(--tl-primary) !important; }
.hero:has(.hero-grid) .hero-trace path { stroke: var(--tl-primary) !important; }

/* ---- Sections -------------------------------------------------------------------------------- */
/* article detail pages (body.pa-chrome) paint their own background from their own :root palette */
body:not(.pa-chrome) { background-color: var(--tl-paper); }
.section.soft, .cta-section { background: var(--tl-soft); }
.cta-card { background: var(--tl-panel) !important; color: var(--tl-panel-text); }
.cta-card h2, .cta-card h3, .cta-card p { color: var(--tl-panel-text) !important; }
.cta-card .btn-primary { background: var(--tl-lav) !important; color: var(--tl-on-lav) !important; border-color: var(--tl-lav) !important; }
.complete-library-banner { background: var(--tl-panel) !important; }
.complete-library-banner .eyebrow, .complete-library-banner [class*="eyebrow"] { color: #c9b46a !important; }
.complete-library-banner .eyebrow::before, .complete-library-banner .ps-eyebrow::before { background: #c9b46a; }
.si-announce { background: var(--tl-soft); border-bottom-color: var(--tl-line); color: var(--tl-body); }
.si-announce a { color: var(--tl-primary); font-weight: 500; }
.si-stats { border-top-color: var(--tl-line); }
.si-stats dd { font-weight: 400; letter-spacing: -0.03em; color: var(--tl-ink); }
.si-stats dt { color: var(--tl-muted); }

/* ---- /learn hub and the homepage stack (.lrn-*) ------------------------------------------------ */
.lrn-panel { background: var(--tl-soft) !important; }
.lrn-group-card, .lrn-careers-list li {
  background: var(--tl-card) !important; border: 1px solid var(--tl-card-line) !important; border-radius: 20px !important;
  box-shadow: var(--tl-shadow-sm);
}
.lrn-group-card li { border-top-color: var(--tl-line) !important; }
.lrn-group-card[data-group="chip-design"] .lrn-pill, .lrn-group-card[data-group="manufacturing"] .lrn-pill,
.lrn-group-card[data-group="specialized"] .lrn-pill {
  background: var(--tl-gold-soft); color: var(--tl-gold-soft-text); border-color: var(--tl-gold-soft-line);
}
.lrn-group-card[data-group="front-end"] .lrn-pill, .lrn-group-card[data-group="architecture-modeling"] .lrn-pill,
.lrn-group-card[data-group="packaging-system"] .lrn-pill {
  background: var(--tl-lav-soft); color: var(--tl-lav-soft-text); border-color: var(--tl-lav-soft-line);
}
.lrn-row { min-height: 40px; padding: 10px 10px; margin: 0 -10px; border-radius: 12px; color: var(--tl-ink) !important; }
a.lrn-row:hover, a.lrn-row:focus-visible { background: var(--tl-paper); }
a.lrn-row:hover .lrn-row-title, a.lrn-row:focus-visible .lrn-row-title { color: var(--tl-primary) !important; }
.lrn-row-title { font-size: 1rem; font-weight: 500; letter-spacing: -0.01em; }
.lrn-row-icon { border-color: var(--tl-primary-border) !important; background: var(--tl-primary-soft) !important; color: var(--tl-primary) !important; }
.lrn-count { background: none !important; color: var(--tl-muted) !important; font-weight: 500; font-variant-numeric: tabular-nums; }
.lrn-row-soon { color: var(--tl-muted) !important; }
.lrn-row-soon .lrn-row-icon { opacity: 1 !important; background: transparent !important; border-color: var(--tl-line) !important; color: var(--tl-icon-soon) !important; }
.lrn-tag {
  padding: 2px 9px; border-radius: 999px; background: var(--tl-soft) !important; color: var(--tl-muted) !important;
  font-size: 11px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;
}
.lrn-row-desc { color: var(--tl-muted) !important; }
.lrn-path-section h2 { color: var(--tl-ink) !important; }
.lrn-path-stats dd { font-weight: 400; letter-spacing: -0.03em; color: var(--tl-ink); }
.lrn-path-card a, .de-full-chapter-link a { color: var(--tl-primary); }
.lrn-lesson-list a:hover, .lrn-lesson-list a:focus-visible { background: var(--tl-paper); }

/* ---- Page CSS that hard-codes greens ----------------------------------------------------------- */
/* articles.css */
.pa-chrome .ps-brand-mark, .pa-chrome .pdv-logo-mark { background: #0f3238 !important; color: #f5f4ee !important; }
.pa-chrome .pdv-nav-prep { background: var(--tl-fill) !important; color: var(--tl-on-primary) !important; }
.pa-chrome .pdv-nav-prep:hover { background: var(--tl-fill-hover) !important; }
/* synthesis / innovus reader print-block notices */
.synthesis-notice a { color: #cdc8f6; }
/* site-nav.css gradient mark and sample label */
.pdv-sample-label { color: var(--tl-primary); }
/* Innovus / design-planning readers and the command equivalence pages define their own --green family */
.innovus-reader, .innovus-shell, .ce-page, body[data-reader] { --green: var(--tl-primary); }

/* ---- Page palettes defined in page CSS (Innovus / Design Planning readers, article promos) -------- */
:root {
  --dp-navy: #10292d; --dp-teal: #75661f; --dp-bg-soft: #f5f4ee; --dp-border: #e3e1d8; --dp-card-bg: #ffffff;
  --dp-text: #3b4a47; --dp-heading: #10292d; --dp-code-bg: #edece4;
  --dp-accent: #0f3238; --dp-accent-hover: #0a2529; --dp-accent-light: #e4ecea;
}
:root[data-theme="dark"] {
  --dp-navy: #7cc2b8; --dp-teal: #c9b46a; --dp-bg-soft: #0b1a1c; --dp-border: #21393d; --dp-card-bg: #12292d;
  --dp-text: #c9d5d2; --dp-heading: #eaf1ef; --dp-code-bg: #081315;
  --dp-accent: #7cc2b8; --dp-accent-hover: #9bd3ca; --dp-accent-light: rgba(124, 194, 184, 0.14);
}
.pa-chrome { --pm-card: var(--tl-card); --pm-line: var(--tl-line); --pm-soft: var(--tl-soft); --pm-green: var(--tl-primary);
  --pm-ink: var(--tl-ink); --pm-muted: var(--tl-muted); --pm-fill: var(--tl-fill); --pm-fill-hover: var(--tl-fill-hover); }
/* articles.css declares --pm-* on the promo elements themselves, so match that, one level more specific */
:root :is(.pa-promo, .pa-rail, .pa-practice), :root .pa-chrome :is(.pa-promo, .ps-paid-guide-cta, .ps-module-card, .pa-rail, .pa-practice) {
  --pm-card: #ffffff; --pm-soft: #edece4; --pm-line: #e3e1d8; --pm-ink: #10292d; --pm-muted: #5f6a67; --pm-green: #0f3238;
  --pm-fill: #0f3238; --pm-fill-hover: #0a2529; font-family: var(--tl-font);
}
.pa-chrome .pdv-site-header { --ink: #10292d; --green: #0f3238; --hairline: #e3e1d8; --glass: rgba(245, 244, 238, 0.92); font-family: var(--tl-font); }
:root[data-theme="dark"] .pa-chrome .pdv-site-header { --ink: #eaf1ef; --card: #12292d; --green: #7cc2b8; --hairline: #21393d; --glass: rgba(11, 26, 28, 0.9); }
.dl-msg.ok { color: var(--tl-success) !important; }
html[data-theme="dark"] .innovus-reader { --green: #7cc2b8; }
:root[data-theme="dark"] :is(.pa-promo, .pa-rail, .pa-practice), :root[data-theme="dark"] .pa-chrome, :root[data-theme="dark"] .pa-chrome :is(.pa-promo, .ps-paid-guide-cta, .ps-module-card, .pa-rail, .pa-practice) {
  --pm-card: #12292d; --pm-line: #21393d; --pm-soft: #0f2326; --pm-green: #7cc2b8; --pm-ink: #eaf1ef; --pm-muted: #9aaea9;
}
.pa-complete { background: var(--tl-panel) !important; color: var(--tl-panel-text) !important; }
.pa-complete:hover, .pa-complete:focus-visible { background: #17454c !important; }
.pa-complete-price { background: var(--tl-lav) !important; color: var(--tl-on-lav) !important; }
.pa-chrome .ps-footer { background: var(--tl-paper) !important; }
.pa-chrome .ps-footer-support a, .ps-footer-support a { color: var(--tl-ink) !important; }
.ps-module-eyebrow { color: var(--tl-gold-text) !important; }
.pa-chrome .ps-paid-guide-cta, .ps-paid-guide-cta { border-left-color: var(--tl-primary) !important; }

/* ---- Hard-coded greens in page CSS / inline styles (found by the computed-style scan) ---------- */
/* PDF preview timer badges (STA, Low Power, Signoff Academy readers) */
.lp-pdf-timer, .pdf-timer-badge { background: var(--tl-primary-soft) !important; color: var(--tl-primary) !important; border-color: var(--tl-primary-border) !important; }
/* form status messages (success) */
.form-message { color: var(--tl-success) !important; }
/* Complete Library feature badges (always-dark page) */
.bundle-feature-badge { background: rgba(124, 194, 184, 0.14) !important; color: #7cc2b8 !important; border-color: rgba(124, 194, 184, 0.3) !important; }
/* Design Planning / Innovus / PnR Flow landing pages */
.promo-banner { background: var(--tl-panel) !important; color: #e7efec !important; }
.promo-banner :is(p, span, strong, b, li, div):not(.promo-badge):not(.dp-promo-badge) { color: inherit; }
.promo-badge, .dp-promo-badge, .dp-toolbar-badge { background: var(--tl-lav) !important; color: var(--tl-on-lav) !important; }
.dp-card-banner { background-image: linear-gradient(135deg, #17454c, #0f3238) !important; }
.dp-bullet { background: var(--tl-primary) !important; }
.dp-floating-download, .dp-btn-primary { background: var(--tl-fill) !important; background-image: none !important; color: var(--tl-on-primary) !important; border-color: var(--tl-fill) !important; }
.dp-floating-download:hover, .dp-btn-primary:hover { background: var(--tl-fill-hover) !important; }
html[data-theme="dark"] .dp-reading-container p.chapno { color: #c9b46a !important; }
html[data-theme="dark"] :is(.dp-reading-container .takeaway, .dp-reading-container div.takeaway) { border-left-color: #7cc2b8 !important; background: rgba(124, 194, 184, 0.08) !important; }
/* STA library page mark */
.logo-mark { background: #0f3238 !important; background-image: none !important; color: #f5f4ee !important; }
/* PrepSprint hub: the STA topic card's signature green */
.ps-topic-card-sta { --ps-primary: var(--tl-primary); }
.ps-topic-card-sta .ps-topic-icon, .ps-topic-card-sta .ps-topic-level-links a {
  color: var(--tl-primary) !important; background: var(--tl-primary-soft) !important; border-color: var(--tl-primary-border) !important;
}
.ps-topic-card-sta .ps-button-primary { background: var(--tl-fill) !important; }
.ps-featured-col { border-color: var(--tl-primary-border) !important; }
.ps-featured-col h3, .pb-spec-count { color: var(--tl-primary) !important; }
html[data-theme="dark"] :is(.ps-topic-card-sta .ps-eyebrow, .ps-topic-card-sta .ps-topic-level-links a) { color: #7cc2b8 !important; background: rgba(124, 194, 184, 0.1) !important; border-color: #2c474b !important; }
/* Signoff Academy (always light): CLP guide accent, bundle banner, CTA button */
.sa-guide-card[data-accent="clp"] { --topic-accent: #0f3238; }
.sa-bundle-kicker, .sa-save-badge strong, .sa-loop-steps li > strong { color: #c9b46a !important; }
.sa-save-badge { background: rgba(201, 180, 106, 0.16) !important; }
.sa-cta .ps-button { background: var(--tl-lav) !important; color: var(--tl-on-lav) !important; border-color: var(--tl-lav) !important; }
/* Signoff Academy keeps its light design in dark mode, so its header must stay light too */
html[data-theme="dark"] body[data-topic="academy"] .pdv-site-header { background: rgba(245, 244, 238, 0.92) !important; }
/* Innovus reader */
.innovus-reader table.sc th.sh { background: var(--tl-fill) !important; color: #fff !important; }
html[data-theme="dark"] .innovus-reader .vt-ok { color: #7fc79f !important; }
.innovus-notice a, .synthesis-notice a { color: #cdc8f6 !important; }
/* payment success page: success state in the teal success palette */
.success-check, svg.success-check { stroke: var(--tl-success) !important; color: var(--tl-success) !important; }
.step-num { background: var(--tl-fill) !important; color: #fff !important; }
.status-badge, .time-badge { color: var(--tl-success) !important; background: var(--tl-success-soft) !important; border-color: transparent !important; }
.btn-download { background: var(--tl-fill) !important; background-image: none !important; color: #fff !important; }
.btn-download:hover { background: var(--tl-fill-hover) !important; }
/* 404 quick-nav track labels */
:root:has(.not-found-card) { --accent-mmmc: #7cc2b8; --accent-pnr: #cdc8f6; --accent-lp: #c9b46a; }
:root:has(.not-found-card) [style*="#60a5fa"] { color: #7cc2b8 !important; }
/* payment-success / session pages: the green stripe on top of the card */
.success-card::before { background: linear-gradient(90deg, #0f3238, #17454c, #7cc2b8) !important; }
.success-icon-wrap svg circle { stroke: var(--tl-success) !important; }
strong.masked-email { background: var(--tl-success-soft) !important; color: var(--tl-success) !important; }
.pa-chrome .pdv-logo, .pa-chrome .pdv-logo span:not(.pdv-logo-mark) { color: var(--tl-ink) !important; }
.pa-promo-kicker { color: var(--tl-gold-text) !important; }
.pa-chrome .theme-toggle { border-color: var(--tl-line) !important; }
/* inline style="" greens left in hand-written pages (never inside SVG diagrams) */
:not(svg *)[style*="color: #15803d"], :not(svg *)[style*="color:#15803d"], :not(svg *)[style*="color: #22c55e"],
:not(svg *)[style*="color: #34d399"], :not(svg *)[style*="color:#34d399"], :not(svg *)[style*="color: #10b981"],
:not(svg *)[style*="color: #059669"], :not(svg *)[style*="color: #047857"] { color: var(--tl-primary) !important; }
html[data-theme="dark"] body:not([data-topic="academy"]) :not(svg *):is([style*="color: #15803d"], [style*="color: #22c55e"], [style*="color: #34d399"], [style*="color: #10b981"]) { color: #7cc2b8 !important; }
:not(svg *)[style*="gradient(135deg, #15803d, #047857)"], :not(svg *)[style*="gradient(135deg,#15803d,#047857)"] { background: #0f3238 !important; color: #f5f4ee !important; }

/* ---- Homepage complete-library banner, announcement bar, review badges -------------------------- */
.complete-library-banner { border-color: rgba(201, 180, 106, 0.35) !important; }
.complete-library-lead { color: var(--tl-panel-text) !important; }
.complete-library-list a > span span { color: var(--tl-panel-text-2) !important; }
.complete-library-banner del { color: #b3c2be !important; }
.category-icon.brown { color: #ffffff !important; }
html[data-theme="dark"] .category-icon.brown { color: #1a1608 !important; }
.complete-library-offer p, .complete-library-offer p span { color: var(--tl-panel-text) !important; }
.complete-library-offer [style*="#bbf7d0"] { color: var(--tl-panel-text-2) !important; }
.complete-library-offer a[style*="#bbf7d0"] { color: #cdc8f6 !important; }
/* the fill goes on the link itself: on phones only the short label shows, so the link background is what you see */
.pdv-announce-cta, .pdv-announce-cta-full { background: var(--tl-fill) !important; border-color: var(--tl-fill) !important; color: #fff !important; }
.review-badge { background: var(--tl-primary-soft) !important; color: var(--tl-primary) !important; }

/* ---- Contrast fixes (axe-core): fills that used the text-teal token, captions on white diagram panels */
.filter-pill:hover, .filter-pill.active { background: var(--tl-fill) !important; border-color: var(--tl-fill) !important; color: #fff !important; }
.ps-source-diagram figcaption, .ps-source-diagram figcaption span, [id^="diagram-"][id$="-caption"], [id^="diagram-"][id$="-caption"] span { color: #0f3238 !important; }
html[data-theme="dark"] .ps-complete, html[data-theme="dark"] .ps-complete span { color: #7cc2b8 !important; }
html[data-theme="dark"] .ps-module-card-caption { color: var(--tl-muted) !important; }

/* ---- Dark mode: panels prepsprint.css hard-codes navy (diagrams and the always-light Signoff Academy excluded) */
html[data-theme="dark"] body:not([data-topic="academy"]) :is(.ps-answer-card, .ps-guide-takeaways, .ps-related-topics a,
  .ps-related-questions a, .ps-prev-next a, .ps-guide-question, .ps-sticky-card, .ps-level-nav a, .ps-copy, .ps-share a,
  .ps-button-ghost, .ps-topic-card, .ps-library-topic, .ps-steps article, .ps-level-card, .lp-chapter-card, .lp-track-card,
  .lp-tool-card, .lp-simple-links a, .lp-guide-coming-line span, .lp-coming-badge, .ps-subtopic-buttons button,
  .ps-pillar-strip-links a, .ps-guide-toolbar) { background: #12292d; }
html[data-theme="dark"] body:not([data-topic="academy"]) .ps-filter-buttons { background: #0f2326; }

/* ---- Complete Library / 404 (always dark): teal panels, teal-light accents ------------------- */
:root:has(.bundle-hero) .bundle-pricing-card {
  background-image: linear-gradient(135deg, rgba(23, 69, 76, 0.85), rgba(18, 41, 45, 0.95));
  border: 2px solid rgba(124, 194, 184, 0.35); box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5), 0 0 40px rgba(124, 194, 184, 0.12);
}
:root:has(.not-found-card) .quick-nav-card { background-color: rgba(23, 69, 76, 0.6); }
:root:has(.not-found-card) .quick-nav-card:hover { background-color: rgba(23, 69, 76, 0.9); }
:root:has(.bundle-hero) .price-row strong { color: #7cc2b8; }
:root:has(.not-found-card) .not-found-code { background-image: linear-gradient(135deg, #7cc2b8, #cdc8f6); }
:root:has(.bundle-hero) [style*="#38bdf8"], :root:has(.not-found-card) [style*="#38bdf8"] { color: #7cc2b8 !important; }
:root:has(.bundle-hero) [style*="rgba(56, 189, 248"] { background: rgba(124, 194, 184, 0.14) !important; }
:root:has(.bundle-hero) [style*="rgba(56,189,248"] { background: #12292d !important; border-color: rgba(124, 194, 184, 0.3) !important; }
/* /learn and the homepage hub on phones: learn.css turns the grid into a flex column but keeps
   the desktop align-items: start, so every card shrank to its content width */
@media (max-width: 760px) { .lrn-grid { align-items: stretch; } }
/* learn path bookshelf: covers overflowed the 200px cover box onto the caption */
.lrn-shelf-cover { overflow: hidden; }
.lrn-shelf-cover img { height: 100%; max-height: 100%; width: auto; object-fit: contain; }
/* PrepSprint bundle: --pb-brand is --ps-primary, a text colour in dark mode */
.pb-buy, .pb-art-tap { background: var(--tl-fill) !important; color: #fff !important; }
/* PrimeTime / Tempus readers: comments on the light code background; callout tints in dark mode */
.primetime-reader pre .c { color: var(--tl-muted) !important; }
html[data-theme="dark"] .primetime-reader { --ps-amber-soft: #2a2716; --ps-blue-soft: #132a33; --ps-green-soft: #12302a; --ps-red-soft: #331b1b; }
/* inline sky-blue text links (#38bdf8) on hand-written pages: one accent */
:not(svg *)[style*="color: #38bdf8"], :not(svg *)[style*="color:#38bdf8"] { color: var(--tl-primary) !important; }
/* PrepSprint pillar-guide cards are designed dark (inline navy): give them the teal panel */
.ps-topic-card[style*="rgba(15,23,42"] { background: var(--tl-panel) !important; border-color: #17454c !important; color: #e7efec; }
.ps-topic-card[style*="rgba(15,23,42"] .ps-eyebrow { color: #c9b46a !important; }
.ps-topic-card[style*="rgba(15,23,42"] .ps-eyebrow::before { background: #c9b46a; }
.ps-topic-card[style*="rgba(15,23,42"] :not(svg *)[style*="color: #38bdf8"] { color: #7cc2b8 !important; }
/* Signoff Academy: eyebrows on its dark bands, and the bundle note that its own p rule turns dark */
:is(.sa-loop, .sa-cta-grid, .sa-bundle) .ps-eyebrow { color: #c9b46a !important; }
:is(.sa-loop, .sa-cta-grid, .sa-bundle) .ps-eyebrow::before { background: #c9b46a; }
body[data-topic="academy"] p.sa-bundle-note { color: #9fb4b0; }
/* footer brand name: inline white, written for the old dark footer */
:is(.site-footer, .footer) span[style*="color:#fff"]:not([style*="background"]) { color: var(--tl-ink) !important; }
/* Innovus reader: links with no colour rule fell back to the browser blue */
.innovus-reader a:not([class]), .dp-nav-grid a, .dp-reading-wrapper a[href^="/pnr-cheat-sheets/"] { color: var(--tl-primary); }

/* PrimeTime / Tempus callout labels in dark mode (same meanings: amber analogy, red mistake, blue note) */
html[data-theme="dark"] .primetime-reader .co { --ps-amber: #d9c88a; --ps-red: #f0a3a3; --ps-blue: #9cc6e8; --ps-green: #7fc79f; }
/* --ps-surface-subtle is used by hand-written sections but never defined: it fell back to #f8fafc in dark mode too */
:root, :root body, body[data-topic], [data-topic] { --ps-surface-subtle: #edece4; --ps-ink-muted: #535e5b; }
:root[data-theme="dark"], html[data-theme="dark"] body, html[data-theme="dark"] [data-topic]:not([data-topic="academy"]) { --ps-surface-subtle: #0f2326; --ps-ink-muted: #9aaea9; }
/* PrepSprint track icons and level links carried one colour per track (purple, amber, sky): one accent */
.ps-topic-icon, .ps-topic-icon[style*="color"] { color: var(--tl-primary) !important; }
.ps-topic-icon { background: var(--tl-primary-soft) !important; }
.ps-topic-level-links a { color: var(--tl-primary) !important; background: var(--tl-primary-soft) !important; border-color: var(--tl-primary-border) !important; }
/* Innovus landing: in-text links need more than colour to stand out from the text */
.innovus-reader p a, .dp-reading-container p a { text-decoration: underline; text-underline-offset: 2px; }
/* Signoff Academy intro paragraph (slate #64748b was 4.4:1 on its paper) */
body[data-topic="academy"] .ps-narrow > p { color: #4a5550 !important; }
/* Complete Library: struck-through "separately" price */
:root:has(.bundle-hero) .price-row del { color: #9aaea9; }
/* PrepSprint featured columns: inline navy cards, same teal panel as the pillar guides */
.ps-featured-col[style*="rgba(15,23,42"] { background: var(--tl-panel) !important; border-color: #17454c !important; color: #e7efec; }
.ps-featured-col[style*="rgba(15,23,42"] h3 { color: #c9b46a !important; }
/* article footers: brand name inherited white from the old dark footer */
:is(.footer, .ps-footer, .site-footer) .ps-brand > span:not(.ps-brand-mark) { color: var(--tl-ink) !important; }
/* Low Power hub: hand-written light-only sections inside dark mode (inline slate text, dark red heads) */
html[data-theme="dark"] .ps-section :not(svg *):is([style*="color: #475569"], [style*="color:#475569"], [style*="color: #64748b"], [style*="color:#64748b"]) { color: var(--tl-muted) !important; }
html[data-theme="dark"] body:not([data-topic="academy"]) :not(svg *):is([style*="color: #b91c1c"], [style*="color:#b91c1c"], [style*="color: #dc2626"], [style*="color:#dc2626"]) { color: #f0a3a3 !important; }
/* reader Q&A level badges: --ps-green is a light text colour in dark mode, so the label goes dark */
html[data-theme="dark"] .primetime-reader .lvl:not(.beg):not(.adv) { color: #0b1a1c; }
/* library pages: the red price tag (warning red kept, made readable) */
.price-tag { color: #b91c1c !important; }
html[data-theme="dark"] .price-tag { color: #f0a3a3 !important; }
/* PrimeTime / Tempus floating buy button: fill, not the dark-mode text primary */
.pt-floating-buy, .pt-floating-buy-full { background: var(--tl-fill) !important; color: #fff !important; }
