/* THE INSTRUMENT — styles. Parity state is the loudest element on the page: if the
   browser engine and the Python detector disagree, that has to dominate everything. */
.ins-wrap {
  --ground:#0C0C0F; --panel:#14141A; --line:#2A2A33; --text:#E6E4DE;
  --muted:#84838F; --red:#CC0000; --amber:#E8A33D; --green:#6fd08c;
  --mono: ui-monospace,"JetBrains Mono","Cascadia Code",Consolas,monospace;
  color: var(--text);
}
.ins-wrap h3 { margin:1.5rem 0 .5rem; font-size:.95rem; text-transform:uppercase; letter-spacing:.1em; color:var(--muted); border-bottom:1px solid var(--line); padding-bottom:.3rem; }
.ins-wrap h4 { margin:1.2rem 0 .4rem; font-size:.75rem; text-transform:uppercase; letter-spacing:.09em; color:var(--amber); }
.ins-lede { color:var(--muted); line-height:1.65; max-width:64ch; font-size:.9rem; }

.ins-parity { font-family:var(--mono); font-size:.74rem; padding:.6rem .9rem; margin:0 0 1rem; border-left:2px solid; line-height:1.5; }
.ins-ok { border-color:var(--green); background:rgba(111,208,140,.06); color:var(--muted); }
.ins-ok b { color:var(--green); }
.ins-drift { border-color:var(--red); background:rgba(204,0,0,.10); color:var(--text); }

.ins-tabs { display:flex; flex-wrap:wrap; gap:.35rem; margin-bottom:1rem; border-bottom:1px solid var(--line); padding-bottom:.7rem; }
.ins-tab { font-family:var(--mono); font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); border:1px solid var(--line); padding:.32rem .7rem; text-decoration:none; cursor:pointer; }
.ins-tab.on { color:var(--text); border-color:var(--red); }

.ins-form textarea { width:100%; min-height:150px; font-family:var(--mono); font-size:.78rem; background:var(--ground); color:var(--text); border:1px solid var(--line); padding:.6rem; outline:none; resize:vertical; }
.ins-form textarea:focus { border-color:var(--amber); }
.ins-btns { display:flex; gap:.4rem; margin:.5rem 0 1rem; }
.ins-btns button { font-family:var(--mono); font-size:.7rem; letter-spacing:.09em; background:var(--ground); color:var(--red); border:1px solid #5a1818; padding:.42rem 1rem; cursor:pointer; }
.ins-btns button:hover { border-color:var(--red); }
.ins-btns button.ins-2nd { color:var(--muted); border-color:var(--line); }

.ins-verdict { font-family:var(--mono); font-size:.76rem; padding:.6rem .9rem; border-left:2px solid var(--muted); background:var(--panel); color:var(--muted); line-height:1.6; }
.ins-lens { border:1px solid var(--line); border-left:2px solid var(--red); background:var(--panel); padding:.6rem .85rem; margin:.55rem 0; }
.ins-lens-head { display:flex; justify-content:space-between; align-items:baseline; gap:.6rem; font-size:.9rem; }
.ins-idx { font-family:var(--mono); font-size:.62rem; border:1px solid; padding:.05rem .4rem; white-space:nowrap; }
.ins-t-dense { color:var(--red); border-color:#5a1818; }
.ins-t-notable { color:var(--amber); border-color:#5a3f18; }
.ins-t-incidental { color:var(--muted); border-color:var(--line); }
.ins-metrics { font-family:var(--mono); font-size:.62rem; color:var(--muted); margin:.25rem 0 .4rem; }
.ins-hits { list-style:none; padding:0; margin:0; }
.ins-hits li { font-size:.76rem; padding:.2rem 0; border-top:1px solid #1c1c22; }
.ins-hits code { color:var(--amber); font-size:.68rem; }
.ins-ctx { color:var(--muted); }
.ins-ctx mark { background:rgba(204,0,0,.25); color:var(--text); padding:0 .1rem; }
.ins-note { font-size:.78rem; color:#5c5b66; line-height:1.6; margin:.9rem 0; border-left:1px solid var(--line); padding-left:.7rem; }

.ins-cut { border:1px solid var(--line); background:var(--panel); padding:.5rem .75rem; margin:.4rem 0; }
.ins-cut-head { display:flex; justify-content:space-between; gap:.6rem; align-items:baseline; }
.ins-cut-head code { color:var(--text); font-size:.74rem; }
.ins-verdict-tag { font-family:var(--mono); font-size:.58rem; letter-spacing:.08em; color:var(--red); border:1px solid #5a1818; padding:.02rem .35rem; }
.ins-count { font-family:var(--mono); font-size:.58rem; letter-spacing:.08em; color:var(--muted); border:1px solid var(--line); padding:.02rem .35rem; }
.ins-cut-why { font-size:.76rem; color:var(--muted); line-height:1.55; margin-top:.3rem; }
.ins-cuelist { display:flex; flex-wrap:wrap; gap:.25rem; margin-top:.4rem; }
.ins-cuelist span { font-family:var(--mono); font-size:.62rem; color:#5c5b66; border:1px dashed var(--line); padding:.05rem .35rem; text-decoration:line-through; }

.ins-book { margin:1rem 0; }
.ins-book-head { display:flex; justify-content:space-between; align-items:baseline; border-bottom:1px solid var(--line); padding-bottom:.3rem; font-size:.95rem; }
.ins-book-head span { font-family:var(--mono); font-size:.64rem; color:var(--muted); }
.ins-chap { border-left:1px solid var(--line); padding:.35rem 0 .35rem .7rem; margin:.35rem 0; }
.ins-chap-head { display:flex; justify-content:space-between; font-family:var(--mono); font-size:.68rem; color:var(--text); }
.ins-chap-head span { color:var(--amber); }
.ins-chap-lens { font-size:.72rem; color:var(--muted); margin:.2rem 0; display:flex; flex-wrap:wrap; gap:.25rem; align-items:center; }
.ins-chap-lens code { color:var(--muted); font-size:.64rem; }
.ins-span { font-family:var(--mono); font-size:.6rem; border:1px solid var(--line); padding:.02rem .3rem; color:#5c5b66; }

.ins-limits { padding-left:1.1rem; }
.ins-limits li { font-size:.86rem; line-height:1.6; color:var(--muted); margin:.4rem 0; }
.ins-limits b { color:var(--text); }

@media (max-width:768px) { .ins-lens-head { flex-direction:column; } }
