/* Lightweight quick placement: standalone from the long-term Azmoon system. */
.qp-page {
  color: var(--landing-ink, #262038);
  padding: clamp(16px, 3.5vw, 40px) 14px 54px;
}
.qp-shell { width: min(100%, 650px); margin-inline: auto; }
.qp-panel {
  border: 1px solid #e3dcf7;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(42, 29, 92, .07);
  padding: clamp(22px, 5vw, 40px);
}
.qp-intro, .qp-result { text-align: center; }
.qp-mark {
  width: 60px;
  height: 60px;
  margin: 0 auto 14px;
  display: grid;
  place-items: center;
  background: #eee9ff;
  color: #7657f6;
  border-radius: 19px;
  font-size: 2rem;
}
.qp-kicker { color: #6d50e0; font-weight: 800; font-size: .84rem; }
.qp-panel h1 { font-size: clamp(1.3rem, 4vw, 2rem); margin: 10px 0 12px; line-height: 1.55; }
.qp-lead { max-width: 470px; margin: 0 auto 20px; line-height: 1.95; color: #625b72; }
.qp-facts { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-bottom: 26px; }
.qp-facts span { background: #f5f2ff; border-radius: 12px; color: #5f4c94; padding: 9px 12px; font-size: .84rem; }
.qp-after-test { margin-top: 22px; padding-top: 18px; border-top: 1px solid #eee9f7; text-align: start; }
.qp-after-test h2 { margin: 0 0 8px; font-size: 1rem; line-height: 1.7; }
.qp-after-test p { margin: 0; font-size: .9rem; line-height: 1.9; color: #625b72; }
.qp-primary {
  display: flex;
  width: 100%;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 12px 16px;
  border: 0;
  border-radius: 13px;
  background: #7657f6;
  color: #fff;
  text-decoration: none;
  text-align: center;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}
.qp-primary:hover { background: #6242d9; color: #fff; }
.qp-primary:focus-visible, .qp-secondary:focus-visible, .qp-option:focus-within {
  outline: 3px solid rgba(118, 87, 246, .34);
  outline-offset: 3px;
}
.qp-secondary { display: inline-block; margin: 17px auto 0; color: #6447d4; font-weight: 750; text-decoration: none; }
.qp-disclaimer { margin: 23px 0 0; font-size: .82rem; line-height: 1.9; color: #777080; }
.qp-intro .qp-disclaimer--accent { color: #6d50e0; font-weight: 700; }
.qp-previous { margin: 0 0 22px; background: #f8f6ff; border-radius: 14px; padding: 14px; }
.qp-previous p { margin: 0 0 8px; }
.qp-previous a { color: #6447d4; font-size: .86rem; font-weight: 700; }
.qp-step { display: flex; justify-content: space-between; gap: 12px; font-size: .86rem; font-weight: 700; color: #655a7b; }
.qp-progress { height: 7px; border-radius: 999px; background: #eeeaf9; overflow: hidden; margin: 11px 0 28px; }
.qp-progress span { height: 100%; display: block; background: #7657f6; border-radius: inherit; }
.qp-fieldset { padding: 0; border: 0; min-width: 0; margin: 0 0 26px; }
.qp-prompt { display: block; width: 100%; padding: 0; margin: 0 0 21px; font-size: clamp(1.14rem, 3.5vw, 1.35rem); line-height: 1.7; font-weight: 800; text-align: left; }
.qp-passage { border-inline-start: 3px solid #987ff9; background: #f8f6ff; color: #413653; padding: 16px; border-radius: 10px; margin: 0 0 19px; text-align: left; line-height: 1.75; font-size: .95rem; }
.qp-options { display: grid; gap: 10px; }
.qp-option { display: flex; align-items: center; gap: 12px; min-height: 50px; padding: 10px 14px; border: 1px solid #ded8ef; border-radius: 13px; background: #fff; cursor: pointer; text-align: left; }
.qp-option:has(input:checked) { border-color: #7657f6; background: #f4f0ff; }
.qp-option input { accent-color: #7657f6; width: 18px; height: 18px; flex: 0 0 18px; }
.qp-option-circle { display: none; }
.qp-error { background: #fff4f4; color: #ab2929; border-radius: 12px; padding: 12px; line-height: 1.7; }
.qp-result-level { font-size: clamp(3.5rem, 12vw, 5rem); font-weight: 900; line-height: 1.3; color: #7657f6; direction: ltr; }
.qp-level-label { font-size: 1.12rem; margin: 0 0 10px; font-weight: 800; }
.qp-result .qp-primary { margin-top: 24px; }
@media (max-width: 600px) {
  .qp-page { padding-inline: 0; }
  .qp-shell { width: 100%; }
  .qp-panel { border-radius: 18px; padding: 22px 16px 26px; }
}
.qp-listening { margin: 0 0 22px; padding: 18px; background: #f8f6ff; border: 1px solid #e1d9f9; border-radius: 16px; text-align: center; }
.qp-listening-heading { color: #47376f; font-weight: 800; margin-bottom: 13px; }
.qp-listening-play { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; border: 0; border-radius: 12px; background: #7657f6; color: #fff; padding: 10px 22px; font: inherit; font-weight: 700; cursor: pointer; }
.qp-listening-play:disabled { opacity: .64; cursor: default; }
.qp-listening-play:focus-visible { outline: 3px solid #b9a6ff; outline-offset: 3px; }
.qp-listening-progress { margin-top: 11px; color: #60567a; font-size: .86rem; }
.qp-listening-hint { color: #777080; font-size: .8rem; line-height: 1.8; margin: 9px 0 0; }
.qp-listening-error { margin-top: 10px; color: #9e2832; font-size: .88rem; }
