.family-header{max-width:1160px;margin:auto;padding:24px;display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid var(--line)}
.family-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text);font-size:19px;font-weight:800}.family-brand small{display:block;font-size:12px;color:var(--muted);font-weight:400;margin-top:4px}.brand-mark{background:var(--brand);color:var(--on-brand);border-radius:15px;display:grid;place-items:center;width:44px;height:44px}
.family-header nav{display:flex;flex-wrap:wrap;gap:8px}.family-header nav a{padding:10px 12px;color:var(--muted);text-decoration:none;border-radius:10px}.family-header nav a[aria-current]{background:var(--brand-soft);color:var(--brand)}
.family-main{max-width:1100px;margin:0 auto;padding:36px 24px 60px}.family-footer{max-width:1000px;margin:auto;text-align:center;color:var(--muted);font-size:13px;line-height:1.9;padding:24px}
.family-main h1{font-size:clamp(28px,4.3vw,46px);line-height:1.3;letter-spacing:-1px;margin:14px 0 18px}.family-main h2{font-size:23px;margin:0 0 14px}.family-main h3{font-size:18px}.family-main p{line-height:1.85}.kicker{color:var(--brand);font-size:13px;letter-spacing:2px;font-weight:800}.subtle{color:var(--muted)}
.family-main button,.family-main select{font:inherit;min-height:44px;border:1px solid var(--line);border-radius:10px;background:var(--bg-elev);color:var(--text);padding:10px 16px;cursor:pointer}.family-main button:disabled{opacity:.5;cursor:default}.family-main button.primary,.family-main a.primary{background:var(--brand);color:var(--on-brand);border:1px solid var(--brand)}
.family-main a.action{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:10px;padding:10px 18px;text-decoration:none;font-weight:700}.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:20px}.family-main :focus-visible{outline:3px solid var(--focus);outline-offset:4px}
.welcome{display:grid;grid-template-columns:1.5fr 1fr;gap:28px;align-items:center;margin:26px 0 34px}.welcome-note{background:var(--brand-soft);border-radius:22px;padding:26px;border:1px solid var(--line)}.welcome-note strong{font-size:22px;display:block;margin-bottom:15px}.number-row{display:flex;gap:12px;padding:9px 0;line-height:1.8}.number-row span{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--bg-elev);text-align:center;color:var(--brand);font-weight:800}
.profile-bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:14px}.profile-bar select{max-width:240px}.lesson-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.lesson-card,.panel{background:var(--bg-elev);border:1px solid var(--line);border-radius:20px;padding:25px;box-shadow:var(--shadow)}.lesson-card{display:flex;flex-direction:column}.lesson-card .actions{margin-top:auto;padding-top:14px}.lesson-card h3{font-size:22px;line-height:1.5;margin:15px 0}.pill{display:inline-block;padding:4px 10px;border-radius:30px;background:var(--brand-soft);color:var(--brand);font-size:12px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:32px 0 20px}.section-heading h2{margin:0}.parent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.parent-grid .panel{box-shadow:none}.review-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.lesson-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start;margin-top:24px}.parent-guide{position:sticky;top:20px;background:var(--brand-soft)}.parent-guide p{font-size:14px}.parent-guide h3{font-size:14px;color:var(--brand);margin:22px 0 6px}.stepper{display:flex;list-style:none;padding:0;margin:26px 0;gap:6px}.stepper li{flex:1;border-top:4px solid var(--line);padding-top:10px;font-size:13px;color:var(--muted)}.stepper li.active{border-color:var(--brand);color:var(--brand);font-weight:800}.lesson-panel{min-height:390px}.big-formula{font-size:clamp(20px,3vw,32px);padding:20px;background:var(--bg-muted);border-radius:14px;text-align:center;font-weight:700;line-height:1.8}.diagram{max-width:360px;margin:20px auto}.diagram svg{width:100%;height:auto;display:block}.diagram text{font:15px sans-serif;fill:#172b35}.fraction-strip{display:flex;height:96px;gap:3px;margin:24px 0}.fraction-strip span{border:2px solid var(--brand);border-radius:5px;background:var(--bg-muted);flex:1}.fraction-strip span:first-child{background:var(--brand)}.control-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:14px 0}.control-row input{max-width:180px;accent-color:var(--brand)}.options{display:grid;gap:10px;margin:22px 0}.options button{text-align:left}.options button.chosen{border:2px solid var(--brand);background:var(--brand-soft)}.feedback{padding:14px 18px;border-left:4px solid var(--brand);background:var(--brand-soft);border-radius:8px;line-height:1.8;margin:16px 0}.warning{border-color:var(--warn);background:var(--warn-bg);color:var(--text)}.success-mark{font-size:44px;color:var(--brand)}.session-note{font-size:13px;color:var(--muted)}.error-message{color:var(--bad)}
@media(max-width:760px){.family-header{align-items:flex-start;flex-direction:column;padding:18px;gap:16px}.family-header nav{gap:0;width:100%;justify-content:space-between}.family-header nav a{font-size:13px;padding:9px}.family-main{padding:22px 16px 40px}.welcome,.lesson-layout{grid-template-columns:1fr}.welcome{gap:16px}.lesson-grid,.parent-grid{grid-template-columns:1fr}.parent-guide{position:static;grid-row:1}.parent-guide h3{margin-top:14px}.lesson-card,.panel{padding:20px}.stepper li{font-size:11px}.review-row{align-items:flex-start;flex-wrap:wrap}.family-footer{text-align:left;padding:20px}.welcome-note{padding:20px}}
@media print{.family-header nav,.actions,.control-row,.family-footer,.skip-link{display:none}.lesson-layout{display:block}.parent-guide{position:static}.panel{box-shadow:none;break-inside:avoid}.family-main{padding:0}}

.family-main a:not(.primary),.family-footer a{color:var(--brand)}
.skip-link{position:absolute;left:12px;top:-70px;padding:12px;background:var(--bg-elev);z-index:10}.skip-link:focus{top:8px}

/* 亲子陪学页面使用固定的温暖浅色，让图解和纸张保持自然的颜色。 */
body.family-theme{color-scheme:light;--bg:#fcf8f0;--bg-elev:#fffdf8;--bg-muted:#f4eddf;--text:#3f382f;--muted:#756a5d;--line:#e8dece;--brand:#a34d35;--brand-strong:#843c29;--brand-soft:#f7e8dd;--on-brand:#fffdf8;--focus:#a34d35;--shadow:0 5px 22px #79563708;--ok:#37694a;--ok-bg:#e8f0e3;--bad:#a52c30;--bad-bg:#fce8e5;--warn:#92521e;--warn-bg:#fcf0d8;background:var(--bg);color:var(--text)}
.family-theme .family-header{padding-top:25px;padding-bottom:25px}
.family-theme .brand-mark{background:#e9ad78;color:#553d2d;border-radius:17px 17px 9px 17px;transform:rotate(-5deg)}
.family-theme .family-header nav a[aria-current]{background:#e7eee2;color:#3f6650}
.family-theme .profile-bar{padding:12px 17px;border:1px dashed #dfd3bf;border-radius:15px;background:#fffdf7;width:fit-content}
.family-theme .welcome{grid-template-columns:1.2fr 1fr;gap:46px;margin:34px 0 42px}
.family-theme .welcome h1{font-size:clamp(30px,3.8vw,44px);line-height:1.45;white-space:pre-line;font-weight:800;letter-spacing:-.8px}
.family-theme .welcome .kicker{color:#6c7859;letter-spacing:1px}
.family-theme .welcome .subtle{max-width:510px}
.family-theme .welcome-note{background:#f5eedf;border:0;border-radius:28px;padding:18px 23px 22px;transform:rotate(1deg)}
.family-theme .welcome-note strong{font-size:19px;margin-top:12px;margin-bottom:8px}
.together-picture{display:block;width:100%;height:auto;max-height:210px;object-fit:contain;border-radius:20px}
.family-theme .number-row{font-size:14px;padding:6px 0;gap:10px}
.family-theme .number-row span{background:#fffbf2;color:#8b6243;width:26px;height:26px}
.family-theme .lesson-card{border-radius:24px;box-shadow:none;border-color:#e3d8c4;border-top:5px solid #d9ad6f;background:#fff9ed}
.family-theme .lesson-card:nth-child(2){background:#f0f4e9;border-color:#d9e0ce;border-top-color:#8fa580}
.family-theme .lesson-card:nth-child(3){background:#fcf0ea;border-color:#eddbd1;border-top-color:#d2967e}
.family-theme .lesson-card .pill{background:#ffffffa6;color:#685841}
.family-theme .lesson-card h3{font-size:21px}
.family-theme .panel{border-radius:22px}
.family-theme .parent-grid .panel{background:#f7f3e9}
.family-theme .family-main a.action,.family-theme .family-main button{border-radius:14px}
.family-theme .family-main a.primary{box-shadow:0 4px 0 #803b2620}
.family-theme .app-downloads{background:#eee8da;border-color:#e0d6c6}
.family-theme .app-downloads .support-contact{color:#725541}
.family-theme .section-heading .subtle{font-size:13px}
@media(max-width:760px){.family-theme .welcome{grid-template-columns:1fr;gap:25px;margin-top:25px}.family-theme .welcome-note{transform:none;max-width:490px;width:100%;box-sizing:border-box;margin:auto}.family-theme .welcome h1{font-size:32px}.family-theme .family-header{padding:20px 16px}.family-theme .section-heading{align-items:flex-start;flex-direction:column;gap:8px}.family-theme .profile-bar{width:auto}.together-picture{max-height:180px}}
