html {
  color-scheme: light;
  --fp-theme-bg: #f6f9fd;
  --fp-theme-surface: #ffffff;
  --fp-theme-surface-2: #f5f8fc;
  --fp-theme-elevated: #ffffff;
  --fp-theme-border: #d9e0ea;
  --fp-theme-text: #101828;
  --fp-theme-muted: #5d6678;
  --fp-theme-soft: #eaf1ff;
  --fp-theme-accent: #2563eb;
  --fp-theme-accent-strong: #1749b8;
  --fp-theme-success: #0f9f6e;
  --fp-theme-warning: #f97316;
  --fp-theme-shadow: rgba(16, 24, 40, .12);
  --fp-theme-header: #ffffff;
  --fp-theme-navpanel: #182137;
  --fp-theme-footer: #101828;
  --bs-body-bg: var(--fp-theme-bg);
  --bs-body-color: var(--fp-theme-text);
  --bs-secondary-color: var(--fp-theme-muted);
  --bs-border-color: var(--fp-theme-border);
}

html[data-theme="dark"] {
  color-scheme: dark;
  --fp-theme-bg: #0b111b;
  --fp-theme-surface: #121a27;
  --fp-theme-surface-2: #172233;
  --fp-theme-elevated: #1d2838;
  --fp-theme-border: #334155;
  --fp-theme-text: #edf4ff;
  --fp-theme-muted: #a7b3c5;
  --fp-theme-soft: #10284f;
  --fp-theme-accent: #74a7ff;
  --fp-theme-accent-strong: #9fc0ff;
  --fp-theme-success: #42c995;
  --fp-theme-warning: #ffad66;
  --fp-theme-shadow: rgba(0, 0, 0, .42);
  --fp-theme-header: #101827;
  --fp-theme-navpanel: #0f1724;
  --fp-theme-footer: #080d15;
  --bs-body-bg: var(--fp-theme-bg);
  --bs-body-color: var(--fp-theme-text);
  --bs-secondary-color: var(--fp-theme-muted);
  --bs-border-color: var(--fp-theme-border);
}

html[data-theme="dark"] body {
  background-color: var(--fp-theme-bg);
  color: var(--fp-theme-text);
}

.logo-theme-dark {
  display: none;
}

html[data-theme="dark"] .logo-theme-light {
  display: none;
}

html[data-theme="dark"] .logo-theme-dark {
  display: inline-block;
}

.fp-theme-toggle {
  color: var(--fp-theme-text);
  border: 1px solid var(--fp-theme-border);
  border-radius: 999px;
  background-color: var(--fp-theme-surface);
  transition: background-color .2s, border-color .2s, color .2s;
}

.fp-theme-toggle:hover,
.fp-theme-toggle:focus {
  color: var(--fp-theme-accent);
  border-color: var(--fp-theme-accent);
  background-color: var(--fp-theme-surface-2);
}

.fp-theme-icon {
  flex: 0 0 auto;
}

.fp-theme-icon-sun {
  display: none;
}

.fp-theme-icon-moon {
  display: block;
}

html[data-theme="dark"] .fp-theme-icon-sun {
  display: block;
}

html[data-theme="dark"] .fp-theme-icon-moon {
  display: none;
}

html[data-theme="dark"] .text-dark,
html[data-theme="dark"] .link-body-emphasis {
  color: var(--fp-theme-text) !important;
}

html[data-theme="dark"] .text-muted,
html[data-theme="dark"] .text-secondary {
  color: var(--fp-theme-muted) !important;
}

html[data-theme="dark"] .border,
html[data-theme="dark"] .border-top,
html[data-theme="dark"] .border-end,
html[data-theme="dark"] .border-bottom,
html[data-theme="dark"] .border-start {
  border-color: var(--fp-theme-border) !important;
}

html[data-theme="dark"] .header,
html[data-theme="dark"] .top-bar,
html[data-theme="dark"] .control-buttons {
  background-color: var(--fp-theme-header);
  border-color: var(--fp-theme-border);
}

html[data-theme="dark"] .dropdown-menu {
  background-color: var(--fp-theme-elevated);
  border-color: var(--fp-theme-border);
  box-shadow: 0 18px 48px var(--fp-theme-shadow);
}

html[data-theme="dark"] .dropdown-item {
  color: var(--fp-theme-text);
}

html[data-theme="dark"] .dropdown-item:hover,
html[data-theme="dark"] .dropdown-item:focus {
  color: var(--fp-theme-text);
  background-color: var(--fp-theme-surface-2);
}

html[data-theme="dark"] .btn-outline-light {
  color: var(--fp-theme-text);
  border-color: var(--fp-theme-border);
  background-color: transparent;
}

html[data-theme="dark"] .btn-outline-light:hover,
html[data-theme="dark"] .btn-outline-light:focus {
  color: var(--fp-theme-accent-strong);
  border-color: var(--fp-theme-accent);
  background-color: var(--fp-theme-surface-2);
}

