.town-recovery-mode .town-recovery-band{position:absolute!important;height:auto!important;max-width:none!important;margin:0;z-index:0;pointer-events:none}.town-recovery-mode .recovery-obsolete-frame{display:none!important}
body.town-recovery-mode:has(.town-preview-scrubber){padding-bottom:0}
html:has(body.town-recovery-mode){overscroll-behavior-y:none}
.recovery-date-tile{position:absolute;left:50%;top:50%;width:clamp(22px,6.4vw,38px);height:auto;aspect-ratio:1;translate:-50% -50%;pointer-events:none}
body[data-lighting="night"] .recovery-date-tile{filter:brightness(.58) saturate(.78)}
body[data-lighting="twilight"] .recovery-date-tile{filter:brightness(.78) saturate(1.05)}
body[data-lighting="overcast"] .recovery-date-tile{filter:brightness(.78) saturate(.8)}

.town-recovery-mode .daily-jake[data-day="4"]{clip-path:url(#recovery-jake-4)}
.town-recovery-mode .daily-jake[data-day="11"]{clip-path:url(#recovery-jake-11)}
.town-recovery-mode .daily-jake[data-day="17"]{clip-path:url(#recovery-jake-17)}
.town-recovery-mode .daily-jake[data-day="19"]{clip-path:url(#recovery-jake-19)}
.town-recovery-mode .daily-jake[data-day="22"]{clip-path:url(#recovery-jake-22)}
.town-recovery-mode[data-scene-day="4"][data-rooftop-laundry="true"] .daily-jake{visibility:visible}

.town-recovery-mode .daily-jake[data-day="2"]{clip-path:url(#recovery-jake-2)}
.town-recovery-mode .daily-jake[data-day="21"]{clip-path:url(#recovery-jake-21)}
.town-recovery-mode .daily-jake[data-day="23"]{clip-path:url(#recovery-jake-23)}
.town-recovery-mode .daily-jake[data-day="24"]{clip-path:url(#recovery-jake-24)}
.recovery-portal-target{position:absolute;z-index:5;min-width:44px;min-height:44px;background:none;border:0;padding:0;cursor:pointer}.recovery-portal-target:focus-visible{outline:2px dashed #ffdfa0;outline-offset:3px}

.town-recovery-mode .daily-jake[data-day="7"]{clip-path:url(#recovery-jake-7)}
.town-recovery-mode .daily-jake[data-day="14"]{clip-path:url(#recovery-jake-14)}
.town-recovery-mode .daily-jake[data-day="16"]{clip-path:url(#recovery-jake-16)}
.town-recovery-mode .daily-jake[data-day="18"]{clip-path:url(#recovery-jake-18)}
.recovery-club-people{display:none;pointer-events:none}.recovery-club-person{position:absolute;z-index:3;filter:drop-shadow(1px 2px 1px #35251c66)}body[data-time-of-day="evening"] .recovery-club-people,body[data-time-of-day="night"] .recovery-club-people{display:contents}body[data-time-of-day="night"] .recovery-club-person{filter:brightness(.68) drop-shadow(1px 2px 1px #35251c66)}

.town-recovery-mode .daily-jake[data-day="3"]{clip-path:url(#recovery-jake-3)}
.town-recovery-mode .daily-jake[data-day="6"]{clip-path:url(#recovery-jake-6)}
.town-recovery-mode .daily-jake[data-day="20"]{clip-path:url(#recovery-jake-20)}

.town-recovery-mode .daily-jake[data-day="8"]{clip-path:url(#recovery-jake-8)}
.town-recovery-mode .daily-jake-target[data-day="8"]{translate:calc(-50% - 10px) calc(-50% - 18px)}

/* Keep the open doorway inside its jambs so the old crop cannot repaint the landing. */
.town-recovery-mode .town-openings img[src="office-open-v16.webp"] {
 clip-path:polygon(21% 0,83% 0,89% 12%,91% 69%,27% 61%,21% 57%);
}

.town-recovery-mode .town-memory-wheel{width:9%;translate:-50% -100%}

/* Use the wardrobe source masks so an outfit cannot repaint the pharmacy landing. */
.town-recovery-mode .simi-costume {
 clip-path:polygon(1% 11%,43% 10%,74% 7%,83% 19%,81% 32%,88% 54%,87% 70%,78% 90%,34% 90%,19% 82%,18% 58%,6% 39%);
}
.town-recovery-mode:not([data-simi-outfit="classic"]) .simi-gesture{visibility:hidden}
.recovery-besos-poster{display:grid;place-items:center}
.recovery-besos-poster>img{
 display:block;width:clamp(16px,4.6vw,34px);aspect-ratio:3/4;object-fit:cover;
 border:.5px solid #d6c7a8;transform:skewY(13deg);
 box-shadow:1px 1px 1px #52321e85;pointer-events:none;
}
.town-recovery-mode .door:nth-child(9)>.town-day-marker{
 display:block!important;transform:skewY(12deg);background:#eed1a1;border-color:#aa7b52;
}
.town-recovery-mode .door:nth-child(9).opened>.town-day-marker{background:#e6e9c3}
.town-recovery-mode .town-objects .door.opened{filter:none}
body[data-lighting="night"].town-recovery-mode .door:nth-child(9)>.town-day-marker{filter:brightness(.58) saturate(.78)}
body[data-lighting="twilight"].town-recovery-mode .door:nth-child(9)>.town-day-marker{filter:brightness(.78) saturate(1.05)}
.recovery-photo-booth-art {
 position:absolute;left:9.7%;top:88.15%;width:6.1%;height:auto;z-index:1;
 pointer-events:none;
 clip-path:polygon(4% 5%,76% 4%,98% 24%,98% 93%,91% 96%,8% 97%,0 91%,0 17%);
}
.recovery-mailbox {
 position:absolute;translate:-50% -50%;display:grid;place-items:center;
 width:7.2%;min-width:48px;min-height:48px;aspect-ratio:1;
 pointer-events:auto;-webkit-tap-highlight-color:transparent;border-radius:8px;
}
.recovery-mailbox svg {width:min(100%,calc(52 / 724 * min(100vw,724px)));height:auto;overflow:visible;pointer-events:none}
.recovery-mail-flag{display:none}
.recovery-mailbox.has-new-mail .recovery-mail-flag{display:inline}
.recovery-mailbox:focus-visible {outline:2px dashed #ffe4a2;outline-offset:4px}

.town-cameo{position:absolute;z-index:3;translate:-50% -100%;pointer-events:none}
.town-cameo svg{display:block;width:100%;height:auto;overflow:visible;pointer-events:none}
.town-cameo button{position:relative;width:100%;padding:0;border:0;background:none;display:block;pointer-events:auto;cursor:pointer;-webkit-tap-highlight-color:transparent}
.town-cameo button::after{content:"";position:absolute;left:50%;top:50%;width:max(100%,48px);height:max(100%,48px);translate:-50% -50%}
.town-cameo button:focus-visible{outline:2px dashed #ffe4a2;outline-offset:3px;border-radius:7px}
body[data-lighting="night"] .town-cameo{filter:brightness(.64) saturate(.79)}
body[data-lighting="twilight"] .town-cameo{filter:brightness(.81)}
body[data-lighting="overcast"] .town-cameo{filter:brightness(.85) saturate(.87)}
.town-cameo .cameo-actor{transform-box:fill-box;transform-origin:center bottom}
.town-cameo .cameo-note{opacity:.58}
@media(prefers-reduced-motion:no-preference){
 .town-cameo.is-in-view[data-cameo="bmo"] .cameo-actor{animation:cameo-nudge 6s ease-in-out infinite}
 .town-cameo.is-in-view[data-cameo="lsp"] .cameo-actor{animation:cameo-float 5s ease-in-out infinite}
 .town-cameo.is-in-view[data-cameo="hover"] .cameo-actor{animation:cameo-float 4s ease-in-out infinite}
 .town-cameo.is-in-view[data-cameo="peek"] .cameo-actor{animation:cameo-peek 9s ease-in-out infinite}
 .town-cameo.is-in-view[data-cameo="longboard"] .cameo-actor{animation:cameo-nudge 5s ease-in-out infinite}
 .town-cameo.is-in-view .cameo-note{animation:cameo-note 6s ease-in-out infinite}
 .town-cameo.is-in-view .cameo-snow{animation:cameo-snow 3.2s ease-in-out infinite}
 .town-cameo.is-in-view .cameo-glance{animation:cameo-glance 5s ease-in-out infinite}
}
@keyframes cameo-nudge{0%,64%,100%{rotate:0deg} 72%{rotate:5deg} 82%{rotate:-3deg}}
@keyframes cameo-float{0%,100%{translate:0 0} 50%{translate:0 -9%}}
@keyframes cameo-peek{0%,65%,100%{translate:0 0} 73%,82%{translate:0 26%;opacity:.35}}
@keyframes cameo-note{0%,57%,90%,100%{opacity:.18} 70%,81%{opacity:1}}
@keyframes cameo-snow{0%,100%{opacity:.35;translate:0 -3%} 50%{opacity:1;translate:0 4%}}
@keyframes cameo-glance{0%,45%,100%{translate:0 0} 54%,82%{translate:2.5px 0}}

.recovery-christmas-square{display:none;position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
body[data-scene-day="24"] .recovery-christmas-square{display:block}
body[data-lighting="night"] .recovery-christmas-square{filter:brightness(.67) saturate(.85)}
body[data-lighting="twilight"] .recovery-christmas-square{filter:brightness(.83)}
