/* RECATOOLS — Plain Text Diff */
.ptd-wrap { padding: 1.25rem; }
.ptd-inputs { display: grid; grid-template-columns: 1fr 1fr; gap: .85rem; margin-bottom: 1rem; }
.ptd-pane label { font-size: .72rem; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: #6b6760; display: block; margin-bottom: .3rem; }
.ptd-pane textarea { width: 100%; min-height: 160px; padding: .7rem .8rem; font-size: .85rem; line-height: 1.5; border: 1px solid #ebebeb; border-radius: 8px; resize: vertical; font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace; }
.ptd-pane textarea:focus { outline: none; border-color: #14b8a6; box-shadow: 0 0 0 3px rgba(20,184,166,.15); }
.ptd-opts { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; font-size: .85rem; margin-bottom: 1rem; }
.ptd-opts label { display: inline-flex; align-items: center; gap: .4rem; }
.ptd-run-btn { width: 100%; padding: .8rem 1.5rem; font-size: 1rem; font-weight: 700; color: #fff; background: #14b8a6; border: none; border-radius: 999px; cursor: pointer; }
.ptd-run-btn:hover { background: #0f9488; }
.ptd-summary { text-align: center; font-size: .85rem; color: #6b6760; margin: 1rem 0; min-height: 1.1em; }
.ptd-viewtabs { display: flex; gap: 1rem; justify-content: center; font-size: .85rem; margin-bottom: .8rem; }
.ptd-viewtabs label { display: inline-flex; align-items: center; gap: .35rem; cursor: pointer; }
.ptd-output { border: 1px solid #ebebeb; border-radius: 10px; overflow: auto; font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace; font-size: .82rem; line-height: 1.5; }
.ptd-output code { font-family: inherit; white-space: pre-wrap; word-break: break-word; }
/* inline view */
.ptd-row { display: flex; gap: .5rem; padding: .1rem .6rem; }
.ptd-gutter { color: #9b968d; user-select: none; flex: 0 0 1ch; }
.ptd-row.ptd-del { background: #fef2f2; }
.ptd-row.ptd-ins { background: #ecfdf5; }
.ptd-row.ptd-del .ptd-gutter { color: #b91c1c; }
.ptd-row.ptd-ins .ptd-gutter { color: #047857; }
/* side-by-side */
.ptd-srow { display: grid; grid-template-columns: 1fr 1fr; }
.ptd-cell { padding: .1rem .6rem; border-right: 1px solid #f3f4f6; min-height: 1.5em; }
.ptd-cell.ptd-del { background: #fef2f2; }
.ptd-cell.ptd-ins { background: #ecfdf5; }
.ptd-cell.ptd-empty { background: #fafafa; }
.ptd-mark-del { background: #fecaca; border-radius: 2px; }
.ptd-mark-ins { background: #a7f3d0; border-radius: 2px; }
@media (max-width: 600px) { .ptd-inputs { grid-template-columns: 1fr; } .ptd-side .ptd-srow { grid-template-columns: 1fr; } }
