.portrait-hud,.portrait-controls,.portrait-settings{display:none}
@media (max-width:900px) and (orientation:portrait){
 html,body{height:100%;overflow:hidden;overscroll-behavior:none}
 .game-shell{height:100dvh!important;min-height:0!important;padding:0!important;align-items:stretch!important}
 .game-frame{width:100%!important;max-width:none!important;height:100%!important;border:0!important}
 .game-frame>canvas{width:100%!important;height:100%!important;touch-action:none}
 .hud-left,.hud-right,.swarm-hud{display:none!important}
 .portrait-hud{display:block;position:absolute;inset:0 0 auto;z-index:10;padding:12px 12px 8px;padding-top:max(12px,env(safe-area-inset-top));background:linear-gradient(#0a171af5,#0a171ae0,transparent);font:12px Arial,sans-serif;pointer-events:none}
 .portrait-vitals,.portrait-resources{display:flex;justify-content:space-between;align-items:center;gap:8px}
 .portrait-vitals{font-size:12px;letter-spacing:.04em}
 .portrait-vitals b{display:block;font-size:16px;color:#99ddc1;margin-top:3px}
 .portrait-vitals>span:nth-child(2) b{color:#9ccfe9}
 .portrait-hud button,.portrait-controls button{pointer-events:auto;min-height:44px;border:1px solid #75837477;border-radius:6px;background:#102125e8;color:#e4e8d8;font:700 12px Arial,sans-serif;touch-action:manipulation}
 .portrait-vitals button{width:44px;font-size:20px}
 .portrait-resources{margin-top:8px;font-size:11px;flex-wrap:wrap;justify-content:flex-start;gap:12px}
 .portrait-resources b{font-size:14px;margin-left:3px}
 .portrait-objective{width:100%;text-align:left;margin-top:8px;padding:8px 10px;font-size:14px!important;display:flex;justify-content:space-between;gap:8px}
 .portrait-swarm{margin-top:7px;color:#d3c69f;letter-spacing:.025em;font-size:11px}
 .portrait-swarm b{color:#f2da9c}
 .portrait-controls{display:block;position:absolute;inset:auto 0 0;z-index:12;padding:12px;padding-bottom:max(12px,env(safe-area-inset-bottom));pointer-events:none;background:linear-gradient(transparent,#08151bbf)}
 .portrait-controls nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}
 .portrait-controls button{font-size:10px;padding:0 2px;min-height:48px}
 .portrait-touch-hints{display:flex;justify-content:space-between;align-items:flex-end;height:82px;padding:0 2px 17px;font:700 10px Arial,sans-serif;color:#d9e9dacc;text-shadow:0 1px 3px #000}
 .portrait-touch-hints span:first-child{border:1px solid #bedacc66;border-radius:50%;width:78px;height:78px;display:grid;place-items:center;text-align:center;box-sizing:border-box;padding:12px;background:#14323233}
 .build-dock{display:none!important;left:0!important;transform:none!important;bottom:166px!important;width:100%!important;box-sizing:border-box;overflow-x:auto;padding:8px 12px!important;gap:8px!important;z-index:12;background:#0b181ae8;touch-action:pan-x}
 .build-dock.mobile-build-open{display:flex!important}
 .build-slot{flex:0 0 160px!important;width:160px!important;min-height:72px!important;padding:10px!important;grid-template-columns:40px 1fr!important;gap:6px!important}
 .build-art{display:block!important;width:40px!important;height:48px!important;grid-column:1!important;grid-row:1/3!important}
 .build-slot>div:nth-child(2),.build-slot>div:last-child{grid-column:2!important}
 .build-slot>div:nth-child(2)>div:last-child,.build-slot>div:last-child>div>div:nth-child(2){font-size:12px!important}
 .build-slot>div:nth-child(2)>div:first-child{display:none}
 .interaction-prompt{bottom:155px!important;width:90%;text-align:center}
 .interaction-prompt>div{font-size:12px!important;line-height:1.4;padding:8px!important}
 .game-toast{top:180px!important;width:90%;text-align:center}
 .game-toast>div{font-size:12px!important;padding:8px!important;line-height:1.4}
 .portrait-modal{z-index:30!important;padding:12px!important;overflow-y:auto;align-items:flex-start!important}
 .portrait-modal>div{width:100%!important;max-width:none!important;box-sizing:border-box;padding:18px!important;margin:auto!important}
 .portrait-modal [style*="font-size"]{font-size:14px!important;line-height:1.45!important}
 .portrait-modal [style*="grid-template-columns"]{grid-template-columns:1fr!important;gap:12px!important}
 .portrait-modal [style*="max-height"]{max-height:none!important}
 .portrait-modal button{min-height:44px;padding:10px!important;touch-action:manipulation}
 .portrait-modal canvas{max-width:100%!important;width:100%!important}
 .portrait-modal .coop-pause-note{max-width:none;font-size:14px}
 .portrait-settings{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
 .portrait-settings button{font-size:12px!important;background:#183238;color:#e2dfbe;border:1px solid #6e8c78}
 .start-screen{padding:28px 24px!important;overflow-y:auto!important;justify-content:flex-start!important;z-index:30}
 .start-screen>div:nth-child(3){font-size:52px!important;margin:12px 0!important}
 .start-screen>div:nth-child(4),.start-screen>div:nth-child(5){font-size:14px!important;max-width:100%!important;line-height:1.5!important;margin-bottom:12px!important}
 .start-screen>div:nth-child(6){flex-direction:column;align-items:stretch!important;gap:8px!important}
 .start-screen button,.coop-button{font-size:14px!important;min-height:48px!important;padding:12px!important}
 .coop-menu-fields{max-width:none!important;margin-top:16px!important}
 .coop-menu-fields label,.coop-message{font-size:13px!important}
 .coop-menu-fields input{font-size:16px!important;min-height:44px;box-sizing:border-box;padding:8px!important}
 .coop-join-row{flex-wrap:wrap}
 .coop-lobby,.coop-problem{z-index:40;padding:16px!important;overflow-y:auto}
 .coop-lobby-card,.coop-problem>div{width:100%!important;max-width:none!important;box-sizing:border-box;padding:16px!important;margin:auto}
 .coop-lobby h1,.coop-problem h2{font-size:26px!important}
 .coop-lobby-copy,.coop-fine-print,.coop-seat strong,.coop-seat span,.coop-rules,.coop-waiting,.coop-problem p,.coop-text-button{font-size:13px!important;max-width:none!important;line-height:1.5}
 .coop-room-box{padding:12px!important;flex-wrap:wrap;gap:10px}
 .coop-room-box strong{font-size:28px!important}.coop-room-box span{font-size:12px!important}
 .coop-seats{gap:8px}.coop-seat{padding:12px!important}.coop-rules{flex-wrap:wrap;gap:8px}
 .coop-hud{left:auto;right:10px;top:164px;width:142px;z-index:10;padding:8px}
 .coop-hud .coop-eyebrow,.coop-hud .coop-hint,.coop-hud .coop-mini-actions{display:none}
 .coop-teammate,.coop-teammate strong{font-size:12px!important}
}
