/* Into the portal (Thomas, 20 Oct 2026): a tap on a portal link zooms the page into it, the edges go dark and the portal light
   fills the screen, then the next page opens. One implementation for the Sagaling world pages and the demo page (portal.js).
   The element marked data-portal-zoom is the one that zooms; the light is the .portal-fx layer. */
[data-portal-zoom].enter{transition:transform 1s cubic-bezier(.55,0,.85,.35),filter 1s ease-in;transform:scale(7);filter:brightness(1.35) saturate(1.2)}
.portal-fx{position:fixed;inset:0;z-index:60;pointer-events:none;opacity:0;background:radial-gradient(circle at var(--x,50%) var(--y,80%),#fff8e0 0,#ffd98a 12%,#b37bff55 30%,#0b0612 70%);transition:opacity .9s ease-in .15s}
.portal-fx.on{opacity:1}
html.entering,html.entering body{overflow:hidden}
html.entering .portal-fx{pointer-events:auto}
@media (prefers-reduced-motion:reduce){[data-portal-zoom].enter{transition:none;transform:none;filter:none}.portal-fx{transition:opacity .25s linear}}
