.questionnaire{max-width:820px;margin:auto;padding:44px 24px 72px;min-height:calc(100svh - 76px);overflow-wrap:anywhere}
.questionnaire *{box-sizing:border-box;min-width:0}
.quiz-topline{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px}
.quiz-topline p{color:var(--gold);font-size:12px;letter-spacing:.05em;margin:0}
.quiz-count{white-space:nowrap;font-size:14px;color:var(--gold-soft);font-variant-numeric:tabular-nums}
.step-track{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:5px;margin-bottom:30px}
.step-track i{height:3px;background:#4c5870;border-radius:3px}.step-track .done{background:#b69b69}.step-track .current{background:#f2ddb1;box-shadow:0 0 12px #e6c98d44}
.question-card{background:var(--panel-gradient);border:1px solid #536079;border-radius:18px;padding:32px;box-shadow:0 22px 64px #0a12222b}
.question-card h1{font-size:clamp(25px,3.2vw,34px);line-height:1.3;letter-spacing:-.02em;margin:10px 0 28px;color:var(--text)}
.question-card h1:focus{outline:none}
.quiz-intro{color:var(--muted);font-size:13px;line-height:1.6;margin:0 0 18px}
.question-options{border:0;padding:0;margin:0;display:grid;gap:12px}
.quiz-option{display:flex;gap:14px;align-items:center;position:relative;min-height:68px;padding:15px 18px;border:1px solid #62708b;border-radius:11px;background:#1e2a40;cursor:pointer;transition:background .18s,border-color .18s}
.quiz-option:hover{background:#303c54;border-color:#d0b482}.quiz-option:has(input:checked){background:#d2b27c13;border-color:var(--gold);box-shadow:inset 3px 0 0 var(--gold)}
.quiz-option input{width:18px;height:18px;flex:0 0 18px;margin:0;accent-color:var(--gold)}
.quiz-option span{font-size:15px;line-height:1.55;color:var(--text)}
.quiz-controls{display:flex;justify-content:space-between;gap:14px;margin-top:26px}
.quiz-controls button{font:inherit;font-size:14px;min-height:48px;cursor:pointer;justify-content:center;align-items:center;white-space:normal;overflow-wrap:anywhere;max-width:70%}
.quiz-controls .primary{border:0}.quiz-controls .ghost{border:1px solid #64708a}
.quiz-controls button:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.quiz-return{display:inline-flex;align-items:center;min-height:44px;margin-top:16px;background:transparent;border:0;padding:6px 0;color:var(--muted);font:inherit;font-size:13px;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.material-form{display:grid;gap:18px}.material-form label{display:grid;gap:8px;font-size:13px;color:var(--muted)}
.material-form input,.material-form select{font:inherit;font-size:16px;width:100%;max-width:none;min-height:48px;padding:12px;border:1px solid #69758b;border-radius:9px;background:var(--inset);color:var(--text)}
.material-form button{font:inherit;border:0;justify-content:center;min-height:48px;cursor:pointer}
.privacy-note{font-size:12px;line-height:1.65;color:var(--muted);margin:0}.quiz-error{color:#ffbdaf;font-size:13px;margin:0;line-height:1.6}
.completion-symbol{display:grid;place-items:center;width:48px;height:48px;background:linear-gradient(135deg,#f1dfb8,#c2a16a);color:#232a3a;border-radius:50%;font-size:25px;margin-bottom:18px}
.download-panel{padding:20px;background:#e6c98d09;border:1px solid #e6c98d66;border-radius:12px}.download-panel p{font-size:14px;line-height:1.6;color:var(--muted)}.download-panel .btn{margin-top:12px;min-height:48px;align-items:center}
.quiz-cta-panel{padding:32px;background:var(--panel-gradient);border:1px solid var(--line);border-radius:16px;display:flex;gap:28px;justify-content:space-between;align-items:center}.quiz-cta-panel p{color:var(--muted);line-height:1.6}.quiz-cta-panel .btn{flex-shrink:0;align-items:center;min-height:48px}
@media(max-width:600px){.questionnaire{padding:26px 16px 44px;min-height:calc(100svh - 66px)}.question-card{padding:23px 18px;border-radius:14px}.question-card h1{margin-bottom:22px;font-size:26px}.quiz-option{padding:14px 12px;min-height:70px}.quiz-option span{font-size:14px}.quiz-controls{gap:10px}.quiz-controls button{padding:12px 15px}.quiz-topline{gap:10px}.quiz-topline p{font-size:11px}.quiz-count{font-size:12px}.step-track{margin-bottom:22px}.quiz-cta-panel{align-items:stretch;flex-direction:column;padding:24px}.quiz-cta-panel .btn{justify-content:center}}
@media(prefers-reduced-motion:reduce){.quiz-option{transition:none}}

/* Sapphire / arctic-light answer flow; quiz.css loads after the shared theme. */
.mentor-theme .quiz-topline p,
.mentor-theme .quiz-count { color: #a1edf6; }
.mentor-theme .step-track i { background: #7396ad74; }
.mentor-theme .step-track .done { background: #7bd9e9; }
.mentor-theme .step-track .current {
  background: #b9f6ff;
  box-shadow: 0 0 14px #8deaf5a6;
}
.mentor-theme .question-card,
.mentor-theme .quiz-cta-panel {
  background: linear-gradient(150deg, #ffffff10, transparent 42%), linear-gradient(145deg, #2a4d68, #24405f 58%, #2a4166);
  border-color: #99c7dc7a;
  box-shadow: 0 25px 68px #081d385d, inset 0 1px 0 #d7f3ff26;
}
.mentor-theme .quiz-option {
  background: #1c3854;
  border-color: #83aac480;
}
.mentor-theme .quiz-option:hover { background: #2c516c; border-color: #9fe6f4; }
.mentor-theme .quiz-option:has(input:checked) {
  background: linear-gradient(90deg, #77e5ee28, #7aa5fa16);
  border-color: #99edf5;
  box-shadow: inset 3px 0 0 #8be7f3, 0 0 0 1px #8be7f31c;
}
.mentor-theme .quiz-option input { accent-color: #86e6f1; }
.mentor-theme .quiz-controls .ghost { border-color: #84bbd982; }
.mentor-theme .material-form input,
.mentor-theme .material-form select {
  background: #17324e;
  border-color: #84adc785;
  color: #f7fbff;
}
.mentor-theme .material-form input:focus,
.mentor-theme .material-form select:focus {
  border-color: #a5f1f8;
  outline-color: #a5f1f8;
  box-shadow: 0 0 0 3px #88dff123;
}
.mentor-theme .completion-symbol {
  color: #102b44;
  background: linear-gradient(135deg, #affaf3, #7dd9f1 60%, #a9bbff);
}
.mentor-theme .download-panel {
  background: #83e9f412;
  border-color: #93e8f480;
}

/* V11 — match the defined midnight / electric-cyan site surfaces. */
.mentor-theme .quiz-topline p { color: #e6c882; }
.mentor-theme .quiz-count { color: #8cf2e9; }
.mentor-theme .step-track i { background: #476b80; }
.mentor-theme .step-track .done { background: #48c9d3; }
.mentor-theme .step-track .current {
  background: #9cf8e9;
  box-shadow: 0 0 10px #65e7df7a;
}
.mentor-theme .question-card,
.mentor-theme .quiz-cta-panel {
  background: linear-gradient(150deg, #1c3e59, #18354e);
  border-color: #5b8ba1;
  box-shadow: 0 20px 48px #07182875, inset 0 1px 0 #c2eef42e;
}
.mentor-theme .quiz-option {
  background: #143149;
  border-color: #5c859a;
}
.mentor-theme .quiz-option:hover {
  background: #1e425b;
  border-color: #76ddd9;
}
.mentor-theme .quiz-option:has(input:checked) {
  background: #1c4956;
  border-color: #8af0e7;
  box-shadow: inset 3px 0 0 #70e8df;
}
.mentor-theme .quiz-option input { accent-color: #62e3dc; }
.mentor-theme .quiz-controls .ghost { border-color: #638da3; }
.mentor-theme .material-form input,
.mentor-theme .material-form select {
  background: #123047;
  border-color: #608ba1;
  color: #f7fbff;
}
.mentor-theme .material-form input:focus,
.mentor-theme .material-form select:focus {
  border-color: #8af0e7;
  outline-color: #8af0e7;
  box-shadow: 0 0 0 3px #5ce6e530;
}
.mentor-theme .completion-symbol {
  color: #092b3c;
  background: linear-gradient(135deg, #8df4e7, #41cade);
}
.mentor-theme .download-panel {
  background: #183f50;
  border-color: #579caa;
}

/* Completion reveal: a centered, accessible dialog with a CSS-drawn gift. */
.mentor-theme .quiz-complete-stage {
  min-height: min(58svh, 540px);
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 22px;
  text-align: center;
  padding: 32px 12px;
}
.mentor-theme .quiz-complete-stage h1 { margin: 0; }
.mentor-theme .quiz-open-gift {
  min-height: 52px;
  padding: 13px 28px;
  border: 1px solid #a6eff6;
  border-radius: 12px;
  background: linear-gradient(120deg, #a1f3ef, #91c7ff 55%, #bbb2ff);
  box-shadow: 0 12px 35px #49bfdd3d, inset 0 1px 0 #ffffffb8;
  color: #102743;
  font: inherit;
  font-weight: 750;
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease;
}
.mentor-theme .quiz-open-gift:hover {
  transform: translateY(-2px);
  box-shadow: 0 17px 40px #49bfdd5c, inset 0 1px 0 #ffffffb8;
}
.mentor-theme .quiz-open-gift:focus-visible,
.mentor-theme .quiz-gift-close:focus-visible,
.mentor-theme .quiz-gift-restart:focus-visible {
  outline: 3px solid #b8f7ff;
  outline-offset: 4px;
}

body.mentor-theme dialog.quiz-gift-dialog {
  box-sizing: border-box;
  width: min(600px, calc(100vw - 36px));
  max-width: 600px;
  max-height: calc(100dvh - 36px);
  inset: 0;
  margin: auto;
  padding: 0;
  overflow: auto;
  border: 1px solid #83c5e28c;
  border-radius: 24px;
  background: linear-gradient(155deg, #203957 0%, #122b48 50%, #1f2d55 100%);
  color: #edfaff;
  box-shadow: 0 35px 110px #020a1ed9, 0 0 55px #5d9df338, inset 0 1px 0 #d4f7ff36;
}
body.mentor-theme dialog.quiz-gift-dialog:not([open]) { display: none; }
body.mentor-theme dialog.quiz-gift-dialog::backdrop {
  background: radial-gradient(circle at 50% 42%, #2f529250, #040a1ad9 68%);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
.mentor-theme .quiz-gift-panel {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 34px clamp(24px, 6vw, 54px) 40px;
  overflow: hidden;
}
.mentor-theme .quiz-gift-panel::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 430px;
  height: 430px;
  top: -185px;
  left: calc(50% - 215px);
  border-radius: 50%;
  background: radial-gradient(circle, #6e86f33d, #57d5e919 48%, transparent 71%);
  pointer-events: none;
}
.mentor-theme .quiz-gift-close {
  position: absolute;
  z-index: 3;
  top: 18px;
  right: 18px;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid #9abed66b;
  border-radius: 50%;
  background: #29435f;
  color: #e6f7ff;
  font: inherit;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  transition: background .2s ease, transform .2s ease;
}
.mentor-theme .quiz-gift-close:hover { background: #3b6480; transform: rotate(90deg); }

.mentor-theme .quiz-gift-art {
  position: relative;
  width: 210px;
  height: 185px;
  margin: 8px auto 18px;
  display: grid;
  place-items: center;
  filter: drop-shadow(0 22px 30px #74dcf43d);
}
.mentor-theme .quiz-gift-art::before {
  content: "";
  position: absolute;
  width: 130px;
  height: 23px;
  left: 40px;
  bottom: 11px;
  border-radius: 50%;
  background: #4c97d250;
  filter: blur(12px);
}
.mentor-theme .gift-orbit {
  position: absolute;
  inset: 4px 17px;
  border: 1px solid #a4e9f64a;
  border-radius: 50%;
  transform: rotate(-18deg) scaleY(.72);
  animation: gift-orbit-turn 12s linear infinite;
}
.mentor-theme .gift-orbit.orbit-two {
  inset: 17px 2px;
  border-color: #b6a8ff61;
  transform: rotate(43deg) scaleY(.63);
  animation-name: gift-orbit-turn-two;
  animation-duration: 16s;
  animation-direction: reverse;
}
.mentor-theme .gift-spark {
  position: absolute;
  top: 22px;
  left: 30px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #d5faff;
  box-shadow: 0 0 13px 4px #8deeff99;
  animation: gift-sparkle 2.5s ease-in-out infinite;
}
.mentor-theme .gift-spark.spark-two { top: 45px; left: auto; right: 17px; width: 5px; height: 5px; background: #cab8ff; box-shadow: 0 0 12px 3px #af95ffb0; animation-delay: .6s; }
.mentor-theme .gift-spark.spark-three { top: auto; bottom: 25px; left: 12px; width: 5px; height: 5px; animation-delay: 1.3s; }
.mentor-theme .gift-spark.spark-four { top: auto; bottom: 38px; left: auto; right: 31px; background: #f8e6b7; box-shadow: 0 0 10px 3px #f2d88a91; animation-delay: 1.8s; }
.mentor-theme .gift-box {
  position: relative;
  z-index: 1;
  width: 128px;
  height: 125px;
  margin-top: 22px;
  animation: gift-float 3.6s ease-in-out infinite;
}
.mentor-theme .gift-body {
  position: absolute;
  left: 12px;
  right: 12px;
  top: 45px;
  bottom: 0;
  border: 1px solid #d9f8ff;
  border-radius: 8px 8px 13px 13px;
  background: linear-gradient(130deg, #a7f5f2 0%, #71c6e6 48%, #838fe0 100%);
  box-shadow: 0 16px 34px #64cfe263, inset 0 1px 0 #ffffffc7, inset -12px 0 18px #425aaf2b;
}
.mentor-theme .gift-lid {
  position: absolute;
  z-index: 2;
  top: 33px;
  left: 1px;
  width: 126px;
  height: 24px;
  border: 1px solid #e4fbff;
  border-radius: 7px;
  background: linear-gradient(110deg, #d7fffa, #91d4f1 55%, #a7a9f4);
  box-shadow: 0 5px 13px #27588a59, inset 0 1px 0 #ffffffd6;
  transform-origin: 20% 80%;
  animation: gift-lid-dance 3.6s ease-in-out infinite;
}
.mentor-theme .gift-ribbon {
  position: absolute;
  z-index: 3;
  left: calc(50% - 10px);
  top: 34px;
  width: 20px;
  height: 91px;
  background: linear-gradient(90deg, #6674c7, #b2a8f7 55%, #766bc8);
  box-shadow: inset 1px 0 #ffffff6b;
  pointer-events: none;
}
.mentor-theme .gift-bow {
  position: absolute;
  z-index: 4;
  top: 4px;
  left: calc(50% - 9px);
  width: 18px;
  height: 35px;
  border-radius: 50% 50% 4px 4px;
  background: linear-gradient(180deg, #dbd2ff, #958ce7);
  box-shadow: 0 1px 8px #7971d682;
}
.mentor-theme .gift-bow::before,
.mentor-theme .gift-bow::after {
  content: "";
  position: absolute;
  bottom: 0;
  width: 34px;
  height: 25px;
  border: 5px solid #b8aeff;
  border-radius: 80% 20% 70% 20%;
  box-sizing: border-box;
  background: #9b90e445;
}
.mentor-theme .gift-bow::before { right: 11px; transform: rotate(21deg); }
.mentor-theme .gift-bow::after { left: 11px; transform: scaleX(-1) rotate(21deg); }
.mentor-theme .quiz-gift-eyebrow {
  margin: 0 0 10px;
  color: #a4eef5;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.mentor-theme .quiz-gift-title {
  max-width: 100%;
  margin: 0;
  color: #f7fbff;
  font-size: clamp(28px, 4vw, 40px);
  font-weight: 760;
  line-height: 1.2;
  letter-spacing: -.025em;
  overflow-wrap: anywhere;
}
.mentor-theme .quiz-gift-subtitle {
  max-width: 430px;
  margin: 15px 0 0;
  color: #c7dbe9;
  font-size: 15px;
  line-height: 1.7;
  overflow-wrap: anywhere;
}
.mentor-theme .quiz-gift-restart {
  margin-top: 27px;
  padding: 9px 4px;
  border: 0;
  background: transparent;
  color: #b8eaf2;
  font: inherit;
  font-size: 13px;
  text-decoration: underline;
  text-underline-offset: 5px;
  cursor: pointer;
}
.mentor-theme .quiz-gift-restart:hover { color: #f3fdff; }
@keyframes gift-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
@keyframes gift-orbit-turn { to { transform: rotate(342deg) scaleY(.72); } }
@keyframes gift-orbit-turn-two { to { transform: rotate(403deg) scaleY(.63); } }
@keyframes gift-lid-dance { 0%,42%,100% { transform: translateY(0) rotate(0); } 52%,65% { transform: translateY(-9px) rotate(-4deg); } }
@keyframes gift-sparkle { 0%,100% { opacity: .38; transform: scale(.7); } 50% { opacity: 1; transform: scale(1.35); } }

@media (max-width: 480px) {
  body.mentor-theme dialog.quiz-gift-dialog { width: calc(100vw - 28px); max-height: calc(100dvh - 24px); border-radius: 19px; }
  .mentor-theme .quiz-gift-panel { padding: 28px 20px 30px; }
  .mentor-theme .quiz-gift-art { width: 180px; height: 158px; margin-top: 10px; margin-bottom: 17px; transform: scale(.87); }
  .mentor-theme .quiz-gift-close { top: 13px; right: 13px; width: 35px; height: 35px; }
  .mentor-theme .quiz-gift-subtitle { font-size: 14px; }
  .mentor-theme .quiz-gift-restart { margin-top: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .mentor-theme .quiz-open-gift,
  .mentor-theme .quiz-gift-close,
  .mentor-theme .gift-orbit,
  .mentor-theme .gift-spark,
  .mentor-theme .gift-box,
  .mentor-theme .gift-lid { animation: none !important; transition: none !important; }
}
