/* PLIK GENEROWANY — nie edytuj ręcznie.
 * Źródło: video/src/brand/logoAnimation/tune.ts (preset LOGO_TUNE).
 * Regeneracja: cd video && npm run export-logo-web
 * preset: e437c1be1533d42a
 *
 * Animacja logo z filmów, przełożona na klatki kluczowe CSS. Gra RAZ, przy
 * wejściu na ekran: element ukryty przez `display:none` nie animuje się wcale,
 * a pokazanie go uruchamia animację od początku — dlatego przełączanie klasy
 * `.hidden` na `#identityLogo` wystarcza za całą logikę odtwarzania.
 *
 * Markup (mark jest rodzeństwem logotypu, dokładnie jak `<img>`, który zastąpił):
 *
 *   <span class="brand brand-anim" role="img" aria-label="Pytania Mania">
 *     <span class="logoanim" aria-hidden="true">
 *       <img class="la-glow la-glow-wide" src="/logo/mark.webp" alt="">
 *       <img class="la-glow la-glow-soft" src="/logo/mark.webp" alt="">
 *       <img class="la-ray la-ray-1" src="/logo/ray_1.webp" alt=""> … (7)
 *       <img class="la-bulb" src="/logo/bulb.webp" alt="">
 *       <img class="la-question" src="/logo/question.webp" alt="">
 *       <img class="la-dot" src="/logo/dot.webp" alt="">
 *     </span>
 *     <span class="brand-txt" aria-hidden="true">Pytania<b>Mania</b></span>
 *   </span>
 */

.brand-anim{--la-dur:1.9s;--la-mark:1.9em}
.brand .logoanim{position:relative;flex:none;width:var(--la-mark);height:var(--la-mark)}
.brand .logoanim img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}

/* Poświata to rozmyta kopia znaku, nie osobny plik: 1,18 MB gotowych blurów
   zamienione na filtr. σ przeliczone z rejestru 1667² na bok znaku. */
.brand .logoanim .la-glow{filter:blur(calc(var(--la-mark) * 0.02100));opacity:0}
.brand .logoanim .la-glow-wide{filter:blur(calc(var(--la-mark) * 0.05999))}

/* Na ciemnym tle poświata DODAJE światła jak prawdziwa lampa; na jasnym
   dodawanie do bieli nic nie daje, więc kładzie się zwykłym kryciem. Ten sam
   podział co w filmach. */
@supports (mix-blend-mode: plus-lighter){
  :root[data-theme="dark"] .brand .logoanim .la-glow{mix-blend-mode:plus-lighter}
}

.brand-anim .logoanim{transform-origin:50% 50%;animation:labrandanimlogoanim var(--la-dur) linear both}
.brand-anim .la-bulb{transform-origin:50% 84%;animation:labrandanimlabulb var(--la-dur) linear both}
.brand-anim .la-question{transform-origin:50.5% 82%;animation:labrandanimlaquestion var(--la-dur) linear both}
.brand-anim .la-ray-1{transform-origin:50% 50%;animation:labrandanimlaray1 var(--la-dur) linear both}
.brand-anim .la-ray-2{transform-origin:50% 50%;animation:labrandanimlaray2 var(--la-dur) linear both}
.brand-anim .la-ray-3{transform-origin:50% 50%;animation:labrandanimlaray3 var(--la-dur) linear both}
.brand-anim .la-ray-4{transform-origin:50% 50%;animation:labrandanimlaray4 var(--la-dur) linear both}
.brand-anim .la-ray-5{transform-origin:50% 50%;animation:labrandanimlaray5 var(--la-dur) linear both}
.brand-anim .la-ray-6{transform-origin:50% 50%;animation:labrandanimlaray6 var(--la-dur) linear both}
.brand-anim .la-ray-7{transform-origin:50% 50%;animation:labrandanimlaray7 var(--la-dur) linear both}
.brand-anim .la-glow-wide{transform-origin:50% 50%;animation:labrandanimlaglowwide var(--la-dur) linear both}
.brand-anim .la-glow-soft{transform-origin:50% 50%;animation:labrandanimlaglowsoft var(--la-dur) linear both}
.brand-anim .brand-txt{transform-origin:50% 50%;animation:labrandanimbrandtxt var(--la-dur) linear both}