html[data-theme="dark"] a {
  color: var(--fp-theme-accent);
}

html[data-theme="dark"] a:hover,
html[data-theme="dark"] a:focus {
  color: var(--fp-theme-accent-strong);
}

html[data-theme="dark"] .btn-close {
  filter: invert(1) grayscale(100%) brightness(190%);
}

html[data-theme="dark"] .bg-white,
html[data-theme="dark"] .bg-light,
html[data-theme="dark"] .card,
html[data-theme="dark"] .modal-content,
html[data-theme="dark"] .list-group-item {
  color: var(--fp-theme-text);
  border-color: var(--fp-theme-border);
  background-color: var(--fp-theme-surface) !important;
}

html[data-theme="dark"] .modal-header,
html[data-theme="dark"] .modal-footer {
  border-color: var(--fp-theme-border);
}

html[data-theme="dark"] .login-btn {
  color: var(--fp-theme-text) !important;
  background-color: var(--fp-theme-surface-2);
}

html[data-theme="dark"] .form-control,
html[data-theme="dark"] .form-select,
html[data-theme="dark"] textarea,
html[data-theme="dark"] input[type="text"],
html[data-theme="dark"] input[type="password"],
html[data-theme="dark"] input[type="email"],
html[data-theme="dark"] input[type="url"],
html[data-theme="dark"] input[type="number"] {
  color: var(--fp-theme-text);
  border-color: var(--fp-theme-border);
  background-color: var(--fp-theme-surface);
}

html[data-theme="dark"] .form-control:focus,
html[data-theme="dark"] .form-select:focus {
  color: var(--fp-theme-text);
  border-color: var(--fp-theme-accent);
  background-color: var(--fp-theme-surface);
  box-shadow: 0 0 0 .2rem rgba(116, 167, 255, .18);
}

html[data-theme="dark"] .form-control::placeholder,
html[data-theme="dark"] textarea::placeholder {
  color: #7f8ca1;
}

html[data-theme="dark"] .block,
html[data-theme="dark"] .login,
html[data-theme="dark"] .premiumPlan,
html[data-theme="dark"] .premiumTable,
html[data-theme="dark"] .fileItem,
html[data-theme="dark"] .preview-image,
html[data-theme="dark"] .table-rounded,
html[data-theme="dark"] .accordion-item,
html[data-theme="dark"] .tabs,
html[data-theme="dark"] .tab-buttons,
html[data-theme="dark"] .codes-textarea .form-control,
html[data-theme="dark"] .uploadItem .codes-input .form-control {
  color: var(--fp-theme-text);
  border-color: var(--fp-theme-border) !important;
  background-color: var(--fp-theme-surface);
}

html[data-theme="dark"] .table {
  color: var(--fp-theme-text);
  border-color: var(--fp-theme-border);
}

html[data-theme="dark"] .table > :not(caption) > * > * {
  color: inherit;
  border-color: var(--fp-theme-border);
  background-color: transparent;
}

html[data-theme="dark"] .table thead th,
html[data-theme="dark"] .premiumTable .col,
html[data-theme="dark"] .tabs .nav-link,
html[data-theme="dark"] .earn-mode input:disabled ~ label {
  color: var(--fp-theme-muted);
  background-color: var(--fp-theme-surface-2);
}

html[data-theme="dark"] .tabs .nav-link.active,
html[data-theme="dark"] .premiumTable .col:first-child {
  color: var(--fp-theme-text);
  border-color: var(--fp-theme-border);
  background-color: var(--fp-theme-surface);
}

html[data-theme="dark"] .premiumTable .col.premium,
html[data-theme="dark"] .earn-mode input:checked ~ label,
html[data-theme="dark"] .check-radio input[type="radio"]:checked,
html[data-theme="dark"] .check-radio input[type="checkbox"]:checked {
  color: var(--fp-theme-accent-strong);
  border-color: var(--fp-theme-accent);
  background-color: var(--fp-theme-soft);
}

html[data-theme="dark"] .paging a,
html[data-theme="dark"] .paging span {
  color: var(--fp-theme-text);
  background-color: var(--fp-theme-surface-2);
}

html[data-theme="dark"] .paging a:hover,
html[data-theme="dark"] .paging span {
  background-color: var(--fp-theme-accent);
}

html[data-theme="dark"] .divider-text span {
  background-color: var(--fp-theme-bg);
}

html[data-theme="dark"] .navpanel {
  background-color: var(--fp-theme-navpanel);
}

html[data-theme="dark"] .navpanel-tabs {
  background-color: #192437;
}

html[data-theme="dark"] .navpanel-tabs .nav-link.active,
html[data-theme="dark"] .navpanel-menu .nav-link.active,
html[data-theme="dark"] .navpanel-menu .nav-link:hover {
  background-color: rgba(116, 167, 255, .12);
}

