/* UITG EBK App 皮肤 v2
   单一冷蓝，不做暖纸/黄铜（会撞加油站米色、learn 奶油底）。
   底栏沿用 main.css 原结构，这里不改。 */
body.ebk-body {
  --ebk-blue: #1d7ce8;
  --ebk-blue-deep: #1566c4;
  --ebk-ink: #1f2937;
  --ebk-muted: #6b7280;
  --ebk-bg: #f5f7fa;
  --ebk-sheet: #ffffff;
  --ebk-line: #e5e7eb;
  --ebk-soft: #eef6ff;
  color: var(--ebk-ink);
  background: var(--ebk-bg);
}

body.ebk-body.has-bottom-nav {
  padding-bottom: 62px;
}

body.ebk-body .btn-buy,
body.ebk-body #purchaseBtn,
body.ebk-body .btn-primary,
body.ebk-body #confirmLoginBtn,
body.ebk-body .nav-btn,
body.ebk-body .reader-nav button,
body.ebk-body .jump-form button,
body.ebk-body .btn-play,
body.ebk-body .btn-sentence-play,
body.ebk-body .dailyenglish-button {
  background: var(--ebk-blue);
  border-color: var(--ebk-blue);
  color: #fff;
}

body.ebk-body .market-filters button.is-active,
body.ebk-body .articles-chip.is-active {
  background: var(--ebk-blue);
  border-color: var(--ebk-blue);
  color: #fff;
}

body.ebk-body .login-tip,
body.ebk-body .market-member-hint,
body.ebk-body .access-checking,
body.ebk-body .shelf-pass-status {
  background: var(--ebk-soft);
  border-color: #bfdbfe;
  color: #1e40af;
}
body.ebk-body .shelf-pass-status a {
  color: #1e40af;
}

body.ebk-body .ebk-go-btn {
  color: var(--ebk-blue);
  background: var(--ebk-soft);
  border-color: #bfdbfe;
}

body.ebk-body .shelf-bar i,
body.ebk-body .lesson-progress-track i {
  background: var(--ebk-blue);
}
body.ebk-body .shelf-row[data-status="done"] .shelf-bar i {
  background: var(--ebk-blue);
}
body.ebk-body .shelf-status.is-doing,
body.ebk-body .shelf-status.is-trial {
  background: var(--ebk-soft);
  color: var(--ebk-blue);
}
body.ebk-body .shelf-status.is-done {
  background: #e8f0fe;
  color: #1e40af;
}
body.ebk-body .shelf-continue {
  color: var(--ebk-blue);
}

body.ebk-body .program-path-line,
body.ebk-body .program-vol-no,
body.ebk-body .exp-day-no,
body.ebk-body .lesson-progress-row strong {
  color: var(--ebk-blue);
}

