.score-number { display: flex; align-items: center; gap: 4px; }
.score-info { display: inline-grid; place-items: center; flex-shrink: 0; width: 32px; height: 32px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #786589; font: 600 1.15rem system-ui, sans-serif; cursor: pointer; }
.score-info::before { content: "ⓘ"; }
.score-info:hover, .score-info:focus-visible { color: #4e2d78; background: #e9def5; }
.score-info:focus-visible, .popover-close:focus-visible { outline: 2px solid #9365cc; outline-offset: 2px; }
.player-sidebar .score-info { color: #dbc5f9; }
.score-breakdown { width: min(540px, calc(100vw - 24px)); max-height: min(680px, 85dvh); margin: auto; padding: 22px; border: 1px solid #cdbade; border-radius: 18px; background: #fff; color: #30243d; box-shadow: 0 16px 70px #1f143b55; overflow: auto; }
.score-breakdown::backdrop, .game-menu::backdrop { background: #251d3550; }
.score-breakdown-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 12px; }
.score-breakdown-heading h2 { font-size: 1.25rem; letter-spacing: -.03em; }
.score-breakdown-heading .eyebrow { display: block; font-size: .6rem; color: #837191; margin-bottom: 4px; }
.popover-close { display: grid; place-items: center; width: 44px; height: 44px; flex-shrink: 0; border: 0; border-radius: 50%; font-size: 1.6rem; cursor: pointer; color: #614775; background: #f2ecf7; }
.score-breakdown-explanation, .score-breakdown-empty { font-size: .78rem; line-height: 1.5; color: #756783; }
.score-breakdown table { width: 100%; border-collapse: collapse; font-size: .78rem; font-variant-numeric: tabular-nums; }
.score-breakdown th, .score-breakdown td { padding: 12px 5px; border-bottom: 1px solid #ece6f1; text-align: right; }
.score-breakdown th:first-child { text-align: left; }
.score-breakdown tbody th { font-weight: 650; overflow-wrap: anywhere; }
.score-breakdown th small { display: block; margin-top: 4px; color: #81758d; font-size: .64rem; font-weight: 400; }
.score-breakdown td { white-space: nowrap; }
.score-breakdown .points-positive { color: #286456; font-weight: 750; }
.score-breakdown .points-negative { color: #aa4051; font-weight: 750; }
.score-breakdown tfoot { font-size: 1rem; font-weight: 750; }
.score-breakdown tfoot th, .score-breakdown tfoot td { border: 0; padding-top: 18px; }
@media (max-width: 700px) {
  .score-breakdown { padding: 16px; }
  .score-breakdown table { font-size: .72rem; }
  .score-breakdown th, .score-breakdown td { padding: 10px 3px; }
}
