/*
 * wallpapers.css — Hintergruende (Klasse wp-<name> am body, Auswahl in
 * Einstellungen › Darstellung). Reines CSS, keine Bilddateien.
 */

.wallpaper {
  position: fixed;
  inset: 0;
  z-index: 0;
  background: #000;
}

/* Rauschen ueber dem Hintergrund; Staerke 0–100 als --noise (Einstellungen › Darstellung) */
.noise {
  position: fixed;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: calc(var(--noise, 0) / 100 * 0.36);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1.4 -0.2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 220px 220px;
}

/*
 * Bauplan: Millimeterpapier auf Nachtblau. Hauptraster = ein App-Platz
 * (--slot + --slot-gap), Feinraster = Viertel davon. Standard: mittig
 * ausgerichtet; js/home.js setzt --bp-x/--bp-y so, dass die Linien durch
 * die Luecken zwischen den Apps laufen.
 */
.wp-blueprint .wallpaper,
.wp-preview-blueprint {
  --bp: calc(var(--slot) + var(--slot-gap));
  --bp-minor: calc(var(--bp) / 4);
  --bp-pos: var(--bp-x, 50%) var(--bp-y, 50%);
  background:
    linear-gradient(rgba(255, 255, 255, 0.07) 1px, transparent 1px) var(--bp-pos) / var(--bp) var(--bp),
    linear-gradient(90deg, rgba(255, 255, 255, 0.07) 1px, transparent 1px) var(--bp-pos) / var(--bp) var(--bp),
    linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px) var(--bp-pos) / var(--bp-minor) var(--bp-minor),
    linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px) var(--bp-pos) / var(--bp-minor) var(--bp-minor),
    radial-gradient(120% 90% at 50% 50%, #12345a 0%, #071629 60%, #030a14 100%);
}

/* Vorschau in den Einstellungen: eigenes, mittiges Raster */
.wp-preview-blueprint {
  --bp: 32px;
  --bp-pos: 50% 50%;
}

/* Abendhimmel: Luft, Daemmerung */
.wp-sky .wallpaper,
.wp-preview-sky {
  background:
    radial-gradient(60% 40% at 25% 75%, rgba(255, 170, 120, 0.35) 0%, transparent 70%),
    radial-gradient(70% 50% at 80% 20%, rgba(130, 110, 255, 0.35) 0%, transparent 70%),
    linear-gradient(180deg, #0d1640 0%, #3b2a6b 55%, #b3546a 85%, #e88f6a 100%);
}

.wp-graphite .wallpaper,
.wp-preview-graphite {
  background:
    radial-gradient(100% 70% at 50% 0%, #3a3a3e 0%, transparent 65%),
    linear-gradient(180deg, #1a1a1c 0%, #070708 100%);
}

.wp-concrete .wallpaper,
.wp-preview-concrete {
  background:
    radial-gradient(80% 60% at 20% 10%, #5b5d61 0%, transparent 70%),
    linear-gradient(160deg, #3d3f43 0%, #232427 100%);
}

.wp-black .wallpaper,
.wp-preview-black {
  background: #000;
}
