/* Battle uses the whole play surface; the field notebook returns on exit. */
body.in-adventure-battle #fieldDeck,#fieldDeck[hidden]{display:none!important}
body.in-adventure-battle #gameWrap{border-radius:16px}
/* Conceal the battle-to-world width change; the map is repainted at full opacity. */
#battleReturn{position:fixed;inset:0;z-index:69;background:#10263e;opacity:0;transition:opacity .16s linear;pointer-events:auto}
#battleReturn.hidden{display:none}
#battleReturn.in,#battleReturn.covered{opacity:1}
#battleReturn.covered{transition:none}
@media(prefers-reduced-motion:reduce){#battleReturn{transition:none}}
#bWxCv,#bfx{width:100%;height:100%}
/* Keep the arena visible while every battle control remains reachable. */
#layout{min-height:0}
#battle{--arena-min:clamp(260px,55vh,420px)}
#bField{min-height:var(--arena-min)}
#bUI{min-height:0;min-width:0;max-height:calc(100% - var(--arena-min));overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;justify-content:flex-start;scrollbar-color:#678da8 #c9e5f8}
#bUI>*{flex-shrink:0}
#bText.can-advance{cursor:pointer}
#bContinue{align-self:flex-end;min-height:40px;padding:9px 18px;background:#2e7195;color:#fffcec;border:2px solid #1d536f;border-radius:6px;box-shadow:0 3px 0 #9fbecb;font:700 14px/1.4 'Courier New',monospace;touch-action:none;user-select:none}
#bContinue.hidden{display:none}
#bContinue:focus-visible{outline:3px solid #c98b1c;outline-offset:3px}
#bHint,#advTactics{width:min(100%,920px)}
#bMoves .move-detail{white-space:normal}
#bConditions{display:flex;flex-wrap:wrap;gap:5px;width:min(100%,920px)}
#bConditions.hidden{display:none}
.battle-condition{padding:4px 7px;border:1px solid #54817e;border-radius:4px;background:#ddf4e9;color:#28534e;font:700 12px/1.35 'Courier New',monospace}
.battle-condition.power{background:#fff1c0;color:#80501b;border-color:#c39c42}
.battle-condition.focus{background:#d8f5ff;color:#225976;border-color:#5898b3}
.battle-condition.evade{background:#ece4ff;color:#654887;border-color:#9b80bf}
.battle-condition.charge{background:#ffe3cc;color:#854625;border-color:#bd8155}
#bMoves .move-power{grid-column:1/-1;grid-row:4;color:#24495d;font:700 12px/1.4 'Courier New',monospace}
#bMoves .move-power[data-matchup="strong"],#bMoves .move-power[data-matchup="heal"]{color:#28613d}
#bMoves .move-power[data-matchup="resisted"]{color:#845723}
#bMoves .move-power[data-matchup="immune"]{color:#99454a}
#bMenu button.battle-item,#bMoves button.battle-item{display:flex;align-items:center;justify-content:center;gap:8px}
#bMenu .crystal-item-art{width:30px;height:30px;flex-basis:30px;font-size:24px}
#bMoves .battle-item-name{font-size:14px;line-height:1.5;text-align:left}
#bMoves .battle-item{min-height:82px}
.battle-record{font:700 10px/1.4 'Courier New',monospace;color:#4e7363;white-space:normal;overflow-wrap:anywhere;margin:3px 0 5px;max-width:220px}.battle-record.rare{color:#856014}

/* DS-inspired battle framing: quiet arena, slim ground ovals, bold command panel. */
body.in-adventure-battle #layout{max-width:1440px}
#battle{--spr:clamp(88px,24vmin,300px);--platW:clamp(132px,31vmin,390px);--platH:calc(var(--platW)*.16);--bugTop:clamp(40px,9vmin,116px);--meBot:clamp(12px,3vmin,40px);background:#344657}
#bField{background:#92b877}
#bField .plat{border-width:2px;background:radial-gradient(ellipse at center,#9ace67 0 66%,#80b951 68% 100%);border-color:#547b40;box-shadow:none}
#bUI{background:repeating-linear-gradient(0deg,#35495c 0 3px,#394e62 3px 6px);border-top:5px solid #253440;padding:12px 16px;gap:9px;min-height:198px;scrollbar-color:#9bb2bd #35495c}
#bText{color:#253b45;background:#f9faee;border:3px solid #192e40;border-radius:8px 2px 8px 2px;box-shadow:inset 0 0 0 3px #bac9c9,0 2px 0 #172936;padding:12px 18px;font-weight:700;line-height:1.5;min-height:64px}
#bMenu button,#bMoves button,#bParty button{border:3px solid #273b4e;border-radius:8px 3px 8px 3px;box-shadow:inset 0 2px 0 #ffffffb0,inset 0 -3px 0 #12283c24,0 2px 0 #152735;background:#ebf1ec;color:#22394a;font-weight:700}
#bMenu button[data-m="0"]{background:#df5a55;color:#fffdf1;border-color:#783638}
#bMenu button[data-m="4"]{background:#82b951;color:#183e28;border-color:#375d34}
#bMenu button[data-m="3"]{background:#edbd52;color:#4c3e21;border-color:#7c642e}
#bMenu button[data-m="2"]{background:#77b9d5;color:#193d58;border-color:#375e78}
#bMenu button[data-m="1"]{background:#d3dce4;color:#2e4258;border-color:#62778d}
#bMenu button.sel,#bMoves button.sel,#bParty button.sel{outline:3px solid #fff0a4;outline-offset:-5px;border-color:#f5d671;box-shadow:inset 0 0 0 2px #31465a,0 2px 0 #152735}
#bMoves button.sel,#bParty button.sel{background:#ffe7a0;color:#2c3f48}
#bParty .party-types,#bParty .party-matchup{display:block;font:700 12px/1.5 'Courier New',monospace;white-space:normal;overflow-wrap:anywhere}
#bParty .party-types{color:#405b6d;margin-top:3px}
#bParty .party-matchup{color:#345364;margin-top:3px}
#bParty .party-matchup[data-matchup="strong"]{color:#246140}
#bParty .party-matchup[data-matchup="resisted"]{color:#775022}
#bParty .party-matchup[data-matchup="immune"]{color:#943e42}
#bParty .mhn{color:#405b6d}
#bParty button.off{opacity:1;background:#b8c5cb;color:#475e6a;box-shadow:none}
#bParty button.off .out{color:#4a4e3d}
/* Back needs its own color pair: the legacy dark background outranks generic menu styles. */
#bMoves button.back,#bParty button.back{background:#304f68;color:#fffdf1;border-color:#20394f}
#bMoves button.back:hover,#bParty button.back:hover{background:#3c607d;color:#fffdf1}
#bMoves button.back.sel,#bParty button.back.sel,#bMoves button.back:focus-visible,#bParty button.back:focus-visible{background:#ffe7a0;color:#263e50;border-color:#f5d671;outline:3px solid #fff0a4;outline-offset:-5px}
#bContinue{background:#eff4e9;color:#284358;border:2px solid #182e43;box-shadow:0 2px 0 #12293b}
#bHint,#advTactics{color:#e3ecde}#advTactics .good{color:#b8f2a1}#advTactics .bad{color:#ffd3b2}
.hpbox{z-index:5;background:#f6f8e9;color:#263e42;border:3px solid var(--arenaTrim,#465b56);border-radius:10px 2px 10px 2px;box-shadow:inset 0 -4px 0 #ccd7c7,0 3px 0 #283a4566;padding:10px 13px;max-width:34%}
#bugHpBox{top:6%;left:4%}#meHpBox{right:4%;bottom:8%}
.hpbox .barlab{border-width:1px;border-radius:2px}.hpbox .hpbar{border:2px solid #3d514c;border-radius:2px;background:#29363a}.hpbox .hpbar i{background:#54b960}
.hpbox .ballrow{margin-top:4px}.battle-record{color:#506852;margin:2px 0 4px}
#bWx{border:2px solid #748b9c;background:#243e53;color:#ebf2e9;box-shadow:0 2px 0 #152d4080}

/* A short landscape display uses the two screens side by side. */
@media(max-height:580px) and (min-width:640px){
  #layout{padding:0}
  #fieldDeck{display:none}
  #gameWrap{border:0;border-radius:0}
  #battle{flex-direction:row;--spr:clamp(82px,24vmin,145px);--platW:clamp(112px,32vmin,185px);--bugTop:clamp(35px,10vmin,52px);--meBot:clamp(24px,7vmin,38px)}
  #bField{flex:1;min-width:0;min-height:0}
  #bUI{flex:0 0 clamp(285px,42%,390px);width:42%;height:100%;max-height:100%;min-height:0;border-top:0;border-left:5px solid #265f89;padding:10px;gap:8px}
  #bText{font-size:14px;line-height:1.45;padding:9px 11px;min-height:58px}
  #bMenu,#bMoves,#bParty{gap:7px;width:100%}
  #bMenu button,#bMoves button,#bParty button{font-size:13px;padding:8px;min-height:42px}
  #bMoves button[data-type]{min-height:82px;padding:8px;gap:3px 5px}
  #bMoves .move-name{font-size:14px}
  #bMoves .move-type,#bMoves .move-code,#bMoves .move-detail{font-size:11px}
  #bHint,#advTactics{font-size:12px;line-height:1.45}
  #bugHpBox{top:8px;left:8px}
  #meHpBox{right:8px;bottom:8px}
  .hpbox{min-width:120px;max-width:175px;padding:5px 7px}
  .hpbox b,.hpbox .lv,.hpbox .hpnum{font-size:12px}
  .hpbox .ballrow{gap:4px;margin-top:4px;min-height:12px}
  .hpbox .ballrow i{width:11px;height:11px}
}

@media(max-width:639px) and (max-height:620px){
  #bField{min-height:190px}
  #bUI{max-height:calc(100% - 190px);padding:8px;gap:7px}
  #battle{--spr:clamp(78px,23vmin,110px);--platW:clamp(110px,31vmin,148px);--bugTop:28px;--meBot:18px}
  #bText{font-size:14px;line-height:1.45;min-height:58px;padding:9px 11px}
  #bugHpBox{top:8px;left:8px}
  #meHpBox{right:8px;bottom:8px}
  .hpbox{min-width:120px;max-width:170px;padding:5px 7px}
  .hpbox b,.hpbox .lv,.hpbox .hpnum{font-size:12px}
  .hpbox .ballrow{gap:4px;margin-top:4px;min-height:11px}
  .hpbox .ballrow i{width:10px;height:10px}
}

@media(max-width:899px){body.in-adventure-battle #gameWrap{border-radius:0}}
