/* VIVE Overlay Layout v0.8.0 - used only by public/overlay.html */
/* The canvas rules intentionally preserve the v0.7.1 placement that already works in OBS. */

html:has(body[data-page="overlay"].vive-overlay-clean),
body[data-page="overlay"].vive-overlay-clean,
body[data-page="overlay"].vive-overlay-clean .vive-overlay-canvas,
body[data-page="overlay"].vive-overlay-clean #mainCanvas {
  background: transparent !important;
  background-color: transparent !important;
}

body[data-page="overlay"].vive-overlay-clean {
  --vive-canvas-top: clamp(98px, 11.5vh, 158px);
  --vive-canvas-half: min(44vw, 59vh);
  --vive-canvas-height: min(49.5vw, 66.375vh);
  color: #ffffff;
  overflow: hidden;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-canvas {
  position: fixed !important;
  z-index: 1;
  top: var(--vive-canvas-top) !important;
  right: auto !important;
  bottom: auto !important;
  left: 50% !important;
  width: min(88vw, 118vh) !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 16 / 9 !important;
  transform: translateX(-50%) !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  pointer-events: none !important;
}

body[data-page="overlay"].vive-overlay-clean #mainCanvas {
  display: block;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-wordbar {
  position: fixed;
  z-index: 12;
  top: clamp(12px, 1.75vh, 26px);
  right: 50%;
  width: min(94vw, 140vh);
  min-width: 0;
  transform: translateX(50%);
  padding: clamp(8px, .85vw, 14px) clamp(14px, 1.7vw, 28px);
  border: 1px solid rgba(117, 232, 255, .72);
  border-radius: clamp(14px, 1.25vw, 24px);
  background: rgba(5, 31, 46, .84);
  box-shadow: 0 10px 30px rgba(0, 0, 0, .28), inset 0 0 22px rgba(75, 220, 255, .08);
  text-align: center;
  pointer-events: none;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-word-meta {
  display: flex;
  justify-content: center;
  gap: clamp(12px, 2.2vw, 34px);
  color: #bceeff;
  font-size: clamp(10px, 1vw, 17px);
  font-weight: 850;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-word-mask {
  width: 100%;
  margin-top: .05em;
  color: #ffe18a;
  font-size: clamp(28px, 3.6vw, 72px) !important;
  line-height: 1.06;
  letter-spacing: clamp(.015em, .035vw, .04em) !important;
  word-spacing: .2em !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  text-shadow: 0 0 22px rgba(255, 192, 64, .22);
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-word-mask.word-fit-medium {
  font-size: clamp(24px, 3vw, 58px) !important;
  letter-spacing: .024em !important;
  word-spacing: .14em !important;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-word-mask.word-fit-small {
  font-size: clamp(20px, 2.45vw, 48px) !important;
  letter-spacing: .016em !important;
  word-spacing: .1em !important;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-word-mask.word-fit-extra-small {
  font-size: clamp(17px, 2.05vw, 39px) !important;
  letter-spacing: .008em !important;
  word-spacing: .05em !important;
}
body[data-page="overlay"].vive-overlay-clean .vive-overlay-word-mask.has-mask-parts {
  --word-mask-word-gap-base: .2em;
  gap: calc(var(--word-mask-word-gap-base) + (var(--word-mask-slot-width, .42em) * .5)) !important;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-word-mask.word-fit-medium.has-mask-parts {
  --word-mask-word-gap-base: .14em;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-word-mask.word-fit-small.has-mask-parts {
  --word-mask-word-gap-base: .1em;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-word-mask.word-fit-extra-small.has-mask-parts {
  --word-mask-word-gap-base: .05em;
}

/* Timer: deliberately placed directly beneath the word mask, never inside a large card. */
body[data-page="overlay"].vive-overlay-clean .vive-overlay-timer-anchor {
  position: fixed;
  z-index: 13;
  top: clamp(97px, 11.55vh, 154px);
  right: 50%;
  display: inline-flex;
  align-items: center;
  gap: .46em;
  transform: translateX(50%);
  min-height: clamp(25px, 2.8vh, 36px);
  padding: clamp(4px, .4vw, 7px) clamp(9px, .7vw, 13px);
  border: 1px solid rgba(255, 143, 126, .78);
  border-radius: 999px;
  background: rgba(116, 22, 23, .94);
  box-shadow: 0 6px 16px rgba(0, 0, 0, .26);
  color: #ffe4de;
  font-size: clamp(10px, .83vw, 14px);
  font-weight: 850;
  line-height: 1;
  pointer-events: none;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-timer-anchor b {
  color: #ffffff;
  font-size: clamp(13px, 1.15vw, 20px);
  font-variant-numeric: tabular-nums;
  letter-spacing: .035em;
}

/* One narrow board only. It reflects the currently available game scores, not all-time XP. */
body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board {
  position: fixed;
  z-index: 8;
  top: calc(var(--vive-canvas-top) + clamp(14px, 2.4vh, 34px));
  left: calc(50% + var(--vive-canvas-half) + clamp(10px, .8vw, 16px));
  width: min(15vw, 250px);
  max-height: min(52vh, 560px);
  overflow: hidden;
  padding: clamp(8px, .72vw, 12px) clamp(9px, .8vw, 14px);
  border: 1px solid rgba(213, 224, 232, .36);
  border-radius: clamp(12px, .95vw, 18px);
  background: rgba(20, 24, 31, .64);
  box-shadow: 0 8px 26px rgba(0, 0, 0, .22);
  color: #edf4fa;
  pointer-events: none;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-board-heading {
  margin-bottom: .45em;
  color: rgba(239, 246, 252, .95);
  font-size: clamp(10px, .85vw, 15px);
  font-weight: 950;
  white-space: nowrap;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board #scores {
  max-height: min(45vh, 480px);
  overflow: hidden;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board .score-row {
  grid-template-columns: 1.5em minmax(0, 1fr) auto;
  gap: .4em;
  padding: clamp(3px, .28vw, 5px) 0;
  border-bottom-color: rgba(255, 255, 255, .13);
  color: #f6f9fc;
  font-size: clamp(10px, .76vw, 14px);
  line-height: 1.12;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board .score-row:nth-child(n + 9) {
  display: none;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board .name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board .rank {
  color: #8edcf7;
  font-weight: 900;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board .muted {
  padding: .4em 0;
  color: rgba(234, 241, 247, .74);
  font-size: clamp(10px, .75vw, 13px);
  line-height: 1.25;
}

/* Drawer name: a small signature inside the canvas corner, not a dashboard card. */
body[data-page="overlay"].vive-overlay-clean .vive-overlay-drawer-signature {
  position: fixed;
  z-index: 7;
  top: calc(var(--vive-canvas-top) + var(--vive-canvas-height) - clamp(34px, 3.6vh, 52px));
  right: calc(50% - var(--vive-canvas-half) + clamp(10px, .85vw, 16px));
  display: inline-flex;
  align-items: baseline;
  gap: .42em;
  max-width: min(26vw, 340px);
  padding: clamp(4px, .35vw, 7px) clamp(8px, .64vw, 12px);
  border: 1px solid rgba(255, 104, 128, .72);
  border-radius: 999px;
  background: rgba(102, 16, 35, .89);
  box-shadow: 0 5px 16px rgba(0, 0, 0, .24);
  color: #ffd7df;
  font-size: clamp(10px, .78vw, 14px);
  font-weight: 850;
  white-space: nowrap;
  overflow: hidden;
  pointer-events: none;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-drawer-signature b {
  overflow: hidden;
  color: #ffffff;
  font-size: clamp(11px, .94vw, 17px);
  font-weight: 950;
  text-overflow: ellipsis;
}

/* Chat instruction stays free text beneath the drawing. It gets no card, border, or fill. */
body[data-page="overlay"].vive-overlay-clean .vive-overlay-chat-free {
  position: fixed;
  z-index: 7;
  top: calc(var(--vive-canvas-top) + var(--vive-canvas-height) + clamp(7px, .7vh, 12px));
  right: 50%;
  width: min(88vw, 118vh);
  transform: translateX(50%);
  color: #e7b842;
  font-size: clamp(10px, .88vw, 16px);
  font-weight: 900;
  line-height: 1.2;
  text-align: center;
  text-shadow: 0 2px 8px rgba(0, 0, 0, .58);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  pointer-events: none;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-chat-event:empty {
  display: none;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-chat-event:not(:empty)::before {
  content: ' • ';
  color: rgba(255, 218, 126, .72);
}

body[data-page="overlay"].vive-overlay-clean #timerBar {
  display: none !important;
}

body[data-page="overlay"].vive-overlay-clean .correct-banner {
  z-index: 30;
  top: clamp(138px, 16.5vh, 225px);
  max-width: min(90vw, 980px);
  background: linear-gradient(135deg, rgba(7, 13, 22, .54), rgba(19, 34, 47, .42));
  color: #ffffff;
  border: 1px solid rgba(214, 246, 255, .42);
}

@media (max-aspect-ratio: 1 / 1) {
  body[data-page="overlay"].vive-overlay-clean {
    --vive-canvas-bottom: clamp(150px, 16.5vh, 235px);
    --vive-canvas-half: min(49vw, 70vh);
    --vive-canvas-height: min(55.125vw, 78.75vh);
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-wordbar {
    top: clamp(10px, 1.2vh, 20px);
    width: calc(100vw - 20px);
    padding: 9px 12px;
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-word-mask {
    font-size: clamp(25px, 6.4vw, 58px) !important;
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-word-mask.word-fit-medium {
    font-size: clamp(21px, 5.1vw, 46px) !important;
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-word-mask.word-fit-small {
    font-size: clamp(18px, 4.2vw, 38px) !important;
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-word-mask.word-fit-extra-small {
    font-size: clamp(15px, 3.45vw, 31px) !important;
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-canvas {
    top: auto !important;
    bottom: var(--vive-canvas-bottom) !important;
    width: min(98vw, 140vh) !important;
    height: auto !important;
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-timer-anchor {
    top: clamp(96px, 10.8vh, 154px);
    min-height: 29px;
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board {
    top: calc(100vh - var(--vive-canvas-bottom) - var(--vive-canvas-height) + clamp(10px, 1.4vh, 22px));
    right: clamp(8px, 1vw, 18px);
    left: auto;
    width: min(25vw, 250px);
    max-height: min(43vh, 500px);
    padding: 8px 9px;
    border-radius: 14px;
    background: rgba(20, 24, 31, .53);
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board #scores {
    max-height: min(37vh, 430px);
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board .score-row {
    font-size: clamp(10px, 2.1vw, 14px);
    padding: 3px 0;
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board .score-row:nth-child(n + 8) {
    display: none;
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-drawer-signature {
    top: auto;
    right: calc(50% - var(--vive-canvas-half) + 10px);
    bottom: calc(var(--vive-canvas-bottom) + 10px);
    max-width: min(46vw, 360px);
    font-size: clamp(10px, 2.1vw, 14px);
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-drawer-signature b {
    font-size: clamp(12px, 2.65vw, 18px);
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-chat-free {
    top: auto;
    bottom: calc(var(--vive-canvas-bottom) - clamp(31px, 3.8vh, 52px));
    width: min(98vw, 140vh);
    font-size: clamp(10px, 2.15vw, 15px);
  }

  body[data-page="overlay"].vive-overlay-clean .correct-banner {
    top: 17vh;
  }
}

/* VIVE Overlay Toast Fix v0.8.1 - short frosted event toast, never over the word mask. */
body[data-page="overlay"].vive-overlay-clean .correct-banner {
  top: calc(var(--vive-canvas-top) + var(--vive-canvas-height) + clamp(30px, 3.2vh, 54px));
  z-index: 26;
  max-width: min(64vw, 720px);
  padding: clamp(7px, .55vw, 10px) clamp(12px, .9vw, 17px);
  border: 1px solid rgba(228, 244, 248, .34);
  border-radius: 999px;
  background: rgba(24, 34, 40, .48);
  color: rgba(255,255,255,.96);
  box-shadow: 0 10px 30px rgba(0,0,0,.22);
  backdrop-filter: blur(16px) saturate(1.08);
  -webkit-backdrop-filter: blur(16px) saturate(1.08);
  font-size: clamp(11px, .92vw, 16px);
  line-height: 1.18;
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, 14px);
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}

body[data-page="overlay"].vive-overlay-clean .correct-banner.show {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}

body[data-page="overlay"].vive-overlay-clean.competition-finished-mode .vive-overlay-top-hud,
body[data-page="overlay"].vive-overlay-clean.competition-finished-mode .vive-overlay-wordbar,
body[data-page="overlay"].vive-overlay-clean.competition-finished-mode .vive-overlay-timer-anchor,
body[data-page="overlay"].vive-overlay-clean.competition-finished-mode .vive-overlay-current-board,
body[data-page="overlay"].vive-overlay-clean.competition-finished-mode .vive-overlay-drawer-signature,
body[data-page="overlay"].vive-overlay-clean.competition-finished-mode .vive-overlay-chat-free {
  display: none !important;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-finale {
  position: fixed;
  z-index: 40;
  inset: clamp(22px, 3vh, 46px) clamp(28px, 4vw, 76px);
  display: grid;
  place-items: center;
  pointer-events: none;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-finale[hidden] {
  display: none;
}

body[data-page="overlay"].vive-overlay-clean .competition-finale-card {
  width: min(1180px, 100%);
  display: grid;
  gap: clamp(10px, 1.4vw, 18px);
  padding: clamp(20px, 3vw, 44px);
  border: 1px solid rgba(255, 221, 118, .58);
  border-radius: clamp(22px, 2.4vw, 36px);
  background:
    radial-gradient(circle at 50% 0%, rgba(255, 206, 75, .27), transparent 44%),
    rgba(5, 8, 14, .74);
  box-shadow: 0 20px 70px rgba(0,0,0,.36), inset 0 0 32px rgba(255, 211, 87, .08);
  color: #ffffff;
  text-align: center;
}

body[data-page="overlay"].vive-overlay-clean .competition-finale-kicker {
  color: #ffe39a;
  font-size: clamp(14px, 1.35vw, 24px);
  font-weight: 950;
}

body[data-page="overlay"].vive-overlay-clean .competition-finale-card h2 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(46px, 6.2vw, 118px);
  line-height: .92;
  font-weight: 950;
  text-shadow: 0 0 30px rgba(255, 214, 98, .2);
}

body[data-page="overlay"].vive-overlay-clean .competition-finale-card p {
  margin: 0;
  color: rgba(241, 247, 255, .74);
  font-size: clamp(12px, 1.05vw, 18px);
  font-weight: 850;
}

body[data-page="overlay"].vive-overlay-clean .competition-podium {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: end;
  gap: clamp(8px, 1vw, 16px);
}

body[data-page="overlay"].vive-overlay-clean .competition-podium-seat {
  display: grid;
  gap: 4px;
  min-height: clamp(108px, 13vh, 170px);
  align-content: center;
  padding: clamp(10px, 1.3vw, 18px);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: clamp(15px, 1.5vw, 24px);
  background: rgba(255,255,255,.07);
}

body[data-page="overlay"].vive-overlay-clean .competition-podium-seat.rank-one {
  min-height: clamp(138px, 16vh, 220px);
  border-color: rgba(255, 218, 92, .72);
  background: linear-gradient(180deg, rgba(255, 208, 75, .24), rgba(255,255,255,.08));
}

body[data-page="overlay"].vive-overlay-clean .competition-podium-seat.rank-two { order: -1; }

body[data-page="overlay"].vive-overlay-clean .competition-podium-seat span {
  color: #ffe39a;
  font-size: clamp(10px, .85vw, 15px);
  font-weight: 950;
}

body[data-page="overlay"].vive-overlay-clean .competition-podium-seat b {
  overflow: hidden;
  color: #ffffff;
  font-size: clamp(18px, 1.9vw, 34px);
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-page="overlay"].vive-overlay-clean .competition-podium-seat strong,
body[data-page="overlay"].vive-overlay-clean .competition-podium-seat em {
  color: rgba(255,255,255,.82);
  font-style: normal;
  font-size: clamp(12px, 1vw, 18px);
  font-weight: 900;
}

body[data-page="overlay"].vive-overlay-clean .competition-podium-seat em { color: #ffd978; }

body[data-page="overlay"].vive-overlay-clean .competition-final-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px 10px;
}

body[data-page="overlay"].vive-overlay-clean .competition-final-row {
  display: grid;
  grid-template-columns: 2.6em minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 7px;
  min-height: clamp(28px, 3vh, 42px);
  padding: 5px 9px;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 12px;
  background: rgba(255,255,255,.055);
  text-align: start;
  font-size: clamp(11px, .9vw, 16px);
}

body[data-page="overlay"].vive-overlay-clean .competition-final-row b {
  overflow: hidden;
  color: #ffffff;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-page="overlay"].vive-overlay-clean .competition-final-rank,
body[data-page="overlay"].vive-overlay-clean .competition-final-row strong {
  color: #ffd978;
  font-weight: 950;
  white-space: nowrap;
}

@media (max-aspect-ratio: 1 / 1) {
  body[data-page="overlay"].vive-overlay-clean .correct-banner {
    top: auto;
    bottom: calc(var(--vive-canvas-bottom) - clamp(78px, 9vh, 126px));
    max-width: min(82vw, 520px);
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-finale {
    inset: 12px;
  }

  body[data-page="overlay"].vive-overlay-clean .competition-podium,
  body[data-page="overlay"].vive-overlay-clean .competition-final-list {
    grid-template-columns: 1fr;
  }

  body[data-page="overlay"].vive-overlay-clean .competition-podium-seat,
  body[data-page="overlay"].vive-overlay-clean .competition-podium-seat.rank-one {
    order: 0;
    min-height: 84px;
  }

  body[data-page="overlay"].vive-overlay-clean .competition-final-row {
    grid-template-columns: 2.5em minmax(0, 1fr) auto;
  }

  body[data-page="overlay"].vive-overlay-clean .competition-final-row strong {
    grid-column: 2 / -1;
    justify-self: start;
  }
}


/* VIVE Overlay v0.9.0 · same game language, readable in OBS horizontal and vertical */
body[data-page="overlay"].vive-overlay-clean .vive-overlay-word-meta {
  font-size: clamp(13px, 1.25vw, 22px);
  gap: clamp(16px, 2.5vw, 42px);
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-timer-anchor {
  min-height: clamp(29px, 3.25vh, 43px);
  padding: clamp(5px, .52vw, 9px) clamp(11px, .9vw, 16px);
  font-size: clamp(12px, 1.02vw, 17px);
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-timer-anchor b {
  font-size: clamp(16px, 1.38vw, 24px);
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board {
  /* horizontal: score rail moves to the left of the drawing and is easy to read from stream scale */
  left: auto;
  right: calc(50% + var(--vive-canvas-half) + clamp(12px, 1vw, 20px));
  width: min(18vw, 295px);
  max-height: min(57vh, 650px);
  padding: clamp(10px, .9vw, 15px) clamp(11px, 1vw, 17px);
  border-radius: clamp(14px, 1.15vw, 21px);
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-board-heading {
  font-size: clamp(12px, 1.05vw, 18px);
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board #scores {
  max-height: min(50vh, 570px);
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board .score-row {
  min-height: clamp(23px, 2.2vh, 33px);
  padding: clamp(4px, .38vw, 7px) 0;
  font-size: clamp(12px, .95vw, 17px);
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board .score-row:nth-child(n + 10) {
  display: none;
}

body[data-page="overlay"].vive-overlay-drawer-signature {
  padding: clamp(5px, .45vw, 8px) clamp(10px, .78vw, 14px);
  font-size: clamp(12px, .95vw, 17px);
}

body[data-page="overlay"].vive-overlay-drawer-signature b {
  font-size: clamp(14px, 1.13vw, 20px);
}

body[data-page="overlay"].vive-overlay-chat-free {
  font-size: clamp(13px, 1.04vw, 19px);
}

@media (max-aspect-ratio: 1 / 1) {
  body[data-page="overlay"].vive-overlay-clean .vive-overlay-word-meta {
    font-size: clamp(13px, 2.65vw, 19px);
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-timer-anchor {
    top: clamp(110px, 12.2vh, 172px);
    min-height: 35px;
    font-size: clamp(12px, 2.2vw, 17px);
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-timer-anchor b {
    font-size: clamp(17px, 3.1vw, 24px);
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board {
    /* vertical: the board sits above the canvas so the canvas keeps its full width */
    top: clamp(172px, 18.2vh, 258px);
    right: 50%;
    left: auto;
    width: min(94vw, 740px);
    max-height: min(20vh, 230px);
    transform: translateX(50%);
    padding: 9px 11px;
    border-radius: 16px;
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-board-heading {
    margin-bottom: 4px;
    font-size: clamp(12px, 2.5vw, 17px);
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board #scores {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 3px 10px;
    max-height: none;
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board .score-row {
    min-height: 26px;
    padding: 3px 0;
    font-size: clamp(11px, 2.35vw, 16px);
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board .score-row:nth-child(n + 11) {
    display: none;
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-drawer-signature {
    font-size: clamp(12px, 2.45vw, 17px);
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-drawer-signature b {
    font-size: clamp(14px, 2.9vw, 21px);
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-chat-free {
    font-size: clamp(12px, 2.45vw, 18px);
  }
}

/* marker: VIVE Overlay v0.9.0 readable score rail */

/* VIVE Premium OBS Overlay v1.0 - cinematic 16:9 and portrait live layouts */
body[data-page="overlay"].vive-overlay-clean {
  --vive-canvas-top: clamp(230px, 24.5vh, 286px);
  --vive-canvas-width: min(72vw, 1220px);
  --vive-canvas-half: calc(var(--vive-canvas-width) / 2);
  --vive-canvas-height: calc(var(--vive-canvas-width) * 9 / 16);
  --vive-left-rail-width: clamp(285px, 17.8vw, 360px);
  font-family: "Heebo", sans-serif;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-canvas {
  top: var(--vive-canvas-top) !important;
  width: var(--vive-canvas-width) !important;
  filter: drop-shadow(0 24px 44px rgba(0, 0, 0, .28));
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-wordbar {
  top: clamp(28px, 3.4vh, 46px);
  width: min(76vw, 1340px);
  padding: clamp(10px, .95vw, 18px) clamp(22px, 2.2vw, 42px);
  border-color: rgba(136, 239, 255, .44);
  border-radius: clamp(20px, 1.6vw, 30px);
  background: linear-gradient(90deg, rgba(3, 18, 31, .12), rgba(9, 43, 62, .52), rgba(3, 18, 31, .12));
  box-shadow: 0 18px 44px rgba(0, 0, 0, .22), inset 0 0 34px rgba(95, 228, 255, .1);
  backdrop-filter: blur(12px) saturate(1.2);
  -webkit-backdrop-filter: blur(12px) saturate(1.2);
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-word-meta {
  opacity: .62;
  font-size: clamp(12px, .82vw, 16px);
  gap: clamp(14px, 1.8vw, 34px);
  letter-spacing: 0;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-word-meta span:nth-child(2) {
  display: none;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-word-mask {
  color: #ffe58e;
  font-size: clamp(58px, 5.15vw, 104px) !important;
  line-height: .98;
  text-shadow: 0 0 18px rgba(255, 225, 138, .3), 0 8px 24px rgba(0, 0, 0, .42);
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-word-mask.word-fit-medium {
  font-size: clamp(48px, 4.25vw, 82px) !important;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-word-mask.word-fit-small {
  font-size: clamp(40px, 3.5vw, 68px) !important;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-word-mask.word-fit-extra-small {
  font-size: clamp(32px, 2.85vw, 54px) !important;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-timer-anchor {
  top: calc(var(--vive-canvas-top) - clamp(54px, 5.7vh, 78px));
  min-height: clamp(74px, 7.6vh, 104px);
  padding: clamp(10px, .85vw, 16px) clamp(24px, 1.9vw, 38px);
  border: 1px solid rgba(255, 230, 158, .62);
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(92, 19, 31, .78), rgba(190, 58, 40, .82));
  box-shadow: 0 20px 42px rgba(0, 0, 0, .34), 0 0 40px rgba(255, 112, 80, .16);
  font-size: clamp(15px, 1.15vw, 22px);
  backdrop-filter: blur(12px) saturate(1.18);
  -webkit-backdrop-filter: blur(12px) saturate(1.18);
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-timer-anchor b {
  font-size: clamp(44px, 4.5vw, 86px);
  line-height: .88;
  letter-spacing: .02em;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board {
  top: calc(var(--vive-canvas-top) + clamp(18px, 2.2vh, 34px));
  left: clamp(28px, 2.2vw, 52px);
  right: auto;
  width: var(--vive-left-rail-width);
  max-height: calc(var(--vive-canvas-height) - clamp(36px, 4vh, 58px));
  padding: clamp(14px, 1.05vw, 20px);
  border-color: rgba(199, 239, 247, .22);
  border-radius: clamp(20px, 1.45vw, 28px);
  background: linear-gradient(155deg, rgba(255, 255, 255, .075), transparent 33%), rgba(7, 19, 29, .72);
  box-shadow: 0 20px 52px rgba(0, 0, 0, .28), inset 0 1px 0 rgba(255, 255, 255, .08);
  backdrop-filter: blur(18px) saturate(1.1);
  -webkit-backdrop-filter: blur(18px) saturate(1.1);
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-board-heading {
  margin-bottom: clamp(10px, 1vh, 15px);
  color: #f7fbff;
  font-size: clamp(17px, 1.18vw, 23px);
  font-weight: 800;
  letter-spacing: 0;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board #scores {
  display: grid;
  gap: clamp(7px, .72vh, 11px);
  min-width: 0;
  max-height: calc(var(--vive-canvas-height) - clamp(92px, 9vh, 136px));
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board .score-row {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr) max-content max-content;
  grid-template-areas: "score name avatar rank";
  align-items: center;
  gap: clamp(8px, .72vw, 13px);
  min-width: 0;
  min-height: clamp(46px, 4.6vh, 64px);
  padding: clamp(8px, .62vw, 11px) clamp(9px, .72vw, 14px);
  border: 1px solid rgba(255, 255, 255, .075);
  border-radius: clamp(13px, 1vw, 18px);
  background: rgba(255, 255, 255, .045);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035);
  direction: ltr;
  font-size: clamp(14px, 1vw, 20px);
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board .score-row:nth-child(n + 8) {
  display: none;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board .rank {
  grid-area: rank;
  display: grid;
  place-items: center;
  width: clamp(28px, 2.2vw, 40px);
  aspect-ratio: 1;
  border-radius: 12px;
  background: rgba(121, 221, 204, .11);
  color: #9ce8da;
  font-size: clamp(12px, .9vw, 17px);
  font-weight: 900;
  direction: ltr;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board .score-avatar {
  grid-area: avatar;
  width: clamp(30px, 2.45vw, 44px);
  height: clamp(30px, 2.45vw, 44px);
  border-radius: 50%;
  font-size: clamp(16px, 1.35vw, 24px);
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board .name {
  grid-area: name;
  display: block;
  inline-size: 100%;
  min-inline-size: 0;
  min-width: 0;
  justify-self: stretch;
  overflow: hidden;
  color: #f7fbff;
  font-size: clamp(14px, 1.05vw, 20px);
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
  unicode-bidi: plaintext;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board .score-row .score {
  grid-area: score;
  color: rgba(231, 244, 248, .86);
  font-size: clamp(12px, .88vw, 17px);
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  direction: ltr;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-drawer-signature {
  top: calc(var(--vive-canvas-top) + var(--vive-canvas-height) - clamp(72px, 7vh, 96px));
  right: calc(50% - var(--vive-canvas-half) + clamp(22px, 1.6vw, 34px));
  max-width: min(42vw, 560px);
  padding: clamp(10px, .78vw, 15px) clamp(18px, 1.35vw, 28px);
  border-color: rgba(255, 215, 129, .58);
  background: linear-gradient(135deg, rgba(74, 19, 40, .64), rgba(20, 35, 52, .58));
  box-shadow: 0 16px 36px rgba(0, 0, 0, .28);
  font-size: clamp(17px, 1.15vw, 24px);
  backdrop-filter: blur(12px) saturate(1.15);
  -webkit-backdrop-filter: blur(12px) saturate(1.15);
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-drawer-signature b {
  font-size: clamp(24px, 1.8vw, 36px);
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-chat-free {
  top: calc(var(--vive-canvas-top) + var(--vive-canvas-height) + clamp(18px, 2vh, 34px));
  width: min(82vw, 1320px);
  color: #ffe18a;
  font-size: clamp(28px, 2.1vw, 43px);
  font-weight: 950;
  text-shadow: 0 4px 18px rgba(0, 0, 0, .62), 0 0 26px rgba(255, 207, 97, .2);
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-chat-note {
  padding: .12em .7em;
  border: 1px solid rgba(255, 225, 138, .28);
  border-radius: 999px;
  background: rgba(10, 16, 24, .22);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

body[data-page="overlay"].vive-overlay-clean .correct-banner {
  top: calc(var(--vive-canvas-top) + var(--vive-canvas-height) + clamp(78px, 8.4vh, 116px));
  max-width: min(86vw, 1120px);
  padding: clamp(18px, 1.35vw, 28px) clamp(34px, 2.6vw, 56px);
  border-radius: clamp(24px, 1.8vw, 34px);
  background: linear-gradient(135deg, rgba(6, 25, 38, .66), rgba(16, 56, 78, .58));
  border-color: rgba(169, 238, 255, .42);
  box-shadow: 0 22px 54px rgba(0, 0, 0, .34), inset 0 0 32px rgba(133, 232, 255, .08);
  font-size: clamp(36px, 2.75vw, 56px);
  font-weight: 950;
  text-shadow: 0 4px 18px rgba(0, 0, 0, .4);
  transform: translate(-50%, 24px) scale(.98);
}

body[data-page="overlay"].vive-overlay-clean .correct-banner.show {
  transform: translate(-50%, 0) scale(1);
}

body[data-page="overlay"].vive-overlay-clean .correct-banner.is-correct {
  color: #fff7d8;
  background: linear-gradient(135deg, rgba(31, 108, 78, .7), rgba(18, 144, 102, .62));
  border-color: rgba(181, 255, 214, .54);
}

body[data-page="overlay"].vive-overlay-clean .correct-banner.is-choosing {
  color: #dff7ff;
  background: linear-gradient(135deg, rgba(29, 31, 72, .7), rgba(44, 87, 124, .58));
  animation: viveOverlayPulse 1.2s ease-in-out infinite alternate;
}

body[data-page="overlay"].vive-overlay-clean .correct-banner.is-handoff {
  color: #ffe7a6;
  background: linear-gradient(135deg, rgba(82, 45, 12, .68), rgba(124, 75, 18, .58));
  border-color: rgba(255, 218, 126, .48);
}

@keyframes viveOverlayPulse {
  from { box-shadow: 0 22px 54px rgba(0, 0, 0, .34), 0 0 0 rgba(133, 232, 255, 0); }
  to { box-shadow: 0 22px 54px rgba(0, 0, 0, .34), 0 0 34px rgba(133, 232, 255, .22); }
}

body[data-page="overlay"].vive-overlay-clean.overlay-choosing-word .vive-overlay-word-mask {
  opacity: .45;
}

body[data-page="overlay"].vive-overlay-clean.overlay-choosing-word .vive-overlay-chat-free,
body[data-page="overlay"].vive-overlay-clean.overlay-between-turns .vive-overlay-chat-free {
  opacity: .78;
}

body[data-page="overlay"].vive-overlay-clean.competition-finished-mode .vive-overlay-canvas {
  opacity: .2;
}

body[data-page="overlay"].vive-overlay-clean .competition-finale-card {
  width: min(1460px, 100%);
  gap: clamp(14px, 1.45vw, 26px);
  padding: clamp(30px, 3.4vw, 66px);
  border-color: rgba(255, 226, 143, .5);
  background: radial-gradient(circle at 50% 0%, rgba(255, 213, 91, .3), transparent 42%), linear-gradient(180deg, rgba(6, 10, 18, .82), rgba(10, 16, 26, .68));
  backdrop-filter: blur(18px) saturate(1.12);
  -webkit-backdrop-filter: blur(18px) saturate(1.12);
}

body[data-page="overlay"].vive-overlay-clean .competition-finale-card h2 {
  font-size: clamp(72px, 7.6vw, 146px);
}

body[data-page="overlay"].vive-overlay-clean .competition-finale-card p {
  font-size: clamp(16px, 1.15vw, 24px);
}

body[data-page="overlay"].vive-overlay-clean .competition-podium.podium-count-1 {
  grid-template-columns: minmax(0, min(520px, 60vw));
  justify-content: center;
}

body[data-page="overlay"].vive-overlay-clean .competition-podium.podium-count-2 {
  grid-template-columns: repeat(2, minmax(0, min(440px, 38vw)));
  justify-content: center;
}

body[data-page="overlay"].vive-overlay-clean .competition-podium-seat {
  min-height: clamp(152px, 16vh, 230px);
  border-radius: clamp(20px, 1.5vw, 30px);
}

body[data-page="overlay"].vive-overlay-clean .competition-podium-seat.rank-one {
  min-height: clamp(190px, 20vh, 290px);
}

body[data-page="overlay"].vive-overlay-clean .competition-podium-seat span {
  font-size: clamp(15px, 1.05vw, 22px);
}

body[data-page="overlay"].vive-overlay-clean .competition-podium-seat b {
  font-size: clamp(30px, 2.7vw, 54px);
}

body[data-page="overlay"].vive-overlay-clean .competition-podium-seat strong,
body[data-page="overlay"].vive-overlay-clean .competition-podium-seat em {
  font-size: clamp(18px, 1.35vw, 28px);
}

body[data-page="overlay"].vive-overlay-clean .competition-final-list {
  gap: clamp(8px, .7vw, 14px) clamp(10px, .9vw, 18px);
}

body[data-page="overlay"].vive-overlay-clean .competition-final-row {
  min-height: clamp(42px, 4.3vh, 64px);
  padding: clamp(8px, .7vw, 14px) clamp(13px, 1vw, 20px);
  border-radius: 16px;
  font-size: clamp(16px, 1.05vw, 22px);
}

@media (max-aspect-ratio: 1 / 1) {
  body[data-page="overlay"].vive-overlay-clean {
    --vive-canvas-width: min(96vw, 1180px);
    --vive-canvas-height: calc(var(--vive-canvas-width) * 9 / 16);
    --vive-canvas-bottom: clamp(300px, 19vh, 420px);
    --vive-canvas-top: calc(100vh - var(--vive-canvas-bottom) - var(--vive-canvas-height));
    --vive-canvas-half: calc(var(--vive-canvas-width) / 2);
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-wordbar {
    top: clamp(28px, 2.4vh, 50px);
    width: calc(100vw - clamp(28px, 4vw, 58px));
    padding: clamp(12px, 1.25vh, 20px) clamp(16px, 2vw, 28px);
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-word-meta {
    font-size: clamp(13px, 2.3vw, 22px);
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-word-mask {
    font-size: clamp(46px, 8.2vw, 88px) !important;
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-word-mask.word-fit-medium {
    font-size: clamp(38px, 6.9vw, 72px) !important;
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-word-mask.word-fit-small {
    font-size: clamp(31px, 5.7vw, 58px) !important;
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-word-mask.word-fit-extra-small {
    font-size: clamp(25px, 4.7vw, 48px) !important;
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-timer-anchor {
    top: calc(var(--vive-canvas-top) - clamp(42px, 4.6vh, 72px));
    min-height: clamp(68px, 6.4vh, 98px);
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-timer-anchor b {
    font-size: clamp(40px, 7.2vw, 78px);
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board {
    top: clamp(176px, 14.6vh, 270px);
    right: 50%;
    left: auto;
    width: min(92vw, 860px);
    max-height: clamp(190px, 19vh, 290px);
    transform: translateX(50%);
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board #scores {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 clamp(16px, 2vw, 28px);
    max-height: none;
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board .score-row {
    grid-template-columns: max-content minmax(0, 1fr) max-content max-content;
    min-height: clamp(42px, 4.8vh, 60px);
    font-size: clamp(13px, 2.1vw, 19px);
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board .score-row:nth-child(n + 9) {
    display: none;
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-drawer-signature {
    top: auto;
    right: calc(50% - var(--vive-canvas-half) + clamp(14px, 2vw, 28px));
    bottom: calc(var(--vive-canvas-bottom) + clamp(14px, 1.6vh, 26px));
    max-width: min(66vw, 680px);
    font-size: clamp(16px, 2.35vw, 24px);
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-drawer-signature b {
    font-size: clamp(22px, 3.6vw, 36px);
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-chat-free {
    top: auto;
    bottom: clamp(42px, 4.3vh, 76px);
    width: min(94vw, 920px);
    font-size: clamp(26px, 4.4vw, 48px);
  }

  body[data-page="overlay"].vive-overlay-clean .correct-banner {
    top: auto;
    bottom: clamp(132px, 10.5vh, 210px);
    max-width: min(92vw, 920px);
    font-size: clamp(34px, 5.2vw, 64px);
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-finale {
    inset: clamp(18px, 2.3vh, 42px) clamp(18px, 3vw, 42px);
  }

  body[data-page="overlay"].vive-overlay-clean .competition-finale-card {
    max-height: calc(100vh - 42px);
    overflow: hidden;
    padding: clamp(24px, 3.4vh, 56px);
  }

  body[data-page="overlay"].vive-overlay-clean .competition-finale-card h2 {
    font-size: clamp(56px, 9.2vw, 116px);
  }

  body[data-page="overlay"].vive-overlay-clean .competition-podium,
  body[data-page="overlay"].vive-overlay-clean .competition-podium.podium-count-1,
  body[data-page="overlay"].vive-overlay-clean .competition-podium.podium-count-2 {
    grid-template-columns: 1fr;
  }

  body[data-page="overlay"].vive-overlay-clean .competition-podium-seat,
  body[data-page="overlay"].vive-overlay-clean .competition-podium-seat.rank-one {
    min-height: clamp(94px, 9.4vh, 150px);
  }

  body[data-page="overlay"].vive-overlay-clean .competition-final-list {
    grid-template-columns: 1fr;
    max-height: 36vh;
    overflow: hidden;
  }

  body[data-page="overlay"].vive-overlay-clean .competition-final-row {
    grid-template-columns: 2.7em minmax(0, 1fr) auto auto;
    font-size: clamp(15px, 2.4vw, 23px);
  }
}

/* marker: VIVE Premium OBS Overlay v1.0 */

body[data-page="overlay"].vive-overlay-clean .room-avatar {
  display: inline-grid;
  place-items: center;
  border: 1px solid hsla(var(--avatar-hue, 208), 82%, 87%, .36);
  border-radius: 999px;
  background: linear-gradient(135deg, hsla(var(--avatar-hue, 208), 82%, 66%, .92), hsla(calc(var(--avatar-hue, 208) + 42), 70%, 52%, .92));
  color: #ffffff;
  font-weight: 950;
  line-height: 1;
  box-shadow: 0 9px 20px hsla(var(--avatar-hue, 208), 70%, 45%, .22);
}

/* marker: VIVE Premium OBS Overlay v1.0 avatars */

/* VIVE Premium OBS Overlay typography: same loaded Hebrew font as the game page. */
body[data-page="overlay"].vive-overlay-clean,
body[data-page="overlay"].vive-overlay-clean .vive-overlay-wordbar,
body[data-page="overlay"].vive-overlay-clean .vive-overlay-word-meta,
body[data-page="overlay"].vive-overlay-clean .vive-overlay-word-mask,
body[data-page="overlay"].vive-overlay-clean .vive-overlay-word-mask *,
body[data-page="overlay"].vive-overlay-clean .vive-overlay-timer-anchor,
body[data-page="overlay"].vive-overlay-clean .vive-overlay-timer-anchor *,
body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board,
body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board *,
body[data-page="overlay"].vive-overlay-clean .vive-overlay-drawer-signature,
body[data-page="overlay"].vive-overlay-clean .vive-overlay-drawer-signature *,
body[data-page="overlay"].vive-overlay-clean .vive-overlay-chat-free,
body[data-page="overlay"].vive-overlay-clean .vive-overlay-chat-free *,
body[data-page="overlay"].vive-overlay-clean .correct-banner,
body[data-page="overlay"].vive-overlay-clean .vive-overlay-finale,
body[data-page="overlay"].vive-overlay-clean .vive-overlay-finale * {
  font-family: "Heebo", sans-serif;
}


/* VIVE Premium OBS Overlay notification glass: final override after all legacy toast rules. */
body[data-page="overlay"].vive-overlay-clean .correct-banner {
  color: #f7fcff;
  border: 1px solid rgba(214, 246, 255, .42);
  background:
    linear-gradient(135deg, rgba(7, 13, 22, .54), rgba(19, 34, 47, .42));
  box-shadow:
    0 18px 46px rgba(0, 0, 0, .34),
    0 0 34px rgba(120, 225, 255, .14),
    inset 0 1px 0 rgba(255, 255, 255, .16),
    inset 0 0 28px rgba(155, 226, 255, .07);
  backdrop-filter: blur(18px) saturate(1.2);
  -webkit-backdrop-filter: blur(18px) saturate(1.2);
}

body[data-page="overlay"].vive-overlay-clean .correct-banner.is-correct {
  color: #f4fff8;
  border-color: rgba(160, 255, 207, .5);
  background:
    linear-gradient(135deg, rgba(8, 24, 20, .58), rgba(18, 68, 50, .42));
  box-shadow:
    0 18px 46px rgba(0, 0, 0, .34),
    0 0 38px rgba(80, 255, 154, .2),
    inset 0 1px 0 rgba(255, 255, 255, .17),
    inset 0 0 30px rgba(117, 255, 184, .08);
}

body[data-page="overlay"].vive-overlay-clean .correct-banner.is-choosing {
  color: #effbff;
  border-color: rgba(158, 230, 255, .48);
  background:
    linear-gradient(135deg, rgba(8, 16, 30, .58), rgba(24, 48, 74, .42));
  box-shadow:
    0 18px 46px rgba(0, 0, 0, .34),
    0 0 38px rgba(117, 216, 255, .2),
    inset 0 1px 0 rgba(255, 255, 255, .16),
    inset 0 0 30px rgba(142, 231, 255, .08);
}

body[data-page="overlay"].vive-overlay-clean .correct-banner.is-handoff {
  color: #fff3c8;
  border-color: rgba(255, 222, 142, .46);
  background:
    linear-gradient(135deg, rgba(28, 19, 8, .58), rgba(74, 48, 18, .42));
  box-shadow:
    0 18px 46px rgba(0, 0, 0, .34),
    0 0 38px rgba(255, 199, 88, .18),
    inset 0 1px 0 rgba(255, 255, 255, .16),
    inset 0 0 30px rgba(255, 218, 126, .08);
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-chat-event:not(:empty) {
  display: inline-block;
  margin-inline-start: .55em;
  padding: .12em .62em;
  border: 1px solid rgba(214, 246, 255, .28);
  border-radius: 999px;
  background: rgba(7, 13, 22, .32);
  box-shadow: 0 8px 22px rgba(0, 0, 0, .22), inset 0 0 18px rgba(155, 226, 255, .05);
  backdrop-filter: blur(12px) saturate(1.14);
  -webkit-backdrop-filter: blur(12px) saturate(1.14);
}

/* marker: VIVE Premium OBS Overlay typography */
/* marker: VIVE Premium OBS Overlay glass notifications */

/* VIVE Premium OBS Overlay v1.1 - timer and notification polish. */
body[data-page="overlay"].vive-overlay-clean .vive-overlay-timer-anchor {
  gap: 0;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-timer-anchor > span {
  display: none !important;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-timer-anchor b {
  font-size: clamp(36px, 3.55vw, 68px);
  line-height: .92;
}

body[data-page="overlay"].vive-overlay-clean .correct-banner {
  top: calc(var(--vive-canvas-top) + clamp(28px, 3vh, 44px));
  bottom: auto;
  max-width: min(76vw, 920px);
  padding: clamp(14px, 1.05vw, 22px) clamp(28px, 2vw, 44px);
  border-radius: 999px;
  background:
    linear-gradient(135deg, rgba(5, 10, 18, .56), rgba(20, 31, 43, .42)) !important;
  border: 1px solid rgba(220, 248, 255, .42) !important;
  box-shadow:
    0 16px 42px rgba(0, 0, 0, .32),
    0 0 30px rgba(128, 226, 255, .14),
    inset 0 1px 0 rgba(255, 255, 255, .17),
    inset 0 0 24px rgba(160, 232, 255, .06) !important;
  color: #f8fcff;
  font-size: clamp(28px, 2.05vw, 42px);
  backdrop-filter: blur(20px) saturate(1.22);
  -webkit-backdrop-filter: blur(20px) saturate(1.22);
  transform: translate(-50%, -12px) scale(.98);
  transition: opacity .2s ease, transform .22s ease, visibility .2s ease;
}

body[data-page="overlay"].vive-overlay-clean .correct-banner.show {
  transform: translate(-50%, 0) scale(1);
}

body[data-page="overlay"].vive-overlay-clean .correct-banner.is-correct {
  border-color: rgba(154, 255, 203, .52) !important;
  background:
    linear-gradient(135deg, rgba(5, 18, 15, .58), rgba(18, 58, 45, .42)) !important;
  box-shadow:
    0 16px 42px rgba(0, 0, 0, .32),
    0 0 34px rgba(80, 255, 154, .2),
    inset 0 1px 0 rgba(255, 255, 255, .18),
    inset 0 0 26px rgba(117, 255, 184, .08) !important;
}

body[data-page="overlay"].vive-overlay-clean .correct-banner.is-choosing {
  border-color: rgba(158, 230, 255, .5) !important;
  background:
    linear-gradient(135deg, rgba(7, 14, 28, .58), rgba(22, 46, 72, .42)) !important;
  box-shadow:
    0 16px 42px rgba(0, 0, 0, .32),
    0 0 34px rgba(117, 216, 255, .2),
    inset 0 1px 0 rgba(255, 255, 255, .17),
    inset 0 0 26px rgba(142, 231, 255, .08) !important;
}

body[data-page="overlay"].vive-overlay-clean .correct-banner.is-handoff {
  border-color: rgba(255, 222, 142, .5) !important;
  background:
    linear-gradient(135deg, rgba(26, 18, 7, .58), rgba(70, 45, 16, .42)) !important;
  box-shadow:
    0 16px 42px rgba(0, 0, 0, .32),
    0 0 34px rgba(255, 199, 88, .18),
    inset 0 1px 0 rgba(255, 255, 255, .17),
    inset 0 0 26px rgba(255, 218, 126, .08) !important;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-chat-event:not(:empty) {
  color: #f8fcff;
  border: 1px solid rgba(220, 248, 255, .32);
  background: rgba(6, 12, 20, .34);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .22), 0 0 20px rgba(128, 226, 255, .1), inset 0 1px 0 rgba(255, 255, 255, .1);
}

@media (max-aspect-ratio: 1 / 1) {
  body[data-page="overlay"].vive-overlay-clean .vive-overlay-timer-anchor b {
    font-size: clamp(34px, 5.8vw, 62px);
  }

  body[data-page="overlay"].vive-overlay-clean .correct-banner {
    top: calc(var(--vive-canvas-top) + clamp(24px, 2.7vh, 38px));
    bottom: auto;
    max-width: min(88vw, 780px);
    font-size: clamp(28px, 4.4vw, 52px);
  }
}

/* marker: VIVE Premium OBS Overlay v1.1 timer notification polish */
/* VIVE OBS Hebrew font lock: use the same loaded Google fonts as the game page. */
body[data-page="overlay"].vive-overlay-clean,
body[data-page="overlay"].vive-overlay-clean * {
  font-family: "Heebo", sans-serif !important;
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-stroke: 0 transparent !important;
  text-stroke: 0 transparent !important;
  font-synthesis-weight: none;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-word-meta,
body[data-page="overlay"].vive-overlay-clean .vive-overlay-word-meta *,
body[data-page="overlay"].vive-overlay-clean .vive-overlay-word-mask,
body[data-page="overlay"].vive-overlay-clean .vive-overlay-word-mask *,
body[data-page="overlay"].vive-overlay-clean .vive-overlay-timer-anchor,
body[data-page="overlay"].vive-overlay-clean .vive-overlay-timer-anchor *,
body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board,
body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board *,
body[data-page="overlay"].vive-overlay-clean .vive-overlay-drawer-signature,
body[data-page="overlay"].vive-overlay-clean .vive-overlay-drawer-signature *,
body[data-page="overlay"].vive-overlay-clean .vive-overlay-chat-free,
body[data-page="overlay"].vive-overlay-clean .vive-overlay-chat-free *,
body[data-page="overlay"].vive-overlay-clean .vive-overlay-chat-event,
body[data-page="overlay"].vive-overlay-clean .vive-overlay-chat-event *,
body[data-page="overlay"].vive-overlay-clean .correct-banner,
body[data-page="overlay"].vive-overlay-clean .correct-banner *,
body[data-page="overlay"].vive-overlay-clean .vive-overlay-finale,
body[data-page="overlay"].vive-overlay-clean .vive-overlay-finale * {
  letter-spacing: normal !important;
  word-spacing: normal !important;
  text-shadow: none !important;
  filter: none !important;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-word-meta,
body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board,
body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board .score-row,
body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board .name,
body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board .muted,
body[data-page="overlay"].vive-overlay-clean .vive-overlay-drawer-signature,
body[data-page="overlay"].vive-overlay-clean .vive-overlay-chat-free,
body[data-page="overlay"].vive-overlay-clean .vive-overlay-chat-note,
body[data-page="overlay"].vive-overlay-clean .vive-overlay-chat-event,
body[data-page="overlay"].vive-overlay-clean .correct-banner,
body[data-page="overlay"].vive-overlay-clean .correct-banner.is-choosing,
body[data-page="overlay"].vive-overlay-clean .correct-banner.is-correct,
body[data-page="overlay"].vive-overlay-clean .correct-banner.is-handoff,
body[data-page="overlay"].vive-overlay-clean .competition-finale-card p,
body[data-page="overlay"].vive-overlay-clean .competition-final-row b,
body[data-page="overlay"].vive-overlay-clean .competition-final-empty {
  font-family: "Heebo", sans-serif !important;
  font-weight: 700 !important;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-word-mask,
body[data-page="overlay"].vive-overlay-clean .vive-overlay-board-heading,
body[data-page="overlay"].vive-overlay-clean .vive-overlay-drawer-signature b,
body[data-page="overlay"].vive-overlay-clean .competition-finale-kicker,
body[data-page="overlay"].vive-overlay-clean .competition-finale-card h2,
body[data-page="overlay"].vive-overlay-clean .competition-podium-seat b,
body[data-page="overlay"].vive-overlay-clean .competition-final-row b,
body[data-page="overlay"].vive-overlay-clean .room-avatar {
  font-family: "Heebo", sans-serif !important;
  font-weight: 800 !important;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-timer-anchor,
body[data-page="overlay"].vive-overlay-clean .vive-overlay-timer-anchor b,
body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board .rank,
body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board .score,
body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board .score-row b,
body[data-page="overlay"].vive-overlay-clean .competition-podium-seat span,
body[data-page="overlay"].vive-overlay-clean .competition-podium-seat strong,
body[data-page="overlay"].vive-overlay-clean .competition-podium-seat em,
body[data-page="overlay"].vive-overlay-clean .competition-final-rank,
body[data-page="overlay"].vive-overlay-clean .competition-final-row span,
body[data-page="overlay"].vive-overlay-clean .competition-final-row strong {
  font-family: "Rubik", "Heebo", sans-serif !important;
  font-weight: 800 !important;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-timer-anchor b {
  font-weight: 850 !important;
  letter-spacing: .01em !important;
  text-shadow: none !important;
}


/* Overlay Top HUD Flow Fix v1 - one fixed top flow owns word, topic and timer. */
body[data-page="overlay"].vive-overlay-clean .vive-overlay-top-hud {
  position: fixed;
  z-index: 16;
  top: clamp(10px, 1.55vh, 24px);
  left: 50%;
  width: min(94vw, 140vh);
  min-width: 0;
  max-height: calc(var(--vive-canvas-top) - clamp(8px, 1vh, 16px));
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: clamp(7px, .86vh, 14px);
  transform: translateX(-50%);
  pointer-events: none;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-top-hud .vive-overlay-wordbar {
  position: static;
  z-index: auto;
  top: auto;
  right: auto;
  width: 100%;
  max-width: 100%;
  transform: none;
  flex: 0 1 auto;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-top-hud .vive-overlay-hud-cluster {
  position: static;
  z-index: auto;
  top: auto;
  right: auto;
  width: 100%;
  max-width: 100%;
  display: flex;
  flex: 0 1 auto;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: clamp(6px, .72vh, 12px);
  transform: none;
  pointer-events: none;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-top-hud .vive-overlay-topic-bubble {
  position: static;
  max-width: min(82vw, 690px);
  min-height: clamp(30px, 3.15vh, 45px);
  display: inline-flex;
  flex: 0 1 auto;
  align-items: center;
  justify-content: center;
  padding: clamp(6px, .6vw, 11px) clamp(15px, 1.2vw, 24px);
  direction: rtl;
  unicode-bidi: plaintext;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-top-hud .vive-overlay-topic-bubble[hidden] {
  display: none !important;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-top-hud .vive-overlay-topic-label {
  flex: 0 0 auto;
  font-size: clamp(12px, 1.02vw, 18px);
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-top-hud .vive-overlay-topic-bubble b {
  min-width: 0;
  overflow: hidden;
  font-size: clamp(16px, 1.26vw, 23px);
  text-overflow: ellipsis;
  white-space: nowrap;
  direction: rtl;
  unicode-bidi: plaintext;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-top-hud .vive-overlay-timer-anchor {
  position: static;
  top: auto;
  right: auto;
  transform: none;
  flex: 0 1 auto;
  min-height: clamp(20px, 2.05vh, 29px);
  padding: clamp(3px, .26vw, 5px) clamp(8px, .54vw, 11px);
  font-size: clamp(7px, .58vw, 10px);
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-top-hud .vive-overlay-timer-anchor b {
  font-size: clamp(17px, 1.66vw, 31px);
}

body[data-page="overlay"].vive-overlay-clean.competition-finished-mode .vive-overlay-top-hud {
  display: none !important;
}

@media (max-aspect-ratio: 1 / 1) {
  body[data-page="overlay"].vive-overlay-clean .vive-overlay-top-hud {
    top: clamp(8px, 1.15vh, 18px);
    width: calc(100vw - clamp(18px, 3vw, 42px));
    max-height: calc(100vh - var(--vive-canvas-bottom) - var(--vive-canvas-height) - clamp(10px, 1.4vh, 22px));
    gap: clamp(7px, .8vh, 13px);
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-top-hud .vive-overlay-wordbar {
    width: 100%;
    padding: 9px 12px;
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-top-hud .vive-overlay-hud-cluster {
    gap: clamp(7px, .82vh, 13px);
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-top-hud .vive-overlay-topic-bubble {
    max-width: min(88vw, 700px);
    min-height: clamp(32px, 3.25vh, 48px);
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-top-hud .vive-overlay-topic-label {
    font-size: clamp(13px, 2.1vw, 21px);
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-top-hud .vive-overlay-topic-bubble b {
    font-size: clamp(16px, 2.6vw, 27px);
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-top-hud .vive-overlay-timer-anchor {
    min-height: clamp(27px, 2.9vh, 42px);
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-top-hud .vive-overlay-timer-anchor b {
    font-size: clamp(17px, 2.85vw, 30px);
  }
}
/* Overlay HUD Clarity v1: compact sharp timer + authoritative current-round topic. */
body[data-page="overlay"].vive-overlay-clean .vive-overlay-hud-cluster {
  position: fixed;
  z-index: 13;
  top: clamp(97px, 11.55vh, 154px);
  right: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: clamp(6px, .55vw, 10px);
  max-width: min(88vw, 820px);
  transform: translateX(50%);
  pointer-events: none;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-hud-cluster .vive-overlay-timer-anchor {
  position: static;
  top: auto;
  right: auto;
  transform: none;
  flex: 0 0 auto;
  min-height: clamp(18px, 1.95vh, 26px);
  padding: clamp(3px, .32vw, 5px) clamp(7px, .54vw, 10px);
  border-radius: 999px;
  font-size: clamp(7px, .62vw, 10px);
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-hud-cluster .vive-overlay-timer-anchor b {
  font-size: clamp(22px, 2.15vw, 41px);
  line-height: .94;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-topic-bubble {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  max-width: min(42vw, 460px);
  padding: clamp(4px, .38vw, 7px) clamp(9px, .75vw, 14px);
  border: 1px solid rgba(145, 227, 255, .54);
  border-radius: 999px;
  background: rgba(5, 18, 28, .78);
  box-shadow: 0 8px 22px rgba(0, 0, 0, .24), inset 0 1px 0 rgba(255, 255, 255, .12);
  color: #d8f4ff;
  direction: rtl;
  unicode-bidi: plaintext;
  white-space: nowrap;
  overflow: hidden;
  backdrop-filter: blur(14px) saturate(1.14);
  -webkit-backdrop-filter: blur(14px) saturate(1.14);
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-topic-bubble[hidden] {
  display: none !important;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-topic-label {
  flex: 0 0 auto;
  margin-inline-end: .35em;
  color: rgba(214, 244, 255, .82);
  font-size: clamp(10px, .84vw, 15px);
  font-weight: 800 !important;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-topic-bubble b {
  min-width: 0;
  overflow: hidden;
  color: #ffffff;
  font-size: clamp(12px, 1vw, 18px);
  font-weight: 800 !important;
  text-overflow: ellipsis;
  white-space: nowrap;
  direction: rtl;
  unicode-bidi: plaintext;
}

body[data-page="overlay"].vive-overlay-clean.competition-finished-mode .vive-overlay-hud-cluster {
  display: none !important;
}

@media (max-aspect-ratio: 1 / 1) {
  body[data-page="overlay"].vive-overlay-clean .vive-overlay-hud-cluster {
    top: calc(var(--vive-canvas-top) - clamp(42px, 4.6vh, 72px));
    width: calc(100vw - clamp(24px, 4vw, 56px));
    max-width: none;
    gap: clamp(7px, 1.2vw, 14px);
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-hud-cluster .vive-overlay-timer-anchor {
    min-height: clamp(41px, 3.85vh, 59px);
    padding: clamp(5px, .7vh, 9px) clamp(10px, 1.3vw, 16px);
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-hud-cluster .vive-overlay-timer-anchor b {
    font-size: clamp(20px, 3.5vw, 37px);
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-topic-bubble {
    max-width: min(58vw, 560px);
    padding: clamp(6px, .8vh, 10px) clamp(11px, 1.6vw, 18px);
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-topic-label {
    font-size: clamp(13px, 2.1vw, 21px);
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-topic-bubble b {
    font-size: clamp(15px, 2.55vw, 26px);
  }
}


/* Overlay HUD Stack v1.2 - word, topic, timer with fixed vertical spacing. */
body[data-page="overlay"].vive-overlay-clean .vive-overlay-wordbar {
  z-index: 16;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-hud-cluster {
  z-index: 14;
  top: clamp(116px, 13.1vh, 190px);
  width: min(92vw, 860px);
  max-width: min(92vw, 860px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: clamp(7px, .78vh, 13px);
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-topic-bubble {
  max-width: min(78vw, 650px);
  min-height: clamp(28px, 3vh, 43px);
  justify-content: center;
  padding: clamp(6px, .55vw, 10px) clamp(14px, 1.1vw, 22px);
  direction: rtl;
  unicode-bidi: plaintext;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-topic-label {
  flex: 0 0 auto;
  font-size: clamp(12px, .98vw, 17px);
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-topic-bubble b {
  min-width: 0;
  overflow: hidden;
  font-size: clamp(15px, 1.18vw, 22px);
  text-overflow: ellipsis;
  white-space: nowrap;
  direction: rtl;
  unicode-bidi: plaintext;
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-hud-cluster .vive-overlay-timer-anchor {
  min-height: clamp(22px, 2.25vh, 31px);
  padding: clamp(3px, .28vw, 5px) clamp(8px, .58vw, 12px);
}

body[data-page="overlay"].vive-overlay-clean .vive-overlay-hud-cluster .vive-overlay-timer-anchor b {
  font-size: clamp(19px, 1.85vw, 35px);
}

@media (max-aspect-ratio: 1 / 1) {
  body[data-page="overlay"].vive-overlay-clean .vive-overlay-hud-cluster {
    top: clamp(92px, 10.4vh, 160px);
    width: calc(100vw - clamp(18px, 3vw, 42px));
    max-width: none;
    gap: clamp(8px, .9vh, 14px);
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-topic-bubble {
    max-width: min(86vw, 680px);
    min-height: clamp(33px, 3.35vh, 50px);
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-topic-label {
    font-size: clamp(14px, 2.25vw, 22px);
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-topic-bubble b {
    font-size: clamp(17px, 2.75vw, 28px);
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-hud-cluster .vive-overlay-timer-anchor {
    min-height: clamp(32px, 3.25vh, 48px);
  }

  body[data-page="overlay"].vive-overlay-clean .vive-overlay-hud-cluster .vive-overlay-timer-anchor b {
    font-size: clamp(18px, 3.1vw, 33px);
  }
}

/* VIVE OBS Dual Leaderboards + Score Gains v1 */
body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board {
  display: grid;
  align-content: start;
  gap: clamp(8px, .9vh, 13px);
  max-height: calc(var(--vive-canvas-height) - clamp(28px, 3.4vh, 50px));
  overflow: hidden;
}
body[data-page="overlay"].vive-overlay-clean .vive-overlay-board-section {
  display: grid;
  gap: clamp(4px, .42vh, 7px);
  min-width: 0;
  overflow: hidden;
  padding: clamp(5px, .38vw, 8px);
  border: 1px solid rgba(213, 224, 232, .12);
  border-radius: clamp(12px, .85vw, 17px);
  background: rgba(255, 255, 255, .025);
}
body[data-page="overlay"].vive-overlay-clean .vive-overlay-board-section.is-primary {
  border-color: rgba(126, 244, 185, .26);
  background: rgba(126, 244, 185, .055);
}
body[data-page="overlay"].vive-overlay-clean .vive-overlay-board-heading {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  color: #f7fbff;
  font-size: clamp(12px, .9vw, 17px);
  text-overflow: ellipsis;
  white-space: nowrap;
}
body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board #scores,
body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board #overlayCompetitionScores {
  display: grid;
  gap: clamp(3px, .38vh, 6px);
  min-width: 0;
  max-height: none;
  overflow: hidden;
}
body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board .score-row {
  grid-template-columns: max-content minmax(0, 1fr) max-content max-content;
  grid-template-areas: "score name avatar rank";
  gap: clamp(5px, .48vw, 8px);
  min-width: 0;
  min-height: clamp(31px, 3.25vh, 44px);
  padding: clamp(4px, .34vw, 6px) clamp(5px, .42vw, 8px);
  border-radius: clamp(9px, .7vw, 13px);
  font-size: clamp(10px, .72vw, 13px);
}
body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board .score-name-cell {
  grid-area: name;
  min-width: 0;
  overflow: hidden;
}
body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board .score-name-cell .name {
  display: block;
  min-width: 0;
  font-size: clamp(10px, .78vw, 14px);
}
body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board .score-avatar {
  width: clamp(23px, 1.72vw, 31px);
  height: clamp(23px, 1.72vw, 31px);
  font-size: clamp(12px, .94vw, 17px);
}
body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board .rank {
  width: clamp(22px, 1.65vw, 30px);
  border-radius: 9px;
  font-size: clamp(9px, .68vw, 12px);
}
body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board .score-row .score,
body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board .score-gain-indicator {
  font-size: clamp(10px, .72vw, 13px);
}
body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board .score-gain-indicator {
  text-shadow: 0 0 10px rgba(75, 240, 143, .42) !important;
}
@media (max-aspect-ratio: 1 / 1) {
  body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    max-height: clamp(190px, 21vh, 310px);
  }
  body[data-page="overlay"].vive-overlay-clean .vive-overlay-board-section {
    align-content: start;
  }
  body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board #scores,
  body[data-page="overlay"].vive-overlay-clean .vive-overlay-current-board #overlayCompetitionScores {
    grid-template-columns: minmax(0, 1fr);
  }
}
