/* Little Birds iOS · full animated Birdtown fit to the phone. No horizontal scroll; safe-area aware. */
html, body.ios{ overflow-x:hidden; max-width:100vw; }
body.ios{ overflow-y:auto; height:auto; min-height:100%; display:block; padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left); }
body.ios *{ max-width:100%; }
body.ios .topbar{ display:flex; flex-wrap:wrap; gap:6px; padding:8px 10px; height:auto; }
body.ios .topbar .brand{ flex:1 1 auto; min-width:0; } body.ios .brand small{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
body.ios .lv{ display:none; }
body.ios .goals{ order:5; flex:1 1 100%; display:grid !important; grid-template-columns:repeat(auto-fill,minmax(104px,1fr)); gap:4px; overflow:visible !important; }
body.ios .goals .goal{ min-width:0 !important; width:auto !important; }
body.ios .toggles{ order:6; flex:1 1 100%; display:flex; flex-wrap:wrap; gap:4px; }
body.ios .toggles .tg{ flex:1 1 auto; }
body.ios .views{ display:flex; flex-wrap:wrap; gap:4px; padding:6px 10px; height:auto; overflow:visible; }
body.ios .views button, body.ios .views a{ flex:1 1 auto; }
body.ios .views .note{ flex:1 1 100%; white-space:normal; }
body.ios .view{ display:flex; flex-direction:column; height:auto !important; overflow:visible !important; padding:8px 10px; gap:10px; }
body.ios .view[hidden]{ display:none !important; }
body.ios .city-view .center{ order:1; width:100%; min-width:0; }
body.ios .city-view .roster{ order:2; width:100% !important; max-height:none; }
body.ios .city-view > aside:not(.roster){ order:3; width:100% !important; }
body.ios .divtabs{ display:flex; flex-wrap:wrap; gap:4px; overflow:visible; }
body.ios .divtabs .hint{ display:none; }
body.ios .kpistrip{ flex-wrap:wrap; overflow:visible; }
body.ios .kpistrip .xk{ flex:1 1 calc(33% - 6px); min-width:0; }
body.ios .kpistrip .xk b{ font-size:12px; } body.ios .kpistrip .xk small{ font-size:8px; overflow:hidden; text-overflow:ellipsis; }
body.ios .citywrap{ width:100%; height:auto !important; aspect-ratio:1040/690; min-height:0; position:relative; }
body.ios #city{ width:100%; height:100%; display:block; }
body.ios .waitbox{ position:static !important; margin-top:6px; }
body.ios .zoomtag{ position:static !important; white-space:normal; margin-top:4px; }
body.ios .strip .cards{ display:grid !important; grid-template-columns:1fr; gap:6px; overflow:visible !important; }
body.ios .ucard{ width:auto !important; min-width:0 !important; }
body.ios .ticker{ white-space:nowrap; overflow:hidden; }
body.ios .ticker #ticker, body.ios .ticker span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
body.ios .pop{ position:fixed !important; left:8px !important; right:8px !important; bottom:calc(8px + env(safe-area-inset-bottom)) !important; top:auto !important; width:auto !important; max-height:70vh; overflow:auto; z-index:80; }
body.ios .exgrid{ grid-template-columns:1fr 1fr !important; } body.ios .exfoot{ grid-template-columns:1fr !important; display:grid; }
body.ios .org .ocols{ grid-template-columns:1fr !important; display:grid; } body.ios .agrid{ grid-template-columns:1fr !important; }
body.ios .console-view, body.ios .console-view *{ min-width:0; }
body.ios .scan{ display:none; }
