/* Bühne „promptforge“: V1-Animation (appfrags/promptforge.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-promptforge-stage{position:relative;width:100%;height:340px;overflow:hidden;display:flex;align-items:center;justify-content:center;perspective:1100px;perspective-origin:50% 44%;}
.ap-promptforge-world{position:relative;width:300px;height:300px;transform-style:preserve-3d;}
.ap-promptforge-scene{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(7deg) rotateY(-15deg);animation:ap-promptforge-orbit 42s ease-in-out infinite;}
@keyframes ap-promptforge-orbit{0%,100%{ transform:rotateX(7deg) rotateY(-15deg); }50%{ transform:rotateX(5deg) rotateY(15deg); }}
.ap-promptforge-atmo{position:absolute; left:50%; top:50%;width:360px; height:360px; margin:-180px 0 0 -180px;border-radius:50%;background:radial-gradient(45% 45% at 50% 48%,color-mix(in srgb, var(--accent) 34%, transparent),color-mix(in srgb, var(--accent2) 14%, transparent) 55%,transparent 74%);transform:translateZ(-260px);filter:blur(6px);animation:ap-promptforge-atmo 12.6s ease-in-out infinite;}
@keyframes ap-promptforge-atmo{0%,100%{ opacity:.5; } 50%{ opacity:.85; }}
.ap-promptforge-rings{position:absolute; left:50%; top:50%;width:250px; height:250px; margin:-125px 0 0 -125px;border-radius:50%;border:1px solid color-mix(in srgb, var(--accent2) 30%, transparent);box-shadow:0 0 0 26px color-mix(in srgb, var(--accent) 6%, transparent),inset 0 0 40px color-mix(in srgb, var(--accent2) 12%, transparent);transform:translateZ(-150px) rotateX(66deg);opacity:.5;animation:ap-promptforge-rings 45s linear infinite;}
@keyframes ap-promptforge-rings{from{ transform:translateZ(-150px) rotateX(66deg) rotateZ(0); } to{ transform:translateZ(-150px) rotateX(66deg) rotateZ(360deg); }}
.ap-promptforge-floor{position:absolute; left:50%; top:50%;width:210px; height:56px; margin:-28px 0 0 -105px;border-radius:50%;background:radial-gradient(closest-side, rgba(0,0,0,.34), transparent 72%);transform:translateY(150px) translateZ(-30px) rotateX(78deg);filter:blur(5px);opacity:.6;animation:ap-promptforge-floor 16.5s ease-in-out infinite;}
@keyframes ap-promptforge-floor{0%,100%{ opacity:.6;  transform:translateY(150px) translateZ(-30px) rotateX(78deg) scale(1); }50%    { opacity:.42; transform:translateY(150px) translateZ(-30px) rotateX(78deg) scale(.86); }}
.ap-promptforge-panel{position:absolute; inset:0;transform-style:preserve-3d;animation:ap-promptforge-float 16.5s ease-in-out infinite;}
@keyframes ap-promptforge-float{0%,100%{ transform:translateY(0) rotateX(0deg); }50%{ transform:translateY(-8px) rotateX(2deg); }}
.ap-promptforge-core{position:absolute; left:50%; top:50%;width:132px; height:132px; margin:-66px 0 0 -66px;border-radius:50%;background:radial-gradient(circle at 50% 44%,color-mix(in srgb,#fff 46.8%, var(--accent)) 0%,var(--accent) 34%,color-mix(in srgb, var(--accent) 40%, transparent) 60%,transparent 76%);transform:translateZ(-46px);filter:blur(2px);animation:ap-promptforge-pulse 9.45s ease-in-out infinite;}
@keyframes ap-promptforge-pulse{0%,100%{ opacity:.68; transform:translateZ(-46px) scale(.9); }50%{ opacity:1; transform:translateZ(-46px) scale(1.1); }}
.ap-promptforge-face{position:absolute; left:50%; top:50%;width:190px; height:250px; margin:-125px 0 0 -95px;border-radius:var(--rad,22px);overflow:hidden;background:linear-gradient(150deg,color-mix(in srgb, var(--glasshi) 60%, transparent) 0%,transparent 30%),linear-gradient(160deg,color-mix(in srgb, var(--accent) 10%, var(--glass)) 0%,var(--glass) 46%,color-mix(in srgb, var(--accent2) 10%, var(--glass)) 100%);border:1px solid var(--glassbrd);box-shadow:0 26px 50px -18px rgba(0,0,0,.5),0 0 34px color-mix(in srgb, var(--accent) 22%, transparent),inset 0 1px 0 var(--glasshi),inset 1px 0 0 color-mix(in srgb, var(--accent2) 24%, transparent),inset -1px 0 0 color-mix(in srgb, var(--accent2) 24%, transparent),inset 0 -1px 0 color-mix(in srgb, var(--accent2) 18%, transparent),inset 0 -16px 24px -16px rgba(0,0,0,.32),inset 0 0 30px color-mix(in srgb, var(--accent2) 10%, transparent);backdrop-filter:blur(4px);}
.ap-promptforge-sheen{position:absolute; inset:0;border-radius:inherit;background:linear-gradient(180deg,color-mix(in srgb, var(--accent2) 26%, transparent) 0%,transparent 22%),linear-gradient(0deg,color-mix(in srgb, var(--accent2) 20%, transparent) 0%,transparent 17%);opacity:.7;pointer-events:none;}
.ap-promptforge-sweep{position:absolute; top:-30%; left:0;width:60%; height:160%;background:linear-gradient(105deg,transparent, color-mix(in srgb,#fff 33%, transparent), transparent);transform:translateX(-100%) rotate(8deg);filter:blur(3px);will-change:transform,opacity;animation:ap-promptforge-sweep 10.5s ease-in-out infinite;}
@keyframes ap-promptforge-sweep{0%{ transform:translateX(-100%) rotate(8deg); opacity:0; }35%{ opacity:.9; }70%{ transform:translateX(200%) rotate(8deg); opacity:0; }100%{ transform:translateX(200%) rotate(8deg); opacity:0; }}
.ap-promptforge-cell{position:absolute; left:50%; top:50%;width:66px; height:42px; margin:-21px 0 0 -33px;border-radius:12px;background:color-mix(in srgb, var(--glass) 60%, transparent);border:1px solid color-mix(in srgb, var(--accent) 20%, var(--glassbrd));box-shadow:inset 0 0 12px color-mix(in srgb, var(--accent) 10%, transparent);animation:ap-promptforge-cell 11.25s ease-in-out infinite;}
.ap-promptforge-cell::after{content:"";position:absolute; inset:0;border-radius:inherit;box-shadow:inset 0 0 16px color-mix(in srgb, var(--accent) 26%, transparent);opacity:0;animation:ap-promptforge-cellglow 11.25s ease-in-out infinite;animation-delay:inherit;pointer-events:none;}
@keyframes ap-promptforge-cell{0%,100%{ opacity:.4; }30%,60%{ opacity:.9; }}
@keyframes ap-promptforge-cellglow{0%,100%{ opacity:0; }30%,60%{ opacity:1; }}
.ap-promptforge-cell--1{transform:translate(-45px,-84px); animation-delay:-.3s;}
.ap-promptforge-cell--2{transform:translate(45px,-84px);  animation-delay:-2.1s;}
.ap-promptforge-cell--3{transform:translate(-45px,0);     animation-delay:-4.35s;}
.ap-promptforge-cell--4{transform:translate(45px,0);      animation-delay:-5.55s;}
.ap-promptforge-cell--5{transform:translate(-45px,84px);  animation-delay:-7.95s;}
.ap-promptforge-cell--6{transform:translate(45px,84px);   animation-delay:-9.6s;}
.ap-promptforge-chip{position:absolute; left:50%; top:50%;width:58px; height:26px; margin:-13px 0 0 -29px;border-radius:9px;display:flex; align-items:center; justify-content:center;background:linear-gradient(150deg,color-mix(in srgb, var(--glasshi) 50%, var(--glass)),color-mix(in srgb, var(--accent) 16%, var(--glass)));border:1px solid color-mix(in srgb, var(--accent) 34%, var(--glassbrd));box-shadow:0 12px 22px -8px rgba(0,0,0,.5),0 0 14px color-mix(in srgb, var(--accent) 26%, transparent),inset 0 1px 0 var(--glasshi);opacity:0;animation:ap-promptforge-dock 13.5s ease-in-out infinite;}
.ap-promptforge-tick{width:16px; height:9px;border-left:2px solid color-mix(in srgb,#fff 42%, var(--accent));border-bottom:2px solid color-mix(in srgb,#fff 42%, var(--accent));transform:rotate(-45deg) translateY(-2px);opacity:0;animation:ap-promptforge-tick 13.5s ease-in-out infinite;}
@keyframes ap-promptforge-dock{0%{   opacity:0; transform:translate3d(calc(var(--tx)*1.9),calc(var(--ty)*1.9),-240px) scale(.4) rotateZ(-18deg); }14%{  opacity:1; }30%{  opacity:1; transform:translate3d(var(--tx),var(--ty),24px) scale(1.06) rotateZ(3deg); }38%{  transform:translate3d(var(--tx),var(--ty),14px) scale(1) rotateZ(0deg); }80%{  opacity:1; transform:translate3d(var(--tx),var(--ty),14px) scale(1) rotateZ(0deg); }92%{  opacity:0; transform:translate3d(var(--tx),var(--ty),40px) scale(.96); }100%{ opacity:0; transform:translate3d(calc(var(--tx)*1.9),calc(var(--ty)*1.9),-240px) scale(.4) rotateZ(-18deg); }}
@keyframes ap-promptforge-tick{0%,40%{ opacity:0; } 50%,78%{ opacity:.95; } 88%,100%{ opacity:0; }}
.ap-promptforge-chip--1{--tx:-45px; --ty:-84px; animation-delay:0s;}
.ap-promptforge-chip--2{--tx:45px;  --ty:-84px; animation-delay:-2.55s;}
.ap-promptforge-chip--3{--tx:-45px; --ty:0px;   animation-delay:-4.8s;}
.ap-promptforge-chip--4{--tx:45px;  --ty:0px;   animation-delay:-6.9s;}
.ap-promptforge-chip--5{--tx:-45px; --ty:84px;  animation-delay:-9.45s;}
.ap-promptforge-chip--6{--tx:45px;  --ty:84px;  animation-delay:-11.7s;}
.ap-promptforge-chip--1 .ap-promptforge-tick{animation-delay:0s;}
.ap-promptforge-chip--2 .ap-promptforge-tick{animation-delay:-2.55s;}
.ap-promptforge-chip--3 .ap-promptforge-tick{animation-delay:-4.8s;}
.ap-promptforge-chip--4 .ap-promptforge-tick{animation-delay:-6.9s;}
.ap-promptforge-chip--5 .ap-promptforge-tick{animation-delay:-9.45s;}
.ap-promptforge-chip--6 .ap-promptforge-tick{animation-delay:-11.7s;}
.ap-promptforge-spark{position:absolute; left:50%; top:50%;width:5px; height:5px; margin:-2.5px 0 0 -2.5px;border-radius:50%;background:radial-gradient(circle, #fff, color-mix(in srgb, var(--accent2) 60%, transparent) 60%, transparent);box-shadow:0 0 8px color-mix(in srgb, var(--accent2) 60%, transparent);animation:ap-promptforge-spark 18s ease-in-out infinite;}
@keyframes ap-promptforge-spark{0%,100%{ opacity:0; transform:translate3d(var(--sx),var(--sy),90px) scale(.6); }30%,70%{ opacity:.8; transform:translate3d(calc(var(--sx)*1.1),calc(var(--sy)*0.7),120px) scale(1); }}
.ap-promptforge-spark--1{--sx:-118px; --sy:-70px; animation-delay:-1.5s;}
.ap-promptforge-spark--2{--sx:130px;  --sy:52px;  animation-delay:-7.5s;}
.ap-promptforge-spark--3{--sx:96px;   --sy:-96px; animation-delay:-12.75s;}
.v1-buehne .ap-promptforge-face{box-shadow:0 30px 56px -18px rgba(0,0,0,.72),0 0 44px color-mix(in srgb, var(--accent) 34%, transparent),inset 0 1px 0 var(--glasshi),inset 1px 0 0 color-mix(in srgb, var(--accent2) 32%, transparent),inset -1px 0 0 color-mix(in srgb, var(--accent2) 32%, transparent),inset 0 -1px 0 color-mix(in srgb, var(--accent2) 24%, transparent),inset 0 -18px 26px -16px rgba(0,0,0,.5),inset 0 0 34px color-mix(in srgb, var(--accent2) 16%, transparent);}
.v1-buehne .ap-promptforge-chip{box-shadow:0 14px 26px -8px rgba(0,0,0,.7),0 0 20px color-mix(in srgb, var(--accent) 40%, transparent),inset 0 1px 0 var(--glasshi);}
.v1-buehne .ap-promptforge-atmo{filter:blur(6px) brightness(1.15);}
@media (prefers-reduced-motion: reduce){.ap-promptforge-scene{animation:none; transform:rotateX(6deg) rotateY(-13deg);}
.ap-promptforge-panel{animation:none; transform:translateY(-4px);}
.ap-promptforge-atmo,.ap-promptforge-rings,.ap-promptforge-cell,.ap-promptforge-cell::after,.ap-promptforge-floor{animation:none;}
.ap-promptforge-atmo{opacity:.7;}
.ap-promptforge-cell{opacity:.85;}
.ap-promptforge-cell::after{opacity:.6;}
.ap-promptforge-floor{opacity:.55;}
.ap-promptforge-core{animation:none; opacity:.95; transform:translateZ(-46px) scale(1.04);}
.ap-promptforge-sweep{animation:none; transform:translateX(57%) rotate(8deg); opacity:.5;}
.ap-promptforge-chip{animation:none; opacity:1; transform:translate3d(var(--tx),var(--ty),14px) scale(1);}
.ap-promptforge-tick{animation:none; opacity:.95;}
.ap-promptforge-spark{animation:none; opacity:.7; transform:translate3d(var(--sx),var(--sy),110px);}}
@media (max-width:600px){.ap-promptforge-stage{height:300px;}
.ap-promptforge-world{transform:scale(.7);}}
