:root {
  --d: #004f6e;
  --l: #83ccea;
  --bg: #f4f9fb;
  --tx: #173746;
  --mu: #6b8089;
  --ln: #dce9ee;
  --ok: #147a54;
  --bad: #b43d3d;
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
  font-family:
    -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, Helvetica, sans-serif;
  background: var(--bg);
  color: var(--tx);
}
button {
  font-family: inherit;
}
.stripe {
  height: 5px;
  background: linear-gradient(90deg, var(--d), var(--l), #08799c);
  background-size: 200% 100%;
  animation: flow 5s linear infinite;
}
@keyframes flow {
  to {
    background-position: 200% 0;
  }
}
header {
  background: #fffffff2;
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--ln);
  position: sticky;
  top: 0;
  z-index: 10;
}
.head,
main {
  max-width: 1160px;
  margin: auto;
}
.head {
  padding: 13px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.brandwrap {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  color: inherit;
}
.mark {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
}
.brandLogo {
  width: 48px;
  height: 48px;
  display: block;
  filter: drop-shadow(0 6px 12px #004f6e20);
}
.foot .mark {
  width: 38px;
  height: 38px;
}
.foot .brandLogo {
  width: 38px;
  height: 38px;
}
.brand {
  color: var(--d);
  font-size: 24px;
  line-height: 1;
}
.brand span {
  display: block;
  color: var(--mu);
  font-size: 11px;
  margin-top: 5px;
}
.nav {
  display: flex;
  align-items: center;
  gap: 9px;
}
.headerActions {
  display: flex;
  align-items: center;
  gap: 8px;
}
.authHeader {
  border: 0;
  border-radius: 10px;
  padding: 10px 13px;
  min-height: 39px;
  background: #edf5f7;
  color: var(--d);
  cursor: pointer;
  font: inherit;
  font-size: 13px;
}
.btn,
.navlink {
  border: 0;
  border-radius: 10px;
  padding: 10px 13px;
  font-size: 13px;
  cursor: pointer;
  text-decoration: none;
}
.sec,
.navlink {
  background: #edf5f7;
  color: var(--d);
}
.gh {
  width: 39px;
  height: 39px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #111;
  color: #fff;
  text-decoration: none;
}
.gh svg {
  width: 20px;
  height: 20px;
  fill: currentColor;
}
main {
  padding: 30px 20px 70px;
  min-height: 78vh;
}
.hero {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  border-radius: 0 !important;
  position: relative;
  overflow: hidden;
  min-height: 410px;
  background: #082f40;
  border-radius: 26px;
  padding: 45px;
  color: #fff;
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  align-items: center;
  box-shadow: 0 18px 45px #004f6e20;
}
.hero:before,
.hero:after {
  content: "";
  position: absolute;
  border-radius: 50%;
  filter: blur(4px);
  opacity: 0.18;
}
.hero:before {
  width: 330px;
  height: 330px;
  background: #83ccea;
  right: -100px;
  top: -150px;
  animation: float 7s ease-in-out infinite;
}
.hero:after {
  width: 230px;
  height: 230px;
  background: #fff;
  left: 35%;
  bottom: -190px;
  animation: float 9s ease-in-out infinite reverse;
}
@keyframes float {
  50% {
    transform: translateY(28px) translateX(-18px);
  }
}
.heroCopy {
  position: relative;
  z-index: 2;
  max-width: 690px;
  margin-left: max(0px, calc((100vw - 1160px) / 2));
}
.eyebrow {
  font-size: 12px;
  color: #9ddff2;
  letter-spacing: 1.4px;
}
.hero h1 {
  font-size: 50px;
  line-height: 1.15;
  margin: 12px 0;
}
.rotator {
  display: inline-block;
  min-width: 190px;
  color: #83ccea;
  transition: 0.25s;
}
.hero p {
  max-width: 650px;
  color: #cbe2e9;
  line-height: 1.8;
}
.heroActions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 24px;
}
.heroActions button {
  border-radius: 12px;
  padding: 12px 16px;
  cursor: pointer;
  font-size: 13px;
}
.heroPri {
  border: 0;
  background: #83ccea;
  color: #07384b;
}
.heroSec {
  border: 1px solid #ffffff2b;
  background: #ffffff0b;
  color: #fff;
}
.liveDemo {
  position: relative;
  z-index: 2;
  margin-right: max(0px, calc((100vw - 1160px) / 2));
  background: #061e29;
  border: 1px solid #ffffff18;
  border-radius: 18px;
  box-shadow: 0 15px 40px #0003;
  padding: 22px;
}
.demoTop {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}
.demoTop span {
  display: block;
  color: #83ccea;
  font-size: 10px;
  letter-spacing: 1px;
}
.demoTop b {
  display: block;
  color: #fff;
  font-size: 13px;
  margin-top: 5px;
}
.demoTop small {
  color: #9fc5d1;
}
.demoTrack {
  height: 6px;
  background: #ffffff14;
  border-radius: 10px;
  margin: 18px 0;
  overflow: hidden;
}
.demoTrack i {
  display: block;
  width: 33%;
  height: 100%;
  background: #83ccea;
  border-radius: 10px;
  transition: 0.35s;
}
.demoQ {
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: #fff !important;
}
.demoOpts {
  display: grid;
  gap: 8px;
}
.demoOpts button {
  text-align: left;
  padding: 10px 12px;
  border-radius: 9px;
  border: 1px solid #ffffff16;
  background: #ffffff08;
  color: #dff3f8;
  cursor: pointer;
}
.demoOpts button.good {
  background: #174f43;
  border-color: #5cb996;
}
.demoOpts button.bad {
  background: #5a2929;
  border-color: #bd6e6e;
}
.demoFeed {
  color: #a9ccd7;
  font-size: 11px;
  margin-top: 11px;
  line-height: 1.5;
}
.terminal {
  position: relative;
  z-index: 2;
  margin-right: max(0px, calc((100vw - 1160px) / 2));
  background: #061e29;
  border: 1px solid #ffffff18;
  border-radius: 18px;
  box-shadow: 0 15px 40px #0003;
  overflow: hidden;
}
.termbar {
  padding: 11px 14px;
  border-bottom: 1px solid #ffffff12;
  display: flex;
  gap: 6px;
}
.dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #ffffff38;
}
.term {
  padding: 22px;
  font:
    400 13px/1.9 ui-monospace,
    SFMono-Regular,
    Menlo,
    monospace !important;
  color: #bdeafa;
  min-height: 170px;
}
.cursor {
  display: inline-block;
  width: 7px;
  height: 15px;
  background: #83ccea;
  vertical-align: -2px;
  animation: blink 0.8s infinite;
}
@keyframes blink {
  50% {
    opacity: 0;
  }
}
.section {
  display: flex;
  justify-content: space-between;
  align-items: end;
  margin: 36px 0 15px;
}
.section h2 {
  margin: 0;
  color: var(--d);
}
.section span,
.meta {
  color: var(--mu);
  font-size: 12px;
}
.grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.course,
.mode,
.card,
.result {
  background: #fff;
  border: 1px solid var(--ln);
  border-radius: 18px;
  padding: 22px;
  box-shadow: 0 5px 18px #004f6e0a;
}
.course,
.mode {
  cursor: pointer;
  transition: 0.22s;
}
.course:hover,
.mode:hover {
  transform: translateY(-4px);
  border-color: var(--l);
  box-shadow: 0 12px 28px #004f6e12;
}
.courseTop {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 13px;
}
.courseIcon {
  height: 46px;
  min-width: 46px;
  border-radius: 13px;
  background: #f1f7f9;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 7px;
  filter: grayscale(1);
  transition: 0.3s;
}
.courseIcon img {
  max-width: 36px;
  max-height: 31px;
  object-fit: contain;
  filter: grayscale(1);
  transition: filter 0.3s ease;
}
.course:hover .courseIcon,
.course:hover .courseIcon img {
  filter: grayscale(0);
}
.course:hover .courseIcon {
  transform: scale(1.06);
  background: #eef9fc;
}
.dual {
  display: flex;
  gap: 5px;
}
.dual img {
  width: 25px;
  height: 25px;
  object-fit: contain;
}
.code {
  color: var(--d);
  font-size: 12px;
}
.course h3 {
  font-size: 16px;
  min-height: 48px;
  margin: 0 0 13px;
}
.featurebar {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin: 22px 0;
}
.feature {
  background: #fff;
  border: 1px solid var(--ln);
  border-radius: 15px;
  padding: 15px;
}
.feature b {
  display: block;
  color: var(--d);
  font-size: 13px;
  margin-bottom: 5px;
}
.feature span {
  color: var(--mu);
  font-size: 11px;
  line-height: 1.5;
}
.benefits {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 42px;
}
.benefit {
  position: relative;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--ln);
  border-radius: 20px;
  padding: 25px;
  box-shadow: 0 5px 18px #004f6e0a;
  cursor: pointer;
  transition:
    transform 0.3s ease,
    border-color 0.3s ease,
    box-shadow 0.3s ease;
}
.benefit:before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #83ccea18, transparent 55%);
  opacity: 0;
  transition: 0.3s;
}
.benefit:after {
  content: "Explore →";
  position: absolute;
  right: 22px;
  bottom: 18px;
  color: var(--d);
  font-size: 11px;
  opacity: 0;
  transform: translateX(-8px);
  transition: 0.3s;
}
.benefit:hover,
.benefit.active {
  transform: translateY(-7px);
  border-color: var(--l);
  box-shadow: 0 18px 38px #004f6e18;
}
.benefit:hover:before,
.benefit.active:before {
  opacity: 1;
}
.benefit:hover:after,
.benefit.active:after {
  opacity: 1;
  transform: none;
}
.benefit.active {
  padding-bottom: 62px;
}
.benefitIcon {
  position: relative;
  z-index: 1;
  width: 46px;
  height: 46px;
  border-radius: 13px;
  background: #edf7fa;
  color: var(--d);
  display: grid;
  place-items: center;
  font-size: 21px;
  margin-bottom: 18px;
  transition:
    transform 0.35s ease,
    background 0.35s;
}
.benefit:hover .benefitIcon,
.benefit.active .benefitIcon {
  transform: rotate(-5deg) scale(1.08);
  background: #dff3f9;
}
.benefit h3 {
  color: var(--d);
  margin: 0 0 10px;
  font-size: 17px;
}
.benefit p {
  position: relative;
  z-index: 1;
  color: var(--mu);
  font-size: 13px;
  line-height: 1.7;
  margin: 0;
}
.benefitMore {
  position: relative;
  z-index: 1;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition:
    max-height 0.4s ease,
    opacity 0.3s ease,
    margin 0.3s ease;
  color: var(--tx);
  font-size: 12px;
  line-height: 1.65;
}
.benefit.active .benefitMore {
  max-height: 120px;
  opacity: 1;
  margin-top: 14px;
  padding-top: 13px;
  border-top: 1px solid var(--ln);
}
.works {
  margin-top: 42px;
}
.worksHead {
  justify-content: center;
  text-align: center;
}
.workSteps {
  display: flex;
  align-items: center;
  gap: 13px;
  background: #fff;
  border: 1px solid var(--ln);
  border-radius: 20px;
  padding: 25px;
}
.workStep {
  flex: 1;
  min-width: 0;
}
.workStep i {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: #edf7fa;
  color: var(--d);
  font-style: normal;
  margin-bottom: 12px;
}
.workStep:last-child i {
  background: var(--d);
  color: #fff;
}
.workStep b {
  display: block;
  color: var(--d);
  font-size: 14px;
}
.workStep span {
  display: block;
  color: var(--mu);
  font-size: 11px;
  margin-top: 5px;
  line-height: 1.5;
}
.workSteps em {
  height: 2px;
  flex: 0.35;
  background: var(--ln);
}
.homeCta {
  margin-top: 42px;
  background: #07384b;
  color: #fff;
  border-radius: 22px;
  padding: 27px 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.homeCta h2 {
  margin: 0 0 7px;
}
.homeCta p {
  margin: 0;
  color: #bcdbe4;
  font-size: 13px;
}
.homeCta button {
  border: 0;
  background: #83ccea;
  color: #07384b;
  padding: 12px 16px;
  border-radius: 11px;
  cursor: pointer;
  white-space: nowrap;
}
@media (max-width: 650px) {
  .featurebar {
    grid-template-columns: 1fr;
  }
  .workSteps {
    flex-direction: column;
    align-items: stretch;
  }
  .workSteps em {
    width: 2px;
    height: 18px;
    flex: none;
    margin-left: 20px;
  }
  .homeCta {
    align-items: flex-start;
    flex-direction: column;
  }
}
.quiz,
.modes {
  display: none;
}
.modegrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 24px;
}
.modeBadge {
  display: inline-block;
  margin-top: 10px;
  padding: 5px 9px;
  border-radius: 999px;
  background: #edf5f7;
  color: var(--d);
  font-size: 11px;
}
.mode h3 {
  color: var(--d);
  margin: 6px 0 8px;
}
.modeicon {
  font-size: 30px;
  color: var(--d);
}
.qh {
  display: flex;
  justify-content: space-between;
  gap: 15px;
}
.qh h2 {
  margin: 0;
  color: var(--d);
}
.qh p {
  margin: 5px 0;
}
.track {
  height: 8px;
  background: #e1edf1;
  border-radius: 10px;
  overflow: hidden;
  margin: 22px 0 7px;
}
.bar {
  height: 100%;
  background: var(--l);
}
.prog {
  display: flex;
  justify-content: space-between;
  color: var(--mu);
  font-size: 12px;
  margin-bottom: 15px;
}
.card,
.result {
  border-radius: 20px;
  padding: 30px;
}
.qno {
  font-size: 12px;
  color: var(--d);
}
.qtext {
  font-size: 21px;
  line-height: 1.55;
  margin: 9px 0 20px;
}
.opts {
  display: grid;
  gap: 10px;
}
.opt {
  border: 1px solid var(--ln);
  border-radius: 12px;
  padding: 14px;
  cursor: pointer;
}
.opt:hover,
.opt.sel {
  border-color: var(--l);
  background: #f2fbfe;
}
.opt.good {
  border-color: #82cfb1;
  background: #effaf5;
}
.opt.bad {
  border-color: #e5a0a0;
  background: #fff3f3;
}
.feed {
  display: none;
  margin-top: 15px;
  padding: 13px;
  border-radius: 10px;
}
.feed.good {
  display: block;
  background: #effaf5;
  color: var(--ok);
}
.feed.bad {
  display: block;
  background: #fff3f3;
  color: var(--bad);
}
.tutor {
  margin-top: 14px;
  border: 1px solid #cfe5ed;
  background: #f7fcfe;
  border-radius: 14px;
  padding: 14px;
}
.tutorHead {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}
.tutorTitle {
  color: var(--d);
  font-size: 13px;
}
.tutorBtns {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
}
.tutorBtn {
  border: 1px solid #cfe5ed;
  background: #fff;
  color: var(--d);
  border-radius: 9px;
  padding: 8px 10px;
  cursor: pointer;
  font-size: 12px;
}
.tutorText {
  display: none;
  margin-top: 11px;
  padding-top: 11px;
  border-top: 1px solid #dce9ee;
  color: var(--tx);
  font-size: 13px;
  line-height: 1.65;
}
.tutorChat {
  display: none;
  margin-top: 10px;
}
.tutorChat.show {
  display: block;
}
.tutorMessages {
  display: grid;
  gap: 8px;
  margin-bottom: 9px;
}
.tutorMsg {
  padding: 10px 11px;
  border-radius: 11px;
  font-size: 12px;
  line-height: 1.55;
}
.tutorMsg.ai {
  background: #eaf6fa;
  color: var(--tx);
}
.tutorMsg.user {
  background: #fff;
  border: 1px solid #dce9ee;
  margin-left: 28px;
}
.tutorAsk {
  display: flex;
  gap: 7px;
}
.tutorAsk input {
  flex: 1;
  min-width: 0;
  border: 1px solid #cfe5ed;
  border-radius: 9px;
  padding: 10px;
  font: inherit;
  font-size: 12px;
}
.tutorAsk button {
  border: 0;
  background: var(--d);
  color: #fff;
  border-radius: 9px;
  padding: 9px 12px;
  cursor: pointer;
}
.tutorQuick {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin: 8px 0;
}
.tutorQuick button {
  border: 1px solid #cfe5ed;
  background: #fff;
  color: var(--d);
  border-radius: 999px;
  padding: 6px 9px;
  font-size: 11px;
  cursor: pointer;
}
.actions {
  text-align: right;
  margin-top: 18px;
}
.pri {
  background: var(--d);
  color: #fff;
}
.result {
  display: none;
  text-align: center;
}
.adaptiveRec {
  display: none;
  text-align: left;
  margin: 22px auto 0;
  max-width: 620px;
  border: 1px solid #cfe5ed;
  background: #f7fcfe;
  border-radius: 16px;
  padding: 18px;
}
.adaptiveRec.show {
  display: block;
}
.adaptiveLabel {
  font-size: 10px;
  letter-spacing: 1.2px;
  color: #08799c;
}
.adaptiveRec h3 {
  margin: 7px 0 5px;
  color: var(--d);
  font-size: 17px;
}
.adaptiveRec p {
  margin: 0;
  color: var(--mu);
  font-size: 12px;
  line-height: 1.6;
}
.adaptiveBar {
  height: 7px;
  background: #dce9ee;
  border-radius: 10px;
  overflow: hidden;
  margin: 13px 0 8px;
}
.adaptiveBar i {
  display: block;
  height: 100%;
  background: var(--l);
  border-radius: 10px;
}
.adaptiveMeta {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  color: var(--mu);
  font-size: 11px;
  margin-bottom: 13px;
}
.adaptiveBtn {
  border: 0;
  background: var(--d);
  color: #fff;
  border-radius: 10px;
  padding: 10px 13px;
  cursor: pointer;
  font-size: 12px;
}
.score {
  font-size: 56px;
  color: var(--d);
}
.timer {
  display: none;
  margin-top: 8px;
  color: var(--bad);
  font-size: 14px;
  font-weight: 600;
}
.timer.urgent {
  color: var(--bad);
}
footer {
  background: #082f40;
  color: #d9edf4;
  padding: 30px 20px;
}
.foot {
  max-width: 1160px;
  margin: auto;
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: 35px;
  align-items: start;
}
.footbrand {
  display: flex;
  align-items: center;
  gap: 10px;
}
.foot small {
  display: block;
  color: #9ebfc9;
  margin-top: 3px;
}
.footcol h4 {
  font-size: 12px;
  color: #83ccea;
  margin: 0 0 11px;
}
.footcol a {
  display: block;
  color: #d9edf4;
  text-decoration: none;
  font-size: 12px;
  margin: 8px 0;
}
.footcol a:hover {
  color: #83ccea;
}
.credit {
  font-size: 11px;
  color: #789ba7;
  margin-top: 14px;
}
@media (max-width: 800px) {
  .grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .hero {
    grid-template-columns: 1fr;
    gap: 25px;
  }
  .foot {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 560px) {
  .grid,
  .modegrid {
    grid-template-columns: 1fr;
  }
  .hero {
    padding: 28px;
  }
  .hero h1 {
    font-size: 31px;
  }
  .qh {
    flex-direction: column;
  }
  .foot {
    grid-template-columns: 1fr;
  }
  .head {
    gap: 12px;
  }
  .nav {
    gap: 5px;
  }
}
.continueLearning {
  margin: 28px 0;
  padding: 22px;
  border: 1px solid var(--bd);
  border-radius: 16px;
  background: #fff;
}
.continueHead {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: end;
  margin-bottom: 14px;
}
.continueHead small {
  font-size: 10px;
  letter-spacing: 1.4px;
  color: var(--l);
  font-weight: 700;
}
.continueHead h2 {
  margin: 5px 0 0;
  color: var(--d);
  font-size: 21px;
}
.continueHead a {
  font-size: 12px;
  color: var(--d);
  font-weight: 600;
  text-decoration: none;
}
.continueGrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.continueCard {
  border: 1px solid var(--bd);
  border-radius: 13px;
  padding: 16px;
  background: #fafdfe;
  cursor: pointer;
  transition: 0.18s;
}
.continueCard:hover {
  transform: translateY(-2px);
  border-color: #8bc9dd;
}
.continueCard b {
  display: block;
  color: var(--d);
  font-size: 14px;
}
.continueCard span {
  display: block;
  color: var(--mu);
  font-size: 11px;
  margin: 5px 0 11px;
}
.continueTrack {
  height: 6px;
  background: #dce9ee;
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 8px;
}
.continueTrack i {
  display: block;
  height: 100%;
  background: var(--l);
}
.continueMeta {
  display: flex !important;
  justify-content: space-between;
  color: var(--mu) !important;
  font-size: 10px !important;
  margin: 0 !important;
}
.continueMeta strong {
  color: var(--d);
}
@media (max-width: 720px) {
  .continueGrid {
    grid-template-columns: 1fr;
  }
  .continueHead {
    align-items: flex-start;
    flex-direction: column;
  }
}

html {
  -webkit-text-size-adjust: 100%;
}
body {
  overflow-x: hidden;
}
button,
a,
input,
textarea {
  touch-action: manipulation;
}
@media (max-width: 720px) {
  .head {
    padding: 10px 14px;
    align-items: flex-start;
    gap: 10px;
    flex-wrap: wrap;
  }
  .brandwrap {
    gap: 8px;
  }
  .mark {
    width: 38px !important;
    height: 38px !important;
    border-radius: 10px !important;
  }
  .brand {
    font-size: 20px !important;
  }
  .brand span {
    font-size: 9px !important;
  }
  .nav {
    width: 100%;
    display: flex !important;
    gap: 6px !important;
    overflow-x: auto;
    padding: 2px 0 5px;
    scrollbar-width: none;
  }
  .nav::-webkit-scrollbar {
    display: none;
  }
  .nav a,
  .nav button,
  .navlink,
  .btn {
    flex: 0 0 auto;
    min-height: 42px;
    padding: 10px 12px !important;
  }
  main {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
  .hero {
    padding: 28px 20px !important;
    border-radius: 0 !important;
    min-height: 390px !important;
  }
  .heroCopy {
    margin-left: 0 !important;
  }
  .terminal {
    margin-right: 0 !important;
  }
  .hero h1 {
    font-size: 30px !important;
  }
  .terminal {
    margin-top: 4px;
  }
  .term {
    min-height: 135px !important;
    padding: 17px !important;
    font-size: 12px !important;
  }
  .grid,
  .featurebar,
  .modegrid,
  .stats,
  .topicGrid,
  .layout,
  .benefits {
    grid-template-columns: 1fr !important;
  }
  .section {
    align-items: flex-start;
    gap: 8px;
  }
  .course,
  .mode,
  .card,
  .result {
    padding: 18px !important;
  }
  .course h3 {
    min-height: auto !important;
  }
  .qh {
    flex-direction: column !important;
  }
  .qtext {
    font-size: 18px !important;
  }
  .opt {
    padding: 14px !important;
    min-height: 48px;
  }
  .actions {
    display: flex;
    gap: 8px;
  }
  .actions .btn {
    flex: 1;
  }
  .score {
    font-size: 46px !important;
  }
  .row {
    min-width: 560px;
  }
  .card:has(.row) {
    overflow-x: auto;
  }
  .courseProgress {
    grid-template-columns: 120px 1fr 55px !important;
    gap: 8px !important;
  }
  .toolbar {
    overflow-x: auto;
    flex-wrap: nowrap !important;
    padding-bottom: 6px;
  }
  .chip {
    flex: 0 0 auto;
  }
  .editor {
    min-height: 300px !important;
    font-size: 14px !important;
  }
  .console,
  .schema {
    overflow-x: auto;
  }
  .foot {
    grid-template-columns: 1fr !important;
  }
}
@media (max-width: 390px) {
  .brand span {
    display: none !important;
  }
  .hero h1 {
    font-size: 27px !important;
  }
  .qtext {
    font-size: 17px !important;
  }
  .courseProgress {
    grid-template-columns: 105px 1fr 48px !important;
  }
}

.menuToggle {
  display: none;
  border: 0;
  background: #edf5f7;
  color: #004f6e;
  width: 42px;
  height: 42px;
  border-radius: 11px;
  cursor: pointer;
  font-size: 22px;
  align-items: center;
  justify-content: center;
}
.drawerBackdrop {
  display: none;
}
@media (max-width: 720px) {
  .head {
    align-items: center !important;
    flex-wrap: nowrap !important;
  }
  .head > .nav {
    position: fixed;
    top: 0;
    right: -290px;
    width: 280px !important;
    height: 100dvh;
    background: #fff;
    z-index: 1002;
    display: flex !important;
    flex-direction: column;
    align-items: stretch !important;
    gap: 7px !important;
    padding: 78px 18px 24px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    box-shadow: -18px 0 45px #002f4026;
    transition: right 0.28s ease;
  }
  .head > .nav.open {
    right: 0;
  }
  .head > .nav a,
  .head > .nav button {
    width: 100%;
    min-height: 46px;
    text-align: left;
    justify-content: flex-start;
    border-radius: 11px;
  }

  .headerActions {
    margin-left: auto;
  }
  .menuToggle {
    display: flex;
    position: relative;
    z-index: 1003;
  }
  .authHeader {
    padding: 9px 11px;
    min-height: 42px;
  }
  .gh {
    flex: 0 0 39px;
  }
  .drawerBackdrop {
    display: block;
    position: fixed;
    inset: 0;
    background: #062c3a66;
    z-index: 4;
    opacity: 0;
    visibility: hidden;
    transition: 0.25s;
  }
  .drawerBackdrop.open {
    opacity: 1;
    visibility: visible;
  }
  body.drawerOpen {
    overflow: hidden;
  }
}

@media (max-width: 720px) {
  header {
    position: relative;
    z-index: 1003 !important;
  }
  .head > .nav {
    z-index: 1005 !important;
    pointer-events: auto !important;
  }
  .head > .nav a {
    position: relative;
    z-index: 1006 !important;
    pointer-events: auto !important;
  }
  .drawerBackdrop {
    z-index: 1002 !important;
  }
  .menuToggle {
    z-index: 1007 !important;
  }
}

/* Approved homepage composition: quiet surfaces, complete course grid and clear steps. */
.homepage {background:#f4f8fb;color:#153b4b}
.homepage .stripe {display:none}
.homepage main {max-width:1200px;padding:0 36px 52px}
.homepage .practiceNotice {text-align:center;background:#eaf5fa;margin:0 -36px;padding:10px 20px;font-size:12px}
.homepage #home .hero {width:100%;margin:0;padding:64px 0;min-height:0;grid-template-columns:1.15fr 1fr;gap:36px;background:transparent;color:#153b4b;box-shadow:none;overflow:visible}
.homepage #home .hero::before,.homepage #home .hero::after {display:none}
.homepage #home .heroCopy {margin:0;max-width:none;min-width:0}
.homepage #home .eyebrow {color:#004f6e;font-size:12px;letter-spacing:.4px}
.homepage #home .hero h1 {font-size:clamp(32px,4.4vw,50px);line-height:1.35;color:#004f6e;letter-spacing:-.7px}
.homepage #home .rotator {color:inherit;min-width:0}
.homepage #home .hero p {color:#536f7d;font-size:16px;line-height:1.9;margin:18px 0 24px}
.homepage #home .heroActions button {min-height:46px;padding:12px 18px;font-size:14px;font-weight:650;border-radius:10px}
.homepage #home .heroPri,.homepage #home .homeCta button {background:#005879;color:#fff}
.homepage #home .heroSec {background:#fff;border:1px solid #d7e5ec;color:#153b4b}
.homepage #home .terminal {margin:0;background:#fff;border:1px solid #d7e5ec;border-radius:16px;box-shadow:0 16px 40px #123c5020;min-width:0;display:block!important}
.homepage #home .termbar {direction:ltr;background:#eaf5fa;color:#536f7d;justify-content:space-between;padding:13px 18px;font-size:12px;border:0}
.homepage #home .term {padding:24px 18px;margin:0;font-size:13px!important;line-height:2!important;white-space:pre-wrap;color:#153b4b;min-height:0;background:#fff;overflow-wrap:anywhere}
.homepage #home .term code {font:inherit;background:none;color:inherit}
.homepage #home .terminalCaption {border-top:1px solid #d7e5ec;padding:16px 18px;color:#004f6e;font-size:13px}
.homepage #home .section {margin:48px 0 24px;gap:16px;flex-wrap:wrap}
.homepage #home h2 {font-size:28px;line-height:1.4;color:#004f6e}
.homepage #home .section span {font-size:14px;line-height:1.8}
.homepage #home .grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.homepage #home .course {padding:24px;border:1px solid #d7e5ec;border-radius:14px;box-shadow:none;min-width:0;background:#fff}
.homepage #home .course:hover {background:#eaf5fa;transform:none;border-color:#004f6e}
.homepage #home .course h3 {font-size:18px;line-height:1.6;min-height:58px;color:#153b4b}
.homepage #home .course .meta {font-size:13px;line-height:1.8}
.homepage #home .benefits {margin:0;gap:28px}
.homepage #home .benefit {padding:20px 0;background:transparent;border:0;box-shadow:none;border-radius:0;transform:none}
.homepage #home .benefit::before,.homepage #home .benefit::after {display:none}
.homepage #home .benefit p {font-size:14px;line-height:1.9;color:#536f7d}
.homepage #home .benefit.active {padding-bottom:20px}
.homepage #home .works {margin-top:36px;padding:30px 0;background:#fff}
.homepage #home .worksHead {text-align:start;justify-content:flex-start;margin:0 0 28px}
.homepage #home .workSteps {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;border:0;border-radius:0;padding:0;background:none;align-items:start}
.homepage #home .workSteps em {display:none}
.homepage #home .workStep i {display:block;width:auto;height:auto;padding-bottom:14px;border-bottom:2px solid #d7e5ec;border-radius:0;background:none;color:#004f6e}
.homepage #home .workStep b {font-size:18px;line-height:1.5}
.homepage #home .workStep span {font-size:13px;line-height:1.8}
.homepage #home .homeCta {margin-top:48px;padding:44px 24px;display:flex;flex-direction:column;text-align:center;background:#eaf5fa;color:#004f6e;border-radius:14px}
.homepage #home .homeCta p {color:#536f7d;font-size:15px;line-height:1.8}
.homepage #home .homeCta button {min-height:46px;padding:12px 22px;font-weight:650}
.homepage footer {background:#fff;color:#153b4b;border-top:1px solid #d7e5ec}
.homepage footer .footcol a,.homepage footer .credit,.homepage footer small {color:#536f7d}
.homepage footer h4 {color:#004f6e}
.homepage #coursesSection,.homepage #howItWorks {scroll-margin-top:24px}
@media(max-width:760px){.homepage main{padding:0 20px 36px}.homepage .practiceNotice{margin-inline:-20px}.homepage #home .hero{grid-template-columns:1fr;padding:36px 0;gap:28px}.homepage #home .grid{grid-template-columns:repeat(2,minmax(0,1fr))}.homepage #home .workSteps{grid-template-columns:repeat(2,minmax(0,1fr))}.homepage #home .benefits{grid-template-columns:1fr;gap:4px}.homepage #home .course h3{min-height:0}}
@media(max-width:440px){.homepage #home .grid{grid-template-columns:1fr}.homepage #home .hero h1{font-size:36px}.homepage #home h2{font-size:26px}.homepage #home .workSteps{gap:18px}}
.homepage #home .course {display:flex;flex-direction:column}
.homepage #home .courseSummary {font-size:14px;line-height:1.8;color:#536f7d;margin:0 0 18px;flex:1}
.homepage #home .courseExplore {display:block;color:#004f6e;margin-top:18px;font-size:13px;font-weight:650}
@media(max-width:760px){.homepage main{padding-inline:20px!important}}

/* Interactive homepage: typing terminal, course filter, quick check, stepper. */
.homepage #home .rotator {transition:opacity .25s,transform .25s}
.homepage #home .rotator.swap {opacity:0;transform:translateY(-6px)}
.homepage #home .termbar {padding:0;gap:0}
.homepage #home .termbar button {flex:1;min-width:0;border:0;border-bottom:2px solid transparent;background:none;color:#536f7d;padding:12px 8px;font-size:12px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.homepage #home .termbar button[aria-selected="true"] {color:#004f6e;border-bottom-color:#004f6e;background:#fff}
.homepage #home .term {direction:ltr;text-align:left;min-height:calc(9 * 2em + 48px)}
.homepage #home .termOut {direction:ltr;text-align:left;margin:0 18px 18px;padding:10px 14px;border-radius:10px;background:#0b2f3f;color:#9ff0c6;font:13px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace;min-height:calc(4 * 1.7em + 20px);white-space:pre;overflow-x:auto;opacity:0;transition:opacity .3s}
.homepage #home .termOut.show {opacity:1}
.homepage #home .tkC {color:#6b8a97}
.homepage #home .tkK {color:#0873a0}
.homepage #home .tkN {color:#b0620f}
.homepage #home .term .cursor {display:inline-block;width:7px;height:15px;background:#004f6e;vertical-align:-2px;animation:blink .8s infinite}
.homepage #home .courseFilters {display:flex;gap:6px;flex-wrap:wrap}
.homepage #home .filterChip {border:1px solid #d7e5ec;background:#fff;color:#153b4b;border-radius:999px;padding:6px 14px;font-size:13px;cursor:pointer}
.homepage #home .filterChip[aria-pressed="true"] {background:#005879;border-color:#005879;color:#fff}
.homepage #home .course {transition:opacity .25s,background .2s,border-color .2s}
.homepage #home .course.dimmed {opacity:.35}
.homepage #home .courseLinks {display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:18px}
.homepage #home .courseLinks .courseExplore {margin-top:0}
.homepage #home .courseQuick {border:1px solid #d7e5ec;background:#fff;color:#004f6e;border-radius:8px;padding:6px 10px;font-size:12px;cursor:pointer}
.homepage #home .courseQuick:hover {border-color:#004f6e}
.homepage #quickCheck {scroll-margin-top:24px}
.homepage #home .qcWrap {display:grid;grid-template-columns:1.4fr .6fr;gap:16px}
.homepage #home .qcCard,.homepage #home .qcSide {background:#fff;border:1px solid #d7e5ec;border-radius:14px;padding:24px;min-width:0}
.homepage #home .qcHead {display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:#536f7d}
.homepage #home .qcDots {display:flex;gap:6px}
.homepage #home .qcDots i {width:28px;height:6px;border-radius:9px;background:#eaf5fa}
.homepage #home .qcDots i.cur {background:#83ccea}
.homepage #home .qcDots i.ok {background:#147a54}
.homepage #home .qcDots i.bad {background:#b43d3d}
.homepage #home .qcQuestion {font-size:18px;line-height:1.7;margin:14px 0;color:#153b4b}
.homepage #home .qcOpts {display:grid;gap:8px}
.homepage #home .qcOpt {display:flex;align-items:center;gap:10px;text-align:start;border:1px solid #d7e5ec;background:#fff;color:#153b4b;border-radius:10px;padding:11px 14px;font-size:14px;cursor:pointer}
.homepage #home .qcOpt:hover:not(:disabled) {border-color:#004f6e;background:#eaf5fa}
.homepage #home .qcOpt:disabled {cursor:default}
.homepage #home .qcOpt b {flex:none;width:24px;height:24px;border-radius:7px;background:#eaf5fa;display:grid;place-items:center;font-size:12px}
.homepage #home .qcOpt.good {border-color:#147a54;background:#e5f4ee}
.homepage #home .qcOpt.wrong {border-color:#b43d3d;background:#fbeaea}
.homepage #home .qcFeed {margin-top:12px;border-radius:10px;padding:12px 14px;font-size:14px}
.homepage #home .qcFeed.good {background:#e5f4ee;color:#147a54}
.homepage #home .qcFeed.wrong {background:#fbeaea;color:#b43d3d}
.homepage #home .qcFeed p {margin:4px 0 0;color:#153b4b}
.homepage #home .qcActions {display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.homepage #home .qcSide h3 {margin:0 0 4px;font-size:16px;color:#004f6e}
.homepage #home .qcNote {margin:0 0 12px;font-size:13px;line-height:1.7;color:#536f7d}
.homepage #home .qcRing {position:relative;display:grid;place-items:center;width:120px;height:120px;margin:4px auto 14px}
.homepage #home .qcRing svg {transform:rotate(-90deg)}
.homepage #home .qcRing circle {fill:none;stroke-width:10}
.homepage #home .qcRingBg {stroke:#eaf5fa}
.homepage #home .qcRingFg {stroke:#005879;stroke-linecap:round;transition:stroke-dashoffset .6s ease}
.homepage #home .qcRing div {position:absolute;text-align:center;line-height:1.2}
.homepage #home .qcRing strong {font-size:26px;color:#004f6e;font-variant-numeric:tabular-nums}
.homepage #home .qcRing small {display:block;font-size:11px;color:#536f7d}
.homepage #home .qcTopics {display:grid;gap:9px}
.homepage #home .qcTopic {display:grid;grid-template-columns:1fr auto;gap:2px 8px;font-size:12px;color:#536f7d}
.homepage #home .qcTrack {grid-column:1/-1;height:6px;border-radius:9px;background:#eaf5fa;overflow:hidden}
.homepage #home .qcTrack i {display:block;height:100%;background:#005879;border-radius:9px;transition:width .6s ease}
.homepage #home .qcStreak {display:flex;justify-content:space-between;margin-top:14px;background:#eaf5fa;border-radius:10px;padding:8px 12px;font-size:13px}
.homepage #home .qcStreak b {color:#004f6e;font-variant-numeric:tabular-nums}
.homepage #home .workStep {text-align:start;background:none;border:0;padding:0;color:inherit;font:inherit;cursor:pointer;display:block}
.homepage #home .workStep b,.homepage #home .workStep span {display:block}
.homepage #home .workStep i {transition:border-color .3s}
.homepage #home .workStep[aria-selected="true"] i {border-bottom-color:#004f6e}
.homepage #home .workStep[aria-selected="true"] b {color:#004f6e}
.homepage #home .workProgress {height:3px;margin-top:22px;background:#eaf5fa;border-radius:9px;overflow:hidden}
.homepage #home .workProgress i {display:block;height:100%;width:0;background:#83ccea}
.homepage #home .workProgress i.go {animation:workGrow 4.5s linear forwards}
@keyframes workGrow {to {width:100%}}
.homepage #home .workDetail {margin:14px 0 0;font-size:15px;line-height:1.8;color:#153b4b;max-width:70ch}
@media(max-width:760px){.homepage #home .qcWrap{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.homepage #home .rotator,.homepage #home .termOut,.homepage #home .qcRingFg,.homepage #home .qcTrack i{transition:none}.homepage #home .term .cursor{animation:none}}
@media(max-width:480px){.homepage #home .termCourse{display:none}}

/* Full-width section bands. Navy bands: hero, quick check, how it works. */
.homepage {--navy:#0b2c45;--navy2:#071f33;--navyLine:#ffffff1f;--navyText:#c9dde8}
.homepage #home .band {position:relative;box-shadow:0 0 0 100vmax var(--bandBg);clip-path:inset(0 -100vmax);background:var(--bandBg)}
.homepage #home .band.navy {--bandBg:var(--navy);color:#fff}
.homepage #home .hero.band {padding:64px 0}
.homepage #home .hero.band h1 {color:#fff}
.homepage #home .hero.band .rotator {color:#83ccea}
.homepage #home .hero.band p {color:var(--navyText)}
.homepage #home .hero.band .heroPri {background:#83ccea;color:#07384b}
.homepage #home .hero.band .heroSec {background:transparent;border-color:#ffffff40;color:#fff}
.homepage #home .hero.band .heroSec:hover {background:#ffffff14}
.homepage #home .hero.band .terminal {background:var(--navy2);border-color:var(--navyLine);box-shadow:0 18px 44px #0006}
.homepage #home .hero.band .termbar {background:#ffffff08;border-bottom:1px solid var(--navyLine)}
.homepage #home .hero.band .termbar button {color:#8fb3c4}
.homepage #home .hero.band .termbar button[aria-selected="true"] {background:#ffffff0d;color:#fff;border-bottom-color:#83ccea}
.homepage #home .hero.band .term {background:transparent;color:#d7ecf4}
.homepage #home .hero.band .tkC {color:#7f9fae}
.homepage #home .hero.band .tkK {color:#83ccea}
.homepage #home .hero.band .tkN {color:#f3c98b}
.homepage #home .hero.band .term .cursor {background:#83ccea}
.homepage #home .hero.band .termOut {background:#00000055}
.homepage #home .hero.band .terminalCaption {border-top-color:var(--navyLine);color:#9fc5d4}
.homepage #home .qcBand {padding:8px 0 48px;margin-top:48px}
.homepage #home .qcBand .section {margin-top:40px}
.homepage #home .band.navy h2 {color:#fff}
.homepage #home .band.navy .section span {color:var(--navyText)}
.homepage #home .qcBand .qcCard,.homepage #home .qcBand .qcSide {border-color:transparent;box-shadow:0 12px 32px #00000033}
/* How it works on navy with a visual stage per step */
.homepage #home .works.band {margin-top:48px;padding:48px 0}
.homepage #home .works.band .workStep i {color:#83ccea;border-bottom-color:var(--navyLine)}
.homepage #home .works.band .workStep b {color:#fff}
.homepage #home .works.band .workStep span {color:var(--navyText)}
.homepage #home .works.band .workStep:hover b {color:#83ccea}
.homepage #home .works.band .workStep[aria-selected="true"] i {border-bottom-color:#83ccea}
.homepage #home .works.band .workStep[aria-selected="true"] b {color:#83ccea}
.homepage #home .works.band .workStep:focus-visible {outline:2px solid #83ccea;outline-offset:6px}
.homepage #home .works.band .workProgress {background:var(--navyLine)}
.homepage #home .workStage {display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:28px;align-items:center;margin-top:24px}
.homepage #home .works.band .workDetail {margin:0;color:#fff;font-size:17px}
.homepage #home .workVisual {position:relative;height:150px;border-radius:14px;background:var(--navy2);border:1px solid var(--navyLine);overflow:hidden}
.homepage #home .wv {position:absolute;inset:0;padding:18px;display:flex;flex-direction:column;justify-content:center;gap:8px;opacity:0;transform:translateY(10px);transition:opacity .35s,transform .35s;color:#fff;font-size:13px}
.homepage #home .wv.on {opacity:1;transform:none}
.homepage #home .wv p {margin:0;color:#fff;font-size:14px;line-height:1.6}
.homepage #home .wv0 span {display:block;border:1px solid var(--navyLine);border-radius:8px;padding:5px 10px;color:var(--navyText)}
.homepage #home .wv0 span:first-of-type {border-color:#83ccea;color:#fff}
.homepage #home .wv1 .good {align-self:flex-start;background:#147a54;color:#fff;border-radius:8px;padding:4px 12px}
.homepage #home .wv1 p {color:var(--navyText);font-size:13px}
.homepage #home .wv2 div {display:grid;grid-template-columns:80px 1fr;align-items:center;gap:10px}
.homepage #home .wv2 small {color:var(--navyText);font-size:12px}
.homepage #home .wv2 i {display:block;height:8px;border-radius:9px;background:#83ccea;width:0;transition:width .7s ease .15s}
.homepage #home .wv2.on i {width:var(--w)}
.homepage #home .wv2 .weak i {background:#f3c98b}
.homepage #home .wv3 {align-items:center;text-align:center}
.homepage #home .wv3 strong {font-size:44px;color:#83ccea;line-height:1;font-variant-numeric:tabular-nums}
.homepage #home .wv3 small {color:var(--navyText)}
/* Why Tamareen: interactive cards with a live preview */
.homepage #home .benefits {gap:16px}
.homepage #home .benefit {background:#fff;border:1px solid #d7e5ec;border-radius:14px;padding:22px;transition:transform .25s,border-color .25s,box-shadow .25s}
.homepage #home .benefit:hover,.homepage #home .benefit.active {transform:translateY(-4px);border-color:#004f6e;box-shadow:0 14px 30px #0b2c4518}
.homepage #home .benefit.active {padding-bottom:22px}
.homepage #home .benefitDemo {margin-top:14px;border-radius:10px;background:#f1f7fa;padding:12px 14px;font-size:12px;min-height:96px}
.homepage #home .demoBars div {display:grid;grid-template-columns:78px 1fr 34px;align-items:center;gap:8px;color:#536f7d;margin-bottom:6px}
.homepage #home .demoBars i {display:block;height:6px;border-radius:9px;background:#005879;width:var(--w)}
.homepage #home .demoBars .weak i {background:#d98a1f}
.homepage #home .demoBars b {font-weight:400;text-align:end;font-variant-numeric:tabular-nums}
.homepage #home .demoBars em {font-style:normal;color:#b06a0c}
.homepage #home .benefit.playing .demoBars i {animation:barGrow .8s ease}
@keyframes barGrow {from {width:0}}
.homepage #home .demoChat p {margin:0 0 6px;padding:7px 10px;border-radius:10px;max-width:90%;font-size:12px;line-height:1.6;color:#153b4b}
.homepage #home .demoChat .me {background:#dcebf2;margin-inline-start:auto}
.homepage #home .demoChat .bot {background:#fff;border:1px solid #d7e5ec;min-height:2.6em}
.homepage #home .demoRun code {display:block;direction:ltr;text-align:left;font:12px ui-monospace,SFMono-Regular,Menlo,monospace;background:#0b2c45;color:#d7ecf4;border-radius:8px;padding:8px 10px}
.homepage #home .runOut {display:inline-block;margin-top:8px;color:#147a54}
.homepage #home .benefit.playing .runOut {animation:runIn .5s ease .4s backwards}
@keyframes runIn {from {opacity:0;transform:translateY(4px)}}
@media(max-width:760px){.homepage #home .hero.band{padding:36px 0}.homepage #home .workStage{grid-template-columns:1fr}.homepage #home .benefits{gap:12px}}
@media(prefers-reduced-motion:reduce){.homepage #home .wv,.homepage #home .wv2 i,.homepage #home .benefit{transition:none}.homepage #home .benefit.playing .demoBars i,.homepage #home .benefit.playing .runOut{animation:none}}
.homepage #home .qcBand .qcCard,.homepage #home .qcBand .qcSide {color:#153b4b}

/* Quiz Enhancements: Shortcuts, Flagging, Topics Breakdown, Progressive Hints */
.cardHead {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.flagBtn {
  background: transparent;
  border: 1px solid #d0e1ea;
  border-radius: 8px;
  padding: 5px 10px;
  font-size: 12px;
  font-weight: 650;
  color: #557280;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  transition: all 0.2s;
}
.flagBtn:hover {
  background: #fdf8e8;
  border-color: #f3cf7a;
  color: #926402;
}
.flagBtn.flagged {
  background: #fff8e1;
  border-color: #f7b928;
  color: #8c5d00;
  font-weight: 750;
}
.flaggedBadge {
  background: #fff8e1;
  color: #8c5d00;
  border: 1px solid #f7d780;
  padding: 2px 8px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 700;
}
.opt {
  display: flex;
  align-items: center;
  gap: 12px;
}
.optKey {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 6px;
  background: #edf5f8;
  color: #004f6e;
  font-size: 12px;
  font-weight: 750;
  flex-shrink: 0;
  border: 1px solid #d4e4eb;
}
.opt.sel .optKey {
  background: #004f6e;
  color: #fff;
  border-color: #004f6e;
}
.opt.good .optKey {
  background: #147a54;
  color: #fff;
  border-color: #147a54;
}
.opt.bad .optKey {
  background: #b43d3d;
  color: #fff;
  border-color: #b43d3d;
}
.optText {
  flex-grow: 1;
}

/* Topics Breakdown in Results */
.topicBreakdownCard {
  background: #f8fafc;
  border: 1px solid #e1ecf1;
  border-radius: 14px;
  padding: 20px;
  margin: 20px 0;
  text-align: start;
}
.topicBreakdownHead h3 {
  margin: 0 0 4px 0;
  font-size: 1.1rem;
  color: #0b2c45;
}
.topicBreakdownHead p {
  margin: 0 0 16px 0;
  font-size: 0.85rem;
  color: #557280;
}
.topicList {
  display: grid;
  gap: 12px;
}
.topicRow {
  background: #fff;
  border: 1px solid #e8f0f3;
  border-radius: 10px;
  padding: 12px 14px;
}
.topicInfo {
  display: flex;
  justify-content: space-between;
  margin-bottom: 6px;
  font-size: 0.88rem;
}
.topicName {
  font-weight: 650;
  color: #153b4b;
}
.topicScore.good { color: #147a54; font-weight: 700; }
.topicScore.mid { color: #b25e02; font-weight: 700; }
.topicScore.weak { color: #b43d3d; font-weight: 700; }
.topicTrack {
  height: 6px;
  background: #edf3f6;
  border-radius: 99px;
  overflow: hidden;
}
.topicTrack i {
  display: block;
  height: 100%;
  border-radius: 99px;
}
.topicTrack i.good { background: #147a54; }
.topicTrack i.mid { background: #e59324; }
.topicTrack i.weak { background: #b43d3d; }
.topicActionLink {
  display: inline-block;
  margin-top: 8px;
  font-size: 0.82rem;
  font-weight: 650;
  color: #004f6e;
  text-decoration: none;
}
.topicActionLink:hover {
  text-decoration: underline;
}

/* Flagged Questions in Results */
.flaggedSummaryCard {
  background: #fffdf5;
  border: 1px solid #f3e6b8;
  border-radius: 14px;
  padding: 18px;
  margin: 18px 0;
  text-align: start;
}
.flaggedSummaryCard h3 {
  margin: 0 0 12px 0;
  font-size: 1rem;
  color: #8c5d00;
}
.flaggedItems {
  display: grid;
  gap: 8px;
}
.flaggedItem {
  background: #fff;
  border: 1px solid #ede3c7;
  border-radius: 8px;
  padding: 8px 12px;
}
.flaggedItem summary {
  cursor: pointer;
  font-size: 0.9rem;
  font-weight: 600;
  color: #153b4b;
}
.flaggedItemBody {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px dashed #ede3c7;
  font-size: 0.85rem;
}
.flaggedCorrect {
  color: #147a54;
  margin: 4px 0;
}
.flaggedExplain {
  color: #557280;
  margin: 4px 0;
}

/* Socratic Progressive Hints */
.tutorStepWrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 8px;
  padding: 8px 12px;
  background: #f0f7fa;
  border-radius: 8px;
  border: 1px solid #dbe9ef;
  font-size: 0.82rem;
}
.tutorLevelLabel {
  font-weight: 650;
  color: #004f6e;
}
.tutorNextHintBtn {
  background: #004f6e;
  color: #fff;
  border: none;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 0.8rem;
  font-weight: 650;
  cursor: pointer;
  transition: background 0.2s;
}
.tutorNextHintBtn:hover {
  background: #00364d;
}

/* Catalog Search Bar & Results */
.searchBarWrapper {
  margin: 16px 0 12px;
  position: relative;
  width: 100%;
}
.searchBox {
  display: flex;
  align-items: center;
  background: #ffffff;
  border: 1.5px solid #d4e3eb;
  border-radius: 12px;
  padding: 8px 14px;
  transition: all 0.2s ease;
  box-shadow: 0 2px 8px rgba(11, 44, 69, 0.04);
}
.searchBox:focus-within {
  border-color: #28a9dc;
  box-shadow: 0 4px 16px rgba(40, 169, 220, 0.15);
}
.searchIcon {
  font-size: 16px;
  color: #637d8b;
  margin-right: 8px;
}
.catalogSearch {
  flex: 1;
  border: none;
  outline: none;
  font-size: 14px;
  color: #173746;
  background: transparent;
  width: 100%;
}
.clearSearchBtn {
  background: transparent;
  border: none;
  color: #889fab;
  font-size: 16px;
  cursor: pointer;
  padding: 0 4px;
}
.clearSearchBtn:hover {
  color: #173746;
}
.searchResultsPanel {
  margin-top: 8px;
  background: #ffffff;
  border: 1px solid #d4e3eb;
  border-radius: 12px;
  padding: 12px;
  max-height: 400px;
  overflow-y: auto;
  box-shadow: 0 10px 25px rgba(11, 44, 69, 0.1);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.searchResultItem {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  background: #f8fafc;
  border-radius: 8px;
  border: 1px solid #eef3f6;
  cursor: pointer;
  transition: all 0.15s ease;
}
.searchResultItem:hover {
  background: #f0f7fa;
  border-color: #28a9dc;
  transform: translateX(2px);
}
.searchResMeta {
  display: flex;
  flex-direction: column;
  gap: 3px;
  text-align: left;
}
.searchResTitle {
  font-weight: 700;
  font-size: 14px;
  color: #004f6e;
}
.searchResSub {
  font-size: 12px;
  color: #557280;
}
.searchResAction {
  font-size: 12px;
  font-weight: 650;
  color: #28a9dc;
  white-space: nowrap;
}
