#formation-menu{width:min(680px,calc(100vw - 16px));max-width:none;max-height:calc(100dvh - 12px);padding:8px;margin:auto;overflow:hidden;color:#fff0c4;background:var(--hero-blue),#19342e;border:2px ridge #d2af66;box-sizing:border-box}
#formation-menu[open]{display:flex;flex-direction:column;gap:6px}
#formation-menu .panel-top{min-height:44px;margin:0;gap:8px}
#formation-menu h2{font:20px/22px Georgia,serif;margin:0;display:flex;align-items:baseline;gap:12px}
#formation-menu h2 small{font:11px/14px sans-serif;color:#e2d0a9}
#formation-menu .panel-top button{width:44px;height:44px;padding:8px;flex:none}
.formation-layout{display:grid;grid-template-columns:minmax(150px,1fr) 236px;gap:12px;min-height:140px;flex:none}
.formation-party{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:44px;gap:4px;align-content:start}
#formation-menu .formation-party button,#formation-menu .formation-deck button{height:44px;min-width:44px;padding:2px;display:flex;align-items:center;justify-content:center;gap:3px;overflow:hidden;box-sizing:border-box}
.formation-party img{width:27px;height:31px;object-fit:contain}.formation-party span{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.formation-deck{display:grid;grid-template-columns:repeat(5,44px);grid-template-rows:repeat(3,44px);gap:4px;background:var(--hero-wood) center/240px;border-radius:5px}
#formation-menu .formation-deck button{flex-direction:column;gap:0;background:#6d4c2a9c;border:1px solid #bc9759}
.formation-deck img{width:25px;height:26px;object-fit:contain}.formation-deck span{font-size:9px;line-height:11px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#formation-menu .formation-tower{background:#526568!important}.formation-empty{font-size:22px!important;line-height:28px!important;color:#ffdd9a}
#formation-menu [aria-pressed=true]{outline:2px solid #ffe8a4;outline-offset:-3px;background-color:#8b7039}
#formation-menu footer{display:flex;gap:6px;align-items:center;min-height:44px}
#formation-menu footer select{min-height:44px;min-width:100px;margin-right:auto;max-width:42%;background:#233d35;color:#ffe7ad;font-size:12px;border:1px solid #b3975d}
#formation-menu footer button{min-height:44px;padding:5px 10px;gap:4px;font-size:12px}
#formation-menu .icon{width:22px;height:22px}
.formation-launch{min-height:44px!important;width:auto!important;gap:4px;padding:4px 8px!important;font-size:11px}
@media(max-height:300px){#formation-menu{gap:3px;padding:5px}#formation-menu h2{font-size:17px}.formation-layout{gap:8px}#formation-menu h2 small{font-size:10px}}
