/* Rich-text (WYSIWYG) editor — theme-aware. */
.pp-rte {
    border: 1px solid var(--pp-border, #cbd5e1);
    border-radius: var(--pp-radius, 8px);
    background: var(--pp-surface, #fff);
    overflow: hidden;
}
.pp-rte:focus-within { border-color: var(--pp-accent, #4f46e5); box-shadow: 0 0 0 2px color-mix(in srgb, var(--pp-accent, #4f46e5) 20%, transparent); }
.pp-rte-tb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1px;
    padding: .3rem .4rem;
    background: var(--pp-surface-soft, #f8fafc);
    border-bottom: 1px solid var(--pp-border, #e6e9f0);
}
.pp-rte-b {
    min-width: 1.9rem;
    height: 1.9rem;
    padding: 0 .35rem;
    border: 1px solid transparent;
    border-radius: 6px;
    background: transparent;
    color: var(--pp-text, #0f172a);
    font-size: .85rem;
    line-height: 1;
    cursor: pointer;
}
.pp-rte-b:hover { background: color-mix(in srgb, var(--pp-accent, #4f46e5) 12%, transparent); border-color: color-mix(in srgb, var(--pp-accent, #4f46e5) 25%, transparent); }
.pp-rte-div { width: 1px; height: 1.2rem; background: var(--pp-border, #e6e9f0); margin: 0 .25rem; }
.pp-rte-area {
    padding: .6rem .75rem;
    outline: 0;
    color: var(--pp-text, #0f172a);
    line-height: 1.6;
    overflow: auto;
    max-height: 24rem;
}
.pp-rte-area:empty::before { content: attr(data-placeholder); color: var(--pp-text-muted, #94a3b8); }
.pp-rte-area h1 { font-size: 1.4rem; margin: .3em 0; }
.pp-rte-area h2 { font-size: 1.2rem; margin: .3em 0; }
.pp-rte-area ul, .pp-rte-area ol { padding-left: 1.4rem; margin: .3em 0; }
.pp-rte-area a { color: var(--pp-accent, #4f46e5); }
