/* Learning support stays optional and never covers a live answer. */
.home-shortcuts {
  display: flex;
  gap: 12px;
  width: 100%;
  max-width: 480px;
}
.home-shortcuts button,
.learn-tools button {
  min-height: 44px;
  border: 1px solid #bccdc3;
  border-radius: 14px;
  background: #fffdf8;
  color: #284b3b;
  font: 700 1rem var(--font);
  padding: 8px 14px;
  cursor: pointer;
}
.home-shortcuts button {
  flex: 1;
}
.track-goal {
  width: 100%;
  font-size: 0.85rem;
  color: #52675c;
  margin: 0;
}
.learn-tools {
  width: 100%;
  max-width: 550px;
  background: #fffdf7;
  border: 1px solid #dfdccb;
  padding: 12px 16px;
  border-radius: 18px;
  color: #365746;
}
.learn-tools p {
  font-size: 0.88rem;
  line-height: 1.4;
  margin: 0 0 8px;
}
.learn-tools > div {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.learn-tools button {
  flex: 1;
  font-size: 0.85rem;
}
.learn-tools button:first-child {
  background: #e5efe3;
}
.coach-overlay {
  position: fixed;
  inset: 0;
  z-index: 110;
  background: #263b3bbb;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}
.coach-card {
  width: 100%;
  max-width: 560px;
  max-height: calc(100dvh - 32px);
  overflow: auto;
  overscroll-behavior: contain;
  background: #fffaf0;
  border-radius: 24px;
  padding: 20px;
  box-shadow: 0 18px 80px #14272055;
  color: #30443b;
}
.coach-header {
  display: flex;
  align-items: center;
  gap: 12px;
}
.coach-header h2 {
  font-size: 1.35rem;
  line-height: 1.2;
  flex: 1;
  margin: 0;
}
.coach-mascot {
  width: 64px;
  height: 64px;
  object-fit: contain;
}
.coach-x {
  flex-shrink: 0;
  border: 1px solid #b8c7b8;
  border-radius: 50%;
  width: 44px;
  height: 44px;
  background: white;
  color: #345343;
  font-size: 1.7rem;
  cursor: pointer;
}
.coach-note {
  font-size: 0.8rem;
  line-height: 1.5;
  color: #5e6b61;
}
.coach-body p,
.strategy-explanation {
  font-size: 1.05rem;
  line-height: 1.6;
}
.coach-example {
  font-size: 1.7rem;
  font-weight: 800;
  text-align: center;
  padding: 16px 8px;
  border-radius: 16px;
  background: #ecf1e3;
  white-space: pre-wrap;
  margin: 12px 0;
}
.coach-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.coach-button,
.coach-secondary,
.coach-choice,
.coach-count {
  min-height: 48px;
  border: 1px solid #315f4c;
  border-radius: 14px;
  padding: 10px 16px;
  font: 700 1rem var(--font);
  cursor: pointer;
  color: white;
  background: #2d7157;
}
.coach-secondary {
  background: #fff;
  color: #315442;
}
.coach-button:disabled {
  opacity: 0.5;
  cursor: default;
}
.coach-status {
  min-height: 25px;
  font-weight: 700;
  font-size: 1rem;
}
.coach-choices {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
}
.coach-choice,
.coach-count {
  background: #fff;
  border: 2px solid #b4cbb6;
  color: #315442;
  min-width: 64px;
  font-size: 1.55rem;
}
.coach-miss {
  border-color: #bb7649;
}
.coach-count:disabled {
  opacity: 1;
  background: #d2e9c8;
  border-color: #548058;
}
.coach-card .arcade-board {
  margin-top: 10px;
}
.coach-card .orbit-field {
  min-height: 180px;
}
.coach-card .block-grid {
  max-width: 220px;
}
.coach-card .block-tray {
  margin-top: 10px;
}
.coach-card .arcade-toolbar {
  flex-wrap: wrap;
}
#help-practice-btn {
  margin: 0 6px 10px;
}
.learning-dashboard {
  border-top: 1px solid #ccd8cb;
  margin-top: 20px;
  padding-top: 12px;
}
.learning-dashboard > p {
  font-size: 0.9rem;
  line-height: 1.5;
}
.learning-row {
  padding: 12px;
  border: 1px solid #d4dfd2;
  background: #fffdf8;
  border-radius: 12px;
  margin: 10px 0;
}
.learning-row h4 {
  margin: 0;
  font-size: 1rem;
}
.learning-row p {
  margin: 5px 0;
  font-size: 0.86rem;
}
.learning-status {
  display: inline-block;
  font-size: 0.8rem;
  padding: 4px 8px;
  border-radius: 8px;
  background: #eef0e5;
  color: #45563e;
}
.status-support {
  background: #fff0d7;
  color: #774c1f;
}
.status-consistent {
  background: #dcefd8;
  color: #2e5c36;
}
.learning-suggestion {
  padding: 12px;
  background: #e9f1e3;
  border-radius: 12px;
  color: #345640;
}
button:focus-visible {
  outline: 3px solid #236bba;
  outline-offset: 3px;
}
body.a11y-contrast .coach-card,
body.a11y-contrast .learn-tools,
body.a11y-contrast .learning-row {
  background: white;
  color: #111;
  border-color: #111;
}
body.a11y-large .coach-card {
  font-size: 1.15rem;
}
body.a11y-motion *,
body.a11y-motion *::before,
body.a11y-motion *::after {
  animation-duration: 0.01ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.01ms !important;
  scroll-behavior: auto !important;
}
@media (max-width: 400px) {
  .coach-card {
    padding: 14px;
  }
  .coach-header h2 {
    font-size: 1.15rem;
  }
  .coach-example {
    font-size: 1.35rem;
  }
  .coach-mascot {
    width: 52px;
    height: 52px;
  }
  .coach-choice {
    min-width: 60px;
  }
}
@media (max-height: 500px) {
  .coach-card {
    max-width: 700px;
  }
  .coach-card .arcade-blocks {
    display: block;
  }
  .coach-card .block-grid {
    max-width: 180px;
  }
}
.home-world-panel,
.home-collection-panel {
  width: 100%;
}
.home-world-panel > .start-card {
  margin: 16px auto;
}
.home-world-panel .mission-row {
  margin: 16px auto;
}
.home-collection-panel > details {
  width: 100%;
  margin: 12px 0;
}
.home-shortcuts [aria-pressed="true"] {
  background: #e3eddc;
  border-color: #477658;
  color: #244d35;
}
@media (max-width: 400px) {
  .home-shortcuts {
    gap: 6px;
  }
  .home-shortcuts button {
    font-size: 0.85rem;
    padding: 8px 6px;
  }
}
.storage-warning {
  position: relative;
  width: 100%;
  max-width: 640px;
  margin: 12px auto;
  padding: 12px 16px;
  border-radius: 14px;
  border: 2px solid #a87726;
  background: #fff4d2;
  color: #563b14;
  font-size: 0.9rem;
  box-shadow: 0 4px 20px #0002;
}
