.rank-graph-note{margin-bottom:48px}.rank-empty{font:13px var(--cf-mono,monospace);color:var(--ink-soft);text-align:center;margin:30px 0 10px}.score-graph{min-width:0;position:relative}.graph-legend{flex-wrap:wrap;gap:8px 18px;margin:0 0 16px;padding:0;font-size:13px;list-style:none;display:flex}.graph-legend li{align-items:center;gap:7px;display:flex}.graph-legend-rank{font:700 11px var(--cf-mono,monospace);color:var(--ink-soft)}.graph-swatch{border-radius:2px;flex-shrink:0;width:12px;height:12px;display:inline-block}.graph-canvas{width:100%;min-width:0;min-height:300px;position:relative;overflow:hidden}.graph-canvas svg{touch-action:pan-y;display:block}.graph-grid{stroke:#5c47322e;stroke-width:1px}.graph-baseline{stroke:var(--ink-soft);stroke-width:1px}.graph-axis{font:11px var(--cf-mono,monospace);fill:var(--ink-soft)}.graph-line{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.graph-marker{stroke:var(--paper);stroke-width:2px}.graph-direct-label{font:12px var(--cf-typewriter,monospace);fill:var(--ink)}.graph-crosshair{stroke:var(--ink);stroke-width:1px;stroke-dasharray:3 3;pointer-events:none}.graph-tooltip{background:var(--paper-dark);border:1px solid var(--paper-edge);pointer-events:none;width:200px;font:12px var(--cf-mono,monospace);padding:10px 12px;position:absolute;box-shadow:0 6px 16px #00000040}.graph-tooltip-time{border-bottom:1px dashed var(--paper-edge);color:var(--blood);margin-bottom:6px;padding-bottom:4px;font-weight:700}.graph-tooltip-row{align-items:center;gap:8px;padding:2px 0;display:flex}.graph-tooltip-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.rank-table-wrap{overflow-x:auto}.rank-table{border-collapse:collapse;width:100%;font-size:15px}.rank-table th{border-bottom:1px solid var(--ink);font:700 10px var(--cf-mono,monospace);letter-spacing:2px;text-align:left;text-transform:uppercase;color:var(--ink-soft);padding:8px 10px}.rank-table td{border-bottom:1px dashed var(--paper-edge);vertical-align:middle;padding:12px 10px}.rank-table .num{text-align:right;font-family:var(--cf-mono,monospace);font-variant-numeric:tabular-nums}.rank-number{font:700 14px var(--cf-mono,monospace);color:var(--ink-soft)}.rank-team{overflow-wrap:anywhere;align-items:center;gap:10px;display:inline-flex}.rank-points{font-size:16px;font-weight:700}.rank-table tr.podium .rank-number{border:2px solid var(--blood);color:var(--blood);padding:0 6px;display:inline-block;transform:rotate(-4deg)}.rank-table tr.podium-1 td{background:#8f141412}.rank-table tr.podium-1 .rank-team{font-size:17px}@media (max-width:560px){.rank-hide-sm{display:none}.rank-table td{padding:10px 6px}}.rank-final-stamp{color:#ef4444;vertical-align:middle;margin-left:16px;font-size:13px}
