.filters{display:flex;flex-wrap:wrap;gap:16px;align-items:end;margin-bottom:24px}.filters label{display:grid;gap:8px;font-size:13px}select,button{font:inherit;background:#243a32;color:var(--paper);border:1px solid #ffffff44;border-radius:6px;padding:10px 14px}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button:focus-visible,select:focus-visible{outline:2px solid var(--lime);outline-offset:3px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap}th,td{text-align:left;padding:12px;border-bottom:1px solid #ffffff22}th{color:var(--muted)}.own-result{background:#d5ef7015}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.summary-grid>div{display:grid;gap:8px;padding:18px;border:1px solid #ffffff22;border-radius:10px}.summary-grid strong{font-size:28px}.summary-grid small{color:var(--muted)}@media(max-width:560px){.summary-grid{grid-template-columns:1fr}.filters{display:grid}.filters label{width:100%}}

.history-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0}.history-chart{min-width:0;border:1px solid #ffffff22;border-radius:10px;padding:16px}.history-chart h3{margin:0 0 12px;font-size:15px}.history-chart svg{display:block;width:100%;height:auto;overflow:visible}.history-chart svg text{fill:var(--muted);font-size:12px}.chart-grid{stroke:#ffffff20}.history-chart circle:focus{outline:none;stroke:#fff;stroke-width:3}.chart-detail{color:var(--muted);font-size:12px;min-height:36px;line-height:1.6;margin-bottom:0}@media(max-width:640px){.history-charts{grid-template-columns:1fr}}
#restoreForm{display:grid;gap:12px;max-width:540px}#restoreForm input,#recoveryOutput{font:inherit;color:var(--paper);background:#243a32;border:1px solid #ffffff44;border-radius:6px;padding:12px;width:100%;min-width:0}#recoveryDisplay{display:grid;gap:12px;margin-bottom:16px}#recoveryDisplay[hidden]{display:none}#deviceList{display:grid;gap:16px}#recoveryOutput:focus-visible,#restoreForm input:focus-visible{outline:2px solid var(--lime);outline-offset:3px}

#rankingPanel th:first-child,#rankingRows td:first-child{text-align:center}
.rank-trophy{display:block;width:28px;height:28px;margin-inline:auto;fill:currentColor;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round;filter:drop-shadow(0 2px 3px #0004)}.rank-trophy-1{color:#f4ce68}.rank-trophy-2{color:#c7d4df}.rank-trophy-3{color:#ce9469}

.filters select,.filters button{box-sizing:border-box;height:44px;min-height:44px;line-height:20px}
select{appearance:none;padding-right:42px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'%3E%3Cpath d='m1 1 6 6 6-6' fill='none' stroke='%23f3efe5' stroke-width='2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
.rank-trophy{width:40px;height:40px;stroke:none}
.rank-trophy{object-fit:contain}
.history-mode{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:0 0 20px}.history-mode select{min-height:44px}

.history-published{display:inline-block;width:18px;height:18px;margin-left:8px;vertical-align:middle;fill:none;stroke:var(--lime);stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}

.history-legend{display:flex;align-items:center;gap:8px}
.history-legend .history-published{flex-shrink:0;margin:0}

#weakKeys{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0 0;padding:0;list-style:none}
.weak-key{display:flex;align-items:center;gap:12px;padding:0;border:0;background:none}
.weak-key kbd{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:42px;height:42px;padding:0 10px;border:1px solid #ffffff44;border-bottom-width:4px;border-radius:7px;background:#243a32;color:var(--paper);font:600 16px ui-monospace,SFMono-Regular,Consolas,monospace;box-shadow:0 2px 0 #0003}
.weak-key span{color:var(--muted);font-size:13px;white-space:nowrap}

.weapon-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:16px 0 0;padding:0;list-style:none}
.weapon-stat{display:flex;align-items:center;gap:14px;min-width:0;min-height:88px;padding:14px 16px;border:1px solid #ffffff22;border-radius:12px;background:linear-gradient(135deg,#d5ef7010,#ffffff04)}
.weapon-stat-icon{box-sizing:border-box;width:56px;height:56px;flex:0 0 56px;padding:4px;border:1px solid #d5ef7035;border-radius:10px;background:#142722;object-fit:contain}
.weapon-stat-details{display:grid;gap:7px;min-width:0}
.weapon-stat-details strong{font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.weapon-stat-details span{color:var(--lime);font-size:12px}

.ranking-tabs{display:flex;gap:4px;margin:0 0 24px;border-bottom:1px solid #ffffff44}.ranking-tabs [role="tab"]{flex:1;min-width:0;min-height:44px;padding:12px 8px;white-space:nowrap;border:0;border-bottom:3px solid transparent;border-radius:6px 6px 0 0;background:transparent;color:var(--muted)}.ranking-tabs [aria-selected="true"]{border-bottom-color:var(--lime);background:#d5ef7015;color:var(--paper);font-weight:700}#rankingFilters select:disabled{opacity:.5;cursor:default}

.history-filters .history-mode{display:grid;gap:8px;margin:0}.history-filters select{height:44px;box-sizing:border-box}.history-filters+ .info-section{margin-top:24px}[id^="historyPanel-"][hidden]{display:none}[id^="historyPanel-"]>.info-section:first-child{margin-top:0}

/* Keep period changes from collapsing the page or moving the results header. */
#rankingPeriodNote[hidden]{display:block;visibility:hidden}
#rankingPanel #recordsStatus{min-height:3.2em}
#rankingPanel #ownRanking,#rankingPanel #rankingVersion{min-height:1.6em}
@media(max-width:560px){#rankingPanel #recordsStatus{min-height:6.4em}#rankingPanel #rankingVersion{min-height:3.2em}}
