/* Raster panels and cells derived from the two failure mothers; live facts stay text. */
#game[data-route="fail"] .world-scene .room.layered{left:calc(-1 * var(--aspect-side));right:calc(-1 * var(--aspect-side));mask-image:none;background-image:url('assets/fail-growth-room-v50.webp');background-size:cover}
#game[data-route="fail"]:has(.fail50.is-leave) .world-scene .room.layered{background-image:url('assets/fail-leave-room-v50.webp')}
#game[data-route="fail"] .world-prop{visibility:hidden}
#game[data-route="fail"] .world-scene>.shade{background:none}
.fail50-title{position:absolute;left:30px;top:0;width:330px;height:194px;margin:0;padding:0;background:url('assets/fail-title-v50.webp') center/100% 100% no-repeat;z-index:5;color:#47220d}
.fail50-title>span{position:absolute;left:31px;right:45px;top:69px;height:67px;display:flex;align-items:center;justify-content:center;font-size:42px;font-weight:900;line-height:1.4;white-space:nowrap}
.fail50-title>small{position:absolute;left:50px;right:50px;top:161px;height:22px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;line-height:1.4;white-space:nowrap}
.fail50-title.is-leave{left:20px;width:350px;height:182px;background-image:url('assets/growth-title-v49.webp')}
.fail50-title.is-leave>span{left:33px;right:33px;top:65px;height:70px;font-size:34px;letter-spacing:0}
#game[data-route="fail"] .pet.fail50-pet{left:60px;top:161px;width:270px;height:270px;z-index:3}
.fail50-panel{position:absolute;left:8px;top:382px;width:374px;height:302px;background:url('assets/fail-growth-panel-v50.webp') center/100% 100% no-repeat;z-index:5;color:#513018}
.fail50-dayline{position:absolute;left:40px;right:40px;top:22px;height:30px;display:flex;align-items:center;justify-content:center;gap:5px;font-size:16px;font-weight:800;line-height:1.4;white-space:nowrap}
.fail50-dayline img{width:22px;height:21px;object-fit:contain}.fail50-dayline b{color:#ef6842;font-size:21px;line-height:1.4}
.fail50-score{position:absolute;left:72px;right:72px;top:51px;height:56px;display:flex;align-items:center;justify-content:center;gap:6px}
.fail50-score img{width:52px;height:52px;object-fit:contain}.fail50-score strong{font-size:40px;font-weight:900;line-height:1.4}
.fail50-target{position:absolute;left:77px;right:77px;top:108px;height:28px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:15px;font-weight:800;line-height:1.4;white-space:nowrap}
.fail50-target b{font-size:20px;line-height:1.4}.fail50-target strong{font-size:20px;line-height:1.4;color:#ef6842}
.fail50-stat{position:absolute;top:139px;height:49px;display:flex;align-items:center;justify-content:center;gap:7px;width:138px;font-size:12px;font-weight:800;line-height:1.4}
.fail50-stat.training{left:36px}.fail50-stat.wishes{right:36px}
.fail50-stat>img{display:block;width:36px;height:36px;object-fit:contain;flex:0 0 36px}.fail50-stat>div{display:flex;flex-direction:column;align-items:center;justify-content:center}
.fail50-stat strong{font-size:22px;line-height:1.4;color:#258cb5}.fail50-stat.wishes strong{color:#538847}.fail50-stat small{font-size:13px;color:#513018;margin-left:4px}
.fail50-quality{position:absolute;top:185px;left:35px;right:35px;height:18px;margin:0;text-align:center;font-size:12px;font-weight:700;line-height:1.4;color:#796344}
.fail50-calendar{position:absolute;left:24px;right:24px;top:203px;height:75px}
.fail50-calendar .mini-calendar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;justify-content:stretch;margin:0;height:75px}
.fail50-calendar .mini-day{min-width:0;height:75px;border:0;border-radius:0;background:none;box-shadow:none;padding:5px 4px 3px;text-align:center;font-size:13px;font-weight:800;line-height:1.4;color:#513018}
.fail50-calendar .mini-day:before{inset:0;background-image:url('assets/fail-day-normal-v50.webp');background-size:100% 100%}
.fail50-calendar .mini-day.lost{color:#d75a40}.fail50-calendar .mini-day.lost:before{background-image:url('assets/fail-day-lost-v50.webp')}
.fail50-calendar .mini-actions{display:grid;grid-template-columns:repeat(2,22px);justify-content:center;align-items:center;gap:2px 2px;min-height:44px;margin-top:1px}
.fail50-calendar .mini-actions>span{display:flex;align-items:center;justify-content:center;width:22px;height:21px}
.fail50-calendar .mini-actions .semantic-icon{display:block;width:22px;height:21px;object-fit:contain}
.fail50-calendar .mini-actions:empty:after{content:'未进行';grid-column:1/-1;font-size:11px;font-weight:500;color:#a59878;align-self:center}
.fail50.is-leave .fail50-panel{top:451px;height:233px;background-image:url('assets/fail-leave-panel-v50.webp')}
.fail50.is-leave .fail50-dayline{top:16px;height:36px;font-size:21px}.fail50.is-leave .fail50-dayline b{font-size:25px}
.fail50-losses{position:absolute;left:41px;right:41px;top:56px;height:61px;display:flex;align-items:center;gap:9px}
.fail50-losses>img{display:block;width:46px;height:46px;object-fit:contain;flex:0 0 46px}
.fail50-loss-list{flex:1;min-width:0;height:61px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b89a70 #f1dfbf;font-size:13px;font-weight:700;line-height:1.5;color:#755038;text-align:left}
.fail50.is-leave .fail50-calendar{top:128px}
#game[data-route="fail"] .fail50-retry{position:absolute;left:19px;top:658px;width:352px;height:87px;min-height:87px;display:flex;align-items:center;justify-content:center;gap:9px;margin:0;padding:4px 18px 4px 67px;font-size:31px;font-weight:900;letter-spacing:1px;line-height:1.4;white-space:nowrap;z-index:6}
#game[data-route="fail"] .fail50-retry:before{inset:0;background-image:url('assets/fail-retry-button-v50.webp');background-size:100% 100%}
.fail50-retry-icon{display:block;width:37px;height:37px;object-fit:contain;filter:none}
.fail50-secondary{position:absolute;left:6px;right:6px;top:748px;height:64px;display:flex;gap:7px;z-index:6}
#game[data-route="fail"] .fail50-secondary>.art-button{flex:1;min-width:0;width:auto;min-height:64px;height:64px;display:flex;align-items:center;justify-content:center;gap:4px;margin:0;padding:4px 9px;font-size:22px;font-weight:900;letter-spacing:0;line-height:1.4;white-space:nowrap}
#game[data-route="fail"] .fail50-secondary>.art-button:before{inset:0;background-size:100% 100%}
.fail50-button-icon{display:block;width:28px;height:28px;object-fit:contain;flex:0 0 28px}

.fail50{position:absolute;inset:0}

.fail50.is-growth .fail50-calendar{left:47px;right:47px;top:199px;height:79px}
.fail50.is-growth .mini-calendar,.fail50.is-growth .mini-day{height:79px}
.fail50-stat.wishes>img{width:43px;height:43px;flex-basis:43px}
#game[data-route="fail"] .fail50-secondary>.art-button:before{background-image:url('assets/fail-secondary-button-v50.webp')}
#game[data-route="fail"] .fail50.is-growth .fail50-retry{left:53px;top:676px;width:284px;height:75px;min-height:75px;font-size:26px;padding-left:58px;padding-right:12px}
.fail50.is-growth .fail50-secondary{left:40px;right:40px;top:755px;height:53px}
#game[data-route="fail"] .fail50.is-growth .fail50-secondary>.art-button{height:53px;min-height:53px;font-size:20px}

#game[data-route="fail"] .fail50-secondary>.art-button{gap:3px}
