.dossier-modal.infrastructure-modal {width:min(1020px,calc(100vw - 32px));max-height:calc(100dvh - 32px);}
.infrastructure-modal .dossier-header {padding:12px 18px;}
.infrastructure-modal .dossier-header h2 {font-size:24px;}
.infrastructure-modal .dossier-body {padding:0 18px 12px;}
.infrastructure-context {display:flex;flex-wrap:wrap;justify-content:space-between;gap:5px 16px;padding:0 0 14px;font-size:11px;color:var(--paper);text-shadow:0 2px 8px var(--ink);}
.infrastructure-context b {color:var(--paper);font-weight:400;}
.infrastructure-modal .shortfall,.infrastructure-selection .shortfall {color:var(--warning);}
.infrastructure-context .shortfall b {color:inherit;}
.infrastructure-art {width:80px;height:80px;object-fit:contain;align-self:center;}
.infrastructure-details {min-width:0;}
.infrastructure-level {font-size:10px;color:var(--muted);}
.infrastructure-purpose,.infrastructure-spec {color:var(--muted);font-size:10px;line-height:1.4;margin:3px 0 6px;}
.infrastructure-benefits {display:flex;flex-wrap:wrap;gap:4px 14px;font-size:11px;line-height:1.4;}
.infrastructure-benefit {display:flex;align-items:center;flex-wrap:wrap;gap:3px 5px;}
.infrastructure-benefit:first-child {flex-basis:100%;}
.infrastructure-benefit .game-icon {width:20px;height:20px;flex:none;}
.infrastructure-benefit b {color:var(--positive);font-weight:700;white-space:nowrap;}
.infrastructure-benefit small {font-size:10px;color:var(--muted);}
.infrastructure-benefit.covered b {color:var(--muted);}
.infrastructure-costs {display:flex;justify-content:space-between;gap:10px;margin:0;font-variant-numeric:tabular-nums;}
.infrastructure-costs dt,.infrastructure-cost-label {display:block;font-size:9px;color:var(--muted);white-space:nowrap;}
.infrastructure-costs dd,.infrastructure-cost-value {display:block;margin:0;font-size:16px;color:var(--paper);white-space:nowrap;}
.infrastructure-empty {grid-column:1 / -1;padding:24px 0;color:var(--paper);}
.infrastructure-dossier {display:grid;grid-template-columns:132px minmax(0,1fr);gap:18px;align-items:center;padding:16px 0;}
.infrastructure-dossier .infrastructure-art {width:132px;height:132px;}
.infrastructure-dossier h3 {font-size:20px;}
.infrastructure-dossier+.infrastructure-costs {justify-content:flex-start;gap:32px;border-top:1px solid var(--line);padding-top:10px;}
.infrastructure-access {font-size:11px;color:var(--muted);margin-top:10px;}
.infrastructure-option .selection-card-content {display:flex;flex-direction:column;gap:10px;}
.infrastructure-option .infrastructure-art {align-self:center;flex:none;}
.infrastructure-name {display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-family:var(--display);font-size:22px;font-weight:700;line-height:1.2;}
.infrastructure-name .infrastructure-level {font-family:var(--mono);font-weight:400;}
.infrastructure-option .infrastructure-purpose {display:block;margin:4px 0 8px;}
.infrastructure-option .infrastructure-benefits {display:grid;gap:5px;}
.infrastructure-option .infrastructure-benefit {align-items:center;}
.infrastructure-option .infrastructure-benefit small {flex-basis:100%;padding-left:25px;}
.infrastructure-option .infrastructure-details {flex:1;}
.infrastructure-purchase {display:block;border-top:1px solid var(--line-soft);padding-top:10px;margin-top:auto;}
@media(max-width:480px) {
  .dossier-modal.infrastructure-modal {width:calc(100vw - 16px);max-height:calc(100dvh - 16px);}
  .infrastructure-modal .dossier-header {padding:10px 12px;}
  .infrastructure-modal .dossier-header h2 {font-size:21px;}
  .infrastructure-modal .dossier-body {padding:0 12px 10px;}
  .infrastructure-costs {gap:7px;}
  .infrastructure-dossier {grid-template-columns:64px minmax(0,1fr);gap:10px;}
  .infrastructure-dossier .infrastructure-art {width:64px;height:84px;}
}
