/* 榴莲雅思品牌壳 v1 · 大学生雅思产品线 · 2026-07-23 [Codex] */
.student-portal,
.teacher-page {
  --bg-primary: #f8f5ed;
  --bg-secondary: #f1ede3;
  --bg-tertiary: #ffffff;
  --bg-elevated: #ffffff;
  --text-primary: #17221d;
  --text-secondary: #59665f;
  --text-tertiary: #7f8a83;
  --text-muted: #a6aea8;
  --border-default: #ddd8ca;
  --border-strong-color: #b9b3a4;
  --border-accent: rgba(23, 63, 53, .28);
  --accent-primary: #173f35;
  --accent-warm: #d99a36;
  --accent-gold: #d99a36;
  --accent-gold-hover: #e6af58;
  --accent-warm-soft: rgba(217, 154, 54, .12);
  --accent-action: #173f35;
  --accent-action-hover: #102f27;
  --accent-action-contrast: #fff;
  --accent-ring: rgba(217, 154, 54, .2);
  --badge-fg: #8d5d13;
  --badge-bg: rgba(217, 154, 54, .12);
  --card-border-hover: rgba(23, 63, 53, .45);
  background:
    radial-gradient(circle at 88% 4%, rgba(217, 154, 54, .08), transparent 24rem),
    var(--bg-primary);
}

.student-portal .top-bar,
.teacher-page .top-bar {
  min-height: 64px;
  padding: 0 clamp(16px, 4vw, 56px);
  border-bottom-color: rgba(23, 63, 53, .1);
  background: rgba(248, 245, 237, .92);
}

.student-portal .brand,
.teacher-page .brand {
  gap: 10px;
}

.durian-symbol {
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  display: block;
}

.brand-lockup {
  display: grid;
  gap: 1px;
  min-width: 0;
  line-height: 1.1;
}

.brand-lockup strong {
  color: var(--accent-primary);
  font-size: 15px;
  font-weight: 760;
  letter-spacing: .04em;
}

.brand-lockup small {
  color: var(--text-tertiary);
  font-size: 10px;
  font-weight: 650;
  letter-spacing: .09em;
}

.student-portal .teacher-link,
.teacher-page .teacher-link {
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid rgba(23, 63, 53, .14);
  border-radius: 999px;
  color: var(--accent-primary);
  background: rgba(255, 255, 255, .55);
}

.student-portal .teacher-link:hover,
.teacher-page .teacher-link:hover {
  border-color: rgba(217, 154, 54, .7);
  color: var(--accent-primary);
}

.student-portal .hero-title,
.teacher-page .hero-title,
.student-portal .section-heading h2,
.teacher-page .section-heading h2 {
  font-family: var(--font-sans);
  font-weight: 720;
  letter-spacing: -.035em;
}

.student-portal .portal-eyebrow,
.teacher-page .portal-eyebrow {
  color: #a46a12;
}

.student-portal .quick-action,
.teacher-page .teacher-quick-action,
.student-portal .tool-card,
.teacher-page .tool-card {
  box-shadow: 0 8px 30px rgba(23, 34, 29, .035);
}

.teacher-page .teacher-hero {
  min-height: auto;
  padding: clamp(36px, 6vw, 72px) clamp(16px, 4vw, 56px) 32px;
}

.teacher-page .hero-inner {
  gap: 12px;
}

.teacher-page .hero-title {
  max-width: 800px;
  margin-top: 3px;
  font-size: clamp(34px, 4.2vw, 58px);
}

.teacher-page .hero-sub {
  max-width: 700px;
  font-size: 16px;
}

.teacher-quick-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: 100%;
  gap: 10px;
  margin-top: 20px;
}

