/* 开发者工具共用表单和结果区，保持输入、设置、输出的连续工作流。 */
.developer-form { max-width: 1100px; }
.developer-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.developer-field { display: grid; gap: 8px; min-width: 0; font-weight: 750; }
.developer-field input, .developer-field select, .developer-field textarea, .developer-output {
    box-sizing: border-box; width: 100%; min-height: var(--tool-control-height); padding: var(--tool-control-padding) 12px; color: var(--ink); background: var(--surface); border: 1px solid var(--line); border-radius: 4px; font: inherit;
    font-size: var(--tool-input-font);
    line-height: 22px;
}
.developer-field textarea, .developer-output { height: var(--tool-editor-height); min-height: 96px; resize: vertical; font: 14px/1.6 Consolas, "Courier New", monospace; }
.developer-output { background: var(--surface-soft); }
.developer-field input:focus, .developer-field select:focus, .developer-field textarea:focus, .developer-output:focus { border-color: var(--forest); outline: 3px solid var(--focus-ring); }
.developer-note { margin: 14px 0 0; color: var(--muted); font-size: 14px; line-height: 1.5; }
.developer-result { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--line); }
.developer-result h2 { margin: 0; font-size: 18px; }
.developer-result-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 16px; }
.developer-options { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 18px; }
.developer-options label { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; }
.developer-options input { width: 17px; height: 17px; accent-color: var(--forest); }
.developer-form [hidden] { display: none !important; }
.diff-plain-label { margin-top: 22px; }
.diff-visual { max-height: 560px; margin-top: 16px; overflow: auto; border: 1px solid var(--line); border-radius: 4px; background: var(--surface-soft); }
.diff-row { display: grid; grid-template-columns: 48px 58px 58px minmax(0, 1fr); align-items: stretch; min-height: 34px; border-bottom: 1px solid var(--line); font: 13px/1.6 Consolas, "Courier New", monospace; }
.diff-row:last-child { border-bottom: 0; }
.diff-kind, .diff-line-number { display: grid; place-items: center; padding: 6px 5px; color: var(--muted); border-right: 1px solid var(--line); font: 700 12px/1.2 "Microsoft YaHei", sans-serif; }
.diff-line-number { color: var(--muted); font-family: Consolas, "Courier New", monospace; }
.diff-line-content { min-width: 0; padding: 6px 10px; overflow-wrap: anywhere; white-space: pre-wrap; }
.diff-added { background: #e9f5ed; }
.diff-added .diff-kind { color: var(--forest); }
.diff-removed { background: #fff0ee; }
.diff-removed .diff-kind { color: var(--error); }
.diff-same .diff-kind { color: var(--muted); }
@media (max-width: 700px) { .developer-fields, .developer-result-grid { grid-template-columns: 1fr; } }
