/* GENERATED by tools/build-dark.py — do not edit by hand (edit css/dark.css for manual tweaks). */
/* ---- inline ---- */
html[data-theme="dark"] body {
  background: #182530;
  color: #e3e7e9;
}

/* ---- css/tokens.css ---- */
html[data-theme="dark"] {
  --bg-primary: #182530;
  --bg-secondary: #1a2835;
  --surface-elevated: #182530;
  --text-primary: #e1e5e7;
  --text-secondary: #adb7be;
  --border: rgba(255, 255, 255, 0.12);
  --ink-900: #e1e5e7;
  --ink-800: #d6dbdf;
  --ink-700: #bfc7cd;
  --ink-600: #adb7be;
  --ink-500: #8e9ca6;
  --surface: #182530;
  --surface-soft: #1a2835;
  --surface-sunken: #1c2b39;
  --line-soft: rgba(255, 255, 255, 0.12);
}
@media (hover: hover) {
  html[data-theme="dark"] .btn--secondary:hover {
    color: #55a5cd;
  }
}
html[data-theme="dark"] .btn--text {
  color: #55a5cd;
}

/* ---- 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/hero.css ---- */
html[data-theme="dark"] {
  --hero-ink: #d8e0ea;
  --hero-muted: #949eab;
}
html[data-theme="dark"] .hero {
  background: #182530;
}
html[data-theme="dark"] .hero-title-name {
  color: #81bbd8;
}
html[data-theme="dark"] .hero-btn-primary::before {
  background: #182530;
}
html[data-theme="dark"] .hero-btn-secondary {
  background: #182530;
  color: #81bbd8;
}
@media (hover: hover) {
  html[data-theme="dark"] .hero-btn-primary:hover {
    color: #81bbd8;
  }
}
html[data-theme="dark"] .hero-window {
  background: #182530;
  border: 1px solid rgba(255, 255, 255, 0.12);
}
html[data-theme="dark"] .hero-window__bar {
  border-bottom: 1px solid rgba(255, 255, 255, 0.11);
  background: var(--surface-soft, #1a2835);
}

/* ---- css/journey.css ---- */
html[data-theme="dark"] .skills-section::before {
  background: radial-gradient(circle at 18% 20%, rgba(24, 37, 48, 0.45), transparent 26%),
    radial-gradient(circle at 82% 78%, rgba(24, 37, 48, 0.28), transparent 22%);
}
html[data-theme="dark"] .title {
  color: #e0e2e7;
}
html[data-theme="dark"] .description {
  color: #b1bcc8;
}
html[data-theme="dark"] .journey-card {
  background: #182530;
  border: 1px solid rgba(255, 255, 255, 0.08);
}
html[data-theme="dark"] .journey-card__title {
  color: #d5dbe3;
}
html[data-theme="dark"] .journey-card__desc {
  color: #8293a7;
}

/* ---- css/projects.css ---- */
html[data-theme="dark"] {
  --ink-900: #dee1e8;
  --ink-500: #929daf;
}
html[data-theme="dark"] .projects.v11 .projects-title {
  color: #e2e4e9;
}
html[data-theme="dark"] .projects.v11 .project-card {
  background: #1d2b34;
}
html[data-theme="dark"] .projects.v11 .card-fig {
  background: #1f323c;
}
html[data-theme="dark"] .projects.v11 .chip,
html[data-theme="dark"] .projects.v11 .tap-hint {
  background: rgba(24, 37, 48, 0.96);
  color: #cbdeea;
}
html[data-theme="dark"] .projects.v11 .overlay-platform {
  background: rgba(24, 37, 48, 0.14);
}

/* ---- css/more-work.css ---- */
html[data-theme="dark"] .mw-section {
  background: #182530;
}
html[data-theme="dark"] .mw-title {
  color: var(--ink-900, #dee1e8);
}
html[data-theme="dark"] .mw-card__fig {
  background: #1f323c;
  border: 1px solid var(--line-soft, rgba(255, 255, 255, 0.12));
}
html[data-theme="dark"] .mw-card__chip {
  color: var(--ink-500, #929daf);
}
html[data-theme="dark"] .mw-card__title {
  color: var(--ink-900, #dee1e8);
}
html[data-theme="dark"] .mw-card__desc {
  color: var(--ink-500, #929daf);
}
html[data-theme="dark"] .mw-card__badge {
  background: var(--surface-sunken, #1c2b39);
  color: var(--ink-600, #adb7be);
}
html[data-theme="dark"] .mw-card__badge--platform {
  color: var(--ink-500, #929daf);
  border: 1px solid var(--line-soft, rgba(255, 255, 255, 0.16));
}
@media (hover: hover) {
  html[data-theme="dark"] .mw-card__link:hover .mw-card__title {
    color: var(--blue, #81bbd8);
  }
}

/* ---- css/contact-cta.css ---- */
html[data-theme="dark"] .ccta__eyebrow {
  color: #55a5cd;
}
html[data-theme="dark"] .ccta-btn--secondary {
  color: #55a5cd;
}
html[data-theme="dark"] .ccta__tile {
  color: #55a5cd;
}
html[data-theme="dark"] .ccta__copy {
  color: #55a5cd;
}
html[data-theme="dark"] .ccta__row label {
  color: var(--ink-500, #8e9ca6);
}
html[data-theme="dark"] .ccta__error {
  color: #e56d66;
}
html[data-theme="dark"] .ccta__send::after {
  background: linear-gradient(100deg, transparent 30%, rgba(24, 37, 48, 0.28) 50%, transparent 70%);
}
@media (hover: hover) {
  html[data-theme="dark"] .ccta__toaddr:hover {
    color: #55a5cd;
  }
}
@media (hover: hover) {
  html[data-theme="dark"] .ccta__addr a:hover {
    color: #55a5cd;
  }
}
@media (max-width: 520px) {
  html[data-theme="dark"] .ccta__split .ccta__row + .ccta__row {
    border-top: 1px solid var(--line-soft, rgba(255, 255, 255, 0.12));
  }
}

/* ---- 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/page-navigator.css ---- */
html[data-theme="dark"] .csn__btn {
  color: var(--ink-900, #e1e5e7);
  background: rgba(24, 37, 48, 0.94);
}
html[data-theme="dark"] .csn__panel {
  background: var(--surface, #182530);
  border: 1px solid var(--line-soft, rgba(255, 255, 255, 0.12));
}
html[data-theme="dark"] .csn__link {
  color: var(--ink-700, #bfc7cd);
}
html[data-theme="dark"] .csn__link--top {
  color: var(--blue-deep, #55a5cd);
}
html[data-theme="dark"] .csn__link.is-active {
  color: var(--blue-deep, #55a5cd);
}
@media (hover: hover) {
  html[data-theme="dark"] .csn__link:hover {
    background: var(--surface-sunken, #1c2b39);
    color: var(--ink-900, #e1e5e7);
  }
  html[data-theme="dark"] .csn__link.is-active:hover {
    color: var(--blue-deep, #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);
}
