.combat-scroll{display:contents}
.language-control{display:flex;justify-content:flex-end;gap:8px;align-items:center;margin:0 0 8px;font-size:12px}.language-control select{max-width:180px;min-height:34px;background:#fffbea;color:#315b42;border:1px solid #a5ba8a;border-radius:8px}header>div,aside,.shop button{min-width:0}h1{overflow-wrap:anywhere}.content-nav{flex-wrap:wrap}.content-nav button{white-space:normal!important}button{overflow-wrap:anywhere}.shop span{line-height:1.35}.stats>span{min-width:0}.stats{flex-wrap:wrap}.actions{flex-wrap:wrap}.actions button{white-space:normal}.caption{flex-wrap:wrap;gap:4px}dialog p{white-space:pre-line}html:not([lang="zh-CN"]) h1{font-size:clamp(18px,3vw,30px)}@media(max-width:700px) and (orientation:portrait){header{align-items:flex-start}.content-nav{max-width:48%}.shop strong{font-size:11px}.shop button>span{font-size:9px}.manage button{font-size:11px}.actions button{font-size:11px}.stats{font-size:10px}}@media(orientation:landscape) and (max-height:550px){.language-control{margin-bottom:4px;font-size:10px}.language-control select{min-height:26px}.board{height:calc(100dvh - 142px)}.shop strong{font-size:11px}}

h1>[data-i18n],h2>[data-i18n],strong>[data-i18n]{font:inherit!important;color:inherit!important;letter-spacing:inherit!important}

/* Compact landscape: battle and primary actions remain inside the viewport. */
@media(orientation:landscape) and (max-height:500px){
body{height:100dvh;min-height:0;overflow:hidden;padding:6px 12px}
header{height:36px;margin:0 112px 6px 0;max-width:none;gap:6px;overflow:hidden}header h1,html:not([lang="zh-CN"]) header h1{font-size:15px;line-height:1.1;letter-spacing:0;margin:0}header .brand>svg{display:none}header .brand{gap:0}header nav,.content-nav{gap:3px;flex-wrap:nowrap;flex-shrink:0}header nav button,.content-nav button{font-size:10px;min-height:34px;padding:3px 6px;max-width:85px}header>div:first-child{min-width:0}
.language-control{position:absolute;top:6px;right:12px;margin:0;width:104px;height:36px}.language-control>span{display:none}.language-control select{width:104px;max-width:104px;height:34px;font-size:11px;min-height:34px}
main{height:calc(100dvh - 54px);max-height:calc(100dvh - 54px);grid-template-columns:minmax(0,1fr) minmax(210px,42%);gap:10px;margin:0}
.field,.battle{display:flex;flex-direction:column;min-height:0;min-width:0}.stats,.hud{flex:none;margin-bottom:5px;min-height:32px}.board,.water{flex:1;height:auto!important;min-height:0!important;max-height:none;margin:0;box-shadow:none}.caption,.underwater{display:none}
aside{height:100%;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:5px;padding:0;overflow:hidden}.combat-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:1px 3px 4px 1px;scrollbar-width:thin}.actions,.controls{flex-wrap:nowrap;gap:4px;margin:0;padding-bottom:2px}.actions button,.controls button{min-height:44px;font-size:11px;padding:4px;min-width:40px}.actions .primary,.controls .primary{min-width:0;flex:1}.shop strong,.card strong{font-size:11px}.manage,.unit-tools{margin:5px 0}.surge{margin-bottom:4px}footer{gap:3px}#tip{max-height:44px;overflow:auto}.intro,.deck-title,.save-note{display:none}
}

@media(orientation:landscape) and (max-height:500px){.combat-scroll{display:block}}
