:root{--card:var(--panel);--accent-soft:rgba(164,80,31,.1)}
  /* Demo-only, scoped */
  .demo-label{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--muted);background:var(--bg2);border:1px solid var(--line);border-radius:999px;padding:6px 12px}
  .demo-label::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent)}

  .samples{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:8px}
  .sample{appearance:none;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:16px 18px;cursor:pointer;font-family:var(--fb);transition:border-color .15s,transform .15s,box-shadow .15s}
  .sample:hover{transform:translateY(-1px)}
  .sample[aria-pressed="true"]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
  .sample .s-ey{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--accent);margin-bottom:6px}
  .sample .s-ti{font-size:16px;font-weight:600;color:var(--ink);font-family:var(--fd)}
  .sample .s-su{font-size:13px;color:var(--muted);margin-top:4px}

  .upload{margin-top:18px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:var(--card);border:1px dashed var(--line);border-radius:8px;padding:16px 18px}
  .upload .u-ic{flex:none;color:var(--accent)}
  .upload .u-tx{flex:1;min-width:200px}
  .upload .u-tx b{font-family:var(--fd);font-size:15px}
  .upload .u-tx span{display:block;font-size:13px;color:var(--muted);margin-top:2px}
  .upload input[type=file]{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
  .upload label{cursor:pointer}

  .runbar{margin-top:24px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
  .dbar{flex:1;min-width:220px;height:1px;background:var(--line);position:relative;overflow:hidden;border-radius:1px}
  .dbar i{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--accent);transition:width .12s linear}
  .progress-note{font-size:13px;color:var(--muted);min-height:1.4em;margin-top:10px}

  /* Report card */
  .report{margin-top:30px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:0;opacity:0;transform:translateY(14px);transition:opacity .45s ease,transform .45s ease}
  .report.show{opacity:1;transform:none}
  .report[hidden]{display:none}
  .rep-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px 26px 20px;border-bottom:1px solid var(--line)}
  .rep-head .r-ey{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--accent)}
  .rep-head h3{font-size:25px;margin:8px 0 2px;line-height:1.15}
  .rep-head .r-sub{font-size:14px;color:var(--muted)}
  .band{flex:none;text-align:right}
  .band .b-lab{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);font-weight:600}
  .band .b-val{font-family:var(--fd);font-weight:600;font-size:18px;margin-top:3px}
  .band .b-val.high{color:#2f6b3a}
  .band .b-val.moderate{color:var(--accent)}
  .band .b-val.low{color:var(--faint)}
  .conf-set{display:inline-block;margin-top:6px;font-size:12px;color:var(--muted);background:var(--bg2);border:1px solid var(--line);border-radius:999px;padding:3px 10px}

  .rep-body{padding:22px 26px 8px}
  .rep-sec{padding:18px 0;border-bottom:1px solid var(--line)}
  .rep-sec:last-child{border-bottom:0}
  .rep-sec .sec-t{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--faint);margin-bottom:14px}

  .cand{display:grid;grid-template-columns:1fr 130px;align-items:center;gap:14px;margin-bottom:11px}
  .cand .c-name{font-size:14px;color:var(--ink)}
  .cand .c-name.top{font-weight:600}
  .cand .c-name .c-rel{color:var(--faint);font-size:12px;margin-left:6px}
  .cbar{height:4px;background:var(--bg2);border:1px solid var(--line);border-radius:3px;overflow:hidden}
  .cbar i{display:block;height:100%;background:var(--ink);width:0;transition:width .6s ease}

  .chips{display:flex;flex-wrap:wrap;gap:9px}
  .chip{display:inline-flex;align-items:center;gap:6px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;font-weight:500;background:var(--bg2);border:1px solid var(--line);border-radius:5px;padding:5px 9px;color:var(--ink)}
  .chip .ar{font-family:var(--fb);font-weight:600;font-size:11px;line-height:1}
  .chip .ar.up{color:#2f6b3a}
  .chip .ar.dn{color:#9c4a24}

  .abstain-line{font-size:14px;color:var(--muted);line-height:1.6}
  .abstain-line.flag{background:var(--bg2);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:0 6px 6px 0;padding:14px 16px;color:var(--ink)}
  .abstain-line.flag b{font-family:var(--fd)}

  .rep-foot{padding:16px 26px 22px;font-size:12px;color:var(--faint);line-height:1.6;background:var(--bg2);border-top:1px solid var(--line);border-radius:0 0 10px 10px}

  .demo-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px}

  @media(max-width:820px){.samples{grid-template-columns:1fr}}
  @media(max-width:560px){.cand{grid-template-columns:1fr 90px}.rep-head{flex-direction:column}.band{text-align:left}}
