/* ============ 写文章编辑器（Quill 暗黑紫金主题） ============ */
.ed-toolbar-top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.ed-toolbar-top label{ font-size:12px; color:var(--xwp-ink2); }
.xwp-btn.ghost{ background:transparent; border:1px solid var(--xwp-line); color:var(--xwp-ink2); }
.xwp-btn.ghost:hover{ border-color:var(--xwp-gold); color:var(--xwp-gold); }
.xwp-btn.sm{ padding:6px 12px; font-size:12.5px; border-radius:8px; }

/* 封面拖拽上传 */
.ed-cover{ position:relative; border:1.5px dashed var(--xwp-line-strong); border-radius:14px;
  background:var(--xwp-surface-2); min-height:150px; display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:.18s; overflow:hidden; }
.ed-cover:hover, .ed-cover.drag{ border-color:var(--xwp-gold); background:rgba(124,140,255,.08); }
.ed-cover-empty{ display:flex; flex-direction:column; align-items:center; gap:8px; color:var(--xwp-ink2); font-size:13px; padding:24px; }
.ed-cover-empty svg{ color:var(--xwp-ink2); }
.ed-cover-prev{ position:relative; width:100%; }
.ed-cover-prev img{ display:block; width:100%; max-height:300px; object-fit:cover; }
.ed-cover-rm{ position:absolute; top:10px; right:10px; background:rgba(6,5,18,.7); color:#fff; border:1px solid var(--xwp-line);
  padding:6px 12px; border-radius:8px; font-size:12.5px; cursor:pointer; backdrop-filter:blur(4px); }
.ed-cover-rm:hover{ border-color:var(--xwp-red); color:var(--xwp-red); }

/* Quill 容器 */
.ed-quill{ background:var(--xwp-surface-2); border-radius:0 0 12px 12px; }
.ed-quill .ql-editor{ min-height:360px; font-size:16px; line-height:1.8; color:var(--xwp-ink); }
.ed-quill .ql-editor.ql-blank::before{ color:var(--xwp-ink2); font-style:normal; }
.ed-quill .ql-editor p{ margin:0 0 12px; }

/* ============ Quill Snow 暗黑主题覆盖 ============ */
.ql-toolbar.ql-snow{ border:1px solid var(--xwp-line); border-radius:12px 12px 0 0; background:var(--xwp-surface); }
.ql-container.ql-snow{ border:1px solid var(--xwp-line); border-top:none; border-radius:0 0 12px 12px; font-family:inherit; }
.ql-snow .ql-stroke{ stroke:var(--xwp-ink2); }
.ql-snow .ql-fill{ fill:var(--xwp-ink2); }
.ql-snow .ql-picker{ color:var(--xwp-ink2); }
.ql-snow.ql-toolbar button:hover .ql-stroke,
.ql-snow.ql-toolbar button:focus .ql-stroke,
.ql-snow.ql-toolbar button.ql-active .ql-stroke{ stroke:var(--xwp-gold); }
.ql-snow.ql-toolbar button:hover .ql-fill,
.ql-snow.ql-toolbar button:focus .ql-fill,
.ql-snow.ql-toolbar button.ql-active .ql-fill{ fill:var(--xwp-gold); }
.ql-snow.ql-toolbar button:hover,
.ql-snow.ql-toolbar button:focus,
.ql-snow.ql-toolbar button.ql-active{ color:var(--xwp-gold); }
.ql-snow .ql-picker-options{ background:var(--xwp-surface); border:1px solid var(--xwp-line); border-radius:8px; }
.ql-snow .ql-picker.ql-expanded .ql-picker-label{ color:var(--xwp-gold); border-color:var(--xwp-line); }
.ql-snow .ql-picker-label:hover{ color:var(--xwp-gold); }
.ql-snow .ql-tooltip{ background:var(--xwp-surface); border:1px solid var(--xwp-line); border-radius:10px; color:var(--xwp-ink); box-shadow:0 12px 30px rgba(0,0,0,.5); }
.ql-snow .ql-tooltip input[type=text]{ background:var(--xwp-bg); border:1px solid var(--xwp-line); color:var(--xwp-ink); border-radius:6px; }
.ql-snow .ql-tooltip a.ql-action::before,
.ql-snow .ql-tooltip a.ql-remove::before{ color:var(--xwp-ink2); }
.ql-snow .ql-tooltip a.ql-action:hover::before,
.ql-snow .ql-tooltip a.ql-remove:hover::before{ color:var(--xwp-gold); }
.ql-snow .ql-editor pre.ql-syntax,
.ql-snow .ql-editor pre{ background:rgba(8,6,24,.7); color:var(--xwp-ink); border-radius:8px; }
.ql-snow .ql-editor blockquote{ border-left:3px solid var(--xwp-gold); color:var(--xwp-ink2); }
.ql-snow .ql-editor h1{ font-size:1.6em; } .ql-snow .ql-editor h2{ font-size:1.4em; } .ql-snow .ql-editor h3{ font-size:1.2em; }
