.chart-icon{object-fit:contain;flex:none;vertical-align:middle}
.chart-periods,.chart-modes{display:inline-flex;align-items:center;gap:3px;flex-wrap:wrap}
.chart-periods :is(a,button),.chart-modes button{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:4px 6px;margin:0;background:transparent;border:1px solid var(--line);border-radius:7px;color:var(--mut);font:11px system-ui;white-space:nowrap;cursor:pointer}
.chart-periods .on,.chart-modes .on{color:var(--acc);border-color:var(--acc)}
.chart-periods :is(a,button):hover,.chart-modes button:hover{background:var(--accent-soft);color:var(--fg)}
.chart-periods :is(a,button):focus-visible,.chart-modes button:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.chart-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:9px}
.chart-footer .chart-periods{margin-left:auto;justify-content:flex-end}
.chart-footer .chart-modes button{font-size:10px}
.chart-footer .chart-icon{width:16px;height:16px}
.chart-footer .chart-periods button{padding:3px 4px;font-size:10px}
.chart-footer .chart-modes button{padding:3px 5px}
.chart-status{display:block;font-size:11px;color:var(--mut);margin-top:5px}
.t-chart[aria-busy="true"]{opacity:.45}
.pw-header .header-period{gap:5px}
.pw-header .header-period .chart-periods a{font-size:10px;padding:3px 4px}
.pw-header .header-period .chart-icon{width:15px;height:15px}
.pw-header .header-period .chart-modes button{font-size:10px;padding:2px 5px}
.pw-header button.pulse-players{border:0;background:transparent;text-align:left;color:var(--fg);padding:0;margin:0;font:inherit;cursor:pointer}
.pw-header button.pulse-players:hover{color:var(--acc)}
.pw-header button.pulse-players small{font-weight:400;color:var(--mut)}
.tile button.t-label.cats-map-open{border:0;padding:0;margin:0;background:transparent;color:var(--mut);font:inherit;font-size:12px;text-align:left;cursor:pointer}
.players-history{width:min(940px,calc(100vw - 32px));max-height:85vh;box-sizing:border-box;padding:24px;background:var(--card);color:var(--fg);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:auto}
.players-history::backdrop{background:#0009}
.players-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.players-heading h2{display:flex;align-items:center;gap:10px;margin:0;font:24px Georgia,serif}
.players-heading>button{font-size:24px;padding:3px 10px}
.players-controls{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:18px 0}
.players-history .t-chart{display:block;margin:12px 0}
.players-history .t-chart svg{width:100%;height:auto;max-height:280px}
.players-table{max-height:32vh;overflow:auto}.players-table table{width:100%;border-collapse:collapse}.players-table td,.players-table th{padding:9px 12px;text-align:left;border-bottom:1px solid var(--line)}
.players-table th{position:sticky;top:0;background:var(--card)}
.players-history [data-player-status]{font-size:12px;color:var(--mut)}
@media(max-width:600px){.players-history{padding:16px}.players-heading h2{font-size:21px}.players-controls .chart-periods button{font-size:10px;padding:5px}.players-controls .chart-icon{width:16px;height:16px}.chart-footer{gap:6px}}