/* 阅读通行：同一套蓝，不要第二套强调色 */
body.ebk-body .member-hero {
  background: linear-gradient(180deg, var(--ebk-soft), var(--ebk-sheet) 72%);
  border: 1px solid #dbeafe;
  border-radius: 16px;
  box-shadow: 0 8px 20px rgba(29, 124, 232, 0.08);
  padding: 16px;
}
body.ebk-body .membership-page .member-hero h1,
body.ebk-body .experience-page .member-hero h1 {
  margin: 8px 0 8px;
  font-size: clamp(1.6rem, 4vw, 2.1rem);
  letter-spacing: -0.02em;
  line-height: 1.2;
  font-weight: 800;
}
body.ebk-body .member-kicker,
body.ebk-body .ebk-k {
  display: inline-flex;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(29, 124, 232, 0.1);
  color: var(--ebk-blue);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: none;
  margin: 0 0 8px;
}
body.ebk-body .member-sub { color: #374151; }
body.ebk-body .member-point {
  background: #fff;
  border: 1px solid #e5e7eb;
}
body.ebk-body .member-plan-grid {
  grid-template-columns: 1fr;
}
@media (min-width: 720px) {
  body.ebk-body .member-plan-grid {
    grid-template-columns: 1fr 1fr;
  }
}
body.ebk-body .member-plan-card .yen,
body.ebk-body .member-plan-card .num,
body.ebk-body .pdf-price {
  color: var(--ebk-blue);
}
body.ebk-body .member-plan-card .num {
  font-size: 2rem;
  font-weight: 800;
}
body.ebk-body .member-plan-card.is-featured {
  border-color: rgba(29, 124, 232, 0.35);
  background: linear-gradient(180deg, rgba(29, 124, 232, 0.08), #fff 55%);
  box-shadow: 0 10px 24px rgba(29, 124, 232, 0.12);
}
body.ebk-body .member-plan-card.is-featured .tag,
body.ebk-body .member-plan-card.is-trial .tag {
  background: rgba(29, 124, 232, 0.12);
  color: var(--ebk-blue);
}
body.ebk-body .member-plan-card.is-trial {
  border-color: rgba(29, 124, 232, 0.28);
}
body.ebk-body .member-plan-card:not(.is-featured) .btn-buy {
  background: #fff;
  color: var(--ebk-blue);
  border: 1px solid rgba(29, 124, 232, 0.45);
}
body.ebk-body .member-plan-card.is-featured .btn-buy,
body.ebk-body .member-plan-card.is-trial .btn-buy {
  background: var(--ebk-blue);
  border-color: var(--ebk-blue);
  color: #fff;
}
body.ebk-body .member-plan-label {
  margin: 8px 0 4px;
  font-size: 13px;
  color: var(--ebk-muted);
  font-weight: 700;
}

body.ebk-body .experience-page .exp-days,
body.ebk-body .experience-page .exp-after {
  background: #fff;
}

body.ebk-body .user-pass,
body.ebk-body .ebk-hero {
  background: linear-gradient(180deg, var(--ebk-soft), #fff);
  color: var(--ebk-ink);
  border: 1px solid #dbeafe;
  border-radius: 16px;
  padding: 16px;
  margin-bottom: 14px;
  box-shadow: 0 8px 20px rgba(29, 124, 232, 0.08);
}
body.ebk-body .user-pass .ebk-k,
body.ebk-body .ebk-hero .ebk-k { color: var(--ebk-blue); }
body.ebk-body .user-pass h2 {
  margin: 0 0 6px;
  font-size: 1.25rem;
}
body.ebk-body .ebk-hero h1 {
  margin: 0;
  font-size: 1.45rem;
  font-weight: 800;
  letter-spacing: -0.02em;
}
body.ebk-body .ebk-hero-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
body.ebk-body .ebk-hero-lead,
body.ebk-body .user-pass p {
  margin: 8px 0 0;
  color: var(--ebk-muted);
  line-height: 1.6;
}
body.ebk-body .ebk-hero-lead a {
  color: var(--ebk-blue);
  font-weight: 650;
  text-decoration: none;
}
body.ebk-body .user-pass-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}
body.ebk-body .ebk-hero .market-pwa-hint,
body.ebk-body .ebk-hero .market-member-hint {
  margin-top: 10px;
}

body.ebk-body .program-path,
body.ebk-body .market-toolbar,
body.ebk-body .shelf-table,
body.ebk-body .program-card {
  background: #fff;
  border: 1px solid var(--ebk-line);
  border-radius: 16px;
  box-shadow: 0 3px 12px rgba(15, 23, 42, 0.06);
}
body.ebk-body .program-path {
  padding: 14px;
  margin: 0 0 14px;
}
body.ebk-body .market-toolbar {
  padding: 12px 14px 6px;
  margin: 0 0 12px;
}
body.ebk-body .market-toolbar .market-search input {
  margin-bottom: 10px;
}
body.ebk-body .program-card {
  overflow: hidden;
}
body.ebk-body .shelf-progress {
  margin-top: 2px;
}
body.ebk-body .user-page .avatar-circle {
  background: var(--ebk-blue);
  color: #fff;
}

body.ebk-body .sentence-item.is-active {
  background: var(--ebk-soft);
  border-left-color: var(--ebk-blue);
}
body.ebk-body .read-toc-continue {
  background: var(--ebk-blue);
  color: #fff;
  border-color: var(--ebk-blue);
}

@media (max-width: 640px) {
  body.ebk-body .member-points {
    grid-template-columns: 1fr;
  }
}
