footer a { color: inherit; }
.brand-mark { width: 40px; height: 29px; border: 1px solid #c9d2df; border-radius: 4px; display: block; overflow: hidden; background: #fff; box-shadow: 0 2px 7px rgba(7,21,46,.12); transform: none; }
.brand-mark img { display: block; width: 100%; height: 100%; object-fit: cover; }
.map-key { flex-wrap: wrap; align-items: center; }
.map-key.league-scale i { background: linear-gradient(90deg,#e8edf5,#c8dafb,#8eb5f5,#568de9,#245fd6,#0d44c7); }
.map-toolbar { min-height: 42px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 5px; color: white; }
.map-toolbar strong { margin-right:auto;font-size: .82rem; letter-spacing: .08em; text-transform: uppercase; }
.map-toolbar button { border: 1px solid rgba(255,255,255,.28); background: rgba(255,255,255,.08); color: white; border-radius: 9px; padding: 8px 11px; font-weight: 700; cursor: pointer; }
.map-toolbar button:hover, .map-toolbar button:focus { background: white; color: var(--ink); outline: none; }
.map-toolbar button:disabled{opacity:.45;cursor:default;background:rgba(255,255,255,.04);color:white}.map-zoom-controls{display:flex;gap:5px;margin-left:auto}.map-zoom-controls button{min-width:36px;padding:7px 9px}.map-zoom-controls button:last-child{min-width:58px}
.map-help { color: var(--muted); line-height: 1.7; margin-top: 24px; }
.tier-summary { flex-wrap: wrap; }
.map-count-badge { pointer-events: none; }
#korea-map .map-count-badge circle { fill: #fff; stroke: #7890b5; stroke-width: 2; }
#korea-map .map-count-badge text { fill: #243653; font: 800 10px/1 system-ui, sans-serif; text-anchor: middle; dominant-baseline: middle; }
#korea-map .map-count-badge.empty circle { fill: #fff; stroke: #7890b5; }
#korea-map .map-count-badge.empty text { fill: #243653; }
.map-key .badge-key b { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: #fff; color: #0b1830; font-size: .68rem; }
.map-club-head { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(130px,.65fr); gap: 14px; padding: 0 13px 8px; color: var(--muted); font-size: .68rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.map-club-list { display: grid; gap: 7px; max-height: 450px; overflow: auto; padding-right: 5px; }
.map-club-list button { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(130px,.65fr); gap: 14px; align-items: center; text-align: left; border: 1px solid var(--line); background: white; border-radius: 10px; padding: 11px 13px; cursor: pointer; color: var(--ink); }
.map-club-list button:hover, .map-club-list button:focus { background: var(--ice); border-color: #b6c7e5; outline: none; }
.map-club-list button b { min-width: 0; font-size: .78rem; line-height: 1.35; }
.map-club-list button small { font-size: .7rem; color: var(--muted); line-height: 1.35; }
.club-tier { display: inline-block; min-width: 31px; margin-right: 8px; color: var(--blue); font-size: .64rem; font-weight: 800; }
.map-detail,.map-league-list button,.map-club-list button{background:var(--surface)}html[data-theme="dark"] #korea-map path,html[data-theme="dark"] #korea-map circle{stroke:#dce7f8}
html[data-theme="dark"] .map-panel,html[data-theme="dark"] .map-stats{background:#07152e;color:#fff}html[data-theme="dark"] .map-toolbar button:hover,html[data-theme="dark"] .map-toolbar button:focus{color:#07152e}
#korea-map{touch-action:pan-y}#korea-map.zoomed{touch-action:none}#korea-map.panning,#korea-map.panning path,#korea-map.panning circle{cursor:grabbing;user-select:none}

@media (max-width: 900px) {
  .map-layout { grid-template-columns: 1fr; }
  .map-panel { position: static; min-height: 520px; }
  .map-detail { min-height: 0; }
  #korea-map { height: 500px; }
}

@media (max-width: 600px) {
  .map-panel { padding: 10px; min-height: 430px; }
  #korea-map { height: 400px; }
  .map-detail { padding: 21px; }
  .map-stats div { padding: 13px 10px; }
  .map-league-list button { grid-template-columns: 48px 1fr; }
  .map-league-list button > small { display: none; }
  .map-club-head, .map-club-list button { grid-template-columns: minmax(0,1.2fr) minmax(105px,.8fr); gap: 9px; }
  .map-club-list button { padding: 10px; }
  .map-toolbar{gap:7px}.map-toolbar strong{font-size:.7rem}.map-zoom-controls button{min-width:32px;padding:7px}.map-zoom-controls button:last-child{min-width:48px;font-size:.68rem}
}
