/* Match the scale of the table: actions and game facts are not footnotes. */
.table-view {
  --card-w: 74px;
  --card-h: 108px;
}
.table-header {
  min-height: 66px;
}
.table-location {
  font-size: 13px;
  color: #b6c7ad;
}
.table-tools #table-rules {
  font-size: 13px;
}
.table-topline {
  min-height: 68px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 18px;
}
.table-topline .trump-indicator {
  grid-column: 1;
  grid-row: 1;
  font-size: 17px;
  font-weight: 600;
  padding: 10px 14px;
  border-width: 2px;
  letter-spacing: 0.5px;
}
.table-topline .rules-line {
  grid-column: 2;
  grid-row: 1;
  font-size: 12px;
  color: #b0c2a7;
  gap: 12px;
}
.rules-line span + span:before {
  margin-right: 12px;
}
.compact-score {
  font-size: 13px;
  color: #c4d1b5;
  gap: 10px;
}
.compact-score > b {
  font-size: 34px;
}
#score-provisional {
  font-size: 11px;
  color: #a4b897;
}
.score-meter {
  width: 95px;
  height: 5px;
}
.table-playarea {
  grid-template-columns: minmax(0, 1fr) 300px;
}
.arena[data-many="true"] {
  min-height: 480px;
}
.seat {
  min-width: 90px;
  max-width: 145px;
  gap: 8px;
}
.seat-avatar {
  width: 56px;
  height: 56px;
  font-size: 27px;
}
.seat-name {
  font-size: 15px;
  color: #e0e5cf;
  max-width: 110px;
  font-weight: 500;
}
.seat-name small {
  font-size: 10px;
  color: #aabc9e;
}
.seat-badge {
  font-size: 12px;
  color: #bdcfab;
}
.top-seat {
  grid-template-columns: 56px auto;
  gap: 5px 10px;
}
.top-seat .seat-name {
  max-width: 100px;
}
.seat.you {
  max-width: 290px;
  min-width: 190px;
  gap: 10px;
}
.seat.you .seat-avatar {
  width: 42px;
  height: 42px;
  font-size: 21px;
}
.play-cluster .poker-card {
  --card-w: 54px;
  --card-h: 78px;
}
.play-cluster .poker-card:not(:last-child) {
  margin-right: -30px;
}
.play-cluster .card-corner {
  font-size: 17px;
  left: 4px;
  top: 5px;
}
.play-cluster .card-corner span:last-child {
  font-size: 14px;
}
.play-cluster .card-symbol {
  font-size: 29px;
  bottom: 7px;
  right: 5px;
}
.play-cluster .point-mark {
  font-size: 8px;
  min-width: 19px;
}
.play-cluster .joker-icon {
  width: 35px;
  height: 44px;
  bottom: 10px;
}
.play-cluster .joker-word {
  font-size: 5px;
}
.play-cluster > small {
  font-size: 12px;
  color: #c2d0b0;
}
.play-cluster.leading > small {
  font-weight: 600;
  padding: 3px 7px;
  border-radius: 4px;
  background: #302f1ed9;
}
.play-cluster.leading .mini-hand {
  outline-width: 2px;
  outline-offset: 5px;
}
.point-pile {
  width: 230px;
  gap: 21px;
  padding-bottom: 20px;
}
.pile-stack {
  width: 62px;
  height: 84px;
}
.pile-stack .poker-card {
  --card-w: 56px;
  --card-h: 78px;
}
.pile-stack .card-corner {
  font-size: 17px;
}
.pile-stack .card-corner span:last-child {
  font-size: 14px;
}
.pile-stack .card-symbol {
  font-size: 30px;
}
.pile-stack .point-mark {
  font-size: 8px;
  min-width: 19px;
}
.pile-label {
  gap: 4px;
}
.pile-label > small {
  font-size: 12px;
  color: #bfccab;
}
.pile-label > strong {
  font-size: 44px;
}
.pile-escaped {
  font-size: 12px;
  bottom: 0;
  color: #a8bb98;
}
.empty-pile {
  width: 56px;
  height: 78px;
  font-size: 22px;
  color: #c3cfa56b;
  border-color: #b8c59b66;
}
.timeline-heading h2 {
  font-size: 22px;
  color: #d7dfc4;
}
.timeline-heading > span {
  font-size: 10px;
  color: #a3b596;
}
.log-row {
  padding-bottom: 19px;
  gap: 6px;
}
.log-row time {
  font-size: 11px;
  color: #97ad86;
}
.log-row > span {
  font-size: 13px;
  line-height: 1.85;
  color: #bacbae;
}
.log-row.log-trick > span {
  color: #d9e1c5;
}
.log-row.log-reveal > span,
.log-row.log-finish > span {
  color: #f0d69c;
}
.log-empty,
#log-latest {
  font-size: 12px;
  color: #b1c39f;
}
.table-under {
  min-height: 58px;
  gap: 18px;
  padding-top: 10px;
  padding-bottom: 10px;
}
.secret-label {
  font-size: 12px;
  color: #a6bc98;
}
.secret-strip {
  font-size: 14px;
}
.secret-card {
  margin-right: 18px;
  gap: 7px;
}
.secret-card b {
  font-size: 20px;
}
.secret-card small {
  font-size: 12px;
  color: #b7c9a4;
}
#table-history,
#table-result {
  font-size: 13px;
}
.instruction-copy h2 {
  font-size: 25px;
  line-height: 1.4;
  color: #f0ebd5;
}
.instruction-copy p {
  font-size: 14px;
  line-height: 1.7;
  color: #b5c6a4;
}
.step-label {
  font-size: 12px;
  color: #d6ddc0;
  padding: 5px 9px;
}
.clock {
  width: 48px;
  height: 48px;
}
.clock > span {
  font-size: 17px;
}
.hand-actions .button {
  min-height: 46px;
  font-size: 15px;
  padding: 0 19px;
}
#hand-confirm {
  min-width: 115px;
}
.hand-caption {
  margin-top: 18px;
}
.hand-tabs button {
  font-size: 13px;
  color: #c2d2ad;
}
.hand-tabs small {
  font-size: 11px;
  color: #9db38b;
}
#hand-summary {
  font-size: 12px;
  color: #adc198;
}
.hand-scroll {
  min-height: 142px;
}
.hand .card-corner {
  font-size: 22px;
  left: 4px;
}
.hand .card-corner span:last-child {
  font-size: 18px;
}
.hand .point-mark {
  font-size: 10px;
  min-width: 21px;
}
.hand .joker .card-corner {
  font-size: 15px;
}
.hand .joker-icon {
  width: 47px;
  height: 58px;
}
.hand-bottom {
  font-size: 11px;
  color: #96ad83;
}
#hand-select-mode {
  font-size: 12px;
  padding: 6px 9px;
}
.center-panel h2 {
  font-size: 32px;
}
.center-panel p {
  font-size: 14px;
  color: #bbcca9;
}
.call-field legend {
  font-size: 12px;
}
.call-selects select {
  font-size: 13px;
}
.call-field small {
  font-size: 11px;
}
@media (max-width: 1200px) {
  .table-playarea {
    grid-template-columns: minmax(0, 1fr) 260px;
  }
  .table-topline {
    gap: 12px;
  }
  .table-topline .trump-indicator {
    font-size: 15px;
    padding: 8px 10px;
  }
  .table-topline .rules-line {
    font-size: 11px;
    gap: 8px;
  }
  .rules-line span + span:before {
    margin-right: 8px;
  }
  .score-meter {
    width: 60px;
  }
  .seat-avatar {
    width: 48px;
    height: 48px;
    font-size: 24px;
  }
  .top-seat {
    grid-template-columns: 48px auto;
  }
  .seat-name {
    font-size: 14px;
  }
  .play-cluster .poker-card {
    --card-w: 48px;
    --card-h: 69px;
  }
  .play-cluster .poker-card:not(:last-child) {
    margin-right: -28px;
  }
  .point-pile {
    width: 208px;
    gap: 15px;
  }
  .pile-label > strong {
    font-size: 38px;
  }
}
@media (max-width: 900px) {
  .table-playarea {
    grid-template-columns: minmax(0, 1fr);
  }
  .log-row {
    grid-template-columns: 76px 1fr;
    padding-bottom: 12px;
  }
  .table-topline {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
  }
  .table-topline .trump-indicator {
    grid-column: 1;
    grid-row: 1;
  }
  .table-topline .compact-score {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
  }
  .table-topline .rules-line {
    grid-column: 1/-1;
    grid-row: 2;
  }
  .arena[data-many="true"] {
    min-height: 500px;
  }
  .instruction-copy h2 {
    font-size: 22px;
  }
  .instruction-copy p {
    font-size: 13px;
  }
  .hand-actions .button {
    padding: 0 13px;
    font-size: 14px;
  }
  .center-panel h2 {
    font-size: 27px;
  }
  .center-panel p {
    font-size: 12px;
  }
}
@media (max-width: 480px) {
  .table-view {
    --card-w: 64px;
    --card-h: 96px;
  }
  .table-header {
    min-height: 52px;
  }
  .table-location {
    font-size: 11px;
  }
  .table-topline {
    padding: 9px 13px;
    gap: 8px;
  }
  .table-topline .trump-indicator {
    font-size: 13px;
    padding: 7px 8px;
    letter-spacing: 0;
  }
  .table-topline .rules-line {
    font-size: 11px;
  }
  .compact-score {
    font-size: 11px;
    gap: 5px;
  }
  .compact-score > b {
    font-size: 27px;
  }
  .score-meter {
    width: 28px;
    margin: 0;
  }
  #score-provisional {
    font-size: 10px;
  }
  .seat {
    min-width: 55px;
    gap: 5px;
  }
  .seat-avatar {
    width: 38px;
    height: 38px;
    font-size: 20px;
  }
  .seat-name {
    font-size: 12px;
  }
  .seat-name small {
    font-size: 9px;
  }
  .seat-badge {
    font-size: 10px;
  }
  .top-seat {
    grid-template-columns: 38px auto;
    gap: 4px 6px;
  }
  .arena[data-many="true"] .seat-name {
    max-width: 60px;
  }
  .seat.you {
    min-width: 150px;
    max-width: 230px;
    gap: 7px;
  }
  .seat.you .seat-avatar {
    width: 32px;
    height: 32px;
    font-size: 17px;
  }
  .play-cluster .poker-card {
    --card-w: 37px;
    --card-h: 54px;
  }
  .play-cluster .poker-card:not(:last-child) {
    margin-right: -23px;
  }
  .play-cluster .card-corner {
    font-size: 13px;
    left: 2px;
    top: 3px;
  }
  .play-cluster .card-corner span:last-child {
    font-size: 11px;
  }
  .play-cluster .card-symbol {
    font-size: 20px;
    right: 3px;
    bottom: 4px;
  }
  .play-cluster .point-mark {
    font-size: 6px;
    min-width: 15px;
  }
  .play-cluster .joker-icon {
    width: 26px;
    height: 32px;
    bottom: 7px;
  }
  .play-cluster .joker-word {
    font-size: 4px;
  }
  .play-cluster > small {
    font-size: 10px;
  }
  .play-cluster.leading > small {
    max-width: 100px;
    white-space: normal;
    text-align: center;
    padding: 2px 4px;
  }
  .point-pile {
    width: 160px;
    gap: 10px;
    padding-bottom: 16px;
  }
  .pile-stack {
    width: 42px;
    height: 59px;
  }
  .pile-stack .poker-card {
    --card-w: 37px;
    --card-h: 53px;
  }
  .pile-stack .card-corner {
    font-size: 13px;
  }
  .pile-stack .card-corner span:last-child {
    font-size: 11px;
  }
  .pile-stack .card-symbol {
    font-size: 21px;
  }
  .pile-stack .point-mark {
    font-size: 6px;
    min-width: 15px;
  }
  .pile-label > strong {
    font-size: 32px;
  }
  .pile-label > small {
    font-size: 10px;
  }
  .pile-escaped {
    font-size: 10px;
  }
  .empty-pile {
    width: 37px;
    height: 53px;
    font-size: 17px;
  }
  .table-under {
    gap: 9px;
    padding: 9px 13px;
  }
  .secret-label {
    font-size: 10px;
  }
  .secret-card {
    margin-right: 9px;
  }
  .secret-card b {
    font-size: 17px;
  }
  .secret-card small {
    font-size: 10px;
  }
  #table-history,
  #table-result {
    font-size: 11px;
  }
  .instruction-copy h2 {
    font-size: 21px;
  }
  .instruction-copy p {
    font-size: 12px;
  }
  .step-label {
    font-size: 11px;
    padding: 4px 6px;
  }
  .hand-actions .button {
    min-height: 42px;
    font-size: 14px;
    padding: 0 12px;
  }
  #hand-confirm {
    min-width: 105px;
  }
  .hand-tabs button {
    font-size: 12px;
  }
  #hand-summary {
    font-size: 11px;
  }
  .hand .card-corner {
    font-size: 20px;
    left: 3px;
  }
  .hand .card-corner span:last-child {
    font-size: 16px;
  }
  .hand .joker .card-corner {
    font-size: 13px;
  }
  .hand .joker-icon {
    width: 39px;
    height: 48px;
  }
  .hand-scroll {
    min-height: 129px;
  }
  .hand-bottom {
    font-size: 10px;
  }
}
