/* Theme colours and decoration, shared by the calendar and the theme previews in the organiser area. */

[data-theme] {
  --bg: #f2f7f4;
  --bg2: #e3efe8;
  --ink: #1b2421;
  --soft: #5a6a64;
  --card: rgb(255 255 255 / .88);
  --line: rgb(31 77 69 / .14);
  --accent: #1f4d45;
  --accent-ink: #fff;
  --door: #ffffff;
  --door-edge: #d9a441;
  --door-ink: #1f4d45;
  --inside: #163a34;
  --display: 'Fraunces', Georgia, serif;
  --sans: 'Inter', system-ui, sans-serif;
  --radius: 16px;
  color-scheme: light;
}

[data-theme='winter'] {
  --bg: #0f2a24;
  --bg2: #173d33;
  --ink: #f6efe2;
  --soft: #b9c8bd;
  --card: rgb(14 36 31 / .78);
  --line: rgb(255 255 255 / .14);
  --accent: #d8473a;
  --accent-ink: #fff;
  --door: #f8f1e4;
  --door-edge: #c9a45c;
  --door-ink: #8f2a20;
  --inside: #0a1f1a;
  color-scheme: dark;
}
[data-theme='cosmic'] {
  --bg: #0b1026;
  --bg2: #18204a;
  --ink: #eef1ff;
  --soft: #a8b0d6;
  --card: rgb(16 22 54 / .8);
  --line: rgb(180 200 255 / .16);
  --accent: #3fd0c9;
  --accent-ink: #061418;
  --door: #1c2557;
  --door-edge: #3fd0c9;
  --door-ink: #eef1ff;
  --inside: #05081a;
  --display: 'Space Grotesk', system-ui, sans-serif;
  color-scheme: dark;
}
[data-theme='spooky'] {
  --bg: #17110f;
  --bg2: #2a1a14;
  --ink: #f3e6d6;
  --soft: #bba892;
  --card: rgb(30 20 16 / .82);
  --line: rgb(255 200 150 / .14);
  --accent: #e67c27;
  --accent-ink: #1a0d05;
  --door: #2b1f1a;
  --door-edge: #e67c27;
  --door-ink: #f3c9a0;
  --inside: #0b0706;
  color-scheme: dark;
}
[data-theme='sweetheart'] {
  --bg: #fbeef0;
  --bg2: #f6dbe0;
  --ink: #3b1f27;
  --soft: #8a6670;
  --card: rgb(255 250 251 / .86);
  --line: rgb(120 40 60 / .14);
  --accent: #c43c5c;
  --accent-ink: #fff;
  --door: #fffafb;
  --door-edge: #e9b3c0;
  --door-ink: #c43c5c;
  --inside: #3b1f27;
}

/* Decoration: snow, stars, embers, hearts. Purely visual. */
[data-theme='winter'] .sky {
  background-image:
    radial-gradient(2px 2px at 20px 30px, #fff8, transparent), radial-gradient(2px 2px at 140px 80px, #fff6, transparent),
    radial-gradient(3px 3px at 260px 160px, #fff7, transparent), radial-gradient(2px 2px at 340px 40px, #fff5, transparent),
    radial-gradient(1.5px 1.5px at 90px 200px, #fff8, transparent);
  background-size: 380px 260px;
  animation: snow 28s linear infinite;
}
[data-theme='cosmic'] .sky {
  background-image:
    radial-gradient(1.5px 1.5px at 30px 40px, #fff, transparent), radial-gradient(1px 1px at 180px 120px, #cfe, transparent),
    radial-gradient(2px 2px at 300px 60px, #9ef, transparent), radial-gradient(1px 1px at 90px 220px, #fff, transparent),
    radial-gradient(1.5px 1.5px at 240px 250px, #fde, transparent);
  background-size: 360px 300px;
  animation: twinkle 6s ease-in-out infinite alternate;
}
[data-theme='spooky'] .sky {
  background: radial-gradient(60% 40% at 50% 110%, rgb(230 124 39 / .18), transparent 70%);
}
@keyframes snow { to { background-position: 60px 520px, -40px 520px, 30px 520px, -20px 520px, 50px 520px; } }
@keyframes twinkle { from { opacity: .55; } to { opacity: 1; } }
[data-theme='sweetheart'] .sky {
  background-image: radial-gradient(3px 3px at 40px 50px, rgb(196 60 92 / .25), transparent), radial-gradient(2px 2px at 200px 140px, rgb(196 60 92 / .2), transparent), radial-gradient(4px 4px at 300px 40px, rgb(233 179 192 / .5), transparent);
  background-size: 360px 220px;
}
