.player-portrait{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 42px;width:42px;height:42px;border-radius:50%;overflow:hidden;background:linear-gradient(145deg,#203c46,#172029);border:1px solid #5c9d9e55;color:#c6e9e5;font-size:13px;font-weight:700}
.player-portrait.is-large{width:72px;height:72px;flex-basis:72px;font-size:21px}
.player-portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.player-class{display:inline-flex;padding:4px 8px;border-radius:6px;border:1px solid currentColor;font-size:10px;line-height:1.2;letter-spacing:.06em;vertical-align:middle;color:#9facb9;white-space:nowrap}
.class-dolphin{color:#58d6ad}.class-shark{color:#68bdf1}.class-whale{color:#b99afa}.class-leviathan{color:#ffbb6c}
.player-class { gap: 5px; align-items: center; width: fit-content; }
.player-class.is-provisional { border-style: dashed; }
.player-class-status { font-size: 9px; font-weight: 400; letter-spacing: 0; }
.player-tier-panel { display: grid; gap: 12px; min-width: 0; }
.player-tier-progress { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 22px; }
.player-tier-progress > div { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.player-tier-progress p { margin: 0; font-size: 14px; }
.player-tier-progress small { display: block; color: var(--muted, #9aa7b7); margin-top: 4px; font-size: 12px; }
.player-tier-guide { padding: 16px 20px; min-width: 0; font-size: 13px; }
.player-tier-guide summary { cursor: pointer; font-weight: 600; }
.player-tier-guide summary span { display: block; color: var(--muted, #9aa7b7); font-size: 12px; font-weight: 400; margin: 4px 0 0 16px; }
.player-tier-guide summary:focus-visible { outline: 2px solid var(--accent, #68bdf1); outline-offset: 5px; }
.player-tier-guide p { color: var(--muted, #9aa7b7); line-height: 1.6; }
.player-tier-guide section + section { margin-top: 24px; }
.player-tier-guide h4 { margin: 18px 0 8px; }
.player-tier-table-wrap { overflow-x: auto; }
.player-tier-table { border-collapse: collapse; width: 100%; font-variant-numeric: tabular-nums; }
.player-tier-table caption { text-align: left; margin-bottom: 10px; color: var(--muted, #9aa7b7); }
.player-tier-table th, .player-tier-table td { padding: 10px 12px; text-align: left; white-space: nowrap; border-bottom: 1px solid rgba(148,163,184,.18); }
.alliance-tier-summary { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin: 12px 0 18px; }
.alliance-tier-summary small { color: var(--muted, #9aa7b7); font-size: 12px; }
.growth-roster-player .player-class { margin-top: 5px; }
.board-tier-note { font-size: 12px; line-height: 1.6; }
@media(max-width: 600px) {
  .player-tier-progress { align-items: flex-start; flex-direction: column; padding: 16px; }
  .player-tier-guide { padding: 16px; }
  .alliance-tier-summary small { flex-basis: 100%; }
}
.player-hero-card { display: flex; align-items: center; justify-content: space-between; gap: 16px 24px; padding: 18px 22px; }
.player-hero-caption { display: grid; gap: 5px; }
.player-hero-caption > strong { font-size: .8rem; font-weight: 600; }
.player-hero-caption > small { color: var(--muted, #9aa7b7); font-size: .68rem; line-height: 1.5; }
.player-hero-reading { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 10px 16px; min-width: 0; }
.player-hero-name { font-size: .95rem; overflow-wrap: anywhere; }
.player-hero-power { display: inline-flex; align-items: baseline; gap: 5px; font-size: 1.05rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.player-hero-power small { color: var(--muted, #9aa7b7); font-size: .65rem; font-weight: 400; }
.player-hero-type { display: inline-flex; align-items: center; gap: 6px; border: 1px solid currentColor; border-radius: 999px; padding: 4px 9px; color: #a9b6c4; font-size: .65rem; font-weight: 600; }
.player-hero-type::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.player-hero-type.is-tank { color: #70d9e6; background: #70d9e610; }
.player-hero-type.is-aircraft { color: #c3adff; background: #c3adff10; }
.player-hero-type.is-missile { color: #f0cc7b; background: #f0cc7b10; }
@media(max-width: 600px) {
  .player-hero-card { align-items: flex-start; flex-direction: column; gap: 12px; padding: 16px; }
  .player-hero-reading { justify-content: flex-start; gap: 10px 12px; }
}
.player-growth { padding: 22px; margin: 0; min-width: 0; }
.player-growth > header { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 14px; }
.player-growth h3 { margin: 0; font-size: 1rem; }
.player-growth > header > small { color: var(--muted, #99a8b7); font-size: .68rem; }
.growth-summary-period { display: flex; align-items: center; gap: 20px; padding: 14px 0; border-top: 1px solid var(--panel-border, #ffffff14); font-variant-numeric: tabular-nums; }
.growth-summary-period h4 { flex: 0 0 22%; margin: 0; font-size: .8rem; font-weight: 600; }
.growth-summary-period dl { display: flex; flex: 1; justify-content: flex-end; flex-wrap: wrap; gap: 14px 24px; margin: 0; text-align: right; }
.growth-summary-value { min-width: 65px; }
.growth-summary-value dt { margin-bottom: 5px; color: var(--muted, #99a8b7); font-size: .72rem; }
.growth-summary-value dd { margin: 0; }
.growth-summary-value strong { display: block; font-size: 1.05rem; }
.growth-summary-value small { display: block; margin-top: 4px; font-size: .68rem; color: var(--muted, #99a8b7); }
.growth-summary-value.is-positive strong, .growth-gain { color: var(--success, #65dfb7); }
.growth-summary-value.is-negative strong { color: var(--danger, #ff9b99); }
.growth-summary-value.is-neutral strong { color: var(--muted, #b3c0ca); }
@media(max-width:650px) {
  .player-growth { padding: 16px 12px; }
  .growth-summary-period { gap: 10px; }
  .growth-summary-period h4 { flex-basis: 20%; font-size: .72rem; }
  .growth-summary-period dl { gap: 14px; }
  .growth-summary-value { min-width: 49px; }
  .growth-summary-value dt { font-size: .64rem; }
  .growth-summary-value strong { font-size: .87rem; }
  .growth-summary-value small { font-size: .62rem; }
}
.growth-rankings-shell{display:grid;gap:20px;max-width:1200px;margin:0 auto}.growth-ranking-filters{padding:20px;display:flex;gap:16px;align-items:end;flex-wrap:wrap}.growth-ranking-filters label{display:flex;flex:1;min-width:135px;flex-direction:column;gap:8px;font-size:12px;color:#b2c2cc}.growth-ranking-filters input,.growth-ranking-filters select{min-height:44px;width:100%;border-radius:8px;padding:10px;background:#101c27;color:#e1ecf3;border:1px solid #ffffff25}.growth-ranking-status{padding:28px;color:#a5b7c6}.growth-ranking-status[hidden],.growth-ranking-results[hidden]{display:none}.growth-ranking-results{overflow:hidden}.growth-ranking-results>header{padding:30px;background:linear-gradient(120deg,#214e4829,#1f284733)}.growth-ranking-results h2{font-size:28px;margin:6px 0}.growth-ranking-results header>p:not(.eyebrow){font-size:12px;color:#9cabb9}.growth-ranking-counts{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;margin-top:18px}.growth-ranking-counts span{color:#8e9fab}.growth-table-scroll{overflow-x:auto}.growth-ranking-table{border-collapse:collapse;width:100%;text-align:left}.growth-ranking-table th{font-weight:500;font-size:11px;color:#94a8b7;background:#09101944;padding:14px 20px}.growth-ranking-table td{padding:16px 20px;border-top:1px solid #ffffff0e}.growth-ranking-table td>small{display:block;color:#8da2b1;font-size:11px;line-height:1.6}.growth-player-link{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;min-width:180px}.growth-player-link strong{display:block;font-size:14px}.growth-player-link small{display:flex;align-items:center;gap:9px;margin-top:5px;color:#91a6b5;font-size:11px}.growth-rank-number{font-size:19px;color:#8fa6b3}.growth-top-player{background:linear-gradient(90deg,#39ae8410,transparent)}.growth-ranking-empty{padding:35px;text-align:center;color:#a6b7c2}.growth-ranking-empty h3{color:#d6e4ec}.growth-ranking-method{padding:20px;color:#9dabb8;font-size:12px;line-height:1.7}.growth-ranking-method summary{cursor:pointer;color:#d0dee8}.growth-ranking-method p{max-width:950px}.growth-ranking-table a:focus-visible{outline:2px solid #65dfb7;outline-offset:5px;border-radius:4px}
@media(max-width:700px){.player-growth{padding:16px}.player-growth-trends{grid-template-columns:1fr}.growth-trend{display:flex;align-items:center;gap:15px}.growth-trend svg{width:110px;flex-shrink:0}.growth-metric strong{font-size:17px}.player-growth-metrics{gap:10px}.growth-ranking-filters{padding:16px;gap:12px}.growth-ranking-filters label{min-width:calc(50% - 12px)}.growth-ranking-filters button{width:100%}.growth-ranking-table td,.growth-ranking-table th{padding:12px}.growth-ranking-results>header{padding:22px}.growth-ranking-results h2{font-size:24px}}
@media(max-width:430px){.player-growth-metrics{grid-template-columns:1fr}.growth-metric{border-top:1px solid #ffffff10;padding-top:9px}.growth-metric>span:first-child{flex-basis:auto;min-width:78px}.growth-reading{font-size:10px}.growth-ranking-filters label{min-width:100%}}

.growth-roster-player{display:flex;align-items:center;gap:10px}.growth-roster-player .player-portrait{width:32px;height:32px;flex-basis:32px;font-size:10px}

.growth-rankings-shell .public-stats-hero{padding:28px}.growth-rankings-shell .public-stats-hero h1{font-size:clamp(28px,3vw,38px);margin:10px 0}.growth-ranking-filters label:nth-child(2){flex:1.3;min-width:180px}

.growth-ranking-table .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.growth-ranking-table td .growth-window-mobile{display:none}
@media(max-width:700px){.growth-ranking-table{table-layout:fixed}.growth-ranking-table th:first-child{width:43px}.growth-ranking-table th:nth-child(3){width:91px}.growth-ranking-table th:last-child,.growth-ranking-table td:last-child{display:none}.growth-ranking-table td,.growth-ranking-table th{padding:12px 9px}.growth-player-link{min-width:0;gap:8px}.growth-player-link strong{overflow-wrap:anywhere}.growth-player-link small{flex-wrap:wrap;gap:5px}.growth-player-link .player-portrait{width:32px;height:32px;flex-basis:32px;font-size:10px}.growth-ranking-table td .growth-window-mobile{display:block;margin-top:9px;font-size:9px}.growth-gain{font-size:15px}.growth-rank-number{font-size:16px}}
