/* Speedrun result card (public/js/speedrun-card.js), used by Tools and Speedruns Solo. */
.sr-out{margin-top:14px}
/* Player's skin (territory pattern) behind the result, darkened so the text stays readable */
.sr-out.skin{padding:14px;border-radius:16px;border:1px solid #2a3647;background-repeat:repeat;image-rendering:pixelated}
.sr-out .kpi{border:1px solid #202a37;background:#0d131c;border-radius:11px;padding:12px 14px}
.sr-out .kpi .l{color:#7f8b9d;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.sr-out .kpi .v{margin-top:5px;font-size:18px;font-weight:900;font-variant-numeric:tabular-nums}
.sr-out .kpi .h{margin-top:2px;color:#697588;font-size:11px}
.sr-head{display:flex;align-items:center;gap:18px;flex-wrap:wrap;border:1px solid #202a37;background:#0d131c;border-radius:12px;padding:14px 16px}
.sr-time{font-family:var(--font-display);font-size:44px;font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:.02em;line-height:1}
.sr-time small{display:block;margin-top:6px;font-family:inherit;font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.sr-verdict{margin-left:auto;text-align:right}
.sr-badge{display:inline-block;padding:6px 12px;border-radius:999px;font-weight:900;font-size:13px;letter-spacing:.06em;border:1px solid}
.sr-badge.ok{color:var(--green);border-color:var(--green);background:#35d07f14}
.sr-badge.bad{color:var(--red);border-color:var(--red);background:#ff5d6c14}
.sr-badge.warn{color:var(--gold);border-color:var(--gold);background:#f2c40014}
.sr-verdict .why{margin-top:6px;color:var(--muted);font-size:12px;max-width:340px}
.sr-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}
.sr-checks{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:6px}
.sr-checks li{display:flex;gap:10px;align-items:baseline;font-size:13px;padding:7px 10px;border:1px solid #1b2330;border-radius:9px;background:#0a0f16}
.sr-checks li b{min-width:1.2em}
.sr-checks .ok b{color:var(--green)}.sr-checks .bad b{color:var(--red)}.sr-checks .warn b{color:var(--gold)}
.sr-checks .val{margin-left:auto;color:var(--muted);white-space:nowrap}
.sr-chartbox{margin-top:12px}
.sr-chartbox .chartHead{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.sr-chartbox .chartHead .t{font-weight:850}
.sr-chart{position:relative;height:260px;border:1px solid #202a37;border-radius:12px;background:#080c12;padding:12px 12px 6px}
.sr-chart svg{width:100%;height:100%;display:block;overflow:visible}
.sr-chart .axis{fill:#657286;font-size:11px;font-variant-numeric:tabular-nums}
.sr-chart .grid{stroke:#1b2330;stroke-width:1}
.sr-tip{position:absolute;display:none;pointer-events:none;min-width:140px;padding:8px 10px;border:1px solid #344154;border-radius:9px;background:#0d141e;box-shadow:0 8px 30px #0008;font-size:12px;z-index:5}
.sr-tip b{font-size:15px}
.sr-legend{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:12px;margin-left:auto}
.sr-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:-1px;box-sizing:border-box}
.sr-legend i.tri{border-radius:0;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:10px solid #ff5d6c}
.sr-cstat{color:var(--muted);font-size:12px}
.sr-line{fill:none;stroke:#4f8ff7;stroke-width:2.5;stroke-linejoin:round}
.sr-area{fill:#4f8ff722}
.sr-goaltxt{fill:var(--green);font-size:11px;font-weight:700}
.sr-cursor{stroke:#8fb8ff;stroke-width:1}
.sr-splits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:10px}
.sr-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.sr-links a,.sr-links button{display:inline-flex;align-items:center;gap:6px;text-decoration:none;font-weight:700;padding:8px 14px;border:1px solid var(--line);border-radius:10px;background:#131b27;color:var(--text);font-size:13px;cursor:pointer}
.sr-links a:hover,.sr-links button:hover{border-color:var(--blue)}
@media(max-width:720px){.sr-grid{grid-template-columns:1fr}.sr-verdict{margin-left:0;text-align:left}.sr-splits{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Leaderboard (public/js/speedrun-board.js) */
.lb{width:100%;border-collapse:collapse;font-size:14px}
.lb th{color:#7f8b9d;font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;text-align:left;padding:8px 10px;border-bottom:1px solid var(--line)}
.lb td{padding:10px;border-bottom:1px solid var(--line-soft);vertical-align:middle}
.lb .num{text-align:right;font-variant-numeric:tabular-nums}
.lb tr.run{cursor:pointer}
.lb tr.run:hover td{background:#111a26}
.lb tr.run.open td{background:#131d2b}
.lb tr.run.inv td{color:var(--muted)}
.lb .rank{font-weight:900;width:44px}
.lb .rank.r1{color:#ffd54a}.lb .rank.r2{color:#cfd8e3}.lb .rank.r3{color:#e0a36b}
.lb .time{font-family:var(--font-display);font-weight:900;font-size:17px}
.lb .who b{font-weight:800}.lb .who a.pl{color:var(--text);text-decoration:none}.lb .who a.pl:hover b{color:var(--blue);text-decoration:underline}.lb .who span{color:var(--muted);font-size:12px;margin-left:6px}
.pill{display:inline-block;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:900;letter-spacing:.05em;border:1px solid}
.pill.ok{color:var(--green);border-color:var(--green);background:#35d07f14}
.pill.bad{color:var(--red);border-color:var(--red);background:#ff5d6c14}
.pill.warn{color:var(--gold);border-color:var(--gold);background:#f2c40014}
.lb tr.detail td{padding:0 0 16px;background:transparent}
.lb tr.detail .sr-out{margin-top:6px}
.empty{padding:26px;text-align:center;color:var(--muted)}
.lb .ver{color:var(--muted);font-size:12.5px;font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-width:720px){.lb .hide-m{display:none}.lb th,.lb td{padding-left:6px;padding-right:6px}}