@keyframes labrandanimlogoanim{
  0%{opacity:0;transform:scale(0.94)}
  1.754%{opacity:0.038;transform:scale(0.942)}
  3.509%{opacity:0.146;transform:scale(0.949)}
  5.263%{opacity:0.309;transform:scale(0.959)}
  8.772%{opacity:0.691;transform:scale(0.981)}
  10.526%{opacity:0.854;transform:scale(0.991)}
  12.281%{opacity:0.962;transform:scale(0.998)}
  14.035%{opacity:1;transform:scale(1)}
  22.807%{opacity:1;transform:scale(1)}
  24.561%{opacity:1;transform:scale(1.019)}
  26.316%{opacity:1;transform:scale(1.026)}
  36.842%{opacity:1;transform:scale(0.994)}
  47.368%{opacity:1;transform:scale(1.001)}
  100%{opacity:1;transform:scale(1)}
}

@keyframes labrandanimlabulb{
  0%{transform:translate(0%,0%) rotate(0deg)}
  15.789%{transform:translate(0%,0%) rotate(0deg)}
  17.544%{transform:translate(0%,0%) rotate(6.886deg)}
  19.298%{transform:translate(0%,0%) rotate(10.65deg)}
  21.053%{transform:translate(0%,0%) rotate(11.537deg)}
  22.807%{transform:translate(0%,0%) rotate(10.212deg)}
  29.825%{transform:translate(0%,0%) rotate(-1.096deg)}
  33.333%{transform:translate(0%,0%) rotate(-3.271deg)}
  35.088%{transform:translate(0%,0%) rotate(-3.18deg)}
  45.614%{transform:translate(0%,0%) rotate(0.874deg)}
  59.649%{transform:translate(0%,0%) rotate(-0.269deg)}
  100%{transform:translate(0%,0%) rotate(0.006deg)}
}

@keyframes labrandanimlaquestion{
  0%{transform:translate(0%,0%) rotate(0deg)}
  17.544%{transform:translate(0%,0%) rotate(0deg)}
  19.298%{transform:translate(0%,0%) rotate(12.108deg)}
  21.053%{transform:translate(0%,0%) rotate(17.652deg)}
  22.807%{transform:translate(0%,0%) rotate(16.461deg)}
  24.561%{transform:translate(0%,0%) rotate(10.479deg)}
  26.316%{transform:translate(0%,0%) rotate(2.669deg)}
  28.07%{transform:translate(0%,0%) rotate(-4.135deg)}
  29.825%{transform:translate(0%,0%) rotate(-8.073deg)}
  31.579%{transform:translate(0%,0%) rotate(-8.602deg)}
  33.333%{transform:translate(0%,0%) rotate(-6.358deg)}
  36.842%{transform:translate(0%,0%) rotate(0.962deg)}
  38.596%{transform:translate(0%,0%) rotate(3.455deg)}
  40.351%{transform:translate(0%,0%) rotate(4.301deg)}
  42.105%{transform:translate(0%,0%) rotate(3.623deg)}
  47.368%{transform:translate(0%,0%) rotate(-1.342deg)}
  49.123%{transform:translate(0%,0%) rotate(-2.052deg)}
  59.649%{transform:translate(0%,0%) rotate(1.017deg)}
  68.421%{transform:translate(0%,0%) rotate(-0.504deg)}
  77.193%{transform:translate(0%,0%) rotate(0.238deg)}
  100%{transform:translate(0%,0%) rotate(0.031deg)}
}

@keyframes labrandanimlaray1{
  0%{opacity:0;transform:translate(0%,0%)}
  33.333%{opacity:0;transform:translate(0%,0%)}
  35.088%{opacity:0.271;transform:translate(3.248%,-1.655%)}
  36.842%{opacity:0.488;transform:translate(2.281%,-1.162%)}
  38.596%{opacity:0.657;transform:translate(1.528%,-0.779%)}
  40.351%{opacity:0.784;transform:translate(0.962%,-0.49%)}
  42.105%{opacity:0.875;transform:translate(0.557%,-0.284%)}
  43.86%{opacity:0.936;transform:translate(0.285%,-0.145%)}
  45.614%{opacity:0.973;transform:translate(0.12%,-0.061%)}
  50.877%{opacity:1;transform:translate(0%,0%)}
  100%{opacity:1;transform:translate(0%,0%)}
}

