.optional-mission-progress {display:grid;gap:8px;padding:9px 12px;border-radius:18px;background:#fff8e6;border:2px solid #e7d3a4;color:#244b50;}
.optional-mission-progress[hidden],.optional-mission-progress button[hidden] {display:none;}
.optional-mission-steps {display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;}
.optional-mission-step {position:relative;min-width:64px;min-height:52px;display:grid;place-items:center;gap:2px;padding:4px 8px;border:0;border-radius:12px;background:transparent;text-align:center;font-size:.78rem;font-weight:750;}
.optional-mission-step strong {font-size:1.5rem;line-height:1;}
.optional-mission-step .mission-cookie-plate {display:block;width:76px;height:48px;}
.optional-mission-step.is-visited::after {content:'✓';position:absolute;top:0;right:0;width:21px;height:21px;display:grid;place-items:center;border-radius:50%;background:#357c71;color:white;font-size:15px;font-weight:900;}
.optional-mission-progress button {min-height:60px;border:3px solid #477e77;border-radius:17px;background:#d6ecd7;color:#204e4e;font-size:1rem;font-weight:850;cursor:pointer;}
.mission-continue-picture {display:inline-flex;align-items:center;gap:3px;margin-right:8px;vertical-align:middle;}
.mission-continue-picture img {width:35px;height:42px;object-fit:contain;}
.mission-continue-picture .mission-cookie-plate {width:49px;height:42px;}
.mission-continue-picture .station-card-art {width:60px;height:42px;}
.optional-mission-progress button:focus-visible {outline:4px solid #204e4e;outline-offset:3px;}
/* Group headings and goals stay with their choices at every screen width. */
.chooser-group {grid-column:1/-1;min-width:0;padding-top:8px;}
.chooser-group + .chooser-group {border-top:2px solid #e2daca;padding-top:16px;}
.chooser-group h3 {margin:0 0 4px;font-size:1.15rem;color:#245153;}
.chooser-description {margin:0 0 10px;font-size:.86rem;line-height:1.4;color:#425d63;}
.chooser-options {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.game-first #sceneNav .mission-goal {font-size:.76rem;font-weight:650;line-height:1.3;color:#425d63;}
@media(max-width:599px){#chooser-missions .chooser-options {grid-template-columns:repeat(2,minmax(0,1fr));}}
.scene-tab.mission-tab {background:#fff5dc;border-color:#d4b970;}
.scene-tab.mission-tab[aria-pressed='true'] {box-shadow:0 0 0 4px #d5b65b70;}
.mission-nav-picture {display:flex;align-items:center;justify-content:center;gap:2px;width:100%;font-size:1.4rem;font-weight:900;color:#356f6d;}
.mission-nav-picture img {width:36px;height:42px;object-fit:contain;}
.mission-nav-picture .mission-cookie-plate {width:43px;height:40px;}
.mission-nav-picture .station-card-art {width:55px;height:42px;}
.moon-exemplar.mission-active .moon-rocket:disabled .rocket-tap-cue {display:none;}
.game-first.mission-active #gameShell .stage {height:auto;}
.game-first.mission-active #gameShell .scene-art {flex:none;height:320px;min-height:320px;}
@media(min-width:761px) {
 .game-first[data-optional-mission="star-picture"] .playboard,
 .game-first[data-optional-mission="bubble-garden"] .playboard {
  grid-template-columns:minmax(0,1fr);
  grid-template-areas:"scene" "action" "agency";
 }
}
@media(max-width:760px){.game-first.mission-active #gameShell .scene-art {height:260px;min-height:260px;}}
@media(max-width:360px) and (max-height:650px){
 .game-first.mission-active #gameShell .stage {gap:5px;}
 .game-first.mission-active #gameShell .scene-art {height:170px;min-height:170px;}
 .game-first.mission-active #phraseGrid .phrase-button {min-height:78px;}
 .optional-mission-progress {gap:4px;padding:5px 8px;}
 .optional-mission-step {min-height:44px;padding:2px 5px;}
 .game-first.cookie-exemplar.mission-active #gameShell .scene-art {height:115px;min-height:115px;}
}
/* Stationary, generous direct targets. Motion is finite and child initiated. */
.mission-direct-scene {position:absolute;inset:0;overflow:hidden;}
.mission-direct-scene button {cursor:pointer;touch-action:manipulation;}
.mission-direct-scene button:focus-visible {outline:4px solid #ffd371;outline-offset:3px;}
.mission-direct-scene button[hidden],.mission-direct-scene [hidden] {display:none;}
.new-mission-picture {display:flex;align-items:center;justify-content:center;gap:6px;color:#356f6d;font-size:1.1rem;}
.new-mission-picture svg {width:45px;height:45px;}
.star-picture-scene {background:radial-gradient(ellipse at 50% 85%,#315d6c,#193a52);}
.picture-star {position:absolute;width:66px;height:66px;border:0;background:transparent;padding:4px;transform:translate(-50%,-50%);z-index:2;}
.picture-star svg {width:100%;height:100%;}
.picture-star b {position:absolute;inset:0;display:grid;place-items:center;color:#674617;font-size:17px;}
.picture-star i {display:none;position:absolute;right:-2px;top:0;background:#e2f3d8;color:#204e4e;border-radius:50%;width:24px;height:24px;font-size:19px;font-style:normal;}
.picture-star.is-visited i {display:block;}
.picture-star:disabled {opacity:1;cursor:default;}
.picture-rocket {position:absolute;width:33px;height:46px;transform:translate(-50%,-50%);z-index:3;pointer-events:none;}
.picture-rocket img {width:100%;height:100%;object-fit:contain;}
.constellation {position:absolute;inset:0;width:100%;height:100%;}
.constellation path {fill:none;stroke:#f3d496;stroke-width:2;stroke-linejoin:round;vector-effect:non-scaling-stroke;}
.bubble-garden-scene {background:#e1f1df;}
.garden-background {position:absolute;inset:0;pointer-events:none;opacity:.8;}
.garden-background svg {width:100%;height:100%;}
.garden-controls {position:absolute;inset:12% 4% 10% 31%;display:flex;justify-content:center;align-content:center;align-items:center;gap:8px;flex-wrap:wrap;}
.garden-controls button {min-width:82px;min-height:62px;padding:5px 8px;border:2px solid #548d89;background:#fff9e8;border-radius:15px;font-size:.9rem;font-weight:800;color:#204e4e;}
.garden-controls button span {display:flex;justify-content:center;height:35px;}
.garden-controls button svg {width:35px;height:35px;}
.garden-controls button .wand-card-art {width:58px;height:35px;}
.garden-controls button[data-garden='blow'] {flex-basis:90%;}
.garden-controls button[data-garden='blow'] {display:flex;align-items:center;justify-content:center;gap:6px;}
.garden-controls button[data-garden='blow'] span {height:30px;width:36px;}
.garden-controls button[data-garden='blow'] span svg {height:30px;width:36px;}
.garden-controls button[aria-pressed='true'] {border-width:3px;background:#cee9d7;box-shadow:0 0 0 2px #fff9e8;}
.garden-controls button:disabled {cursor:default;}
.garden-bubble {position:absolute;left:52%;top:35%;width:70px;height:70px;border:0;background:transparent;padding:0;transform:translate(-50%,-50%) scale(var(--bubble-scale,1));z-index:2;}
.garden-bubble svg {width:100%;height:100%;}
.garden-bubble[data-bubble='1'] {left:80%;top:56%;}
[data-size='1'] .garden-bubble {left:65%;top:46%;width:100px;height:100px;}
[data-stage='pop'] .garden-controls,[data-stage='done'] .garden-controls {display:none;}
.garden-result {position:absolute;left:35%;right:5%;top:42%;font-size:1.15rem;font-weight:850;color:#204e4e;text-align:center;}
body[data-optional-mission='star-picture'] #phraseBubble,body[data-optional-mission='bubble-garden'] #phraseBubble {display:none;}
body[data-optional-mission='bubble-garden'] .optional-mission-step {min-width:40px;}
@media(max-width:360px) and (max-height:650px){
 body[data-optional-mission='star-picture'] .optional-mission-step,body[data-optional-mission='bubble-garden'] .optional-mission-step {min-height:27px;font-size:.72rem;padding:2px 7px;}
 .garden-controls {gap:5px;inset:5% 3% 5% 29%;}
 .garden-controls button {min-width:76px;min-height:58px;font-size:.8rem;}
 .garden-controls button[data-garden='blow'] {min-height:44px;}
}
body[data-optional-mission='star-picture'] .optional-mission-step,
body[data-optional-mission='bubble-garden'] .optional-mission-step {padding-right:22px;}
body[data-optional-mission='star-picture'] .optional-mission-step.is-visited::after,
body[data-optional-mission='bubble-garden'] .optional-mission-step.is-visited::after {width:16px;height:16px;font-size:12px;top:50%;transform:translateY(-50%);}
body[data-optional-mission='star-picture'] .optional-mission-steps,
body[data-optional-mission='bubble-garden'] .optional-mission-steps {gap:4px;}
[data-creating='true'] .garden-controls {align-content:end;z-index:3;}
@media(max-width:360px) and (max-height:650px){
 .game-first.stars-exemplar:not(.mission-active) #gameShell .stage[data-compact-star-result='true'] {height:180px;}
}
.garden-wand-art {position:absolute;left:1%;top:6%;width:33%;height:88%;pointer-events:none;}
.mission-picture .new-mission-picture {width:46px;height:48px;}
.mission-picture .new-mission-picture span {display:none;}
@media(max-width:360px) and (max-height:650px){
 body[data-optional-mission='star-picture'] .optional-mission-step,body[data-optional-mission='bubble-garden'] .optional-mission-step {min-width:0;padding-left:1px;padding-right:17px;font-size:.68rem;}
 body[data-optional-mission='star-picture'] .optional-mission-steps,body[data-optional-mission='bubble-garden'] .optional-mission-steps {justify-content:space-between;gap:1px;}
}
.mission-direct-scene .garden-controls button[hidden] {display:none;}

/* Geometric markers stay pictured even when a platform font lacks a glyph. */
.mission-marker {width:16px;height:16px;fill:currentColor;flex:none;}
.picture-star b svg {width:17px;height:17px;}
.new-mission-picture .mission-marker {width:14px;height:14px;}
.new-mission-picture > span {display:flex;gap:3px;}
body[data-optional-mission='star-picture'] .optional-mission-step {display:flex;gap:3px;align-items:center;justify-content:center;}
@media(max-width:360px) and (max-height:650px){
 body[data-optional-mission='star-picture'] .optional-mission-step .mission-marker {width:11px;height:11px;}
}
