/* ============================================================================
   base.css — reset, czcionka, czerń tła, paski przewijania, blokada wejścia, .view/.main-wrap
   Część rozbitego css/style.css — kolejność wczytywania (ta sama na każdej
   podstronie) trzyma kaskadę identyczną jak w jednym pliku.
   ========================================================================== */

/* CZCIONKA CAŁEJ STRONY w JEDNEJ zmiennej — zmieniasz tu i podmienia się
   wszędzie (body dziedziczy, a pojedyncze reguły używają var(--font-family)).
   Domyślnie Inter; podmień wartość, żeby przełączyć czcionkę na całej stronie. */
:root{
  --font-family:"Inter",-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,0.28) transparent}
html::-webkit-scrollbar,body::-webkit-scrollbar{width:9px}
html::-webkit-scrollbar-track,body::-webkit-scrollbar-track{background:transparent}
html::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.22);border-radius:8px;border:2px solid transparent;background-clip:padding-box}
html::-webkit-scrollbar-thumb:hover,body::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,0.34);background-clip:padding-box}
/* CZYSTA CZERŃ #000 na html I body — dawne #0d0d0d + ziarno szumu (5% bieli
   wbudowane w SVG) dawało "brudny", szarawy odcień zamiast czerni i wyleciało
   na życzenie. Celowo BEZ gradientu/background-attachment/background-size na
   html — te trzy rzeczy razem były źródłem martwego pola przy zoom-out w
   Safari na macOS; ten sam kolor na body (widoczny w normalnym użyciu) i na
   html (widoczny właśnie w tym martwym polu) trzyma oba przypadki identyczne. */
html{background:#000;-webkit-text-size-adjust:100%;height:100%;overflow:hidden}
body{
  background:#000;
  color:#fff;font-family:var(--font-family);
  height:100%;overflow:hidden;
  -webkit-tap-highlight-color:transparent;
  /* Blokada zaznaczania tekstu na całej stronie (do pary z guardem w main.js:
     prawy klik, schowek, skróty). -webkit-touch-callout gasi też dymek
     kopiowania po przytrzymaniu palca na iOS. */
  -webkit-user-select:none;user-select:none;
  -webkit-touch-callout:none;
}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* BLOKADA WEJŚCIA — niewidoczna nakładka na cały ekran, usuwana w JS 1s po
   starcie (patrz setupLoadLock w whyme.js). Łapie WSZYSTKIE kliki (najwyższy
   z-index), więc np. odliczanie/link do Spotify nie zadziała, dopóki strona
   faktycznie nie zdąży się "ustatkować". */
#load-lock{position:fixed;inset:0;z-index:9999;background:transparent}

/* VIEWS */
.view{display:none}
.view.active{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden}

/* (INTRO WEJŚCIA — awatar .fly-av, kurtyna .curtain i choreografia
   html.page-revealed USUNIĘTE w całości na życzenie razem z playIntro() w
   main.js. Strona wchodzi bez kurtyny; sekcja WHY odpala własne, automatyczne
   intro pudełka — patrz js/why.js.) */

/* MAIN */
.main-wrap{flex:1;display:flex;flex-direction:column;align-items:center;padding:clamp(76px,12.5vw,132px) clamp(14px,2.4vw,30px) 0;max-width:1200px;margin:0 auto;width:100%;overflow-y:auto;-webkit-overflow-scrolling:touch}
/* (DAWNY REVEAL KONTENERA — .view .slides-viewport{opacity:0;transform:
   translateY(20px) scale(.95)} + .view.revealed{transform:none} — USUNIĘTY.
   DWA POWODY:
   1) BUG „finał TAPE wysuwa się bez scrolla" na /cd. #hero-scroll (scena CD)
      siedzi WEWNĄTRZ .slides-viewport, więc przez pierwszą sekundę po wejściu
      miał PRZESKALOWANEGO (scale .95) i przesuniętego rodzica. GSAP/ScrollTrigger
      inicjuje się dokładnie w tym oknie i mierzy start/end pina na zniekształconym
      layoucie (transformowany przodek psuje też position:fixed pina) — progres
      wychodził > 0 przy scrollTop 0 i timeline skakał na koniec, czyli pokazywał
      trzy finałowe tracklisty razem z napisem „Skroluj dalej". Wcześniej bug nie
      wychodził, bo PŁYTA była slajdem obok i reveal dawno się kończył, zanim user
      tam dojechał; po rozbiciu na osobne strony /cd ładuje się PROSTO w to okno.
   2) Wejście strony robi teraz czarny crossfade (#page-fade, js/transition.js) —
      ten reveal był już tylko zdublowaną, kolidującą animacją. */
@media(min-width:1500px){
  .main-wrap{max-width:1360px}
}
@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}100%{opacity:1;transform:translateY(0)}}
