/* Loader: style krytyczne — czarne tło od pierwszej klatki (plik zewnętrzny pod CSP: style-src 'self') */
html, body { background: #000; color: #e6ebe7; margin: 0; }
html.js:not(.zaladowana) body { overflow: hidden; }
#loader { position: fixed; inset: 0; z-index: 9999; background: #000; display: flex; flex-direction: column; align-items: center; justify-content: center;
  transition: opacity .8s ease .55s, visibility 0s linear 1.4s; }
#loader.koniec { opacity: 0; visibility: hidden; pointer-events: none; }
#loader canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.ld-logo { position: relative; width: min(520px, 78vw); aspect-ratio: 720 / 114; transition: transform 1s cubic-bezier(.5,0,.2,1), filter 1s; }
#loader.koniec .ld-logo { transform: scale(1.25); filter: blur(8px) brightness(1.8); opacity: 0; transition: transform .9s cubic-bezier(.5,0,.2,1), filter .9s, opacity .6s ease .2s; }
#loader.koniec .ld-pasek, #loader.koniec .ld-tekst { opacity: 0; transition: opacity .3s; }
.ld-logo img { position: absolute; inset: 0; width: 100%; height: 100%; }
.ld-ciemne { opacity: .14; filter: grayscale(1); }
.ld-jasne { clip-path: inset(-60% calc(100% - var(--p, 0%)) -60% -10%); filter: drop-shadow(0 0 12px rgba(224,149,90,.75)); }
.ld-skan { position: absolute; top: -30%; bottom: -30%; left: var(--p, 0%); width: 2px; margin-left: -1px;
  background: linear-gradient(transparent, #ffd9b5, transparent); box-shadow: 0 0 18px 4px rgba(255,160,90,.55); }
.ld-pasek { position: relative; width: min(520px, 78vw); height: 1px; margin-top: 34px; background: rgba(240,194,149,.15); }
.ld-pasek span { position: absolute; left: 0; top: 0; bottom: 0; width: var(--p, 0%); background: #f0c295; box-shadow: 0 0 10px 1px rgba(224,149,90,.8); }
.ld-tekst { position: relative; margin-top: 16px; font: 11px/1 ui-monospace, Consolas, monospace; letter-spacing: .32em; color: #8f9c96; }
.ld-tekst b { color: #f0c295; font-weight: 400; }
@media (prefers-reduced-motion: reduce) { .ld-logo, #loader { transition: opacity .3s; } }
/* Bez JavaScriptu (klasa .js dodawana w wybor-jezyka.js): bez loadera, a treść widoczna od razu (bez wjazdu przy przewijaniu) */
html:not(.js) #loader { display: none; }
html:not(.js) .wariant-b .wjazd { opacity: 1; transform: none; filter: none; }
