:root {
  --bg: #f3f6ff;
  --bg-2: #eef7ff;
  --surface-soft: #eef2ff;
  --surface-strong: #dde5ff;
  --ink: #0b1020;
  --muted: #667085;
  --muted-strong: #354056;
  --line: rgba(85, 101, 134, 0.14);
  --line-strong: rgba(79, 70, 229, 0.28);
  --accent: #4f46e5;
  --accent-strong: #3730a3;
  --accent-2: #11b8ab;
  --accent-soft: #e9eaff;
  --focus: 0 0 0 4px rgba(79, 70, 229, 0.18);
  --shadow: 0 24px 70px rgba(27, 43, 82, 0.14);
  --shadow-soft: 0 14px 34px rgba(27, 43, 82, 0.09);
}

body {
  background:
    radial-gradient(circle at 8% -8%, rgba(79, 70, 229, 0.22), transparent 33vw),
    radial-gradient(circle at 96% 8%, rgba(17, 184, 171, 0.17), transparent 31vw),
    radial-gradient(circle at 58% 112%, rgba(245, 158, 11, 0.12), transparent 40vw),
    linear-gradient(135deg, #fbfdff 0%, #f3f6ff 46%, #eef7ff 100%);
}

body::before {
  opacity: 0.42;
  background-image:
    linear-gradient(rgba(85, 101, 134, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(85, 101, 134, 0.08) 1px, transparent 1px);
  background-size: 54px 54px;
}

.resume-cta {
  display: none !important;
}

.sidebar {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(241, 244, 255, 0.9));
}

.app-kicker {
  color: var(--accent-strong);
}

.sidebar h1 {
  color: transparent;
  background: linear-gradient(100deg, #181d48, var(--accent) 58%, var(--accent-2));
  background-clip: text;
  -webkit-background-clip: text;
}

.study-visual {
  border-color: rgba(255, 255, 255, 0.86);
  box-shadow: 0 20px 52px rgba(27, 43, 82, 0.13);
}

.topbar {
  background: rgba(246, 248, 255, 0.82);
}

.topic-hero,
.trainer-hero {
  background: linear-gradient(135deg, #151a42 0%, #4f46e5 54%, #11b8ab 100%);
  box-shadow: 0 30px 90px rgba(54, 48, 163, 0.25);
}

.suite-home-cta {
  flex: 0 0 auto;
  border-color: rgba(79, 70, 229, 0.25);
  background: linear-gradient(135deg, #ffffff, #eef2ff 62%, #e6fffb);
  color: #3730a3;
  box-shadow: 0 12px 28px rgba(79, 70, 229, 0.13);
}

.suite-home-cta:hover {
  border-color: rgba(79, 70, 229, 0.55);
  color: #312e81;
  box-shadow: 0 16px 34px rgba(79, 70, 229, 0.19);
}

.suite-home-cta svg {
  color: #4f46e5;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@media (min-width: 1440px) {
  .topbar-actions .suite-home-cta,
  .trainer-top-actions .suite-home-cta {
    width: auto !important;
    min-width: 120px !important;
    flex: 0 0 auto !important;
  }

  .topbar-actions .suite-home-cta span,
  .trainer-top-actions .suite-home-cta span {
    display: inline-flex !important;
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    overflow: visible !important;
  }
}

@media (max-width: 1439px) {
  .topbar-actions .suite-home-cta span,
  .trainer-top-actions .suite-home-cta span {
    display: none !important;
  }

  .topbar-actions .suite-home-cta,
  .trainer-top-actions .suite-home-cta {
    width: 58px !important;
    min-width: 58px !important;
    padding-inline: 0 !important;
    justify-self: center;
  }
}

.toc details[open],
.topic-row.is-active {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(233, 234, 255, 0.86) 58%, rgba(226, 255, 250, 0.78));
}

@media (max-width: 720px) {
  .topbar-actions .suite-home-cta span,
  .trainer-top-actions .suite-home-cta span {
    display: none !important;
  }

  .topbar-actions .suite-home-cta,
  .trainer-top-actions .suite-home-cta {
    width: 42px !important;
    min-width: 42px;
    padding-inline: 0 !important;
  }
}
