:root{font-family:system-ui,-apple-system,"Segoe UI","Microsoft YaHei",sans-serif;color:#38314e;background:#f8f7fc;line-height:1.65;font-synthesis:none;--accent:#7955b5;--soft:#f0e9fb;--muted:#776d87;--line:#e5deee}*{box-sizing:border-box}body{margin:0}a{color:var(--accent);text-underline-offset:4px}button,input,select{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}[hidden]{display:none!important}h1{font-size:clamp(26px,3vw,34px);line-height:1.35;margin:5px 0 9px}h2{font-size:23px;line-height:1.4;margin:0 0 10px}h3{font-size:19px;margin:0 0 8px}p{margin:8px 0}.family-header{padding:20px max(22px,calc((100vw - 1120px)/2));background:#fffefa;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-bottom:1px solid var(--line)}#brand{font-size:22px;font-weight:750;color:#413459;text-decoration:none}.person-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}select,input{border:1px solid #d8cce6;background:#fff;color:#38314e;border-radius:11px;padding:10px 13px;min-height:46px;min-width:0;max-width:100%}input:not([type=checkbox]){width:100%}button,.button{border:1px solid #ded4eb;background:#fffefa;color:#51416c;border-radius:12px;padding:10px 17px;min-height:46px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:600;gap:8px}.primary{background:var(--accent);border-color:var(--accent);color:white}.quiet{background:transparent;border-color:transparent;font-weight:400}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #ad8ed6;outline-offset:3px}.family-main{max-width:1120px;margin:30px auto 70px;padding:0 24px}.intro{margin-bottom:25px}.muted,small{color:var(--muted)}small{font-size:14px}#syncStatus{font-size:13px;color:var(--muted)}.hero{background:var(--soft);padding:28px;border-radius:24px;display:flex;align-items:center;justify-content:space-between;gap:22px;margin:25px 0}.hero .primary{flex-shrink:0}.eyebrow{font-size:13px;letter-spacing:.08em;color:#8665a8;margin:0 0 6px}.subjects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.panel{background:#fffefa;border:1px solid var(--line);border-radius:22px;padding:24px;min-width:0}.subject{display:flex;flex-direction:column;gap:12px}.subject p{flex:1}.subject .button{margin-top:8px}.section{margin-top:28px}.rows{display:grid;gap:8px}.record-row{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.notice{padding:13px 17px;border-radius:13px;background:#fff4db;color:#765b2c;margin:18px 0;font-size:15px}.parent-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;align-items:end}.form-grid label{display:grid;gap:7px;min-width:0}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:15px}.message{max-width:1072px;margin:16px auto;padding:15px 24px;background:#fff1cf;color:#60431e;border-radius:15px;overflow-wrap:anywhere}.choices{display:flex;gap:18px;flex-wrap:wrap}fieldset{padding:0;border:0}legend{font-weight:600;margin-bottom:10px}.choices label{display:flex;gap:8px;align-items:center}.choices input{min-height:auto}.study-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;align-items:start}.catalog{max-height:720px;overflow:auto;display:grid;gap:8px;padding:8px}.lesson-item{display:block;text-align:left;width:100%;font-weight:400}.lesson-item.active{background:var(--soft);border-color:#bca0df}.lesson-item small{display:block}.lesson-tools{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.lesson-tools button.active{background:var(--soft);border-color:#bca0df}.stage{min-height:280px;background:#fffefa;border:1px solid var(--line);border-radius:20px;overflow:hidden}.stage video{width:100%;display:block;max-height:570px;background:#17151b}.stage audio{width:calc(100% - 40px);margin:55px 20px}.stage .pdf-host{min-height:480px}.stage .empty{padding:35px}.status-actions{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}.status-actions [aria-pressed=true]{background:var(--soft);border-color:#ad8bd3}.lesson-search{width:100%;margin-bottom:12px}.player-controls{display:flex;gap:12px;flex-wrap:wrap;padding:12px;background:#f1edf6;align-items:center}.player-controls select{min-height:40px;padding:5px 10px}.source-note{font-size:13px;color:var(--muted);margin-top:15px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}td,th{text-align:left;padding:9px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.empty{padding:25px;color:var(--muted)}#parentLogin input{max-width:420px}.danger-note{color:#8c4f31}@media(max-width:800px){.subjects{grid-template-columns:1fr}.study-layout{grid-template-columns:1fr}.catalog{max-height:220px}.form-grid{grid-template-columns:1fr}.family-header{padding:16px 20px}.person-controls{gap:8px}.hero{padding:22px}.parent-grid{grid-template-columns:1fr}}@media(max-width:480px){.family-main{padding:0 16px;margin-top:22px}.hero{align-items:start;flex-direction:column}.panel{padding:20px}.family-header{align-items:start}.person-controls{width:100%}#syncStatus{width:100%}.stage .pdf-host{min-height:360px}.player-controls{padding:9px}.family-main h1{font-size:26px}}

/* BEGIN SHARED STORY ART */
:root{--art-reading-owl:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20120%20126%22%20fill%3D%22none%22%3E%0A%20%20%3Cellipse%20cx%3D%2260%22%20cy%3D%22116%22%20rx%3D%2242%22%20ry%3D%226%22%20fill%3D%22%23dcd4ec%22%20opacity%3D%22.55%22%2F%3E%0A%20%20%3Cg%20transform%3D%22translate%2816%2010%29%22%20stroke-linejoin%3D%22round%22%3E%0A%20%20%20%20%3Cpath%20d%3D%22M17%2030%2014%208%2036%2022M52%2022%2075%208%2071%2034%22%20fill%3D%22%239b83e9%22%20stroke%3D%22%237054ad%22%20stroke-width%3D%221.8%22%2F%3E%0A%20%20%20%20%3Cellipse%20cx%3D%2244%22%20cy%3D%2244%22%20rx%3D%2231%22%20ry%3D%2232%22%20fill%3D%22%239b83e9%22%20stroke%3D%22%237054ad%22%20stroke-width%3D%221.8%22%2F%3E%0A%20%20%20%20%3Cellipse%20cx%3D%2244%22%20cy%3D%2255%22%20rx%3D%2222%22%20ry%3D%2220%22%20fill%3D%22%23eee5ff%22%2F%3E%0A%20%20%20%20%3Cg%20fill%3D%22%23fffdf5%22%20stroke%3D%22%237054ad%22%20stroke-width%3D%221.8%22%3E%3Ccircle%20cx%3D%2232%22%20cy%3D%2235%22%20r%3D%2213%22%2F%3E%3Ccircle%20cx%3D%2256%22%20cy%3D%2235%22%20r%3D%2213%22%2F%3E%3C%2Fg%3E%0A%20%20%20%20%3Cg%20fill%3D%22%23403154%22%3E%3Ccircle%20cx%3D%2234%22%20cy%3D%2235%22%20r%3D%225%22%2F%3E%3Ccircle%20cx%3D%2254%22%20cy%3D%2235%22%20r%3D%225%22%2F%3E%3C%2Fg%3E%0A%20%20%20%20%3Cg%20fill%3D%22white%22%3E%3Ccircle%20cx%3D%2235%22%20cy%3D%2233%22%20r%3D%221.7%22%2F%3E%3Ccircle%20cx%3D%2255%22%20cy%3D%2233%22%20r%3D%221.7%22%2F%3E%3C%2Fg%3E%0A%20%20%20%20%3Cpath%20d%3D%22m39%2045%205%207%205-7z%22%20fill%3D%22%23ffbf60%22%20stroke%3D%22%23e69b43%22%20stroke-width%3D%221.5%22%2F%3E%0A%20%20%20%20%3Cg%20fill%3D%22%23f7a9b7%22%3E%3Cellipse%20cx%3D%2222%22%20cy%3D%2247%22%20rx%3D%226%22%20ry%3D%223%22%2F%3E%3Cellipse%20cx%3D%2266%22%20cy%3D%2247%22%20rx%3D%226%22%20ry%3D%223%22%2F%3E%3C%2Fg%3E%0A%20%20%20%20%3Cpath%20d%3D%22M14%2061q16-7%2030%201%2014-8%2030-1v23q-16-6-30%201-14-7-30-1z%22%20fill%3D%22%2389c8e8%22%20stroke%3D%22%23497b9d%22%20stroke-width%3D%221.8%22%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%22M44%2063v22M23%2069l12%202m18%200%2012-2m-42%207%2012%202m18%200%2012-2%22%20stroke%3D%22%23eaf8ff%22%20stroke-width%3D%222%22%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%22M12%2053q-10%2013%206%2019m58-19q10%2013-6%2019%22%20fill%3D%22%23b8a0f3%22%20stroke%3D%22%237054ad%22%20stroke-width%3D%223%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%20%20%3Cpath%20d%3D%22m102%2017%202%205%205%202-5%202-2%205-2-5-5-2%205-2z%22%20fill%3D%22%23f5c970%22%2F%3E%0A%20%20%3Ccircle%20cx%3D%2213%22%20cy%3D%2272%22%20r%3D%223%22%20fill%3D%22%23a4d3cb%22%2F%3E%0A%3C%2Fsvg%3E%0A");--art-english-island:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20180%20112%22%20fill%3D%22none%22%3E%0A%20%20%3Cellipse%20cx%3D%2287%22%20cy%3D%2299%22%20rx%3D%2267%22%20ry%3D%227%22%20fill%3D%22%23e7def4%22%2F%3E%0A%20%20%3Cpath%20d%3D%22M28%2033q0-14%2015-14h57q15%200%2015%2014v30q0%2014-15%2014H63L44%2092l3-15h-4q-15%200-15-14z%22%20fill%3D%22%23fffdf8%22%20stroke%3D%22%23a78bce%22%20stroke-width%3D%222.5%22%2F%3E%0A%20%20%3Ctext%20x%3D%2248%22%20y%3D%2260%22%20fill%3D%22%238460bb%22%20font-family%3D%22Trebuchet%20MS%2Csans-serif%22%20font-size%3D%2233%22%20font-weight%3D%22700%22%3EAa%3C%2Ftext%3E%0A%20%20%3Cpath%20d%3D%22M119%2038h19q15%200%2015%2014v22q0%2012-13%2012h-9l-1%2012-14-12h-3q-12%200-12-12V58%22%20fill%3D%22%23dceff7%22%20stroke%3D%22%238bbcd3%22%20stroke-width%3D%222.5%22%2F%3E%0A%20%20%3Cpath%20d%3D%22m119%2060%208%206-8%206z%22%20fill%3D%22%237297bd%22%2F%3E%0A%20%20%3Cpath%20d%3D%22m146%2016%202%205%206%202-6%202-2%206-2-6-5-2%205-2z%22%20fill%3D%22%23edc76d%22%2F%3E%0A%20%20%3Ccircle%20cx%3D%2220%22%20cy%3D%2266%22%20r%3D%224%22%20fill%3D%22%23d2bce8%22%2F%3E%0A%3C%2Fsvg%3E%0A");--art-math-island:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20180%20112%22%20fill%3D%22none%22%3E%0A%20%20%3Cellipse%20cx%3D%2287%22%20cy%3D%2299%22%20rx%3D%2267%22%20ry%3D%227%22%20fill%3D%22%23d4e7eb%22%2F%3E%0A%20%20%3Cg%20transform%3D%22rotate%28-8%2077%2059%29%22%3E%3Crect%20x%3D%2229%22%20y%3D%2218%22%20width%3D%2292%22%20height%3D%2273%22%20rx%3D%2213%22%20fill%3D%22%23fffdf8%22%20stroke%3D%22%2387b9c8%22%20stroke-width%3D%222.5%22%2F%3E%3Cpath%20d%3D%22M44%2038h61M44%2056h61M44%2074h61M58%2029v51M81%2029v51%22%20stroke%3D%22%23d8e7e9%22%20stroke-width%3D%221.5%22%2F%3E%3Ccircle%20cx%3D%2257%22%20cy%3D%2256%22%20r%3D%2212%22%20fill%3D%22%23f9de9e%22%2F%3E%3Ctext%20x%3D%2251%22%20y%3D%2262%22%20font-family%3D%22sans-serif%22%20font-size%3D%2217%22%20fill%3D%22%239b772e%22%3E2%3C%2Ftext%3E%3Cpath%20d%3D%22m83%2036%2011%2020H72z%22%20fill%3D%22%239ac9d4%22%2F%3E%3Crect%20x%3D%2283%22%20y%3D%2264%22%20width%3D%2218%22%20height%3D%2217%22%20rx%3D%224%22%20fill%3D%22%23c8b0e4%22%2F%3E%3C%2Fg%3E%0A%20%20%3Cg%20transform%3D%22rotate%2827%20135%2060%29%22%3E%3Crect%20x%3D%22130%22%20y%3D%2226%22%20width%3D%2212%22%20height%3D%2261%22%20rx%3D%224%22%20fill%3D%22%23f4cd80%22%20stroke%3D%22%23c39955%22%20stroke-width%3D%222%22%2F%3E%3Cpath%20d%3D%22m130%2084%206%2015%206-15%22%20fill%3D%22%23fff0d8%22%20stroke%3D%22%23c39955%22%20stroke-width%3D%222%22%2F%3E%3Cpath%20d%3D%22m134%2094%202%205%202-5z%22%20fill%3D%22%237b6754%22%2F%3E%3C%2Fg%3E%0A%20%20%3Cpath%20d%3D%22m139%2010%202%205%206%202-6%202-2%205-2-5-5-2%205-2z%22%20fill%3D%22%23b9a1d6%22%2F%3E%0A%3C%2Fsvg%3E%0A");--art-reading-island:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20180%20112%22%20fill%3D%22none%22%3E%0A%20%20%3Cellipse%20cx%3D%2289%22%20cy%3D%22100%22%20rx%3D%2266%22%20ry%3D%226%22%20fill%3D%22%23edddda%22%2F%3E%0A%20%20%3Cg%20transform%3D%22rotate%28-10%2066%2058%29%22%3E%3Crect%20x%3D%2232%22%20y%3D%2227%22%20width%3D%2230%22%20height%3D%2266%22%20rx%3D%225%22%20fill%3D%22%23efb6b8%22%20stroke%3D%22%23c38a94%22%20stroke-width%3D%222%22%2F%3E%3Cpath%20d%3D%22M39%2033v52M45%2039h9M45%2045h9%22%20stroke%3D%22%23fff0ea%22%20stroke-width%3D%222%22%2F%3E%3C%2Fg%3E%0A%20%20%3Crect%20x%3D%2265%22%20y%3D%2219%22%20width%3D%2231%22%20height%3D%2276%22%20rx%3D%225%22%20fill%3D%22%23b8cbe6%22%20stroke%3D%22%238c9dbd%22%20stroke-width%3D%222%22%2F%3E%3Cpath%20d%3D%22M72%2026v61M78%2033h11M78%2040h11%22%20stroke%3D%22%23f4f6ff%22%20stroke-width%3D%222%22%2F%3E%0A%20%20%3Cg%20transform%3D%22rotate%2812%20115%2061%29%22%3E%3Crect%20x%3D%22102%22%20y%3D%2232%22%20width%3D%2231%22%20height%3D%2261%22%20rx%3D%225%22%20fill%3D%22%23f2d79e%22%20stroke%3D%22%23c5aa70%22%20stroke-width%3D%222%22%2F%3E%3Cpath%20d%3D%22M109%2039v47M116%2048h10M116%2054h10%22%20stroke%3D%22%23fff9e8%22%20stroke-width%3D%222%22%2F%3E%3C%2Fg%3E%0A%20%20%3Cpath%20d%3D%22m143%2020%203%207%208%201-6%206%201%208-6-4-7%204%202-8-6-6%208-1z%22%20fill%3D%22%23d5c0eb%22%20stroke%3D%22%23b496cd%22%20stroke-width%3D%221.5%22%2F%3E%0A%20%20%3Ccircle%20cx%3D%2222%22%20cy%3D%2263%22%20r%3D%223%22%20fill%3D%22%23eccd93%22%2F%3E%0A%3C%2Fsvg%3E%0A");}
/* END SHARED STORY ART */

