/* World map artwork and controls share the existing city frame. */
html:root body.rustic-desktop #cityLayout>#worldMapPage:not([hidden]){padding:0!important;overflow:hidden!important;border-radius:0!important}
html:root body.rustic-desktop #cityLayout>#worldMapPage:not([hidden])::before{inset:0!important;background-image:url('/assets/rustic-v1045/map-background.webp')!important;background-size:100% 100%!important;background-position:center!important}
html:root body.rustic-desktop #cityLayout>#worldMapPage:not([hidden])>.world-map-controls{position:absolute!important;left:20px!important;right:auto!important;top:auto!important;bottom:18px!important;transform:none!important;width:max-content!important;max-width:calc(100% - 40px)!important;min-height:32px!important;box-sizing:border-box!important;margin:0!important;padding:4px 8px!important;display:flex!important;align-items:center!important;gap:6px!important;z-index:81!important;flex-wrap:wrap!important;background:transparent url('/assets/rustic-v1045/map-controls.webp') center/100% 100% no-repeat!important}
html:root body.rustic-desktop #worldMapPage>.world-map-controls label{display:flex!important;align-items:center!important;gap:4px!important;margin:0!important;white-space:nowrap!important}
html:root body.rustic-desktop #worldMapPage>.world-map-controls input{width:58px!important;height:26px!important;box-sizing:border-box!important;padding:3px 6px!important;font:14px KaiTi,DFKai-SB,serif!important}
html:root body.rustic-desktop #worldMapPage :is(#worldGo,#worldHome){background:transparent url('/assets/rustic-v1045/button.webp') center/100% 100% no-repeat!important;border:0!important;border-radius:0!important;box-shadow:none!important;color:#f4e7cc!important;height:28px!important;min-height:28px!important;padding:3px 10px!important;font:14px KaiTi,DFKai-SB,serif!important;cursor:pointer!important}
html:root body.rustic-desktop #worldMapPage :is(#worldGo,#worldHome):hover{background-image:url('/assets/rustic-v1045/button-hover.webp')!important}
html:root body.rustic-desktop #worldMapPage :is(#worldGo,#worldHome):active{background-image:url('/assets/rustic-v1045/button-pressed.webp')!important}
html:root body.rustic-desktop #worldMapPage #worldGo{min-width:42px!important}
html:root body.rustic-desktop #worldMapPage #worldHome{min-width:88px!important}
html:root body.rustic-desktop #cityLayout>#worldMapPage:not([hidden]) .world-arrow.nw{background-image:url('/assets/rustic-v1045/map-arrow-nw.webp')!important}
html:root body.rustic-desktop #cityLayout>#worldMapPage:not([hidden]) .world-arrow.ne{background-image:url('/assets/rustic-v1045/map-arrow-ne.webp')!important}
html:root body.rustic-desktop #cityLayout>#worldMapPage:not([hidden]) .world-arrow.sw{background-image:url('/assets/rustic-v1045/map-arrow-sw.webp')!important}
html:root body.rustic-desktop #cityLayout>#worldMapPage:not([hidden]) .world-arrow.se{background-image:url('/assets/rustic-v1045/map-arrow-se.webp')!important}
html:root body.rustic-desktop #cityLayout>#worldMapPage:not([hidden]) .world-arrow:hover{filter:brightness(1.12)!important}
/* Raise the diamond without changing its SVG coordinates or hit targets. */
html:root body.rustic-desktop #cityLayout>#worldMapPage:not([hidden])>.world-map-frame{transform:translateY(-28px) scale(.82)!important;transform-origin:center center!important}
html:root body #cityLayout>#worldMapPage:not([hidden]) .world-arrow.nw,
html:root body #cityLayout>#worldMapPage:not([hidden]) .world-arrow.ne{top:10%!important;bottom:auto!important}
html:root body #cityLayout>#worldMapPage:not([hidden]) .world-arrow.sw,
html:root body #cityLayout>#worldMapPage:not([hidden]) .world-arrow.se{bottom:32%!important;top:auto!important}
html:root body #cityLayout>#worldMapPage:not([hidden]) .world-arrow:is(.nw,.sw){left:6%!important;right:auto!important}
html:root body #cityLayout>#worldMapPage:not([hidden]) .world-arrow:is(.ne,.se){right:6%!important;left:auto!important}
html:root body.rustic-desktop #cityLower #mapLowerInfo:not([hidden]){height:100%!important;min-height:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}
html:root body.rustic-desktop #cityLower #mapLowerInfo>.map-intel-heading{flex:0 0 auto!important;margin:0!important;padding-bottom:0!important}
html:root body.rustic-desktop #cityLower #mapLowerInfo>#mapLowerDetail{flex:1 1 0!important;height:0!important;max-height:none!important;min-height:0!important;overflow-y:auto!important;box-sizing:border-box!important}
html:root body.rustic-desktop #cityLayout>#worldMapPage:not([hidden])::before{background-image:url('/assets/map-v1142/landscape.webp')!important}
html:root body.rustic-desktop #cityLayout>#worldMapPage>.world-map-mascots{position:absolute!important;right:10px!important;bottom:12px!important;width:22%!important;height:27%!important;object-fit:contain!important;object-position:right bottom!important;pointer-events:none!important;user-select:none!important;z-index:2!important}
/* Keep the artwork and its rectangular click target on the same button. */
html:root body.rustic-desktop #cityLayout>#worldMapPage:not([hidden])>button.world-arrow {
 z-index:120!important;pointer-events:auto!important;clip-path:none!important;mask:none!important;
 transform:none!important;overflow:hidden!important;background-size:contain!important;
 background-position:center!important;background-repeat:no-repeat!important;touch-action:manipulation;
}
html:root body.rustic-desktop #cityLayout>#worldMapPage:not([hidden])>button.world-arrow:is(:active,.is-pressed){
 filter:brightness(.9)!important;
}
html:root body.rustic-desktop #cityLayout>#worldMapPage:not([hidden])>button.world-arrow::before,
html:root body.rustic-desktop #cityLayout>#worldMapPage:not([hidden])>button.world-arrow::after{
 content:none!important;
}
html:root body.rustic-desktop #cityLayout>#worldMapPage:not([hidden])::after,
html:root body.rustic-desktop #cityLayout>#worldMapPage:not([hidden])::before{pointer-events:none!important}

