/* ==========================================================================
   HumiDesk Editor V2 — Design System
   Warm-Neutral palette inspired by Tiptap/Notion. High-ticket coaching UX.
   ========================================================================== */

/* ── Design Tokens ──────────────────────────────────────────────────────── */

:root {
    /* Type */
    --humi-editor-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI",
                        "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei",
                        Roboto, sans-serif;
    --humi-mono-font:   "JetBrains Mono", "Fira Code", "Cascadia Code",
                        "Menlo", "Consolas", monospace;
    --humi-math-font:   "KaTeX_Main", "Times New Roman", serif;

    /* Warm-Neutral Color Palette (Tiptap official) */
    --humi-white:       #ffffff;
    --humi-paper:       #fafaf8;          /* ivory — editor background */
    --humi-black:       #2e2b29;          /* warm black — body text */
    --humi-black-strong:#110f0e;

    --humi-gray-1:      rgba(61, 37, 20, .05);   /* lightest: hover bg */
    --humi-gray-2:      rgba(61, 37, 20, .08);   /* button bg */
    --humi-gray-3:      rgba(61, 37, 20, .12);   /* divider, border */
    --humi-gray-4:      rgba(53, 38, 28, .30);   /* muted text */
    --humi-gray-5:      rgba(28, 25, 23, .60);   /* secondary text */

    --humi-purple:      #6a00f5;
    --humi-purple-dark: #5800cc;
    --humi-purple-soft: rgba(88, 5, 255, .05);
    --humi-night-accent:      #5cc8ff;
    --humi-night-accent-dark: #2ea6dc;
    --humi-night-accent-soft: rgba(92, 200, 255, .14);

    /* Semantic colors */
    --humi-border:      rgba(61, 37, 20, .14);
    --humi-focus:       rgba(106, 0, 245, .35);
    --humi-shadow:      0 12px 33px 0 rgba(0, 0, 0, .06),
                        0 3.618px 9.949px 0 rgba(0, 0, 0, .04);
    --humi-shadow-sm:   0 2px 8px rgba(15, 23, 42, .07);

    /* Motion */
    --humi-ease:        cubic-bezier(0.65, 0.05, 0.36, 1);
    --humi-duration:    0.2s;

    /* Radius */
    --humi-radius-sm:   0.375rem;  /* 6px */
    --humi-radius:      0.5rem;    /* 8px */
    --humi-radius-lg:   0.75rem;   /* 12px */
    --humi-radius-xl:   1rem;      /* 16px */
}

/* ── Editor Shell ───────────────────────────────────────────────────────── */

.humi-editor-v2 {
    position: relative;
    background: var(--humi-white);
    border: 1px solid var(--humi-border);
    border-radius: var(--humi-radius-lg);
    overflow: hidden;
    transition: border-color var(--humi-duration) var(--humi-ease),
                box-shadow  var(--humi-duration) var(--humi-ease);
    font-family: var(--humi-editor-font);
}

.humi-editor-v2[data-humi-theme="night"],
.humi-editor-v2--night {
    --humi-white: #0f172a;
    --humi-paper: #111827;
    --humi-black: #e5e7eb;
    --humi-black-strong: #f8fafc;
    --humi-gray-1: rgba(255,255,255,.06);
    --humi-gray-2: rgba(255,255,255,.10);
    --humi-gray-3: rgba(255,255,255,.14);
    --humi-gray-4: rgba(255,255,255,.35);
    --humi-gray-5: rgba(255,255,255,.72);
    --humi-border: rgba(255,255,255,.14);
    --humi-shadow-sm: 0 8px 22px rgba(0, 0, 0, .34);
}

body.humi-editor-body-fullscreen {
    overflow: hidden;
    background: #020617;
}

body.humi-editor-body-fullscreen .humi-feedback-bubble {
    z-index: 99996 !important;
}

body.humi-editor-body-fullscreen .humi-feedback-popover,
body.humi-editor-body-fullscreen .humi-mark-tooltip {
    z-index: 99997 !important;
}

.humi-editor-v2--zoomed {
    box-shadow: 0 24px 48px rgba(15, 23, 42, .16), var(--humi-shadow);
}

.humi-editor-v2--zoomed [data-humi-editor-root="1"] {
    min-height: 320px;
    font-size: 15px;
}

.humi-editor-v2--fullscreen {
    position: fixed;
    inset: 0;
    z-index: 99999;
    width: auto;
    max-width: none;
    max-height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--humi-white);
    box-shadow: 0 28px 80px rgba(15, 23, 42, .32);
    border-radius: 0;
    border: 0;
    overflow: visible;
}

.humi-editor-overlay-root {
    position: absolute;
    inset: 0;
    z-index: 120;
    pointer-events: none;
    overflow: visible;
}

.humi-editor-overlay-root .humi-feedback-bubble,
.humi-editor-overlay-root .humi-feedback-popover,
.humi-editor-overlay-root .humi-mark-tooltip {
    pointer-events: auto;
}

.humi-editor-v2--fullscreen [data-humi-editor-root="1"] {
    min-height: calc(100vh - 170px);
    padding: 22px 24px 120px;
    font-size: 15px;
    line-height: 1.9;
}

.humi-editor-v2--fullscreen .humi-editor-v2__toolbar {
    position: sticky;
    top: 0;
    z-index: 3;
}

.humi-editor-toolbar-brand {
    display: none;
    width: 100%;
    padding: 2px 4px 8px;
    color: #475569;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
    white-space: nowrap;
}

.humi-editor-v2--night .humi-editor-toolbar-brand {
    color: rgba(226, 232, 240, .82);
}

.humi-editor-v2--fullscreen .humi-editor-toolbar-brand {
    display: block;
}

.humi-editor-formula-panel[hidden],
.humi-editor-link-panel[hidden],
.humi-editor-image-panel[hidden] {
    display: none !important;
}

.humi-editor-floating-controls {
    position: absolute;
    right: 16px;
    bottom: 16px;
    z-index: 5;
    display: none;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 999px;
    background: rgba(15, 23, 42, .88);
    box-shadow: 0 18px 40px rgba(15, 23, 42, .28);
}

.humi-editor-v2--fullscreen .humi-editor-floating-controls {
    display: inline-flex;
}

@keyframes humi-feedback-preview-pulse {
    0% {
        transform: translateY(0) scale(1);
        box-shadow: 0 10px 18px rgba(15, 23, 42, .08);
    }
    45% {
        transform: translateY(-2px) scale(1.012);
        box-shadow: 0 18px 28px rgba(37, 99, 235, .18);
    }
    100% {
        transform: translateY(0) scale(1);
        box-shadow: 0 10px 18px rgba(15, 23, 42, .08);
    }
}

.humi-editor-inline-feedback-preview {
    margin: 8px 0 10px;
    padding: 8px 10px;
    min-height: 0;
    border: 1px solid rgba(148, 163, 184, .18);
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(255, 255, 255, .98) 0%, rgba(248, 250, 252, .96) 100%);
    box-shadow: 0 12px 22px rgba(15, 23, 42, .08);
    overflow: visible;
    resize: none;
}

.humi-editor-v2 [data-humi-feedback-preview][contenteditable="false"] {
    min-height: 0;
    height: auto;
    max-height: none;
    padding: 8px 10px;
    overflow: visible;
    overflow-y: visible;
    resize: none;
}

.humi-editor-inline-feedback-preview__label {
    margin-bottom: 6px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #475569;
}

.humi-editor-inline-feedback-preview__list {
    display: grid;
    gap: 6px;
}

.humi-editor-inline-feedback-preview .humi-annotation-card {
    width: 100%;
    margin: 0;
    text-align: left;
}

.humi-editor-inline-feedback-preview .humi-annotation-card--editable {
    appearance: none;
    cursor: pointer;
    font: inherit;
}

.humi-editor-inline-feedback-preview .humi-annotation-card--editable:hover {
    transform: translateY(-1px);
}

.humi-editor-inline-feedback-preview.is-pulsing .humi-annotation-card {
    animation: humi-feedback-preview-pulse .42s ease;
}

.humi-editor-inline-resource-preview {
    margin: 8px 0 12px;
    padding: 8px 10px;
    min-height: 0;
    border: 1px solid rgba(14, 116, 144, .14);
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(240, 249, 255, .92) 0%, rgba(248, 250, 252, .96) 100%);
    box-shadow: 0 12px 22px rgba(15, 23, 42, .06);
    overflow: visible;
    resize: none;
}

.humi-editor-v2 [data-humi-resource-preview][contenteditable="false"] {
    min-height: 0;
    height: auto;
    max-height: none;
    padding: 8px 10px;
    overflow: visible;
    overflow-y: visible;
    resize: none;
}

.humi-editor-v2 [data-humi-resource-card][contenteditable="false"] {
    min-height: 0;
    height: auto;
    max-height: none;
    overflow: visible;
    overflow-y: visible;
    resize: none;
    align-content: start;
}

.humi-editor-inline-resource-preview__label {
    margin-bottom: 8px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #0f766e;
}

.humi-editor-inline-resource-preview__list {
    display: grid;
    gap: 8px;
}

.humi-editor-inline-resource-preview__card {
    margin: 0;
}

