/* A viewport-sized glass layer: never blur or rasterise a whole long page. */
html{--idn-route-blur:7px;--idn-route-enter:460ms;--idn-route-exit:220ms}
html.idn-page-entering::after,html.idn-page-leaving::after{content:"";position:fixed;inset:0;z-index:2147483000;pointer-events:none;background:#0b08131c;-webkit-backdrop-filter:blur(var(--idn-route-blur));backdrop-filter:blur(var(--idn-route-blur))}
html.idn-page-entering::after{animation:idn-route-arrive var(--idn-route-enter) cubic-bezier(.16,1,.3,1) both}
html.idn-page-leaving::after{animation:idn-route-depart var(--idn-route-exit) ease-in both}
@keyframes idn-route-arrive{from{opacity:1;-webkit-backdrop-filter:blur(var(--idn-route-blur));backdrop-filter:blur(var(--idn-route-blur))}to{opacity:0;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}}
@keyframes idn-route-depart{from{opacity:0;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}to{opacity:1;-webkit-backdrop-filter:blur(var(--idn-route-blur));backdrop-filter:blur(var(--idn-route-blur))}}
@media(max-width:767px),(pointer:coarse){html{--idn-route-blur:4px;--idn-route-enter:360ms;--idn-route-exit:180ms}}
@media(prefers-reduced-motion:reduce){html.idn-page-entering::after,html.idn-page-leaving::after{display:none;animation:none}}
