/* VEYN / recovered volume. The wing geometry is the material, not a generic HUD. */
:root{--ease-in-out:cubic-bezier(.77,0,.175,1);--relay-reveal:700ms;--relay-stagger:60ms}
.matrix-depth{position:absolute;inset:0;background:url(tastecode/veyn_wireframe_field.png) 70% 42%/cover no-repeat;opacity:.85;transition:opacity 240ms ease;pointer-events:none}
.matrix-depth .depth-packet{position:absolute;top:4%;left:71%;height:28%;width:1px;background:var(--soft);opacity:0;transform:rotate(32deg);animation:depth-transmission 13s linear infinite}
.matrix-depth .depth-packet:nth-child(2){left:83%;top:20%;height:15%;animation-delay:-5s;animation-duration:17s}
.matrix-depth .depth-packet:nth-child(3){left:37%;top:66%;height:12%;animation-delay:-8s;animation-duration:19s}
@keyframes depth-transmission{0%,28%,100%{opacity:0;transform:translate3d(0,0,0) rotate(32deg)}34%{opacity:.3}55%{opacity:.3}65%{opacity:0;transform:translate3d(-90px,150px,0) rotate(32deg)}}
html[data-matrix-mode=commerce] .matrix-depth{opacity:.22}
.matrix-rain{opacity:.44}html[data-matrix-mode=terminal] .matrix-rain{opacity:.85}
.matrix-hero{background:#08070ae6}.matrix-hero .signal-field{background:url(tastecode/veyn_wireframe_field.png) center/cover no-repeat;mask-image:none;opacity:.8}
.matrix-hero .hero-visual{background:#15101c;border-color:#584365}
.terminal-center{background:#0a080eea;border-color:#554160;isolation:isolate}
.terminal-center .window-title{background:#21152e;color:#b4a1c7}
.terminal-top .terminal-identity img,.terminal-emblem{filter:invert(1)}
.terminal-trace{position:absolute;z-index:-1;inset:-1px;overflow:hidden;pointer-events:none}
.terminal-trace:before{content:'';position:absolute;left:0;top:0;width:1px;height:24%;background:var(--soft);transform:translateY(-110%);animation:terminal-trace 10s linear infinite;opacity:.6}
@keyframes terminal-trace{0%,18%{transform:translateY(-110%)}62%,100%{transform:translateY(530%)}}
.signal-stage .artifact{transition:none}.signal-stage .artifact-code{transition:none;transform:none}
/* taste-skill-ignore: a transient one-pixel scan is part of the owner-requested terminal visual language. */ .relay-scan{position:absolute;z-index:6;pointer-events:none;left:0;right:0;top:-1px;height:1px;background:var(--soft);opacity:0;transform:translateY(-4px)}
.relay-scan:after{content:'';position:absolute;left:0;right:0;bottom:1px;height:30px;background:#8b5cf61c}
.relay-recovered>.relay-scan{animation:relay-scan var(--relay-reveal) var(--ease-out) both;animation-delay:var(--relay-delay,0ms)}
@keyframes relay-scan{0%{transform:translateY(0);opacity:0}10%,75%{opacity:.6}100%{transform:translateY(var(--relay-distance,450px));opacity:0}}
.signal-stage.relay-recovered .campaign-placeholder:after{content:'';position:absolute;inset:0;pointer-events:none;background:#8b5cf618;animation:relay-decode 700ms var(--ease-out) both}
@keyframes relay-decode{0%{opacity:.65;transform:translateX(-8px)}35%{opacity:.25;transform:translateX(2px)}100%{opacity:0;transform:none}}
.product-image{isolation:isolate}.product-image.relay-recovered>.relay-scan{z-index:4}
.fx-toggle{color:var(--muted);font:11px/1.4 var(--mono);letter-spacing:0;min-height:44px;gap:8px;padding:0 4px;flex-shrink:0;border:0;background:none}
.fx-toggle:before{box-shadow:none;width:4px;height:4px}.fx-toggle[aria-pressed=false]{color:var(--terminal-muted)}.fx-toggle:disabled{opacity:.8;cursor:default}
.terminal-top .fx-toggle{margin-left:12px}.header-tools .fx-toggle{order:-1}
.veyn-tab-hidden .matrix-depth *,.veyn-tab-hidden .terminal-trace:before,.veyn-tab-hidden .signal-satellite,.veyn-tab-hidden .status-dot,.veyn-tab-hidden .diagnostic-bars i{animation-play-state:paused!important}
.veyn-effects-paused .matrix-depth *,.veyn-effects-paused .terminal-trace:before,.veyn-effects-paused .signal-satellite,.veyn-effects-paused .status-dot,.veyn-effects-paused .diagnostic-bars i{animation-play-state:paused!important}
.veyn-effects-paused .relay-scan,.veyn-effects-paused .signal-stage.relay-recovered .campaign-placeholder:after,.veyn-tab-hidden .relay-scan{animation:none!important;opacity:0}
.veyn-effects-paused .emblem-light,.veyn-effects-paused .button:after{display:none}.veyn-effects-paused .serial-outline path{animation:none!important;stroke-dashoffset:0!important}
.button:not(:disabled):active{transform:scale(.98);transition:transform 100ms var(--ease-out)}
@media(hover:hover) and (pointer:fine){.button:not(:disabled),.text-link svg{transition:transform 160ms var(--ease-out),background 160ms ease,border-color 160ms ease}.button:not(:disabled):hover svg,.text-link:hover svg{transform:translate(2px,-2px)}}
@media(max-width:760px){.matrix-depth{background-position:64% 5%;background-size:auto 900px;opacity:.65}.matrix-depth .depth-packet:nth-child(n+2){display:none}.matrix-depth .depth-packet{height:14%;left:85%;animation-duration:19s}.matrix-hero .signal-field{opacity:.7}.header-tools{gap:14px}.terminal-top{flex-wrap:wrap}.terminal-top .fx-toggle{margin-left:auto}.terminal-top>span{margin-left:auto}.fx-toggle{font-size:10px}.terminal-trace{display:none}.relay-recovered>.relay-scan{animation-duration:500ms}}
@media(prefers-reduced-motion:reduce){.matrix-depth *,.terminal-trace:before,.relay-scan,.signal-stage.relay-recovered .campaign-placeholder:after{animation:none!important;opacity:0}.matrix-depth{transition:none}.signal-stage .artifact{transform:rotate(-12deg)!important}}
/* taste-skill-ignore: accessibility fallback removes backdrop blur instead of adding glass. */ @media(prefers-reduced-transparency:reduce){.network-header,.terminal-center,.matrix-window{background:#0b090e;backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(prefers-contrast:more){.matrix-depth{opacity:.15}.matrix-window{background:#08070a;border-color:#8c7b9e}.terminal-center .window-title{color:var(--ink)}.fx-toggle{color:var(--ink)}}
