body{background:#f7f9f6}.class-header{max-width:1240px;padding:24px 36px;border-bottom:0}.class-name{display:flex;gap:13px;align-items:center;color:#344e2d;font-size:21px;font-weight:700}.class-name small{display:block;font-size:13px;font-weight:400;color:#707f6c;letter-spacing:1px}.class-monogram{display:grid;place-items:center;width:49px;height:49px;background:#197565;color:#fff;border-radius:15px;font:28px "Kaiti SC",serif}.class-header nav{align-items:center;gap:26px;font-size:15px}.class-header nav a{color:#4c5f47}.class-header .nav-active{padding:9px 18px;border-radius:25px;color:#fff;background:#517846}.class-main{max-width:1240px;padding:6px 36px 32px}.class-intro{display:grid;grid-template-columns:1.3fr 1fr;gap:50px;padding:40px 42px;background:#edf4eb;border-radius:24px;border:1px solid #dee8dc;margin-bottom:30px}.intro-copy{align-self:center}.class-intro .eyebrow{color:#587052;letter-spacing:1px;font-size:14px}.class-intro h1{font-size:43px;font-weight:700;line-height:1.32;letter-spacing:1px;color:#35502d;margin:12px 0 16px}.intro-subtitle{font-size:18px;color:#246953;font-weight:600;margin:0 0 12px}.intro-description{font-size:16px;line-height:1.9;color:#5e6c5a;margin:0 0 22px;max-width:500px}.class-meta{gap:4px;font-size:14px;flex-direction:column}.class-meta a{color:#486441;overflow-wrap:anywhere}.month-welcome{padding:24px 27px;background:#fff;border-radius:18px;box-shadow:0 8px 24px #20415e09;align-self:center;border-top:5px solid #27866b}.welcome-label{color:#28755d;font-size:14px;margin:0 0 4px}.month-welcome h2{font-size:23px;color:#214d47;margin:0 0 12px}.month-welcome>a{display:grid;grid-template-columns:43px 1fr auto;gap:14px;align-items:center;text-decoration:none;padding:13px 0;color:#3c4e37;border-bottom:1px solid #e9ece8}.month-welcome>a:hover{color:#1b765d}.welcome-date{border-radius:12px;padding:6px 0;text-align:center;background:#edf6f2;color:#1d715a;font-size:21px;font-weight:650}.month-welcome>a:nth-of-type(2) .welcome-date{color:#4f7645;background:#f0f6ef}.month-welcome>a:nth-of-type(3) .welcome-date{color:#b91f29;background:#fff2d4}.month-welcome strong{display:block;font-size:17px}.month-welcome small{display:block;font-size:13px;color:#768073}.month-welcome .welcome-note{margin:14px 0 0;color:#657d70;font-size:13px}.section-kicker{font-size:13px;letter-spacing:1px;color:#527b70;margin:0 0 3px}.section-head h2{font-size:25px;font-weight:650;color:#364b30}.section-head>span{font-size:14px}.calendar-section{background:#fff;padding:26px;border:1px solid #e1e8df;border-radius:18px}.mini-calendar{border-color:#e2e8e1}.calendar-month{border-color:#e2e8e1}.calendar-month h3{background:#f0f5ef;color:#455f3e;font-size:17px}.calendar-month:nth-child(2n) h3{background:#e9f5ef;color:#27664f}.calendar-date{color:#4b6045;font-size:13px}.calendar-date:hover{background:#e8f2e5}.calendar-date.cal-review,.calendar-key .cal-review{background:#e0f3e9;color:#28654c}.calendar-date.cal-exam,.calendar-key .cal-exam{background:#ffebbf;color:#b41c26}.calendar-date.cal-event,.calendar-key .cal-event{background:#eee8fa;color:#6a4e90}.calendar-date.cal-holiday,.calendar-key .cal-holiday{background:#f3f5f2;color:#7a8278}.calendar-key{gap:20px}.calendar-key b{border:0;border-radius:4px}.teaching-section{margin:32px 0;padding:26px 26px 22px;background:#fff;border:1px solid #e1e8df;border-radius:18px}.timeline-scroll{overflow-x:auto;margin-top:25px;padding-bottom:10px}.semester-timeline{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(6,minmax(165px,1fr));min-width:1020px}.semester-timeline li{position:relative;padding:0 19px 0 0;--milestone:#5c8551}.semester-timeline .milestone-green{--milestone:#288466}.semester-timeline .milestone-amber{--milestone:#e32532}.milestone-date{font-size:14px;color:var(--milestone);font-weight:600;display:block;min-height:32px}.timeline-node{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--milestone);color:#fff;font-size:14px;position:relative;z-index:1;margin:4px 0 15px;border:4px solid #fff;box-sizing:content-box}.semester-timeline li:not(:last-child):after{content:'';position:absolute;top:55px;left:38px;right:0;height:3px;background:#e3e9e1}.semester-timeline h3{font-size:18px;margin:0 0 8px;color:#3d4f38}.semester-timeline p{font-size:14px;line-height:1.8;color:#6e786b;margin:0 0 12px}.milestone-note{font-size:12px;color:var(--milestone);display:block}.pace-note{display:flex;gap:20px;align-items:baseline;background:#eaf5ee;border-left:4px solid #35876a;padding:16px 20px;border-radius:0 10px 10px 0;margin-top:20px}.pace-note strong{color:#26634d;font-size:16px;white-space:nowrap}.pace-note span{font-size:14px;color:#527265}.course-section>.section-head{padding:0 4px}.open-month{background:#e2f2e8;color:#26664b!important;padding:6px 13px;border-radius:20px;white-space:nowrap}.course-section .section-note{font-size:15px;padding:0 4px}.month-group{border:1px solid #e1e8df;border-radius:16px;overflow:hidden;margin-top:14px;background:white}.month-group:last-child{border-bottom:1px solid #e1e8df}.month-group>summary{background:#f2f6f0;color:#435b3d;padding:17px 23px}.month-group[open]>summary{background:#507645;color:#fff}.month-group[open] .month-count{color:#ebf1ea}.course-row{grid-template-columns:102px minmax(0,1fr);padding:28px 24px}.course-date strong{color:#517846}.course-date span{font-size:13px}.course-row.review .course-date strong{color:#25724f}.course-row.review{background:#f4fbf6}.course-heading h3{font-weight:650}.course-heading .status{color:#28684b;background:#e4f3e9;border:0;border-radius:20px;font-size:13px;padding:4px 12px}.course-heading .status.locked{background:#f1f3f0;color:#778075}.lesson-link{color:#496c3f;border-color:#bdcfb8}.course-plan{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:16px 0}.course-row.review .course-plan{grid-template-columns:repeat(3,minmax(0,1fr))}.course-plan>div{border-left:3px solid #a4cbbc;padding-left:13px}.course-plan strong{font-size:16px;color:#285e54}.course-plan p{font-size:15px;color:#6f796c}.course-actions .primary-action{background:#527b47;border-radius:9px;font-size:16px;padding:11px 18px}.course-test{align-items:center}.course-test>span:first-child{color:#4b5c47;white-space:nowrap}.practice-entry button{border-radius:9px;font-size:15px;padding:9px 16px;font-family:inherit}.practice-entry button[data-table=write]{background:#e0f2e7;color:#236449;border-color:#afdbc1}.practice-entry button[data-table=recognize]{background:#eef6ec;color:#507347;border-color:#cbddc6}.practice-entry button[data-table=words]{background:#fff1d4;color:#b32630;border-color:#e58a90}.practice-entry button:hover{filter:brightness(.96)}.course-row.exam{background:#fff8e9}.course-row.exam .course-date strong{color:#cc1d29}.course-row.event{background:#f7f2fe}.course-row.future{background:#fdfdfd}.class-main>footer{padding:24px 6px 0;margin-top:35px}.class-main>footer>div{display:flex;gap:20px;margin-bottom:10px;color:#566951}.class-main>footer strong{color:#24654f}.class-main>footer>div span{font-size:14px}@media(max-width:760px){.class-header{padding:19px 20px;flex-wrap:wrap;gap:18px}.class-header nav{width:100%;gap:23px;justify-content:space-between;font-size:14px}.class-name{font-size:20px}.class-main{padding:0 16px 24px}.class-intro{grid-template-columns:1fr;gap:26px;padding:28px 24px;border-radius:19px}.class-intro h1{font-size:35px}.month-welcome{padding:21px}.calendar-section,.teaching-section{padding:21px 16px;border-radius:16px}.section-head{flex-wrap:wrap;gap:9px}.section-head h2{font-size:22px}.section-head>span{font-size:13px;text-align:left}.semester-timeline{min-width:1120px}.pace-note{flex-direction:column;gap:5px;padding:13px 15px}.pace-note strong{white-space:normal}.course-row{grid-template-columns:1fr;padding:22px 18px}.course-plan,.course-row.review .course-plan{grid-template-columns:1fr;gap:12px}.course-actions{align-items:flex-start}.course-test{align-items:flex-start;gap:10px;flex-wrap:wrap}.practice-entry{gap:7px}.practice-entry button{padding:8px 12px}.month-group>summary{padding:16px;font-size:18px}.month-count{font-size:12px}.course-heading h3{font-size:20px}.class-main>footer>div{flex-direction:column;gap:3px}}@media print{.class-intro{display:block;background:white;padding:0}.month-welcome,.timeline-scroll{display:none}.class-main{max-width:none}.course-plan{display:block}.course-section .primary-action,.practice-entry{display:none}}
