/* Bühne „stimme“: V1-Animation (appfrags/stimme.css), umgestellt auf V2 mit werkzeuge/v2-generator/buehnen-umstellen.mjs.
   Nicht von Hand ändern, sondern das Skript anpassen und neu laufen lassen. Farben und Rahmen: website.css (.v1-buehne). */
.ap-stimme-stage{position:relative;width:100%;height:340px;overflow:hidden;display:flex;align-items:center;justify-content:center;perspective:1100px}
.ap-stimme-world{position:relative;transform-style:preserve-3d}
.ap-stimme-scene{position:relative;width:320px;height:260px;transform-style:preserve-3d;transform:rotateX(8deg) rotateY(-12deg);animation:ap-stimme-sway 39s var(--ease,ease-in-out) infinite}
@keyframes ap-stimme-sway{0%,100%{transform:rotateX(8deg) rotateY(-12deg)}50%{transform:rotateX(11deg) rotateY(2deg)}}
.ap-stimme-aura{position:absolute;left:42%;top:46%;width:330px;height:330px;transform:translate(-50%,-50%);border-radius:50%;filter:blur(14px);background:radial-gradient(circle,color-mix(in srgb,var(--accent) 34%,transparent),transparent 68%);animation:ap-stimme-breathe 16.5s ease-in-out infinite}
.ap-stimme-aura--cool{left:68%;top:60%;width:220px;height:220px;background:radial-gradient(circle,color-mix(in srgb,var(--accent2) 26%,transparent),transparent 66%);animation-duration:22.5s;animation-direction:reverse}
@keyframes ap-stimme-breathe{0%,100%{opacity:.65;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.09)}}
.ap-stimme-sphere{position:absolute;left:34%;top:42%;width:110px;height:110px;transform:translate(-50%,-50%) translateZ(60px);transform-style:preserve-3d;animation:ap-stimme-hover 12s ease-in-out infinite}
@keyframes ap-stimme-hover{0%,100%{transform:translate(-50%,-50%) translateZ(60px) translateY(0)}50%{transform:translate(-50%,-50%) translateZ(60px) translateY(-9px)}}
.ap-stimme-core{position:absolute;left:50%;top:50%;width:46px;height:46px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 40% 34%,color-mix(in srgb,#fff 45%,transparent),color-mix(in srgb,var(--accent) 60%,transparent) 55%,color-mix(in srgb,var(--accent) 30%,transparent) 78%);box-shadow:0 0 26px color-mix(in srgb,var(--accent) 55%,transparent),inset 0 1px 3px rgba(255,255,255,.33);animation:ap-stimme-pulse 5.1s ease-in-out infinite}
@keyframes ap-stimme-pulse{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.12)}}
.ap-stimme-halo{position:absolute;inset:-10px;border-radius:50%;border:1px solid color-mix(in srgb,var(--accent2) 42%,transparent);box-shadow:0 0 22px color-mix(in srgb,var(--accent) 30%,transparent);animation:ap-stimme-halopulse 6.9s ease-in-out infinite}
@keyframes ap-stimme-halopulse{0%,100%{opacity:.5;transform:scale(1)}50%{opacity:.95;transform:scale(1.05)}}
.ap-stimme-orbit{position:absolute;left:50%;top:50%;width:100px;height:100px;margin:-50px 0 0 -50px;border-radius:50%;border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);box-shadow:0 0 10px -3px color-mix(in srgb,var(--accent) 45%,transparent)}
.ap-stimme-orbit--1{transform:rotateY(66deg);animation:ap-stimme-spin1 13.5s linear infinite}
.ap-stimme-orbit--2{transform:rotateY(66deg) rotateZ(60deg);border-color:color-mix(in srgb,var(--accent2) 50%,transparent);animation:ap-stimme-spin2 18s linear infinite}
.ap-stimme-orbit--3{transform:rotateX(72deg);animation:ap-stimme-spin3 15s linear infinite}
@keyframes ap-stimme-spin1{to{transform:rotateY(66deg) rotate(360deg)}}
@keyframes ap-stimme-spin2{to{transform:rotateY(66deg) rotateZ(60deg) rotate(-360deg)}}
@keyframes ap-stimme-spin3{to{transform:rotateX(72deg) rotate(360deg)}}
.ap-stimme-ring{position:absolute;left:34%;top:42%;width:130px;height:130px;transform:translate(-50%,-50%) translateZ(40px);border-radius:50%;border:1.5px solid color-mix(in srgb,var(--accent) 55%,transparent);animation:ap-stimme-wave 5.4s ease-out infinite}
.ap-stimme-ring--2{animation-delay:-2.7s;border-color:color-mix(in srgb,var(--accent2) 45%,transparent)}
@keyframes ap-stimme-wave{0%{transform:translate(-50%,-50%) translateZ(40px) scale(.55);opacity:.9}70%{opacity:.25}100%{transform:translate(-50%,-50%) translateZ(40px) scale(1.35);opacity:0}}
.ap-stimme-eq{position:absolute;left:34%;top:78%;width:110px;height:34px;transform:translate(-50%,-50%) translateZ(70px);display:flex;align-items:flex-end;justify-content:center;gap:6px}
.ap-stimme-eq span{flex:1;max-width:9px;border-radius:3px;background:linear-gradient(to top,color-mix(in srgb,var(--accent) 85%,transparent),color-mix(in srgb,var(--accent2) 70%,transparent));box-shadow:0 0 10px -2px color-mix(in srgb,var(--accent) 50%,transparent);transform-origin:50% 100%;animation:ap-stimme-eq 2.25s ease-in-out infinite}
.ap-stimme-eq span:nth-child(1){height:12px;animation-delay:0s;opacity:.65}
.ap-stimme-eq span:nth-child(2){height:22px;animation-delay:-.33s}
.ap-stimme-eq span:nth-child(3){height:30px;animation-delay:-.66s}
.ap-stimme-eq span:nth-child(4){height:34px;animation-delay:-.99s}
.ap-stimme-eq span:nth-child(5){height:27px;animation-delay:-1.32s}
.ap-stimme-eq span:nth-child(6){height:18px;animation-delay:-1.65s}
.ap-stimme-eq span:nth-child(7){height:11px;animation-delay:-1.98s;opacity:.65}
@keyframes ap-stimme-eq{0%,100%{transform:scaleY(.45)}50%{transform:scaleY(1)}}
.ap-stimme-note{position:absolute;right:-2%;top:26%;width:132px;height:112px;transform:translateZ(96px);border-radius:14px;padding:14px 13px;box-sizing:border-box;background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 11%,transparent),transparent 60%),var(--glass);backdrop-filter:blur(8px) saturate(140%);-webkit-backdrop-filter:blur(8px) saturate(140%);border:1px solid color-mix(in srgb,var(--accent) 30%,var(--glassbrd));box-shadow:0 26px 50px -24px rgba(4,6,16,.6),0 0 32px color-mix(in srgb,var(--accent) 16%,transparent),inset 0 1px 0 var(--glasshi);animation:ap-stimme-notelift 13.5s ease-in-out infinite}
@keyframes ap-stimme-notelift{0%,100%{transform:translateZ(96px) translateY(0)}50%{transform:translateZ(96px) translateY(-7px)}}
.ap-stimme-l{position:absolute;left:13px;height:6px;border-radius:4px;transform-origin:0 50%;background:color-mix(in srgb,var(--ink) 26%,transparent);animation:ap-stimme-type 12s ease-in-out infinite}
.ap-stimme-l--t{top:15px;width:56%;height:9px;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 70%,transparent),color-mix(in srgb,var(--accent2) 55%,transparent));animation-delay:0s}
.ap-stimme-l--1{top:36px;width:74%;animation-delay:1.05s}
.ap-stimme-l--2{top:52px;width:64%;animation-delay:2.1s}
.ap-stimme-l--3{top:68px;width:46%;animation-delay:3.15s}
@keyframes ap-stimme-type{0%{transform:scaleX(0);opacity:0}6%{opacity:1}15%{transform:scaleX(1)}76%{transform:scaleX(1);opacity:1}86%,100%{transform:scaleX(0);opacity:0}}
.ap-stimme-check{position:absolute;right:11px;bottom:9px;width:22px;height:22px;border-radius:50%;border:2px solid color-mix(in srgb,var(--accent) 80%,#fff);box-shadow:0 0 12px color-mix(in srgb,var(--accent) 50%,transparent);animation:ap-stimme-check 12s ease-in-out infinite}
.ap-stimme-check::after{content:"";position:absolute;left:5px;top:9px;width:9px;height:5px;border-left:2.5px solid color-mix(in srgb,var(--accent) 85%,#fff);border-bottom:2.5px solid color-mix(in srgb,var(--accent) 85%,#fff);transform:rotate(-45deg)}
@keyframes ap-stimme-check{0%,34%{opacity:0;transform:scale(1.5)}42%{opacity:1;transform:scale(1)}78%{opacity:1}88%,100%{opacity:0}}
.ap-stimme-mote{position:absolute;width:6px;height:6px;border-radius:50%;filter:blur(.5px);background:radial-gradient(circle,color-mix(in srgb,var(--accent2) 90%,#fff),transparent 70%);animation:ap-stimme-drift 22.5s ease-in-out infinite}
.ap-stimme-mote--1{left:8%;top:22%}
.ap-stimme-mote--2{right:10%;top:70%;width:4px;height:4px;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 90%,#fff),transparent 70%);animation-delay:-7.5s}
.ap-stimme-mote--3{left:18%;bottom:8%;width:5px;height:5px;animation-delay:-13.5s}
@keyframes ap-stimme-drift{0%,100%{opacity:.3;transform:translateY(0)}50%{opacity:.9;transform:translateY(-13px)}}
.ap-stimme-floor{position:absolute;left:44%;top:92%;width:280px;height:66px;transform:translate(-50%,-50%) translateZ(-30px) rotateX(76deg);background:radial-gradient(closest-side,rgba(4,6,16,.32),transparent 72%);filter:blur(6px)}
.v1-buehne .ap-stimme-aura{opacity:1}
.v1-buehne .ap-stimme-core{box-shadow:0 0 34px color-mix(in srgb,var(--accent) 70%,transparent),inset 0 1px 3px rgba(255,255,255,.24)}
.v1-buehne .ap-stimme-floor{background:radial-gradient(closest-side,rgba(0,0,0,.55),transparent 72%)}
@media (prefers-reduced-motion:reduce){.ap-stimme-scene,.ap-stimme-aura,.ap-stimme-sphere,.ap-stimme-core,.ap-stimme-halo,.ap-stimme-orbit,.ap-stimme-ring,.ap-stimme-eq span,.ap-stimme-note,.ap-stimme-l,.ap-stimme-check,.ap-stimme-mote{animation:none!important}
.ap-stimme-ring{opacity:.35;transform:translate(-50%,-50%) translateZ(40px) scale(1)}
.ap-stimme-l{transform:scaleX(1);opacity:1}
.ap-stimme-check{opacity:1;transform:scale(1)}
.ap-stimme-mote{opacity:.6}}
@media (max-width:600px){.ap-stimme-stage{height:300px}
.ap-stimme-world{transform:scale(.72)}}
