/* Five additional backgrounds for Ultra. Patterns are quiet behind message bubbles. */
:is(.message-feed,.wallpaper-preview)[data-wallpaper="terracotta"] {
  background: radial-gradient(circle at 18% 24%,#f6ccad 0 1px,transparent 2px) 0 0/54px 52px,
    linear-gradient(145deg,#f7e2d3,#f3d5cb 62%,#f6e5d8);
}
:is(.message-feed,.wallpaper-preview)[data-wallpaper="linen"] {
  background: repeating-linear-gradient(35deg,#e5dfd3 0 1px,transparent 1px 12px),#f3efe5;
}
:is(.message-feed,.wallpaper-preview)[data-wallpaper="rainfall"] {
  background: repeating-linear-gradient(105deg,#abc8d144 0 1px,transparent 1px 27px),
    linear-gradient(150deg,#dfeef2,#cbdfe8);
}
:is(.message-feed,.wallpaper-preview)[data-wallpaper="cobalt"] {
  background: radial-gradient(#a9c7ef77 1px,transparent 2px) 0 0/36px 42px,
    linear-gradient(145deg,#192d54,#21395f 55%,#14263e);
}
:is(.message-feed,.wallpaper-preview)[data-wallpaper="lanterns"] {
  background: radial-gradient(circle at 13% 21%,#f6b87055,transparent 24%),
    radial-gradient(circle at 81% 68%,#d48d6355,transparent 25%),
    linear-gradient(145deg,#342337,#502b40 60%,#283246);
}
body.theme-dark :is(.message-feed,.wallpaper-preview)[data-wallpaper="terracotta"] { background: linear-gradient(145deg,#3d2a29,#4b3033); }
body.theme-dark :is(.message-feed,.wallpaper-preview)[data-wallpaper="linen"] { background: repeating-linear-gradient(35deg,#ffffff0b 0 1px,transparent 1px 12px),#2b2a2b; }
body.theme-dark :is(.message-feed,.wallpaper-preview)[data-wallpaper="rainfall"] { background: repeating-linear-gradient(105deg,#9dc2d022 0 1px,transparent 1px 27px),#1d303c; }
.message-feed[data-wallpaper="cobalt"] :is(.message-meta,.message-meta strong,.message-receipt,.message-day),
.message-feed[data-wallpaper="lanterns"] :is(.message-meta,.message-meta strong,.message-receipt,.message-day) { color: #eff4ff; }

/* Opt-in, viewer-only Ultra motion. Low update rates avoid a continuous
   full-frame paint loop on modest phones; no video, canvas, sound or network. */
body[data-wallpaper-motion="on"] :is(.message-feed,.wallpaper-preview)[data-wallpaper="night"] {
  animation: wallpaper-stars-drift 30s steps(60, end) infinite;
}
body[data-wallpaper-motion="on"] :is(.message-feed,.wallpaper-preview)[data-wallpaper="aurora"] {
  background-size: 180% 180%;
  animation: wallpaper-aurora-drift 28s steps(56, end) infinite alternate;
}
body[data-wallpaper-motion="on"] :is(.message-feed,.wallpaper-preview)[data-wallpaper="rainfall"] {
  animation: wallpaper-rain-drift 12s steps(48, end) infinite;
}
@keyframes wallpaper-stars-drift { to { background-position: 37px 43px, 88px 102px; } }
@keyframes wallpaper-aurora-drift { from { background-position: 0% 50%; } to { background-position: 100% 50%; } }
@keyframes wallpaper-rain-drift { to { background-position: 27px 0, 0 0; } }
body[data-background-paused="true"] :is(.message-feed,.wallpaper-preview)[data-wallpaper] { animation-play-state: paused !important; }
@media (prefers-reduced-motion: reduce) {
  body[data-wallpaper-motion="on"] :is(.message-feed,.wallpaper-preview)[data-wallpaper] { animation: none !important; }
}
