/* Mother-derived raster surfaces. Only text, reveal state and meter fill are live. */
#game[data-route="night"] .world-scene .room.layered{left:calc(-1 * var(--aspect-side));right:calc(-1 * var(--aspect-side));mask-image:none;background-image:url('assets/night-room-v48.webp');background-size:cover}
#game[data-route="night"] .world-prop{visibility:hidden}
#game[data-route="night"] .world-scene>.shade{background:none}
#game[data-route="night"] .pet.napping{left:84px;top:105px;width:222px;height:222px}
.night48-pause{position:absolute;right:3px;top:36px;z-index:10}
.night48-date{position:absolute;left:101px;top:38px;width:188px;height:46px;display:flex;align-items:center;justify-content:center;background:url('assets/ending-name-v47.webp') center/contain no-repeat;font-size:14px;font-weight:800;line-height:1.4;z-index:5;color:#53321c}
#game[data-route="night"] .night48-icepack.semantic-icon{position:absolute;left:183px;top:157px;width:38px;height:30px;object-fit:contain;z-index:4}
.night48-panel{position:absolute;left:6px;top:365px;width:378px;height:363px;background:url('assets/night-panel-v48.webp') center/100% 100% no-repeat;z-index:5}
.night48-title{position:absolute;left:74px;top:-46px;width:230px;height:81px;display:flex;align-items:center;justify-content:center;margin:0;padding:0 0 2px;background:none center/contain no-repeat;font-size:31px;font-weight:900;line-height:1.4;letter-spacing:6px;color:#4e2c14}
.night48-list{position:absolute;left:28px;right:28px;top:55px;height:205px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b89a70 #f1dfbf;display:flex;flex-direction:column;gap:6px;padding:0 3px 2px 0;outline-offset:2px}
.night48-row{flex:0 0 34px;min-height:34px;display:flex;align-items:center;gap:8px;padding:0 15px 0 14px;background:url('assets/night-row-v48.webp') center/100% 100% no-repeat;font-size:18px;font-weight:700;line-height:1.4;color:#60412c}
.night48-row-icon{display:block;width:27px;height:27px;object-fit:contain;flex:0 0 27px}
.night48-row-icon img{display:block;width:100%;height:100%;object-fit:contain}
.night48-row-label{min-width:0;flex:1;white-space:normal}
.night48-row>strong{margin-left:auto;flex-shrink:0;font-size:24px;font-weight:900;line-height:1.4;min-width:37px;text-align:right}
.night48-row .positive{color:#689344}.night48-row .negative{color:#e87347}
.night48-list.compact{gap:4px}
.night48-list.compact .night48-row{flex-basis:29px;min-height:29px;font-size:15px;gap:6px}
.night48-list.compact .night48-row>strong{font-size:21px}
.night48-list.compact .night48-row-icon{width:24px;height:24px;flex-basis:24px}
.night48-loss,.night48-list.compact .night48-loss{flex-basis:49px;min-height:49px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:3px 8px 3px 40px;background-image:url('assets/night-warning-v48.webp');font-size:12px;line-height:1.4;color:#cc3535;text-align:center}
.night48-loss>span{font-weight:800;white-space:normal}.night48-loss>small{font-size:11px;line-height:1.4;color:#60412c;font-weight:700}
.night48-scroll-hint{position:absolute;top:36px;right:33px;margin:0;font-size:10px;line-height:1.4;color:#896441}
.night48-hearts{position:absolute;top:264px;left:0;right:0;height:22px;display:flex;justify-content:center;align-items:center}
.night48-hearts .hearts img{width:22px;height:22px}
.night48-tray{position:absolute;left:2px;right:2px;top:284px;height:78px;display:grid;grid-template-columns:repeat(4,1fr);background:url('assets/night-tray-v48.webp') center/100% 100% no-repeat}
.night48-need{position:relative;min-width:0}
.night48-need-label{position:absolute;left:5px;right:5px;top:15px;height:22px;display:flex;align-items:center;justify-content:center;gap:2px;white-space:nowrap;font-size:11px;line-height:1.4;font-weight:800}
.night48-need-label>span,.night48-need-label img{width:18px;height:18px;object-fit:contain;display:block;flex:0 0 18px}
.night48-need-label b{font-size:14px;line-height:1.4;color:#dc7947}
.night48-track{position:absolute;left:12px;right:12px;top:47px;height:11px;overflow:hidden;border-radius:7px}
.night48-fill{height:100%;border-radius:7px;box-shadow:inset 0 2px 0 #fff5}
.night48-fill.fill-0{background:linear-gradient(#ff9d50,#ed7334)}.night48-fill.fill-1{background:linear-gradient(#ff92af,#e96f96)}.night48-fill.fill-2{background:linear-gradient(#6dc3eb,#319bca)}.night48-fill.fill-3{background:linear-gradient(#a9c463,#7f9d3d)}
.night48-next{position:absolute;top:735px;left:63px;width:264px;height:66px;z-index:6}
.night48-next>.art-button{width:264px;height:66px;min-height:66px;padding:5px 20px;font-size:27px;line-height:1.4;letter-spacing:4px}
.night48-next>.art-button:before{inset:0;background-size:contain}

/* Mother-matched status icons; warning lines need readable type at phone scale. */
.night48-check{display:block;width:27px;height:27px;object-fit:contain;margin-left:auto;flex:0 0 27px}
.night48-loss,.night48-list.compact .night48-loss{font-size:15px}
.night48-loss>small{font-size:12px}


/* Mother button: etched coral face, gold rays and thick carved base. */
.night48-next{height:76px}
.night48-next>.art-button{height:76px;min-height:76px;font-size:31px}
.night48-next>.art-button:before{background-image:url('assets/night-button-v48.webp')}

/* Keep live text within the new bevel; allow long event labels to wrap. */
.night48-row{flex-basis:auto;padding-right:50px}
.night48-row>strong{font-size:21px}
.night48-list.compact .night48-row{flex-basis:auto}
.night48-list.compact .night48-row>strong{font-size:20px}


/* Normal mother icons measure about25px in the360px canvas:33 design px. */
.night48-row-icon{width:33px;height:33px;flex-basis:33px}

