/* Shared controls and readable teaching layouts. English Ladder keeps cobalt. */
:root { --learning-blue:#2445eb; --learning-ink:#172432; --learning-line:#d4dce5; }
[hidden] { display:none !important; }
html { scroll-padding-top:24px; }
.site-footer { flex-wrap:wrap; gap:16px 24px; }
.site-header,.site-links,.stage-actions,.grammar-page-links { min-width:0; flex-wrap:wrap; }
main,section,article,aside,fieldset,.work-hero>*,.grammar-hero>* { min-width:0; }
h1,h2,h3,.work-hero h1,.grammar-hero h1 { overflow-wrap:anywhere; }
button,input,select,textarea { max-width:100%; }
textarea { box-sizing:border-box; display:block; width:100%; padding:14px; margin:8px 0 18px; font:inherit; line-height:1.6; color:var(--learning-ink); background:#fff; border:1px solid #8996a6; border-radius:8px; }
button,a,input,textarea,select,summary { scroll-margin:30px; }
:focus-visible { outline:3px solid #2445eb; outline-offset:4px; }
.secondary-button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; box-sizing:border-box; border:1px solid #8996a6; border-radius:8px; background:#fff; color:#243649; padding:11px 18px; font:inherit; font-weight:650; line-height:1.4; text-decoration:none; cursor:pointer; }
.primary-button { min-height:44px; border-radius:8px; }
.stage-actions { justify-content:flex-start; display:flex; flex-wrap:wrap; gap:12px; margin:22px 0; align-items:center; }
.reading-width { max-width:760px; margin:36px auto; }
.muted,.archive-notice { color:#536273; font-size:.9rem; }
.archive-notice { max-width:75ch; border-left:3px solid #a3afc0; padding:10px 16px; }
.breadcrumb { display:flex; flex-wrap:wrap; gap:18px; padding:22px 0 0; font-size:.85rem; }
.curriculum-page .page-hero { max-width:100%; padding-bottom:22px; }
.curriculum-page .page-hero h1 { max-width:1000px; font-size:clamp(2.25rem,5vw,4.4rem); }
.curriculum-page .page-hero>p:not(.eyebrow) { max-width:72ch; }
.concept-graphic { width:100%; max-width:1080px; margin:8px auto 40px; }
.concept-graphic .grammar-image-trigger { box-sizing:border-box; text-decoration:none; }
.concept-graphic .grammar-hero-image { width:100%; max-height:none; height:auto; }
.concept-graphic figcaption { padding:12px 0; color:#536273; font-size:.85rem; line-height:1.6; }
.theme-grammar-index .library-card .grammar-thumb { width:100%; max-width:none; box-sizing:border-box; margin:0 0 18px; padding:0; background:#fff; }
.curriculum-page .image-lightbox-dialog { box-sizing:border-box; width:min(100%,1620px); overflow:auto; }
.curriculum-page .image-lightbox-close { position:sticky; top:0; z-index:2; flex-shrink:0; }
.curriculum-page .image-lightbox-image { flex:none; width:100%; max-width:100%; max-height:none; height:auto; margin:auto; }
@media print { .concept-graphic { break-inside:avoid; } .concept-graphic .grammar-image-hint,.concept-graphic figcaption,.curriculum-page .image-lightbox { display:none; } }
.concept-comparisons { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:16px 0 48px; }
.concept-comparison { border:1px solid #d4dbf6; background:#f0f3ff; border-radius:12px; padding:24px; }
.concept-comparison .eyebrow { color:#2445c1; font-size:.74rem; letter-spacing:.07em; }
.concept-example { font-size:clamp(1.12rem,1.9vw,1.6rem); line-height:1.45; color:#172432; font-weight:650; }
.concept-comparison>p:last-child { font-size:.9rem; color:#43536b; }
.concept-explanation { font-size:1.08rem; line-height:1.8; }
.grammar-response { padding:26px 0; border-top:1px solid var(--learning-line); }
.grammar-response[data-choice-question] { border:0; min-width:0; margin:22px 0; padding:0; }
.grammar-response legend { font-size:1.13rem; line-height:1.6; font-weight:700; margin-bottom:14px; padding:0; width:100%; }
.grammar-choices { display:grid; gap:10px; }
.grammar-choice { display:flex; gap:12px; align-items:flex-start; min-height:48px; border:1px solid #8996a6; border-radius:8px; padding:14px 16px; background:#fff; cursor:pointer; font-size:1rem; line-height:1.6; }
.grammar-choice input { flex:0 0 auto; width:20px; height:20px; margin:3px 0 0; accent-color:var(--learning-blue); }
.grammar-choice span { min-width:0; overflow-wrap:anywhere; }
.grammar-choice:hover { border-color:var(--learning-blue); }
.grammar-choice[data-choice-result="correct"] { border-color:#267243; background:#edf7ef; }
.grammar-choice[data-choice-result="incorrect"] { border-color:#a33232; background:#fff3f0; }
.choice-feedback { padding:14px 16px; border-left:3px solid #267243; background:#edf7ef; color:#194e2c; line-height:1.6; }
.choice-feedback[data-result="incorrect"] { border-color:#a33232; background:#fff3f0; color:#782626; }
.choice-progress { font-weight:650; color:#43536b; }
.curriculum-page .primary-button:disabled { opacity:.55; cursor:not-allowed; }
.curriculum-page .primary-button:disabled:hover { background:var(--accent); }
.grammar-response h3 { font-size:1.13rem; line-height:1.6; }
.grammar-response label,.transfer-task label { font-size:.9rem; }
.grammar-response .grammar-choice { font-size:1rem; }
.grammar-response details,.transfer-task details { background:#f3f5f8; padding:16px 20px; border-radius:8px; }
.grammar-response summary,.transfer-task summary { cursor:pointer; font-weight:650; min-height:24px; }
.transfer-task { padding:28px; box-sizing:border-box; background:#f0f3ff; border-radius:12px; }
.library-filters { display:flex; flex-wrap:wrap; align-items:end; gap:16px; margin:20px 0; padding:22px; background:#f0f3f7; border-radius:12px; }
.library-filters label { display:grid; gap:8px; flex:1 1 170px; font-size:.88rem; font-weight:650; }
.library-filters label:first-child { flex-grow:2; }
.library-filters input,.library-filters select { width:100%; box-sizing:border-box; min-height:46px; padding:10px 12px; border:1px solid #8996a6; border-radius:6px; background:#fff; font:inherit; }
.library-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin:22px 0 56px; }
.library-card { padding:24px; border:1px solid var(--learning-line); border-radius:12px; background:#fff; }
.library-card h2 { font-size:1.35rem; line-height:1.35; margin:10px 0; }
.library-card h2 a { text-decoration:none; color:#172432; }
.library-card h2 a:hover { color:#2445eb; text-decoration:underline; }
.library-card>p { font-size:.95rem; line-height:1.6; }
.library-card .eyebrow,.library-category { font-size:.75rem; color:#536273; }
.information-page { line-height:1.8; margin-top:0; }
.information-page h2 { margin-top:32px; font-size:1.5rem; }
.news-permalink .page-hero { padding-bottom:20px; }
.permanent-lesson-link,.next-study { display:block; margin:18px 0; }
.work-button { border-radius:8px; }
.work-page .work-button:not(.work-button-secondary) { background:#2445eb; }
.work-glossary-disclosure { margin-top:30px; }
.work-glossary-disclosure>summary { font-size:1.35rem; font-weight:650; cursor:pointer; padding:18px 0; }
.us-life-module.english-only { grid-template-columns:minmax(0,1fr); }
.life-unit-controls { display:flex; gap:14px; align-items:center; flex-wrap:wrap; padding:20px 0; }
.life-unit-controls select { font:inherit; min-height:44px; width:min(100%,460px); padding:8px; }
.life-practice { grid-column:1 / -1; padding:24px; background:#f0f3ff; border-radius:10px; }
.ai-extension { grid-column:1 / -1; min-width:0; margin:28px 0; border:1px solid #c7d1e1; border-radius:12px; background:#f5f7fc; color:#202b3b; }
.curriculum-page > main > .ai-extension { max-width:760px; margin:28px auto; }
.ai-extension > summary { display:list-item; cursor:pointer; padding:20px 24px; min-height:48px; box-sizing:border-box; color:#243ea5; }
.ai-extension-label { font-size:1.08rem; font-weight:700; }
.ai-extension-hint { display:block; margin:5px 0 0 18px; color:#4b5c73; font-size:.9rem; }
.ai-extension-body { padding:0 24px 22px; }
.ai-prompt-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.ai-prompt-card { min-width:0; background:#fff; border:1px solid #d7deea; border-radius:8px; padding:20px; }
.ai-prompt-card h3,.ai-prompt-card h4 { margin:0 0 8px; font-size:1.05rem; line-height:1.5; }
.ai-prompt-card > p { margin:8px 0 14px; font-size:.92rem; }
.ai-prompt-preview { margin:12px 0; }
.ai-prompt-preview > summary { display:list-item; padding:8px 0; min-height:44px; cursor:pointer; font-weight:600; color:#243ea5; }
.ai-prompt-text { white-space:pre-wrap; overflow-wrap:anywhere; word-break:normal; font:inherit; font-size:.9rem; line-height:1.65; max-height:32rem; overflow-y:auto; padding:14px; border:1px solid #c7d1e1; border-radius:6px; background:#f8f9fb; tab-size:2; }
.ai-copy { font:inherit; cursor:pointer; min-height:44px; }
.ai-copy[hidden] { display:none; }
.ai-copy-status:empty { display:none; }
.ai-copy-status { color:#215d38; line-height:1.5; }
.ai-extension .ai-extension-note { margin:20px 0 0; font-size:.85rem; line-height:1.6; color:#4b5c73; }
.ai-library-link { font-size:1rem; margin-top:20px; }
@media(max-width:750px) { .ai-prompt-grid { grid-template-columns:minmax(0,1fr); } .ai-extension-body { padding:0 16px 18px; } .ai-extension > summary { padding:18px 16px; } .ai-prompt-card { padding:16px; } }
@media print { .ai-copy,.ai-copy-status { display:none; } .ai-prompt-text { max-height:none; overflow:visible; } }
@media(max-width:850px) { .library-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .concept-comparisons { grid-template-columns:1fr; gap:12px; } .concept-comparison { padding:20px; } }
@media(max-width:600px) { .library-grid { grid-template-columns:1fr; gap:14px; } .library-card { padding:20px; } .work-hero h1 { font-size:clamp(2rem,8.5vw,2.8rem); } .work-hero { grid-template-columns:minmax(0,1fr); } .stage-actions>* { max-width:100%; } .reading-width { margin:26px auto; } .transfer-task { padding:20px; } .page-hero h1 { overflow-wrap:anywhere; } }
@media print { .library-filters,.life-unit-controls { display:none; } .concept-comparisons { display:block; } .concept-comparison { break-inside:avoid; margin-bottom:12px; } }

/* Search-friendly navigation uses the same restrained teaching layout. */
.home-intro { max-width:960px; padding:28px 0 30px; }
.home-intro h1 { font-size:clamp(1.8rem,3.2vw,2.6rem); line-height:1.15; letter-spacing:-.035em; margin:0 0 14px; }
.home-intro p { max-width:78ch; margin:0; color:#4f5965; line-height:1.75; }
.home-intro a { text-underline-offset:3px; }
.search-breadcrumb { padding:22px 0 0; font-size:.82rem; line-height:1.55; color:#536273; }
.search-breadcrumb ol { list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:8px 10px; }
.search-breadcrumb li { display:flex; align-items:baseline; gap:10px; min-width:0; }
.search-breadcrumb li+li::before { content:"/"; color:#8996a6; }
.search-breadcrumb a { display:inline-flex; align-items:center; min-height:32px; text-underline-offset:3px; }
.search-breadcrumb [aria-current] { overflow-wrap:anywhere; }
.search-related { border-top:1px solid #d4dce5; padding:28px 0; margin:40px 0 0; }
.search-related h2 { font-size:1.25rem; margin:0 0 18px; }
.search-related ul { display:flex; flex-wrap:wrap; gap:12px 24px; list-style:none; padding:0; margin:0; }
.search-related a { display:inline-flex; align-items:center; min-height:44px; text-underline-offset:4px; line-height:1.5; }
.lesson-cover { max-width:760px; margin:12px auto 36px; }
.lesson-cover img { display:block; width:100%; height:auto; max-height:460px; object-fit:cover; border-radius:12px; }
.lesson-cover figcaption { margin-top:9px; color:#536273; font-size:.8rem; line-height:1.6; }
@media(max-width:600px) {
  .home-intro { padding:22px 0; }
  .search-related ul { display:grid; gap:4px; }
  .search-breadcrumb a { min-height:44px; }
}
