.pf-page {--pf-sea: #EAF4FA;--pf-land: #EEE9DF;--pf-land-line: #FFFFFF;--pf-l1: #DDEFE6;--pf-l2: #B5DEC9;--pf-l3: #82C6A6;--pf-l4: #4FA982;--pf-l5: #2A7F5F;--pf-dot: #F2542D;--pf-ink: #0F2A44;--pf-muted: #4A5D72;--pf-line: #DCE6F0}
.pf-svg path,
.pf-svg circle {vector-effect: non-scaling-stroke}
.pf-mapgrid {display: grid;gap: 16px}
@media (min-width: 900px) {.pf-mapgrid {grid-template-columns: minmax(0, 1fr) 320px;align-items: start}}
.pf-mapcol {min-width: 0}
.pf-mapbox {position: relative;overflow: hidden;border: 1px solid var(--pf-line);border-radius: 12px;background: var(--pf-sea)}
.pf-svg {display: block;width: 100%;height: 360px;max-width: none}
.pf-svg--world {height: 260px}
.pf-mapbox--detail .pf-svg {height: 340px}
@media (min-width: 900px) {.pf-svg {height: 520px}
.pf-svg--world {height: 400px}
.pf-mapbox--detail .pf-svg {height: 440px}}
.pf-land {fill: var(--pf-land);stroke: var(--pf-land-line);stroke-width: 1;stroke-linejoin: round;transition: fill .2s}
.pf-land.pf-l1 { fill: var(--pf-l1); }
.pf-land.pf-l2 { fill: var(--pf-l2); }
.pf-land.pf-l3 { fill: var(--pf-l3); }
.pf-land.pf-l4 { fill: var(--pf-l4); }
.pf-land.pf-l5 { fill: var(--pf-l5); }
.pf-land.is-link {cursor: pointer}
.pf-land.is-hl,
.pf-land.is-link:hover {stroke: var(--pf-ink);stroke-width: 2}
.pf-land:focus {outline: none}
.pf-land:focus-visible {stroke: var(--pf-ink);stroke-width: 3}
.pf-land.pf-dim {fill: var(--pf-land);stroke-width: 1}
.pf-land.pf-target {fill: var(--pf-l2);stroke: var(--pf-l5);stroke-width: 2}
.pf-dots {pointer-events: none}
.pf-dot circle {transform-box: fill-box;transform-origin: center}
.pf-dot .core {fill: var(--pf-dot);fill-opacity: .9;stroke: #FFFFFF;stroke-width: 1.2;animation: pf-pop .4s cubic-bezier(.2, 1.6, .4, 1) both}
.pf-dot .ring {fill: none;stroke: var(--pf-dot);stroke-width: 1.5;opacity: 0;animation: pf-ring 1.2s ease-out both}
@keyframes pf-pop {from { transform: scale(0); }
to { transform: scale(1); }}
@keyframes pf-ring {from { opacity: .9; transform: scale(1); }
to { opacity: 0; transform: scale(5); }}
@media (prefers-reduced-motion: reduce) {.pf-dot .core,
.pf-dot .ring {animation: none}
.pf-dot .ring {display: none}}
.pf-tip {position: absolute;top: 0;left: 0;z-index: 5;width: max-content;max-width: calc(100% - 16px);padding: 10px 12px;border-radius: 12px;background: var(--pf-ink);box-shadow: 0 8px 24px rgba(15, 42, 68, .3);color: #FFFFFF;font-size: 13px;line-height: 1.5;opacity: 0;pointer-events: none;visibility: hidden;transition: opacity .12s}
.pf-tip.is-on {opacity: 1;visibility: visible}
.pf-tip.is-touch {pointer-events: auto}
.pf-tip b {display: block;font-size: 15px}
.pf-tip span {display: block;color: #DCE6F0}
.pf-page .pf-tip-go {display: inline-flex;align-items: center;min-height: 44px;margin-top: 6px;padding: 6px 14px;border-radius: 999px;background: #FFFFFF;color: var(--pf-ink);font-size: 13px;font-weight: 700;text-decoration: none}
.pf-legend {display: flex;flex-wrap: wrap;gap: 6px 14px;align-items: center;margin-top: 10px;color: var(--pf-muted);font-size: 12px}
.pf-legend-sw {display: inline-flex;gap: 2px}
.pf-legend-sw i,
.pf-legend-none {display: inline-block;width: 22px;height: 12px;border-radius: 3px;vertical-align: middle}
.pf-legend-sw .pf-l1 { background: var(--pf-l1); }
.pf-legend-sw .pf-l2 { background: var(--pf-l2); }
.pf-legend-sw .pf-l3 { background: var(--pf-l3); }
.pf-legend-sw .pf-l4 { background: var(--pf-l4); }
.pf-legend-sw .pf-l5 { background: var(--pf-l5); }
.pf-legend-none {margin-right: 4px;border: 1px solid var(--pf-line);background: var(--pf-land)}
.pf-legend-dot {display: inline-block;width: 10px;height: 10px;margin-right: 4px;border: 2px solid #FFFFFF;border-radius: 50%;background: var(--pf-dot);box-shadow: 0 0 0 1px var(--pf-dot);vertical-align: middle}
.pf-mapnote {display: flex;gap: 6px;align-items: flex-start;margin: 8px 0 0;color: var(--pf-muted);font-size: 12px;line-height: 1.6}
.pf-mapnote svg {flex: none;margin-top: 2px}
.pf-rankpanel h3 {margin: 0 0 8px;font-size: 15px}
.pf-rank {display: grid;gap: 4px;margin: 0;padding: 0;list-style: none}
.pf-rank-item {display: grid;grid-template-columns: auto minmax(0, 1fr) auto;gap: 2px 10px;align-items: center;padding: 8px 10px;border-radius: 10px;color: var(--pf-ink);text-decoration: none}
a.pf-rank-item:hover,
a.pf-rank-item:focus-visible {background: #F2F7FB}
.pf-rank-name {min-width: 0}
.pf-rank-name b {display: block;font-size: 14px}
.pf-rank-name small {display: block;overflow: hidden;color: var(--pf-muted);font-size: 12px;white-space: nowrap;text-overflow: ellipsis}
.pf-rank-v {text-align: right;white-space: nowrap}
.pf-rank-v b {font-size: 16px}
.pf-rank-v small {margin-left: 2px;color: var(--pf-muted);font-size: 12px}
.pf-rank-bar {grid-column: 2 / 4;height: 4px;overflow: hidden;border-radius: 999px;background: #EEF3F7}
.pf-rank-bar i {display: block;height: 100%;border-radius: 999px;background: var(--pf-l4)}