/* The expanded crossover roster and three-slot squad builder. */
.fighter-avatar.source-model{object-fit:contain;object-position:center top;background:linear-gradient(#242a34,#141c20);padding-top:3px;image-rendering:auto}
.crew-builder{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 20px;margin-bottom:22px;border:1px solid #495740;background:#1b231d;box-shadow:3px 3px 0 #0a100c}
.crew-builder-intro{min-width:0;max-width:325px}
.crew-builder-intro>span{font-family:var(--pixel);font-size:8px;line-height:1.6;color:var(--orange)}
.crew-builder-intro p{color:#a3b197;font-size:10px;line-height:1.6;margin:9px 0 0;min-height:32px}
.crew-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:0;flex:1;max-width:720px}
.crew-slot{display:flex;align-items:center;position:relative;gap:7px;min-width:0;min-height:67px;padding:6px 9px;border:1px solid #47543e;background:#101b15;text-align:left;color:#bdc9ac}
.crew-slot.editing{border-color:var(--orange);background:#33291f;box-shadow:inset 0 -2px var(--orange)}
.crew-slot:hover:enabled{border-color:#c5ed9b}
.crew-slot-number{font-size:8px;color:#7d8c70;align-self:flex-start;margin-top:5px}
.crew-slot canvas{width:43px;height:46px;object-fit:contain;image-rendering:pixelated;flex-shrink:0}
.crew-slot>span:not(.crew-slot-number){min-width:0}
.crew-slot small{display:block;font-size:6px;color:#8b9a7f;letter-spacing:.5px;line-height:1.5;white-space:nowrap}
.crew-slot b{display:block;font-family:var(--pixel);font-weight:400;font-size:6px;line-height:1.8;color:#e2e5cc;margin-top:3px;white-space:nowrap}
.crew-slot.editing small,.crew-slot.editing .crew-slot-number{color:#ecb575}
.crew-slot>i{font-size:12px;font-style:normal;color:var(--orange);margin-left:auto}
.teams{grid-template-columns:minmax(0,1fr) 24px 240px;gap:14px;align-items:start}
.team-roster-title{min-height:17px;margin-bottom:11px}
.team-roster-title b{font-size:6px;letter-spacing:.2px}
.hermes .fighter-cards{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.hermes .portrait-wrap{height:88px}
.hermes .portrait-wrap canvas{width:108px;height:108px;flex-shrink:0;transform:translateY(5px)}
.hermes .fighter-info{padding:11px 8px 10px}
.hermes .fighter-info strong{font-size:6px;line-height:1.6;margin-bottom:6px;letter-spacing:0}
.hermes .fighter-info>span{font-size:6px;line-height:1.5;white-space:normal;min-height:18px}
.fighter-origin{font-size:5px;display:block;line-height:1.6;color:#6e8765;letter-spacing:.3px;margin-top:5px}
.guest .fighter-origin{color:#a397c3}
.guest .portrait-wrap{background-color:#1c1c29}
.newcomer .fighter-origin{color:#e8a26b}
.newcomer .portrait-wrap{background-color:#222724}
.new-badge{position:absolute;bottom:5px;left:6px;z-index:2;color:#f1ba82;border:1px solid #8f6944;background:#30261be6;font-size:5px;letter-spacing:.7px;padding:3px 4px}
.fighter-card.in-crew{border-color:#647d4f;background:#202b1d}
.fighter-card.selected{border-color:var(--green);box-shadow:inset 0 -2px var(--green)}
.openclaw .fighter-card.selected{border-color:var(--red);box-shadow:inset 0 -2px var(--red)}
.in-crew .lead-badge{display:block;font-size:5px;color:var(--green);background:#182313df;padding:3px 4px;right:4px;top:4px;letter-spacing:0}
.selected .lead-badge{color:var(--green)}
.openclaw .selected .lead-badge{color:var(--red)}
.hermes .fighter-stats{display:flex;margin-top:8px}
.hermes .fighter-stats>span{font-size:5px}
.hermes .stat-blocks i{width:6px}
.openclaw .fighter-cards{grid-template-columns:1fr;gap:10px}
.openclaw .fighter-card{display:grid;grid-template-columns:88px minmax(0,1fr);min-height:110px}
.openclaw .portrait-wrap{height:100%;min-height:108px;border-bottom:0;border-right:1px solid #3c352f;align-items:flex-end}
.openclaw .portrait-wrap canvas{height:113px;width:113px;flex-shrink:0;transform:translateY(9px)}
.openclaw .fighter-info{padding:17px 11px;align-self:center}
.openclaw .fighter-info strong{font-size:7px}
.openclaw .fighter-info>span{font-size:7px;white-space:normal;line-height:1.5}
.openclaw .fighter-origin{display:none}
.openclaw .fighter-stats{display:flex;margin-top:15px}
.roster-vs{margin-top:185px;font-size:8px}
.roster-locked .fighter-card:disabled,.crew-slot:disabled{opacity:1}
.roster-locked .fighter-card:not(.in-crew){opacity:.5}
.roster-locked .fighter-card.in-crew:not(.selected){opacity:.8}
.roster-locked .crew-slot{cursor:default}
.roster-locked .crew-builder-intro p{color:#6d8264}
@media(max-width:1200px){
  .teams{grid-template-columns:minmax(0,1fr) 20px 204px;gap:11px}
  .hermes .fighter-cards{grid-template-columns:repeat(6,minmax(0,1fr))}
  .team-roster-title b{display:none}
  .openclaw .fighter-card{grid-template-columns:73px minmax(0,1fr)}
  .openclaw .fighter-info{padding-left:9px;padding-right:7px}
  .openclaw .fighter-info strong{font-size:6px}
  .openclaw .fighter-info>span{font-size:6px}
  .openclaw .stat-blocks i{width:7px}
  .crew-builder{gap:16px}
  .crew-builder-intro{max-width:235px}
  .crew-slot canvas{width:30px}
  .crew-slot>i{display:none}
}
@media(max-width:1000px){
  .teams{grid-template-columns:1fr;gap:24px}
  .roster-vs{display:none}
  .hermes .fighter-cards{grid-template-columns:repeat(7,minmax(0,1fr))}
  .openclaw .fighter-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
  .crew-builder{display:block;padding:16px}
  .crew-builder-intro{max-width:none;margin-bottom:13px}
  .crew-builder-intro p{min-height:0;margin-top:7px}
  .crew-slots{max-width:none}
  .crew-slot canvas{width:43px}
  .crew-slot>i{display:block}
}
@media(max-width:800px){
  .hermes .fighter-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
  .hermes .fighter-info strong{font-size:7px}
  .hermes .fighter-info>span{font-size:7px;min-height:15px}
  .hermes .fighter-info{padding:11px}
  .hermes .portrait-wrap{height:85px}
  .hermes .portrait-wrap canvas{height:105px;width:105px}
  .hermes .lead-badge{font-size:5px}
  .hermes .stat-blocks i{width:8px}
  .openclaw .fighter-card{grid-template-columns:63px minmax(0,1fr);min-height:100px}
  .openclaw .portrait-wrap{min-height:98px}
  .openclaw .fighter-stats{display:none}
  .crew-slot small{font-size:5px}
  .crew-slot b{font-size:6px}
}
@media(max-width:550px){
  .roster-heading h2{font-size:8px}
  .crew-builder{padding:12px;margin-bottom:19px}
  .crew-builder-intro>span{font-size:6px}
  .crew-builder-intro p{font-size:9px;line-height:1.7}
  .crew-slots{gap:5px}
  .crew-slot{padding:8px 5px;gap:5px;min-height:53px}
  .crew-slot canvas,.crew-slot>i{display:none}
  .crew-slot-number{font-size:6px;margin-top:1px}
  .crew-slot small{font-size:4px;letter-spacing:0}
  .crew-slot b{font-size:5px;line-height:1.8}
  .hermes .fighter-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .hermes .portrait-wrap{height:83px}
  .hermes .fighter-info{padding:10px 7px}
  .hermes .fighter-info strong{font-size:6px}
  .hermes .fighter-info>span{font-size:6px;min-height:18px}
  .hermes .fighter-stats{display:flex}
  .hermes .fighter-stats>span{font-size:4px}
  .hermes .stat-blocks i{width:6px}
  .fighter-origin{font-size:4px}
  .openclaw .fighter-cards{gap:7px}
  .openclaw .fighter-card{display:block}
  .openclaw .portrait-wrap{height:75px;min-height:0;border-right:0;border-bottom:1px solid #3c352f}
  .openclaw .portrait-wrap canvas{height:97px;width:97px}
  .openclaw .fighter-info{padding:10px 8px}
  .openclaw .fighter-info strong{font-size:6px}
  .openclaw .fighter-info>span{font-size:6px}
  .team-roster-title b{display:none}
}
