/* Sorot Energi Newsroom 1.9.137 · Lapisan performa (animasi & kualitas gambar dipertahankan)
 * Dimuat paling akhir di semua halaman newsroom.
 * Prinsip: semua animasi tetap berjalan dan terlihat sama, tetapi dikerjakan oleh compositor GPU
 * (transform/opacity pada layer sendiri) dan tidak memicu hitung ulang blur di elemen lain.
 *
 * Penyebab lag yang ditemukan di sorotenergi.com:
 *  1) Header sticky, tombol ke-atas, dan toolbar baca memakai backdrop-filter di atas latar ambient yang
 *     bergerak → blur layar-lebar dihitung ulang setiap frame. Latar elemen ini sudah ±93% pekat,
 *     jadi blur-nya praktis tidak terlihat.
 *  2) Partikel latar digerakkan lewat background-position → seluruh layar dicat ulang setiap frame.
 *  3) Animasi di bagian yang sedang tidak terlihat tetap berjalan.
 */

/* 1. Latar ambient: animasi tetap, setiap lapisan punya layer GPU sendiri. */
#se-newsroom .se-ambient-bg{contain:strict;isolation:isolate}
#se-newsroom .se-ambient-grid,
#se-newsroom .se-ambient-orb,
#se-newsroom .se-ambient-beam{will-change:transform,opacity;backface-visibility:hidden}
/* Orb: blur 64–82 px diganti gradasi yang sudah lembut (diuji piksel: selisih rata-rata <1/255, mata tidak bisa membedakan).
   Ukuran diperbesar sebesar radius blur lewat padding sehingga posisi, gerak, dan skala animasi tidak berubah. */
#se-newsroom .se-ambient-orb{filter:none!important;box-sizing:content-box;padding:64px;margin:-64px}
#se-newsroom .se-ambient-orb-a{background:radial-gradient(circle at 55% 45%,rgba(30,154,255,.435) 0%,rgba(23,104,255,.195) 31.5%,rgba(23,104,255,0) 63%)!important}
#se-newsroom .se-ambient-orb-b{background:radial-gradient(circle at 50% 50%,rgba(67,217,250,.336) 0%,rgba(31,116,255,.119) 37.8%,rgba(31,116,255,0) 64.8%)!important}
#se-newsroom .se-ambient-orb-c{padding:82px;margin:-82px;background:radial-gradient(circle,rgba(33,102,255,.196) 0%,rgba(67,217,250,.077) 36%,transparent 57.6%)!important}
/* Sinar: blur 18 px diganti mask lembut di sisi kiri-kanan (tampilan sama, tanpa filter per frame). */
#se-newsroom .se-ambient-beam{filter:none!important;-webkit-mask-image:linear-gradient(90deg,transparent,#000 22%,#000 78%,transparent);mask-image:linear-gradient(90deg,transparent,#000 22%,#000 78%,transparent)}

/* Partikel: tampilan sama, tetapi digeser dengan transform (bukan background-position) sehingga tidak dicat ulang. */
#se-newsroom .se-ambient-noise{background:none!important;animation:none!important;inset:-220px!important}
#se-newsroom .se-ambient-noise::before,
#se-newsroom .se-ambient-noise::after{content:"";position:absolute;inset:0;will-change:transform;backface-visibility:hidden}
#se-newsroom .se-ambient-noise::before{background-image:radial-gradient(circle at 20% 30%,rgba(132,229,255,.28) 0 1px,transparent 1.4px);background-size:94px 94px}
#se-newsroom .se-ambient-noise::after{background-image:radial-gradient(circle at 80% 70%,rgba(91,142,255,.22) 0 1px,transparent 1.4px);background-size:137px 137px;background-position:31px 17px}
#se-newsroom.se-motion .se-ambient-noise::before{animation:seNoiseA 30s linear infinite}
#se-newsroom.se-motion .se-ambient-noise::after{animation:seNoiseB 30s linear infinite}
@keyframes seNoiseA{from{transform:translate3d(0,0,0)}to{transform:translate3d(94px,188px,0)}}
@keyframes seNoiseB{from{transform:translate3d(0,0,0)}to{transform:translate3d(-106px,137px,0)}}

/* 2. Bar sticky/fixed: backdrop-filter dilepas, warna dibuat sedikit lebih pekat (hasil visual sama). */
#se-newsroom .header,
body.se-map-page #se-newsroom>.header,
#se-newsroom .reading-toolbar,
#se-newsroom .back-top{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
#se-newsroom .header{background:rgba(7,13,27,.97)!important}
#se-newsroom .reading-toolbar{background:#0b162afa!important}
#se-newsroom .back-top{background:#0d2443f2!important}

/* 3. Animasi di bagian yang sedang di luar layar dijeda (diatur performance.js); kembali berjalan saat terlihat. */
#se-newsroom .se-offscreen,
#se-newsroom .se-offscreen *,
#se-newsroom .se-offscreen::before,
#se-newsroom .se-offscreen::after,
#se-newsroom .se-offscreen *::before,
#se-newsroom .se-offscreen *::after{animation-play-state:paused!important}

/* 4. Peta: denyut pin tetap ada, tetapi dijeda sebentar saat peta digeser/di-zoom agar gerakan peta mulus. */
#se-atlas.se-map-busy .sa-block-halo,
#se-atlas.se-map-busy .sa-ring,
#se-atlas.se-map-busy .sa-glow{animation-play-state:paused!important}

/* 5. Saat tab browser tidak terlihat, semua animasi dijeda (hemat baterai & CPU). */
.se-page-hidden #se-newsroom *,
.se-page-hidden #se-newsroom *::before,
.se-page-hidden #se-newsroom *::after{animation-play-state:paused!important}
