/* Keep the scene and current choice ahead of optional management controls. */
.control-primary{display:flex;align-items:center;gap:8px;flex:1;min-width:0}
.control-primary .control-age{min-width:130px}
.play-settings,.life-menu{min-width:0;margin:0;padding:0;border:0}
.play-settings>summary,.life-menu>summary{margin:0}
.play-settings>summary,.life-menu>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:10px;list-style:none;padding:9px 12px;border:1px solid #c3d5c3;border-radius:9px;background:#fbfff6;color:#355c49;font-size:15px}
.play-settings>summary::after,.life-menu>summary::after{content:'⌄';margin-left:auto}
.play-settings[open]>summary::after,.life-menu[open]>summary::after{content:'⌃'}
.play-settings>summary span,.life-menu>summary span{font-size:14px;color:#526a55}
.play-settings summary:focus-visible,.life-menu summary:focus-visible{outline:3px solid #4f7b65;outline-offset:2px}
.play-settings[open]{flex-basis:100%}
.play-settings-body{display:flex;flex-wrap:wrap;gap:8px;padding:12px 0 4px}
.play-settings-body .speed-buttons button{min-width:44px;min-height:44px}
.play-settings-body>.control-button{min-height:44px}
.play-stage .game-controls{gap:8px;padding:10px 0 8px;max-height:55dvh;overflow-y:auto}
.play-stage .game-controls .flow-state{font-size:13px}
.play-stage .stage-header{position:static;align-items:center;gap:14px;margin-bottom:14px;padding:0}
.life-menu{flex:1;min-width:0}
.life-menu .life-tools{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:8px}
.life-menu[open]{flex-basis:100%}
.stage-header:has(.life-menu[open]){flex-wrap:wrap}
.play-stage .stage-life{top:135px}
.play-stage .play-board,.play-stage .decision-card{scroll-margin-top:135px}
@media(max-width:820px){
 .play-stage .stage-header{display:flex;flex-wrap:wrap;gap:8px}
 .stage-identity{min-width:0;margin:0;gap:10px;flex:1}
 .stage-identity h1{font-size:21px;white-space:nowrap}
 .stage-identity p{font-size:14px;overflow-wrap:anywhere}
 .life-menu{flex-basis:100%}
 .life-menu .life-tools{grid-template-columns:repeat(2,minmax(0,1fr))}
 .life-menu .life-tools button{min-height:60px}
 .play-stage .play-board,.play-stage .decision-card{scroll-margin-top:16px}
 .play-stage .game-controls{position:static}
 .control-primary{flex-basis:100%;gap:6px}
 .control-primary .control-age{min-width:80px;margin-right:auto}
 .control-primary .control-button{min-height:44px;padding:7px 9px;font-size:14px;white-space:nowrap}
 .control-primary .control-age strong{font-size:32px}
 .control-primary .control-age small{font-size:12px;white-space:nowrap}
 .play-settings{flex-basis:100%}
 .play-settings>summary{font-size:14px}
 .play-stage .year-flow{margin-bottom:12px}
}
@media(max-width:760px){
 .topbar.playing{padding:12px 14px;gap:8px;flex-wrap:nowrap;align-items:center}
 .topbar.playing .brand{font-size:21px;white-space:nowrap}
 .topbar.playing .brand small,.topbar.playing .beta{display:none}
 .topbar.playing nav{gap:10px;flex-wrap:nowrap}
 .topbar.playing nav button{font-size:13px;white-space:nowrap;padding:6px 0}
}
@media(max-width:360px){.topbar.playing{padding-inline:10px}.topbar.playing .brand{font-size:20px}.topbar.playing nav{gap:8px}.control-primary{flex-wrap:wrap}.control-primary .control-button{padding-inline:7px}.control-primary .control-age{min-width:110px;flex-shrink:0}.control-primary .control-age small{max-width:70px;white-space:normal;font-size:13px;line-height:1.3}}
