/* Shared space shell; orbit and landing geometry stay owned by their scenes. */
body.game-first:is(.stars-exemplar,.moon-exemplar) #gameShell .top-controls { width:auto; }
body.game-first:is(.stars-exemplar,.moon-exemplar) #gameShell #previousGameButton { display:none; }
body.game-first:is(.stars-exemplar,.moon-exemplar) #gameShell .mission { text-align:center; }
body.game-first:is(.stars-exemplar,.moon-exemplar) #gameShell #missionHint { margin-top:4px; color:#cfdee3; font:400 12px/1.3 system-ui,sans-serif; }
body.game-first:is(.stars-exemplar,.moon-exemplar) #gameShell .phrase-bubble { top:76px; pointer-events:none; }
body.game-first:is(.stars-exemplar,.moon-exemplar) .chase-world::after,
body.game-first:is(.stars-exemplar,.moon-exemplar) .moon-world::after { content:''; position:absolute; inset:0; background:linear-gradient(#10253b99,transparent 30%,transparent 75%,#142b43); pointer-events:none; }
body.game-first.stars-exemplar #gameShell #phraseGrid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
body.game-first:is(.stars-exemplar,.moon-exemplar) #gameShell #phraseGrid .phrase-icon { position:relative; }
body.game-first:is(.stars-exemplar,.moon-exemplar) #gameShell #phraseGrid .phrase-picture { width:70%; height:85%; min-height:0; max-height:none; }
body.game-first:is(.stars-exemplar,.moon-exemplar) #gameShell #phraseGrid .tone-coral { background:#f6d19a; }
body.game-first:is(.stars-exemplar,.moon-exemplar) #gameShell #phraseGrid .tone-blue { background:#d5e7ee; }
body.game-first:is(.stars-exemplar,.moon-exemplar) #gameShell #actionRow { grid-template-columns:repeat(2,minmax(0,1fr)); }
body.game-first:is(.stars-exemplar,.moon-exemplar) #gameShell #actionRow button { gap:5px; font-size:13px; padding:5px; }
body.game-first:is(.stars-exemplar,.moon-exemplar) #gameShell #actionRow .replay-picture,
body.game-first:is(.stars-exemplar,.moon-exemplar) #gameShell #actionRow .next-picture { width:36px; height:40px; flex:0 0 36px; }
body.game-first:is(.stars-exemplar,.moon-exemplar) #gameShell #actionRow .next-picture :is(img,svg) { width:32px; max-height:38px; }
body.game-first.stars-exemplar #gameShell .chase-orbit { top:41%; height:32%; }
body.game-first.stars-exemplar #gameShell .chase-rocket { width:22%; height:27%; }
body.game-first.stars-exemplar .rocket-help-example { top:76px; }
body.game-first.moon-exemplar .moon-help-demo { top:76px; }
body.game-first.moon-exemplar .moon-rocket::before { border-width:1px; background:#fff2bd10; box-shadow:0 0 0 4px #fff8e519; }
body.game-first:is(.stars-exemplar,.moon-exemplar) #gameShell .rocket-tap-cue { height:auto; min-height:0; bottom:auto; font:650 12px system-ui,sans-serif; padding:7px 10px; }
body.game-first.stars-exemplar #gameShell .rocket-tap-cue { top:100%; }
/* Optional progress keeps its own space, never covers the game or choices. */
body.game-first:is(.stars-exemplar,.moon-exemplar).mission-active #gameShell .stage { display:grid; grid-template-rows:60px auto minmax(170px,1fr); gap:0; }
body.game-first:is(.stars-exemplar,.moon-exemplar).mission-active #gameShell .mission { position:static; padding:7px 12px; }
body.game-first:is(.stars-exemplar,.moon-exemplar).mission-active #gameShell .scene-art { min-height:170px; height:100%; }
body.game-first:is(.stars-exemplar,.moon-exemplar).mission-active .optional-mission-progress { background:#19364b; color:#eef2e5; border:0; border-radius:0; padding:4px 12px; }
body.game-first:is(.stars-exemplar,.moon-exemplar).mission-active .optional-mission-step { min-height:44px; padding-block:2px; font-family:system-ui,sans-serif; }
body.game-first:is(.stars-exemplar,.moon-exemplar).mission-active .optional-mission-step strong { font-size:19px; }
body.game-first:is(.stars-exemplar,.moon-exemplar).mission-active #optionalMissionContinue { min-height:48px; }
body.game-first:is(.stars-exemplar,.moon-exemplar).mission-active .moon-help-demo { top:6px; }
body.game-first:is(.stars-exemplar,.moon-exemplar).mission-active #gameShell .phrase-bubble { top:6px; }
@media(orientation:landscape) and (max-height:550px) {
 body.game-first:is(.stars-exemplar,.moon-exemplar) #gameShell #phraseGrid,
 body.game-first:is(.stars-exemplar,.moon-exemplar) #gameShell #phraseGrid:has(>button:nth-child(3)) { grid-template-columns:1fr; gap:6px; padding:6px 14px; }
 body.game-first:is(.stars-exemplar,.moon-exemplar) #gameShell #phraseGrid .phrase-button,
 body.game-first:is(.stars-exemplar,.moon-exemplar) #gameShell #phraseGrid:has(>button:nth-child(3)) .phrase-button { flex-direction:row; height:58px; min-height:58px; font-size:14px; gap:8px; }
 body.game-first:is(.stars-exemplar,.moon-exemplar) #gameShell #phraseGrid .phrase-icon { width:42px; height:42px; flex:0 0 42px; }
 body.game-first:is(.stars-exemplar,.moon-exemplar) #gameShell #actionRow { height:auto; grid-template-columns:1fr; gap:6px; padding:6px 14px; }
 body.game-first:is(.stars-exemplar,.moon-exemplar) #gameShell #actionRow button { height:58px; min-height:58px; }
 body.game-first:is(.stars-exemplar,.moon-exemplar) #gameShell .mission { top:0; }
 body.game-first:is(.stars-exemplar,.moon-exemplar) #gameShell #missionHint { font-size:11px; }
 body.game-first:is(.stars-exemplar,.moon-exemplar) #gameShell .phrase-bubble { top:58px; padding:5px 12px; font-size:14px; }
 body.game-first.stars-exemplar #gameShell .chase-rocket { width:13%; height:25%; }
 body.game-first.stars-exemplar .rocket-help-example { top:56px; padding:5px; gap:12px; }
 body.game-first.stars-exemplar .rocket-help-example img { width:24px; height:30px; }
 body.game-first.moon-exemplar .moon-help-demo { top:54px; }
 body.game-first:is(.stars-exemplar,.moon-exemplar).mission-active #gameShell .stage { grid-template-rows:48px auto minmax(170px,1fr); }
 body.game-first:is(.stars-exemplar,.moon-exemplar).mission-active #gameShell .playboard { min-height:270px; }
}
