/* Shared base components. Keep variant and responsive rules in style.css. */
.button{border:0;background:var(--color-learning-green);color:var(--color-white);padding:var(--space-12) var(--space-22);min-height:var(--control-min-height);border-radius:var(--radius-control);display:inline-flex;gap:23px;align-items:center;justify-content:center;font-weight:var(--font-weight-semibold);font-size:var(--font-size-14)}
.button:hover{background:var(--color-green-hover)}
.button.secondary{background:var(--color-white);color:var(--color-learning-green);border:1px solid var(--color-secondary-border)}
.button.secondary:hover{background:var(--color-soft-hover)}
.subjects{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-22)}
.subject{background:var(--color-paper-surface);border:1px solid var(--color-soft-divider);border-radius:var(--radius-card);overflow:hidden;display:flex;flex-direction:column}
.subject-art{height:141px;position:relative;display:flex;justify-content:center;align-items:center;gap:17px;overflow:hidden}
.subject-body{padding:var(--space-22) var(--space-25) var(--space-20)}
.subject-body p{font-size:var(--font-size-13);color:var(--color-muted-leaf);margin-top:6px}
.subject-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-22);padding-top:var(--space-16);border-top:1px solid var(--color-soft-divider);font-size:var(--font-size-12);color:var(--color-muted-leaf)}
.subject-bottom a{color:var(--color-learning-green);font-size:var(--font-size-14);font-weight:var(--font-weight-semibold)}
.filters{display:flex;gap:var(--space-10);margin:var(--space-24) 0}
.filter{border:1px solid var(--color-control-border);background:transparent;border-radius:var(--radius-filter);padding:9px var(--space-20);min-height:46px;color:var(--color-learning-green)}
.filter.active{color:var(--color-white);background:var(--color-learning-green);border-color:var(--color-learning-green)}
.lesson-list{background:var(--color-paper-surface);border-radius:var(--radius-card);border:1px solid var(--color-soft-divider);padding:0 var(--space-25)}
.lesson-row{display:flex;align-items:center;gap:var(--space-22);padding:23px 0;border-bottom:1px solid var(--color-soft-divider)}
.lesson-row:last-child{border:0}
.lesson-glyph{width:61px;height:65px;flex-shrink:0;display:grid;place-items:center;border-radius:var(--radius-choice);background:var(--color-thai-ground);color:var(--color-thai-ink);font-family:var(--font-display);font-size:29px}
.lesson-row h3{font-size:var(--font-size-18)}
.lesson-row p{font-size:var(--font-size-12);color:var(--color-muted-leaf);margin-top:var(--space-4)}
.lesson-row .button{margin-left:auto;white-space:nowrap}
.complete-tag{color:var(--color-learning-green);font-size:var(--font-size-12);margin-left:5px}
.listen{background:var(--color-paper-surface);border:1px solid var(--color-listen-border);border-radius:var(--radius-control);min-height:var(--control-min-height);padding:9px 15px;color:var(--color-learning-green)}
.learning-sheet{border:1px solid var(--color-soft-divider);background:var(--color-paper-surface);padding:var(--space-36);border-radius:var(--radius-sheet)}
.choices{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.choice{border:1px solid var(--color-choice-border);background:var(--color-paper-surface);border-radius:var(--radius-choice);padding:var(--space-20) var(--space-12);min-height:83px;font-size:var(--font-size-25);color:var(--color-ink-green)}
.choice:hover:enabled{background:var(--color-learning-soft);border-color:var(--color-learning-green)}
.choice.correct{background:var(--color-correct-ground);border:2px solid var(--color-correct-border);color:var(--color-correct-ink);opacity:1}
.choice.wrong{background:var(--color-wrong-ground);border:2px solid var(--color-wrong-border);color:var(--color-wrong-ink);opacity:1}
.choice:disabled{opacity:.75}
.feedback{padding:var(--space-18) var(--space-22);border-radius:var(--radius-navigation);background:var(--color-feedback-correct-ground);margin-top:var(--space-24)}
.feedback.wrong{background:var(--color-feedback-wrong-ground)}
.feedback p{font-size:var(--font-size-child-control);margin-top:7px}
.feedback strong{font-size:var(--font-size-18)}
.choice[disabled]{cursor:default}
.home-activity{margin-top:var(--space-28);background:var(--color-activity-ground);padding:var(--activity-padding-y) var(--activity-padding-x);border-radius:var(--radius-activity)}
.home-activity h2{font-size:var(--font-size-activity-heading);margin-bottom:var(--space-12)}
.home-activity>p{font-size:var(--font-size-17);line-height:var(--line-height-lesson)}
.home-activity h3{font-size:var(--font-size-17);margin:23px 0 7px}
.activity-note{font-size:var(--font-size-13)!important;color:var(--color-activity-note-ink)!important;line-height:var(--line-height-support);margin:var(--space-12) 0}
.observation-list{display:grid;gap:var(--space-10);margin-top:15px}
.observation-list label{display:flex;align-items:flex-start;gap:13px;padding:var(--space-12) 0;cursor:pointer;font-size:var(--font-size-16)}
.observation-list input,.word-item input{width:22px;height:22px;flex-shrink:0;accent-color:var(--color-learning-green);cursor:pointer}
.lab-notebook textarea{display:block;width:100%;min-height:110px;resize:vertical;border:1px solid var(--color-notebook-border);border-radius:var(--radius-control);background:var(--color-paper-surface);color:var(--color-ink-green);font:inherit;font-size:var(--font-size-17);line-height:var(--line-height-support);padding:var(--space-14);caret-color:var(--color-learning-green)}

.health-habits h2,.art-listening h2,.work-sequence h2{font-size:var(--font-size-activity-heading)}