.humi-editor-inline-feedback-preview .humi-annotation-card--editable:focus-visible {
    outline: 2px solid #2563eb;
    outline-offset: 2px;
}

.humi-editor-v2--night .humi-editor-inline-feedback-preview {
    border-color: rgba(148, 163, 184, .2);
    background: linear-gradient(180deg, rgba(15, 23, 42, .86) 0%, rgba(30, 41, 59, .86) 100%);
    box-shadow: 0 22px 38px rgba(2, 6, 23, .26);
}

.humi-editor-v2--night .humi-editor-inline-feedback-preview__label {
    color: rgba(226, 232, 240, .88);
}

.humi-editor-floating-controls__btn {
    border: 0;
    border-radius: 999px;
    padding: 8px 14px;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}

.humi-editor-floating-controls__btn--ghost {
    background: rgba(255,255,255,.12);
    color: #fff;
}

.humi-editor-floating-controls__btn--primary {
    background: linear-gradient(135deg,#2563eb 0%,#1e3a8a 100%);
    color: #fff;
}

.humi-editor-formula-panel {
    position: absolute;
    top: 0;
    left: 0;
    width: min(560px, calc(100vw - 48px));
    max-height: 360px;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-width: none;
    padding: 12px;
    border: 1px solid var(--humi-gray-3);
    border-radius: 14px;
    background: var(--humi-white);
    box-shadow: 0 22px 48px rgba(15, 23, 42, .18);
    z-index: 6;
}

.humi-editor-formula-panel::-webkit-scrollbar {
    width: 0;
    height: 0;
}

.humi-editor-link-panel {
    position: absolute;
    top: 0;
    left: 0;
    width: min(320px, calc(100vw - 48px));
    padding: 12px;
    border: 1px solid var(--humi-gray-3);
    border-radius: 14px;
    background: var(--humi-white);
    box-shadow: 0 22px 48px rgba(15, 23, 42, .18);
    z-index: 6;
    display: grid;
    gap: 10px;
}

.humi-editor-image-panel {
    position: absolute;
    top: 0;
    left: 0;
    width: min(420px, calc(100vw - 48px));
    padding: 12px;
    border: 1px solid var(--humi-gray-3);
    border-radius: 16px;
    background: var(--humi-white);
    box-shadow: 0 22px 48px rgba(15, 23, 42, .18);
    z-index: 6;
    display: grid;
    gap: 10px;
}

.humi-editor-toolbar-panel.is-open {
    animation: humiToolbarPanelIn .18s ease-out;
    transform-origin: top right;
}

.humi-editor-panel__header,
.humi-editor-link-panel__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
}

.humi-editor-panel__title {
    font-size: 12px;
    font-weight: 800;
    color: var(--humi-black-strong);
}

.humi-editor-panel__close {
    width: 30px;
    height: 30px;
    border: 1px solid var(--humi-gray-3);
    border-radius: 999px;
    background: var(--humi-gray-1);
    color: var(--humi-black);
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
}

.humi-editor-panel__close:hover {
    background: var(--humi-gray-2);
}

.humi-editor-link-panel__header {
    font-size: 12px;
    font-weight: 800;
    color: var(--humi-black-strong);
}

.humi-editor-link-panel__input {
    width: 100%;
    box-sizing: border-box;
    height: 36px;
    padding: 0 10px;
    border: 1px solid var(--humi-gray-3);
    border-radius: 10px;
    background: var(--humi-white);
    color: var(--humi-black);
}

.humi-editor-link-panel__actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.humi-editor-link-panel__btn {
    border: 0;
    border-radius: 999px;
    padding: 7px 12px;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}

.humi-editor-link-panel__btn--ghost {
    background: var(--humi-gray-2);
    color: var(--humi-black);
}

.humi-editor-link-panel__btn--primary {
    background: linear-gradient(135deg,#2563eb 0%,#1e3a8a 100%);
    color: #fff;
}

.humi-editor-formula-panel__header {
    margin-bottom: 10px;
}

.humi-editor-image-panel__preview {
    min-height: 170px;
    display: grid;
    place-items: center;
    border: 1px dashed rgba(148, 163, 184, .4);
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(248, 250, 252, .96) 0%, rgba(241, 245, 249, .96) 100%);
    color: #64748b;
    font-size: 12px;
    text-align: center;
    overflow: hidden;
}

.humi-editor-image-panel__preview.has-image {
    border-style: solid;
}

.humi-editor-image-panel__preview img {
    display: block;
    width: 100%;
    height: 100%;
    max-height: 220px;
    object-fit: cover;
}

.humi-editor-image-panel__media-actions,
.humi-editor-image-panel__size-group {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.humi-editor-image-panel__size-btn {
    border: 1px solid rgba(148, 163, 184, .34);
    border-radius: 999px;
    padding: 7px 12px;
    background: rgba(248, 250, 252, .92);
    color: #334155;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}

.humi-editor-image-panel__size-btn.is-active {
    background: rgba(37, 99, 235, .12);
    border-color: rgba(37, 99, 235, .28);
    color: #1d4ed8;
}

.humi-editor-formula-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 10px;
    overflow: hidden;
}

.humi-editor-formula-card {
    display: grid;
    gap: 8px;
    text-align: left;
    border: 1px solid var(--humi-gray-3);
    border-radius: 12px;
    background: linear-gradient(180deg,#fff 0%,#fafaf8 100%);
    padding: 12px;
    cursor: pointer;
}

.humi-editor-v2[data-humi-theme="night"] .humi-editor-formula-card,
.humi-editor-v2--night .humi-editor-formula-card {
    background: linear-gradient(180deg, rgba(30, 41, 59, .96) 0%, rgba(15, 23, 42, .96) 100%);
    border-color: rgba(148, 163, 184, .28);
}

.humi-editor-formula-card:hover {
    border-color: var(--humi-purple);
    box-shadow: 0 8px 20px rgba(106, 0, 245, .10);
}

.humi-editor-formula-card__label {
    font-size: 12px;
    font-weight: 800;
    color: var(--humi-black-strong);
}

.humi-editor-formula-card__preview {
    min-height: 42px;
    padding: 8px 10px;
    border-radius: 10px;
    background: #f8fafc;
    color: var(--humi-gray-5);
    font-size: 12px;
    line-height: 1.6;
    overflow-wrap: anywhere;
    overflow: hidden;
}

.humi-editor-formula-manual {
    display: grid;
    gap: 10px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--humi-gray-2);
}

.humi-editor-formula-manual__label {
    font-size: 12px;
    font-weight: 800;
    color: var(--humi-black-strong);
}

.humi-editor-formula-manual__input {
    width: 100%;
    min-height: 72px;
    box-sizing: border-box;
    padding: 10px 12px;
    border: 1px solid var(--humi-gray-3);
    border-radius: 12px;
    background: var(--humi-white);
    color: var(--humi-black);
    font: inherit;
    resize: vertical;
}

.humi-editor-formula-manual__hint {
    font-size: 11px;
    color: var(--humi-gray-5);
}

.humi-editor-formula-manual__preview {
    min-height: 52px;
    padding: 10px 12px;
    border-radius: 12px;
    background: #f8fafc;
    border: 1px solid rgba(148, 163, 184, .18);
    color: var(--humi-gray-5);
    overflow: hidden;
}

.humi-editor-formula-manual__placeholder {
    font-size: 12px;
    color: var(--humi-gray-4);
}

.humi-editor-formula-manual__actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.humi-editor-v2[data-humi-theme="night"] .humi-editor-formula-manual__input,
.humi-editor-v2--night .humi-editor-formula-manual__input,
.humi-editor-v2[data-humi-theme="night"] .humi-editor-formula-manual__preview,
.humi-editor-v2--night .humi-editor-formula-manual__preview {
    background: rgba(15, 23, 42, .75);
    color: rgba(226, 232, 240, .92);
    border-color: rgba(148, 163, 184, .22);
}

.humi-editor-v2[data-humi-theme="night"] .humi-editor-formula-manual__hint,
.humi-editor-v2--night .humi-editor-formula-manual__hint,
.humi-editor-v2[data-humi-theme="night"] .humi-editor-formula-manual__placeholder,
.humi-editor-v2--night .humi-editor-formula-manual__placeholder {
    color: rgba(148, 163, 184, .95);
}

.humi-editor-v2[data-humi-theme="night"] .humi-editor-formula-card__preview,
.humi-editor-v2--night .humi-editor-formula-card__preview {
    background: rgba(15, 23, 42, .75);
    color: rgba(226, 232, 240, .92);
}

.humi-editor-v2[data-humi-theme="night"] .humi-editor-formula-card__preview .katex,
.humi-editor-v2[data-humi-theme="night"] .humi-editor-formula-card__preview .katex *,
.humi-editor-v2--night .humi-editor-formula-card__preview .katex,
.humi-editor-v2--night .humi-editor-formula-card__preview .katex * {
    color: #f8fafc;
}

.humi-editor-formula-token {
    display: inline-flex;
    align-items: center;
    margin: 0 2px;
    padding: 2px 8px;
    border-radius: 999px;
    background: rgba(37, 99, 235, .10);
    border: 1px solid rgba(37, 99, 235, .22);
    vertical-align: middle;
}

.humi-editor-formula-token__preview {
    display: inline-flex;
    align-items: center;
    color: #1d4ed8;
    font-size: 12px;
    line-height: 1.2;
}

.humi-editor-btn--utility {
    min-width: 42px;
    height: 30px;
    padding: 0 10px;
    background: rgba(15, 23, 42, .04);
    border-color: var(--humi-gray-3);
    color: var(--humi-black);
    font-size: 12px;
    font-weight: 700;
}

.humi-editor-btn--utility[data-symbol] {
    min-width: 36px;
    width: 36px;
    padding: 0;
    font-size: 18px;
}

.humi-editor-btn__icon {
    display: inline-flex;
    width: 18px;
    height: 18px;
    color: #64748b;
}

.humi-editor-btn__icon svg {
    width: 18px;
    height: 18px;
    display: block;
}

.humi-editor-btn--utility:hover .humi-editor-btn__icon,
.humi-editor-btn.is-active .humi-editor-btn__icon {
    color: currentColor;
}

.humi-editor-btn--utility:hover {
    background: rgba(15, 23, 42, .09);
}

.humi-editor-v2:focus-within {
    border-color: var(--humi-purple);
    box-shadow: 0 0 0 3px var(--humi-focus), var(--humi-shadow-sm);
}

/* ── Toolbar ────────────────────────────────────────────────────────────── */

.humi-editor-v2__toolbar {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    padding: 8px 10px 7px;
    background: var(--humi-paper);
    user-select: none;
    position: relative;
    overflow: visible;
}

.humi-editor-toolbar-rail {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 6px;
    width: 100%;
}

.humi-editor-toolbar-rail--secondary {
    display: flex;
    flex-wrap: wrap;
    padding-top: 0;
    border-top: 0;
}

.humi-editor-toolbar-group {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    backdrop-filter: none;
    box-shadow: none;
    min-width: 0;
    flex: 0 1 auto;
}

/* shell 固定在grid第2列 */
.humi-editor-toolbar-group--shell {
    margin-left: auto;
    flex-shrink: 0;
}

.humi-editor-toolbar-group--moreExpansion {
    margin-left: 0;
}

.humi-editor-toolbar-group--moreExpansion .humi-editor-toolbar-group__body {
    gap: 4px;
}

.humi-editor-toolbar-group--paletteRow {
    width: 100%;
    flex-basis: 100%;
}

.humi-editor-v2--night .humi-editor-toolbar-group {
    background: transparent;
    box-shadow: none;
}

.humi-editor-toolbar-group__label {
    display: none;
}

.humi-editor-toolbar-group__body {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    min-width: 0;
    position: relative;
}

.humi-editor-toolbar-group--paletteRow .humi-editor-toolbar-group__body {
    width: 100%;
    gap: 8px;
}

.humi-editor-btn-group {
    display: flex;
    align-items: center;
    gap: 1px;
}

.humi-editor-btn-divider {
    width: 1px;
    height: 18px;
    background: var(--humi-gray-3);
    margin: 0 4px;
    flex-shrink: 0;
}

.humi-editor-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 30px;
    height: 30px;
    padding: 0 8px;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 8px;
    color: var(--humi-gray-5);
    font-size: 13px;
    font-weight: 600;
    font-family: var(--humi-editor-font);
    line-height: 1;
    cursor: pointer;
    transition: background var(--humi-duration) var(--humi-ease),
                color     var(--humi-duration) var(--humi-ease),
                border-color var(--humi-duration) var(--humi-ease),
                box-shadow var(--humi-duration) var(--humi-ease),
                transform var(--humi-duration) var(--humi-ease);
    white-space: nowrap;
    -webkit-font-smoothing: antialiased;
}