html[data-theme="dark"] .server-stats,
html[data-theme="dark"] .files .table td,
html[data-theme="dark"] .download-meta,
html[data-theme="dark"] .fileItem-date,
html[data-theme="dark"] .fileItem-info,
html[data-theme="dark"] .form-switcher label {
  color: var(--fp-theme-muted);
}

html[data-theme="dark"] .download-title,
html[data-theme="dark"] .fileItem-title,
html[data-theme="dark"] .relatedFile-link {
  color: var(--fp-theme-text);
}

html[data-theme="dark"] .footer {
  background-color: var(--fp-theme-footer);
}

html[data-theme="dark"] .footer-tagline {
  color: var(--fp-theme-muted);
}

html[data-theme="dark"] .fp-hero,
html[data-theme="dark"] .fp-intro,
html[data-theme="dark"] .fp-workflows,
html[data-theme="dark"] .fp-cta {
  color: var(--fp-theme-text);
  border-color: var(--fp-theme-border);
  background-color: var(--fp-theme-bg);
}

html[data-theme="dark"] .fp-features {
  background-color: #0f1724;
}

html[data-theme="dark"] .fp-eyebrow {
  color: var(--fp-theme-accent);
}

html[data-theme="dark"] .fp-hero-title,
html[data-theme="dark"] .fp-section-title,
html[data-theme="dark"] .fp-feature-card h3,
html[data-theme="dark"] .fp-step h3,
html[data-theme="dark"] .fp-drop-title,
html[data-theme="dark"] .fp-file-row strong {
  color: var(--fp-theme-text);
}

html[data-theme="dark"] .fp-hero-text,
html[data-theme="dark"] .fp-section-lead,
html[data-theme="dark"] .fp-feature-card p,
html[data-theme="dark"] .fp-step p,
html[data-theme="dark"] .fp-drop-subtitle,
html[data-theme="dark"] .fp-file-row small {
  color: var(--fp-theme-muted);
}

html[data-theme="dark"] .fp-upload-panel,
html[data-theme="dark"] .fp-feature-card,
html[data-theme="dark"] .fp-steps {
  border-color: var(--fp-theme-border);
  background-color: var(--fp-theme-surface);
  box-shadow: 0 24px 70px var(--fp-theme-shadow);
}

html[data-theme="dark"] .fp-upload-panel-head,
html[data-theme="dark"] .fp-file-state {
  border-color: var(--fp-theme-border);
  background-color: var(--fp-theme-surface-2);
}

html[data-theme="dark"] .fp-drop-preview {
  border-color: #46566e;
  background-color: #111d2d;
}

html[data-theme="dark"] .fp-drop-icon,
html[data-theme="dark"] .fp-feature-icon {
  color: var(--fp-theme-accent);
  background-color: var(--fp-theme-soft);
}

html[data-theme="dark"] .fp-file-row,
html[data-theme="dark"] .fp-section + .fp-section,
html[data-theme="dark"] .fp-step + .fp-step {
  border-color: var(--fp-theme-border);
}

html[data-theme="dark"] .fp-proof-row {
  color: var(--fp-theme-muted);
}

html[data-theme="dark"] .fp-proof-row span,
html[data-theme="dark"] .fp-secondary-btn {
  color: var(--fp-theme-text);
  border-color: var(--fp-theme-border);
  background-color: var(--fp-theme-surface);
}

html[data-theme="dark"] .fp-secondary-btn:hover,
html[data-theme="dark"] .fp-secondary-btn:focus {
  color: var(--fp-theme-accent-strong);
  border-color: var(--fp-theme-accent);
  background-color: var(--fp-theme-surface-2);
}

html[data-theme="dark"] .fp-primary-btn {
  color: #07111f;
  background-color: var(--fp-theme-accent);
  border-color: var(--fp-theme-accent);
  box-shadow: 0 12px 28px rgba(116, 167, 255, .18);
}

html[data-theme="dark"] .fp-primary-btn:hover,
html[data-theme="dark"] .fp-primary-btn:focus,
html[data-theme="dark"] .fp-primary-btn:active {
  color: #07111f !important;
  background-color: var(--fp-theme-accent-strong) !important;
  border-color: var(--fp-theme-accent-strong) !important;
}

html[data-theme="dark"] .fp-cta-inner {
  border-color: var(--fp-theme-border);
  background-color: var(--fp-theme-surface);
}

html[data-theme="dark"] .fp-cta-inner p {
  color: var(--fp-theme-muted);
}

html[data-theme="dark"] .dropbox,
html[data-theme="dark"] #dropzone {
  color: var(--fp-theme-text);
  border-color: var(--fp-theme-border);
  background-color: var(--fp-theme-surface-2);
}

@media (prefers-reduced-motion: reduce) {
  .fp-theme-toggle {
    transition: none;
  }
}
