/* guided-player — quiet, brand-paper player for paced spoken flows.
   The breathing circle matches the app's (8s ease in-out). */
.gplayer-ui { border: 1px solid #E8E3DA; border-radius: 14px; padding: 1.6rem 1.4rem; margin: 1.4rem 0; background: #FFFCF7; }
.gp-stage { min-height: 9.5rem; display: flex; flex-direction: column; justify-content: center; }
.gp-label { color: #8B8680; font-size: 0.8rem; letter-spacing: 0.04em; text-transform: lowercase; margin: 0 0 0.4rem; }
.gp-text { font-family: 'Source Serif 4', Georgia, serif; font-size: 1.25rem; line-height: 1.5; color: #1F2A2E; margin: 0; }
.gp-breathe { display: flex; justify-content: center; padding: 0.4rem 0 1rem; }
.gp-breathe-dot { width: 72px; height: 72px; border-radius: 50%; background: #C25450; animation: gp-breathe 8s ease-in-out infinite; }
@keyframes gp-breathe { 0%, 100% { transform: scale(0.55); opacity: 0.7; } 50% { transform: scale(1); opacity: 1; } }
.gp-btn { font: inherit; font-weight: 500; width: 100%; margin-top: 1.2rem; padding: 0.8rem; font-size: 1rem;
  background: #1F2A2E; color: #FAF7F2; border: 1px solid #1F2A2E; border-radius: 10px; cursor: pointer; }
.gp-btn:active { transform: translateY(1px); }
@media (prefers-reduced-motion: reduce) { .gp-breathe-dot { animation: none; } }
