/* Scoreboard extends the shared Observatory route shell. */
.score-scope { padding: 24px 32px; background: var(--rs-mist); display: grid; gap: 8px; }
.score-updated { font: 400 32px/1.2 var(--rs-display); }
.score-jump { display: flex; justify-content: flex-start; margin: 24px 0 0; gap: 0 24px; }
.score-jump a { min-height: 44px; }
.score-boards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 64px 48px; margin-top: 48px; align-items: start; }
.score-board { min-width: 0; scroll-margin-top: 24px; }
.score-board h2 { margin: 16px 0 8px; font-size: clamp(28px, 3vw, 36px); }
.score-coverage { color: var(--rs-muted); font-size: 12px; margin-bottom: 16px; }
.score-board table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.score-board th, .score-board td { border-bottom: 1px solid var(--obs-hair); padding: 12px 0; vertical-align: middle; text-align: left; }
.score-board thead th { font-size: 11px; font-weight: 400; color: var(--rs-muted); border-bottom-color: var(--rs-blueprint); }
.score-board thead th:first-child { width: 54px; }
.score-board thead th:last-child { width: 86px; text-align: right; }
.score-board tbody th { font-weight: 400; padding-right: 12px; }
.score-board tbody th > a { display: block; font-size: 15px; line-height: 1.5; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.score-board .score-value { text-align: right; font-size: 18px; font-variant-numeric: tabular-nums; }
.score-trophy { display: inline-flex; align-items: center; gap: 4px; color: var(--rs-blueprint); font-variant-numeric: tabular-nums; }
.score-trophy svg { display: inline-block; flex: none; width: 16px; height: 16px; }
.score-method { border-top: 1px solid var(--rs-blueprint); margin-top: 12px; }
.score-method p { font-size: 12px; padding: 8px 0 16px; max-width: 72ch; }
@media (max-width: 760px) { .score-boards { grid-template-columns: 1fr; gap: 48px; } .score-scope { padding: 20px; } }
@media print { .score-evidence, .score-method { break-inside: avoid; } .score-boards { display: block; } .score-board { break-inside: avoid; margin-top: 32px; } }

.score-value { position: relative; white-space: nowrap; }
.score-evidence > summary { display: inline; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; list-style: none; }
.score-evidence > summary::-webkit-details-marker { display: none; }
.score-evidence > summary::marker { content: ""; }
.score-evidence > summary:focus-visible { outline: 2px solid var(--rs-scarlet); outline-offset: 4px; }
.score-evidence p { position: absolute; z-index: 5; right: 0; top: 100%; width: min(340px, 75vw); padding: 16px; border: 1px solid var(--rs-blueprint); background: white; text-align: left; font-size: 12px; line-height: 1.5; white-space: normal; overflow-wrap: anywhere; box-shadow: 0 4px 12px #0002; }
@media print { .score-evidence p { position: static; width: auto; box-shadow: none; } }

.score-history { border-top: 1px solid var(--rs-blueprint); margin-top: 8px; }
.score-history > summary, .score-project-history > summary, .score-values > summary { min-height: 44px; padding-block: 12px; cursor: pointer; }
.score-history-body { padding: 8px 0 16px; }
.score-history p { font-size: 12px; margin: 8px 0 16px; line-height: 1.6; overflow-wrap: anywhere; }
.score-project-history { border-top: 1px solid var(--obs-hair); }
.score-project-history > summary { font-size: 13px; }
.score-chart { display: block; width: 100%; height: auto; max-height: 200px; margin: 16px 0; overflow: visible; }
.score-chart text { font: 12px var(--rs-mono, monospace); fill: var(--rs-blueprint); }
.score-axis { stroke: var(--obs-hair); stroke-width: 1; fill: none; }
.score-series { stroke: var(--rs-blueprint); stroke-width: 2; fill: none; }
.score-point, .score-bar { fill: var(--rs-blueprint); }
.score-release { stroke: var(--rs-scarlet, #b52320); stroke-width: 1; stroke-dasharray: 3 3; fill: none; }
.score-history .score-history-scope { font-size: 11px; color: var(--rs-muted); }
.score-values { margin-bottom: 16px; font-size: 11px; }
.score-values table { table-layout: auto; }
.score-values caption { text-align: left; padding-bottom: 8px; }
.score-values th, .score-values td { width: auto !important; text-align: left !important; padding: 8px 4px 8px 0; overflow-wrap: anywhere; font-size: 11px; }
.score-values tbody th { white-space: nowrap; }
.score-event-list { list-style: none; margin: 12px 0 16px; padding: 0; }
.score-event-list li { display: grid; gap: 4px; border-bottom: 1px solid var(--obs-hair); padding: 12px 0; font-size: 12px; }
.score-event-list strong { font-weight: 400; font-size: 13px; }
.score-event-list p { margin: 4px 0; }
.score-creation { max-height: 180px; }
.score-streak { max-height: 90px; }
.score-history summary:focus-visible { outline: 2px solid var(--rs-blueprint); outline-offset: 2px; }
@media (max-width: 400px) { .score-values th, .score-values td { font-size: 10px; } }
@media print { .score-project-history, .score-chart { break-inside: avoid; } }
