/* v0.56 — legible compact panels; no changes to map viewport dimensions. */
.personalTabs,.rankCategories{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.personalTabs button,.rankCategories button{border:1px solid var(--line);background:var(--paper-2);color:var(--ink);border-radius:10px;padding:11px 15px;min-height:44px;font:600 14px/1.35 'Golos Text',system-ui;white-space:normal}
.personalTabs [aria-selected=true],.rankCategories [aria-selected=true]{background:var(--paper-2);color:var(--ink);border-color:var(--line)}
.rankSummary{padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--paper-2);margin:14px 0}.rankSummary h3{font:26px/1.25 'Cormorant Garamond',Georgia;margin:0 0 9px;color:var(--ink)}.rankSummary p{font:14px/1.6 'Golos Text',system-ui;margin:0;color:var(--ink)}.rankCoverage{display:block;color:var(--ink);margin-top:12px;font:12px/1.5 'Golos Text',system-ui}
.rankTable{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--paper-2)}.rankTableHead{display:flex;justify-content:space-between;padding:12px 16px;background:var(--paper-2);color:var(--ink);font:12px/1.4 'Golos Text',system-ui;gap:10px}
.rankRow{display:grid;grid-template-columns:32px 34px minmax(0,1fr) minmax(56px,max-content);align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line);font:14px/1.45 'Golos Text',system-ui}.rankRow:last-child{border:0}.rankPlace{color:var(--ink);font-size:17px}.rankCrest{width:30px;height:36px;object-fit:contain}.rankWho{min-width:0;overflow-wrap:anywhere}.rankWho b{display:block;color:var(--ink)}.rankWho small{display:block;color:var(--muted);font-size:12px}.rankValue{text-align:right;font-size:19px;font-variant-numeric:tabular-nums;color:var(--ink)}.rankRow.isYou{background:var(--paper-2);box-shadow:0 6px 24px rgb(63 37 21 / .09)}.rankSelf{border:1px solid var(--line)!important;border-radius:12px}.rankSelfTitle{font:20px 'Cormorant Garamond',Georgia;margin:22px 0 12px;color:var(--ink)}.rankEmpty{padding:24px;line-height:1.6;color:var(--ink)}.rankError{color:var(--danger);font:13px/1.5 'Golos Text',system-ui;background:var(--paper-2);padding:10px;border-radius:8px;overflow-wrap:anywhere}
.armyLocator{position:absolute;left:10px;top:10px;z-index:6;max-width:calc(100% - 72px);min-height:40px;padding:9px 13px;border:2px solid var(--line);border-radius:10px;background:var(--paper-2);color:var(--ink);font:700 13px/1.3 'Golos Text',system-ui;box-shadow:0 6px 24px rgb(63 37 21 / .09);white-space:normal;text-align:left}
.mapStage .mapFitBadge{left:10px!important}.armyLocator:focus-visible,.personalTabs button:focus-visible,.rankCategories button:focus-visible{outline:3px solid var(--line);outline-offset:2px}
@media(max-width:520px){
  .rankCategories{display:grid;grid-template-columns:1fr 1fr;gap:6px}
  .rankCategories button{padding:9px 5px;font-size:12px}
  .rankRow{grid-template-columns:23px 25px minmax(0,1fr) minmax(38px,max-content);gap:7px;padding:12px 9px}
  .rankCrest{width:24px;height:30px}.rankValue{font-size:16px}.rankWho b{font-size:13px}.rankWho small{font-size:11px}
  .rankSummary{padding:13px}.rankSummary h3{font-size:23px}.rankSummary p{font-size:13px}
  .armyLocator{font-size:11px;left:8px;top:8px;padding:7px 9px}
}
/* Full-map controls remain usable on short screens without surrounding panels. */
body.mapFocusMode .capitalRace,body.mapFocusMode .mapHelp{display:none!important}
