/* ==========================================================================
   Software Engineering for AI Engineers — widget styling.

   Load order:  platform.css → se-chapter.css → se-widgets.css
   Everything here is expressed in the custom properties se-chapter.css
   defines, so light mode and any future retheme carry through untouched.
   ========================================================================== */

.se-err{background:rgba(255,144,144,.09);border:1px solid var(--bad);border-radius:9px;
  padding:11px 14px;color:var(--bad);font-family:var(--mono);font-size:13px}
.se-h6{margin:18px 0 9px;font-size:11px;text-transform:uppercase;letter-spacing:1.1px;
  color:var(--tx3);font-weight:700}
.se-scen{background:var(--bg3);border-left:3px solid var(--ac);border-radius:0 9px 9px 0;
  padding:12px 16px;margin:0 0 16px;font-size:14px;color:var(--tx2)}
.se-scen b{color:var(--tx)}
.se-ok{color:var(--good)}
.se-no{color:var(--bad)}
.sp{margin-left:auto;color:var(--tx3);font-size:12px}

/* ------------------------------------------------------------- controls -- */
.se-pills{display:flex;gap:7px;flex-wrap:wrap}
.se-pills .chip{cursor:pointer;font-family:var(--sans)}
.chip.dead{border-color:var(--bad);color:var(--bad);background:rgba(255,144,144,.1);
  text-decoration:line-through}
.se-slider{display:grid;grid-template-columns:minmax(0,1fr) 150px 66px;gap:12px;
  align-items:center;margin:0 0 9px;font-size:13px;color:var(--tx2)}
.se-slider .sl-l{min-width:0}
.se-slider input[type=range]{width:100%;accent-color:var(--ac)}
.se-slider b{font-family:var(--mono);font-size:12.5px;color:var(--ac);text-align:right}
@media(max-width:620px){.se-slider{grid-template-columns:1fr;gap:4px}
  .se-slider b{text-align:left}}

.se-toggles{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.se-tog{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);
  border-radius:999px;padding:5px 13px;font-size:12.5px;color:var(--tx2);cursor:pointer;
  background:var(--bg);transition:.15s}
.se-tog:hover{border-color:var(--tx3)}
.se-tog.on{border-color:var(--ac);color:var(--ac);background:rgba(56,189,248,.09)}
.se-tog input{accent-color:var(--ac);margin:0}

.se-strat{margin:0 0 12px}

/* --------------------------------------------------------------- meters -- */
.se-meter{display:grid;grid-template-columns:minmax(0,1fr) 1.5fr 52px;gap:11px;
  align-items:center;margin:0 0 8px;font-size:13px}
.se-meter .ml{color:var(--tx2);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.se-meter .mb{height:8px;border-radius:99px;background:var(--bg);border:1px solid var(--line);
  overflow:hidden}
.se-meter .mb i{display:block;height:100%;background:var(--ac);transition:width .3s ease}
.se-meter .mv{font-family:var(--mono);font-size:12px;color:var(--tx2);text-align:right}
.se-meter.ok .mb i{background:var(--good)}
.se-meter.mid .mb i{background:var(--warn)}
.se-meter.bad .mb i{background:var(--bad)}

/* ------------------------------------------------------------- tradeoff -- */
.se-tg{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px}
@media(max-width:800px){.se-tg{grid-template-columns:1fr;gap:16px}}
.se-dec{margin:0 0 15px}
.se-dec-h{font-size:12px;text-transform:uppercase;letter-spacing:.9px;color:var(--tx3);
  font-weight:700;margin:0 0 7px}
.se-dec-h i{display:block;text-transform:none;letter-spacing:0;font-weight:400;
  font-style:normal;color:var(--tx3);font-size:12.5px;margin-top:3px}
.se-dec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:16px;
  margin:0 0 16px}
.se-cost{background:var(--bg3);border-radius:9px;padding:11px 14px;font-size:13.5px;
  color:var(--tx2);margin:14px 0 0}
.se-cost b{color:var(--tx)}
.se-why{margin:12px 0 0;padding-left:20px;font-size:13px;color:var(--tx2)}
.se-why li{margin:0 0 6px}
.se-verdict:empty{display:none}

/* ---------------------------------------------------------- constraints -- */
.se-cons{border:1px solid var(--line);border-radius:11px;padding:13px 16px;margin:0 0 18px;
  background:var(--bg)}
.se-cons h6{margin:0 0 10px;font-size:11px;text-transform:uppercase;letter-spacing:1.1px;
  color:var(--tx3);font-weight:700}
