/* Final compact layout refinements shared by all textbook pages. */
body.book-lesson-directory .unit-index{margin:12px auto!important;padding-top:8px!important}
body.book-lesson-directory .unit-directory{grid-template-columns:112px minmax(0,1fr)!important;gap:8px!important;margin:6px 0!important;padding:7px 10px!important}
body.book-lesson-directory .unit-directory h2{font-size:19px!important;line-height:1.3!important;text-align:center!important}
/* Keep every lesson name at the true centre of its card; the thumbnail stays quietly at left. */
body.book-lesson-directory .lesson-directory-card{display:block!important;padding:4px 6px!important;text-align:center!important}
body.book-lesson-directory .lesson-thumbnail{position:absolute!important;left:6px!important;top:50%!important;transform:translateY(-50%);grid-row:auto!important}
body.book-lesson-directory .lesson-directory-copy{display:flex!important;box-sizing:border-box!important;width:100%!important;align-items:center!important;justify-content:center!important;min-height:44px!important;padding:0 40px!important;text-align:center!important}
body.book-lesson-directory .lesson-directory-copy small,body.book-lesson-directory .lesson-directory-copy strong{display:block!important;width:100%!important;text-align:center!important}
body.book-lesson-directory .lesson-directory-copy strong{padding-right:0!important}

