/* shared/base.css — LPFB shared variables & reset */
:root {
  --amber:    #D4920A;
  --amber-hi: #F5B030;
  --black:    #060400;
  --cream:    #FFF3D0;
  --safe-top:    env(safe-area-inset-top,    0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-left:   env(safe-area-inset-left,   0px);
  --safe-right:  env(safe-area-inset-right,  0px);
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }

/* ─────────────────────────────────────────────────────────────
   M3 Button Standard (docs/game_milestones_v3.md §3.9)
   Amber-Fill · Cream-Border · 8px-Radius · 44×44 min tap target
   Use .pfb-btn-primary for main CTAs, .pfb-btn-secondary for ghost.
   ───────────────────────────────────────────────────────────── */
.pfb-btn-primary {
  min-width: 44px;
  min-height: 44px;
  padding: 0.6rem 1rem;
  background: var(--amber);
  color: var(--black);
  border: 2px solid var(--cream);
  border-radius: 8px;
  font-family: 'Anton', sans-serif;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: background .12s ease-out, transform .1s ease-out, box-shadow .12s ease-out;
}
.pfb-btn-primary:hover,
.pfb-btn-primary:focus-visible {
  background: var(--amber-hi);
  outline: none;
}
.pfb-btn-primary:active {
  transform: translateY(1px);
}
.pfb-btn-primary:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.pfb-btn-secondary {
  min-width: 44px;
  min-height: 44px;
  padding: 0.6rem 1rem;
  background: transparent;
  color: var(--cream);
  border: 2px solid var(--cream);
  border-radius: 8px;
  font-family: 'Anton', sans-serif;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: background .12s ease-out, color .12s ease-out, transform .1s ease-out;
}
.pfb-btn-secondary:hover,
.pfb-btn-secondary:focus-visible {
  background: var(--cream);
  color: var(--black);
  outline: none;
}
.pfb-btn-secondary:active {
  transform: translateY(1px);
}
.pfb-btn-secondary:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

@media (prefers-reduced-motion: reduce) {
  * { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}
