/* GoldSec ambient enhancement. Content and navigation remain usable without this layer. */

/* Network packets follow separate decorative copies of the four original SVG routes. */
.ambient-ready .energy-packet{stroke:#a6b57c;stroke-width:2.7;stroke-linecap:round;stroke-dasharray:5 95;stroke-dashoffset:100;opacity:0;animation:ambient-packet-flow 4.8s linear infinite;animation-delay:var(--packet-phase,0s);animation-play-state:paused;pointer-events:none}
.ambient-ready [data-active="0"] .energy-packet[data-branch="0"],.ambient-ready [data-active="1"] .energy-packet[data-branch="1"],.ambient-ready [data-active="2"] .energy-packet[data-branch="2"],.ambient-ready [data-active="3"] .energy-packet[data-branch="3"]{stroke:#ffdfa0;stroke-width:3.8;filter:drop-shadow(0 0 3px #efd39255)}
.ambient-ready .ambient-node-pulse{fill:none;stroke:#d8bd77;stroke-width:.8;opacity:0;transform-box:fill-box;transform-origin:center;animation:ambient-node-pulse 4.8s ease-out infinite;animation-delay:var(--packet-phase,0s);animation-play-state:paused;pointer-events:none}
.ambient-ready .network-halo{animation:ambient-halo-orbit 38s linear infinite;animation-play-state:paused;transform-origin:300px 155px}
.ambient-ready .network-core rect{animation:ambient-core-light 4.8s ease-in-out infinite;animation-play-state:paused}
html[data-ambient-motion="on"] .ecosystem-panel.animation-in-view .energy-packet,html[data-ambient-motion="on"] .ecosystem-panel.animation-in-view .ambient-node-pulse,html[data-ambient-motion="on"] .ecosystem-panel.animation-in-view .network-halo,html[data-ambient-motion="on"] .ecosystem-panel.animation-in-view .network-core rect{animation-play-state:running}
@keyframes ambient-packet-flow{0%{stroke-dashoffset:100;opacity:0}7%{opacity:.9}76%{opacity:.9}94%{opacity:0}100%{stroke-dashoffset:0;opacity:0}}
@keyframes ambient-node-pulse{0%{opacity:0;transform:scale(1)}5%{opacity:.5;transform:scale(1)}28%{opacity:0;transform:scale(1.65)}100%{opacity:0;transform:scale(1.65)}}
@keyframes ambient-halo-orbit{to{transform:rotate(360deg)}}
@keyframes ambient-core-light{0%,100%{stroke:#7e895b;fill:#262e1e}48%{stroke:#b5ad70;fill:#303925}}

/* The signal scanner is illustrative and never implies live market data. */
.ambient-ready .stage-visual .signal-scan{stroke:#e1c68c;stroke-dasharray:2 6;animation:ambient-signal-sweep 7.2s linear infinite;animation-play-state:paused;transform:translateX(-260px)}
.ambient-ready .ambient-signal-beam{opacity:0;animation:ambient-signal-beam 7.2s linear infinite;animation-play-state:paused;transform:translateX(-260px)}
.ambient-ready .stage-visual .signal-beacon{transform-box:fill-box;transform-origin:center;animation:ambient-signal-beacon 3.6s ease-in-out infinite;animation-play-state:paused}
html[data-ambient-motion="on"] .stage-visual.animation-in-view .signal-scan,html[data-ambient-motion="on"] .stage-visual.animation-in-view .ambient-signal-beam,html[data-ambient-motion="on"] .stage-visual.animation-in-view .signal-beacon{animation-play-state:running}
@keyframes ambient-signal-sweep{0%{transform:translateX(-260px);opacity:0}8%{opacity:.4}88%{opacity:.4}100%{transform:translateX(260px);opacity:0}}
@keyframes ambient-signal-beam{0%{transform:translateX(-260px);opacity:0}8%{opacity:.035}88%{opacity:.035}100%{transform:translateX(260px);opacity:0}}
@keyframes ambient-signal-beacon{0%,100%{transform:scale(1);opacity:.7}50%{transform:scale(1.15);opacity:1}}

/* Pointer light stays inside each card, never intercepting a link or touch gesture. */
.ambient-ready .tech-panel,.ambient-ready .platform-links>a{isolation:isolate;position:relative}
.ambient-ready .tech-panel::before,.ambient-ready .platform-links>a::before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(280px circle at var(--ambient-x,50%) var(--ambient-y,50%),#dbc17c16,transparent 72%);opacity:0;pointer-events:none;z-index:-1;transition:opacity .45s ease}
.ambient-ready .tech-panel::after,.ambient-ready .platform-links>a::after{content:"";position:absolute;bottom:-1px;left:clamp(0px,calc(var(--ambient-x,50%) - 45px),calc(100% - 90px));width:90px;height:1px;background:linear-gradient(90deg,transparent,#dfc580b3,transparent);opacity:0;pointer-events:none;transition:opacity .35s ease}
html[data-ambient-motion="on"] .ambient-pointer-active::before,html[data-ambient-motion="on"] .ambient-pointer-active::after{opacity:1}
.ambient-ready .platform-links>a:focus-visible::before{opacity:1;background:radial-gradient(280px circle at 50% 50%,#dbc17c12,transparent 72%)}

/* A sequential inference ripple, a compute bus, and a release path give each diagram a role. */
.ambient-ready .tech-panel .inference-nodes>i{animation:ambient-inference-cycle 4.8s ease-in-out infinite;animation-delay:var(--node-phase,0s);animation-play-state:paused}
.ambient-ready .tech-panel .compute-stack>i{animation-duration:5.8s;animation-play-state:paused}
.ambient-ready .tech-panel .compute-stack>i::after{content:"";position:absolute;left:8%;top:45px;width:84%;height:1px;background:linear-gradient(90deg,transparent,#e9d491b3,transparent);box-shadow:0 0 10px #d5c27b44;opacity:0;animation:ambient-compute-bus 5.8s ease-in-out infinite;animation-play-state:paused;pointer-events:none}
.ambient-ready .tech-panel .compute-stack>i:nth-child(2)::after{animation-delay:-1.3s}
.ambient-ready .tech-panel .compute-stack>i:nth-child(3)::after{animation-delay:-2.6s}
.ambient-ready .tech-panel .release-track>span{animation:ambient-release-phase 5.4s ease-in-out infinite;animation-delay:var(--release-phase,0s);animation-play-state:paused}
.ambient-ready .tech-panel .release-track>i::after{animation-play-state:paused}
.ambient-ready .tech-panel .release-art>svg{animation:ambient-release-trace 7s linear infinite;animation-play-state:paused}
html[data-ambient-motion="on"] .tech-panel.animation-in-view .inference-nodes>i,html[data-ambient-motion="on"] .tech-panel.animation-in-view .compute-stack>i,html[data-ambient-motion="on"] .tech-panel.animation-in-view .compute-stack>i::after,html[data-ambient-motion="on"] .tech-panel.animation-in-view .release-track>span,html[data-ambient-motion="on"] .tech-panel.animation-in-view .release-track>i::after,html[data-ambient-motion="on"] .tech-panel.animation-in-view .release-art>svg{animation-play-state:running}
@keyframes ambient-inference-cycle{0%,66%,100%{transform:translateY(0) scale(.94);border-color:#70834a;background:#29361e;box-shadow:0 0 10px #c4b66700}28%{transform:translateY(-3px) scale(1.06);border-color:#d4bd7c;background:#6b7540;box-shadow:0 0 19px #d1b96f21}}
@keyframes ambient-compute-bus{0%{transform:translateY(-28px) scaleX(.3);opacity:0}18%{opacity:.8}58%{transform:translateY(28px) scaleX(1);opacity:0}100%{transform:translateY(28px) scaleX(1);opacity:0}}
@keyframes ambient-release-phase{0%,60%,100%{box-shadow:0 0 0 #dac78100;filter:brightness(1)}28%{box-shadow:0 0 16px #dac78118;filter:brightness(1.32)}}
@keyframes ambient-release-trace{to{stroke-dashoffset:-90}}

/* Section dividers carry the visual rhythm through the full page. */
.ambient-ready .section-label{position:relative;padding-bottom:16px;overflow:hidden}
.ambient-ready .section-label::before{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,#8a986029,transparent 90%);pointer-events:none}
.ambient-ready .section-label::after{content:"";position:absolute;bottom:0;left:0;width:12%;height:1px;background:linear-gradient(90deg,transparent,#dbc58380,transparent);opacity:0;animation:ambient-section-trace 8s ease-in-out infinite;animation-play-state:paused;pointer-events:none}
.ambient-ready .research-section .section-label::before{background:linear-gradient(90deg,#6c755636,transparent 90%)}
.ambient-ready .research-section .section-label::after{background:linear-gradient(90deg,transparent,#697b5280,transparent)}
.ambient-ready .research-signature>span{animation:ambient-research-sequence 4.5s ease-in-out infinite;animation-delay:var(--research-phase,0s);animation-play-state:paused}
html[data-ambient-motion="on"] .section-label.animation-in-view::after,html[data-ambient-motion="on"] .research-signature.animation-in-view>span{animation-play-state:running}
@keyframes ambient-section-trace{0%{transform:translateX(-100%);opacity:0}10%{opacity:.75}45%{transform:translateX(840%);opacity:0}100%{transform:translateX(840%);opacity:0}}
@keyframes ambient-research-sequence{0%,70%,100%{transform:translateY(0);opacity:.55}30%{transform:translateY(-4px);opacity:1}}

/* The common motion switch, OS preference and hidden tab state always win. */
html[data-ambient-motion="off"] .energy-packet,html[data-ambient-motion="off"] .ambient-node-pulse,html[data-ambient-motion="off"] .ambient-signal-beam{opacity:0!important}
html[data-ambient-motion="off"] .stage-visual .signal-scan{animation:none;transform:none;opacity:.4}
html[data-ambient-motion="off"] .tech-panel::before,html[data-ambient-motion="off"] .tech-panel::after,html[data-ambient-motion="off"] .platform-links>a::after{opacity:0}
@media(prefers-reduced-motion:reduce){.ambient-ready .energy-packet,.ambient-ready .ambient-node-pulse,.ambient-ready .network-halo,.ambient-ready .network-core rect,.ambient-ready .ambient-signal-beam,.ambient-ready .signal-scan,.ambient-ready .signal-beacon,.ambient-ready .inference-nodes>i,.ambient-ready .compute-stack>i,.ambient-ready .compute-stack>i::after,.ambient-ready .release-track>span,.ambient-ready .release-track>i::after,.ambient-ready .release-art>svg,.ambient-ready .section-label::after,.ambient-ready .research-signature>span{animation:none!important}.ambient-ready .energy-packet,.ambient-ready .ambient-node-pulse,.ambient-ready .ambient-signal-beam,.ambient-ready .section-label::after{opacity:0!important}.ambient-ready .signal-scan{transform:none!important}.ambient-ready .tech-panel::before,.ambient-ready .tech-panel::after,.ambient-ready .platform-links>a::before,.ambient-ready .platform-links>a::after{transition:none}}
@media(max-width:700px){.ambient-ready .section-label{padding-bottom:13px}.ambient-ready .energy-packet{stroke-width:3.3}.ambient-ready .ambient-node-pulse{stroke-width:1}.ambient-ready .tech-panel::before,.ambient-ready .tech-panel::after,.ambient-ready .platform-links>a::before,.ambient-ready .platform-links>a::after{display:none}}
