/* The same quiet moving light on touch and pointer screens. Layout stays intact. */
.zdl-surface-layer{position:absolute;inset:0;border-radius:inherit;overflow:hidden;pointer-events:none;z-index:0;contain:paint}
.zdl-surface-layer::before{content:"";position:absolute;left:-36%;top:0;width:34%;height:2px;background:linear-gradient(90deg,transparent,rgba(190,230,236,.12) 15%,rgba(211,246,244,.76) 52%,transparent);opacity:0;transform:translateX(0);animation:zdl-surface-trace 8.6s cubic-bezier(.35,0,.65,1) var(--surface-delay,0s) infinite;animation-play-state:paused}
.zdl-surface-layer::after{content:"";position:absolute;right:-24px;top:-45px;width:180px;height:105px;border-radius:50%;background:radial-gradient(ellipse,rgba(166,215,227,.11),transparent 70%);opacity:.2;transform:translate3d(-18px,0,0);animation:zdl-surface-breath 6.8s ease-in-out var(--surface-delay,0s) infinite alternate;animation-play-state:paused}
.zdl-surface-running>.zdl-surface-layer::before,.zdl-surface-running>.zdl-surface-layer::after{animation-play-state:running}
.zdl-surface:not(.zdl-surface-running)>.zdl-surface-layer{visibility:hidden}
.preview-banner>.zdl-surface-layer::before{background:linear-gradient(90deg,transparent,rgba(236,213,167,.78),transparent)}
.section-intro>.zdl-surface-layer::before{top:auto;bottom:0;height:1px}
.mobile-actions>.zdl-surface-layer{border-radius:0}
.field-control{transition:border-color .22s,box-shadow .22s,background-color .22s}
.field-control:focus-within{background-color:rgba(17,41,51,.82);box-shadow:0 0 0 3px rgba(185,220,236,.13),inset 0 1px rgba(210,244,249,.25)}
.product-switch button{transition:background-color .28s,box-shadow .28s,color .28s}
.product-switch button:active,.button:active{filter:brightness(1.12)}
@keyframes zdl-surface-trace{0%,12%{transform:translateX(0);opacity:0}20%{opacity:.72}73%{opacity:.72}85%,100%{transform:translateX(420%);opacity:0}}
@keyframes zdl-surface-breath{from{transform:translate3d(-18px,0,0);opacity:.2}to{transform:translate3d(12px,13px,0);opacity:.85}}
body:is(.motion-reduced,.paused,.motion-paused,.report-exporting) .zdl-surface-layer{display:none!important}
@media(prefers-reduced-motion:reduce){.zdl-surface-layer{display:none!important}.field-control,.product-switch button{transition:none!important}}
@media print{.zdl-surface-layer{display:none!important}}

/* The open report stays alive; covered workspace illustrations rest. */
body.motion-dialog-open .workspace :is(.value-motion,.energy-motion,.flow-pulse){animation-play-state:paused!important}
