/* V283 — second mobile pass: reachable navigation and short-landscape panels. */
#mobileMenuToggleV283,#mobileMenuV283{display:none}

@media (pointer:coarse) and (orientation:landscape) and (max-height:520px){
 #mobileMenuToggleV283{
  display:flex;align-items:center;justify-content:center;gap:5px;flex:0 0 auto;
  min-width:58px;height:36px;padding:0 7px;border:1px solid #536b79;border-bottom:3px solid #263844;
  border-radius:3px;background:linear-gradient(#182833,#091117);color:#f0d17f;
  box-shadow:inset 0 0 0 2px #05090c;font:900 11px/1 var(--font-ui);letter-spacing:.08em;
  touch-action:manipulation;-webkit-tap-highlight-color:transparent
 }
 #mobileMenuToggleV283 span{font-size:15px;line-height:1}#mobileMenuToggleV283:active{transform:translateY(1px);filter:brightness(1.18)}
 #mobileMenuV283{display:block;position:fixed;inset:0;z-index:200000;visibility:hidden;pointer-events:none}
 #mobileMenuV283.open{visibility:visible;pointer-events:auto}
 .mobileMenuBackdropV283{position:absolute;inset:0;width:100%;height:100%;border:0;background:#020508b8}
 #mobileMenuPanelV283{
  position:absolute;top:calc(4px + var(--mobile-safe-top));right:calc(5px + var(--mobile-safe-right));
  display:grid;grid-template-columns:repeat(3,minmax(96px,1fr));gap:6px;width:min(410px,calc(100vw - 14px));
  padding:7px;border:2px solid #a57623;background:linear-gradient(#111b23,#080e13);
  box-shadow:inset 0 0 0 2px #030609,0 12px 36px #000e;transform:translateY(-12px);opacity:0;
  transition:transform .14s ease,opacity .14s ease
 }
 #mobileMenuV283.open #mobileMenuPanelV283{transform:none;opacity:1}
 #mobileMenuPanelV283 header{grid-column:1/-1;display:flex;align-items:center;min-height:35px;padding:0 4px 0 8px;border-bottom:1px solid #72531e;color:#e4bf62;font:900 11px var(--font-ui);letter-spacing:1px}
 #mobileMenuPanelV283 header button{margin-left:auto;width:36px;height:32px;border:1px solid #98463d;background:#351313;color:#fff;font-weight:900}
 #mobileMenuPanelV283>button{display:grid;grid-template-columns:24px 1fr;grid-template-rows:1fr 1fr;align-items:center;min-height:54px;padding:6px 8px;border:1px solid #3c5361;background:#0b151c;color:#dce6ea;text-align:left;touch-action:manipulation}
 #mobileMenuPanelV283>button span{grid-row:1/3;color:#e7b84e;font-size:17px}#mobileMenuPanelV283>button b{font:900 11px var(--font-ui)}#mobileMenuPanelV283>button small{color:#728994;font:700 11px var(--font-ui);letter-spacing:.8px}
 #mobileMenuPanelV283>button:active{border-color:#e2ac43;background:#2c210d;color:#ffe39a}

 /* All dismiss and primary controls remain comfortably tappable. */
 .portalClose,.marketCloseV210,.marketDetailCloseV210,.alch-close-v160,
 .guildWindowV274 header button,.guildQuestWindowV274 header button,.dominationWindowV281>header button,
 .charSheetClose,.secretSkillsClose,.close{min-width:44px!important;min-height:44px!important;touch-action:manipulation}
 #portalOverlay,.dominationOverlayV281,#alchemistMergeOverlayV160,.guildOverlayV274,.guildQuestOverlayV274,
 #marketplaceOverlayV210,#trainerOverlayV150,#characterSheetOverlay{overscroll-behavior:contain}

 /* Portal: preserve the map + information comparison in landscape. */
 #portalOverlay{padding:4px!important}
 #portalOverlay .portalWindow{width:calc(100vw - 8px)!important;max-height:calc(100dvh - 8px)!important;padding:6px!important;overflow:auto}
 #portalOverlay .portalHeader{height:34px;margin-bottom:4px;font-size:18px}
 #portalOverlay .portalSubbar{min-height:25px;margin-bottom:4px;padding:4px 8px;font-size:11px}
 #portalOverlay .portalClose{right:9px;top:8px;width:44px;height:44px;z-index:5}
 #portalOverlay .portalContentGridV229{grid-template-columns:minmax(260px,.9fr) minmax(300px,1.1fr);gap:6px}
 #portalOverlay .portalMapWrap{height:272px;aspect-ratio:auto}
 #portalOverlay .portalInfoColumnV229{height:272px;padding:6px;overflow:auto}
 #portalOverlay .portalInfoColumnV229 .portalDifficultyTitle{margin-bottom:5px;padding-bottom:5px;font-size:11px}
 #portalOverlay .portalDifficulty{gap:4px}#portalOverlay .portalDifficulty button{min-height:35px;font-size:11px}
 #portalOverlay .portalInfoColumnV229 .portalInfo,#portalOverlay .portalStageLegendV229,#portalOverlay .portalHardUnlockV229{min-height:0;margin-top:6px;padding:7px;font-size:11px}
 #portalOverlay .portalDominationEntryV281{margin-top:6px;padding:7px}

 /* Domination: both map and Top 3 stay visible side by side. */
 .dominationOverlayV281{padding:4px}.dominationWindowV281{width:calc(100vw - 8px);max-height:calc(100dvh - 8px)}
 .dominationWindowV281>header{min-height:40px;margin:5px}.dominationWindowV281 h2{font-size:18px}.dominationWindowV281>header button{right:4px}
 .dominationSubV281{margin:0 5px 5px;padding:5px 8px}.dominationGridV281{grid-template-columns:minmax(300px,1fr) minmax(280px,.9fr);gap:6px;padding:0 5px 5px}
 .dominationMapV281,.dominationMapV281>.portalMapArt{min-height:276px!important;height:276px}.dominationPanelV281{height:276px;padding:8px;overflow:auto}.dominationPanelV281 h3{font-size:15px}.dominationResetV281{margin-bottom:7px}.dominationTopV281{gap:4px}.dominationTopV281 article{padding:5px;grid-template-columns:27px 28px 1fr auto}.dominationRulesV281{margin-top:7px;padding:7px}.dominationWindowV281>footer{display:none}

 /* Cube: keep synthesis and bag together instead of creating a very tall page. */
 #alchemistMergeOverlayV160{padding:4px}.alch-window-v160{width:calc(100vw - 8px);height:calc(100dvh - 8px)}
 .alch-head-v160{padding:5px 8px}.alch-title-v160{font-size:13px}.alch-sub-v160{font-size:11px}.alch-footer-v160{display:none}
 .alch-main-v160{grid-template-columns:minmax(315px,.82fr) minmax(360px,1.18fr);min-height:0}.alch-cube-v160{padding:7px;border-right:2px solid #3c3026;border-bottom:0}.alch-bag-v160{padding:7px}.alch-section-title-v160{margin-bottom:5px;font-size:11px}.alch-cube-head-v163,.alch-recipe-v160{padding:5px;margin-bottom:5px}.alch-tabs-v160{gap:3px;margin-bottom:5px}.alch-tab-v160{padding:5px 2px;font-size:11px}.alch-slots-v160{grid-template-columns:repeat(3,42px);grid-template-rows:repeat(3,42px);gap:4px;margin:6px auto}.alch-tbh-info-v163{margin:4px 0}.alch-tbh-info-v163 div{padding:4px;font-size:11px}.alch-operation-help-v163,.alch-result-preview-v163,.alch-hint-v160,.alch-result-v160{margin:4px 0;padding:4px;font-size:11px;min-height:0}.alch-actions-v160{gap:4px}.alch-btn-v160{min-height:38px;padding:5px}.alch-bag-header-v160{margin-bottom:5px;padding:4px 6px;font-size:11px}.alch-bag-tabs-v160{height:42px;padding-top:4px}.alch-bag-tab-v160{height:37px;font-size:11px}.alch-bag-panel-v160{min-height:0;padding:6px}.alch-bag-grid-v160{grid-template-columns:repeat(6,minmax(38px,48px));grid-auto-rows:48px;gap:4px}

 /* Market and detail cards favor browsing without oversized artwork. */
 #marketplaceOverlayV210{overflow:auto}.marketShellV210{width:calc(100% - 8px);min-height:0;margin:4px auto 10px;padding:10px}.marketHeadV210{margin-bottom:7px}.marketTitleV210{font-size:19px}.marketTitleV210 span{width:34px;height:34px}.marketSubV210{margin-top:3px;font-size:11px}.marketToolbarV210{flex-wrap:nowrap;margin-bottom:7px}.marketModeBtnV211,.marketFilterToggleV210,.marketTabV210{min-height:40px}.marketSearchV210 input{height:42px}.marketTabsV210{margin-bottom:7px;overflow-x:auto}.marketGridV210{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.marketArtV210{height:92px}.marketCardBodyV210{padding:6px 7px}.marketNameV210{margin:3px 0 5px;font-size:11px}.marketPagerBarV210{margin-top:8px}.marketDetailV210{padding:4px}.marketDetailCardV210{grid-template-columns:180px minmax(260px,1fr);max-height:calc(100dvh - 8px);padding:10px;gap:12px;overflow:auto}.marketDetailArtV210{min-height:180px}.marketDetailArtV210 img{height:165px}.marketDetailInfoV210 h3{margin:10px 0 3px;font-size:18px}.marketDetailStatsV210{margin:8px 0}

 /* Large local panels fit the usable viewport and scroll internally. */
 #trainerOverlayV150{padding:4px!important}#trainerOverlayV150 .trainer-window{width:calc(100vw - 8px)!important;max-height:calc(100dvh - 8px)!important;overflow:auto}
 #characterSheetOverlay{padding:4px!important;align-items:center}.charSheet,#characterSheetOverlay .charSheet{width:calc(100vw - 8px)!important;max-height:calc(100dvh - 8px)!important}
 #talentModal .modal,#lootModal .modal,.gameModalCard{max-width:calc(100vw - 8px)!important;max-height:calc(100dvh - 8px)!important;overflow:auto}
}

@media (pointer:coarse) and (orientation:landscape) and (max-height:390px){
 #mobileMenuToggleV283{height:33px}
 #portalOverlay .portalMapWrap,#portalOverlay .portalInfoColumnV229{height:244px}
 .dominationMapV281,.dominationMapV281>.portalMapArt,.dominationPanelV281{min-height:240px!important;height:240px}
 .marketGridV210{grid-template-columns:repeat(5,minmax(0,1fr))}.marketArtV210{height:76px}.marketCardBodyV210{padding:4px 6px}.marketSellerV210,.marketStatsV210{display:none}
}
