.mobile-map-tabs,.mobile-zoom-button,.mobile-detail-toggle,nav .mobile-meta-button{display:none}
@media (max-width:650px){
  html,body{height:auto;overflow-x:hidden}
  header{padding:0 10px;gap:8px}
  header strong{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px}
  header span,header a[href^="https://forgeofgames.com/allied-culture-city-guides"]{display:none}
  header a.catalog-link,#reference-open{margin:0;white-space:nowrap;font-size:12px;padding:6px}
  .layout{display:block;height:auto}
  nav{position:sticky;top:0;z-index:20;height:77px;max-height:none;padding:0;overflow:visible;border-right:0;border-bottom:1px solid var(--line);box-shadow:0 2px 5px #19354e16}
  nav h2{display:block;height:27px;margin:0;padding:5px 12px;background:transparent;text-align:left;border-radius:0;font-size:12px;color:#566777}
  nav small{display:none}
  nav .archive-meta{display:none}
  nav .archive-meta.mobile-open{display:block;position:absolute;top:29px;left:8px;right:8px;z-index:23;max-height:70vh;overflow:auto;margin:0;box-shadow:0 8px 20px #19354e30}
  nav .mobile-meta-button{display:block;position:absolute;top:3px;right:9px;z-index:22;width:auto;height:23px;margin:0;padding:2px 8px;border:1px solid #d9dfdf;border-radius:4px;background:#f8f9f7;color:#47657d;font-size:11px}
  #step-nav{display:flex;gap:5px;overflow-x:auto;overflow-y:hidden;padding:0 8px 5px;scrollbar-width:thin;scroll-snap-type:x proximity}
  #step-nav button{flex:0 0 176px;width:176px;max-width:57vw;height:43px;margin:0;padding:6px 7px;align-items:center;gap:7px;white-space:nowrap;overflow:hidden;scroll-snap-align:center;font-size:12px}
  #step-nav button>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  #step-nav .stage-tag,#step-nav button br{display:none}
  #step-nav .num{width:23px;height:23px}
  main{overflow:visible}
  .page{min-height:0;padding:12px 11px 30px}
  .paper{max-width:100%;padding:20px 16px}
  .paper h1{font-size:clamp(24px,7vw,33px)!important;line-height:1.3;overflow-wrap:anywhere}
  .paper h2{font-size:19px}
  .paper p,.paper li{font-size:15px;line-height:1.7}
  .paper table,.tech-tree,.tech-scroll{display:block;max-width:100%;overflow-x:auto}
  .paper th,.paper td{white-space:nowrap}
  .source-copy{padding:10px 12px}
  .map-page{height:auto;min-height:0;padding:0}
  .map-head{display:none}
  .map-layout{display:block;height:auto;min-height:0}
  .mobile-map-tabs{position:sticky;top:77px;z-index:16;display:flex;gap:8px;height:43px;padding:5px 10px;background:#f7f3e9;border-bottom:1px solid #ddd3bd;scroll-margin-top:77px}
  .mobile-map-tabs button{flex:1;border:1px solid #d6c8a7;border-radius:5px;background:white;color:#395b70;font:inherit;font-size:13px}
  .mobile-map-tabs button[aria-selected="true"]{background:#356e98;border-color:#356e98;color:white;font-weight:600}
  .map-workspace{height:auto;min-height:0;padding:10px;gap:7px}
  .map-caption{display:block;position:relative;padding-right:66px}
  .map-caption h1{font-size:19px;line-height:1.35;overflow-wrap:anywhere}
  .map-caption p{font-size:11px;line-height:1.45}
  .map-caption .legend{display:flex;flex-wrap:nowrap;gap:9px;overflow-x:auto;white-space:nowrap;width:calc(100vw - 20px);padding:3px 0 5px}
  .map-caption .legend span{flex:none}
  .mobile-zoom-button{display:block;position:absolute;right:0;top:0;border:1px solid #c6b785;border-radius:5px;background:#fff9e9;color:#465b6e;padding:5px 7px;font-size:11px}
  .map-frame{flex:none;display:block;height:min(54vh,470px);min-height:300px;overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y}
  .map-frame svg{display:block;width:720px!important;min-width:720px;max-width:none;height:auto;min-height:0;max-height:none}
  .map-page.mobile-map-overview .map-frame svg{width:100%!important;min-width:0}
  .map-note{font-size:11px}
  .map-page .stats{height:auto;max-height:none;overflow:visible;border-left:0;border-top:1px solid var(--line)}
  .map-page:not(.mobile-stats) .stats{display:contents}
  .map-page:not(.mobile-stats) .stats>:not(.detail-card){display:none}
  .map-page:not(.mobile-stats) .detail-card{position:fixed;z-index:18;left:8px;right:8px;bottom:8px;max-height:28vh;overflow:auto;margin:0;padding:10px 12px 43px;box-shadow:0 4px 22px #17365055;background:#fffcf5}
  .map-page.mobile-detail-collapsed:not(.mobile-stats) .detail-card{display:none}
  .mobile-detail-toggle{display:block;position:fixed;z-index:19;right:17px;bottom:17px;width:auto;border:1px solid #abc0cd;border-radius:6px;background:#fff;color:#285475;padding:7px 10px;font-size:12px;box-shadow:0 2px 8px #17365033}
  .map-page.mobile-stats .map-workspace,.map-page.mobile-stats .mobile-detail-toggle{display:none}
  .map-page.mobile-stats .stats{display:block;padding:12px 14px 28px}
  .map-page.mobile-stats .detail-card{position:static;max-height:none;padding:11px}
  .stats table{display:table;width:100%}
  .stats th,.stats td{overflow-wrap:anywhere}
  .reference-head{gap:8px}
  .reference-head button{flex:none}
  .reference-body .jump{position:sticky;top:52px;z-index:1;background:#faf8f2;padding:8px 0}
}
