/* Calm teaching missions. Existing arcade rules and media remain available in Endless. */
.gb-protein-game .gb-protein-game__journey {
  position:relative; isolation:isolate; overflow:hidden; min-height:210px; padding:25px 28px;
  background:#123c41; border-color:#3f7274; gap:20px;
}
.gb-protein-game .gb-protein-game__environment { position:absolute; inset:0 0 0 36%; z-index:-1; }
.gb-protein-game .gb-protein-game__environment img { width:100%; height:100%; object-fit:cover; object-position:50% 46%; opacity:.9; }
.gb-protein-game .gb-protein-game__environment::after { position:absolute; inset:0; content:""; background:linear-gradient(90deg,#123c41 0%,rgba(18,60,65,.38) 47%,rgba(18,60,65,.1)); }
.gb-protein-game .gb-protein-game__journey-copy { max-width:58%; }
.gb-protein-game .gb-protein-game__journey p { color:#e0efec!important; }
.gb-protein-game .gb-protein-game__journey-progress { align-self:flex-end; padding:12px; border-radius:10px; background:rgba(12,44,47,.84); }
.gb-protein-game .gb-protein-game__journey-track { background:#456e6d; }

.gb-protein-game .gb-protein-game__coach { padding:16px 20px; background:#f2f8f5; border-block:1px solid #d7e5df; }
.gb-protein-game .gb-protein-game__coach-top { display:flex; align-items:center; justify-content:space-between; gap:12px; color:#42685b; font-size:.7rem; font-weight:750; letter-spacing:.04em; }
.gb-protein-game .gb-protein-game__coach-top button { min-height:40px; padding:8px 12px; border:1px solid #bed7cb; border-radius:8px; background:#fff; color:#345c4e; cursor:pointer; font:inherit; }
.gb-protein-game .gb-protein-game__coach-top small { opacity:.7; margin-left:4px; }
.gb-protein-game .gb-protein-game__coach :is(.gb-dna-builder__feedback,.gb2__feedback) { position:static; min-height:1.5em; margin:9px 0 0!important; padding:0; background:none; border:0; box-shadow:none; transform:none; text-align:left; color:#345c4e!important; font:500 .88rem/1.5 Inter,system-ui,sans-serif!important; }
.gb-protein-game .gb-protein-game__coach [data-type="wrong"] { color:#965039!important; }
.gb-protein-game button:focus-visible { outline:3px solid #448b77; outline-offset:3px; }

/* Missions show progress; competitive counters belong to Endless. */
.gb-protein-game .gb-dna-builder[data-mode="mission"] .gb-dna-builder__hud { grid-template-columns:repeat(2,minmax(0,1fr)); }
.gb-protein-game .gb-dna-builder[data-mode="mission"] .gb-dna-builder__hud>div:is(:nth-child(1),:nth-child(4),:nth-child(5),:nth-child(6)) { display:none; }
.gb-protein-game .gb-rna-builder[data-mode="standard"] .gb2__hud,
.gb-protein-game .gb-translation-game:not([data-mode="endless"]) .gt3__hud { grid-template-columns:repeat(3,minmax(0,1fr)); }
.gb-protein-game .gb-rna-builder[data-mode="standard"] .gb2__hud>div:is(:nth-child(1),:nth-child(5),:nth-child(6),:nth-child(7),:nth-child(8)),
.gb-protein-game .gb-translation-game:not([data-mode="endless"]) .gt3__hud>div:is(:nth-child(1),:nth-child(5),:nth-child(6),:nth-child(7),:nth-child(8)) { display:none; }
.gb-protein-game .gb-rna-builder[data-mode="standard"] .gb2__tempo,
.gb-protein-game .gb-translation-game:not([data-mode="endless"]) .gt3__timer { display:none; }
.gb-protein-game .gb-dna-builder[data-mode="mission"] .gb-dna-builder__results dl>div:is(:nth-child(1),:nth-child(5),:nth-child(6),:nth-child(7)) { display:none; }
.gb-protein-game .gb-rna-builder[data-mode="standard"] .gb2__results>div:is(:nth-child(1),:nth-child(7),:nth-child(8),:nth-child(9)) { display:none; }
.gb-protein-game :is(.gb-dna-builder__hud,.gb2__hud,.gt3__hud) small { font-size:.67rem; letter-spacing:.035em; }
.gb-protein-game .gb-dna-builder[data-mode="mission"] .gb-dna-builder__pair { transition:transform .35s ease; }
.gb-protein-game .gb-dna-builder[data-mode="mission"] .gb-dna-builder__scanlines { display:none; }
.gb-protein-game :is(.gb-dna-builder__stage,.gb2__stage,.gt3__stage) { background:radial-gradient(ellipse at 15% 20%,rgba(173,213,203,.24),transparent 65%),linear-gradient(135deg,#f0f7f2,#f9fcfa 60%,#ecf4f1); }
.gb-protein-game .gb-dna-builder[data-mode="mission"][data-flash] .gb-dna-builder__stage,
.gb-protein-game .gb-rna-builder[data-mode="standard"][data-flash] .gb2__stage { animation:none; }
.gb-protein-game .gt3__release-factor { position:absolute; z-index:15; top:64px; left:50%; transform:translateX(-50%); width:108px; min-height:72px; display:grid; place-items:center; padding:12px 8px; background:linear-gradient(140deg,#eedbf2,#ceb5dd); border:2px solid #ab89bd; border-radius:38% 48% 28% 42%; color:#523764; text-align:center; font-size:.6rem; font-weight:800; }

/* Introductory and completed states size to their content instead of hiding explanations. */
.gb-protein-game .gb-dna-builder:is([data-state="idle"],[data-state="gameover"]) .gb-dna-builder__stage,
.gb-protein-game .gb-rna-builder:is([data-phase="idle"],[data-phase="completed"],[data-phase="failed"]) .gb2__stage { height:auto; min-height:300px; }
.gb-protein-game .gb-dna-builder:is([data-state="idle"],[data-state="gameover"]) .gb-dna-builder__overlay,
.gb-protein-game .gb-rna-builder:is([data-phase="idle"],[data-phase="completed"],[data-phase="failed"]) .gb2__overlay { position:relative; inset:auto; min-height:300px; height:auto; max-height:none; overflow:visible; padding:22px; }
.gb-protein-game :is(.gb-dna-builder__overlay-panel,.gb2__overlay-panel) { max-height:none; }
.gb-protein-game .gb-dna-builder:is([data-state="idle"],[data-state="gameover"]) :is(.gb-dna-builder__direction,.gb-dna-builder__track,.gb-dna-builder__target,.gb-protein-game__coach),
.gb-protein-game .gb-rna-builder:is([data-phase="idle"],[data-phase="completed"],[data-phase="failed"]) :is(.gb2__sequence-label,.gb2__dna-window,.gb2__mrna,.gb-protein-game__coach) { display:none; }
.gb-protein-game .gb-dna-builder[data-state="idle"] :is(.gb-dna-builder__controls,.gb-dna-builder__hud,.gb-dna-builder__helix-progress),
.gb-protein-game .gb-rna-builder[data-phase="idle"] :is(.gb2__controls,.gb2__hud),
.gb-protein-game .gt3__cabinet[data-gt3-phase="idle"] :is(.gt3__hud,.gt3__decoder-slot) { display:none; }
.gb-protein-game .gb-dna-builder__overlay-actions { flex-wrap:wrap; }

@media(max-width:600px) {
  .gb-protein-game .gb-protein-game__journey { min-height:205px; padding:20px; gap:16px; }
  .gb-protein-game .gb-protein-game__journey-copy { max-width:100%; }
  .gb-protein-game .gb-protein-game__environment { left:0; }
  .gb-protein-game .gb-protein-game__environment::after { background:linear-gradient(90deg,rgba(18,60,65,.96),rgba(18,60,65,.6)); }
  .gb-protein-game .gb-protein-game__journey-progress { align-self:stretch; padding:0; background:none; }
  .gb-protein-game .gb-protein-game__coach { padding:14px; }
  .gb-protein-game .gb-protein-game__coach-top button { min-height:44px; }
}
@media(prefers-reduced-motion:reduce) { .gb-protein-game .gb-dna-builder[data-mode="mission"] .gb-dna-builder__pair { transition:none; } }
