/* Abstract energy portal */
.idea-sphere{width:250px;height:250px;border-radius:50%;border:1px solid #b384ff;background:radial-gradient(circle,#f2ffff 0 2%,#42dfff 3%,#544dff88 9%,#170e4166 31%,#0d132c 61%,#793bcd66 70%,transparent 72%);box-shadow:0 0 32px #9e63ff66,inset 0 0 35px #7b4cfa55,0 0 110px #3edbff22;animation:portal-breathe 6s ease-in-out infinite}
.idea-sphere>span{position:absolute;inset:18px;width:auto;height:auto;border:2px solid #38f5fa;border-radius:50%;box-shadow:0 0 17px #38f5fa55,inset 0 0 15px #38f5fa33;transform:rotateX(56deg) rotate(-25deg);animation:portal-ring 14s linear infinite}
.idea-sphere>span::before{inset:-34px;top:-34px;left:-34px;width:auto;height:auto;border:1px dashed #ad83ff;border-radius:50%;background:transparent;box-shadow:none}
.idea-sphere>span::after{inset:35px;left:35px;right:35px;bottom:35px;height:auto;border:1px solid #67ebff;border-radius:50%;box-shadow:0 0 25px #38f5fa66}
.idea-sphere b{width:10px;height:10px;right:25px;bottom:34px;border-radius:50%;border:0;background:#e9e0ff;box-shadow:0 0 15px #fff,0 0 35px #a368ff;transform:none}
.hero-stage.burst .idea-sphere{animation:portal-pulse .85s ease}
@keyframes portal-breathe{0%,100%{transform:scale(.96);filter:brightness(1)}50%{transform:scale(1.04);filter:brightness(1.2)}}
@keyframes portal-ring{0%{transform:rotate(-25deg) rotateX(56deg)}100%{transform:rotate(335deg) rotateX(56deg)}}
@keyframes portal-pulse{0%,100%{transform:scale(1)}45%{transform:scale(1.17);filter:brightness(1.5)}}
@media(max-width:760px){.idea-sphere{width:190px;height:190px}.idea-sphere>span::before{top:-25px;left:-25px;inset:-25px;width:auto;height:auto;background:transparent;box-shadow:none}.idea-sphere>span::after{inset:25px;height:auto;border-width:1px}.idea-sphere b{width:8px;height:8px;right:20px;bottom:25px}}
/* Autonomous three-dimensional portal */
.hero-stage{perspective:900px}
.idea-sphere{transform-style:preserve-3d;animation:portal-drift 12s ease-in-out infinite}
.idea-sphere>span{transform-style:preserve-3d;animation:portal-spin-3d 16s linear infinite}
.idea-sphere>span::before{transform:rotateY(66deg);animation:portal-shell 23s linear infinite}
.idea-sphere>span::after{transform:rotateX(65deg);animation:portal-shell 19s linear infinite reverse}
.idea-sphere b{animation:portal-satellite 9s linear infinite;transform-origin:-70px -70px}
.orbit-one{animation:outer-orbit 28s linear infinite;transform-style:preserve-3d}
@keyframes portal-drift{0%,100%{transform:translateY(8px) rotateX(10deg) rotateY(-15deg);filter:brightness(1)}50%{transform:translateY(-14px) rotateX(-12deg) rotateY(18deg);filter:brightness(1.2)}}
@keyframes portal-spin-3d{from{transform:rotateX(58deg) rotateY(-20deg) rotateZ(0)}to{transform:rotateX(58deg) rotateY(-20deg) rotateZ(360deg)}}
@keyframes portal-shell{from{transform:rotateY(65deg) rotateZ(0)}to{transform:rotateY(65deg) rotateZ(360deg)}}
@keyframes portal-satellite{to{transform:rotate(360deg)}}
@keyframes outer-orbit{from{transform:rotateX(45deg) rotateZ(-25deg)}to{transform:rotateX(45deg) rotateZ(335deg)}}
/* Deep-space starfield */
.starfield{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}
.starfield::before,.starfield::after{content:"";position:absolute;width:40%;height:55%;border-radius:50%;filter:blur(45px);opacity:.2}
.starfield::before{left:2%;top:7%;background:radial-gradient(ellipse,#7032f5,transparent 68%)}
.starfield::after{right:0;bottom:0;background:radial-gradient(ellipse,#08c4f1,transparent 68%)}
.space-star{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);background:var(--color);color:var(--color);border-radius:50%;box-shadow:0 0 5px currentColor,0 0 12px currentColor;opacity:.65;animation:star-shimmer var(--duration) ease-in-out var(--delay) infinite alternate}
.radiant-star{box-shadow:0 0 8px currentColor,0 0 20px currentColor,0 0 35px currentColor}
.radiant-star::before,.radiant-star::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:linear-gradient(transparent,currentColor,transparent);width:1px;height:22px}
.radiant-star::after{transform:translate(-50%,-50%) rotate(90deg);height:16px}
.idea-sphere{z-index:1}.floating-tag,.stage-caption,.stage-foot{z-index:3}
@keyframes star-shimmer{0%{opacity:.25;transform:scale(.7) translateY(0)}100%{opacity:.95;transform:scale(1.2) translateY(-5px)}}
@media(max-width:760px){.space-star:nth-child(3n){display:none}.radiant-star::before{height:16px}.radiant-star::after{height:12px}}
/* Flowing grid, travelling starlight and aurora curtains */
.hero-stage::before{display:none}
.cosmic-flow{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.aurora{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;opacity:.8}
.aurora i{position:absolute;left:-15%;top:2%;width:130%;height:52%;border-radius:45% 70% 30% 60%;background:repeating-linear-gradient(95deg,transparent 0 14px,#4dffe01a 18px,#77fff538 21px,transparent 29px),linear-gradient(170deg,transparent 20%,#32ebd755 43%,#57ffcaa8 49%,#7050fa66 54%,transparent 74%);filter:blur(12px);transform-origin:center;mix-blend-mode:screen;animation:aurora-wave 12s ease-in-out infinite alternate}
.aurora i:nth-child(2){top:5%;left:-25%;background:linear-gradient(160deg,transparent 23%,#8b43fc77 45%,#c186ff99 51%,#487afa44 58%,transparent 76%);animation-duration:17s;animation-delay:-7s;transform:rotate(-12deg);opacity:.65}
.aurora i:nth-child(3){top:-10%;left:20%;width:100%;background:linear-gradient(175deg,transparent 30%,#3feef377 49%,#619cff88 52%,transparent 72%);animation-duration:21s;animation-delay:-13s;opacity:.5}
@keyframes aurora-wave{0%{transform:translate(-4%,-5%) rotate(-9deg) skewX(-15deg) scaleY(.7);opacity:.4}50%{transform:translate(3%,8%) rotate(5deg) skewX(12deg) scaleY(1.1);opacity:.85}100%{transform:translate(8%,-2%) rotate(-3deg) skewX(-8deg) scaleY(.85);opacity:.55}}
@media(max-width:760px){.aurora i{filter:blur(9px);opacity:.6}}
.aurora{opacity:calc(.55 + var(--energy,.5)*.25)}
.idea-sphere{filter:brightness(calc(1 + var(--energy,.5)*.2))}
.orbit{opacity:calc(.55 + var(--energy,.5)*.3)}