/* BEGIN SHARED STORY THEME */
/* Shared storybook language, based on the original English island. */
.family-world{--accent:#7955bd;--soft:#f1eafe;--muted:#83738e;--line:#e7dcf0;color:#55416e;background:linear-gradient(150deg,#f0f7ff 0%,#fff8ee 62%,#fff1e9 100%);font-family:"Trebuchet MS","PingFang SC","Microsoft YaHei",sans-serif;min-height:100vh}
.family-world h1,.family-world h2,.family-world h3{color:#534078}
.family-world .family-header{background:#fffdf7;border-bottom:2px solid #e9e0f4;padding-top:16px;padding-bottom:16px}
.family-world #brand{display:flex;align-items:center;gap:12px;letter-spacing:.3px;font-size:23px;font-weight:800}
.family-world #brand:before{content:"";display:block;flex:none;width:55px;height:60px;background:var(--art-reading-owl) center/contain no-repeat}
.family-world .person-controls{padding:5px 7px 5px 16px;border:1px solid #e8ddf2;background:#faf6ff;border-radius:20px;gap:12px}
.family-world .person-controls label{font-size:14px;color:#7d6289}
.family-world .person-controls select{border:2px solid #e4d8f2;border-radius:14px;background:#fffdf8;font-weight:700;min-width:90px;min-height:45px}
.family-world .person-controls #logout{font-size:13px;min-height:44px;color:#9983ab;padding:7px 10px}
.family-world .family-main{max-width:1240px;padding:0 30px;margin-top:30px}
.family-world .intro{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:110px}
.family-world .intro h1{font-size:clamp(28px,3vw,36px);letter-spacing:.3px;margin:6px 0 9px;line-height:1.42}
.family-world .intro p{color:#8d7899}
.family-world .eyebrow{color:#a28358;letter-spacing:.5px;font-size:13px}
.island-friend{display:flex;gap:7px;align-items:center;flex-shrink:0}
.island-friend .friend-owl{width:86px;height:92px;display:block;background:var(--art-reading-owl) center/contain no-repeat;transform:rotate(4deg)}
.friend-bubble{background:#fff9e9;border:2px solid #f0dfb7;color:#a78658;border-radius:16px 16px 16px 4px;padding:9px 14px;font-size:14px;font-weight:650;white-space:nowrap}
.family-world .hero{position:relative;isolation:isolate;background:#fff6dc;border:2px solid #efdfb1;box-shadow:0 6px 0 #e8d7b522;border-radius:28px;padding:30px 34px;min-height:196px;margin:24px 0 30px;gap:26px;overflow:hidden}
.family-world .hero:before{content:"";position:absolute;z-index:-1;right:-26px;top:-70px;width:280px;height:280px;border-radius:50%;background:#ffedba;opacity:.45}
.family-world .hero h2{font-size:29px;color:#80603e;margin:6px 0 10px}
.family-world .hero p{color:#856640}
.family-world .hero .hero-copy{flex:1;min-width:0}
.hero-owl{flex:none;display:block;width:135px;height:142px;background:var(--art-reading-owl) center/contain no-repeat;transform:rotate(-5deg)}
.family-world .hero .primary{background:#9a7ad4;border:2px solid #8b6ac3;box-shadow:0 5px 0 #7956a933;border-radius:20px;padding:14px 25px;font-size:18px}
.family-world .subjects{gap:22px}
.family-world .panel{border:2px solid #e5d9ef;border-radius:25px;background:#fffdf8;box-shadow:0 5px 0 #e4d8ef44;padding:26px}
.family-world .subject{position:relative;gap:6px;padding:21px 24px 24px;transition:transform .18s ease,box-shadow .18s ease}
.family-world .subject:hover{transform:translateY(-3px);box-shadow:0 8px 0 #e4d8ef44}
.family-world .subject h2{font-size:23px;margin:0 0 7px}
.subject-art{display:block;height:105px;width:170px;max-width:100%;background:center/contain no-repeat;align-self:center;margin:0 auto 7px}
.subject-english{background:#fcf8ff!important;border-color:#e3d3f1!important}
.subject-english .subject-art{background-image:var(--art-english-island)}
.subject-math{background:#f2fbff!important;border-color:#cee6ef!important}
.subject-math h2{color:#52839c!important}
.subject-math .subject-art{background-image:var(--art-math-island)}
.subject-reading{background:#fff5f5!important;border-color:#f0d7dd!important}
.subject-reading h2{color:#a06e80!important}
.subject-reading .subject-art{background-image:var(--art-reading-island)}
.family-world .subject p{font-size:16px;color:#78618b}
.family-world .subject small{font-size:14px;color:#7f6889;min-height:45px}
.family-world .subject .button{background:#fffdfb;border:2px solid #e5d9ef;border-radius:16px;min-height:49px;font-size:16px;color:#8664b5}
.family-world .subject-math .button{color:#5289a4;border-color:#d1e6ee}
.family-world .subject-reading .button{color:#aa7485;border-color:#eed4dc}
.family-world .section>h2{font-size:22px;display:flex;align-items:center;gap:10px}
.family-world .section>h2:before{content:"";width:10px;height:22px;border-radius:7px;background:#d0b9ea;display:inline-block}
.family-world .record-row{background:#fffdf8;border:1px solid #ece1f3;border-radius:16px;padding:16px 20px;margin-top:10px;color:#80698e;gap:14px}
.family-world .empty-note{padding:18px 20px;background:#fffdf799;border:1px dashed #dfd0eb;border-radius:18px;color:#80658e;display:flex;align-items:center;gap:14px}
.empty-note:before{content:"";width:47px;height:50px;flex:none;background:var(--art-reading-owl) center/contain no-repeat;opacity:.75}
.family-world .parent-grid .panel{box-shadow:0 3px 0 #e2d5ec22}
.family-world.family-parent .intro{min-height:90px}
.family-parent .parent-child-name{display:flex;align-items:center;gap:13px}
.parent-child-name:before{content:"";width:48px;height:52px;background:var(--art-reading-owl) center/contain no-repeat}
.family-world.family-parent .panel.section>h2{font-size:21px}
.family-world.family-parent .panel.section>h2:before{height:18px;width:7px}
.family-world button,.family-world .button{border-width:2px;border-radius:15px;transition:background .15s,transform .15s}
.family-world button:active,.family-world .button:active{transform:translateY(1px)}
.family-world .primary{background:#9473cc;border-color:#8763c0;box-shadow:0 3px 0 #7a56a925}
.family-world .notice{border:2px solid #efddb0;background:#fff7df;color:#886935;border-radius:17px;padding:13px 18px;font-size:14px}
.family-course .family-main{max-width:1480px}
.family-course .intro{margin:20px 0;min-height:108px}
.family-course .intro h1{font-size:clamp(25px,2.6vw,32px)}
.family-course .intro .lesson-heading-copy{min-width:0;flex:1}
.family-course .intro .muted{font-size:15px;color:#81658b;max-width:75ch}
.family-course .intro .island-friend{align-self:center}
.family-course .study-layout{grid-template-columns:290px minmax(0,1fr);gap:24px}
.family-course .study-layout>aside{background:#fffcf3;border:2px solid #ece2f0;border-radius:24px;padding:18px 12px 16px;box-shadow:0 5px 0 #e4d6eb33}
.catalog-title{padding:0 8px;margin-bottom:13px}
.catalog-title strong{display:block;font-size:18px;color:#79638d}
.catalog-title small{font-size:12px;color:#896d7b}
.family-course .study-layout>aside>label{color:#9b859f;font-size:13px;padding-left:8px;display:block;margin-bottom:6px}
.family-course .lesson-search{background:#fff;border:2px solid #ece1f2;border-radius:15px;min-height:46px;font-size:15px;margin-bottom:12px}
.family-course .catalog{padding:2px;gap:8px;max-height:650px;scrollbar-width:thin;scrollbar-color:#d7c7e8 transparent}
.family-course .lesson-item{display:flex;align-items:flex-start;gap:10px;border:2px solid transparent;border-radius:18px;padding:13px 10px;background:transparent;line-height:1.65;min-height:70px}
.lesson-item .lesson-count{width:35px;height:35px;display:grid;place-items:center;flex:none;border-radius:50%;border:2px solid #f3dfa7;background:#fff0c8;color:#b18a47;font-size:13px;font-weight:750;margin-top:3px}
.lesson-item:nth-child(3n+2) .lesson-count{background:#e1f2fa;border-color:#cce8f3;color:#648fa8}
.lesson-item:nth-child(3n) .lesson-count{background:#fce3e7;border-color:#f0ccd4;color:#b77e91}
.lesson-item .lesson-copy{display:block;min-width:0;overflow-wrap:anywhere}
.lesson-item .lesson-copy strong{font-size:15px;color:#725883;font-weight:650}
.family-course .lesson-item small{font-size:11px;color:#886c90;margin-top:3px}
.family-course .lesson-item.active{background:#f1eafe;border-color:#d9c9ef;box-shadow:0 4px 0 #e1d5ee55}
.family-course .lesson-item.active .lesson-count{background:#a184d8;border-color:#9575cd;color:#fff}
.family-course .lesson-tools{background:#ece5f4;border:2px solid #e5dced;border-radius:23px;padding:7px;margin:0 0 16px;gap:7px}
.family-course .lesson-tools button{display:flex;align-items:center;justify-content:flex-start;gap:10px;min-width:160px;flex:1 1 180px;min-height:66px;text-align:left;padding:11px 13px;border:2px solid transparent;border-radius:16px;background:transparent;color:#7c638d;box-shadow:none}
.resource-mark{width:25px;height:25px;flex:none;display:block}
.resource-mark svg{width:100%;height:100%;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
.resource-copy{min-width:0}
.resource-copy strong{font-size:16px;font-weight:700;display:block}
.resource-copy small{display:block;font-size:11px;font-weight:400;color:inherit;opacity:.85;line-height:1.5}
.family-course .lesson-tools button.active{background:#fffdfb;border-color:#e6dced;box-shadow:0 3px 0 #d7c9e3;color:#825db7}
.family-course .stage{border:2px solid #e3d8ee;border-radius:25px;box-shadow:0 6px 0 #dfd2e833;background:#fffdf9;min-height:350px}
.stage-title{display:flex;align-items:center;gap:9px;padding:15px 20px;background:#fffdf8;border-bottom:1px solid #ede4f2;color:#8d729e;font-size:14px;min-height:57px}
.stage-title .resource-mark{width:21px;height:21px}
.learning-welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 25px 30px;text-align:center;min-height:350px;background:linear-gradient(145deg,#fff9e6,#f7f0ff)}
.learning-welcome .welcome-owl{width:125px;height:133px;display:block;background:var(--art-reading-owl) center/contain no-repeat;margin-bottom:4px}
.learning-welcome h2{font-size:23px;color:#9271aa;margin:3px 0 7px}
.learning-welcome p{font-size:15px;color:#80658e;max-width:35ch}
.activity-hints{display:flex;gap:9px;justify-content:center;flex-wrap:wrap;margin-top:13px}
.activity-hints span{font-size:13px;background:#fffdf9;border:1px solid #eadcf0;padding:6px 13px;border-radius:13px;color:#82618f}
.family-course .status-actions{padding:18px 20px;background:#fffdf8;border:2px solid #e9dff2;border-radius:21px;margin:22px 0 12px;align-items:center}
.status-caption{font-size:14px;color:#80628f;margin-right:auto}
.family-course .status-actions button{font-size:15px;background:#fffdf9;border-color:#e8ddee;color:#80628f;box-shadow:none;gap:8px;min-height:48px;border-radius:16px}
.family-course .status-actions button[data-field=completed]{background:#f0f8e6;border-color:#d4e5be;color:#83a263}
.family-course .status-actions [aria-pressed=true]{background:#e4f2d6!important;border-color:#bdd69e!important;color:#668d45!important}
.family-course .status-actions button[data-field=review][aria-pressed=true]{background:#fff1cb!important;border-color:#ead18f!important;color:#b08b43!important}
.family-course .source-note{font-size:12px;line-height:1.8;color:#81698a;padding:0 3px}
.family-course .stage.audio-stage{background:#fbf5ff}
.audio-illustration{display:flex;align-items:center;justify-content:center;gap:24px;padding:32px 25px 7px;background:linear-gradient(145deg,#fff8df,#f4eaff);min-height:165px}
.audio-illustration .welcome-owl{display:block;width:100px;height:107px;background:var(--art-reading-owl) center/contain no-repeat;flex:none}
.audio-illustration h3{font-size:22px;color:#9976ae}
.audio-illustration p{font-size:14px;color:#876c92}
.family-course .stage audio{display:block;width:calc(100% - 44px);margin:15px 22px 28px}
.family-course .stage .player-controls{background:#1d1d20;color:white;padding:13px 17px;gap:10px}
.family-course .player-controls button,.family-course .player-controls select{border:1px solid #ffffff35;background:#ffffff15;color:#fff;border-radius:16px;min-height:43px;font-size:13px;padding:8px 13px;box-shadow:none}
.family-course .player-controls select option{background:#2c2b31;color:#fff}
.family-course .player-controls label{font-size:13px;color:#e5deee}
.family-course .player-controls #mediaError{font-size:13px;color:#ffddb3}
.family-course .stage .pdf-host{min-height:500px}
.family-world.family-parent .friend-owl{width:64px;height:70px;opacity:.9}
.family-world.family-parent .friend-bubble{font-size:13px;padding:7px 12px}
.family-login{background:linear-gradient(145deg,#f0f7ff,#fff7ed 62%,#fff0e8);font-family:"Trebuchet MS","Microsoft YaHei",sans-serif;min-height:100vh}
.family-login .login-shell{max-width:550px;padding-top:30px;margin:0 auto}
.family-login .wordmark{color:#70508f;display:flex;align-items:center;gap:11px;justify-content:center;font-weight:750}
.family-login .wordmark:before{content:"";display:block;width:66px;height:72px;background:var(--art-reading-owl) center/contain no-repeat}
.family-login .login-panel{border:2px solid #e5d8ef;border-radius:27px;background:#fffdf8;box-shadow:0 7px 0 #e5d6ef55;padding:31px}
.family-login h1{color:#76538c;font-size:30px}
.family-login .primary{background:#9672cb;border:2px solid #8864bd;border-radius:17px;box-shadow:0 4px 0 #d7c3ed;color:white}
.family-login .notice{border:1px solid #f0deb0;border-radius:15px}
/* Chinese keeps readable book typography inside the same friendly outer shell. */
.chinese-world{--green:#7f60ad;--green-light:#f0e9fb;--gold:#b38b4d;--line:#e7dfee;--ink:#59456d;--muted:#97819f;--paper:#fffdfa;background:linear-gradient(145deg,#f2f7ff,#fff8ef 65%,#fff2e8);color:var(--ink);font-family:"Trebuchet MS","Microsoft YaHei",sans-serif}
.chinese-world .app-shell{background:transparent}
.chinese-world .sidebar{background:#fffcf3;border-right:2px solid #e8dfef;padding-top:25px}
.chinese-world .brand{color:#76548f;letter-spacing:.5px}
.chinese-world .brand-icon{background:var(--art-reading-owl) center/contain no-repeat;color:transparent;font-size:0;box-shadow:none;border-radius:0;width:58px;height:64px;transform:none}
.chinese-world .brand small{color:#a08aaa;font-size:12px}
.chinese-world .side-label{color:#a68a9f;font-size:13px;margin-top:29px}
.chinese-world .lesson-link{border:2px solid transparent;border-radius:19px;padding:15px 10px;gap:10px;align-items:center}
.chinese-world .lesson-link.active{background:#f2eafd;border-color:#d9c8eb;box-shadow:0 4px 0 #e2d6ee55}
.chinese-world .lesson-number{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;background:#ffedbf;border:2px solid #f2dca0;color:#b58b40;font-size:14px;font-weight:750}
.chinese-world .lesson-link:nth-child(2) .lesson-number{background:#e3f3fa;border-color:#cce7f2;color:#6b9bb3}
.chinese-world .lesson-link:nth-child(3) .lesson-number{background:#ffe4e6;border-color:#f3cfd6;color:#bf869a}
.chinese-world .lesson-link.active .lesson-number{background:#a284d8;border-color:#9472cd;color:white}
.chinese-world .lesson-link strong{font-size:15px;color:#775888}
.chinese-world .lesson-link small{font-size:12px;color:#82658d}
.chinese-world .topbar{color:#80658e;border-color:#e9dfef;font-size:13px}
.chinese-world .toolbar .quiet{border:2px solid #e7dcef;border-radius:12px;background:#fffdf8;color:#9774b3;min-height:43px}
.chinese-world .lesson-heading{padding-top:26px;gap:15px}
.chinese-world .lesson-heading h1{color:#71518d;font-size:31px;letter-spacing:.5px}
.chinese-world .lesson-heading p{font-size:15px;color:#80658e}
.chinese-world .heading-art{width:108px;height:115px;background:var(--art-reading-owl) center/contain no-repeat;transform:rotate(4deg)}
.chinese-world .heading-art>*{visibility:hidden}
.chinese-world .goal{background:#fff7dd;border:2px solid #efdfaf;border-radius:21px;box-shadow:0 4px 0 #ead9b422;padding:17px 20px}
.chinese-world .goal-icon{color:#bd963e;background:#ffe9ad;border-radius:13px;width:41px;height:41px;display:grid;place-items:center;flex:none}
.chinese-world .goal .small-label{color:#8b6d3f;font-size:12px}
.chinese-world .goal p{color:#9e7a4d;font-size:16px}
.chinese-world .goal .quiet{background:#fffdf7;color:#ad8a54;border-color:#eddfb7;border-radius:12px;min-height:43px}
.chinese-world .panel{border:2px solid #e6daef;border-radius:23px;box-shadow:0 5px 0 #ded3e833}
.chinese-world .panel-header{background:#f1eaf9;border-bottom:1px solid #e6dced;padding:17px 22px}
.chinese-world .panel-header h2{font-size:17px;color:#87639f}
.chinese-world .panel-header span{font-size:12px;color:#82658d}
.chinese-world .article-body{background:#fffdf7;padding-top:28px}
.chinese-world .article-body h2{color:#81624d;font-size:26px}
.chinese-world .source{font-size:12px;color:#887569}
.chinese-world .paragraph{font-size:20px;line-height:2.05;color:#625342}
.chinese-world .para-num{color:#baa992}
.chinese-world .article-note{font-size:13px;color:#8c7462}
.chinese-world .q-number{background:#f4e4f9;border:1px solid #e5caef;color:#a07ab5;width:31px;height:31px;border-radius:11px;font-size:13px}
.chinese-world .skill{font-size:12px;color:#a88bb2}
.chinese-world .question label.prompt{font-size:16px;color:#7a5e89}
.chinese-world textarea{border:2px solid #e9deef;border-radius:14px;background:#fffdfb;color:#795f88;font-size:16px;padding:13px;line-height:1.85}
.chinese-world textarea::placeholder{font-size:14px;color:#927b9a}
.chinese-world .paper-choice{font-size:13px;color:#876991;min-height:43px}
.chinese-world .compare-btn{border:2px solid #d9c5eb;border-radius:14px;background:#f3eafb;color:#9971b6;min-height:43px;font-size:14px}
.chinese-world .hint-btn{color:#bd995d;font-size:14px;min-height:43px}
.chinese-world .hint-list{background:#fff6dd;border:1px solid #f0dfb0;color:#866c3d;border-radius:14px;padding:13px 16px;font-size:14px}
.chinese-world .feedback{background:#edf6e5;border-left-color:#bad2a3;border-radius:0 15px 15px 0;color:#63794e;font-size:14px}
.chinese-world .feedback strong{color:#627b42}
.chinese-world .mini-passage{background:#fff7e4;border:1px solid #efdfb8;border-radius:15px;color:#8f7957}
.chinese-world .finish-card{background:#f1f7e8;border:2px solid #dce7c9;border-radius:23px;box-shadow:0 4px 0 #d8e0c833;padding:24px}
.chinese-world .finish-card h2{color:#8a9c6d;font-size:22px}
.chinese-world .finish-card p{font-size:14px;color:#707c5c}
.chinese-world .finish-card fieldset label{border:2px solid #dce6ce;border-radius:15px;font-size:14px;color:#64794d;background:#fffdf9;min-height:48px}
.chinese-world .finish-card fieldset label:has(input:checked){background:#e3f0d5;border-color:#bcd29e}
.chinese-world .primary{background:#91b87d;border:2px solid #82a96e;box-shadow:0 4px 0 #6d995c33;border-radius:17px;min-height:46px;font-size:16px}
.chinese-world .parent-card{border:2px solid #e7daef;border-radius:18px;background:#faf5ff;color:#9a80ac}
.chinese-world .side-note{background:#fff5da;border-radius:19px;padding:19px 16px;color:#8e6d3d;font-size:13px}
.chinese-world .side-note strong{font-size:14px}
.chinese-world .sprout{color:#d6b26f}
.chinese-world .progress-track{background:#ede3f5}
.chinese-world .progress-track span{background:linear-gradient(90deg,#c2a6e5,#a4cfa5)}
@media(min-width:1450px){.family-course .study-layout{grid-template-columns:305px minmax(0,1fr)}.family-course .lesson-tools button{flex-basis:185px}}
@media(max-width:1000px){.family-course .intro .island-friend{display:none}.family-course .study-layout{grid-template-columns:255px minmax(0,1fr)}.family-world .hero{padding:25px}.hero-owl{width:100px;height:112px}.family-world .person-controls{gap:8px}.island-friend .friend-owl{width:65px;height:73px}.friend-bubble{font-size:12px;padding:7px 9px}.family-world .family-main{padding:0 22px}.family-course .lesson-tools button{min-width:130px;flex-basis:140px}.resource-copy strong{font-size:15px}}
@media(max-width:800px){.family-course .study-layout{grid-template-columns:1fr}.family-course .catalog{max-height:235px}.family-world .subjects{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.family-world .subject{padding:18px 15px}.subject-art{width:135px;height:88px}.family-world .subject small{font-size:12px}.family-world .subject p{font-size:14px}.family-world .hero h2{font-size:25px}.family-world .hero .primary{font-size:16px;padding:12px 18px}.family-world .parent-grid{grid-template-columns:1fr}.family-course .study-layout>aside{padding:14px}.family-world.family-parent .island-friend{display:none}}
@media(max-width:600px){.family-world .family-main{padding:0 16px;margin-top:22px}.family-world .family-header{padding:12px 16px;gap:10px}.family-world #brand{font-size:20px;gap:7px}.family-world #brand:before{width:43px;height:48px}.family-world .person-controls{border-radius:16px;padding:4px 6px 4px 12px;gap:7px;width:100%;justify-content:flex-end}.family-world .person-controls #syncStatus{width:auto;flex:1;font-size:11px}.family-world .person-controls label{font-size:12px}.family-world .person-controls select{min-width:72px;font-size:14px;min-height:42px;padding:7px 9px}.family-world .person-controls #logout{font-size:12px;padding:6px}.family-world .intro{min-height:88px;gap:10px}.family-world .intro>.island-friend{display:none}.family-world .intro h1{font-size:27px}.family-world .intro p{font-size:14px}.family-world .hero{padding:22px 20px;display:grid;grid-template-columns:minmax(0,1fr) 85px;gap:10px 5px;min-height:0;border-radius:24px;margin:18px 0 23px}.family-world .hero h2{font-size:24px}.family-world .hero p{font-size:13px}.hero-owl{width:90px;height:100px;justify-self:end}.family-world .hero .primary{grid-column:1/-1;justify-self:start;padding:10px 20px;font-size:16px;border-radius:17px;margin-top:7px}.family-world .subjects{grid-template-columns:1fr;gap:15px}.family-world .subject{display:grid;grid-template-columns:82px minmax(0,1fr);column-gap:15px;padding:19px 18px;align-items:center;position:relative}.family-world .subject .subject-art{grid-column:1;grid-row:1/5;width:88px;height:100px;align-self:center;margin:0}.family-world .subject h2,.family-world .subject p,.family-world .subject small,.family-world .subject .button,.family-world .subject>.muted{grid-column:2;min-width:0}.family-world .subject h2{font-size:21px;margin:0}.family-world .subject p{font-size:14px;margin:3px 0}.family-world .subject small{font-size:12px;min-height:0}.family-world .subject .button{min-height:43px;font-size:14px;border-radius:13px;margin-top:9px}.family-world .section>h2{font-size:20px}.family-world .panel{padding:21px;border-radius:22px}.family-course .family-main{padding:0 13px}.family-course .intro h1{font-size:25px}.family-course .study-layout{gap:17px}.family-course .lesson-tools{padding:5px;gap:5px;border-radius:20px}.family-course .lesson-tools button{min-width:0;flex-basis:calc(50% - 5px);min-height:63px;padding:9px 10px;gap:7px;border-radius:13px}.resource-copy strong{font-size:14px}.resource-copy small{font-size:10px}.resource-mark{width:22px;height:22px}.family-course .stage{border-radius:21px}.learning-welcome{min-height:315px;padding:23px 18px}.learning-welcome .welcome-owl{width:108px;height:116px}.learning-welcome h2{font-size:21px}.learning-welcome p{font-size:14px}.family-course .status-actions{padding:15px;gap:9px;border-radius:19px}.status-caption{flex-basis:100%;font-size:13px}.family-course .status-actions button{padding:9px 12px;font-size:14px;min-height:45px}.family-course .player-controls{gap:7px;padding:10px}.family-course .player-controls button,.family-course .player-controls select{padding:7px 10px;font-size:12px}.audio-illustration{gap:14px;padding:24px 18px 7px}.audio-illustration .welcome-owl{width:80px;height:90px}.audio-illustration h3{font-size:19px}.audio-illustration p{font-size:12px}.family-login .login-panel{padding:25px}.family-login .login-shell{padding:20px 18px}.family-login h1{font-size:27px}.chinese-world .lesson-link{padding:11px 7px;gap:7px}.chinese-world .lesson-link strong{font-size:12px}.chinese-world .lesson-link small{font-size:10px}.chinese-world .lesson-number{width:27px;height:27px;font-size:12px}.chinese-world .lesson-heading h1{font-size:27px}.chinese-world .heading-art{display:none}.chinese-world .paragraph{font-size:18px;line-height:2}.chinese-world .goal{padding:14px 12px}.chinese-world .goal p{font-size:14px}.chinese-world .panel-header{padding:15px 17px}.chinese-world .panel-header h2{font-size:16px}.chinese-world .finish-card{padding:19px 16px}.chinese-world .finish-card fieldset label{font-size:12px;padding:9px 8px}.chinese-world .brand-icon{width:47px;height:52px}}
@media(prefers-reduced-motion:reduce){.family-world button,.family-world .button,.family-world .subject{transition:none}.family-world .subject:hover{transform:none}}

/* Keep pastel surfaces while giving reading and navigation text clear contrast. */
.family-world{display:flow-root}
.chinese-world .panel{padding:0}
.family-course .stage-title{flex-wrap:wrap}
.source-picker{display:flex;align-items:center;gap:9px;margin-left:auto;min-width:0;font-size:12px}
.source-picker select{font-size:13px;max-width:300px;min-height:43px;background:#faf6ff;color:#79568f;border:2px solid #e5d7ef;border-radius:13px}
.family-course .lesson-tools button{flex-basis:180px;min-width:0;justify-content:center}
.family-course .lesson-tools button:not(.active):hover{background:#f8f3ff}
.chinese-world .article-panel .paragraph{color:#594b3b}
.family-world .empty-note{color:#80658e}
.family-login .primary:hover{background:#805bb9}
.chinese-world .primary:hover{background:#7ea765}
@media(max-width:600px){.family-course .lesson-tools button{flex:1;flex-basis:0;flex-direction:column;text-align:center;padding:10px 6px;gap:5px;min-height:89px}.family-course .resource-copy strong{font-size:15px}.family-course .resource-copy small{font-size:10px}.source-picker{width:100%;margin-left:0}.source-picker select{flex:1;width:0}.family-course .stage-title{padding:13px 15px}}

/* END SHARED STORY THEME */

/* UX-01/02/03/09/10 · 统一英语学习页：窄窗口目录抽屉、内容先行、可读安全区 */
.family-course .audio-brief{margin:0;padding:12px 16px 0;font-size:14px;color:#68557e}
.family-course .player-controls button,.family-course .player-controls select{min-height:44px}
.family-course .stage.audio-stage{min-height:0}
@media(max-width:600px){.family-course .stage.audio-stage audio{width:calc(100% - 24px);margin:10px 12px 14px}}
.family-course #catalogToggle,.family-course .catalog-topbar,.family-course #catalogBackdrop{display:none}
.family-course .course-setup-note{margin:4px 0 12px;padding:8px 12px;border:1px solid #e8ddef;border-radius:12px;color:#675276;background:#fffaf1;font-size:13px}
.family-course .course-setup-note summary{cursor:pointer;font-weight:650;min-height:32px}
.family-course .course-setup-note p{margin:4px 0}
.family-course .course-back-link{display:inline-flex;align-items:center;min-height:44px;font-weight:650}
.family-course .catalog-toggle{white-space:nowrap;min-height:44px}
.family-course #lessonTitle:focus{outline:none}
@media(max-width:1050px){
  .family-course .study-layout{grid-template-columns:minmax(0,1fr)}
  .family-course .study-layout>.course-study{min-width:0}
  .family-course #catalogToggle{display:inline-flex;align-self:center}
  .family-course .catalog-topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 7px 12px}
  .family-course .catalog-topbar strong{font-size:17px;color:#60467a}
  .family-course .catalog-topbar button{min-height:44px}
  .family-course .study-layout>aside#courseCatalog{position:fixed;left:0;top:0;bottom:0;z-index:121;width:min(340px,88vw);max-width:none;padding:calc(14px + env(safe-area-inset-top)) 12px calc(16px + env(safe-area-inset-bottom));border-radius:0 20px 20px 0;box-shadow:18px 0 50px #29193726;display:flex;flex-direction:column;transform:translateX(-110%);transition:transform .2s ease}
  .family-course .course-catalog .catalog{max-height:none;min-height:0;overflow-y:auto;flex:1}
  .family-course.catalog-open .study-layout>aside#courseCatalog{transform:translateX(0)}
  .family-course.catalog-open #catalogBackdrop{display:block;position:fixed;inset:0;z-index:120;padding:0;margin:0;border:0;border-radius:0;background:#261a3666}
  .family-course.catalog-open{overflow:hidden}
}
@media(max-width:600px){
  .family-course .family-header{padding:6px 12px;min-height:56px;display:flex;flex-wrap:nowrap;gap:8px;align-items:center}
  .family-course #brand{font-size:16px;line-height:1.25;min-width:0}
  .family-course #brand:before{display:none}
  .family-course .person-controls{width:auto;flex:0 0 auto;gap:3px;padding:0;border:0;background:none;flex-wrap:nowrap}
  .family-course .person-controls label,.family-course .person-controls #syncStatus{display:none}
  .family-course .person-controls select{min-height:44px;min-width:68px;max-width:90px;padding:5px 4px;font-size:13px}
  .family-course .person-controls #logout{min-height:44px;padding:5px;font-size:12px}
  .family-course .family-main{margin-top:8px;padding-left:12px;padding-right:12px;padding-bottom:calc(32px + env(safe-area-inset-bottom))}
  .family-course .course-back-link{font-size:13px}
  .family-course .intro.section{min-height:0;margin:4px 0 12px;align-items:center;gap:8px}
  .family-course .intro .eyebrow{font-size:11px;margin:0}
  .family-course .intro h1{font-size:21px;line-height:1.3;margin:2px 0}
  .family-course .intro .muted{font-size:12px;line-height:1.4;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .family-course .intro .lesson-heading-copy{min-width:0}
  .family-course .catalog-toggle{padding:7px 10px;flex-shrink:0;font-size:13px}
  .family-course .study-layout{gap:8px}
  .family-course .lesson-tools{margin-bottom:9px}
  .family-course .lesson-tools button{min-height:68px;padding:7px 4px;gap:4px}
  .family-course .stage{min-height:140px}
  .family-course .learning-welcome{min-height:140px;padding:16px 10px}
  .family-course .learning-welcome .welcome-owl,.family-course .learning-welcome .activity-hints{display:none}
  .family-course .learning-welcome h2{font-size:18px}
  .family-course .learning-welcome p{font-size:13px;max-width:34ch}
}
@media(prefers-reduced-motion:reduce){
  .family-course .study-layout>aside#courseCatalog{transition:none}
}

