/*
 * Lexxy Editor Theme Integration with DaisyUI
 * Maps Lexxy's CSS variables to DaisyUI theme variables for dynamic theming
 */

/* Specific theme overrides for better contrast and readability */

/* Light theme (ecospherewhite) specific adjustments */
[data-theme="ecospherewhite"] {
  --lexxy-color-ink-medium: var(--color-base-content);
  --lexxy-color-ink-light: var(--color-base-content);
  --lexxy-color-ink-lighter: var(--color-base-300);
  --lexxy-color-ink-lightest: var(--color-base-200);
  --lexxy-color-selected: var(--color-base-300);
  --lexxy-color-selected-hover: var(--color-base-300);
  --lexxy-color-code-bg: var(--color-base-200);
}

/* Dark theme (ecospheredark) specific adjustments */
[data-theme="ecospheredark"] {
  --lexxy-color-ink-medium: var(--color-base-content);
  --lexxy-color-ink-light: var(--color-base-content);
  --lexxy-color-ink-lighter: var(--color-base-300);
  --lexxy-color-ink-lightest: var(--color-base-200);
  --lexxy-color-selected: var(--color-base-300);
  --lexxy-color-selected-hover: var(--color-base-300);
  --lexxy-color-code-bg: var(--color-base-200);
  --lexxy-color-canvas: var(--color-base-100) !important;
}

/* Lexxy Editor specific styling enhancements */
:where(lexxy-editor) {
  &[attachments="false"] button[name="upload"] {
    display: none;
  }

  /* Fix Tailwind and Lexxy interoperability */
  /* https://github.com/basecamp/lexxy/issues/284#issuecomment-3355731760 */
  ul,
  ol,
  dl {
    list-style: revert;
    margin: revert;
    padding: revert;
  }

  .lexxy-editor__content {
    /* Links should use primary color and override DaisyUI text decoration */
    a {
      text-decoration: underline;
      color: var(--color-primary);
    }
  }

  .lexxy-code-language-picker {
    color: var(--color-base-content);
  }
}

/* Content styling to match DaisyUI theme */
:where(.lexxy-content) {
  /* Ensure all text elements use proper contrast */
  p,
  div,
  span,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  li,
  td,
  th,
  strong,
  em,
  b,
  i,
  blockquote {
    color: var(--color-base-content);
  }

  /* Fix Tailwind and Lexxy interoperability */
  /* https://github.com/basecamp/lexxy/issues/284#issuecomment-3355731760 */
  ul,
  ol,
  dl {
    list-style: revert;
    margin: revert;
    padding: revert;
  }

  a {
    text-decoration: underline;
    color: var(--color-primary);
  }

  pre {
    background-color: var(--color-base-200);
    border-color: var(--color-base-300);
    color: var(--color-base-content);
  }
}

/* Attachment styling */
:where(action-text-attachment) {
  &[content-type^="application/vnd.actiontext"] {
    background-color: var(--color-base-200);
    color: var(--color-base-content);

    &.node--selected {
      background-color: var(--color-primary);
      color: var(--color-primary-content);
    }
  }
}
