/* Squad workbench: fixed formation, dense reserve, a separate read-only inspector. */
#game-dialog.squad-picker-dialog {
  --squad-ink:#183b30;--squad-muted:#60563e;--squad-line:#b29965;--squad-paper:#f6e7c7;
  position:fixed;inset:auto;left:calc(var(--visible-left,0px) + var(--visible-width,100vw)/2);
  top:calc(var(--visible-top,0px) + var(--visible-height,100dvh)/2);translate:-50% -50%;transform:none;margin:0;
  box-sizing:border-box;width:min(1600px,calc(var(--visible-width,100vw) - 24px));
  height:calc(var(--visible-height,100dvh) - 24px);max-width:none;max-height:none;
  padding:16px 20px;overflow:auto;color:var(--squad-ink);font:400 18px/1.35 system-ui,sans-serif;
  scrollbar-color:#92703c var(--squad-paper);scrollbar-width:thin;
}
#game-dialog.squad-picker-dialog[open] {display:flex;flex-direction:column;gap:10px}
#game-dialog.squad-picker-dialog>.dialog-header {position:static;flex:none;min-height:44px;margin:0;padding:0 0 8px;border-color:var(--squad-line)}
#game-dialog.squad-picker-dialog>.dialog-header h2 {margin:0;font:700 36px/1.1 AtlasLoot,Georgia,serif;text-transform:none;color:var(--squad-ink)}
#game-dialog.squad-picker-dialog :is(.button,button,select) {font:600 18px/1.2 system-ui,sans-serif;min-height:44px;color:var(--squad-ink);border-image:none;box-shadow:none;white-space:normal}
#game-dialog.squad-picker-dialog .button {background:#f0dfb9;border:1px solid var(--squad-line);border-radius:7px;padding:8px 14px;width:auto;flex:none}
#game-dialog.squad-picker-dialog .button:hover:not(:disabled) {background:#efddb7;filter:none}
#game-dialog.squad-picker-dialog :is(button,select,summary,[tabindex]):focus-visible {outline:3px solid #21634d;outline-offset:2px}
#game-dialog.squad-picker-dialog button:disabled {opacity:1;color:#6f644e;cursor:default}
#game-dialog.squad-picker-dialog ::selection {background:#234b3a;color:#fff2d2}
#game-dialog.squad-picker-dialog .selected-formation {flex:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0}
#game-dialog.squad-picker-dialog .formation-cell {display:flex;flex-direction:column;position:relative;min-width:0;border:1px solid var(--squad-line);border-radius:10px;background:#f0dfb9;overflow:hidden}
#game-dialog.squad-picker-dialog .formation-cell.is-editing {border-color:#21634d;box-shadow:inset 0 0 0 2px #21634d;background:#dbe4bc}
#game-dialog.squad-picker-dialog .formation-seat {
  display:grid;grid-template-columns:72px minmax(0,1fr);grid-template-rows:auto auto auto;
  width:100%;min-width:0;flex:1;padding:10px 12px;gap:3px 12px;align-items:center;
  border:0;border-radius:0;background:transparent;text-align:left;position:relative;cursor:pointer;
}
#game-dialog.squad-picker-dialog .formation-seat[draggable=true] {cursor:grab}
#game-dialog.squad-picker-dialog .formation-seat.is-dragging {opacity:.5;cursor:grabbing}
#game-dialog.squad-picker-dialog .formation-seat.is-drag-over {background:#e7d1a0;outline:2px dashed #21634d;outline-offset:-5px}
#game-dialog.squad-picker-dialog .formation-seat-label {grid-column:1/-1;padding-right:0;font-size:18px;font-weight:700}
#game-dialog.squad-picker-dialog .formation-seat-digit {display:none}
#game-dialog.squad-picker-dialog .squad-thumb {position:relative;display:block;overflow:hidden;border-radius:7px;background:#e7d1a0}
#game-dialog.squad-picker-dialog .squad-thumb img {display:block;width:100%;height:100%;object-fit:cover;object-position:center top;border-radius:0;pointer-events:none}
#game-dialog.squad-picker-dialog .squad-thumb.is-whole-card img {height:auto;min-height:100%;max-height:none}
#game-dialog.squad-picker-dialog .formation-seat :is(.squad-thumb,.formation-empty) {grid-column:1;grid-row:2/4;width:72px;height:72px}
#game-dialog.squad-picker-dialog .formation-empty {display:grid;place-items:center;border:1px dashed var(--squad-line);border-radius:7px}
#game-dialog.squad-picker-dialog .formation-empty .icon {width:28px;height:28px}
#game-dialog.squad-picker-dialog .formation-role {grid-column:2;grid-row:2;font-size:20px;line-height:1.15;font-weight:700;overflow-wrap:anywhere}
#game-dialog.squad-picker-dialog .formation-health {grid-column:2;grid-row:3;font-size:18px;line-height:1.2;font-variant-numeric:tabular-nums}
#game-dialog.squad-picker-dialog .squad-library-heading {flex:none;display:flex;align-items:center;justify-content:flex-end;gap:12px}
#game-dialog.squad-picker-dialog select {min-width:0;max-width:260px;padding:8px 30px 8px 12px;background:#fff4d9;border:1px solid #92703c;border-radius:7px;caret-color:var(--squad-ink)}
#game-dialog.squad-picker-dialog :is(.squad-picker-library,.squad-picker-detail) {flex:1;min-height:290px;overflow:auto;overscroll-behavior:contain;touch-action:pan-y;scrollbar-gutter:stable;scrollbar-width:thin;padding:4px}
#game-dialog.squad-picker-dialog .squad-picker-library[data-collection-size=small] {flex:1 0 auto;min-height:0;overflow:visible}
#game-dialog.squad-picker-dialog .squad-card-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:20px 16px;align-items:stretch}
#game-dialog.squad-picker-dialog .squad-card {position:relative;min-width:0;display:flex;flex-direction:column;padding:0;margin:0;background:transparent;border:0}
#game-dialog.squad-picker-dialog .squad-card-pick {position:relative;flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;width:100%;min-width:0;padding:6px;border:2px solid transparent;border-radius:10px;background:transparent;text-align:center;cursor:pointer;transition:background-color 160ms ease-out,border-color 160ms ease-out}
#game-dialog.squad-picker-dialog .squad-card-pick:hover:not(:disabled) {background:#efddb7;border-color:#92703c}
#game-dialog.squad-picker-dialog .squad-card-pick:active:not(:disabled) {background:#e7d1a0}
#game-dialog.squad-picker-dialog .squad-card.is-selected .squad-card-pick {background:#dbe4bc;border-color:#21634d}
#game-dialog.squad-picker-dialog .squad-card-pick .squad-thumb {width:100%;height:132px;box-shadow:inset 0 0 0 1px var(--fighter-rarity)}
#game-dialog.squad-picker-dialog .squad-card-role {font-size:20px;line-height:1.15;font-weight:700;overflow-wrap:anywhere}
#game-dialog.squad-picker-dialog .squad-card-status {position:absolute;top:12px;left:12px;max-width:calc(100% - 24px);padding:3px 6px;border-radius:4px;background:#234b3a;color:#fff2d2;font-size:14px;line-height:1.2;font-weight:600}
#game-dialog.squad-picker-dialog .squad-card-hp {font-size:18px;line-height:1.2;font-variant-numeric:tabular-nums}
#game-dialog.squad-picker-dialog .squad-card-clan {display:flex;align-items:center;justify-content:center;gap:4px;font-size:16px;font-weight:400;color:var(--squad-muted)}
#game-dialog.squad-picker-dialog .squad-card-clan .icon {width:18px;height:18px;color:var(--fighter-clan)}
#game-dialog.squad-picker-dialog .squad-card.is-unavailable .squad-thumb {filter:grayscale(.85)}
#game-dialog.squad-picker-dialog .squad-card.is-unavailable .squad-card-status {background:#793a29;color:#fff2d2}
#game-dialog.squad-picker-dialog .squad-picker-empty {min-height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:16px;box-sizing:border-box}
#game-dialog.squad-picker-dialog .squad-picker-empty h3 {font:700 28px/1.15 AtlasLoot,Georgia,serif;margin:0 0 8px}
#game-dialog.squad-picker-dialog .squad-picker-empty p {font-size:18px;line-height:1.35;max-width:42ch;margin:0;color:var(--squad-muted)}
/* One selected explanation replaces the five tall, independently scrolling panels. */
#game-dialog.squad-picker-dialog .squad-bonds {flex:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 28px;border-top:1px solid var(--squad-line);padding-top:12px}
#game-dialog.squad-picker-dialog .squad-bonds h3 {grid-column:1;margin:0;font:700 24px/1.15 AtlasLoot,Georgia,serif;color:var(--squad-ink)}
#game-dialog.squad-picker-dialog .squad-bond-options {grid-column:1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;align-items:start}
#game-dialog.squad-picker-dialog .squad-bond {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;min-height:74px;padding:6px 3px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--squad-muted);cursor:pointer}
#game-dialog.squad-picker-dialog .squad-bond:hover {background:#efddb7;border-color:var(--squad-line)}
#game-dialog.squad-picker-dialog .squad-bond[aria-pressed=true] {background:#dbe4bc;border-color:#21634d;color:var(--squad-ink)}
#game-dialog.squad-picker-dialog .squad-bond[data-kind=artifact] {grid-column:span 2;flex-direction:row;min-height:44px;gap:6px;padding:6px;border-color:var(--squad-line)}
#game-dialog.squad-picker-dialog .squad-bond-gems {display:flex;align-items:center;justify-content:center;gap:3px;flex:none}
#game-dialog.squad-picker-dialog .squad-bond-gems svg {width:15px;height:18px;fill:#e2d3ad;stroke:#82714d;stroke-width:1.1}
#game-dialog.squad-picker-dialog .squad-bond-gems .is-lit {fill:var(--gem-color);stroke:#4c553d}
#game-dialog.squad-picker-dialog .squad-bond-name {font-size:16px;line-height:1.2;font-weight:600;overflow-wrap:anywhere}
#game-dialog.squad-picker-dialog .squad-bond-count {font-size:18px;line-height:1.2;font-weight:700;font-variant-numeric:tabular-nums}
#game-dialog.squad-picker-dialog .squad-bond-detail {grid-column:2;grid-row:1/3;align-self:center;min-width:0;padding-left:24px;border-left:1px solid var(--squad-line)}
#game-dialog.squad-picker-dialog .squad-bond-detail h4 {margin:0 0 3px;font:700 24px/1.15 AtlasLoot,Georgia,serif;color:var(--squad-ink)}
#game-dialog.squad-picker-dialog .squad-bond-status {margin:0 0 6px;font-size:16px;line-height:1.3;color:var(--squad-muted)}
#game-dialog.squad-picker-dialog .squad-bond-status.is-active {font-weight:700;color:#21634d}
#game-dialog.squad-picker-dialog .squad-bond-description {margin:0;max-width:70ch;font-size:18px;line-height:1.35;color:var(--squad-ink);text-wrap:pretty}
#game-dialog.squad-picker-dialog :is(.squad-bond-condition,.squad-bond-reason) {margin:4px 0 0;font-size:16px;line-height:1.3;color:var(--squad-muted)}
#game-dialog.squad-picker-dialog .squad-detail-nav {display:flex;flex:none;align-items:center;gap:12px;margin-block:10px;font-size:18px}
#game-dialog.squad-picker-dialog .squad-picker-detail {display:block;padding:8px;min-width:0}
#game-dialog.squad-picker-dialog .squad-detail-copy {width:100%;max-width:68ch;margin:0 auto;padding:8px 0 24px;font-size:1.25rem;line-height:1.5;overflow-wrap:anywhere}
#game-dialog.squad-picker-dialog .squad-description-heading {margin:0 0 28px;padding:0 0 24px;border-bottom:1px solid var(--squad-line);text-align:center}
#game-dialog.squad-picker-dialog .squad-description-heading h3 {margin:0 auto 10px;max-width:30ch;font:700 2.5rem/1.1 AtlasLoot,Georgia,serif;text-wrap:balance;color:var(--squad-ink)}
#game-dialog.squad-picker-dialog .squad-description-identity {margin:0;color:var(--squad-muted);font-size:1.125rem;line-height:1.4}
#game-dialog.squad-picker-dialog .squad-detail-health {margin:12px 0 0;font-size:1.5rem;line-height:1.2;font-weight:600;font-variant-numeric:tabular-nums;color:var(--squad-ink)}
#game-dialog.squad-picker-dialog .squad-ability-list {display:grid;gap:28px}
#game-dialog.squad-picker-dialog .squad-ability {margin:0;padding:0;border:0;background:none}
#game-dialog.squad-picker-dialog .squad-ability h4 {margin:0 0 8px;font:700 1.75rem/1.15 AtlasLoot,Georgia,serif;color:var(--squad-ink);text-wrap:balance}
#game-dialog.squad-picker-dialog .squad-ability-description {margin:0;font-size:1.25rem;line-height:1.5;color:var(--squad-ink);text-wrap:pretty}
#game-dialog.squad-picker-dialog .squad-ability-kind {margin:-2px 0 8px;font-size:1rem;line-height:1.4;font-weight:600;color:var(--squad-muted)}
#game-dialog.squad-picker-dialog .squad-description-note {margin:28px 0 0;padding-top:16px;border-top:1px solid var(--squad-line);font-size:1rem;line-height:1.5;color:var(--squad-muted)}
@media(max-width:650px) {
  #game-dialog.squad-picker-dialog {width:calc(var(--visible-width,100vw) - 12px);height:calc(var(--visible-height,100dvh) - 12px);padding:10px;border-width:5px}
  #game-dialog.squad-picker-dialog[open] {gap:8px}
  #game-dialog.squad-picker-dialog>.dialog-header {padding-bottom:4px}
  #game-dialog.squad-picker-dialog>.dialog-header h2 {font-size:30px}
  #game-dialog.squad-picker-dialog .selected-formation {gap:8px}
  #game-dialog.squad-picker-dialog .formation-seat {display:flex;flex-direction:column;gap:3px;padding:8px 4px;text-align:center;justify-content:flex-start}
  #game-dialog.squad-picker-dialog .formation-seat-label {align-self:stretch;display:flex;align-items:center;min-height:24px;font-size:16px;padding:0;text-align:left;justify-content:center}
  #game-dialog.squad-picker-dialog .formation-seat :is(.squad-thumb,.formation-empty) {width:60px;height:60px;flex:none}
  #game-dialog.squad-picker-dialog .formation-role {font-size:14px;line-height:1.2;min-height:34px}
  #game-dialog.squad-picker-dialog .formation-health {font-size:16px;white-space:nowrap}
  #game-dialog.squad-picker-dialog .squad-library-heading {gap:8px}
  #game-dialog.squad-picker-dialog select {flex:1;width:100%;max-width:none;font-size:16px}
  #game-dialog.squad-picker-dialog .squad-card-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}
  #game-dialog.squad-picker-dialog .squad-card-pick {padding:4px;gap:3px}
  #game-dialog.squad-picker-dialog .squad-card-pick .squad-thumb {height:128px}
  #game-dialog.squad-picker-dialog .squad-card-role {font-size:18px}
  #game-dialog.squad-picker-dialog .squad-bonds {grid-template-columns:minmax(0,1fr);gap:10px;padding-top:12px}
  #game-dialog.squad-picker-dialog .squad-bond-options {gap:3px}
  #game-dialog.squad-picker-dialog .squad-bond {padding:6px 2px}
  #game-dialog.squad-picker-dialog .squad-bond[data-kind=faction] {min-height:54px}
  #game-dialog.squad-picker-dialog .squad-bond[data-kind=faction] .squad-bond-name {display:none}
  #game-dialog.squad-picker-dialog .squad-bond-name {font-size:14px}
  #game-dialog.squad-picker-dialog .squad-bond-gems {gap:2px}
  #game-dialog.squad-picker-dialog .squad-bond-gems svg {width:12px;height:16px}
  #game-dialog.squad-picker-dialog .squad-bond-detail {grid-column:1;grid-row:auto;padding:10px 0 0;border-left:0;border-top:1px solid var(--squad-line)}
  #game-dialog.squad-picker-dialog .squad-description-heading h3 {font-size:2rem}
  #game-dialog.squad-picker-dialog .squad-ability h4 {font-size:1.5rem}
  #game-dialog.squad-picker-dialog .squad-ability-description {font-size:1.125rem}
}
@media(max-width:380px) {
  #game-dialog.squad-picker-dialog .formation-seat-label {font-size:18px;padding-right:0}
  #game-dialog.squad-picker-dialog .formation-seat-caption {display:none}
  #game-dialog.squad-picker-dialog .formation-seat-digit {display:inline}
  #game-dialog.squad-picker-dialog .formation-role {font-size:14px;line-height:1.2}
  #game-dialog.squad-picker-dialog .formation-health {font-size:14px}
}
@media(max-height:650px) {
  #game-dialog.squad-picker-dialog[open] {gap:6px}
  #game-dialog.squad-picker-dialog .formation-seat {padding:6px;gap:2px 8px;grid-template-columns:48px minmax(0,1fr)}
  #game-dialog.squad-picker-dialog .formation-seat :is(.squad-thumb,.formation-empty) {width:48px;height:48px}
  #game-dialog.squad-picker-dialog .formation-seat-label {font-size:16px}
  #game-dialog.squad-picker-dialog .formation-role {font-size:18px}
  #game-dialog.squad-picker-dialog .squad-card-pick .squad-thumb {height:72px}
}
/* Phones and short windows use one natural scroll, never a tiny nested strip. */
@media(max-height:700px), (max-width:650px) {
  #game-dialog.squad-picker-dialog[open] {display:block;overflow:auto}
  #game-dialog.squad-picker-dialog>.dialog-header {position:sticky;top:-10px;z-index:5;background:var(--squad-paper);padding-block:4px}
  #game-dialog.squad-picker-dialog .selected-formation {margin-block:8px}
  #game-dialog.squad-picker-dialog :is(.squad-picker-library,.squad-picker-detail) {overflow:visible;min-height:180px}
  #game-dialog.squad-picker-dialog .squad-bonds {margin-top:14px}
}
@media(max-height:850px) and (min-height:651px) and (min-width:651px) {
  #game-dialog.squad-picker-dialog .squad-card-pick .squad-thumb {height:108px}
  #game-dialog.squad-picker-dialog :is(.squad-picker-library,.squad-picker-detail) {min-height:260px}
}
@media(max-height:900px) {
  #game-dialog.squad-picker-dialog:has(.squad-bond[data-kind=artifact])[open] {display:block;overflow:auto}
  #game-dialog.squad-picker-dialog:has(.squad-bond[data-kind=artifact]) :is(.squad-picker-library,.squad-picker-detail) {overflow:visible;min-height:180px}
  #game-dialog.squad-picker-dialog:has(.squad-bond[data-kind=artifact]) :is(.selected-formation,.squad-library-heading,.squad-bonds) {margin-block:10px}
}
@media(max-height:480px) {
  #game-dialog.squad-picker-dialog .formation-seat {display:grid;grid-template-columns:40px minmax(0,1fr);padding:6px;gap:2px 6px;min-height:80px}
  #game-dialog.squad-picker-dialog .formation-seat-label {padding:0;align-self:auto;font-size:16px}
  #game-dialog.squad-picker-dialog .formation-seat :is(.squad-thumb,.formation-empty) {width:40px;height:40px}
  #game-dialog.squad-picker-dialog .formation-role {font-size:16px}
  #game-dialog.squad-picker-dialog .formation-health {font-size:16px}
}
#game-dialog.squad-picker-dialog [data-rarity=common] {--rank-ink:#455247}
#game-dialog.squad-picker-dialog [data-rarity=uncommon] {--rank-ink:#285f36}
#game-dialog.squad-picker-dialog [data-rarity=rare] {--rank-ink:#225b83}
#game-dialog.squad-picker-dialog [data-rarity=epic] {--rank-ink:#733b84}
#game-dialog.squad-picker-dialog [data-rarity=legendary] {--rank-ink:#795519}
#game-dialog.squad-picker-dialog .button.squad-rank {display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:44px;margin:0;padding:8px 4px;border:0;border-top:1px solid var(--squad-line);border-radius:0;background:#f8edcf;color:var(--rank-ink,var(--squad-ink));font-size:18px;font-weight:700;text-align:center;overflow-wrap:anywhere;cursor:zoom-in}
#game-dialog.squad-picker-dialog .button.squad-rank:hover {background:#efddb7;text-decoration:underline;text-underline-offset:4px}
#game-dialog.squad-picker-dialog .squad-rank-mark {display:flex;flex:none}
#game-dialog.squad-picker-dialog .squad-rank-short {display:none}
#game-dialog.squad-picker-dialog .squad-rank-mark .icon {width:20px;height:20px}
#game-dialog.squad-picker-dialog .button.collection-rank {border-radius:0 0 7px 7px}
#game-dialog.squad-picker-dialog .squad-card-pick[draggable=true] {cursor:grab}
#game-dialog.squad-picker-dialog .squad-card-pick.is-dragging {opacity:.5;cursor:grabbing}
@media(max-width:650px) {
  #game-dialog.squad-picker-dialog .button.squad-rank {min-height:48px;font-size:16px;line-height:1.2;gap:4px}
  #game-dialog.squad-picker-dialog .formation-rank .squad-rank-mark {display:none}
  #game-dialog.squad-picker-dialog:has(.squad-picker-library[data-collection-size=small]) {height:calc(var(--visible-height,100dvh) - 12px)}
}
@media(pointer:coarse) {
  #game-dialog.squad-picker-dialog [data-inspect-id] {-webkit-touch-callout:none;user-select:none}
}
@media(max-width:380px) {
  #game-dialog.squad-picker-dialog .formation-rank .squad-rank-name {display:none}
  #game-dialog.squad-picker-dialog .formation-rank .squad-rank-short {display:inline;white-space:nowrap}
}
@media(max-height:480px) {
  #game-dialog.squad-picker-dialog .button.formation-rank {min-height:36px;font-size:16px;padding:4px}
  #game-dialog.squad-picker-dialog :is(.squad-library-heading,.squad-detail-nav) {margin-block:8px}
}
@media(prefers-reduced-motion:reduce) {#game-dialog.squad-picker-dialog .squad-card-pick {transition:none}}

/* Inspecting art and reading abilities are separate, read-only destinations. */
#game-dialog.squad-picker-dialog:has(.squad-picker-detail.is-text)[open] {display:block;overflow:auto}
#game-dialog.squad-picker-dialog .squad-picker-detail.is-text {overflow:visible;min-height:0}
#game-dialog.squad-picker-dialog:has(.squad-picker-detail.is-image)[open] {display:flex;flex-direction:column;overflow:hidden}
#game-dialog.squad-picker-dialog:has(.squad-picker-detail.is-image)>.dialog-header h2 {visibility:hidden}
#game-dialog.squad-picker-dialog:has(.squad-picker-detail.is-image)>.squad-detail-nav {position:absolute;top:16px;left:20px;margin:0;z-index:6}
#game-dialog.squad-picker-dialog .squad-picker-detail.is-image {display:flex;flex:1;align-items:center;justify-content:center;min-height:0;overflow:hidden;padding:0}
#game-dialog.squad-picker-dialog .squad-image-view {display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:0;margin:0}
#game-dialog.squad-picker-dialog .squad-image-view img {display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;border:0;border-radius:0}
@media(max-width:650px) {
  #game-dialog.squad-picker-dialog:has(.squad-picker-detail.is-image)>.squad-detail-nav {top:10px;left:10px}
}