/* Stretch to the bottom of the lower row, using the chat panel's height on desktop. */
html:root body.rustic-desktop main #cityLower:has(#mapLowerInfo:not([hidden]))>.panel:first-child{
 display:flex!important;flex-direction:column!important;align-self:stretch!important;
 height:var(--world-lower-height,333px)!important;min-height:0!important;max-height:none!important;margin:0!important;
 box-sizing:border-box!important;overflow:hidden!important;
}
html:root body.rustic-desktop main #cityLower>.panel:first-child>#mapLowerInfo:not([hidden]){
 flex:1 1 0!important;height:auto!important;min-height:0!important;max-height:none!important;
 margin-bottom:0!important;overflow:hidden!important;
}
html:root body.rustic-desktop main #cityLower>.panel:first-child>#mapLowerInfo>#mapLowerDetail{
 flex:1 1 0!important;height:0!important;min-height:0!important;max-height:none!important;
 margin-bottom:0!important;overflow-y:auto!important;
}
@media(max-width:700px){
 html:root body.rustic-desktop main #cityLower:has(#mapLowerInfo:not([hidden]))>.panel:first-child{height:333px!important;min-height:333px!important}
}
html:root body.rustic-desktop #cityLayout :is(#citySideInfo,#statusBuildingDetail),
html:root body.rustic-desktop #citySideInfo>.detail-content-scroll{overflow-anchor:none}
html:root body.rustic-desktop #cityLower #mapLowerInfo:has([data-map-intel="升級研究"].active)>#mapLowerDetail{
 display:flex!important;flex-direction:column!important;
}
html:root body.rustic-desktop #mapLowerDetail>.reference-queue-row{flex:1 0 auto}