/* Geometry only: keypad faces, focus and colours remain shared play.css controls. */
.board-higher-lower-number, .board-higher-lower-number * { box-sizing: border-box; min-width: 0; }
.board-higher-lower-number {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 28rem;
  margin-inline: auto;
  gap: 8px;
  padding: 8px;
  /* Session UI is not a square grid; cancel Futoshiki `.board { aspect-ratio: 1 }`. */
  aspect-ratio: auto;
  min-height: 0;
  height: auto;
  max-height: none;
  overflow: visible;
}
.hl-card { width: 100%; padding: 12px; border: 1px solid var(--line, #ddbb72); border-radius: 12px; background: var(--paper-bright, #faf6ee); text-align: center; }
.hl-interval { margin: 0 0 6px; font-size: clamp(1.25rem, 5vw, 1.75rem); font-weight: 700; }
.hl-attempts { margin: 0 0 10px; color: var(--muted); }
.hl-guess-row { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
.hl-guess-row input { width: 100%; min-height: 44px; font-size: 1.25rem; text-align: center; border: 1px solid var(--line, #ddbb72); border-radius: 8px; }
.hl-controls { display: flex; flex-direction: column; gap: 8px; width: 100%; min-width: 0; }
/* Futoshiki's narrow-shell rule orders every .play-keypad-stack after other controls. Keep Valider under the keys. */
html.is-play body.ds-higher-lower-number .hl-controls > .play-keypad-stack { order: 0 !important; }
html.is-play body.ds-higher-lower-number .hl-controls > .hl-guess-row { order: 1 !important; }
html.is-play body.ds-higher-lower-number .hl-controls > .hl-feedback { order: 2 !important; margin: 0; }
html.is-play body.ds-higher-lower-number .hl-controls > .hl-submit { order: 3 !important; width: 100%; min-width: 44px; min-height: 44px; }
/* Keep numeric controls in place while attempts accumulate underneath. */
html.is-play body.ds-higher-lower-number .hl-controls > .hl-history {
  order: 4 !important;
  width: 100%;
  max-height: min(46vh, 24rem);
  margin: 10px 0 0;
  overflow-y: auto;
  overscroll-behavior: contain;
}
html.is-play body.ds-higher-lower-number .hl-controls > .hl-history:empty { display: none; }
/* The shared host already supplies repeat(4, minmax(0, 1fr)) and key dimensions. */
.hl-feedback { min-height: 1.5em; margin: 8px 0 0; font-weight: 600; }
.hl-history { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; overflow: visible; }
.hl-history li {
  display: flex; align-items: center; justify-content: flex-start; gap: 8px;
  min-height: 44px; padding: 8px 12px; border: 1px solid var(--line, #ddbb72); border-radius: 8px;
  font-variant-numeric: tabular-nums;
}
.hl-ord { flex: 0 0 1.5rem; font-size: 0.8rem; color: color-mix(in srgb, var(--ink, #5c4a3d) 55%, var(--paper, #faf6ee)); }
.hl-digits { flex: 1 1 auto; min-width: 0; font-weight: 700; font-size: 1.25rem; letter-spacing: 0.08em; text-align: left; }
.hl-mark { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; font-weight: 700; white-space: nowrap; }
.hl-arrow { font-size: 1.35rem; line-height: 1; }
.hl-hint-higher { color: #187b40; }
.hl-hint-lower { color: #9f1d1d; }
.hl-hint-found { color: #187b40; }
.hl-hint-none { color: var(--ink, #5c4a3d); }
.hl-guess-row input::placeholder { font-size: 1rem; }
.hl-history li { flex-shrink: 0; }
@media (max-width: 390px) {
  .hl-digits { font-size: 1.125rem; letter-spacing: 0.06em; }
  .hl-mark-text { font-size: 0.95rem; }
}
