/**
 * Pemetaan ulang token untuk mode gelap.
 *
 * Mode gelap di sini bukan hasil membalik warna, melainkan memetakan ulang
 * setiap peran ke langkah ramp yang tepat. Contoh paling jelas adalah
 * brand-primary: blue 600 hanya mencapai rasio 2.4:1 di atas latar gelap
 * dan praktis tidak terbaca, sehingga perannya diambil alih blue 400.
 *
 * --pintarin-gradient-icon-end tetap di teal-400 di sini karena teal-400
 * dipakai sebagai ujung gradient di belakang glyph gelap (--pintarin-
 * text-on-brand gelap), dan di situ rasionya aman. Ini kebalikan dari
 * pemetaannya di mode terang, tempat teal-400 gagal 3:1 melawan glyph
 * putih sehingga token ini dipetakan ke teal-700 (lihat theme.json).
 *
 * Aturan ditulis dua kali dengan sengaja. Blok media mengikuti preferensi
 * sistem pengunjung, sementara selektor data-theme menyediakan kaitan bagi
 * tombol pengalih yang mungkin ditambahkan kemudian tanpa membongkar apa pun.
 *
 * --pintarin-border-strong dinaikkan dari 18% ke 36% alfa putih. Pada 18%
 * ia dikomposit hanya 1.649–1.765:1 terhadap ketiga permukaan gelap — gagal
 * ambang 3:1 SC 1.4.11 untuk batas komponen antarmuka, kegagalan yang sama
 * dengan yang sudah diperbaiki di mode terang (lihat theme.json dan spec
 * bagian 3.2). Pada 36% ia mencapai 3.26–3.32:1 di ketiganya. Diverifikasi
 * ikut menjaga urutan hover thumb scrollbar: komposit 36% (luminans
 * ~0.124–0.154) tetap jauh lebih redup daripada --pintarin-text-muted mode
 * gelap yang dipakai untuk state hover-nya (#94A3B8, luminans ~0.36), jadi
 * hover tetap mencerahkan, bukan terbalik. --pintarin-border-subtle TIDAK
 * disentuh — peran dan penilaiannya berbeda, belum dievaluasi.
 */

@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) {
		--pintarin-surface-base: #070B14;
		--pintarin-surface-subtle: #0F172A;
		--pintarin-surface-raised: #131C2E;
		--pintarin-surface-glass: rgba(255, 255, 255, 0.06);
		--pintarin-surface-texture: radial-gradient(60% 80% at 88% 8%, rgba(93, 197, 199, 0.07) 0%, rgba(93, 197, 199, 0) 62%), radial-gradient(50% 70% at 6% 92%, rgba(95, 141, 226, 0.06) 0%, rgba(95, 141, 226, 0) 60%);
		--pintarin-hero-wash: linear-gradient(180deg, rgba(95, 141, 226, 0.10) 0%, rgba(95, 141, 226, 0) 58%);
		--pintarin-border-subtle: rgba(255, 255, 255, 0.10);
		--pintarin-border-strong: rgba(255, 255, 255, 0.36);
		--pintarin-text-primary: #F1F5F9;
		--pintarin-text-secondary: #94A3B8;
		--pintarin-text-muted: #94A3B8;
		--pintarin-text-on-brand: #070B14;
		--pintarin-brand-primary: #5F8DE2;
		--pintarin-brand-primary-hover: #93B4ED;
		--pintarin-brand-accent: #5DC5C7;
		--pintarin-gradient-icon-end: #5DC5C7;
		--pintarin-status-success: #32D583;
		--pintarin-status-warning: #FDB022;
		--pintarin-status-error: #F97066;
		--pintarin-focus-ring: var(--pintarin-brand-primary);
		--pintarin-shadow-e1: 0 1px 2px rgba(0, 0, 0, 0.40), 0 1px 3px rgba(0, 0, 0, 0.30);
		--pintarin-shadow-e2: 0 2px 4px rgba(0, 0, 0, 0.40), 0 8px 24px rgba(0, 0, 0, 0.45);
		--pintarin-shadow-e3: 0 4px 8px rgba(0, 0, 0, 0.45), 0 20px 48px rgba(0, 0, 0, 0.55);
	}
}

:root[data-theme="dark"] {
	--pintarin-surface-base: #070B14;
	--pintarin-surface-subtle: #0F172A;
	--pintarin-surface-raised: #131C2E;
	--pintarin-surface-glass: rgba(255, 255, 255, 0.06);
	--pintarin-surface-texture: radial-gradient(60% 80% at 88% 8%, rgba(93, 197, 199, 0.07) 0%, rgba(93, 197, 199, 0) 62%), radial-gradient(50% 70% at 6% 92%, rgba(95, 141, 226, 0.06) 0%, rgba(95, 141, 226, 0) 60%);
	--pintarin-hero-wash: linear-gradient(180deg, rgba(95, 141, 226, 0.10) 0%, rgba(95, 141, 226, 0) 58%);
	--pintarin-border-subtle: rgba(255, 255, 255, 0.10);
	--pintarin-border-strong: rgba(255, 255, 255, 0.36);
	--pintarin-text-primary: #F1F5F9;
	--pintarin-text-secondary: #94A3B8;
	--pintarin-text-muted: #94A3B8;
	--pintarin-text-on-brand: #070B14;
	--pintarin-brand-primary: #5F8DE2;
	--pintarin-brand-primary-hover: #93B4ED;
	--pintarin-brand-accent: #5DC5C7;
	--pintarin-gradient-icon-end: #5DC5C7;
	--pintarin-status-success: #32D583;
	--pintarin-status-warning: #FDB022;
	--pintarin-status-error: #F97066;
	--pintarin-focus-ring: var(--pintarin-brand-primary);
	--pintarin-shadow-e1: 0 1px 2px rgba(0, 0, 0, 0.40), 0 1px 3px rgba(0, 0, 0, 0.30);
	--pintarin-shadow-e2: 0 2px 4px rgba(0, 0, 0, 0.40), 0 8px 24px rgba(0, 0, 0, 0.45);
	--pintarin-shadow-e3: 0 4px 8px rgba(0, 0, 0, 0.45), 0 20px 48px rgba(0, 0, 0, 0.55);
}

/* Beri tahu browser agar kontrol bawaan seperti scrollbar ikut menggelap. */
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) {
		color-scheme: dark;
	}
}

:root[data-theme="dark"] {
	color-scheme: dark;
}
