.companion{display:grid;grid-template-columns:minmax(200px,280px) minmax(0,1fr);gap:16px;align-items:start}

.companion-art{width:100%;max-height:560px;object-fit:contain;object-position:center top;background:#05080d;border:1px solid var(--line);border-radius:14px}

.companion-copy p{margin:.35em 0 .7em}

.companion-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin:12px 0}

.companion-stats .metric{padding:8px 4px}

.companion-stats .metric strong{font-size:1.15rem}

.companion-stats .metric b{color:var(--gold);font-size:.8rem}

.companion-vitals{margin-bottom:8px}

.statline .fineprint{display:block;font-weight:450}

.trait h3{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--gold);font-size:.98rem}

.trait p:last-child,.trait ul:last-child{margin-bottom:0}

.trait{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#142236}

.trait ul{margin:6px 0 0;padding-left:18px}

.trait li{margin:0 0 4px}

.companion-sheet{margin-top:12px}

.companion-upgrades{margin-top:12px}

.companion-upgrades h3{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--gold);font-size:.98rem}

.companion-upgrades ul{margin:6px 0 0;padding-left:18px}

.companion-upgrades li{margin:0 0 4px}

.copy-group{margin-top:16px}

.copy-group h3{color:var(--gold);margin:0 0 8px}

.copy-list{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;padding:6px 14px}

.copy-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}

.copy-row span:first-child{min-width:0}

.copy-row .chip{flex:none}

@media(max-width:740px){
  .companion{grid-template-columns:1fr}
  .companion-art{max-height:280px}
  .companion-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .copy-list{grid-template-columns:1fr}
}

@media print{
  .companion-art{display:none}
  .companion,.copy-list{grid-template-columns:1fr}
}
