/*
 * 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) {
    color: var(--color-base-content);

    &[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 {
        font-size: revert;
        font-weight: revert;
        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);
        }
    }
}
