/* Homepage hero: canvas data-network background (replaces the video). */
html body #ais-home .ais-hero.has-net{background:radial-gradient(ellipse 70% 90% at 74% 46%,#0c3466 0%,#082650 42%,#051a35 100%)!important}
html body #ais-home .ais-hero.has-net .ais-hero-video,
html body #ais-home .ais-hero.has-net .ais-video-cover{display:none!important}
html body #ais-home .ais-hero-net{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;display:block}
/* The network is already quiet behind the text, so the overlay only needs a light touch. */
html body #ais-home .ais-hero.has-net::before{background:linear-gradient(100deg,rgba(4,18,37,.42) 0%,rgba(5,22,43,.22) 34%,rgba(6,26,48,0) 58%)!important}
@media(max-width:760px){html body #ais-home .ais-hero.has-net::before{background:linear-gradient(180deg,rgba(4,18,37,.5),rgba(7,26,49,.18) 55%,rgba(6,26,48,0))!important}}
/* Glass retains existing geometry and typography; only material changes. */
html body #ais-home .has-net .ais-art .ais-art-label{
  backdrop-filter:blur(12px) saturate(150%);-webkit-backdrop-filter:blur(12px) saturate(150%);
  background:linear-gradient(120deg,rgba(222,247,255,.62),rgba(229,234,253,.42)) padding-box,linear-gradient(120deg,rgba(172,235,255,.95),rgba(190,184,248,.38)) border-box!important;
  border:1px solid transparent!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65),inset 0 -1px 0 rgba(168,139,235,.05),0 6px 22px rgba(3,13,35,.18)!important;
}
html body #ais-home .has-net .ais-plane.p1{
  box-shadow:0 20px 48px rgba(3,13,35,.2),0 0 calc(16px + 32px * var(--net-energy,0)) rgba(56,189,248,calc(.09 + .26 * var(--net-energy,0))),10px 6px calc(20px + 24px * var(--net-energy,0)) rgba(168,85,247,calc(.03 + .08 * var(--net-energy,0)))!important;
}
html body #ais-home .ais-core-signal{position:absolute;right:22px;bottom:8px;display:flex;align-items:center;gap:3px;height:9px;pointer-events:none;opacity:calc(.32 + .45 * var(--net-energy,0))}
html body #ais-home .ais-core-signal i{width:2px;height:3px;border-radius:1px;background:#7dd3fc;transform-origin:bottom;transform:scaleY(calc(.75 + .65 * var(--net-energy,0)));box-shadow:0 0 4px rgba(125,211,252,calc(.15 + .4 * var(--net-energy,0)))}
html body #ais-home .ais-core-signal i:nth-child(2),html body #ais-home .ais-core-signal i:nth-child(4){height:6px;background:#b6b5ff}
html body #ais-home .ais-core-signal i:nth-child(3){height:9px;background:#c4b5fd}
@media(max-width:760px){html body #ais-home .ais-core-signal{right:14px;bottom:4px;gap:2px}}
@supports not (backdrop-filter:blur(12px)){html body #ais-home .has-net .ais-art .ais-art-label{background:rgba(219,237,251,.85)!important}}

/* 1.0.20: mobile meteors drawn above the stacked cards. */
html body #ais-home .ais-art .ais-card-meteors{position:absolute;left:-36px;top:-36px;z-index:6;pointer-events:none;display:none}
@media(max-width:760px){html body #ais-home .ais-art .ais-card-meteors{display:block}}
/* 1.0.20: meteor strikes feed --net-energy; the halo and ring glow breathe with it (mobile). */
html body #ais-home .ais-art .ais-energy-halo,html body #ais-home .ais-art .ais-energy-ring{display:none}
@media(max-width:760px){
html body #ais-home .ais-art .ais-energy-halo{display:block;position:absolute;left:-8%;right:-8%;top:2%;bottom:-10%;border-radius:50%;pointer-events:none;
background:radial-gradient(closest-side,rgba(125,211,252,.7),rgba(56,189,248,.38) 45%,rgba(168,139,235,.24) 72%,rgba(168,139,235,0));
opacity:calc(var(--net-energy,0) * .9);transform:scale(calc(.9 + .14 * var(--net-energy,0)));will-change:opacity,transform}
html body #ais-home .ais-art .ais-energy-ring{display:block;position:absolute;width:92%;aspect-ratio:1/1;top:2%;left:50%;transform:translateX(-50%);border-radius:50%;pointer-events:none;
border:1px solid rgba(125,211,252,.75);box-shadow:0 0 22px rgba(56,189,248,.65),0 0 6px rgba(125,211,252,.6),inset 0 0 22px rgba(168,139,235,.4);
opacity:calc(var(--net-energy,0) * .85);will-change:opacity}
}