.teacher-quick-action {
  position: relative;
  display: grid;
  min-height: 150px;
  align-content: space-between;
  gap: 10px;
  padding: 18px;
  overflow: hidden;
  border: 1px solid rgba(23, 63, 53, .12);
  border-radius: 14px;
  background: rgba(255, 255, 255, .78);
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.teacher-quick-action.primary {
  border-color: #173f35;
  background: linear-gradient(145deg, #173f35, #245548);
  color: #fff;
}

.teacher-quick-action:hover {
  transform: translateY(-3px);
  border-color: rgba(217, 154, 54, .75);
  box-shadow: 0 14px 34px rgba(23, 63, 53, .1);
}

.teacher-action-index {
  color: #b5791b;
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .1em;
}

.teacher-quick-action.primary .teacher-action-index {
  color: #efc978;
}

.teacher-quick-action strong,
.teacher-quick-action small {
  display: block;
}

.teacher-quick-action strong {
  color: var(--text-primary);
  font-size: 16px;
  font-weight: 700;
}

.teacher-quick-action small {
  margin-top: 5px;
  color: var(--text-secondary);
  font-size: 12px;
  line-height: 1.45;
}

.teacher-quick-action.primary strong { color: #fff; }
.teacher-quick-action.primary small { color: rgba(255, 255, 255, .62); }

.teacher-quick-action b {
  position: absolute;
  right: 16px;
  top: 16px;
  color: var(--accent-warm);
  font-size: 18px;
}

.teacher-page .tools {
  padding-top: 26px;
}

.teacher-section-heading {
  margin-bottom: 20px;
}

.teacher-page .teacher-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.teacher-page .tool-card {
  min-height: 210px;
  padding: 20px;
  border: 1px solid rgba(23, 63, 53, .1);
  border-radius: 14px;
  background: rgba(255, 255, 255, .82);
}

.teacher-page .tool-card::before { display: none; }

.teacher-page .tool-card::after {
  content: attr(data-icon);
  position: absolute;
  right: 17px;
  top: 17px;
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 10px;
  background: rgba(23, 63, 53, .08);
  color: var(--accent-primary);
  font-size: 14px;
  font-weight: 750;
}

.teacher-page .tool-card:hover {
  border-color: rgba(23, 63, 53, .35);
  transform: translateY(-2px);
}

.teacher-page .tool-card h2 {
  margin-top: 4px;
  color: var(--text-primary);
  font-size: 20px;
  font-weight: 680;
}

.teacher-page .tool-card p {
  padding-right: 20px;
  color: var(--text-secondary);
}

.teacher-page .tool-tag {
  border: 0;
  border-radius: 999px;
  background: var(--accent-warm-soft);
  color: #8d5d13;
}

.student-portal .site-footer,
.teacher-page .site-footer {
  border-top: 1px solid rgba(23, 63, 53, .08);
}

@media (max-width: 1050px) {
  .teacher-quick-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .teacher-page .teacher-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .student-portal .top-bar,
  .teacher-page .top-bar { min-height: 60px; padding: 0 12px; }
  .durian-symbol { width: 32px; height: 32px; flex-basis: 32px; }
  .brand-lockup strong { font-size: 14px; }
  .brand-lockup small { font-size: 9px; }
  .student-portal .teacher-link,
  .teacher-page .teacher-link { min-height: 38px; padding: 0 11px; font-size: 12px; }
  .teacher-page .teacher-hero { padding: 28px 12px 18px; }
  .teacher-page .hero-title { font-size: 34px; line-height: 1.2; }
  .teacher-page .hero-sub { font-size: 14px; }
  .teacher-quick-grid { gap: 8px; margin-top: 14px; }
  .teacher-quick-action { min-height: 132px; padding: 14px; }
  .teacher-quick-action strong { font-size: 14px; }
  .teacher-page .tools { padding: 18px 12px 52px; }
  .teacher-page .teacher-grid { grid-template-columns: minmax(0, 1fr) !important; }
  .teacher-page .tool-card { min-height: 172px; }
}

@media (max-width: 390px) {
  .teacher-quick-action { min-height: 126px; }
  .teacher-quick-action small { font-size: 11px; }
}