@keyframes labrandanimlaray2{
  0%{opacity:0;transform:translate(0%,0%)}
  29.825%{opacity:0;transform:translate(0%,0%)}
  31.579%{opacity:0.271;transform:translate(3.543%,0.853%)}
  33.333%{opacity:0.488;transform:translate(2.488%,0.599%)}
  35.088%{opacity:0.657;transform:translate(1.667%,0.401%)}
  36.842%{opacity:0.784;transform:translate(1.05%,0.253%)}
  38.596%{opacity:0.875;transform:translate(0.608%,0.146%)}
  40.351%{opacity:0.936;transform:translate(0.311%,0.075%)}
  43.86%{opacity:0.992;transform:translate(0.039%,0.009%)}
  100%{opacity:1;transform:translate(0%,0%)}
}

@keyframes labrandanimlaray3{
  0%{opacity:0;transform:translate(0%,0%)}
  26.316%{opacity:0;transform:translate(0%,0%)}
  28.07%{opacity:0.271;transform:translate(2.559%,2.595%)}
  29.825%{opacity:0.488;transform:translate(1.797%,1.823%)}
  31.579%{opacity:0.657;transform:translate(1.204%,1.221%)}
  33.333%{opacity:0.784;transform:translate(0.758%,0.769%)}
  35.088%{opacity:0.875;transform:translate(0.439%,0.445%)}
  36.842%{opacity:0.936;transform:translate(0.225%,0.228%)}
  40.351%{opacity:0.992;transform:translate(0.028%,0.028%)}
  100%{opacity:1;transform:translate(0%,0%)}
}

@keyframes labrandanimlaray4{
  0%{opacity:0;transform:translate(0%,0%)}
  22.807%{opacity:0;transform:translate(0%,0%)}
  24.561%{opacity:0.271;transform:translate(-0.022%,3.645%)}
  26.316%{opacity:0.488;transform:translate(-0.015%,2.56%)}
  28.07%{opacity:0.657;transform:translate(-0.01%,1.715%)}
  29.825%{opacity:0.784;transform:translate(-0.006%,1.08%)}
  31.579%{opacity:0.875;transform:translate(-0.004%,0.625%)}
  33.333%{opacity:0.936;transform:translate(-0.002%,0.32%)}
  36.842%{opacity:0.992;transform:translate(0%,0.04%)}
  100%{opacity:1;transform:translate(0%,0%)}
}

@keyframes labrandanimlaray5{
  0%{opacity:0;transform:translate(0%,0%)}
  26.316%{opacity:0;transform:translate(0%,0%)}
  28.07%{opacity:0.271;transform:translate(-2.46%,2.69%)}
  29.825%{opacity:0.488;transform:translate(-1.728%,1.889%)}
  31.579%{opacity:0.657;transform:translate(-1.158%,1.266%)}
  33.333%{opacity:0.784;transform:translate(-0.729%,0.797%)}
  35.088%{opacity:0.875;transform:translate(-0.422%,0.461%)}
  36.842%{opacity:0.936;transform:translate(-0.216%,0.236%)}
  40.351%{opacity:0.992;transform:translate(-0.027%,0.03%)}
  100%{opacity:1;transform:translate(0%,0%)}
}

@keyframes labrandanimlaray6{
  0%{opacity:0;transform:translate(0%,0%)}
  29.825%{opacity:0;transform:translate(0%,0%)}
  31.579%{opacity:0.271;transform:translate(-3.55%,0.82%)}
  33.333%{opacity:0.488;transform:translate(-2.493%,0.576%)}
  35.088%{opacity:0.657;transform:translate(-1.67%,0.386%)}
  36.842%{opacity:0.784;transform:translate(-1.052%,0.243%)}
  38.596%{opacity:0.875;transform:translate(-0.609%,0.141%)}
  40.351%{opacity:0.936;transform:translate(-0.312%,0.072%)}
  43.86%{opacity:0.992;transform:translate(-0.039%,0.009%)}
  100%{opacity:1;transform:translate(0%,0%)}
}

