/* Spanish by Leo - extra practice modes (builds on style.css tokens) */
.modes .panel { margin-bottom: 26px; }
.modes .lesson-sec ol { padding-left: 1.2em; }
.audio-lg { width: 56px; height: 56px; flex: 0 0 56px; }
.q-audio { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin: 4px 0 18px; }
.option.picked { border-color: var(--ink); background: var(--orange-tint); }
.fb-es { font-family: var(--font-head); font-weight: 700; font-size: 1.25rem; margin: 4px 0; }
.fb-word { margin: 10px 0 0; font-size: .95rem; }
.miss-list { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px 18px; }
.miss-list a { font-weight: 800; }
.band-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 16px 0; }
.band { background: var(--cream-dim); border-radius: var(--radius-sm); padding: 12px; text-align: center; display: flex; flex-direction: column; }
.band strong { font-family: var(--font-head); font-size: 1.4rem; }
.band span { font-size: .85rem; color: var(--ink-soft); }
.say-box { background: var(--cream-dim); border-radius: var(--radius-sm); padding: 18px; margin: 16px 0; text-align: center; }
.say-text { font-family: var(--font-head); font-weight: 800; font-size: clamp(1.6rem, 6vw, 2.4rem); line-height: 1.15; overflow-wrap: anywhere; }
.say-pron { margin-top: 6px; color: var(--ink-soft); }
.rec-row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin: 6px 0 12px; }
.btn.is-rec { background: var(--red); color: var(--white); }
.rec-label { font-weight: 700; margin: 8px 0 4px; }
#rec-out audio { width: 100%; max-width: 420px; }
.rush-top { display: flex; justify-content: space-between; align-items: center; gap: 10px; font-weight: 700; margin-bottom: 8px; flex-wrap: wrap; }
.rush-time { font-family: var(--font-head); font-size: 1.6rem; min-width: 3ch; }
.rush-streak { color: var(--orange-deep); min-width: 7ch; text-align: right; }
.rush-fill { transition: none; }
.rush-prompt { font-size: 1.5rem; margin: 6px 0 14px; }
.rush-opts { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
@media (max-width: 520px) { .rush-opts { grid-template-columns: 1fr; } .band-grid { gap: 6px; } }
.stat-grid { margin-bottom: 8px; }
.stat { text-align: center; }
.stat strong { display: block; font-family: var(--font-head); font-size: 2rem; }
.stat span { color: var(--ink-soft); font-size: .9rem; }
.tbl { width: 100%; border-collapse: collapse; }
.tbl th, .tbl td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--line); }
.modes .seg { margin: 10px 0; }
@media (prefers-reduced-motion: reduce) { .session-progress-fill { transition: none; } }
