/* Map annotations occupy their own rails, never the city drawing viewport. */
.illustrated-map .residence-map-locations{position:static;inset:auto;display:flex;max-width:none;width:100%;height:auto;margin:0;padding:6px;box-sizing:border-box;pointer-events:auto;background:#152238;z-index:auto}
.illustrated-map .residence-map-key{box-shadow:none}
.illustrated-map:not(.castle-map-card) .map-display-toolbar{position:relative;inset:auto;flex-direction:row;justify-content:space-between;padding:5px 8px}
.illustrated-map .residence-map-key strong{overflow:hidden;text-overflow:ellipsis}
.residence-map-marker .residence-map-ring{stroke-width:1.8;pointer-events:stroke;cursor:pointer;fill:none}
.residence-map-marker:is(.is-focused,:focus-visible) .residence-map-ring{stroke-width:3}
.illustrated-map .atlas-stage{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.illustrated-map .atlas-stage .residence-map-locations{position:static;inset:auto;grid-row:1}
.illustrated-map .atlas-stage .atlas-svg{grid-row:2;min-height:0}
.illustrated-map .atlas-stage .atlas-controls{position:static;inset:auto;grid-row:3;justify-self:start;margin:5px 8px}
.illustrated-map .atlas-stage .atlas-pan-hint{display:none}
.room-experience .castle-map-card .conquest-layout.has-province-brief{display:grid;grid-template-columns:220px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:0;min-height:0;align-items:stretch}
.room-experience .castle-map-card .castle-map-addresses{grid-column:1;grid-row:1;min-width:0;background:#152238;border-right:1px solid #a58c5f66}
.room-experience .castle-map-card .castle-map-addresses .residence-map-locations{position:static;inset:auto;display:grid;grid-template-columns:1fr;max-width:none;padding:8px 9px 0;gap:5px}
.room-experience .castle-map-card .castle-province-brief{grid-column:1;grid-row:2;min-height:0;scrollbar-width:none}
.room-experience .castle-map-card .castle-province-brief::-webkit-scrollbar{display:none}
.room-experience .castle-map-card .conquest-stage{grid-column:2;grid-row:1/3;display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100%;min-height:0;min-width:0}
.room-experience .castle-map-card .map-display-toolbar{position:static;inset:auto;grid-row:1;align-items:center;padding:5px 6px;background:#142238;border-bottom:1px solid #a58c5f44;z-index:auto}
.room-experience .castle-map-card .castle-map-viewport{position:relative;grid-row:2;min-height:0;min-width:0;overflow:hidden}
.room-experience .castle-map-card .castle-map-viewport .conquest-svg{position:absolute;inset:0;display:block;width:100%;height:100%;min-height:0;max-height:100%;overflow:hidden}
.room-experience .castle-map-card .castle-map-regions{position:static;inset:auto;grid-row:3;transform:none;width:auto;max-width:none;justify-content:space-evenly;margin:0;border:0;border-top:1px solid #a58c5f55;border-radius:0;padding:3px;background:#142238;z-index:auto}
.room-experience .castle-map-card .castle-map-regions button{flex:1;padding:3px 5px}
/* Give the whole-country view the vertical space previously used by a room placard. */
.room-experience[data-facility="map"]{grid-template-rows:58px 124px 0 minmax(0,1fr) 48px}
.room-experience[data-facility="map"]:has(.palace-slots:empty):has(.palace-finish:empty){grid-template-rows:58px 124px 0 minmax(0,1fr) 0}
.room-experience[data-facility="map"]:has(.palace-slots:empty):has(.palace-finish:empty) .palace-footer{display:none}
.room-experience[data-facility="map"] .room-location{display:none}
.room-experience[data-facility="map"] .room-caption{display:none}
.room-experience[data-facility="map"] .room-seal{width:24px;height:26px;font-size:18px}
.room-experience[data-facility="map"] .room-name{font-size:20px!important;line-height:1.2;margin:0!important;letter-spacing:2px}
.room-experience[data-facility="map"] .palace-desk{grid-template-rows:minmax(0,1fr);gap:0;padding:0 0 7px;width:100%;max-width:none}
.room-experience[data-facility="map"] :is(.palace-desk-head,.palace-subnav,.palace-pages){display:none!important}
.room-experience[data-facility="map"] .palace-card-deck{grid-row:1}
.room-experience[data-facility="map"] .map-art-frame{display:none}
@media(min-width:701px) and (max-height:760px){
 .room-experience[data-facility="map"]{grid-template-rows:50px 118px 0 minmax(0,1fr) 48px}
 .room-experience[data-facility="map"]:has(.palace-slots:empty):has(.palace-finish:empty){grid-template-rows:50px 118px 0 minmax(0,1fr) 0}
}
@media(max-width:700px){
 .room-experience[data-facility="map"]{grid-template-rows:44px 124px 0 minmax(0,1fr) 44px 48px}
 .room-experience[data-facility="map"]:has(.palace-slots:empty):has(.palace-finish:empty){grid-template-rows:44px 124px 0 minmax(0,1fr) 44px 0}
 .room-experience[data-facility="map"] .palace-story{display:none}
 .room-experience[data-facility="map"] .room-location{justify-content:center;height:30px}
 .room-experience[data-facility="map"] .palace-desk{padding:0 0 4px}
 .room-experience .castle-map-card .conquest-layout.has-province-brief{grid-template-columns:minmax(0,1fr) 51px;grid-template-rows:auto minmax(0,1fr)}
 .room-experience .castle-map-card .castle-map-addresses{grid-column:1;grid-row:1;border-right:0}
 .room-experience .castle-map-card .castle-map-addresses .residence-map-locations{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:4px;padding:4px 5px 0}
 .room-experience .castle-map-card .castle-map-addresses .residence-map-key{min-height:30px;padding:3px 4px}
 .room-experience .castle-map-card .castle-province-brief{grid-column:2;grid-row:1;padding:4px 5px 0 0;border:0}
 .room-experience .castle-map-card .province-browser-heading{min-height:30px}
 .room-experience .castle-map-card .province-browser-heading>i,.room-experience .castle-map-card .province-browser-heading>strong{display:none}
 .room-experience .castle-map-card .province-browser-open{font-size:0;gap:0;min-height:30px;padding:3px;margin:0}
 .room-experience .castle-map-card .province-browser-open>span{display:none}
 .room-experience .castle-map-card .province-browser-open:before{content:'주별';font:600 11px/1 var(--serif)}
 .room-experience .castle-map-card .conquest-stage{grid-column:1/-1;grid-row:2;grid-template-rows:auto minmax(0,1fr) auto}
 .room-experience .castle-map-card .map-display-toolbar{padding:3px 5px}
 .room-experience .castle-map-card .castle-map-regions{padding:1px}
 .room-experience .castle-map-card .castle-map-regions button{height:28px;min-height:28px;padding:2px 3px}
}
/* The map reserves a 48px footer; its controls must fit that row's inner box. */
.room-experience[data-facility="map"] .palace-footer{box-sizing:border-box;min-height:0;padding-top:4px;padding-bottom:4px;align-items:stretch}
.room-experience[data-facility="map"] .palace-finish{height:100%;min-height:0;align-items:stretch}
.room-experience[data-facility="map"] .palace-year-finish{box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:7px;height:100%;min-height:0;padding:2px 6px;line-height:1;white-space:nowrap}
.room-experience[data-facility="map"] .palace-year-finish:after{display:block;flex:none;margin:0;line-height:1}
