:root { --motion-duration:520ms;--motion-ease:cubic-bezier(.22,.61,.36,1);--theme-origin-x:50vw;--theme-origin-y:42px }

/* Programy zachowują filmowe wejście, ale kontroler obejmuje wyłącznie ich własne panele. */
html.motion-ready .program-tablist button{position:relative;overflow:hidden}html.motion-ready .program-tablist button::before{content:"";position:absolute;inset:auto 0 0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 520ms var(--motion-ease)}html.motion-ready .program-tablist button[aria-selected="true"]::before{transform:scaleX(1)}html.motion-ready .program-panels{position:relative;overflow:hidden}html.motion-ready .program-panels::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--gold) 14%,transparent),transparent);transform:translate3d(-70%,0,0)}html.motion-ready .program-panels:has(.is-motion-entering)::after{animation:program-scan 720ms var(--motion-ease) both}html.motion-ready .program-panels article.is-motion-entering{animation:program-in 620ms var(--motion-ease) both}

/* Współpraca wchodzi raz i pozostaje statyczna. */
html.motion-ready .collab-lines a{position:relative;overflow:hidden;opacity:.56;transform:translate3d(-18px,0,0);transition:transform 600ms var(--motion-ease),opacity 480ms ease}html.motion-ready .collab-lines a.is-inview{opacity:1;transform:none}html.motion-ready .collab-lines a::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--gold) 10%,transparent),transparent);transform:translate3d(-65%,0,0)}html.motion-ready .collab-lines a.is-inview::after{animation:line-scan 760ms var(--motion-ease) both;animation-delay:calc(var(--motion-order,0)*90ms)}

/* Kurtyna zmiany motywu. */
html.motion-ready body::after{content:"";position:fixed;z-index:260;left:var(--theme-origin-x);top:var(--theme-origin-y);width:28px;height:28px;border-radius:50%;pointer-events:none;background:var(--canvas);opacity:0;transform:translate3d(-50%,-50%,0) scale(.01)}html.motion-ready.is-theme-transitioning body::after{animation:theme-curtain 640ms cubic-bezier(.5,0,.2,1) both}

@keyframes program-in{from{opacity:0;transform:translate3d(28px,0,0) scale(.985)}to{opacity:1;transform:none}}@keyframes program-scan{0%{opacity:0;transform:translate3d(-70%,0,0)}28%{opacity:1}100%{opacity:0;transform:translate3d(70%,0,0)}}@keyframes line-scan{0%{opacity:0;transform:translate3d(-65%,0,0)}35%{opacity:.7}100%{opacity:0;transform:translate3d(65%,0,0)}}@keyframes theme-curtain{0%{opacity:.96;transform:translate3d(-50%,-50%,0) scale(.01)}58%{opacity:1;transform:translate3d(-50%,-50%,0) scale(180)}100%{opacity:0;transform:translate3d(-50%,-50%,0) scale(180)}}

@media(max-width:767px){html.motion-ready .collab-lines a{transform:translate3d(10px,0,0)}html.motion-ready .collab-lines a.is-inview{transform:none}}
@media(prefers-reduced-motion:reduce){html.motion-ready .program-panels::after,html.motion-ready .collab-lines a::after,html.motion-ready body::after{animation:none!important}html.motion-ready .collab-lines a,html.motion-ready .program-panels article{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}}
