/* Combined Madmi shell overrides. Loaded after the current HSK release CSS. */

@media (max-width: 699px) {
  html[data-madmi-shell="combined"] .quest-header h1 {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
  }
}

.language-onboarding {
  --onboarding-ink: #20221f;
  --onboarding-muted: #5d625b;
  --onboarding-line: #d9d9d0;
  --onboarding-lime: #c9f45b;
  position: relative;
  min-height: 100dvh;
  overflow: hidden;
  padding: max(6.5rem, calc(env(safe-area-inset-top) + 5.5rem)) 1rem max(1.5rem, env(safe-area-inset-bottom));
  background:
    radial-gradient(circle at 85% 8%, rgba(201, 244, 91, 0.42), transparent 17rem),
    radial-gradient(circle at 8% 88%, rgba(92, 92, 226, 0.12), transparent 21rem),
    #f5f4ee;
  color: var(--onboarding-ink);
}
.language-onboarding-noise {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.38;
  background-image: radial-gradient(rgba(32, 34, 31, 0.13) 0.55px, transparent 0.55px);
  background-size: 8px 8px;
  -webkit-mask-image: linear-gradient(to bottom, #000, transparent 58%);
  mask-image: linear-gradient(to bottom, #000, transparent 58%);
}
.language-onboarding-inner {
  position: relative;
  z-index: 1;
  width: min(100%, 25rem);
  margin: 0 auto;
}
.language-onboarding-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  font-family: Lexend, sans-serif;
  font-size: 1.1rem;
  font-weight: 800;
  letter-spacing: -0.045em;
}
.language-onboarding-brand b {
  color: #ff6758;
}
.language-onboarding-brand-mark {
  display: grid;
  width: 2.35rem;
  height: 2.35rem;
  place-items: center;
  border: 2px solid var(--onboarding-ink);
  border-radius: 0.8rem 0.8rem 0.8rem 0.3rem;
  background: #ff6758;
  box-shadow: 3px 3px 0 var(--onboarding-ink);
  font-family: "Noto Sans SC", sans-serif;
  font-size: 1rem;
  font-weight: 900;
}
.language-onboarding-copy {
  margin-top: clamp(2.8rem, 7vh, 4.6rem);
}
.language-onboarding-kicker {
  display: block;
  color: var(--onboarding-muted);
  font-size: 0.63rem;
  font-weight: 850;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}
.language-onboarding-copy h1 {
  margin: 0.8rem 0 0;
  font-family: Lexend, sans-serif;
  font-size: clamp(2.45rem, 11vw, 3.55rem);
  font-weight: 800;
  letter-spacing: -0.065em;
  line-height: 0.98;
}
.language-onboarding-copy h1 em {
  position: relative;
  color: #5c5ce2;
  font-style: normal;
}
.language-onboarding-copy h1 em::after {
  position: absolute;
  right: 0;
  bottom: -0.4rem;
  left: 0;
  height: 0.25rem;
  border-radius: 999px;
  background: var(--onboarding-lime);
  content: "";
  transform: rotate(-1deg);
}
.language-onboarding-copy-my {
  margin: 1.35rem 0 0;
  color: var(--onboarding-ink);
  font-size: 0.98rem;
  font-weight: 700;
  line-height: 1.75;
}
.language-onboarding-support {
  margin: 0.5rem 0 0;
  color: var(--onboarding-muted);
  font-size: 0.76rem;
  line-height: 1.55;
}
.language-onboarding-options {
  display: grid;
  gap: 0.75rem;
  margin-top: 2rem;
}
.language-onboarding-choice {
  position: relative;
  display: grid;
  grid-template-columns: 3.15rem minmax(0, 1fr) auto;
  gap: 0.85rem;
  align-items: center;
  width: 100%;
  min-height: 6.25rem;
  padding: 0.9rem;
  overflow: hidden;
  border: 2px solid var(--onboarding-ink);
  border-radius: 1.45rem;
  background: #fffef9;
  box-shadow: 4px 5px 0 var(--onboarding-ink);
  color: var(--onboarding-ink);
  text-align: left;
  transition: transform 160ms ease, box-shadow 160ms ease;
  cursor: pointer;
}
.language-onboarding-choice:hover {
  box-shadow: 6px 7px 0 var(--onboarding-ink);
  transform: translate(-1px, -2px);
}
.language-onboarding-choice:focus-visible {
  outline: 3px solid #5c5ce2;
  outline-offset: 3px;
}
.language-onboarding-choice--en {
  background: #fff0ec;
}
.language-onboarding-choice--my {
  background: #eeeeff;
}
.language-onboarding-choice--both {
  background: #f3fbdc;
}
.language-onboarding-choice.is-active {
  box-shadow: 4px 5px 0 var(--onboarding-ink), inset 0 0 0 3px var(--onboarding-lime);
}
.language-onboarding-order {
  position: absolute;
  top: 0.65rem;
  right: 0.8rem;
  color: rgba(32, 34, 31, 0.38);
  font-size: 0.52rem;
  font-weight: 850;
  letter-spacing: 0.14em;
}
.language-onboarding-flag {
  display: grid;
  width: 3.15rem;
  height: 3.15rem;
  place-items: center;
  border: 1.5px solid var(--onboarding-ink);
  border-radius: 1rem 1rem 1rem 0.35rem;
  background: rgba(255, 254, 249, 0.82);
  box-shadow: 2px 2px 0 var(--onboarding-ink);
  font-size: 1.25rem;
  white-space: nowrap;
}
.language-onboarding-choice--both .language-onboarding-flag {
  font-size: 0.9rem;
}
.language-onboarding-option-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
}
.language-onboarding-option-copy small {
  color: var(--onboarding-muted);
  font-size: 0.62rem;
  font-weight: 750;
  line-height: 1.25;
}
.language-onboarding-option-copy strong {
  margin-top: 0.1rem;
  font-family: Lexend, sans-serif;
  font-size: 1.08rem;
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1.15;
}
.language-onboarding-option-copy span {
  overflow: hidden;
  margin-top: 0.3rem;
  color: var(--onboarding-muted);
  font-size: 0.65rem;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.language-onboarding-arrow {
  margin-right: 0.15rem;
  color: var(--onboarding-ink);
  font-size: 1.25rem;
  font-variation-settings: "FILL" 0, "wght" 650, "GRAD" 0, "opsz" 24;
}
.language-onboarding-choice.is-active .language-onboarding-arrow {
  display: grid;
  width: 1.8rem;
  height: 1.8rem;
  place-items: center;
  border-radius: 50%;
  background: var(--onboarding-lime);
  font-size: 1rem;
}
.language-onboarding-note {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 1.4rem;
  padding: 0.9rem 1rem;
  border: 1px solid var(--onboarding-line);
  border-radius: 1.1rem;
  background: rgba(255, 254, 249, 0.82);
  color: var(--onboarding-muted);
  font-size: 0.66rem;
  line-height: 1.45;
  backdrop-filter: blur(12px);
}
.language-onboarding-note .material-symbols-outlined {
  flex: 0 0 auto;
  color: #5c5ce2;
  font-size: 1.1rem;
}
.language-onboarding-note b {
  font-weight: 700;
}

.madmi-account-header {
  border-bottom: 2px solid #20221f;
  background: #f5f4ee;
  color: #20221f;
}
.madmi-account-shell {
  --madmi-account-ink: #20221f;
  --madmi-account-paper: #f5f4ee;
  --madmi-account-lime: #c9f45b;
  --madmi-account-indigo: #5c5ce2;
  min-height: calc(100dvh - 4.75rem);
  background:
    radial-gradient(circle at 92% 3%, rgba(201, 244, 91, 0.48), transparent 13rem),
    radial-gradient(circle at 2% 40%, rgba(92, 92, 226, 0.11), transparent 16rem),
    var(--madmi-account-paper);
  color: var(--madmi-account-ink);
}
.madmi-account-logo {
  width: 7.25rem;
  height: 7.25rem;
  border: 2px solid var(--madmi-account-ink);
  border-radius: 2rem;
  background: var(--madmi-account-paper);
  box-shadow: 6px 6px 0 var(--madmi-account-ink);
}
.madmi-account-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 1.75rem;
  border: 2px solid var(--madmi-account-ink);
  border-radius: 999px;
  background: var(--madmi-account-lime);
  padding: 0.25rem 0.75rem;
  color: var(--madmi-account-ink);
  font-size: 0.58rem;
  font-weight: 900;
  letter-spacing: 0.13em;
}
.madmi-account-benefit {
  min-height: 5.25rem;
  justify-content: center;
  border: 2px solid var(--madmi-account-ink);
  border-radius: 1.35rem;
  background: #fffef9;
  box-shadow: 3px 3px 0 var(--madmi-account-ink);
}
.madmi-account-benefit:nth-child(1) {
  background: #f3fbdc;
}
.madmi-account-benefit:nth-child(1) .material-symbols-outlined {
  color: #48660f;
}
.madmi-account-benefit:nth-child(2) {
  background: #eeeeff;
}
.madmi-account-benefit:nth-child(2) .material-symbols-outlined {
  color: var(--madmi-account-indigo);
}
.madmi-account-benefit:nth-child(3) {
  background: #fff0ec;
}
.madmi-account-benefit:nth-child(3) .material-symbols-outlined {
  color: #d83e30;
}
.madmi-account-surface {
  border: 2px solid var(--madmi-account-ink);
  box-shadow: 6px 7px 0 var(--madmi-account-ink);
}
.madmi-account-surface #auth-submit-btn {
  border: 2px solid var(--madmi-account-ink);
  background: var(--madmi-account-ink);
  box-shadow: 4px 4px 0 var(--madmi-account-lime);
  color: #fff;
}
.madmi-account-surface #auth-submit-btn:hover {
  background: #343733;
}
.madmi-account-surface #google-signin-btn {
  border: 2px solid var(--madmi-account-ink);
  background: #fffef9;
}
.madmi-account-surface #signout-btn {
  border: 2px solid #d83e30;
}

@media (min-width: 640px) {
  .language-onboarding {
    padding-inline: 1.5rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .language-onboarding-choice {
    transition: none;
  }
}
