html[data-client=mobile] .mobile-transfer-target{touch-action:pan-y!important;-webkit-touch-callout:none;user-select:none}
html[data-client=mobile] #dialogue-box.npc-dialogue.open:has(.refine-panel){top:max(10px,env(safe-area-inset-top))!important;bottom:auto!important;width:min(520px,calc(100vw - 20px))!important;max-width:calc(100vw - 20px)!important;height:auto!important;max-height:calc(var(--mobile-height,100dvh) - 20px)!important;transform:translateX(-50%)!important;overflow-y:auto!important;padding:12px!important}
html[data-client=mobile] #dialogue-box.npc-dialogue:has(.refine-panel)>.npc-trade.refine-panel{display:flex!important;flex-direction:column;overflow:visible!important;max-height:none!important;gap:12px}
html[data-client=mobile] .refine-panel .refine-side{display:flex;flex-direction:column;gap:8px;min-width:0;padding:10px}
html[data-client=mobile] .refine-panel .refine-side>h3{padding-right:0;min-height:0}
html[data-client=mobile] .refine-panel .refine-owned{position:static;font-size:12px}
html[data-client=mobile] .refine-panel :is(.refine-status,.refine-help-row,.refine-requirements-row,.refine-requirements,.refine-material-rows,.refine-material){height:auto!important;max-height:none!important;min-height:36px;overflow:visible!important}
html[data-client=mobile] .refine-panel .refine-enhance>.refine-help-row{display:flex;flex-wrap:wrap;gap:8px}
html[data-client=mobile] .refine-panel .refine-enhance>.refine-help-row .refine-clear{position:static;height:auto}
html[data-client=mobile] .refine-panel .refine-material-rows{display:flex;flex-direction:column;gap:6px}
html[data-client=mobile] .refine-panel .refine-material[hidden]{display:none}
html[data-client=mobile] .refine-panel .refine-material{grid-template-columns:minmax(0,1fr) 83px 50px}
html[data-client=mobile] .refine-panel .refine-material :is(button,input){height:40px!important;min-height:40px!important}
html[data-client=mobile] .refine-panel .refine-step-buttons button{width:40px}
html[data-client=mobile] .refine-panel .refine-drop{height:auto!important;max-height:none!important;min-height:64px!important;flex-wrap:wrap;overflow:visible}
html[data-client=mobile] .refine-panel .refine-drop>b{white-space:normal;overflow-wrap:anywhere}
html[data-client=mobile] .refine-panel .refine-enhance-inputs{height:auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
html[data-client=mobile] .refine-panel .refine-material-icon{min-width:44px;min-height:44px;padding:4px;border:1px solid #806d4855;border-radius:5px}
html[data-client=mobile] .refine-panel .refine-side>.refine-animation{height:130px;min-height:130px;max-height:130px}
html[data-client=mobile] .refine-panel .refine-main-action{height:auto!important;min-height:44px!important}
html[data-client=mobile] .refine-panel .refine-floating{position:static;width:auto;max-height:none;box-shadow:none;animation:none}
html[data-client=mobile] :is(.refine-bag-grid,.shop-bag-grid){grid-template-columns:repeat(auto-fill,minmax(44px,1fr))!important;gap:5px}
html[data-client=mobile] :is(.refine-bag-slot,.shop-bag-slot){min-height:44px;touch-action:pan-y!important}
html[data-client=mobile] .npc-dialogue.trade-sell .npc-row{grid-template-columns:minmax(0,1fr) auto}
html[data-client=mobile] .npc-dialogue.trade-sell .npc-row>.trade-info{grid-column:1/-1;min-width:0}
html[data-client=mobile] .npc-dialogue.trade-sell .trade-quantity :is(button,input){min-height:40px}
/* Remove the desktop flex spacer from the mobile action grid. */
html[data-client=mobile] #dialogue-box.npc-dialogue .npc-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-flow:row;grid-auto-rows:1fr;align-items:stretch!important;justify-items:stretch;gap:8px!important;width:100%;box-sizing:border-box;margin-top:12px}
html[data-client=mobile] #dialogue-box.npc-dialogue .npc-actions>span{display:none!important}
html[data-client=mobile] #dialogue-box.npc-dialogue .npc-actions>button{width:100%!important;max-width:100%;min-width:0!important;min-height:44px;height:100%!important;box-sizing:border-box;margin:0!important;padding:9px 6px!important;display:flex;align-items:center;justify-content:center;text-align:center;white-space:normal!important;word-break:keep-all;overflow-wrap:anywhere;line-height:1.45;font-size:13px}
html[data-client=mobile] #dialogue-box.npc-dialogue .npc-actions>button[hidden]{display:none!important}
