.traffic-hub{margin:26px 0;padding:20px;background:var(--surface,#18212c);border:1px solid var(--line,#526071)}
.traffic-hub>h2{margin-top:0}.traffic-hub-section{margin-top:22px}.traffic-hub-section h3{margin-bottom:9px}.traffic-hub-section p{line-height:1.75}
.traffic-hub a{font-weight:600;text-decoration:underline;text-underline-offset:3px}
.traffic-figure{margin:18px 0;padding:14px;border:1px solid var(--line,#526071);background:var(--surface,#18212c);max-width:100%;box-sizing:border-box}
.traffic-figure>a{display:block;max-width:100%;width:fit-content}.traffic-figure img{display:block;width:auto;height:auto;max-width:100%;max-height:300px;object-fit:contain}
.traffic-figure.traffic-sprite img{width:96px;height:96px;object-fit:contain;image-rendering:pixelated}
.traffic-figure figcaption{margin-top:10px;font-size:.88rem;line-height:1.5;color:var(--muted,#b9c6d8)}
.traffic-table{max-width:100%;overflow-x:auto;margin:18px 0;border:1px solid var(--line,#526071)}
.traffic-table table{border-collapse:collapse;width:100%;min-width:480px;font-size:.92rem;line-height:1.5}
.traffic-table caption{text-align:left;padding:12px;font-weight:700}.traffic-table th,.traffic-table td{text-align:left;padding:10px;vertical-align:top;border:1px solid var(--line,#526071)}
.traffic-table thead th{background:var(--surface,#18212c)}.traffic-table tbody th{font-weight:600}
.traffic-table-wrap{max-width:100%;overflow-x:auto;margin:18px 0;border:1px solid var(--line,#526071)}
.traffic-table-wrap>table.traffic-table{margin:0;border-collapse:collapse;width:100%;min-width:480px;font-size:.92rem;line-height:1.5}
.traffic-table-wrap>table.traffic-table caption{text-align:left;padding:12px;font-weight:700}
.traffic-sprite-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:12px}
.traffic-sprite-card{display:flex;align-items:center;flex-direction:column;text-align:center;gap:7px;padding:10px;border:1px solid var(--line,#526071)}
.traffic-sprite-card img{width:96px;height:96px;object-fit:contain;image-rendering:pixelated}.traffic-sprite-card span{font-size:.82rem;line-height:1.45}
.traffic-pokedex-card{height:auto;align-self:stretch}.traffic-pokedex-note{font-size:.82rem;line-height:1.5;margin:10px 0;text-align:left}
.traffic-pokedex-details{display:block;font-size:.8rem;line-height:1.45;margin-top:8px}
.traffic-name-index{margin:16px 0;padding:12px;border:1px solid var(--line,#526071)}.traffic-name-index summary{cursor:pointer;font-weight:700}
.traffic-name-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin-top:12px}.traffic-name-links a{font-size:.9rem;line-height:1.4}
.traffic-pokedex-stats{width:100%;margin-top:10px;font-size:.82rem;line-height:1.45}.traffic-pokedex-stats summary{cursor:pointer}
.traffic-pokedex-stats dl{margin:8px 0 0}.traffic-pokedex-stats dl>div{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line,#526071);padding:3px 0}
.traffic-pokedex-stats dt,.traffic-pokedex-stats dd{margin:0}.traffic-pokedex-stats dd{font-variant-numeric:tabular-nums}
@media(max-width:600px){.traffic-hub{padding:14px;margin:18px 0}.traffic-figure{padding:10px}.traffic-table table{font-size:.85rem}}
