/* CE2 keeps Kahier's sage/coral palette. Reading and actions are deliberately
   larger than the sixième layout; original course anchors stay in place. */
.kh-learning .course-experience.ce2-lesson { --ce2-sage:var(--ks-e8f1e6); --ce2-ink:var(--kt-315d4b); --ce2-coral:var(--ks-c7644c); }
.ce2-lesson [hidden] { display:none !important; }
.ce2-lesson .course-modes { display:none; }
.kh-learning .ce2-lesson .course-heading h1 { font-size:clamp(30px,3vw,42px); line-height:1.18; }
.ce2-lesson .course-heading .course-hero-description { font-size:17px; line-height:1.65; }
.ce2-lesson .course-hero-facts>span { font-size:13px; }
.ce2-lesson-guide { padding:24px 28px; margin:20px 0 26px; background:var(--ks-fffdf8); border:1px solid var(--ks-dce6dc); border-radius:22px; }
.ce2-guide-top { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.ce2-guide-top strong { font:900 25px/1.3 KahierNunito,Roboto,sans-serif; color:var(--kt-2b4539); }
.ce2-guide-top .course-kicker { color:var(--ce2-ink); font-size:11px; }
.ce2-guide-top button { background:var(--ks-fff); border:1px solid var(--ks-b7cbbd); border-radius:12px; padding:12px 16px; color:var(--ce2-ink); font:inherit; font-size:14px; font-weight:600; line-height:1.4; min-height:46px; flex-shrink:0; }
.ce2-lesson [data-ce2-position] { font-size:15px; line-height:1.6; margin:18px 0 14px; color:var(--kt-53685c); }
.ce2-gestures { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.ce2-gestures button { display:flex; align-items:center; justify-content:center; gap:9px; min-height:58px; padding:12px; border:1px solid var(--ks-d5e3d5); border-bottom:3px solid var(--ks-ceddcc); border-radius:14px; background:var(--ks-f7faf5); color:var(--kt-4c6455); font:800 18px/1.3 KahierNunito,Roboto,sans-serif; cursor:pointer; }
.ce2-gestures button>span { display:grid; place-items:center; width:28px; height:28px; flex-shrink:0; font-size:13px; background:var(--ks-e9f0e6); border-radius:50%; }
.ce2-gestures button[aria-pressed=true] { color:var(--kt-fff); background:var(--ce2-ink); border-color:var(--ks-315944); }
.ce2-gestures button[aria-pressed=true]>span { background:var(--ks-fff); color:var(--ce2-ink); }
.ce2-guide-hint { font-size:15px; line-height:1.6; color:var(--kt-53685c); margin:14px 0 0; }
.kh-learning .ce2-lesson .course-step { padding:30px; }
.kh-learning .ce2-lesson .course-step>h2 { font-size:29px; line-height:1.3; }
.kh-learning .ce2-lesson .lesson-block p,.kh-learning .ce2-lesson .lesson-block li { font-size:18px; line-height:1.8; }
.kh-learning .ce2-lesson .lesson-block>p { margin:18px 0; }
.ce2-lesson .ce2-gesture-panel>p { max-width:62ch; margin:18px 0; }
.kh-learning .ce2-lesson .property { font-size:12px; padding:8px 11px; letter-spacing:.3px; }
.kh-learning .ce2-lesson .example { margin:25px 0 8px; padding:22px; background:var(--ks-edf5e9); border-left:5px solid var(--ks-8eaf86); }
.ce2-lesson .example>small { font-size:12px; }
.kh-learning .ce2-lesson .example p { font-size:18px; line-height:1.8; }
.kh-learning .ce2-lesson .tip { margin:22px 0 8px; }
.kh-learning .ce2-lesson .tip p { font-size:17px; line-height:1.75; }
.ce2-guided .course-step-footer { display:none; }
.ce2-step-navigation { display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; padding-top:24px; margin-top:26px; border-top:1px dashed var(--ks-d7e2d5); }
.ce2-step-navigation>a,.ce2-step-navigation>button { display:flex; justify-content:center; align-items:center; min-height:48px; padding:12px 16px; border-radius:12px; font-size:16px; line-height:1.4; font-weight:600; }
.ce2-step-navigation>a { color:var(--ce2-ink); background:var(--ks-edf4e8); border:1px solid var(--ks-d5e2d1); }
.ce2-step-navigation>button { margin-left:auto; background:var(--ce2-ink); color:var(--kt-fff); border:1px solid var(--ce2-ink); cursor:pointer; }
.ce2-explain,.ce2-recall { border:1px solid var(--ks-e1e8d9); border-radius:17px; background:var(--ks-f8fbf4); padding:24px; }
.ce2-recall details,.ce2-explain details { background:var(--ks-fff); border:1px solid var(--ks-d8e4d5); border-radius:12px; margin:14px 0 0; padding:0 16px; }
.ce2-recall summary,.ce2-explain summary { min-height:50px; padding:14px 0; font-size:17px; font-weight:600; line-height:1.6; color:var(--ce2-ink); cursor:pointer; }
.ce2-recall details p,.ce2-explain details p { margin:0 0 18px; }
.ce2-explain a { display:inline-flex; align-items:center; min-height:44px; font-size:16px; font-weight:600; text-decoration:underline; color:var(--ce2-ink); }
.kh-learning .ce2-lesson .lesson h3 { font-size:24px; line-height:1.35; margin:0 0 14px; }
.ce2-lesson .course-manipulation { padding:24px; margin:22px 0; }
.ce2-lesson .course-manipulation-kicker { font-size:12px !important; line-height:1.6; letter-spacing:.4px; }
.ce2-lesson .course-manipulation-note { font-size:14px !important; line-height:1.65 !important; }
.ce2-lesson .course-manipulation strong,.ce2-lesson .course-manipulation label { font-size:18px; line-height:1.7; }
.ce2-lesson .course-manipulation li+li { margin-top:10px; }
.ce2-lesson .course-manipulation summary { font-size:16px; min-height:44px; }
.ce2-lesson .course-manipulation textarea { font-size:18px; }
.ce2-adult-help { padding:18px 22px; margin:24px 0; border:1px solid var(--ks-dce4d8); border-radius:16px; background:var(--ks-fff); }
.ce2-adult-help summary { display:list-item; font-size:15px; line-height:1.6; min-height:44px; padding:10px 0; font-weight:600; color:var(--kt-4d6455); cursor:pointer; }
.ce2-lesson .ce2-adult-help p,.ce2-adult-help .sixth-reference p { font-size:15px; line-height:1.7; }
.ce2-adult-help .sixth-reference { margin:18px 0 0; padding:18px; }
.ce2-lesson .ce2-adult-help a { font-size:15px; line-height:1.7; min-height:44px; display:inline-flex; align-items:center; }
.kh-learning .ce2-lesson .course-outline nav>a { min-height:48px; font-size:15px; line-height:1.6; padding:12px 9px; }
.ce2-lesson .course-map .course-personal p:not(.course-kicker) { font-size:14px; line-height:1.7; }
.ce2-lesson .course-map .course-personal>a,.ce2-lesson .course-map .course-rail-challenge,.ce2-lesson .course-pdf { font-size:14px; min-height:44px; }
.ce2-lesson .course-reading-position { font-size:13px; }
.ce2-lesson-support { padding:24px; margin:0 0 24px; background:var(--ks-f3f8ee); border:1px solid var(--ks-d5e2ca); border-radius:19px; }
.ce2-lesson-support>p { margin:12px 0; }
.ce2-lesson-support label { display:block; margin:18px 0 8px; font-size:17px; font-weight:600; color:var(--kt-3f5c47); }
.ce2-lesson-support input,.ce2-lesson-support select { min-height:48px; max-width:100%; padding:10px 14px; border:1px solid var(--ks-a9bba8); border-radius:11px; background:var(--ks-fff); color:var(--kt-2c4637); font:600 18px/1.4 KahierNunito,Roboto,sans-serif; }
.ce2-lesson-support input[type=number] { width:180px; }
.ce2-lab-controls { display:flex; flex-wrap:wrap; gap:10px; margin:18px 0; }
.ce2-lab-controls button { min-height:46px; padding:10px 15px; background:var(--ks-fff); border:1px solid var(--ks-adc2a7); border-bottom:3px solid var(--ks-c6d8bc); border-radius:11px; color:var(--kt-3e6348); font:700 16px/1.4 KahierNunito,Roboto,sans-serif; cursor:pointer; }
.ce2-lab-controls button[aria-pressed=true] { background:var(--ce2-ink); color:var(--kt-fff); border-color:var(--ks-315944); }
.ce2-lab-controls button:disabled { opacity:.5; cursor:default; }
.kh-learning .ce2-lesson .ce2-lab-note { font-size:13px; color:var(--kt-68775d); line-height:1.6; padding-top:16px; margin-bottom:0; border-top:1px dashed var(--ks-cddbc7); }
.kh-learning .ce2-lesson .ce2-lab-prompt { font-size:16px; line-height:1.7; padding:15px 0 0; }
.ce2-lab-result { padding:16px 18px; background:var(--ks-fff); border:1px solid var(--ks-d8e4cf); border-radius:12px; font-size:20px !important; line-height:1.6; color:var(--kt-34583e); font-weight:700; margin:18px 0 12px; overflow-wrap:anywhere; }
.ce2-lab-result p { font-size:17px !important; font-weight:400; margin-bottom:0; }
.ce2-place-groups { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.ce2-place-groups>div { min-width:0; text-align:center; border:1px solid var(--ks-cbdcc0); background:var(--ks-fffdf7); border-radius:12px; padding:12px 6px; }
.ce2-place-groups strong { display:block; font:900 28px/1.3 KahierNunito,Roboto,sans-serif; color:var(--kt-315c43); }
.ce2-place-groups span { display:block; font-size:14px; margin:6px 0 10px; }
.ce2-place-groups small { font-size:12px; color:var(--kt-526b4a); }
.ce2-unit-collection { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); min-height:45px; align-content:start; margin:12px auto; max-width:95px; }
.ce2-unit-collection svg { display:block; width:40px; max-width:100%; height:40px; fill:var(--kg-e7f1dc); stroke:var(--kg-5d7e4c); stroke-width:1; }
.ce2-unit-collection small { grid-column:1/-1; font-size:12px; }
.ce2-fraction-band { display:grid; grid-template-columns:repeat(var(--ce2-parts),minmax(0,1fr)); height:76px; max-width:100%; margin:22px 0; border:2px solid var(--ks-56794a); border-radius:9px; overflow:hidden; background:var(--ks-fff); }
.ce2-fraction-band>span { display:grid; place-items:center; min-width:0; border-right:1px solid var(--ksk-56794a); font-size:15px; color:var(--kt-315f40); }
.ce2-fraction-band>span:last-child { border:0; }
.ce2-fraction-band>span.is-colored { background:var(--ks-a9c696); }
.ce2-word-chain { display:flex; align-items:center; justify-content:center; gap:10px; flex-wrap:wrap; margin:24px 0; }
.ce2-word-chain>div { display:grid; gap:12px; text-align:center; background:var(--ks-fff); border:1px solid var(--ks-d5e2cb); border-radius:14px; padding:15px; }
.ce2-word-chain small { font-size:13px; color:var(--kt-526e4a); }
.ce2-word-chain strong { font:900 26px/1.3 KahierNunito,Roboto,sans-serif; color:var(--kt-335c40); }
.ce2-word-chain mark { border-radius:3px; color:var(--kt-93472f); background:var(--ks-f6dec9); padding:0 1px; }
.ce2-word-chain>span { color:var(--kt-718961); font-size:20px; }
.ce2-water-icons { max-width:420px; margin:22px auto; color:var(--kt-638258); }
.ce2-water-icons svg { display:block; width:100%; height:auto; }
.ce2-water-icons>div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; font-size:13px; text-align:center; line-height:1.5; margin-top:8px; }
.ce2-water-change { display:flex; justify-content:center; align-items:center; gap:12px; flex-wrap:wrap; font-size:18px; line-height:1.6; font-weight:700; margin:22px 0; }
.ce2-water-change>span:not(:nth-child(2)) { padding:12px 16px; border:1px solid var(--ks-c9dabd); background:var(--ks-fff); border-radius:12px; }
.ce2-lesson a:focus-visible,.ce2-lesson button:focus-visible,.ce2-lesson input:focus-visible,.ce2-lesson select:focus-visible,.ce2-lesson summary:focus-visible { outline:3px solid var(--ks-c3654b); outline-offset:4px; }
@media(max-width:1000px) {
  .ce2-lesson .course-map .course-personal { display:none; }
  .ce2-lesson .course-map a.course-rail-challenge { margin:5px 20px 14px; }
}
@media(max-width:680px) {
  .ce2-lesson-guide { padding:21px 17px; }
  .ce2-guide-top { align-items:flex-start; gap:12px; flex-direction:column; }
  .ce2-guide-top strong { font-size:24px; }
  .ce2-guide-top button { min-height:44px; }
  .ce2-gestures { gap:6px; }
  .ce2-gestures button { flex-direction:column; padding:12px 7px; min-height:82px; font-size:16px; }
  .ce2-lesson [data-ce2-position],.ce2-guide-hint { font-size:15px; }
  .kh-learning .ce2-lesson .course-step { padding:23px 18px; }
  .kh-learning .ce2-lesson .course-step>h2 { font-size:25px; gap:10px; }
  .kh-learning .ce2-lesson .lesson-block p,.kh-learning .ce2-lesson .lesson-block li,.kh-learning .ce2-lesson .example p { font-size:17px; line-height:1.8; }
  .ce2-lesson .course-heading .course-hero-description { font-size:16px; }
  .ce2-step-navigation { gap:10px; }
  .ce2-step-navigation>a,.ce2-step-navigation>button { width:100%; font-size:16px; }
  .ce2-step-navigation>span { display:none; }
  .ce2-explain,.ce2-recall,.ce2-lesson-support,.ce2-lesson .course-manipulation { padding:20px 16px; }
  .ce2-place-groups { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ce2-word-chain { gap:6px; }
  .ce2-word-chain>div { padding:12px 7px; flex:1; min-width:72px; }
  .ce2-word-chain strong { font-size:21px; }
  .ce2-word-chain small { font-size:11px; }
  .ce2-word-chain>span { display:none; }
  .ce2-lab-controls button { flex:1 1 auto; }
  .ce2-water-icons>div { font-size:12px; }
  .ce2-adult-help { padding:16px 18px; }
}
@media(prefers-reduced-motion:reduce) { .ce2-lesson * { scroll-behavior:auto !important; transition:none !important; animation:none !important; } }
@media print {
  .ce2-lesson .course-step,.ce2-lesson .ce2-gesture-panel,.ce2-lesson .course-practice,.ce2-lesson .lesson>section { display:block !important; }
  .ce2-lesson-guide,.ce2-step-navigation,.ce2-lab-controls,.ce2-lesson .course-step-footer,.ce2-adult-help { display:none !important; }
}
