.town-dressing{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.holiday-bulb{opacity:.35}
body:is([data-lighting="twilight"],[data-lighting="night"]) .holiday-bulb{opacity:1;filter:drop-shadow(0 0 2px #ffd990)}
body[data-lighting="night"] .town-dressing{filter:brightness(.8)}
body:is([data-lighting="night"],[data-lighting="twilight"]) .street-lamp.is-in-view{animation:lantern-breathe var(--lamp-duration,6s) ease-in-out infinite alternate}
.town-lighting.is-paused .street-lamp{animation-play-state:paused}
@keyframes lantern-breathe{from{opacity:.83}to{opacity:1}}
body[data-time-of-day="night"] [data-window="pantry-upstairs"],body[data-time-of-day="night"] [data-window="market-home"]{display:none}
@media(prefers-reduced-motion:reduce){.town-lighting .street-lamp{animation:none!important}}
.scene-storage:empty,.statistics-save:empty,.keepsake-status:empty,.button-save:empty,.date-status:empty{display:none}
.town-settings[hidden]{display:none}

/* The recording is controlled by the experience, never a second player UI. */
.luneros-transport{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(100%);pointer-events:none}
.luneros-song-credit{font:12px/1.4 system-ui,sans-serif;color:#61716a;margin:10px 0}
.luneros-practice-dialog .play-scene{height:min(54svh,460px);max-width:370px}
.luneros-practice-dialog .guitar-fret{height:64px;width:21%;min-width:48px;min-height:48px;border:0;border-radius:4px;background:transparent;box-shadow:none;color:transparent;touch-action:manipulation}
.guitar-contact{position:absolute;left:25%;right:25%;top:45%;height:7px;background:linear-gradient(#fff1c7,#c99b59);border-radius:5px;box-shadow:0 2px 3px #1a100d}
.guitar-fret[data-feedback="perfect"],.guitar-fret[data-feedback="good"]{background:radial-gradient(ellipse,#f8d89188,transparent 70%)}
.guitar-fret[data-feedback="miss"]{background:radial-gradient(ellipse,#b17a6155,transparent 70%)}
.guitar-fret:focus-visible{outline:2px solid #f3dfad;outline-offset:2px}
.town-preview-scrubber{position:fixed;z-index:20;bottom:calc(8px + env(safe-area-inset-bottom));right:8px;display:grid;grid-template-columns:48px minmax(135px,1fr) 48px;align-items:center;background:#123e57;color:#fff1cf;border:2px solid #ffce60;border-radius:14px;box-shadow:0 4px 18px #08223888;max-width:calc(100vw - 16px);font:700 12px/1.2 system-ui,sans-serif}.town-preview-scrubber button{border:0;background:transparent;color:#ffce60;min-width:48px;min-height:48px;font:32px/1 system-ui;touch-action:manipulation}.town-preview-scrubber span{text-align:center}.town-preview-scrubber button:last-child{grid-column:1/-1;font-size:11px;min-height:30px;border-top:1px solid #ffffff33}.town-preview-scrubber button:disabled{opacity:.3}.town-preview-scrubber button:focus-visible{outline:3px solid #fff1cf;outline-offset:-4px}body:has(dialog[open]) .town-preview-scrubber{display:none}
/* Let the owner scroll the final town targets clear of the fixed review controls. */
body:has(.town-preview-scrubber){padding-bottom:calc(104px + env(safe-area-inset-bottom))}
