/* One fixed information hierarchy for every game. */
.game .topbar,
.game.search-game .topbar,
.game.train-listen-game .topbar,
.game.mission-game .topbar{
  min-height:0;
  padding:6px 9px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  border-radius:17px;
  background:#fffdf6f2;
  box-shadow:0 7px 18px #49342624;
}
.game .topbar .title{grid-column:1;min-width:0}
.game .topbar .title-badge,
.game.train-listen-game .topbar .title-badge{
  display:grid;
  color:#fff;
  background:var(--accent);
  box-shadow:inset 0 0 0 3px #ffffff55;
}
.game .topbar-actions{
  grid-column:2;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:5px;
  min-width:0;
}
.game .topbar-actions>.score{order:2}
.game .topbar-actions>.controls{order:3}
.game .topbar .control.repeat{order:1;color:#fff;background:#2386a4}
.game .topbar .control.topbar-back{flex:0 0 auto;color:#fff;background:#2386a4}
.game .topbar .control.restart{color:#fff;background:#7453a6}
.game .topbar .control.close{color:#fff;background:#cf4e43}
.game .topbar .control.repeat span{width:clamp(23px,3.1vmin,30px);height:clamp(23px,3.1vmin,30px);display:grid;place-items:center}
.game .topbar .control.repeat svg{width:100%;height:100%;fill:none;stroke:#fff;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.game .topbar .score{display:flex;align-items:center;justify-content:center;gap:8px}
.topbar-progress-stars{display:flex;align-items:center;gap:2px;line-height:1}
.topbar-progress-stars i{font:900 clamp(11px,1.35vmin,16px)/1 system-ui;font-style:normal;color:#d4d2cc;text-shadow:0 1px 0 #fff}
.topbar-progress-stars i.filled{color:#f6b818;text-shadow:0 0 7px #ffd863,0 1px 0 #9b6500}
.topbar-progress-stars.many-stars{gap:1px}
.topbar-progress-stars.many-stars i{font-size:clamp(8px,.82vw,13px)}

/* The search question stays beside its own progress, while the shared repeat button stays first. */
.game.search-game .topbar .score{padding:3px 7px;display:flex;align-items:center;gap:clamp(8px,1.3vw,18px);border:0;background:transparent}

@media(max-width:900px){
  .game .topbar,
  .game.search-game .topbar,
  .game.train-listen-game .topbar,
  .game.mission-game .topbar{padding:5px 6px;gap:5px;grid-template-columns:minmax(115px,1fr) auto}
  .game .topbar-actions{gap:4px}
  .game .topbar .score{gap:4px;padding:4px 6px}
  .topbar-progress-stars i{font-size:10px}
}
