/* RECATOOLS — Markdown to PDF Converter */
.mpx-wrap { padding: 1.25rem; }
.mpx-toolbar { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin-bottom: .9rem; }
.mpx-title-input { flex: 1; min-width: 160px; padding: .5rem .75rem; border: 1px solid #ebebeb; border-radius: 8px; font-size: .9rem; }
.mpx-title-input:focus { outline: none; border-color: #7c3aed; box-shadow: 0 0 0 3px rgba(124,58,237,.15); }
.mpx-btn { padding: .5rem 1rem; font-size: .82rem; font-weight: 700; border-radius: 999px; cursor: pointer; border: 1px solid #7c3aed; background: #fff; color: #6d28d9; }
.mpx-btn:hover { background: #f5f3ff; }
.mpx-btn-primary { background: #7c3aed; color: #fff; }
.mpx-btn-primary:hover { background: #6d28d9; }
.mpx-open-label { display: inline-flex; align-items: center; gap: .35rem; }
.mpx-open-label input { display: none; }
.mpx-panes { display: grid; grid-template-columns: 1fr 1fr; gap: .9rem; }
@media (max-width: 760px) { .mpx-panes { grid-template-columns: 1fr; } }
.mpx-pane-label { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: #9b968d; margin-bottom: .35rem; display: block; }
.mpx-input { width: 100%; min-height: 420px; padding: .8rem; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .85rem; line-height: 1.55; border: 1px solid #ebebeb; border-radius: 10px; resize: vertical; }
.mpx-input:focus { outline: none; border-color: #7c3aed; box-shadow: 0 0 0 3px rgba(124,58,237,.15); }
.mpx-preview { min-height: 420px; max-height: 620px; overflow-y: auto; padding: 1.1rem 1.3rem; border: 1px solid #ebebeb; border-radius: 10px; background: #fff; font-family: Georgia, "Times New Roman", serif; line-height: 1.65; color: #1a1814; }
.mpx-preview h1, .mpx-preview h2, .mpx-preview h3, .mpx-preview h4 { font-family: system-ui, -apple-system, sans-serif; line-height: 1.25; margin: 1.4em 0 .5em; }
.mpx-preview h1 { font-size: 1.7rem; border-bottom: 2px solid #eee; padding-bottom: .25em; }
.mpx-preview h2 { font-size: 1.35rem; } .mpx-preview h3 { font-size: 1.12rem; }
.mpx-preview p { margin: .6em 0; }
.mpx-preview code { background: #f4f4f4; padding: .1em .35em; border-radius: 3px; font-size: .88em; font-family: ui-monospace, Menlo, monospace; }
.mpx-preview pre { background: #f6f8fa; padding: .9rem; border-radius: 8px; overflow-x: auto; }
.mpx-preview pre code { background: none; padding: 0; }
.mpx-preview blockquote { border-left: 4px solid #ddd; margin: 1em 0; padding: .25em 1em; color: #555; }
.mpx-preview table { border-collapse: collapse; width: 100%; margin: 1em 0; font-family: system-ui, sans-serif; font-size: .9rem; }
.mpx-preview th, .mpx-preview td { border: 1px solid #ddd; padding: .4em .7em; text-align: left; }
.mpx-preview th { background: #f6f8fa; }
.mpx-preview img { max-width: 100%; border-radius: 6px; }
.mpx-preview hr { border: none; border-top: 1px solid #ddd; margin: 1.3em 0; }
.mpx-mermaid { border: 1px dashed #c4b5fd; border-radius: 8px; padding: .6rem .8rem; margin: 1em 0; background: #faf5ff; }
.mpx-mermaid-label { font-size: .72rem; color: #7c3aed; margin-bottom: .35rem; font-family: system-ui, sans-serif; }
.mpx-hint { font-size: .74rem; color: #9b968d; margin: .8rem 0 0; }
