/* ==========================================================================
   TEMA SITUS: tema tampilan situs publik yang dipilih dari panel admin.

   Dimuat sesudah situs.css. Tema bawaan (Urushi) adalah nilai :root di
   situs.css; setiap tema di sini hanya mengganti variabelnya, diawali
   :root[data-tema="<id>"]. Daftar tema, nama, dan bawaannya ada di
   assets/js/tema-situs.js; atributnya dipasang tema-awal.js dan shell.js:

     data-tema      id tema (palet di bawah)
     data-mode      gelap | terang      terang menyalakan aturan TEMA TERANG
     data-gaya      ilustrasi | minimal minimal menyembunyikan kota & hiasan
     data-partikel  kelopak | salju | hujan | kunang | serpih | tidak
     data-langit    matahari | bulan | tanpa

   Menambah tema: salin palet yang mirip, ganti id dan warnanya, lalu
   daftarkan di TEMA_SITUS (tema-situs.js di kedua folder).

   Kontras: teks utama terhadap permukaan tergelap/terang minimal 12:1,
   teks redup minimal 4,5:1, label di atas isian tombol minimal 4,5:1.
   ========================================================================== */

/* ==========================================================================
   VARIASI PARTIKEL
   Empat belas elemen .langit__kelopak i yang sama; hanya bentuk dan geraknya
   yang berganti. Warnanya dari --partikel (atau --kelopak untuk kelopak).
   ========================================================================== */
:root[data-partikel="salju"] .langit__kelopak i {
  width: calc(7px * var(--s, 1));
  height: calc(7px * var(--s, 1));
  border-radius: 50%;
  background: radial-gradient(circle, var(--partikel) 0 42%, transparent 72%);
  animation-name: salju;
}
@keyframes salju {
  0%   { transform: translate3d(0, 0, 0); }
  25%  { transform: translate3d(2.5vw, 28vh, 0); }
  50%  { transform: translate3d(-1.5vw, 56vh, 0); }
  75%  { transform: translate3d(3vw, 84vh, 0); }
  100% { transform: translate3d(0, 114vh, 0); }
}

/* Hujan miring: garis tipis yang turun cepat searah kemiringannya. */
:root[data-partikel="hujan"] .langit__kelopak i {
  width: 1.5px;
  height: calc(34px * var(--s, 1));
  border-radius: 2px;
  background: linear-gradient(180deg, transparent, var(--partikel));
  opacity: 0.7;
  animation-name: hujan;
  animation-duration: calc(var(--d, 18s) / 11);
}
@keyframes hujan {
  from { transform: translate3d(0, 0, 0) rotate(14deg); }
  to   { transform: translate3d(-29vh, 116vh, 0) rotate(14deg); }
}

/* Kunang-kunang: melayang di atas kota dan berkedip, tidak jatuh. */
:root[data-partikel="kunang"] .langit__kelopak i {
  top: calc(34vh + var(--s, 1) * 30vh);
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--partikel);
  box-shadow: 0 0 10px 2px var(--partikel);
  animation-name: kunang;
}
@keyframes kunang {
  0%   { transform: translate3d(0, 0, 0); opacity: 0; }
  20%  { opacity: 1; }
  40%  { transform: translate3d(3vw, -5vh, 0); opacity: 0.3; }
  60%  { transform: translate3d(-2vw, -9vh, 0); opacity: 1; }
  80%  { transform: translate3d(2vw, -4vh, 0); opacity: 0.4; }
  100% { transform: translate3d(0, 0, 0); opacity: 0; }
}

