/* NOTE: MWTextEditor — base component styling
   Prefix: mw-text-editor-*
   Used by Wiki, Template, and as base for Contract/Fill modes */

.mw-text-editor {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--mud-default-borderradius);
    overflow: hidden;
}

.mw-text-editor-toolbar {
    padding: 4px 8px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
    background-color: var(--mud-palette-surface);
}

.mw-text-editor-content {
    padding: 12px 16px;
    min-height: 300px;
    outline: none;
}

.mw-text-editor .tiptap {
    outline: none;
    min-height: 260px;
}

.mw-text-editor .tiptap p.is-editor-empty:first-child::before {
    color: var(--mud-palette-text-disabled);
    content: attr(data-placeholder);
    float: left;
    height: 0;
    pointer-events: none;
}

/* NOTE: Template reference block (referenced block template in editor) */
.mw-te-template-ref {
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--mud-default-borderradius);
    margin: 8px 0;
    overflow: hidden;
    user-select: none;
}

.mw-te-template-ref-badge {
    padding: 4px 10px;
    font-size: 0.8em;
    font-weight: 600;
    background-color: color-mix(in srgb, var(--mud-palette-primary) 12%, transparent);
    color: var(--mud-palette-primary);
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.mw-te-template-ref-preview {
    padding: 8px 12px;
    pointer-events: none;
    opacity: 0.75;
}

/* NOTE: Slash (/) insert menu — filterable block list at the caret (wiki mode). Visual language
   matches the floating table toolbar (surface, lines, subtle shadow). */
.mw-te-slash-menu {
    position: absolute;
    z-index: 30;
    display: flex;
    flex-direction: column;
    min-width: 230px;
    max-height: 320px;
    overflow-y: auto;
    padding: 4px;
    background: var(--mud-palette-surface);
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18);
}

.mw-te-slash-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 10px;
    border: none;
    background: none;
    border-radius: 6px;
    cursor: pointer;
    color: var(--mud-palette-text-primary);
    font-size: 0.9rem;
    text-align: left;
    white-space: nowrap;
}

.mw-te-slash-item:hover,
.mw-te-slash-item--active {
    background: color-mix(in srgb, var(--mud-palette-primary) 10%, transparent);
}

.mw-te-slash-hint {
    flex: 0 0 auto;
    width: 1.8em;
    text-align: center;
    font-size: 0.85em;
    opacity: 0.7;
}

/* NOTE: Bubble (selection) toolbar — shares the .mw-ce-table-toolbar visual base (contract-editor.css);
   only additions live here. */
.mw-te-bubble-toolbar {
    z-index: 31;
}

.mw-te-bb-swatch {
    display: block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 1px solid var(--mud-palette-lines-default);
}

/* NOTE: Template placeholder chip — amber pill, matches sequence editor style */
.template-placeholder {
    background: #F57C00;
    color: #fff;
    border-radius: 10px;
    padding: 1px 8px;
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.4;
    user-select: none;
    cursor: default;
}
