.semantic-icon{display:inline-block;width:100%;height:100%;object-fit:contain;vertical-align:middle;pointer-events:none}.action-icon .semantic-icon{width:36px;height:27px}.wish .semantic-icon{width:55px;height:47px}.need-icon{width:17px;height:18px;display:inline-flex;align-items:center;justify-content:center}.need-icon .semantic-icon{width:16px;height:17px}.date-line{padding:5px 10px;left:14px;right:14px;top:168px;background:#fff2d6d9;border-radius:11px;box-shadow:0 2px 7px #9d73351a;font-size:15px}.date-line small{align-self:center}.hint{top:213px;max-width:190px;font-size:11px}.portrait{background:#e9d8b8d9}.calendar .event-symbol{font-size:10px;transform:translateY(-3px)}.calendar .tiny-target{bottom:-2px}.check-label{background:#fff0d4c9;border-radius:6px;font-size:9px;top:26px;padding:1px 0;left:-5px;right:-5px}.growth{margin-right:4px}.action .effects{max-width:100%;white-space:normal;line-height:1.5;font-size:9px}.action{padding:5px 6px}.action-icon{display:grid;place-items:center}.form-ribbon{background:#fff1d199;border-radius:9px;left:62px;right:62px}.form-ribbon:empty{display:none}
.art-button{justify-content:center}.night .pet{top:223px}.night-card~.pet{top:223px}.pet.napping{top:223px}
.room.night{background-image:url('assets/room-night.webp')}.room.night+.shade{background:transparent}
.portrait img{width:100%;height:100%;object-fit:contain}.silhouette{filter:brightness(0) saturate(0);opacity:.28}
.menu-secondary button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:3px 0;min-height:68px}.menu-icon{height:36px;width:38px;object-fit:contain}
.adult-pet{position:absolute;width:220px;height:220px;left:85px;top:245px;object-fit:contain;z-index:3}.adult-card .adult-image{object-fit:contain;background:transparent;border:0;border-radius:0;height:90px;flex-shrink:0}
.event-symbol .semantic-icon{width:16px;height:16px}.tutorial-hand{width:25px;height:28px;object-fit:contain;vertical-align:middle;margin-right:6px}
.title{background:url('assets/title-board.webp') center/contain no-repeat;top:45px;height:120px;left:18px;right:18px;display:grid;place-items:center;font-size:32px;padding:0 18px;letter-spacing:2px}.subtitle{top:175px;font-size:13px}.portraits{top:206px}
.world-scene{position:absolute;inset:0;z-index:-1;pointer-events:none}.world-scene .room.layered{z-index:0;background-image:url('assets/room-architecture-day.webp');background-size:contain}.world-prop{position:absolute;z-index:1}.world-prop img{width:100%;height:100%;object-fit:contain}.world-scene .shade{z-index:2;transition:background .5s}.world-scene.noon .shade{background:#fff5c20b}.world-scene.afternoon .shade{background:#ffb94b15}.world-scene.evening .shade{background:#c8723845}.world-scene.night .shade{background:linear-gradient(#13264fb0,#14283b77)}.world-scene.night .world-lamp{filter:drop-shadow(0 0 12px #ffe09d)}
.world-scene .rain-layer{z-index:1;inset:146px 52px auto auto;width:139px;height:145px}
.switch,.switch.on{width:74px;height:38px;padding:0;background:transparent;display:grid;place-items:center}.switch img{width:100%;height:100%;object-fit:contain}
.intro-box-art{position:absolute;width:155px;height:133px;left:118px;top:335px;object-fit:contain;z-index:4;animation:box-arrive 3s both}@keyframes box-arrive{0%,30%{transform:rotate(-3deg)}15%{transform:rotate(3deg)}38%{transform:translateY(3px) rotate(0)}60%,100%{transform:translateY(30px);opacity:0}}.pet[data-missing-form-asset="true"]{outline:2px dashed #c54c44}
.event-illustration{position:absolute;left:35px;top:210px;width:320px;height:240px;object-fit:contain;border:4px solid #fff2d9;outline:2px solid #b88e54;border-radius:24px;box-shadow:0 5px 16px #6a49283b}.night-icepack.semantic-icon{position:absolute;left:162px;top:265px;width:35px;height:27px;z-index:4;object-fit:contain}
.event-panel,.result-details{width:auto}.event-title{margin:0;top:110px;line-height:1.3}.event-day{top:167px}.training-title{margin:0;top:90px;line-height:1.3}
#game[data-route="win"] .form-ribbon{display:none}
.adult-card.locked .adult-image{filter:brightness(0) saturate(0);opacity:.28}
.door-open-patch{position:absolute;left:0;top:118px;width:82px;height:276px;z-index:1}.door-leaf{position:absolute;left:0;top:132px;width:57px;height:251px;background:url('assets/room-architecture-day.webp') 0 -132px/390px 844px;clip-path:polygon(0 3%,14% 0,35% 1%,65% 5%,89% 12%,100% 21%,100% 100%,0 100%);transform-origin:0 50%;z-index:1;backface-visibility:hidden}.failure-caption{position:absolute;top:485px;left:25px;right:25px;text-align:center;font-size:21px;font-weight:bold;color:#fff1d4;text-shadow:0 2px #49382f}
#game[data-route="fail"] .result-details{animation:failure-panel-up .35s ease-out both}@keyframes failure-panel-up{from{transform:translateY(370px);opacity:0}to{transform:translateY(0);opacity:1}}
#game *{animation-play-state:var(--animation-play-state,running)}.intro-box-art{animation:none}.grow-copy.revealing{visibility:hidden}.grow-glow{animation:none}.win-pet{animation:adult-cheer .8s ease-in-out 3;transform-origin:50% 90%}.celebration{position:absolute;inset:0;pointer-events:none;z-index:4}.celebration i{position:absolute;left:calc(15px + var(--i)*20px);top:130px;width:7px;height:13px;border-radius:3px;background:var(--c);animation:confetti-fall 2.8s calc(var(--i)*-.12s) ease-in both;transform-origin:center}@keyframes adult-cheer{50%{transform:translateY(-10px) rotate(2deg)}}@keyframes confetti-fall{0%{opacity:0;transform:translateY(0) rotate(0)}15%,75%{opacity:1}100%{opacity:0;transform:translateY(390px) rotate(330deg)}}@keyframes grow-arrive{from{opacity:0;scale:.92}to{opacity:1;scale:1}}
.panel,.night-rows,.loss-list{scrollbar-width:thin;scrollbar-color:#b89a70 #f1dfbf}
.result-details{padding:15px 17px;max-height:350px}.result-details p{line-height:1.5;margin:4px 0}.result-details .stats{margin:7px 0}.result-details .stat strong{display:inline;font-size:16px;margin-left:5px}.result-details .mini-calendar{margin:8px 0}.result-details .loss-list{max-height:84px;padding:5px 7px;line-height:1.55}.mini-actions{display:flex;align-items:center;justify-content:center;gap:2px;min-height:20px;letter-spacing:0}.mini-actions>span{display:inline-flex;width:14px;height:16px}.mini-actions .semantic-icon{width:14px;height:16px}

/* V114 native hand-painted paper; existing 18 timelines and positions unchanged. */
.celebration i{width:13px;height:17px;border-radius:0;background:none;overflow:visible;pointer-events:none}
.confetti114-art{position:absolute;max-width:none;object-fit:contain;pointer-events:none}
.celebration [data-confetti-type="yellow"] .confetti114-art{left:-2.048193px;top:2.867470px;width:16.168675px;height:9.390706px;}
.celebration [data-confetti-type="coral"] .confetti114-art{left:-1.481203px;top:0.284461px;width:18.802005px;height:13.674185px;}
.celebration [data-confetti-type="green"] .confetti114-art{left:-6.284182px;top:0.847185px;width:25.184987px;height:15.571046px;}
.celebration [data-confetti-type="blue"] .confetti114-art{left:-2.261307px;top:0.940955px;width:18.849246px;height:14.592965px;}

/* V115 scatter uses the same delay set in a nonmonotonic order, avoiding a diagonal queue. */
.celebration i{animation-delay:calc(var(--phase)*-.12s)}
