/**
 * Centralized scorer design tokens — single source for sizing across all kiosk scorers.
 * Consumed by kiosk-scorer-surface.css, kiosk-scoring-grid.css, and tier overrides.
 * Tier values align with kiosk-breakpoints.js (data-kiosk-tier on <html>).
 */

:root,
[data-kiosk-layout="v2"] {
  /* Chrome */
  --scorer-header-h: 3rem;
  --scorer-header-action-min: 2.75rem;
  --scorer-chrome-gap: 1.5rem;

  /* Player strip */
  --scorer-player-strip-max: 28dvh;
  --scorer-player-card-h: 5.5rem;
  --scorer-player-card-h-compact: 3.25rem;

  /* Remaining scores */
  --scorer-remaining-box-h: 3.25rem;
  --scorer-remaining-box-fs: 2.5rem;
  --scorer-remaining-compact-box-h: 2.25rem;
  --scorer-remaining-compact-box-fs: 1.5rem;

  /* Match console scoreboard — legs / remaining in side panels */
  --scorer-scoreboard-primary-fs: clamp(3.25rem, 14vw, 4.25rem);

  /* Keypad */
  --scorer-keypad-digit-min-h: 3rem;
  --scorer-keypad-digit-fs: 1.25rem;
  --scorer-keypad-score-field-min-h: 3.5rem;
  --scorer-keypad-enter-min-h: 2.75rem;
  --scorer-keypad-enter-fs: 1rem;
  --scorer-keypad-quick-chip-min-h: 2.75rem;

  /* Touch targets (matrix: 44px mobile, 64px tablet landscape) */
  --scorer-touch-min: 2.75rem;
  --scorer-touch-tablet-min: 4rem;
  --scorer-touch-grid-preferred: 5rem;
  --scorer-touch-grid-score-min: 5.625rem;
  --scorer-touch-grid-score-max: 7.5rem;

  /* Spacing scale */
  --scorer-keypad-gap: 0.375rem;
  --scorer-section-gap: 0.5rem;
  --scorer-keypad-submit-safe-pb: max(0.5rem, env(safe-area-inset-bottom, 0px));
  --scorer-keypad-enter-portrait-min-h: 4.75rem;

  --scorer-chrome-offset: calc(var(--scorer-header-h) + var(--scorer-player-strip-max) + var(--scorer-chrome-gap));
}

/* mobile — vertical phone controller */
[data-kiosk-tier="mobile"] {
  --scorer-header-h: 2.85rem;
  --scorer-header-action-min: 2.75rem;
  --scorer-player-strip-max: 22dvh;
  --scorer-player-card-h: 5rem;
  --scorer-remaining-box-h: 3rem;
  --scorer-remaining-box-fs: 2.25rem;
  --scorer-keypad-digit-min-h: 2.75rem;
  --scorer-touch-min: 2.75rem;
  --scorer-keypad-gap: 0.25rem;
  --scorer-section-gap: 0.375rem;
  --scorer-keypad-submit-safe-pb: max(0.75rem, env(safe-area-inset-bottom, 0px));
  --scorer-chrome-offset: calc(var(--scorer-header-h) + var(--scorer-player-strip-max) + 1rem);
}

/* tablet portrait */
[data-kiosk-tier="tabletPortrait"] {
  --scorer-header-h: 3rem;
  --scorer-player-strip-max: 24dvh;
  --scorer-player-card-h: 5.25rem;
  --scorer-remaining-box-h: 3.25rem;
  --scorer-remaining-box-fs: 2.35rem;
  --scorer-keypad-digit-min-h: 3rem;
}

