/* GENERATED by tools/build-dark.py — do not edit by hand (edit css/dark.css for manual tweaks). */
/* ---- css/header.css ---- */
html[data-theme="dark"] {
  --ink: #d6dbdf;
  --header-bg: rgba(24, 37, 48, 0.92);
  --header-border: rgba(255, 255, 255, 0.12);
}
html[data-theme="dark"] .header.scrolled {
  background: rgba(24, 37, 48, 0.97);
}
html[data-theme="dark"] .nav-links a:hover,
html[data-theme="dark"] .nav-links a:focus-visible {
  color: #81bbd8;
}
html[data-theme="dark"] .nav-links a.active,
html[data-theme="dark"] .nav-links a[aria-current="page"] {
  color: #81bbd8;
}
html[data-theme="dark"] .web-dev-btn {
  background: #182530;
  color: #81bbd8;
}
html[data-theme="dark"] .web-dev-btn::before {
  background: linear-gradient(
    90deg,
    rgba(57, 143, 186, 0.18) 0%,
    rgba(28, 44, 57, 0.24) 50%,
    rgba(255, 108, 99, 0.18) 100%
  );
}
html[data-theme="dark"] .mobile-menu a {
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}
html[data-theme="dark"] .header.hnav {
  background: rgba(24, 37, 48, 0.86);
}
html[data-theme="dark"] .header.hnav.scrolled {
  background: rgba(24, 37, 48, 0.97);
}
html[data-theme="dark"] .header.hnav .nav-links a:hover,
html[data-theme="dark"] .header.hnav .nav-links a:focus-visible {
  color: #81bbd8;
}
html[data-theme="dark"] .header.hnav .web-dev-btn.hnav-cta {
  color: var(--hnav-ink, #92a0aa);
}
html[data-theme="dark"] .mobile-menu.hnav-menu::before {
  background-image: radial-gradient(circle at 15% 20%, rgba(24, 37, 48, 0.14), transparent 40%),
    radial-gradient(circle at 85% 82%, rgba(24, 37, 48, 0.1), transparent 42%);
}
html[data-theme="dark"] .mobile-menu.hnav-menu a {
  border-bottom-color: rgba(255, 255, 255, 0.16);
}
html[data-theme="dark"] .mobile-menu.hnav-menu .hnav-menu-cta:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.14);
}

