/* Shared compact HUD for mobile portrait and landscape matches. */
#portrait-location,#portrait-speed,#portrait-stamina,#portrait-exposure{display:none}
body.touch-directional:is(.playing-portrait,.playing-landscape) .topbar{display:flex!important;grid-template-columns:none!important;height:62px!important;padding:6px 8px 6px 58px!important;gap:6px!important}
body.touch-directional:is(.playing-portrait,.playing-landscape) .topbar .brand{display:none!important}
body.touch-directional:is(.playing-portrait,.playing-landscape) .match-stats{position:static!important;transform:none!important;width:auto!important;margin:0!important;flex:1!important;min-width:0;justify-content:space-around;gap:5px!important;padding:5px 7px!important;height:46px;box-sizing:border-box;border-radius:16px}
body.touch-directional:is(.playing-portrait,.playing-landscape) .match-stats small{font-size:9px!important;white-space:nowrap}
body.touch-directional:is(.playing-portrait,.playing-landscape) .match-stats strong{font-size:16px!important;line-height:21px!important;white-space:nowrap}
body.touch-directional:is(.playing-portrait,.playing-landscape) .hunter-stat{display:flex!important}
body.touch-directional:is(.playing-portrait,.playing-landscape) .top-actions{display:flex!important;flex-direction:column;gap:0!important;width:32px!important}
body.touch-directional:is(.playing-portrait,.playing-landscape) .top-actions .icon-button{width:32px!important;height:25px!important;min-height:0;padding:3px!important}
body.touch-directional:is(.playing-portrait,.playing-landscape) #portrait-location{display:grid;position:fixed;z-index:7;left:8px;top:10px;width:44px;height:44px;border-radius:50%}
body.touch-directional:is(.playing-portrait,.playing-landscape) .world-tag{display:none!important}
body.touch-directional:is(.playing-portrait,.playing-landscape).portrait-info-open .world-tag{display:flex!important;top:64px!important;left:8px!important;right:8px;max-width:calc(100vw - 16px);width:max-content;box-sizing:border-box;z-index:9}
body.touch-directional:is(.playing-portrait,.playing-landscape) #player-state.player-state{display:none!important}
body.touch-directional:is(.playing-portrait,.playing-landscape).portrait-person-open #player-state.player-state{display:flex!important;left:8px!important;right:auto!important;top:106px!important;bottom:auto!important;width:210px!important;max-width:calc(100vw - 16px)!important;z-index:9}
body.touch-directional:is(.playing-portrait,.playing-landscape) #mission.mission{left:8px!important;right:auto!important;top:70px!important;bottom:auto!important;width:min(220px,calc(100vw - 72px))!important;padding:5px 8px!important;box-sizing:border-box;border-radius:18px!important;border:1px solid #dce6db!important;max-height:calc(100dvh - 260px);overflow:auto}
body.touch-directional:is(.playing-portrait,.playing-landscape) #mission.is-collapsed{width:max-content!important;max-width:calc(100vw - 72px)!important}
body.touch-directional:is(.playing-portrait,.playing-landscape) .mission-header{gap:5px!important;min-height:32px!important}
body.touch-directional:is(.playing-portrait,.playing-landscape) .mission-tag{display:none!important}
body.touch-directional:is(.playing-portrait,.playing-landscape) #mission-title{font-size:13px!important;white-space:nowrap;margin:0!important}
body.touch-directional:is(.playing-portrait,.playing-landscape) #mission-countdown{font-size:11px!important;margin-left:3px!important}
body.touch-directional:is(.playing-portrait,.playing-landscape).alarming #mission-countdown{display:none!important}
body.touch-directional:is(.playing-portrait,.playing-landscape) .mission-header .icon-button{width:32px!important;height:32px!important;flex-shrink:0}
body.touch-directional:is(.playing-portrait,.playing-landscape) #orientation-toggle{top:70px!important;right:8px!important;width:44px!important;height:44px!important}
body.touch-directional:is(.playing-portrait,.playing-landscape) #hunter-warning{left:8px!important;top:calc(var(--mission-bottom,120px) + 4px)!important;width:max-content!important;max-width:calc(100vw - 16px);padding:7px 10px!important;display:flex;align-items:center;gap:7px;border-radius:18px;background:#fff1ebed;box-shadow:none}
body.touch-directional:is(.playing-portrait,.playing-landscape) #hunter-warning[hidden]{display:none!important}
body.touch-directional:is(.playing-portrait,.playing-landscape) #hunter-warning strong{font-size:11px;white-space:nowrap}
body.touch-directional:is(.playing-portrait,.playing-landscape) #hunter-distance{font-size:11px;margin:0;white-space:nowrap}
body.touch-directional:is(.playing-portrait,.playing-landscape) #hunter-map{display:none!important}
body.touch-directional:is(.playing-portrait,.playing-landscape) .map-controls{left:auto!important;right:12px!important;top:auto!important;bottom:calc(22px + env(safe-area-inset-bottom))!important;flex-direction:row!important;gap:2px!important;background:#f7fbf0ed;padding:4px!important;border:1px solid #d8e4d3;border-radius:26px;z-index:7}
body.touch-directional:is(.playing-portrait,.playing-landscape) .map-controls .icon-button{width:44px!important;height:44px!important;border:0;background:transparent}
body.touch-directional:is(.playing-portrait,.playing-landscape) #team-panel{left:auto!important;right:12px!important;top:auto!important;bottom:84px!important;width:min(240px,calc(100vw - 24px));max-height:45dvh;z-index:8}
body.touch-directional:is(.playing-portrait,.playing-landscape) #joystick#joystick.joystick{width:108px!important;height:108px!important;bottom:calc(38px + env(safe-area-inset-bottom))!important}
body.touch-directional:is(.playing-portrait,.playing-landscape) #joystick#joystick.joystick #joystick-knob{width:44px!important;height:44px!important;left:30px!important;top:30px!important}
body.touch-directional:is(.playing-portrait,.playing-landscape) #joystick#joystick.joystick #action-bar.action-bar{top:1px!important}
body.touch-directional:is(.playing-portrait,.playing-landscape) #joystick#joystick.joystick #joystick-back{bottom:1px!important}
body.touch-directional:is(.playing-portrait,.playing-landscape) #portrait-speed{display:block;position:absolute;top:calc(100% + 5px);left:0;width:100%;text-align:center;font:700 12px/20px Consolas,monospace;color:#173e2b;text-shadow:0 1px 3px #fff;pointer-events:none}
body.touch-directional:is(.playing-portrait,.playing-landscape) #portrait-stamina:not([hidden]){display:block;position:fixed;z-index:4;width:48px;height:5px;padding:1px;box-sizing:content-box;background:#203b33a8;border:1px solid #efffe0a0;border-radius:5px;transform:translate(-50%,-50%);pointer-events:none}
#portrait-stamina>span{display:block;height:100%;border-radius:3px;background:#a5e878}#portrait-stamina[data-low=true]>span{background:#f3a658}
body.touch-directional:is(.playing-portrait,.playing-landscape) #player-state .stamina{display:none!important}
body.touch-directional:is(.playing-portrait,.playing-landscape) #portrait-exposure:not([hidden]){display:grid;place-items:center;position:fixed;z-index:4;width:30px;height:30px;transform:translate(-50%,-100%);color:#f63f35;filter:drop-shadow(0 0 5px #ffe5df);pointer-events:none}
#portrait-exposure svg{width:27px;height:27px;stroke-width:2.6}
body.touch-directional:is(.playing-portrait,.playing-landscape) #events.events{top:auto!important;bottom:calc(164px + env(safe-area-inset-bottom))!important;left:12px!important;right:auto!important;max-width:210px;max-height:42px;overflow:hidden}
body.touch-directional:is(.playing-portrait,.playing-landscape) #events>div:not(:first-child){display:none}
body.touch-directional:is(.playing-portrait,.playing-landscape) #context-action{bottom:calc(88px + env(safe-area-inset-bottom))!important;right:12px!important;max-width:calc(100vw - 144px)}
body.touch-directional:is(.playing-portrait,.playing-landscape) #inventory-hud{right:14px;bottom:calc(144px + env(safe-area-inset-bottom));flex-direction:row;gap:6px}
body.touch-directional:is(.playing-portrait,.playing-landscape) #walking-controls{bottom:calc(192px + env(safe-area-inset-bottom))!important}

/* Compact iteration 2: a single floating stats strip and one task row. */
#portrait-strip{display:none}
#portrait-menu{position:fixed;inset:50px 8px auto auto;margin:0;padding:6px;border:1px solid #d8e3d4;border-radius:14px;background:#f7fbf1f5;color:#244637;box-shadow:0 8px 24px #153f272b;min-width:144px;z-index:30}
#portrait-menu::backdrop{background:#183a211a}
#portrait-menu button{display:flex;align-items:center;gap:10px;width:100%;height:42px;padding:0 10px;border-radius:8px;background:transparent;color:inherit;text-align:left;font-size:12px}
#portrait-menu button:active{background:#dfebd9}
#portrait-menu svg{width:18px;height:18px}
body.touch-directional:is(.playing-portrait,.playing-landscape) .topbar{display:none!important}
body.touch-directional:is(.playing-portrait,.playing-landscape) #portrait-strip{position:fixed;left:8px;right:8px;top:8px;z-index:7;display:flex;align-items:center;justify-content:space-between;gap:4px;height:36px;padding:0 3px;box-sizing:border-box;border:1px solid #d5e2d1bd;border-radius:19px;background:#f4faf0e8;color:#264b3b;box-shadow:0 1px 4px #183e2710}
body.touch-directional:is(.playing-portrait,.playing-landscape) #portrait-strip #portrait-location{position:static!important;flex-shrink:0;width:32px!important;height:32px!important;background:transparent;border:0;box-shadow:none}
body.touch-directional:is(.playing-portrait,.playing-landscape) #portrait-strip .icon-button svg{width:18px;height:18px}
.portrait-stat{display:flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap;min-width:0}
.portrait-stat+ .portrait-stat{border-left:1px solid #c6d7c4;padding-left:10px}
.portrait-stat svg,.portrait-stat img{width:17px;height:17px;flex-shrink:0}
.portrait-stat b{font:600 14px/1.2 Consolas,monospace}
#portrait-hunters{color:#a14b3b;font-family:inherit}
body.touch-directional:is(.playing-portrait,.playing-landscape) #portrait-more{width:32px;height:32px;flex-shrink:0;background:transparent;border:0;box-shadow:none}
body.touch-directional:is(.playing-portrait,.playing-landscape) #mission.mission{top:50px!important;padding:1px 6px!important;width:min(220px,calc(var(--game-width,100vw) - 16px))!important;max-height:calc(100dvh - 220px);border-radius:15px!important;box-shadow:0 1px 4px #183e2710}
body.touch-directional:is(.playing-portrait,.playing-landscape) #mission.is-collapsed{width:max-content!important;max-width:calc(var(--game-width,100vw) - 142px)!important}
body.touch-directional:is(.playing-portrait,.playing-landscape) .mission-header{gap:4px!important;min-height:28px!important}
body.touch-directional:is(.playing-portrait,.playing-landscape) #mission-title{font-size:11px!important}
body.touch-directional:is(.playing-portrait,.playing-landscape) #mission-countdown{font-size:10px!important;margin-left:0!important}
body.touch-directional:is(.playing-portrait,.playing-landscape) .mission-header .icon-button{width:24px!important;height:28px!important;min-height:0;padding:2px!important}
body.touch-directional:is(.playing-portrait,.playing-landscape) .mission-header .icon-button svg{width:14px;height:14px}
body.touch-directional:is(.playing-portrait,.playing-landscape) #hunter-warning{top:50px!important;left:var(--portrait-task-end,160px)!important;max-width:calc(var(--game-width,100vw) - var(--portrait-task-end,160px) - 8px)!important;height:30px!important;padding:0 7px!important;background:#fff3eeed;border-left:0;border:1px solid #d9aaa0;gap:4px;box-sizing:border-box}
body.touch-directional:is(.playing-portrait,.playing-landscape) #hunter-warning strong{display:none}
body.touch-directional:is(.playing-portrait,.playing-landscape) #hunter-warning::before{content:'⚠';font-size:14px;color:#b43b31}
body.touch-directional:is(.playing-portrait,.playing-landscape) #hunter-distance{font-size:10px;white-space:nowrap;color:#743f34}
body.touch-directional.playing-portrait:has(#mission:not(.is-collapsed)) #hunter-warning{top:calc(var(--mission-bottom,160px) + 2px)!important;left:8px!important;max-width:calc(var(--game-width,100vw) - 16px)!important}
body.touch-directional:is(.playing-portrait,.playing-landscape) #orientation-toggle{display:none!important}
body.touch-directional:is(.playing-portrait,.playing-landscape) #joystick#joystick.joystick{left:calc(8px + env(safe-area-inset-left))!important;width:86px!important;height:86px!important;bottom:calc(24px + env(safe-area-inset-bottom))!important;background:#edf4e6b0!important}
body.touch-directional:is(.playing-portrait,.playing-landscape) #joystick#joystick.joystick #joystick-knob{left:21px!important;top:21px!important;width:40px!important;height:40px!important}
body.touch-directional:is(.playing-portrait,.playing-landscape) #joystick#joystick.joystick #joystick-knob svg{width:20px;height:20px}
body.touch-directional:is(.playing-portrait,.playing-landscape) #joystick#joystick.joystick #joystick-knob .movement-label{font-size:8px;line-height:10px}
body.touch-directional:is(.playing-portrait,.playing-landscape) #joystick#joystick.joystick #action-bar.action-bar{top:-1px!important;height:22px!important}
body.touch-directional:is(.playing-portrait,.playing-landscape) #joystick#joystick.joystick #action-bar #sprint{height:22px!important}
body.touch-directional:is(.playing-portrait,.playing-landscape) #joystick#joystick.joystick #joystick-back{bottom:-1px!important;height:22px!important}
body.touch-directional:is(.playing-portrait,.playing-landscape) #joystick#joystick.joystick>.steer-left,body.touch-directional:is(.playing-portrait,.playing-landscape) #joystick#joystick.joystick>.steer-right{width:15px!important;height:15px!important;top:calc(50% - 7px)!important}
body.touch-directional:is(.playing-portrait,.playing-landscape) #portrait-speed{top:calc(100% + 2px);font-size:10px;line-height:16px}
body.touch-directional:is(.playing-portrait,.playing-landscape) .map-controls{right:8px!important;bottom:calc(12px + env(safe-area-inset-bottom))!important;padding:0!important;gap:5px!important;background:transparent;border:0;box-shadow:none}
body.touch-directional:is(.playing-portrait,.playing-landscape) .map-controls .icon-button{width:40px!important;height:40px!important;background:#f4faf0e8;border:1px solid #d5e2d1bd;border-radius:50%;box-shadow:0 1px 3px #183e2714}
body.touch-directional:is(.playing-portrait,.playing-landscape) .map-controls .icon-button svg{width:20px;height:20px}
body.touch-directional:is(.playing-portrait,.playing-landscape) #team-panel{bottom:60px!important}
body.touch-directional:is(.playing-portrait,.playing-landscape) #events.events{display:none!important}
body.touch-directional:is(.playing-portrait,.playing-landscape) .toast{top:88px!important;width:max-content;max-width:calc(var(--game-width,100vw) - 24px);padding:6px 10px!important;font-size:11px!important;line-height:16px;border-radius:12px;background:#254a3de3;box-shadow:none}
body.touch-directional:is(.playing-portrait,.playing-landscape):has(#mission:not(.is-collapsed)) .toast{top:calc(var(--mission-bottom,160px) + 38px)!important}
body.touch-directional:is(.playing-portrait,.playing-landscape) #context-action{bottom:calc(64px + env(safe-area-inset-bottom))!important;right:8px!important;max-width:calc(var(--game-width,100vw) - 110px)}
body.touch-directional:is(.playing-portrait,.playing-landscape) #inventory-hud{right:10px;bottom:calc(108px + env(safe-area-inset-bottom))}
body.touch-directional:is(.playing-portrait,.playing-landscape) #walking-controls{bottom:calc(146px + env(safe-area-inset-bottom))!important}

/* Restore thumb room after the 86px compact pad proved too small on phones. */
body.touch-directional:is(.playing-portrait,.playing-landscape) #joystick#joystick.joystick{left:calc(16px + env(safe-area-inset-left))!important;width:116px!important;height:116px!important;bottom:calc(34px + env(safe-area-inset-bottom))!important}
body.touch-directional:is(.playing-portrait,.playing-landscape) #joystick#joystick.joystick #joystick-knob{left:33px!important;top:33px!important;width:46px!important;height:46px!important}
body.touch-directional:is(.playing-portrait,.playing-landscape) #joystick#joystick.joystick #joystick-knob svg{width:23px;height:23px}
body.touch-directional:is(.playing-portrait,.playing-landscape) #joystick#joystick.joystick #joystick-knob .movement-label{font-size:9px;line-height:11px}
body.touch-directional:is(.playing-portrait,.playing-landscape) #joystick#joystick.joystick #action-bar.action-bar{top:0!important;width:44px!important;height:32px!important}
body.touch-directional:is(.playing-portrait,.playing-landscape) #joystick#joystick.joystick #action-bar #sprint{width:44px!important;height:32px!important}
body.touch-directional:is(.playing-portrait,.playing-landscape) #joystick#joystick.joystick #joystick-back{bottom:0!important;width:44px!important;height:32px!important}
body.touch-directional:is(.playing-portrait,.playing-landscape) #joystick#joystick.joystick>.steer-left,body.touch-directional:is(.playing-portrait,.playing-landscape) #joystick#joystick.joystick>.steer-right{width:19px!important;height:19px!important;top:calc(50% - 9px)!important}
body.touch-directional:is(.playing-portrait,.playing-landscape) #context-action{max-width:calc(var(--game-width,100vw) - 156px)}

#portrait-avatar,.portrait-info-close{display:none}
body.touch-directional:is(.playing-portrait,.playing-landscape) #portrait-strip #portrait-avatar{display:grid;flex-shrink:0;width:32px;height:32px;padding:4px;background:transparent;border:0;box-shadow:none}
body.touch-directional:is(.playing-portrait,.playing-landscape) #player-state #player-speed{display:none!important}
body.touch-directional:is(.playing-portrait,.playing-landscape).portrait-person-open #player-state.player-state{top:64px!important;padding-right:38px!important;box-sizing:border-box}
body.touch-directional:is(.playing-portrait,.playing-landscape) .portrait-info-close{display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;border:0;background:transparent;font-size:24px;cursor:pointer}
body.touch-directional:is(.playing-portrait,.playing-landscape) #player-state .portrait-info-close{position:absolute;right:2px;top:2px}

/* Hunter tracking: one compact row when closed, two rows when expanded. */
.hunter-mission-icon,.hunter-mission-summary{display:none}
body #mission.mission.is-hunter{width:224px;max-width:calc(100vw - 24px);padding:7px 11px;border:1px solid #49775d;border-radius:15px;background:#123c2ff2;color:#f3f8ed;box-shadow:0 3px 10px #0b291d24}
body #mission.is-hunter .mission-header{min-height:30px;gap:8px;cursor:pointer}
body #mission.is-hunter .hunter-mission-icon{display:flex;align-items:center;flex:none;color:#e3f1dd}
.hunter-mission-icon svg{width:18px;height:18px;stroke-width:1.8}
body #mission.is-hunter #mission-title{font-size:12px;line-height:20px;color:#f3f8ed;white-space:nowrap;flex:1;margin:0}
body #mission.is-hunter .mission-tag,body #mission.is-hunter #mission-countdown,body #mission.is-hunter #alarm-label,body #mission.is-hunter .mission-objective,body #mission.is-hunter .mission-reward{display:none!important}
body #mission.is-hunter .mission-header .icon-button{width:30px;height:30px;min-height:30px;padding:5px;border:0;border-radius:50%;background:transparent;color:#d6e8d6}
body #mission.is-hunter .mission-header .icon-button:hover{background:#ffffff12}
body #mission.is-hunter .mission-header .icon-button svg{width:17px;height:17px}
body #mission.is-hunter .alarm-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2px 0 1px;padding:2px 0 0}
body #mission.is-hunter #alarm-clock{display:flex;align-items:baseline;gap:6px;font:600 21px/28px 'Microsoft YaHei',sans-serif;color:#f4f7ed;white-space:nowrap}
body #mission.is-hunter #alarm-clock::before{content:'剩余';font-size:11px;font-weight:400;color:#ccddce}
body #mission.is-hunter #alarm-status{display:flex;align-items:center;gap:5px;border-radius:12px;background:#ffffff0d;padding:3px 7px;font-size:10px;line-height:16px;color:#c1dcb2;white-space:nowrap}
body #mission.is-hunter #alarm-status::before,.hunter-status-dot{content:'';display:block;width:6px;height:6px;border-radius:50%;background:#70d17b;flex:none}
body #mission.is-hunter.is-collapsed{width:max-content;max-width:calc(100vw - 24px);border-radius:22px;padding:3px 7px 3px 11px}
body #mission.is-hunter.is-collapsed .hunter-mission-summary{display:flex;align-items:center;gap:9px;border-left:1px solid #ffffff26;padding-left:10px;margin-left:2px;color:#f3f8ed}
.hunter-mission-summary strong{font-size:13px;font-weight:600;white-space:nowrap}
body #mission.is-hunter.is-collapsed .alarm-row{display:none!important}
body #mission.is-hunter.hunter-frozen #alarm-status{color:#bde6ff;background:#32678466}
body #mission.is-hunter.hunter-frozen #alarm-status::before,body #mission.is-hunter.hunter-frozen .hunter-status-dot{background:#a5d8ff}
body.touch-directional:is(.playing-portrait,.playing-landscape) #mission.mission.is-hunter{width:208px!important;padding:6px 10px!important;border-radius:14px!important}
body.touch-directional:is(.playing-portrait,.playing-landscape) #mission.is-hunter.is-collapsed{width:max-content!important;max-width:calc(var(--game-width,100vw) - 16px)!important;padding:3px 6px 3px 10px!important;border-radius:22px!important}
body.touch-directional:is(.playing-portrait,.playing-landscape) #mission.is-hunter .mission-header{min-height:30px!important;gap:7px!important}
body.touch-directional:is(.playing-portrait,.playing-landscape) #mission.is-hunter #mission-title{font-size:12px!important}
body.touch-directional:is(.playing-portrait,.playing-landscape) #mission.is-hunter .mission-header .icon-button{width:30px!important;height:30px!important;min-height:30px;padding:5px!important}

/* Native landscape and the rotated game share the same logical safe edges. */
body.touch-directional{--hud-left:env(safe-area-inset-left);--hud-right:env(safe-area-inset-right);--hud-top:env(safe-area-inset-top);--hud-bottom:env(safe-area-inset-bottom)}
body.touch-directional.rotated-game{--hud-left:env(safe-area-inset-top);--hud-right:env(safe-area-inset-bottom);--hud-top:env(safe-area-inset-right);--hud-bottom:env(safe-area-inset-left)}
#portrait-menu{box-sizing:border-box;width:160px;overflow:auto;overscroll-behavior:contain}
.mobile-menu-scrim:not([hidden]){position:fixed;inset:0;z-index:29;background:#183a2140}
body.touch-directional.playing-landscape #portrait-strip{left:calc(8px + var(--hud-left));right:auto;width:min(390px,calc(var(--game-width,100vw) - 190px - var(--hud-left) - var(--hud-right)));top:calc(8px + var(--hud-top))}
body.touch-directional.playing-landscape #mission.mission{top:calc(50px + var(--hud-top))!important;left:calc(8px + var(--hud-left))!important;max-height:calc(var(--game-height,100dvh) - 220px - var(--hud-top) - var(--hud-bottom));max-width:calc(var(--game-width,100vw) - 200px)}
body.touch-directional.playing-landscape #hunter-warning:not([hidden]){display:flex!important;top:calc(50px + var(--hud-top))!important}
body.touch-directional.playing-landscape.portrait-info-open .world-tag{top:calc(50px + var(--hud-top))!important;left:calc(8px + var(--hud-left))!important;height:auto;max-width:calc(var(--game-width,100vw) - 24px)!important;white-space:normal;z-index:9}
body.touch-directional.playing-landscape.portrait-person-open #player-state.player-state{left:calc(8px + var(--hud-left))!important;top:calc(50px + var(--hud-top))!important;transform:none!important;max-height:calc(var(--game-height,100dvh) - 70px);overflow:auto}
body.touch-directional.playing-landscape .rear-view{top:calc(8px + var(--hud-top));width:80px;max-width:80px;border-radius:9px;border-width:1px}
body.touch-directional.playing-landscape .rear-left{left:auto;right:calc(94px + var(--hud-right))}
body.touch-directional.playing-landscape .rear-right{right:calc(8px + var(--hud-right))}
body.touch-directional.playing-landscape .rear-view.danger{border-width:2px}
body.touch-directional.playing-landscape #joystick#joystick.joystick{left:calc(16px + var(--hud-left))!important;bottom:calc(24px + var(--hud-bottom))!important}
body.touch-directional.playing-landscape .map-controls{right:calc(8px + var(--hud-right))!important;bottom:calc(12px + var(--hud-bottom))!important}
body.touch-directional.playing-landscape #team-panel{top:auto!important;right:calc(8px + var(--hud-right))!important;bottom:calc(60px + var(--hud-bottom))!important;max-height:calc(var(--game-height,100dvh) - 120px);overflow:auto}
body.touch-directional.playing-landscape #walking-controls{left:calc(148px + var(--hud-left))!important;right:auto!important;bottom:calc(26px + var(--hud-bottom))!important;transform:none!important}
body.touch-directional.playing-landscape #inventory-hud{left:auto!important;right:calc(10px + var(--hud-right))!important;bottom:calc(108px + var(--hud-bottom))!important;max-width:180px}
body.touch-directional.playing-landscape #context-action{left:auto!important;right:calc(8px + var(--hud-right))!important;bottom:calc(64px + var(--hud-bottom))!important;transform:none!important;max-width:220px}
body.touch-directional.playing-landscape #radar-overlay{top:64px;right:calc(8px + var(--hud-right));width:146px;padding:7px}
body.touch-directional.playing-landscape #radar-overlay .radar-list{max-height:calc(var(--game-height,100dvh) - 210px)}

body.touch-directional:is(.playing-portrait,.playing-landscape) #inventory-hud{left:auto!important;right:calc(10px + var(--hud-right,0px))!important;top:40%!important;bottom:auto!important;flex-direction:column!important;max-width:105px;max-height:40vh;overflow:auto}
/* Landscape status separates navigation/time from people/settings. */
#portrait-status-right{display:contents}
body.touch-directional.playing-landscape #portrait-strip{width:190px!important;right:auto!important;gap:6px}
body.touch-directional.playing-landscape #portrait-status-right{position:fixed;display:flex;align-items:center;justify-content:space-between;gap:10px;right:calc(8px + var(--hud-right));top:calc(8px + var(--hud-top));height:36px;width:196px;padding:0 6px 0 12px;box-sizing:border-box;border:1px solid #d5e2d1bd;border-radius:19px;background:#f4faf0e8;color:#264b3b;box-shadow:0 1px 4px #183e2710}
body.touch-directional.playing-landscape #portrait-status-right .portrait-stat:first-child{border-left:0;padding-left:0}
body.touch-directional.playing-landscape .rear-view{top:calc(96px + var(--hud-top));width:100px;max-width:100px}
body.touch-directional.playing-landscape .rear-left{left:calc(8px + var(--hud-left));right:auto}
body.touch-directional.playing-landscape .rear-right{right:calc(8px + var(--hud-right));left:auto}
/* Hunter proximity belongs between the two landscape status groups. */
body.touch-directional.playing-landscape #hunter-warning:not([hidden]){left:50%!important;right:auto!important;top:calc(8px + var(--hud-top))!important;bottom:auto!important;transform:translateX(-50%)!important;margin:0!important;height:36px;box-sizing:border-box;max-width:calc(var(--game-width,100vw) - 420px)!important;white-space:nowrap;justify-content:center}
body.touch-directional.playing-landscape #hunter-warning:not([hidden]){height:36px!important}
