.pt-map-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.pt-map-group + .pt-map-group { margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--pt-border); }
.pt-world-maps { margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--pt-border); }
.pt-world-maps .pt-map-image > a { display: grid; place-items: center; height: 280px; background: #000000; }
.pt-world-maps .pt-map-image img { max-height: 280px; object-fit: contain; }
.pt-map-location:not(:has(.pt-map-image--legend)) { grid-template-columns: minmax(0,1fr); }
.pt-map-card { display: grid; grid-template-columns: 90px minmax(0,1fr) 44px; align-items: center; gap: 12px; min-width: 0; padding: 12px; border: 1px solid #343c43; border-radius: 4px; background: #171d23; color: #b9d7ad; text-decoration: none; }
.pt-map-card--without-boss { grid-template-columns: 90px minmax(0,1fr); }
.pt-map-card:hover, .pt-map-card:focus-visible { background: #1c2923; border-color: #80ae77; }
.pt-map-card img { object-fit: contain; box-shadow: none; border: 0; }
.pt-map-card .pt-map-card__map { display: block; width: 90px; height: 96px; background: #000000; }
.pt-map-card .pt-map-card__boss { display: block; width: 44px; height: 80px; }
.pt-map-card__text { min-width: 0; overflow-wrap: anywhere; }
.pt-map-card__missing { display: grid; place-items: center; width: 90px; height: 96px; background: #000000; color: #8b969e; font-size: .8rem; }
.pt-map-card strong, .pt-map-card small, .pt-map-level { display: block; }
.pt-map-level { color: #d4bd80; font-size: .9rem; margin-top: 6px; }
.pt-map-card small { color: #b2bcc5; font-size: .8rem; margin-top: 8px; }
.pt-map-overview { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.pt-map-overview p { padding: 16px; background: #171d23; border: 1px solid #343c43; border-radius: 4px; margin: 0; }
.pt-map-overview strong, .pt-map-overview span { display: block; }
.pt-map-overview strong { color: #d4bd80; }
.pt-map-overview span { font-size: .83rem; margin-top: 8px; color: #b2bcc5; }
.pt-map-boss-grid { display: grid; gap: 16px; }
.pt-map-boss { display: flex; align-items: center; gap: 24px; border: 1px solid #343c43; background: #171d23; padding: 20px; border-radius: 4px; }
.pt-map-boss-portrait { flex: 0 0 150px; }
.pt-map-boss-portrait img { display: block; width: auto; height: auto; max-width: 150px; max-height: 180px; object-fit: contain; margin: auto; border: 0; box-shadow: none; }
.pt-map-boss h3 { margin: 0 0 10px; }
.pt-map-boss p { margin: 8px 0; font-size: .9rem; }
.pt-map-server, .pt-map-spawn small { color: #b2bcc5; font-size: .8rem; }
.pt-map-spawn small { display: block; margin-top: 6px; }
.pt-map-location { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(0,1fr); align-items: start; gap: 16px; padding: 16px; margin: 0 0 24px; background: #000000; }
.pt-map-image { margin: 0; min-width: 0; }
.pt-map-image img { display: block; width: auto; max-width: 100%; height: auto; margin: auto; border: 0; border-radius: 0; box-shadow: none; }
.pt-map-image figcaption { margin-top: 8px; color: #b2bcc5; text-align: center; }
.pt-maps section[id] { scroll-margin-top: 110px; }
.pt-monster-permalink { margin-left: 5px; font-weight: normal; opacity: .75; }
@media(max-width:700px) {
 .pt-map-grid { grid-template-columns: 1fr; }
 .pt-map-overview { grid-template-columns: 1fr; }
 .pt-map-overview p { padding: 12px 16px; }
 .pt-map-overview span { margin-top: 3px; }
 .pt-map-boss { flex-direction: column; align-items: stretch; gap: 16px; }
 .pt-map-boss-portrait { flex-basis: auto; }
}
@media(max-width:480px) {
 .pt-map-card { grid-template-columns: 70px minmax(0,1fr) 34px; gap: 9px; padding: 10px; }
 .pt-map-card--without-boss { grid-template-columns: 70px minmax(0,1fr); }
 .pt-map-card .pt-map-card__map, .pt-map-card__missing { width: 70px; height: 82px; }
 .pt-map-card .pt-map-card__boss { width: 34px; height: 64px; }
 .pt-map-location { grid-template-columns: minmax(0,1fr); padding: 10px; gap: 20px; }
}
