/* ============================================================
   Markdown 內文樣式 (.md-body) / 編輯器工具列 (.md-editor) / 標籤輸入 (.tag-input)
   ============================================================ */

/* ── 渲染後的內文 ── */
.md-body { font-size: 0.92rem; line-height: 1.85; color: var(--color-text-secondary); word-break: break-word; overflow-wrap: break-word; }
.md-body > :first-child { margin-top: 0; }
.md-body > :last-child { margin-bottom: 0; }
.md-body p { margin: 0 0 var(--space-md); }
.md-body h1, .md-body h2, .md-body h3, .md-body h4 { color: var(--color-text); font-weight: var(--font-weight-semibold); line-height: 1.35; margin: var(--space-lg) 0 var(--space-sm); letter-spacing: -0.01em; }
.md-body h1 { font-size: 1.35rem; } .md-body h2 { font-size: 1.18rem; } .md-body h3 { font-size: 1.04rem; } .md-body h4 { font-size: 0.95rem; }
.md-body strong, .md-body b { color: var(--color-text); font-weight: var(--font-weight-semibold); }
.md-body a { color: var(--color-accent); text-decoration: underline; text-decoration-color: var(--color-accent-soft); text-underline-offset: 2px; }
.md-body a:hover { color: var(--color-accent-hover); text-decoration-color: currentColor; }
.md-body ul, .md-body ol { margin: 0 0 var(--space-md); padding-left: 1.5em; }
.md-body li { margin: 3px 0; }
.md-body li > p { margin: 0; }
.md-body blockquote { margin: 0 0 var(--space-md); padding: 6px 14px; border-left: 3px solid var(--color-accent); background: var(--color-accent-soft); border-radius: 0 var(--radius-md) var(--radius-md) 0; color: var(--color-text-secondary); }
.md-body blockquote p { margin: 0; }
.md-body code { font-family: ui-monospace, "SF Mono", Menlo, monospace; font-size: 0.85em; padding: 1px 6px; border-radius: var(--radius-sm); background: var(--color-surface-elevated); border: 1px solid var(--color-border-subtle); color: var(--color-text); }
.md-body pre { margin: 0 0 var(--space-md); padding: 12px 14px; border-radius: var(--radius-md); background: var(--color-surface-elevated); border: 1px solid var(--color-border); overflow-x: auto; }
.md-body pre code { padding: 0; border: none; background: none; font-size: 0.8rem; line-height: 1.6; }
.md-body hr { border: none; border-top: 1px solid var(--color-border); margin: var(--space-lg) 0; }
.md-body table { border-collapse: collapse; width: 100%; margin: 0 0 var(--space-md); font-size: 0.85rem; display: block; overflow-x: auto; }
.md-body th, .md-body td { padding: 6px 10px; border: 1px solid var(--color-border); text-align: left; }
.md-body th { background: var(--color-surface-elevated); color: var(--color-text); font-weight: var(--font-weight-semibold); }
.md-body.md-compact { font-size: 0.85rem; line-height: 1.7; }
.md-body.md-compact p { margin-bottom: 8px; }

/* ── 編輯器 ── */
.md-editor { border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-bg); overflow: hidden; transition: border-color var(--transition-fast), box-shadow var(--transition-fast); }
.md-editor:focus-within { border-color: var(--color-accent); box-shadow: 0 0 0 3px var(--color-accent-soft); }
.md-toolbar { display: flex; align-items: center; gap: 2px; flex-wrap: wrap; padding: 4px 6px; border-bottom: 1px solid var(--color-border-subtle); background: var(--color-surface); }
.md-tb-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 4px;
    min-width: 30px; height: 28px; padding: 0 7px; border-radius: var(--radius-sm);
    color: var(--color-text-muted); font-size: 0.72rem; font-weight: var(--font-weight-semibold);
    font-family: var(--font-primary); transition: all var(--transition-fast);
}
.md-tb-btn:hover { color: var(--color-text); background: var(--color-surface-elevated); }
.md-tb-btn.is-on { color: var(--color-accent); background: var(--color-accent-soft); }
.md-tb-btn svg { width: 15px; height: 15px; }
.md-tb-sep { width: 1px; height: 18px; background: var(--color-border); margin: 0 4px; }
.md-tb-spacer { flex: 1; }
.md-tb-hint { font-size: 0.66rem; color: var(--color-text-muted); padding-right: 6px; }
.md-editor textarea.form-input { border: none !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; min-height: 180px; }
.md-editor textarea.form-input:focus { outline: none; }
.md-preview { display: none; padding: 12px 14px; min-height: 180px; }
.md-preview.is-empty::before { content: attr(data-empty); color: var(--color-text-muted); font-size: 0.82rem; }
.md-editor.is-preview textarea { display: none; }
.md-editor.is-preview .md-preview { display: block; }
.md-editor.is-loading .md-preview { opacity: 0.5; }

/* ── 標籤輸入（器材） ── */
.tag-input { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; padding: 6px 8px; min-height: 42px; cursor: text; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-bg); transition: border-color var(--transition-fast), box-shadow var(--transition-fast); }
.tag-input:focus-within { border-color: var(--color-accent); box-shadow: 0 0 0 3px var(--color-accent-soft); }
.tag-chip { display: inline-flex; align-items: center; gap: 5px; padding: 3px 5px 3px 10px; border-radius: var(--radius-full); background: var(--color-accent-soft); border: 1px solid var(--color-border); font-size: 0.78rem; color: var(--color-text); }
.tag-chip-x { display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; border-radius: 50%; color: var(--color-text-muted); transition: all var(--transition-fast); }
.tag-chip-x:hover { background: var(--color-rose); color: #fff; }
.tag-chip-x svg { width: 10px; height: 10px; }
.tag-input input { flex: 1; min-width: 120px; border: none; background: transparent; outline: none; font-family: var(--font-primary); font-size: 0.85rem; color: var(--color-text); padding: 4px 2px; }
.tag-input input::placeholder { color: var(--color-text-muted); }
.tag-suggest { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; align-items: center; }
.tag-suggest-label { font-size: 0.68rem; color: var(--color-text-muted); width: 100%; display: flex; align-items: center; gap: 6px; }
.tag-suggest-label a { color: var(--color-accent); }
.tag-suggest-btn { display: inline-flex; align-items: center; gap: 4px; padding: 4px 10px; border-radius: var(--radius-full); font-size: 0.74rem; color: var(--color-text-secondary); background: var(--color-surface); border: 1px dashed var(--color-border); font-family: var(--font-primary); transition: all var(--transition-fast); }
.tag-suggest-btn:hover { color: var(--color-text); border-style: solid; border-color: var(--color-text-muted); }
.tag-suggest-btn.is-added { opacity: 0.4; pointer-events: none; text-decoration: line-through; }
.tag-suggest-btn svg { width: 11px; height: 11px; }

/* 詳細頁的器材標籤 */
.equip-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.equip-tags .equip-tag { padding: 4px 11px; font-size: 0.78rem; }
