/* Transparent feedback layers: never capture a click or cover readable content. */
.portal-motion-layer{position:fixed;inset:0;z-index:2147483000;pointer-events:none!important;overflow:hidden;contain:strict;isolation:isolate}
.portal-motion-layer *,.portal-control-halo,.portal-click-ring{pointer-events:none!important;user-select:none}
.portal-sweep{position:absolute;left:-20%;top:-20%;height:140%;width:36%;opacity:0;background:linear-gradient(90deg,transparent 0%,#8b8fff0b 10%,#a3caff25 44%,#d8eaff55 49%,#c4f89a38 50%,#b2b5ff13 62%,transparent 100%);filter:blur(2px);transform:translate3d(-130vw,0,0) skewX(-18deg);will-change:transform,opacity}
.portal-horizon{position:absolute;inset:10% -10%;opacity:0;border-radius:50%;background:radial-gradient(ellipse at 50% 50%,transparent 52%,#a2c3ff0b 66%,#c0f88a15 70%,transparent 73%);will-change:scale,opacity}
.portal-control-halo{position:fixed;z-index:2147483001;display:block;margin:0;border:1px solid #c9fda7;box-shadow:0 0 25px #b3ceff40,inset 0 0 16px #c5f9b014;opacity:0;pointer-events:none!important;transform-origin:center}
.portal-click-ring{position:fixed;z-index:2147483002;display:block;width:54px;height:54px;margin:0;border:1px solid #d6e5ffaa;border-radius:50%;background:radial-gradient(circle,transparent 45%,#b8d7ff0d 70%,transparent 71%);box-shadow:0 0 15px #a9b8ff1f;opacity:0;pointer-events:none!important}
.still .portal-motion-layer,.still .portal-control-halo,.still .portal-click-ring,.motion-off .portal-motion-layer,.motion-off .portal-control-halo,.motion-off .portal-click-ring{display:none!important}
@media(prefers-reduced-motion:reduce){.portal-motion-layer,.portal-control-halo,.portal-click-ring{display:none!important}}
