/* Layout and daily progress; loaded after the existing styles. */
.daily-complete[hidden] {display:none;}
.daily-complete {margin-top:22px;padding:20px;background:#f1f7f3;border:1px solid #d8e6dd;border-radius:14px;color:#254037;}
.daily-complete h3 {margin:0 0 8px;font-size:18px;line-height:1.4;}
.daily-complete p {margin:0;font-size:14px;line-height:1.6;}
.daily-next {display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:20px;}
.daily-next span {font-size:14px;}
.daily-next strong {font-size:24px;font-variant-numeric:tabular-nums;letter-spacing:.03em;}
.daily-complete .daily-timezone {font-size:12px;color:#586b61;margin-top:5px;}
.daily-practice {display:inline-flex;align-items:center;justify-content:center;margin-top:18px;padding:11px 16px;min-height:44px;background:#235c4c;border:0;border-radius:10px;color:#fff;font:inherit;font-size:14px;cursor:pointer;}
.leaderboard-filters {display:flex;flex-wrap:wrap;gap:8px;padding:0 26px;}
.leaderboard-filters button {min-height:44px;padding:9px 16px;border:1px solid #d9e3df;border-radius:10px;background:white;color:#254037;font:inherit;font-size:14px;cursor:pointer;}
.leaderboard-filters button[aria-pressed=true] {background:#235c4c;border-color:#235c4c;color:white;}
.ranking-note {padding:0 26px;margin:12px 0 18px;color:#5c7183;font-size:13px;line-height:1.5;}
#leaderboard-list[aria-busy=true] {padding:18px 26px;color:#5c7183;}
.daily-practice:focus-visible,.leaderboard-filters button:focus-visible {outline:3px solid #418c7d;outline-offset:3px;}
.hero-actions {display:flex;flex-wrap:wrap;gap:12px;align-items:stretch;}
.hero-actions .primary-button {display:inline-flex;align-items:center;justify-content:center;gap:10px;white-space:normal;min-height:48px;}
.feedback {overflow-wrap:anywhere;line-height:1.65;}
@media(max-width:680px) {
  .leaderboard-filters {padding:0 18px;}
  .ranking-note {padding:0 18px;}
  .leaderboard-header {gap:12px;}
  .leaderboard-header h2 {font-size:21px;}
  .leaderboard-header #refresh-leaderboard {min-height:44px;flex-shrink:0;}
  .hero-actions {width:100%;}
  .hero-actions .primary-button {flex:1 1 135px;padding:12px 14px;font-size:15px;}
  .app-container,.app-grid,.question-card,.challenge-sidebar {min-width:0;}
  .app-intro h1 {font-size:27px;line-height:1.2;}
  .question-card #question {font-size:20px;line-height:1.5;overflow-wrap:anywhere;}
  .answer-button {min-height:48px;padding:13px 15px;font-size:16px;line-height:1.45;}
  .auth-card input {font-size:16px;}
  #confirm-answer {min-height:48px;}
  .daily-complete {padding:17px;}
  .daily-practice {width:100%;}
  .stats-section {gap:10px;}
  .stat-card {min-width:0;}
  .stat-copy {min-width:0;}
  .stat-note {line-height:1.4;}
  .pc-player-search input {font-size:16px;}
}

/* Give every home navigation item the same vertical alignment. */
#home-screen .site-nav > a,
#home-screen .site-nav > button {
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:72px;
  margin:0;
  padding:24px 0;
  border:0;
  background:transparent;
  font:inherit;
  line-height:24px;
  vertical-align:middle;
}
#about {scroll-margin-top:96px;}
@media(max-width:1100px) {
  #home-screen .site-nav > a,
  #home-screen .site-nav > button {min-height:44px;padding:10px 0;}
}

.login-required.is-locked {
  display: none !important;
}

/* Follow-up recovery question after an incorrect daily answer. */
.follow-up-card[hidden] { display: none !important; }
.follow-up-card {
  margin-top: 20px;
  padding: 20px;
  border: 1px solid #dce7e5;
  border-radius: 14px;
  background: #f8fbfa;
}
.follow-up-kicker {
  margin: 0 0 4px;
  color: #087f83;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .08em;
}
.follow-up-card h3 {
  margin: 0;
  color: var(--navy, #102a43);
  font-size: 18px;
}
.follow-up-question {
  margin: 14px 0;
  color: var(--navy, #102a43);
  font-size: 16px;
  font-weight: 650;
  line-height: 1.5;
}
.follow-up-answers {
  display: grid;
  gap: 9px;
}
.follow-up-feedback {
  margin-top: 14px;
}
@media(max-width:680px) {
  .follow-up-card { padding: 17px; }
}

/* Simple home instructions and compact bonus invitation. */
.how-to-play-link { margin-top: 12px; }
#how-to-play { padding: 0; border: 0; background: none; box-shadow: none; }
#how-to-play:hover { text-decoration: underline; }
#follow-up-card { padding: 12px 14px; }
#follow-up-card:has(#follow-up-content[hidden]):has(#reveal-follow-up:not([hidden])) {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 10px;
}
#follow-up-card h3 { font-size: 16px; }
#reveal-follow-up {
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  color: var(--teal, #087f83);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
#reveal-follow-up:hover { text-decoration: underline; }
#follow-up-feedback:empty { display: none; }
