/* 进阶汉语 — content skin for inner pages (loaded after page CSS). */
.ls-header *,.ls-header *::before,.ls-header *::after,.ls-footer *,.ls-footer *::before,.ls-footer *::after,.ls-page *,.ls-page *::before,.ls-page *::after{box-sizing:border-box}
.ls-header,.ls-footer{box-sizing:border-box;width:100%}

/* Shared headings & breadcrumbs */
html body main h1,html body main h2{font-family:var(--ls-serif);color:var(--ls-navy);letter-spacing:.03em}
html body .breadcrumb{font-size:13.5px;color:var(--ls-muted)}
html body .breadcrumb a{color:var(--ls-blue);text-decoration:none}
html body .breadcrumb a:hover{text-decoration:underline;text-underline-offset:3px}

/* Page-level language switches are driven from the header switch. */
html body .activities-overview-language,html body .camp-detail-language-wrap .camp-language-switch{display:none!important}

/* ---------- Courses (/teachers/) ---------- */
body.activities-page main.activities-overview{max-width:var(--ls-wrap)!important;margin:0 auto!important;padding:36px 28px 56px!important;gap:24px!important}
body.activities-page .ls-page-head{grid-column:1/-1;margin:0 0 4px}
body.activities-page .teacher-directory,
body.activities-page .more-courses,
body.activities-page .activities-hub{background:#fff!important;border:1px solid var(--ls-line)!important;border-radius:14px!important;box-shadow:var(--ls-shadow-sm)!important;background-image:none!important;padding:22px!important}
body.activities-page .teacher-directory::before,body.activities-page .teacher-directory::after{content:none!important}
body.activities-page .teacher-directory-title{text-align:left!important;margin-bottom:16px!important}
body.activities-page .teacher-directory-note,
body.activities-page .more-courses h2,
body.activities-page .activities-hub h2,
body.activities-page .activities-hub h3{font:700 20px/1.3 var(--ls-serif)!important;color:var(--ls-navy)!important;letter-spacing:.04em!important;margin:0!important}
body.activities-page .teacher-directory-title small{display:block;margin-top:6px;color:var(--ls-muted)!important;font-size:13.5px!important}
body.activities-page .class-grade-group{gap:10px!important}
body.activities-page .class-grade-group h2{background:var(--ls-tint)!important;color:var(--ls-navy)!important;border:0!important;border-radius:8px!important;font:600 14.5px/1.2 var(--ls-sans)!important;letter-spacing:.02em!important}
body.activities-page .class-teacher-card{background:#fff!important;background-image:none!important;border:1px solid var(--ls-line)!important;border-left:3px solid var(--ls-blue)!important;border-radius:8px!important;box-shadow:none!important;transition:border-color .18s,box-shadow .18s,transform .18s!important}
body.activities-page .class-teacher-card:hover{border-color:#ccdcc7!important;border-left-color:var(--ls-blue)!important;box-shadow:var(--ls-shadow-sm)!important;transform:translateY(-1px)}
body.activities-page .class-teacher-card strong{color:var(--ls-navy)!important}
body.activities-page .class-teacher-card span{color:var(--ls-muted)!important}
body.activities-page .interest-course-grid>a,
body.activities-page .course-placeholder{background:#fff!important;border:1px solid var(--ls-line)!important;border-radius:10px!important;box-shadow:none!important}
body.activities-page .interest-course-grid>a:hover{box-shadow:var(--ls-shadow-sm)!important;border-color:#ccdcc7!important}
body.activities-page .interest-course-grid strong span:first-child{color:var(--ls-navy)!important}
body.activities-page .course-placeholder{border-style:dashed!important;background:#fcfefb!important}
body.activities-page .camp-teaser{background:var(--ls-bg)!important;background-image:none!important;border:1px solid var(--ls-line)!important;border-radius:12px!important;box-shadow:none!important}
body.activities-page .camp-teaser h3,body.activities-page .camp-teaser .camp-title{color:var(--ls-navy)!important}
body.activities-page .camp-teaser .camp-registration{color:var(--ls-blue)!important}
body.activities-page .camp-teaser dl>div{background:#fff!important;border-radius:6px}
body.activities-page .camp-teaser dt{color:var(--ls-muted)!important}
body.activities-page .camp-teaser dd{color:var(--ls-ink)!important}
body.activities-page .camp-map-link{color:var(--ls-blue)!important}
body.activities-page .past-activities{border-top:1px solid var(--ls-line)!important}
body.activities-page .past-activity-card{background:#fff!important;border:1px solid var(--ls-line)!important;border-radius:10px!important;box-shadow:none!important}
body.activities-page .past-activity-card:hover{box-shadow:var(--ls-shadow-sm)!important;border-color:#ccdcc7!important}
body.activities-page .past-activity-card small{color:var(--ls-blue)!important}
body.activities-page .past-activity-card strong{color:var(--ls-navy)!important}

/* Camp buttons everywhere */
html body a.camp-register{background:var(--ls-blue)!important;border-color:var(--ls-blue)!important;color:#fff!important;border-radius:6px!important;box-shadow:none!important}
html body a.camp-register:hover{background:var(--ls-blue-strong)!important}
html body a.camp-details{background:#fff!important;border:1.5px solid var(--ls-blue)!important;color:var(--ls-blue)!important;border-radius:6px!important;box-shadow:none!important}

/* ---------- Learning centre (/tigao/review/, /basics/) ---------- */
body.review-directory-page main.class-main{max-width:var(--ls-wrap)!important;margin:0 auto!important;padding:36px 28px 56px!important}
body.review-directory-page .review-hub .section-title h2{font:700 20px/1.3 var(--ls-serif)!important;color:var(--ls-navy)!important;text-align:left!important;margin:0 0 14px!important}
body.review-directory-page .review-hub>section{background:#fff;border:1px solid var(--ls-line);border-radius:14px;box-shadow:var(--ls-shadow-sm);padding:22px 24px;margin:0 0 20px!important}
body.review-directory-page .review-book-grid{max-width:none!important}
body.review-directory-page .review-book-bubble{background:#fff!important;border:1px solid var(--ls-line)!important;border-top:4px solid var(--ls-blue)!important;border-radius:10px!important;box-shadow:none!important;min-height:92px}
body.review-directory-page .review-book-bubble b{color:var(--ls-navy)!important;font-family:var(--ls-serif)!important}
body.review-directory-page .review-book-bubble:hover{box-shadow:var(--ls-shadow)!important;transform:translateY(-2px)}
body.review-directory-page .textbook-download-grid{max-width:none!important}
body.review-directory-page .textbook-download-grid article{background:var(--ls-bg)!important;border:1px solid var(--ls-line)!important;border-radius:10px!important;box-shadow:none!important}
body.review-directory-page .textbook-download-grid article strong{color:var(--ls-navy)!important}
body.review-directory-page .textbook-cover-preview{background:#fff!important;border-color:var(--ls-line)!important}
body.review-directory-page .pdf-download{background:var(--ls-blue)!important;color:#fff!important;border:0!important;border-radius:6px!important}
body.review-directory-page .pdf-download:hover{background:var(--ls-blue-strong)!important}

body.pinyin-page main.class-main>h1{font:700 clamp(28px,3.4vw,36px)/1.25 var(--ls-serif)!important;color:var(--ls-navy)!important;letter-spacing:.05em!important}
body.pinyin-page .foundation-preview-cards>a{background:#fff!important;border:1px solid var(--ls-line)!important;border-top:4px solid var(--ls-blue)!important;border-radius:12px!important;box-shadow:var(--ls-shadow-sm)!important}
body.pinyin-page .foundation-preview-cards>a:hover{box-shadow:var(--ls-shadow)!important;transform:translateY(-3px)}
body.pinyin-page .foundation-preview-cards strong{color:var(--ls-navy)!important;font-family:var(--ls-serif)!important}
body.pinyin-page .foundation-preview-cards p{color:var(--ls-muted)!important}
body.pinyin-page .foundation-static-preview{background:var(--ls-bg)!important;border-color:var(--ls-line)!important}

/* Compact learning tools: preserve the practice controls while matching the site scale. */
body.pinyin-page main.class-main{max-width:var(--ls-wrap)!important;padding:24px 28px 48px!important}
body.pinyin-page .foundation-primary{gap:8px!important;margin:0 0 16px!important}
body.pinyin-page .foundation-primary a{min-height:42px!important;padding:9px 14px!important;border-radius:7px!important;font-size:15px!important}
body.pinyin-page .pinyin-heading{margin:0 0 12px!important}
body.pinyin-page .pinyin-heading h1{font-size:28px!important}
body.pinyin-page .pinyin-heading button{padding:8px 12px!important;border-radius:7px!important;font-size:14px!important}
body.pinyin-page .stroke-main-tabs{gap:10px!important;margin:14px 0!important}
body.pinyin-page .stroke-main-tabs button{padding:13px 16px!important;border-radius:8px!important;font-size:17px!important}
body.pinyin-page #stroke-reading>p{font-size:15px!important;margin:10px 0!important}
body.pinyin-page .stroke-card-size{margin:2px auto 8px!important;font-size:14px!important}
body.pinyin-page .stroke-card-size input[type=range]{width:min(240px,48vw)!important}
body.pinyin-page #basic-stroke-cards{--stroke-card-min:82px;--stroke-card-icon:48px;--stroke-card-name:17px;--stroke-card-pinyin:14px;--stroke-card-padding:8px;gap:9px!important;margin:10px 0!important}
body.pinyin-page #basic-stroke-cards>button{border-radius:12px!important}
@media(max-width:650px){body.pinyin-page main.class-main{padding:18px 16px 36px!important}body.pinyin-page .foundation-primary a{font-size:14px!important;padding:8px 5px!important}body.pinyin-page .stroke-main-tabs button{padding:11px 8px!important;font-size:15px!important}body.pinyin-page #basic-stroke-cards{--stroke-card-min:72px;--stroke-card-icon:42px;--stroke-card-name:16px;--stroke-card-pinyin:13px;gap:7px!important}}

/* Textbook directory quick actions follow the public-site button system. */
body.book-lesson-directory .review-quick-bubbles{display:flex!important;align-items:center!important;gap:10px!important}
body.book-lesson-directory .review-quick-bubble{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:38px!important;padding:7px 15px!important;background:#fff!important;border:1px solid var(--ls-blue)!important;border-radius:6px!important;box-shadow:none!important;color:var(--ls-blue)!important}
body.book-lesson-directory #random-review-lesson{background:var(--ls-blue)!important;border-color:var(--ls-blue)!important;color:#fff!important}
body.book-lesson-directory .review-quick-bubble b{font-size:14px!important;font-weight:600!important}

/* Keep the pinyin matching workspace centred rather than pinned to the left edge. */
body[data-pinyin-view="practice"].pinyin-page .pinyin-match-layout{grid-template-columns:185px minmax(0,700px)!important;max-width:905px!important;margin-left:auto!important;margin-right:auto!important}
@media(max-width:700px){body[data-pinyin-view="practice"].pinyin-page .pinyin-match-layout{grid-template-columns:1fr!important;max-width:none!important}}

/* ---------- Activity & notice detail pages ---------- */
body.activity-detail-page main{max-width:var(--ls-wrap)}
body.activity-detail-page main h1{color:var(--ls-navy)!important}

/* Refinements */
body.activities-page .teacher-directory-title,body.activities-page .teacher-directory-title *{text-align:left!important}
body.activities-page .camp-teaser h3{font:700 15px/1.45 var(--ls-sans)!important;letter-spacing:0!important;white-space:normal!important}
body.activities-page .camp-teaser h3 .camp-title,body.activities-page .camp-teaser h3 .camp-registration{font:inherit!important}
body.review-directory-page .review-hub{max-width:none!important;width:auto!important;margin:0!important}
body.pinyin-page:not([data-foundation-view]):not([data-pinyin-view]) main.class-main>h1{margin:36px 0 22px!important}
body.pinyin-page main.class-main>.foundation-preview-cards{margin-bottom:56px!important}
body.review-directory-page .review-hub>section{max-width:none!important;width:auto!important;margin-left:0!important;margin-right:0!important}
body.activities-page .camp-teaser dl>div{display:grid!important;grid-template-columns:72px minmax(0,1fr)!important;align-items:baseline!important;gap:8px!important}body.activities-page .camp-teaser dd,body.activities-page .camp-teaser dd *{font-size:14px!important;line-height:1.45!important}
body.activities-page .camp-teaser-copy{display:block!important}body.activities-page .camp-teaser-copy dl{display:grid!important;gap:4px!important;margin:8px 0!important}body.activities-page .camp-teaser dt{font-size:12.5px!important;font-weight:600!important}body.activities-page .camp-teaser-actions{display:flex!important;flex-direction:row!important;gap:10px!important;margin-top:10px!important;position:static!important}body.activities-page .camp-teaser-actions a{width:auto!important;padding:8px 16px!important}

/* ---------- Learning centre: compact density ---------- */
body.review-directory-page main.class-main,body.pinyin-page:not([data-foundation-view]):not([data-pinyin-view]) main.class-main{padding-top:24px!important;padding-bottom:40px!important}
body.review-directory-page .ls-page-head{margin-bottom:16px}
body.review-directory-page .ls-page-head h1,body.pinyin-page:not([data-foundation-view]):not([data-pinyin-view]) main.class-main>h1{font-size:26px!important}
body.review-directory-page .ls-page-head p{margin-top:4px;font-size:13.5px}

/* 语文资料 hub: two download panels side by side, smaller cards */
body.review-directory-page .review-hub{display:grid!important;grid-template-columns:1fr 1fr;gap:14px}
body.review-directory-page .review-hub>section{margin:0!important;padding:14px 16px!important;border-radius:10px!important}
body.review-directory-page .review-hub>section:first-child{grid-column:1/-1}
body.review-directory-page .review-hub .section-title h2{font-size:16px!important;margin:0 0 10px!important}
body.review-directory-page .review-book-grid{gap:10px!important}
body.review-directory-page .review-book-bubble{min-height:48px!important;padding:8px 10px!important;border-top-width:3px!important;border-radius:8px!important}
body.review-directory-page .review-book-bubble b{font-size:16px!important}
body.review-directory-page .textbook-download-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}
body.review-directory-page .textbook-download-grid article{padding:6px!important;gap:5px!important;border-radius:8px!important}
body.review-directory-page .textbook-cover-preview{border-radius:6px!important;padding:4px 0!important}
body.review-directory-page .textbook-cover-preview img{height:74px!important}
body.review-directory-page .textbook-download-grid article strong{font-size:12px!important;line-height:1.3!important}
body.review-directory-page .pdf-download{min-height:0!important;padding:3px 0!important;font-size:11px!important}

/* 教材目录 pages (e.g. 二年级上册) */
body.book-lesson-directory .review-heading>h1{font-size:24px!important;margin:4px 0 12px!important;color:var(--ls-navy)!important}
body.book-lesson-directory .review-quick-bubbles{gap:10px!important;margin:0 0 12px!important;justify-content:flex-start!important}
body.book-lesson-directory .review-quick-bubble{min-height:38px!important;height:auto!important;padding:6px 16px!important;border-width:1px!important;border-radius:8px!important;box-shadow:none!important}
body.book-lesson-directory .review-quick-bubble b{font-size:14px!important}
body.book-lesson-directory .review-heading>hr,body.book-lesson-directory .review-quick-bubbles+hr{margin:8px 0!important}
body.book-lesson-directory .unit-index{gap:6px!important;margin-left:0!important;margin-right:0!important;max-width:none!important}
body.book-lesson-directory .unit-directory{padding:6px 8px!important;gap:10px!important;border-radius:8px!important}
body.book-lesson-directory .unit-directory>h2{font-size:15px!important;min-width:76px!important}
body.book-lesson-directory .review-links{gap:6px!important}
body.book-lesson-directory .lesson-directory-card{min-height:44px!important;padding:4px 8px!important;border-radius:7px!important}
body.book-lesson-directory .lesson-thumbnail{width:26px!important;height:34px!important}
body.book-lesson-directory .lesson-directory-copy strong{font-size:13px!important}
body.book-lesson-directory .lesson-directory-copy small{font-size:11px!important}

/* 基础巩固 hub */
body.pinyin-page .foundation-preview-cards{gap:14px!important}
body.pinyin-page .foundation-preview-cards>a{padding:12px!important;gap:8px!important;border-top-width:3px!important;border-radius:10px!important}
body.pinyin-page .foundation-preview-cards .foundation-static-preview{aspect-ratio:2/1!important;border-radius:8px!important}
body.pinyin-page .foundation-preview-cards strong{font-size:18px!important}
body.pinyin-page .foundation-preview-cards p{font-size:13px!important;line-height:1.6!important;margin:0!important}

@media (max-width:760px){
  body.review-directory-page .review-hub{grid-template-columns:1fr}
  body.review-directory-page .textbook-download-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
body.review-directory-page .copybook-cover-preview{border-radius:6px!important;padding:4px 0!important}
body.review-directory-page .copybook-cover-preview img{height:74px!important}
body.book-lesson-directory .review-quick-bubbles{grid-auto-rows:auto!important;grid-template-rows:none!important;height:auto!important}
body.book-lesson-directory .review-quick-bubble{height:40px!important;min-height:0!important}
body.pinyin-page:not([data-foundation-view]):not([data-pinyin-view]) main.class-main>h1{margin:20px 0 14px!important}
body.book-lesson-directory #random-review-lesson{height:40px!important;min-height:0!important;padding:6px 16px!important;border-width:1px!important;border-radius:8px!important;box-shadow:none!important}
body.book-lesson-directory .review-table-entry a{min-height:40px!important;padding:6px 16px!important;border-width:1px!important;border-radius:8px!important;box-shadow:none!important;font-size:15px!important}

/* The main textbook-entry panel is intentionally larger than the download panels. */
body.review-directory-page .review-book-practice{padding:24px 20px!important}
body.review-directory-page .review-book-practice .section-title h2{font-size:23px!important;margin-bottom:15px!important}
body.review-directory-page .review-book-practice .review-book-grid{gap:14px!important}
body.review-directory-page .review-book-practice .review-book-bubble{min-height:108px!important;padding:14px 12px!important;border-top-width:4px!important;border-radius:10px!important}
body.review-directory-page .review-book-practice .review-book-bubble b{font-size:20px!important;letter-spacing:.04em}
@media(max-width:760px){
  body.review-directory-page .review-book-practice{padding:18px 16px!important}
  body.review-directory-page .review-book-practice .review-book-bubble{min-height:86px!important}
  body.review-directory-page .review-book-practice .review-book-bubble b{font-size:17px!important}
}

/* Teacher profiles share the public site shell while keeping the existing lesson links. */
.teacher-profile-main{max-width:var(--ls-wrap);margin:0 auto;padding:38px 28px 54px}
.teacher-profile-back{display:inline-flex;align-items:center;gap:6px;color:var(--ls-blue);font-size:14px;font-weight:600;text-decoration:none}
.teacher-profile-back:hover{text-decoration:underline;text-underline-offset:3px}
.teacher-profile{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.35fr);gap:30px;align-items:stretch;margin-top:18px;padding:30px;background:#fff;border:1px solid var(--ls-line);border-radius:16px;box-shadow:var(--ls-shadow-sm)}
.teacher-profile-photo{position:relative;min-height:330px;overflow:hidden;border-radius:11px;background:#f2f6f1}
.teacher-profile-photo img{width:100%;height:100%;object-fit:cover;display:block}
.teacher-profile-photo figcaption{position:absolute;left:12px;bottom:12px;margin:0;padding:6px 9px;border-radius:6px;background:rgba(43,69,36,.8);color:#fff;font-size:12px}
.teacher-profile-copy{display:flex;flex-direction:column;align-items:flex-start}
.teacher-profile-avatar{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--ls-blue);box-shadow:0 5px 13px rgba(49,73,42,.2);color:#fff;font:700 26px/1 var(--ls-serif)}
.teacher-profile-copy h1{margin:13px 0 3px;font:700 32px/1.25 var(--ls-serif);color:var(--ls-navy);letter-spacing:.05em}
.teacher-profile-role{margin:0;color:var(--ls-blue);font-size:15px;font-weight:700}
.teacher-profile-copy>p:not(.teacher-profile-role){margin:20px 0;color:var(--ls-ink);font-size:15px;line-height:1.85}
.teacher-profile-facts{display:grid;grid-template-columns:1fr 1fr;width:100%;margin:0;padding:0;list-style:none;border-top:1px solid var(--ls-line);border-bottom:1px solid var(--ls-line)}
.teacher-profile-facts li{padding:12px 0;font-size:13px;color:var(--ls-muted)}
.teacher-profile-facts li+li{padding-left:16px;border-left:1px solid var(--ls-line)}
.teacher-profile-facts b{display:block;margin-bottom:3px;color:var(--ls-navy);font-size:14px}
.teacher-profile .ls-btn{margin-top:22px}
@media(max-width:760px){.teacher-profile-main{padding:24px 18px 40px}.teacher-profile{grid-template-columns:1fr;gap:20px;padding:18px}.teacher-profile-photo{min-height:220px}.teacher-profile-copy h1{font-size:28px}}
@media (max-width:760px){
  body.review-directory-page .review-book-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.review-directory-page .pdf-download{font-size:10.5px!important;padding:3px 2px!important}
}

/* ---------- Page banner (calendar, learning centre) ---------- */
.ls-banner{position:relative;display:flex;align-items:center;min-height:260px;background:#dce8d9 right center/cover no-repeat;border-bottom:1px solid var(--ls-line)}
.ls-banner::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(243,248,242,.95) 0%,rgba(243,248,242,.82) 36%,rgba(243,248,242,0) 62%)}
.ls-banner .ls-wrap{position:relative;width:100%}
.ls-banner h1{margin:0;font:700 clamp(30px,3.8vw,42px)/1.2 var(--ls-serif);letter-spacing:.05em;color:var(--ls-navy)}
.ls-banner .ls-eyebrow{margin-bottom:10px}
.ls-banner p:not(.ls-eyebrow){margin:12px 0 0;font-size:16px;color:var(--ls-navy)}

.ls-banner-learning{background-image:url(/tigao/assets/home/banner-learning.jpg)}
main.ls-page>.ls-banner{margin:-40px 0 28px}
.ls-banner + main.class-main>h1{display:none!important}
@media (max-width:760px){
  .ls-banner{min-height:200px;background-position:75% center}
  .ls-banner::before{background:linear-gradient(90deg,rgba(243,248,242,.94) 0%,rgba(243,248,242,.75) 60%,rgba(243,248,242,.35) 100%)}
}
