:root{
  --bg:#dde2e7; --panel:#f7f9fa; --panel2:#eef1f4; --ink:#17202a; --muted:#5d6874; --line:#cbd2da;
  --accent:#0b6e69; --accentInk:#ffffff;
  --del:#b42318; --delBg:#fde6e3; --ins:#11703a; --insBg:#dcf3e3; --lbl:#8c5a00; --lblBg:#fff1cc; --hdr:#5a3ea6;
  --paper:#ffffff; --paperInk:#101418;
  box-sizing:border-box; padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
  color-scheme:light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#10151b; --panel:#171e26; --panel2:#1e2731; --ink:#dce3ea; --muted:#8e9baa; --line:#2a3542;
    --accent:#3fb8ae; --accentInk:#06201e; --lbl:#e2b04a; --hdr:#b39ddb;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#10151b; --panel:#171e26; --panel2:#1e2731; --ink:#dce3ea; --muted:#8e9baa; --line:#2a3542;
  --accent:#3fb8ae; --accentInk:#06201e; --lbl:#e2b04a; --hdr:#b39ddb;
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:inherit}
html{height:100%;scroll-padding-top:env(safe-area-inset-top,0px)}
body{height:100%;margin:0;background:var(--bg);color:var(--ink);overflow:hidden;
  font:13px/1.45 "IBM Plex Sans","Segoe UI",system-ui,sans-serif;font-variant-numeric:tabular-nums}
