/* Phone-first layouts are scoped to the Android app. */
html.android-portrait120,html.android-portrait120 body {width:100%;height:100%;overflow:hidden;overscroll-behavior:none}
.android-portrait120 {--phone-nav120:64px;--phone-bg120:#142425}
.android-portrait120 * {box-sizing:border-box;-webkit-tap-highlight-color:transparent}
.android-portrait120 button {touch-action:manipulation;overflow-wrap:normal;word-break:normal}
.android-portrait120 :is(input,select,textarea) {font-size:16px!important;max-width:100%;min-height:44px}
.android-portrait120 :is(button,input,select,textarea):focus-visible {outline:3px solid #dcae58;outline-offset:2px}
.android-portrait120 #gameScreen.layout {height:calc(100dvh - var(--phone-nav120))!important;min-height:0!important;overflow:hidden!important}
.android-portrait120 #gameScreen .top-hud {min-height:76px!important;height:auto!important;padding:5px!important;gap:0!important;flex-wrap:wrap!important}
.android-portrait120 #gameScreen :is(.game-logo,.top-hud-actions,.bottom-hud,.top-hud>.logout-button) {display:none!important}
.android-portrait120 #gameScreen .resource-bar {display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;gap:3px!important}
.android-portrait120 #gameScreen .resource-item {min-width:0!important;width:100%;padding:3px!important;gap:3px!important;min-height:32px!important;font-size:11px!important;justify-content:center;overflow:hidden}
.android-portrait120 #gameScreen .resource-item:has([id^="warehouseCapacity"]) {display:grid!important;grid-template-columns:17px minmax(0,1fr);align-items:center;gap:2px!important}
.android-portrait120 #gameScreen .resource-item .resource-value:has([id^="warehouseCapacity"]) {font-size:0!important;line-height:1.25;min-width:0;display:block;text-align:center}
.android-portrait120 #gameScreen .resource-item .resource-value:has([id^="warehouseCapacity"])>span {display:block;font-size:11px!important;font-variant-numeric:tabular-nums}
.android-portrait120 #gameScreen [id^="warehouseCapacity"]::before {content:'/ ';opacity:.75}
.android-portrait120 #gameScreen .resource-item img {width:17px!important;height:17px!important}
.android-portrait120 #gameScreen .resource-item :is(span,strong) {white-space:nowrap;font-size:11px!important}
.android-portrait120 #gameScreen .city-panel {display:block!important;overflow:auto!important;position:relative;touch-action:none;scrollbar-width:none;overscroll-behavior:contain}
.android-portrait120 #gameScreen #browserCity {max-width:none!important;max-height:none!important;flex-shrink:0;background-size:100% 100%;margin:0}
.android-portrait120 #gameScreen #browserCity .browser-plot.grounded114 {min-width:44px!important;min-height:44px!important}
.android-portrait120 #gameScreen #browserCity .browser-plot.grounded114.portrait-selected120>span {opacity:1}
.android-portrait120 #portraitNav120 {position:fixed;inset:auto 0 0;z-index:19000;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));height:var(--phone-nav120);padding-bottom:env(safe-area-inset-bottom);background:#142425;border-top:1px solid #9d8150}
.android-portrait120 #portraitNav120[hidden],.android-portrait120 #portraitMenu120[hidden],.android-portrait120 #portraitCityTools120[hidden] {display:none!important}
.android-portrait120 #portraitNav120 button {display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;min-height:48px;padding:4px 0;background:transparent;border:0;border-radius:0;color:#f8e9c8;font-size:12px}
.android-portrait120 #portraitNav120 button>span:first-child {font-size:23px;line-height:26px}
.android-portrait120 #portraitNav120 button.active {background:#344c3c;box-shadow:inset 0 3px #d8b96e}
.android-portrait120 #portraitNav120 button {position:relative}
.android-portrait120 .portrait-badge120 {position:absolute;top:3px;right:7px;background:#973d2c;color:#fff;border-radius:12px;padding:2px 5px;font-size:11px}
.android-portrait120 #portraitMenu120 {position:fixed;inset:0 0 var(--phone-nav120);z-index:21000;background:#f4ead3;color:#49371f;padding:12px;overflow:auto}
.android-portrait120 #portraitMenu120 header {display:flex;justify-content:space-between;align-items:center;position:sticky;top:-12px;background:#f4ead3;z-index:2}
.android-portrait120 #portraitMenu120 header button {min-width:48px;min-height:48px}
.android-portrait120 .portrait-menu-grid120 {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.android-portrait120 .portrait-menu-grid120 button {min-height:64px;padding:10px;background:#e8d5ae;color:#49371f;border:1px solid #b89a62;border-radius:10px;font-size:14px;white-space:normal}
.android-portrait120 #portraitCityTools120 {position:fixed;right:8px;bottom:calc(var(--phone-nav120) + 10px);z-index:5000;display:flex;gap:4px}
.android-portrait120 #portraitCityTools120 button {width:44px;height:44px;min-height:44px;padding:0;background:#142425ed;border:1px solid #c9ac6d;border-radius:8px;color:#fff0c2;font-size:24px}
.android-portrait120 .holding-switch113 {position:fixed!important;top:84px!important;left:8px!important;transform:none!important;width:calc(100% - 16px)!important;z-index:5000}
.android-portrait120 .holding-switch113>button {min-height:44px;padding:8px!important;font-size:13px}
.android-portrait120 #gameScreen #browserCity .browser-queue {top:16px!important;left:12px!important;right:auto!important}
/* All gameplay dialogs use the full phone width and vertical scrolling. */
.android-portrait120 :is(.modal,.browser-dialog,.dialog-overlay94) {padding:0!important;inset:0 0 var(--phone-nav120)!important;height:calc(100dvh - var(--phone-nav120))!important;min-height:0!important;max-width:100vw;align-items:stretch!important;z-index:20000!important}
.android-portrait120 :is(.dialog-surface94,#buildingModal,.modal-content,.browser-dialog>article,.slot-mission-content,.send-mission-content,.forge-modal,.market-modal,.kingdom-map-modal) {
  width:100%!important;min-width:0!important;max-width:100%!important;height:calc(100dvh - var(--phone-nav120))!important;max-height:calc(100dvh - var(--phone-nav120))!important;margin:0!important;border:0!important;border-image:none!important;border-radius:0!important;overflow-y:auto!important;overflow-x:hidden!important;background:#f6ecd4!important;color:#49371f!important;padding:12px!important;
}
.android-portrait120 :is(.dialog-header94,.browser-dialog header) {position:sticky!important;top:-12px!important;min-height:56px!important;padding:8px 4px!important;background:#f6ecd4!important;z-index:15;gap:8px}
.android-portrait120 :is(.dialog-header94,.browser-dialog header) :is(h2,h3) {font-size:20px!important;overflow-wrap:anywhere}
.android-portrait120 :is(.dialog-surface94,.browser-dialog) button {min-height:44px!important;white-space:normal;font-size:14px}
.android-portrait120 :is(.dialog-header94,.browser-dialog header) button {min-width:44px!important;flex-shrink:0}
.android-portrait120 .browser-dialog .browser-dialog-body {padding:8px 0!important;overflow-x:hidden;min-width:0}
.android-portrait120 #browserDialog.construction-sidebar98 {inset:0 0 var(--phone-nav120)!important;width:100%!important;pointer-events:auto}
.android-portrait120 #browserDialog>article,.android-portrait120 #browserDialog.science-dialog70>article {height:calc(100dvh - var(--phone-nav120))!important;max-height:calc(100dvh - var(--phone-nav120))!important}
.android-portrait120 #browserDialog.construction-sidebar98 .building-catalog73 {grid-template-columns:repeat(2,minmax(0,1fr))!important}
.android-portrait120 :is(.building-modal-grid,.army-grid,.production-grid,.research-grid60,.forge-research-grid,.forge-unit-tabs,.market-grid,.settings-grid,.empire-grid,.mission-layout,.mission-columns,.premium-grid66,.explorer-grid67,.empire-colonies) {grid-template-columns:minmax(0,1fr)!important;min-width:0!important}
.android-portrait120 :is(.market-form,.forge-unit-tabs,.explorer-hero67,.explorer-tools67) {display:flex!important;flex-direction:column!important;gap:8px;min-width:0}
.android-portrait120 .market-form :is(input,select,button) {width:100%!important}
.android-portrait120 :is(.mail-tabs,.alliance-tabs,.ranking-tabs,.army-tabs,.market-tabs,.forge-tabs,.empire-tabs,.settings-tabs,.mission-tabs) {display:flex!important;flex-wrap:wrap!important;gap:6px}
.android-portrait120 .mail-list-toolbar {display:flex!important;flex-wrap:wrap!important;gap:8px}
.android-portrait120 .mail-list-toolbar button {min-width:90px;flex:1;padding:8px!important}
.android-portrait120 :is(.building-row,.empire-transfer,.empire-train,.empire-actions,.mission-actions,.mail-toolbar,.market-row) {flex-wrap:wrap!important;min-width:0}
.android-portrait120 .browser-world-scroll {max-height:none!important;overflow:visible!important}
.android-portrait120 .browser-region-grid {min-width:0!important;width:100%!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:5px}
.android-portrait120 .browser-region-grid button {min-height:64px!important;font-size:12px;padding:5px}
.android-portrait120 .browser-world-grid {min-width:0!important;width:100%!important;height:auto!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-template-rows:none!important;grid-auto-rows:minmax(100px,auto)!important}
.android-portrait120 .browser-map-dialog .browser-dialog-body {overflow:auto!important;display:block!important}
.android-portrait120 .browser-world-grid button {min-height:100px!important;font-size:12px}
.android-portrait120 .browser-map-tools {position:sticky;top:55px;background:#f6ecd4;z-index:10;padding:6px 0}
.android-portrait120 .browser-map-tools input {width:100%;min-width:0}
.android-portrait120 table {max-width:100%;font-size:12px;table-layout:fixed;overflow-wrap:anywhere}
.android-portrait120 :is(td,th) {padding:6px 3px!important}
.android-portrait120 :is(.holding-building113,.building-info-grid,.send-mission-grid,.mission-units-grid) {grid-template-columns:minmax(0,1fr)!important}
.android-portrait120 .holding-building113>img {justify-self:center}
.android-portrait120 :is(.help-window,.bug-report-window) {overflow-wrap:anywhere}
/* The garden becomes five vertically stacked, touchable districts. */
.android-portrait120 .garden-layout61 {display:block!important;overflow:visible}
.android-portrait120 .garden-scroll61 {overflow:visible!important;min-height:0!important}
.android-portrait120 .garden-stage61 {min-width:0!important;min-height:0!important;width:100%!important;height:auto!important;padding:8px;background-size:cover!important}
.android-portrait120 .garden-zone61 {position:relative!important;left:auto!important;top:auto!important;width:100%!important;height:auto!important;margin-bottom:12px;padding:10px;background:#142425d9;border:1px solid #b9a36e;border-radius:12px;color:#fff0ce}
.android-portrait120 .garden-zone61 h3 {background:none;border:0;margin:0 0 8px;font-size:17px}
.android-portrait120 .garden-plots61 {grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:none!important;gap:7px}
.android-portrait120 .garden-plot61 {min-width:44px;min-height:64px!important;overflow:hidden;background:#47604277!important;border:1px solid #a18e62;border-radius:7px}
.android-portrait120 .garden-plot61:before {display:none}
.android-portrait120 .garden-plot61.built img {position:static!important;height:48px!important;width:100%;max-height:48px!important}
.android-portrait120 .garden-plot61.built span {bottom:0;font-size:10px}
.android-portrait120 .garden-detail61 {width:100%!important;height:auto!important;max-height:none!important;background:#f6ecd4;color:#49371f;padding:10px}
.android-portrait120 .garden-detail61 h3 {color:#49371f}
.android-portrait120 .garden-scene61 .browser-dialog-body {overflow:auto!important;display:block!important}
.android-portrait120 .garden-queue63 {position:static!important;display:block;width:100%;margin-bottom:8px!important}
.android-portrait120 .holding-garden-layout114 {display:block!important;height:auto!important}
.android-portrait120 .holding-garden-map114 {min-height:330px!important;overflow:auto}
.android-portrait120 .holding-garden-detail114 {width:100%!important;height:auto!important}
/* Research uses readable cards instead of shrinking a desktop tree. */
.android-portrait120 #browserDialog.science-dialog70 .browser-dialog-body {overflow:auto!important;padding:8px 0!important}
.android-portrait120 #browserDialog.science-dialog70>article {overflow:auto!important;padding:12px!important}
.android-portrait120 .science-mobile120 {display:flex;flex-direction:column;gap:12px}
.android-portrait120 .science-mobile120 .science-node70 {min-height:0!important;width:100%;padding:12px;background:#fff7e6!important;color:#49371f;border:1px solid #bca478;border-radius:10px}
.android-portrait120 .science-mobile120 .science-node-heading70 {display:flex;gap:10px;align-items:center}
.android-portrait120 .science-mobile120 .science-node-heading70>img {width:60px;height:60px;object-fit:contain}
.android-portrait120 .science-mobile120 :is(h3,h4,p) {margin:7px 0;line-height:1.45}
.android-portrait120 .science-mobile120 .science-node-footer70 {display:flex;flex-wrap:wrap;gap:10px}
.android-portrait120 .science-mobile120 .science-node-footer70 button {width:100%}
.android-portrait120 .science-mobile120 .science-filters70 {display:flex;flex-wrap:wrap;gap:6px;position:sticky;top:0;background:#f6ecd4;z-index:3;padding:6px 0}
.android-portrait120 #loginScreen {width:100%;height:100dvh;overflow-y:auto;padding:20px 12px!important}
.android-portrait120 #loginPanel {width:100%!important;min-width:0!important;max-width:420px!important;margin:auto;padding:20px!important}
.android-portrait120 #loginPanel :is(input,button,select) {width:100%;min-height:48px!important}
.android-portrait120 .browser-network {top:10px!important;font-size:13px}
@media(prefers-reduced-motion:reduce){.android-portrait120 * {transition:none!important;scroll-behavior:auto!important}}