/* Practice choices are labels, not another large lesson menu. */
.lesson-practice-layout{grid-template-columns:126px minmax(0,1fr)!important;gap:12px!important;margin-top:16px!important}.lesson-practice-sidebar{gap:8px!important}.lesson-practice-sidebar button{min-height:62px!important;padding:9px 10px!important;align-items:center!important;text-align:center!important;border-radius:17px!important}.lesson-practice-sidebar strong{font-size:17px!important}.lesson-practice-sidebar span,.lesson-practice-sidebar small{display:none!important}.lesson-practice-detail{min-height:0!important;padding:18px!important}.lesson-practice-detail>p{margin-top:0!important}.lesson-word-practice-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}.lesson-word-practice-tabs button{flex:1;min-width:84px;padding:9px 11px;border:1px solid #cdd9c9;border-radius:14px;background:#f6f9f6;color:#4d6546;font:700 15px/1.3 inherit;cursor:pointer}.lesson-word-practice-tabs button[aria-pressed=true]{background:#608556;border-color:#608556;color:#fff}.inline-course-practice .lesson-practice-detail{padding:0!important;border:0!important;background:transparent!important;min-height:0!important}.lesson-inline-dialog[open]{position:static!important;display:block!important;width:100%!important;height:auto!important;max-height:none!important;margin:0!important;border:1px solid #dee4dc!important;border-radius:18px!important;overflow:visible!important;box-shadow:none!important}.lesson-inline-dialog .practice-head,.lesson-inline-dialog .table-choice,.lesson-inline-dialog .practice-modes,.lesson-inline-dialog .choice-type-buttons{display:none!important}.lesson-inline-dialog .practice-body{max-height:none!important;overflow:visible!important;padding:14px!important}.lesson-inline-dialog .practice-filters{display:none!important}.lesson-inline-dialog .practice-reference,.lesson-inline-dialog .practice-credit{display:none!important}
.lesson-practice-sidebar button:nth-child(4){background:#e8f5eb!important;border-color:#b8d9bf!important;color:#3f7a55!important;box-shadow:0 4px 0 #acd2b4!important}.lesson-practice-sidebar button:nth-child(5){background:#fff2d9!important;border-color:#e38c92!important;color:#b92a34!important;box-shadow:0 4px 0 #e18e94!important}
@media(max-width:700px){.lesson-practice-sidebar button{min-height:48px!important;padding:7px 3px!important}.lesson-practice-sidebar strong{font-size:15px!important}.lesson-practice-detail{min-height:190px!important;padding:12px!important}.inline-course-practice .practice-head{padding:11px 12px!important}.inline-course-practice .practice-body{padding:12px!important}}
body[data-course-practice-page].inline-course-practice>main{display:block!important}body[data-course-practice-page].inline-course-practice .lesson-practice-detail .practice-dialog[open]{position:static!important;inset:auto!important;display:block!important;width:100%!important;height:auto!important;max-height:none!important;margin:0!important;grid-template-rows:none!important;overflow:visible!important}body[data-course-practice-page].inline-course-practice .practice-body{height:auto!important;overflow:visible!important}
body.inline-course-practice>main{display:block!important}body.inline-course-practice .lesson-practice-detail .practice-dialog[open]{position:static!important;inset:auto!important;display:block!important;width:100%!important;height:auto!important;max-height:none!important;margin:0!important;grid-template-rows:none!important;overflow:visible!important}body.inline-course-practice .practice-body{height:auto!important;overflow:visible!important}
dialog.lesson-inline-dialog .table-choice,dialog.lesson-inline-dialog .practice-modes{display:none!important}

/* The seal belongs to school-level pages only, centered quietly above the fixed credit bar. */
body::after{right:50%!important;bottom:58px!important;transform:translateX(50%);width:min(32vw,260px)!important;height:min(32vw,260px)!important;opacity:.06!important}body.review-lesson::after,body.current-course::after,body.lesson-practice-hub-page::after,body[data-course-learn-page]::after,body[data-course-practice-page]::after,body.table-learning-page::after{display:none!important}

/* School identity stays quiet: a small seal, then the school name only. */
.site-masthead .school-brand{display:inline-flex;align-items:center;gap:9px;color:#334c2c;text-decoration:none}.site-masthead .school-brand-seal{display:block;width:38px;height:38px;flex:0 0 38px;object-fit:contain;border-radius:50%}.site-masthead .school-brand>span{font-size:22px;font-weight:750;line-height:1.15}

/* On class pages, a compact name pill leaves a clear right-hand column for the textbook. */
.teacher-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 28px}.teacher-list-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;min-height:68px;padding:10px 13px}.teacher-list-item .teacher-name-bubble{display:grid;place-items:center;min-width:70px;min-height:38px;padding:6px 10px;border-radius:999px;background:#edf5eb;color:#4d7143;font-size:16px;font-weight:750;white-space:nowrap}.teacher-list-item:nth-child(3n+2) .teacher-name-bubble{background:#f4eafe;color:#76539b}.teacher-list-item:nth-child(3n) .teacher-name-bubble{background:#fff0d8;color:#ca2a34}.teacher-list-item .teacher-material{min-width:0;color:#697765;font-size:14px;font-weight:500;line-height:1.45}.teacher-list-item .teacher-arrow{color:#587e4e;font-size:20px;line-height:1}.teacher-course-heading{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;padding:18px 22px}.teacher-course-heading h1{display:grid;place-items:center;min-width:84px;margin:0;padding:10px 14px;border-radius:999px;background:#edf5eb;color:#4d7143;font-size:21px;white-space:nowrap}.teacher-course-heading p:last-child{margin:0;color:#5c6e57;font-size:16px}.review-vocabulary-source{margin:11px 0 0;color:#6a7667;font-size:13px;line-height:1.55}
@media(max-width:720px){.site-masthead .school-brand-seal{width:33px;height:33px;flex-basis:33px}.site-masthead .school-brand>span{font-size:20px}.teacher-list{grid-template-columns:1fr}.teacher-list-item{min-height:62px;padding:9px 11px}.teacher-list-item .teacher-name-bubble{min-width:64px;font-size:15px}.teacher-list-item .teacher-material{font-size:13px}.teacher-course-heading{grid-template-columns:1fr;gap:10px;padding:16px}.teacher-course-heading h1{justify-self:start;min-width:0;font-size:19px}.teacher-course-heading p:last-child{font-size:15px}}

/* Short screens should not acquire a scrollbar just to reserve the fixed credit bar. */
html{min-height:100%}body{min-height:100vh;min-height:100dvh}
body>.site-footer{position:fixed!important;right:0!important;bottom:0!important;left:0!important;z-index:50!important}

/* Compact only desktop layouts. Long lessons still use normal document scrolling. */
@media(min-width:701px){
  .site-masthead{padding:14px 28px}.section-navigation{margin-bottom:14px}.section-navigation a{padding:10px 8px;border-bottom-width:4px;font-size:15px}.class-main{padding-top:0;padding-bottom:16px}.breadcrumb{margin-bottom:10px}.review-heading{margin-bottom:10px}.review-heading h1{margin-bottom:6px;font-size:27px}
  .review-book-grid{gap:12px;margin:14px 0 18px}.review-book-bubble{min-height:96px;gap:4px;border-radius:24px}.review-book-bubble b{font-size:22px}.review-book-bubble small{font-size:14px}
  body.book-lesson-directory .class-main{padding-top:14px;padding-bottom:12px}body.book-lesson-directory .breadcrumb{margin-bottom:8px}body.book-lesson-directory .review-heading{margin-bottom:8px!important}body.book-lesson-directory .review-heading h1{margin:0!important;font-size:25px!important}body.book-lesson-directory .review-start{gap:10px!important;margin:8px 0!important;padding-bottom:8px!important}body.book-lesson-directory #random-review-lesson,body.book-lesson-directory .review-table-entry a{min-height:64px!important;padding:10px 12px!important;border-radius:18px!important}body.book-lesson-directory .review-start b{font-size:18px!important}body.book-lesson-directory .review-start>button span,body.book-lesson-directory .review-table-entry small{margin-top:2px!important;font-size:13px!important}body.book-lesson-directory .review-support-links{margin-bottom:10px!important}body.book-lesson-directory .unit-index{margin:8px auto!important;padding-top:6px!important;gap:6px!important}body.book-lesson-directory .unit-directory{margin:4px 0!important;padding:5px 8px!important}body.book-lesson-directory .lesson-directory-card{min-height:44px!important;padding:3px 4px!important}body.book-lesson-directory .lesson-thumbnail{width:28px!important;height:38px!important;left:4px!important}body.book-lesson-directory .lesson-directory-copy{min-height:38px!important;padding:0 34px!important}
  .review-lesson .class-main{padding-top:16px;padding-bottom:14px}.review-lesson .breadcrumb{margin-bottom:8px}.review-lesson .review-heading{margin-bottom:8px}.review-lesson .classroom-entry{margin:4px 0 8px;padding:8px 14px}.review-lesson .review-steps{gap:10px;margin:10px 0 12px}.review-lesson .review-steps button{min-height:76px;padding:9px 12px;border-radius:20px}.review-lesson .review-steps small{margin-top:2px;font-size:12px}.review-lesson .reading-bubble-entry{gap:18px;padding:16px 18px;border-radius:22px}.review-lesson .reading-bubble-entry>button{width:150px;min-height:132px;padding:12px}.review-lesson .reading-bubble-entry>button span{font-size:20px}.review-lesson .reading-bubble-entry h2{margin:0 0 6px;font-size:20px}.review-lesson .reading-bubble-entry p{margin:0 0 8px}.review-lesson .review-next{margin-top:4px;padding:8px 14px}
  .pinyin-page .class-main{padding-top:18px;padding-bottom:14px}.pinyin-page .foundation-primary{gap:8px;margin:0 0 10px}.pinyin-page .foundation-primary a{padding:10px 8px;font-size:17px}.pinyin-page .pinyin-heading{gap:10px;margin-bottom:10px}.pinyin-page .pinyin-main-tabs{gap:10px;margin-bottom:10px}.pinyin-page .pinyin-main-tabs button{padding:12px 10px;border-radius:18px;font-size:19px}.pinyin-page .foundation-cards{gap:14px;margin-top:12px}.pinyin-page .foundation-cards a{padding:20px;border-radius:22px}.pinyin-page .foundation-cards strong{font-size:26px}.pinyin-page .foundation-cards p{margin:10px 0 0;font-size:16px;line-height:1.55}
}
@media(min-width:900px){.review-book-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* The next action follows the writing/stroke area before the textbook index. */
.lesson-word-next-step{display:flex;justify-content:center;margin:14px 0 0}.lesson-word-next-step a{display:grid;grid-template-columns:auto auto auto;align-items:center;gap:9px;min-height:42px;padding:8px 15px;border:1px solid #b9d8c5;border-radius:18px;background:#e8f6ec;color:#27674f;text-decoration:none;box-shadow:0 3px 0 #b4dbc0}.lesson-word-next-step span{font-size:13px;color:#527b63}.lesson-word-next-step strong{font-size:17px}.lesson-word-next-step b{font-size:23px;line-height:1;font-weight:400}.lesson-word-next-step a:hover,.lesson-word-next-step a:focus-visible{background:#dff2e6;outline:3px solid #8dc3a0;outline-offset:2px}

/* Questions—not decorative headings—carry the largest visual weight. */
.lesson-inline-instruction{font-size:17px}.lesson-inline-prompt{font-size:clamp(34px,7vw,50px);line-height:1.3}.lesson-inline-answers button{min-height:64px;padding:11px 14px;font-size:20px;line-height:1.4}.lesson-inline-answers button b{width:30px;height:30px;font-size:16px}.lesson-inline-text-question legend{font-size:20px;line-height:1.7}.lesson-inline-text-question legend>b{font-size:16px}.lesson-inline-line-board button,.lesson-inline-match-board button{min-height:58px;padding:10px 12px;font-size:20px;line-height:1.35}.lesson-inline-feedback{font-size:17px;line-height:1.65}.lesson-text-practice legend{font-size:20px}.lesson-text-options button{min-height:60px;font-size:19px;line-height:1.45}.lesson-text-options button>b{width:30px;height:30px;font-size:16px}.lesson-mixed-challenge h3{font-size:clamp(23px,3vw,29px)}.lesson-mixed-options button{min-height:64px;font-size:19px;line-height:1.4}
@media(max-width:700px){.lesson-word-next-step{margin-top:12px}.lesson-word-next-step a{width:100%;justify-content:center}.lesson-inline-instruction{font-size:16px}.lesson-inline-prompt{font-size:clamp(32px,13vw,44px)}.lesson-inline-answers button{min-height:56px;font-size:18px}.lesson-inline-answers button b{width:28px;height:28px;font-size:15px}.lesson-inline-text-question legend,.lesson-text-practice legend{font-size:18px}.lesson-inline-line-board button,.lesson-inline-match-board button{min-height:52px;font-size:18px}.lesson-text-options button{min-height:54px;font-size:18px}.lesson-mixed-options button{min-height:58px;font-size:18px}}

/* A quieter, more literary masthead with clear space before the main navigation. */
.site-masthead{margin:0 auto 12px}.site-masthead .school-brand,.site-masthead .school-brand>span{font-family:"Kaiti SC","STKaiti","KaiTi","DFKai-SB","Noto Serif CJK SC",serif;font-weight:400;font-synthesis:none;letter-spacing:.055em}.site-masthead .school-brand>span{font-size:23px;line-height:1.3}

/* The home calendar is one calm, centered school overview; its data stays unchanged. */
body[data-calendar-static="true"] .calendar-section{box-sizing:border-box;inline-size:min(100%,1120px);margin:0 auto 28px}

/* Teacher selection is deliberately only a set of names. */
.teacher-list{grid-template-columns:repeat(3,minmax(0,1fr));max-width:620px;margin:16px auto 28px}.teacher-list-item{display:flex;align-items:center;justify-content:center;min-height:52px;padding:6px 10px;border-radius:999px;background:#edf5eb;border:1px solid #d5e2d2}.teacher-list-item:nth-child(3n+2){background:#f4eafe;border-color:#ded0ed}.teacher-list-item:nth-child(3n){background:#fff0d8;border-color:#f0d5a9}.teacher-list-item .teacher-name-bubble{min-width:0;min-height:0;padding:4px 8px;background:transparent!important;color:inherit!important;font-size:17px;font-weight:700}.teacher-list-item:hover{background:#e5efe2}.teacher-list-item:nth-child(3n+2):hover{background:#eee0f8}.teacher-list-item:nth-child(3n):hover{background:#ffe8c7}

/* A teacher page names the teacher first, then offers only the relevant textbooks. */
.teacher-course-heading{box-sizing:border-box;grid-template-columns:auto minmax(0,1fr);width:min(100%,590px);margin:12px auto 20px;padding:10px 13px;gap:10px;border-radius:18px}.teacher-course-heading h1{min-width:72px;padding:7px 11px;font-size:18px}.teacher-book-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.teacher-book-link{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:5px 11px;border:1px solid #cad9c6;border-radius:999px;background:#fff;color:#4d7143;font-size:14px;font-weight:700;line-height:1.25;text-decoration:none}.teacher-book-link:hover{background:#f6faf4;border-color:#9ab892}.teacher-book-status{color:#71806d;font-size:14px}

@media(min-width:701px){.site-masthead{padding-top:16px;padding-bottom:16px}.section-navigation{margin-top:0}.calendar-section>.section-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.calendar-section>.section-head>div{grid-column:2;text-align:center}.calendar-section>.section-head>span{grid-column:3;justify-self:end}}
@media(max-width:720px){.site-masthead{margin-bottom:8px}.site-masthead .school-brand>span{font-size:20px;letter-spacing:.04em}.teacher-list{grid-template-columns:repeat(2,minmax(0,1fr));max-width:420px;gap:10px;margin-top:14px}.teacher-list-item{min-height:48px}.teacher-list-item .teacher-name-bubble{font-size:16px}.teacher-course-heading{grid-template-columns:1fr;gap:8px;width:100%;margin:10px auto 16px;padding:10px 12px}.teacher-course-heading h1{justify-self:start;font-size:18px}.teacher-book-links{gap:7px}.teacher-book-link{min-height:32px;padding:5px 10px;font-size:14px}body[data-calendar-static="true"] .calendar-section>.section-head{justify-content:center;text-align:center}body[data-calendar-static="true"] .calendar-section>.section-head>div,body[data-calendar-static="true"] .calendar-section>.section-head>span{flex:1 0 100%;text-align:center}}

/* On a practice route, the question earns the first screen—not a duplicate lesson title. */
body.lesson-practice-hub-page .class-main{padding-top:8px}
body.lesson-practice-hub-page .review-heading{margin:3px 0 5px!important}
body.lesson-practice-hub-page .review-heading .eyebrow{margin:0 0 2px!important;font-size:12px!important}
body.lesson-practice-hub-page .review-heading h1{margin:0!important;font-size:23px!important;line-height:1.25!important}
body.lesson-practice-hub-page .review-heading>p:not(.eyebrow){display:none}
body.lesson-practice-hub-page .classroom-entry{margin:0 0 7px!important;padding:5px 10px!important;font-size:12px!important}
body.lesson-practice-hub-page .lesson-practice-hub{margin:6px auto 18px!important;padding:16px 18px!important;border-radius:24px!important}
body.lesson-practice-hub-page .lesson-hub-back{margin-bottom:8px!important}
body.lesson-practice-hub-page .lesson-practice-heading .eyebrow{margin:0 0 3px!important;font-size:13px!important}
body.lesson-practice-hub-page .lesson-practice-heading h2{font-size:24px!important;line-height:1.3!important}
@media(max-width:700px){body.lesson-practice-hub-page .review-heading h1{font-size:22px!important}body.lesson-practice-hub-page .lesson-practice-hub{padding:14px 12px!important}body.lesson-practice-hub-page .lesson-practice-heading h2{font-size:22px!important}}

/* Practice opens directly at the working surface.  The lesson name remains in
   the compact page header, so the second identical title and PK launcher do
   not push the first question below the fold. */
body.lesson-practice-hub-page .breadcrumb{display:none!important}body.lesson-practice-hub-page .classroom-entry{display:none!important}body.lesson-practice-hub-page:not(.table-workspace-inline-practice) .lesson-inline-heading{display:none!important}body.lesson-practice-hub-page:not(.table-workspace-inline-practice) .lesson-inline-practice{margin-top:4px!important}body.lesson-practice-hub-page:not(.table-workspace-inline-practice) .lesson-inline-back{margin-bottom:7px!important}.table-workspace-inline-practice .class-main{padding-top:6px!important}.table-workspace-inline-practice .lesson-inline-practice{margin-top:4px!important}.table-workspace-inline-practice .lesson-inline-heading{margin-bottom:9px!important}

/* One row of small, unmistakably coloured teacher bubbles keeps the class
   chooser as simple as a child-friendly index. */
.teacher-directory>.teacher-list{grid-template-columns:repeat(6,minmax(0,1fr));width:min(100%,760px);max-width:760px;gap:10px;margin:16px auto 28px}.teacher-directory>.teacher-list>.teacher-list-item{display:flex;align-items:center;justify-content:center;min-height:50px;padding:6px 8px;border-radius:999px}.teacher-directory>.teacher-list>.teacher-list-item:nth-child(1){background:#edf5eb;border-color:#d5e2d2;color:#4d7143}.teacher-directory>.teacher-list>.teacher-list-item:nth-child(2){background:#f4eafe;border-color:#ded0ed;color:#76539b}.teacher-directory>.teacher-list>.teacher-list-item:nth-child(3){background:#fff0d8;border-color:#f0d5a9;color:#ca2a34}.teacher-directory>.teacher-list>.teacher-list-item:nth-child(4){background:#e7f7ef;border-color:#bfe1ce;color:#287052}.teacher-directory>.teacher-list>.teacher-list-item:nth-child(5){background:#fff8cf;border-color:#e7888f;color:#af2a33}.teacher-directory>.teacher-list>.teacher-list-item:nth-child(6){background:#fde9ef;border-color:#edbfd0;color:#9c4264}.teacher-directory>.teacher-list>.teacher-list-item .teacher-name-bubble{background:transparent!important;color:inherit!important;font-size:16px}.teacher-directory>.teacher-list>.teacher-list-item:nth-child(1):hover{background:#e4eee1}.teacher-directory>.teacher-list>.teacher-list-item:nth-child(2):hover{background:#ecdef8}.teacher-directory>.teacher-list>.teacher-list-item:nth-child(3):hover{background:#ffe7c2}.teacher-directory>.teacher-list>.teacher-list-item:nth-child(4):hover{background:#d8f0e2}.teacher-directory>.teacher-list>.teacher-list-item:nth-child(5):hover{background:#fff1b7}.teacher-directory>.teacher-list>.teacher-list-item:nth-child(6):hover{background:#f9dce6}

/* Lin's books are a quiet strip; the September plan gets the visual focus. */
.class-main>.lin-class-strip{display:flex;align-items:center;justify-content:center;gap:9px;width:min(100%,680px);margin:6px auto 13px;padding:0;background:transparent;border:0}.lin-class-strip h1{margin:0;color:#4d7143;font-size:17px;font-weight:700;white-space:nowrap}.lin-class-strip .teacher-book-links{gap:7px}.lin-class-strip .teacher-book-link{min-height:30px;padding:4px 10px;font-size:14px}.class-main>.lin-schedule{width:min(100%,860px);margin:12px auto 32px}.lin-schedule .section-title{margin-bottom:13px}.lin-schedule .section-title h2{font-size:28px}.lin-schedule .month-course-list{gap:12px}.lin-schedule .month-course-card{grid-template-columns:82px 54px minmax(0,1fr) auto;gap:14px;padding:13px 16px;border-radius:18px}.lin-schedule .schedule-thumbnail{width:50px;height:66px}.lin-schedule .month-course-card>span>strong{font-size:19px}
@media(max-width:720px){.teacher-directory>.teacher-list{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:9px}.class-main>.lin-class-strip{justify-content:flex-start;flex-wrap:wrap;margin:5px 0 11px}.class-main>.lin-schedule{width:100%;margin-top:10px}.lin-schedule .section-title h2{font-size:24px}.lin-schedule .month-course-card{grid-template-columns:70px 44px minmax(0,1fr);padding:11px 12px}.lin-schedule .schedule-thumbnail{width:40px;height:54px}}

/* Teacher pages keep Lin's compact textbook jump, without adding a duplicate
   course list.  A quiet individual tint makes the selected teacher clear. */
.teacher-class-strip.teacher-du h1{color:#b65f79}.teacher-class-strip.teacher-du .teacher-book-link{border-color:#e5bcc9;background:#fff6f8;color:#a24f6a}.teacher-class-strip.teacher-zhang h1{color:#76539b}.teacher-class-strip.teacher-zhang .teacher-book-link{border-color:#d9c9ea;background:#faf7fe;color:#69488d}.teacher-class-strip.teacher-ma h1{color:#cf323c}.teacher-class-strip.teacher-ma .teacher-book-link{border-color:#e58a90;background:#fff8ed;color:#b92932}.teacher-class-strip.teacher-jiang h1{color:#477c56}.teacher-class-strip.teacher-jiang .teacher-book-link{border-color:#b9d8c0;background:#f4fbf5;color:#3c704b}.teacher-class-strip.teacher-yang h1{color:#71806d}.teacher-class-strip.teacher-yang .teacher-book-status{font-size:14px;color:#71806d}

/* The homepage names the official account without inventing a QR code or an
   unverified article link. */
body[data-calendar-static="true"] .official-account-note{display:flex;align-items:baseline;justify-content:center;gap:10px;width:min(100%,760px);margin:0 auto 18px;padding:10px 15px;border:1px solid #d9c8e7;border-radius:16px;background:#fbf8fe;color:#5c4771;line-height:1.55;text-align:center}body[data-calendar-static="true"] .official-account-note strong{color:#72508c;font-size:16px}body[data-calendar-static="true"] .official-account-note span{font-size:14px}@media(max-width:620px){body[data-calendar-static="true"] .official-account-note{align-items:center;flex-direction:column;gap:2px;padding:10px 12px}body[data-calendar-static="true"] .official-account-note strong{font-size:15px}}

/* In a book directory, the lesson list remains the middle of the page;
   the three reference tables live together after the final unit. */
body.book-lesson-directory .review-start-solo{grid-template-columns:1fr!important;width:min(100%,360px);margin:8px auto 5px!important;padding-bottom:0!important}body.book-lesson-directory .review-table-entry-bottom{width:min(100%,640px);margin:12px auto 8px;padding-top:12px;border-top:1px solid #dde2db}body.book-lesson-directory .review-table-entry-bottom a{min-height:58px!important;padding:9px 10px!important;font-size:17px!important}

/* The three foundation entry bubbles each get their own calm, playful colour. */
.foundation-cards a:nth-child(1){background:#eff6ed;border-color:#c6d8c1;color:#4d6546}.foundation-cards a:nth-child(2){background:#ecf6df;border-color:#bfd69c;color:#466d31}.foundation-cards a:nth-child(3){background:#f2eaff;border-color:#d6c4eb;color:#654a8c}

/* A compact school reference lives above the fixed contact footer. */
body[data-calendar-static="true"] .school-class-info{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;width:min(100%,860px);margin:0 auto 18px;padding:11px 15px;border:1px solid #dce4da;border-radius:17px;background:#fdfefc;color:#677563;font-size:14px;line-height:1.55}body[data-calendar-static="true"] .school-class-info>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}body[data-calendar-static="true"] .school-class-info strong{color:#4d6546;font-size:15px}body[data-calendar-static="true"] .school-class-info a{color:#4d6546;text-decoration-color:#bccdb7;text-underline-offset:3px}.site-footer .footer-school::before{content:none;display:none}@media(max-width:620px){body[data-calendar-static="true"] .school-class-info{align-items:flex-start;flex-direction:column;gap:7px;padding:11px 13px}body[data-calendar-static="true"] .school-class-info>div{gap:6px}}

/* The home page keeps the practical links in three compact cards: two direct
   Google Maps links and the official account, rather than a long notice. */
body[data-calendar-static="true"] .school-info-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:min(100%,900px);margin:0 auto 18px}.school-info-card{display:flex;align-items:center;gap:9px;min-width:0;min-height:66px;padding:10px 11px;border:1px solid #dce4d9;border-radius:17px;background:#fdfefc;color:#5c6e57;text-decoration:none;line-height:1.35}.school-info-card>span:last-child{display:grid;min-width:0;gap:2px}.school-info-card strong{overflow-wrap:anywhere;color:#4d6546;font-size:14px}.school-info-card small{overflow-wrap:anywhere;color:#758271;font-size:12px}.school-info-card-icon{display:grid;flex:0 0 auto;place-items:center;width:28px;height:28px;border-radius:50%;background:#edf4eb;color:#517547;font-size:19px;line-height:1}.school-info-map:nth-child(2){border-color:#ddcfec;background:#fdfaff}.school-info-map:nth-child(2) .school-info-card-icon{background:#eee5fb;color:#705194}.school-info-account{border-color:#e38c92;background:#fffbef}.school-info-account .school-info-card-icon{background:#fff0bd;color:#b32831;font-size:14px;font-weight:700}.school-info-map:hover,.school-info-map:focus-visible{border-color:#9cba93;background:#f8fcf7;outline:none}.school-info-map:nth-child(2):hover,.school-info-map:nth-child(2):focus-visible{border-color:#bba4dc;background:#f8f4ff}.site-footer .footer-credit{overflow-wrap:anywhere}@media(max-width:720px){body[data-calendar-static="true"] .school-info-cards{grid-template-columns:1fr;gap:8px}.school-info-card{min-height:58px;padding:9px 11px}.school-info-card strong{font-size:14px}.school-info-card small{font-size:12px}}

/* October keeps the same one-class-per-row rhythm as September. */
.lin-october-schedule{margin-top:14px!important}.schedule-thumbnail-topic{display:grid;place-items:center;background:#e8f5f4;color:#347a80;font-family:serif;font-size:25px;font-weight:700}
