/* App-wide background themes. Cards stay glass; only the page behind them changes. */
body[data-soft-wall]:not([data-soft-wall="soft"])::before,
body[data-soft-wall]:not([data-soft-wall="soft"])::after {
  opacity: 0 !important;
}

body[data-soft-wall="steel"],
body.mm-soft.soft-theme-dark[data-soft-wall="steel"],
body.mm-soft.soft-theme-dark.mm-mech[data-soft-wall="steel"] {
  background:
    repeating-linear-gradient(90deg, rgba(255,255,255,0.22) 0 1px, transparent 1px 4px),
    linear-gradient(165deg, #e7edf2, #aeb8c4 46%, #d5dde4) !important;
}
body[data-soft-wall="hazard"],
body.mm-soft.soft-theme-dark[data-soft-wall="hazard"],
body.mm-soft.soft-theme-dark.mm-mech[data-soft-wall="hazard"] {
  background:
    repeating-linear-gradient(-48deg, rgba(15,23,42,0.14) 0 10px, transparent 10px 22px),
    linear-gradient(160deg, #fde68a, #f59e0b) !important;
}
body[data-soft-wall="blueprint"],
body.mm-soft.soft-theme-dark[data-soft-wall="blueprint"],
body.mm-soft.soft-theme-dark.mm-mech[data-soft-wall="blueprint"] {
  background:
    linear-gradient(rgba(255,255,255,0.16) 1px, transparent 1px) 0 0 / 22px 22px,
    linear-gradient(90deg, rgba(255,255,255,0.16) 1px, transparent 1px) 0 0 / 22px 22px,
    linear-gradient(160deg, #1d4ed8, #38bdf8) !important;
}
body[data-soft-wall="concrete"],
body.mm-soft.soft-theme-dark[data-soft-wall="concrete"],
body.mm-soft.soft-theme-dark.mm-mech[data-soft-wall="concrete"] {
  background:
    radial-gradient(circle at 10% 20%, rgba(255,255,255,0.35) 0 1px, transparent 1.5px),
    radial-gradient(circle at 70% 60%, rgba(0,0,0,0.12) 0 1px, transparent 1.6px),
    radial-gradient(circle at 40% 80%, rgba(255,255,255,0.25) 0 1px, transparent 1.4px),
    linear-gradient(180deg, #d6d3d1, #a8a29e) !important;
}
body[data-soft-wall="ember"],
body.mm-soft.soft-theme-dark[data-soft-wall="ember"],
body.mm-soft.soft-theme-dark.mm-mech[data-soft-wall="ember"] {
  background:
    radial-gradient(circle at 80% 0%, rgba(251,146,60,0.55), transparent 42%),
    radial-gradient(circle at 0% 100%, rgba(234,88,12,0.35), transparent 46%),
    repeating-linear-gradient(90deg, rgba(255,255,255,0.04) 0 1px, transparent 1px 7px),
    linear-gradient(165deg, #3f3f46, #18181b) !important;
}
body[data-soft-wall="circuit"],
body.mm-soft.soft-theme-dark[data-soft-wall="circuit"],
body.mm-soft.soft-theme-dark.mm-mech[data-soft-wall="circuit"] {
  background:
    linear-gradient(rgba(34,211,238,0.22) 1px, transparent 1px) 0 0 / 28px 28px,
    linear-gradient(90deg, rgba(34,211,238,0.22) 1px, transparent 1px) 0 0 / 28px 28px,
    radial-gradient(circle at 20% 30%, rgba(34,211,238,0.35), transparent 26%),
    linear-gradient(160deg, #0f172a, #164e63) !important;
}
body[data-soft-wall="rivet"],
body.mm-soft.soft-theme-dark[data-soft-wall="rivet"],
body.mm-soft.soft-theme-dark.mm-mech[data-soft-wall="rivet"] {
  background:
    radial-gradient(circle at 12px 12px, rgba(68,64,60,0.35) 0 3px, transparent 3.5px) 0 0 / 28px 28px,
    linear-gradient(160deg, #e7e5e4, #a8a29e) !important;
}
body[data-soft-wall="rose"],
body.mm-soft.soft-theme-dark[data-soft-wall="rose"],
body.mm-soft.soft-theme-dark.mm-mech[data-soft-wall="rose"] {
  background: linear-gradient(145deg, #ffe4e6, #fb7185 55%, #fda4af) !important;
}
body[data-soft-wall="mint"],
body.mm-soft.soft-theme-dark[data-soft-wall="mint"],
body.mm-soft.soft-theme-dark.mm-mech[data-soft-wall="mint"] {
  background: linear-gradient(150deg, #ecfdf5, #2dd4bf 60%, #99f6e4) !important;
}
body[data-soft-wall="sky"],
body.mm-soft.soft-theme-dark[data-soft-wall="sky"],
body.mm-soft.soft-theme-dark.mm-mech[data-soft-wall="sky"] {
  background: linear-gradient(165deg, #e0f2fe, #38bdf8 50%, #818cf8) !important;
}
body[data-soft-wall="sand"],
body.mm-soft.soft-theme-dark[data-soft-wall="sand"],
body.mm-soft.soft-theme-dark.mm-mech[data-soft-wall="sand"] {
  background: linear-gradient(150deg, #fff7ed, #fdba74 55%, #fde68a) !important;
}
body[data-soft-wall="lilac"],
body.mm-soft.soft-theme-dark[data-soft-wall="lilac"],
body.mm-soft.soft-theme-dark.mm-mech[data-soft-wall="lilac"] {
  background: linear-gradient(145deg, #f5f3ff, #a78bfa 52%, #f0abfc) !important;
}
body[data-soft-wall="sunset"],
body.mm-soft.soft-theme-dark[data-soft-wall="sunset"],
body.mm-soft.soft-theme-dark.mm-mech[data-soft-wall="sunset"] {
  background: linear-gradient(140deg, #ffedd5, #fb923c 42%, #e11d48 78%, #7c3aed) !important;
}
body[data-soft-wall="ocean"],
body.mm-soft.soft-theme-dark[data-soft-wall="ocean"],
body.mm-soft.soft-theme-dark.mm-mech[data-soft-wall="ocean"] {
  background: linear-gradient(160deg, #cffafe, #06b6d4 45%, #1e3a8a) !important;
}
body[data-soft-wall="night"],
body.mm-soft.soft-theme-dark[data-soft-wall="night"],
body.mm-soft.soft-theme-dark.mm-mech[data-soft-wall="night"] {
  background:
    radial-gradient(circle at 18% 22%, #fff 0 1px, transparent 1.6px),
    radial-gradient(circle at 72% 36%, #fff 0 1px, transparent 1.5px),
    radial-gradient(circle at 40% 78%, rgba(255,255,255,0.85) 0 1px, transparent 1.5px),
    linear-gradient(180deg, #1e1b4b, #312e81 55%, #0f172a) !important;
}

.soft-wall-row { display: flex; flex-wrap: wrap; gap: 8px; }
.soft-wall-swatch {
  width: 28px; height: 28px; border-radius: 50%; border: 2px solid #fff;
  box-shadow: 0 0 0 1px rgba(28,25,23,0.16); padding: 0; cursor: pointer;
}
.soft-wall-swatch.on { box-shadow: 0 0 0 2px #e11d48; }
.soft-wall-swatch[data-wall="soft"] { background: linear-gradient(135deg, #fecdd3, #bfdbfe); }
.soft-wall-swatch[data-wall="steel"] { background: linear-gradient(135deg, #e7edf2, #94a3b8); }
.soft-wall-swatch[data-wall="hazard"] { background: repeating-linear-gradient(-48deg, #111 0 4px, #fbbf24 4px 8px); }
.soft-wall-swatch[data-wall="blueprint"] { background: linear-gradient(135deg, #1d4ed8, #7dd3fc); }
.soft-wall-swatch[data-wall="concrete"] { background: linear-gradient(135deg, #d6d3d1, #78716c); }
.soft-wall-swatch[data-wall="ember"] { background: linear-gradient(135deg, #ea580c, #18181b); }
.soft-wall-swatch[data-wall="circuit"] { background: linear-gradient(135deg, #164e63, #22d3ee); }
.soft-wall-swatch[data-wall="rivet"] { background: radial-gradient(circle at 30% 30%, #444 0 2px, #d6d3d1 3px); }
.soft-wall-swatch[data-wall="rose"] { background: linear-gradient(135deg, #ffe4e6, #fb7185); }
.soft-wall-swatch[data-wall="mint"] { background: linear-gradient(135deg, #ecfdf5, #14b8a6); }
.soft-wall-swatch[data-wall="sky"] { background: linear-gradient(135deg, #e0f2fe, #6366f1); }
.soft-wall-swatch[data-wall="sand"] { background: linear-gradient(135deg, #fff7ed, #f59e0b); }
.soft-wall-swatch[data-wall="lilac"] { background: linear-gradient(135deg, #f5f3ff, #c084fc); }
.soft-wall-swatch[data-wall="sunset"] { background: linear-gradient(135deg, #fdba74, #e11d48 60%, #7c3aed); }
.soft-wall-swatch[data-wall="ocean"] { background: linear-gradient(135deg, #67e8f9, #1e3a8a); }
.soft-wall-swatch[data-wall="night"] { background: linear-gradient(135deg, #312e81, #0f172a); }

.soft-wall-pop {
  position: fixed;
  top: 64px;
  right: 12px;
  z-index: 80;
  width: min(280px, calc(100vw - 24px));
  padding: 12px;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 16px 40px rgba(15,23,42,0.18);
}
.soft-wall-pop[hidden] { display: none !important; }
.soft-wall-pop strong { display: block; font-size: 12px; margin-bottom: 8px; }
