/* Mode 2 uses complete endpoint phrases and, optionally, nested worlds. */
.research-hub-launcher { position: absolute; top: 16px; right: max(16px, env(safe-area-inset-right)); z-index: 20; }
.research-hub-launcher a { display: inline-flex; align-items: center; gap: 8px; padding: 12px 16px; min-height: 44px; box-sizing: border-box; border: 1px solid #9db9d3; border-radius: 12px; background: #edf5ff; color: #154e83; font-size: .92rem; font-weight: 750; text-decoration: none; }
.research-hub-launcher a:hover { background: #dbeeff; }
.research-hub-launcher a:focus-visible { outline: 3px solid #2578b7; outline-offset: 3px; }
body > main.container { margin-top: 60px; }
#mode-two-settings[hidden], #mode-two-domain-cue[hidden], #mode-two-reflection[hidden], #mode-two-warmup-continue[hidden] { display: none !important; }
#mode-two-warmup-continue { min-height: 52px; margin: 12px 0; padding: 14px 18px; background: #185d91; color: #fff; border: 2px solid #124c79; border-radius: 12px; font-size: 1rem; line-height: 1.4; }
#mode-two-warmup-continue:focus-visible { outline: 3px solid #338dce; outline-offset: 3px; }
#mode-two-settings { padding: 16px; border: 1px solid #9bb8d5; border-radius: 14px; background: #eaf3fc; }
#mode-two-settings p { font-size: .85rem; line-height: 1.5; color: #354f69; margin: 10px 0; }
#mode-two-settings .toggle-row label { font-size: .8rem; line-height: 1.45; text-transform: none; letter-spacing: 0; }
body.mode-two-active .game-area { width: min(960px, calc(100vw - 32px)); position: relative; left: 50%; transform: translateX(-50%); padding: clamp(16px, 3vw, 30px); box-sizing: border-box; }
body.mode-two-active #premise-display { display: block; font-size: clamp(1.03rem, 2vw, 1.4rem); font-style: normal; font-weight: 650; line-height: 1.75; text-align: left; white-space: pre-line; overflow: visible; overflow-wrap: anywhere; height: auto; max-height: none; box-sizing: border-box; }
body.mode-two-active .response-stage { flex-shrink: 0; }
body.mode-two-active .response-buttons { flex-direction: row !important; align-items: stretch; }
body.mode-two-active #trial-explanation { text-align: left; white-space: pre-line; }
#mode-two-domain-cue { border: 1px solid #a8c5df; border-radius: 12px; padding: 14px 16px; margin: 12px 0; background: #f0f7ff; color: #244661; text-align: left; font-size: .92rem; line-height: 1.55; }
#mode-two-reflection { border: 2px solid #4482b2; border-radius: 16px; background: #f2f8ff; padding: clamp(14px, 3vw, 24px); text-align: left; line-height: 1.6; margin: 18px 0; overflow-wrap: anywhere; }
#mode-two-reflection h2, #mode-two-reflection h3 { color: #154e83; font-size: 1.25rem; margin: 0 0 12px; }
#mode-two-reflection p { margin: 10px 0; }
#mode-two-reflection .mode-two-reflection-stimulus { white-space: pre-line; background: #fff; padding: 14px; border: 1px solid #bfd3e5; border-radius: 10px; }
#mode-two-reflection fieldset { min-width: 0; margin: 14px 0; padding: 12px; border: 1px solid #a8c5df; border-radius: 10px; }
#mode-two-reflection label { margin: 16px 0 8px; text-transform: none; letter-spacing: 0; font-size: 1rem; line-height: 1.5; }
#mode-two-reflection select, #mode-two-reflection textarea { width: 100%; max-width: 100%; box-sizing: border-box; background: #fff; color: #172f48; border: 1px solid #7d9fbd; border-radius: 10px; padding: 12px; font: inherit; }
#mode-two-reflection textarea { min-height: 100px; resize: vertical; }
#mode-two-reflection button { min-height: 48px; margin: 10px 8px 0 0; padding: 12px 16px; border: 1px solid #769abb; background: #dfecfa; color: #154e83; white-space: normal; }
#mode-two-reflection button:focus-visible, #mode-two-reflection select:focus-visible, #mode-two-reflection textarea:focus-visible { outline: 3px solid #2578b7; outline-offset: 3px; }
#mode-two-reflection [role="status"] { font-weight: 650; color: #173f67; white-space: pre-line; margin: 12px 0; }
@media (max-width: 480px) {
  body.mode-two-active .game-area { border-radius: 18px; }
  body.mode-two-active .response-buttons { gap: 10px !important; }
  body.mode-two-active .response-buttons button { min-width: 0 !important; padding: 14px 10px; }
  #mode-two-reflection button { width: 100%; margin-right: 0; }
}
