.spoken-training { min-height: 100vh; }
.spoken-notice { margin: 2rem 0; padding: 1.2rem 1.4rem; border-left: 4px solid #8f2f29; background: #fffef8; }
.spoken-notice p { margin: 0.35rem 0 0; }
.spoken-workspace { display: grid; min-height: 100vh; place-items: center; padding: 2rem; }
.spoken-player-card { width: min(680px, 100%); padding: 3rem; border-radius: 0.5rem; box-shadow: 0 8px 32px rgba(45,42,36,.16); background: var(--training-paper); text-align: center; }
.spoken-status { margin: 1.5rem 0; font: 2rem Georgia, serif; }
.spoken-progress { height: 1rem; overflow: hidden; border: 1px solid #aaa69d; border-radius: 999px; background: #e2e0da; }
.spoken-progress span { display: block; width: 0; height: 100%; background: #595650; }
.spoken-time { display: flex; justify-content: space-between; margin-top: .5rem; font-variant-numeric: tabular-nums; }
.spoken-lock-note { margin: 2rem 0 1rem; color: #68645d; }
