.ambient-scene { position: absolute; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); overflow: hidden; pointer-events: none; z-index: 0; mask-image: radial-gradient(ellipse 70% 75% at 50% 45%, #000 35%, transparent 100%); }
.ambient-glow { position: absolute; inset: -10%; background: radial-gradient(ellipse at 65% 40%, rgba(73, 123, 224, .09) 0%, rgba(73, 123, 224, .045) 25%, rgba(73, 123, 224, 0) 60%); animation: ambient-drift 24s ease-in-out infinite alternate; }
.ambient-connections { position: absolute; width: 100%; height: 100%; opacity: .65; mask-image: linear-gradient(90deg, transparent 20%, black 50%, black 70%, transparent 100%); }
.ambient-lines { fill: none; stroke: #2d5ec7; stroke-width: 1; opacity: .12; }
.ambient-nodes { fill: #2d5ec7; }
.ambient-nodes circle { opacity: .16; animation: ambient-pulse 8s ease-in-out infinite; }
.ambient-nodes circle:nth-child(2) { animation-delay: -2s; }
.ambient-nodes circle:nth-child(3) { animation-delay: -4s; }
.ambient-nodes circle:nth-child(4) { animation-delay: -6s; }
.ambient-signal { fill: none; stroke: #2d5ec7; stroke-width: 2; stroke-linecap: round; stroke-dasharray: 38 1400; opacity: .22; animation: ambient-travel 22s linear infinite; }
@keyframes ambient-drift { from { transform: translate(-2%, -1%); } to { transform: translate(3%, 3%); } }
@keyframes ambient-pulse { 0%, 100% { opacity: .12; } 50% { opacity: .4; } }
@keyframes ambient-travel { from { stroke-dashoffset: 80; } to { stroke-dashoffset: -1358; } }
@media (max-width: 700px) { .ambient-connections { opacity: .35; } .ambient-glow { opacity: .7; } }
@media (prefers-reduced-motion: reduce) { .ambient-scene * { animation: none !important; } .ambient-signal { display: none; } }

main { position: relative; isolation: isolate; }
.hero, .choices { position: relative; z-index: 1; }
