
/* WORLD DOMINION v3.7 — mobile-first controls; desktop remains unchanged */
@media (max-width: 767px) {
  html { -webkit-text-size-adjust: 100%; }
  body { overflow-x:hidden; font-size:15px; }
  #app,.shell,.main { min-width:0; max-width:100%; }
  .shell { display:block; min-height:100dvh; }
  .sidebar { display:none !important; }
  .main { padding:12px 12px calc(94px + env(safe-area-inset-bottom,0px)); }
  .top { gap:10px; align-items:flex-start; }
  .top h1 { font-size:21px; line-height:1.45; }
  .eyebrow { font-size:10px; letter-spacing:1px; }
  .controls { width:100%; display:flex; flex-wrap:nowrap; gap:7px; overflow-x:auto; padding:3px 0 8px; scrollbar-width:thin; -webkit-overflow-scrolling:touch; }
  .controls .btn { flex:0 0 auto; }
  button,.btn,.nav,select { min-height:44px; touch-action:manipulation; }
  input,textarea,select { font-size:16px!important; max-width:100%; min-height:44px; }
  .resources { display:flex; gap:8px; margin:12px 0; overflow-x:auto; padding-bottom:6px; scroll-snap-type:x proximity; scrollbar-width:thin; }
  .resource { min-width:112px; flex:0 0 112px; padding:10px; scroll-snap-align:start; }
  .resource span { font-size:12px; }
  .resource strong { font-size:18px; }
  .grid,.two,.ranking-columns,.wd-ops-grid { grid-template-columns:minmax(0,1fr)!important; }
  .factions { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .card,.panel { padding:13px; }
  .hero { min-height:160px; padding:16px; }
  .battlefield { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .war-map-header h2 { font-size:19px; }
  .world-map-shell { border-radius:12px; }
  .wd-natural-viewport,.map-viewport { width:100%; aspect-ratio:1/1!important; min-height:0!important; height:auto!important; touch-action:none; }
  #wd-natural-canvas { display:block; width:100%!important; height:100%!important; }
  .map-toolbar { top:7px; left:7px; gap:4px; max-width:calc(100% - 14px); }
  .map-toolbar .btn { min-height:38px; padding:6px 8px; font-size:12px; }
  .map-scale { display:none!important; }
  .map-intel { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; }
  .intel-stats { width:100%; }
  .intel-stats>div { flex:1; min-width:0; }
  .map-bottom { font-size:10px; }
  .wd-plan-unit { flex-wrap:wrap; }
  .wd-plan-unit input { width:72px; }
  .wd-plan-summary { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  .wd-feature-screen { padding:0 0 calc(88px + env(safe-area-inset-bottom,0px))!important; }
  .wd-feature-header { position:sticky; top:0; padding:12px!important; gap:8px; }
  .wd-feature-header h1 { font-size:18px; }
  .wd-feature-content { padding:10px!important; margin:0!important; width:100%; }
  .wd-feature-content>.panel { width:100%; min-width:0; }
  .wd-feature-content .social-actions { display:grid; grid-template-columns:minmax(0,1fr); }
  .rank-table { font-size:12px; }
  .rank-table td,.rank-table th { padding:7px 5px; overflow-wrap:anywhere; }
  #authBox { padding:12px; }
  .auth-card { max-width:100%; }
  .wd3-head { gap:8px; }
  .wd3-window { height:100dvh; }
  #wd3-info { max-height:135px; }
  .wd-mobile-nav {
    position:fixed; z-index:9000; bottom:0; left:0; right:0;
    display:grid; grid-template-columns:repeat(5,minmax(0,1fr));
    padding:7px 5px calc(7px + env(safe-area-inset-bottom,0px));
    background:#0b1929f5; border-top:1px solid #426078;
    box-shadow:0 -8px 26px #0008; backdrop-filter:blur(12px);
    direction:rtl;
  }
  .wd-mobile-nav button {
    border:0; background:transparent; color:#c1d3e6; border-radius:10px;
    min-height:56px; display:flex; flex-direction:column;
    justify-content:center; align-items:center; gap:2px; padding:4px 0;
    font:600 11px Tahoma,sans-serif; white-space:nowrap;
  }
  .wd-mobile-nav button span { font-size:23px; line-height:1.2; }
  .wd-mobile-nav button[aria-current="page"] { background:#24415c; color:#ffd181; }
  .wd-mobile-more {
    position:fixed; z-index:9001; bottom:calc(75px + env(safe-area-inset-bottom,0px));
    left:9px; right:9px; padding:12px; border-radius:16px;
    background:#14273b; border:1px solid #50728d; box-shadow:0 15px 40px #000b;
    display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px;
  }
  .wd-mobile-more[hidden] { display:none!important; }
  .wd-mobile-more button { background:#203a53; border:1px solid #3d5a73; border-radius:10px; color:white; padding:12px 6px; min-height:48px; }
  body.wd-feature-open .wd-mobile-nav { display:none; }
}
@media (min-width:768px) { .wd-mobile-nav,.wd-mobile-more { display:none!important; } }
