:root{--df-paper: #fbfaf5;--df-ink: #1a1716;--df-soft: #6b655e;--df-line: #e8e3d8;--df-line-strong: #d6cebd;--df-card: #ffffff;--df-card-soft: #f6f2e8;--df-accent: #1f4ed8;--df-accent-soft: #e4eafe;--df-add: #1f8a4a;--df-add-soft: #e0f4e7;--df-add-strong: #b6eac4;--df-rem: #b91c1c;--df-rem-soft: #fbe5e5;--df-rem-strong: #f4c0c0;--df-shadow: 0 1px 2px rgba(26, 23, 22, .04), 0 8px 24px rgba(26, 23, 22, .05);--df-radius: 14px;--df-mono: "JetBrains Mono", "SF Mono", Menlo, Consolas, monospace}html,body{background:var(--df-paper);color:var(--df-ink)}body{font-family:Iowan Old Style,Georgia,Times New Roman,serif}.df-page{max-width:1180px;margin:0 auto;padding:36px 20px 80px;font-size:16px;line-height:1.55}.df-topbar{margin-bottom:22px}.df-topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.df-brand{display:flex;align-items:center;gap:10px}.df-brand-mark{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:9px;background:var(--df-card-soft);color:var(--df-accent)}.df-brand-name{font-family:Fraunces,Iowan Old Style,Georgia,serif;font-style:italic;font-weight:500;font-size:22px}.df-topbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.df-stage{margin:14px 0 28px}.df-eyebrow{font-family:Inter,system-ui,sans-serif;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--df-soft);margin:0 0 8px}.df-title{font-family:Fraunces,Iowan Old Style,Georgia,serif;font-weight:500;font-style:italic;font-size:clamp(28px,5vw,44px);line-height:1.1;margin:0 0 10px}.df-sub{font-size:17px;color:var(--df-soft);margin:0;max-width:62ch}.df-input-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px}@media(max-width:720px){.df-input-grid{grid-template-columns:1fr}}.df-card{background:var(--df-card);border:1px solid var(--df-line);border-radius:var(--df-radius);box-shadow:var(--df-shadow);padding:14px 16px}.df-card-wide{margin-top:14px}.df-card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.df-h3{font-family:Fraunces,Iowan Old Style,Georgia,serif;font-weight:500;font-size:18px;margin:0}.df-meta{font-family:Inter,system-ui,sans-serif;font-size:12px;color:var(--df-soft)}.df-tabular{font-variant-numeric:tabular-nums}.df-textarea{width:100%;font-family:var(--df-mono);font-size:13px;line-height:1.55;color:var(--df-ink);background:var(--df-paper);border:1px solid var(--df-line-strong);border-radius:10px;padding:10px 12px;outline:none;resize:vertical;min-height:220px}.df-textarea:focus{border-color:var(--df-accent);box-shadow:0 0 0 3px var(--df-accent-soft)}.df-controls{padding:14px 16px;background:var(--df-card);border:1px solid var(--df-line);border-radius:var(--df-radius);margin-bottom:14px}.df-control-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.df-label{font-family:Inter,system-ui,sans-serif;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--df-soft)}.df-spacer{flex:1 1 12px;min-width:12px}.df-segmented{display:inline-flex;gap:2px;padding:3px;background:var(--df-card-soft);border-radius:9999px}.df-seg-btn{font-family:Inter,system-ui,sans-serif;font-size:12px;color:var(--df-soft);padding:4px 12px;border:none;background:transparent;border-radius:9999px;cursor:pointer}.df-seg-btn.is-active{background:var(--df-card);color:var(--df-ink);box-shadow:0 1px 2px #0000000f}.df-toggle{width:36px;height:20px;border-radius:10px;background:var(--df-line);border:none;position:relative;cursor:pointer;transition:background .15s ease}.df-toggle[aria-checked=true]{background:var(--df-accent)}.df-toggle-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s ease}.df-toggle[aria-checked=true] .df-toggle-thumb{transform:translate(16px)}.df-btn{display:inline-flex;align-items:center;gap:6px;font-family:Inter,system-ui,sans-serif;font-size:13px;font-weight:500;border-radius:9999px;border:1px solid transparent;padding:7px 14px;cursor:pointer;background:none;color:var(--df-ink);transition:background .12s ease,border-color .12s ease}.df-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--df-accent-soft)}.df-btn-ghost{border-color:var(--df-line-strong);background:var(--df-card)}.df-btn-ghost:hover{background:var(--df-card-soft)}.df-btn-sm{padding:5px 10px;font-size:12px}.df-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}@media(max-width:600px){.df-stats{grid-template-columns:repeat(2,1fr)}}.df-stat{padding:14px 16px;border:1px solid var(--df-line);border-radius:var(--df-radius);background:var(--df-card);display:flex;flex-direction:column;gap:4px}.df-stat-label{font-family:Inter,system-ui,sans-serif;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--df-soft)}.df-stat-value{font-family:Fraunces,Iowan Old Style,Georgia,serif;font-weight:500;font-size:22px}.df-added{color:var(--df-add)}.df-removed{color:var(--df-rem)}.df-output-actions{display:flex;gap:6px}.df-output{font-family:var(--df-mono);font-size:13px;line-height:1.55;background:var(--df-paper);border:1px solid var(--df-line);border-radius:10px;padding:12px 0;max-height:600px;overflow-y:auto;color:var(--df-ink)}.df-output:empty:before{content:"Paste text into both boxes to see the diff.";display:block;padding:0 14px;color:var(--df-soft);font-family:Iowan Old Style,Georgia,serif;font-style:italic}.df-line{display:flex;align-items:flex-start;padding:1px 12px;white-space:pre-wrap;word-break:break-word}.df-line-gut{flex:0 0 36px;text-align:right;padding-right:10px;color:var(--df-soft);user-select:none}.df-line-text{flex:1 1 auto;min-width:0}.df-line-add{background:var(--df-add-soft)}.df-line-add .df-line-text:before{content:"+ ";color:var(--df-add)}.df-line-rem{background:var(--df-rem-soft)}.df-line-rem .df-line-text:before{content:"- ";color:var(--df-rem)}.df-line-eq .df-line-text:before{content:"  ";color:var(--df-soft)}.df-tok-add{background:var(--df-add-strong);border-radius:2px;padding:0 1px}.df-tok-rem{background:var(--df-rem-strong);border-radius:2px;padding:0 1px;text-decoration:line-through}.df-split{display:grid;grid-template-columns:1fr 1fr}.df-split-col{border-right:1px solid var(--df-line)}.df-split-col:last-child{border-right:none}.df-meta-block{margin-top:30px;padding-top:22px;border-top:1px solid var(--df-line)}.df-p{margin:0 0 10px;font-size:15px;line-height:1.55}.df-muted{color:var(--df-soft);font-size:14px}.df-link{color:var(--df-accent);text-decoration:none;border-bottom:1px solid var(--df-accent-soft)}.df-link:hover{border-color:var(--df-accent)}.df-details summary{cursor:pointer;font-family:Inter,system-ui,sans-serif;font-size:13px;color:var(--df-soft)}.df-faq{margin-top:14px;display:flex;flex-direction:column;gap:14px}.df-faq-q{font-family:Fraunces,Iowan Old Style,Georgia,serif;font-weight:500;font-size:16px;margin:0 0 4px}.df-faq-a{font-size:14px;color:var(--df-soft);margin:0}.df-toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--df-ink);color:#fff;padding:10px 14px;border-radius:9999px;font-family:Inter,system-ui,sans-serif;font-size:13px;box-shadow:0 6px 18px #0000002e;z-index:80}@media print{.df-topbar,.df-controls,.df-input-grid,.df-meta-block,.df-toast,.df-output-actions{display:none!important}.df-output{max-height:none;box-shadow:none}}
