/* Preserve the world's viewport and the HUD's existing coordinate contract. */
@media (orientation:landscape) and (max-height:600px) {
  html,body,#app {overflow:hidden!important;overscroll-behavior:none!important}
  #main-menu .hero-card {box-sizing:border-box!important;width:min(720px,calc(100vw - 32px))!important;max-height:none!important;overflow:visible!important;padding:12px 20px!important;margin:0!important}
  #main-menu #game-title {margin:4px 0!important;line-height:1!important}
  #main-menu #game-title span {font-size:24px!important}
  #main-menu #game-title strong {font-size:34px!important}
  #main-menu .tagline {font-size:12px!important;margin:8px 0!important}
  #main-menu .primary-btn,#main-menu .secondary-btn {min-height:40px!important;padding:8px 12px!important;font-size:13px!important}
  #main-menu .renewal-menu-row {margin-top:8px!important;gap:8px!important}
  #main-menu .control-row {margin:8px 0!important;padding-top:8px!important;font-size:11px!important}
  #main-menu .menu-mixer19 {margin-top:6px!important}
  #main-menu .menu-mixer19[open] {position:static!important;transform:none!important;width:100%!important;max-width:none!important;box-sizing:border-box!important;padding:0!important;background:none!important;border:0!important}
  #main-menu .audio-mixer19.compact19 {display:grid!important;grid-template-columns:1fr 1fr auto;gap:12px!important;align-items:center!important;padding:6px 8px!important;margin:4px 0 0!important}
  #main-menu .compact19 .mix-row19 {margin:0!important;min-width:0!important}
  #main-menu .audio-test110 {min-height:36px!important;padding:6px 10px!important;font-size:11px!important}
  #main-menu .audio-test-status110 {grid-column:1/-1!important}
  #pause-menu .pause-card,.adventure-choice17__card,.ending-copy {max-height:none!important;overflow:visible!important;padding:12px 18px!important}
  #pause-menu .pause-card h2 {font-size:22px!important;margin:8px 0!important}
  .story-scene {padding:8px 12px!important}
  html.touch-input .story-card {max-height:none!important;width:min(740px,calc(100vw - 24px))!important;overflow:visible!important}
  html.touch-input .story-card p {overflow:visible!important;font-size:13px!important;line-height:1.35!important}
  .story-card__foot {flex-direction:row!important;align-items:center!important}
  #panel-layer {padding:6px!important}
  #game-panel.game-panel {height:calc(100dvh - 12px)!important;max-height:calc(100dvh - 12px)!important}
  #game-panel .game-panel__inner {padding:8px 12px!important}
  #game-panel .panel-nav17 {margin-bottom:4px!important;gap:6px!important}
  #game-panel #panel-tabs {gap:4px!important;overflow:visible!important;white-space:normal!important}
  #game-panel #panel-tabs button {flex:1 1 0!important;min-width:0!important;min-height:38px!important;padding:4px 6px!important;font-size:11px!important}
  #game-panel #panel-tabs .tab-icon {width:22px!important;height:22px!important;flex-basis:22px!important}
  #game-panel #panel-close {width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;flex-basis:40px!important}
  #panel-content {overflow:hidden!important;padding:4px 0!important;scrollbar-gutter:auto!important}
  #panel-content .shop-grid,#panel-content .zone-route {grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
  #panel-content .shop-card,#panel-content .zone-card {padding:8px!important;gap:6px!important}
  #panel-content .island-card-art14 {height:100px!important}
  .renewal-overlay,.harbor-modal14 {padding:6px!important}
  .renewal-dialog,.harbor-modal-card14 {max-height:calc(100dvh - 12px)!important;width:min(880px,100%)!important}
  .renewal-header,.harbor-modal-card14>header {padding:8px 12px!important}
  .renewal-header h2,.harbor-modal-card14 h2 {font-size:20px!important}
  .renewal-body,.harbor-modal-content14 {min-height:0!important;overflow:hidden!important;padding:8px 12px!important}
  .renewal-body p,.harbor-modal-content14 p {font-size:13px!important;margin:6px 0!important}
  .renewal-ranking th,.renewal-ranking td {padding:5px 8px!important}
  .catch-showcase__card {max-height:none!important;overflow:visible!important;padding:10px!important;width:min(900px,calc(100vw - 24px))!important}
  .catch-showcase__header {padding:4px!important}
  .catch-showcase__card h2 {font-size:20px!important}
  .catch-showcase__body {grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)!important;gap:12px!important;padding:8px!important}
  .catch-showcase__stage {min-height:0!important;height:160px!important}
  .catch-showcase__details {padding:8px!important}
  .catch-showcase__stats {grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:4px!important}
  .catch-showcase__card footer {display:flex!important;flex-wrap:nowrap!important;gap:8px!important;padding:4px!important}
  .catch-showcase__card footer button {flex:1!important;min-height:40px!important;font-size:12px!important;padding:8px!important}
  html:root #app #hud .field-guide {top:100px!important;max-height:none!important;overflow:visible!important;width:300px!important;padding:7px 9px!important}
  html:root #app #hud .field-guide .guide-copy>p {font-size:11px!important;margin:4px 0!important}
  .landscape-fit-content {display:flow-root;width:100%;transform-origin:top left}
}