/* 09 · #peruntukan (milik S2). Semua pemilih diawali #peruntukan atau .pr__ */

#peruntukan .swap > * { align-self: start; }

/* Latar ambient Koba (sama dengan #bukaan); hilang saat pindah ke Belinyu */
#peruntukan .pr__latar {
  position: absolute; inset: -4%; width: 108%; height: 108%; max-width: none; object-fit: cover; z-index: 0;
  filter: blur(34px) brightness(.32) saturate(.85); pointer-events: none; transition: opacity .9s var(--ease);
}
#peruntukan[data-state="1"] .pr__latar { opacity: 0; }
#peruntukan .pr__koba { z-index: 1; background: transparent; transition: opacity .9s var(--ease); }
#peruntukan .pr__koba::after {
  content: ''; position: absolute; pointer-events: none;
  left: var(--komposit-x0, 0); right: var(--komposit-x1, 0); top: var(--komposit-y0, 0); bottom: var(--komposit-y1, 0);
  box-shadow: 0 0 0 1px rgba(230, 237, 243, .08), 0 30px 80px -30px rgba(0, 0, 0, .9);
}
#peruntukan[data-state="1"] .pr__koba { opacity: 0; }

/* Lapisan garis di atas peta dasar (tanpa citra raster): peralihan opacity per lapisan dikomposit saja */
#peruntukan .pr__lapisan { position: absolute; inset: 0; width: 100%; height: 100%; display: block; pointer-events: none; overflow: hidden; z-index: 2; will-change: opacity; }
#peruntukan .pr__lapisan path { vector-effect: non-scaling-stroke; stroke-linejoin: round; }

/* 201 bukaan amber dari #bukaan: tampil saat scene masuk, lalu digantikan warna peruntukan */
#peruntukan .pr__poli-amber { fill: var(--accent); fill-opacity: .14; stroke: var(--accent); stroke-width: 1.4; }
#peruntukan .pr__lap-amber { transition: opacity .7s var(--ease); }
#peruntukan[data-state="0"] .pr__lap-amber, #peruntukan[data-state="1"] .pr__lap-amber, .is-static #peruntukan .pr__lap-amber { opacity: 0; transition-delay: 1.5s; }

/* 1.611 area per peruntukan: warna kategori dashboard (token --kat-*); lainnya abu */
#peruntukan .pr__pt { fill-opacity: .4; stroke-width: 1; }
#peruntukan .pr__lap-tambang, #peruntukan .pr__lap-kebun, #peruntukan .pr__lap-lain { opacity: 0; transition: opacity .7s var(--ease); }
#peruntukan[data-state="0"] .pr__lap-tambang, #peruntukan[data-state="1"] .pr__lap-tambang, .is-static #peruntukan .pr__lap-tambang { opacity: 1; transition-delay: .35s; }
#peruntukan[data-state="0"] .pr__lap-kebun, #peruntukan[data-state="1"] .pr__lap-kebun, .is-static #peruntukan .pr__lap-kebun { opacity: 1; transition-delay: .55s; }
#peruntukan[data-state="0"] .pr__lap-lain, #peruntukan[data-state="1"] .pr__lap-lain, .is-static #peruntukan .pr__lap-lain { opacity: 1; transition-delay: .75s; }
#peruntukan .pr__pt--tambang { fill: var(--kat-tambang); stroke: var(--kat-tambang); }
#peruntukan .pr__pt--kebun { fill: var(--kat-kebun); stroke: var(--kat-kebun); }
#peruntukan .pr__pt--mukim { fill: var(--kat-mukim); stroke: var(--kat-mukim); }
#peruntukan .pr__pt--jalan { fill: var(--kat-jalan); stroke: var(--kat-jalan); }
#peruntukan .pr__pt--lain { fill: var(--text-muted); stroke: var(--text-muted); }
#peruntukan .pr--kebun .pr__lap-kebun { opacity: .1; transition: opacity .9s var(--ease); transition-delay: 0s; }
/* Lapisan Koba ikut hilang saat pindah ke Belinyu */
#peruntukan[data-state="1"] .pr__lap-tambang, #peruntukan[data-state="1"] .pr__lap-kebun, #peruntukan[data-state="1"] .pr__lap-lain { opacity: 0; transition-delay: 0s; }