/* Serpih: kepingan logam kecil yang berputar dan berkilau saat jatuh. */
:root[data-partikel="serpih"] .langit__kelopak i {
  width: calc(6px * var(--s, 1));
  height: calc(6px * var(--s, 1));
  border-radius: 1px;
  background: linear-gradient(135deg, #ffffff, var(--partikel) 45%, color-mix(in srgb, var(--partikel) 55%, #000000));
}

:root[data-partikel="tidak"] .langit__kelopak { display: none; }

/* ==========================================================================
   VARIASI LANGIT
   ========================================================================== */
/* Cakram polos: matahari tanpa garis, lebih kecil, dengan pendar. Menjadi
   bulan di tema malam dan matahari siang di tema terang. */
:root[data-langit="bulan"] :is(.langit__mentari, .cta-band__mentari, .mega__mentari) {
  -webkit-mask-image: none;
          mask-image: none;
  box-shadow: 0 0 80px rgba(var(--pendar-rgb), 0.45), inset -18px -10px 0 rgba(0, 0, 0, 0.06);
}
:root[data-langit="bulan"] .langit__mentari { width: min(30vmin, 300px); bottom: 32vh; }
/* Di ponsel cakram polos naik ke pojok kanan atas yang kosong, tidak di
   belakang paragraf dan tombol hero. */
@media (max-width: 860px) {
  :root[data-langit="bulan"] .langit__mentari { width: 92px; top: calc(var(--header-h) + 34px); bottom: auto; right: 7vw; }
}
:root[data-langit="tanpa"] :is(.langit__mentari, .langit__pendar, .cta-band__mentari, .mega__mentari) { display: none; }

/* ==========================================================================
   GAYA MINIMAL
   Komponen yang sama tanpa kota, garis manga, ombak, dan tulisan Jepang
   besar. Langitnya menjadi gradien tenang dengan kisi titik halus, dan huruf
   poster diganti huruf tampilan yang lebih korporat.
   ========================================================================== */
:root[data-gaya="minimal"] { --f-anime: var(--f-display); }
:root[data-gaya="minimal"] :is(.langit__kota, .page-hero__kota, .hero__garis, .hero__jp,
  .page-hero__jp, .mega__jp, .palet__jp, .site-footer__ombak) { display: none; }
:root[data-gaya="minimal"] .section--gelap::before,
:root[data-gaya="minimal"] .lembar__isi::after,
:root[data-gaya="minimal"] .mega__sorot::after,
:root[data-gaya="minimal"] .cta-band::before { display: none; }

:root[data-gaya="minimal"] .langit__bintang,
:root[data-gaya="minimal"] .page-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: radial-gradient(color-mix(in srgb, var(--text) 16%, transparent) 1px, transparent 1.6px);
  background-size: 26px 26px;
  -webkit-mask-image: radial-gradient(ellipse 75% 70% at 72% 45%, #000, transparent 75%);
          mask-image: radial-gradient(ellipse 75% 70% at 72% 45%, #000, transparent 75%);
  animation: none;
  pointer-events: none;
}
:root[data-gaya="minimal"] .page-hero::before { z-index: -1; }
/* Pengganti matahari: bola cahaya buram dari dua warna aksen yang bergeser
   pelan, titik fokus hero tanpa ilustrasi. */
:root[data-gaya="minimal"] .langit__pendar {
  display: block;
  right: 4vw;
  bottom: 12vh;
  width: min(64vmin, 660px);
  background: radial-gradient(circle at 36% 34%, rgba(var(--merah-rgb), 0.4), rgba(var(--emas-rgb), 0.16) 44%, transparent 68%);
  filter: blur(12px);
  animation: bolaCahaya 14s ease-in-out infinite alternate;
}
@keyframes bolaCahaya { to { transform: translate(-3vw, -3vh) scale(1.08); } }

:root[data-gaya="minimal"] :is(.hero__judul, .hero__stat-kartu b, .marquee__isi span, .stat__num,
  .svc-card__no, .alur__no, .about-split__cap, .tl-item__tahun, .svc-row__no, .proses-tahap__no,
  .respon__no, .footer__wordmark span, .galat__angka, .galat__jp, .pl-mark) { font-weight: 700; }
:root[data-gaya="minimal"] .vm-list li::before { font-weight: 700; }
:root[data-gaya="minimal"] .hero__baris--1 { letter-spacing: -0.045em; filter: none; }
:root[data-gaya="minimal"] .hero__baris--2 { letter-spacing: -0.01em; text-shadow: none; }
:root[data-gaya="minimal"] .galat__angka { filter: none; }
:root[data-gaya="minimal"] :is(.brand__mark, .svc-card__ikon) { transform: none; }
:root[data-gaya="minimal"] .marquee { transform: none; margin-top: 0; }

/* ==========================================================================
   TEMA TERANG
   Aturan bersama semua palet terang. Foto di kartu proyek dan tim tetap
   memakai lapisan gelap (--scrim-rgb) dengan teks putih.
   ========================================================================== */
:root[data-mode="terang"] {
  color-scheme: light;
  --teks-kuat: var(--text);
  --hero-teks: var(--text);
  --danger: #c01c3c;
  --danger-soft: rgba(192, 28, 60, 0.1);
  --ok: #0e6b35;
}
:root[data-mode="terang"] .langit__bintang { display: none; }
:root[data-mode="terang"][data-gaya="minimal"] .langit__bintang { display: block; }
:root[data-mode="terang"] :is(.logo-pita__logo img, .logo-kartu img):not(.logo-foto) { filter: brightness(0); opacity: 0.6; }
:root[data-mode="terang"] .kontak-peta { filter: none; }
:root[data-mode="terang"] :is(.pf-card__ringkas, .team-card__bio) { color: rgba(255, 255, 255, 0.86); }
:root[data-mode="terang"] :is(.pf-card__meta, .team-card__peran) { color: rgba(255, 255, 255, 0.8); }
:root[data-mode="terang"] .marquee__isi i { color: var(--teks-isian); opacity: 0.7; }
:root[data-mode="terang"] :is(.btn--primary, .inisial) { text-shadow: none; }
:root[data-mode="terang"] .btn--primary { border-color: transparent; }
:root[data-mode="terang"] .navbar__pil { box-shadow: var(--shadow-sm); }
:root[data-mode="terang"] .lembar__isi { background: var(--bg); }
:root[data-mode="terang"] .hero__baris--1 { filter: drop-shadow(4px 4px 0 var(--bayang-judul)); }
:root[data-mode="terang"][data-gaya="minimal"] .hero__baris--1 { filter: none; }
/* Kepala halaman: teks gelap tidak boleh menimpa siluet kota yang juga
   gelap, jadi isinya diberi jarak lebih dan kotanya dipudarkan. Tulisan
   Jepang tanda air lebih terasa di latar terang, jadi ditipiskan. */
:root[data-mode="terang"][data-gaya="ilustrasi"] .page-hero { padding-bottom: clamp(160px, 23vh, 230px); }
:root[data-mode="terang"] .page-hero__kota { opacity: 0.75; }
:root[data-mode="terang"] .page-hero__jp { opacity: 0.6; }

/* ==========================================================================
   PALET MALAM BERILUSTRASI
   ========================================================================== */

/* ---------------- SAKURA MALAM (夜桜) ---------------- */
:root[data-tema="sakura"] {
  --bg: #0c0b1f;  --bg-soft: #0f0e26;  --surface: #131232;  --surface-2: #1a193d;  --surface-3: #24224d;  --surface-4: #36336a;
  --dasar-rgb: 12, 11, 31;  --permukaan-rgb: 19, 18, 50;  --tirai-rgb: 6, 5, 18;  --scrim-rgb: 12, 11, 31;  --latar-rgb: 5, 4, 14;
  --text: #f8f5ff;  --text-2: #ddd8ea;  --muted: #b3adc4;  --dim: #a29cb4;  --faint: #5d5873;
  --merah: #ff8ac4;  --merah-muda: #ffb3d9;  --aksen-rgb: 255, 138, 196;  --merah-rgb: 217, 26, 114;  --accent-fill-2: #a33bd6;
  --bayang-judul: #5b1a8a;  --bayang-judul-rgb: 91, 26, 138;
  --emas: #c4b5fd;  --emas-muda: #ddd6fe;  --emas-rgb: 167, 139, 250;  --emas-muda-rgb: 221, 214, 254;
  --grad-emas: linear-gradient(100deg, #fff0fa 0%, #ffc2e2 30%, #ff8ac4 62%, #c4b5fd 100%);
  --langit-1: #07061a;  --langit-2: #110e35;  --langit-3: #2c1458;  --langit-4: #57216f;  --pendar-rgb: 255, 92, 170;
  --bintang-2: #e9d5ff;  --bintang-3: #ffc2e2;
  --mentari: linear-gradient(180deg, #ffe7a3 0%, #ffb0c8 30%, #ff5cad 60%, #a33bd6 85%, #5b1a8a 100%);
  --kelopak: linear-gradient(135deg, #fff5fb, #ffc2e2 55%, #ff8ac4);  --partikel: #ffc2e2;
  --kota-gunung-a: #4a2a7a;  --kota-gunung-b: #1d1240;  --kota-jauh-a: #22154a;  --kota-jauh-b: #120c2c;  --kota-salju: #f3e8ff;  --kota-dekat: #06051a;
  --jendela-1: #ffd36e;  --jendela-2: #ffc2e2;  --jendela-3: #a78bfa;
}

/* ---------------- NEO TOKYO (ネオ東京) ---------------- */
:root[data-tema="neon"] {
  --bg: #07080f;  --bg-soft: #090a14;  --surface: #0d0f1b;  --surface-2: #121425;  --surface-3: #191c33;  --surface-4: #272c50;
  --dasar-rgb: 7, 8, 15;  --permukaan-rgb: 13, 15, 27;  --tirai-rgb: 3, 4, 10;  --scrim-rgb: 7, 8, 15;  --latar-rgb: 2, 3, 8;
  --text: #effcff;  --text-2: #d3dfe2;  --muted: #a9b3b7;  --dim: #99a2a6;  --faint: #5b6065;
  --merah: #ff4fd8;  --merah-muda: #ff9cec;  --aksen-rgb: 255, 79, 216;  --merah-rgb: 196, 18, 156;  --accent-fill-2: #7a22e0;
  --bayang-judul: #7a0f6a;  --bayang-judul-rgb: 122, 15, 106;
  --grad-accent: linear-gradient(100deg, #c4129c 0%, #7a22e0 52%, #1f5fe0 100%);
  --emas: #00e5ff;  --emas-muda: #8ef3ff;  --emas-rgb: 0, 229, 255;  --emas-muda-rgb: 142, 243, 255;
  --grad-emas: linear-gradient(100deg, #e9fdff 0%, #8ef3ff 34%, #ff9cec 66%, #ff4fd8 100%);
  --langit-1: #03040a;  --langit-2: #0a0b24;  --langit-3: #26103f;  --langit-4: #5b0f5e;  --pendar-rgb: 255, 61, 242;
  --bintang-2: #8ef3ff;  --bintang-3: #ff9cec;
  --mentari: linear-gradient(180deg, #fff27a 0%, #ff9bd5 33%, #ff3df2 67%, #6a1bff 100%);
  --kelopak: linear-gradient(135deg, #e9fdff, #8ef3ff 55%, #00e5ff);  --partikel: #7df9ff;
  --kota-gunung-a: #3b1a6b;  --kota-gunung-b: #160b33;  --kota-jauh-a: #1c1446;  --kota-jauh-b: #0d0a26;  --kota-salju: #c4f6ff;  --kota-dekat: #04040c;
  --jendela-1: #00e5ff;  --jendela-2: #ff4fd8;  --jendela-3: #ffe14d;
}
/* Garis pindai halus di langit, seperti layar tabung. */
:root[data-tema="neon"] .langit::after {
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.035) 0 1px, transparent 1px 3px);
  -webkit-mask-image: linear-gradient(#000, transparent 75%);
          mask-image: linear-gradient(#000, transparent 75%);
  pointer-events: none;
}

/* ---------------- SENJA (夕焼け) ---------------- */
:root[data-tema="senja"] {
  --bg: #120a0c;  --bg-soft: #160d0e;  --surface: #1c1110;  --surface-2: #251613;  --surface-3: #311e18;  --surface-4: #4a2e22;
  --dasar-rgb: 16, 9, 11;  --permukaan-rgb: 28, 17, 16;  --tirai-rgb: 10, 5, 7;  --scrim-rgb: 16, 9, 11;  --latar-rgb: 8, 4, 6;
  --text: #fff6ee;  --text-2: #e3dad3;  --muted: #b8afaa;  --dim: #a79f9a;  --faint: #675f5d;
  --merah: #ff8a3d;  --merah-muda: #ffb37f;  --aksen-rgb: 255, 138, 61;  --merah-rgb: 194, 65, 12;  --accent-fill-2: #b8312a;
  --bayang-judul: #8a1c2c;  --bayang-judul-rgb: 138, 28, 44;
  --grad-accent: linear-gradient(100deg, #c2410c 0%, #b8312a 52%, #9f1239 100%);
  --emas: #ffc24b;  --emas-muda: #ffd88a;  --emas-rgb: 255, 194, 75;  --emas-muda-rgb: 255, 216, 138;
  --grad-emas: linear-gradient(100deg, #fff1d6 0%, #ffd166 34%, #ff8a3d 66%, #ff5d73 100%);
  --langit-1: #1a0b1f;  --langit-2: #4a1631;  --langit-3: #a3324a;  --langit-4: #f08a4b;  --pendar-rgb: 255, 138, 61;
  --bintang-2: #ffd9b0;  --bintang-3: #ffc24b;
  --mentari: linear-gradient(180deg, #fff1b8 0%, #ffd166 25%, #ff8a3d 50%, #e2433b 75%, #a3324a 100%);
  --kelopak: linear-gradient(135deg, #ffd08a, #ff8a3d 55%, #d9382b);  --partikel: #ff8a3d;
  --kota-gunung-a: #7a2e4a;  --kota-gunung-b: #3a1428;  --kota-jauh-a: #3d1626;  --kota-jauh-b: #220c17;  --kota-salju: #ffe3cc;  --kota-dekat: #10070b;
  --jendela-1: #ffd166;  --jendela-2: #fff1d6;  --jendela-3: #ff8a3d;
}
/* Daun momiji: kelopak dibuat lebih runcing. */
:root[data-tema="senja"][data-partikel="kelopak"] .langit__kelopak i { border-radius: 100% 0 60% 20%; }

/* ---------------- SAMUDRA (海) ---------------- */
:root[data-tema="samudra"] {
  --bg: #061017;  --bg-soft: #08141c;  --surface: #0a1821;  --surface-2: #0e1f28;  --surface-3: #132834;  --surface-4: #1e3c4b;
  --dasar-rgb: 6, 16, 23;  --permukaan-rgb: 10, 24, 33;  --tirai-rgb: 2, 8, 13;  --scrim-rgb: 6, 16, 23;  --latar-rgb: 2, 7, 11;
  --text: #effaff;  --text-2: #d3dee3;  --muted: #a9b4b9;  --dim: #99a3a9;  --faint: #5a646b;
  --merah: #38bdf8;  --merah-muda: #8fd8ff;  --aksen-rgb: 56, 189, 248;  --merah-rgb: 3, 105, 161;  --accent-fill-2: #0e7490;
  --bayang-judul: #0b3a5c;  --bayang-judul-rgb: 11, 58, 92;
  --grad-accent: linear-gradient(100deg, #0369a1 0%, #0e7490 52%, #1d4ed8 100%);
  --emas: #2dd4bf;  --emas-muda: #99f6e4;  --emas-rgb: 45, 212, 191;  --emas-muda-rgb: 153, 246, 228;
  --grad-emas: linear-gradient(100deg, #f0fbff 0%, #bae6fd 34%, #7dd3fc 66%, #5eead4 100%);
  --langit-1: #020a12;  --langit-2: #06192a;  --langit-3: #0b3048;  --langit-4: #145a6e;  --pendar-rgb: 45, 212, 191;
  --bintang-2: #bae6fd;  --bintang-3: #99f6e4;
  --mentari: linear-gradient(180deg, #ffffff 0%, #e0f2fe 50%, #a5d8ff 100%);
  --kelopak: linear-gradient(135deg, #e0f7ff, #a5f3fc 55%, #67e8f9);  --partikel: #a5f3fc;
  --kota-gunung-a: #1d4b63;  --kota-gunung-b: #0b2433;  --kota-jauh-a: #0f2c3d;  --kota-jauh-b: #071823;  --kota-salju: #e0f7ff;  --kota-dekat: #020a10;
  --jendela-1: #7dd3fc;  --jendela-2: #fef3c7;  --jendela-3: #5eead4;
}

/* ---------------- SALJU (雪) ---------------- */
:root[data-tema="salju"] {
  --bg: #0a0f1a;  --bg-soft: #0c1220;  --surface: #111724;  --surface-2: #161d2c;  --surface-3: #1e2738;  --surface-4: #2e3a4f;
  --dasar-rgb: 10, 15, 26;  --permukaan-rgb: 17, 23, 36;  --tirai-rgb: 5, 8, 18;  --scrim-rgb: 10, 15, 26;  --latar-rgb: 4, 6, 14;
  --text: #f5f9ff;  --text-2: #d9dde4;  --muted: #afb3ba;  --dim: #9ea2aa;  --faint: #5f636c;
  --merah: #93c5fd;  --merah-muda: #bfdbfe;  --aksen-rgb: 147, 197, 253;  --merah-rgb: 37, 99, 235;  --accent-fill-2: #4f46e5;
  --bayang-judul: #1e3a8a;  --bayang-judul-rgb: 30, 58, 138;
  --grad-accent: linear-gradient(100deg, #2563eb 0%, #4f46e5 52%, #6d28d9 100%);
  --emas: #c4b5fd;  --emas-muda: #ddd6fe;  --emas-rgb: 196, 181, 253;  --emas-muda-rgb: 221, 214, 254;
  --grad-emas: linear-gradient(100deg, #ffffff 0%, #dbeafe 34%, #bfdbfe 66%, #c4b5fd 100%);
  --langit-1: #050812;  --langit-2: #0e1830;  --langit-3: #1e3a5f;  --langit-4: #3b5b85;  --pendar-rgb: 147, 197, 253;
  --bintang-2: #dbeafe;  --bintang-3: #e0e7ff;
  --mentari: linear-gradient(180deg, #ffffff 0%, #e0ecff 50%, #c7d7f5 100%);
  --kelopak: linear-gradient(135deg, #ffffff, #e0ecff 55%, #bfdbfe);  --partikel: #ffffff;
  --kota-gunung-a: #4b6a96;  --kota-gunung-b: #22324f;  --kota-jauh-a: #22324f;  --kota-jauh-b: #121b2e;  --kota-salju: #ffffff;  --kota-dekat: #070b14;
  --jendela-1: #fde68a;  --jendela-2: #fff7ed;  --jendela-3: #bfdbfe;
}
:root[data-tema="salju"] .kota .k-salju { opacity: 0.9; }

/* ---------------- HUTAN (森) ---------------- */
:root[data-tema="hutan"] {
  --bg: #08100c;  --bg-soft: #0a140f;  --surface: #0d1912;  --surface-2: #112018;  --surface-3: #172a1f;  --surface-4: #243f2f;
  --dasar-rgb: 8, 16, 12;  --permukaan-rgb: 13, 25, 18;  --tirai-rgb: 3, 8, 6;  --scrim-rgb: 8, 16, 12;  --latar-rgb: 2, 6, 4;
  --text: #f1fbf5;  --text-2: #d5dfd9;  --muted: #abb5af;  --dim: #9ba49f;  --faint: #5c6560;
  --merah: #4ade80;  --merah-muda: #86efac;  --aksen-rgb: 74, 222, 128;  --merah-rgb: 21, 128, 61;  --accent-fill-2: #166534;
  --bayang-judul: #14532d;  --bayang-judul-rgb: 20, 83, 45;
  --grad-accent: linear-gradient(100deg, #15803d 0%, #166534 52%, #0f766e 100%);
  --emas: #bef264;  --emas-muda: #d9f99d;  --emas-rgb: 190, 242, 100;  --emas-muda-rgb: 217, 249, 157;
  --grad-emas: linear-gradient(100deg, #f7fee7 0%, #d9f99d 34%, #86efac 66%, #4ade80 100%);
  --langit-1: #030806;  --langit-2: #0a1a12;  --langit-3: #12321f;  --langit-4: #1f4d2e;  --pendar-rgb: 190, 242, 100;
  --bintang-2: #ecfccb;  --bintang-3: #bef264;
  --mentari: linear-gradient(180deg, #fefce8 0%, #ecfccb 50%, #bef264 100%);
  --kelopak: linear-gradient(135deg, #ecfccb, #bef264 55%, #84cc16);  --partikel: #d9f99d;
  --kota-gunung-a: #24503a;  --kota-gunung-b: #0f2a1d;  --kota-jauh-a: #15301f;  --kota-jauh-b: #0a1c12;  --kota-salju: #ecfccb;  --kota-dekat: #030805;
  --jendela-1: #fde047;  --jendela-2: #ecfccb;  --jendela-3: #4ade80;
}

/* ---------------- AURORA (オーロラ) ---------------- */
:root[data-tema="aurora"] {
  --bg: #060b14;  --bg-soft: #08101b;  --surface: #0b131d;  --surface-2: #0f1924;  --surface-3: #15222f;  --surface-4: #213545;
  --dasar-rgb: 6, 11, 20;  --permukaan-rgb: 11, 19, 29;  --tirai-rgb: 2, 5, 12;  --scrim-rgb: 6, 11, 20;  --latar-rgb: 2, 4, 10;
  --text: #f0fdfa;  --text-2: #d4e0de;  --muted: #aab4b5;  --dim: #99a3a5;  --faint: #5a6267;
  --merah: #34d399;  --merah-muda: #6ee7b7;  --aksen-rgb: 52, 211, 153;  --merah-rgb: 4, 120, 87;  --accent-fill-2: #0e7490;
  --bayang-judul: #064e3b;  --bayang-judul-rgb: 6, 78, 59;
  --grad-accent: linear-gradient(100deg, #047857 0%, #0e7490 52%, #6d28d9 100%);
  --emas: #a78bfa;  --emas-muda: #c4b5fd;  --emas-rgb: 167, 139, 250;  --emas-muda-rgb: 196, 181, 253;
  --grad-emas: linear-gradient(100deg, #ecfdf5 0%, #a7f3d0 34%, #5eead4 66%, #c4b5fd 100%);
  --langit-1: #02050c;  --langit-2: #071226;  --langit-3: #0c2338;  --langit-4: #12384a;  --pendar-rgb: 52, 211, 153;
  --bintang-2: #a7f3d0;  --bintang-3: #c4b5fd;
  --mentari: linear-gradient(180deg, #ecfdf5 0%, #a7f3d0 50%, #34d399 100%);
  --kelopak: linear-gradient(135deg, #ecfdf5, #a7f3d0 55%, #34d399);  --partikel: #a7f3d0;
  --kota-gunung-a: #26476b;  --kota-gunung-b: #0f2238;  --kota-jauh-a: #13243b;  --kota-jauh-b: #0a1626;  --kota-salju: #e0fbff;  --kota-dekat: #03060c;
  --jendela-1: #fde68a;  --jendela-2: #a7f3d0;  --jendela-3: #c4b5fd;
}
/* Tirai cahaya yang bergoyang pelan di belakang kota. */
:root[data-tema="aurora"] .langit::before,
:root[data-tema="aurora"] .page-hero::before {
  content: '';
  position: absolute;
  inset: -10% -20% 30% -20%;
  background:
    radial-gradient(ellipse 34% 60% at 28% 42%, rgba(52, 211, 153, 0.38), transparent 70%),
    radial-gradient(ellipse 30% 55% at 56% 30%, rgba(167, 139, 250, 0.32), transparent 70%),
    radial-gradient(ellipse 28% 50% at 82% 44%, rgba(45, 212, 191, 0.3), transparent 70%);
  filter: blur(22px);
  transform: skewX(-14deg);
  animation: tiraiAurora 16s ease-in-out infinite alternate;
  pointer-events: none;
}
:root[data-tema="aurora"] .page-hero::before { z-index: -1; }
@keyframes tiraiAurora {
  to { transform: skewX(-6deg) translateX(5%); opacity: 0.7; }
}

/* ---------------- EMAS MALAM (金) ---------------- */
:root[data-tema="kin"] {
  --bg: #070b17;  --bg-soft: #090e1c;  --surface: #0d1220;  --surface-2: #121828;  --surface-3: #192033;  --surface-4: #283149;
  --dasar-rgb: 7, 11, 23;  --permukaan-rgb: 13, 18, 32;  --tirai-rgb: 3, 5, 13;  --scrim-rgb: 7, 11, 23;  --latar-rgb: 2, 4, 10;
  --text: #fbf7ec;  --text-2: #dedbd2;  --muted: #b2b0ac;  --dim: #a1a09d;  --faint: #5f6064;
  --merah: #e9c46a;  --merah-muda: #f4d68e;  --aksen-rgb: 233, 196, 106;  --merah-rgb: 244, 214, 142;  --accent-fill-2: #e0b44c;
  --teks-isian: #1a1405;
  --bayang-judul: #5c4410;  --bayang-judul-rgb: 92, 68, 16;
  --grad-accent: linear-gradient(100deg, #f4d68e 0%, #e0b44c 52%, #b8892a 100%);
  --emas: #f4dfa0;  --emas-muda: #f8e7b8;  --emas-rgb: 244, 223, 160;  --emas-muda-rgb: 248, 231, 184;
  --grad-emas: linear-gradient(100deg, #fffaf0 0%, #f4dfa0 34%, #e9c46a 66%, #c99a2e 100%);
  --nyala: 0 8px 28px rgba(224, 180, 76, 0.32);
  --langit-1: #03050d;  --langit-2: #0a1230;  --langit-3: #16245a;  --langit-4: #2c3f80;  --pendar-rgb: 233, 196, 106;
  --bintang-2: #fff6d6;  --bintang-3: #f4dfa0;
  --mentari: linear-gradient(180deg, #fff6d6 0%, #f4d68e 33%, #e0b44c 67%, #a87a24 100%);
  --kelopak: linear-gradient(135deg, #fff6d6, #f4d68e 55%, #c99a2e);  --partikel: #f4d68e;
  --kota-gunung-a: #2c3f80;  --kota-gunung-b: #121c3d;  --kota-jauh-a: #141f42;  --kota-jauh-b: #0a1128;  --kota-salju: #fff6d6;  --kota-dekat: #03050c;
  --jendela-1: #f4d68e;  --jendela-2: #fff6d6;  --jendela-3: #8fb8ff;
}

/* ---------------- KOPI (珈琲) ---------------- */
:root[data-tema="kopi"] {
  --bg: #0f0a08;  --bg-soft: #130d0a;  --surface: #18110d;  --surface-2: #201711;  --surface-3: #2b2017;  --surface-4: #413124;
  --dasar-rgb: 15, 10, 8;  --permukaan-rgb: 24, 17, 13;  --tirai-rgb: 8, 5, 4;  --scrim-rgb: 15, 10, 8;  --latar-rgb: 6, 4, 3;
  --text: #fbf3ea;  --text-2: #dfd7cf;  --muted: #b4ada6;  --dim: #a49d96;  --faint: #645e59;
  --merah: #e0a96d;  --merah-muda: #f2c99a;  --aksen-rgb: 224, 169, 109;  --merah-rgb: 232, 183, 125;  --accent-fill-2: #d9a066;
  --teks-isian: #1c120b;
  --bayang-judul: #5a3418;  --bayang-judul-rgb: 90, 52, 24;
  --grad-accent: linear-gradient(100deg, #e8b77d 0%, #d9a066 52%, #b97a3f 100%);
  --emas: #f2d0a4;  --emas-muda: #f6dfc0;  --emas-rgb: 242, 208, 164;  --emas-muda-rgb: 246, 223, 192;
  --grad-emas: linear-gradient(100deg, #fff1d6 0%, #f6d6a8 34%, #e8b77d 66%, #d9a066 100%);
  --nyala: 0 8px 28px rgba(217, 160, 102, 0.3);
  --langit-1: #080504;  --langit-2: #1a100b;  --langit-3: #3a2216;  --langit-4: #6b3d22;  --pendar-rgb: 224, 169, 109;
  --bintang-2: #fff1d6;  --bintang-3: #f6c177;
  --mentari: linear-gradient(180deg, #fff1d6 0%, #f6c177 33%, #d9822b 67%, #8a4a1f 100%);
  --kelopak: linear-gradient(135deg, #fff1d6, #f2c99a 55%, #c98b4f);  --partikel: #f6c177;
  --kota-gunung-a: #5a3a2a;  --kota-gunung-b: #2a1a12;  --kota-jauh-a: #2e1d14;  --kota-jauh-b: #1a100b;  --kota-salju: #fbe7cf;  --kota-dekat: #0a0604;
  --jendela-1: #ffd29a;  --jendela-2: #fff1d6;  --jendela-3: #f6c177;
}

/* Emas Malam dan Kopi berisian emas terang dengan label gelap, jadi pemisah
   pita berjalan dan bayangan teks tombol ikut gelap. */
:root:is([data-tema="kin"], [data-tema="kopi"]) .marquee__isi i { color: var(--teks-isian); opacity: 0.6; }
:root:is([data-tema="kin"], [data-tema="kopi"]) .btn--primary { text-shadow: none; }

/* ==========================================================================
   PALET GELAP MINIMAL
   ========================================================================== */

/* ---------------- GRAFIT (黒鉛) ---------------- */
:root[data-tema="grafit"] {
  --bg: #0e1014;  --bg-soft: #111317;  --surface: #14171b;  --surface-2: #191c21;  --surface-3: #21242a;  --surface-4: #2f343c;
  --dasar-rgb: 14, 16, 20;  --permukaan-rgb: 20, 23, 27;  --tirai-rgb: 8, 9, 12;  --scrim-rgb: 14, 16, 20;  --latar-rgb: 5, 6, 8;
  --line: rgba(255, 255, 255, 0.08);  --line-2: rgba(255, 255, 255, 0.13);  --line-3: rgba(255, 255, 255, 0.22);
  --text: #f3f5f8;  --text-2: #d8dadd;  --muted: #aeb0b4;  --dim: #9ea0a4;  --faint: #606266;
  --merah: #6ea8fe;  --merah-muda: #9ec5fe;  --aksen-rgb: 110, 168, 254;  --merah-rgb: 37, 99, 235;  --accent-fill-2: #1d4ed8;
  --bayang-judul: #1e3a8a;  --bayang-judul-rgb: 30, 58, 138;
  --grad-accent: linear-gradient(100deg, #2563eb 0%, #1d4ed8 52%, #1e40af 100%);
  --emas: #a5b4fc;  --emas-muda: #c7d2fe;  --emas-rgb: 165, 180, 252;  --emas-muda-rgb: 199, 210, 254;
  --grad-emas: linear-gradient(100deg, #ffffff 0%, #dbe7ff 40%, #9ec5fe 75%, #6ea8fe 100%);
  --nyala: 0 8px 24px rgba(37, 99, 235, 0.3);
  --langit-1: #0b0d11;  --langit-2: #0e1014;  --langit-3: #121722;  --langit-4: #16203a;  --pendar-rgb: 37, 99, 235;
  --mentari: linear-gradient(180deg, #dbe7ff 0%, #6ea8fe 60%, #2563eb 100%);
  --kelopak: linear-gradient(135deg, #ffffff, #dbe7ff 55%, #9ec5fe);  --partikel: #9ec5fe;
  --kota-gunung-a: #253048;  --kota-gunung-b: #141a28;  --kota-jauh-a: #161c2a;  --kota-jauh-b: #0f131c;  --kota-salju: #dbe7ff;  --kota-dekat: #07090c;
  --jendela-1: #9ec5fe;  --jendela-2: #f3f5f8;  --jendela-3: #6ea8fe;
}

/* ---------------- OBSIDIAN (黒曜) ---------------- */
:root[data-tema="obsidian"] {
  --bg: #050507;  --bg-soft: #08080b;  --surface: #0d0d11;  --surface-2: #121217;  --surface-3: #1a1a21;  --surface-4: #2a2a33;
  --dasar-rgb: 5, 5, 7;  --permukaan-rgb: 13, 13, 17;  --tirai-rgb: 2, 2, 3;  --scrim-rgb: 5, 5, 7;  --latar-rgb: 0, 0, 0;
  --line: rgba(255, 255, 255, 0.07);  --line-2: rgba(255, 255, 255, 0.12);  --line-3: rgba(255, 255, 255, 0.2);
  --text: #f7f7fa;  --text-2: #dcdce2;  --muted: #b0b0ba;  --dim: #9e9ea8;  --faint: #5c5c66;
  --merah: #a78bfa;  --merah-muda: #c4b5fd;  --aksen-rgb: 167, 139, 250;  --merah-rgb: 124, 58, 237;  --accent-fill-2: #6d28d9;
  --bayang-judul: #4c1d95;  --bayang-judul-rgb: 76, 29, 149;
  --grad-accent: linear-gradient(100deg, #7c3aed 0%, #6d28d9 52%, #0e7490 100%);
  --emas: #22d3ee;  --emas-muda: #a5f3fc;  --emas-rgb: 34, 211, 238;  --emas-muda-rgb: 165, 243, 252;
  --grad-emas: linear-gradient(100deg, #ffffff 0%, #e9e3ff 35%, #c4b5fd 70%, #22d3ee 100%);
  --nyala: 0 8px 26px rgba(124, 58, 237, 0.35);
  --langit-1: #000000;  --langit-2: #050507;  --langit-3: #0d0a1a;  --langit-4: #1a1033;  --pendar-rgb: 124, 58, 237;
  --mentari: linear-gradient(180deg, #f5f3ff 0%, #c4b5fd 50%, #7c3aed 100%);
  --kelopak: linear-gradient(135deg, #ffffff, #e9e3ff 55%, #c4b5fd);  --partikel: #c4b5fd;
  --kota-gunung-a: #2a1f4a;  --kota-gunung-b: #120d24;  --kota-jauh-a: #15112a;  --kota-jauh-b: #0a0815;  --kota-salju: #e9e3ff;  --kota-dekat: #020203;
  --jendela-1: #c4b5fd;  --jendela-2: #f7f7fa;  --jendela-3: #22d3ee;
}

/* ==========================================================================
   PALET TERANG
   ========================================================================== */

/* ---------------- KORPORAT (企業) ----------------
   Token tema terang asli perusahaan (tokens.css): teks grafit, emas tua
   untuk teks aksen (6,2:1), emas terang untuk isian dengan label gelap. */
:root[data-tema="korporat"] {
  --bg: #ffffff;  --bg-soft: #fafafa;  --surface: #f7f7f9;  --surface-2: #f2f2f5;  --surface-3: #e9e9ee;  --surface-4: #dcdce3;
  --dasar-rgb: 255, 255, 255;  --permukaan-rgb: 247, 247, 249;  --tirai-rgb: 255, 255, 255;  --scrim-rgb: 13, 13, 18;  --latar-rgb: 13, 13, 18;
  --line: rgba(13, 13, 18, 0.08);  --line-2: rgba(13, 13, 18, 0.14);  --line-3: rgba(13, 13, 18, 0.24);
  --text: #0d0d12;  --text-2: #3d3d47;  --muted: #5f5f6b;  --dim: #6b6b78;  --faint: #b3b3c0;
  --merah: #7a5c0d;  --merah-muda: #6b5008;  --aksen-rgb: 122, 92, 13;  --merah-rgb: 212, 160, 23;  --accent-fill-2: #e8b923;
  --teks-isian: #0d0d12;
  --bayang-judul: #e3c46a;  --bayang-judul-rgb: 227, 196, 106;
  --grad-accent: linear-gradient(100deg, #f0c645 0%, #d4a017 55%, #c4930f 100%);
  --emas: #8a6710;  --emas-muda: #7a5c0d;  --emas-rgb: 184, 134, 11;  --emas-muda-rgb: 122, 92, 13;
  --grad-emas: linear-gradient(177deg, #14141a 0%, #43434f 30%, #0e0e13 55%, #5a5a68 80%, #101016 100%);
  --grad-garis: linear-gradient(90deg, #d4a017, #e3c46a 50%, transparent);
  --shadow-sm: 0 1px 2px rgba(13, 13, 18, 0.04), 0 2px 8px rgba(13, 13, 18, 0.04);
  --shadow: 0 2px 4px rgba(13, 13, 18, 0.04), 0 12px 28px rgba(13, 13, 18, 0.08);
  --shadow-lg: 0 4px 8px rgba(13, 13, 18, 0.05), 0 28px 64px rgba(13, 13, 18, 0.12);
  --nyala: 0 8px 22px rgba(212, 160, 23, 0.3);
  --langit-1: #ffffff;  --langit-2: #fdfcf8;  --langit-3: #f8f3e6;  --langit-4: #f1e6c8;  --pendar-rgb: 227, 196, 106;  --manga-rgb: 13, 13, 18;
  --mentari: linear-gradient(180deg, #fff3c4 0%, #f6d77a 50%, #d4a017 100%);
  --kelopak: linear-gradient(135deg, #fff8e1, #f6d77a 55%, #d4a017);  --partikel: #d4a017;
  --kota-gunung-a: #e6e2d6;  --kota-gunung-b: #d6d0bf;  --kota-jauh-a: #d9d6cc;  --kota-jauh-b: #c7c2b3;  --kota-salju: #ffffff;  --kota-dekat: #8f8a7c;
  --jendela-1: #f6d77a;  --jendela-2: #ffffff;  --jendela-3: #e3c46a;
}

/* ---------------- LANGIT BIRU (青空) ----------------
   Langit siang: teks gelap di atas biru muda, siluet kota berkabut biru. */
:root[data-tema="biru"] {
  --bg: #ffffff;  --bg-soft: #f8fafd;  --surface: #f4f7fc;  --surface-2: #eef3fb;  --surface-3: #e2e9f5;  --surface-4: #cfd9ea;
  --dasar-rgb: 255, 255, 255;  --permukaan-rgb: 244, 247, 252;  --tirai-rgb: 240, 247, 255;  --scrim-rgb: 15, 23, 42;  --latar-rgb: 15, 23, 42;
  --line: rgba(15, 23, 42, 0.08);  --line-2: rgba(15, 23, 42, 0.14);  --line-3: rgba(15, 23, 42, 0.24);
  --text: #0f172a;  --text-2: #334155;  --muted: #4b5a73;  --dim: #56637b;  --faint: #a9b4c7;
  --merah: #1d4ed8;  --merah-muda: #1e40af;  --aksen-rgb: 29, 78, 216;  --merah-rgb: 29, 78, 216;  --accent-fill-2: #2563eb;
  --bayang-judul: #bfd3fe;  --bayang-judul-rgb: 191, 211, 254;
  --grad-accent: linear-gradient(100deg, #1d4ed8 0%, #2563eb 55%, #1e40af 100%);
  --emas: #0e7490;  --emas-muda: #155e75;  --emas-rgb: 14, 116, 144;  --emas-muda-rgb: 21, 94, 117;
  --grad-emas: linear-gradient(100deg, #0f172a 0%, #1e3a8a 45%, #1d4ed8 78%, #0e7490 100%);
  --grad-garis: linear-gradient(90deg, #1d4ed8, #0e7490 50%, transparent);
  --shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.05), 0 2px 8px rgba(15, 23, 42, 0.05);
  --shadow: 0 2px 4px rgba(15, 23, 42, 0.05), 0 12px 28px rgba(15, 23, 42, 0.09);
  --shadow-lg: 0 4px 8px rgba(15, 23, 42, 0.06), 0 28px 64px rgba(15, 23, 42, 0.14);
  --nyala: 0 8px 22px rgba(29, 78, 216, 0.28);
  --langit-1: #5aa2f0;  --langit-2: #8cc4fb;  --langit-3: #c3e1ff;  --langit-4: #eef7ff;  --pendar-rgb: 255, 214, 102;
  --mentari: linear-gradient(180deg, #fffbe6 0%, #ffe58f 45%, #ffc53d 100%);
  --kelopak: linear-gradient(135deg, #ffffff, #e0efff 55%, #bfdbfe);  --partikel: #ffffff;
  --kota-gunung-a: #a9c7ea;  --kota-gunung-b: #86a9d6;  --kota-jauh-a: #8fb0d9;  --kota-jauh-b: #6d90c2;  --kota-salju: #ffffff;  --kota-dekat: #3d5a8a;
  --jendela-1: #dbeafe;  --jendela-2: #ffffff;  --jendela-3: #bfdbfe;
}

/* ---------------- WASHI (和紙) ----------------
   Kertas krem, tinta sumi, dan cakram merah hinomaru. */
:root[data-tema="washi"] {
  --bg: #fbf8f2;  --bg-soft: #f7f2e8;  --surface: #f5efe3;  --surface-2: #efe7d7;  --surface-3: #e5dac4;  --surface-4: #d6c8ad;
  --dasar-rgb: 251, 248, 242;  --permukaan-rgb: 245, 239, 227;  --tirai-rgb: 251, 247, 238;  --scrim-rgb: 29, 24, 19;  --latar-rgb: 29, 24, 19;
  --line: rgba(29, 24, 19, 0.09);  --line-2: rgba(29, 24, 19, 0.15);  --line-3: rgba(29, 24, 19, 0.26);
  --text: #1d1813;  --text-2: #423a31;  --muted: #5c5246;  --dim: #675d51;  --faint: #b9ad9b;
  --merah: #a52a17;  --merah-muda: #8f2414;  --aksen-rgb: 165, 42, 23;  --merah-rgb: 180, 45, 24;  --accent-fill-2: #c2381f;
  --bayang-judul: #e0a48c;  --bayang-judul-rgb: 224, 164, 140;
  --grad-accent: linear-gradient(100deg, #b42d18 0%, #c2381f 55%, #8f2414 100%);
  --emas: #7a5a1e;  --emas-muda: #6b4f1a;  --emas-rgb: 140, 104, 40;  --emas-muda-rgb: 107, 79, 26;
  --grad-emas: linear-gradient(100deg, #1d1813 0%, #3a2f25 50%, #1d1813 100%);
  --grad-garis: linear-gradient(90deg, #b42d18, #7a5a1e 50%, transparent);
  --shadow-sm: 0 1px 2px rgba(29, 24, 19, 0.05), 0 2px 8px rgba(29, 24, 19, 0.05);
  --shadow: 0 2px 4px rgba(29, 24, 19, 0.05), 0 12px 28px rgba(29, 24, 19, 0.09);
  --shadow-lg: 0 4px 8px rgba(29, 24, 19, 0.06), 0 28px 64px rgba(29, 24, 19, 0.13);
  --nyala: 0 8px 22px rgba(180, 45, 24, 0.25);
  --langit-1: #f7efe0;  --langit-2: #f3e6cf;  --langit-3: #eedcc0;  --langit-4: #e8cfae;  --pendar-rgb: 214, 66, 42;  --manga-rgb: 29, 24, 19;
  --mentari: linear-gradient(180deg, #d6422a 0%, #bc2f1c 100%);
  --kelopak: linear-gradient(135deg, #fff5f7, #f7c6d3 55%, #e88aa5);  --partikel: #e88aa5;
  --kota-gunung-a: #c9bba3;  --kota-gunung-b: #a8987d;  --kota-jauh-a: #b3a48b;  --kota-jauh-b: #94846b;  --kota-salju: #fbf8f2;  --kota-dekat: #4a4036;
  --jendela-1: #f5efe3;  --jendela-2: #fbf8f2;  --jendela-3: #e8b4a0;
}
/* Pendar hinomaru lebih lembut: di atas kertas ia cukup terasa. */
:root[data-tema="washi"] .langit { --pendar-rgb: 214, 120, 90; }

/* ---------------- HARU (春) ---------------- */
:root[data-tema="haru"] {
  --bg: #fffafc;  --bg-soft: #fff5f9;  --surface: #fdf2f6;  --surface-2: #fbe9f0;  --surface-3: #f6dbe6;  --surface-4: #ecc5d5;
  --dasar-rgb: 255, 250, 252;  --permukaan-rgb: 253, 242, 246;  --tirai-rgb: 255, 247, 251;  --scrim-rgb: 42, 21, 32;  --latar-rgb: 42, 21, 32;
  --line: rgba(42, 21, 32, 0.08);  --line-2: rgba(42, 21, 32, 0.14);  --line-3: rgba(42, 21, 32, 0.24);
  --text: #2a1520;  --text-2: #4d3340;  --muted: #654a58;  --dim: #705563;  --faint: #c9a9b8;
  --merah: #be185d;  --merah-muda: #9d174d;  --aksen-rgb: 190, 24, 93;  --merah-rgb: 190, 24, 93;  --accent-fill-2: #db2777;
  --bayang-judul: #f9c6d9;  --bayang-judul-rgb: 249, 198, 217;
  --grad-accent: linear-gradient(100deg, #be185d 0%, #db2777 55%, #9d174d 100%);
  --emas: #7c3aed;  --emas-muda: #6d28d9;  --emas-rgb: 124, 58, 237;  --emas-muda-rgb: 109, 40, 217;
  --grad-emas: linear-gradient(100deg, #9d174d 0%, #be185d 40%, #7c3aed 100%);
  --grad-garis: linear-gradient(90deg, #db2777, #7c3aed 50%, transparent);
  --shadow-sm: 0 1px 2px rgba(42, 21, 32, 0.05), 0 2px 8px rgba(42, 21, 32, 0.05);
  --shadow: 0 2px 4px rgba(42, 21, 32, 0.05), 0 12px 28px rgba(42, 21, 32, 0.09);
  --shadow-lg: 0 4px 8px rgba(42, 21, 32, 0.06), 0 28px 64px rgba(42, 21, 32, 0.13);
  --nyala: 0 8px 22px rgba(190, 24, 93, 0.25);
  --langit-1: #cfe8ff;  --langit-2: #e6e4fb;  --langit-3: #f8dcec;  --langit-4: #ffc4d9;  --pendar-rgb: 255, 140, 180;
  --mentari: linear-gradient(180deg, #fff7e0 0%, #ffd6a5 45%, #ff9bb8 100%);
  --kelopak: linear-gradient(135deg, #fff5f9, #ffc2d4 55%, #f78fb0);  --partikel: #f78fb0;
  --kota-gunung-a: #f3c1d3;  --kota-gunung-b: #e3a3bd;  --kota-jauh-a: #e8b3c8;  --kota-jauh-b: #d495b0;  --kota-salju: #ffffff;  --kota-dekat: #8a4d68;
  --jendela-1: #fff1f6;  --jendela-2: #ffffff;  --jendela-3: #ffd6e7;
}

/* ==========================================================================
   GERAK MINIMAL
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
  :root[data-tema="aurora"] .langit::before,
  :root[data-tema="aurora"] .page-hero::before,
  :root[data-gaya="minimal"] .langit__pendar { animation: none; }
}