.humi-editor-btn--swatch {
    width: 24px;
    min-width: 24px;
    height: 24px;
    padding: 0;
    border-radius: 999px;
}

.humi-editor-inline-palette {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    width: 100%;
    padding: 2px 0 0;
}

.humi-editor-inline-palette__dot {
    width: 16px;
    min-width: 16px;
    height: 16px;
    padding: 0;
    border: 1px solid rgba(15, 23, 42, .14);
    border-radius: 999px;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .28);
    cursor: pointer;
    transition: transform var(--humi-duration) var(--humi-ease), box-shadow var(--humi-duration) var(--humi-ease), border-color var(--humi-duration) var(--humi-ease);
}

.humi-editor-inline-palette__dot:hover {
    transform: translateY(-1px) scale(1.08);
    box-shadow: 0 8px 16px rgba(15, 23, 42, .12);
}

.humi-editor-inline-palette__dot.is-active {
    border-color: rgba(15, 23, 42, .48);
    box-shadow: 0 0 0 2px rgba(15, 23, 42, .12), 0 8px 20px rgba(15, 23, 42, .12);
}

.humi-editor-v2--night .humi-editor-inline-palette__dot {
    border-color: rgba(148, 163, 184, .32);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .18);
}

.humi-editor-v2--night .humi-editor-inline-palette__dot.is-active {
    border-color: rgba(226, 232, 240, .88);
    box-shadow: 0 0 0 2px rgba(148, 163, 184, .22);
}

.humi-editor-toolbar-dropdown {
    position: relative;
}

.humi-editor-toolbar-layer {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    z-index: 40;
    pointer-events: none;
    overflow: visible;
}

.humi-editor-toolbar-tooltip {
    position: absolute;
    z-index: 70;
    max-width: 220px;
    padding: 7px 10px;
    border-radius: 10px;
    background: rgba(15, 23, 42, .92);
    color: #f8fafc;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.35;
    box-shadow: 0 18px 36px rgba(15, 23, 42, .28);
    pointer-events: none;
}

.humi-editor-toolbar-panel[hidden] {
    display: none !important;
}

.humi-editor-toolbar-panel {
    pointer-events: auto;
}

.humi-editor-btn--dropdown {
    position: relative;
    gap: 0;
    min-width: 38px;
    width: 38px;
    padding: 0;
}

.humi-editor-btn__dropdown-label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.humi-editor-btn__caret {
    position: absolute;
    right: 3px;
    bottom: 3px;
    width: 10px;
    height: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    opacity: .78;
    color: currentColor;
    pointer-events: none;
}

.humi-editor-btn__caret svg {
    width: 10px;
    height: 10px;
}

.humi-editor-dropdown-menu {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    display: grid;
    gap: 4px;
    min-width: 180px;
    max-width: min(280px, calc(100vw - 32px));
    padding: 8px;
    border: 1px solid var(--humi-gray-3);
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(255, 255, 255, .98) 0%, rgba(248, 250, 252, .98) 100%);
    backdrop-filter: blur(20px);
    box-shadow: 0 24px 56px rgba(15, 23, 42, .2);
    pointer-events: auto;
}

.humi-editor-dropdown-menu[data-menu-variant="swatch-strip"] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    min-width: 0;
    width: min(244px, calc(100vw - 32px));
    max-width: min(244px, calc(100vw - 32px));
    padding: 10px;
}

.humi-editor-dropdown-menu[data-menu-variant="palette-list"] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    min-width: min(540px, calc(100vw - 32px));
    max-width: min(560px, calc(100vw - 32px));
    max-height: 320px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(148, 163, 184, .56) rgba(15, 23, 42, .08);
}

.humi-editor-dropdown-menu[data-menu-variant="palette-list"]::-webkit-scrollbar {
    width: 10px;
}

.humi-editor-dropdown-menu[data-menu-variant="palette-list"]::-webkit-scrollbar-track {
    background: rgba(148, 163, 184, .12);
    border-radius: 999px;
}

.humi-editor-dropdown-menu[data-menu-variant="palette-list"]::-webkit-scrollbar-thumb {
    background: rgba(100, 116, 139, .52);
    border-radius: 999px;
    border: 2px solid transparent;
    background-clip: padding-box;
}

.humi-editor-v2--night .humi-editor-dropdown-menu {
    background: linear-gradient(180deg, rgba(15, 23, 42, .98) 0%, rgba(17, 24, 39, .98) 100%);
    border-color: rgba(148, 163, 184, .22);
    box-shadow: 0 28px 64px rgba(2, 6, 23, .42);
}

.humi-editor-v2--night .humi-editor-dropdown-menu__item {
    color: rgba(241, 245, 249, .96);
}

.humi-editor-v2--night .humi-editor-dropdown-menu__item:hover {
    background: rgba(51, 65, 85, .72);
}

.humi-editor-v2--night .humi-editor-btn.is-open {
    background: var(--humi-night-accent-soft);
    border-color: rgba(92, 200, 255, .28);
    color: #eef9ff;
}

.humi-editor-dropdown-menu__item {
    display: flex;
    align-items: center;
    gap: 9px;
    width: 100%;
    min-height: 34px;
    padding: 0 10px;
    border: 1px solid transparent;
    border-radius: 10px;
    background: transparent;
    color: var(--humi-black);
    font-size: 12px;
    font-weight: 600;
    text-align: left;
    cursor: pointer;
}

.humi-editor-dropdown-menu__item:hover {
    background: var(--humi-gray-2);
}

.humi-editor-dropdown-menu__item.is-active {
    background: var(--humi-purple-soft);
    border-color: color-mix(in srgb, var(--humi-purple) 26%, transparent);
    color: var(--humi-purple-dark);
}

