@charset "UTF-8";
.card-balance-view { display: grid; grid-template-columns: minmax(0, 1fr) 270px; gap: 12px; align-items: start; }
.card-balance-controls { grid-column: 1 / -1; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px 14px; margin-bottom: -4px; }
.card-balance-filter-group { display: flex; align-items: center; gap: 7px; }
.card-balance-filter-label { color: #607068; font-size: 11px; font-weight: 700; }
.card-balance-scope-buttons, .card-balance-run-options { display: flex; gap: 5px; }
.card-balance-scope-buttons button { padding: 6px 10px; border-color: #b9c8bd; background: #f6f9f5; color: #30473a; font-size: 12px; font-weight: 700; }
.card-balance-scope-buttons button[aria-pressed="true"] { border-color: var(--accent); background: var(--accent); color: #fff; }
.card-balance-filter { display: inline-flex; align-items: center; gap: 7px; border: 1px solid #b9c8bd; border-radius: 8px; padding: 6px 10px; background: #f6f9f5; color: #30473a; font-size: 12px; font-weight: 700; cursor: pointer; }
.card-balance-filter:hover { border-color: var(--accent); background: #edf5ee; }
.card-balance-filter input { width: 16px; height: 16px; margin: 0; accent-color: var(--accent); }
.card-balance-filter:focus-within { outline: 2px solid color-mix(in srgb, var(--accent) 45%, transparent); outline-offset: 2px; }
.card-balance-map { min-width: 0; margin: 0 0 12px; border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px; background: #fbfdf9; }
.card-balance-tabs { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 10px; padding-bottom: 9px; border-bottom: 1px solid var(--line); }
.card-balance-tabs button { min-width: 92px; padding: 7px 10px; border-color: #cbd5ce; background: #f4f7f2; font-size: 12px; }
.card-balance-tabs button[aria-selected="true"] { border-color: var(--accent); background: var(--accent); color: #fff; font-weight: 750; }
.card-balance-tabs button[data-rarity="basic"][aria-selected="true"] { background: #806656; border-color: #806656; }
.card-balance-tabs button[data-rarity="common"][aria-selected="true"] { background: #657469; border-color: #657469; }
.card-balance-tabs button[data-rarity="uncommon"][aria-selected="true"] { background: #397ca9; border-color: #397ca9; }
.card-balance-tabs button[data-rarity="rare"][aria-selected="true"] { background: #ad7613; border-color: #ad7613; }
.card-balance-tabs button[data-rarity="ancient"][aria-selected="true"] { background: #774aa3; border-color: #774aa3; }
.card-balance-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.card-balance-heading h3 { margin: 0; font-size: 15px; }
.card-balance-heading-meta { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.card-balance-export-button { padding: 5px 10px; border-color: #8eaa99; background: #f0f7f2; color: #244d35; font-size: 11px; font-weight: 700; }
.card-balance-export-button:hover { border-color: var(--accent); background: #e1f1e6; }
.card-balance-export-button:disabled { cursor: wait; opacity: .65; }
.card-balance-detail { min-height: 1.5em; margin: 5px 0 6px; color: #425249; font-size: 12px; font-variant-numeric: tabular-nums; }
.card-balance-scroll { overflow-x: auto; }
.card-balance-scroll svg { display: block; width: 100%; min-width: 680px; height: auto; }
.balance-quadrant { stroke: none; }
.balance-win-rate-background { fill: #f5f8f5; stroke: #d4ddd6; stroke-width: 1; }
.balance-win-rate-point { opacity: .86; }
.balance-quadrant[data-quadrant="picked-weak"] { fill: #fff7e8; }
.balance-quadrant[data-quadrant="picked-strong"] { fill: #edf9ee; }
.balance-quadrant[data-quadrant="unpicked-weak"] { fill: #f5f5f3; }
.balance-quadrant[data-quadrant="unpicked-strong"] { fill: #edf6fb; }
.balance-grid { stroke: #cfd8d1; stroke-width: 1; }
.balance-baseline { stroke: #65766b; stroke-width: 1.5; stroke-dasharray: 7 5; }
.balance-average { stroke: #c45f2f; stroke-width: 2; stroke-dasharray: 3 3; }
.balance-average-label { fill: #9c421f; font-size: 12px; font-weight: 750; paint-order: stroke; stroke: #fff; stroke-width: 3px; }
.balance-tick { fill: #526159; font-size: 12px; font-variant-numeric: tabular-nums; }
.balance-axis { fill: #24382b; font-size: 14px; font-weight: 700; }
.balance-quadrant-label { fill: #5e6d64; font-size: 12px; font-weight: 650; }
.balance-point { fill: #89968e; stroke: #fff; stroke-width: 2; opacity: .78; cursor: pointer; transition: opacity .12s ease, stroke-width .12s ease; }
.balance-point[data-rarity="basic"] { fill: #9f8473; }
.balance-point[data-rarity="common"] { fill: #77877a; }
.balance-point[data-rarity="uncommon"] { fill: #4b8fbd; }
.balance-point[data-rarity="rare"] { fill: #d49a28; }
.balance-point[data-rarity="ancient"] { fill: #9562c5; }
.balance-point[data-multiplayer="true"] { fill: #2f9b62; }
.balance-point:hover, .balance-point:focus, .balance-point[aria-current="true"] { opacity: 1; stroke: #17271d; stroke-width: 3; outline: none; }
.balance-legend-point { fill: #89968e; stroke: #fff; stroke-width: 2; }
.balance-legend-point[data-rarity="basic"] { fill: #9f8473; }
.balance-legend-point[data-rarity="common"] { fill: #77877a; }
.balance-legend-point[data-rarity="uncommon"] { fill: #4b8fbd; }
.balance-legend-point[data-rarity="rare"] { fill: #d49a28; }
.balance-legend-point[data-rarity="ancient"] { fill: #9562c5; }
.balance-legend-point[data-multiplayer="true"] { fill: #2f9b62; }
.balance-legend-label { fill: #425249; font-size: 12px; font-weight: 650; }
.card-balance-hover-tooltip { position: fixed; z-index: 1000; max-width: min(360px, calc(100vw - 16px)); border: 1px solid #284438; border-radius: 6px; padding: 6px 8px; background: rgba(24, 43, 34, .96); color: #fff; box-shadow: 0 4px 14px rgba(14, 28, 21, .24); font-size: 12px; line-height: 1.45; pointer-events: none; font-variant-numeric: tabular-nums; }
.card-balance-ranking { min-width: 0; border: 1px solid var(--line); border-radius: 10px; padding: 10px; background: #fbfdf9; }
.card-balance-ranking h3 { margin: 0; font-size: 15px; }
.card-balance-ranking-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
.card-balance-ranking-heading .card-balance-export-button { flex: 0 0 auto; }
.card-balance-ranking-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; margin-bottom: 8px; }
.card-balance-ranking-tabs button { min-width: 0; padding: 6px 3px; font-size: 11px; }
.card-balance-ranking-tabs button[aria-selected="true"] { border-color: var(--accent); background: var(--accent); color: #fff; font-weight: 750; }
.card-balance-ranking-panel { max-height: 548px; overflow-y: auto; scrollbar-gutter: stable; }
.card-balance-ranking-list { display: grid; gap: 3px; margin: 0; padding: 0; list-style: none; }
.card-balance-ranking-row { --ranking-color: #89968e; display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 5px; align-items: center; min-height: 27px; border-left: 5px solid var(--ranking-color); padding: 3px 6px; background: #f0f2f0; font-size: 12px; }
.card-balance-ranking-row[data-rarity="basic"] { --ranking-color: #9f8473; background: #f5f0ed; }
.card-balance-ranking-row[data-rarity="common"] { --ranking-color: #77877a; background: #eff2ef; }
.card-balance-ranking-row[data-rarity="uncommon"] { --ranking-color: #4b8fbd; background: #edf5fa; }
.card-balance-ranking-row[data-rarity="rare"] { --ranking-color: #d49a28; background: #fff7e7; }
.card-balance-ranking-row[data-rarity="ancient"] { --ranking-color: #9562c5; background: #f6effb; }
.card-balance-ranking-row[data-multiplayer="true"] { --ranking-color: #2f9b62; background: #eaf8ef; }
.card-balance-ranking-row[role="button"] { cursor: pointer; transition: box-shadow .12s ease, transform .12s ease; }
.card-balance-ranking-row[role="button"]:hover, .card-balance-ranking-row[role="button"]:focus-visible { box-shadow: inset 0 0 0 2px var(--ranking-color); outline: none; }
.card-balance-ranking-row[role="button"]:active { transform: translateY(1px); }
.card-balance-ranking-row[aria-current="true"] { box-shadow: inset 0 0 0 2px var(--ranking-color); font-weight: 750; }
.card-balance-ranking-row[aria-disabled="true"] { cursor: default; opacity: .58; }
.card-balance-ranking-position { color: var(--ranking-color); font-weight: 800; text-align: right; font-variant-numeric: tabular-nums; }
.card-balance-ranking-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 1080px) {
  .card-balance-view { grid-template-columns: minmax(0, 1fr); }
  .card-balance-ranking-panel { max-height: 360px; }
}
@media (max-width: 700px) {
  .card-balance-map { padding: 8px; }
  .card-balance-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .card-balance-tabs button { min-width: 0; }
  .card-balance-heading { align-items: flex-start; flex-direction: column; gap: 2px; }
  .card-balance-heading-meta { width: 100%; justify-content: space-between; }
  .card-balance-controls { justify-content: flex-start; }
  .card-balance-filter-group { width: 100%; align-items: flex-start; flex-direction: column; }
}
