/* ---- editor chrome: sits on top of report.css tokens ---- */
.editbtn{
  font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.68rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--paper);background:var(--magenta);border:1px solid var(--magenta);
  border-radius:2px;padding:6px 12px;cursor:pointer;white-space:nowrap;
}
.editbtn:hover{filter:brightness(1.08)}
.editbtn[aria-expanded="true"]{background:transparent;color:var(--magenta)}
.editbtn:focus-visible{outline:2px solid var(--teal);outline-offset:2px}

.editor{border-bottom:1px solid var(--rule);background:var(--surface)}
.editor-in{max-width:1140px;margin:0 auto;padding:26px 22px 30px;display:flex;flex-direction:column;gap:18px}
.ed-head h2{font-size:1.5rem}
.ed-sub{max-width:66ch;font-size:.92rem;color:var(--ink-2);margin-top:6px}

.ed-rows{display:flex;flex-direction:column;border:1px solid var(--rule);border-radius:2px;background:var(--paper)}
.ed-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:3px 12px;align-items:start;
  padding:11px 14px;border-bottom:1px solid var(--rule-soft)}
.ed-row input[type=checkbox]{grid-column:1;grid-row:1;margin-top:4px}
.ed-row .nm{grid-column:2;grid-row:1;min-width:0;overflow-wrap:anywhere}
.ed-row .rm{grid-column:3;grid-row:1}
.ed-row .tw{grid-column:2;grid-row:2}
.ed-row:last-child{border-bottom:none}
.ed-row.off{opacity:.45}
.ed-row .nm{font-size:.94rem;line-height:1.3}
.ed-row .ad{display:block;font-size:.78rem;color:var(--ink-3)}
.ed-row .tw{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ed-row .tw > span{font-family:"IBM Plex Mono",monospace;font-size:.62rem;letter-spacing:.11em;
  text-transform:uppercase;color:var(--ink-3)}
.ed-row .tw select{font:inherit;font-size:.82rem;padding:3px 6px;border:1px solid var(--rule);
  border-radius:2px;background:var(--paper);color:var(--ink-2);max-width:100%}
.ed-row .tw select:focus-visible{outline:2px solid var(--magenta);outline-offset:1px}
.ed-row .rm{background:none;border:none;color:var(--ink-3);cursor:pointer;font-size:1.2rem;line-height:1;padding:2px 6px}
.ed-row .rm:hover{color:var(--crit)}
.ed-row input[type=checkbox]{accent-color:var(--magenta);width:16px;height:16px}
.ed-empty{padding:16px;color:var(--ink-3);font-size:.92rem}

.ed-add{display:grid;gap:12px;align-items:end;grid-template-columns:1fr}
@media(min-width:860px){.ed-add{grid-template-columns:2fr 1fr 1fr auto}}
.ed-field{display:flex;flex-direction:column;gap:5px}
.ed-field span{font-family:"IBM Plex Mono",monospace;font-size:.66rem;letter-spacing:.11em;
  text-transform:uppercase;color:var(--ink-3)}
.ed-field em{font-style:normal;text-transform:none;letter-spacing:0}
.ed-field input{font:inherit;font-size:.94rem;padding:9px 11px;border:1px solid var(--rule);
  border-radius:2px;background:var(--paper);color:var(--ink);width:100%}
.ed-field input:focus-visible{outline:2px solid var(--magenta);outline-offset:1px}

.btn{font-family:"IBM Plex Mono",monospace;font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;
  padding:9px 13px;border:1px solid var(--rule);border-radius:2px;background:var(--paper);
  color:var(--ink-2);cursor:pointer;white-space:nowrap}
.btn:hover{border-color:var(--ink-3);color:var(--ink)}
.btn:focus-visible{outline:2px solid var(--magenta);outline-offset:2px}
.btn.primary{background:var(--magenta);border-color:var(--magenta);color:var(--paper)}
.btn.primary:hover{filter:brightness(1.08);color:var(--paper)}
.btn.quiet{margin-left:auto;color:var(--ink-3)}
.btn[disabled]{opacity:.5;cursor:progress}
.ed-tools{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.ed-status{font-size:.88rem;color:var(--ink-2);min-height:1.3em}
.ed-status.err{color:var(--crit)}
.ed-status.ok{color:var(--good)}

.booting{padding:90px 0;display:flex;flex-direction:column;gap:8px}
.working{position:fixed;inset:auto 0 0 0;background:var(--magenta);color:var(--paper);
  font-family:"IBM Plex Mono",monospace;font-size:.72rem;letter-spacing:.08em;padding:9px 22px;z-index:60}
.working[hidden]{display:none}
