/* Hallmark · pre-emit critique: P5 H4 E4 S5 R5 V5
 * Coastal Courier phone presentation. Arena scale, ad wells and gameplay stay owned elsewhere. */
.app-shell {
  --sky-depth-cream: #fff8e8;
  --sky-depth-coral: #da745e;
  --sky-depth-ink: #143943;
  --sky-depth-control-ink: #091f24;
  --sky-depth-focus: #903e39;
  --sky-depth-paper: var(--color-paper-2);
  min-width: 0;
}
.app-shell :is(button, input, select, textarea, summary) {
  min-width: 44px;
  min-height: 44px;
  max-width: 100%;
  font-family: var(--font-body);
  box-sizing: border-box;
}
.app-shell :is(button, summary) { white-space: nowrap; }
.app-shell :is(input, select, textarea) { font-size: 16px; }
.app-shell :is(button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--sky-depth-focus);
  outline-offset: 3px;
}
.app-shell .sky-replay :is(button, summary):focus-visible { outline-color: var(--sky-depth-cream); }
.app-shell .hud-btn { width: 44px; height: 44px; }
.app-shell .game-hud { left: 9px; right: 9px; }
.app-shell .hud-actions { gap: 6px; }
.app-shell .hud-pill { padding-inline: 8px; }
.app-shell .hud-pill--coins { gap: 4px; font-size: .75rem; }
.app-shell .ready-card {
  max-width: 100%;
  padding: 1rem;
  background: var(--sky-depth-cream);
  animation: none;
}
.app-shell .ready-card h1 { color: var(--sky-depth-ink); }
.app-shell .ready-card .kicker::before {
  content: '';
  display: block;
  width: 48px;
  height: 40px;
  margin: 0 auto .4rem;
  background: url('assets/depth-swallow.svg') center / contain no-repeat;
}
.app-shell .gameover-overlay { padding: .8rem; }
.app-shell .gameover-card { padding: 1rem; }
.app-shell :is(.ready-card, .gameover-card, .sky-bench-dialog, .sky-replay, .sky-courier) {
  min-width: 0;
  overflow-wrap: anywhere;
}
.app-shell .medal-info { min-width: 0; flex: 1; }
.app-shell .medal-progress { min-width: 0; }
.app-shell :is(.score-grid, .run-stats) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.app-shell .score-box { min-width: 0; overflow-wrap: anywhere; }
.app-shell :is(.sky-bench-controls, .sky-replay__choices, .sky-courier__modes) {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.app-shell .btn--primary { background: var(--sky-depth-coral); color: var(--sky-depth-control-ink); }
.app-shell .btn--primary:hover { background: var(--sky-depth-cream); }
.hub-bar a { min-height: 44px; }
@media (max-width: 414px) {
  .app-shell :is(.sky-bench-controls, .sky-replay__choices) { grid-template-columns: minmax(0, 1fr); }
  .app-shell .ready-prompt { padding: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  .app-shell :is(.ready-card, .tap-indicator, .gameover-card, .gameover-overlay, .new-badge, .medal-sparkle) { animation: none !important; }
  .app-shell :is(button, .medal-progress span) { transition: none; }
  .app-shell button:is(:hover, :active) { transform: none; }
}
