/* tower-stack - hd.css: UI dressed to match the studio-lit blocks. Scoped to html.ts-hd,
   which js/hd-art.js adds once the baked art has decoded (and removes on ?hd=0 / slow device).
   Transform/opacity only; springs use linear() easing; reduced motion gets short fades. */
html.ts-hd {
  --ts-spring: linear(0, .32 6%, .78 13%, 1.06 20%, 1.12 25%, 1.06 32%, .98 40%, 1.01 52%, 1);
}
html.ts-hd .hud-score-box .score-display {
  background: linear-gradient(180deg, #fff 18%, #c7d2fe 60%, #818cf8 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  filter: drop-shadow(0 3px 10px rgb(0 0 0 / .55));
  transition: transform .42s var(--ts-spring);
}
html.ts-hd .hud-best-box {
  background: linear-gradient(160deg, rgb(255 255 255 / .16), rgb(255 255 255 / .04));
  border-color: rgb(255 255 255 / .22);
  box-shadow: 0 8px 22px rgb(0 0 0 / .35), inset 0 1px 0 rgb(255 255 255 / .35);
}
html.ts-hd .combo-badge { transition: transform .5s var(--ts-spring), opacity .2s linear; box-shadow: 0 8px 22px rgb(236 72 153 / .45), inset 0 1px 0 rgb(255 255 255 / .5); }
html.ts-hd .perfect-toast { transition: transform .55s var(--ts-spring), opacity .18s linear; box-shadow: 0 10px 28px rgb(56 189 248 / .5), inset 0 1px 0 rgb(255 255 255 / .55); }
html.ts-hd .tap-prompt { background: linear-gradient(160deg, rgb(30 41 82 / .8), rgb(15 23 42 / .8)); box-shadow: 0 10px 28px rgb(0 0 0 / .4), inset 0 1px 0 rgb(255 255 255 / .22); }
html.ts-hd .overlay-card { box-shadow: 0 30px 80px rgb(0 0 0 / .6), inset 0 1px 0 rgb(255 255 255 / .25); background-image: linear-gradient(170deg, rgb(255 255 255 / .1), rgb(255 255 255 / 0) 40%); }
html.ts-hd .game-overlay.is-open .overlay-card { transition: transform .6s var(--ts-spring), opacity .25s linear; }
html.ts-hd .stat-box { box-shadow: inset 0 1px 0 rgb(255 255 255 / .18); }
html.ts-hd .btn-primary { box-shadow: 0 10px 26px rgb(99 102 241 / .5), inset 0 1px 0 rgb(255 255 255 / .45); }
@media (prefers-reduced-motion: reduce) {
  html.ts-hd .score-display, html.ts-hd .combo-badge, html.ts-hd .perfect-toast,
  html.ts-hd .game-overlay.is-open .overlay-card { transition: opacity .15s linear; }
}
