/* VGenC Benchmarks UI — shared between team page and builder */
.bn-card{background:linear-gradient(180deg,rgba(79,172,254,.06) 0%,var(--card,#171f33) 30%);border:1px solid rgba(79,172,254,.32);box-shadow:0 0 0 1px rgba(79,172,254,.06),0 8px 24px rgba(79,172,254,.04);border-radius:10px;padding:22px;margin-bottom:20px}
.bn-card h2{color:#4facfe!important;margin:0 0 6px;font-size:20px}
.bn-toggle-btn{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#0e1420;border:none;padding:14px 26px;border-radius:10px;font-weight:800;font-size:15px;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;gap:10px;transition:transform .12s,box-shadow .12s;letter-spacing:.3px;white-space:nowrap}
.bn-toggle-btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(79,172,254,.4)}
.bn-toggle-btn:disabled{opacity:.6;cursor:wait}
.bn-loading{color:var(--muted,#8aa0c7);padding:24px;text-align:center;font-size:14px}
.bn-loading::after{content:' ⏳';animation:bn-pulse 1s infinite}
@keyframes bn-pulse{50%{opacity:.4}}
.bn-error{color:#ff6b6b;padding:14px;background:rgba(255,107,107,.08);border:1px solid rgba(255,107,107,.3);border-radius:6px;font-size:13px}
.bn-meta-info{color:var(--muted,#8aa0c7);font-size:12px;padding:10px 12px;background:#0a1020;border-radius:6px;margin-bottom:8px;line-height:1.5}
.bn-meta-list{color:var(--accent,#4facfe);font-size:11px}
.bn-disclaimer{color:var(--muted,#8aa0c7);font-size:11px;font-style:italic;padding:8px 12px;background:rgba(247,201,72,.05);border-left:3px solid var(--gold,#f7c948);border-radius:4px;margin-bottom:14px}
.bn-poke{background:#0a1020;border:1px solid var(--border,#22304d);border-radius:10px;margin-bottom:12px;overflow:hidden;transition:border-color .15s}
.bn-poke[open]{border-color:rgba(79,172,254,.45)}
.bn-poke summary{cursor:pointer;padding:12px 14px;display:flex;align-items:center;gap:12px;list-style:none;font-size:14px;user-select:none;transition:background .15s}
.bn-poke summary::-webkit-details-marker{display:none}
.bn-poke summary:hover{background:#101a30}
.bn-poke summary::before{content:'▶';color:var(--accent,#4facfe);font-size:10px;transition:transform .15s;flex-shrink:0}
.bn-poke[open] summary::before{transform:rotate(90deg)}
.bn-sprite{width:46px;height:46px;object-fit:contain;flex-shrink:0;background:radial-gradient(circle at center,rgba(79,172,254,.12),transparent 70%);border-radius:50%}
.bn-summary-info{display:flex;flex-direction:column;flex:1;min-width:0}
.bn-name{font-weight:700;color:var(--gold,#f7c948);font-size:15px}
.bn-spread{color:var(--muted,#8aa0c7);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bn-summary-pills{display:flex;gap:5px;flex-shrink:0;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.bn-pill{padding:4px 9px;border-radius:999px;font-size:11px;font-weight:700;background:#1a2440;color:var(--muted,#8aa0c7);white-space:nowrap}
.bn-pill-spe{background:rgba(79,172,254,.18);color:var(--accent,#4facfe)}
.bn-pill-faster{background:rgba(15,214,138,.16);color:#0fd68a}
.bn-pill-tie{background:rgba(247,201,72,.16);color:#f7c948}
.bn-pill-slower{background:rgba(255,107,107,.16);color:#ff6b6b}
.bn-panel{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.1fr) minmax(0,1fr);gap:14px;padding:4px 14px 16px}
.bn-col{min-width:0;overflow:hidden}
.bn-col h4{margin:10px 0 8px;color:var(--accent,#4facfe);font-size:12px;border-bottom:1px solid var(--border,#22304d);padding-bottom:6px;display:flex;align-items:center;gap:6px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}
.bn-h4-meta{margin-left:auto;font-weight:500;text-transform:none;color:var(--muted,#8aa0c7);font-size:11px;letter-spacing:0}
.bn-h4-meta b{color:var(--accent,#4facfe)}
.bn-table{width:100%;border-collapse:collapse;font-size:11px;table-layout:fixed}
.bn-table thead{background:rgba(79,172,254,.04)}
.bn-table th{padding:5px 4px;text-align:left;color:var(--muted,#8aa0c7);font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid var(--border,#22304d)}
.bn-table .bn-th-r{text-align:right}
.bn-table tr{border-bottom:1px solid #131c30}
.bn-table tr:last-child{border-bottom:none}
.bn-table tr:hover{background:rgba(79,172,254,.04)}
.bn-table td{padding:6px 4px;vertical-align:middle}
.bn-table td:first-child{display:flex;align-items:center;gap:5px;flex-wrap:wrap;min-width:0;max-width:100%}
.bn-table td:first-child img{width:24px;height:24px;object-fit:contain;flex-shrink:0}
.bn-poke-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;max-width:100%}
.bn-move{color:var(--muted,#8aa0c7);font-size:10px;text-align:right;white-space:nowrap;font-style:italic}
.bn-result{text-align:right;white-space:nowrap;font-weight:600}
.bn-spe-num{text-align:right;color:var(--accent,#4facfe);font-weight:700;font-size:12px;font-variant-numeric:tabular-nums}
.bn-ohko{background:#ff4757;color:#fff;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:700}
.bn-2hko{background:#ff8e3c;color:#fff;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:700}
.bn-roll{background:#f7c948;color:#1a1a1a;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:700}
.bn-mid{color:#f7c948;font-size:11px;font-weight:600}
.bn-low{color:var(--muted,#8aa0c7);font-size:11px}
.bn-immune{color:#8aa0c7;font-size:10px;font-style:italic}
.bn-na{color:#444;font-size:11px}
.bn-speed-groups,.bn-dmg-groups{display:flex;flex-direction:column;gap:10px}
.bn-dmg-group{background:rgba(0,0,0,.18);border-radius:6px;padding:6px 8px}
.bn-dmg-group .bn-sg-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;padding:0 2px}
.bn-dmg-group .bn-sg-tag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px}
.bn-dmg-group .bn-sg-count{font-size:10px;color:var(--muted,#8aa0c7);font-weight:700}
.bn-dmg-group .bn-sg-empty{color:#444;font-size:10px;font-style:italic;padding:4px 2px;text-align:center}
.bn-dg-ohko{border-left:3px solid #ff4757}
.bn-dg-ohko .bn-sg-tag{color:#ff4757}
.bn-dg-2hko{border-left:3px solid #ff8e3c}
.bn-dg-2hko .bn-sg-tag{color:#ff8e3c}
.bn-dg-3hko{border-left:3px solid #f7c948}
.bn-dg-3hko .bn-sg-tag{color:#f7c948}
.bn-dg-safe{border-left:3px solid #0fd68a}
.bn-dg-safe .bn-sg-tag{color:#0fd68a}
.bn-dg-immune{border-left:3px solid #6e6e9e}
.bn-dg-immune .bn-sg-tag{color:#6e6e9e}

/* ── 2-line compact rows for damage/speed lists ── */
.bn-dmg-list{display:flex;flex-direction:column;gap:4px}
.bn-dmg-row{
  display:grid;
  grid-template-columns:32px minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  padding:5px 6px;
  border-radius:5px;
  background:rgba(0,0,0,.18);
  min-height:42px;
}
.bn-dmg-row:hover{background:rgba(79,172,254,.06)}
.bn-dmg-sprite{width:32px;height:32px;object-fit:contain;flex-shrink:0}
.bn-dmg-info{min-width:0;display:flex;flex-direction:column;gap:1px;justify-content:center}
.bn-dmg-name{
  font-size:12px;font-weight:700;color:var(--gold,#f7c948);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  line-height:1.2;
}
.bn-dmg-move{
  display:flex;align-items:center;gap:4px;
  font-size:10px;color:var(--muted,#8aa0c7);
  line-height:1.2;
  min-width:0;
}
.bn-dmg-move .type{font-size:8.5px;padding:1px 4px;line-height:1.4;flex-shrink:0}
.bn-dmg-mname{
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font-style:italic;
  min-width:0;
}
.bn-dmg-icon{opacity:.7;font-size:10px;flex-shrink:0}
.bn-dmg-result{
  font-size:11px;font-weight:700;
  text-align:right;flex-shrink:0;
  white-space:nowrap;
}
.bn-dmg-result .bn-ohko,.bn-dmg-result .bn-2hko,.bn-dmg-result .bn-roll{font-size:10px;padding:3px 7px}
.bn-dmg-tags{display:flex;gap:3px;flex-wrap:wrap}
.bn-dmg-tags .bn-tag{font-size:9px;padding:1px 4px;line-height:1.3}
.bn-spe-num{color:var(--accent,#4facfe);font-size:14px;font-variant-numeric:tabular-nums}
.bn-speed-group{background:rgba(0,0,0,.18);border-radius:6px;padding:6px 8px}
.bn-sg-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;padding:0 2px}
.bn-sg-tag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px}
.bn-sg-count{font-size:10px;color:var(--muted,#8aa0c7);font-weight:700}
.bn-sg-faster{border-left:3px solid #0fd68a}
.bn-sg-faster .bn-sg-tag{color:#0fd68a}
.bn-sg-tie{border-left:3px solid #f7c948}
.bn-sg-tie .bn-sg-tag{color:#f7c948}
.bn-sg-slower{border-left:3px solid #ff6b6b}
.bn-sg-slower .bn-sg-tag{color:#ff6b6b}
.bn-sg-empty{color:#444;font-size:10px;font-style:italic;padding:4px 2px;text-align:center}
.bn-tag{display:inline-block;padding:1px 5px;border-radius:4px;font-size:9px;font-weight:700;letter-spacing:.2px;text-transform:uppercase;background:rgba(255,255,255,.06);color:var(--muted,#8aa0c7);border:1px solid rgba(255,255,255,.1);vertical-align:middle;line-height:1.4;white-space:nowrap}
.bn-tag-scarf{background:rgba(247,201,72,.18);color:#f7c948;border-color:rgba(247,201,72,.4)}
.bn-tag-max{background:rgba(15,214,138,.16);color:#0fd68a;border-color:rgba(15,214,138,.35)}
.bn-tag-tr{background:rgba(157,124,245,.16);color:#9d7cf5;border-color:rgba(157,124,245,.35)}
.bn-tag-nat{background:rgba(79,172,254,.12);color:#4facfe;border-color:rgba(79,172,254,.3);text-transform:none;letter-spacing:0}

/* ── Damage roll visual bar ── */
.bn-bar-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:3px;min-width:90px}
.bn-bar-track{position:relative;width:90px;height:8px;background:rgba(255,255,255,.05);border-radius:4px;overflow:hidden;border:1px solid rgba(255,255,255,.06)}
.bn-bar-fill{position:absolute;top:0;bottom:0;border-radius:3px;transition:width .3s ease}
.bn-bar-low{background:linear-gradient(90deg,#5a7188,#8aa0c7)}
.bn-bar-low-text{color:#8aa0c7}
.bn-bar-3hko{background:linear-gradient(90deg,#f7c948,#ffd96a)}
.bn-bar-3hko-text{color:#f7c948}
.bn-bar-2hko{background:linear-gradient(90deg,#ff8e3c,#ffa260);box-shadow:0 0 6px rgba(255,142,60,.4)}
.bn-bar-2hko-text{color:#ff8e3c}
.bn-bar-ohkoChance{background:linear-gradient(90deg,#ff6b6b,#ff8e3c);box-shadow:0 0 6px rgba(255,107,107,.5)}
.bn-bar-ohkoChance-text{color:#ff6b6b}
.bn-bar-ohko{background:linear-gradient(90deg,#ff4757,#ff6b6b);box-shadow:0 0 8px rgba(255,71,87,.6)}
.bn-bar-ohko-text{color:#ff4757;font-weight:800}
.bn-bar-label{font-size:10px;font-weight:700;letter-spacing:.2px;line-height:1}
@media (max-width:600px){.bn-bar-track{width:70px}.bn-bar-wrap{min-width:75px}}

.bn-move-cell{display:inline-flex;align-items:center;gap:4px;flex-wrap:nowrap;max-width:100%;overflow:hidden}
.bn-move-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-style:italic}
.type{display:inline-block;padding:1px 5px;border-radius:4px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:#fff;flex-shrink:0;vertical-align:middle;line-height:1.4}
.type.fire{background:#ee8130}.type.water{background:#6390f0}.type.grass{background:#7ac74c}
.type.electric{background:#f7d02c;color:#222}.type.psychic{background:#f95587}.type.ice{background:#96d9d6;color:#222}
.type.dragon{background:#6f35fc}.type.dark{background:#705746}.type.fairy{background:#d685ad}
.type.fighting{background:#c22e28}.type.poison{background:#a33ea1}.type.ground{background:#e2bf65;color:#222}
.type.flying{background:#a98ff3}.type.bug{background:#a6b91a}.type.rock{background:#b6a136}
.type.ghost{background:#735797}.type.steel{background:#b7b7ce;color:#222}.type.normal{background:#a8a77a}
@media(max-width:900px){
  .bn-panel{grid-template-columns:1fr}
  .bn-name{font-size:14px}
  .bn-spread{display:none}
  .bn-summary-pills .bn-pill{padding:3px 7px;font-size:10px}
}
