/* Shared learning refinements: readable Lao, clear controls and compact study. */
.site-shell :is(.dictionary-action, .dictionary-pagination a, .book-card-link,
  .guide-pattern-controls button, .guide-study-views button, .ai-coach-action,
  .ai-new-topic, .ai-coach-retry, .reader-controls button, .reader-tools-toggle) {
  min-height: 44px;
  font-size: 14px;
  line-height: 1.6;
}
.dictionary-actions { flex-wrap: wrap; gap: 8px; }
.dictionary-actions .dictionary-action { display: inline-flex; align-items: center; padding: 9px 12px; }
.dictionary-example, .dictionary-example-lao { font-size: 16px; line-height: 1.85; }
.site-shell :is(.vocab-voice-label, .section-learning-tip, .lesson-meta, .lesson-story,
  .inline-ai-status, .quiz-help p, .quiz-return, .quiz-facts span, .quiz-option-text) { color: #425a7b; }
.site-shell :is(.vocab-voice-label, .section-learning-tip, .inline-ai-status) { font-size: 14px; line-height: 1.8; }
.site-shell :is(button, a, summary, textarea):focus-visible { outline: 3px solid #386ac3; outline-offset: 3px; }
.lesson-progress-help, .completion-explanation { color: #425a7b; font-size: 13px; line-height: 1.8; margin: 10px 0 16px; }
.lesson-progress-help { padding: 0 6px; }
.premium-lesson .lesson-meta { font-size: 14px; }
.premium-lesson .guide-pattern-example strong { font-size: 17px; line-height: 1.65; }
.premium-lesson .guide-pattern-example-lao { font-size: 15px; line-height: 1.85; }
.premium-lesson .guide-pattern-meaning > span:last-child { font-size: 15px; }
.guide-pattern-practice { grid-column: 1 / -1; border-top: 1px solid #dce5f3; padding-top: 6px; }
.site-shell :is(.guide-pattern-practice, .guide-extra-notes, .grammar-reference) > summary {
  min-height: 44px; padding: 10px 4px; cursor: pointer; color: #12376a; font-size: 15px; font-weight: 650;
}
.guide-pattern-practice label { display: block; font-size: 15px; line-height: 1.9; margin: 6px 0; }
.guide-pattern-practice textarea { width: 100%; box-sizing: border-box; min-height: 90px; font: inherit; font-size: 16px; background: #fff; padding: 12px; border: 1px solid #9eb6d7; border-radius: 9px; resize: vertical; }
.guide-pattern-practice p { font-size: 13px; line-height: 1.8; color: #425a7b; margin: 8px 0; }
.guide-extra-notes { border-top: 1px solid #dce5f3; margin-top: 18px; }
.grammar-reference { padding: 14px 20px; border: 1px solid #d5e0f0; border-radius: 14px; margin: 20px 0; background: #fff; }
.grammar-reference[open] > summary { margin-bottom: 18px; }
.grammar-reference table { width: 100%; }
.grammar-reference td { overflow-wrap: anywhere; }
.inline-ai-panel .ai-coach-composer { margin-top: 16px; }
.inline-ai-panel .ai-coach-composer textarea { font-size: 16px; }
.inline-ai-panel .ai-coach-retry { padding: 9px 15px; border: 1px solid #b92b38; border-radius: 8px; background: #fff; color: #a32131; }
.inline-ai-panel[aria-busy="true"] .inline-ai-status { color: #12376a; }

#quiz-map-content { display: contents; }
.quiz-map-toggle { display: flex; justify-content: space-between; align-items: center; gap: 12px; width: 100%; min-height: 48px; padding: 10px 14px; border: 0; border-radius: 10px; background: #eef3fd; color: #12376a; font-size: 14px; font-weight: 700; }
.quiz-dialogue-player { margin: 0 0 20px; padding: 16px 18px; border: 1px solid #c6d7f0; border-left: 3px solid #ce1126; border-radius: 10px; background: #f2f6ff; }
.quiz-dialogue-player > strong { color: #12376a; font-size: 15px; }
.quiz-dialogue-player > p { font-size: 13px; color: #425a7b; margin: 4px 0 12px; }
.premium-quiz .quiz-dialogue-player .pronunciation-button { min-height: 44px; font-size: 14px; }
.premium-quiz .quiz-question-type, .premium-quiz .quiz-help p { font-size: 13px; }
.premium-quiz .quiz-help p { line-height: 1.8; }

.library-section-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin: 8px 0 20px; }
.library-section-heading h2 { font-size: 26px; margin: 4px 0; }
.library-section-heading .eyebrow { font-size: 11px; margin: 0; }
.library-section-heading > span { padding: 8px 14px; border: 1px solid #c6d7ef; border-radius: 30px; color: #12376a; background: #fff; }
.library-ready .book-grid:has(> :only-child) { display: block; }
.library-ready .book-card:only-child { display: grid; grid-template-columns: 42% 1fr; gap: 22px; padding: 16px; }
.library-ready .book-card:only-child .book-cover { border-radius: 12px; }
.library-ready .book-card:only-child .book-card-body { align-self: center; padding: 24px; }
.library-ready .book-card:only-child h3 { font-size: clamp(28px, 3vw, 40px); }
.library-ready .book-card:only-child .book-card-link { margin-top: 16px; padding: 12px 18px; background: #ce1126; color: #fff; border-radius: 9px; }
.library-upcoming { margin: 28px 0 40px; border: 1px solid #d5e0f0; border-radius: 18px; background: #fff; }
.library-upcoming > summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; cursor: pointer; padding: 22px; color: #12376a; list-style: none; }
.library-upcoming > summary::-webkit-details-marker { display: none; }
.library-upcoming summary strong { font-size: 18px; display: block; }
.library-upcoming summary small { display: block; font-size: 14px; color: #425a7b; margin-top: 6px; }
.library-upcoming summary > span:last-child { flex-shrink: 0; font-size: 14px; }
.upcoming-book-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; padding: 0 22px 22px; }
.upcoming-book-list article { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 0 12px; padding: 14px; border: 1px solid #dce5f3; border-radius: 10px; background: #f8faff; }
.upcoming-book-number { grid-row: span 2; display: grid; place-items: center; width: 42px; height: 48px; border-radius: 6px; background: #e5edfc; color: #12376a; font: 23px Georgia, serif; }
.upcoming-book-list h3 { margin: 0; font-size: 17px; }
.upcoming-book-list article > span:last-child { font-size: 13px; color: #425a7b; }

@media (max-width: 760px) {
  .site-header .main-nav { gap: 8px; justify-content: space-between; width: 100%; }
  .site-header .main-nav a, .site-header .text-button { font-size: 13px; min-height: 44px; display: inline-flex; align-items: center; white-space: nowrap; }
  .premium-quiz .quiz-map { display: block; padding: 10px; }
  .quiz-map.is-open #quiz-map-content { display: block; padding: 12px 5px 4px; }
  .quiz-map-toggle[hidden], #quiz-map-content[hidden] { display: none !important; }
  .quiz-map #quiz-map-content > :is(.quiz-eyebrow, h2) { display: none; }
  .quiz-map .quiz-progress-summary { margin: 5px 0 12px; font-size: 13px; }
  .quiz-map .quiz-question-map { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .premium-quiz .quiz-hero-visual { min-height: 110px; height: 110px; }
  .quiz-hero-visual .quiz-cover-caption { display: none; }
  .quiz-mobile-progress span { font-size: 12px; }
  .quiz-mobile-jump { font-size: 13px; min-height: 44px; }
  .premium-quiz .pronunciation-button, .premium-quiz .option-audio-controls .pronunciation-button { font-size: 13px; }
  .quiz-dialogue-player { padding: 13px; }
  .library-ready .book-card:only-child { grid-template-columns: 1fr; gap: 0; padding: 12px; }
  .library-ready .book-card:only-child .book-card-body { padding: 20px 8px 8px; }
  .library-upcoming > summary { padding: 18px; }
  .upcoming-book-list { grid-template-columns: 1fr; padding: 0 18px 18px; }
  .grammar-reference { padding: 12px; }
  .premium-lesson .reader-controls { flex-wrap: wrap; }
}
