/* GENERATED by scripts/theme/build-theme.cjs from the site's own CSS — do not edit.
   Hand-tuned dark values go in theme.manual.css (appended at the end). Light mode is
   untouched: every rule below applies only under html[data-theme="dark"]. */
html[data-theme="dark"] { color-scheme: dark; background-color: #0b1120; color: #e2e8f0; }
html[data-theme="dark"] body { background-color: #0b1120; color: #e2e8f0; }
html[data-theme="dark"] :where(img:not([src$=".svg"]):not(.no-dim)) { filter: brightness(.92); }

/* Theme toggle button (theme-toggle.js) */
.theme-toggle { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 36px; height: 36px; margin: 0 0 0 4px; padding: 0; border: 1px solid currentColor !important; border-radius: 999px; background: transparent !important; color: inherit !important; cursor: pointer; opacity: .85; font: inherit; line-height: 1; }
.theme-toggle:hover { opacity: 1; }
.theme-toggle:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; opacity: 1; }
.theme-toggle .tt-sun { display: none; }
html[data-theme="dark"] .theme-toggle .tt-sun { display: block; }
html[data-theme="dark"] .theme-toggle .tt-moon { display: none; }
.theme-toggle--floating { position: fixed; right: 16px; bottom: 16px; z-index: 9999; margin: 0; background: #fff !important; color: #1f2937 !important; box-shadow: 0 2px 10px rgba(0,0,0,.18); }
html[data-theme="dark"] .theme-toggle--floating { background: #1b294e !important; color: #e2e8f0 !important; }
@media (max-width: 480px) { .theme-toggle { width: 32px; height: 32px; } }
@media print { .theme-toggle { display: none !important; } }

/* ---- from the site's stylesheets ---- */
html[data-theme="dark"] header .nav>.btn,
html[data-theme="dark"] .home-hero .btn:not(.btn-ghost),
html[data-theme="dark"] .hero-ctas>.btn:not(.btn-ghost),
html[data-theme="dark"] .intro-ctas>.btn:not(.btn-ghost),
html[data-theme="dark"] .quote-panel>.btn,
html[data-theme="dark"] .footer-cta>.btn {
  background: #a51c30;
  border-color: #e66b7d;
  color: #F3F3F1;
}
html[data-theme="dark"] header .nav>.btn:hover,
html[data-theme="dark"] .home-hero .btn:not(.btn-ghost):hover,
html[data-theme="dark"] .hero-ctas>.btn:not(.btn-ghost):hover,
html[data-theme="dark"] .intro-ctas>.btn:not(.btn-ghost):hover,
html[data-theme="dark"] .quote-panel>.btn:hover,
html[data-theme="dark"] .footer-cta>.btn:hover {
  border-color: #e87889;
}
html[data-theme="dark"] header .navlinks .services-menu>summary {
  color: #e1e1e1;
}
html[data-theme="dark"] header .services-menu>summary:hover {
  color: #e66b7d;
}
html[data-theme="dark"] header .services-menu>summary:focus-visible {
  outline: 2px solid #e66b7d;
}
html[data-theme="dark"] header .services-menu .services-panel {
  background: #0b1120;
  border: 1px solid #2c3039;
}
html[data-theme="dark"] header .services-panel a:hover,
html[data-theme="dark"] header .services-panel a[aria-current="page"] {
  background: #0f172a;
}
html[data-theme="dark"] header .services-panel .service-name {
  color: #e1e1e1;
}
html[data-theme="dark"] header .services-panel .service-description {
  color: #aaa29d;
}
html[data-theme="dark"] header {
  border-bottom: 1px solid #2c3039;
  background: rgba(14,22,41,0.96);
}
html[data-theme="dark"] a {
  color: #e66b7d;
}
html[data-theme="dark"] .eyebrow {
  color: #aaa29d;
}
html[data-theme="dark"] body {
  background: #0e1629;
  color: #e1e1e1;
}
html[data-theme="dark"] .logo {
  color: #e1e1e1;
}
html[data-theme="dark"] .logo-word {
  color: #e1e1e1;
}
html[data-theme="dark"] .logo-ready {
  color: #e66b7d;
}
html[data-theme="dark"] .logo-tag {
  color: #aaa29d;
}
html[data-theme="dark"] .navlinks a {
  color: #e1e1e1;
}
html[data-theme="dark"] .navlinks a:hover {
  color: #e66b7d;
}
html[data-theme="dark"] .navlinks a:focus-visible,
html[data-theme="dark"] .btn:focus-visible,
html[data-theme="dark"] .logo:focus-visible {
  outline: 2px solid #e66b7d;
}
html[data-theme="dark"] .btn {
  background: #1e1e1e;
  color: #F3F3F1;
  border: 1px solid #e1e1e1;
}
html[data-theme="dark"] .btn:hover {
  background: #38312f;
}
html[data-theme="dark"] .btn-ghost {
  color: #e1e1e1;
  border: 1px solid #2c3039;
}
html[data-theme="dark"] .btn-ghost:hover {
  border-color: #e1e1e1;
  background: #10192e;
}
html[data-theme="dark"] .eyebrow::before {
  background: #625a55;
}
html[data-theme="dark"] .intro .lede {
  color: #aaa29d;
}
html[data-theme="dark"] .report {
  background: #0b1120;
  border: 1px solid #2c3039;
}
html[data-theme="dark"] .report-title {
  border-bottom: 2px solid #e1e1e1;
}
html[data-theme="dark"] .report-title span {
  color: #aaa29d;
}
html[data-theme="dark"] .meta {
  border: 1px solid #2c3039;
}
html[data-theme="dark"] .meta div {
  border-bottom: 1px solid #2c3039;
}
html[data-theme="dark"] .meta dt {
  color: #aaa29d;
}
html[data-theme="dark"] .meta .wide {
  border-bottom: 1px solid #2c3039 !important;
}
html[data-theme="dark"] .label {
  color: #aaa29d;
}
html[data-theme="dark"] .scope {
  background: #0e1629;
  border-left: 3px solid #e66b7d;
}
html[data-theme="dark"] .scope p {
  color: #aaa29d;
}
html[data-theme="dark"] th {
  color: #aaa29d;
  border-bottom: 2px solid #e1e1e1;
}
html[data-theme="dark"] td {
  border-bottom: 1px solid #2c3039;
}
html[data-theme="dark"] td.num {
  color: #aaa29d;
}
html[data-theme="dark"] td.loc {
  color: #aaa29d;
}
html[data-theme="dark"] td a {
  color: #e1e1e1;
  text-decoration-color: #2c3039;
}
html[data-theme="dark"] td a:hover {
  text-decoration-color: #e1e1e1;
}
html[data-theme="dark"] .badge.flag {
  background: #2a1612;
  color: #de7469;
  border: 1px solid #de7469;
}
html[data-theme="dark"] .badge.pass {
  background: #10192e;
  color: #90d0af;
  border: 1px solid #90d0af;
}
html[data-theme="dark"] .finding {
  border: 1px solid #2c3039;
  border-left: 3px solid #de7469;
}
html[data-theme="dark"] .finding.pass {
  border-left-color: #90d0af;
}
html[data-theme="dark"] .finding .where {
  color: #aaa29d;
}
html[data-theme="dark"] .fix {
  background: #10192e;
}
html[data-theme="dark"] .fix .label {
  color: #90d0af;
}
html[data-theme="dark"] .recommendation {
  background: #0e1629;
  border: 1px solid #2c3039;
}
html[data-theme="dark"] .disclaimer {
  border-top: 1px dashed #2c3039;
  color: #aaa29d;
}
html[data-theme="dark"] .cta-band {
  background: #1e1e1e;
  color: #F3F3F1;
}
html[data-theme="dark"] .cta-band h2 {
  color: #f3f3f1;
}
html[data-theme="dark"] .cta-band p {
  color: #d3c5bc;
}
html[data-theme="dark"] .cta-band .btn {
  background: #0e1629;
  color: #e1e1e1;
  border-color: #27292e;
}
html[data-theme="dark"] .cta-band .btn:hover {
  background: #15213e;
}
html[data-theme="dark"] .cta-band .btn-ghost {
  color: #f3f3f1;
  border-color: #aaa29d;
}
html[data-theme="dark"] .cta-band .btn-ghost:hover {
  border-color: #27292e;
}
html[data-theme="dark"] footer {
  border-top: 1px solid #2c3039;
  color: #aaa29d;
}
html[data-theme="dark"] .policy section {
  border-top: 1px solid #2c3039;
}
html[data-theme="dark"] .policy h2 {
  color: #e1e1e1;
}
html[data-theme="dark"] .policy p,
html[data-theme="dark"] .policy li {
  color: #aaa29d;
}
html[data-theme="dark"] .policy strong {
  color: #e1e1e1;
}
html[data-theme="dark"] .policy a {
  color: #e66b7d;
}
html[data-theme="dark"] .sister-sites {
  background: #0e1629;
  border-top: 1px solid #2c3039;
  color: #e1e1e1;
}
html[data-theme="dark"] .sister-sites .ss-label {
  color: #aaa29d;
}
html[data-theme="dark"] .sister-sites a {
  color: #e1e1e1;
}
html[data-theme="dark"] .sister-sites .ss-line {
  color: #aaa29d;
}
html[data-theme="dark"] .sister-sites a:focus-visible {
  outline: 2px solid #e66b7d;
}
@media (max-width:640px) {
  html[data-theme="dark"] .meta div:nth-last-child(2) {
    border-bottom: 1px solid #2c3039;
  }
  html[data-theme="dark"] tr {
    border-bottom: 1px solid #2c3039;
  }
}

/* ---- inline style="" attributes ---- */
html[data-theme="dark"] [style="color:var(--ink-soft); font-size:.92rem; margin:0;"] {
  color: #aaa29d !important;
}
html[data-theme="dark"] [style="color:var(--ink-soft); max-width:62ch;"] {
  color: #aaa29d !important;
}

/* ---- client-rendered inline styles (browser-serialized form) ---- */
html[data-theme="dark"] [style^="color: rgb(98, 90, 85)"],
html[data-theme="dark"] [style*="; color: rgb(98, 90, 85)"] { color: rgb(170, 162, 157) !important; }

/* ---- theme.manual.css ---- */
/* Hand-tuned dark-mode rules for Reviewer Ready (appended to assets/theme.css by
   scripts/theme/build-theme.cjs). Light mode is never affected. Red and green in the
   sample-report visuals keep their error/passed meaning in dark mode. */
