/* Individual Blog posts, including older unwrapped pages. */
body.blog-post-practice .page { max-width: 860px; padding: 0 32px 80px; }
body.blog-post-practice .article-hero { margin: 0 0 32px; padding: 32px 0 28px; background: none; border-bottom: 1px solid var(--border); }
body.blog-post-practice h1 { max-width: 30ch; font-size: clamp(30px,4vw,42px); margin-bottom: 20px; }
body.blog-post-practice .article-tag { max-width: 100%; margin-bottom: 16px; padding: 4px 10px; background: var(--practice-accent-wash); color: var(--sky); border-color: var(--border); border-radius: 8px; font-size: 12px; font-weight: 500; line-height: 1.8; letter-spacing: 0; text-transform: none; }
body.blog-post-practice .dek { color: var(--muted); font-size: 18px; line-height: 1.8; margin-bottom: 20px; }
body.blog-post-practice .meta { color: var(--muted); font-size: 13px; line-height: 1.8; gap: 8px 12px; }
body.blog-post-practice .dot { color: var(--muted); }
body.blog-post-practice .page :is(p,li) { font-size: 17px; line-height: 1.85; }
body.blog-post-practice .page p { margin-bottom: 20px; }
body.blog-post-practice .page h2 { margin: 40px 0 20px; font-size: clamp(23px,3vw,28px); font-weight: 500; line-height: 1.5; scroll-margin-top: calc(var(--legal-header-offset,64px) + 24px); }
body.blog-post-practice .page h3 { font-size: 19px; font-weight: 500; line-height: 1.6; }
body.blog-post-practice .hero-image { display: block; width: 100%; height: auto; object-fit: contain; border-radius: 16px; border-color: var(--border); }
body.blog-post-practice figcaption { color: var(--muted); font-size: 13px; line-height: 1.8; }
body.blog-post-practice :is(.quick-answer,.story-box,.chart-card,.cta-card,.word-card,.email-example,.warning,.tip-card) { background: var(--practice-card); border: 1px solid var(--border); border-radius: 16px; margin-block: 24px; box-shadow: none; }
body.blog-post-practice :is(.quick-answer,.story-box,.chart-card,.cta-card,.word-card,.warning,.tip-card) { padding: 24px; }
body.blog-post-practice .quick-answer { border-inline-start: 3px solid var(--sky); background: var(--practice-accent-wash); }
body.blog-post-practice .quick-answer > strong { font-size: 17px; font-weight: 500; }
body.blog-post-practice :is(.quick-answer,.story-box,.word-card,.email-body,.warning,.tip-card) p { font-size: 16px; line-height: 1.8; }
body.blog-post-practice :is(.quick-answer,.story-box,.word-card,.email-body,.warning,.tip-card) p:last-child { margin-bottom: 0; }
body.blog-post-practice :is(.rule-grid,.practice-grid,.level-grid,.memory-grid,.phrase-grid,.comparison,.factor-grid) { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
body.blog-post-practice :is(.rule-card,.practice-item,.level-card,.memory-card,.phrase-card,.test-card,.factor-card,.activity-card,.decision-item,.step,.review-day,.exercise,.strategy,.practice-step,.structure-item,.routine-step) { min-width: 0; background: var(--practice-card); border-color: var(--border); border-radius: 14px; }
body.blog-post-practice :is(.rule-card,.practice-item,.level-card,.memory-card,.phrase-card,.test-card,.factor-card,.activity-card,.exercise,.strategy,.practice-step,.structure-item) { padding: 22px; }
body.blog-post-practice .rule-card { margin-bottom: 0; }
body.blog-post-practice :is(.rule-card,.practice-item,.level-card,.memory-card,.phrase-card,.test-card,.factor-card,.activity-card,.decision-item,.step,.review-day,.exercise,.strategy,.practice-step,.structure-item,.routine-step) :is(p,li) { font-size: 15px; line-height: 1.8; }
body.blog-post-practice :is(.rule-card,.practice-item,.level-card,.memory-card,.phrase-card,.test-card) h3 { font-size: 18px; line-height: 1.6; }
body.blog-post-practice :is(.rule-card,.practice-item,.level-card,.memory-card,.phrase-card,.test-card,.factor-card,.activity-card) p:last-child { margin-bottom: 0; }
body.blog-post-practice :is(.factor-desc,.step-body,.faq-a) { color: var(--muted); font-size: 15px; line-height: 1.8; }
body.blog-post-practice :is(.factor-title,.faq-q) { color: var(--text); font-size: 17px; font-weight: 500; line-height: 1.8; }
body.blog-post-practice :is(.step-badge,.minute,.day-label,.test-label,.level-label,.email-label,.word-card-label) { color: var(--sky); background: var(--practice-accent-wash); border-color: var(--border); font-size: 13px; font-weight: 500; line-height: 1.8; letter-spacing: 0; text-transform: none; }
body.blog-post-practice .email-body { padding: 24px; }
body.blog-post-practice .decision-item { padding: 22px; padding-inline-start: 64px; }
body.blog-post-practice .decision-item::before { left: auto; inset-inline-start: 18px; top: 22px; color: var(--sky); background: var(--practice-accent-wash); border-color: var(--border); font-weight: 500; }
body.blog-post-practice .mistakes li { padding: 16px; padding-inline-start: 46px; color: var(--muted); background: var(--practice-card); border-color: var(--border); font-size: 15px; line-height: 1.8; }
body.blog-post-practice .mistakes li::before { left: auto; inset-inline-start: 18px; top: 16px; }
html[dir="rtl"] body.blog-post-practice .mistakes li::before { transform: scaleX(-1); }
body.blog-post-practice .page :is(ul:not([class]),ol:not([class]),.lesson-plan,.checklist,.presentation-checklist) { padding-inline-start: 24px; }
body.blog-post-practice .page :is(ul:not([class]),ol:not([class]),.lesson-plan,.checklist,.presentation-checklist) li { margin-block: 12px; }
body.blog-post-practice .table-wrap { max-width: 100%; margin: 24px 0; padding: 0; }
body.blog-post-practice .page table { width: 100%; min-width: 0; table-layout: fixed; border-color: var(--border); background: var(--practice-card); }
body.blog-post-practice .page table :is(th,td) { padding: 12px; color: var(--muted); border-color: var(--border); text-align: start; vertical-align: top; font-size: 14px; line-height: 1.8; white-space: normal; overflow-wrap: anywhere; }
body.blog-post-practice .page table th { color: var(--text); background: var(--practice-accent-wash); font-weight: 500; }
body.blog-post-practice .cefr-row { grid-template-columns: 32px minmax(0,1fr) 116px; gap: 12px; }
body.blog-post-practice .cefr-track { background: var(--bg3); }
body.blog-post-practice .cefr-fill { min-width: 0; left: auto; inset-inline-start: 0; }
body.blog-post-practice :is(.cefr-level,.cefr-hours) { font-size: 13px; line-height: 1.8; }
body.blog-post-practice .cefr-hours { text-align: end; white-space: normal; }
body.blog-post-practice .page .chart-footnote { font-size: 13px; line-height: 1.8; margin-top: 16px; }
body.blog-post-practice .cta-card { background: var(--practice-accent-wash); text-align: start; margin-top: 40px; }
body.blog-post-practice .cta-card h3 { font-size: 24px; font-weight: 500; line-height: 1.5; }
body.blog-post-practice .cta-buttons { justify-content: start; gap: 12px; }
body.blog-post-practice .cta-btn { max-width: 100%; min-height: 48px; padding: 12px 16px; border-radius: 10px; font-size: 14px; font-weight: 500; line-height: 1.8; white-space: normal; text-align: center; }
html[data-theme] body.blog-post-practice .cta-btn.primary { color: var(--practice-on-accent); background: var(--sky); }
html[data-theme] body.blog-post-practice .cta-btn.primary:hover { color: var(--practice-on-accent); background: var(--sky2); }
body.blog-post-practice .cta-btn.secondary { color: var(--text); border-color: var(--border2); }
body.blog-post-practice .author-box { padding-top: 24px; gap: 16px; align-items: start; border-color: var(--border); }
body.blog-post-practice .author-avatar { background: var(--practice-card); border-color: var(--border); }
body.blog-post-practice .author-name { font-size: 15px; font-weight: 500; line-height: 1.8; }
body.blog-post-practice .author-role { font-size: 13px; line-height: 1.8; }
body.blog-post-practice .page :is(.pp-reading-cta__description,.pp-reading-cta__practice) { font-size: 15px; line-height: 1.8; }
body.blog-post-practice .page .pp-reading-cta__title { font-size: 24px; font-weight: 500; line-height: 1.4; }
body.blog-post-practice .page :is(h1,h2,h3,p,li,.article-tag,.meta,.author-box,.cta-card,.chart-card,.step-body,.factor-desc) { overflow-wrap: anywhere; }
@media (max-width: 600px) {
  body.blog-post-practice .page { padding: 0 16px 64px; }
  body.blog-post-practice .article-hero { padding-top: 24px; }
  body.blog-post-practice h1 { font-size: 30px; }
  body.blog-post-practice :is(.rule-grid,.practice-grid,.level-grid,.memory-grid,.phrase-grid,.comparison,.factor-grid) { grid-template-columns: minmax(0,1fr); }
  body.blog-post-practice :is(.quick-answer,.story-box,.chart-card,.cta-card,.word-card,.warning,.tip-card,.email-body) { padding: 20px; }
  body.blog-post-practice :is(.rule-card,.practice-item,.level-card,.memory-card,.phrase-card,.test-card,.factor-card,.activity-card,.exercise,.strategy,.practice-step,.structure-item) { padding: 20px; }
  body.blog-post-practice :is(.routine-step,.review-day) { grid-template-columns: minmax(0,1fr); gap: 10px; }
  body.blog-post-practice .step { flex-wrap: wrap; }
  body.blog-post-practice .cefr-row { grid-template-columns: 28px minmax(0,1fr) 88px; gap: 8px; }
  body.blog-post-practice .page table :is(th,td) { padding: 10px 8px; }
}
