/* Cross-browser safety net loaded after main styles */

/* Safe viewport fallback for browsers without dvh support */
:root {
  --cd-safe-viewport-height: 100vh;
}

@supports (height: 100dvh) {
  :root {
    --cd-safe-viewport-height: 100dvh;
  }
}

html,
body {
  min-height: var(--cd-safe-viewport-height);
}

/* Fallback for browsers without color-mix support */
@supports not (background: color-mix(in srgb, #000 50%, #fff)) {
  .theme-switch-wrapper {
    background: rgba(255, 255, 255, 0.92);
  }

  body.neo-mode .theme-switch-wrapper {
    background: rgba(16, 18, 26, 0.92) !important;
  }
}

/* Fallback for browsers without backdrop-filter support */
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .card,
  .theme-switch-wrapper,
  .top-hero,
  .qm-wrap,
  .modal-card,
  .lang-trigger,
  .lang-dropdown {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .card,
  .theme-switch-wrapper,
  .lang-dropdown,
  .modal-card {
    background-color: rgba(255, 255, 255, 0.97) !important;
  }

  body.neo-mode .card,
  body.neo-mode .theme-switch-wrapper,
  body.neo-mode .lang-dropdown,
  body.neo-mode .modal-card {
    background-color: rgba(12, 15, 24, 0.94) !important;
  }
}

/* Fallback for browsers without text-wrap: pretty */
@supports not (text-wrap: pretty) {
  .dream-block-text,
  .dream-golden-advice,
  .dream-final-consult {
    overflow-wrap: anywhere;
    word-break: keep-all;
  }
}
