.eiei-classic {
  --classic-ink: #102b63;
  --classic-blue: #2472e8;
  --classic-red: #ef6f61;
  --classic-green: #138a68;
  --classic-yellow: #ffc857;
  --classic-paper: #f8fbff;
  color: var(--classic-ink);
  font-family: KaiTi, STKaiti, DFKai-SB, "Noto Serif SC", Georgia, serif;
  margin: 0 auto;
  max-width: 1180px;
  padding: clamp(14px, 3vw, 34px);
}

/* 2.35.2 — unmistakable lesson actions, score submission and integrated arrow seals. */
.eiei-classic .tcher-study-step,
.eiei-classic .tcher-study-step:nth-of-type(2) {
  position: relative;
  text-decoration: none;
}
.eiei-classic .tcher-study-step > span {
  align-items: flex-start;
  background: transparent;
  border: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
  padding: 0;
  text-align: left;
}
.eiei-classic .tcher-study-step > span b {
  color: #211a15;
  font: 900 19px/1.25 KaiTi,STKaiti,serif;
  white-space: nowrap;
}
.eiei-classic .tcher-study-step > span small {
  color: #715943;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.3;
}
.eiei-classic a.tcher-study-step { cursor: pointer; padding-right: 52px; }
.eiei-classic a.tcher-study-step::after {
  align-items: center;
  border-radius: 50%;
  content: "›";
  display: flex;
  font: 900 31px/1 Georgia,serif;
  height: 32px;
  justify-content: center;
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 32px;
}
.eiei-classic .tcher-study-step.is-read {
  background: linear-gradient(135deg,#edf8f2,#def0e8);
  border: 2px solid rgba(25,124,105,.62);
  box-shadow: 0 5px 0 rgba(17,95,79,.18);
}
.eiei-classic .tcher-study-step.is-read::after { background: var(--tcher-jade); color: #fffbe9; }
.eiei-classic .tcher-study-step.is-quiz {
  background: linear-gradient(135deg,#c93a31,#a92220);
  border: 2px solid #7e1c19;
  box-shadow: 0 6px 0 #7e1c19,0 10px 18px rgba(126,28,25,.2);
}
.eiei-classic .tcher-study-step.is-quiz i {
  background: #fff3bf;
  border-color: #fff9e6;
  box-shadow: 0 0 0 3px #e5b858;
  color: #8b211b;
}
.eiei-classic .tcher-study-step.is-quiz > span b,
.eiei-classic .tcher-study-step.is-quiz > span small {
  color: #fffbe8;
  text-shadow: -1px 0 #3c160e,0 1px #3c160e,1px 0 #3c160e,0 -1px #3c160e;
}
.eiei-classic .tcher-study-step.is-quiz > span b { font-size: 21px; }
.eiei-classic .tcher-study-step.is-quiz::after {
  background: #fff3bf;
  color: #8b211b;
  content: "➜";
  font-size: 22px;
}
.eiei-classic a.tcher-study-step:hover,
.eiei-classic a.tcher-study-step:focus-visible { filter: brightness(1.04); transform: translateY(-2px); }

@keyframes tcher-submit-card-pulse {
  0%,100% { border-color: rgba(177,46,36,.72); box-shadow: 0 0 0 0 rgba(207,74,46,0),0 6px 15px rgba(82,51,24,.08); }
  50% { border-color: #cf4a2e; box-shadow: 0 0 0 7px rgba(239,183,65,.25),0 9px 22px rgba(146,50,30,.2); }
}
@keyframes tcher-submit-sign-pulse {
  0%,100% { filter: drop-shadow(0 3px 2px rgba(92,45,22,.12)); transform: translate(-50%,-50%) scale(1); }
  50% { filter: drop-shadow(0 7px 8px rgba(177,46,36,.34)); transform: translate(-50%,-50%) scale(1.045); }
}
@keyframes tcher-submit-label-pulse {
  0%,100% { background: #b82f29; }
  50% { background: #e05a32; }
}
.eiei-classic .tcher-lesson-checkin.needs-submit {
  animation: tcher-submit-card-pulse 1.55s ease-in-out infinite;
  border: 2px solid #b12e24;
}
.eiei-classic .tcher-lesson-checkin.needs-submit .tcher-checkin-button { cursor: pointer; }
.eiei-classic .tcher-lesson-checkin.needs-submit .tcher-checkin-button img { animation: tcher-submit-sign-pulse 1.55s ease-in-out infinite; }
.eiei-classic .tcher-checkin-required {
  align-items: center;
  background: #b82f29;
  border: 2px solid #fff1c4;
  border-radius: 999px;
  box-shadow: 0 0 0 2px #8f251f;
  color: #fffbe6;
  display: inline-flex;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .06em;
  margin: 0 0 10px;
  padding: 5px 12px;
  width: fit-content;
}
.eiei-classic .needs-submit .tcher-checkin-required { animation: tcher-submit-label-pulse 1.05s ease-in-out infinite; }
.eiei-classic .tcher-checkin-required.is-done { background: var(--tcher-jade); box-shadow: 0 0 0 2px #0f6959; }
.eiei-classic .tcher-lesson-checkin.is-confirmed { background: linear-gradient(135deg,#eff8ed,#e3f2e8); border: 2px solid var(--tcher-jade); }
.eiei-classic .tcher-lesson-checkin.is-confirmed .tcher-checkin-button[disabled] { cursor: default; opacity: 1; }

.eiei-classic .tcher-pager-arrow {
  background: radial-gradient(circle at 35% 28%,#39a68c,#0b6f5d 72%);
  border: 3px solid #724020;
  box-shadow: inset 0 0 0 6px #efcd72,0 6px 0 rgba(88,49,24,.2),0 9px 18px rgba(88,49,24,.14);
  color: transparent;
  font-size: 0;
  overflow: hidden;
  position: relative;
}
.eiei-classic .tcher-pager-arrow::before {
  color: #fff9db;
  content: "➜";
  font: 900 48px/1 Georgia,"Times New Roman",serif;
  left: 50%;
  position: absolute;
  text-shadow: -2px 0 #35170e,0 2px #35170e,2px 0 #35170e,0 -2px #35170e;
  top: 50%;
  transform: translate(-50%,-50%);
  -webkit-text-stroke: 1px #35170e;
}
.eiei-classic .tcher-lesson-pager .is-previous .tcher-pager-arrow::before { transform: translate(-50%,-50%) scaleX(-1); }
.eiei-classic .tcher-lesson-pager > a:hover .tcher-pager-arrow,
.eiei-classic .tcher-lesson-pager > a:focus-visible .tcher-pager-arrow { filter: brightness(1.08); transform: translateY(-2px); }
.eiei-classic .tcher-lesson-pager .is-disabled .tcher-pager-arrow { background: #cfc8b5; border-color: #8f8877; box-shadow: inset 0 0 0 6px #ece2c4,0 5px 0 rgba(88,80,63,.14); }
.eiei-classic .tcher-lesson-pager .is-disabled .tcher-pager-arrow::before { color: #fffdf2; opacity: .72; }

@media (max-width: 760px) {
  .eiei-classic .tcher-study-route,
  .eiei-classic .tcher-study-route:has(> .tcher-study-step:nth-child(2):last-child),
  .eiei-classic .tcher-study-route:has(> .tcher-study-step:nth-child(3):last-child) { grid-template-columns: minmax(0,1fr) !important; }
  .eiei-classic .tcher-study-step > span b { font-size: 15px; }
  .eiei-classic .tcher-study-step > span small { font-size: 10px; }
  .eiei-classic a.tcher-study-step { padding-right: 32px; }
  .eiei-classic a.tcher-study-step::after { font-size: 20px; height: 24px; right: 5px; width: 24px; }
  .eiei-classic .tcher-study-step.is-quiz > span b { font-size: 16px; }
  .eiei-classic .tcher-checkin-required { font-size: 10px; margin-bottom: 7px; padding: 4px 7px; }
  .eiei-classic .tcher-pager-arrow::before { font-size: 36px; }
}

@media (prefers-reduced-motion: reduce) {
  .eiei-classic .tcher-lesson-checkin.needs-submit,
  .eiei-classic .tcher-lesson-checkin.needs-submit .tcher-checkin-button img,
  .eiei-classic .needs-submit .tcher-checkin-required { animation: none !important; }
}

.eiei-classic.classic-font-handwritten { font-family: KaiTi, STKaiti, DFKai-SB, "Noto Serif SC", Georgia, serif; }
.eiei-classic.classic-font-serif { font-family: "Noto Serif SC", "Songti SC", SimSun, Georgia, serif; }
.eiei-classic.classic-font-clear { font-family: "Microsoft YaHei", "PingFang SC", Arial, sans-serif; }

.eiei-classic *,
.eiei-classic *::before,
.eiei-classic *::after { box-sizing: border-box; }

.classic-paper {
  background-color: #fffefa;
  background-image: repeating-linear-gradient(to bottom, transparent 0, transparent 31px, rgba(62,104,137,.12) 32px, transparent 33px);
  border: 2px solid var(--classic-ink);
  border-radius: 5px 13px 7px 11px;
  box-shadow: 6px 7px 0 rgba(23,33,43,.12);
  margin-bottom: 34px;
  padding: clamp(22px, 4vw, 42px);
  position: relative;
}

.classic-paper::before {
  border-left: 2px solid rgba(181,84,76,.32);
  bottom: 0;
  content: "";
  left: 37px;
  pointer-events: none;
  position: absolute;
  top: 0;
}

.classic-outline-clean .classic-paper,
.classic-outline-clean .classic-number,
.classic-outline-clean .classic-status,
.classic-outline-clean .classic-resource,
.classic-outline-clean .classic-progress,
.classic-outline-clean .classic-ink-button,
.classic-outline-clean .classic-outline-button { border-radius: 8px; transform: none; }
.classic-outline-clean .classic-lesson:nth-child(even),
.classic-outline-clean .classic-lesson:nth-child(odd),
.classic-outline-clean .classic-index-grid li:nth-child(4n+2),
.classic-outline-clean .classic-index-grid li:nth-child(4n+3) { transform: none; }

.classic-cover,
.classic-course-head { overflow: hidden; padding-left: clamp(56px, 7vw, 82px); }

.classic-cover::after,
.classic-course-head::after {
  border: 2px solid var(--classic-ink);
  border-radius: 50%;
  content: "题";
  font-size: 66px;
  font-weight: 900;
  height: 112px;
  line-height: 106px;
  opacity: .08;
  position: absolute;
  right: 28px;
  text-align: center;
  top: 25px;
  transform: rotate(9deg);
  width: 112px;
}

.classic-cover-label,
.classic-overline {
  color: var(--classic-red);
  font-family: "Courier New", monospace;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .13em;
  margin: 0 0 12px;
  text-transform: uppercase;
}

.eiei-classic h1,
.eiei-classic h2,
.eiei-classic h3 { color: var(--classic-ink); font-weight: 900; line-height: 1.25; }
.eiei-classic h1 { font-size: clamp(34px, 6vw, 64px); margin: 0 0 10px; max-width: 820px; }
.eiei-classic h2 { font-size: clamp(24px, 4vw, 38px); }
.eiei-classic p { font-size: 16px; line-height: 1.85; }
.classic-subtitle { color: var(--classic-blue); font-size: clamp(17px, 2.3vw, 23px) !important; font-weight: 800; }

.classic-tape {
  background: rgba(244,214,109,.78);
  display: inline-block;
  font-family: "Courier New", monospace;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .1em;
  margin: -3px 0 14px;
  padding: 7px 15px;
  transform: rotate(-2deg);
}

.classic-login-actions { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 24px; }
.classic-ink-button,
.classic-outline-button {
  border: 2px solid var(--classic-ink);
  border-radius: 4px 8px 5px 7px;
  cursor: pointer;
  display: inline-block;
  font-family: inherit;
  font-size: 15px;
  font-weight: 900;
  min-height: 48px;
  padding: 12px 21px;
  text-decoration: none !important;
  transition: transform .18s ease, box-shadow .18s ease;
}
.classic-ink-button { background: var(--classic-ink); box-shadow: 4px 4px 0 var(--classic-yellow); color: #fff !important; }
.classic-outline-button { background: transparent; box-shadow: 4px 4px 0 rgba(53,101,138,.22); color: var(--classic-ink) !important; }
.classic-ink-button:hover,
.classic-outline-button:hover { transform: translate(-2px,-2px) rotate(-.4deg); }

.tcher-account-row { align-items: center; border-bottom: 1px dashed rgba(29,39,49,.35); display: flex; font-weight: 900; gap: 14px; justify-content: space-between; margin: 20px 0; padding-bottom: 14px; }
.tcher-student-logout { display: inline-block; margin: 0; }
.tcher-student-logout .classic-outline-button { min-height: 40px; padding: 8px 14px; }

.classic-paperclip {
  color: #6b747a;
  font-family: Arial, sans-serif;
  font-size: 70px;
  font-weight: 300;
  position: absolute;
  right: 38px;
  top: -18px;
  transform: rotate(12deg);
}

.classic-progress-copy { align-items: center; display: flex; font-family: "Courier New", monospace; font-size: 13px; font-weight: 900; justify-content: space-between; margin-top: 28px; }
.classic-progress {
  background: transparent;
  border: 2px solid var(--classic-ink);
  border-radius: 999px;
  height: 19px;
  margin-top: 8px;
  overflow: hidden;
  padding: 3px;
  transform: rotate(-.15deg);
}
.classic-progress span { background: repeating-linear-gradient(135deg, var(--classic-yellow) 0 8px, #efd15d 8px 16px); border-radius: 999px; display: block; height: 100%; min-width: 0; }

.classic-section-heading { align-items: center; display: flex; gap: 18px; margin: 0 0 25px 28px; }
.classic-section-heading > span { align-items: center; background: var(--classic-ink); border-radius: 50% 47% 53% 45%; color: #fff; display: flex; flex: 0 0 62px; font-size: 16px; font-weight: 900; height: 62px; justify-content: center; transform: rotate(-5deg); }
.classic-section-heading h2 { margin: 0; }
.classic-section-heading p { color: #56616b; margin: 3px 0 0; }

.classic-index { padding-left: clamp(56px, 7vw, 82px); }
.classic-index-grid { display: grid; gap: 10px 22px; grid-template-columns: repeat(2, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; }
.classic-index-grid li { align-items: center; border-bottom: 1px dashed rgba(23,33,43,.5); display: grid; gap: 9px; grid-template-columns: 34px minmax(0,1fr) 22px; min-height: 45px; padding: 5px 3px; }
.classic-index-grid li:nth-child(4n+2) { transform: rotate(.25deg); }
.classic-index-grid li:nth-child(4n+3) { transform: rotate(-.25deg); }
.classic-index-grid li > span { color: var(--classic-red); font-family: "Courier New", monospace; font-size: 12px; font-weight: 900; }
.classic-index-grid a { color: var(--classic-ink) !important; font-size: 15px; font-weight: 900; text-decoration: none !important; }
.classic-index-grid a:hover { background: linear-gradient(transparent 55%, rgba(244,214,109,.65) 55%); }
.classic-index-grid em { color: #8a8d88; font-size: 14px; }
.classic-index-grid b { color: #8a8d88; text-align: center; }
.classic-index-grid .is-done b { color: var(--classic-green); }

.classic-lessons { display: grid; gap: 12px; }
.classic-lesson { scroll-margin-top: 24px; }
.classic-lesson:nth-child(even) { transform: rotate(.08deg); }
.classic-lesson:nth-child(odd) { transform: rotate(-.08deg); }
.classic-lesson.is-complete { border-color: var(--classic-green); box-shadow: 6px 7px 0 rgba(53,114,90,.18); }

.classic-lesson-head { align-items: center; display: grid; gap: 16px; grid-template-columns: 70px minmax(0,1fr) auto; margin-left: 26px; }
.classic-number { align-items: center; border: 3px double var(--classic-ink); border-radius: 49% 45% 53% 47%; display: flex; font-family: "Courier New", monospace; font-size: 22px; font-weight: 900; height: 64px; justify-content: center; transform: rotate(-4deg); }
.classic-lesson-head span { color: var(--classic-red); font-family: "Courier New", monospace; font-size: 10px; font-weight: 900; letter-spacing: .1em; }
.classic-lesson-head h2 { margin: 3px 0 0; }
.classic-result-mark { align-items: center; display: flex; gap: 12px; }
.classic-status { background: rgba(244,214,109,.48); border: 2px solid var(--classic-ink); border-radius: 50% 45% 50% 43%; font-weight: 900; padding: 10px 15px; transform: rotate(2deg); white-space: nowrap; }
.classic-status.is-done { background: rgba(131,192,157,.35); border-color: var(--classic-green); color: var(--classic-green); }
.tcher-red-score {
  border: 2px solid var(--classic-red);
  border-radius: 48% 52% 46% 54%;
  color: var(--classic-red);
  display: inline-block;
  font-family: KaiTi, STKaiti, "DFKai-SB", "Comic Sans MS", cursive;
  font-size: 29px;
  font-weight: 900;
  letter-spacing: -.04em;
  line-height: 1;
  padding: 5px 9px 4px;
  text-shadow: .5px .5px 0 rgba(197,65,55,.2);
  transform: rotate(-6deg);
  white-space: nowrap;
}
.tcher-red-score.is-pending { border-style: dashed; opacity: .45; }

.classic-intro { border-left: 4px solid var(--classic-red); margin: 28px 0 24px 28px; padding: 1px 0 1px 18px; }
.classic-intro > :first-child { margin-top: 0; }
.classic-intro > :last-child { margin-bottom: 0; }

.classic-video-row,
.classic-learning-row { align-items: stretch; display: grid; gap: 16px; grid-template-columns: 145px minmax(0,1fr); margin: 24px 0 26px 28px; }
.classic-learning-content { align-content: start; display: grid; gap: 16px; min-width: 0; }
.classic-margin-note { background: rgba(244,214,109,.18); border: 2px dashed var(--classic-ink); display: flex; flex-direction: column; gap: 12px; justify-content: center; padding: 15px 12px; position: relative; transform: rotate(-1deg); }
.classic-margin-note::before { background: rgba(202,222,235,.86); content: ""; height: 19px; left: 33%; position: absolute; top: -10px; transform: rotate(3deg); width: 53px; }
.classic-margin-note strong { border-bottom: 2px solid var(--classic-red); padding-bottom: 5px; }
.classic-margin-note span { font-size: 13px; font-weight: 900; }
.classic-margin-note i { color: var(--classic-red); font-size: 12px; line-height: 1.5; }
.classic-video { align-items: center; aspect-ratio: 16 / 9; background: #15212a; border: 3px solid var(--classic-ink); border-radius: 3px 7px 5px 9px; display: flex; justify-content: center; overflow: hidden; transform: rotate(.15deg); }
.classic-video iframe,
.classic-video video { border: 0; height: 100%; width: 100%; }
.classic-video > a { color: #fff !important; font-size: 17px; font-weight: 900; text-decoration: none !important; }

.classic-resources { display: grid; gap: 16px; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 0 0 22px 28px; }
.classic-learning-content .classic-resources { margin: 0; }
.classic-learning-content .classic-resource:only-child { grid-column: 1 / -1; }
.classic-resource { align-items: center; background: rgba(255,255,255,.65); border: 2px solid var(--classic-ink); color: var(--classic-ink) !important; display: grid; gap: 12px; grid-template-columns: 52px minmax(0,1fr) 20px; min-height: 90px; padding: 13px 15px; text-decoration: none !important; transition: box-shadow .18s ease, transform .18s ease; }
.classic-resource:nth-child(1) { border-radius: 6px 11px 5px 9px; transform: rotate(-.4deg); }
.classic-resource:nth-child(2) { border-radius: 10px 4px 9px 5px; transform: rotate(.5deg); }
.classic-resource:hover { box-shadow: 5px 5px 0 rgba(23,33,43,.16); transform: translate(-2px,-2px) rotate(0); }
.classic-resource > span { align-items: center; border: 2px solid currentColor; border-radius: 50%; display: flex; font-family: "Courier New", monospace; font-size: 12px; font-weight: 900; height: 48px; justify-content: center; }
.classic-resource.is-pdf > span { color: var(--classic-red); }
.classic-resource.is-quiz > span { color: var(--classic-green); font-size: 20px; }
.classic-resource strong,
.classic-resource small { display: block; }
.classic-resource strong { font-size: 16px; }
.classic-resource small { color: #677078; font-size: 12px; margin-top: 4px; }

.classic-complete-form { margin: 25px 0 0 28px; }
.classic-complete-form label { align-items: center; background: rgba(244,214,109,.25); border: 2px dashed var(--classic-ink); display: flex; gap: 16px; justify-content: space-between; padding: 15px 17px; }
.classic-complete-form label > span { font-size: 14px; font-weight: 900; }
.classic-complete-form button { background: var(--classic-ink); border: 2px solid var(--classic-ink); box-shadow: 4px 4px 0 var(--classic-yellow); color: #fff; cursor: pointer; font-family: inherit; font-size: 15px; font-weight: 900; min-height: 48px; padding: 10px 18px; }
.classic-complete-mark { background: rgba(131,192,157,.28); border: 2px solid var(--classic-green); color: var(--classic-green); display: inline-block; font-weight: 900; margin: 25px 0 0 28px; padding: 10px 18px; transform: rotate(-1deg); }

.classic-registration { margin: 20px auto; max-width: 850px; padding-left: clamp(56px, 7vw, 82px); }
.classic-registration h1 { font-size: clamp(30px, 5vw, 48px); }
.tcher-student-login {
  background: rgba(255,255,255,.62);
  border: 3px solid var(--classic-ink);
  box-shadow: 6px 6px 0 rgba(244,214,109,.7);
  display: grid;
  gap: 15px;
  margin-top: 28px;
  max-width: 620px;
  padding: clamp(20px, 4vw, 32px);
}
.tcher-student-login h2 { font-size: clamp(24px, 4vw, 34px); margin: 0; }
.tcher-student-login > p { margin: 0; }
.tcher-student-login > label:not(.tcher-login-remember) { display: flex; flex-direction: column; gap: 6px; }
.tcher-student-login label > span { font-size: 13px; font-weight: 900; }
.tcher-student-login input:not([type="checkbox"]) { background: #fff; border: 0; border-bottom: 2px solid var(--classic-ink); border-radius: 0; color: var(--classic-ink); font-family: inherit; font-size: 16px; min-height: 47px; outline: none; padding: 9px 7px; width: 100%; }
.tcher-student-login input:focus { box-shadow: 0 3px 0 rgba(244,214,109,.7); }
.tcher-login-remember { align-items: center; display: flex; font-size: 13px; font-weight: 900; gap: 8px; }
.tcher-student-login .classic-ink-button { justify-self: start; }
.tcher-student-login > small { color: #5e6266; line-height: 1.6; }
.classic-profile-form { display: grid; gap: 17px 20px; grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 24px; }
.classic-profile-form > label { display: flex; flex-direction: column; gap: 7px; }
.classic-profile-form label > span { font-size: 13px; font-weight: 900; }
.classic-profile-form input:not([type="checkbox"]) { background: rgba(255,255,255,.72); border: 0; border-bottom: 2px solid var(--classic-ink); border-radius: 0; color: var(--classic-ink); font-family: inherit; font-size: 16px; min-height: 45px; outline: none; padding: 9px 5px; width: 100%; }
.classic-profile-form input:focus { box-shadow: 0 3px 0 rgba(244,214,109,.7); }
.classic-consent { align-items: flex-start; border: 1px dashed var(--classic-ink); flex-direction: row !important; grid-column: 1 / -1; padding: 12px; }
.classic-consent input { flex: 0 0 auto; margin-top: 4px; }
.classic-profile-form > button { grid-column: 1 / -1; justify-self: start; }

.classic-alert { border: 2px solid var(--classic-ink); font-weight: 900; margin: 14px 0; padding: 12px 15px; }
.classic-alert.is-error { background: rgba(239,187,177,.35); border-color: var(--classic-red); color: #813e38; }
.classic-locked,
.classic-login-note { margin: 40px auto; max-width: 760px; padding-left: clamp(56px, 7vw, 82px); text-align: center; }
.classic-stamp { border: 3px double var(--classic-red); color: var(--classic-red); display: inline-block; font-family: "Courier New", monospace; font-size: 12px; font-weight: 900; letter-spacing: .15em; padding: 7px 12px; transform: rotate(-4deg); }

@media (max-width: 760px) {
  .eiei-classic { padding: 10px; }
  .classic-paper { box-shadow: 4px 5px 0 rgba(23,33,43,.12); margin-bottom: 24px; padding: 22px 16px 22px 42px; }
  .classic-paper::before { left: 27px; }
  .classic-cover,
  .classic-course-head,
  .classic-index,
  .classic-registration,
  .classic-locked,
  .classic-login-note { padding-left: 42px; }
  .classic-cover::after,
  .classic-course-head::after { font-size: 40px; height: 72px; line-height: 68px; right: 14px; top: 20px; width: 72px; }
  .classic-course-head h1,
  .classic-cover h1 { padding-right: 50px; }
  .classic-index-grid { grid-template-columns: 1fr; }
  .classic-section-heading { align-items: flex-start; margin-left: 0; }
  .classic-section-heading > span { flex-basis: 48px; height: 48px; }
  .classic-lesson-head { align-items: start; gap: 10px; grid-template-columns: 48px minmax(0,1fr); margin-left: 0; }
  .classic-number { font-size: 15px; height: 46px; }
	.classic-result-mark { grid-column: 2; justify-self: start; }
  .classic-status { grid-column: 2; justify-self: start; padding: 6px 10px; }
  .classic-intro { margin-left: 0; }
  .classic-video-row,
  .classic-learning-row { gap: 8px; grid-template-columns: 76px minmax(0,1fr); margin-left: 0; }
  .classic-margin-note { gap: 7px; padding: 10px 7px; }
  .classic-margin-note span { font-size: 10px; }
  .classic-margin-note i { font-size: 9px; }
  .classic-resources { grid-template-columns: 1fr; margin-left: 0; }
  .classic-complete-form { margin-left: 0; }
  .classic-complete-form label { align-items: stretch; flex-direction: column; }
  .classic-complete-form button { width: 100%; }
  .classic-complete-mark { margin-left: 0; }
  .classic-profile-form { grid-template-columns: 1fr; }
}

@media (max-width: 430px) {
	.tcher-account-row { align-items: stretch; flex-direction: column; }
	.tcher-student-logout .classic-outline-button { width: 100%; }
  .classic-paper { padding-right: 12px; }
  .classic-cover h1,
  .classic-course-head h1 { font-size: 31px; padding-right: 20px; }
  .classic-paperclip,
  .classic-cover::after,
  .classic-course-head::after { display: none; }
  .classic-login-actions { align-items: stretch; flex-direction: column; }
  .classic-ink-button,
  .classic-outline-button { text-align: center; width: 100%; }
  .classic-video-row,
  .classic-learning-row { grid-template-columns: 66px minmax(0,1fr); }
  .classic-margin-note strong { font-size: 11px; }
  .classic-resource { grid-template-columns: 45px minmax(0,1fr) 18px; padding: 11px; }
  .classic-resource > span { height: 42px; }
}

/* tcher备战题库 2.10.0：每课终身唯一打卡与红笔手写成绩 */
.tcher-stat-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 26px 0 18px;
}

.tcher-stat-grid > div {
  background: rgba(255,255,255,.7);
  border: 2px solid var(--classic-ink);
  border-radius: 8px 13px 7px 11px;
  padding: 13px;
  text-align: center;
}

.tcher-stat-grid > div:nth-child(even) { transform: rotate(.5deg); }
.tcher-stat-grid > div:nth-child(odd) { transform: rotate(-.5deg); }
.tcher-stat-grid strong,
.tcher-stat-grid span { display: block; }
.tcher-stat-grid strong { color: var(--classic-blue); font-size: clamp(20px, 3vw, 28px); }
.tcher-stat-grid span { font-size: 12px; font-weight: 900; margin-top: 4px; }
.tcher-score-update {
  color: #6b7074;
  font-size: 11px;
  font-weight: 900;
  margin: 10px 0 0 !important;
  text-align: right;
}

.tcher-trophy-panel,
.tcher-certificate-panel {
  align-items: center;
  display: grid;
  gap: 22px;
  grid-template-columns: minmax(220px, .8fr) minmax(0, 1.2fr);
  padding-left: clamp(56px, 7vw, 82px);
}

.tcher-trophy-panel h2,
.tcher-certificate-panel h2 { margin: 0 0 7px; }
.tcher-trophy-panel p,
.tcher-certificate-panel p { margin: 0; }

.tcher-trophy-row {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.tcher-trophy-row > span:not(.is-empty) {
  align-items: center;
  background: rgba(244,214,109,.32);
  border: 2px solid var(--classic-ink);
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  font-size: 22px;
  height: 58px;
  justify-content: center;
  width: 58px;
}

.tcher-trophy-row small { font-size: 9px; font-weight: 900; line-height: 1; }
.tcher-trophy-row .is-empty { color: #72787c; font-style: italic; }

.tcher-certificate-panel { grid-template-columns: minmax(0, 1fr) auto; }
.tcher-certificate-count {
  align-items: center;
  background: rgba(244,214,109,.3);
  border: 2px dashed var(--classic-red);
  border-radius: 50%;
  display: flex;
  height: 92px;
  justify-content: center;
  transform: rotate(3deg);
  width: 92px;
}

.tcher-certificate-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  grid-column: 1 / -1;
}

.tcher-certificate-links a {
  border-bottom: 2px solid var(--classic-blue);
  color: var(--classic-blue) !important;
  font-weight: 900;
  text-decoration: none !important;
}

.tcher-checkin-panel { padding-left: clamp(56px, 7vw, 82px); }
.tcher-checkin-head {
  align-items: center;
  display: grid;
  gap: 22px;
  grid-template-columns: minmax(0, 1fr) auto;
}
.tcher-checkin-head h2 { font-size: clamp(25px, 4vw, 38px); margin: 15px 0 7px; }
.tcher-checkin-head p { margin: 0; }
.tcher-checkin-head > strong {
  align-items: center;
  background: rgba(244,214,109,.3);
  border: 3px dashed var(--classic-red);
  border-radius: 50%;
  display: flex;
  font-size: 23px;
  height: 104px;
  justify-content: center;
  transform: rotate(2deg);
  width: 104px;
}
.tcher-checkin-head > strong.has-large-total { font-size: 14px; white-space: nowrap; }

.tcher-award-score {
  align-items: stretch;
  background: rgba(255,255,255,.65);
  border: 2px dashed var(--classic-ink);
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 170px)) minmax(0, 1fr);
  margin-top: 24px;
  padding: 14px;
}
.tcher-award-score > div {
  background: rgba(244,214,109,.28);
  border: 2px solid var(--classic-ink);
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 10px 14px;
  text-align: center;
}
.tcher-award-score span { font-size: 11px; font-weight: 900; }
.tcher-award-score strong { color: var(--classic-blue); font-size: 24px; }
.tcher-award-score p { align-self: center; font-size: 12px; font-weight: 700; }

.tcher-checkin-grid {
  display: grid;
  gap: 6px;
  grid-template-columns: repeat(10, minmax(24px, 32px));
  justify-content: center;
  margin: 18px 0 16px;
}
.tcher-checkin-cell {
  align-items: center;
  aspect-ratio: 1;
  background: rgba(255,255,255,.62);
  border: 1px dashed rgba(23,33,43,.38);
  border-radius: 6px;
  color: #9a9da0;
  display: flex;
  font-family: "Courier New", monospace;
  font-size: 9px;
  justify-content: center;
  min-width: 0;
}
.tcher-checkin-cell:nth-child(3n+1) { transform: rotate(-.7deg); }
.tcher-checkin-cell:nth-child(3n+2) { transform: rotate(.7deg); }
.tcher-checkin-cell.is-filled {
  background: rgba(244,214,109,.4);
  border-color: var(--classic-green);
  border-style: solid;
  box-shadow: inset 0 0 0 2px rgba(53,114,90,.1);
  color: var(--classic-green);
  font-size: 14px;
}

.tcher-redeem-progress {
  background: rgba(255,255,255,.68);
  border: 3px solid var(--classic-ink);
  border-radius: 8px 15px 7px 12px;
  margin: 24px 0 18px;
  padding: 18px;
}
.tcher-redeem-progress.is-ready {
  background: rgba(131,192,157,.2);
  border-color: var(--classic-green);
  box-shadow: inset 0 0 0 4px rgba(53,114,90,.08);
}
.tcher-redeem-progress-head {
  align-items: center;
  display: flex;
  justify-content: space-between;
}
.tcher-redeem-progress-head h3 { font-size: 21px; margin: 0; }
.tcher-redeem-progress-head strong { color: var(--classic-blue); font-size: 28px; }
.tcher-combined-track {
  background: rgba(23,33,43,.12);
  border: 2px solid var(--classic-ink);
  height: 24px;
  margin: 12px 0 9px;
  overflow: hidden;
  position: relative;
}
.tcher-combined-track i {
  background: repeating-linear-gradient(-45deg, var(--classic-yellow) 0 12px, #efc84a 12px 24px);
  display: block;
  height: 100%;
  transition: width .35s ease;
}
.tcher-redeem-progress.is-ready .tcher-combined-track i { background: var(--classic-green); }
.tcher-redeem-progress p { color: #636b70; font-size: 12px; font-weight: 900; margin: 0; text-align: right; }

.tcher-redeem-action { align-items: center; display: flex; flex-wrap: wrap; gap: 13px; }
.tcher-disabled-button {
  background: #e1e1df;
  border: 2px solid #a3a5a5;
  color: #7a7d7e;
  cursor: not-allowed;
  font-family: inherit;
  font-size: 15px;
  font-weight: 900;
  min-height: 48px;
  padding: 10px 18px;
}
.tcher-redeem-action > span { color: var(--classic-red); font-size: 13px; font-weight: 900; }

.tcher-redeem-form {
  background: rgba(255,255,255,.72);
  border: 2px dashed var(--classic-ink);
  margin-top: 24px;
  padding: 20px;
}
.tcher-redeem-form h3 { font-size: 23px; margin: 0 0 5px; }
.tcher-redeem-form > p { margin: 0 0 18px; }
.tcher-redeem-fields {
  display: grid;
  gap: 15px 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 18px;
}
.tcher-redeem-fields label { display: flex; flex-direction: column; gap: 6px; }
.tcher-redeem-fields label > span { font-size: 12px; font-weight: 900; }
.tcher-redeem-fields input {
  background: rgba(255,255,255,.78);
  border: 0;
  border-bottom: 2px solid var(--classic-ink);
  border-radius: 0;
  color: var(--classic-ink);
  font-family: inherit;
  font-size: 15px;
  min-height: 44px;
  padding: 8px 5px;
}
.tcher-success-alert { background: rgba(131,192,157,.25); border-color: var(--classic-green); color: var(--classic-green); }
.tcher-checkin-panel .tcher-certificate-links { border-top: 2px dashed rgba(23,33,43,.35); margin-top: 23px; padding-top: 16px; }
.tcher-certificate-school { color: var(--classic-blue); font-weight: 900; margin-top: -12px; }

.tcher-level { margin: 28px 0 38px 28px; }
.tcher-level:last-child { margin-bottom: 0; }
.tcher-level > header {
  align-items: center;
  border-bottom: 2px dashed rgba(23,33,43,.35);
  display: flex;
  gap: 10px;
  margin-bottom: 15px;
  padding-bottom: 10px;
}
.tcher-level > header b { font-size: 25px; }
.tcher-level > header h3 { font-size: 24px; margin: 0; }
.tcher-level > header span { color: #6a7074; font-size: 12px; font-weight: 900; margin-left: auto; }

.tcher-category-list { display: grid; gap: 24px; }
.tcher-course-category { margin: 0; }
.tcher-category-heading {
  align-items: center;
  border-bottom: 1px dashed rgba(23,33,43,.35);
  display: flex;
  gap: 10px;
  margin: 0 0 11px;
  padding: 0 3px 7px;
}
.tcher-category-heading h4 {
  background: linear-gradient(transparent 56%, rgba(244,214,109,.55) 56%);
  color: var(--classic-blue);
  font-size: 18px;
  margin: 0;
  padding: 0 4px;
}
.tcher-category-heading span { color: #777; font-family: "Courier New", monospace; font-size: 11px; font-weight: 900; margin-left: auto; }

.tcher-course-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tcher-course-card {
  align-items: center;
  background: rgba(255,255,255,.7);
  border: 2px solid var(--classic-ink);
  border-radius: 7px 12px 6px 10px;
  display: grid;
  gap: 12px;
  grid-template-columns: 43px minmax(0, 1fr) auto;
  min-height: 82px;
  padding: 12px;
}

.tcher-course-card:nth-child(4n+2) { transform: rotate(.25deg); }
.tcher-course-card:nth-child(4n+3) { transform: rotate(-.25deg); }
.tcher-course-card.is-locked { background: rgba(220,220,220,.32); border-color: #9da1a4; color: #777; }
.tcher-course-card.is-passed { border-color: var(--classic-green); box-shadow: inset 5px 0 0 rgba(53,114,90,.2); }
.tcher-card-order {
  align-items: center;
  border: 2px solid currentColor;
  border-radius: 50%;
  display: flex;
  font-family: "Courier New", monospace;
  font-size: 13px;
  font-weight: 900;
  height: 40px;
  justify-content: center;
  width: 40px;
}
.tcher-course-card h4 { font-size: 16px; margin: 0 0 5px; }
.tcher-course-card div > span { color: #677078; font-size: 11px; font-weight: 900; }
.tcher-card-result { align-items: center; display: flex; gap: 9px; }
.tcher-card-result .tcher-red-score { flex: 0 0 auto; font-size: 21px; padding: 3px 7px 2px; }
.tcher-course-card > a {
  background: var(--classic-ink);
  border: 2px solid var(--classic-ink);
  color: #fff !important;
  font-size: 12px;
  font-weight: 900;
  padding: 7px 10px;
  text-decoration: none !important;
}
.tcher-course-card > a:hover { background: var(--classic-blue); }
.tcher-empty-level { color: #777; font-style: italic; grid-column: 1 / -1; }

.tcher-score-note {
  background: rgba(131,192,157,.2);
  border: 2px solid var(--classic-green);
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 24px 0 0 28px;
  padding: 13px 16px;
}
.tcher-score-note.is-pending { background: rgba(244,214,109,.2); border-color: var(--classic-ink); }
.tcher-score-note span { font-size: 11px; }

.tcher-lesson-checkin {
  align-items: center;
  background: rgba(244,214,109,.18);
  border: 3px dashed var(--classic-red);
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 24px 0 0 28px;
  padding: 16px;
}
.tcher-lesson-checkin form { margin: 0; }
.tcher-lesson-checkin button {
  background: var(--classic-red);
  border: 3px solid var(--classic-ink);
  box-shadow: 4px 4px 0 var(--classic-ink);
  color: #fff;
  cursor: pointer;
  font-family: inherit;
  font-size: 17px;
  font-weight: 900;
  min-height: 52px;
  padding: 11px 20px;
}
.tcher-lesson-checkin button:hover { transform: translate(2px,2px); box-shadow: 2px 2px 0 var(--classic-ink); }
.tcher-lesson-checkin > span { font-size: 12px; font-weight: 900; }
.tcher-lesson-checkin.is-checked { background: rgba(131,192,157,.22); border-color: var(--classic-green); }
.tcher-lesson-checkin.is-checked button { background: var(--classic-green); box-shadow: 4px 4px 0 var(--classic-ink); cursor: pointer; opacity: 1; }
.tcher-lesson-checkin.is-checked button:hover { box-shadow: 2px 2px 0 var(--classic-ink); transform: translate(2px,2px); }
.tcher-lesson-checkin.is-preview button,
.tcher-lesson-checkin.is-preview button:hover { background: #777; box-shadow: none; cursor: default; opacity: .8; transform: none; }

.tcher-leaderboard {
  background: var(--classic-paper);
  border: 3px solid var(--classic-ink);
  border-radius: 8px 17px 9px 14px;
  box-shadow: 7px 8px 0 rgba(23,33,43,.13);
  margin: 40px auto;
  padding: clamp(22px, 4vw, 38px);
}
.tcher-leaderboard-head { align-items: center; display: flex; gap: 15px; }
.tcher-leaderboard-head > span { font-size: 46px; }
.tcher-leaderboard-head p { color: var(--classic-red); font-family: "Courier New", monospace; font-size: 11px; font-weight: 900; letter-spacing: .13em; margin: 0; }
.tcher-leaderboard-head h2 { margin: 2px 0 0; }
.tcher-leaderboard ol { display: grid; gap: 10px; list-style: none; margin: 24px 0 12px; padding: 0; }
.tcher-leaderboard li {
  align-items: center;
  background: rgba(255,255,255,.72);
  border: 2px solid var(--classic-ink);
  display: grid;
  gap: 12px;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  min-height: 58px;
  padding: 9px 14px;
}
.tcher-leaderboard li:nth-child(2) { margin-left: 14px; margin-right: 14px; }
.tcher-leaderboard li b { font-size: 26px; }
.tcher-leaderboard li span { color: var(--classic-blue); font-size: 13px; font-weight: 900; }
.tcher-leaderboard li.is-empty { color: #777; display: block; text-align: center; }
.tcher-leaderboard > small { color: #777; }

/* tcher备战题库 2.11.0：班主任只读进度中心 */
.tcher-teacher-portal { margin: 0 auto; max-width: 1180px; }
.tcher-teacher-heading { align-items: center; display: flex; gap: 24px; justify-content: space-between; }
.tcher-teacher-heading h1 { margin: 5px 0 10px; }
.tcher-teacher-empty { text-align: center; }
.tcher-teacher-student > header { align-items: flex-start; border-bottom: 2px dashed rgba(23,33,43,.4); display: flex; justify-content: space-between; padding-bottom: 14px; }
.tcher-teacher-student > header h2 { margin: 10px 0 4px; }
.tcher-teacher-student > header p { margin: 0; }
.tcher-readonly-badge { border: 2px solid var(--classic-blue); color: var(--classic-blue); font-family: "Courier New", monospace; font-size: 11px; font-weight: 900; padding: 5px 9px; transform: rotate(3deg); }
.tcher-teacher-summary { display: grid; gap: 10px; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 20px 0; }
.tcher-teacher-summary > div { background: rgba(202,222,235,.28); border: 2px solid var(--classic-ink); padding: 13px; text-align: center; }
.tcher-teacher-summary strong { display: block; font-size: 22px; }
.tcher-teacher-summary span { color: #606a72; font-size: 11px; font-weight: 900; }
.tcher-teacher-course-table { overflow-x: auto; }
.tcher-teacher-course-table table { border-collapse: collapse; min-width: 760px; width: 100%; }
.tcher-teacher-course-table th,
.tcher-teacher-course-table td { border-bottom: 1px dashed rgba(23,33,43,.32); padding: 11px 9px; text-align: left; vertical-align: middle; }
.tcher-teacher-course-table th { color: var(--classic-blue); font-family: "Courier New", monospace; font-size: 11px; letter-spacing: .04em; }
.tcher-teacher-course-table td > small { color: var(--classic-red); display: block; font-size: 10px; margin-top: 3px; }
.tcher-teacher-course-table .tcher-red-score { font-size: 18px; padding: 3px 7px; }

.tcher-certificate { margin: 30px auto; max-width: 980px; text-align: center; }
.tcher-certificate-inner {
  background: var(--classic-paper);
  border: 12px double var(--classic-ink);
  box-shadow: inset 0 0 0 4px var(--classic-yellow), 8px 9px 0 rgba(23,33,43,.13);
  padding: clamp(35px, 7vw, 80px);
}
.tcher-certificate-inner > span { color: var(--classic-red); font-family: "Courier New", monospace; font-weight: 900; letter-spacing: .17em; }
.tcher-certificate-inner h1 { font-size: clamp(38px, 7vw, 72px); margin: 20px 0; }
.tcher-certificate-inner h2 { border-bottom: 3px solid var(--classic-ink); display: inline-block; font-size: clamp(30px, 5vw, 52px); margin: 10px 0 22px; min-width: 55%; padding: 0 25px 8px; }
.tcher-certificate-inner > strong { color: var(--classic-blue); display: block; font-size: clamp(23px, 4vw, 38px); }
.tcher-certificate-score { color: var(--classic-red); font-size: 20px; font-weight: 900; margin-top: 18px; }
.tcher-certificate-meta { display: flex; font-size: 11px; font-weight: 900; justify-content: space-between; margin-top: 55px; }
.tcher-certificate-actions { display: flex; gap: 12px; justify-content: center; margin-top: 25px; }

@media (max-width: 760px) {
  .tcher-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tcher-trophy-panel,
  .tcher-certificate-panel { grid-template-columns: 1fr; padding-left: 42px; }
  .tcher-trophy-row { justify-content: flex-start; }
  .tcher-course-grid { grid-template-columns: 1fr; }
  .tcher-level { margin-left: 0; }
  .tcher-score-note { margin-left: 0; }
	.tcher-lesson-checkin { margin-left: 0; }
  .tcher-certificate-links { grid-column: auto; }
  .tcher-certificate-meta { flex-direction: column; gap: 8px; }
  .tcher-checkin-panel { padding-left: 42px; }
	.tcher-award-score { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tcher-award-score p { grid-column: 1 / -1; }
  .tcher-checkin-grid { grid-template-columns: repeat(10, minmax(24px, 30px)); }
	.tcher-teacher-heading { align-items: flex-start; flex-direction: column; }
	.tcher-teacher-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 430px) {
  .tcher-course-card { gap: 8px; grid-template-columns: 38px minmax(0, 1fr) auto; padding: 9px; }
  .tcher-card-order { height: 35px; width: 35px; }
  .tcher-course-card h4 { font-size: 14px; }
  .tcher-leaderboard li { grid-template-columns: 36px minmax(0, 1fr); }
  .tcher-leaderboard li span { grid-column: 2; }
  .tcher-certificate-actions { align-items: stretch; flex-direction: column; }
  .tcher-checkin-head { grid-template-columns: 1fr; }
  .tcher-checkin-head > strong { height: 82px; width: 82px; }
	.tcher-award-score { grid-template-columns: 1fr; }
	.tcher-award-score p { grid-column: auto; }
  .tcher-checkin-grid { gap: 4px; grid-template-columns: repeat(10, minmax(0, 1fr)); }
  .tcher-redeem-fields { grid-template-columns: 1fr; }
  .tcher-redeem-action .classic-ink-button,
  .tcher-disabled-button { text-align: center; width: 100%; }
	.tcher-lesson-checkin { align-items: stretch; flex-direction: column; }
	.tcher-lesson-checkin button { width: 100%; }
	.tcher-teacher-summary { grid-template-columns: 1fr; }
}

/* tcher备战题库 2.15.0：简约现代学习笔记设计与三端字号系统 */
.eiei-classic {
  --classic-ui-font: "PingFang SC", "Microsoft YaHei", "Noto Sans SC", Arial, sans-serif;
  --classic-note-font: KaiTi, STKaiti, "DFKai-SB", "Noto Serif SC", Georgia, serif;
  --classic-soft-border: rgba(23,33,43,.14);
  --classic-soft-shadow: 0 12px 34px rgba(23,33,43,.08);
  --classic-surface: rgba(255,255,255,.78);
  font-family: var(--classic-ui-font);
  font-size: 16px;
  line-height: 1.72;
  max-width: 1240px;
  padding: clamp(16px, 2.6vw, 32px);
}
.eiei-classic.classic-font-handwritten { --classic-note-font: KaiTi, STKaiti, "DFKai-SB", "Noto Serif SC", Georgia, serif; font-family: var(--classic-ui-font); }
.eiei-classic.classic-font-serif { --classic-note-font: "Noto Serif SC", "Songti SC", SimSun, Georgia, serif; font-family: var(--classic-ui-font); }
.eiei-classic.classic-font-clear { --classic-note-font: "PingFang SC", "Microsoft YaHei", "Noto Sans SC", Arial, sans-serif; font-family: var(--classic-ui-font); }
.eiei-classic h1,
.eiei-classic h2,
.eiei-classic h3,
.eiei-classic h4,
.classic-subtitle,
.classic-status,
.tcher-category-heading h4 { font-family: var(--classic-note-font); }
.eiei-classic h1 { font-size: clamp(34px, 4.4vw, 50px); letter-spacing: -.02em; line-height: 1.18; }
.eiei-classic h2 { font-size: clamp(24px, 3vw, 32px); letter-spacing: -.015em; line-height: 1.25; }
.eiei-classic h3 { font-size: clamp(20px, 2.2vw, 25px); line-height: 1.3; }
.eiei-classic h4 { line-height: 1.38; }
.eiei-classic p { font-size: 16px; line-height: 1.78; }
.eiei-classic small { line-height: 1.55; }

.classic-paper,
.eiei-classic.classic-outline-clean .classic-paper {
  background-color: #fffefa;
  background-color: color-mix(in srgb, var(--classic-paper) 52%, #fff 48%);
  background-image: repeating-linear-gradient(to bottom, transparent 0, transparent 37px, rgba(62,104,137,.042) 38px, transparent 39px);
  border: 1px solid var(--classic-soft-border);
  border-radius: 20px;
  box-shadow: var(--classic-soft-shadow);
  margin-bottom: 24px;
  padding: clamp(26px, 4vw, 42px);
}
.classic-paper::before { border-left-color: rgba(181,84,76,.105); border-left-width: 1px; left: 32px; }
.classic-cover,
.classic-course-head,
.classic-index,
.classic-registration,
.classic-locked,
.classic-login-note,
.tcher-checkin-panel { padding-left: clamp(52px, 6vw, 72px); }
.classic-cover::after,
.classic-course-head::after { border-width: 1px; font-size: 50px; height: 88px; line-height: 84px; opacity: .055; width: 88px; }
.classic-paperclip { font-size: 54px; opacity: .52; right: 30px; top: -15px; }
.classic-overline,
.classic-cover-label { font-size: 11px; letter-spacing: .16em; }
.classic-subtitle { font-size: clamp(18px, 2.1vw, 22px) !important; line-height: 1.55; }
.classic-account-row,
.tcher-account-row { border-bottom-color: var(--classic-soft-border); }

.classic-ink-button,
.classic-outline-button,
.eiei-classic.classic-outline-clean .classic-ink-button,
.eiei-classic.classic-outline-clean .classic-outline-button,
.tcher-disabled-button {
  border-radius: 12px;
  box-shadow: none;
  font-family: var(--classic-ui-font);
  font-size: 15px;
  min-height: 46px;
  padding: 11px 18px;
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.classic-ink-button { border-color: var(--classic-ink); }
.classic-outline-button { background: rgba(255,255,255,.62); border-color: rgba(23,33,43,.38); }
.classic-ink-button:hover,
.classic-outline-button:hover { box-shadow: 0 7px 18px rgba(23,33,43,.12); transform: translateY(-2px); }
.classic-ink-button:focus-visible,
.classic-outline-button:focus-visible,
.tcher-course-card > a:focus-visible,
.tcher-lesson-checkin button:focus-visible { outline: 3px solid rgba(53,101,138,.35); outline-offset: 3px; }

.tcher-stat-grid { gap: 10px; margin: 22px 0 16px; }
.tcher-stat-grid > div {
  background: var(--classic-surface);
  border: 1px solid var(--classic-soft-border);
  border-radius: 15px;
  min-height: 92px;
  padding: 14px 10px;
  transform: none !important;
}
.tcher-stat-grid strong { font-family: var(--classic-ui-font); font-size: clamp(22px, 2.7vw, 29px); line-height: 1.2; }
.tcher-stat-grid span { color: #5d6871; font-family: var(--classic-ui-font); font-size: 12px; font-weight: 700; }
.classic-progress,
.eiei-classic.classic-outline-clean .classic-progress { background: rgba(23,33,43,.08); border: 0; border-radius: 999px; height: 12px; padding: 2px; transform: none; }
.classic-progress span { background: linear-gradient(90deg, var(--classic-yellow), #efc84a); }
.tcher-score-update { font-family: var(--classic-ui-font); font-size: 12px; font-weight: 500; }

.tcher-checkin-head { gap: 18px; }
.tcher-checkin-head h2 { font-size: clamp(25px, 3vw, 32px); margin: 11px 0 7px; }
.tcher-checkin-head > strong {
  background: rgba(244,214,109,.24);
  border: 2px solid rgba(181,84,76,.6);
  border-radius: 50%;
  font-family: var(--classic-ui-font);
  font-size: 21px;
  height: 88px;
  transform: none;
  width: 88px;
}
.classic-stamp { border-width: 2px; font-size: 11px; transform: rotate(-2deg); }
.tcher-checkin-grid { gap: 5px; margin: 16px 0 14px; }
.tcher-checkin-cell {
  background: rgba(255,255,255,.7);
  border: 1px solid rgba(23,33,43,.24);
  border-radius: 6px;
  font-size: 9px;
  transform: none !important;
}
.tcher-checkin-cell.is-filled { background: rgba(244,214,109,.3); border: 1px solid rgba(53,114,90,.55); box-shadow: inset 0 0 0 2px rgba(53,114,90,.07); }
.tcher-redeem-progress {
  background: var(--classic-surface);
  border: 1px solid var(--classic-soft-border);
  border-radius: 16px;
  padding: 18px;
}
.tcher-redeem-progress.is-ready { border-width: 1px; box-shadow: inset 0 0 0 3px rgba(53,114,90,.06); }
.tcher-redeem-progress-head h3 { font-size: 21px; }
.tcher-redeem-progress-head strong { font-family: var(--classic-ui-font); font-size: 25px; }
.tcher-combined-track { background: rgba(23,33,43,.09); border: 0; border-radius: 999px; height: 16px; }
.tcher-combined-track i { background: linear-gradient(90deg, var(--classic-yellow), #efc84a); border-radius: 999px; }
.tcher-redeem-progress p { font-size: 12px; font-weight: 600; }

.classic-section-heading { gap: 14px; margin: 0 0 22px; }
.classic-section-heading > span { border-radius: 14px; flex-basis: 50px; font-family: var(--classic-note-font); height: 50px; transform: rotate(-2deg); }
.classic-section-heading p { font-size: 15px; }
.tcher-level { margin: 25px 0 36px; }
.tcher-level > header { border-bottom: 1px solid var(--classic-soft-border); margin-bottom: 18px; padding: 0 2px 11px; }
.tcher-level > header b { font-size: 22px; }
.tcher-level > header h3 { font-size: 25px; }
.tcher-level > header span { font-family: var(--classic-ui-font); font-size: 12px; font-weight: 600; }
.tcher-category-list { gap: 27px; }
.tcher-category-heading { border-bottom: 1px dashed rgba(53,101,138,.25); margin-bottom: 12px; padding: 0 2px 8px; }
.tcher-category-heading h4 { background: linear-gradient(transparent 62%, rgba(244,214,109,.46) 62%); font-size: 19px; }
.tcher-category-heading span { font-family: var(--classic-ui-font); font-size: 12px; font-weight: 600; }
.tcher-continue-learning {
  align-items: center;
  background: rgba(53,101,138,.08);
  border: 1px solid rgba(53,101,138,.25);
  border-radius: 14px;
  color: var(--classic-ink) !important;
  display: grid;
  gap: 4px 14px;
  grid-template-columns: minmax(0,1fr) auto;
  margin: 0 0 24px;
  padding: 14px 16px;
  text-decoration: none !important;
  transition: background-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.tcher-continue-learning:hover { background: rgba(53,101,138,.13); box-shadow: 0 8px 18px rgba(23,33,43,.08); transform: translateY(-1px); }
.tcher-continue-learning span { color: var(--classic-blue); font-size: 12px; font-weight: 800; letter-spacing: .04em; }
.tcher-continue-learning strong { font-size: 16px; line-height: 1.45; }
.tcher-continue-learning b { align-self: center; background: var(--classic-ink); border-radius: 9px; color: #fff; grid-column: 2; grid-row: 1 / 3; padding: 9px 13px; }
.tcher-term-grid { display: grid; gap: 12px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.tcher-term-card {
  background: rgba(255,255,255,.68);
  border: 1px solid var(--classic-soft-border);
  border-radius: 15px;
  color: var(--classic-ink) !important;
  display: grid;
  gap: 9px 14px;
  grid-template-columns: minmax(0,1fr) auto;
  min-height: 124px;
  padding: 17px 18px;
  text-decoration: none !important;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.tcher-term-card:hover { border-color: rgba(53,101,138,.42); box-shadow: 0 9px 20px rgba(23,33,43,.08); transform: translateY(-2px); }
.tcher-term-card.is-current { background: rgba(244,214,109,.14); border-color: rgba(53,101,138,.52); box-shadow: inset 5px 0 0 rgba(53,101,138,.2); }
.tcher-term-card > span { font-family: var(--classic-note-font); font-size: 23px; font-weight: 900; }
.tcher-term-card > span small { color: var(--classic-blue); display: block; font-family: var(--classic-ui-font); font-size: 10px; letter-spacing: .1em; margin-bottom: 3px; }
.tcher-term-card > strong { align-self: center; color: var(--classic-blue); font-family: var(--classic-ui-font); font-size: 16px; }
.tcher-term-card > i { background: rgba(23,33,43,.08); border-radius: 999px; grid-column: 1 / -1; height: 9px; overflow: hidden; }
.tcher-term-card > i b { background: linear-gradient(90deg, var(--classic-yellow), var(--classic-green)); border-radius: inherit; display: block; height: 100%; }
.tcher-term-card > em { color: #667078; font-size: 12px; font-style: normal; grid-column: 1 / -1; }
.tcher-term-units { background: rgba(202,222,235,.12); border: 1px dashed rgba(53,101,138,.34); border-radius: 15px; margin-top: 14px; padding: 15px; scroll-margin-top: 20px; }
.tcher-term-units-head { align-items: baseline; display: flex; gap: 10px; justify-content: space-between; margin: 0 2px 12px; }
.tcher-term-units-head strong { font-family: var(--classic-note-font); font-size: 18px; }
.tcher-term-units-head span { color: #667078; font-size: 11px; }
.tcher-unit-grid { display: grid; gap: 10px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.tcher-unit-card {
  background: rgba(255,255,255,.64);
  border: 1px solid var(--classic-soft-border);
  border-radius: 13px;
  color: var(--classic-ink) !important;
  display: grid;
  gap: 7px 10px;
  grid-template-columns: minmax(0,1fr) auto;
  min-height: 106px;
  padding: 13px 14px;
  text-decoration: none !important;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.tcher-unit-card:hover { border-color: rgba(53,101,138,.4); box-shadow: 0 8px 18px rgba(23,33,43,.07); transform: translateY(-2px); }
.tcher-unit-card.is-current { background: rgba(244,214,109,.16); border-color: rgba(53,101,138,.5); box-shadow: inset 4px 0 0 rgba(53,101,138,.2); }
.tcher-unit-card > span { font-family: var(--classic-note-font); font-size: 18px; font-weight: 900; }
.tcher-unit-card > strong { color: var(--classic-blue); font-family: var(--classic-ui-font); font-size: 14px; }
.tcher-unit-card > i { background: rgba(23,33,43,.08); border-radius: 999px; grid-column: 1 / -1; height: 8px; overflow: hidden; }
.tcher-unit-card > i b { background: linear-gradient(90deg, var(--classic-yellow), var(--classic-green)); border-radius: inherit; display: block; height: 100%; }
.tcher-unit-card > small { color: #667078; font-size: 12px; grid-column: 1 / -1; }
.tcher-unit-panel { scroll-margin-top: 20px; }
.tcher-unit-panel-head { align-items: center; border-bottom: 1px solid var(--classic-soft-border); display: grid; gap: 18px; grid-template-columns: minmax(0,1fr) auto; margin-bottom: 18px; padding-bottom: 16px; }
.tcher-unit-panel-head span { color: var(--classic-blue); font-size: 12px; font-weight: 800; }
.tcher-unit-panel-head h2 { margin: 2px 0 4px; }
.tcher-unit-panel-head p { color: #5f6971; font-size: 14px; margin: 0; }
.tcher-unit-panel-head > strong { align-items: center; background: rgba(244,214,109,.18); border: 1px solid rgba(181,84,76,.28); border-radius: 50%; display: flex; font-family: var(--classic-ui-font); font-size: 20px; height: 78px; justify-content: center; width: 78px; }
.tcher-course-filters { display: flex; gap: 8px; margin: 0 0 16px; overflow-x: auto; padding: 1px 1px 5px; scrollbar-width: thin; }
.tcher-course-filters a { background: rgba(255,255,255,.7); border: 1px solid var(--classic-soft-border); border-radius: 999px; color: var(--classic-ink) !important; flex: 0 0 auto; font-size: 13px; font-weight: 800; padding: 8px 13px; text-decoration: none !important; }
.tcher-course-filters a.is-active { background: var(--classic-ink); border-color: var(--classic-ink); color: #fff !important; }
.tcher-unit-page-meta { align-items: center; color: #657078; display: flex; font-size: 12px; justify-content: space-between; margin-bottom: 11px; }
.tcher-unit-page-meta b { color: var(--classic-blue); }
.tcher-paged-course-grid { margin-bottom: 20px; }
.tcher-pagination { align-items: center; border-top: 1px solid var(--classic-soft-border); display: flex; flex-wrap: wrap; gap: 7px; justify-content: center; padding-top: 18px; }
.tcher-pagination a { align-items: center; background: rgba(255,255,255,.74); border: 1px solid var(--classic-soft-border); border-radius: 9px; color: var(--classic-ink) !important; display: inline-flex; font-size: 13px; font-weight: 800; justify-content: center; min-height: 39px; min-width: 39px; padding: 8px 11px; text-decoration: none !important; }
.tcher-pagination a:hover { border-color: rgba(53,101,138,.45); }
.tcher-pagination a.is-current { background: var(--classic-blue); border-color: var(--classic-blue); color: #fff !important; }
.tcher-course-grid { gap: 12px; }
.tcher-course-card {
  background: var(--classic-surface);
  border: 1px solid var(--classic-soft-border);
  border-radius: 14px;
  gap: 12px;
  min-height: 88px;
  padding: 14px;
  transform: none !important;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.tcher-course-card:hover { border-color: rgba(53,101,138,.42); box-shadow: 0 9px 22px rgba(23,33,43,.08); transform: translateY(-2px) !important; }
.tcher-course-card.is-passed { border-color: rgba(53,114,90,.45); box-shadow: inset 4px 0 0 rgba(53,114,90,.13); }
.tcher-card-order { border: 1px solid rgba(53,101,138,.52); color: var(--classic-blue); font-family: var(--classic-ui-font); height: 40px; width: 40px; }
.tcher-course-code {
  color: var(--classic-blue);
  display: block;
  font-family: var(--classic-ui-font);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .055em;
  line-height: 1.35;
  margin: 0 0 4px;
}
.tcher-course-code.is-detail { background: rgba(53,101,138,.08); border-radius: 999px; display: inline-block; margin: 5px 0 2px; padding: 4px 8px; }
.tcher-course-card h4 { font-family: var(--classic-ui-font); font-size: 16px; line-height: 1.45; margin: 0 0 7px; }
.tcher-card-result { align-items: center; flex-wrap: wrap; gap: 7px; }
.tcher-course-card div > span { font-size: 12px; font-weight: 600; }
.tcher-card-result .tcher-red-score { font-size: 19px; }
.tcher-course-card > a {
  border: 0;
  border-radius: 9px;
  font-family: var(--classic-ui-font);
  font-size: 13px;
  min-height: 38px;
  padding: 9px 12px;
  text-align: center;
}

.classic-lesson { transform: none !important; }
.classic-lesson.is-complete { border-color: rgba(53,114,90,.42); box-shadow: 0 12px 34px rgba(53,114,90,.09); }
.classic-lesson-head { gap: 14px; grid-template-columns: 58px minmax(0,1fr) auto; margin-left: 0; }
.classic-number,
.eiei-classic.classic-outline-clean .classic-number { border: 2px solid rgba(53,101,138,.5); border-radius: 14px; color: var(--classic-blue); font-family: var(--classic-ui-font); font-size: 18px; height: 54px; transform: rotate(-2deg); }
.classic-lesson-head span { font-size: 10px; letter-spacing: .12em; }
.classic-lesson-head h2 { font-size: clamp(22px, 2.6vw, 30px); }
.classic-status,
.eiei-classic.classic-outline-clean .classic-status { background: rgba(244,214,109,.25); border: 1px solid rgba(23,33,43,.24); border-radius: 999px; font-family: var(--classic-ui-font); font-size: 13px; padding: 8px 12px; transform: none; }
.classic-status.is-done { border-color: rgba(53,114,90,.35); }
.tcher-red-score { border-width: 1.5px; font-size: 25px; padding: 5px 9px; transform: rotate(-3deg); }
.classic-intro { border-left-width: 3px; margin: 24px 0 22px; padding-left: 16px; }
.classic-video-row,
.classic-learning-row { gap: 18px; grid-template-columns: 132px minmax(0,1fr); margin: 22px 0; }
.classic-margin-note { background: rgba(244,214,109,.14); border: 1px dashed rgba(23,33,43,.42); border-radius: 12px; gap: 11px; padding: 16px 13px; transform: rotate(-.5deg); }
.classic-margin-note strong { font-family: var(--classic-note-font); font-size: 16px; }
.classic-margin-note span { font-size: 13px; font-weight: 700; }
.classic-margin-note i { font-size: 12px; }
.classic-video { border: 1px solid rgba(23,33,43,.42); border-radius: 14px; transform: none; }
.classic-resources { gap: 12px; margin: 0 0 20px; }
.classic-resource,
.eiei-classic.classic-outline-clean .classic-resource {
  background: var(--classic-surface);
  border: 1px solid var(--classic-soft-border);
  border-radius: 13px !important;
  min-height: 82px;
  padding: 13px 14px;
  transform: none !important;
}
.classic-resource:hover { box-shadow: 0 8px 20px rgba(23,33,43,.09); transform: translateY(-2px) !important; }
.classic-resource > span { border-width: 1px; height: 46px; }
.classic-resource strong { font-family: var(--classic-ui-font); font-size: 16px; }
.classic-resource small { font-size: 12px; }
.tcher-score-note { background: rgba(53,114,90,.08); border: 1px solid rgba(53,114,90,.32); border-radius: 12px; margin: 20px 0 0; }
.tcher-score-note.is-pending { background: rgba(244,214,109,.13); border-color: rgba(23,33,43,.2); }
.tcher-score-note span { font-size: 12px; }
.tcher-lesson-checkin { background: rgba(244,214,109,.12); border: 1px dashed rgba(181,84,76,.48); border-radius: 14px; margin: 20px 0 0; padding: 15px; }
.tcher-lesson-checkin button { border: 0; border-radius: 11px; box-shadow: none; font-family: var(--classic-ui-font); font-size: 16px; min-height: 48px; }
.tcher-lesson-checkin button:hover,
.tcher-lesson-checkin.is-checked button:hover { box-shadow: 0 7px 16px rgba(23,33,43,.13); transform: translateY(-1px); }

.tcher-student-login { background: var(--classic-surface); border: 1px solid var(--classic-soft-border); border-radius: 16px; box-shadow: 0 10px 26px rgba(23,33,43,.08); }
.tcher-student-login h2 { font-size: clamp(24px, 3vw, 31px); }
.tcher-student-login input:not([type="checkbox"]),
.classic-profile-form input:not([type="checkbox"]),
.tcher-redeem-fields input { border-bottom-color: rgba(23,33,43,.42); font-family: var(--classic-ui-font); font-size: 16px; }
.classic-alert { border-width: 1px; border-radius: 12px; }
.tcher-redeem-form { background: var(--classic-surface); border: 1px solid var(--classic-soft-border); border-radius: 15px; }

.tcher-leaderboard { border: 1px solid var(--classic-soft-border); border-radius: 20px; box-shadow: var(--classic-soft-shadow); }
.tcher-leaderboard-head > span { font-size: 40px; }
.tcher-leaderboard li { background: var(--classic-surface); border: 1px solid var(--classic-soft-border); border-radius: 13px; }
.tcher-leaderboard li:nth-child(2) { margin-left: 0; margin-right: 0; }
.tcher-teacher-summary > div { background: rgba(202,222,235,.22); border: 1px solid var(--classic-soft-border); border-radius: 13px; }
.tcher-teacher-course-table th,
.tcher-teacher-course-table td { border-bottom-color: var(--classic-soft-border); font-size: 14px; }

@media (max-width: 900px) {
  .eiei-classic { font-size: 16px; padding: 18px; }
  .classic-paper,
  .eiei-classic.classic-outline-clean .classic-paper { border-radius: 17px; padding: 30px 26px 30px 50px; }
  .classic-paper::before { left: 29px; }
  .classic-cover,
  .classic-course-head,
  .classic-index,
  .classic-registration,
  .classic-locked,
  .classic-login-note,
  .tcher-checkin-panel { padding-left: 50px; }
  .eiei-classic h1 { font-size: clamp(32px, 5vw, 43px); }
  .eiei-classic h2 { font-size: clamp(23px, 3.5vw, 30px); }
  .tcher-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tcher-checkin-grid { grid-template-columns: repeat(10, minmax(24px, 30px)); }
  .tcher-course-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tcher-term-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tcher-unit-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .classic-video-row,
  .classic-learning-row { grid-template-columns: 110px minmax(0,1fr); }
  .tcher-teacher-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 640px) {
  .eiei-classic { font-size: 15.5px; padding: 10px; }
  .eiei-classic h1 { font-size: clamp(29px, 9vw, 36px); }
  .eiei-classic h2 { font-size: clamp(22px, 7vw, 27px); }
  .eiei-classic h3 { font-size: 20px; }
  .eiei-classic p { font-size: 15.5px; line-height: 1.72; }
  .classic-paper,
  .eiei-classic.classic-outline-clean .classic-paper { border-radius: 14px; margin-bottom: 16px; padding: 23px 16px 23px 34px; }
  .classic-paper::before { left: 20px; }
  .classic-cover,
  .classic-course-head,
  .classic-index,
  .classic-registration,
  .classic-locked,
  .classic-login-note,
  .tcher-checkin-panel { padding-left: 34px; }
  .classic-cover::after,
  .classic-course-head::after,
  .classic-paperclip { display: none; }
  .classic-course-head h1,
  .classic-cover h1 { padding-right: 0; }
  .classic-section-heading { align-items: center; }
  .classic-section-heading > span { flex-basis: 44px; font-size: 14px; height: 44px; }
  .classic-section-heading p { font-size: 14px; }
  .tcher-stat-grid { gap: 8px; }
  .tcher-stat-grid > div { min-height: 84px; padding: 12px 7px; }
  .tcher-stat-grid strong { font-size: 22px; }
  .tcher-score-update { line-height: 1.5; text-align: left; }
  .tcher-checkin-head { grid-template-columns: 1fr; }
  .tcher-checkin-head > strong { height: 72px; justify-self: start; width: 72px; }
  .tcher-checkin-grid { gap: 4px; grid-template-columns: repeat(10, minmax(0, 1fr)); }
  .tcher-redeem-progress { padding: 14px; }
  .tcher-redeem-progress-head h3 { font-size: 18px; }
  .tcher-redeem-progress-head strong { font-size: 22px; }
  .tcher-level { margin: 22px 0 30px; }
  .tcher-level > header h3 { font-size: 22px; }
  .tcher-category-heading h4 { font-size: 18px; }
  .tcher-term-grid { grid-template-columns: 1fr; }
  .tcher-term-card { min-height: 108px; padding: 15px; }
  .tcher-term-card > span { font-size: 21px; }
  .tcher-term-units { padding: 12px; }
  .tcher-term-units-head { align-items: flex-start; flex-direction: column; gap: 2px; }
  .tcher-unit-grid { grid-template-columns: 1fr; }
  .tcher-unit-card { min-height: 94px; }
  .tcher-unit-panel-head { align-items: start; grid-template-columns: 1fr; }
  .tcher-unit-panel-head > strong { height: 66px; width: 66px; }
  .tcher-continue-learning { grid-template-columns: minmax(0,1fr); }
  .tcher-continue-learning b { grid-column: 1; grid-row: auto; text-align: center; }
  .tcher-course-grid { grid-template-columns: 1fr; }
  .tcher-course-card { grid-template-columns: 40px minmax(0,1fr); min-height: 0; padding: 13px; }
  .tcher-course-card > a { grid-column: 1 / -1; min-height: 42px; width: 100%; }
  .classic-lesson-head { grid-template-columns: 44px minmax(0,1fr); }
  .classic-number,
  .eiei-classic.classic-outline-clean .classic-number { font-size: 15px; height: 42px; }
  .classic-result-mark { align-items: flex-start; flex-wrap: wrap; grid-column: 1 / -1; justify-self: stretch; }
  .classic-video-row,
  .classic-learning-row { grid-template-columns: 1fr; margin: 20px 0; }
  .classic-margin-note { display: grid; gap: 6px; grid-template-columns: auto minmax(0,1fr); padding: 13px; transform: none; }
  .classic-margin-note::before { left: 28px; }
  .classic-margin-note strong { grid-column: 1 / -1; }
  .classic-margin-note i { grid-column: 1 / -1; margin: 0; }
  .classic-resources { grid-template-columns: 1fr; }
  .classic-resource { min-height: 78px; }
  .classic-complete-form label { align-items: stretch; flex-direction: column; }
  .classic-complete-form button,
  .tcher-lesson-checkin button { width: 100%; }
  .tcher-lesson-checkin { align-items: stretch; flex-direction: column; }
  .classic-profile-form,
  .tcher-redeem-fields,
  .tcher-teacher-summary { grid-template-columns: 1fr; }
  .classic-ink-button,
  .classic-outline-button,
  .tcher-disabled-button { text-align: center; width: 100%; }
  .tcher-leaderboard { margin: 24px auto; padding: 20px; }
  .tcher-leaderboard-head { align-items: flex-start; }
  .tcher-leaderboard-head > span { font-size: 34px; }
  .tcher-leaderboard li { grid-template-columns: 36px minmax(0,1fr); }
  .tcher-leaderboard li span { grid-column: 2; }
}

@media (prefers-reduced-motion: reduce) {
  .eiei-classic *,
  .eiei-classic *::before,
  .eiei-classic *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* v2.26.0 — one cohesive macaron island world across every student screen. */
.eiei-classic {
  --tcher-ocean: #eaf7ff;
  --tcher-ocean-deep: #d9effb;
  --tcher-macaron-blue: #8dc9f5;
  --tcher-macaron-green: #91dfbd;
  --tcher-macaron-pink: #f7b8cb;
  --tcher-macaron-purple: #c5b1f7;
  --tcher-macaron-yellow: #ffd98c;
  --tcher-macaron-orange: #ffc18b;
  --tcher-navy: #12366c;
  --tcher-muted: #62758a;
  max-width: 1240px;
}

.eiei-classic .classic-paper,
.eiei-classic.classic-outline-clean .classic-paper {
  background-color: rgba(251,253,255,.96);
  background-image:
    repeating-linear-gradient(to bottom, transparent 0, transparent 39px, rgba(80,135,190,.028) 40px, transparent 41px);
  border-color: rgba(78,135,193,.17);
  box-shadow: 0 14px 38px rgba(46,92,137,.075);
}

.eiei-classic .classic-paper::before { border-left-color: rgba(239,111,97,.075); }
.eiei-classic h1,
.eiei-classic h2,
.eiei-classic h3 { color: var(--tcher-navy); }

/* Welcome panel and stats use the same floating-island tokens. */
.classic-course-head {
  background-image:
    radial-gradient(circle at 74% 16%, rgba(197,177,247,.14), transparent 22%),
    radial-gradient(circle at 88% 84%, rgba(145,223,189,.15), transparent 24%),
    linear-gradient(155deg, rgba(255,255,255,.99) 0 62%, rgba(234,247,255,.82) 100%);
}
.tcher-stat-grid > div {
  --tcher-stat-soft: rgba(141,201,245,.2);
  background: linear-gradient(145deg, rgba(255,255,255,.98), var(--tcher-stat-soft));
  border-color: rgba(78,135,193,.16);
  border-radius: 20px;
  min-height: 102px;
}
.tcher-stat-grid > div::before {
  background: linear-gradient(145deg, color-mix(in srgb, var(--tcher-stat-color) 62%, #fff 38%), var(--tcher-stat-color));
  border: 5px solid rgba(255,255,255,.72);
  border-radius: 46% 54% 50% 50% / 55% 47% 53% 45%;
  box-shadow: 0 8px 0 -5px color-mix(in srgb, var(--tcher-stat-color) 18%, transparent 82%), 0 8px 18px rgba(41,90,135,.1);
  height: 52px;
  transform: rotate(-3deg);
  width: 58px;
}
.tcher-stat-grid > div:nth-child(2)::before { transform: rotate(3deg); }
.tcher-stat-grid > div:nth-child(3)::before { transform: rotate(-1deg); }
.tcher-stat-grid > div:nth-child(4)::before { transform: rotate(2deg); }
.tcher-stat-grid > div strong { color: var(--tcher-navy); }

/* Exam classroom buttons become companion islands rather than unrelated blocks. */
.eiei-classic .tcher-online-entry {
  background:
    radial-gradient(circle at 90% 12%, rgba(255,255,255,.9) 0 3px, transparent 4px),
    linear-gradient(150deg, #f7fffb, #e8f8f3);
  border-color: rgba(73,166,128,.25);
  border-top-width: 1px;
  border-radius: 24px;
}
.eiei-classic .tcher-online-entry-buttons > * {
  border: 5px solid rgba(255,255,255,.72);
  border-radius: 47% 53% 48% 52% / 58% 46% 54% 42%;
  min-height: 108px;
  position: relative;
}
.eiei-classic .tcher-online-entry-buttons > *:first-child { transform: rotate(-1deg); }
.eiei-classic .tcher-online-entry-buttons > *:last-child { transform: rotate(1deg); }
.eiei-classic .tcher-online-entry-buttons a { background: linear-gradient(145deg, #89ddb8, #36ad82); }
.eiei-classic .tcher-online-entry-buttons button:disabled { background: linear-gradient(145deg, #eef3f4, #dce5e7); border-color: rgba(255,255,255,.85); }

/* The 50-step trophy route and the strengthening state. */
.tcher-adventure-map {
  background:
    radial-gradient(ellipse at 9% 18%,rgba(145,223,189,.62) 0 8%,transparent 8.4%),
    radial-gradient(ellipse at 86% 76%,rgba(255,217,140,.62) 0 9%,transparent 9.4%),
    radial-gradient(circle at 66% 18%,rgba(255,255,255,.92) 0 3px,transparent 4px),
    linear-gradient(155deg,#effbff,#ddecf9 52%,#e9f8f3);
  border-color: rgba(78,135,193,.16);
  box-shadow: inset 0 0 38px rgba(85,151,203,.055);
}
.tcher-map-node {
  background: rgba(255,255,255,.78);
  border-color: rgba(95,132,163,.25);
  box-shadow: 0 4px 10px rgba(51,88,123,.085);
}
.tcher-map-node.is-filled { background: linear-gradient(145deg,#fff5bd,#ffc96f); border-color: #eba846; }
.tcher-map-node.is-current { background: linear-gradient(145deg,#e5faf1,#8fe1be); }
.tcher-boost-notice {
  align-items: center;
  background: linear-gradient(145deg, #fffaf0, #fff2ca 62%, #effaf5);
  border: 1px solid rgba(231,165,60,.32);
  border-radius: 20px;
  display: grid;
  gap: 15px;
  grid-template-columns: 64px minmax(0,1fr);
  margin: 16px 0;
  padding: 16px 18px;
}
.tcher-boost-notice > span {
  align-items: center;
  background: linear-gradient(145deg, #fff1a9, #ffbd67);
  border: 6px solid rgba(255,255,255,.72);
  border-radius: 48% 52% 45% 55% / 58% 46% 54% 42%;
  box-shadow: 0 8px 15px rgba(188,123,30,.13);
  display: flex;
  font-size: 27px;
  height: 58px;
  justify-content: center;
  transform: rotate(-3deg);
  width: 64px;
}
.tcher-boost-notice h3 { font: 850 17px/1.45 var(--classic-ui-font); margin: 0 0 4px; }
.tcher-boost-notice p { color: #5d6770; font: 600 13px/1.65 var(--classic-ui-font); margin: 0; }
.tcher-boost-notice small { color: #a05a12; display: block; font: 800 11px/1.5 var(--classic-ui-font); margin-top: 5px; }

/* Main challenge islands. */
.tcher-island-map,
.tcher-video-island-map {
  background:
    radial-gradient(circle at 9% 16%,rgba(255,255,255,.9) 0 3px,transparent 4px),
    radial-gradient(circle at 79% 69%,rgba(255,255,255,.82) 0 3px,transparent 4px),
    linear-gradient(165deg,#effaff,#dff1fc 52%,#e9f8f4);
  border-color: rgba(78,135,193,.15);
}
.tcher-island { border-radius: 24px; }
.tcher-island.is-open:hover,
.tcher-video-island:hover { background: rgba(255,255,255,.55); border-color: rgba(71,135,190,.2); }
.tcher-island-land,
.tcher-video-island-land {
  background: linear-gradient(145deg,#b9efcf,#79d1aa);
  border-color: #fff1b9;
  box-shadow: 0 13px 0 -6px rgba(55,121,153,.15), 0 16px 24px rgba(50,101,148,.13);
}
.tcher-island:nth-child(3n+2) .tcher-island-land,
.tcher-video-island:nth-child(3n+2) .tcher-video-island-land { background: linear-gradient(145deg,#ffd8e4,#f4abc2); border-color:#fff1c9; }
.tcher-island:nth-child(3n+3) .tcher-island-land,
.tcher-video-island:nth-child(3n+3) .tcher-video-island-land { background: linear-gradient(145deg,#ded5ff,#ad96ee); border-color:#e3f7eb; }
.tcher-island:nth-child(4n+4) .tcher-island-land { background: linear-gradient(145deg,#ffe8b8,#ffc97b); }
.tcher-island.is-locked { filter: grayscale(.75); opacity: .5; }

/* Discovery video islands reuse the exact same visual language. */
.eiei-classic .tcher-video-entry {
  align-items: center;
  background:
    radial-gradient(circle at 5% 18%, rgba(197,177,247,.12), transparent 19%),
    linear-gradient(145deg, #fff, #edf8ff 64%, #eefaf6);
  display: grid;
  gap: clamp(20px,3vw,38px);
  grid-template-columns: minmax(230px,.8fr) minmax(540px,1.55fr);
  padding-top: 28px;
}
.tcher-video-entry-copy { padding-left: 4px; }
.eiei-classic .tcher-video-entry h2 { font-size: clamp(24px,3.1vw,36px); margin: 5px 0 7px; }
.tcher-video-kicker {
  color: #3779b5 !important;
  font: 850 10px/1.2 var(--classic-ui-font) !important;
  letter-spacing: .15em;
  margin: 0 0 8px !important;
}
.eiei-classic .tcher-video-entry .tcher-video-note,
.eiei-classic .tcher-video-library .tcher-video-note {
  align-items: center;
  background: rgba(255,255,255,.68);
  border: 1px solid rgba(86,142,185,.14);
  border-radius: 999px;
  color: var(--tcher-muted);
  display: inline-flex;
  font: 650 11px/1.5 var(--classic-ui-font);
  gap: 5px;
  padding: 6px 10px;
}
.tcher-video-island-map {
  border: 1px solid rgba(78,135,193,.13);
  border-radius: 22px;
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(3,minmax(0,1fr));
  padding: 12px;
}
.tcher-video-island {
  align-items: center;
  border: 2px solid transparent;
  border-radius: 18px;
  color: var(--tcher-navy) !important;
  display: flex;
  flex-direction: column;
  min-height: 190px;
  padding: 10px 6px 12px;
  text-align: center;
  text-decoration: none !important;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.tcher-video-island:hover { transform: translateY(-3px); }
.tcher-video-island.is-current { background: rgba(255,255,255,.66); border-color: rgba(63,127,187,.27); box-shadow: 0 8px 20px rgba(47,95,139,.07); }
.tcher-video-island-land {
  align-items: center;
  border: 6px solid #fff1b9;
  border-radius: 47% 53% 46% 54% / 59% 47% 53% 41%;
  display: flex;
  height: 76px;
  justify-content: center;
  margin: 2px 0 12px;
  position: relative;
  transform: rotate(-2deg);
  width: 98px;
}
.tcher-video-island:nth-child(2) .tcher-video-island-land { transform: rotate(2deg); }
.tcher-video-island:nth-child(3) .tcher-video-island-land { transform: rotate(-1deg); }
.tcher-video-island-land::after {
  background: rgba(45,113,167,.13);
  border-radius: 50%;
  bottom: -17px;
  content: "";
  height: 9px;
  position: absolute;
  width: 70%;
}
.tcher-video-island-land b { filter: drop-shadow(0 4px 4px rgba(20,69,94,.1)); font-size: 30px; }
.tcher-video-island-land em { color: #fff; font-size: 13px; font-style: normal; position: absolute; right: 13%; top: 10%; }
.tcher-video-island > strong { font: 850 16px/1.25 var(--classic-ui-font); }
.tcher-video-island > small { color: var(--tcher-muted); font: 600 9px/1.45 var(--classic-ui-font); margin: 4px 0 8px; }
.tcher-video-island > span { background: rgba(255,255,255,.75); border-radius: 999px; color: #2872b5; font: 800 9px/1 var(--classic-ui-font); padding: 5px 8px; }

.tcher-video-hero { overflow: hidden; }
.tcher-video-hero::after {
  color: rgba(89,152,199,.1);
  content: "☁  ✦  ☁";
  font-size: 42px;
  position: absolute;
  right: 6%;
  top: 6%;
}
.tcher-video-hero > * { position: relative; z-index: 1; }
.tcher-video-island-map.is-library { margin-top: 22px; }
.tcher-video-island-map.is-library .tcher-video-island { min-height: 175px; }
.tcher-video-list-head > div { align-items: center; display: flex; gap: 12px; }
.tcher-video-list-head > div > span {
  align-items: center;
  background: linear-gradient(145deg,#dff4ff,#9ed3f6);
  border: 5px solid #fff;
  border-radius: 47% 53% 45% 55% / 56% 47% 53% 44%;
  display: flex;
  font-size: 25px;
  height: 54px;
  justify-content: center;
  width: 59px;
}
.tcher-video-list-head small { color: #5e81a0; display: block; font: 750 9px/1.3 var(--classic-ui-font); letter-spacing: .08em; }
.tcher-video-list-head h2 { font-size: clamp(21px,3vw,31px); }
.tcher-video-list-head > strong { background: #eef6ff; border-radius: 999px; color: #276ca8; font: 800 11px/1 var(--classic-ui-font); padding: 8px 11px; }
.eiei-classic .tcher-video-card {
  background: linear-gradient(145deg,#fff,#f5faff);
  border-color: rgba(74,133,184,.16);
  border-radius: 19px;
  box-shadow: 0 7px 18px rgba(42,89,132,.055);
  min-height: 128px;
  overflow: hidden;
  position: relative;
}
.eiei-classic .tcher-video-card:nth-child(3n+2) { background: linear-gradient(145deg,#fff,#f4fbf7); }
.eiei-classic .tcher-video-card:nth-child(3n+3) { background: linear-gradient(145deg,#fff,#fff8ef); }
.eiei-classic .tcher-video-card::after { color: rgba(80,148,201,.16); content: "✦"; font-size: 18px; position: absolute; right: 13px; top: 10px; }
.eiei-classic .tcher-video-card:hover { background: #fff; border-color: rgba(62,134,191,.32); box-shadow: 0 12px 25px rgba(42,89,132,.1); transform: translateY(-2px); }
.eiei-classic .tcher-video-play {
  background: linear-gradient(145deg,#bce9ff,#82c8f3);
  border: 5px solid rgba(255,255,255,.82);
  border-radius: 46% 54% 45% 55% / 58% 45% 55% 42%;
  box-shadow: 0 7px 0 -4px rgba(50,116,159,.15);
  color: #fff;
  flex-basis: 52px;
  height: 48px;
  position: relative;
  transform: rotate(-3deg);
  width: 52px;
}
.tcher-video-play b { font-size: 14px; transform: translateX(1px); }
.tcher-video-play i { font-size: 9px; font-style: normal; position: absolute; right: 3px; top: 2px; }
.eiei-classic .tcher-video-card em { color: #3475a9; font-style: normal; font-weight: 750; }
.tcher-video-empty { align-items: center; background: #f1f5f7; border: 1px dashed #cbd7de; border-radius: 18px; display: flex; flex-direction: column; padding: 28px; text-align: center; }
.tcher-video-empty > span { font-size: 34px; }
.tcher-video-empty strong,.tcher-video-empty small { display: block; }
.tcher-video-empty small { color: var(--tcher-muted); margin-top: 4px; }
.tcher-shared-video { border-top: 4px solid var(--tcher-macaron-green) !important; }

/* Units, exercises and lesson resources now read as smaller islands in the same world. */
.tcher-term-units { background: linear-gradient(150deg,rgba(237,248,255,.78),rgba(236,250,245,.72)); }
.tcher-unit-card {
  background: linear-gradient(145deg,#fff,#f3f9ff);
  border-radius: 18px;
}
.tcher-unit-card:nth-child(3n+2) { background: linear-gradient(145deg,#fff,#f5fbf7); }
.tcher-unit-card:nth-child(3n+3) { background: linear-gradient(145deg,#fff,#fff9ed); }
.tcher-course-card {
  background: linear-gradient(145deg,#fff,#f5faff);
  border-radius: 20px;
  overflow: hidden;
  position: relative;
}
.tcher-course-card:nth-child(4n+2) { background: linear-gradient(145deg,#fff,#f4fbf7); }
.tcher-course-card:nth-child(4n+3) { background: linear-gradient(145deg,#fff,#fff8ee); }
.tcher-course-card:nth-child(4n+4) { background: linear-gradient(145deg,#fff,#faf6ff); }
.tcher-course-card::after { color: rgba(76,142,194,.14); content: "✦"; font-size: 17px; position: absolute; right: 12px; top: 8px; }
.tcher-card-order,
.classic-number,
.eiei-classic.classic-outline-clean .classic-number {
  background: linear-gradient(145deg,#dff3ff,#acdafa);
  border: 5px solid rgba(255,255,255,.82);
  border-radius: 47% 53% 48% 52% / 58% 45% 55% 42%;
  box-shadow: 0 7px 0 -4px rgba(55,116,166,.14);
  color: #226db3;
}
.tcher-card-order { height: 51px; width: 56px; }
.tcher-course-card.is-passed .tcher-card-order { background: linear-gradient(145deg,#dff8ed,#94dfbb); color: #087055; }
.tcher-course-card > a { border-radius: 14px; position: relative; z-index: 1; }
.classic-lesson {
  background-image:
    radial-gradient(circle at 91% 12%,rgba(197,177,247,.14),transparent 18%),
    repeating-linear-gradient(to bottom,transparent 0,transparent 39px,rgba(80,135,190,.028) 40px,transparent 41px) !important;
}
.classic-resource,
.eiei-classic.classic-outline-clean .classic-resource { border-radius: 18px; }
.classic-resource > span {
  background: rgba(255,255,255,.75);
  border: 5px solid rgba(255,255,255,.85);
  border-radius: 47% 53% 45% 55% / 58% 46% 54% 42%;
  box-shadow: 0 7px 0 -4px rgba(47,103,151,.12);
  font-size: 21px !important;
}
.classic-resource.is-pdf > span { background: linear-gradient(145deg,#ffe7de,#ffc7ba); }
.classic-resource.is-quiz > span { background: linear-gradient(145deg,#dff8ed,#9ae2bf); }
.tcher-lesson-checkin { border-radius: 19px; }

@media (max-width: 1000px) {
  .eiei-classic .tcher-video-entry { grid-template-columns: 1fr; }
  .tcher-video-island-map { width: 100%; }
}

@media (max-width: 640px) {
  .eiei-classic { padding-left: 10px; padding-right: 10px; }
  .tcher-stat-grid > div { min-height: 88px; }
  .tcher-stat-grid > div::before { border-width: 4px; height: 39px; width: 43px; }
  .tcher-boost-notice { align-items: start; gap: 10px; grid-template-columns: 43px minmax(0,1fr); padding: 13px; }
  .tcher-boost-notice > span { border-width: 4px; font-size: 20px; height: 41px; width: 45px; }
  .tcher-boost-notice h3 { font-size: 14px; }
  .tcher-video-island-map { gap: 5px; padding: 8px 5px; }
  .tcher-video-island { border-radius: 14px; min-height: 142px; padding: 8px 2px 10px; }
  .tcher-video-island-land { border-width: 4px; height: 56px; margin-bottom: 10px; width: 68px; }
  .tcher-video-island-land b { font-size: 23px; }
  .tcher-video-island > strong { font-size: 13px; }
  .tcher-video-island > small { display: none; }
  .tcher-video-island > span { font-size: 8px; margin-top: 7px; padding: 5px 6px; }
  .eiei-classic .tcher-video-entry { padding: 20px 13px; }
  .eiei-classic .tcher-video-entry h2 { font-size: 23px; }
  .eiei-classic .tcher-video-entry .tcher-video-note { border-radius: 13px; }
  .tcher-video-hero::after { display: none; }
  .tcher-video-list-head > div > span { border-width: 4px; font-size: 20px; height: 45px; width: 49px; }
  .eiei-classic .tcher-video-card { min-height: 104px; }
  .tcher-card-order { height: 44px; width: 46px; }
}

@media (prefers-reduced-motion: reduce) {
  .tcher-video-island,
  .tcher-video-card { transition: none; }
}

@media print {
  .tcher-certificate-actions { display: none !important; }
  .tcher-certificate-inner { box-shadow: none; }
}

/* Scoped access notices keep the shop theme and checkout untouched. */
.eiei-classic .tcher-access-expiry {
  background: #f1f5f3; border: 1px solid #d5dfd9; border-radius: 12px;
  color: #314c40; font-family: sans-serif; font-size: 14px; line-height: 1.8;
  padding: 10px 16px; overflow-wrap: anywhere;
}
.eiei-classic .tcher-access-expiry.is-expired { background: #fff3ee; color: #933e30; border-color: #e9c8bf; }
.eiei-classic .tcher-exam-lock {
  background: #f7f7f3; border: 1px dashed #bfcac5; border-radius: 16px;
  margin: 20px 0; padding: clamp(16px, 3vw, 28px); overflow-wrap: anywhere;
}
.eiei-classic .tcher-exam-lock p { font-size: 15px; line-height: 1.8; }
.eiei-classic .tcher-exam-lock h3 { margin-top: 0; }
.eiei-classic .tcher-course-card.is-locked { background: #f7f8f6; color: #34443b; opacity: 1; }
.eiei-classic .tcher-course-card.is-locked > a { background: #edf1ee; color: #344b40 !important; border: 1px solid #cad5ce; }
.eiei-classic .tcher-course-card.is-locked .tcher-red-score { color: #727b77; border: 0; }

/* Independent online classroom: quiet notebook layout, no bank progress UI. */
.eiei-classic .tcher-online-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 28px; }
.eiei-classic .tcher-online-hero-copy { min-width: 0; }
.eiei-classic .tcher-online-entry { background: #edf4f0; border: 1px solid #b7cdc0; border-top: 4px solid #416854; border-radius: 16px; padding: 22px; width: 330px; max-width: 100%; box-sizing: border-box; }
.eiei-classic .tcher-online-eyebrow { font: 700 11px/1.6 var(--classic-ui-font); letter-spacing: .1em; color: #55715f; margin: 0 0 8px; }
.eiei-classic .tcher-online-entry h2 { align-items: center; display: flex; justify-content: space-between; font-size: 25px; margin: 0 0 18px; }
.eiei-classic .tcher-online-entry h2 span { font-size: 22px; color: #466c58; }
.eiei-classic .tcher-online-entry-buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.eiei-classic .tcher-online-entry-buttons > * { display: flex; flex-direction: column; align-items: center; gap: 6px; border-radius: 10px; padding: 14px 8px; font: 700 20px/1.4 var(--classic-ui-font); text-decoration: none !important; border: 1px solid #b4c7ba; }
.eiei-classic .tcher-online-entry-buttons span { font-size: 11px; font-weight: 500; }
.eiei-classic .tcher-online-entry-buttons a { color: #fff !important; background: #355b45; }
.eiei-classic .tcher-online-entry-buttons button:disabled { cursor: not-allowed; opacity: 1; color: #727772; background: #e4e7e3; border-color: #d0d5cf; }
.eiei-classic .tcher-online-contact { display: block; text-align: center; background: #fff; color: #254d36 !important; font: 700 13px/1.6 var(--classic-ui-font); text-decoration: none !important; padding: 12px 8px; margin-top: 14px; border: 1px solid #a9c0af; border-radius: 9px; }
.eiei-classic .tcher-online-entry > small { display: block; margin-top: 11px; font: 400 11px/1.7 var(--classic-ui-font); color: #5d7064; text-align: center; }
.eiei-classic .tcher-online-entry a:focus-visible, .eiei-classic .tcher-online-tabs a:focus-visible, .eiei-classic .tcher-online-module:focus-visible { outline: 3px solid #af782f; outline-offset: 3px; }
.eiei-classic .tcher-online-back { display: inline-block; color: #4b6657 !important; margin-bottom: 20px; font: 600 14px/1.8 var(--classic-ui-font); }
.eiei-classic .tcher-online-deadline { border: 1px solid #d9cdaa; border-left: 4px solid #ab8240; background: #fcf8ed; padding: 18px 22px; border-radius: 12px; margin-bottom: 28px; }
.eiei-classic .tcher-online-deadline > span { display: block; font: 600 14px/1.6 var(--classic-ui-font); color: #75603e; }
.eiei-classic .tcher-online-deadline > strong { display: block; font: 700 clamp(20px,3vw,27px)/1.5 var(--classic-ui-font); color: #614d2c; margin: 5px 0 8px; }
.eiei-classic .tcher-online-deadline p { font-size: 14px; line-height: 1.8; margin: 8px 0; }
.eiei-classic .tcher-online-deadline small { color: #786c58; font-size: 12px; }
.eiei-classic .tcher-online-deadline.is-closed { background: #f7f1ed; border-color: #d6bfb2; }
.eiei-classic .tcher-online-tabs { display: flex; flex-wrap: wrap; gap: 10px; margin: 24px 0; }
.eiei-classic .tcher-online-tabs a, .eiei-classic .tcher-online-tabs button { color: #41594b !important; text-decoration: none !important; background: #f2f5f1; border: 1px solid #d1dbd1; border-radius: 10px; min-height: 44px; padding: 10px 24px; font: 600 15px/1.6 var(--classic-ui-font); }
.eiei-classic .tcher-online-tabs .is-current { background: #385c47; color: #fff !important; border-color: #385c47; }
.eiei-classic .tcher-online-tabs button:disabled { opacity: 1; color: #777e78 !important; cursor: not-allowed; }
.eiei-classic .tcher-online-module-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.eiei-classic .tcher-online-module { display: grid; grid-template-columns: 34px minmax(0,1fr) 16px; gap: 10px; align-items: center; width: 100%; min-width: 0; min-height: 80px; box-sizing: border-box; padding: 14px; text-align: left; background: #fff; border: 1px solid #b7cbbb; border-radius: 12px; color: #243f2e !important; text-decoration: none !important; font-family: var(--classic-ui-font); }
.eiei-classic .tcher-online-module > span { border: 1px solid #d0dccf; border-radius: 50%; width: 32px; height: 32px; display: grid; place-items: center; font-size: 12px; }
.eiei-classic .tcher-online-module strong { display: block; font-size: 16px; line-height: 1.6; }
.eiei-classic .tcher-online-module small { display: block; font-size: 12px; line-height: 1.6; font-weight: 400; overflow-wrap: anywhere; margin-top: 3px; }
.eiei-classic .tcher-online-module.is-locked { background: #f0f1ef; border-color: #d8dcd6; color: #777d75 !important; cursor: not-allowed; opacity: 1; }
.eiei-classic .tcher-online-module > b { font-size: 12px; }
.eiei-classic .tcher-homework-confirm { margin: 16px 0; }
.eiei-classic .tcher-homework-confirm > summary { display: inline-flex; cursor: pointer; list-style: none; }
.eiei-classic .tcher-homework-confirm > summary::-webkit-details-marker { display: none; }
.eiei-classic .tcher-homework-reminder { margin-top: 12px; padding: 18px; border: 1px solid #d9cdb5; border-radius: 12px; background: #fcf9f0; }
.eiei-classic .tcher-homework-reminder p { margin: 8px 0 16px; }
.eiei-classic .tcher-homework-reminder .classic-ink-button { white-space: normal; }

/* Shared video library: deliberately separate from scored lessons. */
.eiei-classic .tcher-video-entry { display:flex; align-items:center; justify-content:space-between; gap:24px; background-color:#f4f7f5; }
.eiei-classic .tcher-video-entry h2 { font-size:clamp(20px,2.4vw,26px); margin:6px 0; }
.eiei-classic .tcher-video-entry p { font-size:14px; color:#5c6861; margin:6px 0 0; }
.eiei-classic .tcher-video-library .tcher-video-title { font-size:clamp(20px,3vw,34px); }
.eiei-classic .tcher-video-entry .tcher-video-note, .eiei-classic .tcher-video-library .tcher-video-note { font-size:13px; color:#657269; }
.eiei-classic .tcher-video-entry nav { display:flex; gap:10px; flex-wrap:wrap; }
.eiei-classic .tcher-video-entry nav a { border:1px solid #cedbd2; border-radius:10px; padding:12px 16px; color:#2e5340; background:#fff; text-decoration:none; font-size:15px; font-weight:600; min-height:44px; box-sizing:border-box; }
.eiei-classic .tcher-video-entry nav a span { margin-left:14px; }
.eiei-classic .tcher-video-list-head { display:flex; gap:16px; justify-content:space-between; align-items:center; margin-bottom:20px; }
.eiei-classic .tcher-video-list-head h2 { margin:0; }
.eiei-classic .tcher-video-list-head > span { font-size:13px; color:#69756d; white-space:nowrap; }
.eiei-classic .tcher-video-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.eiei-classic .tcher-video-card { display:flex; align-items:flex-start; gap:14px; padding:20px; min-height:115px; border:1px solid #d8e1d9; border-radius:14px; background:#fff; text-decoration:none !important; color:#253b30 !important; box-sizing:border-box; }
.eiei-classic .tcher-video-card > span:last-child { min-width:0; }
.eiei-classic .tcher-video-card small { display:block; font:11px/1.5 var(--classic-ui-font); letter-spacing:.04em; color:#708077; }
.eiei-classic .tcher-video-card strong { display:block; font:600 17px/1.65 var(--classic-ui-font); margin:7px 0; overflow-wrap:anywhere; }
.eiei-classic .tcher-video-card em { font:13px/1.5 var(--classic-ui-font); color:#52785f; }
.eiei-classic .tcher-video-play { display:grid; place-items:center; flex:0 0 36px; width:36px; height:36px; border-radius:50%; background:#edf3ee; color:#49765a; font-size:14px; }
.eiei-classic .tcher-video-card:hover, .eiei-classic .tcher-video-entry nav a:hover { border-color:#749381; background:#fafcf9; }
.eiei-classic .tcher-video-card:focus-visible, .eiei-classic .tcher-video-entry a:focus-visible { outline:3px solid #af782f; outline-offset:3px; }
@media(max-width:1000px) { .eiei-classic .tcher-video-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .eiei-classic .tcher-video-entry { align-items:flex-start; flex-direction:column; gap:18px; } }
@media(max-width:600px) { .eiei-classic .tcher-video-grid { grid-template-columns:1fr; } .eiei-classic .tcher-video-card { min-height:95px; padding:16px; } .eiei-classic .tcher-video-entry nav { width:100%; } .eiei-classic .tcher-video-entry nav a { flex:1 1 auto; text-align:center; font-size:14px; padding:10px; } .eiei-classic .tcher-video-entry nav a span { margin-left:4px; } }
@media(max-width:600px) {
  .eiei-classic .tcher-video-library .tcher-online-tabs { gap:8px; }
  .eiei-classic .tcher-video-library .tcher-online-tabs a { padding:10px 8px; font-size:14px; white-space:nowrap; }
  .eiei-classic .tcher-video-entry nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
  .eiei-classic .tcher-video-entry nav a { padding:10px 6px; white-space:nowrap; }
  .eiei-classic .tcher-video-entry nav a span { display:none; }
}
.eiei-classic .tcher-online-homework { margin-top: 28px; border-top: 1px dashed #cad5ca; padding-top: 22px; }
.eiei-classic .tcher-online-homework > small { display: block; font-size: 12px; color: #617366; line-height: 1.8; margin-top: 16px; }
.eiei-classic .tcher-online-homework form { margin: 16px 0; }
@media (max-width: 1000px) {
  .eiei-classic .tcher-online-hero-grid { gap: 18px; }
  .eiei-classic .tcher-online-entry { width: 285px; padding: 18px; }
  .eiei-classic .tcher-online-module-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 700px) {
  .eiei-classic .tcher-online-hero-grid { grid-template-columns: 1fr; }
  .eiei-classic .tcher-online-entry { width: 100%; }
  .eiei-classic .tcher-online-module-grid { grid-template-columns: 1fr; gap: 9px; }
  .eiei-classic .tcher-online-module { min-height: 64px; padding: 11px 13px; }
  .eiei-classic .tcher-online-tabs > * { flex: 1; text-align: center; padding-left: 12px; padding-right: 12px; }
  .eiei-classic .tcher-online-deadline { padding: 15px; }
}

/* v2.22.1 joint-project branding for the student login and learning home. */
.eiei-classic .tcher-partnership-banner {
  background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(246,248,247,.96));
  border: 1px solid rgba(35,50,83,.18);
  border-radius: 18px;
  box-shadow: 0 10px 30px rgba(23,33,43,.08);
  margin: 0 0 20px;
  overflow: hidden;
  padding: clamp(15px,2.4vw,24px) clamp(18px,3.4vw,38px);
  position: relative;
}
.eiei-classic .tcher-partnership-banner::before {
  background: linear-gradient(90deg, #20336f 0 46%, #e9bf34 46% 54%, #c94940 54% 100%);
  content: "";
  height: 4px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}
.eiei-classic .tcher-partnership-logos {
  align-items: center;
  display: grid;
  gap: clamp(16px,3vw,34px);
  grid-template-columns: minmax(0,1.35fr) 76px minmax(0,.75fr);
  margin: 0 auto;
  max-width: 940px;
}
.eiei-classic .tcher-partner-logo {
  align-items: center;
  display: flex;
  justify-content: center;
  min-width: 0;
}
.eiei-classic .tcher-partner-logo img {
  display: block;
  height: auto;
  object-fit: contain;
  width: 100%;
}
.eiei-classic .tcher-partner-logo.is-kpm img { max-height: 92px; max-width: 560px; }
.eiei-classic .tcher-partner-logo.is-tcheriv img { max-height: 92px; max-width: 330px; }
.eiei-classic .tcher-partnership-divider {
  align-self: stretch;
  display: grid;
  min-height: 82px;
  place-items: center;
  position: relative;
}
.eiei-classic .tcher-partnership-divider::before {
  background: rgba(35,50,83,.2);
  bottom: 0;
  content: "";
  left: 50%;
  position: absolute;
  top: 0;
  width: 1px;
}
.eiei-classic .tcher-partnership-divider b {
  background: #fffefa;
  border: 1px solid rgba(35,50,83,.2);
  border-radius: 999px;
  color: #314461;
  font-family: var(--classic-ui-font, "Microsoft YaHei", sans-serif);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  padding: 7px 9px;
  position: relative;
  white-space: nowrap;
  z-index: 1;
}

@media (max-width: 560px) {
  .eiei-classic .tcher-partnership-banner { border-radius: 14px; margin-bottom: 14px; padding: 17px 16px 15px; }
  .eiei-classic .tcher-partnership-logos { gap: 9px; grid-template-columns: 1fr; }
  .eiei-classic .tcher-partner-logo.is-kpm img { max-height: 76px; max-width: 300px; }
  .eiei-classic .tcher-partner-logo.is-tcheriv img { max-height: 82px; max-width: 246px; }
  .eiei-classic .tcher-partnership-divider { min-height: 28px; width: 100%; }
  .eiei-classic .tcher-partnership-divider::before { bottom: auto; height: 1px; left: 0; right: 0; top: 50%; width: auto; }
  .eiei-classic .tcher-partnership-divider b { font-size: 10px; padding: 5px 10px; }
}

/* v2.23.0 — calm blue student UI with notebook character. */
.eiei-classic {
  --tcher-purple: #7848df;
  --tcher-orange: #ef7812;
  --tcher-sky: #eef6ff;
  --tcher-mint: #eefaf5;
  --tcher-warm: #fff8e9;
  --classic-soft-border: rgba(54,105,175,.2);
  --classic-soft-shadow: 0 16px 42px rgba(36,82,143,.1);
  --classic-surface: rgba(255,255,255,.94);
  color: var(--classic-ink);
}

.classic-paper,
.eiei-classic.classic-outline-clean .classic-paper {
  background-color: var(--classic-paper);
  background-image: repeating-linear-gradient(to bottom, transparent 0, transparent 39px, rgba(64,119,184,.035) 40px, transparent 41px);
  border-color: var(--classic-soft-border);
  border-radius: 22px;
  box-shadow: var(--classic-soft-shadow);
  transform: none !important;
}
.classic-paper::before { border-left-color: rgba(239,111,97,.1); }

.eiei-classic h1,
.eiei-classic h2,
.eiei-classic h3 { color: var(--classic-ink); font-family: var(--classic-ui-font); }
.eiei-classic h1 { font-weight: 850; letter-spacing: -.035em; }
.eiei-classic h2,
.eiei-classic h3 { font-weight: 800; }
.classic-subtitle { color: var(--classic-blue); font-family: var(--classic-ui-font); }
.tcher-category-heading h4,
.classic-margin-note strong,
.tcher-term-card > span,
.tcher-unit-card > span { font-family: var(--classic-note-font); }

.classic-cover,
.classic-course-head {
  background-image:
    radial-gradient(circle at 76% 18%, rgba(36,114,232,.08), transparent 24%),
    radial-gradient(circle at 88% 82%, rgba(19,138,104,.09), transparent 22%),
    linear-gradient(155deg, rgba(255,255,255,.98) 0 64%, rgba(232,244,255,.72) 100%),
    repeating-linear-gradient(to bottom, transparent 0, transparent 39px, rgba(64,119,184,.035) 40px, transparent 41px);
  border-color: rgba(36,114,232,.2);
}
.classic-cover::after,
.classic-course-head::after { border-color: var(--classic-blue); color: var(--classic-blue); opacity: .05; }
.classic-course-head .classic-overline,
.classic-cover .classic-cover-label {
  align-items: center;
  background: var(--tcher-warm);
  border: 1px solid rgba(239,120,18,.18);
  border-radius: 999px;
  color: #c85c08;
  display: inline-flex;
  font-family: var(--classic-ui-font);
  gap: 7px;
  letter-spacing: .06em;
  padding: 7px 12px;
}
.classic-course-head .classic-overline::before,
.classic-cover .classic-cover-label::before { color: #f4a826; content: "★"; font-size: 12px; }

.classic-ink-button,
.eiei-classic.classic-outline-clean .classic-ink-button {
  background: linear-gradient(135deg, var(--classic-ink), var(--classic-blue));
  border: 0;
  border-radius: 13px;
  box-shadow: 0 8px 18px rgba(26,81,158,.2);
  color: #fff !important;
}
.classic-outline-button,
.eiei-classic.classic-outline-clean .classic-outline-button {
  background: rgba(255,255,255,.9);
  border: 1px solid rgba(36,114,232,.28);
  border-radius: 13px;
  box-shadow: none;
  color: var(--classic-ink) !important;
}
.classic-ink-button:hover,
.classic-outline-button:hover { box-shadow: 0 10px 22px rgba(29,82,151,.18); transform: translateY(-2px); }
.classic-ink-button:focus-visible,
.classic-outline-button:focus-visible,
.tcher-course-card > a:focus-visible,
.tcher-lesson-checkin button:focus-visible { outline-color: rgba(36,114,232,.48); }

.tcher-student-login {
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(36,114,232,.2);
  border-radius: 18px;
  box-shadow: 0 14px 32px rgba(31,79,142,.1);
}
.tcher-student-login input:not([type="checkbox"]),
.classic-profile-form input:not([type="checkbox"]),
.tcher-redeem-fields input {
  background: #f8fbff;
  border: 1px solid #d9e6f7;
  border-radius: 11px;
  min-height: 48px;
  padding: 10px 12px;
}
.tcher-student-login input:not([type="checkbox"]):focus,
.classic-profile-form input:not([type="checkbox"]):focus,
.tcher-redeem-fields input:focus { border-color: var(--classic-blue); box-shadow: 0 0 0 3px rgba(36,114,232,.12); }

.tcher-stat-grid { gap: 13px; }
.tcher-stat-grid > div {
  --tcher-stat-color: var(--classic-blue);
  --tcher-stat-soft: rgba(36,114,232,.09);
  align-items: center;
  background: linear-gradient(145deg, #fff, var(--tcher-stat-soft));
  border: 1px solid rgba(54,105,175,.18);
  border-radius: 17px;
  box-shadow: 0 8px 20px rgba(36,82,143,.06);
  display: grid;
  gap: 1px 12px;
  grid-template-columns: 48px minmax(0,1fr);
  grid-template-rows: auto auto;
  overflow: hidden;
  padding: 15px 13px;
  position: relative;
  text-align: left;
}
.tcher-stat-grid > div::before {
  align-items: center;
  background: var(--tcher-stat-color);
  background: linear-gradient(145deg, color-mix(in srgb, var(--tcher-stat-color) 72%, #fff 28%), var(--tcher-stat-color));
  border-radius: 50%;
  box-shadow: 0 7px 14px color-mix(in srgb, var(--tcher-stat-color) 20%, transparent 80%);
  color: #fff;
  content: "✓";
  display: flex;
  font-family: var(--classic-ui-font);
  font-size: 20px;
  font-weight: 900;
  grid-row: 1 / 3;
  height: 45px;
  justify-content: center;
  width: 45px;
}
.tcher-stat-grid > div:nth-child(2) { --tcher-stat-color: var(--classic-green); --tcher-stat-soft: rgba(19,138,104,.09); }
.tcher-stat-grid > div:nth-child(2)::before { content: "★"; }
.tcher-stat-grid > div:nth-child(3) { --tcher-stat-color: var(--tcher-purple); --tcher-stat-soft: rgba(120,72,223,.09); }
.tcher-stat-grid > div:nth-child(3)::before { content: "◆"; }
.tcher-stat-grid > div:nth-child(4) { --tcher-stat-color: var(--tcher-orange); --tcher-stat-soft: rgba(239,120,18,.1); }
.tcher-stat-grid > div:nth-child(4)::before { content: "🏆"; font-size: 19px; }
.tcher-stat-grid > div strong { color: var(--tcher-stat-color); grid-column: 2; }
.tcher-stat-grid > div span { color: #51637a; grid-column: 2; }

.classic-progress,
.eiei-classic.classic-outline-clean .classic-progress { background: #e8eff8; height: 13px; }
.classic-progress span { background: linear-gradient(90deg, var(--classic-blue), #56a5f5, var(--classic-green)); }
.tcher-score-update { color: #607088; }

.eiei-classic .tcher-online-entry {
  background: linear-gradient(145deg, rgba(255,255,255,.98), var(--tcher-mint));
  border: 1px solid rgba(19,138,104,.35);
  border-top: 4px solid var(--classic-green);
  border-radius: 19px;
  box-shadow: 0 12px 28px rgba(19,138,104,.1);
}
.eiei-classic .tcher-online-eyebrow,
.eiei-classic .tcher-online-entry h2 span { color: var(--classic-green); }
.eiei-classic .tcher-online-entry-buttons > * { border-color: rgba(19,138,104,.28); border-radius: 12px; }
.eiei-classic .tcher-online-entry-buttons a { background: linear-gradient(145deg, #15916d, #087252); box-shadow: 0 8px 16px rgba(8,114,82,.18); }
.eiei-classic .tcher-online-entry-buttons button:disabled { background: #edf1f3; border-color: #dce3e7; color: #7a8791; }
.eiei-classic .tcher-online-contact { border-color: rgba(19,138,104,.3); color: #08694d !important; }
.eiei-classic .tcher-online-entry > small { color: #587166; }

.tcher-checkin-panel { border-color: rgba(239,120,18,.2); }
.classic-stamp {
  background: var(--tcher-warm);
  border: 1px solid rgba(239,120,18,.28);
  border-radius: 999px;
  color: #c75b08;
  font-family: var(--classic-ui-font);
  transform: none;
}
.tcher-checkin-head > strong {
  background: linear-gradient(145deg, #fff9df, #fff1b7);
  border-color: rgba(239,120,18,.55);
  color: var(--classic-ink);
  box-shadow: 0 8px 18px rgba(239,120,18,.1);
}
.tcher-checkin-cell { background: rgba(255,255,255,.92); border-color: rgba(36,114,232,.18); color: #6d7b8c; }
.tcher-checkin-cell.is-filled {
  background: linear-gradient(145deg, #fff5bd, #e9f8e8);
  border-color: rgba(19,138,104,.48);
  box-shadow: inset 0 0 0 2px rgba(19,138,104,.06);
  color: var(--classic-green);
}
.tcher-redeem-progress { background: linear-gradient(145deg, #fff, #f7fbff); border-color: rgba(36,114,232,.18); }
.tcher-redeem-progress.is-ready { border-color: rgba(19,138,104,.45); box-shadow: inset 0 0 0 3px rgba(19,138,104,.06); }
.tcher-redeem-progress-head strong { color: var(--tcher-orange); }
.tcher-combined-track { background: #e8eff8; }
.tcher-combined-track i { background: linear-gradient(90deg, var(--classic-yellow), var(--tcher-orange)); }
.tcher-redeem-progress.is-ready .tcher-combined-track i { background: linear-gradient(90deg, #4cc794, var(--classic-green)); }
.tcher-redeem-form { background: linear-gradient(145deg, #fff, #f3f9ff); border-color: rgba(36,114,232,.2); }

.classic-section-heading > span {
  background: linear-gradient(145deg, var(--classic-ink), var(--classic-blue));
  border-radius: 14px;
  box-shadow: 0 7px 14px rgba(26,71,137,.16);
  transform: none;
}
.tcher-level > header { border-bottom-color: rgba(36,114,232,.17); }
.tcher-category-heading { border-bottom-color: rgba(36,114,232,.2); }
.tcher-category-heading h4 { background: linear-gradient(transparent 64%, rgba(255,200,87,.5) 64%); color: var(--classic-ink); }
.tcher-continue-learning { background: linear-gradient(145deg, #f5f9ff, #eaf3ff); border-color: rgba(36,114,232,.25); }
.tcher-continue-learning:hover { background: #eaf3ff; }
.tcher-continue-learning b { background: linear-gradient(135deg, var(--classic-ink), var(--classic-blue)); }
.tcher-term-card,
.tcher-unit-card { background: rgba(255,255,255,.94); border-color: rgba(54,105,175,.18); box-shadow: 0 6px 16px rgba(36,82,143,.045); }
.tcher-term-card:hover,
.tcher-unit-card:hover { border-color: rgba(36,114,232,.38); box-shadow: 0 10px 22px rgba(36,82,143,.09); }
.tcher-term-card.is-current { background: linear-gradient(145deg, #f5f9ff, #e8f2ff); border-color: rgba(36,114,232,.42); box-shadow: inset 5px 0 0 rgba(36,114,232,.28); }
.tcher-unit-card.is-current { background: linear-gradient(145deg, #fffdf5, #fff5d8); border-color: rgba(239,120,18,.32); box-shadow: inset 4px 0 0 rgba(239,120,18,.22); }
.tcher-term-card > strong,
.tcher-unit-card > strong { color: var(--classic-blue); }
.tcher-term-card > i,
.tcher-unit-card > i { background: #e8eff8; }
.tcher-term-card > i b,
.tcher-unit-card > i b { background: linear-gradient(90deg, var(--classic-blue), var(--classic-green)); }
.tcher-term-units { background: rgba(238,246,255,.68); border-color: rgba(36,114,232,.25); }
.tcher-unit-panel-head > strong { background: linear-gradient(145deg, #fff9df, #ffefae); border-color: rgba(239,120,18,.25); color: var(--tcher-orange); }
.tcher-course-filters a,
.tcher-pagination a { background: #fff; border-color: rgba(54,105,175,.2); }
.tcher-course-filters a.is-active,
.tcher-pagination a.is-current { background: linear-gradient(135deg, var(--classic-ink), var(--classic-blue)); border-color: transparent; }

.tcher-course-card {
  background: rgba(255,255,255,.96);
  border-color: rgba(54,105,175,.19);
  border-radius: 16px;
  box-shadow: 0 6px 16px rgba(36,82,143,.045);
}
.tcher-course-card:hover { border-color: rgba(36,114,232,.38); box-shadow: 0 11px 24px rgba(36,82,143,.1); }
.tcher-course-card.is-passed { border-color: rgba(19,138,104,.38); box-shadow: inset 4px 0 0 rgba(19,138,104,.16); }
.tcher-card-order { background: #f4f8ff; border-color: rgba(36,114,232,.38); color: var(--classic-blue); }
.tcher-course-card > a { background: linear-gradient(135deg, var(--classic-ink), var(--classic-blue)); box-shadow: 0 6px 13px rgba(36,114,232,.16); }
.tcher-course-card.is-locked { background: #f3f6f8; border-color: #dce4ea; }
.tcher-course-card.is-locked > a { background: #e8edf1; border-color: #d8e0e6; color: #6d7a84 !important; box-shadow: none; }

.classic-lesson { border-color: rgba(54,105,175,.2); }
.classic-lesson.is-complete { border-color: rgba(19,138,104,.38); box-shadow: 0 14px 34px rgba(19,138,104,.08); }
.classic-number,
.eiei-classic.classic-outline-clean .classic-number { background: #f3f8ff; border-color: rgba(36,114,232,.4); color: var(--classic-blue); transform: none; }
.classic-status,
.eiei-classic.classic-outline-clean .classic-status { background: var(--tcher-warm); border-color: rgba(239,120,18,.24); color: #9c570f; }
.classic-status.is-done { background: var(--tcher-mint); border-color: rgba(19,138,104,.3); color: var(--classic-green); }
.classic-intro { border-left-color: var(--classic-blue); }
.classic-margin-note { background: #fff9e9; border-color: rgba(239,120,18,.32); }
.classic-margin-note strong { border-bottom-color: var(--classic-red); }
.classic-video { background: #102b50; border-color: rgba(36,114,232,.3); box-shadow: 0 10px 26px rgba(16,43,99,.12); }
.classic-resource { box-shadow: 0 6px 16px rgba(36,82,143,.05); }
.classic-resource.is-pdf { background: #fff7f3; border-color: rgba(239,111,97,.25); }
.classic-resource.is-quiz { background: #f0faf6; border-color: rgba(19,138,104,.26); }
.classic-resource:hover { border-color: rgba(36,114,232,.32); box-shadow: 0 10px 22px rgba(36,82,143,.1); }
.tcher-score-note { background: var(--tcher-mint); border-color: rgba(19,138,104,.3); }
.tcher-score-note.is-pending { background: var(--tcher-warm); border-color: rgba(239,120,18,.22); }
.tcher-lesson-checkin { background: linear-gradient(145deg, #fffaf0, #f8fdfb); border-color: rgba(19,138,104,.32); }
.tcher-lesson-checkin button,
.tcher-lesson-checkin.is-checked button { background: linear-gradient(135deg, #15916d, #087252); box-shadow: 0 8px 18px rgba(8,114,82,.18); color: #fff; }

.eiei-classic .tcher-video-entry { background: linear-gradient(145deg, #fff, #edf6ff); border-color: rgba(36,114,232,.2); }
.eiei-classic .tcher-video-entry nav a { border-color: rgba(36,114,232,.2); color: var(--classic-ink); }
.eiei-classic .tcher-video-entry nav a:nth-child(1) { background: #eef6ff; color: #1d5fb9; }
.eiei-classic .tcher-video-entry nav a:nth-child(2) { background: #eefaf5; color: #087252; }
.eiei-classic .tcher-video-entry nav a:nth-child(3) { background: #fff7ea; color: #b75c0c; }
.eiei-classic .tcher-video-card { border-color: rgba(54,105,175,.18); box-shadow: 0 6px 16px rgba(36,82,143,.045); }
.eiei-classic .tcher-video-card:hover { background: #f8fbff; border-color: rgba(36,114,232,.35); box-shadow: 0 10px 22px rgba(36,82,143,.09); }
.eiei-classic .tcher-video-play { background: #eaf3ff; color: var(--classic-blue); }

.tcher-leaderboard {
  background: linear-gradient(150deg, #fff 0 64%, #fff9e8 100%);
  border-color: rgba(239,120,18,.2);
  box-shadow: 0 16px 38px rgba(36,82,143,.09);
}
.tcher-leaderboard-head p { color: var(--tcher-orange); }
.tcher-leaderboard li { border-color: rgba(54,105,175,.17); box-shadow: 0 5px 13px rgba(36,82,143,.04); }
.tcher-leaderboard li:nth-child(1) { border-left: 4px solid #f1b72a; }
.tcher-leaderboard li:nth-child(2) { border-left: 4px solid #8ba2b8; }
.tcher-leaderboard li:nth-child(3) { border-left: 4px solid #cf8145; }

.eiei-classic .tcher-access-expiry { background: #f1f7ff; border-color: #d6e5f6; color: #304f76; }
.eiei-classic .tcher-online-deadline { background: #fff9eb; border-color: #ead9aa; border-left-color: var(--tcher-orange); }
.eiei-classic .tcher-online-tabs a,
.eiei-classic .tcher-online-tabs button { background: #f4f8ff; border-color: #d8e5f5; color: #34577d !important; }
.eiei-classic .tcher-online-tabs .is-current { background: linear-gradient(135deg, #15916d, #087252); border-color: transparent; }
.eiei-classic .tcher-online-module { border-color: rgba(19,138,104,.25); box-shadow: 0 6px 16px rgba(19,138,104,.05); }
.eiei-classic .tcher-online-module.is-locked { background: #f2f5f7; border-color: #dce3e8; color: #74808a !important; box-shadow: none; }
.eiei-classic .tcher-homework-reminder { background: #fff9eb; border-color: #ead9aa; }

.tcher-teacher-summary > div { background: linear-gradient(145deg, #fff, #eef6ff); border-color: rgba(36,114,232,.18); }
.tcher-readonly-badge { border-color: var(--classic-blue); border-radius: 999px; color: var(--classic-blue); transform: none; }
.tcher-teacher-course-table th { color: var(--classic-blue); }

.eiei-classic .tcher-partnership-banner {
  background: linear-gradient(145deg, rgba(255,255,255,.99), rgba(246,250,255,.98));
  border-color: rgba(36,114,232,.2);
  box-shadow: 0 14px 36px rgba(36,82,143,.1);
}
.eiei-classic .tcher-partnership-divider b { border-color: rgba(36,114,232,.2); color: var(--classic-ink); }

@media (max-width: 900px) {
  .tcher-stat-grid > div { grid-template-columns: 44px minmax(0,1fr); }
  .tcher-stat-grid > div::before { height: 41px; width: 41px; }
}

@media (max-width: 640px) {
  .classic-paper,
  .eiei-classic.classic-outline-clean .classic-paper { border-radius: 16px; }
  .classic-course-head .classic-overline,
  .classic-cover .classic-cover-label { font-size: 10px; padding: 6px 10px; }
  .tcher-stat-grid > div { gap: 1px 8px; grid-template-columns: 36px minmax(0,1fr); min-height: 86px; padding: 12px 8px; }
  .tcher-stat-grid > div::before { font-size: 15px; height: 34px; width: 34px; }
  .tcher-stat-grid > div:nth-child(4)::before { font-size: 15px; }
  .tcher-stat-grid > div strong { font-size: 20px; }
  .tcher-stat-grid > div span { font-size: 11px; line-height: 1.4; }
  .tcher-student-login { padding: 19px 15px; }
  .eiei-classic .tcher-online-entry-buttons > * { font-size: 18px; }
  .classic-resource { box-shadow: none; }
}

/* v2.24.0 — family challenger switcher and macaron adventure maps. */
.tcher-portal-page .entry-title,
.tcher-portal-page .page-title,
.tcher-portal-page .wp-block-post-title,
.tcher-portal-page main > article > header:first-child,
.tcher-portal-page .site-main > article > .entry-header { display: none !important; }
.tcher-portal-page .entry-content { margin-top: 0 !important; }

.tcher-student-toolbar {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  margin: 0 auto 12px;
  max-width: 1180px;
}
.tcher-toolbar-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 9px; }
.tcher-student-toolbar > span {
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(36,114,232,.18);
  border-radius: 999px;
  color: #4d627d;
  font: 750 12px/1.2 var(--classic-ui-font);
  padding: 8px 12px;
}
.tcher-switcher-button,
.tcher-profile-button {
  align-items: center;
  background: linear-gradient(145deg,#fff,#edf5ff);
  border: 1px solid rgba(36,114,232,.26);
  border-radius: 999px;
  box-shadow: 0 7px 18px rgba(36,82,143,.09);
  color: var(--classic-ink) !important;
  display: inline-flex;
  font: 800 13px/1 var(--classic-ui-font);
  gap: 7px;
  padding: 9px 14px;
  text-decoration: none !important;
}
.tcher-switcher-button > span,
.tcher-profile-button > span { color: var(--classic-blue); font-size: 19px; }
.tcher-switcher-button:hover,
.tcher-profile-button:hover { border-color: var(--classic-blue); transform: translateY(-1px); }

/* v2.25.0 — account notice, personal center and membership history. */
.tcher-announcement {
  align-items: center;
  background: linear-gradient(100deg,#fff4c8,#fffaf0 55%,#eef8ff);
  border: 1px solid rgba(255,166,32,.28);
  border-radius: 15px;
  box-shadow: 0 8px 20px rgba(87,102,125,.08);
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  margin: 0 auto 12px;
  max-width: 1180px;
  min-height: 46px;
  overflow: hidden;
}
.tcher-announcement > strong {
  align-items: center;
  align-self: stretch;
  background: linear-gradient(135deg,#ffb842,#f58b24);
  color: #fff;
  display: flex;
  font: 850 12px/1 var(--classic-ui-font);
  gap: 5px;
  padding: 0 15px;
  white-space: nowrap;
  z-index: 2;
}
.tcher-announcement-window { display: flex; min-width: 0; overflow: hidden; white-space: nowrap; }
.tcher-announcement-window > span {
  animation: tcher-announcement-scroll 20s linear infinite;
  color: var(--classic-ink);
  flex: 0 0 auto;
  font: 750 13px/46px var(--classic-ui-font);
  min-width: 100%;
  padding-left: 22px;
}
.tcher-announcement:hover .tcher-announcement-window > span { animation-play-state: paused; }
@keyframes tcher-announcement-scroll { from { transform: translateX(0); } to { transform: translateX(-100%); } }

.tcher-profile-center { overflow: hidden; padding: clamp(22px,4vw,46px); }
.tcher-profile-center > header {
  align-items: center;
  border-bottom: 1px solid rgba(36,114,232,.12);
  display: flex;
  gap: 20px;
  justify-content: space-between;
  margin-bottom: 24px;
  padding-bottom: 21px;
}
.tcher-profile-center > header h1 { font-size: clamp(29px,4vw,46px); margin: 5px 0; }
.tcher-profile-center > header p { color: #65768a; margin: 0; }
.tcher-membership-status {
  background: #e3f8ef;
  border: 1px solid rgba(19,138,104,.2);
  border-radius: 999px;
  color: #087356;
  font: 850 12px/1.2 var(--classic-ui-font);
  padding: 10px 14px;
  white-space: nowrap;
}
.tcher-membership-status.is-expired { background: #fff0ef; border-color: rgba(239,111,97,.24); color: #c3473b; }
.tcher-profile-facts { display: grid; gap: 12px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.tcher-profile-facts > div {
  align-items: center;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(36,114,232,.13);
  border-radius: 16px;
  display: grid;
  gap: 2px 10px;
  grid-template-columns: 37px minmax(0,1fr);
  padding: 15px;
}
.tcher-profile-facts > div > span { font-size: 24px; grid-row: 1/3; }
.tcher-profile-facts small { color: #718096; font: 750 10px/1.3 var(--classic-ui-font); }
.tcher-profile-facts strong { font: 800 13px/1.45 var(--classic-ui-font); overflow-wrap: anywhere; }
.tcher-renewal-panel {
  align-items: center;
  background: linear-gradient(135deg,#eaf9f4,#eef6ff);
  border: 1px solid rgba(19,138,104,.18);
  border-radius: 20px;
  display: flex;
  gap: 20px;
  justify-content: space-between;
  margin: 23px 0;
  padding: clamp(18px,3vw,28px);
}
.tcher-renewal-panel small,.tcher-purchase-history > header small { color: var(--classic-green); font: 900 10px/1 var(--classic-ui-font); letter-spacing: .12em; }
.tcher-renewal-panel h2 { font-size: clamp(22px,3vw,30px); margin: 7px 0; }
.tcher-renewal-panel p { color: #607487; margin: 0; }

.tcher-renewal-students {
	background: #f3fbff;
	border: 1px solid #c9dff4;
	border-radius: 14px;
	margin: 16px 0;
	padding: 14px 16px;
}

.tcher-renewal-students legend { color: #173a66; padding: 0 8px; }
.tcher-renewal-students p { color: #51677f; font-size: 14px; margin: 0 0 10px; }
.tcher-renewal-students > div { display: flex; flex-wrap: wrap; gap: 8px; }
.tcher-renewal-students label {
	align-items: center;
	background: #fff;
	border: 1px solid #d5e3ef;
	border-radius: 999px;
	display: inline-flex;
	gap: 6px;
	padding: 8px 12px;
}
.tcher-profile-renewal-chooser { flex: 0 1 520px; margin: 0; }
.tcher-profile-renewal-chooser fieldset { border: 0; margin: 0; padding: 0; }
.tcher-profile-renewal-chooser legend { color: var(--classic-ink); font: 850 15px/1.35 var(--classic-ui-font); margin-bottom: 6px; padding: 0; }
.tcher-profile-renewal-chooser fieldset > p { font-size: 11px; line-height: 1.55; margin-bottom: 11px; }
.tcher-profile-renewal-options { display: grid; gap: 8px; grid-template-columns: repeat(2,minmax(0,1fr)); margin-bottom: 12px; }
.tcher-profile-renewal-options label {
  align-items: center;
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(36,114,232,.17);
  border-radius: 13px;
  cursor: pointer;
  display: flex;
  gap: 8px;
  min-width: 0;
  padding: 10px 11px;
}
.tcher-profile-renewal-options label:has(input:checked) { background: #eef8ff; border-color: rgba(36,114,232,.48); box-shadow: 0 0 0 2px rgba(36,114,232,.07); }
.tcher-profile-renewal-options input { flex: 0 0 auto; height: 17px; margin: 0; min-height: 0; width: 17px; }
.tcher-profile-renewal-options span { display: grid; min-width: 0; }
.tcher-profile-renewal-options strong { font: 800 12px/1.35 var(--classic-ui-font); overflow-wrap: anywhere; }
.tcher-profile-renewal-options small { color: #6f8092; font: 650 10px/1.35 var(--classic-ui-font); letter-spacing: 0; }
.tcher-renewal-live-price { margin-bottom: 10px; }
.tcher-renewal-live-price > div {
  align-items: center;
  background: rgba(255,255,255,.78);
  border: 1px dashed rgba(19,138,104,.3);
  border-radius: 14px;
  display: none;
  justify-content: space-between;
  padding: 11px 13px;
}
.tcher-renewal-live-price > div.is-active { display: flex; }
.tcher-renewal-live-price span { color: #486176; font: 750 11px/1.35 var(--classic-ui-font); }
.tcher-renewal-live-price strong { color: var(--classic-green); font: 900 21px/1 var(--classic-ui-font); }
.tcher-renewal-live-price .tcher-renewal-no-plan { color: #b24d43; font: 750 11px/1.4 var(--classic-ui-font); justify-content: center; }
.tcher-profile-renewal-chooser .classic-ink-button { border: 0; cursor: pointer; width: 100%; }
.tcher-profile-renewal-chooser .classic-ink-button:disabled { background: #aab7c3; box-shadow: none; cursor: not-allowed; opacity: .85; }
.tcher-renewal-direct-note { color: #6f8092 !important; display: block; font: 650 9px/1.5 var(--classic-ui-font) !important; letter-spacing: 0 !important; margin-top: 8px; text-align: center; }
.tcher-renewal-panel > a,.tcher-renewal-panel > button { flex: 0 0 auto; }
.tcher-purchase-history {
  background: rgba(255,255,255,.54);
  border: 1px solid rgba(36,114,232,.12);
  border-radius: 20px;
  padding: clamp(18px,3vw,27px);
}
.tcher-purchase-history > header { align-items: center; display: flex; justify-content: space-between; margin-bottom: 15px; }
.tcher-purchase-history > header h2 { margin: 5px 0 0; }
.tcher-purchase-history > header > span { background: #edf4ff; border-radius: 999px; color: var(--classic-blue); font: 800 10px/1 var(--classic-ui-font); padding: 7px 10px; }
.tcher-purchase-list { display: grid; gap: 10px; }
.tcher-purchase-list article {
  align-items: center;
  background: #fff;
  border: 1px solid #e2e9f2;
  border-radius: 15px;
  display: grid;
  gap: 13px;
  grid-template-columns: auto minmax(0,1fr) auto;
  padding: 14px;
}
.tcher-purchase-icon { align-items: center; background: #fff4d7; border-radius: 12px; display: flex; font-size: 21px; height: 43px; justify-content: center; width: 43px; }
.tcher-purchase-list h3 { font-size: 16px; margin: 2px 0; }
.tcher-purchase-list p,.tcher-purchase-list small,.tcher-purchase-list em { color: #6d7d90; display: block; font: 500 10px/1.5 var(--classic-ui-font); margin: 0; }
.tcher-purchase-list em { color: var(--classic-green); font-style: normal; font-weight: 750; }
.tcher-purchase-list article > strong { color: var(--classic-ink); font: 850 14px/1 var(--classic-ui-font); white-space: nowrap; }
.tcher-empty-purchases { color: #6b7b8c; padding: 24px 12px; text-align: center; }
.tcher-empty-purchases > span { display: block; font-size: 32px; margin-bottom: 7px; }
.tcher-empty-purchases strong { color: var(--classic-ink); display: block; }
.tcher-empty-purchases p { font-size: 12px; margin: 6px 0 0; }
.tcher-profile-center > footer { display: flex; justify-content: flex-end; margin-top: 18px; }

.tcher-challenger-select { padding: clamp(28px,5vw,58px); }
.tcher-challenger-select > header { margin: 0 auto 25px; max-width: 760px; text-align: center; }
.tcher-challenger-select > header > span {
  color: var(--classic-blue);
  font: 900 11px/1 var(--classic-ui-font);
  letter-spacing: .16em;
}
.tcher-challenger-select > header h1 { font-size: clamp(30px,5vw,48px); margin: 10px 0; }
.tcher-challenger-select > header p { color: #5b6d83; margin: 0; }
.tcher-challenger-grid { display: grid; gap: 17px; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); }
.tcher-challenger-card {
  align-items: center;
  background: linear-gradient(155deg,#fff 12%,#edf6ff 100%);
  border: 2px solid rgba(36,114,232,.16);
  border-radius: 22px;
  box-shadow: 0 12px 28px rgba(36,82,143,.08);
  display: flex;
  flex-direction: column;
  margin: 0;
  min-height: 315px;
  padding: 24px 18px 18px;
  text-align: center;
}
.tcher-challenger-card:nth-child(3n+2) { background: linear-gradient(155deg,#fff 12%,#effbf5 100%); border-color: rgba(19,138,104,.18); }
.tcher-challenger-card:nth-child(3n+3) { background: linear-gradient(155deg,#fff 12%,#fff4f5 100%); border-color: rgba(239,111,97,.18); }
.tcher-challenger-card.is-current { border-color: rgba(36,114,232,.5); box-shadow: 0 15px 34px rgba(36,114,232,.14), inset 0 0 0 4px rgba(36,114,232,.05); }
.tcher-player-avatar {
  align-items: center;
  background: linear-gradient(145deg,#73b8ff,#2472e8);
  border: 7px solid #e8f3ff;
  border-radius: 50%;
  box-shadow: 0 9px 18px rgba(36,114,232,.18);
  color: #fff;
  display: flex;
  font: 900 28px/1 var(--classic-ui-font);
  height: 74px;
  justify-content: center;
  margin-bottom: 12px;
  width: 74px;
}
.tcher-challenger-card > small { color: var(--classic-blue); font: 800 10px/1.2 var(--classic-ui-font); letter-spacing: .08em; }
.tcher-challenger-card > h2 { font-size: 24px; margin: 8px 0 3px; }
.tcher-challenger-card > strong { color: var(--classic-green); font: 850 15px/1.4 var(--classic-ui-font); }
.tcher-challenger-card > p { color: #69778a; font-size: 12px; margin: 10px 0 15px; }
.tcher-challenger-card > button {
  background: linear-gradient(135deg,var(--classic-ink),var(--classic-blue));
  border: 0;
  border-radius: 12px;
  color: #fff;
  cursor: pointer;
  font: 800 14px/1 var(--classic-ui-font);
  margin-top: auto;
  min-height: 43px;
  padding: 11px 16px;
  width: 100%;
}
.tcher-challenger-select > footer { align-items: center; display: flex; gap: 14px; justify-content: space-between; margin-top: 22px; }
.tcher-challenger-select > footer p { color: #66768a; font-size: 12px; margin: 0; }

.tcher-adventure-map {
  background:
    radial-gradient(ellipse at 14% 18%,rgba(169,226,182,.68) 0 7%,transparent 7.4%),
    radial-gradient(ellipse at 83% 72%,rgba(255,222,154,.65) 0 8%,transparent 8.4%),
    linear-gradient(155deg,#eefbff,#dceffd 52%,#eaf8f2);
  border: 1px solid rgba(36,114,232,.2);
  border-radius: 24px;
  box-shadow: inset 0 0 32px rgba(36,114,232,.06);
  display: grid;
  gap: 8px;
  margin: 19px 0 16px;
  overflow: hidden;
  padding: 22px clamp(12px,3vw,28px) 54px;
  position: relative;
}
.tcher-map-route-row {
  direction: ltr;
  display: grid;
  gap: clamp(3px,1vw,10px);
  grid-template-columns: repeat(10,minmax(0,1fr));
  position: relative;
  z-index: 2;
}
.tcher-map-route-row.is-reverse { direction: rtl; }
.tcher-map-route-row::before {
  border-top: 3px dotted rgba(39,105,164,.28);
  content: "";
  left: 3%;
  position: absolute;
  right: 3%;
  top: 50%;
  z-index: -1;
}
.tcher-map-node {
  align-items: center;
  aspect-ratio: 1;
  background: #f3f6f8;
  border: 2px solid #c8d2dd;
  border-radius: 50%;
  box-shadow: 0 4px 9px rgba(45,76,110,.12);
  color: #788796;
  direction: ltr;
  display: flex;
  font: 800 clamp(8px,1.4vw,11px)/1 var(--classic-ui-font);
  justify-content: center;
  justify-self: center;
  max-width: 38px;
  min-width: 22px;
  width: 100%;
}
.tcher-map-node.is-filled { background: linear-gradient(145deg,#fff4ac,#ffbf55); border-color: #e59c2d; color: #9d5800; }
.tcher-map-node.is-current { animation: tcher-map-pulse 1.8s ease-in-out infinite; background: linear-gradient(145deg,#dff8ee,#7ddbb8); border-color: #138a68; color: #076149; transform: scale(1.12); }
.tcher-map-node.is-checkpoint { border-width: 3px; }
.tcher-map-node b { font: inherit; }
.tcher-map-node.is-filled b { font-size: 14px; }
.tcher-map-node.is-current b { font-size: clamp(12px,2vw,17px); }
.tcher-map-scenery { inset: 0; pointer-events: none; position: absolute; }
.tcher-map-scenery span { color: rgba(255,255,255,.92); font-size: 34px; position: absolute; text-shadow: 0 2px 7px rgba(36,114,232,.09); }
.tcher-map-scenery span:nth-child(1) { left: 3%; top: 3%; }
.tcher-map-scenery span:nth-child(2) { color: rgba(255,200,87,.74); right: 7%; top: 6%; }
.tcher-map-scenery span:nth-child(3) { bottom: 4%; left: 42%; }
.tcher-map-scenery b { bottom: -13px; font-size: 46px; left: 2%; position: absolute; }
.tcher-map-finish { align-items: center; bottom: 7px; display: flex; font: 800 11px/1 var(--classic-ui-font); gap: 5px; position: absolute; right: 18px; }
.tcher-map-finish span { font-size: 27px; }
.tcher-map-finish b { color: #7c4b15; }
@keyframes tcher-map-pulse { 0%,100% { box-shadow: 0 0 0 0 rgba(19,138,104,.24); } 50% { box-shadow: 0 0 0 7px rgba(19,138,104,0); } }

.tcher-island-directory { overflow: hidden; }
.tcher-island-map {
  background:
    radial-gradient(circle at 10% 20%,rgba(255,255,255,.8) 0 2px,transparent 3px),
    radial-gradient(circle at 78% 66%,rgba(255,255,255,.72) 0 3px,transparent 4px),
    linear-gradient(165deg,#edfaff,#dff2ff 52%,#e9f9f6);
  border: 1px solid rgba(36,114,232,.16);
  border-radius: 25px;
  display: grid;
  gap: clamp(10px,2vw,20px);
  grid-template-columns: repeat(3,minmax(0,1fr));
  margin-top: 16px;
  overflow: hidden;
  padding: clamp(17px,3vw,30px);
  position: relative;
}
.tcher-island-count-4 { grid-template-columns: repeat(4,minmax(0,1fr)); }
.tcher-island {
  align-items: center;
  border: 2px solid transparent;
  border-radius: 22px;
  color: var(--classic-ink) !important;
  display: flex;
  flex-direction: column;
  min-height: 238px;
  padding: 13px 9px 15px;
  text-align: center;
  text-decoration: none !important;
  transition: transform .18s ease,background .18s ease,border-color .18s ease;
}
.tcher-island.is-open:hover { background: rgba(255,255,255,.55); border-color: rgba(36,114,232,.2); transform: translateY(-4px); }
.tcher-island.is-current { background: rgba(255,255,255,.72); border-color: rgba(36,114,232,.35); box-shadow: 0 10px 24px rgba(36,82,143,.08); }
.tcher-island-land {
  align-items: center;
  background: linear-gradient(145deg,#b8efc8,#6bc99c);
  border: 8px solid #fff2b9;
  border-radius: 47% 53% 46% 54% / 59% 47% 53% 41%;
  box-shadow: 0 13px 0 -6px rgba(23,118,143,.18),0 15px 22px rgba(36,82,143,.15);
  display: flex;
  height: clamp(86px,10vw,116px);
  justify-content: center;
  margin: 4px 0 16px;
  position: relative;
  transform: rotate(-2deg);
  width: clamp(112px,13vw,150px);
}
.tcher-island:nth-child(3n+2) .tcher-island-land { background: linear-gradient(145deg,#ffd7e2,#f4a6be); border-color: #fff0c4; transform: rotate(2deg); }
.tcher-island:nth-child(3n+3) .tcher-island-land { background: linear-gradient(145deg,#dcd1ff,#a989ed); border-color: #dff5e8; transform: rotate(-1deg); }
.tcher-island:nth-child(4n+4) .tcher-island-land { background: linear-gradient(145deg,#ffe5ac,#ffc36a); border-color: #e1f6ec; transform: rotate(2deg); }
.tcher-island-land::after { background: rgba(36,114,232,.14); border-radius: 50%; bottom: -20px; content: ""; height: 12px; position: absolute; width: 72%; }
.tcher-island-land b { filter: drop-shadow(0 4px 4px rgba(20,69,94,.12)); font-size: clamp(31px,4vw,45px); font-style: normal; }
.tcher-island-land em { color: #fff; font-size: 17px; font-style: normal; position: absolute; right: 16%; top: 13%; }
.tcher-island > strong { font: 900 clamp(18px,2.2vw,24px)/1.25 var(--classic-ui-font); }
.tcher-island > small { color: #5b7085; font-size: 11px; margin: 5px 0 9px; }
.tcher-island > span { background: rgba(255,255,255,.78); border-radius: 999px; color: var(--classic-blue); font: 800 10px/1 var(--classic-ui-font); padding: 6px 9px; }
.tcher-island.is-locked { filter: grayscale(.85); opacity: .48; }
.tcher-island.is-locked .tcher-island-land { background: #ccd4d9; border-color: #e8e9e4; box-shadow: 0 11px 0 -6px rgba(80,93,101,.14); }
.tcher-island.is-locked > span { color: #68747c; }

@media (max-width: 900px) {
  .tcher-island-count-4 { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tcher-island { min-height: 220px; }
  .tcher-profile-facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 640px) {
  .tcher-student-toolbar { align-items: flex-start; flex-direction: column; gap: 7px; }
  .tcher-student-toolbar > span { font-size: 10px; }
  .tcher-toolbar-actions { width: 100%; }
  .tcher-switcher-button,.tcher-profile-button { justify-content: center; }
  .tcher-announcement { border-radius: 12px; grid-template-columns: 96px minmax(0,1fr); min-height: 42px; }
  .tcher-announcement > strong { font-size: 10px; justify-content: center; padding: 0 8px; }
  .tcher-announcement-window > span { font-size: 11px; line-height: 42px; padding-left: 14px; }
  .tcher-profile-center { padding: 20px 14px; }
  .tcher-profile-center > header { align-items: flex-start; flex-direction: column; }
  .tcher-profile-facts { grid-template-columns: 1fr; }
  .tcher-renewal-panel { align-items: stretch; flex-direction: column; }
  .tcher-renewal-panel > a,.tcher-renewal-panel > button { text-align: center; width: 100%; }
  .tcher-profile-renewal-chooser { flex-basis: auto; width: 100%; }
  .tcher-profile-renewal-options { grid-template-columns: 1fr; }
  .tcher-purchase-list article { align-items: start; grid-template-columns: auto minmax(0,1fr); }
  .tcher-purchase-list article > strong { grid-column: 2; }
  .tcher-challenger-select { padding: 24px 17px; }
  .tcher-challenger-grid { grid-template-columns: 1fr; }
  .tcher-challenger-card { min-height: 285px; }
  .tcher-challenger-select > footer { align-items: stretch; flex-direction: column; }
  .tcher-adventure-map { border-radius: 17px; gap: 6px; padding: 18px 8px 45px; }
  .tcher-map-route-row { gap: 3px; }
  .tcher-map-node { border-width: 1.5px; font-size: 7px; min-width: 18px; }
  .tcher-map-node.is-checkpoint { border-width: 2px; }
  .tcher-island-map,
  .tcher-island-count-4 { gap: 7px; grid-template-columns: repeat(2,minmax(0,1fr)); padding: 12px 8px; }
  .tcher-island { border-radius: 16px; min-height: 183px; padding: 10px 4px 12px; }
  .tcher-island-land { border-width: 5px; height: 72px; margin-bottom: 13px; width: 91px; }
  .tcher-island > strong { font-size: 17px; }
  .tcher-island > small { font-size: 9px; }
  .tcher-island > span { font-size: 9px; padding: 5px 7px; }
}
@media (prefers-reduced-motion: reduce) {
  .tcher-map-node.is-current { animation: none; }
  .tcher-island,
  .tcher-switcher-button { transition: none; }
  .tcher-announcement-window > span { animation: none; }
  .tcher-announcement-window > span[aria-hidden="true"] { display: none; }
}

/* v2.30.0 — focused one-lesson-per-page learning flow. */
.tcher-lesson-toolbar { margin-bottom: 12px; }
.tcher-lesson-back { background: #eef7ff; border-color: #bfd9f5; color: #174f91 !important; }
.tcher-lesson-page-heading {
  align-items: center;
  background: linear-gradient(135deg,rgba(239,248,255,.95),rgba(248,244,255,.94));
  border-color: rgba(36,114,232,.16);
  display: flex;
  justify-content: space-between;
  margin-bottom: 16px;
  padding: clamp(19px,3vw,30px) clamp(20px,4vw,42px);
}
.tcher-lesson-page-heading small { color: #2472e8; display: block; font: 850 11px/1.4 var(--classic-ui-font); letter-spacing: .14em; }
.tcher-lesson-page-heading h1 { color: var(--classic-ink); font: 900 clamp(25px,3vw,38px)/1.2 var(--classic-ui-font); margin: 6px 0; }
.tcher-lesson-page-heading p { color: #5b7085; font: 650 13px/1.6 var(--classic-ui-font); margin: 0; }
.tcher-lesson-page-heading > strong { background: #fff; border: 1px solid #cfe0f5; border-radius: 999px; color: #174f91; flex: 0 0 auto; font: 850 13px/1 var(--classic-ui-font); padding: 11px 16px; }
.tcher-single-lesson-page { margin: 0; }
.tcher-single-lesson-page .classic-lesson { margin-top: 0; }
.tcher-lesson-pager {
  align-items: stretch;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(0,1fr) minmax(180px,.7fr) minmax(0,1fr);
  margin-top: 16px;
  padding: 14px;
}
.tcher-lesson-pager > a,
.tcher-lesson-pager > span { background: rgba(244,249,255,.9); border: 1px solid #d5e3f2; border-radius: 16px; display: flex; flex-direction: column; justify-content: center; min-height: 74px; padding: 12px 15px; text-decoration: none !important; }
.tcher-lesson-pager > a { color: var(--classic-ink) !important; transition: transform .18s ease,border-color .18s ease,background .18s ease; }
.tcher-lesson-pager > a:hover { background: #fff; border-color: #8fbae8; transform: translateY(-2px); }
.tcher-lesson-pager small { color: #2472e8; font: 800 10px/1.3 var(--classic-ui-font); margin-bottom: 5px; }
.tcher-lesson-pager strong { font: 800 13px/1.4 var(--classic-ui-font); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tcher-lesson-pager .is-directory { background: #edf8f4; border-color: #bfe3d4; text-align: center; }
.tcher-lesson-pager .is-directory small { color: #138a68; }
.tcher-lesson-pager .is-next { text-align: right; }
.tcher-lesson-pager .is-disabled { filter: grayscale(.5); opacity: .52; }
.tcher-lesson-page-error { align-items: center; display: flex; flex-direction: column; padding: clamp(35px,7vw,80px) 20px; text-align: center; }
.tcher-lesson-page-error > span { font-size: 42px; }
.tcher-lesson-page-error h1 { font: 900 clamp(24px,3vw,36px)/1.2 var(--classic-ui-font); margin: 12px 0 7px; }
.tcher-lesson-page-error p { color: #5b7085; margin: 0 0 20px; }
@media (max-width: 640px) {
  .tcher-lesson-page-heading { align-items: flex-start; gap: 12px; padding: 18px 15px; }
  .tcher-lesson-page-heading h1 { font-size: 24px; }
  .tcher-lesson-page-heading > strong { font-size: 10px; padding: 9px 11px; }
  .tcher-lesson-pager { grid-template-columns: 1fr 1fr; padding: 9px; }
  .tcher-lesson-pager .is-directory { grid-column: 1 / -1; grid-row: 1; min-height: 58px; }
  .tcher-lesson-pager > a,
  .tcher-lesson-pager > span { min-height: 70px; padding: 10px; }
  .tcher-lesson-pager strong { font-size: 11px; }
}

/* v2.31.0 — TcherIV pastel mystery-adventure character system. */
.eiei-classic {
  --tcher-guide-sprite: url("tcheriv-guide-roles.png");
  --tcher-pastel-sky: #eff8ff;
  --tcher-pastel-cream: #fff9f1;
  --tcher-pastel-mint: #eafaf3;
  --tcher-pastel-pink: #fff0f5;
  --tcher-pastel-lilac: #f2eeff;
}

/* One illustration, four consistent roles: detective, explorer, scholar, winner. */
.classic-cover::after,
.classic-course-head::after,
.tcher-checkin-panel::after,
.tcher-island-directory::after,
.tcher-lesson-page-heading::after,
.tcher-video-hero::after {
  aspect-ratio: 479 / 821;
  background-image: var(--tcher-guide-sprite);
  background-position: 33.333% center;
  background-repeat: no-repeat;
  background-size: 400% 100%;
  border: 0;
  border-radius: 38% 38% 28% 28%;
  box-shadow: none;
  color: transparent;
  content: "";
  display: block;
  height: auto;
  line-height: 1;
  opacity: 1;
  pointer-events: none;
  position: absolute;
  transform: none;
  width: clamp(92px,10vw,132px);
  z-index: 2;
}

.classic-cover::after {
  background-position: 0 center;
  right: clamp(18px,3vw,38px);
  top: 22px;
  width: clamp(78px,9vw,116px);
}
.classic-cover > h1,
.classic-cover > p { max-width: calc(100% - clamp(92px,12vw,148px)); position: relative; z-index: 3; }
.classic-cover > form,
.classic-cover > .classic-student-login { position: relative; z-index: 3; }

.classic-course-head { padding-right: clamp(22px,4vw,42px); }
.classic-course-head::after {
  bottom: auto;
  right: clamp(300px,30vw,390px);
  top: 22px;
  width: clamp(74px,7vw,90px);
}
.classic-course-head .tcher-online-hero-grid,
.classic-course-head .tcher-account-row,
.classic-course-head .tcher-access-expiry,
.classic-course-head .tcher-stat-grid,
.classic-course-head .classic-progress,
.classic-course-head .tcher-score-update { position: relative; z-index: 3; }

.tcher-checkin-panel,
.tcher-island-directory,
.tcher-lesson-page-heading,
.tcher-video-hero { overflow: hidden; }
.tcher-checkin-panel { padding-top: clamp(28px,4vw,42px); }
.tcher-checkin-panel::after {
  background-position: 100% center;
  right: clamp(18px,3vw,38px);
  top: 12px;
  width: clamp(62px,7vw,90px);
}
.tcher-checkin-head { padding-right: clamp(72px,9vw,115px); }
.tcher-island-directory::after {
  background-position: 0 center;
  right: clamp(18px,3vw,38px);
  top: 9px;
  width: clamp(60px,7vw,88px);
}
.tcher-island-directory > .classic-section-heading { padding-right: clamp(70px,9vw,112px); }
.tcher-lesson-page-heading { min-height: 170px; padding-right: clamp(130px,17vw,220px); }
.tcher-lesson-page-heading::after {
  background-position: 66.666% center;
  bottom: 0;
  right: clamp(62px,9vw,125px);
  top: auto;
  width: clamp(84px,10vw,128px);
}
.tcher-lesson-page-heading > * { position: relative; z-index: 3; }
.tcher-video-hero { padding-right: clamp(150px,18vw,235px); }
.tcher-video-hero::after {
  background-position: 33.333% center;
  bottom: 0;
  right: clamp(24px,5vw,70px);
  top: auto;
  width: clamp(95px,12vw,145px);
}

/* The guide stands on each island; the outfit cycles with the route. */
.tcher-island-land::before,
.tcher-video-island-land::before {
  aspect-ratio: 479 / 821;
  background-image: var(--tcher-guide-sprite);
  background-position: 0 center;
  background-repeat: no-repeat;
  background-size: 400% 100%;
  border: 3px solid rgba(255,255,255,.82);
  border-radius: 45% 45% 48% 48% / 34% 34% 58% 58%;
  bottom: 9px;
  box-shadow: 0 5px 12px rgba(37,82,121,.1);
  content: "";
  pointer-events: none;
  position: absolute;
  right: -10px;
  transform: rotate(2deg);
  width: clamp(43px,4.2vw,58px);
  z-index: 2;
}
.tcher-island:nth-child(2n) .tcher-island-land::before,
.tcher-video-island:nth-child(2n) .tcher-video-island-land::before { background-position: 33.333% center; }
.tcher-island:nth-child(3n) .tcher-island-land::before,
.tcher-video-island:nth-child(3n) .tcher-video-island-land::before { background-position: 66.666% center; }
.tcher-island:nth-child(4n) .tcher-island-land::before,
.tcher-video-island:nth-child(4n) .tcher-video-island-land::before { background-position: 100% center; }
.tcher-island-land b,
.tcher-video-island-land b { margin-left: -33%; position: relative; z-index: 1; }
.tcher-island-land em,
.tcher-video-island-land em { z-index: 3; }

/* Character cards and lessons share the same soft gradient surface language. */
.tcher-island-map,
.tcher-video-island-map,
.tcher-adventure-map {
  background-image:
    radial-gradient(circle at 12% 17%,rgba(255,255,255,.92) 0 4px,transparent 5px),
    radial-gradient(circle at 79% 70%,rgba(255,255,255,.8) 0 3px,transparent 4px),
    linear-gradient(150deg,var(--tcher-pastel-sky),#e4f4ff 46%,var(--tcher-pastel-mint));
}
.tcher-island.is-open,
.tcher-video-island,
.tcher-course-card,
.classic-lesson {
  background-image: linear-gradient(145deg,rgba(255,255,255,.98),rgba(246,250,255,.9));
}
.tcher-island.is-open:nth-child(3n+2),
.tcher-video-island:nth-child(3n+2) { background-image: linear-gradient(145deg,rgba(255,255,255,.98),rgba(255,240,245,.9)); }
.tcher-island.is-open:nth-child(3n+3),
.tcher-video-island:nth-child(3n+3) { background-image: linear-gradient(145deg,rgba(255,255,255,.98),rgba(242,238,255,.9)); }
.tcher-island.is-locked { background: rgba(241,245,247,.64); }

@media (max-width: 1000px) {
  .classic-course-head { padding-right: clamp(20px,4vw,34px); }
  .classic-course-head::after { right: 292px; width: 72px; }
}
@media (max-width: 700px) {
  .classic-cover::after { right: 10px; top: 10px; width: 64px; }
  .classic-cover > h1,
  .classic-cover > p { max-width: calc(100% - 72px); }
  .classic-course-head { padding-right: 15px; padding-top: 105px; }
  .classic-course-head::after { left: 50%; right: auto; top: 8px; transform: translateX(-50%); width: 66px; }
  .tcher-checkin-panel::after,
  .tcher-island-directory::after { top: 8px; width: 55px; }
  .tcher-checkin-head { padding-right: 58px; }
  .tcher-island-directory > .classic-section-heading { padding-right: 60px; }
  .tcher-lesson-page-heading { min-height: 132px; padding-right: 90px; }
  .tcher-lesson-page-heading::after { right: 13px; width: 65px; }
  .tcher-video-hero { padding-right: 95px; }
  .tcher-video-hero::after { right: 12px; width: 68px; }
  .tcher-island-land::before,
  .tcher-video-island-land::before { bottom: 7px; right: -6px; width: 37px; }
}
@media (prefers-reduced-motion: no-preference) {
  .tcher-island.is-open .tcher-island-land::before,
  .tcher-video-island .tcher-video-island-land::before { animation: tcher-guide-bob 3.4s ease-in-out infinite; }
  .tcher-island:nth-child(2n) .tcher-island-land::before,
  .tcher-video-island:nth-child(2n) .tcher-video-island-land::before { animation-delay: -.9s; }
}
@keyframes tcher-guide-bob {
  0%,100% { transform: translateY(0) rotate(1deg); }
  50% { transform: translateY(-4px) rotate(-1deg); }
}

/* v2.32.0 — complete student experience replacement: one storybook adventure world. */
body.tcher-portal-page .entry-header,
body.tcher-portal-page .page-header { display: none !important; }

.eiei-classic {
  --adventure-ink: #263b59;
  --adventure-blue: #6fa9dc;
  --adventure-blue-soft: #edf7ff;
  --adventure-mint: #9fcfb5;
  --adventure-mint-soft: #eef9f2;
  --adventure-pink: #e8abb8;
  --adventure-pink-soft: #fff2f5;
  --adventure-lilac: #b9addd;
  --adventure-lilac-soft: #f5f1ff;
  --adventure-gold: #e8bf68;
  --adventure-cream: #fffaf1;
  --adventure-line: rgba(67,99,135,.14);
  --adventure-shadow: 0 18px 48px rgba(67,91,122,.09);
  --tcher-guide-sprite: none;
  color: var(--adventure-ink);
  font-family: "Microsoft YaHei", "PingFang SC", "Noto Sans SC", Arial, sans-serif;
  max-width: 1280px;
}
.eiei-classic.classic-font-handwritten,
.eiei-classic.classic-font-serif,
.eiei-classic.classic-font-clear { font-family: "Microsoft YaHei", "PingFang SC", "Noto Sans SC", Arial, sans-serif; }
.eiei-classic h1,
.eiei-classic h2,
.eiei-classic h3,
.eiei-classic h4 { color: var(--adventure-ink); font-family: inherit; letter-spacing: -.025em; }
.eiei-classic p { color: #5f7188; font-family: inherit; line-height: 1.75; }

.eiei-classic .classic-paper,
.eiei-classic.classic-outline-clean .classic-paper {
  background: rgba(255,255,255,.94);
  border: 1px solid var(--adventure-line);
  border-radius: 30px;
  box-shadow: var(--adventure-shadow);
  margin-bottom: 24px;
  padding: clamp(24px,4vw,48px);
  transform: none;
}
.eiei-classic .classic-paper::before,
.eiei-classic .classic-paperclip { display: none !important; }
.classic-course-head::after,
.classic-cover::after,
.tcher-checkin-panel::after,
.tcher-island-directory::after,
.tcher-lesson-page-heading::after,
.tcher-video-hero::after { display: none !important; }

/* Quiet partnership bar: the two required logos remain, but no oversized frame. */
.eiei-classic .tcher-partnership-banner {
  background: rgba(255,255,255,.9);
  border: 1px solid rgba(84,119,159,.13);
  border-radius: 24px;
  box-shadow: 0 10px 32px rgba(58,91,126,.07);
  margin-bottom: 18px;
  padding: 16px clamp(20px,4vw,42px);
}
.eiei-classic .tcher-partnership-banner::before { height: 3px; opacity: .75; }
.eiei-classic .tcher-partnership-divider b {
  background: #f4f8fb;
  border-color: rgba(59,94,133,.14);
  color: #5a6f88;
  font-size: 10px;
  letter-spacing: .08em;
}

/* Login and home become one full illustrated world, not a stack of dashboard cards. */
.eiei-classic .classic-cover,
.eiei-classic .classic-course-head {
  background-color: #f1f8ff;
  background-image:
    linear-gradient(90deg,rgba(250,253,255,.98) 0%,rgba(250,253,255,.92) 43%,rgba(250,253,255,.22) 68%,rgba(250,253,255,.02) 100%),
    url("tcheriv-adventure-home.webp");
  background-position: center, right center;
  background-repeat: no-repeat;
  background-size: cover, auto 100%;
  border: 0;
  border-radius: 34px;
  box-shadow: 0 22px 55px rgba(61,101,140,.14);
  min-height: 540px;
  overflow: hidden;
  padding: clamp(34px,5vw,62px);
}
.eiei-classic .classic-cover > h1,
.eiei-classic .classic-cover > p,
.eiei-classic .classic-cover > form,
.eiei-classic .classic-cover > .tcher-student-login { max-width: 54%; position: relative; z-index: 2; }
.eiei-classic .classic-cover .classic-cover-label,
.eiei-classic .classic-course-head .classic-overline {
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(96,133,171,.18);
  border-radius: 999px;
  color: #647d98;
  font: 800 10px/1.2 inherit;
  letter-spacing: .12em;
  padding: 8px 12px;
}
.eiei-classic .classic-cover .classic-cover-label::before,
.eiei-classic .classic-course-head .classic-overline::before { color: #d8a64f; content: "✦"; }
.eiei-classic .classic-cover h1,
.eiei-classic .classic-course-head h1 {
  color: #263b59;
  font-size: clamp(34px,4.8vw,58px);
  line-height: 1.12;
  margin: 18px 0 12px;
  max-width: 680px;
  padding: 0;
}
.eiei-classic .classic-cover .classic-subtitle,
.eiei-classic .classic-course-head .classic-subtitle { color: #527ca1; font-size: clamp(17px,2vw,22px) !important; }
.eiei-classic .tcher-online-hero-grid {
  display: block;
  max-width: 56%;
  position: relative;
  z-index: 2;
}
.eiei-classic .tcher-online-entry {
  backdrop-filter: blur(12px);
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(87,134,168,.16);
  border-radius: 20px;
  box-shadow: 0 10px 30px rgba(59,99,137,.08);
  margin-top: 26px;
  padding: 16px;
  width: 100%;
}
.eiei-classic .tcher-online-entry h2 { font-size: 19px; margin-bottom: 12px; }
.eiei-classic .tcher-online-entry-buttons > * {
  border: 1px solid rgba(89,126,160,.13);
  border-radius: 14px;
  min-height: 68px;
  padding: 10px;
  transform: none !important;
}
.eiei-classic .tcher-online-entry-buttons a { background: #739f8c; box-shadow: none; }
.eiei-classic .tcher-online-entry-buttons button:disabled { background: rgba(228,235,237,.9); }
.eiei-classic .tcher-account-row,
.eiei-classic .classic-course-head > .tcher-access-expiry,
.eiei-classic .classic-course-head > .classic-progress,
.eiei-classic .classic-course-head > .tcher-score-update { max-width: 56%; position: relative; z-index: 2; }
.eiei-classic .tcher-account-row { border-top-color: rgba(75,112,148,.13); margin-top: 22px; }

/* Progress is one compact quest strip instead of four corporate cards. */
.eiei-classic .classic-course-head .tcher-stat-grid {
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(78,119,158,.14);
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba(61,95,131,.07);
  display: grid;
  gap: 0;
  grid-template-columns: repeat(4,minmax(0,1fr));
  margin: 22px 0 12px;
  max-width: 56%;
  overflow: hidden;
  padding: 0;
  position: relative;
  z-index: 2;
}
.eiei-classic .classic-course-head .tcher-stat-grid > div {
  background: transparent;
  border: 0;
  border-radius: 0;
  border-right: 1px solid rgba(75,111,145,.12);
  box-shadow: none;
  display: block;
  min-height: 76px;
  padding: 14px 10px;
  text-align: left;
  transform: none;
}
.eiei-classic .classic-course-head .tcher-stat-grid > div:last-child { border-right: 0; }
.eiei-classic .classic-course-head .tcher-stat-grid > div::before { display: none; }
.eiei-classic .classic-course-head .tcher-stat-grid strong {
  color: #456b8e;
  font-size: clamp(18px,2vw,24px);
  line-height: 1.15;
}
.eiei-classic .classic-course-head .tcher-stat-grid span { color: #718096; font-size: 10px; margin-top: 7px; }
.eiei-classic .classic-course-head .classic-progress { background: rgba(255,255,255,.72); height: 6px; }
.eiei-classic .classic-course-head .classic-progress span { background: linear-gradient(90deg,#7cadd6,#9acbb2,#e5bd72); }
.eiei-classic .classic-course-head .tcher-score-update { color: #718096; font-size: 10px; text-align: left; }

/* Discovery archipelago: the category itself is the island. */
.eiei-classic .tcher-video-entry {
  background: linear-gradient(145deg,#f7fbff,#eef8f5);
  border: 1px solid rgba(86,126,160,.13);
  display: grid;
  gap: 26px;
  grid-template-columns: minmax(220px,.75fr) minmax(520px,1.5fr);
  padding: clamp(28px,4vw,44px);
}
.eiei-classic .tcher-video-entry h2 { font-size: clamp(25px,3vw,36px); }
.eiei-classic .tcher-video-entry .tcher-video-note {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
}
.eiei-classic .tcher-video-entry .tcher-video-note > span { display: none; }
.eiei-classic .tcher-video-island-map {
  background: transparent;
  border: 0;
  counter-reset: tcher-video-island;
  gap: clamp(10px,2vw,20px);
  overflow: visible;
  padding: 0;
}
.eiei-classic .tcher-video-island {
  background: transparent !important;
  border: 0;
  box-shadow: none !important;
  counter-increment: tcher-video-island;
  min-height: 170px;
  padding: 3px 5px 10px;
}
.eiei-classic .tcher-video-island:hover { transform: translateY(-5px); }
.eiei-classic .tcher-video-island-land {
  background: linear-gradient(155deg,#c7ead5,#86c8aa) !important;
  border: 10px solid #fff1c6;
  border-radius: 52% 48% 56% 44% / 58% 54% 46% 42%;
  box-shadow: 0 14px 0 -7px rgba(74,120,153,.14),0 18px 28px rgba(71,111,145,.12);
  height: 94px;
  margin-bottom: 17px;
  transform: rotate(-2deg) !important;
  width: 132px;
}
.eiei-classic .tcher-video-island:nth-child(2) .tcher-video-island-land { background: linear-gradient(155deg,#f3d0d9,#dda8b8) !important; transform: rotate(2deg) !important; }
.eiei-classic .tcher-video-island:nth-child(3) .tcher-video-island-land { background: linear-gradient(155deg,#dcd4f3,#b5a7dc) !important; transform: rotate(-1deg) !important; }
.eiei-classic .tcher-video-island-land b,
.eiei-classic .tcher-video-island-land em { display: none; }
.eiei-classic .tcher-video-island-land::before {
  align-items: center;
  aspect-ratio: auto;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(69,99,126,.1);
  border-radius: 999px;
  bottom: auto;
  box-shadow: none;
  color: #5c7490;
  content: counter(tcher-video-island,decimal-leading-zero);
  display: flex;
  font: 800 11px/1 inherit;
  height: 32px;
  justify-content: center;
  left: 50%;
  right: auto;
  top: 50%;
  transform: translate(-50%,-50%);
  width: 46px;
}

/* Achievement chapter: an illustrated finish island with a compact 50-step trail. */
.eiei-classic .tcher-checkin-panel { background: #fff; padding: clamp(22px,3vw,34px); }
.eiei-classic .tcher-checkin-head {
  align-items: flex-start;
  background-color: #f6faff;
  background-image:
    linear-gradient(90deg,rgba(252,254,255,.98),rgba(252,254,255,.88) 46%,rgba(252,254,255,.08) 72%),
    url("tcheriv-adventure-award.webp");
  background-position: center, right center;
  background-repeat: no-repeat;
  background-size: cover, auto 100%;
  border-radius: 24px;
  display: block;
  min-height: 240px;
  padding: clamp(25px,4vw,42px);
  position: relative;
}
.eiei-classic .tcher-checkin-head > div { max-width: 56%; }
.eiei-classic .tcher-checkin-head h2 { font-size: clamp(26px,3vw,38px); margin: 12px 0 8px; }
.eiei-classic .tcher-checkin-head p { color: #657890; font-size: 13px; }
.eiei-classic .tcher-checkin-head > strong {
  align-items: center;
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(197,145,64,.25);
  border-radius: 999px;
  bottom: 30px;
  color: #9b6c27;
  display: inline-flex;
  font-size: 15px;
  height: auto;
  justify-content: center;
  left: clamp(25px,4vw,42px);
  min-width: 92px;
  padding: 10px 17px;
  position: absolute;
  white-space: nowrap;
  width: auto;
}
.eiei-classic .tcher-adventure-map {
  background:
    radial-gradient(circle at 13% 22%,rgba(255,255,255,.95) 0 3px,transparent 4px),
    radial-gradient(circle at 82% 76%,rgba(255,255,255,.8) 0 4px,transparent 5px),
    linear-gradient(155deg,#eef8ff,#e7f5fb 48%,#eff8f1);
  border: 0;
  border-radius: 24px;
  box-shadow: inset 0 0 0 1px rgba(80,124,158,.11);
  gap: 11px;
  margin-top: 18px;
  padding: clamp(24px,4vw,38px);
}
.eiei-classic .tcher-map-scenery { display: none; }
.eiei-classic .tcher-map-route-row { gap: clamp(5px,1.2vw,14px); }
.eiei-classic .tcher-map-route-row::before { border-top: 2px dashed rgba(88,132,165,.18); }
.eiei-classic .tcher-map-node {
  aspect-ratio: 1;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(94,128,158,.18);
  border-radius: 9px;
  box-shadow: 0 5px 12px rgba(61,91,120,.07);
  color: #72839a;
  font-size: clamp(8px,1vw,11px);
  max-width: 35px;
  min-width: 22px;
}
.eiei-classic .tcher-map-node.is-filled { background: linear-gradient(145deg,#f8df9e,#e9bd68); border-color: rgba(170,117,41,.2); color: #7b581f; }
.eiei-classic .tcher-map-node.is-filled b { font-size: 0; }
.eiei-classic .tcher-map-node.is-filled b::after { content: "✓"; font-size: 12px; }
.eiei-classic .tcher-map-node.is-current { background: linear-gradient(145deg,#efc4ce,#dda1b0); border-color: rgba(159,91,109,.28); color: #71414e; transform: scale(1.08); }
.eiei-classic .tcher-map-node.is-current b { font-size: 0; }
.eiei-classic .tcher-map-node.is-current b::after { content: "◆"; font-size: 11px; }
.eiei-classic .tcher-map-node.is-checkpoint { border-width: 1px; }
.eiei-classic .tcher-map-finish {
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(105,131,157,.13);
  border-radius: 999px;
  bottom: 11px;
  color: #687c92;
  padding: 7px 10px;
  right: 14px;
}
.eiei-classic .tcher-map-finish span { display: none; }
.eiei-classic .tcher-map-finish b { color: inherit; }
.eiei-classic .tcher-redeem-progress { background: #f8fbff; border-color: rgba(87,124,158,.14); border-radius: 20px; }
.eiei-classic .tcher-combined-track { background: #e9eff5; }
.eiei-classic .tcher-combined-track i { background: linear-gradient(90deg,#7facd2,#9bcbb1,#e7bf6d); }

/* Course world: real chapter islands on one route, no pasted mascot stickers. */
.eiei-classic .tcher-island-directory { background: #fff; padding: clamp(22px,3vw,34px); }
.eiei-classic .tcher-island-directory > .classic-section-heading {
  align-items: flex-start;
  background-color: #f5f9ff;
  background-image:
    linear-gradient(90deg,rgba(252,254,255,.98),rgba(252,254,255,.9) 46%,rgba(252,254,255,.06) 72%),
    url("tcheriv-adventure-map.webp");
  background-position: center, center;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 24px;
  display: flex;
  min-height: 220px;
  padding: clamp(28px,4vw,44px);
}
.eiei-classic .classic-section-heading > span {
  background: #6c8fb1;
  border-radius: 12px;
  box-shadow: none;
  flex-basis: 48px;
  font: 800 11px/1 inherit;
  height: 42px;
  transform: none;
}
.eiei-classic .classic-section-heading > div { max-width: 50%; }
.eiei-classic .classic-section-heading h2 { font-size: clamp(27px,3.2vw,40px); }
.eiei-classic .classic-section-heading p { color: #63768c; font-size: 13px; }
.eiei-classic .tcher-continue-learning {
  background: #f2f7fc;
  border: 1px solid rgba(76,116,153,.13);
  border-radius: 16px;
  box-shadow: none;
}
.eiei-classic .tcher-level > header { border-bottom-color: rgba(65,102,137,.11); margin-top: 28px; }
.eiei-classic .tcher-level > header > b { display: none; }
.eiei-classic .tcher-level > header h3 { font-size: clamp(22px,2.6vw,31px); }
.eiei-classic .tcher-island-map {
  background:
    radial-gradient(circle at 18% 22%,rgba(255,255,255,.95) 0 3px,transparent 4px),
    radial-gradient(circle at 78% 70%,rgba(255,255,255,.8) 0 4px,transparent 5px),
    linear-gradient(155deg,#edf8ff,#e5f4fb 48%,#edf8f1);
  border: 0;
  border-radius: 26px;
  box-shadow: inset 0 0 0 1px rgba(73,119,154,.1);
  counter-reset: tcher-course-island;
  gap: clamp(18px,3vw,34px);
  overflow: hidden;
  padding: clamp(26px,5vw,54px);
}
.eiei-classic .tcher-island-map::before {
  border-top: 3px dashed rgba(255,255,255,.9);
  content: "";
  left: 9%;
  pointer-events: none;
  position: absolute;
  right: 9%;
  top: 48%;
  transform: rotate(-3deg);
}
.eiei-classic .tcher-island {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0;
  box-shadow: none !important;
  counter-increment: tcher-course-island;
  min-height: 245px;
  padding: 6px;
  position: relative;
}
.eiei-classic .tcher-island.is-open:hover { transform: translateY(-6px); }
.eiei-classic .tcher-island-land {
  background: linear-gradient(155deg,#bde7cd,#7ac3a0) !important;
  border: 11px solid #fff0bd;
  border-radius: 52% 48% 56% 44% / 58% 54% 46% 42%;
  box-shadow: 0 16px 0 -8px rgba(64,109,145,.16),0 20px 32px rgba(60,101,136,.13);
  height: clamp(105px,11vw,135px);
  margin-bottom: 20px;
  transform: rotate(-2deg) !important;
  width: clamp(145px,15vw,184px);
}
.eiei-classic .tcher-island:nth-child(2) .tcher-island-land { background: linear-gradient(155deg,#f1c9d3,#dda5b4) !important; transform: rotate(2deg) !important; }
.eiei-classic .tcher-island:nth-child(3) .tcher-island-land { background: linear-gradient(155deg,#dcd4f1,#b2a5d8) !important; transform: rotate(-1deg) !important; }
.eiei-classic .tcher-island:nth-child(4) .tcher-island-land { background: linear-gradient(155deg,#f4deb0,#deb873) !important; transform: rotate(2deg) !important; }
.eiei-classic .tcher-island-land b,
.eiei-classic .tcher-island-land em { display: none; }
.eiei-classic .tcher-island-land::before {
  align-items: center;
  aspect-ratio: auto;
  background: rgba(255,255,255,.84);
  border: 1px solid rgba(69,99,126,.1);
  border-radius: 999px;
  bottom: auto;
  box-shadow: none;
  color: #5d7390;
  content: counter(tcher-course-island,decimal-leading-zero);
  display: flex;
  font: 800 12px/1 inherit;
  height: 27px;
  justify-content: center;
  left: 16px;
  right: auto;
  top: 14px;
  transform: none;
  width: 38px;
}
.eiei-classic .tcher-island-title {
  background: rgba(255,255,255,.84);
  border: 1px solid rgba(67,96,122,.1);
  border-radius: 999px;
  box-shadow: 0 6px 14px rgba(58,91,121,.08);
  color: #405c78;
  display: block;
  font: 850 clamp(13px,1.45vw,18px)/1.1 inherit;
  left: 50%;
  max-width: calc(100% - 22px);
  overflow: hidden;
  padding: 7px 12px;
  position: absolute;
  text-overflow: ellipsis;
  top: 58%;
  transform: translate(-50%,-50%);
  white-space: nowrap;
  z-index: 2;
}
.eiei-classic .tcher-island > strong,
.eiei-classic .tcher-video-island > strong { display: none; }
.eiei-classic .tcher-video-island .tcher-island-title { font-size: 13px; padding: 6px 9px; }
.eiei-classic .tcher-island-land::after { background: rgba(53,101,138,.12); bottom: -25px; height: 13px; width: 72%; }
.eiei-classic .tcher-island > strong { font-size: clamp(20px,2.2vw,28px); }
.eiei-classic .tcher-island > small { color: #708096; font-size: 11px; }
.eiei-classic .tcher-island > span { background: rgba(255,255,255,.8); color: #537496; font-size: 10px; }
.eiei-classic .tcher-island.is-locked { filter: grayscale(.75); opacity: .42; }

/* Units and missions become a clean quest list. */
.eiei-classic .tcher-term-units {
  background: #f5f9fd;
  border: 1px solid rgba(72,113,150,.12);
  border-radius: 20px;
  margin-top: 18px;
  padding: 18px;
}
.eiei-classic .tcher-unit-card {
  background: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(78,117,153,.12);
  border-radius: 15px;
  box-shadow: none;
}
.eiei-classic .tcher-unit-card.is-current { background: var(--adventure-cream) !important; border-color: rgba(211,158,70,.24); box-shadow: inset 3px 0 0 #e1b85f; }
.eiei-classic .tcher-unit-card > span { font-family: inherit; font-size: 16px; }
.eiei-classic .tcher-unit-panel { background: #fff; }
.eiei-classic .tcher-course-grid,
.eiei-classic .tcher-paged-course-grid { display: grid; gap: 11px; grid-template-columns: 1fr; }
.eiei-classic .tcher-course-card {
  align-items: center;
  background: #fff !important;
  border: 1px solid rgba(73,111,148,.14);
  border-radius: 18px;
  box-shadow: 0 8px 22px rgba(58,90,121,.055);
  display: grid;
  gap: 15px;
  grid-template-columns: 48px minmax(0,1fr) auto;
  min-height: 90px;
  padding: 13px 14px;
  transform: none !important;
}
.eiei-classic .tcher-course-card::after { display: none; }
.eiei-classic .tcher-course-card:hover { border-color: rgba(79,124,163,.3); box-shadow: 0 12px 28px rgba(58,90,121,.09); }
.eiei-classic .tcher-course-card.is-passed { border-color: rgba(94,161,128,.35); box-shadow: inset 4px 0 0 #9bcbb1; }
.eiei-classic .tcher-card-order {
  background: #edf5fb;
  border: 0;
  border-radius: 13px;
  color: #58799a;
  font-size: 13px;
  height: 46px;
  width: 46px;
}
.eiei-classic .tcher-course-card.is-passed .tcher-card-order { background: #e8f6ee; color: #4d8467; }
.eiei-classic .tcher-card-copy { min-width: 0; }
.eiei-classic .tcher-course-code { color: #7b8da2; font-size: 9px; letter-spacing: .06em; }
.eiei-classic .tcher-course-card h4 { font-size: 17px; margin: 3px 0 6px; }
.eiei-classic .tcher-card-result { align-items: center; display: flex; flex-wrap: wrap; gap: 9px; }
.eiei-classic .tcher-course-filters {
  gap: 9px;
  margin-bottom: 18px;
  padding: 2px 1px 6px;
}
.eiei-classic .tcher-course-filters a {
  background: #fbfcfd;
  border: 1px solid rgba(99,121,145,.16);
  box-shadow: none;
  color: #65778c !important;
  font-size: 12px;
  padding: 8px 14px;
}
.eiei-classic .tcher-course-filters a:nth-child(2) { background: #fff8eb; border-color: rgba(205,157,77,.2); color: #8f6b31 !important; }
.eiei-classic .tcher-course-filters a:nth-child(3) { background: #edf8f2; border-color: rgba(95,154,124,.2); color: #4f8066 !important; }
.eiei-classic .tcher-course-filters a.is-active {
  background: linear-gradient(135deg,#f6dbe2,#ecc7d1);
  border-color: rgba(169,103,121,.22);
  box-shadow: 0 7px 16px rgba(126,85,99,.08);
  color: #76505c !important;
}
.eiei-classic .tcher-red-score {
  border: 0;
  color: #cb7180;
  font-family: KaiTi,STKaiti,serif;
  font-size: 15px;
  transform: none;
}
.eiei-classic .tcher-course-card > a {
  background: #5f87ad;
  border: 0;
  border-radius: 12px;
  box-shadow: none;
  color: #fff !important;
  font-size: 12px;
  min-height: 42px;
  min-width: 104px;
  padding: 11px 14px;
  width: auto;
}
.eiei-classic .tcher-course-card > a:hover { background: #496f94; }

/* One-lesson page gets its own integrated scholar scene. */
.eiei-classic .tcher-lesson-page-heading {
  align-items: center;
  background-color: #f6f8ff;
  background-image:
    linear-gradient(90deg,rgba(253,253,255,.99),rgba(253,253,255,.9) 48%,rgba(253,253,255,.04) 73%),
    url("tcheriv-adventure-lesson.webp");
  background-position: center, center;
  background-repeat: no-repeat;
  background-size: cover;
  border: 0;
  min-height: 250px;
  padding: clamp(30px,5vw,52px);
  padding-right: 44%;
}
.eiei-classic .tcher-lesson-page-heading small { color: #7b6ca3; }
.eiei-classic .tcher-lesson-page-heading h1 { font-size: clamp(30px,4vw,48px); }
.eiei-classic .tcher-lesson-page-heading > strong { background: rgba(255,255,255,.84); border-color: rgba(89,113,144,.14); color: #5f7691; }
.eiei-classic .classic-lesson {
  background: #fff;
  border: 1px solid rgba(72,111,146,.13);
  border-radius: 28px;
  box-shadow: var(--adventure-shadow);
}
.eiei-classic .classic-number { background: #eef6fc; border: 0; border-radius: 14px; color: #587a9c; transform: none; }
.eiei-classic .classic-resource { border-color: rgba(76,116,151,.13); border-radius: 17px; box-shadow: none; }
.eiei-classic .tcher-lesson-pager { background: #f6f9fc; border-radius: 22px; box-shadow: none; }

@media (max-width: 900px) {
  .eiei-classic .classic-cover,
  .eiei-classic .classic-course-head {
    background-image:
      linear-gradient(180deg,rgba(247,251,255,.05) 0 210px,rgba(251,253,255,.96) 285px,rgba(251,253,255,.99) 100%),
      url("tcheriv-adventure-home.webp");
    background-position: center, 72% top;
    background-size: cover, auto 300px;
    min-height: 0;
    padding-top: 285px;
  }
  .eiei-classic .classic-cover > h1,
  .eiei-classic .classic-cover > p,
  .eiei-classic .classic-cover > form,
  .eiei-classic .classic-cover > .tcher-student-login,
  .eiei-classic .tcher-online-hero-grid,
  .eiei-classic .tcher-account-row,
  .eiei-classic .classic-course-head > .tcher-access-expiry,
  .eiei-classic .classic-course-head .tcher-stat-grid,
  .eiei-classic .classic-course-head > .classic-progress,
  .eiei-classic .classic-course-head > .tcher-score-update { max-width: 100%; width: 100%; }
  .eiei-classic .tcher-video-entry { grid-template-columns: 1fr; }
  .eiei-classic .tcher-island-count-4 { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 640px) {
  .eiei-classic { padding: 7px; }
  .eiei-classic .classic-paper,
  .eiei-classic.classic-outline-clean .classic-paper { border-radius: 22px; margin-bottom: 14px; padding: 17px 14px; }
  .eiei-classic .tcher-partnership-banner { border-radius: 18px; padding: 13px 11px; }
  .eiei-classic .classic-cover,
  .eiei-classic .classic-course-head {
    background-position: center, 72% top;
    background-size: cover, auto 235px;
    border-radius: 24px;
    padding: 225px 16px 20px;
  }
  .eiei-classic .classic-cover h1,
  .eiei-classic .classic-course-head h1 { font-size: 30px; }
  .eiei-classic .classic-cover > h1,
  .eiei-classic .classic-cover > p { max-width: 100%; }
  .eiei-classic .tcher-online-entry { margin-top: 18px; }
  .eiei-classic .classic-course-head .tcher-stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .eiei-classic .classic-course-head .tcher-stat-grid > div { border-bottom: 1px solid rgba(75,111,145,.1); min-height: 68px; }
  .eiei-classic .classic-course-head .tcher-stat-grid > div:nth-child(2n) { border-right: 0; }
  .eiei-classic .classic-course-head .tcher-stat-grid > div:nth-last-child(-n+2) { border-bottom: 0; }
  .eiei-classic .classic-course-head .tcher-score-update { font-size: 9px; }
  .eiei-classic .tcher-video-entry { padding: 22px 14px; }
  .eiei-classic .tcher-video-island-map { gap: 4px; grid-template-columns: repeat(3,minmax(0,1fr)); }
  .eiei-classic .tcher-video-island { min-height: 128px; padding: 2px; }
  .eiei-classic .tcher-video-island-land { border-width: 6px; height: 64px; margin-bottom: 11px; width: 82px; }
  .eiei-classic .tcher-video-island-land::before { font-size: 9px; height: 25px; width: 37px; }
  .eiei-classic .tcher-video-island > strong { font-size: 13px; }
  .eiei-classic .tcher-video-island > small { display: none; }
  .eiei-classic .tcher-checkin-panel,
  .eiei-classic .tcher-island-directory { padding: 12px; }
  .eiei-classic .tcher-checkin-head,
  .eiei-classic .tcher-island-directory > .classic-section-heading,
  .eiei-classic .tcher-lesson-page-heading {
    background-image:
      linear-gradient(180deg,rgba(250,253,255,.02) 0 170px,rgba(251,253,255,.97) 225px,rgba(251,253,255,.99) 100%),
      url("tcheriv-adventure-award.webp");
    background-position: center, 74% top;
    background-size: cover, auto 225px;
    border-radius: 18px;
    min-height: 0;
    padding: 215px 15px 18px;
  }
  .eiei-classic .tcher-island-directory > .classic-section-heading { background-image: linear-gradient(180deg,rgba(250,253,255,.02) 0 170px,rgba(251,253,255,.97) 225px,rgba(251,253,255,.99) 100%),url("tcheriv-adventure-map.webp"); }
  .eiei-classic .tcher-lesson-page-heading { background-image: linear-gradient(180deg,rgba(250,253,255,.02) 0 170px,rgba(251,253,255,.97) 225px,rgba(251,253,255,.99) 100%),url("tcheriv-adventure-lesson.webp"); }
  .eiei-classic .tcher-checkin-head > div,
  .eiei-classic .classic-section-heading > div { max-width: 100%; }
  .eiei-classic .tcher-checkin-head > strong { bottom: auto; left: auto; margin-top: 12px; position: static; }
  .eiei-classic .tcher-adventure-map { border-radius: 18px; gap: 7px; padding: 20px 7px 42px; }
  .eiei-classic .tcher-map-route-row { gap: 3px; }
  .eiei-classic .tcher-map-node { border-radius: 6px; font-size: 7px; min-width: 18px; }
  .eiei-classic .tcher-island-map,
  .eiei-classic .tcher-island-count-4 { gap: 7px; grid-template-columns: repeat(2,minmax(0,1fr)); padding: 18px 8px; }
  .eiei-classic .tcher-island { min-height: 190px; padding: 4px 1px; }
  .eiei-classic .tcher-island-land { border-width: 7px; height: 82px; margin-bottom: 15px; width: 108px; }
  .eiei-classic .tcher-island-land::before { font-size: 8px; height: 21px; left: 9px; top: 8px; width: 29px; }
  .eiei-classic .tcher-island-title { font-size: 11px; max-width: calc(100% - 12px); padding: 5px 7px; }
  .eiei-classic .tcher-island-land::before { font-size: 10px; height: 29px; width: 42px; }
  .eiei-classic .tcher-island > strong { font-size: 17px; }
  .eiei-classic .tcher-island > small { font-size: 9px; }
  .eiei-classic .tcher-course-card { gap: 9px; grid-template-columns: 40px minmax(0,1fr) auto; min-height: 78px; padding: 10px; }
  .eiei-classic .tcher-card-order { height: 38px; width: 38px; }
  .eiei-classic .tcher-course-card h4 { font-size: 14px; }
  .eiei-classic .tcher-course-card > a { grid-column: 3; min-height: 38px; min-width: 68px; padding: 9px 8px; width: auto; }
  .eiei-classic .tcher-course-card > a { font-size: 0; }
  .eiei-classic .tcher-course-card > a::after { content: "开始 →"; font-size: 11px; }
  .eiei-classic .tcher-lesson-page-heading { align-items: flex-start; flex-direction: column; padding-right: 15px; }
  .eiei-classic .tcher-lesson-page-heading h1 { font-size: 28px; }
}

@media (prefers-reduced-motion: reduce) {
  .eiei-classic .tcher-map-node.is-current { animation: none; }
}

/* v2.33.0 — TcherIV ancient academy detective world. */
body.tcher-portal-page {
  background-color: #eee3cb;
  background-image:
    radial-gradient(circle at 16% 18%,rgba(148,92,37,.06) 0 1px,transparent 2px),
    radial-gradient(circle at 76% 72%,rgba(148,92,37,.05) 0 1px,transparent 2px),
    linear-gradient(120deg,rgba(255,251,237,.94),rgba(238,225,197,.94));
  background-size: 24px 24px,31px 31px,auto;
}
.eiei-classic {
  --han-ink: #342319;
  --han-paper: #fff8e8;
  --han-paper-deep: #f4e2bd;
  --han-red: #a92e27;
  --han-red-dark: #74201d;
  --han-indigo: #244d68;
  --han-jade: #2b716b;
  --han-gold: #c89942;
  --han-gold-soft: #ead09a;
  --han-line: rgba(126,75,31,.24);
  --han-shadow: 0 18px 42px rgba(82,49,23,.13);
  color: var(--han-ink);
  font-family: "Microsoft YaHei","PingFang SC","Noto Sans SC",sans-serif;
}
.eiei-classic h1,
.eiei-classic h2,
.eiei-classic h3,
.eiei-classic h4 { color: var(--han-ink); font-family: KaiTi,STKaiti,"Microsoft YaHei",serif; letter-spacing: .01em; }
.eiei-classic p { color: #6d5948; }
.eiei-classic a { color: var(--han-indigo); }
.eiei-classic .classic-paper,
.eiei-classic.classic-outline-clean .classic-paper {
  background-color: var(--han-paper);
  background-image:
    radial-gradient(circle at 10% 20%,rgba(137,82,33,.045) 0 1px,transparent 2px),
    radial-gradient(circle at 88% 74%,rgba(137,82,33,.04) 0 1px,transparent 2px),
    linear-gradient(180deg,rgba(255,253,244,.97),rgba(255,247,228,.97));
  background-size: 28px 28px,37px 37px,auto;
  border: 1px solid rgba(154,99,41,.25);
  border-radius: 20px;
  box-shadow: var(--han-shadow),inset 0 0 0 4px rgba(255,255,255,.42);
  color: var(--han-ink);
}
.eiei-classic .classic-ink-button,
.eiei-classic .tcher-course-card > a,
.eiei-classic .tcher-challenger-card button,
.eiei-classic .tcher-redeem-action .classic-ink-button {
  background: linear-gradient(180deg,#bc4035,#982b25);
  border: 1px solid #79221f;
  border-radius: 10px;
  box-shadow: 0 5px 0 #6f211e,0 10px 20px rgba(107,37,30,.15);
  color: #fff9e8 !important;
}
.eiei-classic .classic-ink-button:hover,
.eiei-classic .tcher-course-card > a:hover { background: linear-gradient(180deg,#c64b3d,#a42f28); transform: translateY(-1px); }
.eiei-classic .classic-outline-button,
.eiei-classic .tcher-switcher-button,
.eiei-classic .tcher-profile-button {
  background: rgba(255,249,233,.94);
  border: 1px solid var(--han-gold-soft);
  border-radius: 9px;
  color: var(--han-indigo) !important;
  box-shadow: 0 3px 0 rgba(113,69,27,.1);
}

/* Fixed announcement plaque; only its sentence moves. */
.eiei-classic .tcher-announcement {
  background: linear-gradient(180deg,#fff9e8,#f5e4bf);
  border: 1px solid #caa256;
  border-radius: 9px;
  box-shadow: 0 5px 16px rgba(94,55,24,.12),inset 0 0 0 2px rgba(255,255,255,.48);
  color: var(--han-ink);
  grid-template-columns: 132px minmax(0,1fr);
  margin: 0 0 15px;
  min-height: 46px;
  overflow: hidden;
}
.eiei-classic .tcher-announcement > strong {
  background: linear-gradient(180deg,#af342b,#8d2723);
  border-right: 3px double #d7b56b;
  color: #fff6dc;
  font-family: KaiTi,STKaiti,serif;
  font-size: 14px;
  letter-spacing: .08em;
  padding: 0 14px;
}
.eiei-classic .tcher-announcement > strong span {
  align-items: center;
  background: #f7e8bf;
  border-radius: 4px;
  color: var(--han-red);
  display: inline-flex;
  height: 24px;
  justify-content: center;
  margin-right: 7px;
  width: 24px;
}
.eiei-classic .tcher-announcement-window { background: rgba(255,252,241,.72); }
.eiei-classic .tcher-announcement-window > span { color: #5e422d; font-size: 13px; font-weight: 700; line-height: 46px; }

/* Partnership is a restrained seal strip, not the main visual. */
.eiei-classic .tcher-partnership-banner {
  background: rgba(255,250,237,.94);
  border: 1px solid rgba(157,102,43,.22);
  border-radius: 15px;
  box-shadow: 0 8px 24px rgba(78,46,22,.08);
  padding: 13px clamp(18px,4vw,38px);
}
.eiei-classic .tcher-partnership-banner::before { background: linear-gradient(90deg,var(--han-indigo) 0 42%,var(--han-gold) 42% 58%,var(--han-red) 58%); height: 3px; }
.eiei-classic .tcher-partnership-divider b { background: #fff8e7; border-color: #dbc28e; color: var(--han-red-dark); font-family: KaiTi,STKaiti,serif; }
.eiei-classic .tcher-student-toolbar { color: #63442d; }

/* Identity and progress: one illustrated case-file cover. */
.eiei-classic .classic-cover,
.eiei-classic .classic-course-head {
  background-color: #f8e8c6;
  background-image:
    linear-gradient(90deg,rgba(255,249,230,.99) 0%,rgba(255,247,225,.94) 44%,rgba(255,246,222,.2) 69%,rgba(255,246,222,.02) 100%),
    url("tcheriv-detective-home.webp");
  background-position: center,right center;
  background-repeat: no-repeat;
  background-size: cover,auto 100%;
  border: 1px solid rgba(154,91,35,.28);
  border-radius: 20px;
  box-shadow: 0 20px 46px rgba(82,48,22,.17),inset 0 0 0 5px rgba(255,255,255,.34);
  min-height: 470px;
  padding: clamp(34px,5vw,58px);
}
.eiei-classic .classic-cover::after,
.eiei-classic .classic-course-head::after {
  border: 1px solid rgba(166,105,45,.35) !important;
  border-radius: 13px;
  content: "";
  display: block !important;
  inset: 12px;
  pointer-events: none;
  position: absolute;
}
.eiei-classic .tcher-online-hero-grid { max-width: 55%; }
.eiei-classic .classic-cover .classic-cover-label,
.eiei-classic .classic-course-head .classic-overline {
  background: var(--han-red);
  border: 1px solid var(--han-red-dark);
  border-radius: 5px;
  color: #fff4d7;
  font-family: KaiTi,STKaiti,serif;
  letter-spacing: .09em;
  padding: 8px 13px;
}
.eiei-classic .classic-cover .classic-cover-label::before,
.eiei-classic .classic-course-head .classic-overline::before { color: #f0cf82; content: "案"; margin-right: 7px; }
.eiei-classic .classic-cover h1,
.eiei-classic .classic-course-head h1 {
  color: #4a271a;
  font-family: KaiTi,STKaiti,"Microsoft YaHei",serif;
  font-size: clamp(34px,4.6vw,58px);
  text-shadow: 0 2px 0 rgba(255,255,255,.72);
}
.eiei-classic .classic-cover .classic-subtitle,
.eiei-classic .classic-course-head .classic-subtitle { color: var(--han-red-dark); font-family: KaiTi,STKaiti,serif; }
.eiei-classic .tcher-account-row,
.eiei-classic .classic-course-head > .tcher-access-expiry,
.eiei-classic .classic-course-head > .classic-progress,
.eiei-classic .classic-course-head > .tcher-score-update { max-width: 55%; }
.eiei-classic .classic-course-head .tcher-stat-grid {
  background: rgba(255,249,232,.92);
  border: 1px solid rgba(159,101,43,.26);
  border-radius: 10px;
  box-shadow: 0 8px 20px rgba(86,50,22,.1),inset 0 0 0 2px rgba(255,255,255,.46);
  max-width: 55%;
}
.eiei-classic .classic-course-head .tcher-stat-grid > div { border-right-color: rgba(151,91,39,.19); }
.eiei-classic .classic-course-head .tcher-stat-grid strong { color: var(--han-red-dark); font-family: KaiTi,STKaiti,serif; }
.eiei-classic .classic-course-head .tcher-stat-grid span { color: #765e49; }
.eiei-classic .classic-course-head .classic-progress { background: rgba(105,76,45,.13); }
.eiei-classic .classic-course-head .classic-progress span { background: linear-gradient(90deg,var(--han-indigo),var(--han-jade),var(--han-gold)); }
.eiei-classic .classic-course-head .tcher-score-update { color: #7d6957; }

/* Award hall: trophy remains the strongest image. */
.eiei-classic .tcher-checkin-panel { padding: clamp(22px,3vw,34px); }
.eiei-classic .tcher-checkin-head {
  background-color: #f8e5bd;
  background-image:
    linear-gradient(90deg,rgba(255,249,230,.99),rgba(255,247,226,.93) 44%,rgba(255,246,225,.08) 72%),
    url("tcheriv-detective-award.webp");
  background-position: center,right center;
  background-repeat: no-repeat;
  background-size: cover,auto 100%;
  border: 1px solid rgba(157,92,34,.28);
  border-radius: 14px;
  box-shadow: inset 0 0 0 4px rgba(255,255,255,.34);
  min-height: 300px;
  padding: clamp(28px,4vw,45px);
}
.eiei-classic .tcher-checkin-head > div { max-width: 53%; }
.eiei-classic .tcher-checkin-head h2 { color: #542a1b; font-family: KaiTi,STKaiti,serif; }
.eiei-classic .tcher-checkin-head p { color: #71533c; }
.eiei-classic .classic-stamp { background: var(--han-red); border: 1px solid var(--han-red-dark); border-radius: 4px; color: #fff4d8; font-family: KaiTi,STKaiti,serif; }
.eiei-classic .tcher-checkin-head > strong {
  background: #fff5d8;
  border: 2px solid var(--han-gold);
  border-radius: 6px;
  bottom: 32px;
  color: var(--han-red-dark);
  font-family: KaiTi,STKaiti,serif;
  font-size: 19px;
}

/* Fifty real check-ins become a five-stage flag campaign. */
.eiei-classic .tcher-adventure-map {
  background-color: #f4dfb5;
  background-image:
    radial-gradient(ellipse at 18% 24%,rgba(91,119,71,.12) 0 7%,transparent 7.4%),
    radial-gradient(ellipse at 74% 69%,rgba(61,112,116,.1) 0 8%,transparent 8.4%),
    linear-gradient(135deg,rgba(255,250,226,.78),rgba(233,207,158,.72));
  border: 1px solid rgba(145,88,35,.32);
  border-radius: 14px;
  box-shadow: inset 0 0 0 4px rgba(255,252,235,.45),0 9px 22px rgba(93,57,27,.09);
  gap: 5px;
  margin-top: 18px;
  overflow: hidden;
  padding: 26px clamp(76px,8vw,110px) 118px;
  position: relative;
}
.eiei-classic .tcher-adventure-map::before {
  color: rgba(113,75,37,.55);
  content: "五十旗阵 · 每完成一次有效练习，插下一旗";
  font-family: KaiTi,STKaiti,serif;
  font-size: 14px;
  left: 22px;
  letter-spacing: .08em;
  position: absolute;
  top: 13px;
}
.eiei-classic .tcher-map-route-row {
  align-items: center;
  display: flex;
  gap: clamp(4px,1vw,12px);
  justify-content: space-between;
  min-height: 66px;
  padding: 6px 0;
  position: relative;
}
.eiei-classic .tcher-map-route-row::before {
  border: 0;
  border-top: 2px dashed rgba(117,73,34,.25);
  left: 10px;
  right: 10px;
  top: 31px;
}
.eiei-classic .tcher-map-route-row::after {
  background: #fff3d1;
  border: 1px solid rgba(150,91,37,.33);
  border-radius: 4px;
  color: var(--han-red-dark);
  content: attr(data-region);
  font: 700 12px/1 KaiTi,STKaiti,serif;
  left: -64px;
  padding: 6px 8px;
  position: absolute;
  top: 20px;
  white-space: nowrap;
}
.eiei-classic .tcher-map-route-row.is-reverse::after { left: auto; right: -64px; }
.eiei-classic .tcher-map-node {
  aspect-ratio: auto;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0;
  box-shadow: none !important;
  color: #6e5b49;
  display: block;
  flex: 0 1 46px;
  height: 52px;
  max-width: 46px;
  min-width: 26px;
  overflow: visible;
  position: relative;
  transform: none;
}
.eiei-classic .tcher-map-node::before {
  background: #735136;
  border-radius: 2px;
  bottom: 2px;
  content: "";
  left: 4px;
  position: absolute;
  top: 1px;
  width: 3px;
  z-index: 1;
}
.eiei-classic .tcher-map-node::after {
  background: #d7c7a8;
  border: 1px solid rgba(99,73,50,.22);
  clip-path: polygon(0 0,100% 0,82% 50%,100% 100%,0 100%);
  content: "";
  height: 30px;
  left: 7px;
  position: absolute;
  top: 3px;
  width: calc(100% - 7px);
  z-index: 1;
}
.eiei-classic .tcher-map-node b {
  color: #786b5b;
  font: 800 10px/1 Arial,sans-serif;
  left: 11px;
  position: absolute;
  right: 4px;
  text-align: center;
  top: 13px;
  z-index: 2;
}
.eiei-classic .tcher-map-node.is-filled::after { background: linear-gradient(135deg,#d4513f,#a82e28); border-color: #7a221f; }
.eiei-classic .tcher-map-route-row:nth-of-type(3n) .tcher-map-node.is-filled::after { background: linear-gradient(135deg,#39796f,#245b59); border-color: #1e4d4a; }
.eiei-classic .tcher-map-route-row:nth-of-type(3n + 1) .tcher-map-node.is-filled::after { background: linear-gradient(135deg,#376b88,#244b67); border-color: #193c55; }
.eiei-classic .tcher-map-node.is-filled b { color: #fff7df; font-size: 10px; }
.eiei-classic .tcher-map-node.is-current { animation: tcher-current-flag 1.8s ease-in-out infinite; }
.eiei-classic .tcher-map-node.is-current::after { background: linear-gradient(135deg,#efc95f,#d8982f); border-color: #a46f1e; box-shadow: 0 0 0 5px rgba(213,157,48,.16); }
.eiei-classic .tcher-map-node.is-current b { color: #69291d; }
.eiei-classic .tcher-map-node.is-checkpoint { flex-basis: 58px; max-width: 58px; }
.eiei-classic .tcher-map-node.is-checkpoint::after { height: 36px; top: 0; }
.eiei-classic .tcher-map-node.is-checkpoint b { font-size: 12px; top: 13px; }
@keyframes tcher-current-flag { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }
.eiei-classic .tcher-map-finish {
  align-items: center;
  background: linear-gradient(180deg,#fff4cf,#ecd093);
  border: 2px solid #b98835;
  border-radius: 10px;
  bottom: 16px;
  box-shadow: 0 7px 0 rgba(121,73,29,.14),0 14px 24px rgba(91,53,22,.12);
  color: var(--han-red-dark);
  display: flex;
  flex-direction: row;
  gap: 10px;
  padding: 10px 17px;
  right: 22px;
}
.eiei-classic .tcher-map-finish span { display: block; font-size: 40px; filter: drop-shadow(0 4px 3px rgba(100,61,21,.18)); }
.eiei-classic .tcher-map-finish b { color: var(--han-red-dark); font: 800 17px/1.2 KaiTi,STKaiti,serif; }
.eiei-classic .tcher-redeem-progress { background: #fff6dc; border-color: rgba(153,93,37,.3); border-radius: 11px; }
.eiei-classic .tcher-combined-track { background: #e6d5b6; }
.eiei-classic .tcher-combined-track i { background: linear-gradient(90deg,var(--han-indigo),var(--han-jade),var(--han-gold)); }

/* Course chapters are imperial mission medallions connected on a scroll. */
.eiei-classic .tcher-island-directory { padding: clamp(22px,3vw,34px); }
.eiei-classic .tcher-island-directory > .classic-section-heading {
  background-color: #f7e7c4;
  background-image:
    linear-gradient(90deg,rgba(255,249,230,.99),rgba(255,246,222,.92) 45%,rgba(255,246,222,.07) 72%),
    url("tcheriv-detective-map.webp");
  background-position: center,right center;
  background-repeat: no-repeat;
  background-size: cover,auto 100%;
  border: 1px solid rgba(157,94,35,.28);
  border-radius: 14px;
  box-shadow: inset 0 0 0 4px rgba(255,255,255,.33);
  min-height: 265px;
  padding: clamp(28px,4vw,44px);
}
.eiei-classic .classic-section-heading > span {
  background: var(--han-red);
  border: 1px solid var(--han-red-dark);
  border-radius: 50%;
  box-shadow: 0 0 0 4px #f1d49c;
  color: #fff4d6;
  font-family: KaiTi,STKaiti,serif;
}
.eiei-classic .classic-section-heading > div { max-width: 48%; }
.eiei-classic .classic-section-heading h2 { color: #54291a; font-family: KaiTi,STKaiti,serif; }
.eiei-classic .tcher-continue-learning { background: #fff3d4; border-color: rgba(159,96,37,.25); border-radius: 9px; color: var(--han-red-dark); }
.eiei-classic .tcher-level > header { border-bottom: 2px solid rgba(166,105,47,.19); }
.eiei-classic .tcher-level > header h3 { color: var(--han-red-dark); font-family: KaiTi,STKaiti,serif; }
.eiei-classic .tcher-island-map {
  background-color: #f1deb8;
  background-image:
    radial-gradient(circle at 18% 18%,rgba(82,116,79,.09) 0 8%,transparent 8.4%),
    radial-gradient(circle at 83% 72%,rgba(65,95,121,.08) 0 9%,transparent 9.4%),
    linear-gradient(140deg,rgba(255,249,227,.86),rgba(235,211,169,.72));
  border: 1px solid rgba(145,88,36,.28);
  border-radius: 14px;
  box-shadow: inset 0 0 0 4px rgba(255,252,237,.42);
  gap: clamp(24px,4vw,54px);
  padding: clamp(34px,5vw,62px);
}
.eiei-classic .tcher-island-map::before { border-top: 5px solid var(--han-red); box-shadow: 0 5px 0 -2px var(--han-indigo); opacity: .75; top: 45%; }
.eiei-classic .tcher-island { min-height: 285px; padding: 6px; }
.eiei-classic .tcher-island.is-open:hover { transform: translateY(-7px) scale(1.015); }
.eiei-classic .tcher-island-land {
  background: radial-gradient(circle,#fff3d4 0 57%,#ead09a 58% 64%,var(--han-red) 65% 69%,#fff0c6 70%) !important;
  border: 0;
  border-radius: 50%;
  box-shadow: 0 12px 0 -5px rgba(91,53,24,.15),0 18px 28px rgba(91,53,24,.16);
  height: clamp(150px,16vw,195px);
  margin-bottom: 22px;
  transform: none !important;
  width: clamp(150px,16vw,195px);
}
.eiei-classic .tcher-island:nth-child(2) .tcher-island-land { background: radial-gradient(circle,#fff3d4 0 57%,#ead09a 58% 64%,var(--han-indigo) 65% 69%,#fff0c6 70%) !important; }
.eiei-classic .tcher-island:nth-child(3) .tcher-island-land { background: radial-gradient(circle,#fff3d4 0 57%,#ead09a 58% 64%,var(--han-jade) 65% 69%,#fff0c6 70%) !important; }
.eiei-classic .tcher-island:nth-child(4) .tcher-island-land { background: radial-gradient(circle,#fff3d4 0 57%,#ead09a 58% 64%,#a56c27 65% 69%,#fff0c6 70%) !important; }
.eiei-classic .tcher-island-land::before {
  background: var(--han-red);
  border: 2px solid #f2d69c;
  border-radius: 50%;
  color: #fff4d8;
  font-family: KaiTi,STKaiti,serif;
  height: 36px;
  left: 50%;
  top: 23px;
  transform: translateX(-50%);
  width: 36px;
}
.eiei-classic .tcher-island:nth-child(2) .tcher-island-land::before { background: var(--han-indigo); }
.eiei-classic .tcher-island:nth-child(3) .tcher-island-land::before { background: var(--han-jade); }
.eiei-classic .tcher-island-title {
  background: linear-gradient(180deg,#b53a30,#922823);
  border: 2px solid #e4c17b;
  border-radius: 7px;
  box-shadow: 0 5px 0 rgba(102,47,24,.12);
  color: #fff6dd;
  font: 850 clamp(17px,2vw,24px)/1.1 KaiTi,STKaiti,serif;
  max-width: 88%;
  padding: 10px 16px;
  top: 63%;
}
.eiei-classic .tcher-island:nth-child(2) .tcher-island-title { background: linear-gradient(180deg,#326582,#224862); }
.eiei-classic .tcher-island:nth-child(3) .tcher-island-title { background: linear-gradient(180deg,#377d74,#265e59); }
.eiei-classic .tcher-island > small { color: #6b513d; font-size: 12px; }
.eiei-classic .tcher-island > span { background: #fff8e7; border: 1px solid #dcc18b; color: var(--han-red-dark); }
.eiei-classic .tcher-island.is-locked { filter: grayscale(.85); opacity: .52; }
.eiei-classic .tcher-term-units { background: #fff6dd; border-color: rgba(156,94,37,.28); border-radius: 11px; }
.eiei-classic .tcher-unit-card { background: #fffaf0; border-color: rgba(152,91,37,.24); border-radius: 8px; }
.eiei-classic .tcher-unit-card.is-current { background: #f7e5bb; border-color: var(--han-red); box-shadow: 0 5px 0 rgba(140,51,38,.1); }

/* Supplementary library becomes a smaller exploration scroll below the main missions. */
.eiei-classic .tcher-video-entry {
  background: linear-gradient(135deg,#fff7df,#f2dfb9);
  border: 1px solid rgba(150,90,36,.27);
  border-radius: 16px;
  grid-template-columns: minmax(220px,.75fr) minmax(480px,1.5fr);
}
.eiei-classic .tcher-video-entry h2 { color: var(--han-indigo); font-family: KaiTi,STKaiti,serif; }
.eiei-classic .tcher-video-island-map { background: transparent; }
.eiei-classic .tcher-video-island-land {
  background: #fff0c8 !important;
  border: 5px double var(--han-gold);
  border-radius: 50%;
  box-shadow: 0 8px 0 -3px rgba(92,55,25,.13);
}
.eiei-classic .tcher-video-island:nth-child(2) .tcher-video-island-land,
.eiei-classic .tcher-video-island:nth-child(3) .tcher-video-island-land { background: #fff0c8 !important; transform: none !important; }
.eiei-classic .tcher-video-island-land::before { background: var(--han-indigo); color: #fff7df; }
.eiei-classic .tcher-video-island .tcher-island-title { background: #fff8e8; border-color: #dec28d; color: var(--han-ink); }

/* Lessons and exercise lists use case files rather than blue app cards. */
.eiei-classic .tcher-unit-panel,
.eiei-classic .classic-lesson { background: #fff9e9; }
.eiei-classic .tcher-unit-panel-head { border-bottom-color: rgba(157,96,41,.23); }
.eiei-classic .tcher-unit-panel-head > strong { color: var(--han-red-dark); }
.eiei-classic .tcher-course-filters a { background: #fff8e8; border-color: rgba(151,91,38,.25); color: #69462f !important; }
.eiei-classic .tcher-course-filters a:nth-child(2) { background: #f8ecd1; border-color: rgba(151,91,38,.25); color: #7a552f !important; }
.eiei-classic .tcher-course-filters a:nth-child(3) { background: #edf3e5; border-color: rgba(62,109,82,.24); color: #315f4d !important; }
.eiei-classic .tcher-course-filters a.is-active { background: var(--han-red); border-color: var(--han-red-dark); box-shadow: 0 4px 0 #71211d; color: #fff5dc !important; }
.eiei-classic .tcher-course-card {
  background: #fffaf0;
  border: 1px solid rgba(147,87,35,.24);
  border-left: 5px solid var(--han-gold);
  border-radius: 9px;
  box-shadow: 0 7px 18px rgba(85,50,23,.07);
}
.eiei-classic .tcher-course-card.is-passed { border-left-color: var(--han-jade); }
.eiei-classic .tcher-card-order { background: #f6e7c3; border: 1px solid #d4b777; border-radius: 50%; color: var(--han-red-dark); }
.eiei-classic .tcher-course-code { color: #8d6a4b; }
.eiei-classic .tcher-red-score { color: var(--han-red); }
.eiei-classic .tcher-lesson-page-heading {
  background-color: #f8e7c1;
  background-image:
    linear-gradient(90deg,rgba(255,249,230,.99),rgba(255,247,225,.91) 47%,rgba(255,246,222,.06) 73%),
    url("tcheriv-detective-lesson.webp");
  background-position: center,right center;
  background-repeat: no-repeat;
  background-size: cover,auto 100%;
  border: 1px solid rgba(155,92,34,.27);
  border-radius: 16px;
  box-shadow: var(--han-shadow),inset 0 0 0 4px rgba(255,255,255,.34);
}
.eiei-classic .tcher-lesson-page-heading small { color: var(--han-red); }
.eiei-classic .classic-number { background: var(--han-red); border: 2px solid #e3c17c; border-radius: 50%; color: #fff5dc; }
.eiei-classic .classic-resource { background: #fff7e4; border-color: rgba(151,91,38,.24); border-radius: 9px; }
.eiei-classic .classic-resource.is-quiz { background: #edf3e5; }
.eiei-classic .tcher-lesson-pager { background: #f5e6c7; border-radius: 11px; }

/* Personal-center-only exam classroom. */
.eiei-classic .tcher-profile-classroom {
  align-items: center;
  background: linear-gradient(135deg,#fff3d4,#f4e0b8);
  border: 1px solid rgba(151,91,38,.27);
  border-radius: 12px;
  display: grid;
  gap: 22px;
  grid-template-columns: minmax(210px,.7fr) minmax(380px,1.3fr);
  margin: 24px 0;
  padding: 22px;
}
.eiei-classic .tcher-profile-classroom > div > small { color: var(--han-red); font-weight: 800; letter-spacing: .08em; }
.eiei-classic .tcher-profile-classroom > .tcher-online-entry { background: #fff9e9; border-color: rgba(151,91,38,.23); margin: 0; width: auto; }
.eiei-classic .tcher-profile-classroom .tcher-online-entry-buttons a { background: var(--han-jade); }

@media (max-width: 900px) {
  .eiei-classic .classic-cover,
  .eiei-classic .classic-course-head {
    background-image:
      linear-gradient(180deg,rgba(255,249,229,.02) 0 225px,rgba(255,248,228,.96) 300px,rgba(255,248,228,.99) 100%),
      url("tcheriv-detective-home.webp");
    background-position: center,68% top;
    background-size: cover,auto 320px;
    padding-top: 300px;
  }
  .eiei-classic .tcher-online-hero-grid,
  .eiei-classic .tcher-account-row,
  .eiei-classic .classic-course-head > .tcher-access-expiry,
  .eiei-classic .classic-course-head .tcher-stat-grid,
  .eiei-classic .classic-course-head > .classic-progress,
  .eiei-classic .classic-course-head > .tcher-score-update { max-width: 100%; }
  .eiei-classic .tcher-profile-classroom { grid-template-columns: 1fr; }
  .eiei-classic .tcher-adventure-map { padding-left: 74px; padding-right: 74px; }
}

@media (max-width: 640px) {
  body.tcher-portal-page { background: #f4ead6; }
  .eiei-classic { padding: 6px; }
  .eiei-classic .classic-paper,
  .eiei-classic.classic-outline-clean .classic-paper { border-radius: 14px; padding: 15px 11px; }
  .eiei-classic .tcher-announcement { grid-template-columns: 88px minmax(0,1fr); min-height: 40px; }
  .eiei-classic .tcher-announcement > strong { font-size: 10px; padding: 0 7px; }
  .eiei-classic .tcher-announcement > strong span { height: 20px; margin-right: 4px; width: 20px; }
  .eiei-classic .tcher-announcement-window > span { font-size: 11px; line-height: 40px; }
  .eiei-classic .classic-cover,
  .eiei-classic .classic-course-head {
    background-image:
      linear-gradient(180deg,rgba(255,249,229,.02) 0 168px,rgba(255,248,228,.97) 224px,rgba(255,248,228,.99) 100%),
      url("tcheriv-detective-home.webp");
    background-position: center,68% top;
    background-size: cover,auto 235px;
    border-radius: 15px;
    padding: 225px 15px 19px;
  }
  .eiei-classic .classic-course-head h1 { font-size: 29px; }
  .eiei-classic .classic-course-head .tcher-stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .eiei-classic .tcher-checkin-panel,
  .eiei-classic .tcher-island-directory { padding: 9px; }
  .eiei-classic .tcher-checkin-head,
  .eiei-classic .tcher-island-directory > .classic-section-heading,
  .eiei-classic .tcher-lesson-page-heading {
    background-image:
      linear-gradient(180deg,rgba(255,249,229,.01) 0 175px,rgba(255,248,228,.97) 228px,rgba(255,248,228,.99) 100%),
      url("tcheriv-detective-award.webp");
    background-position: center,70% top;
    background-size: cover,auto 235px;
    border-radius: 11px;
    padding: 220px 14px 17px;
  }
  .eiei-classic .tcher-island-directory > .classic-section-heading { background-image: linear-gradient(180deg,rgba(255,249,229,.01) 0 175px,rgba(255,248,228,.97) 228px,rgba(255,248,228,.99) 100%),url("tcheriv-detective-map.webp"); }
  .eiei-classic .tcher-lesson-page-heading { background-image: linear-gradient(180deg,rgba(255,249,229,.01) 0 175px,rgba(255,248,228,.97) 228px,rgba(255,248,228,.99) 100%),url("tcheriv-detective-lesson.webp"); }
  .eiei-classic .tcher-checkin-head > div,
  .eiei-classic .classic-section-heading > div { max-width: 100%; }
  .eiei-classic .tcher-checkin-head > strong { margin-top: 12px; position: static; }
  .eiei-classic .tcher-adventure-map { gap: 1px; padding: 34px 36px 105px; }
  .eiei-classic .tcher-adventure-map::before { font-size: 10px; left: 10px; }
  .eiei-classic .tcher-map-route-row { gap: 1px; min-height: 48px; }
  .eiei-classic .tcher-map-route-row::after { font-size: 8px; left: -31px; padding: 4px 3px; top: 16px; }
  .eiei-classic .tcher-map-route-row.is-reverse::after { left: auto; right: -31px; }
  .eiei-classic .tcher-map-route-row::before { top: 24px; }
  .eiei-classic .tcher-map-node { flex-basis: 26px; height: 40px; max-width: 26px; min-width: 18px; }
  .eiei-classic .tcher-map-node::after { height: 22px; left: 5px; width: calc(100% - 5px); }
  .eiei-classic .tcher-map-node::before { left: 2px; width: 2px; }
  .eiei-classic .tcher-map-node b { font-size: 7px; left: 7px; top: 10px; }
  .eiei-classic .tcher-map-node.is-filled b { font-size: 7px; }
  .eiei-classic .tcher-map-node.is-checkpoint { flex-basis: 31px; max-width: 31px; }
  .eiei-classic .tcher-map-node.is-checkpoint::after { height: 26px; }
  .eiei-classic .tcher-map-node.is-checkpoint b { font-size: 8px; top: 10px; }
  .eiei-classic .tcher-map-finish { bottom: 12px; padding: 7px 11px; right: 12px; }
  .eiei-classic .tcher-map-finish span { font-size: 30px; }
  .eiei-classic .tcher-map-finish b { font-size: 13px; }
  .eiei-classic .tcher-island-map,
  .eiei-classic .tcher-island-count-4 { gap: 10px; grid-template-columns: repeat(2,minmax(0,1fr)); padding: 22px 7px; }
  .eiei-classic .tcher-island { min-height: 208px; }
  .eiei-classic .tcher-island-count-3 .tcher-island:nth-child(3) { grid-column: 1 / -1; justify-self: center; width: calc(50% - 5px); }
  .eiei-classic .tcher-island-land { height: 108px; width: 108px; }
  .eiei-classic .tcher-island-land::before { height: 25px; top: 14px; width: 25px; }
  .eiei-classic .tcher-island-title { font-size: 13px; padding: 7px 9px; top: 65%; }
  .eiei-classic .tcher-island > small { font-size: 9px; }
  .eiei-classic .tcher-video-entry { grid-template-columns: 1fr; padding: 19px 12px; }
  .eiei-classic .tcher-profile-classroom { display: block; padding: 14px; }
  .eiei-classic .tcher-profile-classroom > .tcher-online-entry { margin-top: 15px; }
}

@media (prefers-reduced-motion: reduce) {
  .eiei-classic .tcher-announcement-window > span { animation: none; }
  .eiei-classic .tcher-map-node.is-current { animation: none; }
}

/* v2.34 — unified ancient detective interface */
.eiei-classic .tcher-edict-backdrop {
  align-items: center;
  background: rgba(39,25,15,.58);
  display: flex;
  inset: 0;
  justify-content: center;
  opacity: 0;
  padding: 24px;
  pointer-events: none;
  position: fixed;
  transition: opacity .28s ease;
  z-index: 999999;
}
.eiei-classic .tcher-edict-backdrop.is-open { opacity: 1; pointer-events: auto; }
.eiei-classic .tcher-edict-shell { filter: drop-shadow(0 24px 30px rgba(34,18,8,.36)); max-width: 680px; position: relative; width: min(92vw,680px); }
.eiei-classic .tcher-edict-paper {
  background: linear-gradient(90deg,#e9c881 0,#fff1c6 5%,#fff8dc 50%,#fff1c6 95%,#e9c881 100%);
  border-left: 7px solid #9b3027;
  border-right: 7px solid #9b3027;
  color: #5b261e;
  min-height: 310px;
  overflow: hidden;
  padding: 58px 72px 52px;
  position: relative;
  text-align: center;
  transform: scaleY(.03);
  transform-origin: center;
  transition: transform .68s cubic-bezier(.2,.75,.18,1);
}
.eiei-classic .tcher-edict-paper::before { border: 2px dashed rgba(145,88,35,.38); content: ""; inset: 16px; pointer-events: none; position: absolute; }
.eiei-classic .tcher-edict-backdrop.is-open .tcher-edict-paper { transform: scaleY(1); }
.eiei-classic .tcher-edict-rod { background: linear-gradient(#6f291d,#a84a2d 35%,#612319 40% 62%,#c77c3a 64%,#6d271b); border: 2px solid #4f1f17; border-radius: 999px; height: 26px; left: -28px; position: absolute; right: -28px; z-index: 3; }
.eiei-classic .tcher-edict-rod::before,.eiei-classic .tcher-edict-rod::after { background: #d19b4c; border: 3px solid #713322; border-radius: 50%; content: ""; height: 38px; position: absolute; top: -8px; width: 38px; }
.eiei-classic .tcher-edict-rod::before { left: -9px; }.eiei-classic .tcher-edict-rod::after { right: -9px; }
.eiei-classic .tcher-edict-rod.is-top { top: -12px; transform: translateY(145px); transition: transform .68s cubic-bezier(.2,.75,.18,1); }
.eiei-classic .tcher-edict-rod.is-bottom { bottom: -12px; transform: translateY(-145px); transition: transform .68s cubic-bezier(.2,.75,.18,1); }
.eiei-classic .tcher-edict-backdrop.is-open .tcher-edict-rod { transform: translateY(0); }
.eiei-classic .tcher-edict-paper small { color: #9b3027; font: 800 14px/1.4 KaiTi,STKaiti,serif; letter-spacing: .28em; }
.eiei-classic .tcher-edict-paper h2 { color: #8b201d; font: 900 clamp(30px,5vw,45px)/1.2 KaiTi,STKaiti,serif; margin: 10px 0 24px; }
.eiei-classic .tcher-edict-paper p { font: 700 clamp(17px,2.8vw,22px)/1.9 KaiTi,STKaiti,serif; margin: 0 auto 26px; max-width: 520px; }
.eiei-classic .tcher-edict-paper button { background: #a42f28; border: 4px double #f2cf83; border-radius: 5px; box-shadow: 0 5px 0 #6e201d; color: #fff4da; cursor: pointer; font: 800 15px/1.3 KaiTi,STKaiti,serif; padding: 12px 21px; }
.eiei-classic .tcher-edict-seal { align-items: center; background: #c4382d; border: 3px double #fff2d0; bottom: 26px; color: #fff0d0; display: flex; font: 800 16px/1 KaiTi,STKaiti,serif; height: 56px; justify-content: center; opacity: .9; position: absolute; right: 30px; transform: rotate(-7deg); width: 56px; }

.eiei-classic .tcher-student-logout .classic-outline-button,
.eiei-classic .tcher-profile-center footer .classic-outline-button {
  background: #fff5d8;
  border: 3px double #a52f28;
  border-radius: 7px;
  box-shadow: 0 4px 0 rgba(112,35,28,.2);
  color: #8d2722 !important;
  font-family: KaiTi,STKaiti,serif;
  letter-spacing: .05em;
}
.eiei-classic .tcher-stat-grid > div { background: #fff7df; border-color: rgba(146,80,34,.28); min-height: 112px; padding: 18px 14px 15px 74px; position: relative; }
.eiei-classic .tcher-stat-grid > div::before { align-items: center; background: #bd352d; border: 3px double #ffe9bb; color: #fff5d8; content: "完成"; display: flex; font: 800 14px/1.15 KaiTi,STKaiti,serif; height: 48px; justify-content: center; left: 15px; position: absolute; top: 18px; transform: rotate(-3deg); width: 44px; }
.eiei-classic .tcher-stat-grid > div:nth-child(2)::before { content: "积分"; }.eiei-classic .tcher-stat-grid > div:nth-child(3)::before { content: "功名"; }.eiei-classic .tcher-stat-grid > div:nth-child(4)::before { content: "打卡"; }
.eiei-classic .tcher-checkin-head .classic-stamp { align-items: center; background: #be352d; border: 4px double #ffe6ad; border-radius: 5px; color: #fff4d5; display: inline-flex; font: 800 15px/1.1 KaiTi,STKaiti,serif; height: 64px; justify-content: center; padding: 6px; text-align: center; transform: rotate(-4deg); width: 58px; }

.eiei-classic .tcher-course-card,
.eiei-classic .classic-lesson { background: #fff9e8; border: 2px solid #aa332b; border-radius: 16px; box-shadow: 0 7px 0 rgba(129,75,29,.12); position: relative; }
.eiei-classic .tcher-course-card::before,
.eiei-classic .classic-lesson::before { border: 1px dashed rgba(172,64,43,.44); border-radius: 11px; content: ""; inset: 6px; pointer-events: none; position: absolute; z-index: 0; }
.eiei-classic .tcher-course-card { gap: 19px; grid-template-columns: 78px minmax(0,1fr) auto; min-height: 126px; padding: 18px 18px 18px 25px; }
.eiei-classic .tcher-course-card > * { position: relative; z-index: 1; }
.eiei-classic .tcher-course-card .tcher-card-copy { min-width: 0; }
.eiei-classic .tcher-course-card h4 { background: linear-gradient(180deg,#c83d31,#9f2925); border-radius: 4px 999px 999px 4px; color: #fff7dd; font-family: KaiTi,STKaiti,serif; font-size: 20px; margin: 4px 0 12px; padding: 10px 22px 10px 58px; }
.eiei-classic .tcher-course-card.is-passed h4 { background: linear-gradient(180deg,#277e71,#176157); }
.eiei-classic .tcher-course-card .tcher-course-code { color: #7d5b3f; margin-left: 57px; }
.eiei-classic .tcher-card-order,
.eiei-classic .classic-number { align-items: center; background: radial-gradient(circle at 36% 30%,#eefdf0 0 16%,#bfe2d6 45%,#8fc7b6 70%,#efe0ad 72%); border: 5px solid #b07a31; border-radius: 50%; box-shadow: inset 0 0 0 3px #f2cf7f,0 5px 0 rgba(88,46,20,.16); color: #7f291f; display: flex; font: 900 17px/1 var(--classic-ui-font); height: 64px; justify-content: center; overflow: visible; position: relative; transform: rotate(-4deg); width: 64px; }
.eiei-classic .tcher-card-order::after,
.eiei-classic .classic-number::after { background: linear-gradient(90deg,#71361f,#b66c37 55%,#71361f); border: 2px solid #532616; border-radius: 999px; bottom: -24px; content: ""; height: 18px; position: absolute; right: -15px; transform: rotate(-48deg); width: 39px; z-index: -1; }
.eiei-classic .tcher-course-card .tcher-red-score,
.eiei-classic .classic-lesson-head .tcher-red-score { align-items: center; background: #c43a2f; border: 3px double #ffe6bb; border-radius: 5px; color: #fff4d5; display: flex; flex-direction: column; font: 900 12px/1.15 KaiTi,STKaiti,serif; height: 51px; justify-content: center; left: 101px; padding: 4px; position: absolute; text-align: center; top: 13px; transform: rotate(-4deg); width: 49px; z-index: 3; }
.eiei-classic .tcher-course-card .tcher-red-score small,
.eiei-classic .classic-lesson-head .tcher-red-score small { color: inherit; display: block; font-size: 11px; line-height: 1; margin: 0 0 3px; }
.eiei-classic .tcher-course-card .tcher-red-score.is-pending,
.eiei-classic .classic-lesson-head .tcher-red-score.is-pending { background: #9a8a6d; opacity: .78; }
.eiei-classic .tcher-course-card .tcher-card-result { align-items: center; display: flex; min-height: 25px; }
.eiei-classic .tcher-course-card > a { background: linear-gradient(180deg,#c64b3d,#9d2925); border: 2px solid #7d211e; box-shadow: 0 5px 0 #681c1a; color: #fff6db !important; }
.eiei-classic .classic-lesson { padding: 25px; }
.eiei-classic .classic-lesson-head { background: #fff3d0; border-bottom: 1px solid rgba(159,92,35,.25); border-radius: 11px 11px 4px 4px; padding: 18px 20px 20px; position: relative; }
.eiei-classic .classic-lesson-head > div:nth-child(2) { min-width: 0; }
.eiei-classic .classic-lesson-head h2 { background: linear-gradient(180deg,#c13b31,#942621); border-radius: 5px 999px 999px 5px; color: #fff6d9; font-family: KaiTi,STKaiti,serif; margin-top: 8px; padding: 10px 22px 10px 58px; }
.eiei-classic .classic-lesson-head .tcher-red-score { left: 93px; top: 18px; }
.eiei-classic .classic-lesson-head .classic-result-mark { position: static; }

.eiei-classic .tcher-study-route { display: grid; gap: 12px; margin: 20px 0; }
.eiei-classic .tcher-study-route > header { align-items: center; display: flex; gap: 13px; justify-content: space-between; padding: 0 4px 3px; }
.eiei-classic .tcher-study-route > header strong { color: #84241f; font: 900 23px/1.3 KaiTi,STKaiti,serif; }
.eiei-classic .tcher-study-route > header span { color: #765f48; font-size: 12px; }
.eiei-classic .tcher-study-step { align-items: center; background: #fff7dc; border: 2px solid #248a7a; border-radius: 10px; color: #3d281f !important; display: grid; gap: 0; grid-template-columns: 76px 112px minmax(0,1fr); min-height: 84px; padding: 10px 16px 10px 5px; position: relative; text-decoration: none !important; }
.eiei-classic .tcher-study-step::after { border: 1px dashed rgba(37,139,123,.48); border-radius: 6px; content: ""; inset: 5px; pointer-events: none; position: absolute; }
.eiei-classic .tcher-study-step:nth-of-type(2) { border-color: #bd382d; }.eiei-classic .tcher-study-step:nth-of-type(2)::after { border-color: rgba(189,56,45,.48); }
.eiei-classic .tcher-study-step i { align-items: center; background: radial-gradient(circle,#fff6d8 0 55%,#eac777 57% 64%,#22796e 65% 70%,#fff0c4 71%); border-radius: 50%; display: flex; font: 900 24px/1 KaiTi,STKaiti,serif; height: 70px; justify-content: center; margin-left: -15px; position: relative; width: 70px; z-index: 2; }
.eiei-classic .tcher-study-step > b { background: #218779; clip-path: polygon(0 0,86% 0,100% 50%,86% 100%,0 100%,9% 50%); color: #fff8df; font: 900 20px/1 KaiTi,STKaiti,serif; margin-left: -8px; padding: 14px 22px; position: relative; text-align: center; z-index: 1; }
.eiei-classic .tcher-study-step:nth-of-type(2) > b { background: #bf3b2f; }
.eiei-classic .tcher-study-step > span { padding: 8px 16px; position: relative; z-index: 1; }
.eiei-classic .tcher-study-step > span strong,.eiei-classic .tcher-study-step > span small { display: block; }.eiei-classic .tcher-study-step > span strong { font-size: 17px; }.eiei-classic .tcher-study-step > span small { color: #725d48; margin-top: 4px; }

.eiei-classic .tcher-lesson-checkin { align-items: center; border: 2px solid #218570; border-radius: 14px; box-shadow: inset 0 0 0 5px #fffdf1,inset 0 0 0 6px rgba(33,133,112,.35); display: grid; grid-template-columns: minmax(0,1fr); justify-items: start; min-height: 164px; overflow: visible; padding: 14px 24px 14px 180px; position: relative; }
.eiei-classic .tcher-lesson-checkin form { margin: 0; }
.eiei-classic .tcher-checkin-button { align-items: center; background: linear-gradient(180deg,#249878,#0d785f); border: 2px solid #075b49; border-radius: 11px; box-shadow: 0 6px 0 #075b49; color: #fff; cursor: pointer; display: inline-flex; font-family: var(--classic-ui-font); font-size: 17px; justify-content: center; min-height: 58px; padding: 12px 20px; position: static; }
.eiei-classic .tcher-checkin-button img { bottom: -1px; height: 176px; left: 7px; object-fit: contain; object-position: bottom; position: absolute; width: 168px; }
.eiei-classic .tcher-checkin-button b { font-weight: 900; }

.eiei-classic .tcher-lesson-pager { background: #f5e6c7; border: 2px solid #b88944; border-radius: 14px; box-shadow: inset 0 0 0 5px #fff4d5,inset 0 0 0 6px rgba(151,93,36,.35); gap: 26px; padding: 22px 26px; position: relative; }
.eiei-classic .tcher-lesson-pager::before { background: #cb452e; box-shadow: 0 5px 0 -2px #1f6072; content: ""; height: 5px; left: 11%; position: absolute; right: 11%; top: 67px; }
.eiei-classic .tcher-lesson-pager > a,.eiei-classic .tcher-lesson-pager > span { align-items: center; background: transparent; border: 0; display: grid; justify-items: center; min-height: 160px; padding: 0; position: relative; text-align: center; z-index: 1; }
.eiei-classic .tcher-lesson-pager small { align-items: center; background: radial-gradient(circle,#fff3d2 0 58%,#d9b76f 59% 63%,#1f776f 64% 69%,#fff0c8 70%); border-radius: 50%; color: #74251f; display: flex; font: 900 17px/1.2 KaiTi,STKaiti,serif; height: 102px; justify-content: center; margin: 0 0 -8px; padding: 18px; width: 102px; z-index: 2; }
.eiei-classic .tcher-lesson-pager strong { background: #fff8e4; border: 2px solid #258477; border-radius: 9px; color: #4d2a20; font: 800 14px/1.35 var(--classic-ui-font); min-height: 55px; overflow: hidden; padding: 17px 13px 12px; position: relative; text-overflow: ellipsis; white-space: nowrap; width: 100%; }
.eiei-classic .tcher-lesson-pager strong::after { border: 1px dashed rgba(37,132,119,.45); border-radius: 5px; content: ""; inset: 4px; pointer-events: none; position: absolute; }
.eiei-classic .tcher-lesson-pager .is-directory small { background: radial-gradient(circle,#fff1cf 0 58%,#d7ae5e 59% 63%,#bd392e 64% 69%,#fff0c8 70%); color: #8e2822; }.eiei-classic .tcher-lesson-pager .is-directory strong { border-color: #bd392e; }.eiei-classic .tcher-lesson-pager .is-directory strong::after { border-color: rgba(189,57,46,.45); }

.eiei-classic .tcher-pagination { border-top-color: rgba(151,91,37,.26); gap: 9px; }
.eiei-classic .tcher-pagination a { background: #fff9e7; border: 2px solid #b83129; color: #8f2722 !important; }
.eiei-classic .tcher-pagination .tcher-page-number { clip-path: polygon(20% 0,80% 0,100% 26%,88% 50%,100% 74%,80% 100%,20% 100%,0 74%,12% 50%,0 26%); font: 900 18px/1 KaiTi,STKaiti,serif; height: 48px; padding: 0; width: 58px; }
.eiei-classic .tcher-pagination .tcher-page-number.is-current { background: #b83129; border-color: #7f221e; color: #fff4d3 !important; }
.eiei-classic .tcher-pagination .is-navigation { border: 3px double #a43129; border-radius: 8px; min-width: 110px; }

.eiei-classic .tcher-island-map,.eiei-classic .tcher-video-island-map { align-items: start; background: transparent; gap: 30px; grid-template-columns: repeat(auto-fit,minmax(150px,1fr)); overflow: visible; padding: 28px 12px; position: relative; }
.eiei-classic .tcher-island-map::before { display: none; }
.eiei-classic .tcher-island,.eiei-classic .tcher-video-island { background: transparent; border: 0; box-shadow: none; min-height: 205px; overflow: visible; padding: 2px 6px; position: relative; }
.eiei-classic .tcher-island:not(:last-child)::after,.eiei-classic .tcher-video-island:not(:last-child)::after { color: #d34229; content: "➜"; font-size: 38px; line-height: 1; position: absolute; right: -31px; top: 51px; z-index: 4; }
.eiei-classic .tcher-island-land,.eiei-classic .tcher-video-island-land { background: radial-gradient(circle at 50% 44%,#fff6d9 0 57%,#e3c37b 58% 63%,#24796f 64% 69%,#fff1c8 70%) !important; border: 0; border-radius: 50%; box-shadow: 0 12px 0 -7px rgba(84,59,29,.18); height: 138px; margin: 0 auto 25px; overflow: visible; position: relative; transform: none !important; width: 138px; }
.eiei-classic .tcher-island-land::before,.eiei-classic .tcher-video-island-land::before { display: none !important; }
.eiei-classic .tcher-island-land::after,.eiei-classic .tcher-video-island-land::after { background: rgba(85,62,31,.14); bottom: -34px; height: 10px; }
.eiei-classic .tcher-island-land b,.eiei-classic .tcher-video-island-land b { display: block; filter: drop-shadow(0 4px 3px rgba(54,37,17,.16)); font-size: 48px; font-style: normal; }
.eiei-classic .tcher-island-land em,.eiei-classic .tcher-video-island-land em { display: block; }
.eiei-classic .tcher-island-title,.eiei-classic .tcher-video-island-land .tcher-island-title { background: #267d71; border: 3px solid #c9a85d; border-radius: 7px; bottom: -18px; color: #fff4d3; display: block; font: 900 14px/1.2 KaiTi,STKaiti,serif; left: 50%; max-width: none; padding: 8px 12px; position: absolute; top: auto; transform: translateX(-50%); white-space: nowrap; width: max-content; }
.eiei-classic .tcher-island.is-locked { filter: grayscale(.82); opacity: .58; }.eiei-classic .tcher-island > strong,.eiei-classic .tcher-video-island > strong { display: none; }.eiei-classic .tcher-island > small,.eiei-classic .tcher-video-island > small { margin-top: 9px; }

.eiei-classic .tcher-continue-learning { background: #fff8df; border: 2px solid #248274; border-radius: 10px; box-shadow: inset 0 0 0 5px #fffdf1,inset 0 0 0 6px rgba(36,130,116,.35); grid-template-columns: 112px minmax(0,1fr) auto; min-height: 92px; overflow: hidden; padding: 16px 18px 16px 118px; position: relative; }
.eiei-classic .tcher-continue-learning::before { align-items: center; background: #248274; clip-path: polygon(0 0,86% 0,100% 50%,86% 100%,0 100%); color: #fff4d5; content: "续学"; display: flex; font: 900 24px/1 KaiTi,STKaiti,serif; inset: 8px auto 8px 8px; justify-content: center; position: absolute; width: 100px; }
.eiei-classic .tcher-continue-learning span { color: #8f2b25; font-family: KaiTi,STKaiti,serif; font-size: 15px; }.eiei-classic .tcher-continue-learning b { background: #b83a30; border: 2px solid #8d2722; color: #fff5db; }

.eiei-classic .tcher-award-gate { background: #f2e6c9; border: 3px solid #b78b43; border-radius: 16px; filter: grayscale(.62); opacity: .78; padding: 22px; text-align: center; }
.eiei-classic .tcher-award-gate.is-ready { background: linear-gradient(145deg,#fff6d8,#f3d58e); border-color: #a87524; box-shadow: 0 8px 0 rgba(132,85,24,.18),inset 0 0 0 5px #fff1c4; filter: none; opacity: 1; }
.eiei-classic .tcher-award-gate > header { align-items: center; display: flex; gap: 15px; justify-content: center; margin-bottom: 19px; }.eiei-classic .tcher-award-gate > header > span { align-items: center; background: #a62e28; border: 4px double #ffe8b5; color: #fff1cf; display: flex; font: 900 22px/1 KaiTi,STKaiti,serif; height: 59px; justify-content: center; transform: rotate(-5deg); width: 54px; }.eiei-classic .tcher-award-gate h3 { color: #7e251f; font: 900 25px/1.3 KaiTi,STKaiti,serif; margin: 0; }.eiei-classic .tcher-award-gate header small { color: #856847; display: block; font-weight: 800; }
.eiei-classic .tcher-award-requirements { display: grid; gap: 22px; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 0 auto 17px; max-width: 650px; }.eiei-classic .tcher-award-requirements > div { align-items: center; background: #e9e1cc; border: 5px solid #aaa08d; border-radius: 50%; box-shadow: inset 0 0 0 7px #f8efd9,0 8px 0 rgba(81,62,35,.12); display: flex; flex-direction: column; height: 184px; justify-content: center; margin: auto; position: relative; width: 184px; }.eiei-classic .tcher-award-requirements > div.is-passed { background: radial-gradient(circle,#fff4d0 0 63%,#e7c369 64%); border-color: #267c70; }.eiei-classic .tcher-award-requirements i { align-items: center; background: #b43a2e; border: 2px solid #f5d794; border-radius: 50%; color: #fff5d5; display: flex; font: 900 15px/1 KaiTi,STKaiti,serif; height: 38px; justify-content: center; position: absolute; right: 13px; top: 12px; width: 38px; }.eiei-classic .tcher-award-requirements strong { color: #80241f; font: 900 27px/1.2 var(--classic-ui-font); }.eiei-classic .tcher-award-requirements span { color: #705741; font-weight: 800; margin-top: 6px; }.eiei-classic .tcher-award-gate > p { color: #694d35; font-weight: 800; margin: 7px 0 18px; }.eiei-classic .tcher-award-gate .tcher-redeem-action { margin: 0; }

@media (max-width: 760px) {
  .eiei-classic .tcher-edict-paper { min-height: 290px; padding: 48px 34px 45px; }.eiei-classic .tcher-edict-rod { left: -12px; right: -12px; }
  .eiei-classic .tcher-stat-grid > div { min-height: 96px; padding-left: 65px; }.eiei-classic .tcher-stat-grid > div::before { left: 10px; }
  .eiei-classic .tcher-course-card { grid-template-columns: 63px minmax(0,1fr); padding: 15px; }.eiei-classic .tcher-course-card > a { grid-column: 1 / -1; }.eiei-classic .tcher-course-card h4 { font-size: 17px; padding-left: 48px; }.eiei-classic .tcher-course-card .tcher-red-score { left: 76px; top: 11px; }.eiei-classic .tcher-course-card .tcher-course-code { margin-left: 50px; }
  .eiei-classic .tcher-card-order,.eiei-classic .classic-number { height: 52px; width: 52px; }
  .eiei-classic .classic-lesson { padding: 12px; }.eiei-classic .classic-lesson-head { grid-template-columns: 58px minmax(0,1fr); }.eiei-classic .classic-lesson-head h2 { font-size: 18px; padding-left: 45px; }.eiei-classic .classic-lesson-head .tcher-red-score { left: 72px; top: 17px; }.eiei-classic .classic-lesson-head .classic-status { margin-top: 9px; }
  .eiei-classic .tcher-study-route > header { align-items: flex-start; flex-direction: column; }.eiei-classic .tcher-study-step { grid-template-columns: 59px 82px minmax(0,1fr); min-height: 76px; padding-right: 8px; }.eiei-classic .tcher-study-step i { height: 58px; width: 58px; }.eiei-classic .tcher-study-step > b { font-size: 16px; padding: 12px 14px; }.eiei-classic .tcher-study-step > span { padding: 5px 8px; }.eiei-classic .tcher-study-step > span strong { font-size: 14px; }
  .eiei-classic .tcher-lesson-checkin { min-height: 265px; padding: 18px 14px 18px; padding-top: 176px; }.eiei-classic .tcher-checkin-button img { height: 178px; left: 50%; transform: translateX(-50%); }.eiei-classic .tcher-checkin-button { width: 100%; }
  .eiei-classic .tcher-lesson-pager { gap: 12px; grid-template-columns: repeat(2,minmax(0,1fr)); padding: 14px; }.eiei-classic .tcher-lesson-pager::before { display: none; }.eiei-classic .tcher-lesson-pager .is-directory { grid-column: 1 / -1; }.eiei-classic .tcher-lesson-pager small { height: 82px; width: 82px; }.eiei-classic .tcher-lesson-pager strong { font-size: 12px; }
  .eiei-classic .tcher-island-map,.eiei-classic .tcher-video-island-map { gap: 18px 12px; grid-template-columns: repeat(2,minmax(0,1fr)); }.eiei-classic .tcher-island:not(:last-child)::after,.eiei-classic .tcher-video-island:not(:last-child)::after { display: none; }.eiei-classic .tcher-island-land,.eiei-classic .tcher-video-island-land { height: 112px; width: 112px; }.eiei-classic .tcher-island-title,.eiei-classic .tcher-video-island-land .tcher-island-title { font-size: 12px; max-width: 136px; overflow: hidden; text-overflow: ellipsis; }
  .eiei-classic .tcher-continue-learning { grid-template-columns: minmax(0,1fr); padding: 86px 14px 14px; }.eiei-classic .tcher-continue-learning::before { inset: 8px 8px auto; height: 65px; width: auto; }.eiei-classic .tcher-continue-learning b { grid-column: 1; grid-row: auto; text-align: center; }
  .eiei-classic .tcher-award-requirements { gap: 10px; }.eiei-classic .tcher-award-requirements > div { height: 132px; width: 132px; }.eiei-classic .tcher-award-requirements strong { font-size: 20px; }.eiei-classic .tcher-award-requirements i { height: 29px; right: 7px; top: 7px; width: 29px; }
}

@media (prefers-reduced-motion: reduce) {
  .eiei-classic .tcher-edict-backdrop,.eiei-classic .tcher-edict-paper,.eiei-classic .tcher-edict-rod { transition-duration: .01ms; }
}

/* 2.34.1: keep every course detail visible and move scores out of the title area. */
.eiei-classic .tcher-course-card {
  align-items: center;
  grid-template-columns: 78px minmax(0,1fr) minmax(132px,176px);
}
.eiei-classic .tcher-course-card h4 {
  margin: 5px 0 12px;
  padding: 10px 20px;
}
.eiei-classic .tcher-course-card .tcher-course-code { margin-left: 0; }
.eiei-classic .tcher-card-actions {
  align-content: center;
  display: grid;
  gap: 12px;
  justify-items: end;
  min-width: 0;
}
.eiei-classic .tcher-course-card .tcher-card-actions .tcher-red-score,
.eiei-classic .classic-lesson-head .classic-result-mark .tcher-red-score {
  align-items: baseline;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  color: #171411;
  display: inline-flex;
  flex-direction: row;
  font: 900 17px/1.2 var(--classic-ui-font);
  gap: 5px;
  height: auto;
  left: auto;
  opacity: 1;
  padding: 0;
  position: static;
  text-align: right;
  top: auto;
  transform: none;
  width: auto;
  z-index: auto;
}
.eiei-classic .tcher-course-card .tcher-card-actions .tcher-red-score small,
.eiei-classic .classic-lesson-head .classic-result-mark .tcher-red-score small {
  color: #171411;
  display: inline;
  font-size: 13px;
  line-height: inherit;
  margin: 0;
}
.eiei-classic .tcher-course-card .tcher-card-actions .tcher-red-score.is-pending,
.eiei-classic .classic-lesson-head .classic-result-mark .tcher-red-score.is-pending {
  background: transparent;
  color: #171411;
  opacity: 1;
}
.eiei-classic .tcher-card-actions > a {
  background: linear-gradient(180deg,#c64b3d,#9d2925);
  border: 2px solid #7d211e;
  border-radius: 11px;
  box-shadow: 0 5px 0 #681c1a;
  color: #fff6db !important;
  display: block;
  font-weight: 900;
  padding: 12px 16px;
  text-align: center;
  text-decoration: none;
  width: 100%;
}
.eiei-classic .classic-lesson-head .classic-result-mark {
  align-items: flex-end;
  display: flex;
  flex-direction: column;
  gap: 10px;
  justify-self: end;
}
.eiei-classic .classic-lesson-head h2 { padding-left: 22px; }

/* Category medallions use three distinct TcherIV portraits; titles stay in the plaque below. */
.eiei-classic .tcher-island-land,
.eiei-classic .tcher-video-island-land {
  background-color: #fff3d1 !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: 94% 94% !important;
  border: 6px solid #267d71 !important;
  box-shadow: inset 0 0 0 4px #f1cf82 !important;
  margin-bottom: 48px;
  overflow: visible;
}
.eiei-classic .tcher-island:nth-child(3n+1) .tcher-island-land,
.eiei-classic .tcher-video-island:nth-child(3n+1) .tcher-video-island-land {
  background-image: url("tcheriv-category-reading.webp") !important;
}
.eiei-classic .tcher-island:nth-child(3n+2) .tcher-island-land,
.eiei-classic .tcher-video-island:nth-child(3n+2) .tcher-video-island-land {
  background-image: url("tcheriv-category-thinking.webp") !important;
  border-color: #285978 !important;
}
.eiei-classic .tcher-island:nth-child(3n+3) .tcher-island-land,
.eiei-classic .tcher-video-island:nth-child(3n+3) .tcher-video-island-land {
  background-image: url("tcheriv-category-writing.webp") !important;
  border-color: #b63b30 !important;
}
.eiei-classic .tcher-island:nth-child(3n+1) .tcher-island-land,
.eiei-classic .tcher-island:nth-child(3n+2) .tcher-island-land,
.eiei-classic .tcher-island:nth-child(3n+3) .tcher-island-land,
.eiei-classic .tcher-video-island:nth-child(3n+1) .tcher-video-island-land,
.eiei-classic .tcher-video-island:nth-child(3n+2) .tcher-video-island-land,
.eiei-classic .tcher-video-island:nth-child(3n+3) .tcher-video-island-land {
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: 94% 94% !important;
  transform: none !important;
}
.eiei-classic .tcher-island-land::after,
.eiei-classic .tcher-video-island-land::after { display: none !important; }
.eiei-classic .tcher-island-land b,
.eiei-classic .tcher-island-land em,
.eiei-classic .tcher-video-island-land b,
.eiei-classic .tcher-video-island-land em { display: none !important; }
.eiei-classic .tcher-island-title,
.eiei-classic .tcher-video-island-land .tcher-island-title {
  bottom: -38px;
  top: auto;
}

/* The flag field is clean parchment: no translucent ellipses or heading over the pieces. */
.eiei-classic .tcher-adventure-map {
  background-image: linear-gradient(135deg,rgba(255,250,226,.9),rgba(233,207,158,.78));
  margin-top: 0;
  padding-top: 18px;
}
.eiei-classic .tcher-adventure-map::before { display: none; }

/* Put the flag instructions beside the certificate instead of above the map. */
.eiei-classic .tcher-award-gate {
  align-items: center;
  display: grid;
  filter: none;
  gap: clamp(20px,3vw,38px);
  grid-template-columns: minmax(220px,.82fr) minmax(0,1.45fr);
  opacity: 1;
  text-align: left;
}
.eiei-classic .tcher-award-copy {
  align-content: center;
  display: grid;
  gap: 13px;
  grid-template-columns: 64px minmax(0,1fr);
}
.eiei-classic .tcher-award-copy .classic-stamp {
  align-items: center;
  background: #be352d;
  border: 4px double #ffe6ad;
  border-radius: 5px;
  color: #fff4d5;
  display: inline-flex;
  font: 800 15px/1.1 KaiTi,STKaiti,serif;
  height: 64px;
  justify-content: center;
  padding: 6px;
  text-align: center;
  transform: rotate(-4deg);
  width: 58px;
}
.eiei-classic .tcher-award-copy h2 {
  color: #68271f;
  font: 900 clamp(23px,2.5vw,32px)/1.25 KaiTi,STKaiti,serif;
  margin: 0 0 5px;
}
.eiei-classic .tcher-award-copy strong { color: #1c1713; font-size: 16px; }
.eiei-classic .tcher-award-copy p {
  color: #624b37;
  font-weight: 750;
  grid-column: 1 / -1;
  line-height: 1.75;
  margin: 0;
}
.eiei-classic .tcher-award-card {
  background: rgba(255,249,230,.72);
  border: 1px solid rgba(151,91,37,.28);
  border-radius: 12px;
  padding: 20px;
  text-align: center;
}
.eiei-classic .tcher-award-card > header {
  align-items: center;
  display: flex;
  gap: 15px;
  justify-content: center;
  margin-bottom: 18px;
}
.eiei-classic .tcher-award-card > header > span {
  align-items: center;
  background: #a62e28;
  border: 4px double #ffe8b5;
  color: #fff1cf;
  display: flex;
  font: 900 22px/1 KaiTi,STKaiti,serif;
  height: 59px;
  justify-content: center;
  transform: rotate(-5deg);
  width: 54px;
}
.eiei-classic .tcher-award-card > p { color: #694d35; font-weight: 800; margin: 7px 0 18px; }

@media (max-width: 760px) {
  .eiei-classic .tcher-course-card {
    grid-template-columns: 62px minmax(0,1fr);
    padding: 15px;
  }
  .eiei-classic .tcher-course-card h4 { padding: 9px 14px; }
  .eiei-classic .tcher-course-card .tcher-course-code { margin-left: 0; }
  .eiei-classic .tcher-card-actions {
    align-items: center;
    display: flex;
    grid-column: 1 / -1;
    justify-content: space-between;
    width: 100%;
  }
  .eiei-classic .tcher-card-actions > a { width: auto; }
  .eiei-classic .classic-lesson-head { grid-template-columns: 58px minmax(0,1fr); }
  .eiei-classic .classic-lesson-head .classic-result-mark {
    align-items: center;
    flex-direction: row;
    grid-column: 1 / -1;
    justify-content: space-between;
    justify-self: stretch;
    margin-top: 10px;
  }
  .eiei-classic .classic-lesson-head h2 { padding-left: 14px; }
  .eiei-classic .tcher-award-gate { grid-template-columns: minmax(0,1fr); }
  .eiei-classic .tcher-award-copy { padding: 4px 2px 8px; }
  .eiei-classic .tcher-award-card { padding: 15px 10px; }
}

/* 2.34.2: the fifty-flag map and certificate gate share one continuous frame. */
.eiei-classic .tcher-checkin-panel {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}
.eiei-classic .tcher-flag-award-frame {
  background: linear-gradient(145deg,#fff5d8,#efd6a0);
  border: 3px solid #a97831;
  border-radius: 18px;
  box-shadow: 0 9px 0 rgba(116,72,28,.14),inset 0 0 0 6px rgba(255,249,226,.72);
  overflow: hidden;
  padding: 12px;
  position: relative;
}
.eiei-classic .tcher-flag-award-frame::before {
  border: 1px dashed rgba(160,94,38,.46);
  border-radius: 11px;
  content: "";
  inset: 7px;
  pointer-events: none;
  position: absolute;
  z-index: 2;
}
.eiei-classic .tcher-flag-award-frame > * { position: relative; z-index: 1; }
.eiei-classic .tcher-flag-award-frame .tcher-adventure-map {
  border: 0;
  border-radius: 11px 11px 0 0;
  box-shadow: none;
  margin: 0;
}
.eiei-classic .tcher-flag-award-frame .tcher-award-gate,
.eiei-classic .tcher-flag-award-frame .tcher-award-gate.is-ready {
  background: rgba(255,248,225,.58);
  border: 0;
  border-radius: 0 0 11px 11px;
  border-top: 2px solid rgba(152,91,36,.38);
  box-shadow: none;
  margin: 0;
  padding: clamp(22px,3vw,32px);
}
.eiei-classic .tcher-flag-award-frame .tcher-boost-notice { margin: 0; border-radius: 0; }

@media (max-width: 760px) {
  .eiei-classic .tcher-flag-award-frame { border-width: 2px; border-radius: 14px; padding: 9px; }
  .eiei-classic .tcher-flag-award-frame .tcher-award-gate,
  .eiei-classic .tcher-flag-award-frame .tcher-award-gate.is-ready { padding: 18px 11px; }
}

/* 2.34.3: lesson navigation uses portrait medallions with fixed action labels below. */
.eiei-classic .tcher-lesson-pager > a,
.eiei-classic .tcher-lesson-pager > span {
  align-content: start;
  grid-template-rows: auto auto auto;
  min-width: 0;
}
.eiei-classic .tcher-lesson-pager .tcher-pager-portrait {
  align-items: center;
  background: #fff1ca;
  border: 6px solid #267d71;
  border-radius: 50%;
  box-shadow: inset 0 0 0 4px #efcf85,0 7px 0 rgba(92,55,25,.15);
  display: flex;
  height: 118px;
  justify-content: center;
  margin: 0 0 -9px;
  overflow: hidden;
  padding: 0;
  position: relative;
  width: 118px;
  z-index: 2;
}
.eiei-classic .tcher-lesson-pager .tcher-pager-portrait img {
  height: 118%;
  max-width: none;
  object-fit: cover;
  object-position: center 12%;
  transform: scale(1.18) translateY(8%);
  width: 118%;
}
.eiei-classic .tcher-lesson-pager .is-directory .tcher-pager-portrait { border-color: #bb382e; }
.eiei-classic .tcher-lesson-pager .is-next .tcher-pager-portrait { border-color: #1e7f73; }
.eiei-classic .tcher-lesson-pager strong {
  color: #68261f;
  font: 900 19px/1.2 KaiTi,STKaiti,serif;
  min-height: 50px;
  padding: 17px 13px 10px;
}
.eiei-classic .tcher-lesson-pager em {
  color: #6d5944;
  display: block;
  font: 750 12px/1.35 var(--classic-ui-font);
  margin-top: 9px;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 760px) {
  .eiei-classic .tcher-lesson-pager {
    gap: 7px;
    grid-template-columns: repeat(3,minmax(0,1fr));
    padding: 12px 8px;
  }
  .eiei-classic .tcher-lesson-pager .is-directory { grid-column: auto; grid-row: auto; }
  .eiei-classic .tcher-lesson-pager .tcher-pager-portrait { border-width: 4px; height: 78px; width: 78px; }
  .eiei-classic .tcher-lesson-pager strong { font-size: 13px; min-height: 43px; padding: 15px 5px 8px; }
  .eiei-classic .tcher-lesson-pager em { font-size: 9px; margin-top: 6px; }
}

/* 2.34.5: the lesson card number remains a magnifier; route numbers are plain circles. */
.eiei-classic .tcher-study-step i::after { content: none; }

/* Previous and next use directional arrow medallions; the directory keeps its portrait. */
.eiei-classic .tcher-lesson-pager .is-previous .tcher-pager-portrait img,
.eiei-classic .tcher-lesson-pager .is-next .tcher-pager-portrait img { display: none; }
.eiei-classic .tcher-lesson-pager .is-previous .tcher-pager-portrait::before,
.eiei-classic .tcher-lesson-pager .is-next .tcher-pager-portrait::before {
  align-items: center;
  background: radial-gradient(circle at 35% 30%,#fff9dd 0 20%,#f4d997 72%,#d6ad5c 100%);
  border-radius: 50%;
  color: #8b2b23;
  display: flex;
  font: 900 56px/1 Georgia,serif;
  inset: 5px;
  justify-content: center;
  position: absolute;
  text-shadow: 0 2px 0 #fff3c7;
}
.eiei-classic .tcher-lesson-pager .is-previous .tcher-pager-portrait::before { content: "←"; }
.eiei-classic .tcher-lesson-pager .is-next .tcher-pager-portrait::before { color: #176f65; content: "→"; }

@media (max-width: 760px) {
  .eiei-classic .classic-learning-content,
  .eiei-classic .classic-video {
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
    width: 100%;
  }
  .eiei-classic .classic-video { min-height: 0 !important; }

  .eiei-classic .tcher-lesson-checkin {
    align-content: center;
    justify-items: stretch;
    min-height: 142px;
    padding: 17px 13px 17px 108px;
  }
  .eiei-classic .tcher-lesson-checkin form { width: 100%; }
  .eiei-classic .tcher-lesson-pager .is-previous .tcher-pager-portrait::before,
  .eiei-classic .tcher-lesson-pager .is-next .tcher-pager-portrait::before { font-size: 39px; inset: 4px; }
  .eiei-classic .tcher-checkin-button {
    font-size: 13px;
    min-height: 50px;
    padding: 10px 11px;
    width: 100%;
  }
  .eiei-classic .tcher-checkin-button img {
    bottom: 4px;
    height: 112px;
    left: 3px;
    object-position: bottom;
    transform: none;
    width: 101px;
  }
  .eiei-classic .tcher-lesson-checkin > span {
    font-size: 10px;
    line-height: 1.5;
    margin-top: 10px;
  }
}

/* 2.34.6: harmonize selectors, milestones, cards, and lesson metadata with the ancient academy theme. */
.eiei-classic .classic-course-head::after { display: none !important; }

.eiei-classic .tcher-challenger-select {
  background: linear-gradient(145deg,#fff7df,#efd9a8);
  border: 3px solid #a97831;
  border-radius: 16px;
  box-shadow: inset 0 0 0 6px rgba(255,250,232,.75),0 9px 0 rgba(111,69,27,.13);
}
.eiei-classic .tcher-challenger-select > header > span {
  background: #ad3028;
  border: 3px double #f1cd80;
  border-radius: 5px;
  color: #fff1cf;
  display: inline-block;
  font: 800 14px/1 KaiTi,STKaiti,serif;
  letter-spacing: .16em;
  padding: 9px 15px;
}
.eiei-classic .tcher-challenger-select > header h1 { color: #54291a; font-family: KaiTi,STKaiti,serif; }
.eiei-classic .tcher-challenger-select > header p,
.eiei-classic .tcher-challenger-select > footer p { color: #6a5038; }
.eiei-classic .tcher-challenger-grid { gap: 22px; }
.eiei-classic .tcher-challenger-card,
.eiei-classic .tcher-challenger-card:nth-child(3n+2),
.eiei-classic .tcher-challenger-card:nth-child(3n+3) {
  background: linear-gradient(160deg,#fffaf0,#f4e3bd);
  border: 2px solid #b88944;
  border-radius: 12px;
  box-shadow: inset 0 0 0 5px rgba(255,253,239,.78),0 8px 0 rgba(111,69,27,.11);
  min-height: 320px;
  overflow: hidden;
  position: relative;
}
.eiei-classic .tcher-challenger-card::before {
  border: 1px dashed rgba(152,83,32,.45);
  border-radius: 7px;
  content: "";
  inset: 7px;
  pointer-events: none;
  position: absolute;
}
.eiei-classic .tcher-challenger-card.is-current {
  border-color: #277d70;
  box-shadow: inset 0 0 0 5px rgba(229,245,225,.72),0 8px 0 rgba(38,111,98,.15);
}
.eiei-classic .tcher-player-avatar {
  background: #b6322a;
  border: 5px double #ffe1a1;
  border-radius: 7px;
  box-shadow: 0 5px 0 rgba(105,34,27,.18);
  color: #fff2cd;
  font: 900 30px/1 KaiTi,STKaiti,serif;
  height: 72px;
  transform: rotate(-3deg);
  width: 66px;
}
.eiei-classic .tcher-challenger-card:nth-child(3n+2) .tcher-player-avatar { background: #26786d; transform: rotate(2deg); }
.eiei-classic .tcher-challenger-card:nth-child(3n+3) .tcher-player-avatar { background: #8c5b28; transform: rotate(-2deg); }
.eiei-classic .tcher-challenger-card > small { color: #8c2b25; font: 800 12px/1.2 KaiTi,STKaiti,serif; }
.eiei-classic .tcher-challenger-card > h2 { color: #4e281c; font: 900 28px/1.25 KaiTi,STKaiti,serif; }
.eiei-classic .tcher-challenger-card > strong { color: #276e61; font-size: 16px; }
.eiei-classic .tcher-challenger-card > p { color: #6c4f38; font-size: 13px; }
.eiei-classic .tcher-challenger-card > button {
  background: linear-gradient(180deg,#b83a30,#922620);
  border: 2px solid #74211d;
  border-radius: 8px;
  box-shadow: 0 5px 0 #681d19;
  color: #fff5d7;
  font-family: KaiTi,STKaiti,serif;
  font-size: 17px;
}

.eiei-classic .tcher-map-finish { display: none !important; }
.eiei-classic .tcher-award-gate {
  align-items: stretch;
  grid-template-columns: minmax(310px,.95fr) minmax(480px,1.45fr);
}
.eiei-classic .tcher-award-copy {
  align-self: center;
  background: rgba(255,248,222,.76);
  border: 1px solid rgba(151,91,37,.3);
  border-radius: 10px;
  box-shadow: inset 0 0 0 5px rgba(255,252,238,.66);
  padding: 26px 24px;
}
.eiei-classic .tcher-award-copy h2 { font-size: clamp(22px,2.1vw,29px); white-space: nowrap; }
.eiei-classic .tcher-award-copy p { font-size: 14px; line-height: 1.8; }
.eiei-classic .tcher-award-card { align-content: center; display: grid; }
.eiei-classic .tcher-award-card .tcher-redeem-action { justify-content: center; }
.eiei-classic .tcher-award-card .tcher-disabled-button,
.eiei-classic .tcher-award-card .classic-ink-button { min-width: 180px; text-align: center; }

.eiei-classic .tcher-island > span,
.eiei-classic .tcher-video-island > span {
  align-items: center;
  box-sizing: border-box;
  display: flex;
  font-size: 14px;
  font-weight: 900;
  justify-content: center;
  margin: 11px auto 0;
  min-height: 38px;
  padding: 7px 8px;
  width: 138px;
}

@media (min-width: 761px) {
  .eiei-classic .tcher-course-card {
    gap: 15px;
    grid-template-columns: minmax(72px,1fr) minmax(0,5fr) minmax(120px,2fr) minmax(105px,2fr);
  }
  .eiei-classic .tcher-course-card .tcher-card-actions { display: contents; }
  .eiei-classic .tcher-course-card .tcher-card-actions > a {
    align-self: center;
    grid-column: 3;
    grid-row: 1;
    justify-self: stretch;
    width: auto;
  }
  .eiei-classic .tcher-course-card .tcher-card-actions .tcher-red-score {
    grid-column: 4;
    grid-row: 1;
    justify-self: center;
  }
}

.eiei-classic .classic-lesson-head .tcher-bamboo-scroll {
  background: repeating-linear-gradient(90deg,#d9b76d 0 4px,#a97736 4px 5px,#eed18d 5px 9px);
  border-bottom: 3px solid #71451f;
  border-radius: 3px;
  border-top: 3px solid #71451f;
  box-shadow: 0 2px 0 rgba(91,55,25,.16);
  display: inline-block;
  height: 19px;
  margin: 0 9px 0 0;
  position: relative;
  transform: rotate(-3deg);
  vertical-align: middle;
  width: 31px;
}
.eiei-classic .classic-lesson-head .tcher-bamboo-scroll::before,
.eiei-classic .classic-lesson-head .tcher-bamboo-scroll::after {
  background: #71451f;
  border-radius: 50%;
  content: "";
  height: 5px;
  position: absolute;
  top: 4px;
  width: 5px;
}
.eiei-classic .classic-lesson-head .tcher-bamboo-scroll::before { left: -3px; }
.eiei-classic .classic-lesson-head .tcher-bamboo-scroll::after { right: -3px; }

@media (max-width: 900px) {
  .eiei-classic .tcher-award-gate { grid-template-columns: minmax(0,1fr); }
  .eiei-classic .tcher-award-copy h2 { white-space: normal; }
}
@media (max-width: 760px) {
  .eiei-classic .tcher-island > span,
  .eiei-classic .tcher-video-island > span { font-size: 12px; min-height: 34px; width: 112px; }
  .eiei-classic .tcher-challenger-card { min-height: 300px; }
  .eiei-classic .tcher-award-copy { padding: 19px 16px; }
}

/* 2.34.7: bamboo lesson numbers, paired progress, and calligraphic learning links. */
.eiei-classic .tcher-course-card {
  align-items: center;
  gap: clamp(12px,1.6vw,24px);
  grid-template-columns: 92px minmax(0,1fr) minmax(145px,175px) minmax(130px,165px);
  min-height: 118px;
  padding: 20px 26px;
}
.eiei-classic .tcher-card-order {
  background: repeating-linear-gradient(90deg,#e7c77d 0 8px,#9a6b31 8px 10px,#f0d58f 10px 18px);
  border: 0;
  border-radius: 4px;
  box-shadow: inset 0 0 0 2px rgba(103,61,25,.2),0 6px 0 rgba(93,55,23,.14);
  color: #7c251f;
  font: 900 24px/1 KaiTi,STKaiti,serif;
  height: 62px;
  justify-self: center;
  transform: rotate(-2deg);
  width: 76px;
}
.eiei-classic .tcher-course-card.is-passed .tcher-card-order {
  background: repeating-linear-gradient(90deg,#e7c77d 0 8px,#9a6b31 8px 10px,#f0d58f 10px 18px);
  color: #17685d;
}
.eiei-classic .tcher-card-order::before,
.eiei-classic .tcher-card-order::after {
  background: linear-gradient(180deg,#835124,#5f3519);
  border: 0;
  border-radius: 999px;
  box-shadow: inset 0 1px 0 rgba(255,225,159,.32);
  content: "";
  height: 7px;
  left: -6px;
  position: absolute;
  right: -6px;
  transform: none;
  width: auto;
  z-index: 1;
}
.eiei-classic .tcher-card-order::before { top: -5px; }
.eiei-classic .tcher-card-order::after { bottom: -5px; }
.eiei-classic .tcher-course-card .tcher-card-copy { align-self: center; }
.eiei-classic .tcher-course-card h4 {
  border-radius: 6px 999px 999px 6px;
  margin: 5px 0 0;
  padding: 12px 22px;
}
.eiei-classic .tcher-card-summary {
  align-content: center;
  align-self: stretch;
  border-left: 1px dashed rgba(140,83,35,.3);
  border-right: 1px dashed rgba(140,83,35,.3);
  display: grid;
  gap: 10px;
  justify-items: center;
  padding: 7px 12px;
  text-align: center;
}
.eiei-classic .tcher-course-card .tcher-card-summary .tcher-card-result { min-height: 0; }
.eiei-classic .tcher-course-card .tcher-card-summary .tcher-card-result span {
  color: #4e3928;
  font-size: 13px;
  white-space: nowrap;
}
.eiei-classic .tcher-course-card.is-passed .tcher-card-summary .tcher-card-result span { color: #17685d; }
.eiei-classic .tcher-course-card .tcher-card-summary .tcher-red-score,
.eiei-classic .tcher-course-card .tcher-card-summary .tcher-red-score.is-pending {
  align-items: baseline;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  color: #171411;
  display: inline-flex;
  flex-direction: row;
  font-size: 19px;
  gap: 5px;
  height: auto;
  left: auto;
  opacity: 1;
  padding: 0;
  position: static;
  text-align: center;
  top: auto;
  transform: none;
  width: auto;
  z-index: auto;
}
.eiei-classic .tcher-course-card .tcher-card-summary .tcher-red-score small {
  color: #171411;
  display: inline;
  font-size: 13px;
  line-height: inherit;
  margin: 0;
}
.eiei-classic .tcher-course-card .tcher-card-actions {
  align-items: center;
  align-self: stretch;
  display: flex;
  justify-content: center;
}
.eiei-classic .tcher-card-actions > a,
.eiei-classic .tcher-course-card.is-locked .tcher-card-actions > a {
  background: transparent;
  border: 0;
  border-bottom: 3px double #a6342b;
  border-radius: 0;
  box-shadow: none;
  color: #8b2822 !important;
  display: inline-block;
  font: 900 clamp(19px,1.45vw,23px)/1.25 KaiTi,STKaiti,serif;
  letter-spacing: .04em;
  padding: 8px 5px 5px;
  position: relative;
  text-align: center;
  white-space: nowrap;
  width: auto;
}
.eiei-classic .tcher-card-actions > a::before { color: #c79a4a; content: "✦"; font-size: 11px; margin-right: 6px; vertical-align: middle; }
.eiei-classic .tcher-card-actions > a::after { color: #8b2822; content: " →"; font-family: Georgia,serif; }
.eiei-classic .tcher-card-actions > a:hover {
  background: transparent;
  border-bottom-color: #257a6e;
  color: #17665d !important;
  transform: translateY(-2px);
}

@media (max-width: 760px) {
  .eiei-classic .tcher-course-card {
    gap: 14px 10px;
    grid-template-columns: 72px minmax(0,1fr);
    min-height: 0;
    padding: 17px 14px;
  }
  .eiei-classic .tcher-card-order { height: 54px; width: 64px; }
  .eiei-classic .tcher-card-summary {
    border-bottom: 0;
    border-left: 0;
    border-right: 1px dashed rgba(140,83,35,.3);
    border-top: 1px dashed rgba(140,83,35,.3);
    gap: 6px;
    grid-column: 1;
    grid-row: 2;
    padding: 10px 6px 2px;
  }
  .eiei-classic .tcher-course-card .tcher-card-actions {
    border-top: 1px dashed rgba(140,83,35,.3);
    grid-column: 2;
    grid-row: 2;
    padding-top: 8px;
  }
  .eiei-classic .tcher-course-card h4 { padding: 10px 13px; }
  .eiei-classic .tcher-card-actions > a,
  .eiei-classic .tcher-course-card.is-locked .tcher-card-actions > a { font-size: 19px; }
}

/* 2.34.8: arrow-free category grids, bamboo lesson numbers, and balanced readable type. */
.eiei-classic .tcher-island:not(:last-child)::after,
.eiei-classic .tcher-video-island:not(:last-child)::after {
  content: none !important;
  display: none !important;
}
.eiei-classic .tcher-island-map,
.eiei-classic .tcher-video-island-map {
  box-sizing: border-box;
  column-gap: clamp(18px,2.4vw,36px);
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
  row-gap: clamp(26px,3vw,42px);
  width: 100%;
}
.eiei-classic .tcher-island-count-3 {
  grid-template-columns: repeat(3,minmax(180px,260px));
  max-width: 980px;
}
.eiei-classic .tcher-island-count-4 {
  grid-template-columns: repeat(4,minmax(170px,230px));
  max-width: 1160px;
}
.eiei-classic .tcher-video-island-map {
  grid-template-columns: repeat(3,minmax(170px,1fr));
  max-width: 940px;
}
.eiei-classic .tcher-island,
.eiei-classic .tcher-video-island {
  min-height: 245px;
  padding: 6px 8px 10px;
}
.eiei-classic .tcher-island-land,
.eiei-classic .tcher-video-island-land {
  height: clamp(122px,8.8vw,142px);
  width: clamp(122px,8.8vw,142px);
}
.eiei-classic .tcher-island-title,
.eiei-classic .tcher-video-island-land .tcher-island-title {
  font-size: clamp(15px,1.12vw,17px);
  line-height: 1.3;
  padding: 8px 13px;
}
.eiei-classic .tcher-island > small,
.eiei-classic .tcher-video-island > small {
  color: #694f3a;
  font-size: clamp(14px,1vw,16px);
  line-height: 1.55;
  margin: 13px auto 9px;
  max-width: 220px;
  min-height: 44px;
}
.eiei-classic .tcher-island > span,
.eiei-classic .tcher-video-island > span {
  align-items: center;
  display: inline-flex;
  font-size: clamp(14px,.95vw,16px);
  justify-content: center;
  line-height: 1.35;
  min-height: 42px;
  padding: 8px 13px;
  width: min(100%,164px);
}
.eiei-classic .tcher-island.is-locked { opacity: .68; }
.eiei-classic .tcher-level > header h3 {
  font-size: clamp(25px,2.25vw,34px);
  line-height: 1.25;
}
.eiei-classic .tcher-level > header > span {
  font-size: clamp(14px,1.05vw,17px);
  line-height: 1.4;
}
.eiei-classic .tcher-video-entry {
  gap: clamp(28px,3vw,46px);
  grid-template-columns: minmax(300px,.82fr) minmax(0,1.38fr);
}
.eiei-classic .tcher-video-entry-copy { align-content: center; }
.eiei-classic .tcher-video-entry .tcher-video-kicker {
  font-size: 14px;
  line-height: 1.45;
}
.eiei-classic .tcher-video-entry h2 {
  font-size: clamp(28px,2.65vw,36px);
  line-height: 1.25;
  margin: 9px 0 14px;
}
.eiei-classic .tcher-video-entry-copy > p:not(.tcher-video-kicker):not(.tcher-video-note) {
  font-size: 16px;
  line-height: 1.55;
}
.eiei-classic .tcher-video-entry .tcher-video-note {
  font-size: 15px;
  line-height: 1.65;
  margin-top: 10px;
}

.eiei-classic .tcher-lesson-page-heading {
  align-content: center;
  align-items: center;
  column-gap: clamp(24px,3vw,48px);
  display: grid;
  grid-template-columns: minmax(0,44%) minmax(0,56%);
  grid-template-rows: auto auto;
  min-height: clamp(280px,22vw,360px);
  padding: clamp(30px,4vw,58px) clamp(30px,5vw,72px);
  row-gap: clamp(14px,1.5vw,22px);
}
.eiei-classic .tcher-lesson-page-heading > div {
  grid-column: 1;
  grid-row: 1;
  max-width: 620px;
}
.eiei-classic .tcher-lesson-page-heading small {
  font-size: clamp(14px,1.05vw,16px);
  letter-spacing: .08em;
  line-height: 1.45;
}
.eiei-classic .tcher-lesson-page-heading h1 {
  font-size: clamp(34px,3.5vw,48px);
  line-height: 1.16;
  margin: 10px 0 12px;
}
.eiei-classic .tcher-lesson-page-heading p {
  color: #5f4838;
  font-size: clamp(16px,1.3vw,18px);
  line-height: 1.55;
  margin: 0;
}
.eiei-classic .tcher-lesson-page-heading > strong {
  font-size: clamp(14px,1.1vw,16px);
  grid-column: 1;
  grid-row: 2;
  justify-self: start;
  line-height: 1.2;
  padding: 11px 16px;
}

.eiei-classic .classic-lesson-head {
  gap: clamp(16px,2vw,26px);
  grid-template-columns: 94px minmax(0,1fr) minmax(132px,auto);
  padding: 20px 24px 22px;
}
.eiei-classic .classic-lesson-head .classic-number,
.eiei-classic.classic-outline-clean .classic-lesson-head .classic-number {
  background: repeating-linear-gradient(90deg,#e7c77d 0 9px,#9a6b31 9px 11px,#f0d58f 11px 20px);
  border: 0;
  border-radius: 4px;
  box-shadow: inset 0 0 0 2px rgba(103,61,25,.2),0 7px 0 rgba(93,55,23,.14);
  color: #7c251f;
  font: 900 25px/1 KaiTi,STKaiti,serif;
  height: 70px;
  overflow: visible;
  position: relative;
  transform: rotate(-2deg);
  width: 82px;
}
.eiei-classic .classic-lesson-head .classic-number::before,
.eiei-classic .classic-lesson-head .classic-number::after {
  background: linear-gradient(180deg,#8b5829,#5f3519);
  border: 0;
  border-radius: 999px;
  box-shadow: inset 0 1px 0 rgba(255,225,159,.34);
  content: "";
  height: 8px;
  left: -7px;
  position: absolute;
  right: -7px;
  transform: none;
  width: auto;
  z-index: 1;
}
.eiei-classic .classic-lesson-head .classic-number::before { top: -6px; }
.eiei-classic .classic-lesson-head .classic-number::after { bottom: -6px; }
.eiei-classic .classic-lesson-head .tcher-course-code.is-detail {
  font-size: 13px;
  line-height: 1.4;
}
.eiei-classic .classic-lesson-head h2 {
  font-size: clamp(23px,2.2vw,31px);
  line-height: 1.28;
  margin-top: 9px;
  padding: 11px 19px;
}
.eiei-classic .classic-lesson-head .classic-status {
  font-size: 14px;
  line-height: 1.35;
}
.eiei-classic .classic-lesson-head .classic-result-mark .tcher-red-score {
  font-size: 18px;
}
.eiei-classic .classic-intro {
  font-size: 16px;
  line-height: 1.75;
}

@media (max-width: 1000px) {
  .eiei-classic .tcher-video-entry { grid-template-columns: minmax(0,1fr); }
  .eiei-classic .tcher-video-island-map { max-width: 860px; }
}

@media (max-width: 900px) {
  .eiei-classic .tcher-island-count-4 {
    grid-template-columns: repeat(2,minmax(180px,260px));
    max-width: 620px;
  }
  .eiei-classic .classic-lesson-head {
    grid-template-columns: 84px minmax(0,1fr) minmax(128px,auto);
  }
}

@media (max-width: 760px) {
  .eiei-classic .tcher-island-map,
  .eiei-classic .tcher-island-count-3,
  .eiei-classic .tcher-island-count-4,
  .eiei-classic .tcher-video-island-map {
    column-gap: 12px;
    grid-template-columns: repeat(2,minmax(0,1fr));
    max-width: 620px;
    padding: 18px 6px;
    row-gap: 24px;
  }
  .eiei-classic .tcher-island-count-3 .tcher-island:nth-child(3),
  .eiei-classic .tcher-video-island-map .tcher-video-island:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    justify-self: center;
    width: min(100%,230px);
  }
  .eiei-classic .tcher-island,
  .eiei-classic .tcher-video-island { min-height: 230px; }
  .eiei-classic .tcher-island-land,
  .eiei-classic .tcher-video-island-land { height: 116px; width: 116px; }
  .eiei-classic .tcher-island-title,
  .eiei-classic .tcher-video-island-land .tcher-island-title { font-size: 14px; }
  .eiei-classic .tcher-island > small,
  .eiei-classic .tcher-video-island > small { font-size: 13px; min-height: 40px; }
  .eiei-classic .tcher-island > span,
  .eiei-classic .tcher-video-island > span { font-size: 13px; min-height: 39px; width: min(100%,148px); }
  .eiei-classic .tcher-video-entry .tcher-video-island-map {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .eiei-classic .tcher-video-entry .tcher-video-island {
    min-height: 270px;
    white-space: normal;
  }
  .eiei-classic .tcher-video-entry .tcher-video-island > small {
    display: block;
  }
  .eiei-classic .tcher-video-entry nav .tcher-video-island > span {
    display: inline-flex;
  }
  .eiei-classic .tcher-level > header h3 { font-size: 25px; }
  .eiei-classic .tcher-video-entry h2 { font-size: 30px; }

  .eiei-classic .tcher-lesson-page-heading {
    background-image:
      linear-gradient(180deg,rgba(255,249,229,.01) 0 142px,rgba(255,248,228,.96) 192px,rgba(255,248,228,.99) 100%),
      url("tcheriv-detective-lesson.webp");
    background-position: center,70% top;
    background-size: cover,auto 205px;
    grid-template-columns: minmax(0,1fr);
    min-height: 0;
    padding: 202px 18px 20px;
    row-gap: 11px;
  }
  .eiei-classic .tcher-lesson-page-heading > div,
  .eiei-classic .tcher-lesson-page-heading > strong { grid-column: 1; }
  .eiei-classic .tcher-lesson-page-heading small { font-size: 13px; }
  .eiei-classic .tcher-lesson-page-heading h1 { font-size: 30px; margin: 8px 0 9px; }
  .eiei-classic .tcher-lesson-page-heading p { font-size: 15px; }
  .eiei-classic .tcher-lesson-page-heading > strong { font-size: 13px; padding: 9px 13px; }

  .eiei-classic .classic-lesson-head {
    gap: 14px 12px;
    grid-template-columns: 70px minmax(0,1fr);
    padding: 18px 14px 20px;
  }
  .eiei-classic .classic-lesson-head .classic-number,
  .eiei-classic.classic-outline-clean .classic-lesson-head .classic-number {
    font-size: 21px;
    height: 58px;
    width: 64px;
  }
  .eiei-classic .classic-lesson-head h2 { font-size: 20px; padding: 10px 13px; }
  .eiei-classic .classic-lesson-head .tcher-course-code.is-detail { font-size: 12px; }
  .eiei-classic .classic-lesson-head .classic-result-mark {
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
    grid-column: 2;
    justify-self: start;
  }
  .eiei-classic .classic-intro { font-size: 15px; line-height: 1.7; }
}

/* 2.34.9: child-first home flow, five-country flag map, and high-contrast type. */
.eiei-classic {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.eiei-classic h1,
.eiei-classic h2,
.eiei-classic h3,
.eiei-classic h4,
.eiei-classic .tcher-island-title,
.eiei-classic .tcher-card-actions > a {
  -webkit-text-stroke: .45px rgba(255,252,238,.95);
  paint-order: stroke fill;
  text-shadow: 0 1px 0 rgba(255,255,255,.82);
}
.eiei-classic .tcher-card-order,
.eiei-classic .classic-lesson-head .classic-number {
  -webkit-text-stroke: 1.35px #fff8df;
  paint-order: stroke fill;
  text-shadow: -1px -1px 0 #fff8df,1px -1px 0 #fff8df,-1px 1px 0 #fff8df,1px 1px 0 #fff8df;
}
.eiei-classic .classic-course-head .classic-overline { font-size: 14px; line-height: 1.45; }
.eiei-classic .classic-course-head h1 { font-size: clamp(32px,3.8vw,46px); line-height: 1.18; }
.eiei-classic .classic-course-head .classic-subtitle { font-size: 17px; line-height: 1.5; }
.eiei-classic .classic-course-head .tcher-online-hero-copy > p:not(.classic-overline):not(.classic-subtitle) { font-size: 16px; line-height: 1.65; }
.eiei-classic .classic-course-head .tcher-stat-grid span { font-size: 13px; line-height: 1.45; }
.eiei-classic .classic-section-heading h2 { font-size: clamp(26px,2.6vw,34px); line-height: 1.25; }
.eiei-classic .classic-section-heading p { font-size: 15px; line-height: 1.65; text-align: center; text-wrap: balance; }

.eiei-classic .tcher-conquest-heading {
  align-items: center;
  background: rgba(255,249,227,.88);
  border-bottom: 2px solid rgba(150,91,36,.3);
  display: grid;
  gap: 16px;
  grid-template-columns: 58px minmax(0,1fr) auto;
  margin: 0;
  padding: 20px clamp(20px,3vw,38px);
  text-align: left;
}
.eiei-classic .tcher-conquest-heading > span {
  align-items: center;
  background: #b6372d;
  border: 4px double #ffe6ad;
  border-radius: 50%;
  color: #fff6d8;
  display: flex;
  font: 900 23px/1 KaiTi,STKaiti,serif;
  height: 50px;
  justify-content: center;
  width: 50px;
}
.eiei-classic .tcher-conquest-heading h2 {
  color: #6f271f;
  font: 900 clamp(27px,2.5vw,35px)/1.2 KaiTi,STKaiti,serif;
  margin: 0 0 5px;
}
.eiei-classic .tcher-conquest-heading p {
  color: #654b38;
  font-size: 16px;
  line-height: 1.55;
  margin: 0;
  text-align: left;
  text-wrap: balance;
}
.eiei-classic .tcher-conquest-heading > strong {
  background: #fff4d4;
  border: 2px solid #c6984e;
  border-radius: 999px;
  color: #7f2922;
  font-size: 17px;
  padding: 10px 16px;
  white-space: nowrap;
}
.eiei-classic .tcher-flag-award-frame .tcher-adventure-map {
  background-color: #ead3a0;
  background-image:
    linear-gradient(rgba(255,247,218,.86),rgba(241,216,166,.84)),
    url("tcheriv-detective-map.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display: grid;
  gap: 14px;
  min-height: 0;
  padding: 24px clamp(20px,3vw,42px);
}
.eiei-classic .tcher-flag-award-frame .tcher-map-route-row,
.eiei-classic .tcher-flag-award-frame .tcher-map-route-row.is-reverse {
  align-items: center;
  background: linear-gradient(90deg,rgba(255,248,224,.96),rgba(242,221,176,.88));
  border: 1px solid rgba(145,85,34,.28);
  border-radius: 16px;
  box-shadow: 0 5px 14px rgba(91,57,28,.08);
  direction: ltr;
  display: flex;
  gap: clamp(5px,.8vw,11px);
  min-height: 84px;
  padding: 13px 18px 13px 164px;
  position: relative;
}
.eiei-classic .tcher-flag-award-frame .tcher-map-route-row:nth-child(2) { background: linear-gradient(90deg,rgba(238,248,229,.95),rgba(221,234,193,.88)); }
.eiei-classic .tcher-flag-award-frame .tcher-map-route-row:nth-child(3) { background: linear-gradient(90deg,rgba(237,246,243,.95),rgba(206,226,218,.88)); }
.eiei-classic .tcher-flag-award-frame .tcher-map-route-row:nth-child(4) { background: linear-gradient(90deg,rgba(235,241,246,.95),rgba(207,220,230,.88)); }
.eiei-classic .tcher-flag-award-frame .tcher-map-route-row:nth-child(5) { background: linear-gradient(90deg,rgba(252,237,224,.95),rgba(236,204,174,.88)); }
.eiei-classic .tcher-flag-award-frame .tcher-map-route-row::before {
  border: 0;
  border-top: 2px dashed rgba(112,76,38,.28);
  left: 172px;
  right: 25px;
  top: 50%;
}
.eiei-classic .tcher-flag-award-frame .tcher-map-route-row::after,
.eiei-classic .tcher-flag-award-frame .tcher-map-route-row.is-reverse::after {
  align-items: center;
  background: #fff4d6;
  border: 2px solid #bd8b42;
  border-radius: 10px;
  color: #71251f;
  content: attr(data-region);
  display: flex;
  font: 900 16px/1.35 KaiTi,STKaiti,serif;
  justify-content: center;
  left: 18px;
  min-height: 44px;
  padding: 7px 10px;
  right: auto;
  text-align: center;
  top: 50%;
  transform: translateY(-50%);
  white-space: nowrap;
  width: 124px;
}
.eiei-classic .tcher-flag-award-frame .tcher-map-route-row.is-conquered {
  border-color: #b18432;
  box-shadow: 0 0 0 3px rgba(217,174,71,.18),0 7px 16px rgba(91,57,28,.1);
}
.eiei-classic .tcher-flag-award-frame .tcher-map-route-row.is-conquered::after {
  background: linear-gradient(180deg,#d6ad4e,#b67b2d);
  border-color: #8f5d21;
  color: #fff9df;
  content: attr(data-region) " ✓";
}
.eiei-classic .tcher-flag-award-frame .tcher-map-node {
  flex: 1 1 0;
  height: 58px;
  max-width: 58px;
  min-width: 30px;
}
.eiei-classic .tcher-flag-award-frame .tcher-map-node::before {
  bottom: 3px;
  left: 3px;
  top: 1px;
  width: 4px;
}
.eiei-classic .tcher-flag-award-frame .tcher-map-node::after {
  height: 36px;
  left: 6px;
  top: 4px;
  width: calc(100% - 6px);
}
.eiei-classic .tcher-flag-award-frame .tcher-map-node.is-locked::after { opacity: .56; }
.eiei-classic .tcher-flag-award-frame .tcher-map-node.is-filled::after {
  box-shadow: 0 4px 9px rgba(120,45,33,.22),inset 0 1px 0 rgba(255,236,189,.35);
  filter: saturate(1.16);
}
.eiei-classic .tcher-flag-award-frame .tcher-map-node b {
  font-size: 11px;
  left: 12px;
  top: 17px;
}
.eiei-classic .tcher-flag-award-frame .tcher-map-node.is-filled b { font-size: 11px; }
.eiei-classic .tcher-flag-award-frame .tcher-map-node.is-checkpoint {
  flex-basis: 64px;
  max-width: 64px;
}
.eiei-classic .tcher-flag-award-frame .tcher-map-node.is-checkpoint::after { height: 41px; }
.eiei-classic .tcher-flag-award-frame .tcher-map-node.is-checkpoint b { font-size: 12px; top: 18px; }

.eiei-classic .tcher-flag-award-frame .tcher-award-gate,
.eiei-classic .tcher-flag-award-frame .tcher-award-gate.is-ready {
  gap: 20px;
  grid-template-columns: minmax(0,1fr);
  justify-items: center;
  text-align: center;
}
.eiei-classic .tcher-flag-award-frame .tcher-award-copy {
  background: transparent;
  border: 0;
  box-shadow: none;
  justify-self: center;
  max-width: 760px;
  padding: 0;
  text-align: left;
  width: 100%;
}
.eiei-classic .tcher-flag-award-frame .tcher-award-copy p {
  font-size: 16px;
  line-height: 1.7;
  margin: 5px auto 0;
  max-width: 720px;
  text-align: center;
  text-wrap: balance;
}
.eiei-classic .tcher-flag-award-frame .tcher-award-card {
  max-width: 820px;
  padding: 24px;
  width: 100%;
}
.eiei-classic .tcher-flag-award-frame .tcher-award-card > header { justify-content: center; }
.eiei-classic .tcher-flag-award-frame .tcher-award-card > p {
  font-size: 15px;
  line-height: 1.65;
  text-align: center;
  text-wrap: balance;
}
.eiei-classic .tcher-flag-award-frame .tcher-award-requirements { max-width: 500px; }
.eiei-classic .tcher-flag-award-frame .tcher-award-requirements > div { height: 158px; width: 158px; }

.eiei-classic .tcher-island-directory > .classic-section-heading { text-align: center; }
.eiei-classic .tcher-island-directory > .classic-section-heading > div { margin-left: auto; margin-right: auto; }
.eiei-classic .tcher-island-directory .tcher-level > header { align-items: center; }
.eiei-classic .tcher-island-directory .tcher-level > header h3,
.eiei-classic .tcher-island-directory .tcher-level > header > span { text-align: center; }

.eiei-classic .tcher-video-entry {
  display: grid;
  gap: clamp(24px,3vw,38px);
  grid-template-columns: minmax(0,1fr) !important;
  padding: clamp(28px,4vw,46px);
}
.eiei-classic .tcher-video-entry-copy {
  margin: 0 auto;
  max-width: 820px;
  text-align: center;
}
.eiei-classic .tcher-video-entry-copy p { text-align: center; text-wrap: balance; }
.eiei-classic .tcher-video-entry .tcher-video-island-map {
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  max-width: 1000px;
}
.eiei-classic .tcher-video-entry .tcher-video-island > small { text-align: center; }

.eiei-classic .tcher-directory-page-head {
  background:
    linear-gradient(135deg,rgba(255,249,228,.96),rgba(239,217,171,.9)),
    url("tcheriv-detective-map.webp") center/cover no-repeat;
  border: 2px solid rgba(155,92,34,.3);
  margin-bottom: 18px;
  padding: clamp(28px,4vw,50px);
  text-align: center;
}
.eiei-classic .tcher-directory-page-head > a {
  background: #fff5d9;
  border: 1px solid #c99a52;
  border-radius: 999px;
  color: #7c2922 !important;
  display: inline-flex;
  font-size: 15px;
  font-weight: 850;
  margin-bottom: 20px;
  padding: 10px 16px;
  text-decoration: none;
}
.eiei-classic .tcher-directory-page-head small {
  color: #a3332b;
  display: block;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: .12em;
}
.eiei-classic .tcher-directory-page-head h1 {
  color: #54291a;
  font: 900 clamp(32px,4vw,48px)/1.2 KaiTi,STKaiti,serif;
  margin: 8px 0 10px;
}
.eiei-classic .tcher-directory-page-head p {
  color: #694f3b;
  font-size: 16px;
  line-height: 1.65;
  margin: 0;
  text-align: center;
}
.eiei-classic .tcher-directory-units { margin-bottom: 18px; }

@media (max-width: 760px) {
  .eiei-classic .classic-course-head h1 { font-size: 30px; }
  .eiei-classic .classic-course-head .classic-subtitle { font-size: 16px; }
  .eiei-classic .classic-section-heading h2 { font-size: 25px; }

  .eiei-classic .tcher-conquest-heading {
    gap: 10px;
    grid-template-columns: 48px minmax(0,1fr);
    padding: 16px 14px;
    text-align: center;
  }
  .eiei-classic .tcher-conquest-heading > span { font-size: 20px; height: 42px; width: 42px; }
  .eiei-classic .tcher-conquest-heading h2 { font-size: 26px; }
  .eiei-classic .tcher-conquest-heading p { font-size: 14px; text-align: center; }
  .eiei-classic .tcher-conquest-heading > strong {
    font-size: 14px;
    grid-column: 1 / -1;
    justify-self: center;
    padding: 8px 13px;
  }
  .eiei-classic .tcher-flag-award-frame .tcher-adventure-map { gap: 11px; padding: 14px 9px; }
  .eiei-classic .tcher-flag-award-frame .tcher-map-route-row,
  .eiei-classic .tcher-flag-award-frame .tcher-map-route-row.is-reverse {
    gap: 2px;
    min-height: 112px;
    padding: 55px 7px 9px;
  }
  .eiei-classic .tcher-flag-award-frame .tcher-map-route-row::after,
  .eiei-classic .tcher-flag-award-frame .tcher-map-route-row.is-reverse::after {
    font-size: 14px;
    left: 50%;
    min-height: 35px;
    padding: 5px 9px;
    top: 10px;
    transform: translateX(-50%);
    width: auto;
  }
  .eiei-classic .tcher-flag-award-frame .tcher-map-route-row::before { left: 15px; right: 15px; top: 78px; }
  .eiei-classic .tcher-flag-award-frame .tcher-map-node { height: 48px; max-width: 34px; min-width: 18px; }
  .eiei-classic .tcher-flag-award-frame .tcher-map-node::after { height: 27px; left: 4px; width: calc(100% - 4px); }
  .eiei-classic .tcher-flag-award-frame .tcher-map-node::before { left: 1px; width: 3px; }
  .eiei-classic .tcher-flag-award-frame .tcher-map-node b,
  .eiei-classic .tcher-flag-award-frame .tcher-map-node.is-filled b { font-size: 8px; left: 7px; top: 13px; }
  .eiei-classic .tcher-flag-award-frame .tcher-map-node.is-checkpoint { flex-basis: 38px; max-width: 38px; }
  .eiei-classic .tcher-flag-award-frame .tcher-map-node.is-checkpoint::after { height: 31px; }
  .eiei-classic .tcher-flag-award-frame .tcher-map-node.is-checkpoint b { font-size: 9px; top: 14px; }
  .eiei-classic .tcher-flag-award-frame .tcher-award-copy {
    grid-template-columns: 54px minmax(0,1fr);
    text-align: center;
  }
  .eiei-classic .tcher-flag-award-frame .tcher-award-copy h2 { font-size: 24px; white-space: normal; }
  .eiei-classic .tcher-flag-award-frame .tcher-award-copy p { font-size: 15px; }
  .eiei-classic .tcher-flag-award-frame .tcher-award-card { padding: 18px 10px; }
  .eiei-classic .tcher-flag-award-frame .tcher-award-requirements > div { height: 126px; width: 126px; }

  .eiei-classic .tcher-video-entry { padding: 24px 10px; }
  .eiei-classic .tcher-video-entry h2 { font-size: 28px; }
  .eiei-classic .tcher-video-entry .tcher-video-island-map {
    column-gap: 6px;
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    padding: 12px 0;
    row-gap: 0;
  }
  .eiei-classic .tcher-video-entry .tcher-video-island,
  .eiei-classic .tcher-video-entry .tcher-video-island:last-child:nth-child(odd) {
    grid-column: auto;
    min-height: 225px;
    padding: 4px 2px 8px;
    width: auto;
  }
  .eiei-classic .tcher-video-entry .tcher-video-island-land { height: 82px; width: 82px; }
  .eiei-classic .tcher-video-entry .tcher-video-island .tcher-island-title { font-size: 12px; padding: 6px 7px; }
  .eiei-classic .tcher-video-entry .tcher-video-island > small { display: block; font-size: 12px; line-height: 1.45; min-height: 52px; }
  .eiei-classic .tcher-video-entry nav .tcher-video-island > span {
    display: inline-flex;
    font-size: 12px;
    min-height: 35px;
    padding: 6px 4px;
    width: 100%;
  }
  .eiei-classic .tcher-directory-page-head { padding: 24px 14px; }
  .eiei-classic .tcher-directory-page-head h1 { font-size: 30px; }
  .eiei-classic .tcher-directory-page-head p { font-size: 15px; }
}

/* 2.34.10: black white-edged key type and a calmer continuation bookmark. */
.eiei-classic h1,
.eiei-classic h2,
.eiei-classic h3,
.eiei-classic h4 {
  color: #171411 !important;
  -webkit-text-stroke: .7px rgba(255,255,255,.98);
  paint-order: stroke fill;
  text-shadow: -1px -1px 0 rgba(255,255,255,.88),1px 1px 0 rgba(255,255,255,.88);
}
.eiei-classic .tcher-card-order,
.eiei-classic .tcher-course-card.is-passed .tcher-card-order,
.eiei-classic .classic-lesson-head .classic-number,
.eiei-classic.classic-outline-clean .classic-lesson-head .classic-number {
  color: #171411 !important;
  -webkit-text-stroke: 1.35px #fff;
  paint-order: stroke fill;
  text-shadow: -1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff;
}
.eiei-classic .tcher-course-card h4,
.eiei-classic .classic-lesson-head h2 {
  background: linear-gradient(90deg,#f1d48d 0,#fff2c9 76%,rgba(255,248,225,.82) 100%);
  border: 1px solid rgba(144,91,34,.28);
  border-left: 7px solid #b4372e;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72);
  color: #171411 !important;
}
.eiei-classic .tcher-course-card.is-passed h4 {
  background: linear-gradient(90deg,#f1d48d 0,#fff2c9 76%,rgba(255,248,225,.82) 100%);
  border-left-color: #247b6f;
}

.eiei-classic .tcher-continue-learning {
  align-items: center;
  background: linear-gradient(108deg,#fffdf4 0,#fff5d9 54%,#f4e3b6 100%);
  border: 1px solid #c7974d;
  border-left: 6px solid #247b6f;
  border-radius: 16px;
  box-shadow: 0 6px 16px rgba(91,57,28,.09),inset 0 1px 0 rgba(255,255,255,.86);
  column-gap: 16px;
  display: grid;
  grid-template-columns: 58px minmax(0,1fr) auto;
  min-height: 84px;
  overflow: visible;
  padding: 13px 20px 13px 14px;
  row-gap: 3px;
}
.eiei-classic .tcher-continue-learning::before {
  align-items: center;
  align-self: center;
  background: linear-gradient(145deg,#2d8a7c,#17685f);
  border: 3px double #ffe7ae;
  border-radius: 50%;
  box-shadow: 0 4px 0 rgba(88,54,25,.14);
  clip-path: none;
  color: #fff8df;
  content: "续";
  display: flex;
  font: 900 22px/1 KaiTi,STKaiti,serif;
  grid-column: 1;
  grid-row: 1 / 3;
  height: 50px;
  inset: auto;
  justify-content: center;
  position: static;
  width: 50px;
}
.eiei-classic .tcher-continue-learning span {
  color: #873029;
  font-size: 14px;
  font-weight: 850;
  grid-column: 2;
  grid-row: 1;
  letter-spacing: .05em;
}
.eiei-classic .tcher-continue-learning strong {
  color: #171411;
  font: 900 clamp(20px,1.8vw,25px)/1.25 KaiTi,STKaiti,serif;
  grid-column: 2;
  grid-row: 2;
  -webkit-text-stroke: .6px #fff;
  paint-order: stroke fill;
  text-shadow: 0 1px 0 #fff;
}
.eiei-classic .tcher-continue-learning b {
  align-self: center;
  background: transparent;
  border: 0;
  border-bottom: 3px double #a5352d;
  border-radius: 0;
  color: #171411;
  font: 900 clamp(18px,1.45vw,22px)/1.25 KaiTi,STKaiti,serif;
  grid-column: 3;
  grid-row: 1 / 3;
  padding: 7px 3px 4px;
  white-space: nowrap;
  -webkit-text-stroke: .45px #fff;
  paint-order: stroke fill;
}
.eiei-classic .tcher-continue-learning:hover {
  background: linear-gradient(108deg,#fffdf4,#ffefbd);
  border-color: #a87632;
  box-shadow: 0 9px 20px rgba(91,57,28,.13),inset 0 1px 0 #fff;
}

@media (max-width: 760px) {
  .eiei-classic .tcher-continue-learning {
    column-gap: 11px;
    grid-template-columns: 48px minmax(0,1fr);
    min-height: 0;
    padding: 12px 12px 12px 10px;
    row-gap: 4px;
  }
  .eiei-classic .tcher-continue-learning::before {
    font-size: 19px;
    grid-column: 1;
    grid-row: 1 / 4;
    height: 44px;
    width: 44px;
  }
  .eiei-classic .tcher-continue-learning span { font-size: 13px; grid-column: 2; grid-row: 1; }
  .eiei-classic .tcher-continue-learning strong { font-size: 19px; grid-column: 2; grid-row: 2; }
  .eiei-classic .tcher-continue-learning b {
    font-size: 17px;
    grid-column: 2;
    grid-row: 3;
    justify-self: start;
    padding: 5px 2px 3px;
  }
}

/* 2.34.11: high-contrast outlined text on every dark category plaque. */
.eiei-classic .tcher-island-title,
.eiei-classic .tcher-video-island-land .tcher-island-title {
  color: #fff !important;
  -webkit-text-stroke: .85px #171411;
  paint-order: stroke fill;
  text-shadow: -1px -1px 0 #171411,1px -1px 0 #171411,-1px 1px 0 #171411,1px 1px 0 #171411;
}

/* 2.34.12: child-first density, simplified surfaces, and action-focused copy. */
.eiei-classic .classic-course-head {
  min-height: 0;
  padding: clamp(24px,3.2vw,40px) clamp(28px,4vw,48px) 22px;
}
.eiei-classic .classic-course-head h1 {
  font-size: clamp(31px,3.35vw,42px);
  margin: 12px 0 8px;
}
.eiei-classic .classic-course-head .classic-subtitle { margin: 0 0 7px; }
.eiei-classic .classic-course-head .tcher-online-hero-copy > p:not(.classic-overline):not(.classic-subtitle) {
  font-size: 15px;
  line-height: 1.55;
  margin: 0;
}
.eiei-classic .classic-course-head .tcher-account-row {
  margin-top: 12px;
  padding-top: 10px;
}
.eiei-classic .classic-course-head .tcher-stat-grid { margin: 13px 0 9px; }
.eiei-classic .classic-course-head .tcher-stat-grid > div {
  min-height: 64px;
  padding: 10px 8px;
}
.eiei-classic .classic-course-head .tcher-stat-grid strong { font-size: clamp(17px,1.7vw,21px); }
.eiei-classic .classic-course-head .tcher-stat-grid span {
  font-size: 11px;
  line-height: 1.35;
  margin-top: 5px;
}
.eiei-classic .classic-course-head .tcher-score-update { margin: 7px 0 0; }

/* One clear container per area: content remains grouped without frame-inside-frame noise. */
.eiei-classic .tcher-course-card::before { content: none !important; display: none !important; }
.eiei-classic .tcher-course-card {
  border: 1px solid rgba(167,104,43,.34);
  border-left: 6px solid #b4372e;
  box-shadow: 0 5px 13px rgba(92,57,27,.08);
}
.eiei-classic .tcher-course-card.is-passed { border-left-color: #247b6f; }
.eiei-classic .tcher-flag-award-frame .tcher-award-card {
  background: transparent;
  border: 0;
  box-shadow: none;
  max-width: 720px;
}
.eiei-classic .tcher-flag-award-frame .tcher-award-gate,
.eiei-classic .tcher-flag-award-frame .tcher-award-gate.is-ready {
  align-items: center;
  grid-template-columns: minmax(260px,.82fr) minmax(420px,1.25fr);
  padding: clamp(22px,2.4vw,30px);
}
.eiei-classic .tcher-flag-award-frame .tcher-award-copy { max-width: 520px; }
.eiei-classic .tcher-flag-award-frame .tcher-map-route-row,
.eiei-classic .tcher-flag-award-frame .tcher-map-route-row.is-reverse { padding-left: 180px; }
.eiei-classic .tcher-flag-award-frame .tcher-map-route-row::before { left: 188px; }
.eiei-classic .tcher-flag-award-frame .tcher-map-route-row::after,
.eiei-classic .tcher-flag-award-frame .tcher-map-route-row.is-reverse::after { width: 140px; }
.eiei-classic .tcher-island-map,
.eiei-classic .tcher-video-island-map {
  background: transparent;
  border: 0;
  box-shadow: none;
}

/* Action language follows the child's actual state. */
.eiei-classic .tcher-card-actions > a::after { content: none; }
.eiei-classic .tcher-course-card.is-passed .tcher-card-actions > a {
  border-bottom-color: #247b6f;
  color: #17685d !important;
}
.eiei-classic .tcher-course-card.is-locked .tcher-card-actions > a {
  border-bottom-color: #8d8a7f;
  color: #6f6e68 !important;
}
.eiei-classic .tcher-unit-card strong,
.eiei-classic .tcher-video-kicker { color: #17685d; }

@media (max-width: 900px) and (min-width: 761px) {
  .eiei-classic .classic-course-head {
    background-image:
      linear-gradient(180deg,rgba(255,249,229,.02) 0 188px,rgba(255,248,228,.96) 247px,rgba(255,248,228,.99) 100%),
      url("tcheriv-detective-home.webp");
    background-size: cover,auto 270px;
    padding: 250px 24px 20px;
  }
  .eiei-classic .tcher-flag-award-frame .tcher-award-gate,
  .eiei-classic .tcher-flag-award-frame .tcher-award-gate.is-ready { grid-template-columns: minmax(0,1fr); }
}

@media (max-width: 760px) {
  .eiei-classic .tcher-partnership-banner {
    margin-bottom: 10px;
    padding: 8px 10px;
  }
  .eiei-classic .tcher-partnership-logos {
    gap: 6px;
    grid-template-columns: minmax(0,1.55fr) 40px minmax(0,1fr);
  }
  .eiei-classic .tcher-partner-logo.is-kpm img { max-height: 52px; max-width: 170px; }
  .eiei-classic .tcher-partner-logo.is-tcheriv img { max-height: 48px; max-width: 112px; }
  .eiei-classic .tcher-partnership-divider { min-height: 48px; width: 40px; }
  .eiei-classic .tcher-partnership-divider::before {
    bottom: 0;
    height: auto;
    left: 50%;
    right: auto;
    top: 0;
    width: 1px;
  }
  .eiei-classic .tcher-partnership-divider b {
    font-size: 8px;
    line-height: 1.05;
    padding: 4px;
    text-align: center;
    white-space: normal;
    width: 30px;
  }
  .eiei-classic .classic-course-head {
    background-image:
      linear-gradient(180deg,rgba(255,249,229,.02) 0 126px,rgba(255,248,228,.97) 168px,rgba(255,248,228,.99) 100%),
      url("tcheriv-detective-home.webp");
    background-size: cover,auto 180px;
    padding: 171px 14px 16px;
  }
  .eiei-classic .classic-course-head h1 { font-size: 27px; }
  .eiei-classic .classic-course-head .classic-subtitle { font-size: 15px; }
  .eiei-classic .classic-course-head .tcher-online-hero-copy > p:not(.classic-overline):not(.classic-subtitle) { font-size: 14px; }
  .eiei-classic .classic-course-head .tcher-stat-grid > div { min-height: 60px; padding: 9px 7px; }

  .eiei-classic .tcher-flag-award-frame .tcher-map-route-row,
  .eiei-classic .tcher-flag-award-frame .tcher-map-route-row.is-reverse {
    min-height: 96px;
    padding: 49px 7px 5px;
  }
  .eiei-classic .tcher-flag-award-frame .tcher-map-route-row::before { top: 70px; }
  .eiei-classic .tcher-flag-award-frame .tcher-map-node b { visibility: hidden; }
  .eiei-classic .tcher-flag-award-frame .tcher-map-node.is-current b,
  .eiei-classic .tcher-flag-award-frame .tcher-map-node.is-checkpoint b { visibility: visible; }
  .eiei-classic .tcher-flag-award-frame .tcher-award-gate,
  .eiei-classic .tcher-flag-award-frame .tcher-award-gate.is-ready { grid-template-columns: minmax(0,1fr); }
  .eiei-classic .tcher-flag-award-frame .tcher-award-card { padding: 14px 4px; }
}

@media (max-width: 360px) {
  .eiei-classic .tcher-video-entry .tcher-video-island,
  .eiei-classic .tcher-video-entry .tcher-video-island:last-child:nth-child(odd) { min-height: 166px; }
  .eiei-classic .tcher-video-entry .tcher-video-island > small {
    display: none !important;
    min-height: 0;
  }
  .eiei-classic .tcher-video-entry .tcher-video-island-land { height: 74px; width: 74px; }
}

/* 2.35.0 — child-first visual system and responsive proportions */
.eiei-classic {
  --tcher-jade: #167c70;
  --tcher-jade-dark: #0d5f57;
  --tcher-vermilion: #b8322a;
  --tcher-vermilion-dark: #7f211d;
  --tcher-gold: #d49a2b;
  --tcher-parchment: #fff7dc;
  --tcher-locked: #aaa79d;
  --tcher-ink: #211a14;
  --tcher-radius: 18px;
  --tcher-shadow: 0 7px 0 rgba(102,63,23,.11),0 14px 28px rgba(84,56,22,.08);
  color: var(--tcher-ink);
  font-size: 16px;
  line-height: 1.55;
}
.eiei-classic .classic-paper {
  border-radius: var(--tcher-radius);
  box-shadow: var(--tcher-shadow);
}
.eiei-classic h1,
.eiei-classic h2,
.eiei-classic h3,
.eiei-classic h4 {
  color: var(--tcher-ink);
  line-height: 1.25;
  text-shadow: -1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff;
  text-wrap: balance;
}
.eiei-classic a,
.eiei-classic button { touch-action: manipulation; }

/* Compact home header: one instruction, one continuation, four quick facts. */
.eiei-classic .classic-course-head {
  min-height: 0;
  padding: clamp(18px,3vw,32px);
}
.eiei-classic .classic-course-head::after,
.eiei-classic .classic-course-head .classic-paperclip,
.eiei-classic .classic-course-head .tcher-account-row,
.eiei-classic .classic-course-head .tcher-score-update { display: none !important; }
.eiei-classic .classic-course-head .tcher-online-hero-grid {
  align-items: center;
  display: grid;
  gap: 20px;
  grid-template-columns: minmax(0,1fr) minmax(300px,.7fr);
}
.eiei-classic .classic-course-head .tcher-online-hero-copy { max-width: none; }
.eiei-classic .classic-course-head .classic-overline { margin: 0 0 3px; }
.eiei-classic .classic-course-head h1 { font-size: clamp(30px,4vw,48px); margin: 0; }
.eiei-classic .classic-course-head .tcher-online-hero-copy > p:last-child {
  color: #5e4936;
  font-size: clamp(16px,1.7vw,20px);
  font-weight: 800;
  margin: 6px 0 0;
}
.eiei-classic .tcher-home-continue {
  align-items: center;
  background: linear-gradient(135deg,#fff4cc,#ffe9a5);
  border: 2px solid var(--tcher-gold);
  border-radius: 15px;
  box-shadow: 0 5px 0 rgba(132,84,23,.15);
  display: grid;
  gap: 2px 12px;
  grid-template-columns: minmax(0,1fr) auto;
  margin: 0;
  min-height: 82px;
  padding: 13px 15px;
  text-decoration: none !important;
}
.eiei-classic .tcher-home-continue::before { display: none; }
.eiei-classic .tcher-home-continue span { color: #8b4b20; font: 800 12px/1.2 var(--classic-ui-font); grid-column: 1; }
.eiei-classic .tcher-home-continue strong { color: var(--tcher-ink); font-size: 18px; grid-column: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.eiei-classic .tcher-home-continue b {
  align-items: center;
  background: var(--tcher-vermilion);
  border: 2px solid #73201c;
  border-radius: 99px;
  color: #fff;
  display: flex;
  font-size: 16px;
  grid-column: 2;
  grid-row: 1 / 3;
  justify-content: center;
  min-height: 46px;
  min-width: 76px;
  text-shadow: -1px -1px 0 #42120f,1px -1px 0 #42120f,-1px 1px 0 #42120f,1px 1px 0 #42120f;
}
.eiei-classic .classic-course-head .tcher-stat-grid {
  background: rgba(255,255,255,.58);
  border: 1px solid rgba(142,90,29,.2);
  border-radius: 14px;
  gap: 0;
  margin: 20px 0 9px;
  overflow: hidden;
}
.eiei-classic .classic-course-head .tcher-stat-grid > div { border-right: 1px solid rgba(142,90,29,.15); min-height: 68px; padding: 9px; }
.eiei-classic .classic-course-head .tcher-stat-grid > div:last-child { border-right: 0; }
.eiei-classic .classic-course-head .tcher-stat-grid strong { color: var(--tcher-vermilion-dark); font-size: clamp(19px,2vw,25px); }
.eiei-classic .classic-course-head .tcher-stat-grid span { color: #645140; font-size: 12px; }

/* Five territories: each victory plants one flag; ten flags win a country. */
.eiei-classic .tcher-checkin-panel { overflow: hidden; padding: clamp(10px,2vw,22px); }
.eiei-classic .tcher-flag-award-frame { border: 0; box-shadow: none; }
.eiei-classic .tcher-conquest-heading {
  align-items: center;
  background: transparent;
  border-bottom: 1px solid rgba(140,86,27,.22);
  display: grid;
  grid-template-columns: 52px minmax(0,1fr) auto;
  padding: 8px 5px 16px;
}
.eiei-classic .tcher-conquest-heading > span {
  align-items: center;
  background: var(--tcher-vermilion);
  border: 3px double #f4d386;
  border-radius: 50%;
  color: #fff;
  display: flex;
  height: 44px;
  justify-content: center;
  text-shadow: -1px -1px 0 #541713,1px 1px 0 #541713;
  width: 44px;
}
.eiei-classic .tcher-conquest-heading h2 { font-size: clamp(25px,3vw,34px); margin: 0; }
.eiei-classic .tcher-conquest-heading p { color: #6f5841; font-size: 14px; margin: 2px 0 0; }
.eiei-classic .tcher-conquest-heading > strong {
  background: #fff3ca;
  border: 1px solid var(--tcher-gold);
  border-radius: 99px;
  color: #7d331f;
  font-size: 14px;
  padding: 8px 13px;
}
.eiei-classic .tcher-adventure-map {
  background: linear-gradient(rgba(255,249,225,.72),rgba(255,239,185,.79)),url("tcheriv-detective-map.webp") center/cover;
  border: 1px solid rgba(146,88,26,.25);
  border-radius: 18px;
  box-shadow: inset 0 0 38px rgba(139,88,25,.11);
  margin-top: 14px;
  padding: clamp(14px,2.5vw,28px);
}
.eiei-classic .tcher-map-territories {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(5,minmax(0,1fr));
}
.eiei-classic .tcher-flag-award-frame .tcher-map-route-row,
.eiei-classic .tcher-flag-award-frame .tcher-map-route-row.is-reverse {
  background: rgba(255,251,234,.88);
  border: 1px solid rgba(116,83,46,.25);
  border-radius: 14px;
  box-shadow: 0 5px 14px rgba(82,54,23,.09);
  direction: ltr;
  display: block;
  min-height: 0;
  padding: 11px;
}
.eiei-classic .tcher-flag-award-frame .tcher-map-route-row::before,
.eiei-classic .tcher-flag-award-frame .tcher-map-route-row::after { content: none; display: none; }
.eiei-classic .tcher-map-route-row.is-current-region { border: 2px solid var(--tcher-vermilion); box-shadow: 0 0 0 4px rgba(184,50,42,.10),0 7px 17px rgba(82,54,23,.12); }
.eiei-classic .tcher-map-route-row.is-conquered { background: rgba(231,247,235,.9); border: 2px solid var(--tcher-jade); }
.eiei-classic .tcher-map-route-row.is-future-region { opacity: .72; }
.eiei-classic .tcher-map-route-row > header { align-items: center; display: flex; justify-content: space-between; margin-bottom: 9px; }
.eiei-classic .tcher-map-route-row > header strong { color: var(--tcher-ink); font-size: 15px; text-shadow: -1px 0 #fff,0 1px #fff,1px 0 #fff,0 -1px #fff; }
.eiei-classic .tcher-map-route-row > header span { color: #715740; font: 800 12px/1 var(--classic-ui-font); }
.eiei-classic .tcher-region-flags { display: grid; gap: 7px 5px; grid-template-columns: repeat(5,minmax(0,1fr)); }
.eiei-classic .tcher-flag-award-frame .tcher-map-node,
.eiei-classic .tcher-flag-award-frame .tcher-map-node.is-checkpoint {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  display: block;
  height: 43px;
  max-width: none;
  min-width: 0;
  position: relative;
  transform: none;
  width: 100%;
}
.eiei-classic .tcher-flag-award-frame .tcher-map-node::before {
  background: #684126;
  border-radius: 99px;
  bottom: 0;
  content: "";
  left: 3px;
  position: absolute;
  top: 1px;
  width: 3px;
}
.eiei-classic .tcher-flag-award-frame .tcher-map-node::after {
  background: #aaa79d;
  border-radius: 2px 3px 3px 2px;
  clip-path: polygon(0 0,100% 0,78% 50%,100% 100%,0 100%);
  content: "";
  height: 24px;
  left: 5px;
  position: absolute;
  top: 2px;
  width: calc(100% - 5px);
}
.eiei-classic .tcher-flag-award-frame .tcher-map-node.is-filled::after { background: var(--tcher-jade); }
.eiei-classic .tcher-flag-award-frame .tcher-map-node.is-current::after { background: var(--tcher-vermilion); }
.eiei-classic .tcher-flag-award-frame .tcher-map-node.is-current { animation: tcher-map-pulse 1.8s ease-in-out infinite; }
.eiei-classic .tcher-flag-award-frame .tcher-map-node b,
.eiei-classic .tcher-flag-award-frame .tcher-map-node.is-filled b,
.eiei-classic .tcher-flag-award-frame .tcher-map-node.is-current b {
  color: #fff;
  font: 900 9px/1 var(--classic-ui-font);
  left: 9px;
  position: absolute;
  text-shadow: -1px -1px 0 rgba(0,0,0,.55),1px 1px 0 rgba(0,0,0,.55);
  top: 10px;
  z-index: 2;
}
.eiei-classic .tcher-next-objective { color: #5b402a; font-weight: 900; margin: 15px 0 0; text-align: center; }
.eiei-classic .tcher-boost-notice { align-items: center; background: #fff3c9; border: 1px solid var(--tcher-gold); display: flex; gap: 9px; justify-content: center; margin: 13px auto 0; max-width: 620px; padding: 10px 15px; text-align: center; }

/* Award status is part of the journey, not a second competing panel. */
.eiei-classic .tcher-flag-award-frame .tcher-award-gate,
.eiei-classic .tcher-flag-award-frame .tcher-award-gate.is-ready {
  align-items: center;
  background: #fffaf0;
  border: 1px solid rgba(148,91,25,.24);
  border-radius: 16px;
  display: grid;
  gap: clamp(18px,3vw,34px);
  grid-template-columns: minmax(240px,.75fr) minmax(420px,1.25fr);
  margin-top: 16px;
  padding: clamp(18px,2.5vw,28px);
}
.eiei-classic .tcher-flag-award-frame .tcher-award-copy { align-items: center; display: grid; gap: 12px; grid-template-columns: 62px 1fr; margin: 0; text-align: left; }
.eiei-classic .tcher-flag-award-frame .tcher-award-copy > p,
.eiei-classic .tcher-flag-award-frame .tcher-award-copy small { display: none; }
.eiei-classic .tcher-flag-award-frame .tcher-award-copy .classic-stamp { height: 60px; margin: 0; width: 52px; }
.eiei-classic .tcher-flag-award-frame .tcher-award-copy h2 { font-size: clamp(22px,2.3vw,30px); margin: 0 0 3px; }
.eiei-classic .tcher-flag-award-frame .tcher-award-copy strong { color: #724b2a; font-size: 14px; }
.eiei-classic .tcher-flag-award-frame .tcher-award-card { border: 0; box-shadow: none; padding: 0; }
.eiei-classic .tcher-flag-award-frame .tcher-award-requirements { display: grid; gap: 12px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.eiei-classic .tcher-flag-award-frame .tcher-award-requirements > div,
.eiei-classic .tcher-flag-award-frame .tcher-award-requirements > div.is-passed {
  align-items: center;
  background: linear-gradient(90deg,var(--tcher-jade) var(--tcher-goal-progress),#ddd8cb var(--tcher-goal-progress));
  border: 0;
  border-radius: 12px;
  display: grid;
  gap: 2px 8px;
  grid-template-columns: 34px minmax(0,1fr) auto;
  min-height: 62px;
  padding: 8px 12px;
}
.eiei-classic .tcher-flag-award-frame .tcher-award-requirements i { align-items: center; background: #fff4cf; border-radius: 50%; color: #8d321f; display: flex; grid-row: 1 / 3; height: 32px; justify-content: center; width: 32px; }
.eiei-classic .tcher-flag-award-frame .tcher-award-requirements span,
.eiei-classic .tcher-flag-award-frame .tcher-award-requirements strong { color: #fff; text-shadow: -1px -1px 0 rgba(0,0,0,.55),1px 1px 0 rgba(0,0,0,.55); }
.eiei-classic .tcher-flag-award-frame .tcher-award-requirements span { font-size: 12px; grid-column: 2; }
.eiei-classic .tcher-flag-award-frame .tcher-award-requirements strong { font-size: 18px; grid-column: 3; grid-row: 1 / 3; }
.eiei-classic .tcher-flag-award-frame .tcher-redeem-action { margin-top: 10px; }
.eiei-classic .tcher-flag-award-frame .tcher-redeem-action button,
.eiei-classic .tcher-flag-award-frame .tcher-redeem-action a { min-height: 44px; }

/* Chapters stay visual and compact; no duplicate helper paragraphs. */
.eiei-classic .tcher-island-directory { padding: clamp(14px,2vw,24px); }
.eiei-classic .tcher-island-directory > .classic-section-heading { min-height: 0; padding: 7px 5px 13px; }
.eiei-classic .tcher-island-directory > .classic-section-heading h2 { font-size: clamp(25px,3vw,34px); }
.eiei-classic .tcher-island-directory .tcher-level > header { min-height: 54px; }
.eiei-classic .tcher-island-directory .tcher-level > header h3 { font-size: clamp(19px,2vw,24px); }
.eiei-classic .tcher-island { min-height: 194px; }
.eiei-classic .tcher-island > small { display: none; }
.eiei-classic .tcher-island > strong,
.eiei-classic .tcher-island-title,
.eiei-classic .tcher-video-island > strong {
  color: #fff !important;
  text-shadow: -1px -1px 0 #231914,1px -1px 0 #231914,-1px 1px 0 #231914,1px 1px 0 #231914;
}

/* Directory: bamboo number + 1:5:2:2 information proportions. */
.eiei-classic .tcher-directory-page-head { align-items: center; min-height: 0; padding: 16px clamp(14px,2vw,24px); }
.eiei-classic .tcher-directory-page-head h1 { font-size: clamp(25px,3.2vw,38px); margin: 2px 0 0; }
.eiei-classic .tcher-term-units-head { min-height: 0; padding: 7px 3px 10px; }
.eiei-classic .tcher-unit-panel { padding: clamp(12px,2vw,22px); }
.eiei-classic .tcher-unit-panel-head { min-height: 0; padding: 6px 4px 14px; }
.eiei-classic .tcher-unit-panel-head h2 { font-size: clamp(23px,2.8vw,34px); margin: 2px 0 0; }
.eiei-classic .tcher-unit-panel-head > strong { border-radius: 99px; height: auto; min-height: 42px; padding: 8px 14px; width: auto; }
.eiei-classic .tcher-course-grid.tcher-paged-course-grid { gap: 12px; }
.eiei-classic .tcher-course-card,
.eiei-classic .tcher-course-card:nth-child(4n+2),
.eiei-classic .tcher-course-card:nth-child(4n+3),
.eiei-classic .tcher-course-card:nth-child(4n+4) {
  align-items: center;
  background: #fffaf0;
  border: 1px solid rgba(132,85,34,.26);
  border-radius: 16px;
  box-shadow: 0 5px 0 rgba(106,66,25,.08);
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(70px,1fr) minmax(0,5fr) minmax(128px,2fr) minmax(128px,2fr);
  min-height: 112px;
  padding: 14px 18px;
  transform: none;
}
.eiei-classic .tcher-course-card::after { content: none; }
.eiei-classic .tcher-card-order,
.eiei-classic .tcher-course-card.is-passed .tcher-card-order {
  align-items: center;
  background: repeating-linear-gradient(90deg,#f2d78f 0 10px,#d6b66a 10px 12px,#f8e3a8 12px 22px);
  border: 2px solid #9b6a2e;
  border-radius: 3px;
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.32),0 5px 0 rgba(92,55,20,.13);
  color: #171411 !important;
  display: flex;
  font-size: 23px;
  height: 62px;
  justify-content: center;
  position: relative;
  text-shadow: -1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff;
  width: 72px;
  -webkit-text-stroke: .6px #fff;
}
.eiei-classic .tcher-card-order::before,
.eiei-classic .tcher-card-order::after {
  background: linear-gradient(180deg,#875326,#603717);
  border-radius: 99px;
  content: "";
  height: 7px;
  left: -7px;
  position: absolute;
  right: -7px;
}
.eiei-classic .tcher-card-order::before { top: -5px; }
.eiei-classic .tcher-card-order::after { bottom: -5px; }
.eiei-classic .tcher-card-copy { min-width: 0; }
.eiei-classic .tcher-card-copy h4,
.eiei-classic .tcher-course-card.is-passed h4 {
  background: var(--tcher-vermilion);
  border-radius: 0 38px 38px 0;
  color: #171411;
  font-size: clamp(18px,2vw,25px);
  margin: 4px 0 0;
  overflow: hidden;
  padding: 12px 18px;
  text-overflow: ellipsis;
  text-shadow: -1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff;
  white-space: nowrap;
}
.eiei-classic .tcher-course-card.is-passed .tcher-card-copy h4 { background: var(--tcher-jade); }
.eiei-classic .tcher-course-code { color: #6c5138; font-size: 12px; }
.eiei-classic .tcher-card-summary {
  align-items: stretch;
  border: 0;
  display: grid;
  gap: 5px;
  grid-template-columns: 1fr 1fr;
  padding: 0;
}
.eiei-classic .tcher-card-result,
.eiei-classic .tcher-course-card .tcher-red-score {
  align-items: center;
  background: #f6efdf;
  border: 1px solid rgba(121,84,44,.18);
  border-radius: 11px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 62px;
  padding: 6px;
  text-align: center;
}
.eiei-classic .tcher-card-result small,
.eiei-classic .tcher-course-card .tcher-red-score small { color: #705943; font-size: 11px; font-style: normal; }
.eiei-classic .tcher-card-result span,
.eiei-classic .tcher-course-card .tcher-red-score { color: #261d17; font-size: 15px; font-weight: 900; }
.eiei-classic .tcher-course-card .tcher-red-score.is-pending { color: #6f675e; }
.eiei-classic .tcher-course-card .tcher-card-actions { border: 0; padding: 0; }
.eiei-classic .tcher-card-actions > a,
.eiei-classic .tcher-course-card.is-passed .tcher-card-actions > a,
.eiei-classic .tcher-course-card.is-locked .tcher-card-actions > a {
  align-items: center;
  background: transparent;
  border: 0;
  border-bottom: 4px double var(--tcher-vermilion);
  border-radius: 0;
  box-shadow: none;
  color: #171411 !important;
  display: flex;
  font-size: clamp(17px,1.8vw,22px);
  justify-content: center;
  min-height: 48px;
  padding: 6px;
  text-shadow: -1px 0 #fff,0 1px #fff,1px 0 #fff,0 -1px #fff;
  -webkit-text-stroke: .45px #fff;
}
.eiei-classic .tcher-course-card.is-passed .tcher-card-actions > a { border-bottom-color: var(--tcher-jade); }

/* Lesson hierarchy, plain numbered route, integrated notice artwork. */
.eiei-classic .tcher-lesson-page-heading { grid-template-columns: 1fr; min-height: 250px; padding: clamp(26px,4vw,54px); }
.eiei-classic .tcher-lesson-page-heading > strong { display: none; }
.eiei-classic .tcher-lesson-page-heading h1 { font-size: clamp(32px,5vw,58px); max-width: 760px; }
.eiei-classic .classic-lesson-head { gap: 16px; grid-template-columns: 82px minmax(0,1fr) auto; }
.eiei-classic .classic-lesson-head .classic-number,
.eiei-classic.classic-outline-clean .classic-lesson-head .classic-number {
  background: repeating-linear-gradient(90deg,#f2d78f 0 11px,#d3b166 11px 13px,#f8e3a8 13px 24px);
  border: 2px solid #946128;
  border-radius: 3px;
  box-shadow: 0 5px 0 rgba(90,52,19,.14);
  color: #171411 !important;
  font-size: 25px;
  height: 67px;
  text-shadow: -1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff;
  transform: none;
  width: 76px;
}
.eiei-classic .classic-lesson-head .tcher-bamboo-scroll { display: block; }
.eiei-classic .classic-lesson-head .classic-result-mark { align-items: stretch; display: grid; gap: 7px; grid-template-columns: repeat(2,minmax(92px,1fr)); }
.eiei-classic .classic-lesson-head .classic-status,
.eiei-classic .classic-lesson-head .tcher-red-score { align-items: center; background: #f5efe1; border: 1px solid rgba(126,86,42,.22); border-radius: 11px; display: flex; flex-direction: column; justify-content: center; min-height: 58px; padding: 7px 10px; }
.eiei-classic .tcher-study-route { display: grid; gap: 10px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.eiei-classic .tcher-study-route > header { grid-column: 1 / -1; }
.eiei-classic .tcher-study-step {
  align-items: center;
  background: #fffaf0;
  border: 1px solid rgba(127,82,34,.24);
  border-radius: 14px;
  display: grid;
  gap: 10px;
  grid-template-columns: 48px minmax(0,1fr);
  min-height: 70px;
  padding: 10px 14px;
}
.eiei-classic .tcher-study-step i {
  align-items: center;
  background: var(--tcher-jade);
  border: 4px double #efd391;
  border-radius: 50%;
  color: #fff;
  display: flex;
  font-size: 19px;
  height: 44px;
  justify-content: center;
  margin: 0;
  width: 44px;
}
.eiei-classic .tcher-study-step.is-quiz i { background: var(--tcher-vermilion); }
.eiei-classic .tcher-study-step > b { background: transparent; color: var(--tcher-ink); font-size: 19px; margin: 0; padding: 0; text-shadow: -1px 0 #fff,0 1px #fff,1px 0 #fff,0 -1px #fff; }
.eiei-classic .tcher-lesson-checkin {
  align-items: center;
  background: linear-gradient(135deg,#eff7e7,#e5f1df);
  border: 2px solid var(--tcher-jade);
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(220px,340px) minmax(0,1fr);
  min-height: 250px;
  overflow: hidden;
  padding: 18px 28px;
}
.eiei-classic .tcher-lesson-checkin form { min-width: 0; }
.eiei-classic .tcher-checkin-button {
  background: transparent;
  border: 0;
  box-shadow: none;
  display: block;
  min-height: 220px;
  padding: 0;
  position: relative;
  width: 100%;
}
.eiei-classic .tcher-checkin-button:hover { background: transparent; transform: translateY(-3px); }
.eiei-classic .tcher-checkin-button img {
  bottom: auto;
  height: 235px;
  left: 50%;
  object-fit: contain;
  position: absolute;
  top: 50%;
  transform: translate(-50%,-50%);
  width: 100%;
}
.eiei-classic .tcher-checkin-button b {
  border: 0 !important;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}
.eiei-classic .tcher-lesson-checkin > span {
  background: rgba(255,255,255,.76);
  border: 1px solid rgba(22,124,112,.25);
  border-radius: 14px;
  color: #3d4b3d;
  font-size: 16px;
  font-weight: 800;
  margin: 0;
  padding: 16px;
  text-align: center;
}

/* Previous/next are arrows in circles; only the directory keeps a portrait. */
.eiei-classic .tcher-lesson-pager { align-items: start; gap: clamp(8px,2vw,22px); grid-template-columns: repeat(3,minmax(0,1fr)); padding: clamp(14px,2vw,24px); }
.eiei-classic .tcher-lesson-pager > a,
.eiei-classic .tcher-lesson-pager > span { align-items: center; background: transparent; border: 0; box-shadow: none; min-height: 170px; padding: 5px; text-align: center; }
.eiei-classic .tcher-lesson-pager .is-next { text-align: center; }
.eiei-classic .tcher-pager-arrow,
.eiei-classic .tcher-lesson-pager .tcher-pager-portrait {
  align-items: center;
  background: #fff3ca;
  border: 6px double var(--tcher-jade);
  border-radius: 50%;
  color: #651f19;
  display: flex;
  font: 900 clamp(34px,5vw,52px)/1 var(--classic-ui-font);
  height: clamp(92px,11vw,126px);
  justify-content: center;
  margin: 0 auto;
  overflow: hidden;
  width: clamp(92px,11vw,126px);
}
.eiei-classic .tcher-lesson-pager .is-previous .tcher-pager-arrow { border-color: #93aaa2; }
.eiei-classic .tcher-lesson-pager .is-directory .tcher-pager-portrait { border-color: var(--tcher-vermilion); }
.eiei-classic .tcher-lesson-pager .tcher-pager-portrait img { height: 100%; object-fit: cover; width: 100%; }
.eiei-classic .tcher-lesson-pager strong {
  background: #fffaf0;
  border: 2px solid currentColor;
  border-radius: 11px;
  color: var(--tcher-ink);
  font-size: clamp(16px,2vw,21px);
  margin-top: -7px;
  min-height: 45px;
  padding: 12px 14px 8px;
  position: relative;
  width: min(100%,190px);
}
.eiei-classic .tcher-lesson-pager em { color: #654d38; font-size: 13px; margin-top: 7px; max-width: 230px; min-height: 40px; text-align: center; }

/* Expansion library remains a single, readable row. */
.eiei-classic .tcher-video-entry { align-items: center; display: grid; gap: clamp(20px,4vw,48px); grid-template-columns: minmax(260px,.65fr) minmax(0,1.35fr); padding: clamp(22px,4vw,46px); }
.eiei-classic .tcher-video-entry-copy { text-align: center; }
.eiei-classic .tcher-video-entry h2 { font-size: clamp(27px,3.4vw,42px); }
.eiei-classic .tcher-video-note { font-size: 14px; margin: 9px 0 0; text-align: center; }
.eiei-classic .tcher-video-entry .tcher-video-island-map,
.eiei-classic .tcher-video-island-map.is-library { display: grid; gap: 12px; grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
.eiei-classic .tcher-video-entry .tcher-video-island,
.eiei-classic .tcher-video-entry .tcher-video-island:last-child:nth-child(odd) { min-height: 230px; padding: 10px 5px; }

/* Challenger selector: compact bamboo identity cards. */
.eiei-classic .tcher-challenger-select { padding: clamp(18px,3vw,34px); }
.eiei-classic .tcher-challenger-select > header { margin: 0 auto 20px; max-width: 720px; text-align: center; }
.eiei-classic .tcher-challenger-grid { grid-template-columns: repeat(auto-fit,minmax(230px,1fr)); }
.eiei-classic .tcher-challenger-card { min-height: 290px; padding: 22px 18px 18px; }
.eiei-classic .tcher-challenger-card > h2 { font-size: 24px; }
.eiei-classic .tcher-challenger-select > footer { justify-content: center; }

@media (max-width: 900px) {
  .eiei-classic .classic-course-head .tcher-online-hero-grid { grid-template-columns: 1fr; }
  .eiei-classic .tcher-map-territories {
    display: flex;
    margin-inline: -8px;
    overflow-x: auto;
    padding: 6px 8px 13px;
    scroll-snap-type: x mandatory;
  }
  .eiei-classic .tcher-map-route-row { flex: 0 0 min(72vw,280px); scroll-snap-align: center; }
  .eiei-classic .tcher-map-route-row.is-current-region { order: -1; }
  .eiei-classic .tcher-flag-award-frame .tcher-award-gate,
  .eiei-classic .tcher-flag-award-frame .tcher-award-gate.is-ready { grid-template-columns: 1fr; }
  .eiei-classic .tcher-course-card,
  .eiei-classic .tcher-course-card:nth-child(4n+2),
  .eiei-classic .tcher-course-card:nth-child(4n+3),
  .eiei-classic .tcher-course-card:nth-child(4n+4) { grid-template-columns: 70px minmax(0,1fr) 120px; }
  .eiei-classic .tcher-card-order { grid-column: 1; grid-row: 1 / 3; }
  .eiei-classic .tcher-card-copy { grid-column: 2; grid-row: 1; }
  .eiei-classic .tcher-card-summary { grid-column: 2; grid-row: 2; }
  .eiei-classic .tcher-course-card .tcher-card-actions { grid-column: 3; grid-row: 1 / 3; }
  .eiei-classic .tcher-video-entry { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .eiei-classic { font-size: 15px; }
  .eiei-classic .classic-paper { border-radius: 14px; }
  .eiei-classic .classic-course-head { padding: 16px 12px; }
  .eiei-classic .classic-course-head h1 { font-size: 28px; }
  .eiei-classic .tcher-home-continue { grid-template-columns: minmax(0,1fr) 68px; min-height: 70px; padding: 10px 11px; }
  .eiei-classic .tcher-home-continue strong { font-size: 16px; }
  .eiei-classic .tcher-home-continue b { font-size: 14px; min-height: 44px; min-width: 62px; }
  .eiei-classic .classic-course-head .tcher-stat-grid { grid-template-columns: repeat(4,minmax(0,1fr)); margin-top: 14px; }
  .eiei-classic .classic-course-head .tcher-stat-grid > div { border-bottom: 0; min-height: 58px; padding: 7px 2px; }
  .eiei-classic .classic-course-head .tcher-stat-grid > div:nth-child(2n) { border-right: 1px solid rgba(142,90,29,.15); }
  .eiei-classic .classic-course-head .tcher-stat-grid > div:last-child { border-right: 0; }
  .eiei-classic .classic-course-head .tcher-stat-grid strong { font-size: 17px; }
  .eiei-classic .classic-course-head .tcher-stat-grid span { font-size: 11px; }

  .eiei-classic .tcher-checkin-panel { padding: 8px; }
  .eiei-classic .tcher-conquest-heading { grid-template-columns: 42px minmax(0,1fr); padding: 7px 5px 12px; }
  .eiei-classic .tcher-conquest-heading > span { height: 36px; width: 36px; }
  .eiei-classic .tcher-conquest-heading h2 { font-size: 24px; }
  .eiei-classic .tcher-conquest-heading p { font-size: 12px; }
  .eiei-classic .tcher-conquest-heading > strong { grid-column: 2; justify-self: start; margin-top: 6px; padding: 5px 8px; }
  .eiei-classic .tcher-adventure-map { padding: 10px; }
  .eiei-classic .tcher-flag-award-frame .tcher-map-route-row,
  .eiei-classic .tcher-flag-award-frame .tcher-map-route-row.is-reverse { min-height: 0; padding: 10px; }
  .eiei-classic .tcher-flag-award-frame .tcher-map-node,
  .eiei-classic .tcher-flag-award-frame .tcher-map-node.is-checkpoint { height: 43px; max-width: none; min-width: 0; }
  .eiei-classic .tcher-flag-award-frame .tcher-map-node b,
  .eiei-classic .tcher-flag-award-frame .tcher-map-node.is-filled b,
  .eiei-classic .tcher-flag-award-frame .tcher-map-node.is-current b { font-size: 9px; left: 9px; top: 10px; }
  .eiei-classic .tcher-flag-award-frame .tcher-award-gate,
  .eiei-classic .tcher-flag-award-frame .tcher-award-gate.is-ready { gap: 14px; padding: 14px 10px; }
  .eiei-classic .tcher-flag-award-frame .tcher-award-copy { grid-template-columns: 49px minmax(0,1fr); }
  .eiei-classic .tcher-flag-award-frame .tcher-award-copy .classic-stamp { height: 48px; width: 43px; }
  .eiei-classic .tcher-flag-award-frame .tcher-award-copy h2 { font-size: 21px; }
  .eiei-classic .tcher-flag-award-frame .tcher-award-requirements > div,
  .eiei-classic .tcher-flag-award-frame .tcher-award-requirements > div.is-passed { grid-template-columns: 28px minmax(0,1fr); min-height: 67px; padding: 7px 8px; }
  .eiei-classic .tcher-flag-award-frame .tcher-award-requirements i { height: 27px; width: 27px; }
  .eiei-classic .tcher-flag-award-frame .tcher-award-requirements strong { font-size: 16px; grid-column: 2; grid-row: 2; }

  .eiei-classic .tcher-island-directory { padding: 10px; }
  .eiei-classic .tcher-island-directory .tcher-level > header { grid-template-columns: auto minmax(0,1fr) auto; }
  .eiei-classic .tcher-island-directory .tcher-level > header > span { grid-column: 3; text-align: right; }
  .eiei-classic .tcher-island { min-height: 172px; }
  .eiei-classic .tcher-directory-page-head { padding: 13px 11px; }
  .eiei-classic .tcher-directory-page-head h1 { font-size: 25px; }
  .eiei-classic .tcher-unit-panel-head { grid-template-columns: minmax(0,1fr); }
  .eiei-classic .tcher-unit-panel-head > strong { justify-self: start; }
  .eiei-classic .tcher-course-card,
  .eiei-classic .tcher-course-card:nth-child(4n+2),
  .eiei-classic .tcher-course-card:nth-child(4n+3),
  .eiei-classic .tcher-course-card:nth-child(4n+4) {
    gap: 7px 10px;
    grid-template-columns: 58px minmax(0,1fr) 88px;
    min-height: 100px;
    padding: 12px 9px;
  }
  .eiei-classic .tcher-card-order,
  .eiei-classic .tcher-course-card.is-passed .tcher-card-order { font-size: 19px; height: 50px; width: 56px; }
  .eiei-classic .tcher-card-copy h4,
  .eiei-classic .tcher-course-card.is-passed h4 { font-size: 16px; padding: 9px 10px; }
  .eiei-classic .tcher-course-card .tcher-course-code { display: none; }
  .eiei-classic .tcher-card-summary { display: flex; flex-direction: row; gap: 5px; }
  .eiei-classic .tcher-card-result,
  .eiei-classic .tcher-course-card .tcher-red-score { flex: 1; min-height: 36px; padding: 3px 4px; }
  .eiei-classic .tcher-card-result small,
  .eiei-classic .tcher-course-card .tcher-red-score small { font-size: 9px; }
  .eiei-classic .tcher-card-result span,
  .eiei-classic .tcher-course-card .tcher-red-score { font-size: 11px; }
  .eiei-classic .tcher-card-actions > a,
  .eiei-classic .tcher-course-card.is-passed .tcher-card-actions > a,
  .eiei-classic .tcher-course-card.is-locked .tcher-card-actions > a { font-size: 15px; min-height: 46px; }

  .eiei-classic .tcher-lesson-page-heading { background-size: cover,auto 150px; min-height: 0; padding: 154px 14px 16px; }
  .eiei-classic .tcher-lesson-page-heading h1 { font-size: 28px; }
  .eiei-classic .classic-lesson { padding: 9px; }
  .eiei-classic .classic-lesson-head { grid-template-columns: 62px minmax(0,1fr); padding: 9px 4px 12px; }
  .eiei-classic .classic-lesson-head .classic-number,
  .eiei-classic.classic-outline-clean .classic-lesson-head .classic-number { font-size: 20px; height: 52px; width: 58px; }
  .eiei-classic .classic-lesson-head .classic-result-mark { grid-column: 2; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 0; }
  .eiei-classic .classic-lesson-head .classic-status,
  .eiei-classic .classic-lesson-head .tcher-red-score { font-size: 12px; min-height: 43px; padding: 5px; }
  .eiei-classic .tcher-study-route { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .eiei-classic .tcher-study-step { gap: 4px; grid-template-columns: 34px minmax(0,1fr); min-height: 58px; padding: 7px 5px; }
  .eiei-classic .tcher-study-step i { font-size: 15px; height: 32px; width: 32px; }
  .eiei-classic .tcher-study-step > b { font-size: 14px; }
  .eiei-classic .tcher-lesson-checkin { gap: 8px; grid-template-columns: minmax(145px,1fr) minmax(110px,.75fr); min-height: 180px; padding: 9px; }
  .eiei-classic .tcher-checkin-button { min-height: 170px; }
  .eiei-classic .tcher-checkin-button img { height: 180px; }
  .eiei-classic .tcher-lesson-checkin > span { font-size: 12px; padding: 10px 7px; }
  .eiei-classic .tcher-lesson-pager { padding: 9px 3px; }
  .eiei-classic .tcher-lesson-pager > a,
  .eiei-classic .tcher-lesson-pager > span { min-height: 125px; padding: 2px; }
  .eiei-classic .tcher-pager-arrow,
  .eiei-classic .tcher-lesson-pager .tcher-pager-portrait { border-width: 4px; font-size: 31px; height: 70px; width: 70px; }
  .eiei-classic .tcher-lesson-pager strong { font-size: 13px; min-height: 39px; padding: 11px 3px 6px; width: 94%; }
  .eiei-classic .tcher-lesson-pager em { font-size: 10px; line-height: 1.3; margin-top: 4px; min-height: 27px; }

  .eiei-classic .tcher-video-entry { gap: 14px; padding: 18px 6px; }
  .eiei-classic .tcher-video-entry h2 { font-size: 25px; }
  .eiei-classic .tcher-video-entry .tcher-video-island-map { gap: 5px; }
  .eiei-classic .tcher-video-entry .tcher-video-island,
  .eiei-classic .tcher-video-entry .tcher-video-island:last-child:nth-child(odd) { min-height: 156px; padding: 2px; }
  .eiei-classic .tcher-video-entry .tcher-video-island-land { height: 68px; width: 68px; }
  .eiei-classic .tcher-video-entry nav .tcher-video-island > span { font-size: 13px; }

  .eiei-classic .tcher-challenger-select { padding: 14px 9px; }
  .eiei-classic .tcher-challenger-grid { grid-template-columns: 1fr; }
  .eiei-classic .tcher-challenger-card,
  .eiei-classic .tcher-challenger-card:nth-child(3n+2),
  .eiei-classic .tcher-challenger-card:nth-child(3n+3) { min-height: 118px; }
}

@media (max-width: 380px) {
  .eiei-classic .classic-course-head .tcher-stat-grid strong { font-size: 15px; }
  .eiei-classic .tcher-course-card,
  .eiei-classic .tcher-course-card:nth-child(4n+2),
  .eiei-classic .tcher-course-card:nth-child(4n+3),
  .eiei-classic .tcher-course-card:nth-child(4n+4) { grid-template-columns: 52px minmax(0,1fr) 78px; }
  .eiei-classic .tcher-card-order,
  .eiei-classic .tcher-course-card.is-passed .tcher-card-order { height: 46px; width: 50px; }
  .eiei-classic .tcher-card-copy h4,
  .eiei-classic .tcher-course-card.is-passed h4 { font-size: 14px; }
  .eiei-classic .tcher-lesson-checkin { grid-template-columns: 1fr; }
  .eiei-classic .tcher-lesson-checkin > span { margin-top: -12px; }
}

/* 2.34.13: one unified award mission scroll with compact progress tracks. */
.eiei-classic .tcher-flag-award-frame .tcher-award-gate,
.eiei-classic .tcher-flag-award-frame .tcher-award-gate.is-ready {
  background:
    linear-gradient(90deg,rgba(164,48,40,.8),rgba(164,48,40,.8)) top left / 100% 4px no-repeat,
    linear-gradient(180deg,rgba(255,251,237,.92),rgba(250,236,202,.88));
  gap: 17px;
  grid-template-columns: minmax(0,1fr);
  justify-items: center;
  padding: clamp(24px,3vw,36px);
}
.eiei-classic .tcher-flag-award-frame .tcher-award-copy {
  align-items: center;
  column-gap: 18px;
  display: grid;
  grid-template-columns: 66px minmax(0,1fr);
  justify-self: center;
  max-width: 900px;
  padding: 0;
  row-gap: 9px;
  text-align: left;
  width: 100%;
}
.eiei-classic .tcher-flag-award-frame .tcher-award-copy .classic-stamp {
  grid-column: 1;
  grid-row: 1;
}
.eiei-classic .tcher-flag-award-frame .tcher-award-copy > div {
  grid-column: 2;
  grid-row: 1;
}
.eiei-classic .tcher-flag-award-frame .tcher-award-copy > div > small {
  color: #9a332a;
  display: block;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .12em;
  margin-bottom: 3px;
}
.eiei-classic .tcher-flag-award-frame .tcher-award-copy h2 {
  font-size: clamp(25px,2.5vw,33px);
  margin-bottom: 4px;
  white-space: normal;
}
.eiei-classic .tcher-flag-award-frame .tcher-award-copy strong {
  color: #7e2923;
  font-size: 16px;
}
.eiei-classic .tcher-flag-award-frame .tcher-award-copy p {
  border-top: 1px dashed rgba(145,87,36,.3);
  grid-column: 1 / -1;
  margin: 3px 0 0;
  max-width: none;
  padding-top: 12px;
  text-align: center;
}
.eiei-classic .tcher-flag-award-frame .tcher-award-card {
  display: grid;
  gap: 13px;
  max-width: 900px;
  padding: 0;
  width: 100%;
}
.eiei-classic .tcher-flag-award-frame .tcher-award-card > header { display: none; }
.eiei-classic .tcher-flag-award-frame .tcher-award-requirements {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2,minmax(0,1fr));
  margin: 0;
  max-width: none;
  width: 100%;
}
.eiei-classic .tcher-flag-award-frame .tcher-award-requirements > div,
.eiei-classic .tcher-flag-award-frame .tcher-award-requirements > div.is-passed {
  align-items: center;
  background: rgba(255,252,241,.9);
  border: 1px solid rgba(158,99,42,.3);
  border-radius: 13px;
  box-shadow: 0 4px 10px rgba(86,54,28,.07),inset 0 1px 0 #fff;
  display: grid;
  gap: 7px 13px;
  grid-template-columns: 48px minmax(0,1fr) auto;
  grid-template-rows: auto 9px;
  height: auto;
  justify-content: stretch;
  margin: 0;
  min-height: 80px;
  overflow: hidden;
  padding: 13px 15px;
  position: relative;
  width: auto;
}
.eiei-classic .tcher-flag-award-frame .tcher-award-requirements > div.is-passed {
  background: rgba(238,248,230,.94);
  border-color: rgba(36,123,111,.48);
}
.eiei-classic .tcher-flag-award-frame .tcher-award-requirements i {
  align-items: center;
  align-self: stretch;
  background: #247b6f;
  border: 3px double #ffe5aa;
  border-radius: 50%;
  color: #fff8df;
  display: flex;
  font-size: 16px;
  grid-column: 1;
  grid-row: 1 / 3;
  height: 42px;
  justify-content: center;
  position: static;
  width: 42px;
}
.eiei-classic .tcher-flag-award-frame .tcher-award-requirements > div:nth-child(2) i { background: #b4372e; }
.eiei-classic .tcher-flag-award-frame .tcher-award-requirements span {
  color: #513d2d;
  font-size: 15px;
  grid-column: 2;
  grid-row: 1;
  margin: 0;
  text-align: left;
}
.eiei-classic .tcher-flag-award-frame .tcher-award-requirements strong {
  color: #72261f;
  font-size: clamp(20px,2vw,25px);
  grid-column: 3;
  grid-row: 1;
  text-align: right;
}
.eiei-classic .tcher-flag-award-frame .tcher-award-requirements > div::before,
.eiei-classic .tcher-flag-award-frame .tcher-award-requirements > div::after {
  border-radius: 999px;
  content: "";
  display: block;
  grid-column: 2 / 4;
  grid-row: 2;
  height: 9px;
}
.eiei-classic .tcher-flag-award-frame .tcher-award-requirements > div::before { background: #e7dcc4; }
.eiei-classic .tcher-flag-award-frame .tcher-award-requirements > div::after {
  background: linear-gradient(90deg,#2b8b7d,#65ad91);
  justify-self: start;
  width: var(--tcher-goal-progress,0%);
}
.eiei-classic .tcher-flag-award-frame .tcher-award-requirements > div:nth-child(2)::after {
  background: linear-gradient(90deg,#b4372e,#d17c3c);
}
.eiei-classic .tcher-flag-award-frame .tcher-award-card > p {
  font-size: 14px;
  margin: 0;
}
.eiei-classic .tcher-flag-award-frame .tcher-award-card .tcher-redeem-action { justify-content: center; }
.eiei-classic .tcher-flag-award-frame .tcher-award-card .tcher-disabled-button,
.eiei-classic .tcher-flag-award-frame .tcher-award-card .classic-ink-button { min-width: 220px; }

@media (max-width: 760px) {
  .eiei-classic .tcher-flag-award-frame .tcher-award-gate,
  .eiei-classic .tcher-flag-award-frame .tcher-award-gate.is-ready { padding: 23px 13px; }
  .eiei-classic .tcher-flag-award-frame .tcher-award-copy {
    column-gap: 12px;
    grid-template-columns: 55px minmax(0,1fr);
  }
  .eiei-classic .tcher-flag-award-frame .tcher-award-copy .classic-stamp {
    font-size: 13px;
    height: 55px;
    width: 49px;
  }
  .eiei-classic .tcher-flag-award-frame .tcher-award-copy > div > small { font-size: 12px; }
  .eiei-classic .tcher-flag-award-frame .tcher-award-copy h2 { font-size: 24px; }
  .eiei-classic .tcher-flag-award-frame .tcher-award-copy strong { font-size: 14px; }
  .eiei-classic .tcher-flag-award-frame .tcher-award-copy p { font-size: 14px; padding-top: 10px; }
  .eiei-classic .tcher-flag-award-frame .tcher-award-requirements {
    gap: 10px;
    grid-template-columns: minmax(0,1fr);
  }
  .eiei-classic .tcher-flag-award-frame .tcher-award-requirements > div,
  .eiei-classic .tcher-flag-award-frame .tcher-award-requirements > div.is-passed {
    grid-template-columns: 44px minmax(0,1fr) auto;
    min-height: 72px;
    padding: 11px 12px;
  }
  .eiei-classic .tcher-flag-award-frame .tcher-award-requirements i { height: 38px; width: 38px; }
  .eiei-classic .tcher-flag-award-frame .tcher-award-requirements strong { font-size: 20px; }
  .eiei-classic .tcher-flag-award-frame .tcher-award-card .tcher-disabled-button,
  .eiei-classic .tcher-flag-award-frame .tcher-award-card .classic-ink-button { min-width: min(100%,220px); }
}

/* 2.34.14: one child-first hierarchy, one typographic system, and compact responsive missions. */
.eiei-classic {
  --tcher-ink: #211710;
  --tcher-red: #aa3028;
  --tcher-red-dark: #76231e;
  --tcher-jade: #237d70;
  --tcher-jade-dark: #155f56;
  --tcher-gold: #c99a4e;
  --tcher-paper: #fff8e5;
  --tcher-paper-deep: #f0d8a5;
  color: var(--tcher-ink);
}
.eiei-classic h1,
.eiei-classic h2,
.eiei-classic h3,
.eiei-classic h4 {
  color: var(--tcher-ink) !important;
  text-shadow: none;
  -webkit-text-stroke: 0;
}
.eiei-classic h1,
.eiei-classic .classic-section-heading h2,
.eiei-classic .tcher-conquest-heading h2,
.eiei-classic .tcher-unit-panel-head h2,
.eiei-classic .classic-lesson-head h2,
.eiei-classic .tcher-challenger-select > header h1 {
  color: #171411 !important;
  paint-order: stroke fill;
  text-shadow: -1px 0 #fff,0 1px #fff,1px 0 #fff,0 -1px #fff;
  -webkit-text-stroke: .65px rgba(255,255,255,.98);
}
.eiei-classic .tcher-island-title,
.eiei-classic .tcher-video-island-land .tcher-island-title,
.eiei-classic .tcher-challenger-card > button {
  color: #fff !important;
  paint-order: stroke fill;
  text-shadow: -1px -1px 0 #171411,1px -1px 0 #171411,-1px 1px 0 #171411,1px 1px 0 #171411;
  -webkit-text-stroke: .8px #171411;
}

/* Logos support the page instead of becoming the page. */
.eiei-classic .tcher-partnership-banner {
  border-radius: 13px;
  margin-bottom: 12px;
  padding: 8px clamp(12px,2vw,22px);
}
.eiei-classic .tcher-partnership-logos { min-height: 52px; }
.eiei-classic .tcher-partner-logo.is-kpm img { max-height: 62px; max-width: 220px; }
.eiei-classic .tcher-partner-logo.is-tcheriv img { max-height: 52px; max-width: 142px; }

/* The home hero reports four separate facts with no mixed denominators. */
.eiei-classic .classic-course-head {
  border-width: 2px;
  margin-bottom: 14px;
  padding-bottom: 18px;
}
.eiei-classic .classic-course-head .classic-paperclip { display: none; }
.eiei-classic .classic-course-head h1 { max-width: 660px; }
.eiei-classic .classic-course-head .tcher-stat-grid {
  background: rgba(255,250,233,.88);
  border: 1px solid rgba(144,86,35,.24);
  border-radius: 13px;
  gap: 0;
  overflow: hidden;
}
.eiei-classic .classic-course-head .tcher-stat-grid > div {
  background: transparent;
  border: 0;
  border-right: 1px solid rgba(144,86,35,.18);
  border-radius: 0;
  box-shadow: none;
  min-height: 68px;
  transform: none;
}
.eiei-classic .classic-course-head .tcher-stat-grid > div:last-child { border-right: 0; }
.eiei-classic .classic-course-head .tcher-stat-grid > div::before { display: none; }
.eiei-classic .classic-course-head .tcher-stat-grid strong {
  color: #6f241e;
  font-size: clamp(19px,2vw,24px);
}
.eiei-classic .classic-course-head .tcher-stat-grid span { color: #574536; font-size: 13px; }
.eiei-classic .classic-course-head .classic-progress { height: 7px; }
.eiei-classic .tcher-score-update,
.eiei-classic .tcher-score-note {
  background: transparent;
  border: 0;
  color: #675747;
  font-size: 13px;
  margin: 8px 0 0;
  padding: 0;
  text-align: center;
}
.eiei-classic .tcher-score-update summary,
.eiei-classic .tcher-score-note summary {
  color: #65513f;
  cursor: pointer;
  font-weight: 800;
  list-style-position: inside;
}
.eiei-classic .tcher-score-update > span,
.eiei-classic .tcher-score-note > span { display: block; margin-top: 5px; }

/* The next lesson is the first action after the hero. */
.eiei-classic .tcher-home-continue {
  margin: 0 0 14px;
  min-height: 78px;
}
.eiei-classic .tcher-home-continue span { font-size: 14px; }
.eiei-classic .tcher-home-continue b {
  border-bottom: 3px double var(--tcher-red);
  font-size: 19px;
}

/* Remove decorative frames that compete with real content. */
.eiei-classic .tcher-flag-award-frame::before,
.eiei-classic .tcher-challenger-card::before,
.eiei-classic .tcher-study-step::after { content: none !important; display: none !important; }
.eiei-classic .tcher-flag-award-frame {
  border: 2px solid #ad7b34;
  box-shadow: 0 7px 0 rgba(104,62,25,.11);
  padding: 0;
}
.eiei-classic .tcher-conquest-heading {
  border-bottom: 1px solid rgba(145,86,34,.28);
  padding: 17px clamp(18px,3vw,32px);
}
.eiei-classic .tcher-conquest-heading h2 { font-size: clamp(25px,2.4vw,32px); }
.eiei-classic .tcher-conquest-heading p { font-size: 15px; }
.eiei-classic .tcher-conquest-heading > strong { font-size: 16px; }
.eiei-classic .tcher-flag-award-frame .tcher-adventure-map {
  gap: 9px;
  padding: 17px clamp(16px,2.5vw,30px);
}
.eiei-classic .tcher-flag-award-frame .tcher-map-route-row,
.eiei-classic .tcher-flag-award-frame .tcher-map-route-row.is-reverse {
  border-radius: 12px;
  min-height: 69px;
  padding-bottom: 8px;
  padding-left: 160px;
  padding-top: 8px;
}
.eiei-classic .tcher-flag-award-frame .tcher-map-route-row::before { left: 168px; }
.eiei-classic .tcher-flag-award-frame .tcher-map-route-row::after,
.eiei-classic .tcher-flag-award-frame .tcher-map-route-row.is-reverse::after {
  font-size: 15px;
  left: 15px;
  min-height: 39px;
  width: 122px;
}
.eiei-classic .tcher-flag-award-frame .tcher-map-node { height: 50px; }
.eiei-classic .tcher-flag-award-frame .tcher-map-node::after { height: 31px; }
.eiei-classic .tcher-flag-award-frame .tcher-map-node b { top: 14px; }

/* One award scroll, one sentence, two comparable goals, one unlock action. */
.eiei-classic .tcher-flag-award-frame .tcher-award-gate,
.eiei-classic .tcher-flag-award-frame .tcher-award-gate.is-ready {
  gap: 12px;
  padding: 20px clamp(18px,3vw,30px) 22px;
}
.eiei-classic .tcher-flag-award-frame .tcher-award-copy {
  column-gap: 15px;
  grid-template-columns: 58px minmax(0,1fr);
  max-width: 860px;
  row-gap: 6px;
}
.eiei-classic .tcher-flag-award-frame .tcher-award-copy .classic-stamp {
  font-size: 13px;
  height: 55px;
  width: 50px;
}
.eiei-classic .tcher-flag-award-frame .tcher-award-copy > div > small { font-size: 14px; }
.eiei-classic .tcher-flag-award-frame .tcher-award-copy h2 { font-size: clamp(23px,2.2vw,29px); }
.eiei-classic .tcher-flag-award-frame .tcher-award-copy p {
  border-top: 0;
  font-size: 15px;
  line-height: 1.55;
  padding-top: 3px;
}
.eiei-classic .tcher-flag-award-frame .tcher-award-card { gap: 10px; max-width: 860px; }
.eiei-classic .tcher-flag-award-frame .tcher-award-requirements > div,
.eiei-classic .tcher-flag-award-frame .tcher-award-requirements > div.is-passed {
  border-radius: 10px;
  min-height: 72px;
  padding: 10px 13px;
}
.eiei-classic .tcher-flag-award-frame .tcher-award-card > p { display: none; }
.eiei-classic .tcher-flag-award-frame .tcher-award-card .tcher-disabled-button,
.eiei-classic .tcher-flag-award-frame .tcher-award-card .classic-ink-button {
  font-size: 15px;
  min-height: 44px;
  min-width: 270px;
}

/* Chapter choice reads as a short selection task, not another hero. */
.eiei-classic .tcher-island-directory { padding: clamp(17px,2.3vw,26px); }
.eiei-classic .tcher-island-directory > .classic-section-heading {
  align-items: center;
  background: linear-gradient(90deg,#fff7de,#f1d8a6);
  border: 1px solid rgba(145,86,34,.25);
  border-radius: 12px;
  display: grid;
  gap: 13px;
  grid-template-columns: 48px minmax(0,1fr);
  min-height: 78px;
  padding: 12px 16px;
}
.eiei-classic .tcher-island-directory > .classic-section-heading > span {
  align-items: center;
  background: var(--tcher-red);
  border: 3px double #ffe4a9;
  border-radius: 50%;
  color: #fff6dd;
  display: flex;
  font: 900 19px/1 KaiTi,STKaiti,serif;
  height: 44px;
  justify-content: center;
  width: 44px;
}
.eiei-classic .tcher-island-directory > .classic-section-heading > div { margin: 0; text-align: left; }
.eiei-classic .tcher-island-directory > .classic-section-heading h2 { font-size: 27px; margin: 0 0 2px; }
.eiei-classic .tcher-island-directory > .classic-section-heading p { font-size: 14px; line-height: 1.45; text-align: left; }
.eiei-classic .tcher-island-directory .tcher-level > header {
  border-bottom: 1px solid rgba(145,86,34,.2);
  grid-template-columns: auto minmax(0,1fr) auto;
  margin: 13px 0 7px;
  padding: 9px 4px;
}
.eiei-classic .tcher-island-directory .tcher-level > header h3 { font-size: clamp(20px,2vw,25px); text-align: left; }
.eiei-classic .tcher-island-directory .tcher-level > header > span { font-size: 14px; text-align: right; }
.eiei-classic .tcher-island-map { padding-bottom: 4px; padding-top: 12px; }
.eiei-classic .tcher-island:not(:last-child)::after,
.eiei-classic .tcher-video-island:not(:last-child)::after { display: none !important; }
.eiei-classic .tcher-island { min-height: 205px; }
.eiei-classic .tcher-island-land { height: 112px; width: 112px; }
.eiei-classic .tcher-island.is-locked { filter: grayscale(.9); opacity: .34; }

/* Free-exploration categories always stay in one clear row. */
.eiei-classic .tcher-video-entry {
  gap: 18px;
  padding: clamp(22px,3vw,32px);
}
.eiei-classic .tcher-video-entry-copy { max-width: 720px; }
.eiei-classic .tcher-video-entry h2 { font-size: clamp(27px,3vw,35px); margin: 4px 0 6px; }
.eiei-classic .tcher-video-entry-copy > p { font-size: 15px; margin: 5px 0; }
.eiei-classic .tcher-video-entry .tcher-video-island-map {
  gap: clamp(8px,2vw,22px);
  padding: 8px 0 2px;
}
.eiei-classic .tcher-video-entry .tcher-video-island,
.eiei-classic .tcher-video-entry .tcher-video-island:last-child:nth-child(odd) {
  grid-column: auto;
  min-height: 202px;
  padding: 3px 5px 8px;
  width: auto;
}
.eiei-classic .tcher-video-entry .tcher-video-island-land { height: 105px; margin-bottom: 42px; width: 105px; }
.eiei-classic .tcher-video-entry nav .tcher-video-island > span {
  background: transparent;
  border: 0;
  border-bottom: 3px double var(--tcher-red);
  border-radius: 0;
  color: var(--tcher-ink);
  font: 900 17px/1.2 KaiTi,STKaiti,serif;
  min-height: 42px;
  width: min(100%,140px);
}

/* The directory behaves like a compact working surface. */
.eiei-classic .tcher-directory-page-head {
  align-items: center;
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  min-height: 150px;
  padding: 20px clamp(18px,3vw,34px);
}
.eiei-classic .tcher-directory-page-head > a { margin: 0; min-height: 44px; }
.eiei-classic .tcher-directory-page-head h1 { font-size: clamp(29px,3.5vw,41px); margin: 5px 0 7px; }
.eiei-classic .tcher-directory-page-head p { font-size: 15px; }
.eiei-classic .tcher-directory-units {
  border-radius: 12px;
  margin-bottom: 14px;
  padding: 14px;
}
.eiei-classic .tcher-directory-units .tcher-term-units-head { margin-bottom: 10px; }
.eiei-classic .tcher-directory-units .tcher-unit-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.eiei-classic .tcher-directory-units .tcher-unit-card {
  border-radius: 9px;
  min-height: 76px;
  padding: 11px 13px;
}
.eiei-classic .tcher-unit-panel { padding: clamp(17px,2.6vw,28px); }
.eiei-classic .tcher-unit-panel-head { margin-bottom: 13px; padding-bottom: 12px; }
.eiei-classic .tcher-unit-panel-head > strong {
  background: #fff3cf;
  border: 1px solid #c89c55;
  border-radius: 999px;
  font-size: 17px;
  height: auto;
  min-height: 44px;
  padding: 9px 16px;
  width: auto;
}
.eiei-classic .tcher-unit-page-meta {
  background: #fff8e7;
  border: 1px solid rgba(151,91,37,.2);
  border-radius: 8px;
  font-size: 14px;
  margin: 10px 0;
  padding: 9px 12px;
}

/* Course rows keep the requested 1:5:2:2 visual ratio. */
.eiei-classic .tcher-course-card,
.eiei-classic .tcher-course-card:nth-child(4n+2),
.eiei-classic .tcher-course-card:nth-child(4n+3) {
  background: linear-gradient(90deg,#fff9e9,#fffdf5);
  border: 1px solid rgba(153,91,35,.28);
  border-left: 5px solid var(--tcher-red);
  border-radius: 11px;
  box-shadow: 0 4px 10px rgba(83,50,24,.06);
  gap: clamp(10px,1.4vw,20px);
  grid-template-columns: minmax(58px,1fr) minmax(0,5fr) minmax(116px,2fr) minmax(105px,2fr);
  min-height: 96px;
  padding: 14px 18px;
  transform: none;
}
.eiei-classic .tcher-course-card.is-passed { border-left-color: var(--tcher-jade); }
.eiei-classic .tcher-card-order,
.eiei-classic .tcher-course-card.is-passed .tcher-card-order {
  color: #171411 !important;
  font-size: 21px;
  height: 52px;
  width: 60px;
}
.eiei-classic .tcher-card-copy { min-width: 0; }
.eiei-classic .tcher-course-card .tcher-course-code { font-size: 13px; margin: 0; }
.eiei-classic .tcher-course-card h4,
.eiei-classic .tcher-course-card.is-passed h4 {
  background: transparent;
  border: 0;
  color: #171411 !important;
  font-size: clamp(17px,1.6vw,21px);
  line-height: 1.35;
  margin: 5px 0 0;
  padding: 0;
  text-shadow: -1px 0 #fff,0 1px #fff,1px 0 #fff,0 -1px #fff;
  -webkit-text-stroke: .45px #fff;
}
.eiei-classic .tcher-card-summary {
  align-content: center;
  border-left: 1px solid rgba(145,86,34,.17);
  display: grid;
  gap: 5px;
  justify-items: center;
  min-width: 0;
  padding-left: 10px;
}
.eiei-classic .tcher-card-result span { font-size: 14px; white-space: normal; }
.eiei-classic .tcher-course-card .tcher-red-score,
.eiei-classic .classic-lesson-head .tcher-red-score {
  align-items: baseline;
  background: transparent;
  border: 0;
  box-shadow: none;
  color: #832820;
  display: flex;
  flex-direction: row;
  font: 900 18px/1.2 var(--classic-ui-font);
  gap: 5px;
  height: auto;
  justify-content: center;
  left: auto;
  padding: 0;
  position: static;
  transform: none;
  width: auto;
}
.eiei-classic .tcher-course-card .tcher-red-score small,
.eiei-classic .classic-lesson-head .tcher-red-score small { color: #675342; font-size: 13px; margin: 0; }
.eiei-classic .tcher-card-actions {
  align-items: center;
  border-left: 1px solid rgba(145,86,34,.17);
  display: flex;
  justify-content: center;
  min-width: 0;
  padding-left: 10px;
}
.eiei-classic .tcher-card-actions > a,
.eiei-classic .tcher-course-card.is-passed .tcher-card-actions > a,
.eiei-classic .tcher-course-card.is-locked .tcher-card-actions > a {
  background: transparent;
  border: 0;
  border-bottom: 3px double var(--tcher-red);
  border-radius: 0;
  box-shadow: none;
  color: #171411 !important;
  font: 900 clamp(17px,1.5vw,20px)/1.2 KaiTi,STKaiti,serif;
  min-height: 44px;
  min-width: 0;
  padding: 10px 3px 6px;
  text-align: center;
  text-shadow: -1px 0 #fff,0 1px #fff,1px 0 #fff,0 -1px #fff;
  width: auto;
  -webkit-text-stroke: .45px #fff;
}
.eiei-classic .tcher-card-actions > a::before,
.eiei-classic .tcher-card-actions > a::after { content: none !important; display: none !important; }
.eiei-classic .tcher-course-card.is-passed .tcher-card-actions > a { border-bottom-color: var(--tcher-jade); }

/* Lesson title leads the page; the rest becomes one calm learning path. */
.eiei-classic .tcher-lesson-page-heading {
  min-height: clamp(230px,20vw,300px);
  padding: clamp(26px,3.8vw,46px) clamp(24px,4vw,54px);
}
.eiei-classic .tcher-lesson-page-heading h1 { font-size: clamp(31px,3.7vw,45px); max-width: 650px; }
.eiei-classic .tcher-lesson-page-heading > strong { background: #fff7df; border-color: #c99c53; color: #6f281f; }
.eiei-classic .classic-lesson {
  border: 1px solid rgba(145,86,34,.27);
  box-shadow: 0 6px 15px rgba(85,51,25,.07);
  padding: clamp(15px,2.2vw,24px);
}
.eiei-classic .classic-lesson::before { display: none !important; }
.eiei-classic .classic-lesson-head {
  border-bottom: 1px solid rgba(145,86,34,.2);
  grid-template-columns: 80px minmax(0,1fr) minmax(150px,auto);
  padding: 12px 10px 16px;
}
.eiei-classic .classic-lesson-head .classic-number,
.eiei-classic.classic-outline-clean .classic-lesson-head .classic-number {
  color: #171411 !important;
  font-size: 23px;
  height: 62px;
  width: 70px;
}
.eiei-classic .classic-lesson-head h2 {
  background: transparent;
  border: 0;
  font-size: clamp(20px,2vw,27px);
  margin: 4px 0 0;
  padding: 0;
}
.eiei-classic .classic-lesson-head .classic-result-mark { gap: 5px; }
.eiei-classic .classic-lesson-head .classic-status { font-size: 14px; }
.eiei-classic .classic-intro { border-left-color: var(--tcher-gold); margin: 14px 0; }
.eiei-classic .tcher-study-route { gap: 8px; margin: 15px 0; }
.eiei-classic .tcher-study-route > header strong { font-size: 22px; }
.eiei-classic .tcher-study-route > header span { font-size: 14px; }
.eiei-classic .tcher-study-step {
  border-width: 1px;
  box-shadow: none;
  grid-template-columns: 62px 104px minmax(0,1fr);
  min-height: 72px;
  padding: 8px 14px 8px 5px;
}
.eiei-classic .tcher-study-step i { font-size: 21px; height: 56px; margin-left: -9px; width: 56px; }
.eiei-classic .tcher-study-step > b { font-size: 18px; padding: 12px 18px; }
.eiei-classic .tcher-study-step > span strong { font-size: 16px; }
.eiei-classic .tcher-study-step > span small { font-size: 14px; }
.eiei-classic .classic-learning-content { margin: 14px 0; }
.eiei-classic .classic-learning-content { margin-left: auto; margin-right: auto; max-width: 900px; }
.eiei-classic .classic-video { aspect-ratio: 16 / 9; min-height: 0 !important; }

/* The illustrated placard carries “提交通知”; the button only confirms the lesson. */
.eiei-classic .tcher-lesson-checkin {
  border: 1px solid rgba(35,125,112,.5);
  box-shadow: inset 0 0 0 4px rgba(255,253,241,.9);
  grid-template-columns: minmax(0,1fr);
  min-height: 154px;
  padding: 17px 20px 17px 178px;
}
.eiei-classic .tcher-checkin-button,
.eiei-classic .tcher-lesson-checkin.is-checked .tcher-checkin-button {
  background: transparent;
  border: 0;
  border-bottom: 4px double var(--tcher-jade);
  border-radius: 0;
  box-shadow: none;
  color: #171411;
  font: 900 clamp(22px,2.2vw,29px)/1.2 KaiTi,STKaiti,serif;
  min-height: 54px;
  padding: 9px 5px 6px;
  text-shadow: -1px 0 #fff,0 1px #fff,1px 0 #fff,0 -1px #fff;
  -webkit-text-stroke: .55px #fff;
}
.eiei-classic .tcher-checkin-button img { height: 166px; width: 160px; }
.eiei-classic .tcher-checkin-button b { color: #171411 !important; }
.eiei-classic .tcher-lesson-checkin > span { font-size: 14px; line-height: 1.55; text-align: center; }
.eiei-classic .tcher-score-note { padding: 8px; }

/* Lesson navigation is three equally legible choices. */
.eiei-classic .tcher-lesson-pager {
  border: 1px solid rgba(145,86,34,.25);
  box-shadow: none;
  gap: clamp(12px,3vw,34px);
  grid-template-columns: repeat(3,minmax(0,1fr));
  padding: clamp(16px,2.5vw,24px);
}
.eiei-classic .tcher-lesson-pager::before { display: none; }
.eiei-classic .tcher-lesson-pager > a,
.eiei-classic .tcher-lesson-pager > span { min-height: 178px; }
.eiei-classic .tcher-lesson-pager .tcher-pager-portrait { height: 100px; width: 100px; }
.eiei-classic .tcher-lesson-pager strong { font-size: 18px; min-height: 47px; }
.eiei-classic .tcher-lesson-pager em { font-size: 14px; }

/* Challenger selection now matches the same scroll language. */
.eiei-classic .tcher-challenger-select {
  border: 2px solid #ad7b34;
  box-shadow: 0 7px 0 rgba(104,62,25,.11);
  padding: clamp(20px,3vw,34px);
}
.eiei-classic .tcher-challenger-select > header { margin-bottom: 18px; text-align: center; }
.eiei-classic .tcher-challenger-select > header h1 { font-size: clamp(31px,4vw,45px); margin: 10px 0 7px; }
.eiei-classic .tcher-challenger-select > header p { font-size: 15px; margin: 0; text-align: center; }
.eiei-classic .tcher-challenger-grid { gap: 14px; }
.eiei-classic .tcher-challenger-card,
.eiei-classic .tcher-challenger-card:nth-child(3n+2),
.eiei-classic .tcher-challenger-card:nth-child(3n+3) {
  background: #fff8e6;
  border: 1px solid rgba(151,91,37,.34);
  border-top: 5px solid var(--tcher-red);
  border-radius: 10px;
  box-shadow: 0 5px 12px rgba(84,49,23,.07);
  min-height: 246px;
  padding: 19px 15px 16px;
  transform: none;
}
.eiei-classic .tcher-challenger-card:nth-child(3n+2) { border-top-color: var(--tcher-jade); }
.eiei-classic .tcher-challenger-card:nth-child(3n+3) { border-top-color: #8b5b2b; }
.eiei-classic .tcher-player-avatar,
.eiei-classic .tcher-challenger-card:nth-child(3n+2) .tcher-player-avatar,
.eiei-classic .tcher-challenger-card:nth-child(3n+3) .tcher-player-avatar {
  background: repeating-linear-gradient(90deg,#e7c77d 0 8px,#9a6b31 8px 10px,#f0d58f 10px 18px);
  border: 0;
  border-radius: 4px;
  box-shadow: inset 0 0 0 2px rgba(103,61,25,.2),0 5px 0 rgba(93,55,23,.12);
  color: #171411 !important;
  font-size: 24px;
  height: 58px;
  position: relative;
  transform: none;
  width: 70px;
  -webkit-text-stroke: 1px #fff;
}
.eiei-classic .tcher-player-avatar::before,
.eiei-classic .tcher-player-avatar::after {
  background: linear-gradient(180deg,#835124,#5f3519);
  border-radius: 99px;
  content: "";
  height: 7px;
  left: -6px;
  position: absolute;
  right: -6px;
}
.eiei-classic .tcher-player-avatar::before { top: -5px; }
.eiei-classic .tcher-player-avatar::after { bottom: -5px; }
.eiei-classic .tcher-challenger-card > h2 { font-size: 26px; margin: 7px 0 3px; }
.eiei-classic .tcher-challenger-card > strong { font-size: 15px; }
.eiei-classic .tcher-challenger-card > p { font-size: 14px; margin: 8px 0 12px; }
.eiei-classic .tcher-challenger-card > button {
  background: transparent;
  border: 0;
  border-bottom: 3px double var(--tcher-red);
  border-radius: 0;
  box-shadow: none;
  color: #171411 !important;
  font-size: 19px;
  min-height: 46px;
  padding: 9px 4px 6px;
  text-shadow: -1px 0 #fff,0 1px #fff,1px 0 #fff,0 -1px #fff;
  -webkit-text-stroke: .5px #fff;
}
.eiei-classic .tcher-challenger-select > footer { align-items: center; margin-top: 17px; }
.eiei-classic .tcher-challenger-select > footer p { font-size: 14px; margin: 0; text-align: left; }

@media (max-width: 760px) {
  .eiei-classic .tcher-partnership-banner { padding: 6px 8px; }
  .eiei-classic .tcher-partnership-logos { min-height: 44px; }
  .eiei-classic .tcher-partner-logo.is-kpm img { max-height: 42px; max-width: 146px; }
  .eiei-classic .tcher-partner-logo.is-tcheriv img { max-height: 38px; max-width: 94px; }

  .eiei-classic .classic-course-head { padding-bottom: 14px; }
  .eiei-classic .classic-course-head h1 { font-size: 26px; }
  .eiei-classic .classic-course-head .tcher-stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .eiei-classic .classic-course-head .tcher-stat-grid > div { border-bottom: 1px solid rgba(144,86,35,.18); border-right: 1px solid rgba(144,86,35,.18); }
  .eiei-classic .classic-course-head .tcher-stat-grid > div:nth-child(2n) { border-right: 0; }
  .eiei-classic .classic-course-head .tcher-stat-grid > div:nth-last-child(-n+2) { border-bottom: 0; }
  .eiei-classic .classic-course-head .tcher-stat-grid strong { font-size: 20px; }
  .eiei-classic .classic-course-head .tcher-stat-grid span { font-size: 13px; }
  .eiei-classic .tcher-score-update { font-size: 12px; }

  .eiei-classic .tcher-home-continue {
    column-gap: 10px;
    grid-template-columns: 45px minmax(0,1fr) auto;
    margin: 0 8px 12px;
    min-height: 66px;
    padding: 9px 11px;
  }
  .eiei-classic .tcher-home-continue::before { font-size: 18px; grid-column: 1; grid-row: 1 / 3; height: 41px; width: 41px; }
  .eiei-classic .tcher-home-continue span { font-size: 12px; grid-column: 2; grid-row: 1; }
  .eiei-classic .tcher-home-continue strong { font-size: 18px; grid-column: 2; grid-row: 2; }
  .eiei-classic .tcher-home-continue b { font-size: 15px; grid-column: 3; grid-row: 1 / 3; white-space: normal; }

  .eiei-classic .tcher-conquest-heading { grid-template-columns: 44px minmax(0,1fr) auto; padding: 13px 10px; text-align: left; }
  .eiei-classic .tcher-conquest-heading > span { height: 38px; width: 38px; }
  .eiei-classic .tcher-conquest-heading h2 { font-size: 24px; }
  .eiei-classic .tcher-conquest-heading p { font-size: 13px; text-align: left; }
  .eiei-classic .tcher-conquest-heading > strong { font-size: 12px; grid-column: 3; padding: 7px 8px; }
  .eiei-classic .tcher-flag-award-frame .tcher-adventure-map { gap: 7px; padding: 10px 7px; }
  .eiei-classic .tcher-flag-award-frame .tcher-map-route-row,
  .eiei-classic .tcher-flag-award-frame .tcher-map-route-row.is-reverse {
    min-height: 70px;
    padding: 36px 5px 4px;
  }
  .eiei-classic .tcher-flag-award-frame .tcher-map-route-row::after,
  .eiei-classic .tcher-flag-award-frame .tcher-map-route-row.is-reverse::after {
    font-size: 12px;
    left: 8px;
    min-height: 27px;
    padding: 3px 7px;
    top: 5px;
    transform: none;
    width: auto;
  }
  .eiei-classic .tcher-flag-award-frame .tcher-map-route-row::before { left: 12px; right: 12px; top: 52px; }
  .eiei-classic .tcher-flag-award-frame .tcher-map-node { height: 38px; max-width: 38px; min-width: 17px; }
  .eiei-classic .tcher-flag-award-frame .tcher-map-node::after { height: 24px; }
  .eiei-classic .tcher-flag-award-frame .tcher-map-node b,
  .eiei-classic .tcher-flag-award-frame .tcher-map-node.is-filled b { font-size: 8px; left: 7px; top: 11px; }
  .eiei-classic .tcher-flag-award-frame .tcher-map-node.is-checkpoint { max-width: 42px; }

  .eiei-classic .tcher-flag-award-frame .tcher-award-gate,
  .eiei-classic .tcher-flag-award-frame .tcher-award-gate.is-ready { padding: 17px 10px; }
  .eiei-classic .tcher-flag-award-frame .tcher-award-copy { grid-template-columns: 49px minmax(0,1fr); text-align: left; }
  .eiei-classic .tcher-flag-award-frame .tcher-award-copy .classic-stamp { height: 48px; width: 43px; }
  .eiei-classic .tcher-flag-award-frame .tcher-award-copy h2 { font-size: 22px; }
  .eiei-classic .tcher-flag-award-frame .tcher-award-copy strong { font-size: 14px; }
  .eiei-classic .tcher-flag-award-frame .tcher-award-copy p { font-size: 13px; }
  .eiei-classic .tcher-flag-award-frame .tcher-award-requirements { gap: 8px; }
  .eiei-classic .tcher-flag-award-frame .tcher-award-requirements > div,
  .eiei-classic .tcher-flag-award-frame .tcher-award-requirements > div.is-passed { min-height: 67px; }
  .eiei-classic .tcher-flag-award-frame .tcher-award-requirements span { font-size: 14px; }
  .eiei-classic .tcher-flag-award-frame .tcher-award-requirements strong { font-size: 19px; }
  .eiei-classic .tcher-flag-award-frame .tcher-award-card .tcher-disabled-button,
  .eiei-classic .tcher-flag-award-frame .tcher-award-card .classic-ink-button { min-width: min(100%,270px); }

  .eiei-classic .tcher-island-directory { padding: 10px; }
  .eiei-classic .tcher-island-directory > .classic-section-heading { grid-template-columns: 42px minmax(0,1fr); min-height: 66px; padding: 9px 11px; }
  .eiei-classic .tcher-island-directory > .classic-section-heading > span { height: 38px; width: 38px; }
  .eiei-classic .tcher-island-directory > .classic-section-heading h2 { font-size: 23px; }
  .eiei-classic .tcher-island-directory > .classic-section-heading p { font-size: 13px; }
  .eiei-classic .tcher-island-directory .tcher-level > header { grid-template-columns: auto minmax(0,1fr); }
  .eiei-classic .tcher-island-directory .tcher-level > header h3 { font-size: 20px; }
  .eiei-classic .tcher-island-directory .tcher-level > header > span { grid-column: 2; font-size: 13px; text-align: left; }
  .eiei-classic .tcher-island { min-height: 188px; }

  .eiei-classic .tcher-video-entry { gap: 12px; padding: 19px 7px; }
  .eiei-classic .tcher-video-entry h2 { font-size: 25px; }
  .eiei-classic .tcher-video-entry-copy > p { font-size: 14px; }
  .eiei-classic .tcher-video-entry .tcher-video-island-map { column-gap: 4px; grid-template-columns: repeat(3,minmax(0,1fr)) !important; padding: 7px 0; }
  .eiei-classic .tcher-video-entry .tcher-video-island,
  .eiei-classic .tcher-video-entry .tcher-video-island:last-child:nth-child(odd) { min-height: 158px; padding: 2px; }
  .eiei-classic .tcher-video-entry .tcher-video-island-land { border-width: 4px !important; height: 70px; margin-bottom: 36px; width: 70px; }
  .eiei-classic .tcher-video-entry .tcher-video-island .tcher-island-title { font-size: 12px; max-width: 104px; padding: 6px 5px; }
  .eiei-classic .tcher-video-entry .tcher-video-island > small { display: none !important; min-height: 0; }
  .eiei-classic .tcher-video-entry nav .tcher-video-island > span { font-size: 14px; min-height: 44px; padding: 8px 2px 5px; width: 100%; }

  .eiei-classic .tcher-directory-page-head {
    gap: 8px;
    grid-template-columns: minmax(0,1fr);
    min-height: 0;
    padding: 15px 12px;
  }
  .eiei-classic .tcher-directory-page-head > a { justify-self: start; min-height: 42px; }
  .eiei-classic .tcher-directory-page-head h1 { font-size: 27px; }
  .eiei-classic .tcher-directory-page-head p { font-size: 14px; }
  .eiei-classic .tcher-directory-units { padding: 10px; }
  .eiei-classic .tcher-directory-units .tcher-unit-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .eiei-classic .tcher-directory-units .tcher-unit-card { min-height: 72px; }
  .eiei-classic .tcher-unit-panel-head { grid-template-columns: minmax(0,1fr) auto; }
  .eiei-classic .tcher-unit-panel-head > strong { height: auto; min-height: 42px; width: auto; }
  .eiei-classic .tcher-unit-page-meta { align-items: flex-start; flex-direction: column; gap: 2px; }

  .eiei-classic .tcher-course-card,
  .eiei-classic .tcher-course-card:nth-child(4n+2),
  .eiei-classic .tcher-course-card:nth-child(4n+3) {
    gap: 5px 10px;
    grid-template-columns: 52px minmax(0,1fr) 90px;
    min-height: 94px;
    padding: 11px 9px;
  }
  .eiei-classic .tcher-card-order,
  .eiei-classic .tcher-course-card.is-passed .tcher-card-order { font-size: 18px; height: 44px; width: 50px; }
  .eiei-classic .tcher-card-copy { grid-column: 2; grid-row: 1; }
  .eiei-classic .tcher-course-card .tcher-course-code { display: none; }
  .eiei-classic .tcher-course-card h4,
  .eiei-classic .tcher-course-card.is-passed h4 { font-size: 16px; margin: 0; }
  .eiei-classic .tcher-card-order { grid-column: 1; grid-row: 1 / 3; }
  .eiei-classic .tcher-card-summary { align-items: flex-start; border-left: 0; border-right: 0; border-top: 0; display: flex; flex-direction: column; gap: 1px; grid-column: 2; grid-row: 2; justify-content: center; padding: 0; text-align: left; }
  .eiei-classic .tcher-card-result span { font-size: 12px; }
  .eiei-classic .tcher-course-card .tcher-red-score { font-size: 14px; }
  .eiei-classic .tcher-course-card .tcher-red-score small { font-size: 11px; }
  .eiei-classic .tcher-course-card .tcher-card-actions { align-self: stretch; border-left: 1px solid rgba(145,86,34,.17); border-top: 0; grid-column: 3; grid-row: 1 / 3; padding: 0 0 0 6px; }
  .eiei-classic .tcher-card-actions > a,
  .eiei-classic .tcher-course-card.is-passed .tcher-card-actions > a,
  .eiei-classic .tcher-course-card.is-locked .tcher-card-actions > a { font-size: 15px; min-height: 44px; padding-left: 0; padding-right: 0; }

  .eiei-classic .tcher-lesson-page-heading {
    background-position: center,70% top;
    background-size: cover,auto 164px;
    min-height: 0;
    padding: 162px 14px 15px;
  }
  .eiei-classic .tcher-lesson-page-heading h1 { font-size: 27px; margin: 5px 0 7px; }
  .eiei-classic .tcher-lesson-page-heading > strong { min-height: 40px; }
  .eiei-classic .classic-lesson { padding: 10px; }
  .eiei-classic .classic-lesson-head { gap: 8px 10px; grid-template-columns: 58px minmax(0,1fr); padding: 10px 5px 13px; }
  .eiei-classic .classic-lesson-head .classic-number,
  .eiei-classic.classic-outline-clean .classic-lesson-head .classic-number { font-size: 19px; height: 50px; width: 55px; }
  .eiei-classic .classic-lesson-head .tcher-course-code.is-detail { font-size: 12px; }
  .eiei-classic .classic-lesson-head h2 { font-size: 18px; }
  .eiei-classic .classic-lesson-head .classic-result-mark { grid-column: 2; margin: 4px 0 0; }
  .eiei-classic .classic-intro { font-size: 14px; }
  .eiei-classic .tcher-study-route > header { gap: 2px; }
  .eiei-classic .tcher-study-route > header strong { font-size: 20px; }
  .eiei-classic .tcher-study-route > header span { font-size: 13px; }
  .eiei-classic .tcher-study-step { grid-template-columns: 48px 72px minmax(0,1fr); min-height: 67px; padding: 7px 6px 7px 3px; }
  .eiei-classic .tcher-study-step i { font-size: 18px; height: 46px; margin-left: -5px; width: 46px; }
  .eiei-classic .tcher-study-step > b { font-size: 15px; margin-left: -4px; padding: 11px 9px; }
  .eiei-classic .tcher-study-step > span { padding: 4px 6px; }
  .eiei-classic .tcher-study-step > span strong { font-size: 14px; }
  .eiei-classic .tcher-study-step > span small { font-size: 12px; }
  .eiei-classic .tcher-lesson-checkin { min-height: 139px; padding: 13px 10px 13px 108px; }
  .eiei-classic .tcher-checkin-button { font-size: 21px; min-height: 48px; width: 100%; }
  .eiei-classic .tcher-checkin-button img { bottom: 3px; height: 118px; left: 2px; width: 104px; }
  .eiei-classic .tcher-lesson-checkin > span { font-size: 12px; margin-top: 7px; }
  .eiei-classic .tcher-score-note { font-size: 12px; }
  .eiei-classic .tcher-lesson-pager { gap: 5px; grid-template-columns: repeat(3,minmax(0,1fr)); padding: 10px 5px; }
  .eiei-classic .tcher-lesson-pager .is-directory { grid-column: auto; }
  .eiei-classic .tcher-lesson-pager > a,
  .eiei-classic .tcher-lesson-pager > span { min-height: 134px; }
  .eiei-classic .tcher-lesson-pager .tcher-pager-portrait { height: 70px; width: 70px; }
  .eiei-classic .tcher-lesson-pager strong { font-size: 14px; min-height: 41px; padding: 13px 3px 7px; }
  .eiei-classic .tcher-lesson-pager em { font-size: 11px; margin-top: 5px; }

  .eiei-classic .tcher-challenger-select { padding: 14px 10px; }
  .eiei-classic .tcher-challenger-select > header { margin-bottom: 12px; }
  .eiei-classic .tcher-challenger-select > header h1 { font-size: 29px; }
  .eiei-classic .tcher-challenger-select > header p { font-size: 14px; }
  .eiei-classic .tcher-challenger-grid { grid-template-columns: minmax(0,1fr); }
  .eiei-classic .tcher-challenger-card,
  .eiei-classic .tcher-challenger-card:nth-child(3n+2),
  .eiei-classic .tcher-challenger-card:nth-child(3n+3) {
    align-items: center;
    display: grid;
    gap: 3px 10px;
    grid-template-columns: 62px minmax(0,1fr) 98px;
    min-height: 124px;
    padding: 13px 10px;
    text-align: left;
  }
  .eiei-classic .tcher-player-avatar { grid-column: 1; grid-row: 1 / 5; height: 49px; width: 58px; }
  .eiei-classic .tcher-challenger-card > small,
  .eiei-classic .tcher-challenger-card > h2,
  .eiei-classic .tcher-challenger-card > strong,
  .eiei-classic .tcher-challenger-card > p { grid-column: 2; margin: 0; text-align: left; }
  .eiei-classic .tcher-challenger-card > h2 { font-size: 22px; }
  .eiei-classic .tcher-challenger-card > p { font-size: 12px; }
  .eiei-classic .tcher-challenger-card > button { font-size: 14px; grid-column: 3; grid-row: 1 / 5; min-height: 48px; padding: 7px; }
  .eiei-classic .tcher-challenger-select > footer { align-items: stretch; flex-direction: column; gap: 8px; }
  .eiei-classic .tcher-challenger-select > footer p { font-size: 12px; text-align: center; }
}

@media (max-width: 360px) {
  .eiei-classic .tcher-home-continue { grid-template-columns: 42px minmax(0,1fr) 70px; }
  .eiei-classic .tcher-home-continue b { font-size: 14px; }
  .eiei-classic .tcher-conquest-heading { grid-template-columns: 39px minmax(0,1fr); }
  .eiei-classic .tcher-conquest-heading > strong { grid-column: 1 / -1; justify-self: center; }
  .eiei-classic .tcher-video-entry .tcher-video-island-land { height: 62px; width: 62px; }
  .eiei-classic .tcher-video-entry .tcher-video-island .tcher-island-title { font-size: 11px; }
  .eiei-classic .tcher-course-card,
  .eiei-classic .tcher-course-card:nth-child(4n+2),
  .eiei-classic .tcher-course-card:nth-child(4n+3) { grid-template-columns: 48px minmax(0,1fr) 82px; }
  .eiei-classic .tcher-challenger-card,
  .eiei-classic .tcher-challenger-card:nth-child(3n+2),
  .eiei-classic .tcher-challenger-card:nth-child(3n+3) { grid-template-columns: 56px minmax(0,1fr) 86px; }
}

/* 2.35.0 final visual QA: protect reading space and remove decorative noise. */
.eiei-classic .tcher-flag-award-frame .tcher-map-node b { display: none !important; }
.eiei-classic .tcher-flag-award-frame .tcher-map-node.is-current b,
.eiei-classic .tcher-flag-award-frame .tcher-map-node.is-checkpoint b { display: block !important; }
.eiei-classic .tcher-flag-award-frame .tcher-award-requirements span,
.eiei-classic .tcher-flag-award-frame .tcher-award-requirements strong {
  text-shadow: none;
  -webkit-text-stroke: 0;
}

@media (max-width: 760px) {
  .eiei-classic .classic-course-head {
    background-image:
      linear-gradient(180deg,rgba(255,249,229,.02) 0 158px,rgba(255,248,228,.97) 202px,rgba(255,248,228,.99) 100%),
      url("tcheriv-detective-home.webp");
    background-position: center,68% top;
    background-size: cover,auto 218px;
    padding: 208px 12px 14px;
  }
  .eiei-classic .tcher-challenger-card > small { grid-row: 1; }
  .eiei-classic .tcher-challenger-card > h2 { grid-row: 2; }
  .eiei-classic .tcher-challenger-card > strong { grid-row: 3; }
  .eiei-classic .tcher-challenger-card > p { grid-row: 4; }
}

/* 2.35.1 — rebuilt expedition and lesson flow. */
.eiei-classic .tcher-flag-award-frame .tcher-adventure-map {
  background: linear-gradient(90deg,rgba(255,248,222,.91),rgba(247,231,186,.82)),url("tcheriv-detective-map.webp") center/cover;
  border: 1px solid rgba(145,86,34,.3);
  border-radius: 0;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75);
  margin: 0;
  padding: clamp(18px,2.5vw,30px);
}
.eiei-classic .tcher-map-territories {
  display: grid;
  gap: clamp(10px,1.3vw,16px);
  grid-template-columns: repeat(5,minmax(0,1fr));
}
.eiei-classic .tcher-flag-award-frame .tcher-map-route-row,
.eiei-classic .tcher-flag-award-frame .tcher-map-route-row.is-reverse {
  background: rgba(255,252,238,.9);
  border: 1px solid rgba(114,79,42,.26);
  border-radius: 12px;
  box-shadow: 0 5px 12px rgba(80,50,22,.07);
  box-sizing: border-box;
  min-height: 156px;
  padding: 14px 12px 12px !important;
}
.eiei-classic .tcher-map-route-row.is-current-region {
  background: linear-gradient(180deg,#fff9e7,#fff3cf);
  border: 2px solid var(--tcher-vermilion);
  box-shadow: 0 0 0 3px rgba(184,50,42,.09),0 6px 14px rgba(80,50,22,.1);
}
.eiei-classic .tcher-map-route-row.is-conquered {
  background: linear-gradient(180deg,#f1faed,#e4f3e3);
  border: 2px solid var(--tcher-jade);
}
.eiei-classic .tcher-map-route-row.is-future-region { opacity: .66; }
.eiei-classic .tcher-map-route-row > header {
  align-items: center;
  display: flex;
  gap: 8px;
  justify-content: space-between;
  margin: 0 0 13px;
  min-height: 29px;
  writing-mode: horizontal-tb;
}
.eiei-classic .tcher-map-route-row > header strong {
  color: #2b211a;
  font: 900 18px/1.2 KaiTi,STKaiti,serif;
  letter-spacing: .04em;
  text-shadow: -1px 0 #fff,0 1px #fff,1px 0 #fff,0 -1px #fff;
  white-space: nowrap;
  word-break: keep-all;
}
.eiei-classic .tcher-map-route-row > header span {
  background: rgba(255,255,255,.7);
  border: 1px solid rgba(137,91,39,.2);
  border-radius: 999px;
  color: #6e5137;
  flex: 0 0 auto;
  font: 900 13px/1 var(--classic-ui-font);
  padding: 6px 8px;
  white-space: nowrap;
}
.eiei-classic .tcher-region-flags {
  display: grid;
  gap: 8px 6px;
  grid-template-columns: repeat(5,minmax(0,1fr));
}
.eiei-classic .tcher-flag-award-frame .tcher-map-node,
.eiei-classic .tcher-flag-award-frame .tcher-map-node.is-checkpoint { height: 39px; min-width: 0; width: 100%; }
.eiei-classic .tcher-flag-award-frame .tcher-map-node::after { height: 25px; }
.eiei-classic .tcher-flag-award-frame .tcher-map-node b { top: 10px; }
.eiei-classic .tcher-next-objective { font-size: 16px; margin: 18px 0 0; }

.eiei-classic .tcher-study-route {
  align-items: stretch;
  background: #fbf5e7;
  border: 1px solid rgba(138,87,34,.25);
  border-radius: 14px;
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3,minmax(0,1fr));
  margin: 16px auto;
  padding: 16px;
}
.eiei-classic .tcher-study-route:has(> .tcher-study-step:nth-child(2):last-child) { grid-template-columns: minmax(260px,430px); justify-content: center; }
.eiei-classic .tcher-study-route:has(> .tcher-study-step:nth-child(3):last-child) { grid-template-columns: repeat(2,minmax(240px,380px)); justify-content: center; }
.eiei-classic .tcher-study-route > header {
  align-items: center;
  border-bottom: 1px solid rgba(146,89,35,.18);
  display: flex;
  flex-direction: column;
  gap: 3px;
  grid-column: 1 / -1;
  justify-content: center;
  padding: 0 0 11px;
  text-align: center;
}
.eiei-classic .tcher-study-route > header strong { font-size: 22px; }
.eiei-classic .tcher-study-route > header span { color: #6c5743; font-size: 14px; }
.eiei-classic .tcher-study-step,
.eiei-classic .tcher-study-step:nth-of-type(2) {
  align-items: center;
  background: #fffdf7;
  border: 1px solid rgba(35,125,112,.35);
  border-radius: 12px;
  box-shadow: 0 4px 9px rgba(75,49,23,.06);
  display: grid;
  gap: 12px;
  grid-template-columns: 52px minmax(0,1fr);
  min-height: 72px;
  padding: 10px 14px;
}
.eiei-classic .tcher-study-step.is-quiz { border-color: rgba(184,50,42,.42); }
.eiei-classic .tcher-study-step i,
.eiei-classic .tcher-study-step:nth-of-type(2) i {
  background: var(--tcher-jade);
  border: 3px solid #fff8db;
  box-shadow: 0 0 0 2px var(--tcher-jade);
  color: #fff;
  font-size: 19px;
  height: 43px;
  margin: 0;
  width: 43px;
}
.eiei-classic .tcher-study-step.is-quiz i { background: var(--tcher-vermilion); box-shadow: 0 0 0 2px var(--tcher-vermilion); }
.eiei-classic .tcher-study-step > b,
.eiei-classic .tcher-study-step:nth-of-type(2) > b {
  background: transparent;
  clip-path: none;
  color: #211a15;
  font: 900 19px/1.25 KaiTi,STKaiti,serif;
  margin: 0;
  min-width: 0;
  overflow: visible;
  padding: 0;
  position: static;
  text-align: center;
  transform: none;
  white-space: nowrap;
}

.eiei-classic .tcher-flag-award-frame .tcher-award-card > .tcher-award-guide {
  color: #67513c;
  display: block;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  margin: 0 0 10px;
  text-align: center;
}
.eiei-classic .tcher-lesson-checkin,
.eiei-classic .tcher-lesson-checkin.is-checked {
  align-items: center;
  background: linear-gradient(135deg,#fffaf0,#f6eedc);
  border: 1px solid rgba(153,95,35,.34);
  border-radius: 16px;
  box-shadow: 0 6px 15px rgba(82,51,24,.08);
  display: grid;
  gap: 18px;
  grid-template-columns: 205px minmax(0,1fr);
  margin: 18px auto 0;
  max-width: 820px;
  min-height: 166px;
  overflow: hidden;
  padding: 12px 22px;
}
.eiei-classic .tcher-lesson-checkin form { margin: 0; min-width: 0; width: 100%; }
.eiei-classic .tcher-checkin-button,
.eiei-classic .tcher-lesson-checkin.is-checked .tcher-checkin-button {
  border: 0;
  border-radius: 0;
  box-shadow: none;
  display: block;
  min-height: 142px;
  padding: 0;
  position: relative;
  width: 100%;
}
.eiei-classic .tcher-checkin-button img {
  bottom: auto;
  height: 166px;
  left: 50%;
  object-fit: contain;
  position: absolute;
  top: 50%;
  transform: translate(-50%,-50%);
  width: 195px;
}
.eiei-classic .tcher-checkin-copy { border-left: 3px solid var(--tcher-jade); padding: 8px 4px 8px 22px; text-align: left; }
.eiei-classic .tcher-checkin-copy strong { color: #181411; display: block; font: 900 27px/1.25 KaiTi,STKaiti,serif; text-shadow: -1px 0 #fff,0 1px #fff,1px 0 #fff,0 -1px #fff; }
.eiei-classic .tcher-checkin-copy span { color: #5b4939; display: block; font-size: 15px; font-weight: 700; line-height: 1.5; margin-top: 6px; }

.eiei-classic .tcher-lesson-pager {
  background: linear-gradient(180deg,#fff8e4,#f8e7bd);
  border: 1px solid rgba(148,91,29,.28);
  border-radius: 16px;
  box-shadow: 0 5px 12px rgba(82,51,24,.07);
  gap: clamp(16px,4vw,54px);
  margin: 24px auto;
  max-width: 860px;
  padding: 22px clamp(15px,4vw,42px);
}
.eiei-classic .tcher-lesson-pager > a,
.eiei-classic .tcher-lesson-pager > span { min-height: 146px; padding: 3px; }
.eiei-classic .tcher-pager-arrow,
.eiei-classic .tcher-lesson-pager .tcher-pager-portrait {
  background: #fff9e7;
  border: 3px solid var(--tcher-jade);
  box-shadow: inset 0 0 0 5px #ebcb79,0 5px 0 rgba(92,57,24,.13);
  color: #7b241d;
  font-size: 39px;
  height: 92px;
  width: 92px;
}
.eiei-classic .tcher-lesson-pager .is-previous .tcher-pager-arrow { border-color: #8fa69d; }
.eiei-classic .tcher-lesson-pager .is-directory .tcher-pager-portrait { border-color: var(--tcher-vermilion); }
.eiei-classic .tcher-lesson-pager strong {
  background: transparent;
  border: 0;
  border-radius: 0;
  color: #211a15;
  font: 900 20px/1.2 KaiTi,STKaiti,serif;
  margin-top: 12px;
  min-height: 0;
  padding: 0;
  width: auto;
}
.eiei-classic .tcher-lesson-pager em { color: #715943; font-size: 13px; line-height: 1.35; margin-top: 6px; min-height: 0; }
.eiei-classic .tcher-lesson-pager .is-disabled { filter: grayscale(.55); opacity: .48; }

@media (max-width: 900px) {
  .eiei-classic .tcher-map-territories {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding: 4px 3px 10px;
    scroll-snap-type: x mandatory;
  }
  .eiei-classic .tcher-flag-award-frame .tcher-map-route-row,
  .eiei-classic .tcher-flag-award-frame .tcher-map-route-row.is-reverse {
    flex: 0 0 min(76vw,245px);
    min-height: 151px;
    scroll-snap-align: start;
  }
}

@media (max-width: 760px) {
  .eiei-classic .tcher-flag-award-frame .tcher-adventure-map { padding: 12px 9px 14px; }
  .eiei-classic .tcher-map-route-row > header strong { font-size: 17px; }
  .eiei-classic .tcher-next-objective { font-size: 14px; margin-top: 12px; }
  .eiei-classic .tcher-study-route,
  .eiei-classic .tcher-study-route:has(> .tcher-study-step:nth-child(2):last-child),
  .eiei-classic .tcher-study-route:has(> .tcher-study-step:nth-child(3):last-child) {
    gap: 7px;
    grid-template-columns: repeat(3,minmax(0,1fr));
    padding: 11px 7px;
  }
  .eiei-classic .tcher-study-route:has(> .tcher-study-step:nth-child(2):last-child) { grid-template-columns: minmax(0,1fr); }
  .eiei-classic .tcher-study-route:has(> .tcher-study-step:nth-child(3):last-child) { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .eiei-classic .tcher-study-route > header { padding-bottom: 8px; }
  .eiei-classic .tcher-study-route > header strong { font-size: 19px; }
  .eiei-classic .tcher-study-route > header span { font-size: 12px; }
  .eiei-classic .tcher-study-step,
  .eiei-classic .tcher-study-step:nth-of-type(2) { gap: 6px; grid-template-columns: 34px minmax(0,1fr); min-height: 58px; padding: 7px 6px; }
  .eiei-classic .tcher-study-step i,
  .eiei-classic .tcher-study-step:nth-of-type(2) i { font-size: 15px; height: 30px; width: 30px; }
  .eiei-classic .tcher-study-step > b,
  .eiei-classic .tcher-study-step:nth-of-type(2) > b { font-size: 15px; text-align: center; }
  .eiei-classic .tcher-lesson-checkin,
  .eiei-classic .tcher-lesson-checkin.is-checked {
    gap: 8px;
    grid-template-columns: 108px minmax(0,1fr);
    min-height: 128px;
    padding: 9px 10px;
  }
  .eiei-classic .tcher-checkin-button,
  .eiei-classic .tcher-lesson-checkin.is-checked .tcher-checkin-button { min-height: 112px; }
  .eiei-classic .tcher-checkin-button img { height: 126px; width: 120px; }
  .eiei-classic .tcher-checkin-copy { padding: 6px 2px 6px 11px; }
  .eiei-classic .tcher-checkin-copy strong { font-size: 21px; }
  .eiei-classic .tcher-checkin-copy span { font-size: 12px; }
  .eiei-classic .tcher-lesson-pager { gap: 5px; margin: 18px auto; padding: 14px 5px; }
  .eiei-classic .tcher-lesson-pager > a,
  .eiei-classic .tcher-lesson-pager > span { min-height: 119px; }
  .eiei-classic .tcher-pager-arrow,
  .eiei-classic .tcher-lesson-pager .tcher-pager-portrait { border-width: 2px; box-shadow: inset 0 0 0 4px #ebcb79,0 4px 0 rgba(92,57,24,.12); font-size: 30px; height: 68px; width: 68px; }
  .eiei-classic .tcher-lesson-pager strong { font-size: 15px; margin-top: 9px; padding: 0; }
  .eiei-classic .tcher-lesson-pager em { font-size: 10px; margin-top: 4px; }
}

/* 2.35.2 final cascade: task entrances and arrow seals stay prominent. */
.eiei-classic .tcher-study-step,
.eiei-classic .tcher-study-step:nth-of-type(2) { position: relative; text-decoration: none; }
.eiei-classic .tcher-study-step > span {
  align-items: flex-start;
  background: transparent;
  border: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
  padding: 0;
  text-align: left;
}
.eiei-classic .tcher-study-step > span b { color: #211a15; font: 900 19px/1.25 KaiTi,STKaiti,serif; white-space: nowrap; }
.eiei-classic .tcher-study-step > span small { color: #715943; font-size: 12px; font-weight: 750; line-height: 1.3; }
.eiei-classic a.tcher-study-step { cursor: pointer; padding-right: 52px; }
.eiei-classic a.tcher-study-step::after {
  align-items: center;
  border-radius: 50%;
  content: "›";
  display: flex;
  font: 900 31px/1 Georgia,serif;
  height: 32px;
  justify-content: center;
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 32px;
}
.eiei-classic .tcher-study-step.is-read { background: linear-gradient(135deg,#edf8f2,#def0e8); border: 2px solid rgba(25,124,105,.62); box-shadow: 0 5px 0 rgba(17,95,79,.18); }
.eiei-classic .tcher-study-step.is-read::after { background: var(--tcher-jade); color: #fffbe9; }
.eiei-classic .tcher-study-step.is-quiz { background: linear-gradient(135deg,#c93a31,#a92220); border: 2px solid #7e1c19; box-shadow: 0 6px 0 #7e1c19,0 10px 18px rgba(126,28,25,.2); }
.eiei-classic .tcher-study-step.is-quiz i { background: #fff3bf; border-color: #fff9e6; box-shadow: 0 0 0 3px #e5b858; color: #8b211b; }
.eiei-classic .tcher-study-step.is-quiz > span b,
.eiei-classic .tcher-study-step.is-quiz > span small { color: #fffbe8; text-shadow: -1px 0 #3c160e,0 1px #3c160e,1px 0 #3c160e,0 -1px #3c160e; }
.eiei-classic .tcher-study-step.is-quiz > span b { font-size: 21px; }
.eiei-classic .tcher-study-step.is-quiz::after { background: #fff3bf; color: #8b211b; content: "➜"; font-size: 22px; }
.eiei-classic a.tcher-study-step:hover,
.eiei-classic a.tcher-study-step:focus-visible { filter: brightness(1.04); transform: translateY(-2px); }

.eiei-classic .tcher-pager-arrow {
  background: radial-gradient(circle at 35% 28%,#39a68c,#0b6f5d 72%);
  border-color: #724020;
  box-shadow: inset 0 0 0 6px #efcd72,0 6px 0 rgba(88,49,24,.2),0 9px 18px rgba(88,49,24,.14);
  color: transparent;
  font-size: 0;
  overflow: hidden;
  position: relative;
}
.eiei-classic .tcher-pager-arrow::before {
  color: #fff9db;
  content: "➜";
  font: 900 48px/1 Georgia,"Times New Roman",serif;
  left: 50%;
  position: absolute;
  text-shadow: -2px 0 #35170e,0 2px #35170e,2px 0 #35170e,0 -2px #35170e;
  top: 50%;
  transform: translate(-50%,-50%);
  -webkit-text-stroke: 1px #35170e;
}
.eiei-classic .tcher-lesson-pager .is-previous .tcher-pager-arrow::before { transform: translate(-50%,-50%) scaleX(-1); }
.eiei-classic .tcher-lesson-pager > a:hover .tcher-pager-arrow,
.eiei-classic .tcher-lesson-pager > a:focus-visible .tcher-pager-arrow { filter: brightness(1.08); transform: translateY(-2px); }
.eiei-classic .tcher-lesson-pager .is-disabled .tcher-pager-arrow { background: #cfc8b5; border-color: #8f8877; box-shadow: inset 0 0 0 6px #ece2c4,0 5px 0 rgba(88,80,63,.14); }
.eiei-classic .tcher-lesson-pager .is-disabled .tcher-pager-arrow::before { color: #fffdf2; opacity: .72; }

@media (max-width: 760px) {
  .eiei-classic .tcher-study-route,
  .eiei-classic .tcher-study-route:has(> .tcher-study-step:nth-child(2):last-child),
  .eiei-classic .tcher-study-route:has(> .tcher-study-step:nth-child(3):last-child) { grid-template-columns: minmax(0,1fr) !important; }
  .eiei-classic .tcher-study-step > span b { font-size: 15px; }
  .eiei-classic .tcher-study-step > span small { font-size: 10px; }
  .eiei-classic a.tcher-study-step { padding-right: 32px; }
  .eiei-classic a.tcher-study-step::after { font-size: 20px; height: 24px; right: 5px; width: 24px; }
  .eiei-classic .tcher-study-step.is-quiz > span b { font-size: 16px; }
  .eiei-classic .tcher-pager-arrow::before { font-size: 36px; }
}

/* 2.36: four enrichment entries, on-demand audio and external video links. */
.eiei-classic .tcher-video-entry .tcher-video-island-map.has-listening,
.eiei-classic .tcher-video-island-map.is-library.has-listening { grid-template-columns: repeat(4,minmax(0,1fr)) !important; }
.eiei-classic .tcher-video-link { margin: 18px 0; }
.eiei-classic .tcher-external-video { display: inline-flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px; padding: 16px 22px; text-align: center; }
.eiei-classic .tcher-external-video small { flex-basis: 100%; font-size: 13px; }
.eiei-classic .tcher-audio-frame iframe { display: block; width: 100%; height: 160px; border: 1px solid #d4dde7; border-radius: 12px; margin-top: 14px; background: #fff; }
.eiei-classic .tcher-listening-test h3 { margin: 24px 0 12px; }
.eiei-classic .tcher-audio-player [hidden] { display: none !important; }
@media (max-width: 760px) {
  .eiei-classic .tcher-video-entry .tcher-video-island-map.has-listening,
  .eiei-classic .tcher-video-island-map.is-library.has-listening { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 12px; }
  .eiei-classic .tcher-video-island-map.has-listening .tcher-video-island { grid-column: auto; }
}

/* 2.36.1: first-party Quiz page, loaded only after opening the Quiz entry. */
.eiei-classic.tcher-quiz-page { max-width: 1440px; margin: 0 auto; }
.eiei-classic .tcher-content-heading { display: flex; align-items: center; gap: 24px; padding: 16px 22px; margin: 0 0 14px; }
.eiei-classic .tcher-content-heading h1 { color: #30291e; font-size: clamp(20px,2.4vw,30px); line-height: 1.35; margin: 0; overflow-wrap: anywhere; }
.eiei-classic .tcher-content-heading p { margin: 0 0 4px; font-size: 13px; }
.eiei-classic .tcher-content-back { flex-shrink: 0; padding: 8px 0; }
.eiei-classic .tcher-quiz-stage { overflow: hidden; border: 1px solid #d3bc91; border-radius: 12px; background: #fff; }
.eiei-classic iframe.tcher-quiz-frame { display: block; border: 0; width: 100%; max-width: none; height: 78vh; height: 78dvh; min-height: 520px; }
.eiei-classic .tcher-content-footer { padding: 12px 4px; font-size: 14px; }
.eiei-classic .tcher-content-footer p { margin: 6px 0; }
.eiei-classic .tcher-content-footer summary { cursor: pointer; }
@media (max-width: 600px) {
  .eiei-classic .tcher-content-heading { display: block; padding: 14px 16px; }
  .eiei-classic .tcher-content-back { display: inline-block; margin-bottom: 6px; }
  .eiei-classic iframe.tcher-quiz-frame { min-height: 420px; height: 76vh; height: 76dvh; }
}

/* 2.36.2: YouTube opens on a first-party page and streams directly to the browser. */
.eiei-classic.tcher-video-page { max-width: 1440px; margin: 0 auto; }
.eiei-classic .tcher-video-stage { overflow: hidden; border: 1px solid #d3bc91; border-radius: 12px; background: #071f29; aspect-ratio: 16 / 9; }
.eiei-classic iframe.tcher-youtube-frame { display: block; border: 0; width: 100%; height: 100%; max-width: none; }
@media (max-width: 600px) {
  .eiei-classic .tcher-video-stage { border-radius: 8px; }
}

/* 2.36.3: place the lesson action and teacher notification side by side. */
.eiei-classic .tcher-lesson-actions.has-study-route {
  align-items: stretch;
  display: grid;
  gap: clamp(16px,2vw,26px);
  grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr);
  margin: 20px auto 0;
  max-width: 1320px;
}
.eiei-classic .tcher-lesson-actions.is-checkin-only { margin-top: 18px; }
.eiei-classic .tcher-lesson-actions.has-study-route .tcher-lesson-learning { min-width: 0; }
.eiei-classic .tcher-lesson-actions.has-study-route .tcher-study-route,
.eiei-classic .tcher-lesson-actions.has-study-route .tcher-study-route:has(> .tcher-study-step:nth-child(2):last-child),
.eiei-classic .tcher-lesson-actions.has-study-route .tcher-study-route:has(> .tcher-study-step:nth-child(3):last-child) {
  box-sizing: border-box;
  grid-template-columns: minmax(0,1fr);
  height: 100%;
  margin: 0;
}
.eiei-classic .tcher-lesson-actions.has-study-route .tcher-study-step.is-quiz {
  min-height: 104px;
}
.eiei-classic .tcher-lesson-actions.has-study-route .tcher-study-step.is-quiz > span b { font-size: 25px; }
.eiei-classic .tcher-lesson-actions.has-study-route .classic-learning-content .tcher-video-link { margin: 12px 0 0; }
.eiei-classic .tcher-lesson-actions.has-study-route .tcher-lesson-checkin,
.eiei-classic .tcher-lesson-actions.has-study-route .tcher-lesson-checkin.is-checked {
  box-sizing: border-box;
  grid-template-columns: minmax(145px,36%) minmax(0,1fr);
  height: 100%;
  margin: 0;
  max-width: none;
}

/* Keep empty enrichment categories visible while making their state unmistakable. */
.eiei-classic .tcher-video-island.is-empty,
.eiei-classic .tcher-video-island.is-empty:hover {
  background: #e5e2dc !important;
  border-color: #c9c5bd !important;
  box-shadow: none !important;
  color: #77736d !important;
  cursor: not-allowed;
  filter: grayscale(1);
  opacity: .58;
  pointer-events: none;
  transform: none;
}
.eiei-classic .tcher-video-island.is-empty .tcher-video-island-land,
.eiei-classic .tcher-video-island.is-empty:nth-child(n) .tcher-video-island-land { background: #c9c7c1; border-color: #dedbd3; box-shadow: none; }
.eiei-classic .tcher-video-island.is-empty > span { background: #cbc8c1; color: #66625c; }

@media (max-width: 900px) {
  .eiei-classic .tcher-lesson-actions.has-study-route { grid-template-columns: minmax(0,1fr); }
  .eiei-classic .tcher-lesson-actions.has-study-route .tcher-study-route { height: auto; }
  .eiei-classic .tcher-lesson-actions.has-study-route .tcher-lesson-checkin,
  .eiei-classic .tcher-lesson-actions.has-study-route .tcher-lesson-checkin.is-checked { height: auto; }
}

@media (max-width: 600px) {
  .eiei-classic .tcher-lesson-actions.has-study-route { gap: 14px; margin-top: 14px; }
  .eiei-classic .tcher-lesson-actions.has-study-route .tcher-study-step.is-quiz { min-height: 76px; }
  .eiei-classic .tcher-lesson-actions.has-study-route .tcher-study-step.is-quiz > span b { font-size: 19px; }
}

/* 2.36.5: text reading is free study without scores, check-ins or teacher notices. */
.eiei-classic .classic-lesson.is-text-reading .tcher-reading-mark {
  align-items: flex-end;
  flex-direction: column;
  gap: 7px;
}
.eiei-classic .classic-lesson.is-text-reading .tcher-reading-mark .classic-status {
  background: #e6f3ed;
  border-color: rgba(31,122,104,.28);
  color: #176f5e;
}
.eiei-classic .classic-lesson.is-text-reading .tcher-reading-mark > strong {
  color: #76522e;
  font-family: var(--classic-ui-font);
  font-size: 15px;
  white-space: nowrap;
}
.eiei-classic .tcher-lesson-actions.is-reading-only {
  margin: 20px auto 0;
  max-width: 980px;
}
.eiei-classic .tcher-lesson-actions.is-reading-only .tcher-study-route,
.eiei-classic .tcher-lesson-actions.is-reading-only .tcher-study-route:has(> .tcher-study-step:nth-child(2):last-child),
.eiei-classic .tcher-lesson-actions.is-reading-only .tcher-study-route:has(> .tcher-study-step:nth-child(3):last-child) {
  box-sizing: border-box;
  grid-template-columns: minmax(0,1fr);
  margin: 0;
}
.eiei-classic .tcher-course-card.is-non-scoring .tcher-reading-summary > strong {
  color: #176f5e;
  font-family: var(--classic-ui-font);
  font-size: 14px;
  text-align: right;
}
.eiei-classic .tcher-course-card.is-non-scoring .tcher-reading-summary > strong small {
  color: #806444;
  display: block;
  font-size: 11px;
  margin-bottom: 4px;
}
.eiei-classic .tcher-unit-card.is-non-scoring { background: linear-gradient(145deg,#fffdf4,#eaf5ef); }

@media (max-width: 600px) {
  .eiei-classic .classic-lesson.is-text-reading .tcher-reading-mark { align-items: flex-start; }
  .eiei-classic .tcher-lesson-actions.is-reading-only { margin-top: 14px; }
}
