/* WebGL2-слои `render/browser/stagefx.mjs`. Холст проявляется после первого
   готового кадра; без WebGL2 остаются прежние SVG и Canvas 2D. */
.pres-universe {
  position: absolute; inset: 0; width: 100%; height: 100%;
  z-index: -1; pointer-events: none;
  opacity: 0; transition: opacity 1.6s ease;
}
.pres-universe[data-fx-state="ready"] { opacity: 1; }
.pres:has(> .pres-universe[data-fx-state="ready"]) > .star-field { opacity: .08; }
.pres:has(> .pres-universe[data-fx-state="ready"]) > .pres-depth { opacity: .3; }

.ex-cosmos__gl {
  position: absolute; inset: 0; width: 100%; height: 100%;
  pointer-events: none; opacity: 0; transition: opacity 1.2s ease;
}
.ex-cosmos__gl[data-fx-state="ready"] { opacity: 1; }
.ex-cosmos:has(> .ex-cosmos__gl[data-fx-state="ready"]) :is(.ex-cosmos__galaxy-plane, .ex-galaxy-track, .ex-cosmos__galaxy-heart) { display: none; }

.ex-cosmos__face-gl {
  position: absolute; inset: 0; width: 100%; height: 100%;
  pointer-events: none; opacity: 0; transition: opacity .9s ease;
}
.ex-cosmos__face-gl[data-fx-state="ready"] { opacity: 1; }
.ex-cosmos__portrait:has(> .ex-cosmos__face-gl[data-fx-state="ready"]) > .ex-cosmos__face { opacity: 0 !important; }
