/* KOKIO gateway -> site route transition. Shared visual handoff only; page motion remains owned by each destination. */
.kokio-route-arrival,
.kokio-route-exit{
  position:fixed;
  inset:0;
  z-index:2147483000;
  overflow:hidden;
  pointer-events:all;
  background:#120205;
  contain:layout paint style;
}
.kokio-route-arrival{
  display:none;
  opacity:1;
}
html.kokio-route-arrival-pending,
html.kokio-route-arrival-pending body{
  background:#120205!important;
  overflow:hidden!important;
}
html.kokio-route-arrival-pending .kokio-route-arrival{display:block}
.kokio-route-transition-veil{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 45%,rgba(255,74,79,.28) 0%,rgba(143,17,23,.32) 22%,rgba(18,2,5,.88) 58%,#080102 100%),
    linear-gradient(115deg,#080102 0%,#4d0810 40%,#8f1117 67%,#120205 100%);
  opacity:1;
}
.kokio-route-exit .kokio-route-transition-veil{opacity:0}
.kokio-route-transition-canvas{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  pointer-events:none;
}
.kokio-route-arrival .kokio-route-transition-canvas{opacity:1}
.kokio-route-exit{background:transparent;opacity:1}
body.kokio-route-leaving{overflow:hidden!important}
body.kokio-route-leaving .kokio-gateway-button{pointer-events:none!important}
@media(prefers-reduced-motion:reduce){
  .kokio-route-transition-canvas{display:none!important}
  .kokio-route-transition-veil{background:#8f1117!important}
}
