.mobile-close{display:none}
.touch-controls{position:absolute;inset:0;z-index:25;pointer-events:none;user-select:none;-webkit-user-select:none}
.touch-controls[hidden],.touch-items[hidden]{display:none!important}
.touch-look{position:absolute;inset:62px 0 0 35%;pointer-events:auto;touch-action:none}
.touch-stick{position:absolute;left:max(18px,env(safe-area-inset-left));bottom:max(28px,env(safe-area-inset-bottom));width:124px;height:124px;border:2px solid #d5c7aa66;border-radius:50%;background:#0b101c50;pointer-events:auto;touch-action:none;display:grid;place-items:center}
.touch-stick i{width:48px;height:48px;border-radius:50%;background:#d8c8a955;box-shadow:0 0 0 1px #efe1bd88;pointer-events:none}
.touch-button{min-width:52px;min-height:52px;padding:6px;border:1px solid #cfb9879c;border-radius:14px;background:#12151edb;color:#fff3da;font:600 12px/1.2 sans-serif;pointer-events:auto;touch-action:none;box-shadow:0 2px 8px #0008}
.touch-button:active,.touch-button[aria-pressed=true]{background:#685334;outline:2px solid #e3ca87}
.touch-button:disabled{opacity:.45}.touch-combat{position:absolute;right:max(14px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(3,60px);gap:8px}
.touch-button[data-touch=attack]{background:#6b392de8;border-color:#ffc798}.touch-utility{position:absolute;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));display:flex;gap:6px}.touch-utility .touch-button{min-height:44px}
.touch-items{position:absolute;right:max(14px,env(safe-area-inset-right));bottom:230px;display:grid;grid-template-columns:repeat(2,80px);gap:6px}
.touch-item-sheet{position:absolute;inset:0;z-index:80;background:#080b13c9;pointer-events:auto;display:flex;align-items:flex-end;padding:12px;padding-bottom:max(12px,env(safe-area-inset-bottom))}
.touch-item-card{background:#17151c;border:1px solid #b29966;border-radius:16px;padding:16px;width:100%;max-height:85%;overflow:auto;color:#f2e5c7}
.touch-item-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.touch-item-actions button{min-height:44px;flex:1 1 120px}
.touch-ui .tooltip{display:none!important}.touch-ui button,.touch-ui select{touch-action:manipulation}.touch-ui .live{touch-action:pan-y}
.touch-ui .touch-controls .touch-button,.touch-ui .touch-look,.touch-ui .touch-stick{touch-action:none}
.touch-ui .abilities,.touch-ui .consum,.touch-ui .spellbar,.touch-ui .clickplay{display:none!important}
.touch-ui .bars{left:max(14px,env(safe-area-inset-left));bottom:168px;transform:none;width:130px}
.touch-ui .coldbox{top:max(66px,calc(env(safe-area-inset-top) + 54px));gap:3px}.touch-ui .compass{width:250px}.touch-ui .coldtimer{font-size:13px}.touch-ui .depth-label{margin-top:0}
.touch-ui .prompt{top:auto;bottom:242px;max-width:80%;font-size:13px}.touch-ui .feed{top:150px;font-size:11px;max-width:45%}
.touch-ui .mobile-close{display:block;min-height:44px;position:sticky;top:0;z-index:4;margin-bottom:10px}
.touch-ui .rinv{inset:0;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));overflow:auto;display:block;background:#090b12ef}
.touch-ui .rinv>.col,.touch-ui .rinv>.panel{width:100%;max-width:100%}.touch-ui .rinv .dropzone{display:none}.touch-ui .rinv .equip{justify-content:center;gap:6px}
.touch-ui .rinv .panel{margin:10px 0}.touch-ui .rinv .grid{max-width:100%}
@media(max-width:900px){
 input,select,textarea{font-size:16px}
 #tavern .top{left:8px;right:8px;top:max(8px,env(safe-area-inset-top));padding:8px;gap:6px;min-height:48px}.lobby-brand,.add,.lobby-chat{display:none!important}
 #tavern .top .btn{min-height:42px;padding:6px 10px}.treasury{font-size:13px}
 .lobby-nav{left:0;right:0;bottom:0;top:auto;width:auto;display:flex;flex-direction:row;overflow-x:auto;padding:6px max(8px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:#12111bf5;gap:5px;z-index:20}
 .lobby-nav-button{min-width:76px;min-height:56px;flex:0 0 auto;display:flex;flex-direction:column;justify-content:center;padding:4px;font-size:11px;gap:2px}.lobby-nav-button .menu-mark{width:22px;height:22px}
 #tavern .lobby-drawer{left:8px!important;right:8px;top:70px;bottom:76px;width:auto!important;max-height:none;overflow:auto;padding:12px;z-index:15;background:#211b19!important}.lobby-drawer-head{position:sticky;top:-12px;background:#17131df5;z-index:6}#tavern .lobby-drawer-head button{min-width:44px;min-height:44px}
 .lobby-actions{left:12px!important;right:12px!important;bottom:84px!important;width:auto!important;transform:none!important}.lobby-actions .btn{min-height:48px}#tavern .lobby-hero-caption{bottom:208px;left:16px}.lobby-hero-caption strong{font-size:24px}
 #tavern .party{left:12px;right:12px;top:72px;width:auto;max-height:130px;overflow:auto;font-size:12px}#tavern:not([data-chapter=hall]) .party,#tavern:not([data-chapter=hall]) .lobby-actions,#tavern:not([data-chapter=hall]) .lobby-hero-caption{display:none}
 .lobby-page .btn{min-height:44px}.lobby-page .grid{margin:0 auto}.lobby-page .equip{justify-content:center}.lobby-page .class-chip{min-height:26px}.lobby-page .shop{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));max-height:none}
 .character-top{inset:max(8px,env(safe-area-inset-top)) 8px auto;padding:10px}.character-top h1{font-size:18px}.character-roster{left:8px;right:8px;top:82px!important;bottom:auto;width:auto;max-width:none;height:128px;max-height:128px;padding:8px}.character-list{display:flex;overflow:auto;gap:8px;height:100%}.character-card{min-width:145px;min-height:80px;display:flex;flex-direction:column;justify-content:center}.character-card img,.character-card canvas{width:36px;height:36px}
 .character-sheet{left:8px;right:8px;top:auto!important;bottom:max(12px,env(safe-area-inset-bottom));max-height:46%;width:auto;overflow:auto;padding:12px}.character-sheet label{display:flex;align-items:center;justify-content:space-between;gap:8px}.character-sheet input,.character-sheet select{width:60%;min-height:44px}.character-sheet .btn{min-height:48px}.character-caption{display:none}
 .overlay>.panel,.overlay .menu{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto}.overlay button,#login button{min-height:44px}
}
@media(max-width:900px) and (orientation:landscape){
 .touch-stick{width:106px;height:106px;bottom:18px}.touch-combat{grid-template-columns:repeat(3,54px);gap:6px;bottom:12px}.touch-button{min-height:46px}.touch-ui .bars{bottom:136px;width:120px}.touch-ui .coldbox{top:12px}.touch-ui .prompt{bottom:24px;max-width:40%}.touch-items{right:206px;bottom:18px}.touch-ui .feed{top:85px}
 .character-roster{width:180px;right:auto;bottom:12px;height:auto;max-height:none}.character-list{display:block}.character-card{margin-bottom:6px;min-width:0}.character-sheet{left:auto;top:82px!important;width:290px;max-height:none}.character-sheet h2{font-size:20px}
 .lobby-nav-button{min-height:48px}.lobby-drawer{bottom:64px}#tavern .lobby-hero-caption{bottom:164px}.lobby-actions{bottom:70px!important}.lobby-page .ability-slots{grid-template-columns:repeat(2,minmax(0,1fr))}
}
