/* Extra rack slots exist only on 101 landscape phones. Other layouts keep
   their original column count and styles, including safe-area padding. */
#gameScreen[style*="--rack-columns"] .istaka-row {
  grid-template-columns: repeat(var(--rack-columns), var(--rack-w)) !important;
}
/* The fit pass measures the old and new positions in the same frame.
   Animate colors, never the geometry being measured. */
#gameScreen.landscape-101[style*="--rack-columns"] :is(.bar-101-controls, .score-101-chip, .score-101-suggestion, .bar-101-btn-group, .bar-101-btn-group .tool-btn) {
  transition: background-color .15s, border-color .15s, opacity .15s !important;
}
#gameScreen.landscape-101.wide-rack-101 .istaka-container {
  height: var(--rack101-reserved-h) !important;
  min-height: var(--rack101-reserved-h) !important;
  grid-template-columns: minmax(0, 1fr) var(--rack101-tools-w) !important;
  grid-template-rows: minmax(0, 1fr) !important;
  row-gap: 0 !important;
}
#gameScreen.landscape-101.wide-rack-101 .bar-101-controls {
  position: absolute !important;
  left: var(--rack101-panel-x) !important;
  top: var(--rack101-panel-y) !important;
  width: var(--rack101-panel-w) !important;
  display: grid !important;
  grid-template-columns: 78px minmax(0, 1fr) !important;
  align-items: center !important;
  padding: 2px !important;
  gap: 4px !important;
  margin: 0 !important;
  border-radius: 8px;
}
#gameScreen.landscape-101.wide-rack-101 .score-101-chip {
  grid-column: 1 !important; grid-row: 1 !important;
  display: flex !important; flex-wrap: wrap !important;
  gap: 0 2px !important; padding: 0 !important;
  min-width: 0; cursor: pointer;
  font-size: 9px !important; line-height: 1.15;
}
#gameScreen.landscape-101.wide-rack-101 .score-101-pairs {
  font-size: 10px !important; line-height: 1;
}
#gameScreen.landscape-101.wide-rack-101 .score-101-chip strong {
  line-height: 1;
}
#gameScreen.landscape-101.wide-rack-101 .score-101-suggestion {
  flex-basis: 100% !important; min-width: 0; max-width: 100%;
  margin: 0 !important; font-size: 8px !important;
  line-height: 1.1;
  white-space: nowrap !important; overflow: hidden; text-overflow: ellipsis;
}
#gameScreen.landscape-101.wide-rack-101 .bar-101-btn-group {
  grid-column: 2 !important; grid-row: 1 !important;
  grid-template-columns: repeat(var(--rack101-action-columns), minmax(0, 1fr)) !important;
  min-width: 0; gap: 3px !important;
}
#gameScreen.landscape-101.wide-rack-101 .bar-101-btn-group .tool-btn {
  min-height: 32px !important; padding: 2px 1px !important;
  font-size: 9px !important; line-height: 1.1;
}
#gameScreen.landscape-101.wide-rack-101 .istaka-rack {
  grid-column: 1 !important; grid-row: 1 !important;
  justify-self: start; align-self: end !important;
  padding: 1px !important; gap: 2px !important;
  border-radius: 9px !important;
}
#gameScreen.landscape-101.wide-rack-101 .istaka-row {
  padding: 1px !important;
}
#gameScreen.landscape-101.wide-rack-101 .istaka-toolbar {
  grid-column: 2 !important; grid-row: 1 !important;
}
#gameScreen.landscape-101.wide-rack-101.rack101-tight .bar-101-controls {
  grid-template-columns: 62px minmax(0, 1fr) !important;
}
#gameScreen.landscape-101.wide-rack-101.rack101-tight .score-101-label {
  display: none !important;
}