.humi-editor-v2--night .humi-editor-dropdown-menu__item.is-active {
    background: rgba(92, 200, 255, .14);
    border-color: rgba(92, 200, 255, .24);
    color: #eef9ff;
}

.humi-editor-v2--night .humi-editor-dropdown-menu__palette-meta {
    color: rgba(203, 213, 225, .76);
}

.humi-editor-dropdown-menu__item--swatch {
    justify-content: flex-start;
}

.humi-editor-dropdown-menu__item--compact-swatch {
    width: 24px;
    min-width: 24px;
    min-height: 24px;
    padding: 0;
    justify-content: center;
    border-radius: 999px;
}

.humi-editor-dropdown-menu__item--compact-swatch .humi-editor-dropdown-menu__swatch {
    width: 16px;
    height: 16px;
}

.humi-editor-dropdown-menu__item--clear {
    border-color: var(--humi-gray-3);
}

.humi-editor-dropdown-menu__clear-mark {
    position: relative;
    display: inline-flex;
    width: 18px;
    height: 18px;
    border-radius: 999px;
    border: 2px solid currentColor;
    opacity: .82;
}

.humi-editor-dropdown-menu__clear-mark::after {
    content: '';
    position: absolute;
    top: 7px;
    left: 2px;
    width: 10px;
    height: 2px;
    background: currentColor;
    transform: rotate(-45deg);
    transform-origin: center;
}

.humi-editor-dropdown-menu__item--palette-preview {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
    padding: 9px 10px;
    min-height: 0;
}

.humi-editor-dropdown-menu__palette-label-wrap {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
}

.humi-editor-dropdown-menu__palette-label {
    font-size: 11px;
    font-weight: 700;
}

.humi-editor-dropdown-menu__palette-meta {
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #64748b;
}

.humi-editor-dropdown-menu__palette-preview {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 4px;
    width: 100%;
}

.humi-editor-dropdown-menu__palette-highlights {
    display: flex;
    gap: 5px;
    width: 100%;
}

.humi-editor-dropdown-menu__palette-chip {
    width: 18px;
    height: 7px;
    border-radius: 999px;
    border: 1px solid rgba(15, 23, 42, .08);
}

.humi-editor-v2--night .humi-editor-toolbar-settings-section-title {
    color: rgba(148, 163, 184, .9);
}

.humi-editor-dropdown-menu__palette-dot {
    width: 100%;
    aspect-ratio: 1;
    border-radius: 999px;
    border: 1px solid rgba(15, 23, 42, .12);
}

.humi-editor-dropdown-menu__swatch {
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    border-radius: 999px;
    border: 1px solid rgba(15, 23, 42, .12);
}

.humi-editor-dropdown-menu__text {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.humi-editor-btn__swatch {
    display: block;
    width: 14px;
    height: 14px;
    border-radius: 999px;
    border: 1px solid rgba(15, 23, 42, .2);
    box-sizing: border-box;
}

.humi-editor-btn:hover {
    background: var(--humi-gray-2);
    color: var(--humi-black);
    transform: translateY(-1px);
}

.humi-editor-btn.is-active {
    background: rgba(91, 33, 182, .08);
    border-color: rgba(109, 40, 217, .18);
    color: #5b21b6;
}

.humi-editor-v2--night .humi-editor-btn.is-active {
    background: rgba(92, 200, 255, .12);
    border-color: rgba(92, 200, 255, .22);
    color: #dff7ff;
    box-shadow: 0 8px 18px rgba(12, 74, 110, .14);
}

.humi-editor-btn.is-open {
    background: rgba(106, 0, 245, .10);
    border-color: rgba(106, 0, 245, .18);
    color: var(--humi-purple-dark);
}

.humi-editor-btn.is-active:hover {
    background: rgba(91, 33, 182, .12);
}

.humi-editor-v2--night .humi-editor-btn.is-active:hover {
    background: rgba(92, 200, 255, .18);
}

.humi-editor-btn:disabled,
.humi-editor-btn[disabled] {
    background: var(--humi-gray-1);
    color: var(--humi-gray-4);
    cursor: not-allowed;
}

.humi-editor-toolbar-settings-panel {
    position: absolute;
    top: 0;
    left: 0;
    width: min(388px, calc(100vw - 32px));
    padding: 16px;
    max-height: min(68vh, 520px);
    overflow-y: auto;
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(255, 255, 255, .98) 0%, rgba(248, 250, 252, .98) 100%);
    box-shadow: 0 28px 64px rgba(15, 23, 42, .2);
    backdrop-filter: blur(20px);
    pointer-events: auto;
    scrollbar-width: thin;
}

.humi-editor-toolbar-settings-caption {
    margin: 0 0 12px;
    color: #64748b;
    font-size: 12px;
    line-height: 1.55;
}

.humi-editor-toolbar-settings-list {
    display: grid;
    gap: 10px;
}

.humi-editor-toolbar-settings-list--features {
    grid-template-columns: repeat(2, minmax(150px, 1fr));
    gap: 10px;
}

.humi-editor-toolbar-settings-section-title {
    margin: 14px 0 8px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #64748b;
}

.humi-editor-toolbar-settings-item {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    min-height: 46px;
    padding: 10px 12px;
    border: 1px solid rgba(148, 163, 184, .18);
    border-radius: 16px;
    background: rgba(255, 255, 255, .72);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .4);
    font-size: 11px;
    font-weight: 600;
    color: var(--humi-black);
    cursor: pointer;
    transition: border-color var(--humi-duration) var(--humi-ease), box-shadow var(--humi-duration) var(--humi-ease), transform var(--humi-duration) var(--humi-ease), background var(--humi-duration) var(--humi-ease);
}

.humi-editor-toolbar-settings-item:hover {
    transform: translateY(-1px);
    border-color: rgba(37, 99, 235, .24);
    box-shadow: 0 14px 28px rgba(15, 23, 42, .08);
}

.humi-editor-toolbar-settings-item[data-state="on"] {
    border-color: rgba(37, 99, 235, .24);
    background: linear-gradient(180deg, rgba(239, 246, 255, .92) 0%, rgba(255, 255, 255, .92) 100%);
}

.humi-editor-toolbar-settings-item span {
    display: block;
    line-height: 1.45;
    flex: 1;
    min-width: 0;
    white-space: normal;
    word-break: keep-all;
    overflow-wrap: break-word;
    writing-mode: horizontal-tb;
}

.humi-editor-toolbar-settings-item input {
    appearance: none;
    width: 34px;
    height: 20px;
    margin: 0;
    border-radius: 999px;
    background: rgba(148, 163, 184, .35);
    position: relative;
    transition: background var(--humi-duration) var(--humi-ease);
    flex-shrink: 0;
    cursor: pointer;
}

.humi-editor-toolbar-settings-item input::after {
    content: '';
    position: absolute;
    top: 2px;
    left: 2px;
    width: 14px;
    height: 14px;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 4px 10px rgba(15, 23, 42, .22);
    transition: transform var(--humi-duration) var(--humi-ease);
}

.humi-editor-toolbar-settings-item input:checked {
    background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
}

.humi-editor-toolbar-settings-item input:checked::after {
    transform: translateX(12px);
}

.humi-editor-toolbar-settings-item input:focus-visible {
    outline: 2px solid rgba(37, 99, 235, .36);
    outline-offset: 2px;
}

.humi-editor-v2--night .humi-editor-toolbar-settings-panel {
    background: linear-gradient(180deg, rgba(15, 23, 42, .98) 0%, rgba(17, 24, 39, .98) 100%);
    border-color: rgba(148, 163, 184, .22);
    box-shadow: 0 28px 64px rgba(2, 6, 23, .42);
}

.humi-editor-v2--night .humi-editor-image-panel {
    background: linear-gradient(180deg, rgba(15, 23, 42, .98) 0%, rgba(17, 24, 39, .98) 100%);
    border-color: rgba(148, 163, 184, .22);
    box-shadow: 0 28px 64px rgba(2, 6, 23, .42);
}

.humi-editor-v2--night .humi-editor-toolbar-settings-caption {
    color: rgba(148, 163, 184, .9);
}

.humi-editor-v2--night .humi-editor-toolbar-settings-item[data-state="on"] {
    border-color: rgba(96, 165, 250, .28);
    background: linear-gradient(180deg, rgba(30, 41, 59, .88) 0%, rgba(15, 23, 42, .84) 100%);
}

.humi-editor-v2--night .humi-editor-toolbar-settings-item {
    background: rgba(30, 41, 59, .62);
    border-color: rgba(148, 163, 184, .18);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .02);
    color: rgba(241, 245, 249, .96);
}

.humi-editor-v2--night .humi-editor-image-panel__preview {
    background: linear-gradient(180deg, rgba(30, 41, 59, .94) 0%, rgba(15, 23, 42, .94) 100%);
    border-color: rgba(148, 163, 184, .24);
    color: rgba(226, 232, 240, .72);
}

.humi-editor-v2--night .humi-editor-image-panel__size-btn {
    background: rgba(30, 41, 59, .84);
    border-color: rgba(148, 163, 184, .2);
    color: rgba(241, 245, 249, .92);
}

.humi-editor-v2--night .humi-editor-image-panel__size-btn.is-active {
    background: rgba(92, 200, 255, .14);
    border-color: rgba(92, 200, 255, .24);
    color: #eef9ff;
}