.se-con{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;margin:0 0 8px;font-size:13.5px}
.se-con .w{font-family:var(--mono);color:var(--ac);font-weight:700;font-size:12.5px}
.se-con i{display:block;font-style:normal;color:var(--tx3);font-size:12.5px}
.se-chosen{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;
  margin:0 0 16px}
.se-chose{border:1px solid var(--line);border-radius:9px;padding:10px 13px;background:var(--bg)}
.se-chose .k{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:1px;
  color:var(--tx3);margin-bottom:3px}
.se-chose b{font-size:13.5px}
.se-chose i{display:block;font-style:normal;color:var(--tx3);font-size:12.5px;margin-top:4px}

/* -------------------------------------------------------------- request -- */
.se-fall{display:flex;flex-direction:column;gap:5px;margin:0 0 12px}
.se-hop{display:grid;grid-template-columns:minmax(0,168px) 1fr 74px;gap:11px;align-items:center;
  font-size:13px}
.se-hop .hl{color:var(--tx2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.se-hop .hb{height:16px;border-radius:5px;background:var(--bg);border:1px solid var(--line);overflow:hidden}
.se-hop .hb i{display:block;height:100%;background:var(--ac);opacity:.75;transition:width .3s}
.se-hop .hv{font-family:var(--mono);font-size:12px;color:var(--tx2);text-align:right}
.se-hop .hn{grid-column:2/4;font-size:12px;color:var(--tx3);margin-top:-2px}
.se-hop.hot .hb i{background:var(--warn)}
.se-hop.hot .hv{color:var(--warn)}
.se-hop.gone{opacity:.4}
.se-hop.gone .hb i{background:var(--tx3)}
.se-fall-sum{background:var(--bg3);border-radius:9px;padding:11px 14px;font-size:13.5px;color:var(--tx2)}
.se-fall-sum b{color:var(--tx)}

/* ------------------------------------------------------------- capacity -- */
.se-cap-ctl{margin:0 0 16px}
.se-cap-out{border:1px solid var(--line);border-radius:11px;overflow:hidden;background:var(--bg)}
.se-cap-row{display:flex;justify-content:space-between;gap:14px;padding:9px 15px;
  border-bottom:1px solid var(--line);font-size:13.5px;color:var(--tx2)}
.se-cap-row:last-child{border-bottom:none}
.se-cap-row b{font-family:var(--mono);color:var(--tx);font-size:13px;text-align:right}
.se-cap-row i{font-style:normal}
.se-cap-row.total{background:var(--bg3)}
.se-cap-row.total b{color:var(--ac)}
.se-cap-note{margin-top:12px}

/* ------------------------------------------------------------------ log -- */
.se-log{border:1px solid var(--line);border-radius:11px;overflow:hidden;margin:0 0 14px;
  background:var(--bg);max-height:290px;overflow-y:auto}
.se-logline{display:grid;grid-template-columns:30px 34px minmax(0,150px) 1fr;gap:9px;
  padding:6px 13px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:12.5px}
.se-logline:last-child{border-bottom:none}
.se-logline .n{color:var(--tx3)}
.se-logline .op{font-weight:700;font-size:10.5px;letter-spacing:.5px;padding-top:1px}
.se-logline .op.r{color:var(--ac)}
.se-logline .op.w{color:var(--warn)}
.se-logline .k{color:var(--tx)}
.se-logline .r{color:var(--tx2)}
.se-logline.bad{background:rgba(255,144,144,.08)}
.se-logline.bad .r{color:var(--bad)}
.se-logline.warn .r{color:var(--warn)}
.se-logline.mid .r{color:var(--tx3)}
@media(max-width:700px){.se-logline{grid-template-columns:24px 30px 1fr;row-gap:2px}
  .se-logline .r{grid-column:1/4}}

/* ----------------------------------------------------------------- bars -- */
.se-bars{display:flex;flex-direction:column;gap:6px;margin:0 0 14px}
.se-bar{display:grid;grid-template-columns:minmax(0,176px) 1fr 82px;gap:11px;align-items:center;
  font-size:13px}
.se-bar .bl{color:var(--tx2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.se-bar .bb{height:15px;border-radius:5px;background:var(--bg);border:1px solid var(--line);overflow:hidden}
.se-bar .bb i{display:block;height:100%;background:var(--ac);opacity:.7;transition:width .3s}
.se-bar .bv{font-family:var(--mono);font-size:12px;color:var(--tx2);text-align:right}
.se-bar.win .bb i{background:var(--good);opacity:.85}
.se-bar.win .bv{color:var(--good)}
.se-bar.hot .bb i{background:var(--bad);opacity:.85}
.se-bar.hot .bv{color:var(--bad)}

/* ---------------------------------------------------------------- flags -- */
.se-flags{border:1px solid var(--warn);border-radius:11px;padding:13px 16px;margin:14px 0 0;
  background:rgba(255,192,107,.07)}
.se-flags.ok{border-color:var(--good);background:rgba(91,224,138,.07)}
.se-flags h6{margin:0 0 8px;font-size:11px;text-transform:uppercase;letter-spacing:1.1px;
  color:var(--warn);font-weight:700}
.se-flags.ok h6{color:var(--good)}
.se-flags ul{margin:0;padding-left:20px;font-size:13.5px;color:var(--tx2)}
.se-flags li{margin:0 0 6px}
.se-flags p{margin:0;font-size:13.5px;color:var(--tx2)}
.se-flags p+p{margin-top:8px}

/* ------------------------------------------------------------------ SQL -- */
.se-sqlin{width:100%;min-height:110px;font-family:var(--mono);font-size:13px;line-height:1.6;
  resize:vertical;tab-size:2}
.se-sqlbar{display:flex;gap:8px;align-items:center;margin:9px 0 14px;flex-wrap:wrap}
.se-sqlout{min-height:44px}
.se-sqlerr{background:rgba(255,144,144,.09);border:1px solid var(--bad);border-radius:9px;
  padding:11px 14px;color:var(--bad);font-family:var(--mono);font-size:12.5px;white-space:pre-wrap}
.se-sqlok{background:rgba(91,224,138,.08);border:1px solid var(--good);border-radius:9px;
  padding:11px 14px;color:var(--good);font-size:13px}
.se-tbl{border-collapse:collapse;width:100%;font-family:var(--mono);font-size:12.5px}
.se-tbl th{text-align:left;padding:7px 12px;border-bottom:1px solid var(--ac);
  color:var(--ac);font-weight:700;white-space:nowrap;font-size:11.5px;
  text-transform:uppercase;letter-spacing:.6px}
.se-tbl td{padding:6px 12px;border-bottom:1px solid var(--line);color:var(--tx2);white-space:nowrap}
.se-tbl tr:last-child td{border-bottom:none}
.se-null{color:var(--tx3);font-style:normal;opacity:.7}
.se-plan{border:1px solid var(--line);border-radius:9px;background:var(--bg);
  font-family:var(--mono);font-size:12.5px;color:var(--tx2);overflow-x:auto}
.se-plan div{padding:7px 13px;border-bottom:1px solid var(--line);white-space:pre}
.se-plan div:last-child{border-bottom:none}

/* --------------------------------------------------------- transactions -- */
.se-tx{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 0 14px}
@media(max-width:700px){.se-tx{grid-template-columns:1fr}}
.se-txcol{border:1px solid var(--line);border-radius:11px;padding:12px 14px;background:var(--bg)}
.se-txcol h6{margin:0 0 10px;font-size:11px;text-transform:uppercase;letter-spacing:1.1px;
  color:var(--ac);font-weight:700}
.se-txst{display:grid;grid-template-columns:24px 1fr;gap:8px;margin:0 0 7px;font-size:12.5px}
.se-txst .n{font-family:var(--mono);color:var(--tx3)}
.se-txst code{font-family:var(--mono);color:var(--tx2);font-size:12.5px;word-break:break-word}
.se-txst i{grid-column:2;font-style:normal;font-size:12px;color:var(--warn);margin-top:2px}
.se-txst.anom code{color:var(--bad)}
.se-txst.blocked code{color:var(--tx3);text-decoration:line-through}

/* ---------------------------------------------------------------- graph -- */
.se-graph{display:flex;flex-direction:column;align-items:center;gap:8px;margin:16px 0}
.se-tier{display:flex;gap:11px;flex-wrap:wrap;justify-content:center}
.se-graph .node{min-width:132px}
.node{border:1px solid var(--line);border-radius:9px;background:var(--bg);padding:9px 13px;
  font-family:var(--mono);font-size:12px;color:var(--tx2);text-align:center;transition:.25s}
.node b{display:block;color:var(--tx);font-family:var(--sans);font-size:11.5px;
  text-transform:uppercase;letter-spacing:.9px;margin-bottom:3px}
.node.on{border-color:var(--ac);color:var(--ac);background:rgba(56,189,248,.09)}
.node.ok{border-color:var(--good);color:var(--good);background:rgba(91,224,138,.07)}
.node.warn{border-color:var(--warn);color:var(--warn);background:rgba(255,192,107,.07)}
.node.no{border-color:var(--bad);color:var(--bad);background:rgba(255,144,144,.08)}
.node.dim{opacity:.42}
.arrow{color:var(--tx3);font-size:18px;line-height:1}
.arrow.on{color:var(--ac)}
.fig{display:flex;gap:14px;align-items:center;flex-wrap:wrap;justify-content:center;margin:8px 0}
.figcol{display:flex;flex-direction:column;gap:9px;align-items:center}

/* -------------------------------------------------------------- pipeline -- */
.se-pipe{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:16px 0}
.se-stage{border:1px solid var(--line);border-radius:9px;padding:9px 13px;background:var(--bg);
  min-width:104px;text-align:center;font-size:12.5px;color:var(--tx2)}
.se-stage .sl{display:block;color:var(--tx);font-size:12.5px;font-weight:600}
.se-stage .sv{display:block;font-family:var(--mono);font-size:11px;color:var(--tx3);margin-top:3px}
.se-stage.off{opacity:.35}
.se-stage.catch{border-color:var(--good);background:rgba(91,224,138,.09)}
.se-stage.catch .sv{color:var(--good);font-weight:700}
.se-stage.skip{opacity:.45}
.se-stage.pass{border-color:var(--line)}

/* ---------------------------------------------------------------- trace -- */
.se-trace{border:1px solid var(--line);border-radius:11px;overflow:hidden;background:var(--bg);
  margin:0 0 14px}
.se-span{display:grid;grid-template-columns:minmax(0,240px) 1fr 70px;gap:11px;align-items:center;
  padding:7px 14px;border-bottom:1px solid var(--line);cursor:pointer;font-size:12.5px}
.se-span:last-child{border-bottom:none}
.se-span:hover{background:var(--bg3)}
.se-span.sel{background:rgba(56,189,248,.09)}
.se-span .sn{font-family:var(--mono);color:var(--tx2);padding-left:calc(var(--d,0) * 15px);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.se-span.sel .sn{color:var(--ac)}
.se-span .sb{position:relative;height:13px;border-radius:4px;background:var(--bg3)}
.se-span .sb i{position:absolute;top:0;height:100%;border-radius:4px;background:var(--ac);opacity:.72}
.se-span .sv{font-family:var(--mono);font-size:11.5px;color:var(--tx2);text-align:right}
.se-span.err .sb i{background:var(--bad)}
.se-span.err .sn{color:var(--bad)}
.se-span-detail code{font-family:var(--mono);font-size:12px;color:var(--ac2)}
@media(max-width:700px){.se-span{grid-template-columns:1fr 60px}
  .se-span .sb{grid-column:1/3}}

/* ---------------------------------------------------------------- flows -- */
.se-flow{display:flex;align-items:center;gap:11px;flex-wrap:wrap;justify-content:center;
  margin:6px 0 16px}
.se-edge{border:1px dashed var(--ac);border-radius:9px;padding:8px 14px;font-size:12.5px;
  color:var(--ac);font-family:var(--mono)}
.se-threat{border-left:3px solid var(--line);padding:9px 0 9px 14px;margin:0 0 10px}
.se-threat.hit{border-left-color:var(--ac)}
.se-threat .tc{display:inline-block;font-size:10.5px;text-transform:uppercase;letter-spacing:1px;
  color:var(--pur);border:1px solid var(--pur);border-radius:5px;padding:1px 7px;
  font-weight:700;margin-bottom:6px}
.se-threat b{display:block;font-size:13.5px;margin-bottom:4px}
.se-threat i{display:block;font-style:normal;font-size:12.5px;color:var(--tx3)}

/* --------------------------------------------------------- dependencies -- */
.se-deps{display:flex;flex-direction:column;gap:11px;margin:0 0 14px}
.se-dep{border:1px solid var(--line);border-radius:11px;padding:12px 15px;background:var(--bg)}
.se-dep.done.right{border-color:var(--good)}
.se-dep.done.wrong{border-color:var(--bad)}
.se-dep .dp-h{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;margin-bottom:9px}
.se-dep .dp-h code{font-family:var(--mono);font-size:13px;color:var(--tx)}
.se-dep .dp-m{font-size:12px;color:var(--tx3)}
.se-dep .dp-r{font-size:13px;color:var(--tx2)}
.se-dep .dp-r b{color:var(--tx)}

/* ------------------------------------------------------------- checklist -- */
.se-ck{display:grid;grid-template-columns:20px 1fr;gap:11px;padding:9px 0;
  border-bottom:1px solid var(--line);cursor:pointer;align-items:start}
.se-ck:last-of-type{border-bottom:none}
.se-ck input{accent-color:var(--ac);margin-top:3px}
.se-ck b{display:block;font-size:13.5px;font-weight:600}
.se-ck i{display:block;font-style:normal;font-size:12.5px;color:var(--tx3);margin-top:2px}
.se-ck.on b{color:var(--tx3);text-decoration:line-through}
.se-ck-count{margin-top:12px;font-size:13px;color:var(--tx2)}

/* ------------------------------------------------------------ code trace -- */
.se-code{border:1px solid var(--line);border-radius:11px;overflow:hidden;background:var(--bg);
  margin:0 0 12px;font-family:var(--mono);font-size:13px}
.se-ln{display:grid;grid-template-columns:38px 1fr;gap:10px;padding:2px 12px}
.se-ln .n{color:var(--tx3);text-align:right;font-size:12px;-webkit-user-select:none;user-select:none}
.se-ln code{white-space:pre-wrap;color:var(--tx2)}
.se-ln.on{background:rgba(56,189,248,.11)}
.se-ln.on code{color:var(--tx)}
.se-vars{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px;min-height:26px}
.se-var{display:inline-flex;border:1px solid var(--line);border-radius:7px;overflow:hidden;
  font-family:var(--mono);font-size:12px}
.se-var .nm{background:var(--bg3);padding:3px 9px;color:var(--tx2)}
.se-var .vl{padding:3px 9px;color:var(--ac)}

/* ------------------------------------------------------- exercise: arch -- */
.se-exboard{margin:0 0 14px}
.se-notes{margin:0 0 14px}
.se-notes label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.9px;
  color:var(--tx3);font-weight:700;margin-bottom:7px}
.se-notes textarea{width:100%;font-family:var(--sans);font-size:13.5px;line-height:1.6;resize:vertical}

/* ------------------------------------------------------------ misc reuse -- */
.stp-stage{border:1px solid var(--line);border-radius:11px;padding:18px;background:var(--bg);
  margin:0 0 12px;min-height:96px}
.stp-title{font-size:14px;margin:0 0 11px;color:var(--tx)}
.stp-title b{display:inline-block;width:22px;height:22px;line-height:22px;text-align:center;
  border-radius:6px;background:var(--ac);color:#04121c;font-family:var(--mono);
  font-size:12px;margin-right:9px}
.stp-note{font-size:13.5px;color:var(--tx2);margin:0 0 12px}
.stp-note:empty{display:none}
.stp-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 12px}
.stp-dots{display:flex;gap:5px;margin-left:8px}
.stp-dot{width:9px;height:9px;border-radius:50%;border:1px solid var(--line);
  background:var(--bg);padding:0;cursor:pointer}
.stp-dot.on{background:var(--ac);border-color:var(--ac)}
.stp-dot.past{background:var(--tx3);border-color:var(--tx3)}
.qz-q{border-bottom:1px solid var(--line);padding:0 0 16px;margin:0 0 16px}
.qz-q:last-of-type{border-bottom:none}
.qz-q .qt{font-size:14px;margin:0 0 11px}
.qz-q .qn{display:inline-block;width:21px;height:21px;line-height:21px;text-align:center;
  border-radius:6px;background:var(--bg3);color:var(--ac);font-family:var(--mono);
  font-size:11.5px;margin-right:9px}
.qz-opt{display:block;width:100%;text-align:left;border:1px solid var(--line);border-radius:9px;
  background:var(--bg);color:var(--tx2);padding:9px 14px;margin:0 0 7px;font-size:13.5px;
  font-family:inherit;cursor:pointer;transition:.14s}
.qz-opt:hover:not(:disabled){border-color:var(--ac);color:var(--tx)}
.qz-opt:disabled{cursor:default;opacity:.75}
.qz-opt.right{border-color:var(--good);color:var(--good);background:rgba(91,224,138,.08);opacity:1}
.qz-opt.wrong{border-color:var(--bad);color:var(--bad);background:rgba(255,144,144,.08);opacity:1}
.qz-why{display:none;font-size:13px;color:var(--tx2);background:var(--bg3);border-radius:9px;
  padding:11px 14px;margin-top:9px}
.qz-why.show{display:block}
.qz-score{margin-top:14px;font-size:13.5px;color:var(--tx2)}
.qz-score b{color:var(--ac)}
.bug{border:1px solid var(--line);border-radius:11px;margin:0 0 11px;overflow:hidden;background:var(--bg)}
.bug-h{display:flex;gap:11px;align-items:center;width:100%;text-align:left;border:0;
  background:var(--bg3);padding:11px 15px;cursor:pointer;color:var(--tx);font-family:inherit;font-size:13.5px}
.bug-h:hover{background:var(--line)}
.bug-n{width:21px;height:21px;line-height:21px;text-align:center;border-radius:6px;
  background:var(--bad);color:#2a0a0a;font-family:var(--mono);font-size:11.5px;font-weight:700;flex:none}
.bug-t{flex:1}
.bug-x{color:var(--tx3);font-family:var(--mono)}
.bug-b{display:none;padding:15px}
.bug.open .bug-b{display:block}
.bug.open .bug-x{transform:rotate(45deg)}
.bug-sym{font-size:13.5px;color:var(--tx2);margin:0 0 13px}
.bug-sym b{display:block;font-size:11px;text-transform:uppercase;letter-spacing:1.1px;
  color:var(--bad);margin-bottom:5px}
.bug-rev{display:none;margin-top:13px}
.bug-rev.show{display:block}
.bug-rev h6{margin:13px 0 6px;font-size:11px;text-transform:uppercase;letter-spacing:1.1px;
  color:var(--ac);font-weight:700}
.bug-rev h6:first-child{margin-top:0}
.bug-rev p,.bug-rev li{font-size:13.5px;color:var(--tx2);margin:0 0 7px}
.ba{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:760px){.ba{grid-template-columns:1fr}}
.ba-card{border:1px solid var(--line);border-radius:11px;padding:13px 15px;background:var(--bg)}
.ba-card h5{margin:0 0 9px;font-size:11px;text-transform:uppercase;letter-spacing:1.1px;font-weight:700}
.ba-card.bad{border-color:rgba(255,144,144,.4)}
.ba-card.bad h5{color:var(--bad)}
.ba-card.good{border-color:rgba(91,224,138,.4)}
.ba-card.good h5{color:var(--good)}
.ba-card pre{margin:0 0 9px;overflow-x:auto;font-family:var(--mono);font-size:12.5px;
  line-height:1.6;color:var(--tx2)}
.ba-note{margin:13px 0 0;font-size:13.5px;color:var(--tx2)}
.rb-row{display:grid;grid-template-columns:20px 1fr 44px;gap:11px;align-items:start;
  padding:9px 0;border-bottom:1px solid var(--line);cursor:pointer}
.rb-row input{accent-color:var(--ac);margin-top:3px}
.rb-c{font-size:13.5px}
.rb-c small{display:block;color:var(--tx3);font-size:12.5px;margin-top:2px}
.rb-w{font-family:var(--mono);font-size:12.5px;color:var(--tx3);text-align:right}
.rb-row.met .rb-w{color:var(--good)}
.rb-tot{margin-top:14px;font-size:13.5px;color:var(--tx2)}
.rb-tot b{color:var(--ac)}
.rb-bar{height:7px;border-radius:99px;background:var(--bg);border:1px solid var(--line);
  overflow:hidden;margin:0 0 9px}
.rb-bar i{display:block;height:100%;background:var(--ac);transition:width .3s}
.console{background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:11px 14px;
  font-family:var(--mono);font-size:12.5px;color:var(--tx2);white-space:pre-wrap;min-height:40px}
.console .dim{color:var(--tx3)}
.console .err{color:var(--bad)}
.lab-outh{display:flex;gap:9px;align-items:center;padding:6px 12px;background:var(--bg3);
  border:1px solid var(--line);border-bottom:none;border-radius:9px 9px 0 0;
  font-family:var(--mono);font-size:11px;color:var(--tx3);margin-top:12px}
.lab-frame{width:100%;height:230px;border:1px solid var(--line);border-radius:0 0 9px 9px;
  background:#12141b;display:block}
.lab-con{font-family:var(--mono);font-size:12px;color:var(--tx2);padding:8px 12px;
  border:1px solid var(--line);border-top:none;border-radius:0 0 9px 9px;background:var(--bg)}
.lab-con:empty{display:none}
.lab-con .err{color:var(--bad)}
