[hidden] { display: none !important; }
.engine-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 0 1rem; }
#engine-fields { border: 0; padding: 0; }
details { margin-bottom: 1rem; }
summary { cursor: pointer; margin-bottom: .75rem; }
#engine-roster .button { margin: 0; }
.engine-card {
  box-sizing: border-box;
  width: 2.125in;
  min-height: 4in;
  border: 1px solid #222;
  padding: .1in;
  margin-bottom: 1rem;
  color: #111;
  background: white;
  font: 10pt/1.3 Arial, sans-serif;
  overflow-wrap: anywhere;
}
.engine-card h3 { font: bold 14pt/1.2 Arial, sans-serif; margin: 0 0 .08in; }
.engine-card p { font: inherit; margin: 0 0 .06in; white-space: pre-wrap; }
.engine-card .dcc-address { font-weight: bold; font-size: 13pt; border-block: 1px solid #222; padding: .06in 0; }
.engine-card dl { margin: .08in 0; }
.engine-card .command { display: grid; grid-template-columns: .32in 1fr; gap: .04in; border-bottom: 1px solid #ddd; }
.engine-card dt, .engine-card dd { margin: 0; padding: .03in 0; white-space: pre-wrap; }
.engine-card footer { border-top: 1px solid #222; padding-top: .04in; font-size: 8pt; }
#engine-print { display: none; }
@media print {
  @page { margin: .4in; }
  body > :not(#engine-print) { display: none !important; }
  #engine-print { display: flex; flex-wrap: wrap; gap: .2in; align-items: flex-start; }
  .engine-card { break-inside: avoid; margin: 0; }
}
