/* Light moves on its own clock. The document and scrollbar stay native. */
body.vector.eup-pages [data-optical-surface]{position:relative;isolation:isolate;--optical-duration:26s;--optical-delay:-8s}
.optical-light{display:block;position:absolute;inset:0;z-index:0;overflow:hidden;overflow:clip;pointer-events:none!important;border-radius:inherit;user-select:none}
.optical-light::before,.optical-light::after{content:"";position:absolute;pointer-events:none!important;animation-play-state:paused!important}
/* Glass keeps a readable body and a thin brushed-metal perimeter. */
body.vector.eup-pages [data-optical-surface="glass"]{background-color:#eef2e5e8;background-image:linear-gradient(123deg,#ffffff9c 0%,#f5f7ed38 20%,#9fae9433 48%,#fbfcef5c 65%,#b0baa12b 100%);box-shadow:inset 0 1px 0 #ffffffcf,inset 1px 0 0 #ffffff70,inset -1px -1px 0 #76876b40,0 7px 20px #223c3005}
body.vector.eup-pages [data-optical-surface="glass"]>.optical-light{z-index:-1}
[data-optical-surface="glass"]>.optical-light::before{inset:-50% -70%;background:linear-gradient(118deg,transparent 39%,#ffffff05 43%,#ffffffb3 50%,#ffffff12 57%,transparent 62%);opacity:.45;transform:translate3d(-18%,0,0);animation:optical-glass-sweep 29s ease-in-out -9s infinite alternate}
[data-optical-surface="glass"]>.optical-light::after{inset:0;background:linear-gradient(104deg,#ffffffad,transparent 27%,#536a4712 53%,transparent 70%,#c4b7872e);opacity:.6}
body.vector.eup-pages .ps-direction-hardware[data-optical-surface="glass"]{background-color:#66745eee;background-image:linear-gradient(125deg,#ffffff15,transparent 32%,#dce2c92b 62%,#283d2826);box-shadow:inset 0 1px 0 #edf2dd70,inset 1px 0 0 #edf2dd30,inset -1px -1px 0 #203a3160}
.ps-direction-hardware[data-optical-surface="glass"]>.optical-light::before{opacity:.15}
body.vector.eup-pages .ps-direction-profit[data-optical-surface="glass"]{background-color:#d9d4b8eb}
body.vector.eup-pages .si-controls[data-optical-surface="glass"]{padding-inline:22px}
/* The decorative layer must not displace the gateway's label/arrow layout. */
body.vector.eup-pages .home-connections>a[data-optical-surface]>span:not(.optical-light){display:flex;justify-content:space-between;align-items:baseline;gap:20px;font-size:clamp(18px,2vw,27px);letter-spacing:-.035em}
body.vector.eup-pages .home-connections>a>.optical-light{display:block}
@media(max-width:760px){body.vector.eup-pages .home-connections>a[data-optical-surface]>span:not(.optical-light){font-size:18px;line-height:1.35;gap:12px}}
/* The floating editing window is genuinely translucent; controls stay solid. */
body.vector.eup-pages .image-picker-host .image-picker-toolbar{background:linear-gradient(122deg,#fffffff2,#eef3e1d9 48%,#f9fbf1ee);border-color:#899b7773;box-shadow:inset 0 1px 0 #ffffff,0 8px 24px #213b321f;-webkit-backdrop-filter:blur(8px) saturate(.85);backdrop-filter:blur(8px) saturate(.85)}
body.vector.eup-pages .image-picker-host[data-image-picker-framing="true"] .image-picker-toolbar{background:#f8faf3;-webkit-backdrop-filter:none;backdrop-filter:none}
[data-optical-active="true"]>.optical-light::before,[data-optical-active="true"]>.optical-light::after{animation-play-state:running!important}
[data-image-picker-none="true"]>.optical-light,[data-image-picker-framing="true"]>.optical-light,[data-image-picker-loading="true"]>.optical-light{visibility:hidden}
@keyframes optical-glass-sweep{from{transform:translate3d(-18%,0,0)}to{transform:translate3d(18%,0,0)}}
.theme-controls [data-optical-toggle]{border-color:#d3debc;color:#f4f7ec}
.theme-controls [data-optical-toggle][hidden]{display:none!important}
.theme-controls [data-optical-toggle]:disabled{opacity:.7}
@media(max-width:650px){body.vector.eup-pages .image-picker-host .image-picker-toolbar{-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(122deg,#fffffff5,#edf2e3f0 60%,#f8faf0f5)}body.vector.eup-pages .si-controls[data-optical-surface="glass"]{padding-inline:12px}.theme-controls [data-optical-toggle]{padding-inline:7px}}
@media(prefers-reduced-motion:reduce){.optical-light::before,.optical-light::after{animation:none!important}}
