.richtext-editor{border:1px solid #cfd7e2;border-radius:12px;overflow:hidden;background:#fff}
    .richtext-toolbar{display:flex;align-items:center;gap:2px;flex-wrap:wrap;padding:6px 8px;border-bottom:1px solid #eef2f7;background:#f8fafc}
    .richtext-toolbar button{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:7px;background:transparent;color:#475569;font-size:13px;cursor:pointer;transition:background .12s ease,color .12s ease}
    .richtext-toolbar button:hover{background:#e2e8f0;color:#0f172a}
    .richtext-toolbar button.is-active{background:#dbeafe;color:#1d4ed8}
    .richtext-sep{width:1px;height:18px;background:#e2e8f0;margin:0 4px}
    .richtext-color{display:inline-flex;align-items:center;gap:4px;padding:0 6px;height:30px;border-radius:7px;color:#475569;font-size:13px;cursor:pointer}
    .richtext-color:hover{background:#e2e8f0}
    .richtext-color input[type="color"]{width:22px;height:22px;padding:0;border:none;border-radius:5px;background:none;cursor:pointer}
    .richtext-select{height:30px;border:1px solid #dbe3ee;border-radius:7px;background:#fff;color:#475569;font-size:12px;padding:0 5px;cursor:pointer}
    .richtext-select:focus{outline:2px solid rgba(37,99,235,.2);border-color:#93c5fd}
    .richtext-code{display:block;width:100%;box-sizing:border-box;border:0;border-top:1px solid #eef2f7;padding:12px 14px;font:13px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;color:#dbeafe;background:#0f172a;resize:vertical;outline:none;tab-size:2}
    .richtext-code[hidden]{display:none}
    .richtext-editor.is-code-mode .richtext-code{display:block}
    .richtext-editor.is-code-mode .richtext-code-toggle{background:#dbeafe;color:#1d4ed8}
    .richtext-editor.is-code-mode .richtext-toolbar button:not(.richtext-code-toggle),.richtext-editor.is-code-mode .richtext-toolbar select,.richtext-editor.is-code-mode .richtext-toolbar label{opacity:.45;pointer-events:none}
    .richtext-content{padding:12px 14px;font-size:14px;line-height:1.6;color:#1f2b3a;outline:none;overflow:auto}
    .richtext-content:focus{box-shadow:inset 0 0 0 2px rgba(37,99,235,.15)}
    .richtext-content:empty:before{content:attr(data-placeholder);color:#94a3b8;pointer-events:none}
    .richtext-content ul,.richtext-content ol{margin:4px 0 4px 22px;padding:0}
    .richtext-content h3{font-size:15px;margin:8px 0 4px}
