/* Mobile geometry only. Native device rotation remains available; never lock
   orientation or disable browser zoom. All controls remain reachable. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media(max-width:760px){
 #game-ui{--hud-height:calc(202px + env(safe-area-inset-bottom));height:100dvh}
 #game-ui>header{height:44px;align-items:center;padding-top:0;padding-bottom:0;padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
 #game-ui>footer{height:var(--hud-height);padding:6px max(10px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));grid-template-columns:minmax(0,1fr);grid-template-rows:62px 122px;gap:6px}
 #game-ui>footer .character{grid-column:1;grid-row:1;padding:5px 9px;gap:8px;min-width:0}
 #game-ui>footer .char-details{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);column-gap:10px;align-items:center}
 #game-ui>footer .char-name{grid-column:1;grid-row:1/4;margin:0;display:flex;align-content:center;gap:4px}.char-name h2{font-size:13px;line-height:1.4}
 #game-ui>footer .bar{grid-column:2;margin-top:3px}#game-ui>footer .bar.hp{grid-row:1}#game-ui>footer .bar.mp{grid-row:2}#game-ui>footer .bar.xp{grid-row:3}
 #game-ui>footer .combat-stats,#game-ui>footer .battle-log,#game-ui>footer .portrait{display:none}
 #game-ui>footer .quickbar{grid-column:1;grid-row:2;padding:6px 8px;min-width:0}.quickbuttons button{height:44px}.quickbuttons small{font-size:9px}.quickbuttons button>span{font-size:20px;line-height:23px}.commandbar button{min-height:28px;font-size:10px;padding:4px 2px}.wallet{margin-bottom:4px}.wallet b{font-size:14px}.commandbar{margin-top:4px}
 #game-ui .field-bottom{bottom:var(--hud-height);padding:4px 10px}.field-bottom #action-label{font-size:10px;line-height:1.5;transform:none}.field-bottom button{min-height:36px;font-size:10px}
 #game-ui .field-status-stack{bottom:calc(var(--hud-height) + 46px);left:max(12px,env(safe-area-inset-left));max-width:calc(100% - 24px)}
 #game-ui #buff-chip{max-width:100%}.status-group{max-width:100%}.status-group-items{flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding:1px 0 3px;pointer-events:auto;scrollbar-width:thin;overscroll-behavior-x:contain}#buff-chip .buff-status{flex:0 0 auto;white-space:nowrap;font-size:11px;line-height:16px}
 #game-ui aside#journal{bottom:calc(var(--hud-height) + 8px)}
 #game-ui .bottom-note{display:none}
}
@media(orientation:landscape) and (max-height:600px) and (max-width:1100px){
 #game-ui{--hud-height:calc(128px + env(safe-area-inset-bottom));height:100dvh}
 #game-ui>header{height:44px;align-items:center;gap:8px;padding:4px max(12px,env(safe-area-inset-right)) 4px max(12px,env(safe-area-inset-left));background:#111c17dd}
 #game-ui .brand{min-width:95px;gap:4px}.brand p{display:none}#game-ui .brand h1{font-size:18px;letter-spacing:3px}#game-ui .brand .moon{font-size:25px}#game-ui nav{display:none}#game-ui .header-right{margin-left:auto;gap:6px}#game-ui .test-controls{position:static;font-size:10px;gap:7px;padding:3px 6px}#game-ui .test-controls select{font-size:11px;min-height:28px;padding:2px}#game-ui .test-controls label{gap:4px}#game-ui .journal-toggle{min-height:32px;padding:5px 7px;font-size:11px}.display-controls{gap:5px}#fullscreen-label{display:none}#fullscreen-toggle{width:34px;padding:0}#game-ui .icon-button{width:32px;height:32px}
 #game-ui>footer{height:var(--hud-height);display:grid;grid-template-columns:minmax(170px,.66fr) minmax(0,1.34fr);grid-template-rows:minmax(0,1fr);gap:8px;padding:5px max(12px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}
 #game-ui>footer .character{grid-column:1;grid-row:1;padding:6px 9px;width:auto;min-width:0}#game-ui>footer .char-details{display:block;min-width:0}#game-ui>footer .char-name{display:flex;gap:5px;margin:0 0 5px;line-height:1.4}#game-ui>footer .char-name h2{font-size:13px}#game-ui>footer .bar{margin-top:4px}#game-ui>footer .bar.hp{height:13px}#game-ui>footer .bar.mp{height:11px}#game-ui>footer .bar.xp{height:8px}
 #game-ui>footer .portrait,#game-ui>footer .battle-log,#game-ui>footer .combat-stats{display:none}#game-ui>footer .quickbar{grid-column:2;grid-row:1;min-width:0;width:auto;padding:5px 8px}#game-ui .wallet{margin-bottom:3px}#game-ui .wallet b{font-size:14px}#game-ui .quickbuttons button{height:44px}#game-ui .quickbuttons small{font-size:9px}#game-ui .quickbuttons button>span{font-size:21px;line-height:23px}#game-ui .commandbar{margin-top:3px}#game-ui .commandbar button{min-height:28px;padding:4px 2px;font-size:10px}#game-ui .commandbar kbd{display:none}#game-ui #title-mobile{display:block}
 #game-ui .field-top{top:45px;padding:6px max(12px,env(safe-area-inset-left));max-width:40%;pointer-events:none}#game-ui .location h2{font-size:13px}#game-ui .location p{font-size:9px}#game-ui .location-icon{font-size:17px}#game-ui #aura-chip{top:49px;right:max(12px,env(safe-area-inset-right));font-size:11px;max-width:35%;padding:5px 7px}
 #game-ui #target-card{top:50px;width:205px;max-width:30%;padding:5px 8px}#game-ui #target-card small{font-size:9px}#game-ui #spell-hint{top:109px}#game-ui #loot-feed{top:94px;right:12px;width:210px}
 #game-ui .field-bottom{bottom:var(--hud-height);padding:3px 12px}#game-ui .field-bottom #action-label{font-size:10px;line-height:1.5;transform:none;padding:5px 7px}#game-ui .field-bottom button{min-height:34px;font-size:10px;padding:5px 8px}
 #game-ui .field-status-stack{left:max(12px,env(safe-area-inset-left));bottom:calc(var(--hud-height) + 42px);max-width:calc(100% - 24px)}#game-ui #buff-chip{max-width:100%;gap:4px}#game-ui .status-group-items{flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding:1px 0 3px;pointer-events:auto;scrollbar-width:thin;overscroll-behavior-x:contain}#game-ui #buff-chip .buff-status{flex:0 0 auto;white-space:nowrap;font-size:11px;line-height:16px;padding:4px 6px;gap:4px}#game-ui #buff-chip .buff-status time{flex-basis:calc(4ch + 1em);width:calc(4ch + 1em)}#game-ui .status-group{gap:2px}#game-ui .status-group-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 #game-ui aside#journal{top:49px;bottom:calc(var(--hud-height) + 6px)}#game-ui .bottom-note{display:none}
 #volume-panel{top:48px;max-height:calc(100dvh - 60px)}
}
@media(orientation:landscape) and (max-height:600px) and (max-width:650px){#game-ui .brand{display:none}#game-ui .test-controls{gap:4px;padding:2px 4px}#game-ui .header-right{width:100%;justify-content:space-between}#game-ui .accessory-quick{max-width:105px;font-size:10px}#game-ui .quickbar{padding-inline:4px}#game-ui .quickbuttons{gap:3px}#game-ui .commandbar button{font-size:9px}}

@media(max-width:760px),(orientation:landscape) and (max-height:600px) and (max-width:1100px){#game-ui .accessory-quick{padding:3px 7px;min-height:24px}}
/* Every mobile overlay uses the same notch-safe horizontal edges. */
@media(max-width:760px),(orientation:landscape) and (max-height:600px) and (max-width:1100px){
 #game-ui{--safe-left:max(12px,env(safe-area-inset-left));--safe-right:max(12px,env(safe-area-inset-right))}
 #game-ui>header{top:env(safe-area-inset-top)}
 #game-ui .field-status-stack{left:var(--safe-left);max-width:calc(100% - var(--safe-left) - var(--safe-right))}
 #game-ui .field-bottom{padding-left:var(--safe-left);padding-right:var(--safe-right)}
 #game-ui #loot-feed{right:var(--safe-right);max-width:calc(100% - var(--safe-left) - var(--safe-right))}
 #game-ui .field-status-stack #toast{max-width:calc(100vw - var(--safe-left) - var(--safe-right))}
 #game-ui aside#journal{right:var(--safe-right);max-width:calc(100% - var(--safe-left) - var(--safe-right))}
}
@media(max-width:760px) and (orientation:portrait){
 #game-ui .field-top{top:calc(87px + env(safe-area-inset-top))}
 #game-ui #target-card{top:calc(139px + env(safe-area-inset-top))}
 #game-ui #aura-chip{top:calc(68px + env(safe-area-inset-top));right:var(--safe-right)}
 #game-ui #spell-hint{top:calc(202px + env(safe-area-inset-top))}
 #game-ui #loot-feed{top:calc(219px + env(safe-area-inset-top))}
 #game-ui aside#journal{top:calc(89px + env(safe-area-inset-top))}
}
@media(orientation:landscape) and (max-height:600px) and (max-width:1100px){
 #game-ui .field-top{top:calc(45px + env(safe-area-inset-top))}
 #game-ui #target-card{top:calc(50px + env(safe-area-inset-top))}
 #game-ui #aura-chip{top:calc(49px + env(safe-area-inset-top))}
 #game-ui #spell-hint{top:calc(109px + env(safe-area-inset-top))}
 #game-ui #loot-feed{top:calc(94px + env(safe-area-inset-top))}
 #game-ui aside#journal{top:calc(49px + env(safe-area-inset-top))}
}
@media(max-width:760px),(orientation:landscape) and (max-height:600px) and (max-width:1100px){#game-ui>footer .char-name h2{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
