.diff-tool{max-width:1100px;margin:auto;padding:24px;}
.diff-tool label{display:block;font-weight:600;margin:16px 0 8px;}
.diff-tool :is(textarea,select){box-sizing:border-box;width:100%;padding:12px;background:var(--freeify-raised);color:var(--freeify-text);border:1px solid var(--freeify-line);font:400 1rem/1.5 ui-monospace,monospace;}
.diff-tool textarea{min-height:140px;resize:vertical;}
.diff-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.diff-tool .actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0;}
.diff-tool button{font:inherit;min-height:44px;padding:10px 16px;border:1px solid var(--freeify-line);background:var(--freeify-gold);color:var(--freeify-action-ink);cursor:pointer;}
.diff-tool button:disabled{opacity:.5;cursor:default;}
.diff-tool :is(p,li){line-height:1.6;overflow-wrap:anywhere;}
.diff-tool .diff-row{padding:14px;margin:12px 0;border:1px solid var(--freeify-line);border-left:4px solid var(--freeify-line);scroll-margin-top:110px;}
.diff-tool .diff-row.added,.diff-tool .diff-row.removed{border-left-color:var(--freeify-gold);}
.diff-tool pre{margin:12px 0;white-space:pre-wrap;overflow-wrap:anywhere;font:400 1rem/1.5 ui-monospace,monospace;}
.diff-tool .line-meta{color:var(--freeify-muted);font-size:.9rem;}
.diff-tool #diffError{border-left:3px solid var(--freeify-gold);padding-left:12px;}
.diff-tool :is(a,button,textarea,select,summary,[tabindex]):focus-visible{outline:3px solid var(--freeify-focus);outline-offset:4px;}
.diff-tool [hidden]{display:none!important;}
@media(max-width:600px){.diff-tool{padding:14px;}.diff-inputs{grid-template-columns:1fr;}.diff-tool h1{font-size:2rem;}.diff-tool .actions button{flex:1 1 130px;}}
