:root{
  --bg:#0b0d0c;--panel:#111412;--panel2:#151917;--text:#e7e5da;--muted:#8e948f;
  --line:#2b312d;--green:#a6ff7a;--red:#ff5e57;--amber:#f5d76e;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}
body{min-height:100vh;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px);background-size:100% 24px}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(11,13,12,.95);backdrop-filter:blur(8px);z-index:10}
.brand-main{font-size:22px;font-weight:900;letter-spacing:.08em}.brand-sub{font-size:11px;color:var(--muted);margin-top:3px}
.topnav{display:flex;gap:6px;margin-left:auto;margin-right:18px}.nav-btn{font:inherit;font-size:11px;letter-spacing:.08em;border:1px solid var(--line);background:#0d100e;color:#8e948f;padding:8px 11px;cursor:pointer}
.nav-btn.active{border-color:#4d6848;color:var(--green);background:#101711}
.local-badge{border:1px solid #42603d;padding:8px 10px;font-size:12px;color:var(--green);background:#0e160f}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);margin-right:7px;box-shadow:0 0 12px rgba(166,255,122,.65)}
.shell{max-width:1450px;margin:0 auto;padding:24px}.panel{background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--line);box-shadow:0 12px 35px rgba(0,0,0,.18)}
.privacy{padding:28px;margin-bottom:18px;border-left:4px solid var(--green)}.privacy.compact{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;align-items:end}
.eyebrow,.section-title{font-size:12px;letter-spacing:.14em;color:var(--green);font-weight:800}h1{font-size:clamp(26px,4vw,46px);line-height:1;margin:10px 0 12px}
.privacy p{max-width:920px;color:#b7bcb7;line-height:1.6}.privacy-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.privacy-grid div{padding:10px;border:1px solid var(--line);background:#0e110f;font-size:12px}.view{display:none}.view.active{display:block}
.source-panel,.inventory-panel,.engine-panel,.forensic-source{padding:20px}.source-panel{margin-bottom:18px}.source-actions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}
.button,.mini-btn,select,input{font:inherit}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #505851;background:#181d19;color:var(--text);padding:11px 14px;cursor:pointer;text-decoration:none}
.button:hover{background:#202620}.button.primary{background:var(--green);color:#0a0d0a;border-color:var(--green);font-weight:900}.button.danger{border-color:#6a3733;color:#ff8a83}.button.ghost{background:transparent}.button:disabled,.mini-btn:disabled{opacity:.35;cursor:not-allowed}
.dropzone{border:1px dashed #4a514c;padding:35px;text-align:center;color:#c9cec9;background:#0d100e}.dropzone.drag{border-color:var(--green);background:#101811}.dropzone span{display:block;color:var(--muted);font-size:12px;margin-top:8px}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr);gap:18px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.stats>div,.timing-grid>div{background:#0d100e;border:1px solid var(--line);padding:12px}
.label{display:block;color:var(--muted);font-size:10px;margin-bottom:7px}.stats strong,.timing-grid strong{font-size:16px}
.controls-row{display:flex;gap:12px;align-items:end;margin-bottom:12px}.controls-row label{font-size:10px;color:var(--muted);flex:0 0 auto}.controls-row .search-wrap{flex:1}
select,input[type="search"]{width:100%;background:#0d100e;color:var(--text);border:1px solid var(--line);padding:9px;margin-top:6px}
.table-wrap{max-height:520px;overflow:auto;border:1px solid var(--line)}table{width:100%;border-collapse:collapse;font-size:12px}th,td{text-align:left;padding:9px 10px;border-bottom:1px solid #212622;white-space:nowrap}th{position:sticky;top:0;background:#151917;color:#9da49e;font-size:10px}td:nth-child(2),td:nth-child(5){max-width:340px;overflow:hidden;text-overflow:ellipsis}.muted{color:var(--muted);text-align:center}
.engine-status{border:1px solid var(--line);margin:16px 0}.status-line{display:flex;justify-content:space-between;gap:20px;padding:10px;border-bottom:1px solid var(--line);font-size:12px}.status-line:last-child{border-bottom:0}.status-line span{color:var(--muted)}.status-line strong{text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:65%}
.progress-block{margin:20px 0}.progress-head,.progress-meta{display:flex;justify-content:space-between;font-size:11px}.progress-head strong{color:var(--green)}
.progress-track{height:18px;border:1px solid #374039;background:#090b0a;margin:8px 0;position:relative;overflow:hidden}.progress-bar{height:100%;width:0;background:repeating-linear-gradient(90deg,var(--green) 0,var(--green) 7px,#7fd05d 7px,#7fd05d 10px);transition:width .08s linear}.progress-meta{color:var(--muted)}
.timing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.engine-actions{display:flex;gap:8px;flex-wrap:wrap}.note{margin-top:16px;padding:12px;border-left:2px solid var(--amber);background:#15140d;color:#c8c39d;font-size:11px;line-height:1.5}
.terminal-panel{margin-top:18px}.terminal-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line)}.mini-btn{background:#0d100e;border:1px solid var(--line);color:#afb5b0;padding:7px 9px;cursor:pointer}
#terminal,#forensicTerminal{margin:0;overflow:auto;padding:16px;color:#b4f497;background:#070908;font-size:12px;line-height:1.55;white-space:pre-wrap;word-break:break-word}#terminal{min-height:270px;max-height:460px}
.forensic-source{margin-bottom:18px}.forensic-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:20px;margin:18px 0}.forensic-intro h2{font-size:28px;margin:0 0 8px}.forensic-intro p{color:#b7bcb7;line-height:1.55}
.warning-box{border:1px solid #5a512f;border-left:3px solid var(--amber);background:#17150d;color:#d1cba2;padding:14px;font-size:11px;line-height:1.55}.selected-card{padding:13px;border:1px solid var(--line);background:#0d100e;font-size:12px;text-align:left}
.forensic-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.55fr);gap:18px}.forensic-report,.forensic-summary{min-width:0}.forensic-summary{padding:18px}#forensicTerminal{min-height:650px;max-height:75vh}
.summary-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}.summary-cards>div{border:1px solid var(--line);background:#0d100e;padding:10px;min-height:62px}.summary-cards span{display:block;color:var(--muted);font-size:9px;margin-bottom:7px}.summary-cards strong{font-size:12px;word-break:break-all}.forensic-note{margin-top:14px}
footer{padding:28px;text-align:center;color:#5e655f;font-size:11px}
@media(max-width:950px){.dashboard-grid,.privacy.compact,.forensic-intro,.forensic-grid{grid-template-columns:1fr}.topbar{flex-wrap:wrap;gap:10px}.topnav{order:3;width:100%;margin:0}.nav-btn{flex:1}}
@media(max-width:620px){.shell{padding:12px}.topbar{padding:14px}.privacy-grid,.stats,.timing-grid,.summary-cards{grid-template-columns:1fr 1fr}.controls-row{flex-direction:column;align-items:stretch}}


/* v0.3 forensic upgrade */
.profile-card{
  margin-top:16px;
  border:1px solid #4a5f45;
  border-left:3px solid var(--green);
  background:#0b120c;
  padding:14px;
}
.profile-card strong{
  display:block;
  margin-top:6px;
  font-size:18px;
  color:var(--green);
}
.profile-card small{
  display:block;
  margin-top:7px;
  color:var(--muted);
  line-height:1.45;
}
.exif-mini{
  margin-top:16px;
  border-top:1px solid var(--line);
  padding-top:14px;
}
.mini-line{
  display:flex;
  justify-content:space-between;
  gap:15px;
  padding:8px 0;
  border-bottom:1px solid #202521;
  font-size:11px;
}
.mini-line span{color:var(--muted)}
.mini-line strong{color:var(--text)}
.interpretation-panel{
  margin-top:18px;
}
.interpretation-badges{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}
.fact-badge,.inference-badge,.unknown-badge{
  font-size:9px;
  letter-spacing:.08em;
  padding:5px 7px;
  border:1px solid var(--line);
}
.fact-badge{color:var(--green);border-color:#38523a}
.inference-badge{color:var(--amber);border-color:#5a512f}
.unknown-badge{color:#b8b8b8}
.interpretation-text{
  background:#0a0d0b;
  padding:18px;
  font-size:12px;
  line-height:1.7;
  white-space:pre-wrap;
}
.interpretation-text .fact{color:var(--green)}
.interpretation-text .inference{color:var(--amber)}
.interpretation-text .unknown{color:#b8b8b8}
.interpretation-text .heading{
  display:block;
  color:var(--text);
  font-weight:800;
  letter-spacing:.1em;
  margin:12px 0 5px;
}


/* v0.4 MERGE & SHRINK */
.merge-source{padding:20px;margin-bottom:18px}.merge-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:18px}
.merge-stats>div,.result-grid>div,.target-numbers>div{background:#0d100e;border:1px solid var(--line);padding:12px}
.merge-work-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(390px,.75fr);gap:18px}.merge-control-panel{padding:20px}.muted-small{font-size:10px;color:var(--muted)}
.merge-file-list{min-height:220px;max-height:560px;overflow:auto;background:#0a0d0b}.empty-state{color:var(--muted);padding:30px;text-align:center}
.merge-file-row{display:grid;grid-template-columns:48px minmax(0,1fr) 110px 112px;gap:10px;align-items:center;padding:10px 12px;border-bottom:1px solid #222722}
.merge-index{color:var(--green);font-size:11px}.merge-file-main{min-width:0}.merge-file-name{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.merge-file-meta{font-size:9px;color:var(--muted);margin-top:4px}
.order-buttons{display:flex;gap:4px}.order-buttons button,.remove-merge-file{font:inherit;background:#101411;color:var(--text);border:1px solid var(--line);cursor:pointer;padding:6px 8px}.remove-merge-file{color:#ff8a83}
.mode-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}.mode-card{border:1px solid var(--line);background:#0d100e;padding:13px;cursor:pointer}.mode-card input{margin-right:6px}.mode-card strong{display:block;margin:7px 0;color:var(--text)}.mode-card span{display:block;color:var(--muted);font-size:10px;line-height:1.45}.mode-card.active{border-color:#4d6848;background:#101711}
.target-box{border:1px solid #41533e;background:#0b110c;padding:15px;margin:15px 0}.target-box.disabled{opacity:.42;pointer-events:none}.target-head{display:flex;justify-content:space-between;font-size:11px}.target-head strong{color:var(--green);font-size:18px}.target-slider{width:100%;margin:16px 0;accent-color:var(--green)}
.preset-row{display:flex;gap:5px;flex-wrap:wrap}.target-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}.target-numbers span{display:block;font-size:9px;color:var(--muted);margin-bottom:6px}.target-numbers strong{font-size:11px;word-break:break-all}.target-direct{margin-top:12px}.target-direct label,.output-name-row label{font-size:10px;color:var(--muted)}
.target-direct input,.output-name-row input{display:block;width:100%;margin-top:6px;padding:9px;background:#0d100e;color:var(--text);border:1px solid var(--line);font:inherit}.output-name-row{margin:16px 0}
.merge-progress-panel{margin-top:18px}.merge-progress-inner{padding:16px}.process-badge{border:1px solid var(--line);padding:5px 8px;font-size:10px;color:var(--muted)}
#mergeTerminal{margin:16px 0 0;min-height:180px;max-height:340px;overflow:auto;background:#070908;color:#b4f497;padding:14px;font-size:11px;line-height:1.55;white-space:pre-wrap}
.merge-result-panel{margin-top:18px;padding:20px}.hidden{display:none!important}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.byte-report{border:1px solid var(--line);background:#080b09;padding:13px;color:#b4f497;font-size:11px;white-space:pre-wrap}
@media(max-width:950px){.merge-work-grid{grid-template-columns:1fr}.merge-stats,.result-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.merge-stats,.result-grid,.target-numbers,.mode-cards{grid-template-columns:1fr}.merge-file-row{grid-template-columns:36px minmax(0,1fr);gap:8px}.order-buttons,.remove-merge-file{grid-column:2}}


/* v0.5 RESEARCH INTELLIGENCE */
.research-source{padding:20px;margin-bottom:18px}
.research-hero{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:20px;
  margin:18px 0;
}
.research-hero h2{font-size:30px;margin:0 0 8px}
.research-hero p{color:#b7bcb7;line-height:1.55}
.research-source-stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
  margin:16px 0;
}
.research-source-stats>div{
  background:#0d100e;
  border:1px solid var(--line);
  padding:12px;
}
.research-file-list{
  border:1px solid var(--line);
  background:#090c0a;
  max-height:260px;
  overflow:auto;
}
.research-file-row{
  display:grid;
  grid-template-columns:52px minmax(0,1fr) 140px;
  gap:10px;
  align-items:center;
  padding:9px 12px;
  border-bottom:1px solid #202520;
  font-size:11px;
}
.research-file-row .idx{color:var(--green)}
.research-file-row .name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.research-file-row .size{text-align:right;color:var(--muted)}
.research-actions{margin-top:14px}
.research-progress{margin-bottom:18px}
#researchTerminal{
  margin:16px 0 0;
  min-height:170px;
  max-height:300px;
  overflow:auto;
  background:#070908;
  color:#b4f497;
  padding:14px;
  font-size:11px;
  line-height:1.55;
  white-space:pre-wrap;
}
.research-kpis{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:8px;
  margin-bottom:18px;
}
.research-kpis>.panel{padding:13px}
.research-kpis strong{font-size:20px;color:var(--text)}
.research-grid-main{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(330px,.55fr);
  gap:18px;
}
.search-panel-ri,.entity-panel,.relationship-panel,.timeline-panel,.methodology-panel{padding:18px}
.ri-search-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:8px;
  align-items:center;
  margin:16px 0 10px;
}
.ri-search-row input[type="search"]{
  margin:0;
  background:#080b09;
  border:1px solid #4b554d;
  color:var(--text);
  padding:12px;
  font:inherit;
}
.ri-check{
  font-size:10px;
  color:var(--muted);
  border:1px solid var(--line);
  padding:11px;
  white-space:nowrap;
}
.search-summary{
  color:var(--muted);
  font-size:11px;
  margin:10px 0;
}
.variant-box{
  border:1px solid #4d5535;
  background:#14140d;
  padding:10px;
  font-size:10px;
  color:#d4cc8f;
}
.variant-chip{
  display:inline-block;
  border:1px solid #5e5832;
  padding:4px 6px;
  margin:3px;
  cursor:pointer;
}
.kwic-results{
  border:1px solid var(--line);
  background:#090c0a;
  max-height:560px;
  overflow:auto;
}
.kwic-item{
  padding:11px 12px;
  border-bottom:1px solid #202520;
}
.kwic-meta{
  color:var(--green);
  font-size:10px;
  margin-bottom:5px;
}
.kwic-context{
  font-size:11px;
  line-height:1.55;
  color:#d7dbd7;
}
.kwic-context mark{
  background:transparent;
  color:#0a0d0a;
  background-color:var(--green);
  padding:0 2px;
}
.entity-tabs{display:flex;gap:5px;flex-wrap:wrap;margin:14px 0}
.entity-tab{
  font:inherit;
  font-size:9px;
  border:1px solid var(--line);
  background:#0b0e0c;
  color:var(--muted);
  padding:7px 8px;
  cursor:pointer;
}
.entity-tab.active{color:var(--green);border-color:#4b6548;background:#101711}
.entity-list{
  max-height:520px;
  overflow:auto;
  border:1px solid var(--line);
  background:#090c0a;
}
.entity-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) 60px;
  gap:8px;
  padding:9px 10px;
  border-bottom:1px solid #202520;
  cursor:pointer;
  font-size:11px;
}
.entity-item:hover{background:#101611}
.entity-count{text-align:right;color:var(--green)}
.research-grid-secondary{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(330px,.5fr);
  gap:18px;
  margin-top:18px;
}
.relationship-controls{
  display:flex;
  gap:10px;
  align-items:end;
  flex-wrap:wrap;
  margin:14px 0;
}
.relationship-controls label{
  font-size:9px;
  color:var(--muted);
}
.relationship-controls select{
  display:block;
  margin-top:5px;
  min-width:180px;
}
.relationship-layout{
  display:grid;
  grid-template-columns:320px minmax(0,1fr);
  gap:14px;
}
.relationship-list{
  border:1px solid var(--line);
  background:#090c0a;
  max-height:520px;
  overflow:auto;
}
.rel-item{
  padding:9px 10px;
  border-bottom:1px solid #202520;
  cursor:pointer;
}
.rel-item:hover{background:#101611}
.rel-pair{font-size:11px}
.rel-meta{font-size:9px;color:var(--muted);margin-top:4px}
.graph-wrap{
  min-height:520px;
  border:1px solid var(--line);
  background:#070a08;
  overflow:hidden;
}
#relationshipGraph{width:100%;height:100%;min-height:520px}
.graph-edge{stroke:#435044;stroke-width:1.5}
.graph-edge.strong{stroke:#78936f;stroke-width:3}
.graph-node{fill:#101811;stroke:#7fcf60;stroke-width:1.5;cursor:pointer}
.graph-node.focus{fill:#a6ff7a;stroke:#d8ffd0;stroke-width:2}
.graph-label{fill:#dfe6df;font-family:ui-monospace,monospace;font-size:11px;pointer-events:none}
.graph-label.focus{fill:#0a0d0a;font-weight:800}
.graph-weight{fill:#879087;font-family:ui-monospace,monospace;font-size:9px;pointer-events:none}
.timeline-list{
  max-height:570px;
  overflow:auto;
  border:1px solid var(--line);
  background:#090c0a;
}
.timeline-item{
  padding:10px;
  border-bottom:1px solid #202520;
}
.timeline-date{color:var(--green);font-size:11px}
.timeline-meta{font-size:9px;color:var(--muted);margin-top:4px}
.methodology-panel{margin-top:18px}
.method-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin-top:14px;
}
.method-grid>div{
  border:1px solid var(--line);
  background:#0b0e0c;
  padding:12px;
}
.method-grid strong{display:block;color:var(--green);font-size:10px;margin-bottom:6px}
.method-grid span{font-size:10px;color:var(--muted);line-height:1.5}
@media(max-width:1050px){
  .research-kpis{grid-template-columns:repeat(3,1fr)}
  .research-grid-main,.research-grid-secondary,.relationship-layout,.research-hero{grid-template-columns:1fr}
}
@media(max-width:700px){
  .research-source-stats,.research-kpis,.method-grid{grid-template-columns:1fr 1fr}
  .ri-search-row{grid-template-columns:1fr}
}


/* v0.6 OCR GATEWAY */
.ocr-config{
  border:1px solid #40523e;
  border-left:3px solid var(--green);
  background:#0b110c;
  padding:14px;
  margin:16px 0;
}
.ocr-config-grid{
  display:grid;
  grid-template-columns:minmax(180px,.6fr) 1fr 1fr;
  gap:8px;
  margin-top:12px;
}
.ocr-config-grid label{
  font-size:9px;
  color:var(--muted);
}
.ocr-config-grid select{
  display:block;
  width:100%;
  margin-top:6px;
}
.ocr-policy{
  background:#0d100e;
  border:1px solid var(--line);
  padding:11px;
}
.ocr-policy strong{
  display:block;
  color:var(--green);
  font-size:11px;
  margin:5px 0;
}
.ocr-policy small{
  display:block;
  color:var(--muted);
  font-size:9px;
  line-height:1.45;
}
.ocr-quality-panel,.suggestions-panel{
  margin-top:18px;
  padding:18px;
}
.ocr-quality-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
  margin:14px 0;
}
.ocr-quality-grid>div{
  background:#0d100e;
  border:1px solid var(--line);
  padding:12px;
}
.ocr-quality-grid strong{
  font-size:20px;
}
.ocr-problem-pages{
  border:1px solid var(--line);
  background:#090c0a;
  max-height:320px;
  overflow:auto;
}
.ocr-problem-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 80px 100px;
  gap:10px;
  padding:9px 11px;
  border-bottom:1px solid #202520;
  font-size:10px;
}
.ocr-problem-row .conf{color:var(--amber);text-align:right}
.ocr-problem-row .grade{text-align:right}
.suggestion-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
  margin-top:14px;
}
.suggestion-chip{
  border:1px solid var(--line);
  background:#0b0e0c;
  padding:10px;
  cursor:pointer;
}
.suggestion-chip:hover{background:#101611;border-color:#4b6548}
.suggestion-chip strong{
  display:block;
  color:var(--green);
  font-size:11px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.suggestion-chip span{
  display:block;
  color:var(--muted);
  font-size:9px;
  margin-top:5px;
}
@media(max-width:950px){
  .ocr-config-grid{grid-template-columns:1fr}
  .suggestion-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .ocr-quality-grid,.suggestion-grid{grid-template-columns:1fr 1fr}
}


/* v0.8 OCR target, ASCII network and AI handoff */
.ocr-target-card{background:#0d100e;border:1px solid #496346;padding:11px;min-width:280px}
.ocr-target-head{display:flex;justify-content:space-between;gap:10px;align-items:end;margin-top:5px}
.ocr-target-head strong{color:var(--green);font-size:22px}.ocr-target-head span{color:var(--muted);font-size:9px}
#ocrTargetSlider{width:100%;margin:12px 0;accent-color:var(--green)}
.ocr-target-presets,.ascii-network-actions,.ocr-export-actions,.ai-handoff-actions{display:flex;gap:5px;flex-wrap:wrap}
.ocr-target-card small{display:block;margin-top:9px;color:var(--muted);font-size:9px;line-height:1.45}
.ocr-summary-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:14px 0}
.ocr-summary-grid>div{background:#0d100e;border:1px solid var(--line);padding:12px}.ocr-summary-grid strong{font-size:17px}
.ocr-quality-grid{grid-template-columns:repeat(5,1fr)}
.ocr-export-panel,.ascii-network-panel,.ai-handoff-panel{margin-top:18px;padding:18px}
.ocr-export-controls{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.ocr-export-controls label{font-size:9px;color:var(--muted)}
.ocr-export-controls select{display:block;margin-top:5px;min-width:200px}
#ocrCopyBlock,#asciiNetworkMap,#aiHandoffBlock{overflow:auto;margin:12px 0 0;border:1px solid var(--line);background:#070908;color:#b4f497;padding:14px;font-size:11px;line-height:1.55;white-space:pre}
#ocrCopyBlock{min-height:250px;max-height:520px}#asciiNetworkMap{min-height:310px;max-height:650px;font-size:12px;line-height:1.25;letter-spacing:0}
.ai-handoff-panel{border:1px solid #5f765a;background:linear-gradient(180deg,#0b0e0c 0%,#080a09 100%);margin-top:30px}
.ai-handoff-divider{font-size:10px;line-height:1.25;color:#6d9562;white-space:nowrap;overflow:hidden;margin-bottom:18px}
.ai-handoff-note{border:1px solid #394438;background:#0b0f0c;padding:10px 12px;color:var(--muted);font-size:10px;line-height:1.5;margin-top:12px}
#aiHandoffBlock{min-height:480px;max-height:900px;color:#c0f5a8}
.ascii-network-panel .note{margin-top:10px}
@media(max-width:1100px){.ocr-summary-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.ocr-summary-grid,.ocr-quality-grid{grid-template-columns:1fr 1fr}.ai-handoff-actions{justify-content:flex-start}}


/* v0.8.1 // green-phosphor relationship matrix patch */
.graph-wrap{
  position:relative;
  min-height:520px;
  border:1px solid #355f35;
  background:#010502;
  overflow:hidden;
  box-shadow:inset 0 0 32px rgba(56,255,56,.055),0 0 0 1px rgba(116,255,92,.025);
}
.graph-wrap::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:2;
  background:repeating-linear-gradient(to bottom,rgba(120,255,90,.018) 0px,rgba(120,255,90,.018) 1px,transparent 1px,transparent 4px);
  mix-blend-mode:screen;
}
#relationshipGraph{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  min-height:520px;
  background:#010502;
  image-rendering:crisp-edges;
}
.graph-terminal-bg{fill:#010502}
.graph-grid{opacity:.62}
.graph-grid-line{fill:none;stroke:#17341a;stroke-width:.55;shape-rendering:crispEdges}
.graph-edge{stroke:#58b84e;stroke-width:1.15;stroke-dasharray:2 3;opacity:.72;shape-rendering:crispEdges}
.graph-edge.strong{stroke:#91ff72;stroke-width:1.9;stroke-dasharray:none;opacity:1;filter:drop-shadow(0 0 2px rgba(145,255,114,.65))}
.graph-edge.faint{stroke:#2d6630;stroke-width:1;stroke-dasharray:1 5;opacity:.58}
.graph-node-terminal{fill:#020702;stroke:#62d85a;stroke-width:1;cursor:pointer;shape-rendering:crispEdges}
.graph-node-terminal:hover{fill:#061107;stroke:#a2ff86;stroke-width:1.5}
.graph-node-terminal.strong{stroke:#8cff70}
.graph-node-terminal.focus{fill:#061307;stroke:#a4ff82;stroke-width:2}
.graph-label{
  fill:#a5ff8a;
  font-family:"Courier New",Consolas,ui-monospace,monospace;
  font-size:11px;
  font-weight:700;
  letter-spacing:.15px;
  pointer-events:none;
  filter:drop-shadow(0 0 2px rgba(118,255,93,.45));
}
.graph-label.focus{fill:#c7ffb4;font-size:12px;font-weight:800}
.graph-node-meta,.graph-focus-meta,.graph-hud{
  fill:#4f9850;
  font-family:"Courier New",Consolas,ui-monospace,monospace;
  font-size:8px;
  letter-spacing:.8px;
  pointer-events:none;
}
.graph-focus-meta{fill:#78d76b}
.graph-hud{font-size:8px;fill:#417b42}
.graph-weight-box{fill:#010502;stroke:#285e2b;stroke-width:.7;shape-rendering:crispEdges}
.graph-weight{
  fill:#8bff72;
  font-family:"Courier New",Consolas,ui-monospace,monospace;
  font-size:9px;
  font-weight:700;
  pointer-events:none;
}
.graph-crosshair{stroke:#275e2a;stroke-width:.7;stroke-dasharray:2 5;opacity:.65;pointer-events:none}
#asciiNetworkMap{
  color:#93ff78;
  background:
    repeating-linear-gradient(to bottom,rgba(116,255,92,.018) 0px,rgba(116,255,92,.018) 1px,transparent 1px,transparent 4px),
    #010502;
  border-color:#315c32;
  text-shadow:0 0 4px rgba(116,255,92,.28);
  scrollbar-color:#376d39 #020602;
}


/* v0.9 // adaptive OCR recovery + navigable relationship workspace */
.ocr-source-quality-note{grid-column:1/-1;border:1px solid #4d5b3c;background:#11150d;color:#a9b99b;padding:11px 12px;font-size:10px;line-height:1.55}
.ocr-source-quality-note strong{color:#d7e78c}
.search-help{margin-top:7px;color:var(--muted);font-size:9px}
.relationship-nav{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 8px}
.relationship-focus-path{min-height:30px;border:1px solid #263229;background:#070b08;color:#648a61;padding:7px 9px;font-size:9px;line-height:1.5;overflow-x:auto;white-space:nowrap}
.focus-crumb{appearance:none;border:0;background:transparent;color:#79c86a;font:inherit;padding:0 3px;cursor:pointer}
.focus-crumb:hover,.focus-crumb.active{color:#b4ff91;text-shadow:0 0 5px rgba(120,255,95,.34)}
.focus-sep{color:#37533a;padding:0 3px}
.relationship-current{display:grid;grid-template-columns:2fr 1fr 2fr;gap:8px;margin:10px 0 12px}
.relationship-current>div{border:1px solid var(--line);background:#0a0e0b;padding:9px 10px;min-width:0}
.relationship-current strong{display:block;margin-top:5px;color:#a6ff83;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rel-copy{min-width:0;flex:1}.rel-actions{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.rel-actions .mini-btn{padding:4px 6px;font-size:8px}
@media(max-width:760px){.relationship-current{grid-template-columns:1fr}.rel-actions{justify-content:flex-start}}


/* v0.9.1 // reviewed fuzzy search + page-grouped KWIC results */
.variant-box{
  padding:0;
  overflow:hidden;
}
.variant-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  padding:11px 12px;
  border-bottom:1px solid #4d5535;
}
.variant-head strong{
  display:block;
  color:#e0d897;
  font-size:10px;
  margin-bottom:4px;
}
.variant-head span{
  color:#8f8a67;
  font-size:9px;
  line-height:1.4;
}
.variant-warning{
  flex:0 0 auto;
  border:1px solid #5e5832;
  color:#bcb36f!important;
  padding:4px 6px;
  white-space:nowrap;
}
.variant-options{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:6px;
  padding:10px 12px;
}
.variant-option{
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-areas:"check term" "check freq" "check sim";
  column-gap:8px;
  align-items:start;
  border:1px solid #3b3b27;
  background:#0e0f0a;
  padding:8px;
  cursor:pointer;
}
.variant-option:hover,.variant-option.selected{
  border-color:#777044;
  background:#15160d;
}
.variant-option input{grid-area:check;margin-top:2px}
.variant-term{grid-area:term;color:#e5dda0;font-weight:700;font-size:11px}
.variant-frequency{grid-area:freq;color:#a7a17a;font-size:9px;margin-top:3px}
.variant-similarity{grid-area:sim;color:#777b67;font-size:8px;margin-top:3px}
.variant-actions{
  display:flex;
  gap:6px;
  padding:9px 12px 11px;
  border-top:1px solid #323422;
}
.search-mode-bar{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:10px;
  margin:12px 0 8px;
}
.search-mode-tabs{display:flex;gap:5px}
.search-mode-tab{
  font:inherit;
  font-size:9px;
  border:1px solid var(--line);
  background:#0a0e0b;
  color:var(--muted);
  padding:7px 10px;
  cursor:pointer;
}
.search-mode-tab.active{
  color:#a6ff83;
  border-color:#4e764a;
  background:#101811;
}
.search-mode-tab:disabled{opacity:.35;cursor:not-allowed}
.search-sort-label{font-size:8px;color:var(--muted)}
.search-sort-label select{display:block;margin-top:4px;min-width:170px}
.search-stats{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:6px;
  margin:8px 0 10px;
}
.search-stats>div{
  border:1px solid var(--line);
  background:#0a0e0b;
  padding:8px 9px;
  min-width:0;
}
.search-stats span{display:block;color:var(--muted);font-size:8px}
.search-stats strong{display:block;color:#d8ddd8;font-size:14px;margin-top:4px;overflow:hidden;text-overflow:ellipsis}
.kwic-results{
  padding:0;
}
.search-results-label{
  position:sticky;
  top:0;
  z-index:2;
  background:#0b100c;
  border-bottom:1px solid #293029;
  color:#608d5b;
  padding:7px 11px;
  font-size:8px;
  letter-spacing:.6px;
}
.search-result-card{
  border-bottom:1px solid #242b25;
  background:#090c0a;
  padding:12px;
}
.search-result-card:hover{background:#0b100c}
.search-result-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}
.search-result-source{min-width:0}
.search-result-source strong{
  display:block;
  color:#9dff7c;
  font-size:10px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.search-result-source span{display:block;color:#778078;font-size:8px;margin-top:4px}
.search-match-badges{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.match-badge{
  border:1px solid #405443;
  padding:3px 5px;
  font-size:8px;
  white-space:nowrap;
}
.match-badge.exact{color:#b7ff98;border-color:#4d7d48}
.match-badge.variant{color:#ded48d;border-color:#625d37}
.search-result-terms{
  margin:8px 0 4px;
  color:#777f77;
  font-size:8px;
}
.search-snippet{
  display:grid;
  grid-template-columns:110px minmax(0,1fr);
  gap:10px;
  padding:7px 0;
  border-top:1px dotted #222a23;
  color:#d7dbd7;
  font-size:11px;
  line-height:1.5;
}
.snippet-kind{font-size:8px;padding-top:2px}
.snippet-kind.exact{color:#8fff73}
.snippet-kind.variant{color:#d0c87d}
.search-snippet mark{
  background:#9cff75;
  color:#071007;
  padding:0 2px;
}
.search-more{border-top:1px solid #1f251f;margin-top:4px}
.search-more summary{
  cursor:pointer;
  color:#6e9e68;
  font-size:8px;
  padding:7px 0 2px;
}
@media(max-width:900px){
  .search-stats{grid-template-columns:repeat(2,1fr)}
  .search-mode-bar{align-items:stretch;flex-direction:column}
  .search-result-head{flex-direction:column}
  .search-match-badges{justify-content:flex-start}
}
@media(max-width:620px){
  .variant-options{grid-template-columns:1fr}
  .search-snippet{grid-template-columns:1fr;gap:3px}
}


/* v0.9.12 // AI handoff button feedback */
.ai-handoff-flash{
  animation:aiHandoffFlash .72s ease-out 1;
}
.ai-handoff-success{
  border-color:#9cff78 !important;
  color:#caffb9 !important;
  background:#10200f !important;
  box-shadow:
    0 0 0 1px rgba(156,255,120,.22),
    0 0 16px rgba(126,255,95,.22),
    inset 0 0 12px rgba(126,255,95,.07);
}
.ai-handoff-fail{
  border-color:#d8c56d !important;
  color:#f4e7a8 !important;
  background:#201c0f !important;
}
@keyframes aiHandoffFlash{
  0%{filter:brightness(1)}
  22%{filter:brightness(1.9);transform:translateY(-1px)}
  45%{filter:brightness(1.25)}
  100%{filter:brightness(1);transform:translateY(0)}
}


/* v0.10 // four-pass OCR monitor + evidence engine */
.ocr-pass-monitor{
  border:1px solid #315535;
  background:#060a07;
  padding:12px;
  margin-bottom:14px;
  box-shadow:inset 0 0 20px rgba(113,255,87,.035);
}
.ocr-pass-monitor-head{display:flex;justify-content:space-between;gap:16px;align-items:end;margin-bottom:10px}
.ocr-pass-monitor-head strong{display:block;color:#b4ff91;margin-top:4px;font-size:11px;max-width:900px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ocr-pass-target{font-size:10px;color:#98df7e;border:1px solid #315535;padding:5px 8px;white-space:nowrap}
.ocr-pass-grid{display:grid;gap:6px}
.ocr-pass-row{display:grid;grid-template-columns:58px minmax(120px,1fr) 66px 190px;gap:8px;align-items:center;padding:4px 6px;border:1px solid transparent;transition:border-color .15s,background .15s,filter .15s}
.ocr-pass-name{font-size:9px;color:#779074}
.ocr-pass-track{height:10px;border:1px solid #29432b;background:#020503;overflow:hidden}
.ocr-pass-bar{height:100%;width:0;background:#79e85c;transition:width .22s ease;box-shadow:0 0 7px rgba(121,232,92,.25)}
.ocr-pass-bar.running{background:repeating-linear-gradient(90deg,#6dd653 0 8px,#a3ff7f 8px 15px);background-size:30px 100%;animation:ocrPassRun .7s linear infinite}
.ocr-pass-row>strong{font-size:10px;color:#a5ff84;text-align:right}
.ocr-pass-state{font-size:8px;color:#627661;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ocr-pass-row.active{border-color:#4c8e47;background:#091109}.ocr-pass-row.completed{border-color:#1f3421}.ocr-pass-row.skipped{opacity:.42}
.ocr-pass-row.selected{border-color:#a1ff7d;background:#0b1b0b;box-shadow:0 0 12px rgba(148,255,112,.14)}
.ocr-pass-row.selected .ocr-pass-name,.ocr-pass-row.selected .ocr-pass-state,.ocr-pass-row.selected>strong{color:#c9ffb8}
.ocr-pass-row.winner-flash{animation:ocrWinnerFlash 1.25s ease-out 1}
.ocr-best-result{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:10px;padding:10px 12px;border:1px solid #78cc62;background:#0a150a}
.ocr-best-result>div:first-child strong{display:block;font-size:28px;line-height:1;color:#bdff9c;margin-top:5px;text-shadow:0 0 9px rgba(155,255,124,.28)}
.ocr-best-meta{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.ocr-best-meta span{font-size:9px;border:1px solid #365c39;padding:5px 7px;color:#95c98a}
@keyframes ocrPassRun{to{background-position:30px 0}}
@keyframes ocrWinnerFlash{0%,100%{filter:brightness(1)}20%{filter:brightness(2.8);box-shadow:0 0 28px rgba(165,255,130,.58)}45%{filter:brightness(1.25)}65%{filter:brightness(2)}}
@media(max-width:800px){.ocr-pass-row{grid-template-columns:50px 1fr 55px}.ocr-pass-state{grid-column:2/4}.ocr-best-result{align-items:flex-start;flex-direction:column}.ocr-best-meta{justify-content:flex-start}}


/* v0.10.2 // permanent four-pass OCR monitor */
.ocr-pass-monitor{position:relative}
.ocr-pass-monitor.monitor-idle .ocr-pass-row{opacity:.68}
.ocr-pass-monitor.monitor-not-required{border-color:#34453a}
.ocr-pass-monitor.monitor-not-required .ocr-pass-target{color:#8da18d;border-color:#34453a}
.ocr-pass-row.not-required{opacity:.46}
.ocr-pass-row.not-required .ocr-pass-track{
  background:repeating-linear-gradient(90deg,#071008 0 8px,#0d170e 8px 16px);
}
.ocr-pass-row.not-required .ocr-pass-state{color:#718072}
.ocr-best-result.result-flash{animation:ocrBestPanelFlash 1.45s ease-out 1}
.ocr-winner-toast{
  position:absolute;
  z-index:12;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  min-width:310px;
  padding:16px 24px 15px;
  border:2px solid #b0ff8c;
  background:rgba(4,15,5,.96);
  text-align:center;
  pointer-events:none;
  box-shadow:0 0 0 1px rgba(162,255,125,.22),0 0 38px rgba(126,255,91,.40),inset 0 0 24px rgba(126,255,91,.10);
  animation:ocrWinnerToast 1.65s ease-out 1;
}
.ocr-winner-toast span{display:block;color:#83ba75;font-size:9px;letter-spacing:1.5px}
.ocr-winner-toast strong{display:block;margin:7px 0 5px;color:#caffb7;font-size:42px;line-height:1;text-shadow:0 0 14px rgba(162,255,125,.62)}
.ocr-winner-toast em{display:block;color:#9dff7d;font-size:10px;font-style:normal}
@keyframes ocrBestPanelFlash{
  0%,100%{filter:brightness(1)}
  18%{filter:brightness(2.25);box-shadow:0 0 28px rgba(165,255,130,.45)}
  42%{filter:brightness(1.2)}
  65%{filter:brightness(1.8)}
}
@keyframes ocrWinnerToast{
  0%{opacity:0;transform:translate(-50%,-46%) scale(.94)}
  15%{opacity:1;transform:translate(-50%,-50%) scale(1.03)}
  72%{opacity:1}
  100%{opacity:0;transform:translate(-50%,-53%) scale(1)}
}


/* v0.11 // sanitation + structure + entity semantics */
.sanitation-panel{margin-top:18px;padding:18px}
.sanitation-kpis{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:8px;
  margin:14px 0;
}
.sanitation-kpis>div{
  border:1px solid var(--line);
  background:#0a0e0b;
  padding:10px;
}
.sanitation-kpis strong{
  display:block;
  margin-top:5px;
  color:#a6ff83;
  font-size:16px;
}
.sanitation-layout{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.subhead{
  color:#7fbf73;
  font-size:9px;
  letter-spacing:1px;
  margin:0 0 7px;
}
.sanitation-list{
  border:1px solid #263229;
  background:#070b08;
  min-height:120px;
  max-height:240px;
  overflow:auto;
}
.sanitation-row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  padding:7px 9px;
  border-bottom:1px solid #172019;
  font-size:9px;
}
.sanitation-row:last-child{border-bottom:0}
.sanitation-row strong{color:#a6ff83}
.sanitation-row.warn strong{color:#e3d37b}
.sanitation-row.fail strong{color:#e9a27f}
.entity-item .entity-meta{
  color:#66806a;
  font-size:8px;
  margin-top:2px;
}
.entity-item.unresolved{opacity:.72}
.entity-item.work{border-left:2px solid #547555}
@media(max-width:1050px){
  .sanitation-kpis{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
  .sanitation-layout{grid-template-columns:1fr}
  .sanitation-kpis{grid-template-columns:1fr 1fr}
}


/* v0.12 // archival intelligence */
.archival-panel{margin-top:18px;padding:18px}
.archival-kpis{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
  margin:14px 0;
}
.archival-kpis>div{
  border:1px solid var(--line);
  background:#0a0e0b;
  padding:10px;
}
.archival-kpis strong{
  display:block;
  margin-top:5px;
  color:#a6ff83;
  font-size:16px;
}
.archival-run-list{
  border:1px solid #263229;
  background:#070b08;
  max-height:260px;
  overflow:auto;
}
.archival-run{
  padding:9px 10px;
  border-bottom:1px solid #172019;
  font-size:9px;
}
.archival-run:last-child{border-bottom:0}
.archival-run-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  color:#a6ff83;
}
.archival-run-files{
  margin-top:5px;
  color:#718372;
  line-height:1.45;
}
.archival-run-confidence{color:#86c97b}
.evidence-toggle{
  align-self:end;
  min-height:34px;
  display:flex!important;
  align-items:center;
  gap:7px;
  padding:0 8px;
  border:1px solid #2a3b2d;
}
.entity-item.object-row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
}
.object-stats{
  display:flex;
  flex-wrap:wrap;
  gap:6px 10px;
  color:#718372;
  font-size:8px;
  margin-top:4px;
}
.object-stats .core{color:#9dff7d}
.object-stats .uncertain{color:#d8c66f}
.object-aliases{
  margin-top:4px;
  color:#5e745f;
  font-size:8px;
}
.object-actions{
  display:flex;
  flex-direction:column;
  gap:4px;
  justify-content:center;
}
.object-row.uncertain{border-left:2px solid #8f7b3c}
.object-row.core{border-left:2px solid #4d9b48}
.object-row.ignored{opacity:.35}
.evidence-card{
  border:1px solid #27342a;
  background:#080c09;
  padding:10px;
  margin-bottom:8px;
}
.evidence-card.core{border-left:2px solid #69ba58}
.evidence-card.uncertain{border-left:2px solid #a18a45}
.evidence-card-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-bottom:7px;
}
.evidence-badges{
  display:flex;
  gap:5px;
  flex-wrap:wrap;
}
.evidence-badge{
  border:1px solid #314337;
  padding:2px 5px;
  color:#7fa985;
  font-size:8px;
}
.evidence-badge.core{color:#a6ff83;border-color:#4c7b48}
.evidence-badge.uncertain{color:#dfcd7a;border-color:#796b3b}
.evidence-snippet{
  color:#b6c7b5;
  line-height:1.55;
  font-size:10px;
}
.evidence-actions{
  margin-top:8px;
  display:flex;
  gap:6px;
}
.source-viewer{
  position:fixed;
  inset:0;
  z-index:9999;
  background:rgba(0,0,0,.86);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
}
.source-viewer.hidden{display:none}
.source-viewer-shell{
  width:min(1100px,96vw);
  max-height:94vh;
  display:flex;
  flex-direction:column;
  background:#050805;
  border:1px solid #3a5a3f;
  box-shadow:0 0 40px rgba(93,255,104,.12);
}
.source-viewer-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  padding:12px 14px;
  border-bottom:1px solid #233127;
}
.source-viewer-body{
  overflow:auto;
  padding:12px;
  display:flex;
  justify-content:center;
  background:#020302;
}
#sourceViewerCanvas{
  max-width:100%;
  height:auto;
  background:white;
}
.source-viewer-shell>.note{margin:0 12px 12px}
@media(max-width:850px){
  .archival-kpis{grid-template-columns:1fr 1fr}
}


/* v0.13 // Evidence Span architecture */
.sanitation-kpis{
  grid-template-columns:repeat(4,1fr);
}
.relationship-current{
  grid-template-columns:repeat(5,minmax(0,1fr));
}
.object-stats .objectness{color:#b2ff9b}
.object-stats .reading{color:#81c98b}
.object-stats .lexical{color:#86a98b}
.evidence-span-id{
  color:#b1ff93;
  font-family:inherit;
  letter-spacing:.6px;
}
.directness-direct{color:#a8ff88}
.directness-likely{color:#90d783}
.directness-mediated{color:#d7c36f}
.directness-cooc{color:#8a8f86}
.quality-matrix{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:5px;
  margin:7px 0;
}
.quality-matrix>span{
  border:1px solid #263329;
  padding:4px 5px;
  font-size:8px;
  color:#78917b;
}
.quality-matrix strong{
  display:block;
  margin-top:2px;
  color:#b1d8ae;
  font-size:9px;
}
.evidence-object-set{
  margin-top:6px;
  color:#78917b;
  font-size:8px;
}
@media(max-width:900px){
  .relationship-current{grid-template-columns:1fr 1fr}
  .quality-matrix{grid-template-columns:1fr 1fr}
}


/* v0.13.1 // explicit failure + recovery UX */
.analysis-error-panel{
  border:1px solid #b76a52;
  background:
    linear-gradient(90deg,rgba(115,36,24,.15),rgba(45,15,12,.08)),
    #0c0807;
  padding:14px;
  margin-bottom:14px;
  box-shadow:inset 0 0 22px rgba(255,93,57,.05);
}
.analysis-error-panel.hidden{display:none}
.analysis-error-top{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
}
.analysis-error-class{
  color:#ff9f7f;
  font-size:9px;
  letter-spacing:1.4px;
}
.analysis-error-title{
  margin-top:4px;
  color:#ffc0a8;
  font-size:20px;
  letter-spacing:1.6px;
  font-weight:700;
}
.analysis-error-stage{
  border:1px solid #9c5947;
  color:#ffb293;
  padding:7px 9px;
  font-size:9px;
  text-align:right;
}
.analysis-error-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin:13px 0 10px;
}
.analysis-error-grid>div{
  border:1px solid #4d3029;
  padding:9px;
  background:#090605;
}
.analysis-error-grid strong{
  display:block;
  margin-top:4px;
  color:#efc2b2;
  font-size:9px;
  line-height:1.4;
  overflow-wrap:anywhere;
}
.analysis-error-message{
  border-left:2px solid #be654d;
  padding:9px 10px;
  color:#eeb5a2;
  background:#100907;
  font-size:10px;
  line-height:1.55;
}
.analysis-error-actions{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:10px;
}
.analysis-error-details{
  margin:10px 0 0;
  max-height:260px;
  overflow:auto;
  border:1px solid #4d3029;
  padding:10px;
  background:#040303;
  color:#cb9989;
  white-space:pre-wrap;
  font-size:9px;
  line-height:1.45;
}
.analysis-error-note{
  margin-top:9px;
  color:#9b7467;
  font-size:8px;
  line-height:1.45;
}
.research-progress.halted{
  border-color:#764638;
}
.research-progress.halted .progress-track{
  border-color:#814c3d;
  background:#130a08;
}
.research-progress.halted .progress-bar{
  background:repeating-linear-gradient(
    90deg,
    #c36a4e 0 10px,
    #9c4f3c 10px 13px
  )!important;
  box-shadow:0 0 12px rgba(211,100,72,.18);
}
.research-progress.halted #researchStage,
.research-progress.halted #researchProgressPct{
  color:#ffad8e;
}
.process-badge.error-loud{
  border-color:#a95e49!important;
  color:#ffad8e!important;
  background:#160b08!important;
  font-weight:700;
  letter-spacing:1px;
}
.process-badge.partial-state{
  border-color:#937b42!important;
  color:#e5d27d!important;
  background:#121006!important;
}
@media(max-width:900px){
  .analysis-error-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .analysis-error-grid{grid-template-columns:1fr}
}


/* =====================================================================
   v0.14 // PDF TOOLKIT
   ===================================================================== */

/* Utility-first navigation. Advanced research/archive tools use a subtle
   desaturated cyan accent without breaking the phosphor-green system. */
.nav-btn.advanced-nav{
  color:#78aa9d;
  border-color:#33534c;
  background:rgba(43,78,69,.08);
}
.nav-btn.advanced-nav:hover,
.nav-btn.advanced-nav.active{
  color:#94c9bb;
  border-color:#4e7b70;
  background:rgba(54,100,88,.13);
}
.topnav{flex-wrap:wrap}
.research-actions-primary{
  margin:12px 0 10px;
  padding:10px;
  border:1px solid #314337;
  background:#080d09;
}

/* Shrink target / quality */
.target-size-head{align-items:flex-end}
.target-size-head>div:first-child{display:flex;flex-direction:column;gap:4px}
#targetSizeHero{font-size:28px;color:#b8ff9c;line-height:1}
.target-ratio{text-align:right}
.target-ratio span{display:block;color:#68816d;font-size:8px}
.target-ratio strong{color:#91cf80}
.target-scale-labels{display:flex;justify-content:space-between;color:#59705d;font-size:8px;margin-top:-3px}
.shrink-presets .mini-btn{min-width:82px}
.target-direct-prominent input{font-size:16px;color:#b4ff98}
.shrink-quality-card{border:1px solid #2d4031;background:#080d09;padding:11px;margin:11px 0}
.shrink-quality-head{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:9px}
.shrink-quality-head strong{font-size:15px;color:#abff8c}
.quality-meter{height:10px;border:1px solid #2e4d34;background:#050805;margin:8px 0}
.quality-meter-bar{height:100%;width:86%;background:repeating-linear-gradient(90deg,#89ea70 0 10px,#6bc25d 10px 13px)}
.quality-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.quality-breakdown>div{border:1px solid #1f2d22;padding:6px}
.quality-breakdown span{display:block;color:#617566;font-size:8px}
.quality-breakdown strong{display:block;margin-top:3px;color:#a3cfa0;font-size:9px}

/* Quick Tools */
.quick-tools-hero{margin-bottom:16px}
.tool-launcher{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:14px}
.tool-launch{border:1px solid #2a392d;background:#080c09;color:#7e967e;padding:10px 8px;font:inherit;font-size:9px;cursor:pointer}
.tool-launch:hover,.tool-launch.active{border-color:#54804f;color:#adff91;background:#0b130c}
.quick-tool-panel{display:none;margin-bottom:16px}
.quick-tool-panel.active{display:block}
.qt-source-row{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;margin:12px 0}
.qt-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}
.qt-grid label{display:flex;flex-direction:column;gap:5px;color:#718174;font-size:8px}
.qt-grid input,.qt-grid select{width:100%}
.qt-status{margin-top:10px;border-top:1px solid #1f2b22;padding-top:8px;color:#79927c;font-size:9px}
.qt-pre{min-height:150px;max-height:280px;overflow:auto;border:1px solid #223027;background:#050805;padding:10px;color:#9cc69b}
.organize-toolbar{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.organize-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:9px;max-height:660px;overflow:auto;padding:4px}
.organize-page{border:1px solid #26332a;background:#070a08;padding:7px;cursor:grab}
.organize-page.selected{border-color:#8ce270;box-shadow:inset 0 0 0 1px #355934}
.organize-thumb-wrap{height:170px;display:flex;justify-content:center;align-items:center;background:#020302;overflow:hidden}
.organize-thumb{max-width:100%;max-height:166px}
.organize-page-meta{display:flex;justify-content:space-between;gap:7px;margin:6px 0;color:#758878;font-size:8px}
.organize-page-meta strong{color:#a8ff8c}
.organize-page-actions{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.checksum-results,.blank-results{max-height:420px;overflow:auto;border:1px solid #202d23;background:#060906;margin-top:10px}
.checksum-row{display:grid;grid-template-columns:minmax(180px,1fr) 2fr;gap:10px;padding:8px;border-bottom:1px solid #172019}
.checksum-row>div{display:flex;flex-direction:column;gap:3px}
.checksum-row span{color:#617365;font-size:8px}
.checksum-row code{font-size:8px;color:#759379;overflow-wrap:anywhere}
.checksum-row.duplicate{border-left:2px solid #d0bd62}
.blank-row{display:grid;grid-template-columns:auto 1fr auto;gap:9px;padding:8px;border-bottom:1px solid #172019;align-items:center;font-size:9px}
.blank-row strong{color:#91ad90}
.scan-enhance-teaser{margin-top:16px;border-color:#334942}
.scan-enhance-grid{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.scan-enhance-grid span{border:1px solid #2b4039;color:#76a99a;padding:5px 7px;font-size:8px}

@media(max-width:1100px){
  .tool-launcher{grid-template-columns:repeat(3,minmax(0,1fr))}
  .qt-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .tool-launcher{grid-template-columns:1fr 1fr}
  .qt-source-row{grid-template-columns:1fr}
  .qt-grid{grid-template-columns:1fr}
  .quality-breakdown{grid-template-columns:1fr}
}

/* v0.14.1 hardening */
.research-quick-preflight{margin-top:10px;border:1px solid #2b3e31;background:#080d09;padding:11px}
.terminal-head.compact{padding:0 0 8px}
.preflight-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:7px 0 9px}
.preflight-summary>div{border:1px solid #203025;padding:7px;background:#050805}
.preflight-summary strong{display:block;color:#a9ff8e;margin-top:3px}
.preflight-rows{max-height:320px;overflow:auto;border:1px solid #1f2d22;background:#040704}
.preflight-row{display:grid;grid-template-columns:minmax(220px,2fr) 90px 120px 110px minmax(180px,1.2fr);gap:8px;align-items:center;padding:8px 9px;border-bottom:1px solid #172019;font-size:8px}
.preflight-row .name{color:#a8cba6;overflow-wrap:anywhere}.preflight-row .risk{font-weight:700}
.preflight-row .risk.light,.preflight-row .risk.normal{color:#9ed48f}.preflight-row .risk.heavy{color:#d0c66c}
.preflight-row .risk.very-high,.preflight-row .risk.extreme,.preflight-row .risk.review{color:#e39b78}
.preflight-row .rec{color:#718473;line-height:1.4}.target-direct-prominent #targetLimitNote{margin-top:6px;color:#7d927f}
@media(max-width:1000px){.preflight-row{grid-template-columns:1fr 80px 100px}.preflight-row .rec{grid-column:1/-1}}
@media(max-width:650px){.preflight-summary{grid-template-columns:1fr 1fr}}


/* v0.14.2 // OCR target relocation + candidate visibility */
.research-ocr-target-inline{margin:10px 0 8px}
.research-ocr-target-inline .ocr-target-card{width:100%;min-width:0}
.research-ocr-target-inline .ocr-target-presets{max-width:760px}
.possible-same-object-cluster{
  margin-top:5px;
  padding:5px 7px;
  border-left:2px solid #617b51;
  background:#080d08;
  color:#86a983;
  font-size:8px;
  line-height:1.4;
}
.possible-same-object-cluster strong{color:#b6ff96;letter-spacing:.5px}
#copyFileReportBtn.ai-handoff-success,
#copyPageReportBtn.ai-handoff-success,
#copyAsciiMapBtn.ai-handoff-success,
#copyEdgeListBtn.ai-handoff-success{
  color:#baff9d;
  border-color:#7edb68;
  box-shadow:0 0 12px rgba(126,219,104,.18);
}


/* v0.14.3 // ABOUT + CONTACT + FREE FOREVER */
.contact-nav-btn{
  font:inherit;
  font-size:10px;
  letter-spacing:.08em;
  border:1px solid #334139;
  background:#0d100e;
  color:#a7b0aa;
  padding:8px 10px;
  cursor:pointer;
  white-space:nowrap;
  margin-left:18px;
}
.contact-nav-btn:hover,
.contact-nav-btn:focus-visible{
  color:var(--green);
  border-color:#55724f;
  outline:none;
}
.nav-btn.about-nav{border-color:#35423a;color:#98a29b}
.nav-btn.about-nav:hover,.nav-btn.about-nav.active{border-color:#55724f;color:var(--green);background:#101711}
.free-forever-line{
  margin-top:12px;
  padding:9px 11px;
  border-left:3px solid var(--green);
  background:#0b110c;
  color:#c8d0c9;
  font-size:12px;
  line-height:1.5;
}
.free-forever-line strong{color:var(--green);letter-spacing:.08em}
.about-hero{margin-bottom:14px}
.about-intro{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:18px;align-items:stretch}
.about-intro h2{font-size:30px;margin:8px 0 10px;color:#e8ebe6}
.about-intro p{color:#aeb7b0;line-height:1.65;max-width:900px}
.about-free-card{border:1px solid #42603d;background:#0a100b;padding:16px;display:flex;flex-direction:column;justify-content:center}
.about-free-card span{font-size:9px;color:#718276;letter-spacing:.12em}
.about-free-card strong{font-size:25px;color:var(--green);margin:5px 0 7px}
.about-free-card p{font-size:10px;margin:0;color:#9ea8a0}
.about-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.about-card h3{margin:8px 0 10px;color:#dfe5df;font-size:17px}
.about-card p{color:#9da79f;line-height:1.6;margin-bottom:12px}

.contact-modal-overlay{
  position:fixed;
  inset:0;
  z-index:12000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(0,0,0,.78);
  backdrop-filter:blur(5px);
}
.contact-modal-overlay.hidden{display:none}
.contact-modal-shell{
  width:min(720px,100%);
  max-height:90vh;
  overflow:auto;
  border:1px solid #405344;
  background:#090c0a;
  box-shadow:0 22px 70px rgba(0,0,0,.55);
  padding:18px;
}
.contact-modal-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:12px}
.contact-modal-head h2{font-size:25px;margin:6px 0 0;color:#eef0eb}
.contact-modal-copy{color:#aeb5af;line-height:1.55;margin:14px 0}
.contact-modal-copy strong{color:var(--green)}
.contact-form{display:grid;gap:12px}
.contact-form label{display:grid;gap:6px;color:#7f8a82;font-size:9px;letter-spacing:.06em}
.contact-form select,.contact-form input,.contact-form textarea{width:100%;box-sizing:border-box;border:1px solid #2a382e;background:#050806;color:#d8ded8;padding:10px 11px;font:inherit}
.contact-form textarea{resize:vertical;min-height:150px;line-height:1.5}
.contact-form select:focus,.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:#55724f;box-shadow:0 0 0 1px rgba(157,255,106,.08)}
.contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.contact-form-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:2px}
.contact-mail-note{border-top:1px solid var(--line);padding-top:10px;color:#69736c;font-size:9px;line-height:1.5}
.contact-mail-note strong{color:#9eb39f}
.contact-copy-success{color:var(--green)!important;border-color:#6bb65b!important;box-shadow:0 0 10px rgba(107,182,91,.12)}

@media(max-width:950px){
  .contact-nav-btn{margin-left:0}
  .about-intro,.about-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .contact-form-grid{grid-template-columns:1fr}
  .contact-modal-overlay{padding:10px}
  .contact-modal-shell{padding:14px}
}


/* =====================================================================
   v0.14.8 // RELEASE HARDENING
   Consolidated Research Navigator + Contact + Compact OCR + HOME styles.
   ===================================================================== */

:root{
  --app-header-offset:92px;
  --research-shell-width:1450px;
  --research-nav-width:196px;
}

.research-nav-target{
  scroll-margin-top:var(--app-header-offset);
}

/* -----------------------------
   RESEARCH NAVIGATION
   ----------------------------- */

.research-jump-nav{
  display:none;
  position:fixed;
  z-index:90;
  top:calc(var(--app-header-offset) + 4px);
  width:var(--research-nav-width);
  max-height:calc(100vh - var(--app-header-offset) - 20px);
  overflow:hidden;
  border:1px solid #31463a;
  background:linear-gradient(180deg,rgba(17,24,20,.98),rgba(6,10,7,.98));
  box-shadow:0 12px 30px rgba(0,0,0,.28);
  font-size:9px;
}

.research-jump-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
  padding:9px;
  border-bottom:1px solid #26372d;
  color:#a8ff8d;
  letter-spacing:.08em;
  font-weight:700;
}

.research-jump-head button{
  border:1px solid #36513d;
  background:#09100b;
  color:#95bd91;
  font:inherit;
  font-size:8px;
  padding:4px 6px;
  cursor:pointer;
}

.research-jump-head button:hover,
.research-jump-head button:focus-visible{
  color:#c5ffad;
  border-color:#6d9e66;
  outline:none;
}

.research-jump-status{
  padding:7px 9px;
  border-bottom:1px solid #1d2a21;
  background:#070c08;
  color:#6d846f;
  line-height:1.35;
}

.research-jump-status span{color:#b9ff9d}

.research-jump-list{
  display:flex;
  flex-direction:column;
  max-height:calc(100vh - var(--app-header-offset) - 122px);
  overflow:auto;
  scrollbar-width:thin;
  scrollbar-color:#526957 #0b100c;
}

.research-jump-list button{
  appearance:none;
  width:100%;
  border:0;
  border-bottom:1px solid #172219;
  background:#0a0e0b;
  color:#829083;
  text-align:left;
  padding:7px 9px;
  font:inherit;
  font-size:8px;
  letter-spacing:.035em;
  cursor:pointer;
  transition:color .12s ease,background .12s ease,border-color .12s ease,padding-left .12s ease;
}

.research-jump-list button:hover,
.research-jump-list button:focus-visible{
  color:#b8ff9a;
  background:#0d160f;
  padding-left:12px;
  outline:none;
}

.research-jump-list button.active{
  color:#caffad;
  background:#102014;
  border-left:3px solid #9dff7d;
  padding-left:7px;
}

.research-jump-list button.network-jump{color:#b7dba9}

.research-jump-list button.network-jump.active,
.research-jump-list button.network-jump:hover{
  color:#d3ffbd;
  background:#132718;
  box-shadow:inset 0 0 12px rgba(157,255,125,.035);
}

.research-jump-list button.nav-unavailable{
  opacity:.33;
  cursor:not-allowed;
}

.research-jump-list button.nav-unavailable:hover{
  color:#829083;
  background:#0a0e0b;
  padding-left:9px;
}

.research-jump-divider{
  padding:6px 9px 5px;
  border-bottom:1px solid #243129;
  background:#070a08;
  color:#536458;
  font-size:7px;
  letter-spacing:.14em;
}

.research-jump-foot{
  display:grid;
  gap:3px;
  border-top:1px solid #26372d;
  padding:8px 9px;
  background:#060906;
  color:#536458;
  font-size:7px;
  line-height:1.4;
}

.research-jump-foot strong{
  color:#6f956c;
  font-weight:400;
}

.research-nav-toggle{
  display:none;
  position:fixed;
  z-index:89;
  top:calc(var(--app-header-offset) + 8px);
  right:16px;
  border:1px solid #36513d;
  background:#09100b;
  color:#a7d79b;
  padding:8px 10px;
  font:inherit;
  font-size:9px;
  letter-spacing:.06em;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(0,0,0,.24);
}

.research-nav-toggle:hover,
.research-nav-toggle:focus-visible,
.research-nav-toggle[aria-expanded="true"]{
  color:#caffad;
  border-color:#6d9e66;
  background:#102014;
  outline:none;
}

#researchView:not(.active) .research-jump-nav,
#researchView:not(.active) .research-nav-toggle{
  display:none !important;
}

/* Normal desktop / laptop:
   compact floating navigator opened by RESEARCH NAV. */
@media(min-width:1024px) and (max-width:1887px){
  #researchView.active .research-nav-toggle{
    display:block;
  }

  #researchView.active .research-jump-nav.compact-open{
    display:block;
    top:calc(var(--app-header-offset) + 48px);
    right:16px;
    left:auto;
    width:min(320px,calc(100vw - 32px));
    max-height:calc(100vh - var(--app-header-offset) - 64px);
  }

  #researchView.active .research-jump-nav.compact-open .research-jump-list{
    max-height:calc(100vh - var(--app-header-offset) - 170px);
  }
}

/* Wide desktop:
   full rail fits entirely in the actual free margin.
   No 1780px overflow bug, no magic-number left positioning. */
@media(min-width:1888px){
  #researchView.active .research-jump-nav{
    display:block;
    left:auto;
    right:max(
      16px,
      calc((100vw - var(--research-shell-width))/2 - var(--research-nav-width) - 16px)
    );
  }

  #researchView.active .research-nav-toggle{
    display:none;
  }
}

/* -----------------------------
   CONTACT
   ----------------------------- */

.button:focus-visible,
.mini-btn:focus-visible,
.nav-btn:focus-visible,
.contact-nav-btn:focus-visible{
  outline:2px solid var(--green);
  outline-offset:2px;
}

.contact-form label,
.contact-mail-note{
  font-size:10px;
}

body.modal-open{overflow:hidden}

.contact-honey{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0 0 0 0) !important;
  clip-path:inset(50%) !important;
  white-space:nowrap !important;
  border:0 !important;
  opacity:0 !important;
  pointer-events:none !important;
}

.contact-status{
  min-height:18px;
  font-size:10px;
  letter-spacing:.04em;
  color:#718072;
}
.contact-status.sending{color:#9ba79d}
.contact-status.success{color:var(--green)}
.contact-status.error{color:#df8b7d}
#contactSendBtn:disabled{opacity:.55;cursor:wait}

/* -----------------------------
   COMPACT OCR
   ----------------------------- */

.ocr-pass-monitor{padding:10px 12px}

.ocr-compact-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:8px;
}

.ocr-compact-head>div:first-child{min-width:0}

.ocr-compact-head strong{
  display:block;
  margin-top:4px;
  color:#baff98;
  font-size:13px;
  letter-spacing:.02em;
}

.ocr-compact-context{
  display:block;
  margin-top:3px;
  color:#667569;
  font-size:8px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:980px;
}

.ocr-compact-track{
  height:10px;
  border:1px solid #29432b;
  background:#020503;
  overflow:hidden;
  margin-bottom:8px;
}

.ocr-compact-bar{
  width:0;
  height:100%;
  background:repeating-linear-gradient(90deg,#6fd957 0 8px,#9cff78 8px 15px);
  background-size:30px 100%;
  box-shadow:0 0 8px rgba(121,232,92,.18);
  transition:width .2s ease;
}

.ocr-pass-details{
  border-top:1px solid #1e2c21;
  margin-top:7px;
}

.ocr-pass-details summary{
  display:flex;
  align-items:center;
  gap:10px;
  cursor:pointer;
  user-select:none;
  padding:8px 0 3px;
  color:#87a384;
  font-size:9px;
  letter-spacing:.06em;
  list-style:none;
}

.ocr-pass-details summary::-webkit-details-marker{display:none}

.ocr-pass-details summary::before{
  content:"+";
  display:inline-grid;
  place-items:center;
  width:15px;
  height:15px;
  border:1px solid #36503a;
  color:#9dd58d;
  font-size:10px;
}

.ocr-pass-details[open] summary::before{content:"−"}
.ocr-pass-details summary span{color:#b7eaa6;font-weight:700}
.ocr-pass-details summary em{color:#526357;font-style:normal;font-size:8px}
.ocr-pass-details-body{padding-top:6px}
.ocr-pass-details:not([open]) .ocr-pass-details-body{display:none}

/* Restore the original safe stacking level. */
.ocr-winner-toast{z-index:12}

/* -----------------------------
   HOME BRAND
   ----------------------------- */

.brand-home{
  appearance:none;
  border:0;
  background:transparent;
  color:inherit;
  padding:0;
  margin:0;
  text-align:left;
  cursor:pointer;
  font:inherit;
}

.brand-home:hover .brand-main,
.brand-home:focus-visible .brand-main{
  color:var(--green);
}

.brand-home:focus-visible{
  outline:1px solid #4e6a50;
  outline-offset:6px;
}

.brand-home .brand-main,
.brand-home .brand-sub{
  display:block;
}

@media(max-width:800px){
  .ocr-compact-head{
    align-items:flex-start;
    flex-direction:column;
    gap:7px;
  }
}
