:root{--bg:#F5F7FB;--bg-grid:#DDE4F0;--panel:#FFFFFF;--panel-2:#F0F3F9;--line:#D8E0EE;--line-soft:#E4EAF4;--text:#17233B;--muted:#54668B;--faint:#8A99B5;--amber:#B87E0A;--amber-soft:rgba(184,126,10,.1);--amber-line:rgba(184,126,10,.45);--add:#188A4C;--add-bg:rgba(24,138,76,.09);--add-line:rgba(24,138,76,.3);--del:#C43D2B;--del-bg:rgba(196,61,43,.08);--del-line:rgba(196,61,43,.3);--chg:#1D63C9;--chg-bg:rgba(29,99,201,.1);--shadow:0 10px 30px rgba(23,35,59,.1);--radius:10px;--mono:"IBM Plex Mono",ui-monospace,monospace;--sans:"IBM Plex Sans",system-ui,sans-serif;--disp:"Space Grotesk",var(--sans)}[data-theme=dark]{--bg:#0B1220;--bg-grid:#16213A;--panel:#101A2E;--panel-2:#0D1626;--line:#1E2B47;--line-soft:#182440;--text:#E7EEF9;--muted:#8CA0BF;--faint:#5B6E8E;--amber:#F5B942;--amber-soft:rgba(245,185,66,.12);--amber-line:rgba(245,185,66,.45);--add:#43C878;--add-bg:rgba(67,200,120,.1);--add-line:rgba(67,200,120,.35);--del:#E96A55;--del-bg:rgba(233,106,85,.1);--del-line:rgba(233,106,85,.35);--chg:#5FA4F7;--chg-bg:rgba(95,164,247,.12);--shadow:0 10px 30px rgba(3,8,20,.45)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--sans);color:var(--text);background:var(--bg);background-image:radial-gradient(var(--bg-grid) 1px,transparent 1px);background-size:26px 26px;min-height:100vh;line-height:1.55}:focus-visible{outline:2px solid var(--amber);outline-offset:2px;border-radius:4px}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}.wrap{max-width:1160px;margin:0 auto;padding:0 20px}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.results{opacity:1;transform:none}}header{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft)}.bar{display:flex;align-items:center;gap:14px;height:58px}.logo{display:flex;align-items:center;gap:9px;font-family:var(--disp);font-weight:700;font-size:18px}.logo .mark{width:28px;height:28px;border-radius:8px;background:var(--panel-2);border:1px solid var(--line);display:grid;place-items:center;color:var(--text)}.mark-svg{width:18px;height:18px;display:block}.foot-brand{display:inline-flex;align-items:center;gap:7px;color:var(--muted)}.foot-brand .mark-svg{width:16px;height:16px}nav{display:flex;gap:16px}nav a{color:var(--muted);text-decoration:none;font-size:13.5px}nav a:hover{color:var(--text)}.spacer{flex:1}.privacy-pill{display:flex;align-items:center;gap:7px;font-family:var(--mono);font-size:11px;color:var(--muted);border:1px solid var(--line);border-radius:99px;padding:5px 11px;background:var(--panel-2);text-decoration:none;cursor:pointer}.privacy-pill b{color:var(--text)}.dot{width:7px;height:7px;border-radius:50%;background:var(--add);box-shadow:0 0 0 3px var(--add-bg);animation:pulse 2.4s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}.theme-btn{width:34px;height:34px;border-radius:8px;border:1px solid var(--line);background:var(--panel-2);display:grid;place-items:center}.hero{padding:34px 0 8px;display:flex;align-items:flex-end;gap:24px;flex-wrap:wrap}.hero h1{font-family:var(--disp);font-size:clamp(26px,3.6vw,36px);line-height:1.1;font-weight:700;letter-spacing:-.4px}.hero h1 em{font-style:normal;color:var(--amber)}.hero p{color:var(--muted);margin-top:6px;font-size:14.5px;max-width:56ch}.hero-badges{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}.proof{font-family:var(--mono);font-size:11px;color:var(--muted);border:1px solid var(--line);border-radius:8px;padding:6px 10px;background:var(--panel)}.proof b{color:var(--text)}.detected{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:11.5px;color:var(--muted);border:1px solid var(--line);border-radius:99px;padding:5px 12px;background:var(--panel-2);cursor:pointer}.detected b{color:var(--amber);font-weight:500}.detected .dcaret{color:var(--faint);font-size:9px}.dpulse{width:6px;height:6px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 3px var(--amber-soft);flex:none}.detected.mismatch{border-color:var(--del-line);background:var(--del-bg);color:var(--del)}.detected.mismatch b{color:var(--del)}.detected.mismatch .dpulse{background:var(--del);box-shadow:0 0 0 3px var(--del-bg)}.det-menu{width:auto;min-width:130px;padding:6px}.det-opt{display:block;width:100%;text-align:left;padding:6px 10px 6px 22px;border-radius:6px;font-family:var(--mono);font-size:12px;color:var(--muted);position:relative}.det-opt:hover{background:var(--panel-2);color:var(--text)}.det-opt[aria-current=true]{color:var(--amber)}.det-opt[aria-current=true]:before{content:"✓";position:absolute;left:8px;color:var(--amber)}.opt-pop label{display:flex;gap:9px;align-items:flex-start;padding:6px 0;color:var(--muted);cursor:pointer}.opt-pop label b{color:var(--text);font-weight:500}.opt-pop .opt-block{display:block;cursor:default}.opt-pop .note{font-size:11px;color:var(--faint);margin-top:2px}.opt-sub{text-transform:none;letter-spacing:0;color:var(--faint);font-weight:400}.opt-input{width:100%;margin-top:6px;background:var(--panel-2);border:1px solid var(--line);border-radius:7px;padding:7px 10px;color:var(--text);font-family:var(--mono);font-size:11.5px}.opt-input::placeholder{color:var(--faint)}.opt-input:focus-visible{border-color:var(--amber-line)}.tool-foot .pop{top:auto;bottom:calc(100% + 8px);left:0;right:auto}.tool{background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);margin-top:26px}.panes{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line-soft);border-radius:14px 14px 0 0;overflow:hidden}.pane{background:var(--panel);display:flex;flex-direction:column;position:relative}.pane-label{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 14px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}.pane-label .fname{color:var(--muted);text-transform:none;letter-spacing:0}.pane-tools{display:flex;align-items:center;gap:10px;min-width:0}.pane-tools .fname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:40vw}.upload-btn{flex:none;font-family:var(--mono);font-size:10.5px;text-transform:none;letter-spacing:0;color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:2px 8px;background:var(--panel-2)}.upload-btn:hover{color:var(--amber);border-color:var(--amber-line)}.pane textarea{width:100%;height:280px;resize:none;background:var(--panel-2);border:none;border-top:1px solid var(--line-soft);color:var(--text);font-family:var(--mono);font-size:12.5px;line-height:1.7;padding:12px 14px;position:relative;z-index:1}.drop-hint{position:absolute;inset:38px 8px 8px;display:grid;place-items:center;font-family:var(--mono);font-size:13px;color:var(--amber);background:color-mix(in srgb,var(--amber-soft) 55%,var(--panel));border:1.5px dashed var(--amber-line);border-radius:10px;opacity:0;pointer-events:none;transition:opacity .15s;z-index:2}.pane.dragover .drop-hint{opacity:1}.size-note{margin:0 14px 12px;font-family:var(--mono);font-size:11px;color:var(--muted);background:var(--amber-soft);border:1px solid var(--amber-line);border-radius:8px;padding:8px 12px}.tool-foot{display:flex;align-items:center;gap:8px;padding:12px 14px;border-top:1px solid var(--line-soft);flex-wrap:wrap;position:relative}.ghost-btn{font-family:var(--mono);font-size:12px;color:var(--muted);border:1px solid var(--line);border-radius:8px;padding:7px 13px;background:var(--panel)}.ghost-btn:hover{color:var(--text);border-color:var(--muted)}.compare-btn{margin-left:auto;font-family:var(--disp);font-weight:600;font-size:14.5px;color:#141414;background:var(--amber);border-radius:9px;padding:10px 22px;box-shadow:0 4px 18px #f5b94240;transition:transform .12s}.compare-btn:hover{transform:translateY(-1px)}.compare-btn[disabled]{opacity:.7;cursor:wait}.keycol{font-family:var(--mono);font-size:11.5px;color:var(--muted);display:inline-flex;align-items:center;gap:6px}.keycol select{font:inherit;color:var(--amber);background:var(--panel-2);border:1px solid var(--amber-line);border-radius:6px;padding:3px 6px}.results{margin:20px 0 40px;opacity:0;transform:translateY(10px);transition:opacity .4s,transform .4s}.results.show{opacity:1;transform:none}.summary{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.summary:empty{display:none}.stat{flex:1;min-width:120px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:12px 16px}.stat .n{font-family:var(--disp);font-size:25px;font-weight:700;line-height:1}.stat .l{font-family:var(--mono);font-size:10.5px;color:var(--muted);margin-top:5px;letter-spacing:.03em}.stat.added .n{color:var(--add)}.stat.removed .n{color:var(--del)}.stat.changed .n{color:var(--chg)}.stat.moved .n{color:var(--amber)}.stat.moved{border-color:var(--amber-line);background:linear-gradient(180deg,var(--amber-soft),transparent)}.crux{background:var(--panel);border:1px solid var(--amber-line);border-radius:12px;box-shadow:var(--shadow);margin-bottom:12px;overflow:hidden}.crux-head{display:flex;align-items:center;gap:10px;padding:9px 16px;background:var(--amber-soft);border-bottom:1px solid var(--amber-line);font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--amber)}.crux-body{display:flex;flex-wrap:wrap;gap:0;padding:6px 8px}.finding{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12px;color:var(--muted);padding:6px 10px;margin:2px;border-radius:7px}.finding:hover{background:var(--panel-2)}.finding .fk{flex:none;font-size:9.5px;font-weight:600;letter-spacing:.05em;border-radius:4px;padding:1px 6px;text-transform:uppercase}.fk.mv{color:var(--amber);background:var(--amber-soft);border:1px solid var(--amber-line)}.fk.ad{color:var(--add);background:var(--add-bg)}.fk.rm{color:var(--del);background:var(--del-bg)}.fk.ch{color:var(--chg);background:var(--chg-bg)}.fk.wn{color:var(--amber);background:var(--amber-soft)}.fk.ok{color:var(--faint);background:var(--panel-2)}.finding b{color:var(--text);font-weight:500}.finding .old{color:var(--del);text-decoration:line-through}.finding .new{color:var(--add)}.view-bar{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap;position:relative}.seg{display:flex;background:var(--panel-2);border:1px solid var(--line);border-radius:9px;padding:3px}.seg button{padding:6px 14px;border-radius:6px;font-family:var(--mono);font-size:12px;color:var(--muted)}.seg button[aria-pressed=true]{background:var(--panel);color:var(--text);border:1px solid var(--line)}.seg-hint{font-size:11.5px;color:var(--muted);font-family:var(--mono)}.chip-toggle{font-family:var(--mono);font-size:11.5px;color:var(--muted);border:1px solid var(--line);border-radius:99px;padding:5px 12px;background:var(--panel-2)}.chip-toggle[aria-pressed=true]{color:var(--amber);border-color:var(--amber-line);background:var(--amber-soft)}.share-mode{padding:6px 0;color:var(--muted);font-size:12.5px}.share-mode b{color:var(--text);font-weight:500}.view-actions{margin-left:auto;display:flex;gap:8px;position:relative}.diff-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden;position:relative}.diff-body{font-family:var(--mono);font-size:12.6px;line-height:1.85;padding:10px 0;position:relative}.sxs{display:grid;grid-template-columns:44px 1fr 34px 44px 1fr;position:relative}.sxs-hdr{grid-column:1/-1;display:grid;grid-template-columns:subgrid;border-bottom:1px solid var(--line-soft);margin-bottom:4px}.sxs-hdr .h{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);padding:4px 12px 8px}.sxs-row{display:grid;grid-column:1/-1;grid-template-columns:subgrid;align-items:stretch}.c{white-space:pre;padding:0 12px;border-radius:3px;overflow-x:auto}.lnc{text-align:right;padding-right:10px;color:var(--faint);font-size:10.5px;user-select:none;padding-top:2px}.gut{position:relative}.c.ctx{color:var(--text)}.c.del{background:var(--del-bg);color:var(--del)}.c.add{background:var(--add-bg);color:var(--add)}.c.sp{background:repeating-linear-gradient(45deg,transparent,transparent 5px,var(--line-soft) 5px,var(--line-soft) 6px);opacity:.5}.c.mvL{background:var(--amber-soft);border:1px dashed var(--amber-line);border-radius:7px;color:var(--amber);font-size:11.5px;white-space:normal;padding:5px 12px;margin:3px 0}.c.mvR{background:var(--amber-soft);color:var(--text);border-left:3px solid var(--amber)}.c.mvHead{background:var(--amber-soft);color:var(--amber);font-size:10.5px;border-left:3px solid var(--amber);border-bottom:1px dashed var(--amber-line);white-space:normal;padding:4px 12px}.c.mvHeadL{background:var(--amber-soft);color:var(--amber);font-size:10.5px;border-right:3px solid var(--amber);border-bottom:1px dashed var(--amber-line);white-space:normal;padding:4px 12px}.c.mvOrig{background:var(--amber-soft);color:var(--muted);border-right:3px solid var(--amber)}.c .hlOld{background:var(--del-bg);color:var(--del);text-decoration:line-through;border-radius:3px;padding:0 3px}.c .hlNew{background:var(--add-bg);color:var(--add);border-radius:3px;padding:0 3px}.c .hlChg{background:var(--chg-bg);color:var(--chg);border-radius:3px;padding:0 3px;font-weight:600}.c .warnb{font-size:10px;color:var(--amber);border:1px solid var(--amber-line);border-radius:4px;padding:0 5px;margin-left:8px}#ribbon{position:absolute;inset:0;pointer-events:none;overflow:visible;width:100%;height:100%}#ribbon path{fill:none;stroke:var(--amber);stroke-width:2;stroke-linecap:round;stroke-dasharray:6 6}#ribbon .draw{stroke-dasharray:1200;stroke-dashoffset:1200;animation:draw 1.1s .25s ease forwards}@keyframes draw{to{stroke-dashoffset:0}}#ribbon circle{fill:var(--amber)}.cap{margin:10px 16px 6px;font-size:11.5px;color:var(--muted);border-top:1px dashed var(--line);padding-top:10px;grid-column:1/-1}.scope-note{margin:12px 16px;font-family:var(--mono);font-size:11px;color:var(--muted);background:var(--panel-2);border:1px solid var(--line-soft);border-radius:8px;padding:8px 12px;line-height:1.6}.scope-note b{color:var(--text)}.diff-body.wrap .c,.diff-body.wrap .code{white-space:pre-wrap;overflow-wrap:anywhere;overflow-x:visible}.prose-diff{padding:16px 18px;white-space:pre-wrap;word-break:break-word;font-family:var(--sans);font-size:14px;line-height:1.75;color:var(--text)}.prose-diff .hlOld{background:var(--del-bg);color:var(--del);text-decoration:line-through;border-radius:3px;padding:0 2px}.prose-diff .hlNew{background:var(--add-bg);color:var(--add);border-radius:3px;padding:0 2px}.cellrow{display:flex;gap:6px;flex-wrap:wrap;padding:4px 12px;align-items:center}.cl{border:1px solid var(--line);border-radius:6px;padding:2px 9px;font-size:11.5px;color:var(--muted);background:var(--panel-2)}.cl b{color:var(--text);font-weight:500}.cl.chg{border-color:var(--chg);background:var(--chg-bg)}.cl.chg b{color:var(--chg)}.rowdel .cl{border-color:var(--del-line);background:var(--del-bg);opacity:.85}.rowadd .cl{border-color:var(--add-line);background:var(--add-bg)}.keyc{font-size:10.5px;color:var(--faint);border:1px solid var(--line);border-radius:5px;padding:1px 7px;align-self:center;justify-self:center;margin:2px 0}.code-line{display:flex;padding:0 16px 0 0}.code-line .ln{width:50px;flex:none;text-align:right;padding-right:14px;color:var(--faint);user-select:none;font-size:11px}.code-line .code{white-space:pre;flex:1;border-radius:3px}.code-line.add{background:var(--add-bg)}.code-line.add .code{color:var(--add)}.code-line.del{background:var(--del-bg)}.code-line.del .code{color:var(--del)}.ghost-origin{margin:5px 16px 5px 50px;border:1px dashed var(--amber-line);border-radius:8px;padding:5px 12px;color:var(--amber);font-size:11.5px;background:var(--amber-soft)}.moved-block{margin:5px 16px 5px 50px;border:1px solid var(--amber-line);border-left:3px solid var(--amber);border-radius:8px;background:var(--amber-soft);overflow:hidden}.moved-block .mb-head{display:flex;gap:8px;align-items:center;padding:5px 12px;font-size:11px;color:var(--amber);border-bottom:1px dashed var(--amber-line)}.mb-tag{border:1px solid var(--amber-line);border-radius:4px;padding:0 6px;font-weight:600}.moved-block .code-line .ln{width:42px}.edit-old{background:var(--del-bg);color:var(--del);text-decoration:line-through;border-radius:3px;padding:0 3px}.edit-new{background:var(--add-bg);color:var(--add);border-radius:3px;padding:0 3px}.pop{position:absolute;top:calc(100% + 8px);right:0;width:300px;max-width:calc(100vw - 32px);background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:14px;z-index:50;display:none;font-size:12.5px}.pop.open{display:block}.pop h5{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin-bottom:10px}.pop label{display:flex;gap:9px;align-items:flex-start;padding:6px 0;color:var(--muted);cursor:pointer}.pop label b{color:var(--text);font-weight:500}.pop .note{font-size:11px;color:var(--faint);margin-top:2px}.pop .cta{width:100%;margin-top:10px;background:var(--amber);color:#141414;font-weight:600;border-radius:8px;padding:9px 0;font-family:var(--disp)}.pop .exp-item{display:block;width:100%;text-align:left;padding:8px 10px;border-radius:7px;color:var(--muted)}.pop .exp-item:hover{background:var(--panel-2);color:var(--text)}#toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,20px);opacity:0;background:var(--panel);border:1px solid var(--amber-line);border-radius:10px;padding:11px 18px;font-family:var(--mono);font-size:12.5px;box-shadow:var(--shadow);transition:all .3s;z-index:60;max-width:92vw;text-align:center}#toast.on{opacity:1;transform:translate(-50%)}#toast .k{color:var(--amber)}footer{border-top:1px solid var(--line-soft);padding:24px 0 40px;color:var(--muted);font-size:12.5px}.foot-grid{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.foot-grid a{color:var(--muted);text-decoration:none}.foot-grid a:hover{color:var(--text)}.promo-slot{display:block;margin:34px auto 26px}.promo{position:relative;display:flex;align-items:center;gap:20px;box-sizing:border-box;min-height:104px;max-width:640px;margin:0 auto;padding:14px 22px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);color:var(--text);text-decoration:none;transition:border-color .2s}.promo:hover,.promo:focus-visible{border-color:var(--amber-line)}.promo-chip{position:absolute;top:9px;right:11px;font-family:var(--mono);font-size:8.5px;font-weight:600;letter-spacing:.14em;color:var(--faint);background:var(--panel-2);border:1px solid var(--line-soft);border-radius:4px;padding:3px 6px}.promo-art{flex:none;display:flex;align-items:center}.promo-copy{flex:1;min-width:0;display:block}.promo-dom{display:block;font-family:var(--mono);font-weight:500;font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--amber);margin-bottom:5px}.promo-head{display:block;font-family:var(--disp);font-weight:700;font-size:17.5px;line-height:1.15;color:var(--text);text-wrap:balance}.promo-sub{display:block;font-size:11.5px;line-height:1.4;color:var(--muted);margin-top:4px}.promo-cta{flex:none;font-family:var(--mono);font-weight:600;font-size:11px;white-space:nowrap;color:var(--amber);background:var(--amber-soft);border:1px solid var(--amber-line);border-radius:8px;padding:9px 13px}.promo-diff{display:block;font-family:var(--mono);font-size:13px;line-height:1.5;border-radius:8px;overflow:hidden;border:1px solid var(--line-soft)}.promo-diff .row{display:block;padding:3px 14px 3px 10px;white-space:nowrap}.promo-diff .sg{display:inline-block;width:15px;opacity:.75}.promo-diff .del{color:var(--del);background:var(--del-bg)}.promo-diff .add{color:var(--add);background:var(--add-bg);font-weight:600}@media (max-width:860px){.panes{grid-template-columns:1fr}nav{display:none}.privacy-pill span.long{display:none}.hero-badges{margin-left:0}.sxs{grid-template-columns:30px 1fr 20px 30px 1fr;font-size:11px}.pane-tools .fname{max-width:48vw}.tool-foot{gap:6px}.tool-foot .pop{width:auto;min-width:0;left:0;right:0;max-width:none}.compare-btn{margin-left:0;width:100%}.view-bar .seg{flex-wrap:wrap}}@media (max-width:640px){.promo{gap:14px;padding:14px 16px}.promo-cta{display:none}.promo-art svg{width:84px;height:auto}.promo-diff{font-size:12px}}