@keyframes labrandanimlaray7{
  0%{opacity:0;transform:translate(0%,0%)}
  33.333%{opacity:0;transform:translate(0%,0%)}
  35.088%{opacity:0.271;transform:translate(-3.353%,-1.436%)}
  36.842%{opacity:0.488;transform:translate(-2.355%,-1.009%)}
  38.596%{opacity:0.657;transform:translate(-1.578%,-0.676%)}
  40.351%{opacity:0.784;transform:translate(-0.994%,-0.426%)}
  42.105%{opacity:0.875;transform:translate(-0.575%,-0.246%)}
  43.86%{opacity:0.936;transform:translate(-0.294%,-0.126%)}
  45.614%{opacity:0.973;transform:translate(-0.124%,-0.053%)}
  50.877%{opacity:1;transform:translate(0%,0%)}
  100%{opacity:1;transform:translate(0%,0%)}
}

@keyframes labrandanimlaglowwide{
  0%{opacity:0;transform:scale(1)}
  22.807%{opacity:0;transform:scale(1)}
  24.561%{opacity:0.875;transform:scale(1.026)}
  26.316%{opacity:1;transform:scale(1.03)}
  33.333%{opacity:1;transform:scale(1.03)}
  35.088%{opacity:0.983;transform:scale(1.029)}
  36.842%{opacity:0.933;transform:scale(1.028)}
  38.596%{opacity:0.854;transform:scale(1.026)}
  40.351%{opacity:0.75;transform:scale(1.023)}
  42.105%{opacity:0.629;transform:scale(1.019)}
  45.614%{opacity:0.371;transform:scale(1.011)}
  47.368%{opacity:0.25;transform:scale(1.008)}
  49.123%{opacity:0.146;transform:scale(1.004)}
  50.877%{opacity:0.067;transform:scale(1.002)}
  52.632%{opacity:0.017;transform:scale(1.001)}
  54.386%{opacity:0;transform:scale(1)}
  100%{opacity:0;transform:scale(1)}
}

@keyframes labrandanimlaglowsoft{
  0%{opacity:0;transform:scale(1)}
  22.807%{opacity:0;transform:scale(1)}
  24.561%{opacity:0.088;transform:scale(1.026)}
  26.316%{opacity:0.1;transform:scale(1.03)}
  33.333%{opacity:0.1;transform:scale(1.03)}
  36.842%{opacity:0.093;transform:scale(1.028)}
  40.351%{opacity:0.075;transform:scale(1.023)}
  49.123%{opacity:0.015;transform:scale(1.004)}
  52.632%{opacity:0.002;transform:scale(1.001)}
  100%{opacity:0;transform:scale(1)}
}

@keyframes labrandanimbrandtxt{
  0%{opacity:0;transform:translateY(0.197em)}
  35.088%{opacity:0;transform:translateY(0.197em)}
  36.842%{opacity:0.024;transform:translateY(0.192em)}
  38.596%{opacity:0.095;transform:translateY(0.178em)}
  40.351%{opacity:0.206;transform:translateY(0.156em)}
  42.105%{opacity:0.345;transform:translateY(0.129em)}
  45.614%{opacity:0.655;transform:translateY(0.068em)}
  47.368%{opacity:0.794;transform:translateY(0.041em)}
  49.123%{opacity:0.905;transform:translateY(0.019em)}
  50.877%{opacity:0.976;transform:translateY(0.005em)}
  52.632%{opacity:1;transform:translateY(0em)}
  100%{opacity:1;transform:translateY(0em)}
}

/* Dostępność: przy tej preferencji logo ma po prostu BYĆ, bez ruchu. */
@media (prefers-reduced-motion: reduce){
  .brand .logoanim img{animation:none!important}
  .brand-anim .brand-txt{animation:none!important}
  .brand .logoanim{animation:none!important;opacity:1;transform:none;filter:none}
  .brand .logoanim .la-glow{display:none}
  .brand .logoanim .la-ray{opacity:1}
}
