:root{color-scheme:dark;--page:#202e40;--shell:#111c26;--panel:#17232e;--editor:#101a23;--border:#334658;--text:#e7edf5;--muted:#a7b8ca;--accent:#8dd6ef}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top,#334960,var(--page) 65%);color:var(--text);font:14px/1.65 system-ui,-apple-system,"Noto Sans",sans-serif}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}a{color:var(--accent)}button{cursor:pointer;color:var(--text);background:#243749;border:1px solid var(--border);padding:9px 15px;border-radius:8px;min-height:44px}button:hover{background:#344b61}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}textarea{display:block;width:100%;resize:vertical;background:var(--editor);color:var(--text);border:0;padding:20px;line-height:1.8;font-family:ui-monospace,"SFMono-Regular",Consolas,monospace;font-size:15px;border-radius:0}textarea::placeholder{color:#72889e}input{accent-color:var(--accent)}[hidden]{display:none!important}.shell{max-width:1200px;margin:24px auto;background:var(--shell);border:1px solid #506376;border-radius:20px;overflow:hidden;box-shadow:0 24px 80px #0003}header{padding:22px 32px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);gap:20px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text);font-size:25px;font-weight:700}.light{font-weight:400}.back{font-size:12px;text-decoration:none}main{padding:32px}.intro{display:flex;justify-content:space-between;gap:25px;padding:0 0 28px}.eyebrow{font-size:11px;letter-spacing:.15em;color:var(--accent);margin:0 0 12px}h1{font-size:clamp(26px,4vw,36px);letter-spacing:.03em;line-height:1.4;margin:0 0 14px;font-weight:600}.intro p:not(.eyebrow){color:var(--muted);margin:0}.intro-note{align-self:center;text-align:right;font-size:12px}.intro-note>span{font:40px ui-monospace,monospace;color:#78a4be;display:block;margin-bottom:12px}.sectionbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:10px 0 14px;flex-wrap:wrap}h2{font-size:16px;font-weight:600;margin:0}h2>span{font:12px ui-monospace,monospace;color:var(--accent);margin-right:9px}.actions{display:flex;gap:8px}.actions button{font-size:12px;padding:7px 12px}.inputs{display:grid;grid-template-columns:1fr 1fr;gap:18px}.input-card,.output-card{min-width:0;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--panel)}.field-head,.output-head{padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px}.field-head>label{font-weight:600}.letter{display:inline-flex;justify-content:center;align-items:center;width:26px;height:26px;border-radius:6px;background:#224a60;color:#a5e6ff;margin-right:7px}.letter.b{background:#3e385d;color:#d3c8ff}.inputs textarea{height:240px;min-height:140px}.input-stat{font-size:11px;color:var(--muted);margin:0;padding:9px 16px;border-top:1px solid var(--border)}.file-wrap{position:relative}.file-label{font-size:11px;color:var(--accent);padding:10px 3px}.file-wrap input{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer}.file-wrap:focus-within{outline:2px solid var(--accent);outline-offset:2px}.hint{font-size:12px;color:var(--muted);margin:12px 0}.options{display:flex;gap:12px 24px;flex-wrap:wrap;background:#1a2a38;padding:17px 18px;border-radius:10px;margin-top:20px}.options label{display:flex;gap:8px;align-items:center;font-size:12px;min-height:26px}.run-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:12px 0 20px}.primary{color:#0b2433;background:var(--accent);border-color:var(--accent);font-weight:700}.primary:hover{background:#b9e9fa}.run-row .primary{min-width:180px}.run-row #status{font-size:12px;color:var(--muted);flex:1;min-width:160px}.error{color:#ffacb1!important}#results{padding-top:20px;border-top:1px solid var(--border)}.summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.summary p{margin:0;padding:16px;border:1px solid var(--border);border-radius:10px;color:var(--muted);font-size:12px}.summary strong{color:var(--text);display:block;font-size:15px;margin-bottom:4px}.result-layout{display:grid;grid-template-columns:200px 1fr;gap:18px}.filters{display:flex;flex-direction:column;gap:7px}.filters button{display:flex;justify-content:space-between;text-align:left;font-size:12px}.filters button[aria-pressed=true]{border-color:var(--accent);background:#1d4154;color:#c4edff}.filters b{font-family:ui-monospace,monospace}#output{height:240px;min-height:130px}#output-label{font-weight:600}#output-count{color:var(--accent);font:13px ui-monospace,monospace}.output-actions{display:flex;justify-content:flex-end;gap:10px;padding:0 16px 16px}#preview-note{padding:0 16px}.pr{margin-top:28px;padding:20px;border:1px dashed #395064;border-radius:10px;color:var(--muted);text-align:center;background:#14222e}.pr>span{font-size:10px;letter-spacing:.15em}.pr p{font-size:14px;margin:8px 0}.pr small{font-size:11px}details{margin:30px 0 0;border-top:1px solid var(--border);padding-top:20px;color:var(--muted);font-size:12px}summary{cursor:pointer;color:var(--text);padding:7px 0}details li{padding:4px 0}footer{padding:20px 32px;border-top:1px solid var(--border);color:var(--muted);display:flex;gap:18px;flex-wrap:wrap;font-size:11px}footer span:last-child{margin-left:auto}.mobile{display:none}.skip{position:absolute;left:12px;top:-80px;background:#17232e;padding:10px;z-index:5}.skip:focus{top:12px}@media(max-width:700px){.shell{margin:0;border:0;border-radius:0}header{padding:18px}.brand{font-size:21px}.back{font-size:10px}main{padding:24px 18px}.intro-note{display:none}.inputs{grid-template-columns:1fr;gap:14px}.inputs textarea{height:180px}.options{flex-direction:column;gap:10px}.result-layout{grid-template-columns:1fr}.filters{display:grid;grid-template-columns:1fr 1fr}.summary{grid-template-columns:1fr}.actions{flex-wrap:wrap}.sectionbar{gap:10px}.run-row{gap:10px}.run-row #status{flex-basis:100%;margin:0}.output-actions{flex-wrap:wrap}.mobile{display:block}footer{padding:20px 18px}footer span:last-child{margin:0;width:100%}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Set-aligned comparison: side values remain visible even when normalized equal. */
.diff-panel{margin:20px 0 28px;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--panel)}
.diff-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:18px 20px 0}
.diff-toolbar h3,.export-heading{margin:0;font-size:15px;font-weight:600}.diff-toolbar p{margin:7px 0 0;font-size:12px;color:var(--muted)}
.diff-toggle{display:flex;gap:8px;align-items:center;padding:10px 12px;min-height:44px;background:#243749;border-radius:8px;font-size:12px;cursor:pointer}
.diff-panel>.hint,.diff-legend{margin:12px 20px}.diff-legend{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:11px;color:var(--muted)}
.diff-legend .minus{color:#ffb5ba}.diff-legend .plus{color:#9be0ba}
.diff-table{border-collapse:collapse;width:100%;table-layout:fixed;font-size:13px}
.diff-table th{width:50%;text-align:left;padding:10px 16px;background:#203345;border-top:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--accent)}
.diff-table th span{margin-left:8px;color:var(--muted);font-size:11px;font-weight:400}
.diff-table td{padding:12px 16px;vertical-align:top;border-bottom:1px solid #2b3b4a;background:#101a23}
.diff-table th+th,.diff-table td+td{border-left:1px solid var(--border)}
.diff-row.onlyA td:first-child{background:#35242d;box-shadow:inset 3px 0 #e48a99}
.diff-row.onlyB td:last-child{background:#18382f;box-shadow:inset 3px 0 #80cfac}
.diff-meta{display:flex;gap:5px 10px;flex-wrap:wrap;font-size:10px;color:var(--muted);margin-bottom:5px}
.diff-marker{font-weight:650}.onlyA .diff-marker{color:#ffb5ba}.onlyB .diff-marker{color:#9be0ba}
.diff-value{white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.7 ui-monospace,"SFMono-Regular",Consolas,monospace}
.diff-table .diff-empty{background:#15212b;color:#91a5b8;font-size:11px}.repeat-count{padding:0 5px;border:1px solid #54647a;border-radius:4px}
@media(max-width:700px){.diff-toolbar{padding:14px 12px 0}.diff-panel>.hint,.diff-legend{margin:12px}.diff-table td,.diff-table th{padding:10px 9px}.diff-value{font-size:12px}.diff-meta{gap:3px 7px}.diff-toggle{font-size:12px}.diff-table .diff-empty{font-size:10px}}
