/* Full-viewport artwork with compact translucent controls. */
.life-game{--left-rail:204px;--right-rail:216px;--rail-gap:18px}
.life-game .life-art{inset:0;width:100%;height:100%!important;object-fit:cover;object-position:64% 35%!important;mask-image:none!important;animation:none;background:#142019}
.life-game .life-shade{background:linear-gradient(180deg,rgba(9,20,14,.4),transparent 21%,transparent 76%,rgba(9,20,14,.22))}
.life-game .life-light{inset:0;width:100%;height:100%;opacity:.22}
.life-game .life-header,.life-game .life-footer{text-shadow:0 2px 9px #07110c}
.life-game .life-stats{background:rgba(11,26,18,.44);border-color:#e2e8ce40;backdrop-filter:blur(5px);box-shadow:0 8px 30px #0a17141a}
.life-game .profile-label,.life-game .life-stats>#playerAge{color:#e3e8d8}
.life-game #liveLog p{color:#e2e5d7;text-shadow:0 1px 3px #07110c}.life-game .game-rule-note{color:#d8dfcf}
.life-game .life-panel{left:calc(44px + var(--left-rail));right:calc(44px + var(--right-rail));top:auto;bottom:60px;width:auto;max-height:36dvh;transform:none;overscroll-behavior:contain;padding:15px 18px 17px;background:rgba(11,26,18,.4);border:1px solid #e2e8ce38;border-radius:7px;backdrop-filter:blur(5px);box-shadow:0 8px 28px #0a171422}
.life-game .life-narration{font-size:clamp(17px,1.3vw,21px);line-height:1.7;text-shadow:0 1px 6px #06100880}
.life-game .life-choices{width:100%;margin-top:14px;gap:8px}.life-game .life-choices button{min-height:47px;padding:10px 12px;background:rgba(10,25,17,.22);border-color:#f3ecd859}
.life-game .life-choices button:hover{background:rgba(234,235,210,.16);border-color:#eddba5}.life-game .life-choices button:disabled{background:rgba(10,25,17,.17)}
.life-game .outcome-card{margin-top:12px;background:rgba(10,25,17,.26)}.life-game .memory-kept{margin-top:12px}.life-game .life-next{margin-top:12px}
.life-game .life-world{width:var(--right-rail);height:auto;bottom:auto;max-height:min(470px,calc(100dvh - 172px));padding:9px 8px 11px;background:rgba(220,225,201,.86);border-width:1px;box-shadow:0 6px 22px #08150e29;backdrop-filter:blur(4px)}
.life-game .world-heading{font-size:9px;margin-bottom:7px}.life-game .world-heading>span:last-child{font-size:7px}.life-game .pixel-frame{border-width:2px}.life-game .pixel-speech{font-size:8px;padding:4px 6px}
.life-game .world-moment{padding:8px 0 10px}.life-game .world-moment strong{font-size:15px}.life-game .world-moment p{font-size:8px;margin-top:3px}
.life-game .bag-heading{font-size:8px;margin-top:10px}.life-game .memory-bag{gap:5px;margin-top:8px;min-height:32px}.life-game .memory-bag>p{padding:6px 0;font-size:8px}.life-game .bag-item{padding:6px 2px;gap:5px}.life-game .bag-item small{font-size:7px}
.life-game .life-badges{margin-top:8px;gap:4px}.life-game .life-badges>span{font-size:7px;padding:2px 4px}.life-game .music-label{font-size:8px;margin:10px 0 5px;padding-top:8px}.life-game #sceneMusic{font-size:9px;min-height:30px;padding:5px}.life-game .music-title{font-size:8px;margin-top:4px}
.life-game .world-outcome{font-size:9px;padding:5px}.life-game .world-outcome.surprise{font-size:12px}.life-game .world-outcome.steady{font-size:8px}
.scene-view-toggle{position:absolute;z-index:8;right:calc(38px + var(--right-rail));top:104px;min-height:36px;padding:8px 12px;border:1px solid #e2e8ce60;border-radius:4px;background:rgba(11,26,18,.4);color:#f4ecda;font-size:10px;cursor:pointer;backdrop-filter:blur(5px)}
.scene-view-toggle:hover{background:rgba(24,47,32,.65);border-color:#dfce9d}.birth-intro .scene-view-toggle{display:none}
.life-game.scene-view .life-art{inset:0;width:100%;height:100%!important;object-fit:contain;object-position:center!important;background:#111e17}
.life-game.scene-view .life-panel,.life-game.scene-view .life-stats,.life-game.scene-view .life-world,.life-game.scene-view .life-header,.life-game.scene-view .life-footer,.life-game.scene-view .life-light,.life-game.scene-view .life-shade{visibility:hidden;pointer-events:none}
.life-game.scene-view .scene-view-toggle{top:18px;right:18px}
@media(min-width:1250px){.life-game .life-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.life-game .life-choices button{align-items:start;min-height:79px;padding:11px 10px;gap:8px}.choice-number{padding-top:3px}.choice-preview{margin-top:7px}}
@media(max-width:1100px) and (min-width:901px){.life-game{--left-rail:172px;--right-rail:188px}.life-game .life-panel{left:calc(36px + var(--left-rail));right:calc(36px + var(--right-rail));padding:12px 14px}.life-game .life-narration{font-size:17px}}
@media(max-width:900px){
 .life-game{--left-rail:0px;--right-rail:0px}
 .life-game .life-art{inset:0;width:100%;height:100%!important;object-position:64% 35%!important}
 .life-game .life-stats{background:rgba(11,26,18,.4)}
 .life-game .life-panel{left:12px;right:12px;top:auto;bottom:51px;width:auto;max-height:44dvh;padding:12px 11px 14px;text-align:left;transform:none}
 .life-game .life-narration{font-size:16px;line-height:1.75;min-height:114px}
 .life-game .life-world{position:relative;float:right;top:auto;right:auto;bottom:auto;width:104px;height:114px;max-height:none;margin:0 0 8px 11px;padding:3px;overflow:hidden;background:rgba(220,225,201,.9)}
 .life-game .world-heading{font-size:6px;margin:0 0 3px}.life-game .world-heading>span:last-child{display:none}.life-game .pixel-speech{font-size:6px;padding:2px 4px}
 .life-game .world-outcome{font-size:6px;padding:3px;left:2px;right:2px;bottom:3px}.life-game .world-outcome.surprise{font-size:8px}.life-game .world-outcome.steady{font-size:6px}
 .life-game .life-choices,.life-game .outcome-card,.life-game .memory-kept,.life-game .ending-grid,.life-game .ending-actions{clear:both}
 .life-game .life-choices{margin-top:10px;gap:7px}.life-game .life-choices button{font-size:11px;min-height:47px;padding:9px 10px}
 .life-game .life-next{display:flex;width:max-content;margin:13px auto 0}.life-game .life-panel[aria-busy="true"] .life-world{z-index:10}
 .life-game .challenge-roll{padding-right:112px}.life-game .challenge-roll strong{font-size:18px}
 .life-game .scene-view-toggle{right:13px;top:179px;min-height:35px;padding:7px 9px;font-size:9px}
 .life-game.birth-intro .life-world{position:absolute;float:none;top:210px;right:32px;width:104px;height:121px;margin:0;z-index:9}
 .life-game .birth-reveal{top:182px}.life-game.scene-view .scene-view-toggle{top:18px;right:18px}
}
@media(max-height:600px) and (min-width:600px) and (max-width:900px){
 .life-game .life-header{top:6px}.life-game .life-header h2{font-size:16px}.life-game .life-header button{min-height:31px;padding:4px 8px}
 .life-game .life-stats{top:65px;height:44px;padding:5px 10px}.stat-line>div:first-child{font-size:7px;margin-bottom:3px}.stat-line strong{font-size:10px;margin-top:2px}
 .life-game .life-panel{left:36%;right:12px;bottom:27px;max-height:calc(100dvh - 145px);padding:10px}
 .life-game .life-narration{font-size:15px;min-height:114px}.life-game .life-footer{bottom:9px}.life-game .scene-view-toggle{top:124px;left:16px;right:auto}
 .life-game .birth-reveal{top:120px;bottom:26px}.life-game.birth-intro .life-world{top:139px;right:32px;width:96px;height:111px}
 .life-game.scene-view .scene-view-toggle{left:auto;right:18px;top:18px}
}
