:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#17231f;background:#f6f4ef;font-family:Microsoft YaHei,Noto Sans SC,system-ui,sans-serif}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{min-width:320px}a{color:inherit}.course-shell{background:radial-gradient(circle at 100% 0,#dceee5,#0000 42%),#f6f4ef;place-items:center;min-height:100svh;padding:24px;display:grid}.course-card{background:#fffefa;border:1px solid #d8ddd7;border-radius:24px;width:min(100%,640px);padding:clamp(28px,7vw,56px);box-shadow:0 18px 52px #23422b1c}.eyebrow{color:#3d6b54;letter-spacing:.12em;margin:0 0 18px;font-size:.75rem;font-weight:700}h1{letter-spacing:-.04em;margin:0;font-size:clamp(2rem,9vw,4rem);line-height:1.08}.intro{color:#46514b;max-width:29rem;margin:20px 0 30px;font-size:1.0625rem;line-height:1.8}.family-cta{color:#fff;background:#17633c;border-radius:999px;justify-content:center;align-items:center;min-height:48px;padding:0 22px;font-weight:700;text-decoration:none;display:inline-flex}.teacher-link{color:#52665a;width:max-content;margin-top:20px;font-size:.9rem;display:block}a:focus-visible{outline-offset:4px;outline:3px solid #f1a83b}.family-page{width:min(100%,980px);margin:0 auto;padding:clamp(18px,5vw,48px)}.family-course-cover,.daily-header,.daily-timeline,.empty-day{background:#fffefa;border:1px solid #d8ddd7;border-radius:20px;padding:clamp(20px,4vw,36px);box-shadow:0 12px 38px #23422b12}.course-range,.publication-meta,.field-hint{color:#52665a}.course-progress,.learner-goal dl,.timeline-card dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0;display:grid}.course-progress div,.learner-goal dl div,.timeline-card dl div{background:#edf4ee;border-radius:12px;padding:12px}dt{color:#52665a;font-size:.78rem}dd{overflow-wrap:anywhere;margin:4px 0 0;font-weight:700}.learner-goals{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:26px 0;display:grid}.learner-goal{border:1px solid #cfe0d2;border-radius:16px;padding:20px}.learner-goal h2,.daily-timeline h2{margin-top:0;font-size:1.25rem}.family-cta.secondary{color:#17633c;background:#e6f0e9;margin-top:12px}.family-login-form{gap:12px;display:grid}.family-login-form label{font-weight:700}.family-login-form input{width:100%;min-height:52px;font:inherit;letter-spacing:.14em;border:1px solid #718278;border-radius:12px;padding:0 14px;font-size:1.25rem}.family-login-form [role=alert]{color:#a02020;margin:0}button{font:inherit;cursor:pointer}button:disabled{cursor:wait;opacity:.65}.daily-header{margin-bottom:16px}.daily-header h1{font-size:clamp(2rem,7vw,3.25rem)}.learner-switcher ul{gap:8px;margin:18px 0 0;padding:0;list-style:none;display:flex}.learner-switcher button,.course-date-strip button,.today-button{color:#17231f;background:#fffefa;border:1px solid #8ca290;border-radius:999px;min-height:44px;padding:0 16px}.learner-switcher button[aria-pressed=true],.course-date-strip button[aria-selected=true]{color:#fff;background:#17633c;border-color:#17633c}.course-date-nav{align-items:center;gap:10px;margin:16px 0;display:flex}.course-date-strip{overscroll-behavior-x:contain;scrollbar-width:thin;gap:8px;max-width:100%;padding:5px;display:flex;overflow-x:auto}.course-date-strip button,.today-button{flex:none}.daily-timeline ol{gap:14px;padding:0;list-style:none;display:grid}.timeline-card{background:#f5f9f5;border-left:4px solid #17633c;border-radius:12px;padding:16px}.timeline-card.shared{border-left-color:#60796a}.timeline-card time{font-variant-numeric:tabular-nums;color:#52665a;display:block}.status{font-weight:700}.status span{text-align:center;width:1.2em;display:inline-block}.daily-summary{border-top:1px solid #d8ddd7;margin-top:24px;padding-top:20px}.daily-summary h3{font-size:1rem}.attachment-list{margin:12px 0 0;padding-left:18px}.attachment-list code{overflow-wrap:anywhere;font-size:.8em}.empty-day{margin-top:16px}.empty-day h2{margin-top:0}@media (max-width:560px){.family-page{padding:14px;overflow-x:clip}.learner-goals,.course-progress,.learner-goal dl,.timeline-card dl{grid-template-columns:1fr}.course-date-nav{align-items:stretch}.course-date-strip{min-width:0}}@media (max-width:360px){.course-shell{padding:14px}.course-card{border-radius:18px;padding:26px 22px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.teacher-login-form{gap:12px;display:grid}.teacher-login-form label,.teacher-block label,.teacher-reports label{gap:6px;font-weight:700;display:grid}.teacher-login-form input,.teacher-page input,.teacher-page select,.teacher-page textarea{width:100%;min-height:44px;color:inherit;font:inherit;background:#fffefa;border:1px solid #718278;border-radius:9px;padding:9px}.teacher-page textarea{resize:vertical;min-height:88px}.teacher-page{width:min(100%,1080px);margin:0 auto;padding:clamp(14px,4vw,42px)}.course-calendar,.course-day-editor{background:#fffefa;border:1px solid #d8ddd7;border-radius:20px;padding:clamp(18px,4vw,34px);box-shadow:0 12px 38px #23422b12}.course-calendar ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0;list-style:none;display:grid}.course-calendar a{border:1px solid #cfe0d2;border-radius:12px;gap:7px;min-height:120px;padding:14px;text-decoration:none;display:grid}.teacher-status{color:#17633c;font-weight:700}.teacher-block,.teacher-reports{border:1px solid #cfe0d2;border-radius:14px;gap:14px;margin:20px 0;padding:16px;display:grid}.teacher-block legend,.teacher-reports>legend,.learner-fields legend{font-weight:800}.teacher-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.learner-fields,.teacher-reports fieldset{border:1px solid #d8ddd7;border-radius:10px;gap:12px;padding:14px;display:grid}.learner-fields label:has(input[type=checkbox]){display:block}.teacher-actions{flex-wrap:wrap;gap:12px;margin-top:18px;display:flex}.teacher-actions button:not(.family-cta){color:#17231f;background:#fffefa;border:1px solid #718278;border-radius:999px;min-height:44px;padding:0 16px}.version-conflict{background:#fff4f2;border:2px solid #a02020;border-radius:12px;margin:18px 0;padding:16px}.dialog-backdrop{z-index:10;background:#17231f99;place-items:center;padding:14px;display:grid;position:fixed;inset:0}.publish-preview{background:#fffefa;border-radius:18px;width:min(100%,680px);max-height:calc(100svh - 28px);padding:22px;overflow:auto}.publish-preview h2{margin-top:0}@media (max-width:560px){.course-calendar ul,.teacher-grid{grid-template-columns:1fr}}.file-upload-queue{background:#f5f9f5;border:1px dashed #8ca290;border-radius:10px;gap:8px;min-width:0;padding:12px;display:grid}.file-upload-queue input[type=file]{max-width:100%;min-height:44px;padding:8px 0}.file-upload-queue ul,.published-attachments ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.file-upload-queue li,.published-attachments li{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.file-upload-queue code,.published-attachments code{overflow-wrap:anywhere;max-width:100%;font-size:.75rem}.file-upload-queue button,.published-attachments button{color:#17231f;background:#fffefa;border:1px solid #718278;border-radius:999px;min-height:44px;padding:6px 12px}.file-upload-queue [role=alert],.published-attachments [role=alert]{color:#8b1d1d;font-weight:700}@media (max-width:360px){.file-upload-queue li,.published-attachments li{flex-direction:column;align-items:stretch}.file-upload-queue button,.published-attachments button{width:100%}}
