/* Bukaan MEKAR (functions/_lib/render/bukaan/mekar.ts, koreografi mekar.js). Lapisan .kembang dikongsi modul lain
   yang guna KAD.kembang (contoh peti), jadi modul tu senaraikan 'mekar' dalam `perlu`. */
.bk--mekar{justify-content:space-between;padding:clamp(3rem,10svh,6rem) 0 calc(3svh + env(safe-area-inset-bottom))}
.mk-pentas{position:relative;flex:1;display:grid;place-items:center;width:100%;min-height:0}
.mk-sampul{position:relative;display:block;width:min(42vw,220px);aspect-ratio:1100/1263;padding:0;border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.mk-sampul__bob{position:absolute;inset:0}
.mk-sampul__img{position:absolute;inset:0;width:100%;height:100%;max-width:none;filter:drop-shadow(var(--sh-env))}
.mk-sampul__buka{opacity:0}
.seal--mk{--seal-y:83.97%}
.mod-video .bk--mekar{padding-top:calc(var(--vz-t) + 2px);padding-bottom:calc(100svh - var(--vz-b))}
.mod-video .bk--mekar .bk__atas{gap:.2rem}
.mod-video .bk--mekar .names--bk{font-size:2.5rem}
.mod-video .mk-sampul{width:min(34vw,180px)}
@media (prefers-reduced-motion:no-preference){
  .mk-sampul__bob{animation:apung 3s var(--ease-inout) infinite alternate}
  .bk--mekar .bk__petunjuk.is-in{animation:denyut 2.2s var(--ease-inout) infinite}
  .is-opening .mk-sampul__bob,.is-opening .bk__petunjuk.is-in{animation:none}
}

/* lapisan bunga mekar (dibina KAD.kembang): luar tetap + klip lajur, dalam diskala (zum + terbang tembus) */
.kembang{position:fixed;top:0;bottom:0;left:50%;translate:-50% 0;width:min(100%,var(--col));z-index:103;pointer-events:none;overflow:hidden}
.ada-jalur .kembang{top:var(--jalur-h)}
/* will-change: lapisan sendiri dengan skala raster tetap, zum kamera tak raster semula 70+ bunga setiap bingkai
   (CPU 4x, p95 bingkai 100-280ms jadi ~50ms) */
.kembang__in{position:absolute;inset:0;will-change:transform}
.kembang__b{position:absolute;left:0;top:0}
.kembang__b img{width:100%;max-width:none}
.kembang__b.cermin img{scale:-1 1}