.humi-editor-v2--night .humi-editor-toolbar-settings-item {
    color: rgba(241, 245, 249, .96);
}

.humi-editor-v2--night .humi-editor-toolbar-settings-item input:focus-visible {
    outline-color: rgba(96, 165, 250, .45);
}

@media (max-width: 960px) {
    .humi-editor-formula-panel,
    .humi-editor-link-panel,
    .humi-editor-image-panel,
    .humi-editor-toolbar-settings-panel {
        width: min(100%, calc(100vw - 32px));
    }

    .humi-editor-dropdown-menu {
        width: min(220px, calc(100vw - 32px));
    }

    .humi-editor-dropdown-menu[data-menu-variant="palette-list"] {
        grid-template-columns: minmax(0, 1fr);
        min-width: min(320px, calc(100vw - 32px));
    }

    .humi-editor-toolbar-rail--primary {
        align-items: flex-start;
    }

    .humi-editor-toolbar-settings-list--features {
        grid-template-columns: minmax(0, 1fr);
    }

    .humi-editor-v2 [contenteditable] figure[data-humi-image="1"],
    .humi-editor-v2 [contenteditable] figure[data-humi-image="1"][data-humi-image-size="compact"] {
        max-width: 100%;
    }
}

@keyframes humiToolbarPanelIn {
    from {
        opacity: 0;
        transform: translateY(-6px) scale(.98);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* ── Contenteditable Editor Host ────────────────────────────────────────── */

.humi-editor-v2 [data-humi-editor-root="1"] {
    outline: none;
    min-height: 320px;
    padding: 16px 18px;
    background: var(--humi-white);
    box-sizing: border-box;
    overflow-x: hidden;
    overflow-y: auto;
    resize: vertical;
    font-family: var(--humi-editor-font);
    font-size: 14.5px;
    line-height: 1.8;
    letter-spacing: -0.01em;
    color: var(--humi-black);
    caret-color: var(--humi-purple);
    word-wrap: break-word;
    overflow-wrap: break-word;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

#cd-coach-front-reply-editor-shell [data-humi-editor-root="1"] {
    min-height: 420px;
}

#cd-coach-front-draft-recovery {
    border-color: #bfdbfe;
    box-shadow: 0 16px 32px rgba(59, 130, 246, .08);
}

.humidesk-coach-front__composer-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
    align-items: end;
    margin-top: 16px;
    padding: 10px 2px 2px;
}

.humidesk-coach-front__composer-actions > div:first-child {
    margin-bottom: 0 !important;
    display: flex;
    align-items: center;
}

.humidesk-coach-front__composer-actions > div:last-child {
    margin-left: 0 !important;
    display: flex !important;
    flex-direction: column;
    align-items: flex-end;
    gap: 12px;
}

.humidesk-coach-front__composer-actions .cd-res-front-trigger {
    min-height: 44px;
    padding: 10px 18px !important;
    border-radius: 14px !important;
    font-size: 13px !important;
    letter-spacing: .01em;
}

.humidesk-coach-front__composer-actions .button.button-primary {
    min-width: 128px;
    min-height: 50px;
    padding: 10px 22px !important;
    border-radius: 16px !important;
    font-size: 15px;
    letter-spacing: .02em;
}

.humidesk-coach-front__composer-actions label {
    font-size: 13px !important;
    line-height: 1.5;
    color: #475569 !important;
}

#cd-coach-front-reply-status {
    margin-top: 14px !important;
    font-size: 13px !important;
    line-height: 1.6;
    color: #64748b !important;
}

@media (max-width: 720px) {
    .humidesk-coach-front__composer-actions {
        grid-template-columns: minmax(0, 1fr);
        align-items: stretch;
    }

    .humidesk-coach-front__composer-actions > div:last-child {
        align-items: stretch;
    }

    .humidesk-coach-front__composer-actions .button.button-primary {
        width: 100%;
    }
}

.humi-editor-v2--night [data-humi-editor-root="1"] {
    caret-color: #eef9ff;
}

/* Night mode: override dark inline text colors authored in light mode.
   Covers common slate/gray scale values that become invisible on dark background. */
.humi-editor-v2--night [data-humi-editor-root="1"] [style*="color:#0f172a"],
.humi-editor-v2--night [data-humi-editor-root="1"] [style*="color:#1e293b"],
.humi-editor-v2--night [data-humi-editor-root="1"] [style*="color:#334155"],
.humi-editor-v2--night [data-humi-editor-root="1"] [style*="color:#374151"],
.humi-editor-v2--night [data-humi-editor-root="1"] [style*="color:#1f2937"],
.humi-editor-v2--night [data-humi-editor-root="1"] [style*="color:#111827"],
.humi-editor-v2--night [data-humi-editor-root="1"] font[color="#0f172a"],
.humi-editor-v2--night [data-humi-editor-root="1"] font[color="#1e293b"],
.humi-editor-v2--night [data-humi-editor-root="1"] font[color="#334155"] {
    color: var(--humi-black) !important;
}

.humi-editor-v2 [data-humi-editor-root="1"]:empty::before {
    content: attr(data-placeholder);
    color: var(--humi-gray-4);
    pointer-events: none;
    font-style: italic;
}

/* Prose typography */
.humi-editor-v2 [contenteditable] h1,
.humi-editor-v2 [contenteditable] h2,
.humi-editor-v2 [contenteditable] h3,
.humi-editor-v2 [contenteditable] h4 {
    font-weight: 700;
    line-height: 1.2;
    color: var(--humi-black-strong);
    margin-top: 2rem;
    margin-bottom: 0.6rem;
}
.humi-editor-v2 [contenteditable] h1 { font-size: 1.45rem; }
.humi-editor-v2 [contenteditable] h2 { font-size: 1.36rem; }
.humi-editor-v2 [contenteditable] h3 { font-size: 1.16rem; }
.humi-editor-v2 [contenteditable] h4 { font-size: 1.02rem; }

.humi-editor-v2 [contenteditable] p  { margin: 0 0 0.75em; }

