.generation-progress{z-index:100;background:var(--orange);color:var(--ink);text-align:center;animation:stage-open .7s var(--ease) both;outline:0;flex-direction:column;align-items:center;padding:32px 24px 0;display:flex;position:fixed;inset:0;overflow:hidden}.generation-main{flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;min-height:0;display:flex}.generation-main>*{animation:stage-rise .6s var(--ease) both}.generation-question{-webkit-line-clamp:2;line-clamp:2;font-family:var(--font-mono);-webkit-box-orient:vertical;max-width:56ch;margin:0 0 8px;font-size:14px;line-height:20px;animation-delay:.2s;display:-webkit-box;overflow:hidden}.generation-question:before{content:"„"}.generation-question:after,:lang(en) .generation-question:before{content:"“"}:lang(en) .generation-question:after{content:"”"}.generation-art{width:min(440px,84vw);animation-delay:.1s}.generation-art svg{width:100%;height:auto;display:block;overflow:visible}.generation-disc{fill:var(--ink)}.generation-mark{color:var(--surface)}.generation-ripple{fill:none;stroke:var(--ink);stroke-width:1.5px;transform-origin:160px 88px;animation:stage-ripple 2.8s var(--ease) infinite}.generation-ripple-late{animation-delay:1.4s}.operator-track{opacity:.28;stroke-dasharray:2 8}.operator-orbit{transform-origin:160px 88px;animation:18s linear infinite operator-orbit}.operator-plus,.operator-times,.operator-divide,.operator-minus{transform-box:fill-box;transform-origin:50%;animation:18s linear infinite operator-counter}.question-hook{transform-origin:24px 18px;animation:question-assembly 5s var(--ease) infinite}.question-equals{transform-origin:25px 39px;animation:equals-assembly 5s var(--ease) infinite}.calculation-trace{animation:2s linear infinite calculation-trace}.generation-status{font-family:var(--font-display);letter-spacing:-.02em;text-wrap:balance;max-width:16ch;margin:8px 0 12px;font-size:clamp(32px,5vw,56px);font-weight:500;line-height:1.05;animation-name:stage-status;animation-duration:.5s}.generation-quips{min-height:24px;font-size:16px;line-height:24px;animation-delay:.3s}.generation-quips p{max-width:none;animation:quip-in .4s var(--ease);margin:0}.generation-printer{width:min(360px,100%);filter:var(--shadow-paper);transform:translateY(calc((4 - var(--step,0))*36px + 8px));transition:transform .7s var(--ease);animation:stage-feed .8s .3s var(--ease) both;flex:none;margin-top:24px}.generation-stages{--tooth:8px;background:var(--surface);font-family:var(--font-mono);text-align:left;-webkit-mask:conic-gradient(from 135deg at top,#0000,#000 1deg 89deg,#0000 90deg) 50%/calc(2*var(--tooth)) 100%;-webkit-mask:conic-gradient(from 135deg at top,#0000,#000 1deg 89deg,#0000 90deg) 50%/calc(2*var(--tooth)) 100%;mask:conic-gradient(from 135deg at top,#0000,#000 1deg 89deg,#0000 90deg) 50%/calc(2*var(--tooth)) 100%;margin:0;padding:24px 24px 20px;font-size:14px;list-style:none}.generation-stages li{height:36px;color:var(--muted);transition:color var(--fast) var(--ease);align-items:baseline;gap:8px;line-height:36px;display:flex}.generation-stages li i{border-bottom:1px dotted var(--control-border);flex:1;align-self:flex-end;margin-bottom:12px}.generation-stages li b:after{content:"–"}.generation-stages li[data-state=done]{color:var(--ink)}.generation-stages li[data-state=done] b:after{content:"✓"}.generation-stages li[data-state=current]{color:var(--ink);font-weight:500}.generation-stages li[data-state=current] b:after{content:"=";color:var(--orange);animation:1s steps(2,jump-none) infinite stage-blink}.generation-progress[data-done] .generation-ripple{animation-duration:1.2s}.generation-progress[data-paused=true] *{animation-play-state:paused!important}@keyframes stage-open{0%{clip-path:circle(0 at 50% 60%)}to{clip-path:circle(150% at 50% 60%)}}@keyframes stage-rise{0%{opacity:0;transform:translateY(16px)}}@keyframes stage-status{0%{opacity:0;transform:translateY(20px)}}@keyframes stage-feed{0%{transform:translateY(100%)}}@keyframes stage-ripple{0%{opacity:.5;transform:scale(1)}to{opacity:0;transform:scale(2.6)}}@keyframes stage-blink{0%{opacity:1}to{opacity:.2}}@keyframes operator-orbit{to{transform:rotate(360deg)}}@keyframes operator-counter{to{transform:rotate(-360deg)}}@keyframes question-assembly{0%,15%,85%,to{opacity:1;transform:translateY(0)rotate(0)}35%{opacity:.8;transform:translateY(-4px)rotate(-12deg)}55%,68%{opacity:0;transform:translateY(16px)scaleY(.08)}78%{opacity:1;transform:translateY(-2px)rotate(3deg)}}@keyframes equals-assembly{0%,15%,85%,to{transform:scaleX(1)}35%{transform:scaleX(.55)}55%,68%{transform:translateY(-8px)scaleX(1.2)}78%{transform:scaleX(.95)}}@keyframes calculation-trace{to{stroke-dashoffset:-20px}}@keyframes quip-in{0%{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (max-height:680px){.generation-art{width:min(300px,70vw)}.generation-status{font-size:32px}}@media (prefers-reduced-motion:reduce){.generation-quips{visibility:hidden}}.generation-error{max-width:44ch;margin:0 0 24px;font-size:18px;line-height:1.5}.generation-progress[data-failed] .generation-ripple{display:none}
