/* A game stage with optional information sheets, using the existing palette. */
.play-stage{max-width:1440px;padding-bottom:28px}
.stage-header{position:sticky;top:101px;z-index:12;background:#eef5f0;padding:10px 0;display:flex;align-items:center;gap:22px;margin:0 0 22px}
.stage-identity{min-width:170px}.stage-identity h1{font-size:25px;margin:0;color:#294d43}.stage-identity p{font-size:15px;margin:2px 0;color:#52664f}
.life-tools{display:flex;align-items:stretch;justify-content:flex-end;flex:1;gap:8px;min-width:0}
.life-tools button{border:1px solid #bfd1bd;border-bottom:3px solid #b0c6ab;border-radius:10px;background:#fffdf4;color:#315346;padding:9px 14px;text-align:left;min-height:60px;cursor:pointer;flex:1;min-width:0}
.life-tools button strong,.life-tools button span{display:block}.life-tools button strong{font-size:16px;white-space:nowrap}.life-tools button span{font-size:14px;line-height:1.5;margin-top:3px;overflow-wrap:anywhere;color:#566b51}
.life-tools button:hover{background:#eaf2df;border-color:#739a79}.life-tools button:focus-visible,.stage-fold>summary:focus-visible{outline:3px solid #4f7b65;outline-offset:3px}
.play-board{display:grid;grid-template-columns:minmax(330px,.85fr) minmax(440px,1.15fr);gap:24px;align-items:start;scroll-margin-top:205px}
.stage-life,.stage-choices{min-width:0}.stage-life{position:sticky;top:205px;display:grid;gap:14px}.stage-choices{display:grid;gap:16px}
.play-stage .everyday-scene{height:350px;margin:0}.play-stage .life-pulse{margin:0;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.play-stage .life-pulse>button:last-child{grid-column:1/-1}
.play-stage .journey-pulse{margin:0;padding:16px}.play-stage .story-card{margin:0;padding:26px}.play-stage .story-card h2{font-size:25px;margin-bottom:18px}
.stage-fold{border:1px solid #c4d5bd;border-radius:12px;background:#f9fcf3;overflow:hidden}.stage-fold>summary{cursor:pointer;min-height:64px;padding:13px 18px;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:16px;color:#3b604b}.stage-fold>summary::after{content:'+';font-size:22px}.stage-fold[open]>summary::after{content:'−'}.stage-fold>summary>span{font-size:14px;color:#566b51;margin-left:auto}.stage-fold>.panel{border:0;border-top:1px solid #d4e0ca;border-radius:0;box-shadow:none;margin:0;padding:18px}.stage-fold .focus-panel .section-label{display:none}
.play-stage>.saved{text-align:center;margin:24px 0 0;font-size:14px;color:#52664f}
.play-sheet{display:grid;gap:18px}.play-sheet .panel{margin:0;min-width:0}.play-sheet .passport{padding:0}.play-sheet .state-panel{display:block}.play-sheet .state-panel .stat{margin:16px 0}.play-sheet .state-panel>.button{margin-top:12px}.play-sheet .life-map{order:initial}.play-sheet .map-grid{grid-template-columns:repeat(10,minmax(0,1fr));gap:5px}.play-sheet .map-grid>span{aspect-ratio:1;min-width:0}.play-sheet .passport h1{font-size:25px}.play-sheet .companions-panel .peer small{font-size:15px}
@media(min-width:1050px){.play-sheet.player-sheet{grid-template-columns:1fr 1fr}.play-sheet.player-sheet>.state-panel{grid-column:2;grid-row:1/3}.play-sheet.people-sheet{grid-template-columns:1fr 1fr}.play-sheet.world-sheet{grid-template-columns:1fr 1fr}.play-sheet.world-sheet>.thoughts-panel{grid-column:1/-1}}
@media(max-width:1050px){.stage-header{display:block}.stage-identity{display:flex;align-items:baseline;gap:16px;margin-bottom:12px}.life-tools{justify-content:stretch}.play-board{grid-template-columns:minmax(280px,.8fr) minmax(360px,1.2fr);gap:16px}.life-tools button{padding:9px 10px}.play-stage .story-card{padding:22px}.stage-life{top:245px}}
@media(min-width:821px){.play-stage .decision-card{scroll-margin-top:205px}}
@media(max-width:820px){.stage-header{position:static;padding:0}.play-board{display:flex;flex-direction:column;gap:18px;scroll-margin-top:18px}.stage-life{position:static;display:contents}.stage-life>.everyday-scene{order:0;width:100%}.stage-choices{order:1;width:100%}.stage-life>.life-pulse{order:2;width:100%}.stage-life>.journey-pulse{order:3;width:100%}.stage-life>.life-event-status{order:4;width:100%}.life-tools{flex-wrap:wrap}.life-tools button{flex:1 1 calc(33% - 8px)}.stage-header{margin-bottom:18px}.play-stage .everyday-scene{height:290px}.stage-fold>summary{flex-wrap:wrap;gap:4px 12px}.stage-fold>summary>span{margin-left:0;flex:1}.stage-fold>summary>strong{flex-basis:100%}.play-sheet.player-sheet .passport{display:block}.play-sheet .passport dl{padding:16px}.play-sheet .profile-heading{padding:18px}.play-sheet .map-grid{gap:4px}}
@media(max-width:480px){.play-stage .story-card{padding:20px 16px}.stage-identity h1{font-size:23px}.stage-identity p{font-size:14px}.life-tools button{padding:9px;min-height:65px}.life-tools button strong{font-size:15px}.life-tools button span{font-size:14px}.play-stage .everyday-scene{height:280px}.play-stage .everyday-scene .scene-cast{bottom:88px;height:142px}.play-stage .everyday-scene .protagonist{height:138px}.play-stage .everyday-scene .protagonist>.life-sprite{width:120px;height:120px}.play-stage .everyday-scene .pixel-bubble{bottom:115px;max-width:185px}.play-stage .scene-caption button{white-space:nowrap;font-size:13px}.play-stage .scene-caption strong{font-size:17px}.play-stage .story-card h2{font-size:23px}.stage-fold>summary{padding:13px 15px}.stage-fold>.panel{padding:16px}.play-stage>.saved{font-size:13px}.play-sheet .state-panel .stat>div:first-child{font-size:16px}.play-sheet .state-panel .stat strong{font-size:16px}}

/* A paused choice keeps its scene, with less repeated framing on a phone.
   Normal flowing days retain their full stage. No decision text is clipped. */
@media(max-width:480px){
 .play-stage:has(.decision-card) .play-board{gap:10px}
 .play-stage:has(.decision-card) .everyday-scene{height:244px}
 .play-stage:has(.decision-card) .everyday-scene .scene-weather{display:none}
 .play-stage:has(.decision-card) .everyday-scene .scene-cast{bottom:60px;height:130px}
 .play-stage:has(.decision-card) .everyday-scene .protagonist{height:112px}
 .play-stage:has(.decision-card) .everyday-scene .protagonist>.life-sprite{width:96px;height:96px}
 .play-stage:has(.decision-card) .everyday-scene .pixel-bubble{bottom:116px}
 .play-stage:has(.decision-card) .everyday-scene .scene-caption{min-height:54px;padding:4px 10px}
 .play-stage:has(.decision-card) .scene-caption [data-context-detail="false"]{display:none}
 .play-stage:has(.decision-card) .everyday-scene:where(:has([data-context-detail="true"])){height:300px}
 .play-stage:has(.decision-card) .everyday-scene:where(:has([data-context-detail="true"])) .scene-cast{bottom:119px}
 .play-stage:has(.decision-card) .everyday-scene:where(:has([data-context-detail="true"])) .scene-caption{min-height:112px}
 .play-stage:has(.decision-card) .everyday-scene.childhood-moment{height:300px}
 .play-stage:has(.decision-card) .childhood-moment .scene-cast{bottom:119px}
 .play-stage:has(.decision-card) .childhood-moment .scene-caption{min-height:112px}
 .play-stage:has(.decision-card) .everyday-scene.social-moment{height:326px}
 .play-stage:has(.decision-card) .social-moment .scene-cast{bottom:145px}
 .play-stage:has(.decision-card) .social-moment .scene-caption{min-height:138px}
 .play-stage:has(.decision-card) .social-moment:not(:has(.scene-growth)){height:280px}
 .play-stage:has(.decision-card) .social-moment:not(:has(.scene-growth)) .scene-cast{bottom:85px}
 .play-stage:has(.decision-card) .social-moment:not(:has(.scene-growth)) .scene-caption{min-height:78px}
 .play-stage:has(.decision-card) .everyday-scene.child-discussion{height:270px}
 .play-stage:has(.decision-card) .child-discussion .scene-cast{bottom:86px}
 .play-stage:has(.decision-card) .child-discussion .scene-caption{min-height:78px}
 .play-stage .decision-card{padding:16px}
 .play-stage .decision-card h2{margin:12px 0}
 .play-stage .decision-card .story-meta{margin-bottom:8px;gap:4px;letter-spacing:0}
 .play-stage .decision-card .story-meta>span:first-child{padding:0;background:none;border-radius:0}
 .play-stage .decision-card .story-text{margin:12px 0;line-height:1.65}
 .play-stage .decision-card .choices{margin-top:10px}
 .play-stage .decision-agenda{margin:10px 0;padding:0 12px}
 .play-stage .decision-agenda>summary{min-height:44px;display:flex;align-items:center}
 .play-stage .inline-result:has(.compact-last-result){padding:4px 10px;margin-bottom:12px}
 .play-stage .inline-result .compact-last-result>summary{display:flex;gap:8px}
 .play-stage .compact-last-result>summary>small{display:inline;margin:0;white-space:nowrap;flex:none}
 .play-stage .inline-result>.inline-impact{margin:4px 0}
 .play-stage .inline-impact span{padding:1px 6px}
 .play-stage .everyday-scene.plan-moment,.play-stage:has(.decision-card) .everyday-scene.plan-moment{height:326px}
 .play-stage .everyday-scene.plan-moment .scene-cast,.play-stage:has(.decision-card) .everyday-scene.plan-moment .scene-cast{bottom:145px}
 .play-stage .plan-moment .scene-caption{min-height:138px}
}

/* Optional actual news, separate from decisions: no acknowledgement gate. */
.people-news{border:1px solid #c6d8ca;border-radius:12px;background:#f9fbf3;color:#355e50;overflow:hidden}
.people-news>summary{padding:12px 15px;cursor:pointer;font-size:17px;line-height:1.5;overflow-wrap:anywhere}
.people-news>summary small{display:block;font-size:14px;color:#687b60}
.people-news article{padding:12px 15px;border-top:1px solid #dce5d6}
.people-news article strong,.people-news article small{display:block;line-height:1.5}
.people-news article strong{font-size:17px}.people-news article small{font-size:14px;color:#687b60;margin-top:5px}
.people-news article p{font-size:16px;line-height:1.65;margin:8px 0 0;overflow-wrap:anywhere}
.people-news>summary:focus-visible{outline:3px solid #4f7b65;outline-offset:-3px}

.people-news>summary{display:block;position:relative;list-style:none;padding-right:36px}
.people-news>summary::-webkit-details-marker{display:none}
.people-news>summary:after{content:"⌄";position:absolute;right:15px;top:12px}
.people-news[open]>summary:after{content:"⌃"}
.people-news-moment+.people-news>summary>span{display:none}
.people-news-moment+.people-news>summary small{display:inline;font-size:16px;color:#355e50}