/* tablet landscape — 1280×800 design frame */
[data-kiosk-tier="tabletLandscape"] {
  --scorer-header-h: 2.35rem;
  --scorer-header-action-min: 2.35rem;
  --scorer-player-strip-max: 22dvh;
  --scorer-player-card-h: 12rem;
  --scorer-remaining-box-h: 8.25rem;
  --scorer-remaining-box-fs: clamp(5.55rem, 12vw, 7.95rem);
  --scorer-remaining-compact-box-h: 6.75rem;
  --scorer-remaining-compact-box-fs: clamp(4.05rem, 9vw, 5.55rem);
  --scorer-scoreboard-primary-fs: clamp(5.55rem, 12vw, 7.95rem);
  --scorer-keypad-digit-min-h: 3.1rem;
  --scorer-keypad-digit-fs: 1.3rem;
  --scorer-keypad-score-field-min-h: 2.75rem;
  --scorer-keypad-enter-min-h: var(--scorer-touch-grid-score-min);
  --scorer-keypad-enter-fs: 1rem;
  --scorer-touch-tablet-min: 4rem;
  --kiosk-touch-min: var(--scorer-touch-tablet-min);
  --kiosk-touch-preferred: var(--scorer-touch-grid-preferred);
  --kiosk-touch-score-min: var(--scorer-touch-grid-score-min);
  --kiosk-touch-score-max: var(--scorer-touch-grid-score-max);
  --scorer-chrome-offset: calc(var(--scorer-header-h) + var(--scorer-player-strip-max) + 0.75rem);
}

/* desktop / TV */
[data-kiosk-tier="desktopTv"] {
  --scorer-header-h: 3.85rem;
  --scorer-player-strip-max: 32dvh;
  --scorer-player-card-h: 6rem;
  --scorer-remaining-box-h: 4rem;
  --scorer-remaining-box-fs: 3.25rem;
  --scorer-scoreboard-primary-fs: clamp(7.95rem, 18vw, 11.25rem);
  --scorer-keypad-digit-min-h: 3.5rem;
  --scorer-keypad-digit-fs: 1.5rem;
  --scorer-keypad-enter-min-h: var(--scorer-touch-grid-score-min);
  --kiosk-touch-min: var(--scorer-touch-tablet-min);
  --kiosk-touch-preferred: var(--scorer-touch-grid-preferred);
  --kiosk-touch-score-min: var(--scorer-touch-grid-score-min);
  --kiosk-touch-score-max: var(--scorer-touch-grid-score-max);
}

/* Venue embed iframe — pinned tablet landscape chrome */
main.vk-score-embed {
  --scorer-player-strip-max: 24dvh;
  --scorer-player-card-h: 5.25rem;
  --scorer-header-h: 3.35rem;
  --scorer-header-action-min: 3rem;
}

main.vk-score-embed[data-kiosk-tier="tabletLandscape"],
main.vk-score-embed[data-kiosk-tier="tabletLandscape"].scorer-tablet-wide {
  --scorer-header-h: 3.15rem;
  --scorer-header-action-min: 2.9rem;
  --scorer-player-strip-max: 22dvh;
  --scorer-player-card-h: 12rem;
  --scorer-remaining-box-h: 8.25rem;
  --scorer-remaining-box-fs: clamp(5.55rem, 12vw, 7.95rem);
  --scorer-remaining-compact-box-h: 6.75rem;
  --scorer-remaining-compact-box-fs: clamp(4.05rem, 9vw, 5.55rem);
  --scorer-scoreboard-primary-fs: clamp(5.55rem, 12vw, 7.95rem);
  --kiosk-touch-min: var(--scorer-touch-tablet-min);
  --kiosk-touch-preferred: var(--scorer-touch-grid-preferred);
  --kiosk-touch-score-min: var(--scorer-touch-grid-score-min);
  --kiosk-touch-score-max: var(--scorer-touch-grid-score-max);
}

main.vk-score-embed[data-kiosk-tier="desktopTv"],
main.vk-score-embed[data-kiosk-tier="desktopTv"].scorer-tablet-wide {
  --scorer-scoreboard-primary-fs: clamp(7.95rem, 18vw, 11.25rem);
}

/* Triple / quad roster density */
[data-scorer-roster="triple"] {
  --scorer-player-strip-max: min(var(--scorer-player-strip-max), 18dvh);
  --scorer-player-card-h: var(--scorer-player-card-h-compact);
}

[data-scorer-roster="quad"] {
  --scorer-player-strip-max: min(var(--scorer-player-strip-max), 16dvh);
  --scorer-player-card-h: 2.85rem;
}

/* Turn-only strip (fixture doubles/beer) */
.scorer-player-strip--turn-only {
  --scorer-player-card-h: var(--scorer-player-card-h-compact);
  --scorer-player-strip-max: min(var(--scorer-player-strip-max), 14dvh);
}