/* ---- css/caseStudy.css ---- */
html[data-theme="dark"] body {
  color: #d3d9dd;
}
html[data-theme="dark"] .back-button {
  background: #182530;
  color: #c3cad0;
}
html[data-theme="dark"] .back-button:hover {
  background-color: #1e2f3e;
}
html[data-theme="dark"] .project-card {
  background: rgba(24, 37, 48, 0.7);
  border: 1px solid rgba(255, 255, 255, 0.16);
}
html[data-theme="dark"] .project-subtitle {
  color: #a3aeb6;
}
html[data-theme="dark"] .project-description {
  color: #c3cad0;
}
html[data-theme="dark"] .proj {
  --ink-900: #d6dbdf;
  --ink-700: #c3cad0;
  --muted: #8997a2;
  --panel: #203038;
  --card: #182530;
}
html[data-theme="dark"] .btn:focus-visible {
  outline: 3px solid color-mix(in oklab, var(--brand), rgba(255, 255, 255, 0.14) 70%);
}
html[data-theme="dark"] .btn--light {
  background: #182530;
  color: #81bbd8;
}
html[data-theme="dark"] .btn--light:hover {
  background: #1c2b36;
}
html[data-theme="dark"] .btn--ghost {
  background: #182530;
  color: #81bbd8;
}
html[data-theme="dark"] .btn--ghost:hover {
  background: #1c2b36;
}
html[data-theme="dark"] .proj__hero {
  background: linear-gradient(180deg, #182530 0%, #1b2c34 100%);
}
html[data-theme="dark"] .proj__eyebrow {
  color: #81bbd8;
}
html[data-theme="dark"] .chip {
  background: #1d3039;
  color: #9dc9df;
}
html[data-theme="dark"] .chip--soft {
  background: #341d1b;
  color: #d57973;
}
html[data-theme="dark"] .cover__frame {
  background: #203242;
}
html[data-theme="dark"] .cover__frame::before {
  background: #1e2f3d;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
html[data-theme="dark"] .cover__expand:focus-visible {
  outline: 3px solid rgba(255, 255, 255, 0.14);
}
html[data-theme="dark"] .cs-lightbox__stage {
  background: #182530;
}
html[data-theme="dark"] .cs-lightbox__close {
  background: rgba(24, 37, 48, 0.92);
  color: #d6dbdf;
}
html[data-theme="dark"] .cs-lightbox__close:hover {
  background: #182530;
}
html[data-theme="dark"] .card {
  background: #182530;
  border: 1px solid rgba(255, 255, 255, 0.09);
}
html[data-theme="dark"] .card--facts {
  background: linear-gradient(180deg, #182530 0%, #1d2a31 100%);
}
html[data-theme="dark"] .tag {
  background: #351e1c;
  color: #d57973;
}
html[data-theme="dark"] .shot {
  background: #182530;
  border: 1px solid rgba(255, 255, 255, 0.09);
}
html[data-theme="dark"] .glass {
  background: rgba(24, 37, 48, 0.7);
  border: 1px solid rgba(255, 255, 255, 0.16);
}
html[data-theme="dark"] .proj__band--tint {
  background: radial-gradient(120% 140% at 100% 0%, rgba(57, 143, 186, 0.10), transparent 60%),
        linear-gradient(180deg, #1c2d36 0%, #1e2f3a 100%);
}
html[data-theme="dark"] .feature {
  background: #182530;
  border: 1px solid rgba(255, 255, 255, 0.09);
}
html[data-theme="dark"] .feature__icon {
  color: #81bbd8;
}
html[data-theme="dark"] .story-block__eyebrow {
  color: #81bbd8;
}
html[data-theme="dark"] .stack-strip {
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}
html[data-theme="dark"] .continue-exploring {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}
html[data-theme="dark"] .continue-exploring__head .section__eyebrow {
  color: var(--brand, #81bbd8);
}
html[data-theme="dark"] .continue-exploring__heading {
  color: var(--ink-900, #d6dbdf);
}
html[data-theme="dark"] .explore-list {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}
html[data-theme="dark"] .explore-row {
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
html[data-theme="dark"] .explore-row__index {
  color: var(--muted, #8997a2);
}
html[data-theme="dark"] .explore-row__title {
  color: var(--ink-900, #d6dbdf);
}
html[data-theme="dark"] .explore-row__category {
  color: var(--muted, #8997a2);
}
@media (hover: hover) {
  html[data-theme="dark"] .explore-row__link:hover .explore-row__title,
  html[data-theme="dark"] .explore-row__link:focus-visible .explore-row__title {
    color: var(--brand, #81bbd8);
  }
}
html[data-theme="dark"] .explore-row__arrow {
  color: var(--brand, #81bbd8);
}
html[data-theme="dark"] .continue-exploring__all a {
  color: var(--brand, #81bbd8);
}

/* ---- css/footer.css ---- */
html[data-theme="dark"] body {
  color: #d0d7ea;
  background: #182530;
}
html[data-theme="dark"] {
  --footer-bg: radial-gradient(circle at 12% 10%, rgba(64, 103, 217, 0.08), transparent 24%),
    radial-gradient(circle at 88% 18%, rgba(64, 103, 217, 0.06), transparent 22%),
    linear-gradient(180deg, rgba(32, 49, 61, 0.72) 0%, rgba(35, 54, 66, 0.88) 100%);
  --footer-ink: #d0d7ea;
  --footer-muted: #8192aa;
  --footer-soft: rgba(24, 37, 48, 0.68);
}
html[data-theme="dark"] .footer-left a.footer-copy {
  color: #81bbd8;
}
html[data-theme="dark"] .footer-right .social-icon:hover {
  background: #182530;
}
html[data-theme="dark"] .ftx {
  --ftx-ink: #d0d7ea;
  --ftx-muted: #949eab;
  --ftx-line: rgba(255, 255, 255, 0.15);
  --ftx-card: rgba(24, 37, 48, 0.72);
  background: radial-gradient(circle at 18% 0%, rgba(57, 143, 186, 0.10), transparent 42%),
    radial-gradient(circle at 84% 12%, rgba(255, 108, 99, 0.08), transparent 38%),
    linear-gradient(180deg, #1c2b36 0%, #1f2f3c 100%);
}
html[data-theme="dark"] .ftx-pill {
  color: #81bbd8;
}
html[data-theme="dark"] .ftx-link-line__pulse {
  background: #182530;
}
html[data-theme="dark"] .ftx-btn--secondary {
  background: #182530;
  border: 1px solid rgba(255, 255, 255, 0.16);
}
html[data-theme="dark"] .ftx-btn--secondary:hover {
  color: #81bbd8;
}
html[data-theme="dark"] .ftx-nav__link:hover {
  color: #81bbd8;
}
html[data-theme="dark"] .ftx-social:hover {
  color: #81bbd8;
}

/* ---- css/buttons.css ---- */
html[data-theme="dark"] .btn--secondary,
html[data-theme="dark"] .btn--light,
html[data-theme="dark"] .btn--ghost,
html[data-theme="dark"] .hero-btn-secondary,
html[data-theme="dark"] .action-link--secondary,
html[data-theme="dark"] .ftx-btn--secondary,
html[data-theme="dark"] .cta-btn--secondary,
html[data-theme="dark"] .ccta-btn--secondary,
html[data-theme="dark"] #marketing .marketing-cta {
  background: #182530;
  color: #55a5cd;
}
@media (hover: hover) {
  html[data-theme="dark"] .btn--secondary:hover,
  html[data-theme="dark"] .btn--light:hover,
  html[data-theme="dark"] .btn--ghost:hover,
  html[data-theme="dark"] .hero-btn-secondary:hover,
  html[data-theme="dark"] .action-link--secondary:hover,
  html[data-theme="dark"] .ftx-btn--secondary:hover,
  html[data-theme="dark"] .cta-btn--secondary:hover,
  html[data-theme="dark"] .ccta-btn--secondary:hover,
  html[data-theme="dark"] #marketing .marketing-cta:hover {
    background: #1f323c;
    color: #55a5cd;
  }
}

/* ---- css/protected-access.css ---- */
html[data-theme="dark"] .pa__dialog {
  background: var(--surface, #182530);
  color: var(--ink-800, #d6dbdf);
  border: 1px solid var(--line-soft, rgba(255, 255, 255, 0.12));
}
html[data-theme="dark"] .pa__close {
  color: var(--ink-500, #8e9ca6);
}
html[data-theme="dark"] .pa__lock {
  background: var(--surface-soft, #1a2835);
  border: 1px solid var(--line-soft, rgba(255, 255, 255, 0.12));
  color: var(--blue-deep, #55a5cd);
}
html[data-theme="dark"] .pa__project {
  color: var(--blue-deep, #55a5cd);
}
html[data-theme="dark"] .pa__title {
  color: var(--ink-900, #e1e5e7);
}
html[data-theme="dark"] .pa__text {
  color: var(--ink-600, #adb7be);
}
html[data-theme="dark"] .pa__label {
  color: var(--ink-700, #bfc7cd);
}
html[data-theme="dark"] .pa__field {
  background: var(--surface-soft, #1a2835);
}
html[data-theme="dark"] .pa__field:focus-within {
  background: var(--surface, #182530);
}
html[data-theme="dark"] .pa__input {
  color: var(--ink-900, #e1e5e7);
}
html[data-theme="dark"] .pa__input::placeholder {
  color: var(--ink-500, #8e9ca6);
}
html[data-theme="dark"] .pa__toggle {
  color: var(--ink-600, #adb7be);
}
html[data-theme="dark"] .pa__error {
  color: #e56d66;
}
html[data-theme="dark"] .pa__request {
  border-top: 1px solid var(--line-soft, rgba(255, 255, 255, 0.12));
  color: var(--ink-500, #8e9ca6);
}
html[data-theme="dark"] .pa__request-link {
  color: var(--blue-deep, #55a5cd);
}
@media (hover: hover) {
  html[data-theme="dark"] .pa__close:hover,
  html[data-theme="dark"] .pa__toggle:hover {
    background: var(--surface-sunken, #1c2b39);
    color: var(--ink-900, #e1e5e7);
  }
}
html[data-theme="dark"][data-theme="dark"] .pa__lock {
  color: #55a5cd;
}
html[data-theme="dark"][data-theme="dark"] .pa__field:has(.pa__input[aria-invalid="true"]) {
  border-color: rgba(255, 255, 255, 0.14);
}
