/* Bacavia-only shared transition curtain; no downloaded artwork required. */
@view-transition{navigation:none}
html::before,html::after{pointer-events:none}
html.bc-transition-active::before,html.bc-transition-active::after{visibility:visible;opacity:1}
html::before{content:"";position:fixed;inset:0;z-index:2147483645;background:radial-gradient(ellipse at 50% 42%,#258e91,#126777 45%,#083b53);opacity:0;visibility:hidden;transition:opacity 180ms ease,visibility 0s linear 180ms}
html::after{content:"\25C8  BACAVIA";position:fixed;inset:0;z-index:2147483646;display:grid;place-items:center;color:#f6db9f;font:600 clamp(22px,5vw,34px)/1.4 system-ui,sans-serif;letter-spacing:.15em;opacity:0;visibility:hidden;transition:opacity 180ms ease,visibility 0s linear 180ms}
html.bc-transition-active::before{pointer-events:auto}
html.bc-transition-active::before,html.bc-transition-active::after{transition:opacity 160ms ease,visibility 0s}
@media(prefers-reduced-motion:reduce){html::before,html::after{transition:none!important}}

/* Fail open without JavaScript if a webview freezes timers or navigation is cancelled. */
html.bc-transition-active::before,html.bc-transition-active::after{animation:bc-transition-release 1.5s step-end forwards}
@keyframes bc-transition-release{to{opacity:0;visibility:hidden;pointer-events:none}}

/* The arrival loader is separate from the navigation curtain. Embedded browsers
   must remain readable and scrollable even if storage/timers/resources stall. */
html.bc-embedded-browser .bacavia-loading{display:none!important;visibility:hidden!important;pointer-events:none!important}
html.bc-embedded-browser body.bg-game.ksrf-loading-active{overflow:auto!important}

/* Embedded browsers share limited rendering resources with their host app.
   Preserve artwork/controls; skip page-wide fades and decorative repaints. */
html.bc-embedded-browser body.bg-game,
html.bc-embedded-browser body.bg-game>.shell{animation:none!important}
html.bc-embedded-browser .bw-life *,
html.bc-embedded-browser .bw-life *::before,
html.bc-embedded-browser .bw-life *::after{animation:none!important;filter:none!important}
