#app[data-active-view="realm"] #creditResetPolicy { display: none; }
.realm-map { max-width: 1050px; margin: 0 auto 28px; }
.realm-map-heading { text-align: center; padding: 22px 8px 12px; }
.realm-map-heading .eyebrow { color: #c5a66b; letter-spacing: .2em; }
.realm-map-heading h2 { margin: 4px 0 8px; color: #ffe2a4; font: 700 clamp(30px, 4vw, 48px)/1.1 Georgia, serif; text-transform: none; }
.realm-map-heading > p:last-child { margin: 0; color: #b8c4d0; font-size: 13px; }
.realm-map-landscape { position: relative; aspect-ratio: 1; container-type: inline-size; isolation: isolate; border: 1px solid #816337; border-radius: 20px; overflow: hidden; background: #102b36; box-shadow: 0 20px 70px #0006, 0 0 32px #70d1e612; }
.realm-map-art { display: block; width: 100%; height: 100%; object-fit: cover; }
.realm-map-place { position: absolute; transform: translate(-50%, -50%); display: flex; flex-direction: column; align-items: center; justify-content: flex-end; min-height: 48px; padding: 0 0 4px; border: 0; border-radius: 14px; background: transparent; color: #ffecbe; cursor: pointer; touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
.realm-map-place strong { padding: 4px 8px; border: 1px solid #c5a56c; border-radius: 5px; background: linear-gradient(135deg, #181c20e6, #26343de0); font: 700 clamp(12px, 3cqw, 21px)/1.1 Georgia, serif; letter-spacing: .03em; text-shadow: 0 2px 5px #000; box-shadow: 0 3px 10px #0008; transition: transform .18s, box-shadow .18s; white-space: nowrap; }
/* Keep descriptions available to assistive technology without covering landmarks. */
.realm-map-place small { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.realm-map-place:hover strong, .realm-map-place:focus-visible strong { transform: translateY(-3px); box-shadow: 0 0 24px #efc77477, 0 5px 18px #000a; color: #fff5d9; }
.realm-map-place:focus-visible { outline: 3px solid #80e6fa; outline-offset: -3px; background: #6bd4ff22; }
.realm-map-place:active strong { transform: scale(.97); }
.realm-map-battlefield { left: 51%; top: 12%; width: 75%; height: 22%; }
.realm-map-ironbank { left: 30%; top: 32%; width: 35%; height: 18%; }
.realm-map-forge { left: 75%; top: 33%; width: 34%; height: 20%; }
.realm-map-vault { left: 23%; top: 53%; width: 36%; height: 20%; }
.realm-map-mines { left: 77%; top: 57%; width: 38%; height: 25%; }
.realm-map-village { left: 41%; top: 76%; width: 41%; height: 22%; }
.realm-map-village-panel { margin-top: 12px; padding: 18px; border: 1px solid #826238; border-radius: 12px; background: linear-gradient(125deg, #22202d, #11171e); }
.realm-map-village-heading h3 { margin: 3px 0 14px; font: 700 25px Georgia, serif; color: #ffe2a4; }
.realm-map-village-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.realm-map-village-links button { min-height: 48px; white-space: normal; }
.realm-map-village-panel > .text-btn { min-height: 44px; margin-top: 8px; }
.realm-map-footer { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; padding: 12px 4px; font-size: 11px; color: #aebcca; }
.realm-map-footer label { display: flex; gap: 8px; align-items: center; min-height: 44px; margin: 0; color: #b9c7d3; font-size: 11px; cursor: pointer; }
.realm-map-footer input { width: 17px; height: 17px; margin: 0; accent-color: #caa35e; }
@media (min-width: 1000px) and (min-height: 700px) {
  .realm-map { max-width: clamp(480px, calc(100svh - 320px), 900px); }
}
@media (max-width: 620px) {
  .realm-map-heading { padding-top: 16px; }
  .realm-map-landscape { border-radius: 12px; }
  .realm-map-place strong { padding: 4px 7px; }
  .realm-map-village-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .realm-map-village-links button:last-child { grid-column: 1 / -1; }
  .realm-map-footer { justify-content: center; text-align: center; }
}
@media (prefers-reduced-motion: reduce) { .realm-map-place strong { transition: none; } }
