/* Wallpaper-only effects: interface surfaces and text remain completely still. */
#hyd-wallpaper-effect{position:fixed;inset:0;display:block;width:100%;height:100%;z-index:-1;pointer-events:none}
#hyd-wallpaper-effect[hidden]{display:none}
html[data-wallpaper-effect="dreamy"][data-wallpaper-renderer="css"] body::before{background-image:repeating-linear-gradient(0deg,#00000005 0 1px,transparent 1px 4px),var(--scene);animation:wallpaper-soft-drift 24s ease-in-out infinite alternate;animation-play-state:running;will-change:transform}
html[data-wallpaper-motion="paused"] body::before{animation-play-state:paused!important}
@keyframes wallpaper-soft-drift{from{transform:scale(1.01) translate(-.4%,.2%)}to{transform:scale(1.035) translate(.4%,-.2%)}}
#desktop-personalise .wallpaper-effect-options{display:flex;align-items:center;flex-wrap:wrap;gap:8px 15px;margin:10px 0 14px;padding:10px;border:1px solid var(--paper-edge);border-radius:2px}
#desktop-personalise .wallpaper-effect-options legend{font-weight:700;padding:0 5px}
#desktop-personalise .wallpaper-effect-options label{display:flex;align-items:center;gap:5px;cursor:pointer}
#desktop-personalise .wallpaper-effect-options small{flex-basis:100%;color:var(--paper-muted);font:11px/1.4 var(--desktop-font)}
#world #home .desktop-sticker.illustrated-sticker[data-motion="orbit"] .desktop-sticker-art{animation:sticker-orbit 9s linear infinite}
#world #home .desktop-sticker.illustrated-sticker .desktop-sticker-art{animation-delay:var(--sticker-delay,0s)}
#world #home .desktop-sticker.illustrated-sticker:is(:hover,.is-dragging,.is-rotating) .desktop-sticker-art{animation-play-state:paused}
#world #home .sticker-preview-art[data-motion="orbit"]{animation:sticker-orbit 9s linear infinite}
#world #home .desktop-sticker[data-default-sticker="true"]{--sticker-orbit-x:4px;--sticker-orbit-y:4px}
@keyframes sticker-orbit{0%,100%{translate:var(--sticker-orbit-x,12px) 0}25%{translate:0 var(--sticker-orbit-y,8px)}50%{translate:calc(-1 * var(--sticker-orbit-x,12px)) 0}75%{translate:0 calc(-1 * var(--sticker-orbit-y,8px))}}
html[data-desktop-motion="paused"] #world #home :is(.desktop-sticker-art,.sticker-preview-art,.sticker-turntable),body.motion-off #world #home :is(.desktop-sticker-art,.sticker-preview-art,.sticker-turntable){animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){
 html[data-wallpaper-effect] body::before{animation:none!important;will-change:auto}
 #world #home :is(.desktop-sticker-art,.sticker-preview-art,.sticker-turntable){animation:none!important}
}

/* 48 views rendered around each model's world Z axis: no rotation of the flat image. */
#world #home :is(.desktop-sticker-art,.sticker-preview-art){position:relative}
#world #home .sticker-turntable{display:none;position:absolute;inset:0;background-size:800% 600%;background-repeat:no-repeat;pointer-events:none}
#world #home [data-motion="turn"][data-turn-state="ready"]>.sticker-turntable{display:block;animation:sticker-turntable var(--sticker-turn-duration,4s) steps(1,end) infinite;animation-delay:var(--sticker-delay,0s)}
#world #home [data-motion="turn"][data-turn-state="ready"]>img{visibility:hidden}
#world #home .desktop-sticker.illustrated-sticker:is(:hover,.is-dragging,.is-rotating) .sticker-turntable{animation-play-state:paused}
@keyframes sticker-turntable{
 0.000000%{background-position:0.000000% 0.000000%}
 2.083333%{background-position:14.285714% 0.000000%}
 4.166667%{background-position:28.571429% 0.000000%}
 6.250000%{background-position:42.857143% 0.000000%}
 8.333333%{background-position:57.142857% 0.000000%}
 10.416667%{background-position:71.428571% 0.000000%}
 12.500000%{background-position:85.714286% 0.000000%}
 14.583333%{background-position:100.000000% 0.000000%}
 16.666667%{background-position:0.000000% 20.000000%}
 18.750000%{background-position:14.285714% 20.000000%}
 20.833333%{background-position:28.571429% 20.000000%}
 22.916667%{background-position:42.857143% 20.000000%}
 25.000000%{background-position:57.142857% 20.000000%}
 27.083333%{background-position:71.428571% 20.000000%}
 29.166667%{background-position:85.714286% 20.000000%}
 31.250000%{background-position:100.000000% 20.000000%}
 33.333333%{background-position:0.000000% 40.000000%}
 35.416667%{background-position:14.285714% 40.000000%}
 37.500000%{background-position:28.571429% 40.000000%}
 39.583333%{background-position:42.857143% 40.000000%}
 41.666667%{background-position:57.142857% 40.000000%}
 43.750000%{background-position:71.428571% 40.000000%}
 45.833333%{background-position:85.714286% 40.000000%}
 47.916667%{background-position:100.000000% 40.000000%}
 50.000000%{background-position:0.000000% 60.000000%}
 52.083333%{background-position:14.285714% 60.000000%}
 54.166667%{background-position:28.571429% 60.000000%}
 56.250000%{background-position:42.857143% 60.000000%}
 58.333333%{background-position:57.142857% 60.000000%}
 60.416667%{background-position:71.428571% 60.000000%}
 62.500000%{background-position:85.714286% 60.000000%}
 64.583333%{background-position:100.000000% 60.000000%}
 66.666667%{background-position:0.000000% 80.000000%}
 68.750000%{background-position:14.285714% 80.000000%}
 70.833333%{background-position:28.571429% 80.000000%}
 72.916667%{background-position:42.857143% 80.000000%}
 75.000000%{background-position:57.142857% 80.000000%}
 77.083333%{background-position:71.428571% 80.000000%}
 79.166667%{background-position:85.714286% 80.000000%}
 81.250000%{background-position:100.000000% 80.000000%}
 83.333333%{background-position:0.000000% 100.000000%}
 85.416667%{background-position:14.285714% 100.000000%}
 87.500000%{background-position:28.571429% 100.000000%}
 89.583333%{background-position:42.857143% 100.000000%}
 91.666667%{background-position:57.142857% 100.000000%}
 93.750000%{background-position:71.428571% 100.000000%}
 95.833333%{background-position:85.714286% 100.000000%}
 97.916667%{background-position:100.000000% 100.000000%}
 100%{background-position:0% 0%}
}
@media(prefers-reduced-motion:reduce){#world #home [data-motion="turn"]>.sticker-turntable{display:none!important;animation:none!important}#world #home [data-motion="turn"]>img{visibility:visible!important}}
/* Keep the tray preview in its flex slot; old collage offsets must not clip it. */
#world #home #desk-stickers .sticker-board>.sticker-preview-art{inset:auto;align-self:center;transform:none}

/* The souvenirs sit directly on the photograph; controls appear only on selection. */
html[data-theme] #world #home .desktop-sticker.illustrated-sticker{background:none!important;border:0!important;border-radius:0;box-shadow:none!important}
#world #home .desktop-sticker.illustrated-sticker[data-souvenir-size="true"]:has(img[src*="hyd-"]){width:var(--starter-art-size,124px);height:var(--starter-art-size,124px);filter:drop-shadow(0 3px 3px #211e2b55)}
@media(min-width:621px) and (max-width:1350px),(min-width:621px) and (max-height:780px){
 #world #home .desktop-sticker.illustrated-sticker[data-souvenir-size="true"]:has(img[src*="hyd-"]){width:98px;height:98px}
}
@media(min-width:621px) and (max-width:1100px){
 #world #home .desktop-sticker.illustrated-sticker[data-souvenir-size="true"]:has(img[src*="hyd-"]){width:94px;height:94px}
}
@media(max-width:620px){
 #world #home .desktop-sticker.illustrated-sticker[data-souvenir-size="true"]:has(img[src*="hyd-"]){width:76px;height:76px}
}

/* Blend adjacent rendered Z-axis views at display cadence, including the loop seam. */
#world #home [data-smooth-turn="true"]>.sticker-turntable{animation:none!important}
#world #home .sticker-turntable-next{opacity:0}