/* Kartu kiri bawah: legenda + penghitung (s0), daftar Belinyu (s1); ditumpuk lewat .swap */
#peruntukan .pr__kartu-tumpuk { position: absolute; z-index: 4; left: var(--gutter); bottom: 6vh; }
#peruntukan .pr__kartu-tumpuk > * { align-self: end; }
#peruntukan .pr__kartu {
  width: calc(var(--u) * 22); max-width: 100%;
  padding: calc(var(--u) * 1.1) calc(var(--u) * 1.3);
  background: var(--c-panel); border: 1px solid var(--c-line); border-radius: 12px;
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
#peruntukan .pr__legenda { list-style: none; margin: 0; padding: 0; display: grid; gap: calc(var(--u) * .45); }
#peruntukan .pr__kat { display: flex; align-items: center; gap: .6em; font-size: var(--fs-label); font-weight: 600; color: var(--c-fg); transition: opacity .8s var(--ease); }
#peruntukan .pr__kat b { margin-left: auto; font-weight: 700; color: var(--c-fg); }
#peruntukan .pr__kat i { width: 12px; height: 12px; border-radius: 3px; flex: none; }
#peruntukan .pr__kat--tambang i { background: var(--kat-tambang); }
#peruntukan .pr__kat--kebun i { background: var(--kat-kebun); }
#peruntukan .pr__kat--mukim i { background: var(--kat-mukim); }
#peruntukan .pr__kat--jalan i { background: var(--kat-jalan); }
#peruntukan .pr__kat--lain i { background: var(--text-muted); }
#peruntukan .pr--kebun .pr__kat--kebun { opacity: .45; }
#peruntukan .pr__tampil {
  margin: calc(var(--u) * .9) 0 0; padding-top: calc(var(--u) * .8); border-top: 1px solid var(--c-line-2);
  font-size: var(--fs-label); font-weight: 600; color: var(--c-fg-2); white-space: nowrap;
}
#peruntukan .pr__tampil b { color: var(--c-accent); font-family: var(--display); font-size: 1.45em; font-weight: 700; }
#peruntukan .pr__panah { opacity: 0; transition: opacity .5s var(--ease); }
#peruntukan .pr--kebun .pr__panah, .is-static #peruntukan .pr__panah { opacity: 1; }

/* s1: daftar 41 bukaan Belinyu */
#peruntukan .pr__jumlah { margin: 0 0 calc(var(--u) * .7); display: flex; align-items: baseline; white-space: nowrap; }
#peruntukan .pr__token { list-style: none; margin: 0 0 calc(var(--u) * .8); padding: 0; display: flex; flex-wrap: wrap; min-height: calc(var(--u) * 3.6); }
#peruntukan .pr__t {
  width: calc(var(--u) * .95); height: calc(var(--u) * .95); margin: 0 4px 4px 0; border-radius: 3px; background: var(--accent);
  transition: width .6s var(--ease), margin .6s var(--ease), opacity .45s var(--ease);
}
#peruntukan .pr__t--tambak { background: var(--info); }
#peruntukan[data-state="1"] .pr__t--tambak { animation: pr-kedip 1.1s ease-in-out .25s 1; }
#peruntukan .pr--tambak .pr__t--tambak { width: 0; margin-right: 0; opacity: 0; }
#peruntukan .pr__kat--tambang-baru i { background: var(--accent); }
#peruntukan .pr__kat--tambak i { background: var(--info); }
@keyframes pr-kedip { 0%, 100% { opacity: 1; } 30% { opacity: .15; } 60% { opacity: 1; box-shadow: 0 0 0 3px rgba(56, 189, 248, .5); } }

/* Belinyu: citra A-05 menutup panel; garis di lapisan sendiri, dipotong ke batas citra */
#peruntukan .pr__bel { z-index: 3; opacity: 0; transition: opacity .9s var(--ease) .2s; }
#peruntukan .pr__lap-bel { z-index: 3; opacity: 0; transition: opacity .9s var(--ease) .2s; }
#peruntukan[data-state="1"] .pr__bel, .is-static #peruntukan .pr__bel, #peruntukan[data-state="1"] .pr__lap-bel, .is-static #peruntukan .pr__lap-bel { opacity: 1; }
#peruntukan .pr__poli-tambak { fill: var(--info); fill-opacity: .2; stroke: var(--info); stroke-width: 1.8; }
#peruntukan[data-state="1"] .pr__poli-tambak { animation: pr-kedip-garis 1.1s ease-in-out .25s 1; }
@keyframes pr-kedip-garis { 0%, 100% { stroke-width: 1.8; fill-opacity: .2; } 45% { stroke-width: 4; fill-opacity: .55; } }
#peruntukan .pr__bel .peta-dasar__penanda { opacity: 0; transition: opacity .4s; }
#peruntukan[data-state="1"] .pr__bel .peta-dasar__penanda { opacity: 1; }
#peruntukan .pr__koba .peta-dasar__penanda { display: none; }
#peruntukan.pr--bel-kosong .pr__atribusi > :last-child, #peruntukan .pr--bel-kosong .pr__atribusi > :last-child { visibility: hidden; }

/* Atribusi pojok kanan bawah komposit */
#peruntukan .pr__atribusi { position: absolute; z-index: 5; right: calc(var(--komposit-x1, var(--gutter)) + var(--u) * .7); bottom: calc(var(--komposit-y1, 4vh) + var(--u) * .5); justify-items: end; }
/* Belinyu menutup panel: atribusi di pojok kanan bawah layar */
#peruntukan[data-state="1"] .pr__atribusi { right: var(--gutter); bottom: 4.2vh; }

@media (max-width: 860px) {
  #peruntukan .pr__kartu-tumpuk { position: relative; left: auto; bottom: auto; margin: 16px; }
}

/* Lapisan kompositor sendiri untuk peralihan pudar */
#peruntukan .pr__koba, #peruntukan .pr__bel, #peruntukan .pr__latar, #peruntukan .pr__lapisan { will-change: opacity; }

/* Mode statis: satu baris atribusi saja (yang lengkap) */
.is-static #peruntukan .pr__atribusi > :last-child { display: none; }