.humi-editor-v2 [contenteditable] .humi-editor-resource-card {
    display: grid;
    gap: 8px;
    margin: 1rem 0 1.15rem;
    padding: 16px 18px 16px 22px;
    border: 1px solid var(--resource-border, #cbd5e1);
    border-left: 4px solid var(--resource-bar, #334155);
    border-radius: 18px;
    background: var(--resource-bg, linear-gradient(135deg,#f8fafc,#e2e8f0));
    box-shadow: 0 22px 38px rgba(15, 23, 42, .08);
}

.humi-editor-v2 [contenteditable] .humi-editor-resource-card__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    padding: 3px 10px;
    border-radius: 999px;
    background: var(--resource-badge-bg, #e2e8f0);
    color: var(--resource-badge-text, #334155);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.humi-editor-v2 [contenteditable] .humi-editor-resource-card__title {
    color: #0f172a;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.45;
}

.humi-editor-v2 [contenteditable] .humi-editor-resource-card__meta {
    color: #475569;
    font-size: 12px;
    line-height: 1.65;
}

.humi-editor-v2 [contenteditable] .humi-editor-resource-card__cta {
    color: var(--resource-bar, #334155);
    font-size: 12px;
    font-weight: 800;
}

.humi-editor-v2 [contenteditable] .humi-editor-simple-table,
.humi-msg-body-rendered .humi-editor-simple-table {
    --table-accent: #2563eb;
    --table-title: #1e3a8a;
    --table-head-bg: #eff6ff;
    --table-stripe-bg: #f8fafc;
    --table-border: #bfdbfe;
    --table-head-text: #0f172a;
    --table-body-text: #334155;
    margin: 1rem 0 1.2rem;
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid color-mix(in srgb, var(--table-border) 72%, #ffffff 28%);
    border-top: 4px solid var(--table-accent);
    border-radius: 18px;
    overflow: hidden;
    background: linear-gradient(180deg, rgba(255, 255, 255, .98) 0%, rgba(248, 250, 252, .96) 100%);
    box-shadow: 0 18px 32px rgba(15, 23, 42, .08);
}

.humi-editor-v2 [contenteditable] .humi-editor-simple-table caption,
.humi-msg-body-rendered .humi-editor-simple-table caption {
    padding: 12px 14px 10px;
    color: var(--table-title);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-align: left;
}

.humi-editor-v2 [contenteditable] .humi-editor-simple-table th,
.humi-msg-body-rendered .humi-editor-simple-table th,
.humi-editor-v2 [contenteditable] .humi-editor-simple-table td,
.humi-msg-body-rendered .humi-editor-simple-table td {
    padding: 12px 14px;
    border-top: 1px solid rgba(148, 163, 184, .16);
    text-align: left;
}

.humi-editor-v2 [contenteditable] .humi-editor-simple-table th,
.humi-msg-body-rendered .humi-editor-simple-table th {
    background: color-mix(in srgb, var(--table-head-bg) 82%, #ffffff 18%);
    color: var(--table-head-text);
    font-size: 12px;
    font-weight: 800;
}

.humi-editor-v2 [contenteditable] .humi-editor-simple-table td,
.humi-msg-body-rendered .humi-editor-simple-table td {
    color: var(--table-body-text);
    line-height: 1.6;
}

.humi-editor-v2 [contenteditable] .humi-editor-simple-table tbody tr:nth-child(even),
.humi-msg-body-rendered .humi-editor-simple-table tbody tr:nth-child(even) {
    background: color-mix(in srgb, var(--table-stripe-bg) 72%, #ffffff 28%);
}

.humi-editor-v2 [contenteditable] .humi-editor-simple-table thead tr:first-child th:first-child,
.humi-msg-body-rendered .humi-editor-simple-table thead tr:first-child th:first-child,
.humi-editor-v2 [contenteditable] .humi-editor-simple-table tbody tr:first-child td:first-child,
.humi-msg-body-rendered .humi-editor-simple-table tbody tr:first-child td:first-child {
    border-top-left-radius: 16px;
}

.humi-editor-v2 [contenteditable] .humi-editor-simple-table thead tr:first-child th:last-child,
.humi-msg-body-rendered .humi-editor-simple-table thead tr:first-child th:last-child,
.humi-editor-v2 [contenteditable] .humi-editor-simple-table tbody tr:first-child td:last-child,
.humi-msg-body-rendered .humi-editor-simple-table tbody tr:first-child td:last-child {
    border-top-right-radius: 16px;
}

.humi-editor-v2 [contenteditable] .humi-editor-simple-table tbody tr:last-child td:first-child,
.humi-msg-body-rendered .humi-editor-simple-table tbody tr:last-child td:first-child {
    border-bottom-left-radius: 16px;
}

.humi-editor-v2 [contenteditable] .humi-editor-simple-table tbody tr:last-child td:last-child,
.humi-msg-body-rendered .humi-editor-simple-table tbody tr:last-child td:last-child {
    border-bottom-right-radius: 16px;
}

.humi-editor-v2--night [contenteditable] .humi-editor-resource-card {
    box-shadow: 0 24px 42px rgba(2, 6, 23, .22);
}

.humi-editor-v2--night [contenteditable] .humi-editor-resource-card__title {
    color: #0f172a;
}

.humi-editor-v2--night [contenteditable] .humi-editor-resource-card__meta {
    color: #334155;
}

.humi-editor-v2--night [contenteditable] .humi-editor-resource-card__cta {
    color: var(--resource-bar, #334155);
}

.humi-editor-v2--night [contenteditable] .humi-editor-simple-table,
.humi-editor-v2--night .humi-editor-simple-table {
    border-color: rgba(148, 163, 184, .2);
    box-shadow: 0 20px 40px rgba(2, 6, 23, .26);
}

.humi-editor-v2--night [contenteditable] .humi-editor-simple-table caption,
.humi-editor-v2--night .humi-editor-simple-table caption {
    color: var(--table-title);
}

.humi-editor-v2--night [contenteditable] .humi-editor-simple-table th,
.humi-editor-v2--night .humi-editor-simple-table th {
    color: var(--table-head-text);
}

.humi-editor-v2--night [contenteditable] .humi-editor-simple-table td,
.humi-editor-v2--night .humi-editor-simple-table td {
    color: var(--table-body-text);
}

.humi-editor-v2--night [contenteditable] .humi-editor-simple-table th,
.humi-editor-v2--night .humi-editor-simple-table th {
    background: color-mix(in srgb, var(--table-head-bg) 82%, #ffffff 18%);
}

.humi-editor-v2 [contenteditable] ul,
.humi-editor-v2 [contenteditable] ol {
    padding-left: 1.4em;
    margin: 0.4em 0 0.8em;
}
.humi-editor-v2 [contenteditable] li { margin-bottom: 0.25em; }

.humi-editor-v2 [contenteditable] code {
    background: rgba(15, 23, 42, .06);
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 0.3rem;
    padding: 0.15em 0.35em;
    font-family: var(--humi-mono-font);
    font-size: 0.84em;
    color: #0f172a;
}

.humi-editor-v2 [contenteditable] pre {
    background: linear-gradient(180deg, #0f172a 0%, #111827 100%);
    border: 1px solid rgba(148, 163, 184, .12);
    border-radius: var(--humi-radius);
    padding: 0.95rem 1.15rem;
    overflow-x: auto;
    margin: 1rem 0;
    color: #f8fafc;
    box-shadow: 0 18px 30px rgba(2, 6, 23, .18);
}
.humi-editor-v2 [contenteditable] pre code {
    background: none;
    border: none;
    padding: 0;
    color: inherit;
    font-size: 0.9em;
    line-height: 1.7;
}

.humi-editor-v2--night [contenteditable] code {
    background: rgba(148, 163, 184, .12);
    border-color: rgba(148, 163, 184, .16);
    color: #e2e8f0;
}

.humi-editor-v2 [contenteditable] pre * {
    color: inherit;
}

.humi-editor-v2 [contenteditable] blockquote {
    border-left: 3px solid var(--humi-gray-3);
    margin: 1.25rem 0;
    padding: 0.25rem 0 0.25rem 1.1rem;
    color: var(--humi-gray-5);
}

.humi-editor-v2 [contenteditable] .humi-editor-task-list,
.humi-editor-v2 [contenteditable] ul[data-humi-task-list],
.humi-msg-body-rendered ul[data-type="taskList"] {
    list-style: none;
    padding-left: 0;
    position: relative;
    padding-top: 22px;
    margin: 0.6rem 0 1rem;
}

.humi-editor-v2 [contenteditable] .humi-editor-task-list[data-progress]::before,
.humi-editor-v2 [contenteditable] ul[data-humi-task-list][data-progress]::before,
.humi-msg-body-rendered ul[data-type="taskList"][data-progress]::before {
    content: attr(data-progress);
    position: absolute;
    right: 0;
    top: 0;
    padding: 4px 9px;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, .4);
    background: rgba(226, 232, 240, .72);
    color: #334155;
    font-size: 11px;
    line-height: 1;
    font-weight: 700;
}

.humi-editor-v2 [contenteditable] ul[data-humi-task-list] > li > ul[data-humi-task-list],
.humi-msg-body-rendered ul[data-type="taskList"] > li > ul[data-type="taskList"] {
    margin-top: 8px;
    margin-left: 24px;
    padding-left: 14px;
    border-left: 2px dashed rgba(148, 163, 184, .5);
}

.humi-editor-v2 [contenteditable] .humi-editor-task-list li,
.humi-editor-v2 [contenteditable] ul[data-humi-task-list] li,
.humi-msg-body-rendered ul[data-type="taskList"] li {
    list-style: none;
    margin: 0 0 10px;
}

.humi-editor-v2 [contenteditable] .humi-editor-task-list__item,
.humi-msg-body-rendered ul[data-type="taskList"] .humi-editor-task-list__item {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    box-sizing: border-box;
    padding: 10px 12px;
    border-radius: 14px;
    background: rgba(248, 250, 252, .96);
    border: 1px solid rgba(148, 163, 184, .24);
}

.humi-editor-v2 [contenteditable] .humi-editor-task-list__item span,
.humi-msg-body-rendered ul[data-type="taskList"] .humi-editor-task-list__item span {
    color: var(--humi-black-strong);
}

.humi-editor-v2 [contenteditable] .humi-editor-task-list__item input,
.humi-msg-body-rendered ul[data-type="taskList"] .humi-editor-task-list__item input {
    width: 16px;
    height: 16px;
    accent-color: #2563eb;
    flex-shrink: 0;
}

.humi-msg-body-rendered ul[data-type="taskList"] .humi-editor-task-list__item input {
    cursor: pointer;
    pointer-events: auto;
}

.humi-editor-v2 [contenteditable] li[data-checked="true"] .humi-editor-task-list__item,
.humi-msg-body-rendered ul[data-type="taskList"] li[data-checked="true"] .humi-editor-task-list__item {
    background: rgba(241, 245, 249, .92);
    border-color: rgba(148, 163, 184, .28);
}

.humi-editor-v2 [contenteditable] li[data-checked="true"] .humi-editor-task-list__item span,
.humi-msg-body-rendered ul[data-type="taskList"] li[data-checked="true"] .humi-editor-task-list__item span,
.humi-editor-v2 [contenteditable] .humi-editor-task-list__item input:checked + span {
    color: #64748b;
    text-decoration: line-through;
    text-decoration-thickness: 1.5px;
}

.humi-editor-v2 [contenteditable] .humi-editor-task-list__drag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 6px;
    border: 1px solid rgba(148, 163, 184, .42);
    background: rgba(226, 232, 240, .6);
    color: #475569;
    font-size: 10px;
    line-height: 1;
    letter-spacing: -1px;
    cursor: grab;
    user-select: none;
    flex-shrink: 0;
}

.humi-editor-v2 [contenteditable] li[data-type="taskItem"].is-dragging .humi-editor-task-list__item {
    opacity: .72;
    border-style: dashed;
}

.humi-editor-v2 [contenteditable] li[data-type="taskItem"].is-drop-before .humi-editor-task-list__item {
    box-shadow: inset 0 3px 0 rgba(37, 99, 235, .34);
}

.humi-editor-v2 [contenteditable] li[data-type="taskItem"].is-drop-after .humi-editor-task-list__item {
    box-shadow: inset 0 -3px 0 rgba(37, 99, 235, .34);
}

.humi-editor-v2 .humi-editor-checklist-tools {
    position: absolute;
    z-index: 33;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px;
    border-radius: 12px;
    border: 1px solid rgba(148, 163, 184, .35);
    background: rgba(255, 255, 255, .97);
    box-shadow: 0 12px 24px rgba(15, 23, 42, .14);
    backdrop-filter: blur(4px);
}

.humi-editor-v2 .humi-editor-checklist-tools[hidden] {
    display: none !important;
}

.humi-editor-v2 .humi-editor-checklist-tools button {
    border: 1px solid rgba(148, 163, 184, .4);
    background: #f8fafc;
    color: #0f172a;
    border-radius: 8px;
    padding: 4px 7px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.15;
    cursor: pointer;
}

.humi-editor-v2 .humi-editor-checklist-tools button:hover {
    background: #e2e8f0;
}

.humi-editor-v2--night [contenteditable] .humi-editor-task-list__drag {
    background: rgba(30, 41, 59, .88);
    color: rgba(226, 232, 240, .92);
    border-color: rgba(148, 163, 184, .36);
}

.humi-editor-v2--night .humi-editor-checklist-tools {
    background: rgba(15, 23, 42, .94);
    border-color: rgba(148, 163, 184, .28);
    box-shadow: 0 14px 28px rgba(2, 6, 23, .42);
}

.humi-editor-v2--night .humi-editor-checklist-tools button {
    background: rgba(30, 41, 59, .92);
    color: rgba(226, 232, 240, .94);
    border-color: rgba(148, 163, 184, .32);
}

.humi-editor-v2--night .humi-editor-checklist-tools button:hover {
    background: rgba(51, 65, 85, .92);
}

.humi-editor-v2 [contenteditable] figure[data-humi-image="1"],
.humi-msg-body-rendered figure[data-humi-image="1"] {
    display: grid;
    gap: 10px;
    margin: 1rem auto;
    width: 100%;
    max-width: 72%;
}

.humi-editor-v2 [contenteditable] figure[data-humi-image="1"][data-humi-image-size="compact"],
.humi-msg-body-rendered figure[data-humi-image="1"][data-humi-image-size="compact"] {
    max-width: min(260px, 44%);
}

.humi-editor-v2 [contenteditable] figure[data-humi-image="1"][data-humi-image-size="full"],
.humi-msg-body-rendered figure[data-humi-image="1"][data-humi-image-size="full"] {
    max-width: 100%;
}

.humi-editor-v2 [contenteditable] figure[data-humi-image="1"][data-humi-image-align="left"],
.humi-msg-body-rendered figure[data-humi-image="1"][data-humi-image-align="left"] {
    margin-left: 0;
    margin-right: auto;
}

.humi-editor-v2 [contenteditable] figure[data-humi-image="1"][data-humi-image-align="center"],
.humi-msg-body-rendered figure[data-humi-image="1"][data-humi-image-align="center"] {
    margin-left: auto;
    margin-right: auto;
}

.humi-editor-v2 [contenteditable] figure[data-humi-image="1"][data-humi-image-align="right"],
.humi-msg-body-rendered figure[data-humi-image="1"][data-humi-image-align="right"] {
    margin-left: auto;
    margin-right: 0;
}

.humi-editor-v2 [contenteditable] figure[data-humi-image="1"] img,
.humi-msg-body-rendered figure[data-humi-image="1"] img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 18px;
    box-shadow: 0 20px 36px rgba(15, 23, 42, .12);
}

.humi-editor-v2 [contenteditable] figure[data-humi-image="1"].is-selected img {
    outline: 3px solid rgba(37, 99, 235, .22);
    outline-offset: 4px;
}

.humi-editor-v2 [contenteditable] .humi-editor-figure__caption {
    min-height: 22px;
    color: #64748b;
    font-size: 12px;
    text-align: center;
}

.humi-editor-v2--night [contenteditable] .humi-editor-task-list__item,
.humi-editor-v2--night .humi-msg-body-rendered ul[data-type="taskList"] .humi-editor-task-list__item {
    background: rgba(15, 23, 42, .82);
    border-color: rgba(148, 163, 184, .24);
}

.humi-editor-v2--night [contenteditable] .humi-editor-task-list__item span,
.humi-editor-v2--night .humi-msg-body-rendered ul[data-type="taskList"] .humi-editor-task-list__item span {
    color: rgba(241, 245, 249, .96);
}

.humi-editor-v2--night [contenteditable] li[data-checked="true"] .humi-editor-task-list__item,
.humi-editor-v2--night .humi-msg-body-rendered ul[data-type="taskList"] li[data-checked="true"] .humi-editor-task-list__item {
    background: rgba(30, 41, 59, .82);
    border-color: rgba(148, 163, 184, .18);
}

.humi-editor-v2--night [contenteditable] li[data-checked="true"] .humi-editor-task-list__item span,
.humi-editor-v2--night .humi-msg-body-rendered ul[data-type="taskList"] li[data-checked="true"] .humi-editor-task-list__item span {
    color: rgba(148, 163, 184, .72);
}

.humi-editor-v2--night [contenteditable] .humi-editor-task-list[data-progress]::before,
.humi-editor-v2--night [contenteditable] ul[data-humi-task-list][data-progress]::before {
    color: rgba(226, 232, 240, .94);
    background: rgba(51, 65, 85, .78);
    border-color: rgba(148, 163, 184, .34);
}

.humi-editor-v2 .humi-editor-table-tools {
    position: absolute;
    z-index: 32;
    display: inline-flex;
    flex-wrap: wrap;
    gap: 6px;
    max-width: 360px;
    padding: 8px;
    border-radius: 12px;
    border: 1px solid rgba(148, 163, 184, .35);
    background: rgba(255, 255, 255, .97);
    box-shadow: 0 12px 24px rgba(15, 23, 42, .14);
    backdrop-filter: blur(4px);
}

.humi-editor-v2 .humi-editor-table-tools[hidden] {
    display: none !important;
}

.humi-editor-v2 .humi-editor-table-tools button {
    border: 1px solid rgba(148, 163, 184, .4);
    background: #f8fafc;
    color: #0f172a;
    border-radius: 8px;
    padding: 4px 7px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.15;
    cursor: pointer;
}

.humi-editor-v2 .humi-editor-table-tools button[data-table-action="palette"] {
    background: linear-gradient(135deg, #dbeafe 0%, #f0f9ff 45%, #ede9fe 100%);
    border-color: rgba(99, 102, 241, .35);
}

.humi-editor-v2 .humi-editor-table-tools button:hover {
    background: #e2e8f0;
}

.humi-editor-v2--night .humi-editor-table-tools {
    background: rgba(15, 23, 42, .94);
    border-color: rgba(148, 163, 184, .28);
    box-shadow: 0 14px 28px rgba(2, 6, 23, .42);
}

.humi-editor-v2--night .humi-editor-table-tools button {
    background: rgba(30, 41, 59, .92);
    color: rgba(226, 232, 240, .94);
    border-color: rgba(148, 163, 184, .32);
}

.humi-editor-v2--night .humi-editor-table-tools button[data-table-action="palette"] {
    background: linear-gradient(135deg, rgba(30, 58, 138, .72) 0%, rgba(30, 41, 59, .92) 45%, rgba(91, 33, 182, .72) 100%);
}

.humi-editor-v2--night .humi-editor-table-tools button:hover {
    background: rgba(51, 65, 85, .92);
}

.humi-editor-v2 [contenteditable] .humi-editor-figure__caption:empty::before {
    content: attr(data-placeholder);
    color: #94a3b8;
}

.humi-editor-v2 [contenteditable] hr {
    border: none;
    border-top: 1px solid var(--humi-gray-3);
    margin: 2rem 0;
}

.humi-editor-v2 [contenteditable] a {
    color: var(--humi-purple);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.humi-editor-v2--night [contenteditable] a {
    color: #7dd3fc;
}

/* ── Font passthrough ───────────────────────────────────────────────────── */

.humi-editor-v2 .katex,
.humi-editor-v2 .katex * {
    font-family: var(--humi-math-font);
}

/* ── FeedbackNode Marks ─────────────────────────────────────────────────── */

mark[data-humi-feedback] {
    border-radius: 3px;
    padding: 1px 3px;
    cursor: pointer;
    transition: filter var(--humi-duration) var(--humi-ease);
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    position: relative;
}

mark[data-humi-feedback]:hover {
    filter: brightness(0.90);
}

mark[data-humi-feedback="correction"] {
    background: #fef2f2;
    color: #dc2626;
    border-bottom: 2px solid #fca5a5;
}

mark[data-humi-feedback="insight"] {
    background: #f0f9ff;
    color: #0369a1;
    border-bottom: 2px dashed #7dd3fc;
}

mark[data-humi-feedback="redline"] {
    background: #fffbeb;
    color: #b45309;
    border-bottom: 2px dashed #fcd34d;
}

/* Note indicator: dotted outline when mark has a note */
mark[data-humi-feedback][data-humi-note]:not([data-humi-note=""]) {
    outline: 1px dotted currentColor;
    outline-offset: 1px;
}

/* Legacy class-based marks (backward compat) */
mark.humi-feedback--correction { background: #fef2f2; color: #dc2626; border-bottom: 2px solid #fca5a5; }
mark.humi-feedback--insight    { background: #f0f9ff; color: #0369a1; border-bottom: 2px dashed #7dd3fc; }
mark.humi-feedback--redline    { background: #fffbeb; color: #b45309; border-bottom: 2px dashed #fcd34d; }

/* ── Feedback Bubble Menu ───────────────────────────────────────────────── */

.humi-feedback-bubble {
    font-family: var(--humi-editor-font);
}

.humi-feedback-bubble button:hover {
    background: rgba(255, 255, 255, .16) !important;
    border-color: rgba(255, 255, 255, .20) !important;
}

/* ── Popover Panel ──────────────────────────────────────────────────────── */

.humi-feedback-popover {
    font-family: var(--humi-editor-font);
    animation: humiPopIn var(--humi-duration) var(--humi-ease);
    width: min(90vw, 480px) !important;
    max-width: min(90vw, 480px) !important;
}

@keyframes humiPopIn {
    from { opacity: 0; transform: translateY(-6px) scale(0.97); }
    to   { opacity: 1; transform: translateY(0)    scale(1); }
}

.humi-feedback-popover select:focus,
.humi-pop-note:focus {
    outline: 2px solid var(--humi-purple);
    outline-offset: 0;
    border-color: var(--humi-purple) !important;
}

.humi-popover__header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}

.humi-popover__icon {
    font-size: 16px;
}

.humi-popover__title {
    font-size: 13px;
    font-weight: 700;
    min-width: 0;
    flex: 1;
}

.humi-popover__close {
    margin-left: auto;
    background: none;
    border: none;
    color: #94a3b8;
    font-size: 18px;
    cursor: pointer;
    line-height: 1;
}

.humi-popover__label {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--humi-gray-5);
    margin: 10px 0 6px;
}

.humi-pop-select {
    width: 100%;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 7px 10px;
    font-size: 12px;
    color: #475569;
    margin-bottom: 4px;
    background: #f8fafc;
}

.humi-pop-toolbar {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 8px;
}

.humi-pop-fmt-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 30px;
    padding: 0 10px;
    border: 1px solid #dbe3ee;
    border-radius: 8px;
    background: #f8fafc;
    color: #334155;
    cursor: pointer;
    font-size: 13px;
    font-weight: 700;
}

.humi-pop-fmt-btn--code {
    font-family: var(--humi-mono-font);
    font-size: 12px;
    font-weight: 600;
}

/* Placeholder for contenteditable note field */
.humi-pop-note:empty::before {
    content: attr(data-placeholder);
    color: #94a3b8;
    pointer-events: none;
    font-style: italic;
}

.humi-pop-note {
    min-height: 132px;
    max-height: 320px;
    overflow-y: auto;
    resize: vertical;
    width: 100%;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 12px 12px;
    font-size: 13px;
    color: #0f172a;
    box-sizing: border-box;
    outline: none;
    line-height: 1.7;
    background: #fffdf8;
}

.humi-pop-note strong,
.humi-pop-note b {
    font-weight: 700;
}

.humi-pop-note em,
.humi-pop-note i {
    font-style: italic;
}

.humi-pop-note code {
    background: rgba(106, 0, 245, 0.08);
    border-radius: 4px;
    padding: 1px 4px;
    font-family: var(--humi-mono-font);
    font-size: 0.92em;
}

.humi-pop-snippets-wrap {
    margin-top: 10px;
}

.humi-pop-snippets-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0;
    border: none;
    background: none;
    color: var(--humi-purple-dark);
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}

.humi-pop-snippets-toggle[aria-expanded="true"] {
    color: var(--humi-purple);
}

.humi-pop-snippets {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.humi-pop-snippet {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    padding: 7px 10px;
    border: 1px solid rgba(106, 0, 245, 0.12);
    border-radius: 999px;
    background: rgba(106, 0, 245, 0.05);
    color: #4338ca;
    cursor: pointer;
    font-size: 12px;
    line-height: 1.35;
}

.humi-pop-snippet:hover {
    background: rgba(106, 0, 245, 0.1);
    border-color: rgba(106, 0, 245, 0.22);
}

.humi-pop-actions {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    margin-top: 12px;
}

.humi-pop-btn {
    padding: 7px 14px;
    border-radius: 8px;
    font-size: 12px;
    cursor: pointer;
    font-weight: 700;
}

.humi-pop-btn--secondary {
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    color: #64748b;
}

.humi-pop-btn--primary {
    border: none;
    color: #fff;
}

/* Mini format toolbar button hover */
.humi-pop-fmt-btn:hover {
    background: #f1f5f9 !important;
    border-color: #cbd5e1 !important;
}

/* Annotation card note: allow HTML content rendered from mini-toolbar */
.humi-annotation-card__note b,
.humi-annotation-card__note strong { font-weight: 700; }
.humi-annotation-card__note i,
.humi-annotation-card__note em     { font-style: italic; }
.humi-annotation-card__note code   { background: #f1f5f9; padding: 1px 4px; border-radius: 3px; font-size: 0.9em; font-family: var(--humi-mono-font); }

/* ── Mark Hover Tooltip ─────────────────────────────────────────────────── */

.humi-mark-tooltip {
    font-family: var(--humi-editor-font);
    -webkit-font-smoothing: antialiased;
}

/* ── Inline Annotation Cards (read / display mode) ──────────────────────── */

.humi-annotation-card {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 8px 0 12px 0;
    padding: 10px 14px;
    border-radius: var(--humi-radius);
    font-size: 13px;
    line-height: 1.6;
    font-family: var(--humi-editor-font);
    border-left: 3px solid transparent;
    border: 1px solid rgba(15, 23, 42, .08);
    box-shadow: var(--humi-shadow-sm);
    position: relative;
    transition: box-shadow var(--humi-duration) var(--humi-ease);
}

.humi-annotation-card:hover {
    box-shadow: 0 4px 16px rgba(15, 23, 42, .10);
}

.humi-msg-body-rendered .humi-annotation-card.is-pulsing {
    animation: humi-feedback-preview-pulse .42s ease;
}

.humi-annotation-card__icon {
    font-size: 15px;
    flex-shrink: 0;
    margin-top: 2px;
}

.humi-annotation-card__body {
    display: block;
    flex: 1;
    min-width: 0;
}

.humi-annotation-card__category {
    display: block;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin-bottom: 3px;
    opacity: 0.55;
}

.humi-annotation-card__note {
    display: block;
    color: inherit;
    word-break: break-word;
    white-space: pre-wrap;
    font-size: 13px;
    line-height: 1.6;
}

.humi-annotation-card--correction {
    background: #fff1f2;
    border-left-color: #ef4444;
    border-color: rgba(239, 68, 68, .28);
    color: #7f1d1d;
}

.humi-annotation-card--insight {
    background: #eaf4ff;
    border-left-color: #0ea5e9;
    border-color: rgba(14, 165, 233, .28);
    color: #0c4a6e;
}

.humi-annotation-card--redline {
    background: #fff4e5;
    border-left-color: #f59e0b;
    border-color: rgba(245, 158, 11, .28);
    color: #78350f;
}

/* ── KaTeX display override (block formulas) ────────────────────────────── */

.humi-msg-body-rendered .katex-display {
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0.25rem 0;
}

/* ── Read-only message body ─────────────────────────────────────────────── */

.humi-msg-body-rendered {
    font-family: var(--humi-editor-font);
    font-size: 14.5px;
    line-height: 1.8;
    letter-spacing: -0.01em;
    color: var(--humi-black);
    -webkit-font-smoothing: antialiased;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.humi-msg-body-rendered h1,
.humi-msg-body-rendered h2,
.humi-msg-body-rendered h3,
.humi-msg-body-rendered h4 {
    font-weight: 700;
    line-height: 1.25;
    color: var(--humi-black-strong);
    margin-top: 1.5rem;
    margin-bottom: 0.5rem;
}
.humi-msg-body-rendered h1 { font-size: 1.35rem; }
.humi-msg-body-rendered h2 { font-size: 1.24rem; }
.humi-msg-body-rendered h3 { font-size: 1.08rem; }
.humi-msg-body-rendered h4 { font-size: 0.98rem; }

.humi-msg-body-rendered p { margin: 0 0 0.65em; }

.humi-msg-body-rendered ul,
.humi-msg-body-rendered ol { padding-left: 1.4em; margin: 0.3em 0 0.7em; }

.humi-msg-body-rendered code {
    background: var(--humi-purple-soft);
    border-radius: 0.3rem;
    padding: 0.12em 0.3em;
    font-family: var(--humi-mono-font);
    font-size: 0.84em;
    color: var(--humi-purple-dark);
}

.humi-msg-body-rendered pre {
    background: var(--humi-black);
    border-radius: var(--humi-radius);
    padding: 0.8rem 1rem;
    overflow-x: auto;
    margin: 0.8rem 0;
}
.humi-msg-body-rendered pre code {
    background: none;
    padding: 0;
    color: #e2e8f0;
    font-size: 0.84em;
}

.humi-msg-body-rendered blockquote {
    border-left: 3px solid var(--humi-gray-3);
    margin: 1rem 0;
    padding: 0.2rem 0 0.2rem 1rem;
    color: var(--humi-gray-5);
}
