.rfos-discovery {
  width: min(96vw, 1540px);
  max-width: 1540px;
  margin: 38px auto;
  padding: 0 18px;
}
.rfos-discovery-head {
  text-align: center;
  margin: 0 auto 24px;
  max-width: 1160px;
}
.rfos-discovery-head span {
  color: #a77b05;
  font-weight: 900;
  letter-spacing: 0.14em;
  font-size: 0.78rem;
}
.rfos-discovery-head{padding:28px 34px!important;text-align:center!important;background:linear-gradient(135deg,#031f54,#0d4ca6)!important;border-radius:18px!important;box-shadow:0 12px 26px rgba(0,31,91,.2)!important}
.rfos-discovery-head span{display:block!important;margin:0 auto!important;color:#ffd45f!important;font-size:clamp(1.55rem,2.8vw,2.2rem)!important;letter-spacing:.14em!important;line-height:1.25!important;text-shadow:0 1px 2px rgba(0,0,0,.28)!important}
.rfos-discovery-head h2 {
  color: #062d71;
  font-size: clamp(2rem, 4vw, 3.25rem);
  margin: 8px 0;
}
.rfos-discovery-head p {
  color: #263143;
  max-width: 760px;
  margin: auto;
  line-height: 1.6;
  font-size: clamp(1rem, 1.2vw, 1.12rem);
}
.rfos-discovery-grid {
  display: block;
  max-width: 1120px;
  margin: 0 auto;
}
.rfos-discovery-panel,
.rfos-stage {
  background: #fff;
  border: 1px solid #d7dfec;
  border-radius: 20px;
  box-shadow: 0 14px 34px rgba(0, 31, 91, 0.1);
  overflow: hidden;
}
.rfos-discovery-panel {
  position: static;
  border-top: 1px solid #d7dfec;
  box-shadow: 0 18px 42px rgba(0, 31, 91, 0.16);
}
.rfos-discovery-panel.quiz .rfos-panel-title{border-top:0!important}
.rfos-discovery-panel.quiz{min-width:0}
.rfos-story-library{padding:0 clamp(20px,4vw,38px) clamp(20px,4vw,38px)}
.rfos-story-library>.rfos-hub-button{max-width:360px;display:block;margin:0 auto 18px}
.rfos-story-library .rfos-story-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:430px;padding:2px}
.rfos-panel-title {
  background: linear-gradient(135deg, #031f54, #0d4ca6);
  padding: 18px;
  color: #fff;
}
.rfos-panel-title strong {
  display: block;
  font-size: 1.15rem;
}
.rfos-panel-title small {
  color: #ffe082;
  display: block;
  margin-top: 5px;
  font-size: .9rem;
}
.rfos-panel-body {
  padding: 20px;
}
.rfos-select,
.rfos-hub-button {
  width: 100%;
  border: 1px solid #c4d0e2;
  border-radius: 11px;
  padding: 11px 12px;
  margin: 0 0 10px;
  font: inherit;
}
.rfos-hub-button {
  background: #062d71;
  color: #fff;
  font-weight: 850;
  cursor: pointer;
}
.rfos-hub-button.gold {
  background: #d4a72c;
  color: #062d71;
}
.rfos-hub-button.light {
  background: #eff4fc;
  color: #062d71;
}
.rfos-hub-button.blue-gold {
  background: linear-gradient(135deg, #031f54, #0d4ca6);
  color: #ffd45f;
  border-color: #0d4ca6;
  box-shadow: 0 8px 18px rgba(0, 31, 91, 0.2);
}
.rfos-hub-button.blue-gold:hover,
.rfos-hub-button.blue-gold:focus-visible {
  background: #0d4ca6;
  color: #ffe082;
}
.rfos-stage {
  width: 100%;
  min-height: 860px;
  aspect-ratio: auto;
  margin: 0 auto;
}
.rfos-knowledge-layout{display:grid;grid-template-columns:minmax(260px,34%) minmax(0,1fr);align-items:stretch;min-height:760px}
.rfos-knowledge-layout>.rfos-discovery-panel{border:0;border-right:1px solid #d7dfec;border-radius:0;box-shadow:none;min-width:0}
.rfos-knowledge-layout>.rfos-stage-body{min-width:0}
.rfos-stage-hero {
  position: relative;
  background: linear-gradient(135deg, #031f54, #0d4ca6);
  color: #fff;
  padding: 30px;
}
.rfos-stage-hero h3 {
  font-size: clamp(1.25rem, 2vw, 1.8rem);
  margin: 0 0 10px;
  color: #fff;
  text-align: center;
}
.rfos-stage-hero p {
  margin: 0;
  line-height: 1.65;
  text-align: center;
  font-size: 0.98rem;
  color: #ffe082;
}
.rfos-stage-body {
  padding: clamp(20px, 4vw, 38px);
}
.rfos-challenge-welcome{display:flex;min-height:720px;flex-direction:column;align-items:center;justify-content:center;text-align:center;max-width:620px;margin:auto;padding:clamp(22px,5vw,52px)}
.rfos-challenge-welcome h3{color:#062d71;font-size:clamp(1.8rem,3.2vw,2.8rem);line-height:1.18;margin:18px 0}
.rfos-challenge-welcome p{color:#445267;font-size:clamp(1rem,1.5vw,1.16rem);line-height:1.75;max-width:56ch}
.rfos-challenge-values{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:22px 0 30px}
.rfos-challenge-values span{padding:9px 13px;border-radius:999px;background:#eef3fb;color:#062d71;font-weight:800}
.rfos-challenge-welcome .rfos-hub-button{max-width:360px}
@media(max-width:760px){.rfos-knowledge-layout{grid-template-columns:1fr;min-height:0}.rfos-knowledge-layout>.rfos-discovery-panel{border-right:0;border-bottom:1px solid #d7dfec}.rfos-stage{min-height:0}.rfos-challenge-welcome{min-height:460px}.rfos-discovery{padding:0 10px}.rfos-discovery-head{padding:20px 14px!important}.rfos-discovery-head span{font-size:clamp(1.2rem,6vw,1.65rem)!important}}
.rfos-progress {
  height: 9px;
  border-radius: 10px;
  background: #e5eaf2;
  overflow: hidden;
  margin: 0 0 22px;
}
.rfos-progress span {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, #d4a72c, #0d4ca6);
}
.rfos-question-tag,
.rfos-story-tag {
  display: inline-block;
  border-radius: 999px;
  padding: 6px 10px;
  background: #edf3fd;
  color: #062d71;
  font-size: 0.78rem;
  font-weight: 850;
  margin: 0 6px 10px 0;
}
.rfos-question {
  font-size: clamp(1.35rem, 2.8vw, 2rem);
  color: #082b72;
  line-height: 1.3;
}
.rfos-answers {
  display: grid;
  gap: 12px;
  margin-top: 22px;
}
.rfos-answer {
  border: 2px solid #d9e2ef;
  border-radius: 14px;
  background: #fff;
  padding: 15px 17px;
  text-align: left;
  font: inherit;
  font-weight: 750;
  color: #263143;
  cursor: pointer;
}
.rfos-answer:hover,
.rfos-answer:focus-visible {
  border-color: #0d4ca6;
  background: #f3f7fd;
}
.rfos-answer.correct {
  border-color: #23864a;
  background: #ecf9f0;
}
.rfos-answer.wrong {
  border-color: #bd3343;
  background: #fff0f2;
}
.rfos-feedback {
  margin-top: 18px;
  padding: 16px;
  border-left: 5px solid #d4a72c;
  background: #fff9e8;
  border-radius: 0 12px 12px 0;
  line-height: 1.6;
}
.rfos-feedback[hidden] {
  display: none;
}
.rfos-score {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 18px 0;
}
.rfos-score span {
  padding: 7px 11px;
  border-radius: 999px;
  background: #eef3fb;
  color: #062d71;
  font-weight: 800;
}
.rfos-story-list {
  display: grid;
  gap: 10px;
  max-height: 620px;
  overflow: auto;
}
.rfos-story-choice {
  border: 1px solid #dce4ef;
  border-radius: 13px;
  padding: 12px;
  background: #fff;
  cursor: pointer;
  text-align: left;
}
.rfos-story-choice:hover {
  border-color: #d4a72c;
}
.rfos-story-choice strong {
  display: block;
  color: #062d71;
}
.rfos-story-choice small {
  color: #74601e;
}
.rfos-story-cover {
  width: 100%;
  aspect-ratio: 3/2;
  object-fit: cover;
  display: block;
}
.rfos-story-open h3 {
  color: #062d71;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  margin: 18px 0 8px;
}
.rfos-story-text {
  font-size: 1.08rem;
  line-height: 1.85;
  white-space: pre-line;
}
.rfos-lesson {
  margin: 24px 0;
  padding: 18px;
  border-left: 5px solid #d4a72c;
  background: #fff8e4;
  border-radius: 0 12px 12px 0;
}
.rfos-joke {
  color: #315c3a;
  font-weight: 700;
}
.rfos-learning-break {
  border: 2px solid #d4a72c;
  background: #fffbef;
  border-radius: 16px;
  padding: 22px;
}
.rfos-session-banner {
  margin-bottom: 18px;
  padding: 15px;
  background: #eef4ff;
  border: 1px solid #c9d8ef;
  border-radius: 12px;
}
.rfos-session-banner[hidden] {
  display: none;
}
@media (max-width: 1280px) {
  .rfos-discovery-grid {
    grid-template-columns: minmax(260px,340px) minmax(0,1fr);
  }
  .rfos-stage {
    grid-column: 2;
    grid-row: 1;
  }
  .rfos-discovery-panel {
    position: static;
  }
  .rfos-discovery-panel.quiz {
    grid-column: 1;
  }
}
@media (max-width: 700px) {
  .rfos-discovery {
    padding: 0 12px;
  }
  .rfos-discovery-grid {
    display: flex;
    flex-direction: column;
  }
  .rfos-stage,
  .rfos-discovery-panel {
    width: 100%;
  }
  .rfos-stage {
    order: 2;
    min-height: 690px;
    aspect-ratio:auto;
  }
  .rfos-discovery-panel.quiz {
    order: 1;
  }
  .rfos-discovery-panel.stories {
    order: 3;
  }
  .rfos-stage-hero {
    padding: 22px;
  }
  .rfos-stage-body {
    padding: 20px;
  }
  .rfos-story-list {
    display: flex;
    overflow: auto;
    max-height: none;
  }
  .rfos-story-library .rfos-story-list{display:flex;max-height:none}
  .rfos-story-choice {
    min-width: 210px;
  }
}
/* v4.0.5 — varied, private-to-device reward for a perfect ten-question round. */
.rfos-victory{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;overflow:hidden;background:rgba(2,14,42,.18);opacity:0;pointer-events:none;transition:opacity .35s ease}
.rfos-victory.show{opacity:1}
.rfos-victory-message{position:relative;z-index:2;width:min(640px,88vw);padding:28px 24px;border:3px solid #efbd2f;border-radius:24px;background:linear-gradient(135deg,#031f54,#0d4ca6);color:#fff;text-align:center;box-shadow:0 24px 80px rgba(0,0,0,.42);transform:scale(.72);animation:rfosVictoryPop .75s cubic-bezier(.2,.9,.25,1.25) forwards}
.rfos-victory-message strong{display:block;color:#ffd45f;font-size:clamp(2rem,7vw,4.7rem);line-height:1.02;text-transform:uppercase}
.rfos-victory-message span{display:block;margin-top:12px;font-size:clamp(1rem,2.5vw,1.45rem);font-weight:750}
.rfos-victory-particles{position:absolute;inset:0}
.rfos-victory-particles i{position:absolute;left:calc(var(--x)*1%);top:108%;color:#ffd45f;font-style:normal;font-size:clamp(18px,3vw,38px);text-shadow:0 2px 8px rgba(0,0,0,.4);animation:rfosRewardRise 4.8s ease-out var(--d) forwards}
.rfos-victory-fireworks .rfos-victory-particles i{top:50%;left:50%;color:hsl(calc(var(--i)*43deg) 90% 65%);animation:rfosFirework 2.4s ease-out var(--d) 2 both}
.rfos-victory-confetti .rfos-victory-particles i{top:-10%;color:hsl(calc(var(--i)*51deg) 88% 58%);animation:rfosConfetti 4.6s linear var(--d) forwards}
.rfos-victory-stars .rfos-victory-particles i{color:#ffe16a;animation:rfosStarRise 4.5s ease-in-out var(--d) forwards}
.rfos-victory-balloons .rfos-victory-particles i{width:28px;height:36px;border-radius:50%;color:transparent;background:hsl(calc(var(--i)*47deg) 80% 58%);animation:rfosBalloonRise 5.2s ease-in var(--d) forwards}
.rfos-victory-rfos .rfos-victory-particles i{color:#ffd45f;font-size:clamp(13px,2vw,24px);font-weight:900;letter-spacing:.08em;animation:rfosRewardRise 4.8s ease-out var(--d) forwards}
@keyframes rfosVictoryPop{to{transform:scale(1)}}
@keyframes rfosRewardRise{0%{transform:translateY(0) rotate(0);opacity:0}15%{opacity:1}100%{transform:translateY(-120vh) rotate(540deg);opacity:0}}
@keyframes rfosFirework{0%{transform:translate(0,0) scale(.2);opacity:0}15%{opacity:1}100%{transform:translate(calc((var(--x) - 50)*1.6vw),calc((var(--i)%14 - 7)*8vh)) scale(1.25);opacity:0}}
@keyframes rfosConfetti{0%{transform:translateY(0) rotate(0);opacity:1}100%{transform:translateY(120vh) rotate(900deg);opacity:.15}}
@keyframes rfosStarRise{0%{transform:translateY(0) scale(.25);opacity:0}25%{opacity:1}70%{transform:translateY(-70vh) scale(1.4) rotate(180deg);opacity:1}100%{transform:translateY(-115vh) scale(.5);opacity:0}}
@keyframes rfosBalloonRise{0%{transform:translateY(0) translateX(0);opacity:0}12%{opacity:1}100%{transform:translateY(-125vh) translateX(calc((var(--i)%5 - 2)*12px));opacity:.9}}
@media(prefers-reduced-motion:reduce){.rfos-victory{background:rgba(2,14,42,.72)}.rfos-victory-particles{display:none}.rfos-victory-message{animation:none;transform:none}}