button,select,input{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.app{display:grid;grid-template-rows:auto auto minmax(0,1fr);height:100%}

/* bar */
.bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:10px 16px;background:var(--panel);border-bottom:1px solid var(--line)}
.logo{font:600 17px/1 "IBM Plex Serif",Georgia,serif;display:flex;align-items:center;gap:8px}
.logo i{display:inline-block;width:18px;height:18px;border-radius:3px;background:linear-gradient(90deg,var(--del) 0 50%,var(--ins) 50% 100%)}
.pair{display:flex;align-items:stretch;gap:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--panel2)}
.src{display:flex;flex-direction:column;justify-content:center;padding:5px 10px;min-width:200px;max-width:280px;cursor:pointer;position:relative}
.src.drag{background:rgba(11,110,105,.12)}
.src small{color:var(--muted);font-size:11px}
.src .nm{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.src .nm.none{font-weight:400;color:var(--muted);font-style:italic}
.src .pk{display:flex;gap:6px;margin-top:2px}
.src .pk button{border:0;background:none;padding:0;color:var(--accent);cursor:pointer;font-size:12px;text-decoration:underline;text-underline-offset:2px}
.src.base{border-left:4px solid var(--del)} .src.rev{border-left:4px solid var(--ins)}
.arrow{display:flex;align-items:center;padding:0 4px;color:var(--muted);font-size:16px;border-left:1px solid var(--line);border-right:1px solid var(--line)}
.run{background:var(--accent);color:var(--accentInk);border:0;border-radius:8px;padding:9px 18px;font-weight:600;cursor:pointer}
.run:disabled{opacity:.4;cursor:not-allowed}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.seg button{border:0;background:transparent;padding:6px 11px;cursor:pointer;color:var(--muted)}
.seg button[aria-pressed="true"]{background:var(--ink);color:var(--panel)}
.tog{display:flex;align-items:center;gap:5px;color:var(--muted);cursor:pointer}
.status{color:var(--muted);flex:1;min-width:120px;text-align:right}
.status b{color:var(--ink)}

/* body */
.main{display:grid;grid-template-columns:300px minmax(0,1fr) 330px;min-height:0}
.index{background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0}
.ix-h{padding:10px 12px;display:flex;flex-direction:column;gap:8px;border-bottom:1px solid var(--line)}
.ix-h input{border:1px solid var(--line);background:var(--paper);color:var(--paperInk);border-radius:6px;padding:6px 9px}
.flt{display:flex;flex-wrap:wrap;gap:4px}
.flt button{border:1px solid var(--line);background:transparent;border-radius:14px;padding:2px 10px;cursor:pointer;color:var(--muted);font-size:12px}
.flt button[aria-pressed="true"]{border-color:var(--accent);color:var(--accent);font-weight:600}
.ix-b{flex:1;overflow:auto;padding-bottom:24px}
.cat{display:flex;align-items:center;gap:6px;width:100%;border:0;border-top:1px solid var(--line);background:var(--panel2);padding:8px 12px;cursor:pointer;text-align:left;font:600 12.5px/1.2 "IBM Plex Serif",Georgia,serif;color:var(--ink)}
.cat:first-child{border-top:0}
.cat .chev{width:12px;color:var(--muted);font-family:"IBM Plex Sans",sans-serif}
.cat .cn{flex:1}
.cat .cb{font:600 11px "IBM Plex Sans",sans-serif;color:var(--muted)}
.ri{display:flex!important;align-items:flex-start;gap:8px}
.ri .t{flex:1;min-width:0}
.rb{flex:none;min-width:24px;padding:1px 7px;border-radius:10px;font-size:11px;font-weight:700;text-align:center;background:var(--lblBg);color:#6b4500;margin-top:1px}
.rb.right{background:var(--insBg);color:#0d5a2e}.rb.left,.rb.error{background:var(--delBg);color:#8e1b12}
.cc{display:inline-flex;gap:4px;align-items:baseline;padding:2px 9px;border-radius:12px;font-size:12px;margin-left:6px}
.cc b{font-weight:700}
.cc.v{background:var(--lblBg);color:#6b4500}.cc.a{background:var(--insBg);color:#0d5a2e}.cc.d{background:var(--delBg);color:#8e1b12}
.status .muted{margin-left:8px}
.rcounts{display:flex;gap:0;margin-left:-6px}
.ri{display:block;width:100%;text-align:left;border:0;background:transparent;padding:6px 12px 7px 14px;cursor:pointer;border-left:3px solid transparent}
.ri:hover{background:var(--panel2)}
.ri[aria-current="true"]{background:var(--panel2);border-left-color:var(--accent)}
.ri .t{display:block;line-height:1.3}
.ri .m{display:flex;gap:6px;align-items:center;margin-top:3px;font-size:11px;color:var(--muted)}
.cnt{font-weight:600}.cnt.v{color:var(--lbl)}.cnt.a{color:var(--ins)}.cnt.d{color:var(--del)}
.tag{border:1px solid currentColor;border-radius:3px;padding:0 4px;font-size:10px}
.tag.add{color:var(--ins)}.tag.rem{color:var(--del)}.tag.how{color:var(--muted)}
.ri.same .t{color:var(--muted)}

.docwrap{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;min-width:0}
.dh{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:10px 16px;background:var(--panel);border-bottom:1px solid var(--line)}
.dh h1{margin:0;font:600 16px/1.25 "IBM Plex Serif",Georgia,serif;flex:1 1 320px;min-width:0}
.dh .files{color:var(--muted);font-size:12px;width:100%}
.stepper{display:flex;align-items:center;gap:4px}
.stepper button{border:1px solid var(--line);background:var(--panel2);border-radius:6px;width:30px;height:28px;cursor:pointer}
.stepper button:disabled{opacity:.35;cursor:default}
.stepper span{min-width:84px;text-align:center;color:var(--muted)}
.docarea{display:grid;grid-template-columns:minmax(0,1fr) 14px;min-height:0}
.doc{overflow:auto;background:var(--paper);min-height:0}
.strip{background:var(--panel2);border-left:1px solid var(--line);position:relative;cursor:pointer}
.strip i{position:absolute;left:2px;right:2px;height:3px;border-radius:1px}
.strip i.v{background:var(--lbl)}.strip i.a{background:var(--ins)}.strip i.d{background:var(--del)}.strip i.h{background:var(--hdr)}
.strip i.on{left:0;right:0;height:5px;outline:1px solid var(--ink)}
.strip .vp{position:absolute;left:0;right:0;background:rgba(23,32,42,.10);pointer-events:none}

.insp{background:var(--panel);border-left:1px solid var(--line);overflow:auto;min-height:0;padding:14px 16px 30px}
.insp h4{margin:18px 0 6px;font:600 13px/1.2 "IBM Plex Serif",Georgia,serif}
.kind{display:inline-block;font-weight:600;font-size:12px;border-radius:4px;padding:1px 7px;color:#fff}
.kind.v{background:var(--lbl)}.kind.a{background:var(--ins)}.kind.d{background:var(--del)}.kind.h{background:var(--hdr)}
.il{font-weight:600;margin:6px 0 10px;font-size:14px}
.vals{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.vb{border-radius:6px;padding:7px 9px;min-width:0}
.vb span{display:block;font-size:11px;color:var(--muted)}
.vb b{display:block;font-weight:600;word-break:break-word;max-height:9em;overflow:auto;color:var(--paperInk)}
.vb.o{background:var(--delBg);border-left:3px solid var(--del)}
.vb.n{background:var(--insBg);border-left:3px solid var(--ins)}
.dl{margin-top:8px;font-weight:600}
.dl.up{color:var(--ins)}.dl.dn{color:var(--del)}
.ctx{margin-top:6px;color:var(--muted)}
.pt{width:100%;border-collapse:collapse}
.pt td{padding:4px 0;border-bottom:1px solid var(--line);vertical-align:top}
.pt td:first-child{color:var(--muted);width:88px;padding-right:8px}
.pt td:last-child{word-break:break-word}
.pt del{color:var(--del)}.pt ins{color:var(--ins);text-decoration:none}
.ledger{list-style:none;margin:0;padding:0;counter-reset:n}
.ledger li{counter-increment:n;display:flex;gap:8px;padding:4px 6px;border-radius:4px;cursor:pointer}
.ledger li::before{content:counter(n);color:var(--muted);min-width:22px;text-align:right}
.ledger li:hover{background:var(--panel2)}
.ledger li.on{background:var(--panel2);box-shadow:inset 3px 0 0 var(--accent)}
.ledger .lt{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ledger .dot{width:8px;height:8px;border-radius:50%;flex:none;margin-top:5px}
.dot.v{background:var(--lbl)}.dot.a{background:var(--ins)}.dot.d{background:var(--del)}.dot.h{background:var(--hdr)}
.muted{color:var(--muted)}

.hello{max-width:560px;margin:48px auto;padding:0 24px;color:#3d4753;font-size:14px}
.hello h2{font:600 22px/1.25 "IBM Plex Serif",Georgia,serif;color:#101418;margin:0 0 10px}
.hello .demo{margin:18px 0;padding:12px 14px;border:1px solid #d9dee4;border-radius:8px;font:13px "IBM Plex Sans",sans-serif}

/* ---- theme: matches the XML Edge "Output Generation" screens ---- */
:root{
  --bg:#f5f6fa; --panel:#ffffff; --panel2:#f5f6fa; --ink:#1f2433; --muted:#6b7285; --line:#e4e6ef;
  --accent:#4541a8; --accentInk:#ffffff; --indigo:#4541a8; --indigoSoft:#eeedfb; --orange:#f5a623; --coral:#f06a6a;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#11131c; --panel:#181b27; --panel2:#1f2332; --ink:#e6e8f0; --muted:#9aa1b5; --line:#2b3043;
    --accent:#8f8cf0; --accentInk:#11131c; --indigo:#8f8cf0; --indigoSoft:#26264a; color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#11131c; --panel:#181b27; --panel2:#1f2332; --ink:#e6e8f0; --muted:#9aa1b5; --line:#2b3043;
  --accent:#8f8cf0; --accentInk:#11131c; --indigo:#8f8cf0; --indigoSoft:#26264a; color-scheme:dark;
}
body,button,input,select,.logo,.cat,.cat .chev,.cat .cb,.dh h1,.insp h4,.hello h2{font-family:Inter,"Segoe UI",system-ui,-apple-system,sans-serif!important}
body{background:var(--bg);font-size:13px}
.bar{background:var(--panel);border-bottom:1px solid var(--line);padding:12px 20px}
.logo{font-size:20px;font-weight:600;color:var(--ink)}
.pair{background:var(--panel2);border:1px solid var(--line);border-radius:22px;overflow:hidden}
.src{padding:6px 16px}
.src.base{border-left:0}.src.rev{border-left:0}
.src small{color:var(--muted);font-size:11px}
.src .nm{font-weight:600;color:var(--ink)}
.src .pk button{color:var(--indigo);font-weight:500}
.arrow{border-color:var(--line);color:var(--muted)}
.run{background:var(--indigo);color:#fff;border-radius:6px;padding:9px 20px;font-weight:600;box-shadow:0 1px 2px rgba(69,65,168,.25)}
.seg{border:1px solid var(--indigo);border-radius:6px}
.seg button{color:var(--indigo);font-weight:500;padding:6px 14px}
.seg button[aria-pressed="true"]{background:var(--indigo);color:#fff}
.tog{color:var(--muted)}
.cc{border-radius:14px;font-weight:500}
.cc.v{background:#fff4e0;color:#b36b00}.cc.a{background:#e6f6ec;color:#1d7a43}.cc.d{background:#fdecec;color:#c8413f}
.main{background:var(--bg)}
.index{background:var(--panel);border-right:1px solid var(--line)}
.ix-h{gap:10px;padding:14px}
.ix-h input{border:1px solid var(--line);border-radius:6px;padding:7px 10px;background:var(--panel);color:var(--ink)}
.rnav button{background:var(--panel);border:1px solid var(--indigo);color:var(--indigo);border-radius:6px;font-weight:500}
.rnav button:disabled{border-color:var(--line);color:var(--muted)}
.flt button{border:1px solid var(--line);border-radius:14px;color:var(--muted);background:var(--panel);padding:3px 11px}
.flt button[aria-pressed="true"]{border-color:var(--indigo);background:var(--indigoSoft);color:var(--indigo);font-weight:600}
.cat{background:var(--panel2);border-top:1px solid var(--line);font-weight:600;font-size:12.5px;color:var(--ink);padding:9px 14px}
.cat .chev,.cat .cb{color:var(--muted)}
.ri{padding:8px 14px 8px 16px;border-left:3px solid transparent}
.ri:hover{background:var(--panel2)}
.ri[aria-current="true"]{background:var(--indigoSoft);border-left-color:var(--indigo)}
.ri[aria-current="true"] .t{color:var(--indigo);font-weight:600}
.rb{border-radius:10px;font-weight:600}
.rb:not(.left):not(.right){background:#fff4e0;color:#b36b00}
.rb.left{background:#fdecec;color:#c8413f}.rb.right{background:#e6f6ec;color:#1d7a43}
.dh{background:var(--panel);border-bottom:1px solid var(--line);padding:12px 20px}
.dh h1{font-size:17px;font-weight:600;color:var(--ink)}
.stepper button{background:var(--panel);border:1px solid var(--indigo);color:var(--indigo);border-radius:6px}
.stepper button:disabled{border-color:var(--line);color:var(--muted)}
.two{background:var(--line)}
.ph{background:var(--panel2);border-bottom:1px solid var(--line);padding:7px 14px}
.ph.s b{color:var(--coral)}.ph.r b{color:#1d7a43}
.insp{background:var(--panel);border-left:1px solid var(--line);padding:16px 18px 30px}
.insp h4{font-size:13px;font-weight:600;color:var(--ink)}
.kind{border-radius:12px;padding:2px 10px;font-weight:600}
.kind.v{background:var(--orange)}.kind.a{background:#2fa35f}.kind.d{background:var(--coral)}
.vb{border-radius:8px}
.vb.o{background:#fdecec;border-left:3px solid var(--coral)}
.vb.n{background:#e6f6ec;border-left:3px solid #2fa35f}
.pt td{border-bottom:1px solid var(--line)}

/* ---- theme v2: XML Edge tagging screen (toolbar buttons, tabs, tree badges) ---- */
:root{--bg:#f4f5f9;--panel:#ffffff;--panel2:#f7f8fb;--ink:#22263a;--muted:#6c7285;--line:#e3e5ee;--accent:#4541a8;--coral:#f06a6a}
body{background:var(--bg)}
.bar{padding:10px 20px;gap:10px 12px;border-bottom:1px solid var(--line)}
.logo{color:var(--accent);font-size:16px;font-weight:600}
.pair{border-radius:4px;background:var(--panel);border:1px solid var(--line)}
.src{padding:5px 14px}
.src .pk button{color:var(--accent);text-decoration:none;border:1px solid var(--accent);border-radius:4px;padding:1px 8px;font-size:11.5px;margin-top:2px}
.src .pk button:hover{background:var(--accent);color:#fff}
.arrow{background:var(--panel2)}
.run{height:32px;display:inline-flex;align-items:center;gap:6px;border-radius:4px;padding:0 16px;font-size:13px;font-weight:500;background:var(--accent);box-shadow:none}
.run:hover:not(:disabled){background:#38348f}
.seg{border:0;gap:6px;border-radius:0}
.seg button{height:32px;border:1px solid var(--accent);border-radius:4px;background:var(--panel);color:var(--accent);padding:0 14px;font-size:13px;font-weight:500}
.seg button:hover{background:#f1f0fb}
.seg button[aria-pressed="true"]{background:var(--accent);color:#fff}
.fstrip{padding:8px 20px}
.fsel select{height:28px;border-radius:4px}
.pill{border-radius:4px;height:28px}
.fclear{height:28px;border-radius:4px}
.index{border-right:1px solid var(--line)}
.rnav button{border-radius:4px;height:30px}
.flt button{border-radius:4px}
.cat{background:var(--panel);border-top:1px solid var(--line);font-weight:600;color:var(--ink)}
.ri{align-items:center!important;gap:8px;padding:6px 12px 6px 22px}
.ri::before{content:"R";flex:none;width:18px;height:18px;border-radius:50%;background:#8b87e6;color:#fff;font:600 10px/18px Inter,sans-serif;text-align:center}
.ri.left::before{background:var(--coral)}.ri.right::before{background:#2fa35f}
.ri .t{line-height:1.35}
.rb{border-radius:3px!important;min-width:18px;padding:1px 5px;font-size:10.5px;border:0}
.rb:not(.left):not(.right){background:#eeedfb!important;color:#4541a8!important;border:1px solid #c9c6f1!important}
.ri[aria-current="true"]{background:#efeefb}
.dh{padding:10px 20px}
.dh h1{color:var(--accent);font-size:15px;font-weight:600}
.stepper button{border-radius:4px;height:30px}
.ph{background:var(--panel);border-bottom:1px solid var(--line);font-size:12px}
.ph b{text-transform:uppercase;letter-spacing:.05em;font-size:11px}
.insp{padding:0!important;display:flex;flex-direction:column}
.itabs{display:flex;gap:24px;padding:0 18px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--panel);z-index:2}
.itabs button{border:0;background:none;padding:12px 0 10px;font-size:14px;font-weight:500;color:var(--muted);border-bottom:2px solid transparent;cursor:default}
.itabs button.on{color:var(--accent);border-bottom-color:var(--accent)}
.ibody{padding:14px 18px 30px}
.kind{border-radius:3px}

/* ---- compact header: one slim line ---- */
.bar{padding:6px 16px!important;gap:8px 12px!important;min-height:0}
.logo{font-size:15px!important}
.pair{height:34px;align-items:stretch}
.src{flex-direction:row!important;align-items:center!important;gap:8px;padding:0 10px!important;min-width:0!important;max-width:320px}
.src small{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em}
.src .nm{max-width:150px}
.src .pk{margin:0!important}
.src .pk button{margin-top:0!important;padding:1px 7px!important;font-size:11px!important}
.run{height:30px!important;padding:0 14px!important}
.fstrip{padding:6px 16px!important;gap:6px!important}
.frow{gap:10px 12px!important}
.fsel{gap:6px}
.fsel select{min-width:104px!important;height:26px!important}
.fclear{height:26px!important}
.fstrip .seg button{height:26px!important;padding:0 11px!important}
.pill{height:26px!important;padding:2px 10px!important}

/* report documents: SEC viewer defaults; each zip's own report.css / inline styles load on top, scoped per side */
.rpt{font:13px Arial,Helvetica,sans-serif;color:#000;background:#fff;padding:12px 14px 40px;min-width:min-content}
.rpt table.report{border:2px solid #acc9f5;border-collapse:separate;border-spacing:2px;margin-bottom:14px;background:#fff}
.rpt table.report th{background:#acc9f5;color:#000;font-weight:bold;text-align:center;padding:2px 6px;vertical-align:bottom}
.rpt table.report th.tl{vertical-align:middle}
.rpt table.report td{padding:1px 4px;vertical-align:top}
.rpt td.pl{text-align:left;min-width:200px;max-width:320px}
.rpt td.nump,.rpt td.num{text-align:right;white-space:nowrap}
.rpt td.text{text-align:left;max-width:900px}
.rpt tr.re>td,.rpt tr.reu>td,.rpt tr.rh>td{background:#dceafb}
.rpt tr.ro>td,.rpt tr.rou>td{background:#fff}
.rpt tr.rh>td{font-weight:bold}
.rpt img{max-width:100%;height:auto}
.rpt a{color:inherit;text-decoration:none}
.rpt .authRefData,.rpt .hide{display:none}
.rpt tr.pdates>td{background:#fbf6e3!important;font-size:11px;padding:2px 6px}
.rpt tr.pdates>td.pdl{font-style:italic;color:#6b5a1e;text-align:right}
.rpt tr.pdates>td.pdv{text-align:right;white-space:nowrap;font-weight:bold;color:#3d3413}
.rpt tr.pdates{display:none!important}   /* start / end dates are worked out and used for column matching, but not shown */
#paneS .rpt .mMod,#two.m-both .rpt .mMod{background:#fff1cc!important;box-shadow:inset 0 0 0 1px #e2b54c}
#paneS .rpt .mAdd,#two.m-both .rpt .mAdd,#paneS .rpt tr.rAdd>td,#two.m-both .rpt tr.rAdd>td{background:#dcf3e3!important;box-shadow:inset 0 0 0 1px #8fcfa3}
#paneS .rpt .mDel,#two.m-both .rpt .mDel,#paneS .rpt tr.rDel>td,#two.m-both .rpt tr.rDel>td{background:#fde6e3!important;box-shadow:inset 0 0 0 1px #eba69e}
#paneS .rpt tr.rDel>td,#two.m-both .rpt tr.rDel>td{color:#8e1b12}
.rpt .cur{outline:2px solid #0b6e69!important;outline-offset:-2px}
.pp{position:fixed;z-index:50;width:min(600px,94vw);max-height:68vh;display:flex;flex-direction:column;background:#dceafb;border:2px solid #2d3f8e;font:13px/1.4 Arial,Helvetica,sans-serif;color:#000;box-shadow:0 10px 28px rgba(0,0,0,.28)}
.pp-h{background:#2d3f8e;color:#fff;display:flex;align-items:center;gap:8px;padding:3px 4px 3px 8px;font-weight:bold}
.pp-h span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pp-h button{background:none;border:0;color:#fff;font:bold 15px Arial;cursor:pointer;padding:0 6px}
.pp-b{overflow:auto;padding:2px 10px 12px}
.pp h5{margin:10px 0 3px;font-size:13px;display:flex;align-items:center;gap:8px}
.pp h5.chg{background:#fff1cc;margin-left:-4px;padding:1px 4px}
.pp .tg{font-size:10.5px;font-weight:bold;border-radius:8px;padding:0 7px;background:#e2b54c;color:#3d2a00}
.pp .tg.a{background:#8fcfa3;color:#0d3d1e}.pp .tg.d{background:#eba69e;color:#5b120c}
.pp .refs{white-space:pre-wrap}
.pp .refs div{padding:0 3px}
.pp table{border-collapse:collapse;width:100%}
.pp th{text-align:left;font-size:11.5px;color:#2d3f8e;padding:2px 6px;border-bottom:1px solid #9bb8e3}
.pp td{padding:2px 6px;border-bottom:1px solid #bcd3ef;vertical-align:top;word-break:break-word}
.pp td:first-child{font-weight:bold;white-space:nowrap;width:1%}
.pp tr.chg td{background:#fff1cc}
.pp del{color:#b42318;background:#fde6e3;text-decoration:line-through}
.pp ins{color:#11703a;background:#dcf3e3;text-decoration:none}
.pp .side{font-size:11px;color:#4a5a7a;margin-top:6px}
.pp-h em{font-style:normal;font-weight:normal;font-size:11px;background:rgba(255,255,255,.18);border-radius:8px;padding:0 7px}
.pp details.ps{margin-top:6px}
.pp details.ps>summary{list-style:none;cursor:pointer;font-weight:bold;padding:1px 3px}
.pp details.ps>summary::-webkit-details-marker{display:none}
.pp details.ps>summary::before{content:"+ "}
.pp details.ps[open]>summary::before{content:"- "}
.pp details.ps[open]>summary{background:#ffffcc}
.pp details.ps>summary:focus-visible{outline:2px solid #2d3f8e}
.pp .pc{padding:3px 3px 2px}
.pp .pc td:first-child{white-space:nowrap}


.main{grid-template-columns:400px minmax(0,1fr) 320px!important}
#files,#colmap{display:none!important}
#syncWrap[hidden]{display:none!important}
.pair[hidden],.run[hidden]{display:none!important}
.index{grid-column:1}.panes{grid-column:2;position:relative}.insp{grid-column:3}
.main.noL{grid-template-columns:0 minmax(0,1fr) 320px!important}
.main.noR{grid-template-columns:400px minmax(0,1fr) 0!important}
.main.noL.noR{grid-template-columns:0 minmax(0,1fr) 0!important}
.main.noL .index,.main.noR .insp{display:none}
.edge{position:absolute;top:50%;z-index:30;width:18px;height:36px;margin-top:-18px;border:1px solid var(--line);background:var(--panel);color:var(--muted);cursor:pointer;font-size:14px;line-height:1;padding:0;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.edge:hover{color:var(--accent);border-color:var(--accent)}
.edge.el{left:-1px;border-radius:0 8px 8px 0}
.edge.er{right:-1px;border-radius:8px 0 0 8px}
.fstrip{display:grid;gap:8px;padding:8px 20px 10px;background:var(--panel);border-bottom:1px solid var(--line)}
.frow{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.fsel{display:flex;align-items:center;gap:8px}
.fsel span{font-size:10.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.fsel select{min-width:130px;border:1px solid var(--line);border-radius:4px;padding:4px 6px;background:var(--panel);color:var(--ink);font-size:12px}
.pills{display:flex;gap:6px;flex-wrap:wrap}
.pill{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:16px;padding:4px 12px;font-size:12px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.pill b{font-weight:600;font-size:11px;border-radius:9px;padding:0 7px;background:var(--panel2);color:var(--muted)}
.pill.v b{background:#fff4e0;color:#b36b00}.pill.a b{background:#e6f6ec;color:#1d7a43}.pill.d b{background:#fdecec;color:#c8413f}
.pill[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff}
.pill[aria-pressed="true"] b{background:rgba(255,255,255,.22);color:#fff}
.index .flt{display:flex;flex-wrap:nowrap;gap:0;border:1px solid var(--accent);border-radius:4px;overflow:hidden}
.index .flt button{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:1px;border:0!important;border-radius:0!important;border-left:1px solid var(--accent)!important;padding:4px 4px;font-size:11.5px;line-height:1.2;background:var(--panel);color:var(--accent);white-space:nowrap}
.index .flt button b{font-size:11px;font-weight:700}
.qrow{display:flex;align-items:center;gap:8px}
.qrow #q{flex:1;min-width:0}
.qrow .rnav{flex:none}
.index .flt button:first-child{border-left:0!important}
.index .flt button[aria-pressed="true"]{background:var(--accent);color:#fff;font-weight:600}
.dh .cc{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line)!important;background:var(--panel)!important;color:var(--ink)!important;border-radius:16px;padding:3px 10px;font-size:12px;font-weight:400;margin-left:6px}
.dh .cc b{font-weight:600;font-size:11px;border-radius:9px;padding:0 7px}
.dh .cc{cursor:pointer}
.dh .cc[aria-pressed="true"]{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}
.dh .cc[aria-pressed="true"] b{background:rgba(255,255,255,.22)!important;color:#fff!important}
.dh .cc.all b{background:var(--panel2);color:var(--muted)}.dh .cc.v b{background:#fff4e0;color:#b36b00}.dh .cc.a b{background:#e6f6ec;color:#1d7a43}.dh .cc.d b{background:#fdecec;color:#c8413f}
.pill{border-radius:16px!important}
/* change-type chips keep their own colour, selected = solid version of that colour */
.pill.all,.dh .cc.all{background:#eeedfb!important;border-color:#c9c6f1!important;color:#4541a8!important}
.pill.v,.dh .cc.v{background:#fff4e0!important;border-color:#f1d29a!important;color:#8a5200!important}
.pill.a,.dh .cc.a{background:#e6f6ec!important;border-color:#a9dcbc!important;color:#16633a!important}
.pill.d,.dh .cc.d{background:#fdecec!important;border-color:#f2b3b1!important;color:#a8322f!important}
.pill b,.dh .cc b{background:rgba(255,255,255,.75)!important;color:inherit!important}
.pill.all[aria-pressed="true"],.dh .cc.all[aria-pressed="true"]{background:#4541a8!important;border-color:#4541a8!important;color:#fff!important}
.pill.v[aria-pressed="true"],.dh .cc.v[aria-pressed="true"]{background:#f5a623!important;border-color:#f5a623!important;color:#fff!important}
.pill.a[aria-pressed="true"],.dh .cc.a[aria-pressed="true"]{background:#2fa35f!important;border-color:#2fa35f!important;color:#fff!important}
.pill.d[aria-pressed="true"],.dh .cc.d[aria-pressed="true"]{background:#e25652!important;border-color:#e25652!important;color:#fff!important}
.pill[aria-pressed="true"] b,.dh .cc[aria-pressed="true"] b{background:rgba(255,255,255,.25)!important;color:#fff!important}
/* role filter group: same colours as the change chips */
.index .flt button{background:#fff!important}
.index .flt button[data-f="all"]{color:#4541a8}
.index .flt button[data-f="changed"]{color:#8a5200}
.index .flt button[data-f="left"]{color:#a8322f}
.index .flt button[data-f="right"]{color:#16633a}
.index .flt button[data-f="same"]{color:#555c70}
.index .flt button[data-f="all"][aria-pressed="true"]{background:#4541a8!important;color:#fff}
.index .flt button[data-f="changed"][aria-pressed="true"]{background:#fff4e0!important;color:#8a5200;box-shadow:inset 0 -2px 0 #f5a623}
.index .flt button[data-f="left"][aria-pressed="true"]{background:#fdecec!important;color:#a8322f;box-shadow:inset 0 -2px 0 #e25652}
.index .flt button[data-f="right"][aria-pressed="true"]{background:#e6f6ec!important;color:#16633a;box-shadow:inset 0 -2px 0 #2fa35f}
.index .flt button[data-f="same"][aria-pressed="true"]{background:#f1f2f6!important;color:#3d4252;box-shadow:inset 0 -2px 0 #6b7285}
.fsep{color:var(--line);font-size:20px;line-height:1;margin:0 2px}
.fstrip .seg{display:inline-flex;gap:0;border:1px solid var(--accent);border-radius:4px;overflow:hidden}
.fstrip .seg button{border:0!important;border-radius:0!important;height:28px;padding:0 14px;font-size:12.5px}
.fstrip .seg button+button{border-left:1px solid var(--accent)!important}
.fclear{margin-left:0;border:1px solid var(--accent);background:var(--panel);color:var(--accent);border-radius:6px;padding:4px 12px;font-size:12px;font-weight:500;cursor:pointer}
.fclear:disabled{border-color:var(--line);color:var(--muted);cursor:default}
#fQ{flex:1;min-width:220px;border:1px solid var(--line);border-radius:4px;padding:5px 10px;background:var(--panel);color:var(--ink);font-size:12px}
.rpt .fx{opacity:.35}
.rnav{display:flex;align-items:center;gap:6px}
.rnav{justify-content:center}
.rnav button{flex:none;width:36px;font-size:16px;line-height:1;border:1px solid var(--line);background:var(--panel2);border-radius:6px;padding:5px 8px;cursor:pointer;font-size:12px;font-weight:600;color:var(--ink)}
.rnav button:disabled{opacity:.4;cursor:default}
.rnav span{font-size:11px;color:var(--muted);min-width:44px;text-align:center}
#paneS{grid-template-rows:minmax(0,1fr)}
.dh h1 del{color:#b42318;text-decoration:line-through}.dh h1 ins{color:#11703a;text-decoration:none}
.two.m-single,.two.m-source,.two.m-revised{grid-template-columns:minmax(0,1fr)}
.two.m-single #paneL,.two.m-single #paneR,.two.m-both #paneS,.two.m-source #paneS,.two.m-source #paneR,.two.m-revised #paneS,.two.m-revised #paneL{display:none}
.ph.c b{color:var(--ink)}
.ph .lg{display:flex;gap:6px;align-items:center;font-size:11px}
.ph .lg del{color:#b42318}.ph .lg ins{color:#11703a;text-decoration:none}
.ph .lg .lgm{font-style:normal;background:#fff1cc;color:#6b4500;padding:0 4px}
.rpt.single del{color:#b42318;background:none;text-decoration:line-through}
.rpt.single ins{color:#11703a;background:none;text-decoration:none}
.rpt.single .nc del,.rpt.single .nc ins{display:block;text-align:right}
.rpt.single .nc del{font-size:11px}
.rpt.single tr.rDel>td{text-decoration:line-through}
.rpt.single .colDel{text-decoration:line-through;color:#8e1b12}
.rpt.both del{color:#b42318;background:none;text-decoration:line-through}
.rpt.both ins{color:#11703a;background:none;text-decoration:none}
.rpt.both .nc del,.rpt.both .nc ins{display:block;text-align:right}
.rpt.both .nc del{font-size:11px}
.rpt.both tr.rowDel>td{color:#b42318;text-decoration:line-through}
.rpt.both tr.rowAdd>td{color:#11703a}
.rpt.both tr.rowDel>td:first-child{box-shadow:inset 3px 0 0 #b42318}
.rpt.both tr.rowAdd>td:first-child{box-shadow:inset 3px 0 0 #11703a}
.rpt.both .blkDel{color:#b42318;text-decoration:line-through;box-shadow:-6px 0 0 #fff,-9px 0 0 #b42318}
.rpt.both .blkAdd{color:#11703a;box-shadow:-6px 0 0 #fff,-9px 0 0 #11703a}
.rpt.single tr.rowDel>td{color:#b42318;text-decoration:line-through}
.rpt.single tr.rowAdd>td{color:#11703a}
.rpt.single tr.rowDel>td:first-child{box-shadow:inset 3px 0 0 #b42318}
.rpt.single tr.rowAdd>td:first-child{box-shadow:inset 3px 0 0 #11703a}
.rpt.single .blkDel{color:#b42318;text-decoration:line-through;box-shadow:-6px 0 0 #fff,-9px 0 0 #b42318}
.rpt.single .blkAdd{color:#11703a;box-shadow:-6px 0 0 #fff,-9px 0 0 #11703a}
.rpt.single .tbold,.rpt.single .tbnew{position:relative;padding:16px 8px 6px 10px;margin:2px 0 6px}
.rpt.single .tbold{background:#fdf0ee;box-shadow:inset 3px 0 0 #b42318}
.rpt.single .tbnew{background:#edf8f0;box-shadow:inset 3px 0 0 #11703a}
.rpt.single .tbold::before,.rpt.single .tbnew::before{position:absolute;top:2px;left:10px;font:bold 10px Arial,sans-serif}
.rpt.single .tbold::before{content:"Source";color:#b42318}.rpt.single .tbnew::before{content:"Revised";color:#11703a}
.rpt .sbanner{font:bold 12px Arial,sans-serif;padding:6px 10px;margin-bottom:10px;border-radius:4px}
.rpt .sbanner.d{background:#fde6e3;color:#8e1b12}.rpt .sbanner.a{background:#dcf3e3;color:#0d5a2e}
.rpt tr[data-r]>td{cursor:pointer}
.rpt .sel{outline:2px solid #1c6fb5!important;outline-offset:-2px}
.insp .refs{white-space:pre-wrap}
.insp .pt td:last-child .lab{display:block;font-size:11px;color:var(--muted)}
.insp .vb b{white-space:pre-wrap}
.panes{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;min-width:0}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1px;background:var(--line);min-height:0}
.pane{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;min-width:0;background:var(--paper)}
.ph{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--panel2);border-bottom:1px solid var(--line);font-size:12px}
.ph b{font-weight:600}
.ph.s b{color:var(--del)}.ph.r b{color:var(--ins)}
.ph span{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb.left{background:var(--delBg);color:#8e1b12}.rb.right{background:var(--insBg);color:#0d5a2e}
.rb{font-weight:600;white-space:nowrap}
.src.base{border-left-color:#8a96a3}
@media (max-width:900px){
  body{overflow:auto}.app{height:auto}
  .main{grid-template-columns:1fr!important}
  .index{height:40vh}.two{grid-template-columns:1fr}.pane{height:70vh}
}
