#mobile-shell{display:none}
body.mobile{overflow:hidden;overscroll-behavior:none;-webkit-text-size-adjust:100%}
.mobile main{position:fixed;left:0;right:0;top:var(--phone-top,0px);height:var(--phone-height,100dvh);min-height:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);display:grid;grid-template-rows:48px minmax(0,1fr) 68px;overflow:hidden}
.mobile main>header,.mobile .dashboard,.mobile .city>.guide,.mobile .city>.map-title,.mobile .city>.home-camera,.mobile .city>.legend,.mobile .city>.tooltip{display:none!important}
.mobile .city{grid-row:2;min-height:0;width:100%;height:100%;padding:0;overflow:hidden;touch-action:none}
.mobile #map{height:100%;width:100%}
.mobile #mobile-shell{display:contents}
.phone-top{position:absolute;top:env(safe-area-inset-top);left:env(safe-area-inset-left);right:env(safe-area-inset-right);height:48px;display:flex;align-items:center;gap:7px;padding:3px 8px;background:#172b32;z-index:12}
.mobile button,.mobile select{touch-action:manipulation;min-height:44px;font-size:13px;border-radius:7px;padding:8px 12px}
#phone-finance{margin-right:auto;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:98px;padding:2px 8px;background:transparent;border:0}#phone-finance strong{color:#e5b773;font-size:18px;line-height:21px}#phone-finance small{font-size:10px;color:#a8b7b8}
#phone-time{font-size:11px;color:#a8b7b8;font-variant-numeric:tabular-nums}#phone-pause,#phone-speed{min-width:44px;padding:6px}#phone-menu{white-space:nowrap}
.phone-camera{position:absolute;left:calc(env(safe-area-inset-left) + 8px);top:calc(env(safe-area-inset-top) + 56px);z-index:11;display:flex;gap:4px}.phone-camera button{min-width:44px;background:#182f36e8;padding:5px}.phone-camera [aria-pressed=true]{border-color:#e5b773;color:#e5b773}
#phone-expand{position:absolute;right:calc(env(safe-area-inset-right) + 8px);top:calc(env(safe-area-inset-top) + 56px);z-index:11;background:#e5b773;color:#1a3033;max-width:45%;font-size:12px}
.phone-dock{position:absolute;left:env(safe-area-inset-left);right:env(safe-area-inset-right);bottom:env(safe-area-inset-bottom);height:68px;display:grid;grid-template-columns:155px minmax(100px,1fr) minmax(155px,31%);align-items:center;gap:8px;padding:5px 8px;background:#172b32;border-top:1px solid #536c69;z-index:12}
.phone-agent{display:flex;gap:3px;flex-direction:column}.phone-agent select{width:100%;min-height:29px;height:29px;font-size:12px;padding:3px 5px;background:#23363e;color:#f1e9d7;border:1px solid #59726c}.phone-agent #phone-auto{min-height:26px;height:26px;padding:3px;font-size:11px}#phone-auto[aria-pressed=true]{background:#315448;border-color:#91c9a9;color:#bcdfb9}
#phone-site{text-align:left;min-width:0;background:transparent;border:0;padding:3px 0}#phone-site strong,#phone-site small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#phone-site strong{font-size:13px;color:#f1e9d7}#phone-site small{font-size:11px;color:#b3c7bd;margin-top:5px}#phone-action{background:#e5b773;color:#1a3033;font-weight:600;font-size:12px;min-height:48px;max-height:58px;line-height:1.2;padding:6px}
#phone-shade{position:absolute;inset:0;background:#051a2480;z-index:29}
#phone-drawer{position:absolute;right:env(safe-area-inset-right);top:env(safe-area-inset-top);bottom:env(safe-area-inset-bottom);width:min(440px,88%);background:#172b32;border-left:1px solid #73836b;z-index:30;display:flex;flex-direction:column;box-shadow:-10px 0 40px #0005;min-height:0}
.phone-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:4px 12px;flex-shrink:0;min-height:48px}.phone-drawer-head strong{font-size:16px}#phone-close{min-width:44px}
.phone-tabs{display:flex;overflow-x:auto;gap:4px;padding:4px 8px;flex-shrink:0;border-bottom:1px solid #42594f;scrollbar-width:none}.phone-tabs button{white-space:nowrap;flex-shrink:0;font-size:12px;padding:7px 9px}.phone-tabs [aria-pressed=true]{border-color:#e5b773;color:#e5b773}
.phone-panel{overflow-y:auto;overscroll-behavior:contain;min-height:0;padding:10px 14px 24px;-webkit-overflow-scrolling:touch}.phone-panel p,.phone-panel li{font-size:13px;line-height:1.5;color:#c4d4cb}.phone-panel h2{font-size:22px;margin:10px 0}.phone-panel h3{font-size:16px}.phone-panel>section{margin:12px 0}.phone-panel .agent-card{padding:10px 0}.phone-panel .audio-toolbar,.phone-panel .district-nav{padding:0;background:transparent;border:0;display:flex;gap:8px;flex-wrap:wrap}.phone-panel .district-nav>span,.phone-panel .map-camera,.phone-panel .badge-legend{display:none}.phone-panel .district-nav>button{width:100%;text-align:left;min-height:44px}.phone-panel .connections{padding:12px 0;border-left:0}.phone-panel .audio-toolbar input{width:100%;height:40px}.phone-panel .audio-toolbar label{width:100%}.phone-panel .audio-toolbar button{min-height:44px}.phone-panel .guide-stages{display:none}.phone-panel #start{background:#e5b773;color:#172b32;width:100%;position:sticky;top:0;z-index:2}.phone-panel #hire-agent,.phone-panel #fleet-buy,.phone-panel #project-buy,.phone-panel #project-show,.phone-panel #help{width:100%;min-height:44px}.phone-panel #project-plan button{min-height:44px;width:100%;text-align:left}.phone-panel #auto-list button,.phone-panel #landmark-list button{min-height:44px}#phone-businesses{display:grid;gap:7px}#phone-businesses button{text-align:left;font-size:13px;line-height:1.5}.phone-panel .shares button{min-height:44px}.phone-panel .suggested{outline-offset:0}
.mobile #phone-portals .expansion-offer,.mobile #phone-portals .win{position:absolute;inset:auto;left:50%;top:50%;transform:translate(-50%,-50%);width:min(450px,92%);max-width:92%;max-height:calc(100% - 18px);overflow-y:auto;background:#203940;border:2px solid #e5b773;padding:16px;z-index:50;box-shadow:0 0 0 200vmax #061b24b0;text-align:left;margin:0}
.mobile #phone-portals h2{font-size:22px;margin:8px 0}.mobile #phone-portals p{font-size:13px;line-height:1.5}.mobile #phone-portals button{min-height:44px;width:100%;margin-top:6px}.mobile #map-toast{left:50%;top:auto;bottom:8px;transform:translateX(-50%);max-width:85%;padding:7px 12px;font-size:12px}
@media(max-height:360px){.mobile main{grid-template-rows:44px minmax(0,1fr) 62px}.phone-top{height:44px}.phone-dock{height:62px}.phone-camera,#phone-expand{top:calc(env(safe-area-inset-top) + 49px)}}
@media(orientation:portrait){.phone-dock{height:114px;grid-template-columns:120px minmax(0,1fr);grid-template-rows:54px 46px}.mobile main{grid-template-rows:48px minmax(0,1fr) 114px}#phone-action{grid-column:1/-1;max-height:46px;min-height:44px}.phone-camera{gap:3px}#phone-expand{top:auto;bottom:calc(env(safe-area-inset-bottom) + 122px);max-width:80%}#phone-drawer{width:100%;border:0}.phone-agent select{font-size:11px}.phone-top{gap:4px}#phone-time{display:none}}

.mobile #briefing{display:flex;flex-direction:column}.mobile #briefing>#start{order:-1;margin-bottom:10px;flex-shrink:0}.mobile #briefing>ol,.mobile #briefing>.guide-muted{display:none}.phone-panel #level-two-intro p{font-size:12px}

.mobile #capital-panel select,.mobile #capital-panel button,.mobile #save-panel button,.mobile #collection-panel button,.mobile #federal-list button{min-height:44px;width:100%;margin:4px 0}.mobile #capital-panel p,.mobile #save-panel p,.mobile #collection-panel p{font-size:13px}.mobile #capital-panel input[type=range]{min-height:44px}.mobile .card-gallery-content{max-height:calc(100dvh - 16px)}.mobile #achievement-card{max-height:52dvh;object-fit:contain}

@media(orientation:landscape){.mobile .card-gallery-content{display:grid;grid-template-columns:minmax(0,1fr) 170px;grid-template-rows:auto auto minmax(0,1fr) auto;gap:8px;height:calc(100dvh - 20px);overflow:hidden}.mobile .card-gallery-content h2{grid-column:1/-1;margin:0 45px 0 0}.mobile #card-choice{grid-column:1;grid-row:2;margin:0}.mobile #achievement-card{grid-column:1;grid-row:3/5;max-height:100%;height:100%;min-height:0;object-fit:contain}.mobile #card-status{grid-column:2;grid-row:2/4;margin:4px 0;overflow:auto}.mobile .card-actions{grid-column:2;grid-row:4;display:grid;gap:6px}.mobile .card-actions button{padding:8px}}
/* Native selectors stay at 16px to avoid focus zoom on iPhone. */
.mobile select,.mobile input[type=file]{font-size:16px!important}
.phone-dock{grid-template-columns:220px minmax(100px,1fr) minmax(155px,31%)}
.phone-agent{display:grid;grid-template-columns:minmax(0,1fr) 74px;align-items:center;gap:4px}
.phone-agent select,.phone-agent #phone-auto{min-height:44px;height:44px}
@media(orientation:portrait){.phone-dock{grid-template-columns:minmax(0,1fr) 155px;grid-template-rows:48px 46px}.phone-agent{grid-column:1/-1;grid-row:1}.phone-dock #phone-site{grid-column:1;grid-row:2}.phone-dock #phone-action{grid-column:2;grid-row:2}}
