/* CBCPW Calculator Stylesheet */
/* -- Base Layout -- */
.calc-table {
  max-width: 60ch; /* desktop optimal width */
  width: 100%;
  margin: 0 auto 0 1em;   /* up right down left */
  border-collapse: collapse;
  table-layout: fixed;
}
.calc-table th,
.calc-table td {
  padding: 0.4em 0.6em;
  text-align: left;
  vertical-align: middle;
}
.calc-table th {
  width: 31ch;
  word-break: break-word;
}
.calc-table td {
  display: flex;
  align-items: center;
  gap: 0.4em;
}
.calc-table tr.parameter { background: #ddddff; }
.calc-table tr.result    { background: #ffeeff; }
.calc-table tr.result2   { background: #eeffdd; }
.calc-table input[type="number"],
.calc-table input[readonly] {
  width: clamp(16ch, 18ch, 100%);
  box-sizing: border-box;
  font-variant-numeric: tabular-nums; /* aligned digits */
}
.unit { white-space: nowrap;}
.calc-table button { margin-right: 0.5em;}
.calcLog {
  width: 100%;
  max-width: 66ch;
  margin: 0.8em auto 0 1em;
  font-size: 0.85em;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  line-height: 1.4;
  box-sizing: border-box;
}
.visualization {
  display: inline-block;
  max-width: 400px;
  margin: 0 1em 0.8em 0.8em;
}
/* -- Responsive (Mobile) -- */
@media (max-width: 767px) {
  .calc-table,
  .calc-table tbody,
  .calc-table tr {
    display: block;
    width: 100%;
  }
  .calc-table th,
  .calc-table td {
    display: block;
    width: 100%;
  }
  .calc-table th {
    font-weight: bold;
    margin-bottom: 0.2em;
  }
  .calc-table td {
    display: flex; 
    align-items: center;
  }
}
/* -- Print -- */
@media print {
  h2 {
    page-break-before: always;
  }
  figure {
    page-break-inside: avoid;
  }
}
.eqn svg {
  height: 1em;
  vertical-align: -0.15em;
}
