.diagrams-module__rKUH2a__diagram{max-width:58rem;font-family:var(--font-ui);margin:3rem auto;padding-inline:clamp(1.5rem,4vw,3rem);font-size:1rem;line-height:1.5}.diagrams-module__rKUH2a__diagram figcaption{margin-bottom:1.5rem}.diagrams-module__rKUH2a__label{color:var(--color-kupfer-text);letter-spacing:.075em;text-transform:uppercase;font-size:.78rem;font-weight:650;display:block}.diagrams-module__rKUH2a__title{font:700 clamp(1.75rem, 4vw, 2.5rem)/1.15 var(--font-display);margin-top:.4rem;display:block}.diagrams-module__rKUH2a__diagram li{background:var(--color-papier-tief);min-width:0;padding:1rem 1.15rem;position:relative}.diagrams-module__rKUH2a__diagram li strong{color:var(--color-ink);font-size:1.125rem;font-weight:650;display:block}.diagrams-module__rKUH2a__cycle{gap:1.75rem;margin-left:1rem;display:grid;position:relative}.diagrams-module__rKUH2a__cycle:before{content:"";border:solid var(--color-kupfer);border-width:1px 0 1px 1px;position:absolute;inset:2rem 100% 2rem -1rem}.diagrams-module__rKUH2a__cycle li:first-child:before{content:"";border:solid var(--color-kupfer);border-width:1px 1px 0 0;width:7px;height:7px;position:absolute;top:calc(2rem - 3px);left:-6px;transform:rotate(45deg)}.diagrams-module__rKUH2a__cycle li:not(:last-child):after{content:"↓" / "";color:var(--color-ink-55);line-height:1.75rem;position:absolute;top:100%;left:50%;transform:translate(-50%)}.diagrams-module__rKUH2a__cycle li:nth-child(4){background:var(--color-kupfer-t2)}@media (min-width:44rem){.diagrams-module__rKUH2a__cycle{grid-template-columns:repeat(3,minmax(0,1fr));margin-left:0}.diagrams-module__rKUH2a__cycle:before,.diagrams-module__rKUH2a__cycle li:first-child:before{display:none}.diagrams-module__rKUH2a__cycle li:nth-child(4){grid-area:2/3}.diagrams-module__rKUH2a__cycle li:nth-child(5){grid-area:2/2}.diagrams-module__rKUH2a__cycle li:nth-child(6){grid-area:2/1}.diagrams-module__rKUH2a__cycle li:nth-child(-n+2):after{content:"→" / "";text-align:center;width:1.75rem;top:50%;left:100%;transform:translateY(-50%)}.diagrams-module__rKUH2a__cycle li:is(:nth-child(4),:nth-child(5)):after{content:"←" / "";text-align:center;width:1.75rem;top:50%;left:auto;right:100%;transform:translateY(-50%)}.diagrams-module__rKUH2a__cycle li:last-child:after{content:"↑" / "";color:var(--color-kupfer-text);line-height:1.75rem;position:absolute;bottom:100%;left:50%}}
.cheer{opacity:0;animation-delay:var(--delay);animation-duration:var(--duration);animation-timing-function:cubic-bezier(.2,.6,.3,1);animation-fill-mode:forwards;position:absolute;top:0}.cheer-rain{animation-name:cheer-rain}@keyframes cheer-rain{0%{opacity:1;transform:translateY(-30px)rotate(0)}15%{transform:translate(calc(var(--drift) * .2), 10px) rotate(calc(var(--spin) * .2))}to{opacity:0;transform:translate(var(--drift), 230px) rotate(var(--spin))}}.cheer-ribbon{animation-name:cheer-ribbon;animation-timing-function:cubic-bezier(.3,0,.4,1)}@keyframes cheer-ribbon{0%{opacity:1;transform:translateY(-40px)rotate(0)scaleX(1)}30%{transform:translate(calc(var(--drift) * .4), 30px) rotate(28deg) scaleX(.45)}60%{transform:translate(calc(var(--drift) * .7), 110px) rotate(-22deg) scaleX(1)}to{opacity:0;transform:translate(var(--drift), 210px) rotate(calc(var(--spin) * .1)) scaleX(.6)}}.cheer-sparks{animation-name:cheer-sparks;animation-timing-function:cubic-bezier(.1,.8,.2,1)}@keyframes cheer-sparks{0%{opacity:1;transform:translateY(90px)rotate(0)scale(.3)}to{opacity:0;transform:translate(var(--fx), calc(90px + var(--fy))) rotate(var(--spin)) scale(1)}}.sorrow{animation:1.9s forwards sorrow-enter}@keyframes sorrow-enter{0%{opacity:0;transform:translateY(-10px)scale(.85)}18%{opacity:1;transform:translateY(0)scale(1)}80%{opacity:1}to{opacity:0;transform:translateY(6px)scale(.97)}}.sorrow .mouth{stroke-dasharray:30;stroke-dashoffset:30px;animation:.5s ease-out .25s forwards mouth-draw}@keyframes mouth-draw{to{stroke-dashoffset:0}}.tear{opacity:0;animation:1.1s ease-in .6s forwards tear-fall}@keyframes tear-fall{0%{opacity:0;transform:translateY(0)scaleY(.6)}20%{opacity:1;transform:translateY(2px)scaleY(1)}to{opacity:0;transform:translateY(20px)scaleY(1.4)}}.sorrow-sigh .eye{transform-origin:50%;animation:1.7s ease-in-out .3s forwards eye-close}@keyframes eye-close{0%,30%{transform:scaleY(1)}45%,60%{transform:scaleY(.15)}75%{transform:scaleY(1)}to{transform:scaleY(.2)}}@media (prefers-reduced-motion:reduce){.cheer{display:none}.sorrow,.sorrow .mouth,.tear,.sorrow-sigh .eye{animation:none}.sorrow{opacity:1}.sorrow .mouth{stroke-dashoffset:0}.tear{opacity:1}}
