body.modal-open { overflow:hidden; }
/* Armies are the visual focus; controls share the game's existing modal shell. */
.pack-store { width:min(1040px,96vw); }
.pack-store-layout { display:grid;grid-template-columns:minmax(180px,1fr) minmax(0,3fr);gap:28px; }
.pack-list { display:flex;flex-direction:column;gap:6px; }
.pack-choice { text-align:left;display:flex;flex-direction:column;gap:8px;padding:16px;min-height:76px;background:transparent;border:0;border-left:3px solid transparent; }
.pack-choice[aria-pressed=true] { border-left-color:#d5b66b;background:#252a31; }
.pack-choice span,.pack-facts { color:#bec4ce;font-size:.9rem; }
.pack-detail h3 { font-family:Georgia,serif;font-size:clamp(1.7rem,4vw,2.5rem);margin:4px 0 12px;color:#eadbbb; }
.pack-detail p { line-height:1.55;max-width:58ch; }
.pack-roster { padding:16px 0;border-block:1px solid #4b4840;margin:20px 0;background:#111920; }
.pack-army { display:grid;grid-template-columns:repeat(6,minmax(0,1fr)); }
.pack-character { position:relative;aspect-ratio:1;min-width:0; }
.pack-character .piece { position:absolute;inset:0;width:100%;height:100%;transform:none!important; }
.pack-actions { display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 12px; }
.pack-actions button { min-height:44px; }
.account-form { display:grid;gap:15px; }
.account-form label { display:grid;gap:7px; }
.account-form input,.account-form select { width:100%;min-height:44px; }
.account-form [hidden],.pack-detail [hidden],#accountOverlay [hidden] { display:none!important; }
.pack-policy { border-top:1px solid #4b4840;padding-top:16px; }
@media(max-width:650px){.pack-store-layout{grid-template-columns:1fr;gap:20px}.pack-list{flex-direction:row}.pack-choice{flex:1;padding:12px;font-size:.9rem}.pack-roster{margin:14px 0}.pack-actions button{flex:1 1 45%}.pack-store{width:96vw}.pack-detail h3{font-size:1.7rem}}
@media(prefers-reduced-motion:no-preference){.pack-choice{transition:background-color .15s ease,border-color .15s ease}.pack-choice:hover{background:#2b3036}}
