/* =========================================================================
   drinting — arkusz stylów

   Kierunek: wieczór w barze. Ciemne tło z fioletową domieszką (nie czysta
   szarość), bursztyn dla trybu Teraz, jadeit dla trybu Zaproszenie.
   Jadeit zamiast różu jest wyborem świadomym: „bezpieczne, zweryfikowane”
   ma się czytać chłodno, a nie jako aplikacja pomalowana na dziewczęco.

   Motyw jest jeden, ciemny — produkt jest o wieczorach, nie o pracy w biurze.
   ========================================================================= */

:root {
  /* Ciemność ma temperaturę: śliwka, nie szarość. Powierzchnie nie są płaskim
     kolorem tylko gradientem — inaczej wszystko wygląda jak panel admina. */
  --tusz: #0d0a11;
  --noc: #171220;
  --noc-2: #1f1829;
  --kresa: #2c2438;
  --kresa-jasna: #3a3048;
  --mgla: #f8fafc;
  --mgla-cicha: #e2e8f0;
  --kreda: #ffffff;

  /* Paleta 6handshakes: złoto dla pierwszego ruchu, morska zieleń dla
     połączenia i dalszej drogi. */
  --bursztyn: #f7c737;
  --bursztyn-jasny: #ffe58a;
  --bursztyn-ciemny: #805d12;
  --jadeit: #20c99a;
  --jadeit-jasny: #79e7bf;
  --jadeit-ciemny: #0a6858;
  --lila: #b394e0;
  --neon: #d96ab8;          /* tylko światło w tle, nigdy element sterujący */
  --alarm: #e86f63;

  /* Powierzchnie i światło */
  --plyta: linear-gradient(168deg, #1d1628 0%, #150f1e 100%);
  --plyta-wyzej: linear-gradient(168deg, #251d33 0%, #1a1425 100%);
  --cien-blisko: 0 1px 2px rgb(0 0 0 / 0.4);
  --cien-daleko: 0 18px 40px -12px rgb(0 0 0 / 0.7);
  --swiatlo-gorne: inset 0 1px 0 rgb(255 255 255 / 0.07);

  --szpalta: 62ch;
  --ramka: 1120px;
  --app-shell-max-width: var(--ramka);
  --app-shell-pad-x: clamp(1rem, 4vw, 2.5rem);
  --app-shell-pad-top: clamp(1.2rem, 3.5vw, 2.4rem);
  --app-shell-pad-bottom: 7.5rem;
  --promien: 16px;
  --promien-maly: 10px;

  --display: "Schibsted Grotesk", system-ui, sans-serif;
  --tekst: "Schibsted Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;
  --pismo: "Instrument Serif", "Bodoni Moda", Georgia, serif;
  --tytul-glowny: clamp(2.4rem, 4.9vw, 4.55rem);
  --tytul-sekcji: clamp(1.95rem, 3.95vw, 3.75rem);
}

*, *::before, *::after { box-sizing: border-box; }

.tylko-czytnik {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: var(--tusz);
  color: var(--kreda);
  font-family: var(--tekst);
  font-size: 17px;
  line-height: 1.6;
  overflow-x: hidden;
  position: relative;
}

/* Ziarno na całej stronie. Jedna rzecz, która najmocniej odbiera interfejsowi
   wrażenie „płaskiego CSS-a” — ekran zaczyna wyglądać jak materiał, nie jak plik. */
body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 1000;
  pointer-events: none;
  opacity: 0.045;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* Ambientowe światło baru — dwie plamy, które bardzo powoli dryfują. */
body::before {
  content: "";
  position: fixed;
  inset: -25% -15% auto -15%;
  height: 70vh;
  z-index: -2;
  pointer-events: none;
  background:
    radial-gradient(40% 55% at 18% 30%, color-mix(in srgb, var(--bursztyn) 13%, transparent), transparent 72%),
    radial-gradient(38% 50% at 82% 22%, color-mix(in srgb, var(--neon) 10%, transparent), transparent 72%),
    radial-gradient(45% 60% at 55% 60%, color-mix(in srgb, var(--jadeit) 7%, transparent), transparent 75%);
  filter: blur(40px);
  animation: dryf 46s ease-in-out infinite alternate;
}

@keyframes dryf {
  from { transform: translate3d(-2%, 0, 0) scale(1); }
  to   { transform: translate3d(3%, 2%, 0) scale(1.08); }
}

img { max-width: 100%; display: block; }

a { color: inherit; }

:focus-visible {
  outline: 2px solid var(--bursztyn);
  outline-offset: 3px;
  border-radius: 4px;
}

.przeskocz {
  position: absolute;
  left: -9999px;
  top: 0;
  background: var(--kreda);
  color: var(--tusz);
  padding: 10px 16px;
  z-index: 100;
}
.przeskocz:focus { left: 12px; top: 12px; }

/* --------------------------------------------------------------- typografia */
.naglowek1,
.naglowek2,
.hero__naglowek {
  font-family: var(--display);
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: -0.015em;
  text-wrap: balance;
  margin: 0;
}

/* Bodoni jest krojem o wysokim kontraście — cienkie kreski gubią się w małych
   rozmiarach, więc używamy go WYŁĄCZNIE duży i dajemy mu powietrze. */
.hero__naglowek { font-size: clamp(2.2rem, 6vw, 3.6rem); line-height: 1.06; letter-spacing: -0.02em; }
.naglowek1 { font-size: clamp(1.9rem, 5vw, 2.8rem); line-height: 1.08; letter-spacing: -0.015em; color: var(--bursztyn-jasny); text-shadow: 0 0 24px color-mix(in srgb, var(--bursztyn) 14%, transparent); }
.naglowek2 { font-size: clamp(1.3rem, 2.8vw, 1.7rem); margin-bottom: 0.55em; color: var(--jadeit-jasny); }
.hero__naglowek { color: var(--bursztyn-jasny); text-shadow: 0 0 26px color-mix(in srgb, var(--bursztyn) 13%, transparent); }

.hero__naglowek em {
  font-style: normal;
  color: var(--jadeit-jasny);
}

.nadtytul {
  font-size: var(--ui-small, .875rem);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--mgla-cicha);
  margin: 0 0 1.3em;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 0.7rem;
}
/* Kreska przy nadtytule — drobny znak firmowy, powtarzalny na każdym ekranie. */
.nadtytul::before {
  content: "";
  width: 22px; height: 1px;
  background: currentColor;
  opacity: 0.6;
  flex: none;
}
.nadtytul--teraz { color: var(--bursztyn); }
.nadtytul--zapro { color: var(--jadeit); }

.akapit {
  margin: 0 0 1.1em;
  color: var(--mgla);
  max-width: var(--szpalta);
}
.akapit--waski { max-width: 52ch; }
.akapit strong { color: var(--kreda); font-weight: 500; }
.akapit a { color: var(--kreda); text-decoration-color: var(--kresa); text-underline-offset: 3px; }

.dystans, .plan__kiedy, .kafel__meta { font-variant-numeric: tabular-nums; }

/* ------------------------------------------------------------------- układ */
.szpalta { max-width: var(--szpalta); }

.sekcja {
  max-width: var(--ramka);
  margin-inline: auto;
  padding: clamp(2.2rem, 6vw, 4rem) clamp(1.2rem, 5vw, 2.5rem);
  border-top: 1px solid var(--kresa);
}
.sekcja:first-of-type { border-top: 0; }

/* ------------------------------------------------------------------ pasek */
.pasek {
  position: sticky;
  top: 0;
  z-index: 40;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.6rem 1rem;
  padding: 0.9rem clamp(1.2rem, 5vw, 2.5rem);
  background: color-mix(in srgb, var(--tusz) 72%, transparent);
  backdrop-filter: blur(18px) saturate(1.3);
  border-bottom: 1px solid rgb(255 255 255 / 0.06);
  box-shadow: 0 1px 0 rgb(255 255 255 / 0.03);
}

.marka {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  min-width: 0;
  height: 52px;
  flex: none;
  text-decoration: none;
  color: var(--kreda);
  transition: opacity .18s ease, transform .18s ease;
}
.marka:hover {
  transform: translateY(-1px);
  opacity: .92;
}
.marka__znak {
  width: 50px;
  height: 50px;
  flex: none;
  object-fit: contain;
  transform: scale(1.18);
}
.marka__slowo {
  font-family: "Schibsted Grotesk", system-ui, sans-serif;
  font-size: 1.22rem;
  font-weight: 400;
  letter-spacing: -.045em;
  line-height: 1;
  white-space: nowrap;
}
.marka__slowo b { color: var(--bursztyn); font: inherit; }
.marka__slowo i { color: var(--jadeit); font: inherit; }

.pasek__prawa { display: flex; align-items: center; justify-content: flex-end; flex: 1 1 640px; flex-wrap: wrap; gap: 0.8rem; min-width: 0; }
.pasek__nav { display: flex; gap: 0.4rem; }
.pasek__konto { display: flex; align-items: center; gap: .35rem; }

/* przełącznik języka (flagi PL/EN) w pasku */
.pasek__jezyk {
  display: flex;
  align-items: center;
  gap: .2rem;
  flex: none;
  padding-left: .55rem;
  border-left: 1px solid var(--kresa);
}
.pasek__flaga {
  display: inline-flex;
  align-items: center;
  gap: .32rem;
  padding: .3rem .5rem;
  border: 1px solid transparent;
  border-radius: 999px;
  color: var(--mgla);
  font-size: var(--ui-small, .875rem);
  font-weight: 700;
  letter-spacing: .06em;
  line-height: 1;
  text-decoration: none;
  opacity: .62;
  transition: opacity .15s, color .15s, border-color .15s, background-color .15s;
}
.pasek__flaga img {
  width: 22px;
  height: 15px;
  flex: none;
  border-radius: 2px;
  box-shadow: 0 0 0 1px rgb(255 255 255 / .14);
  object-fit: cover;
}
.pasek__flaga:hover,
.pasek__flaga:focus-visible { opacity: 1; color: var(--kreda); border-color: var(--kresa); }
.pasek__flaga.jest-aktywna {
  opacity: 1;
  color: var(--kreda);
  border-color: color-mix(in srgb, var(--bursztyn) 55%, transparent);
  background: color-mix(in srgb, var(--bursztyn) 12%, transparent);
}
.pasek__menu {
  position: relative;
  display: none;
  width: 46px;
  height: 46px;
  place-items: center;
  flex: none;
  padding: 0;
  border: 1px solid color-mix(in srgb, var(--jadeit) 34%, transparent);
  border-radius: 50%;
  color: var(--kreda);
  background: color-mix(in srgb, var(--tusz) 78%, transparent);
  cursor: pointer;
}
.pasek__menu img { width: 23px; height: 23px; filter: invert(1); }
.pasek__menu-zamknij { display: none; }
.pasek__menu[aria-expanded="true"] .pasek__menu-otworz { display: none; }
.pasek__menu[aria-expanded="true"] .pasek__menu-zamknij { display: block; }

.pasek__profil {
  text-decoration: none;
  font-size: var(--ui-small, .875rem);
  color: var(--mgla);
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  border: 1px solid transparent;
  transition: color 0.15s, border-color 0.15s;
}
.pasek__profil:hover { color: var(--kreda); border-color: var(--kresa); }
.pasek__profil--zaloz { color: var(--kreda); border-color: var(--kresa); }
.pasek__link {
  text-decoration: none;
  font-size: 0.9rem;
  padding: 0.35rem 0.85rem;
  border-radius: 999px;
  border: 1px solid var(--kresa);
  color: var(--mgla);
  transition: color 0.15s, border-color 0.15s, background-color 0.15s;
}
.pasek__link--teraz:hover, .pasek__link--teraz.jest-aktywny {
  color: var(--bursztyn); border-color: var(--bursztyn-ciemny);
  background: color-mix(in srgb, var(--bursztyn) 10%, transparent);
}
.pasek__link--zapro:hover, .pasek__link--zapro.jest-aktywny {
  color: var(--jadeit); border-color: var(--jadeit-ciemny);
  background: color-mix(in srgb, var(--jadeit) 10%, transparent);
}
.pasek__link--swataj:hover, .pasek__link--swataj.jest-aktywny {
  color: var(--bursztyn); border-color: color-mix(in srgb, var(--bursztyn) 42%, transparent);
  background: color-mix(in srgb, var(--bursztyn) 9%, transparent);
}

/* ------------------------------------------------------------------- hero */
.hero {
  max-width: var(--ramka);
  margin-inline: auto;
  padding: clamp(3.5rem, 11vw, 8rem) clamp(1.2rem, 5vw, 2.5rem) clamp(3rem, 7vw, 5rem);
  position: relative;
}
.hero--landing {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(330px, 0.8fr);
  column-gap: clamp(2rem, 8vw, 8rem);
  align-items: center;
  min-height: min(760px, calc(100svh - 66px));
}
.hero::before {
  content: "";
  position: absolute;
  inset: -20% -10% auto -10%;
  height: 420px;
  background:
    radial-gradient(45% 60% at 22% 40%, color-mix(in srgb, var(--bursztyn) 16%, transparent), transparent 70%),
    radial-gradient(45% 60% at 78% 30%, color-mix(in srgb, var(--jadeit) 13%, transparent), transparent 70%);
  filter: blur(30px);
  pointer-events: none;
  z-index: -1;
}
.hero__tresc { position: relative; }
.hero--landing .hero__tresc { z-index: 1; }
.hero__lead {
  font-size: clamp(1.05rem, 2.1vw, 1.3rem);
  color: var(--mgla);
  max-width: 54ch;
  margin: 1.6rem 0 0;
}
.hero--landing .hero__lead { max-width: 38ch; }

.hero__wejscia {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 0.9rem;
  margin-top: 2.6rem;
  max-width: 680px;
}
.wejscie {
  display: block;
  padding: 1.15rem 1.3rem;
  border-radius: var(--promien);
  border: 0;
  box-shadow: var(--cien-blisko), var(--swiatlo-gorne), 0 0 0 1px rgb(255 255 255 / 0.05);
  background: var(--plyta);
  text-decoration: none;
  position: relative;
  overflow: hidden;
  transition: transform 0.24s cubic-bezier(.2,.8,.3,1), border-color 0.24s, background-color 0.24s, box-shadow 0.24s;
}
.wejscie::after { content: ""; position: absolute; inset: auto -20% -55% 20%; height: 90px; border-radius: 50%; filter: blur(18px); opacity: 0; transition: opacity 0.24s; }
.wejscie:hover { transform: translateY(-5px) scale(1.015); }
.wejscie:hover::after { opacity: 0.75; }
.wejscie__numer { display: block; color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); letter-spacing: 0.13em; text-transform: uppercase; margin-bottom: 0.65rem; }
.wejscie__nazwa {
  display: block;
  font-family: var(--display);
  font-size: 1.6rem;
  line-height: 1.1;
}
.wejscie__nazwa b { float: right; font-family: var(--tekst); font-size: 1.15rem; font-weight: 400; transition: transform 0.24s; }
.wejscie:hover .wejscie__nazwa b { transform: translateX(4px); }
.wejscie__opis { display: block; color: var(--mgla); font-size: 0.92rem; margin-top: 0.2rem; }
.wejscie--teraz::after { background: var(--bursztyn); }
.wejscie--teraz:hover { border-color: var(--bursztyn-ciemny); background: color-mix(in srgb, var(--bursztyn) 8%, var(--noc)); box-shadow: var(--cien-blisko), 0 0 32px -12px var(--bursztyn); }
.wejscie--teraz .wejscie__nazwa { color: var(--bursztyn); }
.wejscie--zapro::after { background: var(--jadeit); }
.wejscie--zapro:hover { border-color: var(--jadeit-ciemny); background: color-mix(in srgb, var(--jadeit) 8%, var(--noc)); box-shadow: var(--cien-blisko), 0 0 32px -12px var(--jadeit); }
.wejscie--zapro .wejscie__nazwa { color: var(--jadeit); }

.hero__szczegoly { grid-column: 1 / -1; margin-top: -1.4rem; position: relative; z-index: 2; }

/* Nocna, abstrakcyjna scena: komunikuje dwa produkty bez udawania ludzi ani danych na żywo. */
.scena-wieczoru { position: relative; width: min(100%, 450px); aspect-ratio: 1 / 1; justify-self: end; isolation: isolate; }
.scena-wieczoru__halo { position: absolute; inset: 15%; border-radius: 50%; background: conic-gradient(from 210deg, rgb(240 167 63 / .3), rgb(217 106 184 / .12), rgb(79 195 169 / .32), rgb(240 167 63 / .3)); filter: blur(32px); animation: scena-oddech 7s ease-in-out infinite alternate; }
.scena-wieczoru__orbita { position: absolute; inset: 9%; border: 1px solid rgb(255 255 255 / .11); border-radius: 50%; }
.scena-wieczoru__orbita--zew { transform: rotate(-21deg) scaleX(1.17); animation: scena-obrot 22s linear infinite; }
.scena-wieczoru__orbita--wew { inset: 25%; border-color: rgb(255 255 255 / .16); transform: rotate(38deg) scaleX(.66); animation: scena-obrot-wew 15s linear infinite reverse; }
.scena-wieczoru__centrum { position: absolute; inset: 31%; display: grid; place-content: center; text-align: center; border-radius: 50%; background: radial-gradient(circle at 34% 30%, #39304b, #181320 68%); box-shadow: 0 0 0 1px rgb(255 255 255 / .12), inset 0 1px 1px rgb(255 255 255 / .14), 0 28px 70px -25px #000; }
.scena-wieczoru__centrum span, .scena-wieczoru__centrum small { font-size: var(--ui-small, .875rem); text-transform: uppercase; letter-spacing: .16em; color: var(--mgla); }
.scena-wieczoru__centrum strong { font-family: var(--display); font-size: clamp(1.8rem, 5vw, 2.65rem); line-height: 1; margin: .2rem 0; }
.scena-wieczoru__znacznik { position: absolute; display: grid; grid-template-columns: 9px auto; column-gap: .48rem; align-items: center; padding: .62rem .8rem; background: rgb(23 18 32 / .84); border: 1px solid rgb(255 255 255 / .12); border-radius: 12px; box-shadow: var(--cien-daleko); backdrop-filter: blur(12px); animation: scena-znacznik 4s ease-in-out infinite alternate; }
.scena-wieczoru__znacznik i { grid-row: 1 / span 2; width: 8px; height: 8px; border-radius: 50%; }
.scena-wieczoru__znacznik b { font-size: var(--ui-small, .875rem); line-height: 1.1; }
.scena-wieczoru__znacznik span { font-size: var(--ui-small, .875rem); color: var(--mgla); }
.scena-wieczoru__znacznik--teraz { top: 16%; left: 0; }
.scena-wieczoru__znacznik--teraz i { background: var(--bursztyn); box-shadow: 0 0 12px var(--bursztyn); }
.scena-wieczoru__znacznik--zapro { right: 0; bottom: 20%; animation-delay: -1.6s; }
.scena-wieczoru__znacznik--zapro i { background: var(--jadeit); box-shadow: 0 0 12px var(--jadeit); }
.scena-wieczoru__nota { position: absolute; bottom: -1rem; left: 50%; transform: translateX(-50%); width: max-content; max-width: 100%; margin: 0; color: var(--mgla); font-size: var(--ui-small, .875rem); text-align: center; }
.scena-wieczoru__nota span { display: inline-block; width: .45rem; height: .45rem; margin-right: .35rem; border-radius: 50%; background: var(--jadeit); box-shadow: 0 0 12px var(--jadeit); animation: scena-puls 1.8s ease-out infinite; }
@keyframes scena-oddech { to { transform: scale(1.12) rotate(20deg); filter: blur(40px); } }
@keyframes scena-obrot { to { transform: rotate(339deg) scaleX(1.17); } }
@keyframes scena-obrot-wew { to { transform: rotate(398deg) scaleX(.66); } }
@keyframes scena-znacznik { to { transform: translateY(-7px); } }
@keyframes scena-puls { 70%, 100% { box-shadow: 0 0 0 8px transparent; } }
@media (max-width: 820px) {
  .hero--landing { grid-template-columns: 1fr; min-height: 0; }
  .scena-wieczoru { width: min(100%, 360px); justify-self: center; margin: 1rem 0 2.8rem; }
  .hero__szczegoly { margin-top: 0; }
}

/* ------------------------------------------------------------- porównanie */
.porownanie {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1rem;
  margin-top: 2.8rem;
}
.porownanie__kolumna {
  border: 0;
  box-shadow: var(--cien-blisko), var(--swiatlo-gorne), 0 0 0 1px rgb(255 255 255 / 0.05);
  border-radius: var(--promien);
  padding: 1.4rem 1.5rem 1.6rem;
  background: var(--plyta);
}
.porownanie__kolumna--teraz { border-top: 2px solid var(--bursztyn); }
.porownanie__kolumna--zapro { border-top: 2px solid var(--jadeit); }
.porownanie__etykieta {
  font-family: var(--display);
  font-size: 1.5rem;
  margin: 0 0 1rem;
}
.porownanie__kolumna--teraz .porownanie__etykieta { color: var(--bursztyn); }
.porownanie__kolumna--zapro .porownanie__etykieta { color: var(--jadeit); }
.porownanie__lista { margin: 0; display: grid; gap: 0.85rem; }
.porownanie__lista > div {
  display: grid;
  grid-template-columns: 10.5rem 1fr;
  gap: 0.8rem;
  align-items: baseline;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid var(--kresa);
}
.porownanie__lista > div:last-child { border-bottom: 0; padding-bottom: 0; }
.porownanie__lista dt {
  font-size: var(--ui-small, .875rem);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--mgla);
}
.porownanie__lista dd { margin: 0; }

@media (max-width: 460px) {
  .porownanie__lista > div { grid-template-columns: 1fr; gap: 0.15rem; }
}

/* ---------------------------------------------------------------- podgląd */
.podglad {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) minmax(300px, 1.15fr);
  gap: clamp(1.5rem, 5vw, 3.5rem);
  align-items: center;
}
.podglad + .podglad { margin-top: clamp(3rem, 7vw, 5.5rem); }
.podglad--odwrocony .podglad__opis { order: 2; }

@media (max-width: 820px) {
  .podglad { grid-template-columns: 1fr; }
  .podglad--odwrocony .podglad__opis { order: 0; }
}

.podglad__ekran {
  background: var(--plyta);
  border: 0;
  box-shadow: var(--cien-blisko), var(--swiatlo-gorne), 0 0 0 1px rgb(255 255 255 / 0.05);
  border-radius: var(--promien);
  padding: 1rem;
}
.podglad__ekran--siatka {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.6rem;
}
.podglad__ekran--plany { display: grid; gap: 0.8rem; }

.mini-kafel { text-align: left; }
.mini-kafel__awatar {
  aspect-ratio: 3 / 4;
  border-radius: 8px;
  display: grid;
  place-items: center;
  font-family: var(--display);
  font-size: 1.6rem;
  color: color-mix(in srgb, var(--kreda) 70%, transparent);
  background: linear-gradient(155deg, var(--noc-2), var(--kresa));
}
.mini-kafel__imie { margin: 0.4rem 0 0; font-size: var(--ui-small, .875rem); }
.mini-kafel__meta { margin: 0; font-size: var(--ui-small, .875rem); color: var(--mgla); }

.mini-plan {
  border: 1px solid var(--kresa);
  border-left: 2px solid var(--jadeit);
  border-radius: 8px;
  padding: 0.85rem 1rem;
}
.mini-plan__godzina { margin: 0; font-size: var(--ui-small, .875rem); color: var(--jadeit); letter-spacing: 0.04em; }
.mini-plan__lokal { margin: 0.15rem 0 0; font-family: var(--display); font-size: 1.25rem; }
.mini-plan__lokal span { display: block; font-family: var(--tekst); font-size: var(--ui-small, .875rem); color: var(--mgla); }
.mini-plan__intencja { margin: 0.4rem 0 0.5rem; font-size: var(--ui-small, .875rem); color: var(--mgla); }

.link-strzalka {
  display: inline-block;
  margin-top: 0.6rem;
  text-decoration: none;
  font-weight: 500;
  border-bottom: 1px solid currentColor;
  padding-bottom: 2px;
}
.link-strzalka::after { content: " →"; }
.link-strzalka--teraz { color: var(--bursztyn); }
.link-strzalka--zapro { color: var(--jadeit); }

/* ------------------------------------------------------------------- tagi */
.tagi { list-style: none; display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0.6rem 0 0; padding: 0; }
.tag {
  font-size: var(--ui-small, .875rem);
  line-height: 1.3;
  padding: 0.24rem 0.6rem;
  border-radius: 999px;
  border: 1px solid var(--kresa);
  color: var(--mgla);
  white-space: nowrap;
}
.tagi--male .tag { font-size: var(--ui-small, .875rem); padding: 0.18rem 0.5rem; }
.tag--drink { color: var(--bursztyn); border-color: var(--bursztyn-ciemny); }
.tag--muzyka { color: var(--lila); border-color: color-mix(in srgb, var(--lila) 40%, var(--kresa)); }
.tag--vibe { color: var(--jadeit); border-color: var(--jadeit-ciemny); }
.tag--szukam { color: var(--kreda); border-color: color-mix(in srgb, var(--kreda) 35%, var(--kresa)); }

.karty-tagow {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1rem;
  margin-top: 2.4rem;
}
.karta-tagow {
  border: 0;
  box-shadow: var(--cien-blisko), var(--swiatlo-gorne), 0 0 0 1px rgb(255 255 255 / 0.05);
  border-radius: var(--promien);
  padding: 1.3rem;
  background: var(--plyta);
}
.karta-tagow__nazwa { font-family: var(--display); font-weight: 400; font-size: 1.4rem; margin: 0; }
.karta-tagow__opis { margin: 0.2rem 0 0; font-size: var(--ui-small, .875rem); color: var(--mgla); }

/* -------------------------------------------------------- bezpieczeństwo */
.lista-zabezpieczen {
  list-style: none;
  padding: 0;
  margin: 2.4rem 0 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
  gap: 1.6rem 2rem;
}
.lista-zabezpieczen li { border-top: 1px solid var(--kresa); padding-top: 1rem; }
.lista-zabezpieczen h3 { margin: 0 0 0.35rem; font-size: 1rem; font-weight: 500; }
.lista-zabezpieczen p { margin: 0; color: var(--mgla); font-size: 0.92rem; }

/* ------------------------------------------------------------------ zapis */
.zapis {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(300px, 1fr);
  gap: clamp(1.5rem, 5vw, 3.5rem);
  align-items: start;
}
@media (max-width: 780px) { .zapis { grid-template-columns: 1fr; } }

.zapis__form {
  background: var(--plyta);
  border: 0;
  box-shadow: var(--cien-blisko), var(--swiatlo-gorne), 0 0 0 1px rgb(255 255 255 / 0.05);
  border-radius: var(--promien);
  padding: 1.5rem;
}
.wybor-trybu { border: 0; padding: 0; margin: 0 0 1.2rem; display: grid; gap: 0.5rem; }
.wybor-trybu legend { font-size: var(--ui-small, .875rem); letter-spacing: 0.06em; text-transform: uppercase; color: var(--mgla); padding: 0; margin-bottom: 0.5rem; }
.wybor-trybu__opcja { display: inline-flex; align-items: center; gap: 0.5rem; cursor: pointer; }
.wybor-trybu__opcja input { accent-color: var(--bursztyn); }

.pola { display: grid; gap: 0.9rem; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.pole { display: block; }
.pole__etykieta { display: block; font-size: var(--ui-small, .875rem); letter-spacing: 0.06em; text-transform: uppercase; color: var(--mgla); margin-bottom: 0.35rem; }
.pole__opc { text-transform: none; letter-spacing: 0; opacity: 0.7; }
.pole input, .pole select, .pole textarea {
  width: 100%;
  padding: 0.7rem 0.8rem;
  border-radius: 9px;
  border: 1px solid var(--kresa);
  background: var(--tusz);
  color: var(--kreda);
  font: inherit;
  font-size: 0.95rem;
}
.pole textarea { resize: vertical; min-height: 92px; }
.pole input::placeholder { color: color-mix(in srgb, var(--mgla) 60%, transparent); }

.przycisk {
  margin-top: 1.1rem;
  padding: 0.78rem 1.5rem;
  border-radius: 999px;
  border: 0;
  background: linear-gradient(180deg, var(--bursztyn-jasny), #e6ad22);
  color: var(--tusz);
  font: inherit;
  font-weight: 600;
  letter-spacing: 0.01em;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 1px 0 rgb(255 255 255 / 0.5) inset, 0 6px 18px -8px rgb(0 0 0 / 0.9);
  transition: transform 0.16s cubic-bezier(.2,.7,.3,1), box-shadow 0.16s, filter 0.16s;
}
.przycisk:hover { transform: translateY(-1px); filter: brightness(1.05); }
.przycisk:active { transform: translateY(1px); box-shadow: 0 2px 8px -6px rgb(0 0 0 / 0.9); }
.przycisk--teraz {
  background: linear-gradient(180deg, #ffe486, #e7ad20);
  box-shadow: 0 1px 0 rgb(255 255 255 / 0.35) inset,
              0 8px 26px -10px color-mix(in srgb, var(--bursztyn) 75%, transparent);
}
.przycisk--zapro {
  background: linear-gradient(180deg, var(--jadeit-jasny), #0fa782);
  box-shadow: 0 1px 0 rgb(255 255 255 / 0.3) inset,
              0 8px 26px -10px color-mix(in srgb, var(--jadeit) 70%, transparent);
}
.przycisk--cichy { background: transparent; color: var(--mgla); border: 1px solid var(--kresa); }
.przycisk--obrys { background: transparent; color: var(--jadeit); border: 1px solid var(--jadeit-ciemny); margin-top: 0.9rem; }

.zapis__odpowiedz { margin: 0.9rem 0 0; font-size: 0.92rem; min-height: 1.4em; }
.zapis__odpowiedz.jest-ok { color: var(--jadeit); }
.zapis__odpowiedz.jest-blad { color: var(--alarm); }
.zapis__drobne { margin: 0.9rem 0 0; font-size: var(--ui-small, .875rem); color: var(--mgla); }

/* ============================== podaplikacja Teraz ======================= */
.banner-demo {
  background: color-mix(in srgb, var(--bursztyn) 12%, var(--tusz));
  border-bottom: 1px solid var(--bursztyn-ciemny);
  color: var(--kreda);
  font-size: var(--ui-small, .875rem);
  padding: 0.6rem clamp(1.2rem, 5vw, 2.5rem);
  text-align: center;
}
.banner-demo--zapro {
  background: color-mix(in srgb, var(--jadeit) 12%, var(--tusz));
  border-bottom-color: var(--jadeit-ciemny);
}

.naglowek-trybu {
  max-width: var(--ramka);
  margin-inline: auto;
  padding: clamp(2.5rem, 6vw, 4rem) clamp(1.2rem, 5vw, 2.5rem) 2rem;
  display: grid;
  grid-template-columns: minmax(280px, 1fr) minmax(260px, 22rem);
  gap: 2rem;
  align-items: end;
}
@media (max-width: 820px) { .naglowek-trybu { grid-template-columns: 1fr; align-items: start; } }

.status-panel {
  border: 0;
  box-shadow: var(--cien-blisko), var(--swiatlo-gorne), 0 0 0 1px rgb(255 255 255 / 0.05);
  border-radius: var(--promien);
  background: var(--plyta);
  padding: 1.1rem 1.2rem;
}
.przelacznik {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  width: 100%;
  padding: 0.65rem 0.9rem;
  border-radius: 999px;
  border: 1px solid var(--kresa);
  background: var(--tusz);
  color: var(--mgla);
  font: inherit;
  cursor: pointer;
  transition: color 0.15s, border-color 0.15s, background-color 0.15s;
}
.przelacznik__kropka {
  width: 9px; height: 9px; border-radius: 50%;
  background: var(--kresa);
  flex: none;
}
.przelacznik[aria-pressed="true"] {
  color: var(--bursztyn);
  border-color: var(--bursztyn-ciemny);
  background: color-mix(in srgb, var(--bursztyn) 10%, var(--tusz));
}
.przelacznik[aria-pressed="true"] .przelacznik__kropka {
  background: var(--bursztyn);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--bursztyn) 22%, transparent);
}
.status-panel__godzina {
  display: flex; align-items: center; gap: 0.6rem;
  margin-top: 0.8rem; font-size: var(--ui-small, .875rem); color: var(--mgla);
}
.status-panel__godzina select {
  padding: 0.35rem 0.5rem; border-radius: 8px;
  border: 1px solid var(--kresa); background: var(--tusz);
  color: var(--kreda); font: inherit; font-size: var(--ui-small, .875rem);
}
.status-panel__nota { margin: 0.8rem 0 0; font-size: var(--ui-small, .875rem); color: var(--mgla); }
.status-panel__zachieta { margin: 0 0 0.8rem; font-size: var(--ui-small, .875rem); color: var(--mgla); }

.filtry {
  max-width: var(--ramka);
  margin-inline: auto;
  padding: 0 clamp(1.2rem, 5vw, 2.5rem);
}
.filtry__rzad {
  display: flex;
  gap: 0.4rem;
  overflow-x: auto;
  padding-bottom: 0.7rem;
  scrollbar-width: thin;
}
.chip {
  flex: none;
  padding: 0.35rem 0.8rem;
  border-radius: 999px;
  border: 1px solid var(--kresa);
  background: transparent;
  color: var(--mgla);
  font: inherit;
  font-size: var(--ui-small, .875rem);
  cursor: pointer;
  white-space: nowrap;
}
.chip.jest-aktywny { background: var(--bursztyn); color: var(--tusz); border-color: var(--bursztyn); }
.filtry__licznik { margin: 0.4rem 0 0; font-size: var(--ui-small, .875rem); color: var(--mgla); }

.siatka {
  max-width: var(--ramka);
  margin-inline: auto;
  padding: 1.4rem clamp(1.2rem, 5vw, 2.5rem) 3rem;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(158px, 1fr));
  gap: 0.9rem;
}
.kafel {
  position: relative;
  border: 0;
  border-radius: var(--promien);
  overflow: hidden;
  background: var(--plyta);
  box-shadow: var(--cien-blisko), var(--swiatlo-gorne),
              0 0 0 1px rgb(255 255 255 / 0.045);
  cursor: pointer;
  transition: transform 0.22s cubic-bezier(.2,.7,.3,1), box-shadow 0.22s;
}
.kafel:hover {
  transform: translateY(-3px);
  box-shadow: var(--cien-daleko), var(--swiatlo-gorne),
              0 0 0 1px color-mix(in srgb, var(--bursztyn) 35%, transparent),
              0 0 28px -8px color-mix(in srgb, var(--bursztyn) 40%, transparent);
}
.kafel[hidden] { display: none; }

.kafel__awatar {
  position: relative;
  aspect-ratio: 3 / 4;
  display: grid;
  place-items: center;
  font-family: var(--display);
  font-size: 2.2rem;
  font-weight: 700;
  color: rgb(255 255 255 / 0.9);
  text-shadow: 0 2px 18px rgb(0 0 0 / 0.5);
  isolation: isolate;
}
/* Światło padające z góry na „szkło” — to ono daje wrażenie bryły. */
.kafel__awatar::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    radial-gradient(120% 70% at 50% -10%, rgb(255 255 255 / 0.14), transparent 58%),
    radial-gradient(140% 100% at 50% 50%, transparent 40%, rgb(0 0 0 / 0.3) 100%),
    linear-gradient(180deg, transparent 40%, rgb(0 0 0 / 0.55) 100%);
}
/* UWAGA: to celuje WYŁĄCZNIE w inicjał. Każdy inny span w kaflu (plakietka,
   wstęga sytuacji) ma własne pozycjonowanie absolutne i ogólna reguła `> span`
   by je zepsuła — złapałem to już dwa razy, stąd jawna klasa zamiast :not(). */
.kafel__awatar > .inicjal { position: relative; z-index: 2; }
.kafel__awatar .odznaka { z-index: 3; }
.odznaka {
  position: absolute;
  top: 0.5rem; right: 0.5rem;
  width: 20px; height: 20px;
  border-radius: 50%;
  display: grid; place-items: center;
  font-family: var(--tekst);
  font-size: var(--ui-small, .875rem);
  background: var(--jadeit);
  color: var(--tusz);
}
.odznaka--zywy {
  top: auto; bottom: 0.5rem; right: 0.5rem;
  width: 9px; height: 9px;
  background: var(--bursztyn);
  font-size: 0;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--tusz) 55%, transparent);
}
.kafel--prawdziwy { border-color: color-mix(in srgb, var(--bursztyn) 45%, var(--kresa)); }
.kafel__dol { padding: 0.65rem 0.75rem 0.8rem; }
.kafel__imie { margin: 0; font-size: 0.92rem; font-weight: 500; }
.kafel__meta {
  margin: 0.1rem 0 0;
  font-size: var(--ui-small, .875rem);
  color: var(--mgla);
  display: flex; gap: 0.5rem;
}
.kafel__meta .do-kiedy { color: var(--bursztyn); }

/* szuflada z profilem */
.szuflada {
  position: fixed;
  inset: 0;
  z-index: 60;
  background: color-mix(in srgb, var(--tusz) 78%, transparent);
  backdrop-filter: blur(6px);
  display: grid;
  place-items: end center;
  padding: 1rem;
}
.szuflada[hidden] { display: none; }
.szuflada__panel {
  position: relative;
  width: min(520px, 100%);
  background: var(--plyta);
  border: 0;
  box-shadow: var(--cien-blisko), var(--swiatlo-gorne), 0 0 0 1px rgb(255 255 255 / 0.05);
  border-radius: var(--promien);
  padding: 1.6rem;
  max-height: 88vh;
  overflow-y: auto;
}
@media (min-width: 700px) { .szuflada { place-items: center; } }
.szuflada__zamknij {
  position: absolute; top: 0.6rem; right: 0.8rem;
  background: transparent; border: 0; color: var(--mgla);
  font-size: 1.6rem; line-height: 1; cursor: pointer;
}
.szuflada__gora { display: flex; gap: 1rem; align-items: center; }
.szuflada__awatar {
  width: 72px; height: 92px; flex: none;
  border-radius: 10px;
  display: grid; place-items: center;
  font-family: var(--display); font-size: 2rem;
  background: linear-gradient(155deg, var(--noc-2), var(--kresa));
}
.szuflada__imie { font-family: var(--display); font-weight: 400; font-size: 1.8rem; margin: 0; }
.szuflada__meta { margin: 0.1rem 0 0; color: var(--mgla); font-size: 0.88rem; }
.szuflada__opis { margin: 1.1rem 0 0; }
.szuflada__akcje { display: flex; gap: 0.6rem; flex-wrap: wrap; }
.szuflada__akcje .przycisk { margin-top: 1.3rem; }
.szuflada__zasada {
  margin: 1.2rem 0 0;
  padding-top: 1rem;
  border-top: 1px solid var(--kresa);
  font-size: var(--ui-small, .875rem);
  color: var(--mgla);
}

.stopka-trybu {
  max-width: var(--ramka);
  margin-inline: auto;
  padding: 0 clamp(1.2rem, 5vw, 2.5rem) clamp(3rem, 7vw, 5rem);
}
.stopka-trybu .szpalta { border-top: 1px solid var(--kresa); padding-top: 2.2rem; }

/* =========================== podaplikacja Zaproszenie =================== */
/* Celowo inny układ niż w Teraz: jedna wąska szpalta, więcej powietrza,
   żadnej siatki twarzy. Jednostką treści jest plan, nie człowiek.          */

.strona-zapro :focus-visible { outline-color: var(--jadeit); }

.widocznosc {
  border: 1px solid var(--jadeit-ciemny);
  border-radius: var(--promien);
  background: color-mix(in srgb, var(--jadeit) 7%, var(--noc));
  padding: 1.2rem 1.3rem;
}
.widocznosc__stan {
  display: flex; align-items: center; gap: 0.55rem;
  margin: 0; font-weight: 500;
}
.widocznosc__ikona {
  width: 9px; height: 9px; border-radius: 50%;
  background: var(--jadeit); flex: none;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--jadeit) 20%, transparent);
}
.widocznosc.jest-widoczna .widocznosc__ikona { background: var(--bursztyn); box-shadow: 0 0 0 4px color-mix(in srgb, var(--bursztyn) 20%, transparent); }
.widocznosc__opis { margin: 0.5rem 0 0; font-size: var(--ui-small, .875rem); color: var(--mgla); }

.zasady-paska {
  max-width: var(--ramka);
  margin-inline: auto;
  padding: 0 clamp(1.2rem, 5vw, 2.5rem);
}
.zasady-paska ul {
  list-style: none; margin: 0; padding: 0.9rem 0;
  display: flex; flex-wrap: wrap; gap: 0.6rem 1.8rem;
  border-block: 1px solid var(--kresa);
  font-size: var(--ui-small, .875rem); color: var(--mgla);
}
.zasady-paska strong { color: var(--jadeit); font-weight: 500; }

/* Wąska szpalta, ale przyklejona do tej samej lewej krawędzi co nagłówek
   trybu — inaczej strona zygzakuje między wyśrodkowaniem a wyrównaniem. */
.plany {
  max-width: var(--ramka);
  margin-inline: auto;
  padding: clamp(2rem, 5vw, 3.5rem) clamp(1.2rem, 5vw, 2.5rem);
}
.plany__naglowek,
.plan { max-width: 42rem; }
.plany__naglowek { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.plany__naglowek .naglowek2 { margin-bottom: 0.3em; }
.plany__licznik { margin: 0; font-size: var(--ui-small, .875rem); color: var(--mgla); }

.plan {
  border: 0;
  box-shadow: var(--cien-blisko), var(--swiatlo-gorne), 0 0 0 1px rgb(255 255 255 / 0.05);
  border-left: 2px solid var(--jadeit);
  border-radius: var(--promien);
  background: var(--plyta);
  padding: 1.4rem 1.5rem;
  margin-top: 1rem;
}
.plan__gora { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.plan__kiedy { margin: 0; color: var(--jadeit); font-size: var(--ui-small, .875rem); letter-spacing: 0.04em; }
.plan__intencja {
  margin: 0; font-size: var(--ui-small, .875rem); color: var(--mgla);
  border: 1px solid var(--kresa); border-radius: 999px; padding: 0.1rem 0.6rem;
}
.plan__lokal { font-family: var(--display); font-weight: 400; font-size: 1.7rem; margin: 0.5rem 0 0; line-height: 1.1; }
.plan__adres { display: block; font-family: var(--tekst); font-size: var(--ui-small, .875rem); color: var(--mgla); margin-top: 0.15rem; }
.plan__od { margin: 0.9rem 0 0; font-size: 0.9rem; }
.plan__weryfikacja { display: block; font-size: var(--ui-small, .875rem); color: var(--jadeit); }
.plan__notka { margin: 0.8rem 0 0; color: var(--mgla); font-style: italic; }
.plan__tagi { margin-top: 1rem; }
.plan__tagi-etykieta { margin: 0; font-size: var(--ui-small, .875rem); letter-spacing: 0.08em; text-transform: uppercase; color: var(--mgla); }
.plan__wspolni { margin: 0.9rem 0 0; font-size: var(--ui-small, .875rem); color: var(--mgla); }
.plan__akcje { display: flex; gap: 0.6rem; flex-wrap: wrap; }
.plan__akcje .przycisk { margin-top: 1.2rem; }
.plan.jest-odrzucony { opacity: 0.45; }

.bezpieczenstwo {
  margin-top: 1.3rem;
  padding-top: 1.2rem;
  border-top: 1px solid var(--kresa);
}
.bezpieczenstwo[hidden] { display: none; }
.bezpieczenstwo__tytul { margin: 0 0 0.8rem; font-weight: 500; color: var(--jadeit); }
.bezpieczenstwo__lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.9rem; }
.bezpieczenstwo__lista li { display: grid; gap: 0.25rem; }
.bezpieczenstwo__lista span { font-size: var(--ui-small, .875rem); color: var(--mgla); }
.mini-przycisk {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  justify-self: start;
  padding: 0.4rem 0.9rem;
  border-radius: 999px;
  border: 1px solid var(--jadeit-ciemny);
  background: transparent;
  color: var(--jadeit);
  text-decoration: none;
  font: inherit; font-size: var(--ui-small, .875rem); cursor: pointer;
}
.mini-przycisk--alarm { border-color: color-mix(in srgb, var(--alarm) 45%, var(--kresa)); color: var(--alarm); }
.mini-przycisk.jest-wlaczony { background: var(--jadeit); color: var(--tusz); border-color: var(--jadeit); }
.bezpieczenstwo__potwierdzenie { margin: 0.9rem 0 0; font-size: var(--ui-small, .875rem); color: var(--jadeit); min-height: 1.3em; }

.tworzenie {
  max-width: var(--ramka);
  margin-inline: auto;
  padding: clamp(2rem, 5vw, 3rem) clamp(1.2rem, 5vw, 2.5rem) 1rem;
}
.tworzenie > * { max-width: 42rem; }
.formularz-planu {
  margin-top: 1.6rem;
  border: 0;
  box-shadow: var(--cien-blisko), var(--swiatlo-gorne), 0 0 0 1px rgb(255 255 255 / 0.05);
  border-radius: var(--promien);
  background: var(--plyta);
  padding: 1.5rem;
}
.pole-grupa { border: 0; padding: 0; margin: 1.3rem 0 0; }
.pole-grupa legend { padding: 0; }
.opcje-rzad { display: flex; flex-wrap: wrap; gap: 0.5rem 1.2rem; }
.opcje-kolumna { display: grid; gap: 0.55rem; }
.opcja { display: inline-flex; align-items: center; gap: 0.45rem; font-size: 0.92rem; cursor: pointer; }
.opcja input { accent-color: var(--jadeit); }
.formularz-planu__odpowiedz { margin: 0.9rem 0 0; font-size: 0.9rem; color: var(--jadeit); min-height: 1.3em; }

/* ----------------------------------------------------------------- stopka */
.stopka {
  border-top: 1px solid var(--kresa);
  padding: 2.4rem clamp(1.2rem, 5vw, 2.5rem) 3rem;
  max-width: var(--ramka);
  margin-inline: auto;
}
.stopka__rzad { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; align-items: baseline; }
.stopka__marka { font-weight: 700; margin: 0; }
.stopka__nav { display: flex; gap: 1.2rem; flex-wrap: wrap; }
.stopka__nav a { color: var(--mgla); text-decoration: none; font-size: 0.88rem; }
.stopka__nav a:hover { color: var(--kreda); }
.stopka__nota { margin: 1.2rem 0 0; font-size: var(--ui-small, .875rem); color: var(--mgla); max-width: 60ch; }

/* ------------------------------------------------------------- animacje */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
  .wejscie:hover, .kafel:hover { transform: none; }
}

/* ========================================================== tryb podróży */
.travel-app { width: min(1120px, 100%); margin-inline: auto; padding: clamp(1.3rem, 4vw, 3rem) clamp(1rem, 4vw, 2.5rem) 8rem; overflow-x: clip; }
.travel-hero { min-height: 520px; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr); gap: clamp(2rem, 7vw, 6rem); align-items: center; padding: clamp(2rem, 6vw, 5rem) 0; position: relative; isolation: isolate; }
.travel-hero::before { content: ""; position: absolute; z-index: -1; inset: 4% -14% 0 18%; background: radial-gradient(circle at 65% 38%, rgb(32 201 154 / .16), transparent 28%), radial-gradient(circle at 32% 62%, rgb(247 199 55 / .12), transparent 34%); filter: blur(25px); }
.travel-hero__copy h1 { max-width: 11ch; margin: .65rem 0 0; font: 500 clamp(3rem, 7.2vw, 6.6rem)/.89 var(--display); letter-spacing: -.065em; }
.travel-hero__copy h1 em { color: var(--jadeit); font-family: "Instrument Serif", serif; font-weight: 400; }
.travel-hero__copy > p:last-of-type { max-width: 59ch; margin: 1.35rem 0 0; color: var(--mgla); font-size: clamp(var(--ui-small, .875rem), 1.35vw, .96rem); line-height: 1.65; }
.travel-hero__actions { display: flex; align-items: center; flex-wrap: wrap; gap: .9rem 1.2rem; margin-top: 1.5rem; }
.travel-hero__actions .przycisk { width: auto; margin: 0; }
.travel-hero__actions a { padding-bottom: .12rem; border-bottom: 1px solid color-mix(in srgb, var(--jadeit) 50%, transparent); color: var(--jadeit-jasny); text-decoration: none; font-size: var(--ui-small, .875rem); }
.travel-hero__passport { min-height: 310px; display: flex; flex-direction: column; justify-content: flex-end; padding: 1.5rem; border: 1px solid color-mix(in srgb, var(--bursztyn) 32%, var(--kresa)); border-radius: 28px; background: radial-gradient(circle at 75% 18%, rgb(247 199 55 / .18), transparent 26%), radial-gradient(circle at 25% 70%, rgb(32 201 154 / .12), transparent 35%), var(--plyta); box-shadow: var(--swiatlo-gorne), var(--cien-daleko); }
.travel-hero__passport > span { margin-bottom: auto; color: var(--bursztyn); font-size: var(--ui-small, .875rem); letter-spacing: .15em; text-transform: uppercase; }
.travel-hero__passport > strong { font: 400 5.2rem/.8 var(--display); letter-spacing: -.06em; }
.travel-hero__passport > small { margin-top: .35rem; color: var(--mgla); font-size: var(--ui-small, .875rem); }
.travel-hero__passport > div { margin-top: 1rem; padding-top: .8rem; border-top: 1px solid rgb(255 255 255 / .08); color: var(--mgla); font-size: var(--ui-small, .875rem); }
.travel-hero__passport > div b { color: var(--jadeit-jasny); }
.travel-hero__passport > div i { margin-inline: .35rem; color: var(--mgla-cicha); font-style: normal; }
.travel-hero__passport > p { margin: .55rem 0 0; color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); line-height: 1.5; }
.travel-demo-note { margin: 0 0 1rem; padding: .85rem 1rem; border-left: 2px solid var(--bursztyn); border-radius: 0 13px 13px 0; color: var(--mgla); background: rgb(247 199 55 / .055); font-size: var(--ui-small, .875rem); }
.travel-demo-note strong { color: var(--kreda); }

.travel-builder { scroll-margin-top: 6.5rem; margin: 0 0 2rem; padding: clamp(1rem, 3vw, 1.7rem); border: 1px solid color-mix(in srgb, var(--jadeit) 28%, var(--kresa)); border-radius: 24px; background: var(--plyta); box-shadow: var(--swiatlo-gorne), var(--cien-daleko); }
.travel-builder[hidden] { display: none; }
.travel-builder > header { display: grid; grid-template-columns: 1fr auto; align-items: start; }
.travel-builder > header .nadtytul { grid-column: 1; margin-bottom: .3rem; }
.travel-builder > header h2 { grid-column: 1; margin: 0; font: 500 clamp(2rem, 4vw, 3.4rem)/.95 var(--display); letter-spacing: -.045em; }
.travel-builder > header button, .travel-plan-form > header button { grid-column: 2; grid-row: 1 / span 2; width: 42px; height: 42px; display: grid; place-items: center; padding: 0; border: 1px solid rgb(255 255 255 / .1); border-radius: 50%; background: rgb(255 255 255 / .035); cursor: pointer; }
.travel-builder > header button img, .travel-plan-form > header button img { filter: invert(1); }
.travel-builder form { margin-top: 1.2rem; }
.travel-builder__choices { margin: .8rem 0 0; padding: 0; border: 0; }
.travel-builder__choices legend, .travel-privacy legend { margin-bottom: .45rem; color: var(--mgla); font-size: var(--ui-small, .875rem); text-transform: uppercase; letter-spacing: .08em; }
.travel-builder__choices label { display: inline-flex; margin: 0 .25rem .35rem 0; cursor: pointer; }
.travel-builder__choices input { position: absolute; opacity: 0; }
.travel-builder__choices span { display: block; padding: .45rem .67rem; border: 1px solid var(--kresa); border-radius: 999px; color: var(--mgla); font-size: var(--ui-small, .875rem); }
.travel-builder__choices input:checked + span { color: #06130f; border-color: var(--jadeit); background: var(--jadeit); }
.travel-privacy { display: grid; grid-template-columns: repeat(2, 1fr); gap: .5rem; margin: .9rem 0 0; padding: 0; border: 0; }
.travel-privacy legend { grid-column: 1 / -1; }
.travel-privacy label { position: relative; display: block; }
.travel-privacy input { position: absolute; opacity: 0; }
.travel-privacy label > span { height: 100%; display: block; padding: .75rem; border: 1px solid var(--kresa); border-radius: 14px; background: rgb(255 255 255 / .02); }
.travel-privacy strong, .travel-privacy small { display: block; }
.travel-privacy strong { font-size: var(--ui-small, .875rem); }
.travel-privacy small { margin-top: .3rem; color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); line-height: 1.4; }
.travel-privacy input:checked + span { border-color: var(--jadeit); background: rgb(32 201 154 / .07); box-shadow: inset 0 0 0 1px rgb(32 201 154 / .2); }
.travel-private-note { display: flex; gap: .7rem; margin: .8rem 0; padding: .8rem; border-radius: 14px; color: var(--mgla); background: rgb(32 201 154 / .055); }
.travel-private-note img { flex: none; filter: invert(79%) sepia(26%) saturate(1171%) hue-rotate(108deg); }
.travel-private-note p { margin: 0; font-size: var(--ui-small, .875rem); line-height: 1.5; }
.travel-private-note strong { color: var(--kreda); }
.travel-builder .przycisk { width: auto; margin-top: .25rem; }
.travel-builder__result { min-height: 1.4em; margin: .5rem 0 0; color: var(--jadeit-jasny); font-size: var(--ui-small, .875rem); }

.travel-current { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, .38fr); gap: 1rem; align-items: stretch; padding: clamp(1.1rem, 3vw, 1.8rem); border: 1px solid rgb(255 255 255 / .09); border-radius: 24px; background: linear-gradient(115deg, rgb(247 199 55 / .08), transparent 42%), linear-gradient(295deg, rgb(32 201 154 / .08), transparent 45%), var(--plyta); }
.travel-current h2 { margin: .2rem 0 0; font: 500 clamp(2.6rem, 6vw, 5.1rem)/.9 var(--display); letter-spacing: -.06em; }
.travel-current h2 small { display: block; margin-top: .5rem; color: var(--jadeit); font: 500 var(--ui-small, .875rem) var(--tekst); letter-spacing: .1em; text-transform: uppercase; }
.travel-current__date { margin: .8rem 0 0 !important; color: var(--bursztyn) !important; font-size: var(--ui-small, .875rem) !important; font-weight: 700; }
.travel-current__main > p:last-of-type { max-width: 54ch; margin: .55rem 0 0; color: var(--mgla); font-size: var(--ui-small, .875rem); }
.travel-current__tags { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .8rem; }
.travel-current__tags span { padding: .32rem .5rem; border: 1px solid rgb(255 255 255 / .1); border-radius: 999px; color: var(--mgla); font-size: var(--ui-small, .875rem); }
.travel-current__actions { display: flex; gap: .45rem; margin-top: .85rem; }
.travel-current__actions button { padding: .38rem .55rem; border: 1px solid var(--kresa); border-radius: 999px; color: var(--mgla); background: transparent; font: 650 var(--ui-small, .875rem) var(--tekst); cursor: pointer; }
.travel-current__actions button:first-child { color: var(--jadeit-jasny); border-color: color-mix(in srgb, var(--jadeit) 35%, var(--kresa)); }
.travel-current__actions button:last-child { color: color-mix(in srgb, var(--alarm) 80%, var(--mgla)); }
.travel-current__privacy { display: flex; flex-direction: column; justify-content: flex-end; padding: 1rem; border: 1px solid color-mix(in srgb, var(--jadeit) 24%, transparent); border-radius: 18px; background: rgb(5 18 15 / .32); }
.travel-current__privacy span { margin-bottom: auto; color: var(--jadeit); font-size: var(--ui-small, .875rem); text-transform: uppercase; letter-spacing: .1em; }
.travel-current__privacy strong { font-size: var(--ui-small, .875rem); }
.travel-current__privacy small { margin-top: .35rem; color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); line-height: 1.45; }
.travel-switcher { display: flex; gap: .45rem; margin: .85rem 0; padding-bottom: .15rem; overflow-x: auto; scrollbar-width: none; }
.travel-switcher::-webkit-scrollbar { display: none; }
.travel-switcher a { flex: none; min-width: 150px; padding: .55rem .65rem; border: 1px solid var(--kresa); border-radius: 13px; color: var(--mgla); text-decoration: none; font-size: var(--ui-small, .875rem); }
.travel-switcher a[aria-current="page"] { color: var(--kreda); border-color: var(--jadeit); background: rgb(32 201 154 / .06); }
.travel-switcher span { display: block; margin-top: .12rem; color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); }

.travel-matches, .travel-plans, .travel-hub { scroll-margin-top: 6.5rem; padding-top: clamp(4rem, 8vw, 7rem); }
.travel-section-head { display: flex; align-items: end; justify-content: space-between; gap: 1.2rem; }
.travel-section-head h2, .travel-hub > header h2 { margin: .15rem 0 0; font: 500 clamp(2.5rem, 5.7vw, 5rem)/.92 var(--display); letter-spacing: -.055em; }
.travel-section-head > div > p:last-child { max-width: 58ch; margin: .8rem 0 0; color: var(--mgla); font-size: var(--ui-small, .875rem); }
.travel-section-head > button { flex: none; padding: .62rem .85rem; border: 1px solid color-mix(in srgb, var(--jadeit) 45%, transparent); border-radius: 999px; color: var(--jadeit-jasny); background: rgb(32 201 154 / .05); font: 700 var(--ui-small, .875rem) var(--tekst); cursor: pointer; }
.travel-section-head > button span { display: inline-block; margin-left: .35rem; }
.travel-filter { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .65rem; margin-top: 1rem; padding: .8rem; border: 1px solid rgb(255 255 255 / .08); border-radius: 16px; background: rgb(255 255 255 / .025); }
.travel-filter[hidden] { display: none; }
.travel-filter > div { min-width: 0; display: flex; gap: .28rem; overflow-x: auto; scrollbar-width: none; }
.travel-filter > div::-webkit-scrollbar { display: none; }
.travel-filter span { flex: none; align-self: center; margin-right: .2rem; color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); text-transform: uppercase; }
.travel-filter button { flex: none; padding: .38rem .52rem; border: 1px solid var(--kresa); border-radius: 999px; color: var(--mgla); background: transparent; font: 600 var(--ui-small, .875rem) var(--tekst); cursor: pointer; }
.travel-filter button.jest-aktywny { color: #06130f; border-color: var(--jadeit); background: var(--jadeit); }
.travel-people { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; margin-top: 1rem; }
.travel-person { min-width: 0; overflow: hidden; border: 1px solid rgb(255 255 255 / .09); border-radius: 20px; background: var(--plyta); box-shadow: var(--swiatlo-gorne); }
.travel-person[hidden] { display: none; }
.travel-person__media { position: relative; aspect-ratio: 4 / 5; display: grid; place-items: center; overflow: hidden; background: var(--noc); }
.travel-person__media::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, rgb(8 7 11 / .85)); }
.travel-person__media img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; }
.travel-person__media > span { font: 400 3rem var(--display); }
.travel-person__media b { position: absolute; z-index: 2; left: .65rem; bottom: .65rem; padding: .33rem .5rem; border: 1px solid color-mix(in srgb, var(--bursztyn) 40%, transparent); border-radius: 999px; color: var(--bursztyn-jasny); background: rgb(8 7 11 / .72); font-size: var(--ui-small, .875rem); }
.travel-person__body { padding: .8rem; }
.travel-person__body > p:first-child { margin: 0; color: var(--jadeit); font-size: var(--ui-small, .875rem); text-transform: uppercase; letter-spacing: .09em; }
.travel-person__body h3 { margin: .25rem 0 0; font-size: 1rem; }
.travel-person__body > span { display: block; margin-top: .2rem; color: var(--bursztyn); font-size: var(--ui-small, .875rem); }
.travel-person__body > p:nth-of-type(2) { min-height: 3.9em; margin: .5rem 0 0; color: var(--mgla); font-size: var(--ui-small, .875rem); line-height: 1.45; }
.travel-person__body > div { display: flex; flex-wrap: wrap; gap: .25rem; margin-top: .55rem; }
.travel-person__body > div span { padding: .25rem .38rem; border-radius: 999px; color: var(--jadeit-jasny); background: rgb(32 201 154 / .07); font-size: var(--ui-small, .875rem); }
.travel-person__body > small { display: block; margin-top: .55rem; padding-top: .48rem; border-top: 1px solid rgb(255 255 255 / .06); color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); }
.travel-person__body > small b { color: var(--kreda); }
.travel-person__actions { display: grid; grid-template-columns: .75fr 1.25fr; border-top: 1px solid rgb(255 255 255 / .07); }
.travel-person__actions button { min-height: 44px; padding: .45rem; border: 0; border-right: 1px solid rgb(255 255 255 / .07); color: var(--jadeit-jasny); background: transparent; font: 650 var(--ui-small, .875rem) var(--tekst); cursor: pointer; }
.travel-person__actions button:last-child { border-right: 0; color: var(--bursztyn-jasny); }
.travel-empty { padding: 1rem; border: 1px dashed var(--kresa); border-radius: 15px; color: var(--mgla); text-align: center; font-size: var(--ui-small, .875rem); }
.travel-empty[hidden] { display: none; }

.travel-plan-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; margin-top: 1rem; }
.travel-plan { min-width: 0; overflow: hidden; border: 1px solid rgb(255 255 255 / .09); border-radius: 20px; background: var(--plyta); }
.travel-plan__open { width: 100%; padding: 0; border: 0; color: inherit; background: transparent; text-align: left; font: inherit; cursor: pointer; }
.travel-plan__open > img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
.travel-plan__open > span { display: block; padding: .78rem; }
.travel-plan__open small, .travel-plan__open strong, .travel-plan__open b, .travel-plan__open p { display: block; }
.travel-plan__open small { color: var(--jadeit); font-size: var(--ui-small, .875rem); text-transform: uppercase; letter-spacing: .08em; }
.travel-plan__open strong { margin-top: .28rem; font-size: .9rem; line-height: 1.25; }
.travel-plan__open b { margin-top: .35rem; color: var(--bursztyn); font-size: var(--ui-small, .875rem); }
.travel-plan__open p { min-height: 3.9em; margin: .42rem 0 0; color: var(--mgla); font-size: var(--ui-small, .875rem); line-height: 1.45; }
.travel-plan > div { display: flex; justify-content: space-between; align-items: center; gap: .5rem; padding: .55rem .7rem; border-top: 1px solid rgb(255 255 255 / .07); }
.travel-plan > div span { color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); }
.travel-plan > div span b { color: var(--kreda); }
.travel-plan > div button { padding: .42rem .55rem; border: 1px solid color-mix(in srgb, var(--bursztyn) 40%, transparent); border-radius: 999px; color: var(--bursztyn-jasny); background: transparent; font: 650 var(--ui-small, .875rem) var(--tekst); cursor: pointer; }
.travel-plan .event-karta__wynik:not(:empty) { margin: 0; padding: .5rem .7rem; border-top: 1px solid rgb(255 255 255 / .06); }
.travel-plan-form { margin-top: 1rem; padding: 1rem; border: 1px solid color-mix(in srgb, var(--bursztyn) 28%, var(--kresa)); border-radius: 20px; background: var(--plyta-wyzej); }
.travel-plan-form[hidden] { display: none; }
.travel-plan-form > header { display: grid; grid-template-columns: 1fr auto; margin-bottom: .7rem; }
.travel-plan-form > header span, .travel-plan-form > header strong { display: block; }
.travel-plan-form > header span { color: var(--bursztyn); font-size: var(--ui-small, .875rem); text-transform: uppercase; letter-spacing: .1em; }
.travel-plan-form > header strong { margin-top: .15rem; font-size: 1.05rem; }
.travel-plan-form .przycisk { width: auto; }
.travel-plan-form > p { margin: .5rem 0 0; color: var(--jadeit-jasny); font-size: var(--ui-small, .875rem); }
.travel-plan-form > p a { margin-left: .25rem; color: var(--bursztyn-jasny); }

.travel-hub > header { max-width: 780px; }
.travel-hub__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; margin-top: 1rem; }
.travel-hub__grid article { min-height: 220px; display: flex; flex-direction: column; padding: 1rem; border: 1px solid rgb(255 255 255 / .08); border-radius: 18px; background: var(--plyta); }
.travel-hub__grid article > span { color: var(--jadeit); font-size: var(--ui-small, .875rem); text-transform: uppercase; letter-spacing: .1em; }
.travel-hub__grid h3 { margin: .7rem 0 0; font: 500 1.35rem/1.05 var(--display); }
.travel-hub__grid p { margin: .55rem 0 1rem; color: var(--mgla); font-size: var(--ui-small, .875rem); line-height: 1.5; }
.travel-hub__grid a { width: fit-content; margin-top: auto; color: var(--bursztyn); font-size: var(--ui-small, .875rem); text-decoration: none; }
.travel-checkin { display: grid; grid-template-columns: minmax(220px, .7fr) minmax(300px, 1.3fr); gap: 1rem 2rem; margin-top: .75rem; padding: 1rem; border: 1px solid color-mix(in srgb, var(--jadeit) 25%, var(--kresa)); border-radius: 20px; background: rgb(32 201 154 / .035); }
.travel-checkin > div:first-child > p { margin: 0; color: var(--jadeit); font-size: var(--ui-small, .875rem); text-transform: uppercase; letter-spacing: .1em; }
.travel-checkin h3 { margin: .4rem 0 0; font: 500 1.5rem/1.05 var(--display); }
.travel-checkin > div:first-child > span { display: block; margin-top: .55rem; color: var(--mgla); font-size: var(--ui-small, .875rem); line-height: 1.45; }
.travel-checkin__fields { display: grid; grid-template-columns: 1.1fr .7fr 1fr; gap: .45rem; }
.travel-checkin__fields label span { display: block; margin-bottom: .25rem; color: var(--mgla); font-size: var(--ui-small, .875rem); }
.travel-checkin__fields label small { color: var(--mgla-cicha); }
.travel-checkin__fields input { width: 100%; min-height: 44px; padding: .55rem; border: 1px solid var(--kresa); border-radius: 11px; color: var(--kreda); background: var(--tusz); font: var(--ui-small, .875rem) var(--tekst); }
.travel-checkin__actions { grid-column: 2; display: flex; gap: .45rem; }
.travel-checkin__actions button { min-height: 43px; padding: .5rem .7rem; border: 1px solid var(--kresa); border-radius: 12px; color: var(--mgla); background: transparent; font: 650 var(--ui-small, .875rem) var(--tekst); cursor: pointer; }
.travel-checkin__actions button:last-child { color: #06130f; border-color: var(--jadeit); background: var(--jadeit); }
.travel-checkin > p { grid-column: 2; margin: -.45rem 0 0; color: var(--jadeit-jasny); font-size: var(--ui-small, .875rem); }
.travel-checkin > small { grid-column: 1 / -1; color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); line-height: 1.45; }
.profil-travel-card__body { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem; border: 1px solid color-mix(in srgb, var(--jadeit) 24%, var(--kresa)); border-radius: 18px; background: rgb(32 201 154 / .04); }
.profil-travel-card__body strong { font-size: var(--ui-small, .875rem); }
.profil-travel-card__body p { max-width: 58ch; margin: .35rem 0 0; color: var(--mgla); font-size: var(--ui-small, .875rem); }
.profil-travel-card__body .przycisk { width: auto; flex: none; margin: 0; }
.siec-start__dalej--travel { color: var(--bursztyn) !important; border-bottom-color: color-mix(in srgb, var(--bursztyn) 45%, transparent) !important; }

@media (max-width: 760px) {
  .travel-app { padding-top: .7rem; }
  .travel-hero { min-height: 0; grid-template-columns: 1fr; gap: 1.2rem; padding-block: 1.5rem 2.2rem; }
  .travel-hero__copy h1 { font-size: clamp(3.15rem, 14.8vw, 4.45rem); }
  .travel-hero__passport { min-height: 240px; }
  .travel-current { grid-template-columns: 1fr; }
  .travel-current__privacy { min-height: 125px; }
  .travel-people, .travel-plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .travel-filter { grid-template-columns: 1fr; }
  .travel-hub__grid { grid-template-columns: 1fr; }
  .travel-hub__grid article { min-height: 170px; }
  .travel-checkin { grid-template-columns: 1fr; }
  .travel-checkin__fields { grid-template-columns: 1fr; }
  .travel-checkin__actions, .travel-checkin > p { grid-column: 1; }
  .travel-privacy { grid-template-columns: 1fr; }
}

@media (max-width: 500px) {
  .travel-app { padding-inline: .82rem; }
  .travel-hero__actions { align-items: flex-start; flex-direction: column; }
  .travel-section-head { align-items: flex-start; }
  .travel-section-head h2, .travel-hub > header h2 { font-size: 2.65rem; }
  .travel-section-head > button { margin-top: .15rem; }
  .travel-people, .travel-plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; }
  .travel-person__body, .travel-plan__open > span { padding: .62rem; }
  .travel-person__body > p:nth-of-type(2), .travel-plan__open p { min-height: 0; }
  .travel-plan__open strong,
  .travel-plan__open p {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
  }
  .travel-plan__open strong { -webkit-line-clamp: 2; }
  .travel-plan__open p { -webkit-line-clamp: 2; }
  .travel-person__actions { grid-template-columns: 1fr; }
  .travel-person__actions button { border-right: 0; border-bottom: 1px solid rgb(255 255 255 / .07); }
  .travel-person__actions button:last-child { border-bottom: 0; }
  .travel-plan > div { align-items: center; gap: .35rem; padding: .5rem .58rem; }
  .travel-plan > div button { width: auto; min-height: 34px; padding-inline: .48rem; }
  .travel-builder > header h2 { font-size: 2.15rem; }
  .travel-checkin__actions { display: grid; grid-template-columns: 1fr; }
  .profil-travel-card__body { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  .travel-hero::before { filter: none; }
}

/* ============================================================== profil */
.sekcja--profil { border-top: 0; }
.formularz-profilu {
  margin-top: 2rem;
  max-width: 640px;
  border: 0;
  box-shadow: var(--cien-blisko), var(--swiatlo-gorne), 0 0 0 1px rgb(255 255 255 / 0.05);
  border-radius: var(--promien);
  background: var(--plyta);
  padding: 1.6rem;
  display: grid;
  gap: 1.2rem;
}
.pole-grupa--tagi { margin: 0.4rem 0 0; display: grid; gap: 1.1rem; }
.grupa-tagow__nazwa { margin: 0 0 0.5rem; font-size: var(--ui-small, .875rem); font-weight: 500; color: var(--kreda); }
.checkboksy { display: flex; flex-wrap: wrap; gap: 0.45rem; }
.checkbox-tag {
  display: inline-flex; align-items: center;
  cursor: pointer;
}
.checkbox-tag input { position: absolute; opacity: 0; width: 0; height: 0; }
.checkbox-tag span {
  font-size: var(--ui-small, .875rem);
  padding: 0.32rem 0.75rem;
  border-radius: 999px;
  border: 1px solid var(--kresa);
  color: var(--mgla);
  transition: color 0.15s, border-color 0.15s, background-color 0.15s;
}
.checkbox-tag input:checked + span { color: var(--tusz); background: var(--kreda); border-color: var(--kreda); }
.checkbox-tag input:focus-visible + span { outline: 2px solid var(--bursztyn); outline-offset: 2px; }
.formularz-profilu__odpowiedz { margin: 0; font-size: 0.9rem; min-height: 1.3em; }
.formularz-profilu__odpowiedz.jest-ok { color: var(--jadeit); }
.formularz-profilu__odpowiedz.jest-blad { color: var(--alarm); }
.wyloguj { margin-top: 1rem; max-width: 640px; }

.cta-profil {
  border: 1px dashed var(--kresa);
  border-radius: var(--promien);
  padding: 1.6rem;
  max-width: 42rem;
}

/* ---------------------------------------------- stany prawdziwych zaproszeń */
.plan__decyzja { margin: 1.2rem 0 0; font-size: 0.9rem; color: var(--mgla); }
.plan__decyzja--ok { color: var(--jadeit); }
.opcja--wylaczona span { color: color-mix(in srgb, var(--mgla) 70%, transparent); }
.opcja--wylaczona em { font-style: normal; font-size: var(--ui-small, .875rem); }
.plany--pokaz { margin-top: 2.5rem; padding-top: 2.2rem; border-top: 1px solid var(--kresa); }

.moje-wystawione {
  margin-top: 1.6rem;
  padding-top: 1.4rem;
  border-top: 1px solid var(--kresa);
  max-width: 42rem;
}
.moje-wystawione__etykieta { margin: 0 0 0.7rem; font-size: var(--ui-small, .875rem); letter-spacing: 0.06em; text-transform: uppercase; color: var(--mgla); }
.moje-wystawione ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; }
.moje-wystawione li {
  display: flex; justify-content: space-between; gap: 0.8rem; flex-wrap: wrap;
  font-size: 0.88rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid var(--kresa);
}
.moje-wystawione__lokal { font-weight: 500; }
.moje-wystawione__kiedy { color: var(--mgla); }
.moje-wystawione__przyjecia { color: var(--jadeit); margin-left: auto; }

/* ======================================================= wejście i profil */
.plakietka {
  display: inline-grid; place-items: center;
  min-width: 18px; height: 18px; padding: 0 5px;
  border-radius: 999px;
  background: var(--bursztyn); color: var(--tusz);
  font-size: var(--ui-small, .875rem); font-weight: 700;
}
.pasek__menu-plakietka {
  position: absolute;
  top: -5px;
  right: -5px;
  display: grid;
  place-items: center;
  min-width: 19px;
  height: 19px;
  padding: 0 5px;
  border: 2px solid var(--tusz);
  border-radius: 999px;
  color: #11100c;
  background: var(--jadeit);
  font-size: var(--ui-small, .875rem);
  font-weight: 700;
  line-height: 1;
}
.pasek__profil--aktywnosc { color: var(--jadeit-jasny); }

/* ============================================= wspólna skrzynka aktywności */
.aktywnosc-app {
  width: min(760px, 100%);
  min-height: calc(100svh - 90px);
  margin-inline: auto;
  padding: clamp(1.4rem, 5vw, 2.6rem) clamp(1rem, 4vw, 1.5rem) 7rem;
}
.aktywnosc-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.2rem;
  margin-bottom: 1.5rem;
}
.aktywnosc-hero > div { max-width: 610px; }
.aktywnosc-hero h1 {
  margin: 0;
  color: var(--jadeit);
  font-family: var(--display);
  font-size: clamp(2.25rem, 8vw, 3.65rem);
  font-weight: 200;
  line-height: .96;
  letter-spacing: -.055em;
}
.aktywnosc-hero h1 em {
  color: var(--bursztyn);
  font-family: var(--pismo);
  font-weight: 400;
}
.aktywnosc-hero p:last-child { margin: 1rem 0 0; color: var(--mgla); font-size: .92rem; }
.aktywnosc-przeczytaj {
  flex: none;
  padding: .65rem .9rem;
  border: 1px solid color-mix(in srgb, var(--jadeit) 38%, transparent);
  border-radius: 999px;
  color: var(--jadeit-jasny);
  background: transparent;
  font: inherit;
  font-size: var(--ui-small, .875rem);
  cursor: pointer;
}
.aktywnosc-lista { display: grid; gap: .65rem; margin: 0; padding: 0; list-style: none; }
.aktywnosc-wpis {
  overflow: hidden;
  border: 1px solid rgb(255 255 255 / .08);
  border-radius: 18px;
  background: linear-gradient(145deg, rgb(255 255 255 / .035), rgb(255 255 255 / .015));
}
.aktywnosc-wpis.jest-nowy {
  border-color: color-mix(in srgb, var(--jadeit) 48%, transparent);
  box-shadow: inset 3px 0 0 var(--jadeit), 0 18px 42px -32px var(--jadeit);
}
.aktywnosc-wpis > a {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: .9rem;
  padding: 1rem;
  color: inherit;
  text-decoration: none;
}
.aktywnosc-wpis__znak {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--jadeit) 42%, transparent);
  border-radius: 50%;
  color: var(--jadeit);
  background: color-mix(in srgb, var(--jadeit) 8%, transparent);
  font-family: var(--display);
  font-size: 1.25rem;
}
.aktywnosc-wpis__znak--swatka,
.aktywnosc-wpis__znak--znajomosc,
.aktywnosc-wpis__znak--znajomosc_potwierdzona { color: var(--bursztyn); border-color: color-mix(in srgb, var(--bursztyn) 45%, transparent); background: rgb(247 199 55 / .07); }
.aktywnosc-wpis__tresc { min-width: 0; display: grid; gap: .28rem; color: var(--mgla); font-size: var(--ui-small, .875rem); }
.aktywnosc-wpis__gora { display: flex; justify-content: space-between; gap: .75rem; align-items: baseline; }
.aktywnosc-wpis__gora strong { color: var(--kreda); font-size: .98rem; font-weight: 550; line-height: 1.25; }
.aktywnosc-wpis__gora time { flex: none; color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); }
.aktywnosc-wpis__tresc small { margin-top: .25rem; color: var(--jadeit); font-size: var(--ui-small, .875rem); }
.aktywnosc-wpis__tresc small b { color: var(--bursztyn); }
.aktywnosc-pusta {
  min-height: 360px;
  display: grid;
  place-content: center;
  justify-items: center;
  padding: 2rem;
  border: 1px dashed color-mix(in srgb, var(--jadeit) 34%, transparent);
  border-radius: 24px;
  text-align: center;
  background: radial-gradient(circle at 50% 20%, rgb(32 201 154 / .08), transparent 55%);
}
.aktywnosc-pusta > span { color: var(--jadeit); font-size: 2.3rem; }
.aktywnosc-pusta h2 { margin: .5rem 0; font-weight: 300; }
.aktywnosc-pusta p { max-width: 50ch; margin: 0; color: var(--mgla); }
.aktywnosc-pusta div { display: flex; gap: .6rem; margin-top: 1.2rem; }
.aktywnosc-pusta a { padding: .65rem .9rem; border: 1px solid var(--kresa); border-radius: 999px; text-decoration: none; font-size: var(--ui-small, .875rem); }

@media (max-width: 620px) {
  .aktywnosc-hero { align-items: flex-start; flex-direction: column; }
  .aktywnosc-przeczytaj { align-self: flex-start; }
  .aktywnosc-wpis > a { grid-template-columns: 38px minmax(0, 1fr); gap: .7rem; padding: .85rem; }
  .aktywnosc-wpis__znak { width: 38px; height: 38px; font-size: 1rem; }
  .aktywnosc-wpis__gora { align-items: flex-start; flex-direction: column; gap: .16rem; }
  .aktywnosc-pusta div { flex-direction: column; width: 100%; }
}
.pole__stale {
  margin: 0; padding: 0.7rem 0.8rem;
  border-radius: 9px; border: 1px dashed var(--kresa);
  color: var(--mgla); font-size: 0.95rem;
}
.formularz-wejscia {
  margin-top: 2rem; max-width: 460px;
  border: 0;
  box-shadow: var(--cien-blisko), var(--swiatlo-gorne), 0 0 0 1px rgb(255 255 255 / 0.05); border-radius: var(--promien);
  background: var(--plyta); padding: 1.6rem;
  display: grid; gap: 1rem;
}
.formularz-wejscia__odpowiedz { margin: 0; font-size: 0.9rem; min-height: 1.3em; }
.formularz-wejscia__odpowiedz.jest-ok { color: var(--jadeit); }
.formularz-wejscia__odpowiedz.jest-blad { color: var(--alarm); }

/* ==================================================== lista rozmów */
.lista-rozmow { list-style: none; margin: 2rem 0 0; padding: 0; max-width: 42rem; }
.rozmowa-wiersz { border-bottom: 1px solid var(--kresa); }
.rozmowa-wiersz a {
  display: flex; align-items: center; gap: 0.9rem;
  padding: 0.9rem 0.2rem; text-decoration: none;
}
.rozmowa-wiersz__awatar {
  width: 44px; height: 44px; flex: none; border-radius: 10px;
  display: grid; place-items: center;
  font-family: var(--display); font-size: 1.2rem;
  background: linear-gradient(155deg, var(--noc-2), var(--kresa));
}
.rozmowa-wiersz__tresc { flex: 1; min-width: 0; }
.rozmowa-wiersz__gora { display: flex; align-items: baseline; gap: 0.6rem; }
.rozmowa-wiersz__imie { font-weight: 500; }
.rozmowa-wiersz__tryb { font-size: var(--ui-small, .875rem); letter-spacing: 0.05em; text-transform: uppercase; }
.tryb--teraz { color: var(--bursztyn); }
.tryb--zaproszenie { color: var(--jadeit); }
.rozmowa-wiersz__ostatnia {
  display: block; color: var(--mgla); font-size: var(--ui-small, .875rem);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.rozmowa-wiersz__meta { text-align: right; flex: none; display: grid; gap: 0.3rem; justify-items: end; }
.rozmowa-wiersz__kiedy { font-size: var(--ui-small, .875rem); color: var(--mgla); font-variant-numeric: tabular-nums; }
.rozmowa-wiersz__licznik {
  display: grid; place-items: center; min-width: 20px; height: 20px; padding: 0 6px;
  border-radius: 999px; background: var(--bursztyn); color: var(--tusz);
  font-size: var(--ui-small, .875rem); font-weight: 700;
}
.rozmowa-wiersz.jest-nowa .rozmowa-wiersz__ostatnia { color: var(--kreda); }

/* ========================================================= wątek rozmowy */
.rozmowa {
  max-width: 42rem; margin-inline: auto;
  padding: 1.4rem clamp(1.2rem, 5vw, 2.5rem) 3rem;
}
.rozmowa__naglowek { display: flex; align-items: center; gap: 0.8rem; }
.rozmowa__powrot { text-decoration: none; font-size: 1.4rem; color: var(--mgla); }
.rozmowa__awatar {
  width: 48px; height: 48px; flex: none; border-radius: 10px;
  display: grid; place-items: center; font-family: var(--display); font-size: 1.3rem;
  background: linear-gradient(155deg, var(--noc-2), var(--kresa));
  overflow: hidden;
}
.rozmowa__awatar img { width: 100%; height: 100%; object-fit: cover; }
.rozmowa__kto { flex: 1; min-width: 0; }
.rozmowa__imie { font-family: var(--display); font-weight: 400; font-size: 1.5rem; margin: 0; }
.rozmowa__tryb { margin: 0; font-size: var(--ui-small, .875rem); }
.rozmowa__menu-przycisk {
  flex: none; background: transparent; border: 1px solid var(--kresa);
  color: var(--mgla); border-radius: 999px; padding: 0.35rem 0.8rem;
  font: inherit; font-size: var(--ui-small, .875rem); cursor: pointer;
}
.rozmowa__tagi { margin-top: 1rem; }

.panel-bezpieczenstwa {
  margin-top: 1rem; padding: 1.2rem;
  border: 0;
  box-shadow: var(--cien-blisko), var(--swiatlo-gorne), 0 0 0 1px rgb(255 255 255 / 0.05); border-radius: var(--promien);
  background: var(--plyta); display: grid; gap: 0.8rem;
}
.panel-bezpieczenstwa[hidden] { display: none; }
.panel-bezpieczenstwa__tytul { margin: 0; font-weight: 500; }
.panel-bezpieczenstwa__nota { margin: 0; font-size: var(--ui-small, .875rem); color: var(--mgla); }
.formularz-zgloszenia { display: grid; gap: 0.7rem; padding-top: 0.9rem; border-top: 1px solid var(--kresa); }
.formularz-zgloszenia__odpowiedz { margin: 0; font-size: var(--ui-small, .875rem); color: var(--jadeit); min-height: 1.2em; }

.watek {
  margin: 1.4rem 0 0; display: grid; gap: 0.6rem;
  max-height: 60vh; overflow-y: auto; padding-right: 0.3rem;
}
.watek__pusto { color: var(--mgla); font-size: 0.9rem; }
.bombelek {
  justify-self: start; max-width: 80%;
  background: var(--plyta-wyzej);
  box-shadow: var(--cien-blisko), var(--swiatlo-gorne), 0 0 0 1px rgb(255 255 255 / 0.05);
  border-radius: 16px 16px 16px 5px; padding: 0.7rem 0.95rem;
  animation: bombelek-wjazd 0.22s cubic-bezier(.2,.8,.3,1);
}
@keyframes bombelek-wjazd {
  from { opacity: 0; transform: translateY(6px) scale(0.98); }
  to   { opacity: 1; transform: none; }
}
.bombelek--moja {
  justify-self: end;
  border-radius: 16px 16px 5px 16px;
  background: linear-gradient(168deg, #4a3313, #33240e);
  box-shadow: var(--cien-blisko), inset 0 1px 0 rgb(255 255 255 / 0.09),
              0 0 0 1px color-mix(in srgb, var(--bursztyn) 28%, transparent);
}
.bombelek__tresc { margin: 0; overflow-wrap: anywhere; }
.bombelek__kiedy { margin: 0.3rem 0 0; font-size: var(--ui-small, .875rem); color: var(--mgla); }

.formularz-wiadomosci { display: flex; gap: 0.6rem; margin-top: 1.2rem; align-items: end; }
.formularz-wiadomosci .pole { flex: 1; }
.formularz-wiadomosci .przycisk { margin-top: 0; flex: none; }
.pole--ukryta-etykieta .pole__etykieta {
  position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}
.formularz-wiadomosci__nota { margin: 0.7rem 0 0; font-size: var(--ui-small, .875rem); color: var(--mgla); }
.rozmowa__zablokowana {
  margin-top: 1.4rem; padding: 0.9rem 1rem;
  border: 1px solid var(--kresa); border-radius: var(--promien);
  color: var(--mgla); font-size: 0.9rem;
}

/* ============================================================ moderacja */
.statystyki {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 0.8rem; margin: 2rem 0;
}
.statystyka {
  border: 0;
  box-shadow: var(--cien-blisko), var(--swiatlo-gorne), 0 0 0 1px rgb(255 255 255 / 0.05); border-radius: var(--promien);
  background: var(--plyta); padding: 1rem;
}
.statystyka__liczba { margin: 0; font-family: var(--display); font-size: 2rem; line-height: 1; }
.statystyka__etykieta { margin: 0.3rem 0 0; font-size: var(--ui-small, .875rem); text-transform: uppercase; letter-spacing: 0.06em; color: var(--mgla); }
.tabela { width: 100%; border-collapse: collapse; margin: 1rem 0 2rem; font-size: var(--ui-small, .875rem); display: block; overflow-x: auto; }
.tabela th, .tabela td { text-align: left; padding: 0.5rem 0.7rem; border-bottom: 1px solid var(--kresa); white-space: nowrap; }
.tabela th { font-size: var(--ui-small, .875rem); text-transform: uppercase; letter-spacing: 0.06em; color: var(--mgla); font-weight: 500; }
.tabela__opis { white-space: normal; max-width: 28ch; }
.tabela tr.jest-nowe { background: color-mix(in srgb, var(--alarm) 8%, transparent); }
.tabela .kod { font-family: ui-monospace, monospace; letter-spacing: 0.08em; }
.formularz-kodow { display: flex; gap: 0.8rem; align-items: end; flex-wrap: wrap; margin-bottom: 1rem; }
.formularz-kodow__odpowiedz { margin: 0; width: 100%; font-size: var(--ui-small, .875rem); color: var(--jadeit); }

/* ================================================= obecność i pisanie */
.kropka-online {
  display: inline-block;
  width: 9px; height: 9px; border-radius: 50%;
  background: var(--kresa);
  vertical-align: middle;
  transition: background-color 0.2s, box-shadow 0.2s;
}
.kropka-online.jest-online {
  background: var(--jadeit);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--jadeit) 25%, transparent);
}
.rozmowa-wiersz__awatar { position: relative; }
.rozmowa-wiersz__awatar .kropka-online {
  position: absolute; bottom: -1px; right: -1px;
  border: 2px solid var(--tusz);
  width: 12px; height: 12px;
}
.odznaka--zywy.jest-online {
  background: var(--jadeit);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--tusz) 55%, transparent);
}

.pisze-wskaznik {
  justify-self: start;
  display: flex; gap: 4px; align-items: center;
  margin: 0; padding: 0.75rem 0.9rem;
  background: var(--noc); border: 1px solid var(--kresa);
  border-radius: 14px 14px 14px 4px;
}
.pisze-wskaznik[hidden] { display: none; }
.pisze-wskaznik span {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--mgla);
  animation: pisze 1.3s infinite ease-in-out;
}
.pisze-wskaznik span:nth-child(2) { animation-delay: 0.18s; }
.pisze-wskaznik span:nth-child(3) { animation-delay: 0.36s; }
@keyframes pisze {
  0%, 60%, 100% { opacity: 0.28; transform: translateY(0); }
  30% { opacity: 1; transform: translateY(-3px); }
}
@media (prefers-reduced-motion: reduce) {
  .pisze-wskaznik span { animation: none; opacity: 0.6; }
}

/* ===================================== filtr sytuacyjny (druga oś doboru) */
.filtry__grupa + .filtry__grupa { margin-top: 0.7rem; }
.filtry__etykieta {
  margin: 0 0 0.35rem;
  font-size: var(--ui-small, .875rem);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--mgla-cicha);
}
/* Sytuacja dostaje własny, chłodny odcień z palety marki. */
.chip--sytuacja { border-color: color-mix(in srgb, var(--jadeit) 40%, var(--kresa)); color: var(--jadeit-jasny); }
.chip--sytuacja.jest-aktywny {
  background: var(--jadeit); border-color: var(--jadeit); color: var(--tusz);
}
.tag--sytuacja { color: var(--jadeit-jasny); border-color: color-mix(in srgb, var(--jadeit) 45%, var(--kresa)); }
.tag--jezyk { color: var(--mgla); border-color: var(--kresa-jasna); }
.chip--jezyk { color: var(--mgla); }

/* Wstęga sytuacji na kaflu — czytelna od razu, bez wchodzenia w profil. */
.wstega {
  position: absolute;
  left: 0.5rem; bottom: 0.5rem;
  z-index: 3;
  font-size: var(--ui-small, .875rem);
  font-weight: 500;
  letter-spacing: 0.02em;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  color: #1a1024;
  background: color-mix(in srgb, var(--lila) 88%, white);
  box-shadow: 0 2px 10px -2px rgb(0 0 0 / 0.6);
}

/* ================================== dopasowania AI, uściski, znajomi, swatka */
.naglowek3 { font-family: var(--tekst); font-size: 1rem; font-weight: 500; margin: 1.8rem 0 0.6rem; }

.dopasowania {
  max-width: var(--ramka); margin-inline: auto;
  padding: 0 clamp(1.2rem, 5vw, 2.5rem) 0.5rem;
}
.dopasowania[hidden] { display: none; }
.dopasowania__naglowek { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.dopasowania__naglowek .nadtytul { margin-bottom: 0.6em; }
.dopasowania__lista {
  display: grid; gap: 0.6rem;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
}
.dopasowania__ladowanie { color: var(--mgla); font-size: 0.9rem; margin: 0.4rem 0 0; }
.dopasowanie {
  display: flex; align-items: center; gap: 0.85rem;
  padding: 0.8rem 1rem;
  border-radius: var(--promien);
  background: var(--plyta);
  box-shadow: var(--cien-blisko), var(--swiatlo-gorne), 0 0 0 1px rgb(255 255 255 / 0.05);
}
.dopasowanie__awatar {
  width: 46px; height: 46px; flex: none; border-radius: 10px;
  display: grid; place-items: center;
  font-family: var(--display); font-size: 1.3rem;
  background: linear-gradient(155deg, var(--noc-2), var(--kresa));
}
.dopasowanie__tresc { flex: 1; min-width: 0; }
.dopasowanie__imie { margin: 0; font-weight: 500; font-size: 0.95rem; }
.dopasowanie__ai { margin: 0.15rem 0 0; font-size: var(--ui-small, .875rem); color: var(--kreda); }
.dopasowanie__powody { margin: 0.15rem 0 0; font-size: var(--ui-small, .875rem); color: var(--mgla); }
.dopasowanie__uscisk { margin: 0.2rem 0 0; font-size: var(--ui-small, .875rem); color: var(--lila); }
.dopasowanie__wynik {
  margin: 0; flex: none;
  font-family: var(--display); font-size: 1.5rem;
  color: var(--bursztyn);
  font-variant-numeric: tabular-nums;
}
.znacznik-demo {
  font-size: var(--ui-small, .875rem); text-transform: uppercase; letter-spacing: 0.08em;
  color: var(--mgla-cicha); border: 1px solid var(--kresa);
  border-radius: 999px; padding: 0.05rem 0.4rem; margin-left: 0.35rem;
}

.uscisk {
  margin: 0.35rem 0 0; font-size: var(--ui-small, .875rem); color: var(--lila);
}

.zasieg {
  margin-top: 2rem; padding: 1.3rem 1.4rem;
  border-radius: var(--promien); background: var(--plyta);
  box-shadow: var(--cien-blisko), var(--swiatlo-gorne), 0 0 0 1px rgb(255 255 255 / 0.05);
  max-width: 42rem;
}
.zasieg__tytul { margin: 0 0 0.9rem; font-size: var(--ui-small, .875rem); letter-spacing: 0.12em; text-transform: uppercase; color: var(--mgla-cicha); }
.zasieg__slupki { display: flex; gap: 1.6rem; flex-wrap: wrap; }
.zasieg__liczba { margin: 0; font-family: var(--display); font-size: 2.1rem; line-height: 1; }
.zasieg__etykieta { margin: 0.2rem 0 0; font-size: var(--ui-small, .875rem); color: var(--mgla); }
.zasieg__nota { margin: 1rem 0 0; font-size: var(--ui-small, .875rem); color: var(--mgla); }

.lista-osob { list-style: none; margin: 0.8rem 0 0; padding: 0; max-width: 42rem; }
.lista-osob li {
  display: flex; align-items: center; justify-content: space-between;
  gap: 1rem; padding: 0.6rem 0; border-bottom: 1px solid var(--kresa);
}
.lista-osob__imie { font-weight: 500; }
.formularz-swatki {
  margin-top: 1.4rem; max-width: 42rem; padding: 1.4rem;
  border-radius: var(--promien); background: var(--plyta);
  box-shadow: var(--cien-blisko), var(--swiatlo-gorne), 0 0 0 1px rgb(255 255 255 / 0.05);
  display: grid; gap: 1rem;
}
.formularz-swatki__odpowiedz { margin: 0; font-size: 0.88rem; color: var(--jadeit); min-height: 1.2em; }

/* ============================================ podpowiedzi AI w rozmowie */
.podpowiedzi { margin-top: 1.1rem; }
.podpowiedzi__lista { display: grid; gap: 0.45rem; }
.podpowiedz {
  text-align: left;
  padding: 0.6rem 0.85rem;
  border-radius: 12px;
  border: 1px dashed color-mix(in srgb, var(--lila) 45%, var(--kresa));
  background: color-mix(in srgb, var(--lila) 7%, transparent);
  color: var(--kreda);
  font: inherit; font-size: 0.88rem;
  cursor: pointer;
  transition: background-color 0.15s, border-color 0.15s;
}
.podpowiedz:hover { background: color-mix(in srgb, var(--lila) 14%, transparent); border-style: solid; }
.podpowiedzi__brak { margin: 0; font-size: var(--ui-small, .875rem); color: var(--mgla); }
.swatka-ai { margin-top: 1.2rem; }
.swatka-ai__wynik { margin: 0.6rem 0 0; font-size: var(--ui-small, .875rem); color: var(--lila); min-height: 1.2em; }


/* ================= zwijane sekcje — porzadek zamiast sceny ================ */
.zwin { border: 0; margin: 0 0 0.6rem; }
.zwin > summary {
  list-style: none; cursor: pointer;
  display: inline-flex; align-items: center; gap: 0.5rem;
  font-size: var(--ui-small, .875rem); color: var(--mgla);
  padding: 0.4rem 0.9rem;
  border: 1px solid var(--kresa); border-radius: 999px;
  user-select: none;
}
.zwin > summary::-webkit-details-marker { display: none; }
.zwin > summary::after { content: "▾"; font-size: var(--ui-small, .875rem); opacity: 0.7; }
.zwin[open] > summary::after { content: "▴"; }
.zwin[open] > summary { color: var(--kreda); border-color: var(--kresa-jasna); }
.zwin > *:not(summary) { margin-top: 0.8rem; }
.banner-demo, .banner-demo--zapro { font-size: var(--ui-small, .875rem); padding: 0.35rem 1rem; opacity: 0.85; }
.zasady-krotko {
  margin: 1.6rem 0 0; font-size: var(--ui-small, .875rem); color: var(--mgla);
  display: flex; flex-wrap: wrap; gap: 0.3rem 0.9rem;
}
.zasady-krotko span::before { content: "· "; opacity: 0.6; }
.zasady-krotko span:first-child::before { content: ""; }

/* Stan funkcji — zwijana uczciwość zamiast sekcji-broszury */
.stan-funkcji { max-width: 56ch; font-size: 0.88rem; color: var(--mgla); }
.stan-funkcji p { margin: 0 0 0.6em; }
.stan-funkcji strong { color: var(--kreda); font-weight: 600; }

/* Wejście do aplikacji ma natychmiast oddać stan wieczoru, zanim użytkownik
   zacznie filtrować. Animacje są czysto prezentacyjne; nie sugerują nowych danych. */
.strona-teraz .naglowek-trybu,
.strona-zapro .naglowek-trybu { animation: wejscie-sekcji .62s cubic-bezier(.2,.8,.3,1) both; }
.strona-teraz .filtry,
.strona-zapro .zasady-paska { animation: wejscie-sekcji .62s .1s cubic-bezier(.2,.8,.3,1) both; }
.strona-teraz .kafel { animation: wejscie-kafla .5s cubic-bezier(.2,.8,.3,1) both; }
.strona-teraz .kafel:nth-child(2n) { animation-delay: .04s; }
.strona-teraz .kafel:nth-child(3n) { animation-delay: .08s; }
.strona-teraz .kafel:nth-child(5n) { animation-delay: .12s; }
@keyframes wejscie-sekcji { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes wejscie-kafla { from { opacity: 0; transform: translateY(16px) scale(.97); } to { opacity: 1; transform: none; } }

.status-panel__eyebrow { margin: 0 0 .45rem; color: var(--bursztyn); font-size: var(--ui-small, .875rem); text-transform: uppercase; letter-spacing: .12em; }
.status-panel__eyebrow span, .sygnal-teraz__kropka, .sygnal-zapro > span { display: inline-block; width: .48rem; height: .48rem; margin-right: .35rem; border-radius: 50%; background: var(--bursztyn); box-shadow: 0 0 0 0 rgb(240 167 63 / .4); animation: sygnal-puls 1.8s ease-out infinite; }
.status-panel .status-panel__nota { margin-bottom: 0; }
.sygnal-teraz, .sygnal-zapro { color: var(--mgla); font-size: var(--ui-small, .875rem); }
.sygnal-teraz { display: flex; gap: .35rem; align-items: baseline; margin: 0 0 .8rem; }
.sygnal-teraz strong { color: var(--kreda); font-weight: 500; }
.sygnal-zapro { max-width: var(--ramka); margin: .1rem auto 0; padding: 0 clamp(1.2rem, 5vw, 2.5rem); color: var(--jadeit); }
.sygnal-zapro > span { background: var(--jadeit); box-shadow: 0 0 0 0 rgb(79 195 169 / .4); }
@keyframes sygnal-puls { 65%, 100% { box-shadow: 0 0 0 8px transparent; } }

@media (prefers-reduced-motion: reduce) {
  .scena-wieczoru *, .strona-teraz .naglowek-trybu, .strona-zapro .naglowek-trybu,
  .strona-teraz .filtry, .strona-zapro .zasady-paska, .strona-teraz .kafel,
  .status-panel__eyebrow span, .sygnal-teraz__kropka, .sygnal-zapro > span {
    animation: none !important;
  }
}

/* ========================================================================
   Sieć zaufania / sześć uścisków
   Obie strony korzystają z jednego obrazu-przejścia. Raster niesie atmosferę,
   HTML niesie treść i stan, więc żadne dane nie są zaszyte w ilustracji.
   ======================================================================== */
@property --trasa-reveal {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 0%;
}
@property --poster-reveal {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 0%;
}

.pasek__link--siec { color: color-mix(in srgb, var(--jadeit) 70%, var(--kreda)); }
.pasek__link--siec.jest-aktywny {
  color: var(--kreda);
  background: color-mix(in srgb, var(--jadeit) 13%, transparent);
  border-color: color-mix(in srgb, var(--jadeit) 36%, transparent);
}

.nadtytul--siec { color: color-mix(in srgb, var(--jadeit) 76%, var(--kreda)); }
.siec-start {
  width: min(1440px, 100%);
  min-height: calc(100svh - 68px);
  margin-inline: auto;
  padding: clamp(2rem, 5vw, 5.2rem) clamp(1.2rem, 5vw, 4.6rem) clamp(3rem, 7vw, 5.6rem);
  display: grid;
  grid-template-columns: minmax(330px, .82fr) minmax(500px, 1.18fr);
  align-items: center;
  gap: clamp(1.4rem, 4vw, 5rem);
  position: relative;
  isolation: isolate;
}
.siec-start::before {
  content: "";
  position: absolute;
  inset: 8% 3% 4% 35%;
  z-index: -1;
  background: radial-gradient(circle at 56% 45%, rgb(79 195 169 / .09), transparent 62%);
  filter: blur(24px);
  pointer-events: none;
}
.siec-start__copy { max-width: 600px; position: relative; z-index: 2; }
.siec-start__naglowek,
.paszport__tytul {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(3.2rem, 7vw, 6.8rem);
  line-height: .88;
  letter-spacing: -.065em;
  font-weight: 700;
  text-wrap: balance;
  color: var(--bursztyn-jasny);
  text-shadow: 0 0 30px color-mix(in srgb, var(--bursztyn) 12%, transparent);
}
.siec-start__naglowek em,
.paszport__tytul em { color: var(--jadeit-jasny); font-style: normal; }
.strona-landing .siec-start__naglowek { font-size: clamp(3rem, 5.7vw, 5.8rem); }
.siec-start__lead {
  max-width: 43ch;
  margin: clamp(1.5rem, 3vw, 2.4rem) 0 0;
  color: var(--mgla);
  font-size: clamp(1rem, 1.5vw, 1.16rem);
  line-height: 1.62;
}
.siec-kontekst {
  margin-top: 1.8rem;
  padding: .95rem 1rem;
  display: flex;
  align-items: flex-start;
  gap: .85rem;
  max-width: 470px;
  border: 1px solid rgb(255 255 255 / .09);
  border-radius: var(--promien-maly);
  background: rgb(13 10 17 / .54);
  backdrop-filter: blur(14px);
  box-shadow: var(--swiatlo-gorne);
}
.siec-kontekst__sygnal {
  width: .62rem; height: .62rem; flex: none; margin-top: .42rem;
  border-radius: 50%; background: var(--jadeit);
  box-shadow: 0 0 0 0 rgb(79 195 169 / .45);
  animation: siec-puls 2.1s ease-out infinite;
}
.siec-kontekst strong,
.siec-kontekst span { display: block; }
.siec-kontekst strong { font-size: .91rem; line-height: 1.35; }
.siec-kontekst div > span { color: var(--mgla); font-size: var(--ui-small, .875rem); margin-top: .15rem; line-height: 1.45; }
.siec-start__akcje { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.3rem; margin-top: 1.65rem; }
.przycisk--siec {
  color: #071513;
  background: linear-gradient(120deg, var(--jadeit), var(--jadeit-jasny));
  box-shadow: 0 12px 32px -16px color-mix(in srgb, var(--jadeit) 75%, transparent), inset 0 1px rgb(255 255 255 / .35);
}
.przycisk--siec:hover { background: linear-gradient(120deg, #1ab18d, #9af0ca); }
.siec-start__dalej,
.link-sieci {
  color: var(--kreda); text-decoration: none; font-size: .88rem;
  border-bottom: 1px solid color-mix(in srgb, var(--jadeit) 45%, transparent);
  padding-block: .25rem; transition: color .2s ease, border-color .2s ease;
}
.siec-start__dalej:hover, .link-sieci:hover { color: var(--jadeit); border-color: var(--jadeit); }
.siec-start__licznik { margin: 1.35rem 0 0; color: #f8fafc; font-size: .95rem; line-height: 1.5; letter-spacing: .02em; }
.siec-start__licznik strong { color: var(--bursztyn); font-size: 1.05rem; font-weight: 700; }
.siec-start__licznik span { margin-inline: .3rem; }

.siec-visual {
  --siec-x: 0deg;
  --siec-y: 0deg;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  transform-style: preserve-3d;
}
.siec-visual--graf {
  display: block;
  width: min(100%, 745px);
  min-height: 0;
  aspect-ratio: 853 / 870;
  border-radius: clamp(20px, 3vw, 36px);
  color: var(--kreda);
  text-decoration: none;
  transform: perspective(1200px) rotateX(var(--siec-y)) rotateY(var(--siec-x));
  transition: transform .22s ease-out, filter .3s ease;
  filter: saturate(.96) contrast(1.03);
}
.siec-visual--graf:hover { filter: saturate(1.08) contrast(1.04); }
.siec-visual img {
  width: 100%; height: 100%; object-fit: cover;
  animation: siec-oddech 12s ease-in-out infinite alternate;
}
.siec-visual--graf img { position: absolute; inset: 0; object-position: 50% 52%; }
.siec-visual--graf::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  box-shadow: inset 0 0 0 1px rgb(255 255 255 / .05);
  border-radius: inherit;
}
.siec-visual__podpis {
  position: absolute; z-index: 2; padding: .22rem .48rem;
  color: var(--kreda); background: rgb(13 10 17 / .72);
  border: 1px solid rgb(255 255 255 / .13); border-radius: 999px;
  font-size: var(--ui-small, .875rem); letter-spacing: .04em; backdrop-filter: blur(8px);
  animation: etykieta-wejscie .55s calc(.2s + var(--i, 0) * .12s) both;
}
.siec-visual__podpis--ty { left: 20%; top: 52%; --i: 0; }
.siec-visual__podpis--lena { left: 49%; top: 30%; --i: 1; }
.siec-visual__podpis--nowa { right: 8%; top: 21%; --i: 2; }
.siec-visual__ruch {
  position: absolute; right: 7%; bottom: 9%; z-index: 2;
  display: flex; gap: .6rem; align-items: center;
  color: var(--mgla); font-size: var(--ui-small, .875rem); letter-spacing: .04em;
}
.siec-visual__ruch b { color: var(--jadeit); font-size: 1.1rem; animation: strzalka-sieci 1.7s ease-in-out infinite; }

.tryby-wieczoru { display: grid; grid-template-columns: minmax(260px, .78fr) minmax(480px, 1.22fr); gap: clamp(2rem, 5vw, 5rem); align-items: end; }
.tryby-wieczoru .hero__wejscia { margin: 0; }

/* Profile i lokalizacja wracają na pierwszy plan; graf jest warstwą zaufania,
   a nie osobnym produktem. */
.blisko-start {
  width: min(1380px, 100%);
  margin: clamp(2.5rem, 5vw, 4.5rem) auto 0;
  padding: clamp(1.6rem, 3vw, 2.4rem) clamp(1.2rem, 5vw, 4rem);
  border-top: 1px solid var(--kresa);
}
.blisko-start__naglowek {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(1.5rem, 5vw, 5rem);
  align-items: end;
}
.blisko-start__naglowek .naglowek2 { max-width: 17ch; font-size: clamp(1.8rem, 3.4vw, 3.2rem); }
.blisko-start__naglowek > p { max-width: 50ch; margin: 0 0 .4rem; color: var(--mgla); font-size: var(--ui-small, .875rem); }
.blisko-start__profile {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .8rem;
  margin-top: 1.8rem;
}
.profil-blisko {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgb(255 255 255 / .09);
  border-radius: 16px;
  background: linear-gradient(158deg, rgb(31 24 41 / .82), rgb(13 18 22 / .88));
  box-shadow: var(--swiatlo-gorne);
  color: var(--kreda);
  text-decoration: none;
  transition: transform .25s ease, border-color .25s ease;
}
.profil-blisko:hover { transform: translateY(-5px); border-color: color-mix(in srgb, var(--bursztyn) 52%, transparent); }
.profil-blisko__awatar {
  position: relative;
  display: grid;
  place-items: center;
  aspect-ratio: 16 / 10;
  color: rgb(255 255 255 / .78);
  font-family: var(--display);
  font-size: 2.1rem;
}
.profil-blisko__awatar i {
  position: absolute;
  right: .7rem;
  bottom: .6rem;
  display: grid;
  place-items: center;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 50%;
  color: #071513;
  background: var(--jadeit);
  font: 800 var(--ui-small, .875rem) var(--tekst);
}
.profil-blisko__tresc { padding: .8rem .9rem 1rem; }
.profil-blisko__tresc strong, .profil-blisko__tresc span { display: block; }
.profil-blisko__tresc strong { font-size: .92rem; }
.profil-blisko__tresc span { margin-top: .12rem; color: var(--bursztyn); font-size: var(--ui-small, .875rem); }
.profil-blisko__tresc p { margin: .55rem 0 0; color: var(--mgla); font-size: var(--ui-small, .875rem); line-height: 1.45; }
.blisko-start__przeplyw {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  margin-top: 1rem;
  overflow: hidden;
  border: 1px solid rgb(255 255 255 / .08);
  border-radius: 14px;
  background: rgb(7 11 15 / .58);
}
.blisko-start__przeplyw span {
  min-width: 0;
  padding: .75rem .85rem;
  border-right: 1px solid rgb(255 255 255 / .07);
  color: var(--mgla);
  font-size: var(--ui-small, .875rem);
  line-height: 1.4;
}
.blisko-start__przeplyw span:last-child { border-right: 0; }
.blisko-start__przeplyw b { display: block; margin-bottom: .18rem; color: var(--jadeit); font-size: var(--ui-small, .875rem); letter-spacing: .1em; }

.lokalizacja-panel {
  width: 100%;
  margin-top: .9rem;
  padding-top: .8rem;
  border-top: 1px solid rgb(255 255 255 / .09);
}
.lokalizacja-panel__przycisk { color: var(--kreda); border-color: color-mix(in srgb, var(--jadeit) 50%, var(--kresa)); }
.lokalizacja-panel__wylacz {
  margin-left: .5rem;
  padding: .28rem 0;
  border: 0;
  border-bottom: 1px solid var(--kresa-jasna);
  border-radius: 0;
  color: var(--mgla-cicha);
  background: transparent;
  font: inherit;
  font-size: var(--ui-small, .875rem);
  cursor: pointer;
}
.lokalizacja-panel p, .filtry__lokalizacja-info, .kafel__bez-dystansu { color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); line-height: 1.45; }
.lokalizacja-panel p { margin: .55rem 0 0; max-width: 58ch; }
.filtry__lokalizacja-info { width: 100%; margin: .65rem 0 0; }
.kafel__bez-dystansu { margin: .45rem 0 0; }
.przeplyw-relacji {
  max-width: 560px;
  margin-top: 1.4rem;
  padding: 1rem 1.1rem;
  border: 1px solid rgb(255 255 255 / .09);
  border-left: 2px solid var(--jadeit);
  border-radius: 12px;
  background: rgb(79 195 169 / .05);
}
.przeplyw-relacji p { margin: 0; color: var(--mgla); font-size: var(--ui-small, .875rem); }
.przeplyw-relacji strong { color: var(--kreda); }
.przeplyw-relacji a { display: inline-block; margin-top: .65rem; color: var(--jadeit); font-size: var(--ui-small, .875rem); }

/* Paszport / druga odsłona */
.paszport {
  width: min(1380px, 100%);
  margin-inline: auto;
  padding: clamp(2rem, 4vw, 4rem) clamp(1.2rem, 5vw, 4rem) clamp(4rem, 7vw, 6rem);
}
.paszport__naglowek { display: grid; grid-template-columns: 1.2fr .8fr; align-items: end; gap: 2rem; }
.paszport__tytul { font-size: clamp(2.8rem, 6.3vw, 6rem); }
.paszport__tytul em { color: var(--jadeit); }
.paszport__intro { max-width: 42ch; margin: 0 0 .5rem auto; color: var(--mgla); font-size: .95rem; }
.paszport__scena {
  height: clamp(520px, 66vw, 820px);
  margin-top: clamp(1.8rem, 4vw, 3.5rem);
  border-radius: clamp(20px, 3vw, 34px);
  border: 1px solid rgb(255 255 255 / .09);
  background:
    radial-gradient(circle at 68% 45%, rgb(25 91 91 / .16), transparent 42%),
    radial-gradient(circle at 15% 18%, rgb(240 167 63 / .09), transparent 34%),
    #040a0e;
  box-shadow: var(--cien-daleko), var(--swiatlo-gorne);
  transform: perspective(1400px) rotateX(var(--siec-y)) rotateY(var(--siec-x));
  transition: transform .24s ease-out;
}
.paszport__glob-3d {
  position: absolute;
  inset: 0;
  z-index: 2;
  overflow: hidden;
  border-radius: inherit;
  opacity: 0;
  pointer-events: none;
  transition: opacity .8s ease;
}
.paszport__glob-3d::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgb(2 7 11 / .05) 56%, rgb(2 7 11 / .74) 100%),
    radial-gradient(circle at 50% 45%, transparent 47%, rgb(2 7 11 / .52) 100%);
}
.paszport__scena.ma-glob-3d .paszport__glob-3d { opacity: 1; }
.paszport__scena.ma-glob-3d > .paszport__fallback { display: none; }
.glob-3d__canvas {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  display: block;
}
.glob-3d__etykiety {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
}
.glob-3d__etykieta {
  position: absolute;
  left: 0;
  top: 0;
  padding: .23rem .5rem;
  border: 1px solid color-mix(in srgb, var(--kolor-miasta) 52%, transparent);
  border-radius: 999px;
  color: var(--kreda);
  background: rgb(3 9 13 / .72);
  box-shadow: 0 0 1.15rem color-mix(in srgb, var(--kolor-miasta) 24%, transparent);
  backdrop-filter: blur(10px);
  font-size: var(--ui-small, .875rem);
  font-weight: 650;
  letter-spacing: .035em;
  white-space: nowrap;
  will-change: transform, opacity;
  transition: opacity .22s ease, border-color .22s ease, background .22s ease;
}
.glob-3d__etykieta.jest-aktywna {
  border-color: var(--kolor-miasta);
  background: color-mix(in srgb, var(--kolor-miasta) 17%, rgb(3 9 13 / .86));
}
.paszport__scena > img { position: absolute; inset: 0; object-position: center; animation: none; }
.paszport__glob {
  z-index: 0;
  opacity: .72;
  filter: saturate(.82) brightness(.82);
  will-change: opacity, filter;
}
.paszport__glob--blask {
  --trasa-reveal: 0%;
  z-index: 2;
  opacity: 0;
  mix-blend-mode: screen;
  -webkit-mask-image: linear-gradient(to right, #000 0%, #000 var(--trasa-reveal), transparent calc(var(--trasa-reveal) + 9%), transparent 100%);
  mask-image: linear-gradient(to right, #000 0%, #000 var(--trasa-reveal), transparent calc(var(--trasa-reveal) + 9%), transparent 100%);
  filter: saturate(1.18) brightness(1.16) drop-shadow(0 0 14px rgb(79 195 169 / .18));
  will-change: mask-image, opacity;
}
.paszport__scena.jest-widoczna .paszport__glob:not(.paszport__glob--blask) {
  animation: glob-zyje 16s ease-in-out infinite alternate;
}
.paszport__scena.jest-widoczna .paszport__glob--blask {
  animation: trasa-odkrycie 5.2s .35s cubic-bezier(.2,.72,.18,1) both;
}
.paszport__scena::after {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(180deg, rgb(7 19 19 / .06) 50%, rgb(7 14 16 / .72) 100%);
}
.trasa-miast { list-style: none; margin: 0; padding: 0; position: absolute; inset: 0; z-index: 3; }
.trasa-miast li {
  position: absolute; left: var(--x); top: var(--y);
  width: .72rem; height: .72rem; border-radius: 50%;
  transform: translate(-50%, -50%);
  background: color-mix(in srgb, var(--bursztyn) calc(100% - var(--i) * 15%), var(--jadeit));
  box-shadow: 0 0 0 .32rem rgb(13 10 17 / .48), 0 0 1.7rem currentColor;
  opacity: 0;
}
.paszport__scena.jest-widoczna .trasa-miast li {
  animation:
    miasto-wejscie .65s calc(.65s + var(--i) * .66s) cubic-bezier(.2,.9,.25,1) forwards,
    punkt-oddech 2.7s calc(1.3s + var(--i) * .66s) ease-in-out infinite;
}
.trasa-miast li span {
  position: absolute; left: 50%; bottom: 1rem; transform: translateX(-50%);
  padding: .2rem .46rem; white-space: nowrap;
  color: var(--kreda); background: rgb(7 12 16 / .7); border-radius: 999px;
  font-size: var(--ui-small, .875rem); letter-spacing: .05em; backdrop-filter: blur(8px);
  opacity: 0;
}
.paszport__scena.jest-widoczna .trasa-miast li span {
  animation: etykieta-trasy .45s calc(.82s + var(--i) * .66s) ease-out forwards;
}
.paszport__metryka {
  position: absolute; left: clamp(1rem, 3vw, 2.5rem); top: clamp(1rem, 3vw, 2.5rem); z-index: 4;
  padding: 1rem 1.1rem; min-width: 190px;
  border: 1px solid rgb(255 255 255 / .12); border-radius: 14px;
  background: rgb(7 12 16 / .7); backdrop-filter: blur(16px); box-shadow: var(--swiatlo-gorne);
}
.paszport__metryka p { margin: 0; color: var(--mgla); font-size: var(--ui-small, .875rem); text-transform: uppercase; letter-spacing: .1em; }
.paszport__metryka strong { display: block; margin: .2rem 0; font-family: var(--display); font-size: 3.2rem; line-height: 1; }
.paszport__metryka strong small { color: var(--mgla-cicha); font-size: 1.2rem; }
.paszport__metryka > span { color: var(--jadeit); font-size: var(--ui-small, .875rem); }
.paszport__dystans-potwierdzony {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: .9rem;
  margin-top: .72rem;
  padding-top: .62rem;
  border-top: 1px solid rgb(255 255 255 / .09);
}
.paszport__dystans-potwierdzony small {
  color: var(--mgla-cicha);
  font-size: var(--ui-small, .875rem);
  letter-spacing: .05em;
  text-transform: uppercase;
}
.paszport__dystans-potwierdzony b {
  color: var(--kreda);
  font-size: var(--ui-small, .875rem);
  white-space: nowrap;
}
.paszport__km-demo {
  position: absolute;
  right: clamp(1rem, 3vw, 2.5rem);
  bottom: clamp(1rem, 3vw, 2.5rem);
  z-index: 4;
  width: min(210px, calc(100% - 2rem));
  padding: .9rem 1rem;
  border: 1px solid rgb(255 255 255 / .12);
  border-radius: 14px;
  color: var(--kreda);
  background: rgb(7 12 16 / .72);
  backdrop-filter: blur(16px);
  box-shadow: var(--swiatlo-gorne);
}
.paszport__km-demo p {
  margin: 0;
  color: var(--mgla);
  font-size: var(--ui-small, .875rem);
  letter-spacing: .1em;
  text-transform: uppercase;
}
.paszport__km-demo strong {
  display: block;
  margin-top: .14rem;
  font-family: var(--display);
  font-size: 1.72rem;
  line-height: 1.08;
}
.paszport__km-demo strong small { color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); }
.paszport__km-demo > span { display: block; margin-top: .28rem; color: var(--jadeit); font-size: var(--ui-small, .875rem); }
.paszport__km-tor {
  height: 2px;
  margin-top: .62rem;
  overflow: hidden;
  border-radius: 999px;
  background: rgb(255 255 255 / .1);
}
.paszport__km-tor span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--bursztyn), var(--jadeit));
  box-shadow: 0 0 12px var(--jadeit);
}
.paszport__powtorz {
  display: block;
  margin-top: .7rem;
  padding: 0 0 .12rem;
  border: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--jadeit) 45%, transparent);
  border-radius: 0;
  color: var(--mgla);
  background: transparent;
  font: inherit;
  font-size: var(--ui-small, .875rem);
  cursor: pointer;
}
.paszport__powtorz:hover { color: var(--kreda); border-color: var(--jadeit); }
.paszport__dol { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.5rem, 4vw, 4rem); margin-top: 2.2rem; }
.paszport__postep, .paszport__cta { padding: 1.3rem 0; border-top: 1px solid var(--kresa); }
.paszport__postep-top { display: flex; justify-content: space-between; font-size: var(--ui-small, .875rem); text-transform: uppercase; letter-spacing: .1em; }
.paszport__postep-top span { color: var(--mgla-cicha); }
.paszport__tor { height: 5px; margin-top: .75rem; border-radius: 999px; background: var(--kresa); overflow: hidden; }
.paszport__tor span { display: block; width: var(--postep); height: 100%; background: linear-gradient(90deg, var(--bursztyn), var(--jadeit)); animation: postep-sieci 1.1s .35s cubic-bezier(.2,.8,.2,1) both; transform-origin: left; }
.paszport__postep p, .paszport__cta p { color: var(--mgla); font-size: var(--ui-small, .875rem); margin: .7rem 0 0; }
.paszport__cta { display: flex; justify-content: space-between; align-items: center; gap: 1.3rem; }
.paszport__cta p { margin: 0; max-width: 40ch; }
.paszport__cta strong { color: var(--kreda); }
.paszport__cta .przycisk { flex: none; }
.paszport__cta-akcje { display: flex; align-items: center; flex-wrap: wrap; gap: .7rem 1rem; }
.paszport__cta-link { color: var(--jadeit); text-decoration: none; font-size: var(--ui-small, .875rem); }
.paszport__uczciwie { max-width: 84ch; margin: 2.3rem auto 0; color: var(--mgla-cicha); text-align: center; font-size: var(--ui-small, .875rem); }
.link-sieci { display: inline-block; margin-top: .4rem; }

/* Osobisty graf — tylko potwierdzone relacje zalogowanej osoby. */
.moja-siec {
  scroll-margin-top: 6rem;
  margin-top: clamp(4.5rem, 9vw, 8rem);
  padding-top: clamp(1.2rem, 2.5vw, 2rem);
  border-top: 1px solid var(--kresa);
}
.moja-siec__naglowek {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: clamp(1.5rem, 5vw, 5rem);
  align-items: end;
}
.moja-siec__naglowek h2 {
  max-width: 13ch;
  font-family: var(--display);
  font-size: clamp(2.5rem, 5.6vw, 5.3rem);
  font-weight: 500;
  line-height: .94;
  letter-spacing: -.045em;
}
.moja-siec__naglowek h2 em { color: var(--bursztyn); font-style: normal; }
.moja-siec__naglowek > p { max-width: 46ch; margin: 0 0 .45rem; color: var(--mgla); font-size: .9rem; }
.moja-siec__statystyki {
  display: flex;
  gap: clamp(1.5rem, 5vw, 4rem);
  margin-top: 2rem;
  padding: 1rem 0;
  border-block: 1px solid var(--kresa);
}
.moja-siec__statystyki p { display: grid; gap: .08rem; margin: 0; }
.moja-siec__statystyki strong { font-family: var(--display); font-size: 1.8rem; font-weight: 500; line-height: 1; }
.moja-siec__statystyki strong small { color: var(--mgla-cicha); font-size: .7em; }
.moja-siec__statystyki span { color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); letter-spacing: .09em; text-transform: uppercase; }
.moja-siec__demo-nota {
  margin: 1.2rem 0 0;
  padding: .72rem .86rem;
  border: 1px solid color-mix(in srgb, var(--jadeit) 28%, transparent);
  border-radius: 13px;
  color: var(--mgla);
  background: color-mix(in srgb, var(--jadeit) 6%, transparent);
  font-size: var(--ui-small, .875rem);
  line-height: 1.5;
}
.moja-siec__demo-nota strong { color: var(--jadeit); }
.kregi {
  margin-top: 1.15rem;
  padding: clamp(.85rem, 2.4vw, 1.35rem);
  border: 1px solid rgb(255 255 255 / .09);
  border-radius: 18px;
  background: rgb(255 255 255 / .025);
}
.kregi__wprowadzenie {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 1.2rem;
  align-items: end;
}
.kregi__wprowadzenie div { display: grid; gap: .2rem; }
.kregi__wprowadzenie span { color: var(--jadeit); font-size: var(--ui-small, .875rem); letter-spacing: .1em; text-transform: uppercase; }
.kregi__wprowadzenie strong { font-size: .92rem; }
.kregi__wprowadzenie p { max-width: 58ch; margin: 0; color: var(--mgla); font-size: var(--ui-small, .875rem); line-height: 1.45; }
.kregi__nawigacja {
  display: grid;
  grid-template-columns: repeat(6, minmax(88px, 1fr));
  gap: .48rem;
  margin-top: .9rem;
  padding-bottom: .18rem;
  overflow-x: auto;
  scrollbar-width: none;
}
.kregi__nawigacja::-webkit-scrollbar { display: none; }
.kregi__przycisk {
  min-height: 76px;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  align-items: baseline;
  gap: 0 .28rem;
  padding: .65rem;
  border: 1px solid var(--kresa-jasna);
  border-radius: 14px;
  color: var(--mgla);
  background: rgb(5 10 13 / .54);
  text-align: left;
  cursor: pointer;
  transition: border-color .22s ease, background .22s ease, transform .22s ease;
}
.kregi__przycisk b { color: var(--kreda); font-family: var(--display); font-size: 1.45rem; font-weight: 500; line-height: 1; }
.kregi__przycisk span { font-size: var(--ui-small, .875rem); letter-spacing: .07em; text-transform: uppercase; }
.kregi__przycisk small { grid-column: 1 / -1; color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); }
.kregi__przycisk:hover, .kregi__przycisk:focus-visible { border-color: var(--jadeit); transform: translateY(-2px); outline: none; }
.kregi__przycisk.jest-aktywny { border-color: var(--bursztyn); background: color-mix(in srgb, var(--bursztyn) 12%, #071013); box-shadow: 0 0 24px rgb(240 167 63 / .12); }
.kregi__przycisk.jest-aktywny b { color: var(--bursztyn-jasny); }
.kregi__przycisk:disabled { cursor: not-allowed; opacity: .32; transform: none; }
.kregi__osoby { display: flex; gap: .5rem; margin-top: .72rem; padding-top: .72rem; overflow-x: auto; border-top: 1px solid var(--kresa); scrollbar-width: none; }
.kregi__osoby::-webkit-scrollbar { display: none; }
.kregi__osoba {
  flex: none;
  min-width: 126px;
  display: grid;
  grid-template-columns: 30px 1fr;
  grid-template-rows: auto auto;
  align-items: center;
  column-gap: .52rem;
  padding: .5rem .62rem;
  border: 1px solid rgb(255 255 255 / .09);
  border-radius: 999px;
  color: var(--kreda);
  background: rgb(4 9 12 / .72);
  text-align: left;
  cursor: pointer;
}
.kregi__osoba[hidden] { display: none; }
.kregi__osoba > span { grid-row: 1 / 3; width: 30px; height: 30px; display: grid; place-items: center; border: 1px solid var(--jadeit); border-radius: 50%; color: var(--jadeit); font-size: var(--ui-small, .875rem); overflow: hidden; }
.kregi__osoba > span img { width: 100%; height: 100%; object-fit: cover; }
.kregi__osoba strong { font-size: var(--ui-small, .875rem); }
.kregi__osoba small { color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); }
.kregi__osoba:hover, .kregi__osoba:focus-visible, .kregi__osoba.jest-aktywna { border-color: var(--jadeit); outline: none; background: color-mix(in srgb, var(--jadeit) 10%, #071013); }
.moja-siec__plansza {
  position: relative;
  min-height: 620px;
  margin-top: 1.25rem;
  overflow: hidden;
  border: 1px solid rgb(255 255 255 / .1);
  border-radius: clamp(20px, 3vw, 34px);
  background:
    radial-gradient(circle at 50% 48%, rgb(240 167 63 / .11), transparent 18%),
    radial-gradient(circle at 75% 42%, rgb(79 195 169 / .1), transparent 34%),
    linear-gradient(145deg, #090b11, #050b0e 62%, #071213);
  box-shadow: var(--cien-daleko), var(--swiatlo-gorne);
}
.moja-siec__plansza::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: radial-gradient(rgb(255 255 255 / .16) .5px, transparent .5px);
  background-size: 27px 27px;
  -webkit-mask-image: radial-gradient(circle at center, #000, transparent 72%);
  mask-image: radial-gradient(circle at center, #000, transparent 72%);
}
.moja-siec__graf { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.moja-siec__okrag { fill: none; stroke: rgb(255 255 255 / .07); stroke-width: 6; stroke-dasharray: 1 12; cursor: pointer; pointer-events: stroke; transition: stroke .24s ease, stroke-width .24s ease, opacity .24s ease; outline: none; }
.moja-siec__okrag:hover, .moja-siec__okrag:focus-visible { stroke: color-mix(in srgb, var(--jadeit) 48%, transparent); }
.moja-siec__okrag.jest-aktywny { stroke: color-mix(in srgb, var(--bursztyn) 74%, transparent); stroke-width: 8; filter: drop-shadow(0 0 7px rgb(240 167 63 / .32)); }
.moja-siec__krawedzie line,
.moja-siec__krawedzie polyline {
  stroke: rgb(202 215 213 / .2);
  stroke-width: 1.1;
  stroke-dasharray: 1000;
  stroke-dashoffset: 1000;
  animation: graf-linia .9s calc(.12s + var(--i) * .025s) ease-out forwards;
  transition: opacity .28s ease, stroke .28s ease, stroke-width .28s ease;
}
.moja-siec__krawedzie line.jest-na-sciezce,
.moja-siec__krawedzie polyline.jest-na-sciezce { stroke: var(--sciezka-kolor, #efb64d); stroke-width: 3.2; filter: drop-shadow(0 0 6px color-mix(in srgb, var(--sciezka-kolor, #efb64d) 72%, transparent)); }
.moja-siec__krawedzie line.jest-przygaszona,
.moja-siec__krawedzie polyline.jest-przygaszona { opacity: .09; }
.moja-siec__strzalka {
  fill: var(--sciezka-kolor, var(--bursztyn));
  stroke: #071013;
  stroke-width: 1.6;
  paint-order: stroke fill;
  opacity: 0;
  pointer-events: none;
  transition: opacity .24s ease, fill .24s ease;
}
.moja-siec__strzalka.jest-na-sciezce {
  opacity: 1;
  filter: drop-shadow(0 0 5px color-mix(in srgb, var(--sciezka-kolor, var(--bursztyn)) 78%, transparent));
}
.moja-siec__wezel {
  cursor: pointer;
  opacity: 0;
  animation: graf-wezel .55s calc(.18s + var(--i) * .045s) cubic-bezier(.18,.9,.25,1.25) forwards;
  transition: opacity .28s ease;
  outline: none;
}
.moja-siec__wezel-puls { fill: color-mix(in srgb, var(--kolor) 12%, transparent); stroke: color-mix(in srgb, var(--kolor) 22%, transparent); }
.moja-siec__wezel-kolo {
  fill: color-mix(in srgb, var(--kolor) 16%, #081013);
  stroke: var(--kolor);
  stroke-width: 1.5;
  filter: drop-shadow(0 0 10px color-mix(in srgb, var(--kolor) 65%, transparent));
  transition: transform .25s ease, fill .25s ease, stroke-width .25s ease;
}
.moja-siec__wezel:hover .moja-siec__wezel-kolo,
.moja-siec__wezel:focus-visible .moja-siec__wezel-kolo,
.moja-siec__wezel.jest-wybrany .moja-siec__wezel-kolo { transform: scale(1.17); fill: color-mix(in srgb, var(--kolor) 34%, #081013); stroke-width: 2.5; }
.moja-siec__wezel:focus-visible .moja-siec__wezel-puls { stroke: var(--kreda); stroke-width: 2; }
.moja-siec__wezel.jest-na-sciezce .moja-siec__wezel-puls { animation: graf-puls 1.9s ease-out infinite; }
.moja-siec__wezel.jest-przygaszony { opacity: .2 !important; }
.moja-siec__inicjal { fill: var(--kreda); font: 700 11px var(--sans); text-anchor: middle; dominant-baseline: central; pointer-events: none; }
.moja-siec__portret { clip-path: circle(48% at 50% 50%); pointer-events: none; }
.moja-siec__nazwa { fill: var(--kreda); font: 650 11px var(--sans); text-anchor: middle; paint-order: stroke; stroke: rgb(5 10 13 / .9); stroke-width: 4px; stroke-linejoin: round; pointer-events: none; }
.moja-siec__znaczek { fill: var(--jadeit); font: 800 10px var(--sans); text-anchor: middle; paint-order: stroke; stroke: #071013; stroke-width: 3px; }
.moja-siec__znaczek--ai { fill: var(--bursztyn-jasny); font-size: 7px; }
.moja-siec__szczegoly {
  position: absolute;
  left: clamp(.8rem, 2.5vw, 2rem);
  bottom: clamp(.8rem, 2.5vw, 2rem);
  z-index: 2;
  width: min(340px, calc(100% - 1.6rem));
  padding: 1rem 1.1rem;
  border: 1px solid rgb(255 255 255 / .12);
  border-radius: 15px;
  background: rgb(5 10 13 / .8);
  box-shadow: var(--swiatlo-gorne);
  backdrop-filter: blur(18px);
}
.moja-siec__szczegoly span { color: var(--jadeit); font-size: var(--ui-small, .875rem); letter-spacing: .1em; text-transform: uppercase; }
.moja-siec__szczegoly strong { display: block; margin-top: .22rem; font-size: 1.02rem; }
.moja-siec__szczegoly p { margin: .35rem 0 0; color: var(--mgla); font-size: var(--ui-small, .875rem); overflow-wrap: anywhere; }
.moja-siec__szczegoly a { display: inline-block; margin-top: .7rem; color: var(--bursztyn); font-size: var(--ui-small, .875rem); }
.kreg-szczegoly__droga { color: var(--kreda) !important; font-weight: 650; }
.kreg-szczegoly__metryki { display: grid; grid-template-columns: 1fr 1fr; gap: .48rem; margin-top: .72rem; }
.kreg-szczegoly__metryki p { display: grid; gap: .06rem; margin: 0; padding: .55rem; border: 1px solid rgb(255 255 255 / .08); border-radius: 10px; background: rgb(255 255 255 / .025); }
.kreg-szczegoly__metryki b { color: var(--bursztyn-jasny); font-family: var(--display); font-size: 1.35rem; font-weight: 500; line-height: 1; }
.kreg-szczegoly__metryki small { color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); line-height: 1.25; }
.kreg-szczegoly__wskazowka { color: var(--mgla) !important; }
.kreg-szczegoly__legenda { display: block; margin-top: .62rem; color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); line-height: 1.35; }
.moja-siec__szczegoly .kreg-szczegoly__akcja { display: inline-block; margin-top: .7rem; padding: 0 0 .13rem; border: 0; border-bottom: 1px solid var(--bursztyn); color: var(--bursztyn); background: transparent; text-decoration: none; font: 700 var(--ui-small, .875rem) var(--tekst); cursor: pointer; }
.moja-siec__szczegoly .kreg-szczegoly__akcja:focus-visible { outline: 2px solid var(--kreda); outline-offset: 4px; }
.moja-siec__szczegoly .kreg-szczegoly__status { margin-top: .5rem; padding: .45rem .52rem; border-radius: 8px; color: var(--jadeit); background: color-mix(in srgb, var(--jadeit) 8%, transparent); font-size: var(--ui-small, .875rem); }
.kreg-szczegoly__plus { display: block; margin-top: .62rem; color: var(--jadeit); font-size: var(--ui-small, .875rem); line-height: 1.35; }
.kregi__monetyzacja { display: grid; grid-template-columns: auto 1fr; gap: 1rem; align-items: start; margin-top: .75rem; padding: .8rem .9rem; border: 1px dashed color-mix(in srgb, var(--jadeit) 28%, transparent); border-radius: 13px; }
.kregi__monetyzacja > span { color: var(--jadeit); font-size: var(--ui-small, .875rem); letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.kregi__monetyzacja p { margin: 0; color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); line-height: 1.45; }
.kregi__monetyzacja strong { color: var(--kreda); }
.moja-siec__limit { margin: .8rem 0 0; color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); }
.siec-profil-popup[hidden] { display: none; }
.siec-profil-popup {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: center;
  padding: 1rem;
}
.siec-profil-popup__tlo {
  position: absolute;
  inset: 0;
  background: rgb(2 4 7 / .72);
  backdrop-filter: blur(9px);
}
.siec-profil-popup__karta {
  position: relative;
  width: min(440px, 100%);
  max-height: min(720px, calc(100dvh - 2rem));
  overflow: auto;
  padding: 1rem;
  border: 1px solid color-mix(in srgb, var(--jadeit) 35%, var(--kresa));
  border-radius: 22px;
  background: linear-gradient(145deg, #11141a, #0a1112 70%, #151021);
  box-shadow: 0 30px 100px rgb(0 0 0 / .58), 0 0 42px rgb(32 201 154 / .12);
  animation: siec-popup-wejscie .24s cubic-bezier(.2,.85,.25,1) both;
}
.siec-profil-popup__zamknij {
  position: absolute;
  top: .75rem;
  right: .75rem;
  z-index: 1;
  width: 38px;
  height: 38px;
  border: 1px solid rgb(255 255 255 / .14);
  border-radius: 50%;
  color: var(--kreda);
  background: rgb(5 8 11 / .66);
  font: 300 1.65rem / 1 var(--sans);
  cursor: pointer;
}
.siec-profil-popup__zamknij:hover, .siec-profil-popup__zamknij:focus-visible { border-color: var(--jadeit); outline: none; }
[data-siec-popup-title] { margin: .15rem 3rem 1rem .15rem; color: var(--jadeit); font-size: var(--ui-small, .875rem); letter-spacing: .12em; text-transform: uppercase; }
.siec-profil-popup__naglowek { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: .85rem; align-items: center; }
.siec-profil-popup__media { width: 92px; aspect-ratio: 1; display: grid; place-items: center; overflow: hidden; border: 2px solid var(--bursztyn); border-radius: 50%; color: var(--kreda); background: #10181a; font: 500 1.9rem var(--display); box-shadow: 0 0 24px rgb(240 167 63 / .24); }
.siec-profil-popup__media img { width: 100%; height: 100%; object-fit: cover; }
.siec-profil-popup__osoba h3 { margin: 0; color: var(--kreda); font-family: var(--display); font-size: 1.7rem; font-weight: 500; line-height: 1; }
.siec-profil-popup__osoba p { margin: .4rem 0 0; color: var(--jadeit-jasny); font-size: var(--ui-small, .875rem); }
.siec-profil-popup__opis { margin: 1rem 0 .8rem; color: var(--mgla); font-size: var(--ui-small, .875rem); line-height: 1.5; }
.siec-profil-popup__hobby { margin-top: .75rem; }
.siec-profil-popup__hobby > strong { display: block; margin-bottom: .38rem; color: var(--bursztyn-jasny); font-size: var(--ui-small, .875rem); letter-spacing: .08em; text-transform: uppercase; }
.siec-profil-popup__tagi { display: flex; flex-wrap: wrap; gap: .35rem; }
.siec-profil-popup__tagi span { padding: .28rem .48rem; border: 1px solid rgb(79 195 169 / .28); border-radius: 999px; color: var(--jadeit-jasny); background: rgb(79 195 169 / .07); font-size: var(--ui-small, .875rem); }
.siec-profil-popup__meta { margin: .9rem 0 0; color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); }
.siec-profil-popup__akcje { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; margin-top: 1rem; }
.siec-profil-popup__akcje .przycisk { margin: 0; padding: .65rem .85rem; font-size: var(--ui-small, .875rem); }
.siec-profil-popup__chat { color: var(--bursztyn-jasny); font-size: var(--ui-small, .875rem); }
body.siec-popup-otwarty { overflow: hidden; }
@keyframes siec-popup-wejscie { from { opacity: 0; transform: translateY(14px) scale(.97); } to { opacity: 1; transform: none; } }
.moja-siec__zablokowana {
  display: grid;
  grid-template-columns: minmax(260px, .85fr) minmax(300px, 1.15fr);
  gap: clamp(2rem, 7vw, 7rem);
  align-items: center;
  min-height: 460px;
  margin-top: 1.5rem;
  padding: clamp(1.5rem, 5vw, 4rem);
  overflow: hidden;
  border: 1px solid rgb(255 255 255 / .1);
  border-radius: clamp(20px, 3vw, 34px);
  background: radial-gradient(circle at 24% 48%, rgb(240 167 63 / .13), transparent 29%), #070c10;
}
.moja-siec__zablokowana span { color: var(--jadeit); font-size: var(--ui-small, .875rem); letter-spacing: .1em; text-transform: uppercase; }
.moja-siec__zablokowana h3 { max-width: 17ch; margin-top: .55rem; font-family: var(--display); font-size: clamp(2rem, 4vw, 3.7rem); font-weight: 500; line-height: .98; }
.moja-siec__zablokowana p { max-width: 48ch; margin: 1rem 0 1.4rem; color: var(--mgla); font-size: var(--ui-small, .875rem); }
.moja-siec__teaser { position: relative; aspect-ratio: 1; }
.moja-siec__teaser::before, .moja-siec__teaser::after { content: ""; position: absolute; inset: 14%; border: 1px dashed rgb(255 255 255 / .12); border-radius: 50%; }
.moja-siec__teaser::after { inset: 32%; }
.moja-siec__teaser i { position: absolute; left: 50%; top: 50%; width: 18px; height: 18px; border: 2px solid var(--jadeit); border-radius: 50%; background: #0b1718; box-shadow: 0 0 22px rgb(79 195 169 / .52); animation: teaser-puls 2.8s calc(var(--i, 0) * -.35s) ease-in-out infinite; }
.moja-siec__teaser i:nth-child(1) { width: 30px; height: 30px; margin: -15px; border-color: var(--bursztyn); box-shadow: 0 0 28px rgb(240 167 63 / .55); }
.moja-siec__teaser i:nth-child(2) { transform: translate(110px, -72px); }
.moja-siec__teaser i:nth-child(3) { transform: translate(-118px, 56px); }
.moja-siec__teaser i:nth-child(4) { transform: translate(72px, 116px); }
.moja-siec__teaser i:nth-child(5) { transform: translate(-64px, -124px); }
.moja-siec__teaser i:nth-child(6) { transform: translate(150px, 44px); }
.moja-siec__teaser i:nth-child(7) { transform: translate(-148px, -38px); }

@keyframes graf-linia { to { stroke-dashoffset: 0; } }
@keyframes graf-wezel { from { opacity: 0; scale: .2; } to { opacity: 1; scale: 1; } }
@keyframes graf-puls { 75%, 100% { r: 38px; opacity: 0; } }
@keyframes teaser-puls { 50% { filter: brightness(1.5); scale: 1.17; } }

/* Drugi rozdział po scrollu — pełny wybrany poster pozostaje jednym, wiernym
   rastrem. Druga kopia tylko prowadzi światło przez ten sam obraz. */
.zaufanie-scroll {
  margin-top: clamp(4.5rem, 10vw, 9rem);
  padding-top: clamp(1.1rem, 2vw, 1.7rem);
  border-top: 1px solid var(--kresa);
}
.zaufanie-scroll__pasek {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  max-width: 780px;
  margin: 0 auto 1.25rem;
  color: var(--mgla-cicha);
  font-size: var(--ui-small, .875rem);
  letter-spacing: .11em;
  text-transform: uppercase;
}
.zaufanie-scroll__pasek p { margin: 0; }
.zaufanie-scroll__pasek span { color: var(--bursztyn); margin-right: .55rem; }
.zaufanie-scroll__powtorz {
  padding: .2rem 0;
  border: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--bursztyn) 45%, transparent);
  border-radius: 0;
  background: transparent;
  color: var(--mgla);
  font: inherit;
  letter-spacing: .06em;
  text-transform: uppercase;
  cursor: pointer;
}
.zaufanie-scroll__powtorz:hover { color: var(--kreda); border-color: var(--bursztyn); }
.zaufanie-scroll__scena {
  /* Obraz jest pełnoprawnym fallbackiem także wtedy, gdy mobilna
     przeglądarka nie uruchomi IntersectionObservera. Ruch jest dodatkiem. */
  opacity: 1;
  transform: none;
  will-change: opacity, transform;
}
.zaufanie-scroll.jest-widoczna .zaufanie-scroll__scena {
  animation: poster-wejscie .9s cubic-bezier(.18,.82,.24,1) both;
}
.zaufanie-scroll__poster {
  --poster-reveal: 0%;
  display: block;
  width: min(100%, 620px);
  aspect-ratio: 853 / 1844;
  margin-inline: auto;
  border-radius: clamp(24px, 4vw, 42px);
  background: #090a0f;
  box-shadow: 0 36px 90px -36px rgb(0 0 0 / .9), 0 0 70px -48px rgb(240 167 63 / .65);
  transform: perspective(1400px) rotateX(var(--siec-y)) rotateY(var(--siec-x));
  transition: transform .24s ease-out, box-shadow .35s ease;
}
.zaufanie-scroll__poster:hover { box-shadow: 0 42px 100px -34px rgb(0 0 0 / .95), 0 0 90px -42px rgb(79 195 169 / .46); }
.zaufanie-scroll__obraz {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .64;
  filter: saturate(.88) brightness(.82);
  animation: none;
  will-change: transform, opacity;
}
.zaufanie-scroll__obraz--blask {
  --poster-reveal: 0%;
  z-index: 2;
  opacity: 0;
  mix-blend-mode: screen;
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 var(--poster-reveal), transparent calc(var(--poster-reveal) + 8%), transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0%, #000 var(--poster-reveal), transparent calc(var(--poster-reveal) + 8%), transparent 100%);
  filter: saturate(1.12) brightness(1.1);
  will-change: mask-image, opacity, transform;
}
.zaufanie-scroll.jest-widoczna .zaufanie-scroll__obraz {
  animation: poster-oddech 13s 1s ease-in-out infinite alternate;
}
.zaufanie-scroll.jest-widoczna .zaufanie-scroll__obraz--blask {
  animation:
    poster-odkrycie 4.8s .35s cubic-bezier(.18,.76,.2,1) both,
    poster-oddech 13s 1s ease-in-out infinite alternate;
}
.zaufanie-scroll__cta {
  position: absolute;
  z-index: 4;
  left: 8%;
  right: 8%;
  bottom: 6.1%;
  height: 6.6%;
  border-radius: 18px;
}
.zaufanie-scroll__cta:focus-visible {
  outline: 3px solid var(--kreda);
  outline-offset: 5px;
  box-shadow: 0 0 0 8px rgb(240 167 63 / .35);
}

@keyframes siec-puls { 70%, 100% { box-shadow: 0 0 0 .65rem transparent; } }
@keyframes siec-oddech { from { transform: scale(1.015); } to { transform: scale(1.06); } }
@keyframes etykieta-wejscie { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes strzalka-sieci { 50% { transform: translate(3px, -3px); } }
@keyframes miasto-wejscie {
  from { opacity: 0; transform: translate(-50%, -50%) scale(.1); }
  to { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}
@keyframes glob-zyje {
  from { opacity: .7; filter: saturate(.82) brightness(.8); }
  to { opacity: .8; filter: saturate(.9) brightness(.9); }
}
@keyframes trasa-odkrycie {
  0% { opacity: 0; --trasa-reveal: 0%; }
  12% { opacity: .8; }
  100% { opacity: .74; --trasa-reveal: 100%; }
}
@keyframes punkt-oddech {
  0%, 100% { box-shadow: 0 0 0 .32rem rgb(13 10 17 / .48), 0 0 1.1rem currentColor; filter: brightness(.92); }
  50% { box-shadow: 0 0 0 .45rem rgb(13 10 17 / .25), 0 0 2.2rem currentColor; filter: brightness(1.32); }
}
@keyframes etykieta-trasy { from { opacity: 0; transform: translate(-50%, 6px); } to { opacity: 1; transform: translate(-50%, 0); } }
@keyframes poster-wejscie {
  from { opacity: 0; transform: translateY(44px) scale(.975); }
  to { opacity: 1; transform: none; }
}
@keyframes poster-odkrycie {
  0% { opacity: 0; --poster-reveal: 0%; }
  12% { opacity: .78; }
  100% { opacity: .86; --poster-reveal: 100%; }
}
@keyframes poster-oddech {
  from { transform: scale(1.006) translate3d(0, 0, 0); }
  to { transform: scale(1.025) translate3d(0, -.35%, 0); }
}
@keyframes postep-sieci { from { transform: scaleX(0); } to { transform: scaleX(1); } }

.siec-start,
.paszport { animation: ekran-sieci-wejscie .65s cubic-bezier(.2,.8,.2,1) both; }
.strona-siec.jest-przejscie .siec-start__copy { animation: copy-sieci-wyjscie .32s ease both; }
.strona-siec.jest-przejscie .siec-visual { animation: wizual-sieci-wyjscie .38s cubic-bezier(.25,.8,.2,1) both; }

@keyframes ekran-sieci-wejscie { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes copy-sieci-wyjscie { to { opacity: 0; transform: translateX(-14px); } }
@keyframes wizual-sieci-wyjscie { to { opacity: .3; transform: scale(1.045); filter: blur(2px); } }

@media (max-width: 960px) {
  .siec-start { grid-template-columns: 1fr; min-height: 0; padding-top: 3rem; }
  .siec-start__copy { max-width: 720px; }
  .siec-visual--graf { min-height: 0; width: min(100%, 720px); margin-inline: auto; }
  .tryby-wieczoru { grid-template-columns: 1fr; }
  .paszport__naglowek { grid-template-columns: 1fr; }
  .paszport__intro { margin-left: 0; }
  .paszport__dol { grid-template-columns: 1fr; gap: .4rem; }
  .moja-siec__naglowek { grid-template-columns: 1fr; }
  .moja-siec__naglowek > p { max-width: 62ch; }
  .blisko-start__profile { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .blisko-start__przeplyw { grid-template-columns: repeat(2, 1fr); }
  .blisko-start__przeplyw span { border-bottom: 1px solid rgb(255 255 255 / .07); }
}

@media (max-width: 820px) {
  .pasek {
    flex-wrap: nowrap;
    gap: .75rem;
    min-height: 72px;
    padding: .62rem 1rem;
  }
  .marka { height: 50px; gap: .38rem; }
  .marka__znak { width: 46px; height: 46px; }
  .marka__slowo { font-size: clamp(.98rem, 4.75vw, 1.16rem); }
  .pasek__menu { display: grid; }
  .pasek__prawa {
    position: absolute;
    top: calc(100% + 1px);
    left: 0;
    right: 0;
    width: auto;
    min-width: 0;
    max-width: none;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: .45rem;
    padding: .8rem 1rem 1rem;
    background: color-mix(in srgb, var(--tusz) 99%, #050407);
    border-bottom: 1px solid rgb(255 255 255 / .08);
    box-shadow: 0 24px 45px rgb(0 0 0 / .38);
    backdrop-filter: blur(22px) saturate(1.2);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-8px);
    transition: opacity .18s ease, transform .18s ease, visibility .18s;
  }
  .pasek__prawa.jest-otwarte {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
  }
  .pasek__nav {
    display: contents;
  }
  .pasek__konto {
    display: contents;
  }
  .pasek__link,
  .pasek__profil {
    display: flex;
    align-items: center;
    min-width: 0;
    min-height: 52px;
    padding: .65rem .8rem;
    border: 1px solid var(--kresa);
    border-radius: 12px;
    white-space: normal;
  }
  .pasek__profil { min-width: 0; }
  body:not([data-zalogowany]) .pasek__konto .pasek__profil:last-child {
    grid-column: 1 / -1;
  }
  .pasek__jezyk {
    grid-column: 1 / -1;
    justify-content: center;
    gap: .45rem;
    margin-top: .3rem;
    padding: .55rem 0 0;
    border-left: 0;
    border-top: 1px solid var(--kresa);
  }
  .pasek__flaga { min-height: 42px; padding: .5rem .95rem; border-color: var(--kresa); font-size: var(--ui-small, .875rem); }
  .pasek__flaga img { width: 26px; height: 18px; }
}

@media (max-width: 620px) {
  .siec-start { padding-top: 2.25rem; gap: 1.2rem; }
  .siec-start__naglowek { font-size: clamp(3.05rem, 16vw, 4.5rem); }
  .siec-start__lead { margin-top: 1.15rem; }
  .siec-start__akcje { align-items: flex-start; flex-direction: column; }
  .siec-start__licznik { line-height: 1.45; }
  .tryby-wieczoru > *,
  .tryby-wieczoru .hero__wejscia { min-width: 0; width: 100%; }
  .tryby-wieczoru .hero__wejscia { grid-template-columns: 1fr; }
  .blisko-start { margin-top: 2rem; }
  .blisko-start__naglowek { grid-template-columns: 1fr; gap: .7rem; }
  .blisko-start__profile { display: flex; margin-inline: -1.2rem; padding-inline: 1.2rem; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .blisko-start__profile::-webkit-scrollbar { display: none; }
  .profil-blisko { flex: 0 0 min(77vw, 285px); scroll-snap-align: start; }
  .blisko-start__przeplyw { grid-template-columns: 1fr; }
  .blisko-start__przeplyw span { border-right: 0; }
  .siec-visual--graf { min-height: 0; border-radius: 18px; }
  .paszport { padding-top: 2.3rem; }
  .paszport__tytul { font-size: clamp(2.8rem, 14vw, 4.3rem); }
  .paszport__scena { height: 126vw; max-height: 660px; margin-inline: -.45rem; }
  .glob-3d__etykieta { padding: .19rem .4rem; font-size: var(--ui-small, .875rem); }
  .paszport__scena > img { object-fit: contain; object-position: 50% 100%; }
  .trasa-miast li:nth-child(even) span { bottom: auto; top: 1rem; }
  .trasa-miast li span { font-size: var(--ui-small, .875rem); }
  .paszport__metryka { min-width: 166px; }
  .paszport__metryka strong { font-size: 2.6rem; }
  .paszport__km-demo { right: .72rem; bottom: .72rem; width: 132px; padding: .68rem .72rem; }
  .paszport__km-demo strong { font-size: 1.22rem; }
  .paszport__km-demo p { font-size: var(--ui-small, .875rem); }
  .paszport__km-demo > span { font-size: var(--ui-small, .875rem); }
  .paszport__cta { align-items: flex-start; flex-direction: column; }
  .moja-siec { margin-top: 4.5rem; }
  .moja-siec__naglowek h2 { font-size: clamp(2.65rem, 13vw, 4.2rem); }
  .moja-siec__statystyki { justify-content: space-between; gap: .5rem; }
  .moja-siec__statystyki strong { font-size: 1.45rem; }
  .moja-siec__statystyki span { font-size: var(--ui-small, .875rem); }
  .kregi { margin-inline: -.2rem; padding: .78rem; }
  .kregi__wprowadzenie { grid-template-columns: 1fr; gap: .45rem; }
  .kregi__nawigacja { grid-template-columns: repeat(6, 78px); margin-right: -.78rem; padding-right: .78rem; }
  .kregi__przycisk { min-height: 70px; padding: .58rem; }
  .kregi__przycisk b { font-size: 1.3rem; }
  .kregi__osoby { margin-right: -.78rem; padding-right: .78rem; }
  .moja-siec__plansza { min-height: 0; padding: .7rem; border-radius: 20px; }
  .moja-siec__graf { position: relative; inset: auto; display: block; height: 470px; }
  .moja-siec__szczegoly { position: relative; left: auto; bottom: auto; width: 100%; max-height: none; margin-top: .15rem; overflow: visible; }
  .kregi__monetyzacja { grid-template-columns: 1fr; gap: .35rem; }
  .moja-siec__zablokowana { grid-template-columns: 1fr; min-height: 0; padding-block: 2rem; }
  .moja-siec__teaser { width: min(100%, 320px); margin-inline: auto; }
  .moja-siec__teaser i:nth-child(2) { transform: translate(82px, -54px); }
  .moja-siec__teaser i:nth-child(3) { transform: translate(-88px, 42px); }
  .moja-siec__teaser i:nth-child(4) { transform: translate(54px, 87px); }
  .moja-siec__teaser i:nth-child(5) { transform: translate(-48px, -93px); }
  .moja-siec__teaser i:nth-child(6) { transform: translate(112px, 33px); }
  .moja-siec__teaser i:nth-child(7) { transform: translate(-111px, -28px); }
  .zaufanie-scroll { margin-top: 5rem; }
  .zaufanie-scroll__pasek { align-items: flex-start; }
  .zaufanie-scroll__powtorz { white-space: nowrap; }
  .zaufanie-scroll__poster { border-radius: 22px; }
}

/* ========================================================================
   Mobilna aplikacja: funkcje przed opisami
   ======================================================================== */
.pasek__swataj {
  margin-left: auto;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .55rem 1rem;
  border: 1px solid color-mix(in srgb, var(--bursztyn) 50%, transparent);
  border-radius: 999px;
  color: #17110a;
  background: var(--bursztyn);
  text-decoration: none;
  font-size: var(--ui-small, .875rem);
  font-weight: 700;
  box-shadow: 0 10px 24px -16px var(--bursztyn);
}
.pasek__swataj.jest-aktywny { background: var(--jadeit); border-color: var(--jadeit); }
.mobilna-nawigacja { display: none; }

.strona-aplikacji .stopka { display: none; }
.strona-aplikacji main { min-height: calc(100svh - 80px); }

.app-home,
.swataj-app {
  width: min(760px, 100%);
  margin-inline: auto;
  padding-inline: clamp(1rem, 4vw, 1.5rem);
}
.app-home { padding-top: clamp(1.1rem, 4vw, 2rem); }
.app-home__gora { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.app-home__lokacja {
  display: flex;
  align-items: center;
  gap: .45rem;
  margin: 0 0 .45rem;
  color: var(--jadeit);
  font-size: var(--ui-small, .875rem);
  font-weight: 500;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.app-home__status-dot,
.app-home__lokacja > span:first-child { width: 7px; height: 7px; flex: 0 0 7px; border-radius: 50%; background: var(--jadeit); box-shadow: 0 0 0 4px rgb(32 201 154 / .1); }
.app-home__miasto { width: auto; height: auto; flex: none; border-radius: 0; background: none; box-shadow: none; }
.app-home h1,
.swataj-app__naglowek h1 {
  margin: 0;
  font-size: clamp(2.45rem, 11vw, 4.4rem);
  line-height: .94;
  letter-spacing: -.055em;
  font-weight: 500;
}
.app-home h1 em,
.swataj-app__naglowek h1 em {
  color: var(--bursztyn);
  font-family: "Instrument Serif", serif;
  font-weight: 400;
}
.lokalizacja-szybka {
  flex: none;
  min-height: 42px;
  padding: .55rem .75rem;
  border: 1px solid color-mix(in srgb, var(--jadeit) 38%, transparent);
  border-radius: 999px;
  color: var(--jadeit-jasny);
  background: rgb(13 10 17 / .72);
  font: 500 var(--ui-small, .875rem) var(--tekst);
  cursor: pointer;
}
.lokalizacja-szybka__nota { margin: .7rem 0 0; color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); line-height: 1.45; }

.szybkie-akcje {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .55rem;
  margin-top: 1rem;
}
.szybka-akcja {
  min-width: 0;
  min-height: 70px;
  padding: .75rem;
  border: 1px solid rgb(255 255 255 / .09);
  border-radius: 14px;
  color: var(--kreda);
  background: rgb(25 19 34 / .72);
  text-decoration: none;
  text-align: left;
  font: inherit;
  cursor: pointer;
}
.szybka-akcja--glowna { color: #151009; background: var(--bursztyn); border-color: var(--bursztyn); }
.szybka-akcja strong,
.szybka-akcja span { display: block; }
.szybka-akcja strong { font-size: .88rem; line-height: 1.2; }
.szybka-akcja span { margin-top: .23rem; color: inherit; opacity: .72; font-size: var(--ui-small, .875rem); line-height: 1.35; }

.filtry--aplikacja { width: min(760px, 100%); margin-top: 1.15rem; padding-inline: clamp(1rem, 4vw, 1.5rem); }
.filtry__naglowek { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.filtry__naglowek .filtry__etykieta { margin: 0; color: var(--kreda); font-size: var(--ui-small, .875rem); font-weight: 700; }
.filtry__naglowek .filtry__licznik { margin: .1rem 0 0; color: var(--mgla); font-size: var(--ui-small, .875rem); }
.filtry__naglowek .zwin { margin: 0; text-align: right; }
.filtry__naglowek .zwin[open] { width: 100%; }
.filtry__naglowek:has(.zwin[open]) { align-items: flex-start; flex-wrap: wrap; }
.filtry__naglowek .zwin[open] summary { margin-left: auto; }

/* Pierwszy ekran ma pokazywać zamiar spotkania i tagi bez dodatkowego kliknięcia. */
.filtry-live {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: .9rem;
  padding: .78rem .85rem;
  border: 1px solid color-mix(in srgb, var(--jadeit) 30%, transparent);
  border-radius: 15px;
  background: rgb(32 201 154 / .055);
}
.filtry-live p { margin: 0; }
.filtry-live__kicker {
  display: flex;
  align-items: center;
  gap: .42rem;
  color: var(--jadeit);
  font-size: var(--ui-small, .875rem);
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.filtry-live__kicker span,
.kafel__aktywnosc i {
  width: 7px;
  height: 7px;
  flex: none;
  border-radius: 50%;
  background: var(--jadeit);
  box-shadow: 0 0 0 4px rgb(32 201 154 / .1);
}
.filtry-live__liczba { margin-top: .18rem !important; color: var(--kreda); font-size: .88rem; font-weight: 700; }
.filtry-live__prawdziwe,
.filtry-live__demo { color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); line-height: 1.35; text-align: right; }
.filtry-live__prawdziwe strong { display: block; color: var(--jadeit); font-size: .9rem; }

.filtry-pierwszy-plan { margin-top: .8rem; }
.filtry-pierwszy-plan .filtry__grupa + .filtry__grupa { margin-top: .55rem; }
.filtry--aplikacja .filtry__rzad { margin-inline: -.1rem; padding: 0 .1rem .3rem; scrollbar-width: none; }
.filtry--aplikacja .filtry__rzad::-webkit-scrollbar { display: none; }
.filtry--aplikacja .chip { padding: .38rem .68rem; font-size: var(--ui-small, .875rem); }
.chip__liczba {
  display: inline-grid;
  min-width: 18px;
  height: 18px;
  margin-left: .22rem;
  padding-inline: .24rem;
  place-items: center;
  border-radius: 999px;
  color: inherit;
  background: rgb(255 255 255 / .08);
  font-size: var(--ui-small, .875rem);
  font-variant-numeric: tabular-nums;
}
.chip.jest-aktywny .chip__liczba { background: rgb(12 9 16 / .15); }
.chip--drink { color: var(--bursztyn-jasny); border-color: color-mix(in srgb, var(--bursztyn) 42%, var(--kresa)); }
.chip--drink.jest-aktywny { color: #171008; background: var(--bursztyn); border-color: var(--bursztyn); }
.chip--szukam { color: var(--kreda); border-color: color-mix(in srgb, var(--kreda) 28%, var(--kresa)); }
.chip--szukam.jest-aktywny { color: #07140f; background: var(--jadeit); border-color: var(--jadeit); }
.chip--muzyka { color: var(--lila); border-color: color-mix(in srgb, var(--lila) 42%, var(--kresa)); }
.chip--muzyka.jest-aktywny { color: var(--tusz); background: var(--lila); border-color: var(--lila); }
.chip--vibe { color: var(--jadeit-jasny); border-color: color-mix(in srgb, var(--jadeit) 36%, var(--kresa)); }
.chip--vibe.jest-aktywny { color: #07140f; background: var(--jadeit); border-color: var(--jadeit); }

.filtry-wiecej {
  margin-top: .45rem;
  border-top: 1px solid rgb(255 255 255 / .06);
}
.filtry-wiecej summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .8rem;
  padding: .62rem .1rem .25rem;
  color: var(--mgla);
  font-size: var(--ui-small, .875rem);
  cursor: pointer;
  list-style-position: inside;
}
.filtry-wiecej summary small { color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); }
.filtry-wiecej__srodek { padding-top: .55rem; }
.filtry-aktywne {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .7rem;
  margin-top: .45rem;
  padding: .5rem .65rem;
  border-radius: 11px;
  color: var(--jadeit-jasny);
  background: rgb(32 201 154 / .07);
  font-size: var(--ui-small, .875rem);
}
.filtry-aktywne[hidden] { display: none; }
.filtry-aktywne span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.filtry-aktywne button { flex: none; padding: 0; border: 0; color: var(--bursztyn); background: transparent; font: 600 var(--ui-small, .875rem) var(--tekst); cursor: pointer; }

.siatka--aplikacja {
  width: min(760px, 100%);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
  padding: .8rem clamp(1rem, 4vw, 1.5rem) 7rem;
}
.kafel--aplikacja { display: flex; min-width: 0; flex-direction: column; border-radius: 18px; }
.kafel--aplikacja:hover { transform: none; }
.kafel__otworz {
  min-width: 0;
  display: block;
  flex: 1;
  padding: 0;
  border: 0;
  color: inherit;
  background: transparent;
  text-align: left;
  font: inherit;
  cursor: pointer;
}
.kafel--aplikacja .kafel__awatar { display: grid; width: 100%; aspect-ratio: 4 / 5; }
.kafel--aplikacja .kafel__dol { display: block; padding: .72rem .78rem .5rem; }
.kafel--aplikacja .kafel__imie { display: block; font-size: .88rem; line-height: 1.25; }
.kafel__aktywnosc {
  position: absolute;
  top: .55rem;
  left: .55rem;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: .38rem;
  max-width: calc(100% - 2.4rem);
  padding: .25rem .48rem;
  overflow: hidden;
  border: 1px solid rgb(255 255 255 / .1);
  border-radius: 999px;
  color: var(--kreda);
  background: rgb(13 10 17 / .72);
  backdrop-filter: blur(7px);
  font: 600 var(--ui-small, .875rem) var(--tekst);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.kafel__aktywnosc i { width: 6px; height: 6px; box-shadow: 0 0 0 3px rgb(32 201 154 / .08); }
.kafel__aktywnosc--realna { border-color: color-mix(in srgb, var(--jadeit) 42%, transparent); color: var(--jadeit-jasny); }
.kafel__wybor {
  display: flex;
  align-items: center;
  gap: .25rem;
  margin-top: .18rem;
  overflow: hidden;
  color: var(--mgla);
  font-size: var(--ui-small, .875rem);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.kafel__wybor b { overflow: hidden; color: var(--bursztyn); font-weight: 600; text-overflow: ellipsis; }
.kafel__opis-krotki {
  display: -webkit-box;
  margin-top: .42rem;
  overflow: hidden;
  color: var(--mgla);
  font-size: var(--ui-small, .875rem);
  line-height: 1.45;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.kafel__akcje { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid rgb(255 255 255 / .07); }
.kafel__akcje button {
  min-height: 43px;
  padding: .55rem .3rem;
  border: 0;
  border-right: 1px solid rgb(255 255 255 / .07);
  color: var(--jadeit-jasny);
  background: transparent;
  font: 500 var(--ui-small, .875rem) var(--tekst);
  cursor: pointer;
}
.kafel__akcje button:last-child { border-right: 0; color: var(--bursztyn-jasny); }
.kafel__akcje button.jest-gotowe { color: var(--kreda); background: rgb(32 201 154 / .11); }

.szuflada__panel--akcje { border-radius: 24px 24px 16px 16px; }
.szuflada__akcje--glowne { display: grid; grid-template-columns: 1fr 1fr; }
.szuflada__akcje--glowne .przycisk { width: 100%; min-height: 48px; margin-top: .75rem; padding: .7rem .8rem; text-align: center; }
.szuflada__akcje--glowne #szuflada-spotkanie,
.szuflada__akcje--glowne #szuflada-znajomy,
.szuflada__akcje--glowne #szuflada-polacz { grid-column: 1 / -1; }
.szuflada__wynik { min-height: 1.4em; margin: .9rem 0 0; color: var(--jadeit-jasny); font-size: var(--ui-small, .875rem); }
.tryb-testowy { margin: .75rem 0 0; color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); line-height: 1.45; }

/* Swatka */
.swataj-app { padding-top: clamp(1.3rem, 4vw, 2.3rem); padding-bottom: 8rem; }
.swataj-app__naglowek > p:last-child { margin: .8rem 0 0; color: var(--mgla); font-size: var(--ui-small, .875rem); }
.wybrane-osoby { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: .55rem; margin-top: 1.2rem; }
.wybrana-osoba {
  min-width: 0;
  min-height: 72px;
  display: grid;
  grid-template-columns: 34px 1fr;
  align-items: center;
  gap: .55rem;
  padding: .65rem;
  border: 1px dashed var(--kresa-jasna);
  border-radius: 14px;
  color: var(--mgla-cicha);
  background: rgb(255 255 255 / .025);
}
.wybrana-osoba span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: rgb(255 255 255 / .06); font-size: var(--ui-small, .875rem); }
.wybrana-osoba strong { min-width: 0; overflow: hidden; font-size: var(--ui-small, .875rem); line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.wybrana-osoba.jest-wybrana { color: var(--kreda); border-style: solid; border-color: var(--jadeit); }
.wybrana-osoba.jest-wybrana span { color: #06130f; background: var(--jadeit); }
.wybrane-osoby__lacze { color: var(--bursztyn); font-size: 1.2rem; }
.tryb-testowy--swatka { margin: .65rem 0 0; text-align: center; }

.swataj-lista { display: grid; gap: .55rem; margin-top: 1rem; }
.swataj-osoba {
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) auto;
  align-items: center;
  gap: .7rem;
  padding: .65rem;
  border: 1px solid rgb(255 255 255 / .08);
  border-radius: 15px;
  color: var(--kreda);
  background: rgb(24 18 32 / .78);
  text-align: left;
  font: inherit;
  cursor: pointer;
}
.swataj-osoba[aria-pressed="true"] { border-color: var(--jadeit); background: rgb(32 201 154 / .09); }
.swataj-osoba__awatar { position: relative; width: 58px; height: 66px; display: grid; place-items: center; border-radius: 11px; overflow: hidden; }
.swataj-osoba__awatar i { color: rgb(255 255 255 / .84); font: normal 1.5rem var(--display); }
.swataj-osoba__awatar b { position: absolute; right: .3rem; bottom: .3rem; display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; color: #06130f; background: var(--jadeit); font-size: var(--ui-small, .875rem); }
.swataj-osoba__tresc { min-width: 0; }
.swataj-osoba__tresc strong,
.swataj-osoba__tresc small,
.swataj-osoba__tresc > span { display: block; }
.swataj-osoba__tresc strong { font-size: var(--ui-small, .875rem); }
.swataj-osoba__tresc small { margin-top: .08rem; color: var(--bursztyn); font-size: var(--ui-small, .875rem); }
.swataj-osoba__tresc > span { margin-top: .28rem; overflow: hidden; color: var(--mgla); font-size: var(--ui-small, .875rem); line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.swataj-osoba__wybor { color: var(--jadeit); font-size: var(--ui-small, .875rem); }
.swataj-osoba[aria-pressed="true"] .swataj-osoba__wybor { color: var(--kreda); }
.swataj-app__dalej {
  width: 100%;
  margin-top: .75rem;
  color: #17110a;
  background: var(--bursztyn);
  box-shadow: 0 14px 30px -18px rgb(0 0 0 / .92), 0 0 24px -16px var(--bursztyn);
}
.swataj-app__dalej:disabled { opacity: .45; box-shadow: none; }
.zaproszenie-wspolne,
.swatka-sukces { margin-top: 1.25rem; padding: 1.1rem; border: 1px solid rgb(255 255 255 / .09); border-radius: 18px; background: var(--plyta); }
.zaproszenie-wspolne[hidden], .swatka-sukces[hidden] { display: none; }
.zaproszenie-wspolne__kicker,
.swatka-sukces > p { margin: 0; color: var(--jadeit); font-size: var(--ui-small, .875rem); letter-spacing: .12em; text-transform: uppercase; }
.zaproszenie-wspolne h2,
.swatka-sukces h2 { margin: .45rem 0 1rem; font-size: 1.35rem; line-height: 1.15; }
.zaproszenie-wspolne form { display: grid; gap: .85rem; }
.pola--spotkanie { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
.podglad-zaproszenia { padding: .85rem; border-left: 2px solid var(--bursztyn); border-radius: 0 10px 10px 0; color: var(--mgla); background: rgb(247 199 55 / .05); font-size: var(--ui-small, .875rem); line-height: 1.5; }
.swatka-sukces { border-color: color-mix(in srgb, var(--jadeit) 45%, transparent); }
.swatka-sukces blockquote { margin: 0 0 1rem; color: var(--mgla); font-size: var(--ui-small, .875rem); line-height: 1.55; }

.toast-aplikacji {
  position: fixed;
  left: 50%;
  bottom: 5.6rem;
  z-index: 90;
  width: min(340px, calc(100vw - 2rem));
  padding: .8rem 1rem;
  border: 1px solid color-mix(in srgb, var(--jadeit) 45%, transparent);
  border-radius: 14px;
  color: var(--kreda);
  background: #171220;
  box-shadow: 0 18px 45px rgb(0 0 0 / .62);
  font-size: var(--ui-small, .875rem);
  text-align: center;
  transform: translate(-50%, 14px);
  opacity: 0;
  transition: opacity .2s ease, transform .2s ease;
}
.toast-aplikacji.jest-widoczny { opacity: 1; transform: translate(-50%, 0); }

@media (max-width: 620px) {
  .strona-aplikacji { padding-bottom: calc(66px + env(safe-area-inset-bottom)); }
  .pasek { min-height: 88px; padding: .9rem 1.15rem; gap: .45rem; }
  .marka { height: 58px; gap: .35rem; }
  .marka__znak { width: 54px; height: 54px; }
  .marka__slowo { font-size: 1.3rem; letter-spacing: -.055em; }
  .pasek__swataj { min-height: 42px; padding: .5rem .72rem; font-size: var(--ui-small, .875rem); }
  .pasek__menu { width: 44px; height: 44px; }
  .mobilna-nawigacja {
    position: fixed;
    left: .7rem;
    right: .7rem;
    bottom: max(.6rem, env(safe-area-inset-bottom));
    z-index: 45;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    padding: .35rem;
    border: 1px solid rgb(255 255 255 / .09);
    border-radius: 18px;
    background: rgb(13 10 17 / .94);
    box-shadow: 0 16px 42px rgb(0 0 0 / .6);
    backdrop-filter: blur(20px);
  }
  .mobilna-nawigacja a {
    min-height: 48px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    color: #cbd5e1;
    text-decoration: none;
    font-size: var(--ui-small, .875rem);
    font-weight: 600;
  }
  .mobilna-nawigacja a[aria-current="page"] { color: #0c0a12; background: var(--bursztyn); font-weight: 700; }
  .app-home { padding-top: .95rem; }
  .app-home h1, .swataj-app__naglowek h1 { font-size: clamp(2.55rem, 12vw, 3.25rem); }
  .lokalizacja-szybka { margin-top: .15rem; }
  .szuflada { padding: .55rem; padding-bottom: calc(4.8rem + env(safe-area-inset-bottom)); }
  .szuflada__panel--akcje { padding: 1.15rem; max-height: 78svh; }
}

@media (max-width: 360px) {
  .pasek { padding-inline: .85rem; }
  .marka { gap: .25rem; }
  .marka__slowo { font-size: 1.05rem; }
  .marka__znak { width: 47px; height: 47px; }
  .pasek__swataj { padding-inline: .58rem; }
  .szybka-akcja { padding: .65rem .55rem; }
}

/* ========================================================================
   Miasto żyje: wydarzenia, prywatny postęp swatki i gamifikacja
   ======================================================================== */
.event-live-teaser {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: .8rem;
  margin-top: .75rem;
  padding: .75rem .85rem;
  border: 1px solid color-mix(in srgb, var(--jadeit) 34%, transparent);
  border-radius: 15px;
  color: var(--kreda);
  background: rgb(32 201 154 / .07);
  text-decoration: none;
}
.event-live-teaser > span:first-child { min-width: 0; }
.event-live-teaser small, .event-live-teaser strong { display: block; }
.event-live-teaser small { color: var(--jadeit); font-size: var(--ui-small, .875rem); letter-spacing: .04em; }
.event-live-teaser strong { margin-top: .12rem; overflow: hidden; font-size: var(--ui-small, .875rem); text-overflow: ellipsis; white-space: nowrap; }
.event-live-teaser > span:last-child { min-width: 48px; text-align: center; }
.event-live-teaser > span:last-child b { display: block; font-size: .92rem; }
.event-live-teaser > span:last-child small { color: var(--mgla); letter-spacing: 0; }

.wydarzenia-app,
.misje-app {
  width: min(760px, 100%);
  margin-inline: auto;
  padding: 1.2rem clamp(1rem, 4vw, 1.5rem) 7.5rem;
}
.wydarzenia-app {
  width: 100%;
  margin: 0;
  padding: 0;
}
.wydarzenia-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}
.wydarzenia-hero h1,
.misje-hero h1 {
  margin: 0;
  font-size: clamp(2.45rem, 11vw, 4.4rem);
  line-height: .94;
  letter-spacing: -.055em;
  font-weight: 500;
}
.wydarzenia-hero h1 em,
.misje-hero h1 em { color: var(--bursztyn); font-family: "Instrument Serif", serif; font-weight: 400; }
.wydarzenia-hero__organizuj { flex: none; margin-top: .15rem; color: var(--jadeit-jasny); border-color: color-mix(in srgb, var(--jadeit) 45%, transparent); }

/* Oficjalny katalog wydarzeń z feedu LosAgentOS */
.katalog-eventow { margin-top: 1.25rem; }
.katalog-feed__naglowek { margin-top: 1rem; }
.katalog-eventow__naglowek { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; }
.katalog-eventow__naglowek > div { min-width: 0; }
.katalog-eventow__naglowek h2,
.wydarzenia-lokalne__naglowek h2 { margin: .32rem 0 0; font-size: clamp(2rem, 8vw, 3.4rem); font-weight: 470; line-height: .96; letter-spacing: -.05em; }
.katalog-eventow__naglowek h2 em,
.wydarzenia-lokalne__naglowek h2 em { color: var(--bursztyn); font-family: "Instrument Serif", serif; font-weight: 400; }
.katalog-eventow__naglowek > div > p:last-child { max-width: 58ch; margin: .75rem 0 0; color: var(--mgla); font-size: var(--ui-small, .875rem); line-height: 1.55; }
.katalog-filtry-przycisk { min-height: 42px; flex: none; padding: .55rem .7rem; border: 1px solid var(--bursztyn); border-radius: 13px; color: #151008; background: var(--bursztyn); font: 750 var(--ui-small, .875rem) var(--tekst); cursor: pointer; }
.katalog-filtry-przycisk span { min-width: 20px; height: 20px; display: inline-grid; margin-left: .25rem; place-items: center; border-radius: 50%; color: var(--bursztyn); background: #151008; font-size: var(--ui-small, .875rem); }
.katalog-szukaj { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .42rem; margin-top: 1rem; }
.katalog-szukaj input { width: 100%; min-height: 44px; padding: .65rem .75rem; border: 1px solid rgb(255 255 255 / .1); border-radius: 13px; color: var(--kreda); background: rgb(7 6 10 / .72); font: 500 var(--ui-small, .875rem) var(--tekst); }
.katalog-szukaj button { padding: .6rem .85rem; border: 1px solid color-mix(in srgb, var(--jadeit) 55%, transparent); border-radius: 13px; color: var(--jadeit-jasny); background: rgb(32 201 154 / .08); font: 700 var(--ui-small, .875rem) var(--tekst); cursor: pointer; }
.katalog-skroty { display: flex; gap: .35rem; margin-top: .55rem; overflow-x: auto; scrollbar-width: none; }
.katalog-skroty::-webkit-scrollbar { display: none; }
.katalog-skroty a { min-height: 35px; flex: none; display: grid; place-items: center; padding: .42rem .62rem; border: 1px solid rgb(255 255 255 / .09); border-radius: 999px; color: var(--mgla); background: rgb(255 255 255 / .025); text-decoration: none; font-size: var(--ui-small, .875rem); text-transform: capitalize; }
.katalog-skroty a.jest-aktywny { color: #07130f; border-color: var(--jadeit); background: var(--jadeit); }
.katalog-eventow__stan { display: flex; align-items: center; justify-content: space-between; gap: .8rem; margin-top: .78rem; }
.katalog-eventow__stan p { margin: 0; color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); text-transform: capitalize; }
.katalog-eventow__stan strong { color: var(--kreda); font-size: var(--ui-small, .875rem); }
.katalog-eventow__stan a { color: var(--jadeit); font-size: var(--ui-small, .875rem); text-decoration: none; }
.katalog-eventow__blad { margin: .55rem 0 0; padding: .55rem .65rem; border-left: 2px solid var(--bursztyn); color: var(--bursztyn-jasny); background: rgb(240 167 63 / .06); font-size: var(--ui-small, .875rem); }
.katalog-eventow__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .72rem; margin-top: .7rem; }
.katalog-karta { min-width: 0; display: flex; overflow: hidden; flex-direction: column; border: 1px solid rgb(255 255 255 / .09); border-radius: 18px; background: var(--plyta); box-shadow: var(--swiatlo-gorne); }
.katalog-karta__media { position: relative; width: 100%; aspect-ratio: 4 / 5; display: block; overflow: hidden; background: #15121b; }
.katalog-karta__media::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, rgb(8 7 11 / .72)); pointer-events: none; }
.katalog-karta__media img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .35s ease; }
.katalog-karta:hover .katalog-karta__media img { transform: scale(1.025); }
.katalog-karta__typ,
.katalog-karta__status { position: absolute; z-index: 2; top: .48rem; padding: .27rem .4rem; border: 1px solid rgb(255 255 255 / .14); border-radius: 999px; color: var(--kreda); background: rgb(8 7 11 / .72); backdrop-filter: blur(7px); font-size: var(--ui-small, .875rem); text-transform: uppercase; letter-spacing: .07em; }
.katalog-karta__typ { left: .48rem; }
.katalog-karta__status { right: .48rem; color: var(--jadeit-jasny); }
.katalog-karta__tresc { flex: 1; padding: .68rem .68rem .55rem; }
.katalog-karta__tresc p { margin: 0; color: var(--bursztyn); font-size: var(--ui-small, .875rem); line-height: 1.35; }
.katalog-karta__tresc h3 { display: -webkit-box; margin: .3rem 0 0; overflow: hidden; font-size: var(--ui-small, .875rem); line-height: 1.25; letter-spacing: -.015em; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.katalog-karta__tresc > span { display: block; margin-top: .42rem; overflow: hidden; color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); text-overflow: ellipsis; white-space: nowrap; }
.katalog-karta__akcje { display: grid; grid-template-columns: .72fr 1.28fr; border-top: 1px solid rgb(255 255 255 / .07); }
.katalog-karta__akcje button { min-width: 0; min-height: 42px; padding: .45rem .25rem; border: 0; border-right: 1px solid rgb(255 255 255 / .07); color: var(--jadeit-jasny); background: transparent; font: 700 var(--ui-small, .875rem) var(--tekst); cursor: pointer; }
.katalog-karta__akcje button:last-child { border-right: 0; color: var(--bursztyn-jasny); }
.katalog-karta__akcje button.jest-gotowe { color: #06120f; background: var(--jadeit); }
.katalog-karta__wynik { min-height: 0; margin: 0; padding: 0 .65rem; color: var(--jadeit); font-size: var(--ui-small, .875rem); line-height: 1.4; }
.katalog-karta__wynik:not(:empty) { padding-block: .5rem; border-top: 1px solid rgb(255 255 255 / .07); }
.katalog-eventow__pusto { grid-column: 1 / -1; padding: 1.2rem; border: 1px dashed rgb(255 255 255 / .12); border-radius: 18px; text-align: center; }
.katalog-eventow__pusto strong { font-size: var(--ui-small, .875rem); }
.katalog-eventow__pusto p { color: var(--mgla); font-size: var(--ui-small, .875rem); }
.katalog-eventow__pusto button { padding: .55rem .75rem; border: 1px solid var(--jadeit); border-radius: 999px; color: var(--jadeit); background: transparent; font: 700 var(--ui-small, .875rem) var(--tekst); }
.katalog-wiecej { margin-top: .85rem; text-align: center; }
.katalog-wiecej button { min-height: 42px; padding: .6rem 1rem; border: 1px solid rgb(255 255 255 / .12); border-radius: 999px; color: var(--kreda); background: rgb(255 255 255 / .035); font: 700 var(--ui-small, .875rem) var(--tekst); cursor: pointer; }
.wydarzenia-lokalne__naglowek { margin-top: 1.5rem; padding-top: 1.3rem; border-top: 1px solid rgb(255 255 255 / .08); }
.wydarzenia-spoleczne {
  margin-top: 1rem;
  padding: clamp(.75rem, 2.5vw, 1rem);
  border: 1px solid color-mix(in srgb, var(--jadeit) 28%, transparent);
  border-radius: 22px;
  background: linear-gradient(145deg, rgb(32 201 154 / .075), rgb(13 10 17 / .82) 34%, rgb(247 199 55 / .035));
  box-shadow: var(--swiatlo-gorne), 0 18px 52px rgb(0 0 0 / .2);
}
.strona-wydarzenia .wydarzenia-spoleczne {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.wydarzenia-lokalne__naglowek--priorytet { margin-top: 0; padding-top: 0; border-top: 0; }
.wydarzenia-lokalne__naglowek--priorytet > p:last-child { max-width: 58ch; margin: .65rem 0 0; color: var(--mgla); font-size: var(--ui-small, .875rem); line-height: 1.5; }
.wydarzenia-spoleczne .event-filtry { margin-top: .8rem; }
.wydarzenia-spoleczne .wydarzenia-lokalne-grid { margin-top: .85rem; }
.wydarzenia-spoleczne__pusto {
  grid-column: 1 / -1;
  min-height: 12rem;
  display: grid;
  place-content: center;
  gap: .6rem;
  padding: 2rem 1.25rem;
  border: 1px dashed rgb(255 255 255 / .16);
  border-radius: 22px;
  background: linear-gradient(135deg, rgb(16 14 24 / .92), rgb(13 28 29 / .7));
  text-align: center;
}
.wydarzenia-spoleczne__pusto-kropka {
  width: .7rem;
  height: .7rem;
  margin: 0 auto .2rem;
  border-radius: 50%;
  background: var(--jadeit);
  box-shadow: 0 0 0 .35rem rgb(26 211 166 / .12), 0 0 1.2rem rgb(26 211 166 / .55);
}
.wydarzenia-spoleczne__pusto strong { font-size: 1rem; }
.wydarzenia-spoleczne__pusto p {
  max-width: 32rem;
  margin: 0 auto;
  color: var(--mgla);
  font-size: var(--ui-small, .875rem);
  line-height: 1.55;
}
.wydarzenia-spoleczne__pusto-akcje {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .55rem;
  margin-top: .35rem;
}
.wydarzenia-spoleczne__pusto-akcje a,
.wydarzenia-spoleczne__pusto-akcje button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.45rem;
  padding: .55rem .9rem;
  border: 1px solid var(--jadeit);
  border-radius: 999px;
  color: var(--jadeit);
  background: transparent;
  font: 700 var(--ui-small, .875rem) var(--tekst);
  text-decoration: none;
  cursor: pointer;
}
.wydarzenia-spoleczne__pusto-akcje button {
  border-color: var(--bursztyn);
  color: #171018;
  background: var(--bursztyn);
}
.katalog-feed__naglowek { scroll-margin-top: 150px; }

.katalog-filtry-overlay { position: fixed; z-index: 90; inset: 0; opacity: 0; visibility: hidden; background: rgb(3 3 7 / .72); backdrop-filter: blur(4px); transition: opacity .22s ease, visibility .22s ease; }
.katalog-filtry-overlay.jest-otwarta { opacity: 1; visibility: visible; }
.katalog-filtry-panel { position: fixed; z-index: 91; top: 0; right: 0; width: min(420px, 92vw); height: 100dvh; display: flex; flex-direction: column; border-left: 1px solid rgb(255 255 255 / .1); background: #0d0912; box-shadow: -20px 0 55px rgb(0 0 0 / .42); transform: translateX(102%); transition: transform .25s ease; }
.katalog-filtry-panel.jest-otwarty { transform: translateX(0); }
.katalog-filtry-panel__naglowek { flex: none; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem; border-bottom: 1px solid rgb(255 255 255 / .08); }
.katalog-filtry-panel__naglowek strong,
.katalog-filtry-panel__naglowek span { display: block; }
.katalog-filtry-panel__naglowek strong { font: 500 1.45rem var(--display); }
.katalog-filtry-panel__naglowek span { margin-top: .12rem; color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); }
.katalog-filtry-panel__naglowek button { width: 42px; height: 42px; flex: none; border: 1px solid rgb(255 255 255 / .12); border-radius: 50%; color: var(--kreda); background: rgb(255 255 255 / .035); font: 300 1.5rem/1 var(--tekst); cursor: pointer; }
.katalog-filtry-panel > form { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.katalog-filtry-panel__scroll { flex: 1; min-height: 0; display: grid; align-content: start; gap: .85rem; padding: 1rem; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; }
.katalog-filtry-panel__rzad { min-width: 0; margin: 0; padding: .72rem 0 0; border: 0; border-top: 1px solid rgb(255 255 255 / .07); white-space: nowrap; overflow-x: auto; scrollbar-width: none; }
.katalog-filtry-panel__rzad::-webkit-scrollbar { display: none; }
.katalog-filtry-panel__rzad legend { margin-bottom: .45rem; color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); text-transform: uppercase; letter-spacing: .08em; }
.katalog-filtry-panel__rzad label { position: relative; display: inline-block; margin-right: .3rem; }
.katalog-filtry-panel__rzad input { position: absolute; opacity: 0; }
.katalog-filtry-panel__rzad span { min-height: 36px; display: grid; place-items: center; padding: .42rem .6rem; border: 1px solid rgb(255 255 255 / .1); border-radius: 999px; color: var(--mgla); background: rgb(255 255 255 / .025); font-size: var(--ui-small, .875rem); text-transform: capitalize; }
.katalog-filtry-panel__rzad input:checked + span { color: #06130f; border-color: var(--jadeit); background: var(--jadeit); }
.katalog-filtry-panel__daty { display: grid; grid-template-columns: 1fr 1fr; gap: .55rem; }
.katalog-filtry-panel__stopka { flex: none; display: grid; grid-template-columns: .7fr 1.3fr; gap: .5rem; padding: .75rem 1rem max(.75rem, env(safe-area-inset-bottom)); border-top: 1px solid rgb(255 255 255 / .08); background: #0d0912; }
.katalog-filtry-panel__stopka a,
.katalog-filtry-panel__stopka button { min-height: 46px; display: grid; place-items: center; padding: .6rem; border: 1px solid rgb(255 255 255 / .12); border-radius: 13px; color: var(--mgla); background: transparent; text-decoration: none; font: 700 var(--ui-small, .875rem) var(--tekst); }
.katalog-filtry-panel__stopka button { color: #07130f; border-color: var(--bursztyn); background: var(--bursztyn); cursor: pointer; }
body.ma-otwarte-filtry { overflow: hidden; }

.gra-pasek {
  display: grid;
  grid-template-columns: auto minmax(70px, 1fr) auto;
  align-items: center;
  gap: .75rem;
  margin-top: 1rem;
  padding: .72rem .8rem;
  border: 1px solid rgb(255 255 255 / .09);
  border-radius: 15px;
  color: var(--kreda);
  background: var(--plyta);
  text-decoration: none;
}
.gra-pasek span, .gra-pasek small, .gra-pasek strong { min-width: 0; }
.gra-pasek small, .gra-pasek strong { display: block; }
.gra-pasek small { color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); }
.gra-pasek strong { font-size: var(--ui-small, .875rem); line-height: 1.25; }
.gra-pasek > span:last-child { text-align: right; }
.gra-pasek__postep { height: 5px; overflow: hidden; border-radius: 999px; background: rgb(255 255 255 / .07); }
.gra-pasek__postep i,
.poziom-karta__tor i { display: block; width: var(--postep, 0%); height: 100%; border-radius: inherit; background: var(--jadeit); transition: width .35s ease; }

.event-filtry { display: flex; gap: .45rem; margin-top: .9rem; padding-bottom: .15rem; overflow-x: auto; scrollbar-width: none; }
.event-filtry::-webkit-scrollbar { display: none; }
.event-filtry .chip { flex: none; }
.event-filtry .chip--together { border-color: color-mix(in srgb, var(--jadeit) 46%, transparent); color: var(--jadeit-jasny); }
.event-filtry .chip--together.jest-aktywny { color: #07110f; background: var(--jadeit); }

.organizuj-event {
  margin-top: .9rem;
  padding: 1rem;
  border: 1px solid color-mix(in srgb, var(--bursztyn) 34%, transparent);
  border-radius: 18px;
  background: var(--plyta);
}
.organizuj-event[hidden] { display: none; }
.organizuj-event h2 { margin: .35rem 0 .9rem; font-size: 1.25rem; line-height: 1.2; }
.organizuj-event form { display: grid; gap: .75rem; }
.formularz-wydarzenia__odpowiedz { min-height: 1.25em; margin: 0; color: var(--jadeit); font-size: var(--ui-small, .875rem); }
.szablon-eventu {
  display: grid;
  gap: .12rem;
  padding: .7rem .8rem;
  border-left: 3px solid var(--bursztyn);
  border-radius: 0 12px 12px 0;
  background: rgb(240 167 63 / .07);
}
.szablon-eventu span { color: var(--bursztyn); font-size: var(--ui-small, .875rem); text-transform: uppercase; letter-spacing: .08em; }
.szablon-eventu strong { font-size: var(--ui-small, .875rem); }
.prywatnosc-eventu { display: grid; gap: .45rem; margin: 0; padding: 0; border: 0; }
.prywatnosc-eventu legend { margin-bottom: .4rem; color: var(--mgla); font-size: var(--ui-small, .875rem); text-transform: uppercase; letter-spacing: .08em; }
.prywatnosc-eventu label { position: relative; display: block; cursor: pointer; }
.prywatnosc-eventu input { position: absolute; opacity: 0; }
.prywatnosc-eventu label span { display: grid; gap: .12rem; padding: .68rem .75rem; border: 1px solid rgb(255 255 255 / .09); border-radius: 12px; background: rgb(8 7 11 / .38); }
.prywatnosc-eventu label strong { font-size: var(--ui-small, .875rem); }
.prywatnosc-eventu label small { color: var(--mgla); font-size: var(--ui-small, .875rem); line-height: 1.4; }
.prywatnosc-eventu input:checked + span { border-color: var(--bursztyn); background: rgb(240 167 63 / .07); }
.prywatnosc-eventu input:focus-visible + span { outline: 2px solid var(--jadeit); outline-offset: 2px; }

.event-filtry-wiecej { margin-top: .55rem; padding: .7rem .75rem; border: 1px solid rgb(255 255 255 / .08); border-radius: 15px; background: rgb(255 255 255 / .025); }
.event-filtry-wiecej summary { display: flex; align-items: center; justify-content: space-between; gap: .6rem; color: var(--jadeit); font-size: var(--ui-small, .875rem); cursor: pointer; }
.event-filtry-wiecej summary::marker { content: ""; }
.event-filtry-wiecej summary img { filter: invert(1); opacity: .7; transition: transform .2s ease; }
.event-filtry-wiecej[open] summary img { transform: rotate(180deg); }
.event-filtry-wiecej__grupa { margin-top: .65rem; white-space: nowrap; overflow-x: auto; scrollbar-width: none; }
.event-filtry-wiecej__grupa::-webkit-scrollbar { display: none; }
.event-filtry-wiecej__grupa p { margin: 0 0 .32rem; color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); text-transform: uppercase; letter-spacing: .08em; }
.event-filtry-wiecej__grupa .chip { margin-right: .3rem; }
.event-filtry-daty { white-space: normal; overflow: visible; }
.event-filtry-daty__pola,
.odkrywaj-daty__pola { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .45rem; }
.event-filtry-daty__pola label,
.odkrywaj-daty__pola label { display: grid; gap: .22rem; color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); }
.event-filtry-daty__pola input,
.odkrywaj-daty__pola input {
  width: 100%; min-width: 0; min-height: 38px; padding: .45rem .5rem;
  border: 1px solid rgb(255 255 255 / .1); border-radius: 10px;
  color: var(--kreda); color-scheme: dark; background: rgb(7 6 10 / .72); font: 500 var(--ui-small, .875rem) var(--tekst);
}
.sport-podtyp[hidden] { display: none; }
.event-together-fields { display: grid; gap: .65rem; padding: .75rem; border: 1px solid color-mix(in srgb, var(--jadeit) 30%, transparent); border-radius: 13px; background: rgb(46 203 166 / .055); }
.event-together-fields[hidden] { display: none; }
.event-together-fields p { margin: 0; color: var(--mgla); font-size: var(--ui-small, .875rem); line-height: 1.5; }
.event-together-fields strong { color: var(--jadeit-jasny); }
.event-format { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .45rem; margin: 0; padding: 0; border: 0; }
.event-format legend { grid-column: 1 / -1; margin-bottom: .15rem; color: var(--mgla); font-size: var(--ui-small, .875rem); text-transform: uppercase; letter-spacing: .08em; }
.event-format label { position: relative; min-width: 0; cursor: pointer; }
.event-format input { position: absolute; opacity: 0; }
.event-format span { height: 100%; display: grid; gap: .15rem; padding: .72rem; border: 1px solid rgb(255 255 255 / .09); border-radius: 12px; background: rgb(8 7 11 / .38); }
.event-format b { color: var(--kreda); font-size: var(--ui-small, .875rem); }
.event-format small { color: var(--mgla); font-size: var(--ui-small, .875rem); line-height: 1.35; }
.event-format input:checked + span { border-color: var(--jadeit); background: rgb(32 201 154 / .08); box-shadow: inset 0 0 0 1px rgb(32 201 154 / .12); }
.event-format input:focus-visible + span { outline: 2px solid var(--bursztyn); outline-offset: 2px; }
.event-online-fields { display: grid; gap: .6rem; padding: .78rem; border: 1px solid color-mix(in srgb, var(--jadeit) 34%, transparent); border-radius: 14px; background: rgb(32 201 154 / .055); }
.event-online-fields[hidden] { display: none; }
.event-online-fields p { margin: 0; color: var(--mgla); font-size: var(--ui-small, .875rem); line-height: 1.5; }
.event-online-fields strong { color: var(--jadeit-jasny); }
.event-filtry .chip--online { color: var(--jadeit-jasny); border-color: color-mix(in srgb, var(--jadeit) 46%, transparent); }
.event-filtry .chip--online.jest-aktywny { color: #07110f; background: var(--jadeit); }
.event-online-join.przycisk { grid-column: 1 / -1; color: #06120e; background: var(--jadeit); box-shadow: 0 10px 28px rgb(32 201 154 / .16); }
.event-online-locked { margin: .7rem 0 0; padding: .8rem; border: 1px solid color-mix(in srgb, var(--jadeit) 32%, transparent); border-radius: 13px; color: var(--mgla); background: rgb(32 201 154 / .045); font-size: var(--ui-small, .875rem); line-height: 1.5; }
.event-online-locked strong { color: var(--jadeit-jasny); }
@media (max-width: 620px) {
  .organizuj-event .pola--spotkanie { grid-template-columns: 1fr; }
  .event-format { grid-template-columns: 1fr; }
}

.event-lista { display: grid; gap: .75rem; margin-top: .9rem; }
.event-karta {
  padding: 1rem;
  border: 1px solid rgb(255 255 255 / .09);
  border-radius: 19px;
  background: var(--plyta);
  box-shadow: var(--swiatlo-gorne);
}
.event-karta--live { border-color: color-mix(in srgb, var(--jadeit) 42%, transparent); }
.event-karta__otworz { width: 100%; display: block; padding: 0; border: 0; color: inherit; background: transparent; text-align: left; font: inherit; cursor: pointer; }
.event-karta__top { display: flex; align-items: center; justify-content: space-between; gap: .7rem; }
.event-karta__top p, .event-karta__top > span { margin: 0; color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); }
.event-karta__status { color: var(--jadeit); font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.event-karta h2 { margin: .45rem 0 .12rem; font-size: 1.15rem; line-height: 1.18; letter-spacing: -.02em; }
.event-karta__tytul { display: block; margin: .45rem 0 .12rem; font-size: 1.15rem; line-height: 1.18; letter-spacing: -.02em; }
.event-karta__meta { display: block; margin: 0; color: var(--bursztyn); font-size: var(--ui-small, .875rem); }
.event-karta__opis { display: block; margin: .65rem 0 0; color: var(--mgla); font-size: var(--ui-small, .875rem); line-height: 1.45; }
.event-karta__parametry { display: block; margin-top: .55rem; color: var(--jadeit-jasny); font-size: var(--ui-small, .875rem); }
.event-karta__ludzie { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-top: .8rem; }
.event-awatary { display: flex; padding-left: .25rem; }
.event-awatary span {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  margin-left: -.25rem;
  border: 2px solid var(--noc);
  border-radius: 50%;
  color: var(--kreda);
  font-size: var(--ui-small, .875rem);
  font-weight: 700;
}
.event-karta__ludzie p { margin: 0; color: var(--kreda); font-size: var(--ui-small, .875rem); text-align: right; line-height: 1.25; }
.event-karta__ludzie small { color: var(--mgla-cicha); }
.event-karta__dol { display: flex; align-items: center; justify-content: space-between; gap: .8rem; margin-top: .8rem; padding-top: .75rem; border-top: 1px solid rgb(255 255 255 / .07); }
.event-karta__dol > span { color: var(--mgla); font-size: var(--ui-small, .875rem); }
.event-karta__dol .mini-przycisk { min-width: 88px; color: #07140f; background: var(--jadeit); border-color: var(--jadeit); }
.event-karta__dol [data-zapros-wydarzenie] { color: var(--bursztyn); background: transparent; border-color: color-mix(in srgb, var(--bursztyn) 48%, transparent); }
.event-karta__dol .mini-przycisk:disabled { color: var(--kreda); background: rgb(32 201 154 / .16); opacity: 1; }
.event-karta__wynik { min-height: 0; margin: 0; color: var(--jadeit); font-size: var(--ui-small, .875rem); }
.event-karta__wynik:not(:empty) { margin-top: .65rem; }

/* Wspólna mobilna szuflada profilu i wydarzenia */
.szuflada__uchwyt {
  position: sticky;
  z-index: 6;
  top: 0;
  width: 78px;
  height: 6px;
  display: block;
  margin: -.45rem auto .85rem;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: var(--bursztyn);
  box-shadow: 0 0 18px rgb(240 167 63 / .32);
  cursor: pointer;
}
.szuflada-szczegoly { display: grid; grid-template-columns: 1fr 1fr; gap: .45rem; margin: 1rem 0 0; }
.szuflada-szczegoly > div { min-width: 0; padding: .65rem; border: 1px solid rgb(255 255 255 / .07); border-radius: 12px; background: rgb(255 255 255 / .025); }
.szuflada-szczegoly dt { color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); text-transform: uppercase; letter-spacing: .08em; }
.szuflada-szczegoly dd { margin: .2rem 0 0; overflow-wrap: anywhere; color: var(--kreda); font-size: var(--ui-small, .875rem); line-height: 1.35; }
.szuflada__panel--wydarzenie { width: min(560px, 100%); padding: .8rem; border-radius: 28px 28px 16px 16px; }
.szuflada-wydarzenie__media { position: relative; width: 100%; height: min(30svh, 230px); overflow: hidden; border-radius: 18px; background: #111018; }
.szuflada-wydarzenie__media img { width: 100%; height: 100%; object-fit: cover; }
.szuflada-wydarzenie__media > span { position: absolute; top: .7rem; left: .7rem; padding: .32rem .55rem; border: 1px solid rgb(255 255 255 / .14); border-radius: 999px; color: var(--jadeit-jasny); background: rgb(8 7 11 / .78); font-size: var(--ui-small, .875rem); text-transform: uppercase; letter-spacing: .08em; }
.szuflada-wydarzenie__tresc { padding: .9rem .35rem .35rem; }
.szuflada-wydarzenie__nadtytul { margin: 0; color: var(--bursztyn); font-size: var(--ui-small, .875rem); text-transform: uppercase; letter-spacing: .1em; }
.szuflada-wydarzenie__tresc h2 { margin: .35rem 0 0; font-size: clamp(1.5rem, 7vw, 2.1rem); line-height: 1.03; letter-spacing: -.04em; }
.szuflada-wydarzenie__meta { margin: .45rem 0 0; color: var(--jadeit-jasny); font-size: var(--ui-small, .875rem); }
.szuflada-wydarzenie__opis { margin: .75rem 0 0; color: var(--mgla); font-size: var(--ui-small, .875rem); line-height: 1.55; }
.szuflada-wydarzenie__uczestnicy { display: flex; align-items: center; justify-content: space-between; gap: .7rem; margin-top: .8rem; }
.szuflada-wydarzenie__uczestnicy > p { margin: 0; color: var(--mgla); font-size: var(--ui-small, .875rem); }
.szuflada--wydarzenie .szuflada__zamknij { z-index: 8; top: 1.2rem; right: 1.2rem; width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgb(255 255 255 / .13); border-radius: 50%; color: var(--kreda); background: rgb(8 7 11 / .76); }

/* Pełna karta otwiera się od razu; użytkownik może później schować szczegóły. */
.szuflada-wiecej {
  margin-top: .9rem;
  border-top: 1px solid rgb(255 255 255 / .08);
}
.szuflada-wiecej summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .7rem;
  padding: .8rem .1rem .2rem;
  color: var(--kreda);
  font-size: var(--ui-small, .875rem);
  font-weight: 600;
  cursor: pointer;
}
.szuflada-wiecej summary::marker { content: ""; }
.szuflada-wiecej__srodek { padding-top: .2rem; }
.szuflada-wiecej__etykieta {
  margin: .85rem 0 .4rem;
  color: var(--mgla-cicha);
  font-size: var(--ui-small, .875rem);
  letter-spacing: .09em;
  text-transform: uppercase;
}
.szuflada-galeria {
  display: flex;
  gap: .5rem;
  margin-right: -.25rem;
  padding: 0 .25rem .28rem 0;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.szuflada-galeria::-webkit-scrollbar { display: none; }
.szuflada-galeria img {
  width: min(62vw, 220px);
  aspect-ratio: 4 / 5;
  flex: 0 0 auto;
  object-fit: cover;
  border: 1px solid rgb(255 255 255 / .08);
  border-radius: 14px;
  scroll-snap-align: start;
}
.szuflada-wiecej__link {
  min-height: 44px;
  display: grid;
  margin-top: .8rem;
  place-items: center;
  border: 1px solid rgb(255 255 255 / .12);
  border-radius: 14px;
  color: var(--kreda);
  text-decoration: none;
  font-size: var(--ui-small, .875rem);
  font-weight: 600;
}
.szuflada-wiecej__link--zewnetrzny {
  color: var(--bursztyn-jasny);
  border-color: color-mix(in srgb, var(--bursztyn) 42%, transparent);
  background: color-mix(in srgb, var(--bursztyn) 7%, transparent);
}
.szuflada-wiecej__link[hidden],
.szuflada-wydarzenie__uczestnicy[hidden],
.szuflada__akcje .przycisk[hidden],
.szuflada-qr[hidden],
.tryb-testowy[hidden] { display: none; }
.szuflada-qr {
  display: grid;
  grid-template-columns: 128px minmax(0, 1fr);
  gap: 1rem;
  align-items: center;
  margin-top: 1.35rem;
  padding: .75rem;
  border: 1px solid color-mix(in srgb, var(--jadeit) 32%, transparent);
  border-radius: 18px;
  background: color-mix(in srgb, var(--noc) 90%, var(--jadeit) 10%);
}
.szuflada-qr--wydarzenie { margin-top: 1.55rem; border-color: color-mix(in srgb, var(--bursztyn) 36%, transparent); background: color-mix(in srgb, var(--noc) 91%, var(--bursztyn) 9%); }
.szuflada-qr img { display: block; width: 128px; height: 128px; border-radius: 12px; image-rendering: pixelated; }
.szuflada-qr p { margin: 0; color: var(--jadeit); font-size: var(--ui-small, .875rem); letter-spacing: .1em; text-transform: uppercase; }
.szuflada-qr--wydarzenie p { color: var(--bursztyn); }
.szuflada-qr h3 { margin: .3rem 0 0; font-size: var(--ui-small, .875rem); line-height: 1.2; }
.szuflada-qr span { display: block; margin-top: .4rem; color: var(--mgla); font-size: var(--ui-small, .875rem); line-height: 1.45; }
.szuflada-zaczepki {
  margin-top: .65rem;
  padding: .7rem;
  border: 1px solid color-mix(in srgb, var(--jadeit) 30%, transparent);
  border-radius: 14px;
  background: rgb(32 201 154 / .06);
}
.szuflada-zaczepki[hidden] { display: none; }
.szuflada-zaczepki p { margin: 0 0 .48rem; color: var(--mgla); font-size: var(--ui-small, .875rem); }
.szuflada-zaczepki > div { display: flex; gap: .38rem; overflow-x: auto; scrollbar-width: none; }
.szuflada-zaczepki button {
  min-height: 34px;
  flex: none;
  padding: .38rem .58rem;
  border: 1px solid rgb(255 255 255 / .1);
  border-radius: 999px;
  color: var(--jadeit-jasny);
  background: rgb(9 12 14 / .72);
  font: 600 var(--ui-small, .875rem) var(--tekst);
  cursor: pointer;
}
.szuflada-zaczepki button:disabled { color: var(--kreda); background: rgb(32 201 154 / .14); }
.szuflada--wydarzenie #szuflada-wydarzenie-polacz { grid-column: 1 / -1; }

/* Prywatny rezultat swatki */
.swatka-prywatna {
  margin-top: 1rem;
  padding: .85rem;
  border: 1px solid color-mix(in srgb, var(--jadeit) 36%, transparent);
  border-radius: 17px;
  background: rgb(32 201 154 / .055);
}
.swatka-prywatna__naglowek { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.swatka-prywatna__naglowek p, .swatka-prywatna__naglowek span { margin: 0; font-size: var(--ui-small, .875rem); text-transform: uppercase; letter-spacing: .11em; }
.swatka-prywatna__naglowek p { color: var(--jadeit); }
.swatka-prywatna__naglowek span { color: var(--mgla-cicha); }
.swatka-prywatna__wpis { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: .75rem; margin-top: .75rem; }
.swatka-prywatna__para { display: flex; }
.swatka-prywatna__para span { width: 36px; height: 36px; display: grid; place-items: center; border: 2px solid var(--noc); border-radius: 50%; color: var(--kreda); font-size: var(--ui-small, .875rem); font-weight: 700; }
.swatka-prywatna__para span + span { margin-left: -.42rem; }
.swatka-prywatna__wpis h2 { margin: 0; font-size: var(--ui-small, .875rem); line-height: 1.25; }
.swatka-prywatna__wpis p { margin: .12rem 0 0; color: var(--bursztyn); font-size: var(--ui-small, .875rem); }
.swatka-prywatna__wpis small { display: block; margin-top: .2rem; color: var(--mgla); font-size: var(--ui-small, .875rem); line-height: 1.35; }
.swatka-prywatna__pusto { margin: .7rem 0 0; color: var(--mgla); font-size: var(--ui-small, .875rem); }

/* Misje */
.misje-hero h1 { font-size: clamp(2.2rem, 10vw, 4rem); }
.poziom-karta {
  margin-top: 1rem;
  padding: 1.05rem;
  border: 1px solid color-mix(in srgb, var(--bursztyn) 38%, transparent);
  border-radius: 19px;
  background: var(--plyta);
}
.poziom-karta__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.poziom-karta__top small { color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); }
.poziom-karta__top h2 { margin: .08rem 0 0; font-size: 1.35rem; line-height: 1.15; }
.poziom-karta__top > strong { color: var(--bursztyn); font-size: 1.05rem; }
.poziom-karta__tor { height: 8px; margin-top: .85rem; overflow: hidden; border-radius: 999px; background: rgb(255 255 255 / .07); }
.poziom-karta > p { margin: .55rem 0 0; color: var(--mgla); font-size: var(--ui-small, .875rem); }
.misje-sekcja, .odznaki-sekcja, .historia-gry { margin-top: 1.2rem; }
.misje-sekcja__naglowek { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.misje-sekcja__naglowek p, .odznaki-sekcja > p, .historia-gry > p { margin: 0 0 .65rem; color: var(--kreda); font-size: var(--ui-small, .875rem); font-weight: 700; text-transform: uppercase; letter-spacing: .1em; }
.misje-sekcja__naglowek span { color: var(--jadeit); font-size: var(--ui-small, .875rem); }
.misje-lista { display: grid; gap: .55rem; }
.misja-karta { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .75rem; padding: .8rem; border: 1px solid rgb(255 255 255 / .08); border-radius: 15px; background: var(--plyta); }
.misja-karta.jest-gotowa { border-color: color-mix(in srgb, var(--jadeit) 42%, transparent); background: rgb(32 201 154 / .07); }
.misja-karta__numer { color: var(--jadeit); font-size: var(--ui-small, .875rem); font-variant-numeric: tabular-nums; }
.misja-karta h2 { margin: 0; font-size: var(--ui-small, .875rem); line-height: 1.2; }
.misja-karta p { margin: .12rem 0 0; color: var(--mgla); font-size: var(--ui-small, .875rem); }
.misja-karta small { display: block; margin-top: .15rem; color: var(--bursztyn); font-size: var(--ui-small, .875rem); }
.misja-karta a { min-width: 54px; padding: .42rem .55rem; border: 1px solid var(--kresa-jasna); border-radius: 999px; color: var(--kreda); text-decoration: none; text-align: center; font-size: var(--ui-small, .875rem); }
.misja-karta.jest-gotowa a { color: var(--jadeit); border-color: color-mix(in srgb, var(--jadeit) 45%, transparent); }
.odznaki-lista { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .55rem; }
.odznaki-lista article { min-height: 88px; display: flex; flex-direction: column; justify-content: space-between; padding: .7rem; border: 1px solid rgb(255 255 255 / .07); border-radius: 14px; color: var(--mgla-cicha); background: rgb(255 255 255 / .025); }
.odznaki-lista article.jest-odblokowana { color: var(--kreda); border-color: color-mix(in srgb, var(--bursztyn) 40%, transparent); background: rgb(247 199 55 / .06); }
.odznaki-lista strong { font-size: var(--ui-small, .875rem); line-height: 1.25; }
.odznaki-lista span { font-size: var(--ui-small, .875rem); }
.historia-gry [data-gra-historia] { display: grid; gap: .35rem; color: var(--mgla); font-size: var(--ui-small, .875rem); }
.historia-gry [data-gra-historia] p { display: flex; justify-content: space-between; gap: .8rem; margin: 0; padding: .55rem .65rem; border-radius: 10px; background: rgb(255 255 255 / .03); }
.historia-gry [data-gra-historia] b { color: var(--jadeit); white-space: nowrap; }

@media (max-width: 620px) {
  .mobilna-nawigacja { grid-template-columns: repeat(5, 1fr); }
  .szybkie-akcje { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .szybka-akcja { min-height: 62px; }
  .wydarzenia-hero h1, .misje-hero h1 { font-size: clamp(2.4rem, 11.7vw, 3.15rem); }
  .gra-pasek { grid-template-columns: auto minmax(46px, 1fr) auto; gap: .55rem; }
  .mobilna-nawigacja a { font-size: var(--ui-small, .875rem); }
  .katalog-eventow__naglowek { align-items: flex-start; }
  .katalog-eventow__naglowek h2 { max-width: 12ch; }
  .katalog-eventow__naglowek > div > p:last-child { font-size: var(--ui-small, .875rem); }
  .katalog-filtry-przycisk { margin-top: .1rem; }
  .katalog-eventow__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; }
  .katalog-karta { border-radius: 16px; }
  .katalog-karta__tresc { padding-inline: .58rem; }
  .katalog-karta__tresc h3 { font-size: var(--ui-small, .875rem); }
  .katalog-karta__akcje button { font-size: var(--ui-small, .875rem); }
}

@media (max-width: 360px) {
  .wydarzenia-hero__organizuj { padding-inline: .65rem; }
  .gra-pasek { padding-inline: .68rem; }
  .event-karta { padding: .85rem; }
  .event-karta__opis { -webkit-line-clamp: 2; display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; }
  .misja-karta { gap: .55rem; padding-inline: .65rem; }
  .katalog-eventow__grid { gap: .42rem; }
  .katalog-karta__tresc { padding-inline: .5rem; }
  .katalog-karta__tresc h3 { font-size: var(--ui-small, .875rem); }
  .katalog-karta__akcje { grid-template-columns: 1fr; }
  .katalog-karta__akcje button { border-right: 0; border-bottom: 1px solid rgb(255 255 255 / .07); }
  .katalog-karta__akcje button:last-child { border-bottom: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .siec-kontekst__sygnal, .siec-visual img, .siec-visual__podpis,
  .siec-visual__ruch b, .trasa-miast li, .paszport__tor span {
    animation: none !important;
  }
  .trasa-miast li { opacity: 1; }
  .trasa-miast li span { opacity: 1; }
  .paszport__glob { opacity: .9; filter: none; }
  .paszport__glob--blask { display: none; }
  .paszport__glob-3d { display: none; }
  .paszport__km-tor span { width: 100% !important; }
  .paszport__powtorz { display: none; }
  .zaufanie-scroll__scena { opacity: 1; transform: none; }
  .zaufanie-scroll__obraz { opacity: 1; filter: none; }
  .zaufanie-scroll__obraz--blask, .zaufanie-scroll__powtorz { display: none; }
  .zaufanie-scroll__proces { display: none; }
  .moja-siec__krawedzie line, .moja-siec__wezel, .moja-siec__wezel.jest-na-sciezce .moja-siec__wezel-puls, .moja-siec__teaser i { animation: none !important; }
  .moja-siec__wezel { opacity: 1; }
  .siec-visual, .paszport__scena { transform: none !important; transition: none !important; }
  .siec-start, .paszport, .strona-siec.jest-przejscie * { animation: none !important; }
}

/* ========================================================================
   Odkrywaj: wspólny feed ludzi, znajomych i wydarzeń
   ======================================================================== */
.odkrywaj {
  width: min(760px, 100%);
  margin-inline: auto;
  padding: clamp(1rem, 3vw, 1.65rem) clamp(1rem, 4vw, 1.5rem) 7.5rem;
}
.odkrywaj__hero-gora { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.odkrywaj__hero h1,
.odkrywaj__hero h2 {
  margin: 0;
  font-size: clamp(2.45rem, 10vw, 4.15rem);
  font-weight: 500;
  line-height: .94;
  letter-spacing: -.052em;
}
.odkrywaj__hero h1 em,
.odkrywaj__hero h2 em { color: var(--bursztyn); font-family: "Instrument Serif", serif; font-weight: 400; }
.odkrywaj__intro { max-width: 52ch; margin: .72rem 0 0; color: var(--mgla); font-size: var(--ui-small, .875rem); line-height: 1.48; }
.odkrywaj-mobilebar,
.odkrywaj-mobile-aktywne,
.odkrywaj-mobile-filtry__naglowek,
.odkrywaj-mobile-filtry__stopka,
.odkrywaj-mobile-overlay,
.odkrywaj-szybkie-podfiltry { display: none; }

.wydarzenia-zrodla {
  display: flex;
  align-items: center;
  gap: .35rem;
  margin-top: 1rem;
  padding: .34rem;
  overflow: hidden;
  border: 1px solid rgb(255 255 255 / .1);
  border-radius: 16px;
  background: rgb(13 10 17 / .88);
}
.wydarzenia-zrodla .odkrywaj-mobilebar__rodzaj { min-width: 0; display: flex; gap: .18rem; overflow-x: auto; scrollbar-width: none; }
.wydarzenia-zrodla .odkrywaj-mobilebar__rodzaj::-webkit-scrollbar { display: none; }
.wydarzenia-zrodla a,
.wydarzenia-zrodla button { min-height: 38px; flex: none; display: grid; place-items: center; padding: .45rem .62rem; border: 1px solid transparent; border-radius: 11px; color: var(--mgla); background: transparent; text-decoration: none; font: 650 var(--ui-small, .875rem) var(--tekst); white-space: nowrap; }
.wydarzenia-zrodla .odkrywaj-mobilebar__rodzaj a.jest-aktywny { color: #06130f; background: var(--jadeit); }
.wydarzenia-zrodla .odkrywaj-mobilebar__filtry { margin-left: auto; color: #171008; border-color: var(--bursztyn); background: var(--bursztyn); cursor: pointer; }
.wydarzenia-zrodla .odkrywaj-mobilebar__filtry span { display: inline-grid; min-width: 19px; height: 19px; margin-left: .18rem; place-items: center; border-radius: 50%; color: var(--bursztyn); background: #171008; font-size: var(--ui-small, .875rem); }
.wydarzenia-kategorie { margin-top: .45rem; border-bottom: 1px solid rgb(255 255 255 / .07); }
.wydarzenia-kategorie summary { min-height: 38px; display: flex; align-items: center; justify-content: space-between; gap: .7rem; padding: .42rem .2rem; color: var(--jadeit-jasny); font-size: var(--ui-small, .875rem); cursor: pointer; list-style: none; }
.wydarzenia-kategorie summary::-webkit-details-marker { display: none; }
.wydarzenia-kategorie summary img { flex: none; filter: invert(1); opacity: .72; transition: transform .2s ease; }
.wydarzenia-kategorie[open] summary img { transform: rotate(180deg); }
.wydarzenia-kategorie__rzad,
.odkrywaj-event-kategorie { display: flex; gap: .35rem; padding: .15rem 0 .6rem; overflow-x: auto; scrollbar-width: none; }
.wydarzenia-kategorie__rzad::-webkit-scrollbar,
.odkrywaj-event-kategorie::-webkit-scrollbar { display: none; }
.wydarzenia-kategorie__rzad a,
.odkrywaj-event-kategorie button { min-height: 35px; flex: none; display: grid; place-items: center; padding: .4rem .62rem; border: 1px solid rgb(255 255 255 / .1); border-radius: 999px; color: var(--mgla); background: rgb(255 255 255 / .025); text-decoration: none; font: 600 var(--ui-small, .875rem) var(--tekst); white-space: nowrap; cursor: pointer; }
.wydarzenia-kategorie__rzad a.jest-aktywny,
.odkrywaj-event-kategorie button.jest-aktywny { color: #06130f; border-color: var(--jadeit); background: var(--jadeit); }
.odkrywaj-event-kategorie[hidden] { display: none; }
.odkrywaj-szybkie-podfiltry[hidden],
.odkrywaj-szybkie-podfiltry [data-mobile-secondary-for][hidden] { display: none; }
.odkrywaj.pokazuje-wydarzenia .matchmaker-ai,
.odkrywaj.pokazuje-wydarzenia .odkrywaj-sygnaly { display: none; }

.odkrywaj-filtry {
  margin-top: 1rem;
  padding: .82rem;
  border: 1px solid rgb(255 255 255 / .09);
  border-radius: 19px;
  background: rgb(18 14 24 / .9);
  box-shadow: var(--swiatlo-gorne);
}
.odkrywaj-filtry__naglowek { display: flex; align-items: center; justify-content: space-between; gap: .8rem; }
.odkrywaj-filtry__naglowek p,
.odkrywaj-filtry__naglowek strong { display: block; margin: 0; }
.odkrywaj-filtry__naglowek p { color: var(--jadeit); font-size: var(--ui-small, .875rem); letter-spacing: .1em; text-transform: uppercase; }
.odkrywaj-filtry__naglowek strong { margin-top: .12rem; font-size: var(--ui-small, .875rem); }
.odkrywaj-filtry__naglowek a { flex: none; color: var(--bursztyn); font-size: var(--ui-small, .875rem); font-weight: 700; text-decoration: none; }
.odkrywaj-zainteresowania {
  margin-top: .72rem;
  padding: .72rem;
  border: 1px solid color-mix(in srgb, var(--jadeit) 30%, transparent);
  border-radius: 15px;
  background: linear-gradient(135deg, rgb(32 201 154 / .08), rgb(247 199 55 / .035));
}
.odkrywaj-zainteresowania__gora { display: flex; align-items: flex-start; justify-content: space-between; gap: .8rem; }
.odkrywaj-zainteresowania__gora strong { display: block; max-width: 38ch; color: var(--kreda); font-size: var(--ui-small, .875rem); line-height: 1.38; }
.odkrywaj-zainteresowania__tryb { flex: none; display: flex; gap: .2rem; padding: .2rem; border: 1px solid rgb(255 255 255 / .08); border-radius: 999px; background: rgb(7 6 10 / .58); }
.odkrywaj-zainteresowania__tryb button { min-height: 28px; padding: .28rem .48rem; border: 0; border-radius: 999px; color: var(--mgla-cicha); background: transparent; font: 600 var(--ui-small, .875rem) var(--tekst); cursor: pointer; white-space: nowrap; }
.odkrywaj-zainteresowania__tryb button:hover,
.odkrywaj-zainteresowania__tryb button:focus-visible { color: var(--kreda); outline: none; }
.odkrywaj-zainteresowania__tryb button.jest-aktywny { color: #07120e; background: var(--jadeit); }
.odkrywaj-zainteresowania__lista { margin-top: .58rem; }
.odkrywaj-chip--interest { color: var(--jadeit-jasny); border-color: color-mix(in srgb, var(--jadeit) 30%, transparent); }
.odkrywaj-chip.odkrywaj-chip--interest.jest-aktywny { color: #171008; border-color: var(--bursztyn); background: var(--bursztyn); }
.odkrywaj-filtry__grupa { min-width: 0; margin-top: .6rem; }
.odkrywaj-filtry__grupa--glowna { padding-top: .6rem; border-top: 1px solid rgb(255 255 255 / .06); }
.odkrywaj-filtry__etykieta { margin: 0 0 .3rem; color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); letter-spacing: .09em; text-transform: uppercase; }
.odkrywaj-filtry__rzad { display: flex; gap: .36rem; padding-bottom: .08rem; overflow-x: auto; scrollbar-width: none; }
.odkrywaj-filtry__rzad::-webkit-scrollbar { display: none; }
.odkrywaj-filtry__skroty { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: .55rem; }
.odkrywaj-chip {
  flex: none;
  min-height: 34px;
  padding: .4rem .62rem;
  border: 1px solid rgb(255 255 255 / .1);
  border-radius: 999px;
  color: var(--mgla);
  background: rgb(7 6 10 / .58);
  font: 500 var(--ui-small, .875rem) var(--tekst);
  cursor: pointer;
  white-space: nowrap;
}
.odkrywaj-chip span { display: inline-grid; min-width: 17px; height: 17px; margin-left: .18rem; padding-inline: .2rem; place-items: center; border-radius: 999px; background: rgb(255 255 255 / .08); font-size: var(--ui-small, .875rem); }
.odkrywaj-chip:hover,
.odkrywaj-chip:focus-visible { border-color: var(--jadeit); outline: none; }
.odkrywaj-chip.jest-aktywny { color: #07120e; border-color: var(--jadeit); background: var(--jadeit); }
.odkrywaj-chip--drink { color: var(--bursztyn-jasny); border-color: color-mix(in srgb, var(--bursztyn) 36%, transparent); }
.odkrywaj-chip--drink.jest-aktywny { color: #171008; border-color: var(--bursztyn); background: var(--bursztyn); }
.odkrywaj-chip--live::before { content: ""; width: 5px; height: 5px; display: inline-block; margin-right: .28rem; border-radius: 50%; background: var(--jadeit); box-shadow: 0 0 0 3px rgb(32 201 154 / .1); }
.odkrywaj-chip--live.jest-aktywny::before { background: #07120e; box-shadow: none; }
.odkrywaj-wiecej { margin-top: .55rem; border-top: 1px solid rgb(255 255 255 / .06); }
.odkrywaj-wiecej summary { display: flex; align-items: center; justify-content: space-between; gap: .7rem; padding: .62rem .05rem .12rem; color: var(--kreda); font-size: var(--ui-small, .875rem); cursor: pointer; }
.odkrywaj-wiecej summary small { color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); text-align: right; }
.odkrywaj-wiecej summary::marker { content: ""; }
.odkrywaj-wiecej summary img,
.szuflada-wiecej summary img { flex: none; filter: invert(1); opacity: .72; transition: transform .2s ease; }
.odkrywaj-wiecej[open] summary img,
.szuflada-wiecej[open] summary img { transform: rotate(180deg); }
.odkrywaj-wiecej__srodek { padding-top: .1rem; }
.odkrywaj-romans { display: grid; gap: .55rem; margin-top: .7rem; padding: .72rem; border: 1px solid color-mix(in srgb, var(--bursztyn) 32%, transparent); border-radius: 13px; background: rgb(240 167 63 / .055); }
.odkrywaj-romans[hidden] { display: none; }
.odkrywaj-romans strong { display: block; margin-top: .08rem; font-size: var(--ui-small, .875rem); }
.odkrywaj-romans > p { margin: 0; color: var(--mgla); font-size: var(--ui-small, .875rem); line-height: 1.45; }
.odkrywaj-aktywne { display: flex; align-items: center; justify-content: space-between; gap: .6rem; margin-top: .55rem; padding: .48rem .58rem; border-radius: 10px; color: var(--jadeit-jasny); background: rgb(32 201 154 / .07); font-size: var(--ui-small, .875rem); }
.odkrywaj-aktywne[hidden] { display: none; }
.odkrywaj-aktywne span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.odkrywaj-aktywne button,
.odkrywaj-pusto button { padding: 0; border: 0; color: var(--bursztyn); background: transparent; font: 700 var(--ui-small, .875rem) var(--tekst); cursor: pointer; }

.odkrywaj-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .72rem; margin-top: .82rem; }
.odkrywaj-karta {
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgb(255 255 255 / .09);
  border-radius: 18px;
  background: var(--plyta);
  box-shadow: var(--swiatlo-gorne);
}
.odkrywaj-karta[hidden] { display: none; }
.odkrywaj-karta.jest-live { border-color: color-mix(in srgb, var(--jadeit) 38%, transparent); }
.odkrywaj-karta__otworz { min-width: 0; display: block; flex: 1; padding: 0; border: 0; color: inherit; background: transparent; text-align: left; text-decoration: none; font: inherit; cursor: pointer; }
.odkrywaj-karta__media { position: relative; width: 100%; aspect-ratio: 4 / 5; display: grid; place-items: center; overflow: hidden; background: #12101a; isolation: isolate; }
.odkrywaj-karta__media::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(180deg, rgb(4 5 7 / .14), transparent 43%, rgb(4 5 7 / .78)); }
.odkrywaj-karta__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.odkrywaj-karta--osoba .odkrywaj-karta__media img { object-position: 50% 34%; }
.odkrywaj-karta__media > .inicjal { position: relative; z-index: 1; font-family: var(--display); font-size: 2rem; }
.odkrywaj-karta__typ,
.odkrywaj-karta__status,
.odkrywaj-karta__krag { position: absolute; z-index: 3; border: 1px solid rgb(255 255 255 / .13); border-radius: 999px; background: rgb(8 7 11 / .72); backdrop-filter: blur(8px); }
.odkrywaj-karta__typ { top: .5rem; left: .5rem; padding: .25rem .43rem; color: var(--kreda); font-size: var(--ui-small, .875rem); font-weight: 700; text-transform: uppercase; letter-spacing: .07em; }
.odkrywaj-karta__status { top: .5rem; right: .5rem; padding: .25rem .42rem; color: var(--bursztyn-jasny); font-size: var(--ui-small, .875rem); }
.odkrywaj-karta__status.jest-live { color: var(--jadeit-jasny); border-color: color-mix(in srgb, var(--jadeit) 45%, transparent); }
.odkrywaj-karta__krag { left: .5rem; bottom: .5rem; padding: .28rem .46rem; color: var(--jadeit-jasny); font-size: var(--ui-small, .875rem); }
.odkrywaj-karta__media .odznaka { top: auto; right: .5rem; bottom: .5rem; z-index: 4; }
.odkrywaj-karta__media .odznaka img { display: block; }
.odkrywaj-karta__sygnal-ikona { position: absolute; top: 2.35rem; left: .5rem; z-index: 4; width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; color: #171008; background: var(--bursztyn); box-shadow: 0 5px 14px rgb(0 0 0 / .28); }
.odkrywaj-karta__sygnal-ikona--zaczepka { color: #06130f; background: var(--jadeit); }
.odkrywaj-karta__sygnal-ikona img { display: block; }
.odkrywaj-karta__sygnal {
  width: max-content;
  max-width: 100%;
  min-height: 24px;
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  margin-top: .32rem;
  padding: .27rem .45rem;
  border: 1px solid rgb(255 255 255 / .14);
  border-radius: 999px;
  color: #171008;
  background: var(--bursztyn);
  box-shadow: 0 5px 14px rgb(0 0 0 / .2);
  font-size: var(--ui-small, .875rem);
  font-weight: 750;
  line-height: 1;
}
.odkrywaj-karta__sygnal img { display: block; }
.odkrywaj-karta__sygnal--ai { min-width: 72px; justify-content: center; }
.odkrywaj-karta__sygnal--zaczepka { min-width: 94px; justify-content: center; color: #06130f; border-color: var(--jadeit); background: var(--jadeit); }
.odkrywaj-karta__intencje { display: flex; gap: .28rem; margin-top: .38rem; overflow: hidden; }
.odkrywaj-karta__intencje > span {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  padding: .24rem .34rem;
  overflow: hidden;
  border: 1px solid rgb(255 255 255 / .09);
  border-radius: 999px;
  color: var(--mgla);
  background: rgb(255 255 255 / .035);
  font-size: var(--ui-small, .875rem);
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.odkrywaj-karta__intencje img { width: 12px; height: 12px; flex: none; filter: invert(78%) sepia(75%) saturate(545%) hue-rotate(350deg); }
.odkrywaj-karta__tresc { display: block; padding: .72rem .74rem .62rem; }
.odkrywaj-karta__tytul { display: -webkit-box; overflow: hidden; font-size: .88rem; line-height: 1.22; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.odkrywaj-karta__match { display: block; margin-top: .28rem; overflow: hidden; color: var(--bursztyn-jasny); font-size: var(--ui-small, .875rem); font-weight: 700; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.odkrywaj-karta__match[hidden] { display: none; }
.odkrywaj-karta__hobby { display: block; margin-top: .28rem; overflow: hidden; color: var(--jadeit-jasny); font-size: var(--ui-small, .875rem); line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.odkrywaj-karta__hobby b { color: var(--kreda); font-weight: 650; }
.odkrywaj-karta__hybryda { display: none; align-items: center; gap: .25rem; margin-top: .28rem; color: var(--jadeit-jasny); font-size: var(--ui-small, .875rem); line-height: 1.3; }
.odkrywaj-karta__hybryda b { color: var(--bursztyn-jasny); font-size: var(--ui-small, .875rem); }
.odkrywaj.pokazuje-dla-mnie .odkrywaj-karta__hybryda { display: flex; }
.odkrywaj-chip--dla-mnie { color: var(--jadeit-jasny); border-color: color-mix(in srgb, var(--jadeit) 34%, transparent); }
.odkrywaj-chip.odkrywaj-chip--dla-mnie.jest-aktywny { color: #06130f; border-color: var(--jadeit); background: var(--jadeit); }
.odkrywaj-karta__wybor { display: flex; align-items: center; gap: .23rem; margin-top: .2rem; overflow: hidden; color: var(--mgla); font-size: var(--ui-small, .875rem); text-overflow: ellipsis; white-space: nowrap; }
.odkrywaj-karta__wybor b { overflow: hidden; color: var(--bursztyn); font-weight: 600; text-overflow: ellipsis; }
.odkrywaj-karta__wybor i { color: var(--mgla-cicha); font-style: normal; }
.odkrywaj-karta__meta { display: block; margin-top: .28rem; color: var(--jadeit-jasny); font-size: var(--ui-small, .875rem); line-height: 1.35; }
.odkrywaj-karta__opis { display: -webkit-box; margin-top: .4rem; overflow: hidden; color: var(--mgla); font-size: var(--ui-small, .875rem); line-height: 1.42; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.odkrywaj-karta__uczestnicy { display: block; margin-top: .45rem; color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); }
.odkrywaj-karta__uczestnicy b { color: var(--kreda); }
.odkrywaj-karta__intro { display: block; margin-top: .42rem; padding-top: .38rem; border-top: 1px solid rgb(255 255 255 / .06); color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); }
.odkrywaj-karta__intro b { color: var(--jadeit-jasny); }
.odkrywaj-karta__akcje { display: grid; grid-template-columns: 1fr 1fr; margin-top: auto; border-top: 1px solid rgb(255 255 255 / .07); }
.odkrywaj-karta__akcje button,
.odkrywaj-karta__akcje a { min-height: 42px; display: grid; place-items: center; padding: .5rem .2rem; border: 0; border-right: 1px solid rgb(255 255 255 / .07); color: var(--jadeit-jasny); background: transparent; text-decoration: none; font: 600 var(--ui-small, .875rem) var(--tekst); cursor: pointer; }
.odkrywaj-karta__akcje > :last-child { border-right: 0; color: var(--bursztyn-jasny); }
.odkrywaj-karta__akcje button:disabled { color: var(--kreda); background: rgb(32 201 154 / .12); cursor: default; }
.odkrywaj-karta .event-karta__wynik { padding-inline: .7rem; }
.odkrywaj-karta .event-karta__wynik:not(:empty) { margin: 0; padding-block: .5rem; border-top: 1px solid rgb(255 255 255 / .06); }
.odkrywaj-pusto { margin-top: .85rem; padding: 1.2rem; border: 1px dashed rgb(255 255 255 / .12); border-radius: 17px; color: var(--mgla); text-align: center; }
.odkrywaj-pusto[hidden] { display: none; }
.odkrywaj-pusto strong { color: var(--kreda); }
.odkrywaj-pusto p { margin: .35rem 0 .7rem; font-size: var(--ui-small, .875rem); }
.odkrywaj-pusto__akcje { display: flex; flex-wrap: wrap; justify-content: center; gap: .7rem; }
.odkrywaj-pusto__akcje button { margin: 0; }

.matchmaker-ai {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: .7rem;
  margin-top: .75rem;
  padding: .78rem;
  border: 1px solid color-mix(in srgb, var(--bursztyn) 28%, var(--kresa));
  border-radius: 18px;
  background:
    radial-gradient(circle at 0 0, rgb(240 167 63 / .12), transparent 45%),
    linear-gradient(120deg, rgb(32 201 154 / .055), rgb(255 255 255 / .018));
  box-shadow: var(--swiatlo-gorne);
}
.matchmaker-ai__ikona { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 14px; color: #171008; background: var(--bursztyn); }
.matchmaker-ai__ikona img { width: 22px; height: 22px; }
.matchmaker-ai__tresc > p { display: flex; align-items: center; gap: .4rem; margin: 0; color: var(--bursztyn-jasny); font-size: var(--ui-small, .875rem); font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.matchmaker-ai__tresc > p b { padding: .14rem .28rem; border: 1px solid rgb(255 255 255 / .12); border-radius: 999px; color: var(--mgla); font-size: var(--ui-small, .875rem); }
.matchmaker-ai h2 { margin: .2rem 0 0; font: 500 1.05rem/1.12 var(--display); letter-spacing: -.015em; }
.matchmaker-ai__osoby { display: flex; align-items: center; margin-top: .42rem; }
.matchmaker-ai__osoby > span { display: inline-flex; align-items: center; margin-right: .35rem; color: var(--mgla); font-size: var(--ui-small, .875rem); }
.matchmaker-ai__osoby i { width: 23px; height: 23px; display: grid; place-items: center; margin-right: .18rem; border: 1px solid color-mix(in srgb, var(--jadeit) 55%, transparent); border-radius: 50%; color: var(--jadeit-jasny); background: #11121a; font-style: normal; font-weight: 700; }
.matchmaker-ai__pokaz { min-height: 40px; display: grid; place-items: center; padding: .48rem .62rem; border: 1px solid var(--bursztyn); border-radius: 12px; color: #171008; background: var(--bursztyn); text-decoration: none; font: 700 var(--ui-small, .875rem) var(--tekst); cursor: pointer; }
.matchmaker-ai__pokaz.jest-aktywny { color: var(--bursztyn-jasny); background: transparent; }
.matchmaker-ai details { grid-column: 2 / -1; }
.matchmaker-ai summary { width: max-content; color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); cursor: pointer; }
.matchmaker-ai details p { max-width: 68ch; margin: .35rem 0 0; color: var(--mgla); font-size: var(--ui-small, .875rem); line-height: 1.45; }
.odkrywaj-sygnaly { display: flex; gap: .35rem; margin-top: .48rem; overflow-x: auto; scrollbar-width: none; }
.odkrywaj-sygnaly::-webkit-scrollbar { display: none; }
.odkrywaj-sygnaly button { min-height: 35px; flex: none; display: inline-flex; align-items: center; gap: .32rem; padding: .38rem .52rem; border: 1px solid rgb(255 255 255 / .1); border-radius: 999px; color: var(--mgla); background: rgb(255 255 255 / .025); font: 650 var(--ui-small, .875rem) var(--tekst); cursor: pointer; }
.odkrywaj-sygnaly button img { width: 15px; height: 15px; filter: invert(.78); }
.odkrywaj-sygnaly button b { min-width: 18px; height: 18px; display: inline-grid; place-items: center; margin-left: .08rem; border-radius: 50%; color: #06130f; background: var(--jadeit); font-size: var(--ui-small, .875rem); }
.odkrywaj-sygnaly button.jest-aktywny { color: #171008; border-color: var(--bursztyn); background: var(--bursztyn); }
.odkrywaj-sygnaly button.jest-aktywny img { filter: none; }
.odkrywaj-sygnaly button:disabled { opacity: .42; cursor: not-allowed; }

@media (max-width: 620px) {
  .odkrywaj { padding-top: .9rem; }
  .odkrywaj__hero h1,
  .odkrywaj__hero h2 { font-size: clamp(2.3rem, 10.7vw, 2.9rem); }
  .odkrywaj__intro { max-width: 38ch; }
  .odkrywaj-mobilebar {
    position: sticky;
    top: 88px;
    z-index: 34;
    display: flex;
    align-items: center;
    gap: .28rem;
    margin: .82rem -.15rem 0;
    padding: .34rem;
    overflow-x: auto;
    border: 1px solid rgb(255 255 255 / .1);
    border-radius: 16px;
    background: rgb(13 10 17 / .94);
    box-shadow: 0 12px 30px rgb(0 0 0 / .3);
    backdrop-filter: blur(18px) saturate(1.15);
    scrollbar-width: none;
  }
  .odkrywaj-mobilebar::-webkit-scrollbar { display: none; }
  .odkrywaj-mobilebar__rodzaj { flex: none; display: flex; gap: .16rem; padding: .13rem; border-radius: 12px; background: rgb(255 255 255 / .035); }
  .katalog-mobilebar { overflow: hidden; }
  .katalog-mobilebar .odkrywaj-mobilebar__rodzaj { flex: 1; min-width: 0; overflow-x: auto; scrollbar-width: none; }
  .katalog-mobilebar .odkrywaj-mobilebar__rodzaj::-webkit-scrollbar { display: none; }
  .katalog-mobilebar .odkrywaj-mobilebar__filtry { flex: none; }
  .katalog-feed__naglowek .katalog-filtry-przycisk { display: none; }
  .odkrywaj-mobilebar button,
  .odkrywaj-mobilebar a {
    flex: none;
    min-height: 38px;
    padding: .45rem .58rem;
    border: 1px solid transparent;
    border-radius: 11px;
    color: var(--mgla);
    background: transparent;
    font: 650 var(--ui-small, .875rem) var(--tekst);
    white-space: nowrap;
    cursor: pointer;
    text-decoration: none;
  }
  .odkrywaj-mobilebar__rodzaj button.jest-aktywny,
  .odkrywaj-mobilebar__rodzaj a.jest-aktywny { color: #06130f; background: var(--jadeit); }
  .odkrywaj-mobilebar .odkrywaj-mobilebar__dla-mnie { color: var(--jadeit-jasny); border-color: color-mix(in srgb, var(--jadeit) 32%, transparent); }
  .odkrywaj-mobilebar .odkrywaj-mobilebar__dla-mnie.jest-aktywny { color: var(--kreda); background: color-mix(in srgb, var(--jadeit) 15%, transparent); }
  .odkrywaj-mobilebar .odkrywaj-mobilebar__filtry { color: #171008; border-color: var(--bursztyn); background: var(--bursztyn); }
  .odkrywaj-mobilebar__filtry span { display: inline-grid; min-width: 19px; height: 19px; margin-left: .18rem; place-items: center; border-radius: 999px; color: var(--bursztyn); background: #171008; font-size: var(--ui-small, .875rem); }
  /* Gdy wybierzesz Eventy, drugi rząd jest kontynuacją głównego filtra.
     Przyklejamy go pod nim, żeby typ wydarzenia nie znikał przy scrollowaniu kart. */
  .odkrywaj-event-kategorie {
    position: sticky;
    top: 138px;
    z-index: 33;
    margin: .45rem -.15rem 0;
    padding: .34rem .34rem .55rem;
    border: 1px solid rgb(255 255 255 / .1);
    border-top: 0;
    border-radius: 0 0 16px 16px;
    background: rgb(13 10 17 / .94);
    box-shadow: 0 12px 30px rgb(0 0 0 / .3);
    backdrop-filter: blur(18px) saturate(1.15);
  }
  .odkrywaj-event-kategorie[hidden] { display: none; }
  .wydarzenia-kategorie[open] {
    position: sticky;
    top: 138px;
    z-index: 33;
    margin: .45rem -.15rem 0;
    padding: .15rem .34rem .25rem;
    border: 1px solid rgb(255 255 255 / .1);
    border-top: 0;
    border-radius: 0 0 16px 16px;
    background: rgb(13 10 17 / .94);
    box-shadow: 0 12px 30px rgb(0 0 0 / .3);
    backdrop-filter: blur(18px) saturate(1.15);
  }
  .odkrywaj-szybkie-podfiltry {
    position: sticky;
    top: 138px;
    z-index: 33;
    display: block;
    margin: .45rem -.15rem 0;
    padding: .34rem .34rem .55rem;
    overflow: hidden;
    border: 1px solid rgb(255 255 255 / .1);
    border-top: 0;
    border-radius: 0 0 16px 16px;
    background: rgb(13 10 17 / .94);
    box-shadow: 0 12px 30px rgb(0 0 0 / .3);
    backdrop-filter: blur(18px) saturate(1.15);
  }
  .odkrywaj-szybkie-podfiltry[hidden] { display: none; }
  .odkrywaj-szybkie-podfiltry [data-mobile-secondary-for] {
    display: flex;
    gap: .35rem;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .odkrywaj-szybkie-podfiltry [data-mobile-secondary-for]::-webkit-scrollbar { display: none; }
  .odkrywaj-szybkie-podfiltry [data-mobile-secondary-for][hidden] { display: none; }
  .odkrywaj-szybkie-podfiltry button {
    min-height: 35px;
    flex: none;
    padding: .4rem .62rem;
    border: 1px solid rgb(255 255 255 / .1);
    border-radius: 999px;
    color: var(--mgla);
    background: rgb(255 255 255 / .025);
    font: 600 var(--ui-small, .875rem) var(--tekst);
    white-space: nowrap;
    cursor: pointer;
  }
  .odkrywaj-szybkie-podfiltry button.jest-aktywny {
    color: #06130f;
    border-color: var(--jadeit);
    background: var(--jadeit);
  }
  .odkrywaj-mobile-aktywne {
    display: flex;
    gap: .3rem;
    margin-top: .45rem;
    padding-bottom: .05rem;
    overflow: hidden;
  }
  .odkrywaj-mobile-aktywne[hidden] { display: none; }
  .odkrywaj-mobile-aktywne span { flex: none; max-width: 31%; overflow: hidden; padding: .3rem .48rem; border: 1px solid color-mix(in srgb, var(--jadeit) 25%, transparent); border-radius: 999px; color: var(--jadeit-jasny); background: rgb(32 201 154 / .07); font-size: var(--ui-small, .875rem); text-overflow: ellipsis; white-space: nowrap; }
  .matchmaker-ai { grid-template-columns: auto minmax(0, 1fr); gap: .58rem; margin-top: .55rem; padding: .68rem; }
  .matchmaker-ai__ikona { width: 38px; height: 38px; border-radius: 12px; }
  .matchmaker-ai h2 { font-size: .9rem; }
  .matchmaker-ai__osoby small { display: none; }
  .matchmaker-ai__osoby > span { margin-right: -.12rem; }
  .matchmaker-ai__osoby i { width: 25px; height: 25px; margin: 0; box-shadow: 0 0 0 2px #111018; }
  .matchmaker-ai__pokaz { grid-column: 1 / -1; width: 100%; }
  .matchmaker-ai details { grid-column: 1 / -1; }
  .odkrywaj-sygnaly { margin-top: .42rem; }
  .odkrywaj-sygnaly button { min-height: 36px; }
  .odkrywaj-karta__sygnal { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

  .odkrywaj-mobile-overlay {
    position: fixed;
    inset: 88px 0 0;
    z-index: 70;
    display: block;
    border: 0;
    background: rgb(2 2 5 / .7);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .2s ease, visibility .2s ease;
  }
  .odkrywaj-mobile-overlay.jest-otwarta { opacity: 1; visibility: visible; pointer-events: auto; }
  body.ma-otwarte-filtry { overflow: hidden; }
  .odkrywaj-filtry {
    position: fixed;
    top: 88px;
    bottom: 0;
    left: 0;
    z-index: 72;
    width: min(88vw, 360px);
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
    overflow: hidden;
    overscroll-behavior: contain;
    border-radius: 0 22px 0 0;
    background: rgb(14 10 19 / .985);
    box-shadow: 22px 0 55px rgb(0 0 0 / .55);
    transform: translateX(-105%);
    transition: transform .22s cubic-bezier(.22, .78, .28, 1);
  }
  .odkrywaj-filtry.jest-otwarty { transform: translateX(0); }
  .odkrywaj-mobile-filtry__naglowek {
    flex: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 74px;
    padding: .9rem 1rem .78rem;
    border-bottom: 1px solid rgb(255 255 255 / .08);
  }
  .odkrywaj-mobile-filtry__naglowek strong,
  .odkrywaj-mobile-filtry__naglowek span { display: block; }
  .odkrywaj-mobile-filtry__naglowek strong { font: 500 1.45rem var(--display); letter-spacing: -.025em; }
  .odkrywaj-mobile-filtry__naglowek span { margin-top: .12rem; color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); }
  .odkrywaj-mobile-filtry__naglowek button { width: 42px; height: 42px; display: grid; place-items: center; padding: 0; border: 1px solid rgb(255 255 255 / .11); border-radius: 50%; background: rgb(255 255 255 / .035); cursor: pointer; }
  .odkrywaj-mobile-filtry__naglowek img { filter: invert(1); }
  .odkrywaj-mobile-filtry__scroll { flex: 1; min-height: 0; padding: .85rem; overflow-y: auto; overscroll-behavior: contain; }
  .odkrywaj-mobile-filtry__stopka {
    flex: none;
    display: grid;
    grid-template-columns: .7fr 1.3fr;
    gap: .5rem;
    padding: .72rem .85rem max(.8rem, env(safe-area-inset-bottom));
    border-top: 1px solid rgb(255 255 255 / .08);
    background: rgb(10 8 14 / .98);
  }
  .odkrywaj-mobile-filtry__stopka button { min-height: 46px; padding: .65rem .7rem; border: 1px solid rgb(255 255 255 / .12); border-radius: 13px; color: var(--mgla); background: transparent; font: 700 var(--ui-small, .875rem) var(--tekst); cursor: pointer; }
  .odkrywaj-mobile-filtry__stopka [data-mobile-filter-apply] { color: #171008; border-color: var(--bursztyn); background: var(--bursztyn); }
  .odkrywaj-mobile-filtry__scroll {
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
  }
  .odkrywaj-mobile-filtry__scroll .odkrywaj-filtry__rzad {
    width: 100%;
    max-width: 100%;
    margin-right: 0;
    padding-right: .2rem;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
  }
  .odkrywaj-zainteresowania { margin-inline: -.08rem; padding: .65rem; }
  .odkrywaj-zainteresowania__gora { display: grid; }
  .odkrywaj-zainteresowania__tryb { width: 100%; display: grid; grid-template-columns: repeat(3, 1fr); }
  .odkrywaj-zainteresowania__tryb button { padding-inline: .28rem; }
  .odkrywaj-zainteresowania__lista,
  .odkrywaj-mobile-filtry__scroll .odkrywaj-zainteresowania__lista { margin-right: 0; padding-right: .2rem; }
  .odkrywaj-filtry__skroty { grid-template-columns: 1fr; gap: 0; }
  .event-filtry-daty__pola,
  .odkrywaj-daty__pola { grid-template-columns: 1fr 1fr; }
  .event-filtry-daty__pola label:last-child,
  .odkrywaj-daty__pola label:last-child { grid-column: 1 / -1; }
  .odkrywaj-grid { gap: .62rem; }
}

@media (prefers-reduced-motion: reduce) {
  .odkrywaj-filtry,
  .odkrywaj-mobile-overlay { transition: none; }
}

@media (max-width: 360px) {
  .odkrywaj { padding-inline: .78rem; }
  .odkrywaj__hero h1,
  .odkrywaj__hero h2 { font-size: 2.2rem; }
  .odkrywaj__intro { font-size: var(--ui-small, .875rem); }
  .odkrywaj-chip { min-height: 32px; padding-inline: .52rem; }
  .odkrywaj-grid { gap: .5rem; }
  .odkrywaj-karta__tresc { padding-inline: .62rem; }
}

/* Strona główna prowadzi od realnych spotkań do globalnej sieci, a dopiero
   potem pokazuje mechanikę przedstawienia przez wspólną osobę. */
.siec-start--home {
  min-height: 0;
  grid-template-columns: minmax(0, 1fr);
  padding-bottom: clamp(2.4rem, 5vw, 4.4rem);
}
.siec-start--home::before { inset: 0 8% 0 28%; }
.siec-start--home .siec-start__copy { max-width: 790px; }
.siec-start--home .siec-start__lead { max-width: 56ch; }

.home-feed {
  width: min(980px, 100%);
  margin-inline: auto;
  padding-top: clamp(.8rem, 2vw, 1.4rem);
  border-top: 1px solid var(--kresa);
}
.odkrywaj--home { width: min(820px, 100%); padding-bottom: clamp(2.6rem, 5vw, 4.2rem); }
.odkrywaj__hero--home { padding-top: clamp(.3rem, 1vw, .8rem); }
.odkrywaj__hero--home h2 { max-width: 14ch; }
.odkrywaj--home:not(.jest-dla-ciebie):not(.jest-rozwiniety):not(.ma-aktywne-filtry) [data-feed-karta]:nth-child(n+9) { display: none; }
.odkrywaj-home__wiecej {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1rem;
  padding: .78rem .85rem;
  border: 1px solid rgb(255 255 255 / .08);
  border-radius: 14px;
  background: rgb(255 255 255 / .025);
}
.odkrywaj-home__wiecej button {
  padding: 0 0 .12rem;
  border: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--bursztyn) 48%, transparent);
  border-radius: 0;
  color: var(--bursztyn);
  background: transparent;
  font: 700 var(--ui-small, .875rem) var(--tekst);
  cursor: pointer;
}
.odkrywaj-home__wiecej a { color: var(--jadeit); font-size: var(--ui-small, .875rem); text-decoration: none; }

.home-glob,
.zaufanie-scroll--home {
  width: min(1380px, 100%);
  margin-inline: auto;
  padding-inline: clamp(1.2rem, 5vw, 4rem);
}
.home-glob {
  padding-top: clamp(3.6rem, 8vw, 7rem);
  border-top: 1px solid var(--kresa);
}
.home-rozdzial {
  display: grid;
  grid-template-columns: minmax(280px, 1.1fr) minmax(260px, .9fr);
  column-gap: clamp(2rem, 7vw, 7rem);
  align-items: end;
}
.home-rozdzial .nadtytul { grid-column: 1 / -1; }
.home-rozdzial h2 {
  max-width: 15ch;
  margin: 0;
  font-family: var(--display);
  font-size: clamp(2.8rem, 5.8vw, 5.7rem);
  font-weight: 500;
  line-height: .93;
  letter-spacing: -.05em;
}
.home-rozdzial h2 em { color: var(--jadeit); font-style: normal; }
.home-rozdzial > p:last-child { max-width: 48ch; margin: 0 0 .45rem; color: var(--mgla); font-size: .88rem; line-height: 1.6; }
.home-glob__scena { margin-top: clamp(1.5rem, 3vw, 2.4rem); }
.home-glob__link {
  display: block;
  width: fit-content;
  margin: 1rem 0 0 auto;
  padding-bottom: .15rem;
  border-bottom: 1px solid color-mix(in srgb, var(--jadeit) 45%, transparent);
  color: var(--jadeit);
  text-decoration: none;
  font-size: var(--ui-small, .875rem);
}

.zaufanie-scroll--home { margin-top: clamp(4.5rem, 9vw, 8rem); }
.home-rozdzial--zaufanie { margin-bottom: 2rem; }
.home-rozdzial--zaufanie h2 em { color: var(--bursztyn); }
.zaufanie-scroll__poster--kwadrat { width: min(100%, 760px); aspect-ratio: 1; }
.zaufanie-scroll--home .zaufanie-scroll__obraz {
  object-position: center;
  opacity: 1;
  filter: none;
  animation: none !important;
  transform: none !important;
}
.zaufanie-scroll__proces {
  position: absolute;
  z-index: 3;
  inset: 0;
  display: block;
  pointer-events: none;
}
.zaufanie-scroll__punkt {
  --rgb: 240 167 63;
  position: absolute;
  aspect-ratio: 1;
  border: 1.5px solid rgb(var(--rgb) / .92);
  border-radius: 50%;
  opacity: 0;
  transform: translate(-50%, -50%) scale(.78);
  box-shadow:
    0 0 20px rgb(var(--rgb) / .72),
    0 0 42px rgb(var(--rgb) / .28),
    inset 0 0 18px rgb(var(--rgb) / .18);
}
.zaufanie-scroll__punkt--ty { left: 16.8%; top: 46%; width: 18%; }
.zaufanie-scroll__punkt--lena { left: 49.5%; top: 51.7%; width: 13%; }
.zaufanie-scroll__punkt--nowa {
  --rgb: 69 218 205;
  left: 82.5%;
  top: 46%;
  width: 18%;
}
.zaufanie-scroll__droga {
  --kat: 0deg;
  position: absolute;
  height: 2px;
  border-radius: 999px;
  opacity: 0;
  box-shadow: 0 0 12px rgb(240 167 63 / .7);
  transform: rotate(var(--kat)) scaleX(0);
  transform-origin: 0 50%;
  mix-blend-mode: screen;
}
.zaufanie-scroll__droga::after {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 8px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #fff8df;
  box-shadow: 0 0 8px #fff, 0 0 18px var(--bursztyn);
  opacity: 0;
  transform: translate(-50%, -50%);
}
.zaufanie-scroll__droga--do-leny {
  --kat: 16deg;
  left: 25%;
  top: 46.2%;
  width: 19.2%;
  background: rgb(247 185 82 / .95);
}
.zaufanie-scroll__droga--do-nowej {
  --kat: -17deg;
  left: 55.6%;
  top: 51.6%;
  width: 18.7%;
  background: linear-gradient(90deg, rgb(247 185 82 / .95), rgb(69 218 205 / .95));
  box-shadow: 0 0 12px rgb(69 218 205 / .65);
}
.zaufanie-scroll.jest-widoczna .zaufanie-scroll__punkt--ty { animation: proces-punkt .74s .36s ease-out both; }
.zaufanie-scroll.jest-widoczna .zaufanie-scroll__droga--do-leny { animation: proces-droga .78s .82s cubic-bezier(.2,.82,.22,1) both; }
.zaufanie-scroll.jest-widoczna .zaufanie-scroll__droga--do-leny::after { animation: proces-swiatlo .68s .92s ease-in-out both; }
.zaufanie-scroll.jest-widoczna .zaufanie-scroll__punkt--lena { animation: proces-punkt .74s 1.48s ease-out both; }
.zaufanie-scroll.jest-widoczna .zaufanie-scroll__droga--do-nowej { animation: proces-droga .78s 1.94s cubic-bezier(.2,.82,.22,1) both; }
.zaufanie-scroll.jest-widoczna .zaufanie-scroll__droga--do-nowej::after { animation: proces-swiatlo .68s 2.04s ease-in-out both; }
.zaufanie-scroll.jest-widoczna .zaufanie-scroll__punkt--nowa { animation: proces-punkt .84s 2.56s ease-out both; }
@keyframes proces-punkt {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(.78); }
  48% { opacity: .98; transform: translate(-50%, -50%) scale(1.1); }
  100% { opacity: 0; transform: translate(-50%, -50%) scale(1.28); }
}
@keyframes proces-droga {
  0% { opacity: 0; transform: rotate(var(--kat)) scaleX(0); }
  68% { opacity: .96; }
  100% { opacity: 0; transform: rotate(var(--kat)) scaleX(1); }
}
@keyframes proces-swiatlo {
  0% { left: 0; opacity: 0; }
  16%, 82% { opacity: 1; }
  100% { left: 100%; opacity: 0; }
}

/* Jeden most łączy feed, kręgi i swatkę. Ta sama ścieżka wraca na ekranie
   Blisko i przy wydarzeniach, więc funkcje nie wyglądają jak osobne aplikacje. */
.most-zaufania {
  scroll-margin-top: 6.5rem;
  width: min(1120px, calc(100% - 2rem));
  margin: clamp(3.2rem, 7vw, 6.4rem) auto;
  padding: clamp(1.15rem, 3vw, 2rem);
  border: 1px solid color-mix(in srgb, var(--jadeit) 25%, var(--kresa));
  border-radius: clamp(20px, 3vw, 30px);
  background: color-mix(in srgb, var(--noc) 92%, var(--jadeit) 8%);
  box-shadow: var(--swiatlo-gorne);
}
.most-zaufania__naglowek {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, .85fr);
  column-gap: clamp(1.5rem, 6vw, 5rem);
  align-items: end;
}
.most-zaufania__naglowek .nadtytul { grid-column: 1 / -1; }
.most-zaufania__naglowek h2 {
  margin: 0;
  font-size: clamp(2.7rem, 5.7vw, 5.2rem);
  font-weight: 500;
  line-height: .92;
  letter-spacing: -.052em;
}
.most-zaufania__naglowek h2 em { color: var(--bursztyn); font-family: "Instrument Serif", serif; font-weight: 400; }
.most-zaufania__naglowek > p:last-child { margin: 0 0 .35rem; color: #ffffff; font-size: 1.05rem; line-height: 1.6; }
.most-zaufania__kroki {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .85rem;
  margin: 1.5rem 0 0;
  padding: 0;
  list-style: none;
}
.most-zaufania__kroki a {
  min-height: 136px;
  display: flex;
  flex-direction: column;
  padding: 1.05rem;
  border: 1px solid rgb(255 255 255 / .12);
  border-radius: 16px;
  color: #ffffff;
  background: rgb(5 8 12 / .65);
  text-decoration: none;
  transition: border-color .2s ease, transform .2s ease, background .2s ease;
}
.most-zaufania__kroki small { color: var(--jadeit-jasny); font-size: var(--ui-small, .875rem); letter-spacing: .08em; text-transform: uppercase; font-weight: 700; }
.most-zaufania__kroki strong { margin-top: .55rem; font-size: 1.05rem; line-height: 1.35; font-weight: 700; color: #ffffff; }
.most-zaufania__kroki span { margin-top: auto; padding-top: .8rem; color: #f8fafc; font-size: .9rem; line-height: 1.5; }
.most-zaufania__akcje { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem 1.2rem; margin-top: .65rem; }
.most-zaufania__swataj { margin-top: 1.1rem; color: var(--jadeit-jasny); text-decoration: none; font-size: .95rem; font-weight: 600; }
.most-zaufania--blisko { width: min(760px, calc(100% - 2rem)); margin-top: 0; margin-bottom: 8rem; }
.most-zaufania--eventy { width: 100%; margin: 2rem 0 0; }

.swataj-sciezki {
  display: flex;
  gap: .45rem;
  margin-top: 1rem;
  padding-bottom: .15rem;
  overflow-x: auto;
  scrollbar-width: none;
}
.swataj-sciezki::-webkit-scrollbar { display: none; }
.swataj-sciezki button {
  flex: none;
  padding: .45rem .72rem;
  border: 1px solid rgb(255 255 255 / .09);
  border-radius: 999px;
  color: var(--mgla);
  background: transparent;
  font-family: inherit;
  font-size: var(--ui-small, .875rem);
  cursor: pointer;
}
.swataj-sciezki button.jest-aktywny { color: #07140f; border-color: var(--jadeit); background: var(--jadeit); }
.swataj-panel { margin-top: .75rem; padding: .8rem; border: 1px solid rgb(255 255 255 / .08); border-radius: 16px; background: rgb(255 255 255 / .025); }
.swataj-panel[hidden] { display: none; }
.swataj-panel__intro strong,
.swataj-panel__intro span { display: block; }
.swataj-panel__intro strong { color: var(--kreda); font-size: var(--ui-small, .875rem); }
.swataj-panel__intro span { margin-top: .18rem; color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); line-height: 1.4; }
.swataj-wydarzenia { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem; margin-top: .7rem; }
.swataj-wydarzenie { min-width: 0; min-height: 70px; padding: .62rem; border: 1px solid rgb(255 255 255 / .09); border-radius: 13px; color: var(--mgla); background: rgb(11 9 15 / .72); text-align: left; cursor: pointer; }
.swataj-wydarzenie span,
.swataj-wydarzenie small { display: block; }
.swataj-wydarzenie span { overflow: hidden; color: var(--kreda); font-size: var(--ui-small, .875rem); font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.swataj-wydarzenie small { margin-top: .28rem; color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); line-height: 1.35; }
.swataj-wydarzenie.jest-aktywne { border-color: var(--jadeit); background: rgb(32 201 154 / .09); box-shadow: inset 0 0 0 1px rgb(32 201 154 / .2); }
.swataj-wydarzenie__wybrane { margin: .65rem 0 0; padding: .52rem .6rem; border-radius: 10px; color: var(--jadeit-jasny); background: rgb(32 201 154 / .07); font-size: var(--ui-small, .875rem); }
.swataj-panel__dalej { margin-top: .65rem; padding: .35rem 0; border: 0; color: var(--bursztyn); background: transparent; font: 650 var(--ui-small, .875rem) var(--tekst); cursor: pointer; }
.swataj-panel--skojarzeni { padding: .9rem; }
.skojarzeni-podsumowanie { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .45rem; }
.skojarzeni-podsumowanie > div { min-width: 0; padding: .68rem .55rem; border: 1px solid rgb(255 255 255 / .08); border-radius: 13px; background: rgb(7 12 13 / .6); }
.skojarzeni-podsumowanie span,
.skojarzeni-podsumowanie small { display: block; color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); line-height: 1.3; }
.skojarzeni-podsumowanie strong { display: block; margin: .16rem 0; color: var(--jadeit); font: 350 1.45rem var(--display); }
.skojarzeni-zasady { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem; margin-top: .6rem; }
.skojarzeni-zasady span { padding: .58rem; border-radius: 11px; color: var(--mgla); background: rgb(255 255 255 / .035); font-size: var(--ui-small, .875rem); line-height: 1.4; }
.skojarzeni-zasady b { display: block; margin-bottom: .12rem; color: var(--bursztyn); font-size: var(--ui-small, .875rem); }
.skojarzeni-lista { display: grid; gap: .65rem; margin-top: .7rem; }
.skojarzeni-karta { padding: .75rem; border: 1px solid color-mix(in srgb, var(--jadeit) 34%, var(--kresa)); border-radius: 16px; background: linear-gradient(145deg, rgb(32 201 154 / .055), rgb(246 191 59 / .025)); }
.skojarzeni-karta .swatka-prywatna__wpis { grid-template-columns: auto minmax(0, 1fr) auto; }
.skojarzeni-karta__punkty { align-self: start; padding: .28rem .42rem; border-radius: 999px; color: #06130f; background: var(--bursztyn); font-size: var(--ui-small, .875rem); white-space: nowrap; }
.skojarzeni-postep { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem; margin-top: .7rem; padding-top: .65rem; border-top: 1px solid rgb(255 255 255 / .07); }
.skojarzeni-postep span { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: .38rem; align-items: center; min-width: 0; color: var(--mgla-cicha); }
.skojarzeni-postep i { grid-row: 1 / span 2; width: 23px; height: 23px; display: grid; place-items: center; border: 1px solid rgb(255 255 255 / .12); border-radius: 50%; color: var(--mgla-cicha); font-style: normal; font-size: var(--ui-small, .875rem); }
.skojarzeni-postep b { overflow: hidden; font-size: var(--ui-small, .875rem); font-weight: 650; line-height: 1.2; text-overflow: ellipsis; }
.skojarzeni-postep small { color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); }
.skojarzeni-postep .jest-gotowe { color: var(--jadeit-jasny); }
.skojarzeni-postep .jest-gotowe i { color: #06130f; border-color: var(--jadeit); background: var(--jadeit); }
.skojarzeni-postep .jest-gotowe small { color: var(--bursztyn); }
.skojarzeni-uczciwie { margin: .65rem .1rem 0; color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); line-height: 1.45; }
.skojarzeni-pusto { padding: 1rem; border: 1px dashed rgb(255 255 255 / .12); border-radius: 14px; text-align: center; }
.skojarzeni-pusto strong { color: var(--kreda); font-size: var(--ui-small, .875rem); }
.skojarzeni-pusto p { color: var(--mgla); font-size: var(--ui-small, .875rem); }
.skojarzeni-pusto button { border: 0; color: var(--jadeit); background: transparent; font: 650 var(--ui-small, .875rem) var(--tekst); cursor: pointer; }
.swataj-kontekst {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .15rem .8rem;
  margin-top: .8rem;
  padding: .85rem;
  border: 1px solid color-mix(in srgb, var(--bursztyn) 36%, transparent);
  border-radius: 15px;
  background: rgb(240 167 63 / .06);
}
.swataj-kontekst p, .swataj-kontekst strong, .swataj-kontekst span { margin: 0; }
.swataj-kontekst p { grid-column: 1 / -1; color: var(--bursztyn); font-size: var(--ui-small, .875rem); letter-spacing: .1em; text-transform: uppercase; }
.swataj-kontekst strong { margin-top: .3rem; font-size: var(--ui-small, .875rem); }
.swataj-kontekst span { color: var(--mgla); font-size: var(--ui-small, .875rem); }
.swataj-kontekst a { grid-column: 2; grid-row: 2 / span 2; align-self: center; color: var(--jadeit); text-decoration: none; font-size: var(--ui-small, .875rem); }

@media (max-width: 700px) {
  .siec-start--home { padding-bottom: 2.8rem; }
  .home-feed { padding-top: .5rem; }
  .odkrywaj--home { padding-bottom: 3.2rem; }
  .odkrywaj__hero--home h2 { max-width: 12ch; }
  .odkrywaj-home__wiecej { align-items: flex-start; flex-direction: column; }
  .home-glob,
  .zaufanie-scroll--home { padding-inline: 1rem; }
  .home-rozdzial { grid-template-columns: 1fr; row-gap: .9rem; }
  .home-rozdzial h2 { font-size: clamp(2.65rem, 13vw, 4.2rem); }
  .home-rozdzial > p:last-child { margin: 0; }
  .home-glob__scena { margin-inline: -.25rem; }
  .home-glob__link { margin-left: 0; }
  .home-rozdzial--zaufanie { margin-bottom: 1.2rem; }
  .zaufanie-scroll--home .zaufanie-scroll__pasek { margin-bottom: .8rem; }
  .zaufanie-scroll__droga { height: 1.5px; }
  .zaufanie-scroll__droga::after { width: 6px; }
  .most-zaufania { width: calc(100% - 2rem); padding: 1rem; }
  .most-zaufania__naglowek { grid-template-columns: 1fr; row-gap: .8rem; }
  .most-zaufania__naglowek h2 { font-size: clamp(2.6rem, 12.5vw, 3.65rem); }
  .most-zaufania__naglowek > p:last-child { margin: 0; }
  .most-zaufania__kroki { grid-template-columns: 1fr; gap: .75rem; }
  .most-zaufania__kroki a { min-height: auto; padding: 1rem; border-radius: 14px; }
  .most-zaufania__kroki small { font-size: var(--ui-small, .875rem); }
  .most-zaufania__kroki strong { font-size: 1rem; }
  .most-zaufania__kroki span { font-size: .88rem; color: #f8fafc; }
  .most-zaufania--blisko { margin-bottom: 6.4rem; }
  .most-zaufania--eventy { width: 100%; }
  .event-karta__dol { flex-wrap: wrap; }
  .event-karta__dol > span { width: 100%; }
  .event-karta__dol .mini-przycisk { flex: 1; }
}


/* ---------------------------------------------------------------- globalne wyszukiwanie */
.pasek__szukaj,
.global-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .42rem;
}
.pasek__szukaj {
  width: min(220px, 20vw);
}
.pasek__szukaj label,
.global-search label {
  min-width: 0;
}
.pasek__szukaj input,
.global-search input {
  width: 100%;
  min-width: 0;
  min-height: 42px;
  padding: .65rem .8rem;
  border: 1px solid rgb(255 255 255 / .11);
  border-radius: 13px;
  color: var(--kreda);
  background: rgb(7 6 10 / .78);
  font: 500 var(--ui-small, .875rem) var(--tekst);
  outline: none;
}
.pasek__szukaj input:focus,
.global-search input:focus {
  border-color: color-mix(in srgb, var(--jadeit) 68%, transparent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--jadeit) 12%, transparent);
}
.pasek__szukaj button,
.global-search button {
  min-height: 42px;
  padding: .62rem .82rem;
  border: 1px solid color-mix(in srgb, var(--jadeit) 48%, transparent);
  border-radius: 13px;
  color: #07110f;
  background: var(--jadeit);
  font: 750 var(--ui-small, .875rem) var(--tekst);
  cursor: pointer;
}
.pasek__szukaj button {
  width: 42px;
  overflow: hidden;
  color: transparent;
  position: relative;
}
.pasek__szukaj button::after {
  content: "⌕";
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #07110f;
  font-size: 1.15rem;
}
.global-search--wydarzenia {
  width: min(100%, 690px);
  margin-top: 1.15rem;
}
.wydarzenia-szukaj-blok {
  margin: 0 22px 18px;
  padding: 22px 0;
  border-top: 1px solid rgb(255 255 255 / .08);
  border-bottom: 1px solid rgb(255 255 255 / .08);
}
.wydarzenia-szukaj-blok .global-search--wydarzenia { margin-top: 0; }
.global-search--page {
  width: min(100%, 760px);
  margin-top: 1.5rem;
}
.search-page {
  width: min(1180px, calc(100% - 40px));
  margin-inline: auto;
  padding: clamp(2.5rem, 7vw, 6rem) 0 8rem;
}
.search-page__hero {
  padding-bottom: clamp(2rem, 5vw, 4rem);
  border-bottom: 1px solid var(--kresa);
}
.search-page__hero h1 {
  margin: .7rem 0 0;
  max-width: 14ch;
  color: var(--jadeit);
  font-family: "Helvetica Neue", "Avenir Next", var(--display);
  font-size: var(--tytul-glowny);
  font-weight: 300;
  line-height: .98;
  letter-spacing: -.044em;
}
.search-page__hero h1 em {
  color: var(--bursztyn);
  font-family: var(--pismo);
  font-size: 1.06em;
  font-weight: 400;
}
.search-page__privacy {
  margin: .75rem 0 0;
  color: var(--mgla-cicha);
  font-size: var(--ui-small, .875rem);
}
.search-results {
  display: grid;
  gap: 2.2rem;
  padding-top: 2.2rem;
}
.search-results__section {
  min-width: 0;
  padding: clamp(1rem, 3vw, 1.7rem);
  border: 1px solid color-mix(in srgb, var(--jadeit) 20%, var(--kresa));
  border-radius: 24px;
  background: linear-gradient(145deg, rgb(32 201 154 / .045), rgb(246 191 59 / .025));
}
.search-results__section > header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}
.search-results__section > header div {
  display: flex;
  align-items: baseline;
  gap: .65rem;
}
.search-results__section > header span {
  color: var(--jadeit);
  font: 700 var(--ui-small, .875rem) var(--tekst);
}
.search-results__section h2 {
  margin: 0;
  color: var(--kreda);
  font: 350 clamp(1.5rem, 4vw, 2.2rem) var(--display);
}
.search-results__section > header p {
  margin: 0;
  color: var(--mgla-cicha);
  font-size: var(--ui-small, .875rem);
}
.search-people,
.search-events {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .65rem;
}
.search-person,
.search-event {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: .8rem;
  min-width: 0;
  padding: .72rem;
  border: 1px solid rgb(255 255 255 / .085);
  border-radius: 17px;
  color: var(--kreda);
  background: rgb(8 7 11 / .72);
  text-decoration: none;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.search-person:hover,
.search-event:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--jadeit) 48%, transparent);
  background: rgb(11 15 16 / .9);
}
.search-person__avatar {
  width: 52px;
  height: 64px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  color: #07110f;
  background: linear-gradient(145deg, var(--bursztyn), var(--jadeit));
  font: 650 1.2rem var(--display);
}
.search-person > span:nth-child(2),
.search-event > span {
  display: grid;
  gap: .15rem;
  min-width: 0;
}
.search-person strong,
.search-event strong {
  overflow: hidden;
  font-size: var(--ui-small, .875rem);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.search-person b {
  color: var(--jadeit-jasny);
  font-size: var(--ui-small, .875rem);
  font-weight: 550;
}
.search-person small,
.search-event small {
  overflow: hidden;
  color: var(--mgla-cicha);
  font-size: var(--ui-small, .875rem);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.search-person i,
.search-event i {
  color: var(--bursztyn);
  font-style: normal;
}
.search-event img {
  width: 58px;
  height: 72px;
  border-radius: 11px;
  object-fit: cover;
  background: rgb(255 255 255 / .04);
}
.search-event b {
  color: var(--jadeit);
  font-size: var(--ui-small, .875rem);
  letter-spacing: .1em;
  text-transform: uppercase;
}
.search-results__empty,
.search-page__start {
  grid-column: 1 / -1;
  margin: 0;
  padding: 1.2rem;
  border: 1px dashed rgb(255 255 255 / .12);
  border-radius: 16px;
  color: var(--mgla);
  text-align: center;
}
.search-page__start {
  margin-top: 2rem;
}
.search-page__start strong {
  color: var(--kreda);
}
.search-page__start p {
  margin: .45rem 0 0;
}
.profil-publiczny__nick,
.profil-podglad__nick {
  display: block;
  color: var(--jadeit-jasny);
  font: 550 var(--ui-small, .875rem) var(--tekst);
}
.pole__pomoc {
  display: block;
  margin-top: .35rem;
  color: var(--mgla-cicha);
  font-size: var(--ui-small, .875rem);
  line-height: 1.4;
}

@media (max-width: 1600px) and (min-width: 821px) {
  .pasek__szukaj { display: none; }
}
@media (max-width: 620px) {
  .pasek__szukaj {
    grid-column: 1 / -1;
    width: 100%;
  }
  .pasek__szukaj button {
    width: auto;
    color: #07110f;
  }
  .pasek__szukaj button::after { display: none; }
  .global-search {
    grid-template-columns: minmax(0, 1fr);
  }
  .global-search button { width: 100%; }
  .wydarzenia-szukaj-blok {
    margin-inline: 18px;
    padding-block: 18px;
  }
  .search-page {
    width: min(100% - 30px, 1180px);
    padding-top: 2rem;
  }
  .search-people,
  .search-events {
    grid-template-columns: minmax(0, 1fr);
  }
  .search-results__section > header {
    align-items: start;
    flex-direction: column;
    gap: .2rem;
  }
}


/* ======================================================== czat i event hub */
.sekcja--wiadomosci { padding-bottom: 7rem; }
.sekcja--wiadomosci .szpalta { max-width: 680px; }
.sekcja--wiadomosci .naglowek1 em { color: var(--bursztyn); font-family: var(--display); font-weight: 400; }
.czat-filtry,
.event-guests__filtry {
  display: flex; gap: .45rem; margin-top: 1.2rem; padding-bottom: .15rem;
  overflow-x: auto; scrollbar-width: none;
}
.czat-filtry::-webkit-scrollbar,
.event-guests__filtry::-webkit-scrollbar { display: none; }
.czat-filtry button,
.event-guests__filtry button,
.szybkie-odpowiedzi button {
  flex: none; min-height: 38px; padding: .5rem .78rem;
  border: 1px solid rgb(255 255 255 / .1); border-radius: 999px;
  color: var(--mgla); background: rgb(255 255 255 / .025); font: inherit; font-size: var(--ui-small, .875rem);
}
.czat-filtry button.jest-aktywny,
.event-guests__filtry button.jest-aktywny { color: var(--tusz); border-color: var(--bursztyn); background: var(--bursztyn); }
.tryb-testowy--czat { max-width: 52ch; margin-top: .9rem; }
.lista-rozmow { max-width: 680px; }
.rozmowa-wiersz a { min-height: 76px; }
.rozmowa-wiersz__awatar { overflow: visible; border-radius: 14px; }
.rozmowa-wiersz__awatar--event { width: 54px; height: 54px; overflow: hidden; }
.rozmowa-wiersz__awatar--event img { width: 100%; height: 100%; object-fit: cover; }
.rozmowa-wiersz__awatar--event .kropka-online { z-index: 2; }
.tryb--wydarzenie { color: var(--jadeit); }
.tryb--polecenie { color: var(--bursztyn); }
.tryb--persona_ai { color: var(--jadeit-jasny); }
.rozmowa__demo { flex: none; padding: .34rem .6rem; border: 1px solid var(--bursztyn); border-radius: 999px; color: var(--bursztyn); font-size: var(--ui-small, .875rem); text-transform: uppercase; letter-spacing: .08em; }
.rozmowa__demo--ai { border-color: var(--jadeit); color: var(--jadeit-jasny); }
.odkrywaj-karta__ai-jawnosc{display:inline-flex;width:max-content;max-width:100%;padding:4px 7px;border:1px solid color-mix(in srgb,var(--jadeit) 42%,transparent);border-radius:999px;color:var(--jadeit-jasny);font-size:var(--ui-small, .875rem);font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.szybkie-odpowiedzi { display: flex; gap: .4rem; margin-top: 1rem; overflow-x: auto; scrollbar-width: none; }
.szybkie-odpowiedzi::-webkit-scrollbar { display: none; }
.szybkie-odpowiedzi button { color: var(--jadeit-jasny); border-color: color-mix(in srgb, var(--jadeit) 38%, transparent); cursor: pointer; }
.bombelek__autor { margin: 0 0 .2rem; color: var(--jadeit); font-size: var(--ui-small, .875rem); font-weight: 700; }

.czat-event__naglowek { align-items: flex-start; }
.czat-event__obraz { width: 48px; height: 48px; flex: none; border-radius: 13px; object-fit: cover; }
.czat-event__eyebrow { margin: 0 0 .2rem; color: var(--jadeit); font-size: var(--ui-small, .875rem); text-transform: uppercase; letter-spacing: .1em; }
.czat-event__uczestnicy { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-top: 1rem; padding: .75rem 0; border-block: 1px solid rgb(255 255 255 / .07); }
.czat-event__uczestnicy > span { color: var(--mgla); text-align: right; font-size: var(--ui-small, .875rem); }
.czat-event__blast { margin-top: 1rem; padding: .9rem; border-left: 2px solid var(--bursztyn); border-radius: 0 14px 14px 0; background: rgb(246 191 59 / .055); }
.czat-event__blast span { color: var(--bursztyn); font-size: var(--ui-small, .875rem); text-transform: uppercase; letter-spacing: .1em; }
.czat-event__blast p { margin: .35rem 0 0; color: var(--mgla); font-size: var(--ui-small, .875rem); line-height: 1.45; }
.watek--event { max-height: 48svh; min-height: 280px; }

.event-detail { width: min(760px, calc(100% - 2rem)); margin: 0 auto; padding: 1.2rem 0 7rem; }
.event-detail__powrot { display: inline-block; margin-bottom: 1rem; color: var(--mgla); text-decoration: none; font-size: var(--ui-small, .875rem); }
.event-detail__hero { position: relative; height: min(62svh, 560px); overflow: hidden; border-radius: 26px; background: var(--noc); }
.event-detail__hero::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, rgb(8 7 11 / .8)); pointer-events: none; }
.event-detail__hero img { width: 100%; height: 100%; object-fit: cover; }
.event-detail__hero-meta { position: absolute; z-index: 2; inset: .85rem .85rem auto; display: flex; justify-content: space-between; gap: .7rem; }
.event-detail__hero-meta span { padding: .36rem .58rem; border: 1px solid rgb(255 255 255 / .15); border-radius: 999px; color: var(--kreda); background: rgb(8 7 11 / .72); font-size: var(--ui-small, .875rem); text-transform: uppercase; letter-spacing: .07em; }
.event-detail__intro { padding: 1.4rem .25rem 0; }
.event-detail__intro h1 { max-width: 12ch; margin: .4rem 0 0; font-size: clamp(2.45rem, 10vw, 5.2rem); line-height: .94; letter-spacing: -.055em; }
.event-detail__intro > p:last-child { max-width: 58ch; color: var(--mgla); line-height: 1.55; }
.event-detail__kiedy { color: var(--jadeit) !important; font-size: var(--ui-small, .875rem); }
.event-detail__alert { padding: .75rem; border: 1px solid var(--bursztyn); border-radius: 12px; color: var(--bursztyn) !important; }
.event-detail__akcje { display: grid; grid-template-columns: 1fr 1fr; gap: .55rem; margin-top: 1.25rem; }
.event-detail__akcje .przycisk { width: 100%; min-height: 48px; margin: 0; padding: .75rem; text-align: center; }
.event-detail__invite { display: grid; gap: .2rem; margin-bottom: .85rem; padding: .75rem .8rem; border-left: 3px solid var(--bursztyn); border-radius: 0 12px 12px 0; background: rgb(240 167 63 / .08); }
.event-detail__invite strong { color: var(--bursztyn-jasny); font-size: var(--ui-small, .875rem); }
.event-detail__invite span { color: var(--mgla); font-size: var(--ui-small, .875rem); line-height: 1.45; }
.event-blast,
.event-guests,
.event-ticket { margin-top: 1.2rem; padding: 1.15rem; border: 1px solid rgb(255 255 255 / .08); border-radius: 22px; background: rgb(255 255 255 / .025); }
.event-blast { border-color: color-mix(in srgb, var(--bursztyn) 28%, transparent); background: rgb(246 191 59 / .045); }
.event-blast h2,
.event-section-head h2 { margin: .25rem 0 0; font-size: clamp(1.45rem, 6vw, 2.3rem); line-height: 1; }
.event-blast > p { color: var(--mgla); font-size: var(--ui-small, .875rem); line-height: 1.5; }
.event-blast__wynik { min-height: 1.2em; margin: .6rem 0 0; color: var(--jadeit); font-size: var(--ui-small, .875rem); }
.event-section-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; }
.event-section-head > span { color: var(--jadeit); font-size: var(--ui-small, .875rem); text-align: right; }
.event-guests__lista { list-style: none; margin: 1rem 0 0; padding: 0; }
.event-guests__lista li { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; gap: .7rem; align-items: center; min-height: 66px; padding: .65rem 0; border-top: 1px solid rgb(255 255 255 / .07); }
.event-guests__lista li[hidden] { display: none; }
.event-guests__awatar { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; color: var(--kreda); }
.event-guests__lista strong,
.event-guests__lista small { display: block; }
.event-guests__lista strong { font-size: var(--ui-small, .875rem); }
.event-guests__lista small { margin-top: .18rem; color: var(--mgla); font-size: var(--ui-small, .875rem); }
.event-guests__status { justify-self: end; padding: .3rem .45rem; border-radius: 999px; color: var(--mgla); background: rgb(255 255 255 / .04); font-size: var(--ui-small, .875rem); }
.event-guests__status--idzie,
.event-guests__status--check-in { color: var(--jadeit); background: rgb(79 195 169 / .08); }
.event-guests__status--oczekuje,
.event-guests__status--waitlista { color: var(--bursztyn); background: rgb(246 191 59 / .08); }
.event-guests__lista button { grid-column: 3; padding: .35rem .5rem; border: 1px solid var(--jadeit); border-radius: 999px; color: var(--jadeit); background: transparent; font: inherit; font-size: var(--ui-small, .875rem); }
.event-ticket__grid { display: grid; grid-template-columns: 1fr; gap: 1.2rem; margin-top: 1rem; }
.event-ticket__separator { width: 100%; height: 1px; margin-block: .25rem; background: rgb(255 255 255 / .08); }
.event-ticket__personal { display: grid; gap: .7rem; }
.event-ticket__personal > p { margin: 0; }
.event-ticket__personal > h3 { margin: -.35rem 0 0; font-size: 1.25rem; }
.event-ticket__locked { display: grid; align-content: center; gap: .65rem; min-height: 220px; padding: 1.2rem; border: 1px dashed rgb(246 191 59 / .45); border-radius: 18px; background: linear-gradient(145deg, rgb(246 191 59 / .08), rgb(45 211 177 / .04)); }
.event-ticket__locked strong { max-width: 20ch; font-family: var(--display); font-size: 1.18rem; line-height: 1.05; }
.event-ticket__locked p { margin: 0; color: var(--tekst-cichy); font-size: var(--ui-small, .875rem); line-height: 1.55; }
.event-ticket__locked .mini-przycisk { justify-self: start; }
.event-ticket__qr,
.event-ticket__share { overflow: hidden; border-radius: 18px; background: var(--bursztyn); }
.event-ticket__qr > img,
.event-ticket__share > img { display: block; width: 100%; height: auto; image-rendering: pixelated; }
.event-ticket__qr > p { margin: 0; padding: .8rem; color: #07131c; }
.event-ticket__qr strong,
.event-ticket__qr span { display: block; overflow-wrap: anywhere; }
.event-ticket__qr strong { font-family: ui-monospace, monospace; font-size: var(--ui-small, .875rem); }
.event-ticket__qr span { margin-top: .2rem; font-size: var(--ui-small, .875rem); }
.event-ticket__share { align-self: start; display: grid; grid-template-columns: minmax(150px, .72fr) minmax(0, 1.28fr); background: color-mix(in srgb, var(--jadeit) 82%, white); }
.event-ticket__share > img { align-self: stretch; height: 100%; object-fit: cover; }
.event-ticket__share > div { padding: .8rem; color: #07131c; }
.event-ticket__share strong { font-size: .92rem; line-height: 1.2; }
.event-ticket__share p { margin: .3rem 0 0; font-size: var(--ui-small, .875rem); line-height: 1.4; }
.event-short-link { margin-top: .7rem; padding: 0; }
.event-short-link code { display: block; max-width: 100%; padding: .48rem .55rem; overflow: hidden; border-radius: 9px; color: #07131c; background: rgb(255 255 255 / .38); font: 700 var(--ui-small, .875rem) ui-monospace, monospace; text-overflow: ellipsis; white-space: nowrap; }
.event-short-link > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .35rem; margin-top: .4rem; padding: 0; }
.event-short-link button { min-height: 34px; padding: .4rem .45rem; border: 1px solid rgb(7 19 28 / .24); border-radius: 9px; color: #07131c; background: transparent; font: 700 var(--ui-small, .875rem) var(--tekst); cursor: pointer; }
.event-short-link button:first-child { background: #07131c; color: var(--kreda); }
.event-short-link small { display: block; margin-top: .45rem; color: rgb(7 19 28 / .68); font-size: var(--ui-small, .875rem); line-height: 1.35; }
.event-short-link small b { color: #07131c; }

.checkin { width: min(520px, calc(100% - 2rem)); margin: 0 auto; padding: clamp(2rem, 8vw, 5rem) 0 8rem; }
.checkin h1 { margin: .4rem 0 0; font-size: clamp(2.5rem, 11vw, 4.5rem); line-height: .95; }
.checkin__event { display: flex; align-items: center; gap: .85rem; margin-top: 1.5rem; padding: .8rem; border: 1px solid rgb(255 255 255 / .08); border-radius: 18px; background: rgb(255 255 255 / .03); }
.checkin__event img { width: 64px; height: 64px; border-radius: 13px; object-fit: cover; }
.checkin__event strong,
.checkin__event span { display: block; }
.checkin__event span { margin-top: .25rem; color: var(--mgla); font-size: var(--ui-small, .875rem); }
.checkin__status { display: flex; gap: .85rem; margin-top: 1rem; padding: 1rem; border: 1px solid var(--jadeit); border-radius: 18px; background: rgb(79 195 169 / .06); }
.checkin__status > span { width: 42px; height: 42px; flex: none; display: grid; place-items: center; border-radius: 50%; color: var(--tusz); background: var(--jadeit); font-weight: 700; }
.checkin__status p { margin: .25rem 0 0; color: var(--mgla); font-size: var(--ui-small, .875rem); line-height: 1.45; }
.checkin code { display: block; margin-top: 1rem; padding: .7rem; overflow-wrap: anywhere; border-radius: 12px; color: var(--bursztyn); background: rgb(255 255 255 / .035); font-size: var(--ui-small, .875rem); }
.checkin .przycisk { width: 100%; margin-top: 1rem; }
.checkin__wynik { min-height: 1.4em; color: var(--jadeit); font-size: var(--ui-small, .875rem); }

@media (max-width: 560px) {
  .event-detail { width: calc(100% - 1.25rem); }
  .event-detail__hero { height: 56svh; border-radius: 22px; }
  .event-detail__intro h1 { max-width: 10ch; }
  .event-ticket__grid { grid-template-columns: 1fr; }
  /* Na telefonie QR musi być całym, skanowalnym kwadratem. Układ 124px + tekst
     ucinał prawą część kodu, szczególnie na kartach wydarzeń z katalogu. */
  .event-ticket__share { grid-template-columns: 1fr; }
  .event-ticket__share > img {
    width: min(100%, 280px);
    height: auto;
    max-width: 280px;
    margin-inline: auto;
    object-fit: contain;
  }
  .szuflada-qr { grid-template-columns: 112px minmax(0, 1fr); gap: .75rem; }
  .szuflada-qr img { width: 112px; height: 112px; }
  .event-guests__lista li { grid-template-columns: 42px minmax(0,1fr) auto; }
  .event-guests__status { max-width: 80px; overflow: hidden; text-overflow: ellipsis; }
}

/* ========================================================================
   Swataj: wyszukiwanie osób, stabilna szuflada filtrów i zgoda odbiorców
   ======================================================================== */
.swataj-wyszukiwanie { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .55rem; }
.swataj-szukaj input { width: 100%; min-height: 46px; padding: .7rem .85rem; border: 1px solid rgb(255 255 255 / .1); border-radius: 13px; color: var(--kreda); background: rgb(255 255 255 / .035); font: 500 var(--ui-small, .875rem) var(--tekst); }
.swataj-szukaj input:focus { outline: 2px solid color-mix(in srgb, var(--jadeit) 55%, transparent); outline-offset: 1px; }
.swataj-filtry-otworz { min-height: 46px; display: inline-flex; align-items: center; gap: .4rem; padding: .65rem .75rem; border: 1px solid color-mix(in srgb, var(--jadeit) 42%, transparent); border-radius: 13px; color: var(--jadeit-jasny); background: rgb(32 201 154 / .055); font: 700 var(--ui-small, .875rem) var(--tekst); cursor: pointer; }
.swataj-filtry-otworz img { filter: invert(77%) sepia(57%) saturate(447%) hue-rotate(113deg); }
.swataj-filtry-otworz span { min-width: 20px; height: 20px; display: grid; place-items: center; border-radius: 999px; color: #07140f; background: var(--jadeit); font-size: var(--ui-small, .875rem); }
.swataj-szybkie-kregi { display: flex; gap: .35rem; margin-top: .7rem; padding-bottom: .15rem; overflow-x: auto; scrollbar-width: none; }
.swataj-szybkie-kregi::-webkit-scrollbar { display: none; }
.swataj-szybkie-kregi button { flex: none; min-height: 34px; padding: .42rem .62rem; border: 1px solid rgb(255 255 255 / .1); border-radius: 999px; color: var(--mgla); background: transparent; font: 600 var(--ui-small, .875rem) var(--tekst); cursor: pointer; }
.swataj-szybkie-kregi button.jest-aktywny { color: #07140f; border-color: var(--jadeit); background: var(--jadeit); }
.swataj-filtry-aktywne { margin-top: .48rem; padding: .48rem .62rem; overflow: hidden; border-radius: 11px; color: var(--jadeit-jasny); background: rgb(32 201 154 / .07); font-size: var(--ui-small, .875rem); text-overflow: ellipsis; white-space: nowrap; }
.swataj-filtry-aktywne[hidden] { display: none; }
.swataj-filtry-overlay { position: fixed; inset: 0; z-index: 88; border: 0; background: rgb(2 2 5 / .7); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .2s ease, visibility .2s ease; }
.swataj-filtry-overlay.jest-otwarty { opacity: 1; visibility: visible; pointer-events: auto; }
.swataj-filtry { position: fixed; inset: 0 auto 0 0; z-index: 90; width: min(88vw, 380px); display: flex; flex-direction: column; overflow: hidden; overscroll-behavior: contain; border-radius: 0 22px 22px 0; background: rgb(14 10 19 / .99); box-shadow: 24px 0 65px rgb(0 0 0 / .6); transform: translateX(-105%); transition: transform .22s cubic-bezier(.22, .78, .28, 1); }
.swataj-filtry.jest-otwarty { transform: translateX(0); }
.swataj-filtry__naglowek { flex: none; min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem; border-bottom: 1px solid rgb(255 255 255 / .08); }
.swataj-filtry__naglowek strong, .swataj-filtry__naglowek span { display: block; }
.swataj-filtry__naglowek strong { font: 500 1.5rem var(--display); }
.swataj-filtry__naglowek span { margin-top: .16rem; color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); }
.swataj-filtry__naglowek button { width: 42px; height: 42px; display: grid; place-items: center; padding: 0; border: 1px solid rgb(255 255 255 / .11); border-radius: 50%; background: rgb(255 255 255 / .035); cursor: pointer; }
.swataj-filtry__naglowek img { filter: invert(1); }
.swataj-filtry__scroll { flex: 1; min-width: 0; min-height: 0; padding: .9rem; overflow-x: hidden; overflow-y: auto; -webkit-overflow-scrolling: touch; }
.swataj-filtry__grupa { min-width: 0; padding: .72rem 0; border-bottom: 1px solid rgb(255 255 255 / .06); }
.swataj-filtry__grupa > p { margin: 0 0 .5rem; color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.swataj-filtry__grupa--zainteresowania { margin: 0 -.15rem .16rem; padding: .75rem; border: 1px solid color-mix(in srgb, var(--jadeit) 34%, transparent); border-radius: 16px; background: linear-gradient(135deg, rgb(32 201 154 / .09), rgb(247 199 55 / .035)); }
.swataj-filtry__tytul { display: flex; align-items: flex-start; justify-content: space-between; gap: .65rem; margin-bottom: .55rem; }
.swataj-filtry__tytul p { margin: 0; color: var(--kreda); font-size: var(--ui-small, .875rem); font-weight: 750; letter-spacing: .045em; text-transform: uppercase; }
.swataj-filtry__tytul span { display: block; margin-top: .16rem; color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); }
.swataj-filtry__tytul b { flex: none; padding: .25rem .4rem; border-radius: 999px; color: #07140f; background: var(--jadeit); font-size: var(--ui-small, .875rem); letter-spacing: .035em; text-transform: uppercase; }
.swataj-filtry__rzad { width: 100%; max-width: 100%; display: flex; gap: .36rem; padding: 0 .15rem .18rem 0; overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.swataj-filtry__rzad::-webkit-scrollbar { display: none; }
.swataj-filtry__rzad button { flex: none; min-height: 36px; padding: .44rem .65rem; border: 1px solid rgb(255 255 255 / .1); border-radius: 999px; color: var(--mgla); background: transparent; font: 600 var(--ui-small, .875rem) var(--tekst); cursor: pointer; white-space: nowrap; }
.swataj-filtry__rzad button.jest-aktywny { color: #07140f; border-color: var(--jadeit); background: var(--jadeit); }
.swataj-filtry__wiecej { margin-top: .7rem; }
.swataj-filtry__wiecej summary { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .6rem 0; color: var(--kreda); font-size: var(--ui-small, .875rem); cursor: pointer; list-style: none; }
.swataj-filtry__wiecej summary small { min-width: 0; margin-left: auto; overflow: hidden; color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); text-overflow: ellipsis; white-space: nowrap; }
.swataj-filtry__wiecej summary img { filter: invert(1); transition: transform .2s ease; }
.swataj-filtry__wiecej[open] summary img { transform: rotate(180deg); }
.swataj-filtry__check { min-height: 48px; display: flex; align-items: center; gap: .65rem; padding: .6rem 0; color: var(--mgla); font-size: var(--ui-small, .875rem); }
.swataj-filtry__check input { width: 20px; height: 20px; accent-color: var(--jadeit); }
.swataj-filtry__stopka { flex: none; display: grid; grid-template-columns: .72fr 1.28fr; gap: .5rem; padding: .75rem .9rem max(.85rem, env(safe-area-inset-bottom)); border-top: 1px solid rgb(255 255 255 / .08); background: rgb(10 8 14 / .99); }
.swataj-filtry__stopka button { min-height: 46px; padding: .65rem; border: 1px solid rgb(255 255 255 / .12); border-radius: 13px; color: var(--mgla); background: transparent; font: 700 var(--ui-small, .875rem) var(--tekst); cursor: pointer; }
.swataj-filtry__stopka [data-swat-filter-apply] { color: #07140f; border-color: var(--jadeit); background: var(--jadeit); }
.swataj-lista__naglowek { display: flex; align-items: flex-end; justify-content: space-between; gap: .8rem; margin-top: 1.15rem; }
.swataj-lista__naglowek strong { font-size: var(--ui-small, .875rem); }
.swataj-lista__naglowek span { color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); }
.swataj-osoba[hidden] { display: none; }
.swataj-osoba__tresc strong em { display: inline-flex; margin-left: .35rem; padding: .18rem .38rem; border-radius: 999px; color: var(--jadeit-jasny); background: rgb(32 201 154 / .09); font: normal var(--ui-small, .875rem) var(--tekst); vertical-align: middle; }
.swataj-lista__pusto { padding: 1.2rem; border: 1px dashed rgb(255 255 255 / .12); border-radius: 16px; color: var(--mgla); text-align: center; font-size: var(--ui-small, .875rem); }
.swataj-lista__pusto[hidden] { display: none; }
.swatka-samodzielnie { display: grid; grid-template-columns: 28px 1fr; gap: .65rem; padding: .8rem; border: 1px solid color-mix(in srgb, var(--jadeit) 34%, transparent); border-radius: 13px; background: rgb(32 201 154 / .055); }
.swatka-samodzielnie img { width: 24px; filter: invert(77%) sepia(57%) saturate(447%) hue-rotate(113deg); }
.swatka-samodzielnie p { margin: 0; color: var(--mgla); font-size: var(--ui-small, .875rem); line-height: 1.5; }
.swatka-samodzielnie strong { color: var(--jadeit-jasny); }

/* ========================================================================
   Profil mobilny: podgląd, intencje, zaczepki i prywatność
   ======================================================================== */
.profil-app { width: min(760px, 100%); margin-inline: auto; padding: clamp(1.2rem, 4vw, 2rem) clamp(1rem, 4vw, 1.5rem) 8rem; }
.profil-app__hero h1 { margin: 0; font-size: clamp(2.65rem, 11vw, 4.5rem); font-weight: 500; line-height: .93; letter-spacing: -.055em; }
.profil-app__hero h1 em { color: var(--jadeit); font: 400 1em "Instrument Serif", serif; }
.profil-app__hero > p:last-child { max-width: 52ch; margin: .85rem 0 0; color: var(--mgla); font-size: var(--ui-small, .875rem); line-height: 1.55; }
.profil-demo-nota { margin-top: 1rem; padding: .75rem .85rem; border: 1px solid color-mix(in srgb, var(--bursztyn) 34%, transparent); border-radius: 13px; color: var(--mgla); background: rgb(246 191 59 / .045); font-size: var(--ui-small, .875rem); line-height: 1.45; }
.profil-demo-nota strong { color: var(--bursztyn-jasny); }
.profil-form.formularz-profilu { max-width: none; margin: 1rem 0 0; padding: 0; gap: .85rem; border-radius: 0; background: transparent; box-shadow: none; }
.profil-podglad { display: grid; grid-template-columns: 70px minmax(0, 1fr) auto; align-items: center; gap: .8rem; padding: .75rem; border: 1px solid color-mix(in srgb, var(--jadeit) 28%, transparent); border-radius: 18px; background: linear-gradient(120deg, rgb(32 201 154 / .08), rgb(246 191 59 / .035)); }
.profil-podglad__awatar { width: 70px; aspect-ratio: 4 / 5; overflow: hidden; border-radius: 13px; background: rgb(255 255 255 / .06); }
.profil-podglad__awatar img { width: 100%; height: 100%; object-fit: cover; }
.profil-podglad p { margin: 0; color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); letter-spacing: .08em; text-transform: uppercase; }
.profil-podglad h2 { margin: .2rem 0 0; font-size: 1rem; }
.profil-podglad div > span { color: var(--jadeit-jasny); font-size: var(--ui-small, .875rem); }
.profil-podglad > a { color: var(--bursztyn); text-decoration: none; font-size: var(--ui-small, .875rem); }
.profil-zakladki { position: sticky; top: 88px; z-index: 20; display: grid; grid-template-columns: repeat(3, 1fr); gap: .25rem; padding: .3rem; border: 1px solid rgb(255 255 255 / .09); border-radius: 14px; background: rgb(13 10 17 / .94); backdrop-filter: blur(18px); }
.profil-zakladki a { min-height: 42px; display: grid; place-items: center; border-radius: 10px; color: var(--mgla); text-decoration: none; font-size: var(--ui-small, .875rem); }
.profil-zakladki a:first-child { color: #07140f; background: var(--jadeit); }
.profil-sekcja { scroll-margin-top: 145px; padding: 1rem; border: 1px solid rgb(255 255 255 / .08); border-radius: 18px; background: rgb(25 19 34 / .7); }
.profil-sekcja > header { display: grid; grid-template-columns: 28px 1fr; gap: .6rem; margin-bottom: 1rem; }
.profil-sekcja > header > span { color: var(--jadeit); font-size: var(--ui-small, .875rem); font-weight: 700; }
.profil-sekcja > header h2, .profil-sekcja > header p { margin: 0; }
.profil-sekcja > header h2 { font-size: 1.15rem; font-weight: 600; }
.profil-sekcja > header p { margin-top: .2rem; color: var(--mgla); font-size: var(--ui-small, .875rem); line-height: 1.45; }
.profil-sekcja .pole { margin-top: .75rem; }
.profil-sekcja .pola { gap: .6rem; }
.profil-sekcja textarea { width: 100%; resize: vertical; }
.profil-bezpieczenstwo { display: grid; grid-template-columns: 28px 1fr; gap: .65rem; margin-top: .75rem; padding: .8rem; border: 1px solid color-mix(in srgb, var(--bursztyn) 30%, transparent); border-radius: 13px; background: rgb(246 191 59 / .045); }
.profil-bezpieczenstwo img { filter: invert(82%) sepia(83%) saturate(900%) hue-rotate(332deg); }
.profil-bezpieczenstwo p { margin: 0; color: var(--mgla); font-size: var(--ui-small, .875rem); line-height: 1.5; }
.profil-bezpieczenstwo strong { color: var(--bursztyn-jasny); }
.profil-zgoda-wrazliwa { display: flex; gap: .55rem; align-items: flex-start; margin-top: .65rem; color: var(--mgla); font-size: var(--ui-small, .875rem); line-height: 1.45; }
.profil-zgoda-wrazliwa input { width: 1rem; height: 1rem; margin: .08rem 0 0; accent-color: var(--turkus); flex: 0 0 auto; }
.profil-podglad__awatar img[src*="user-circle"] { padding: .85rem; filter: invert(87%) sepia(26%) saturate(1040%) hue-rotate(91deg); opacity: .9; }
.profil-zaczepka { margin-top: .9rem; padding: .8rem; border: 1px solid rgb(255 255 255 / .08); border-radius: 14px; background: rgb(8 7 11 / .38); }
.profil-zaczepka > div:first-child { display: flex; align-items: flex-end; justify-content: space-between; gap: .7rem; }
.profil-zaczepka > div:first-child p { margin: 0; }
.profil-zaczepka > div:first-child span { color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); text-align: right; }
.profil-zaczepka__ikony { display: grid; grid-template-columns: repeat(4, 1fr); gap: .45rem; margin-top: .7rem; }
.profil-zaczepka__ikony button { min-height: 66px; display: grid; place-items: center; gap: .2rem; padding: .45rem .2rem; border: 1px solid rgb(255 255 255 / .1); border-radius: 12px; color: var(--mgla); background: transparent; font: 600 var(--ui-small, .875rem) var(--tekst); cursor: pointer; }
.profil-zaczepka__ikony button.jest-aktywny { color: #07140f; border-color: var(--jadeit); background: var(--jadeit); }
.profil-zaczepka__ikony img { width: 23px; filter: invert(1); }
.profil-zaczepka__ikony button.jest-aktywny img { filter: none; }
.profil-zaczepka__wynik { min-height: 1.2em; margin: .65rem 0 0; color: var(--jadeit-jasny); font-size: var(--ui-small, .875rem); }
.profil-wybor-karty { display: grid; gap: .45rem; margin: .9rem 0 0; }
.profil-wybor-karty label { position: relative; display: block; cursor: pointer; }
.profil-wybor-karty input { position: absolute; opacity: 0; }
.profil-wybor-karty label > span { display: block; padding: .7rem .8rem; border: 1px solid rgb(255 255 255 / .09); border-radius: 12px; background: rgb(8 7 11 / .32); }
.profil-wybor-karty strong, .profil-wybor-karty small { display: block; }
.profil-wybor-karty strong { font-size: var(--ui-small, .875rem); }
.profil-wybor-karty small { margin-top: .15rem; color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); }
.profil-wybor-karty input:checked + span { border-color: var(--jadeit); background: rgb(32 201 154 / .08); box-shadow: inset 3px 0 var(--jadeit); }
.profil-przelaczniki { display: grid; gap: .5rem; margin-top: .9rem; }
.profil-przelaczniki label { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: .8rem; padding: .75rem .8rem; border: 1px solid rgb(255 255 255 / .08); border-radius: 12px; }
.profil-przelaczniki strong, .profil-przelaczniki small { display: block; }
.profil-przelaczniki strong { font-size: var(--ui-small, .875rem); }
.profil-przelaczniki small { margin-top: .14rem; color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); }
.profil-przelaczniki input { width: 38px; height: 21px; accent-color: var(--jadeit); }
.profil-osobowosc__test { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; align-items: center; gap: .72rem; margin-bottom: .8rem; padding: .78rem; border: 1px solid color-mix(in srgb, var(--bursztyn) 34%, transparent); border-radius: 14px; background: linear-gradient(120deg, rgb(246 191 59 / .1), rgb(32 201 154 / .05)); }
.profil-osobowosc__test > span, .profil-osobowosc__krok span { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; color: #171207; background: var(--bursztyn); font: 800 var(--ui-small, .875rem) var(--tekst); }
.profil-osobowosc__test strong, .profil-osobowosc__test p { display: block; margin: 0; }
.profil-osobowosc__test strong { color: var(--kreda); font-size: var(--ui-small, .875rem); }
.profil-osobowosc__test p { margin-top: .18rem; color: var(--mgla); font-size: var(--ui-small, .875rem); line-height: 1.45; }
.profil-osobowosc__test a { display: inline-flex; min-height: 40px; align-items: center; justify-content: center; gap: .35rem; padding: .55rem .72rem; border-radius: 999px; color: #06130f; background: var(--jadeit); font: 750 var(--ui-small, .875rem) var(--tekst); text-align: center; text-decoration: none; }
.profil-osobowosc__krok { display: flex; align-items: center; gap: .55rem; margin: 0 0 .55rem; color: var(--kreda); font-size: var(--ui-small, .875rem); font-weight: 700; }
.profil-osobowosc__krok span { width: 24px; height: 24px; background: var(--jadeit); }
.profil-osobowosc__wynik { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: .8rem; margin-top: .8rem; padding: .78rem; border: 1px solid color-mix(in srgb, var(--jadeit) 28%, transparent); border-radius: 13px; background: linear-gradient(120deg, rgb(32 201 154 / .09), rgb(246 191 59 / .035)); }
.profil-osobowosc__wynik div { min-width: 92px; }
.profil-osobowosc__wynik span, .profil-osobowosc__wynik strong { display: block; }
.profil-osobowosc__wynik span { color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); letter-spacing: .08em; text-transform: uppercase; }
.profil-osobowosc__wynik strong { margin-top: .1rem; color: var(--bursztyn-jasny); font-size: 1.15rem; letter-spacing: .04em; }
.profil-osobowosc__wynik p, .profil-osobowosc__nota { margin: 0; color: var(--mgla); font-size: var(--ui-small, .875rem); line-height: 1.5; }
.profil-osobowosc__nota { margin-top: .75rem; }
.profil-osobowosc__nota a { color: var(--jadeit-jasny); }
@media (max-width: 680px) {
  .profil-osobowosc__test { grid-template-columns: 28px minmax(0, 1fr); }
  .profil-osobowosc__test a { grid-column: 1 / -1; width: 100%; }
}
.szuflada-dopasowanie { margin: .8rem 0; padding: .8rem; border: 1px solid color-mix(in srgb, var(--jadeit) 32%, transparent); border-radius: 14px; background: linear-gradient(120deg, rgb(32 201 154 / .1), rgb(246 191 59 / .045)); }
.szuflada-dopasowanie[hidden] { display: none; }
.szuflada-dopasowanie > div { display: flex; align-items: center; justify-content: space-between; gap: .8rem; }
.szuflada-dopasowanie span { color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); letter-spacing: .06em; text-transform: uppercase; }
.szuflada-dopasowanie strong { color: var(--bursztyn-jasny); font-size: 1.15rem; }
.szuflada-dopasowanie p { margin: .5rem 0 0; color: var(--kreda); font-size: var(--ui-small, .875rem); line-height: 1.45; }
.szuflada-dopasowanie small { display: block; margin-top: .42rem; color: var(--jadeit-jasny); font-size: var(--ui-small, .875rem); line-height: 1.45; }
.szuflada-dopasowanie button { min-height: 38px; margin-top: .65rem; padding: .48rem .72rem; border: 1px solid color-mix(in srgb, var(--jadeit) 42%, transparent); border-radius: 999px; color: #06130f; background: var(--jadeit); font: 700 var(--ui-small, .875rem) var(--tekst); cursor: pointer; }
.szuflada-dopasowanie button:disabled { cursor: default; opacity: .58; }
.profil-zapis { display: grid; gap: .65rem; padding: .9rem; border-radius: 16px; background: rgb(32 201 154 / .06); }
.profil-zapis .przycisk { width: 100%; margin: 0; background: var(--jadeit); }
.profil-app .wyloguj { max-width: none; }

@media (max-width: 620px) {
  .swataj-filtry { top: 88px; border-radius: 0 22px 0 0; }
  .swataj-filtry-overlay { top: 88px; }
  .swataj-osoba { grid-template-columns: 54px minmax(0, 1fr); }
  .swataj-osoba__awatar { width: 54px; height: 64px; }
  .swataj-osoba__wybor { grid-column: 2; justify-self: start; margin-top: -.12rem; }
  .profil-app { padding-top: 1rem; }
  .profil-podglad { grid-template-columns: 62px minmax(0, 1fr) auto; }
  .profil-podglad__awatar { width: 62px; }
  .profil-sekcja .pola { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .swataj-filtry, .swataj-filtry-overlay { transition: none; }
}

/* ========================================================================
   Albumy profilu i wydarzenia: mobile-first, prywatne do moderacji
   ======================================================================== */
.profil-zakladki { grid-template-columns: repeat(4, 1fr); }
.profil-zakladki a:first-child { color: #07140f; background: var(--jadeit); }
.album-manager__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
.album-photo { min-width: 0; overflow: hidden; border: 1px solid rgb(255 255 255 / .09); border-radius: 16px; background: rgb(8 7 11 / .48); }
.album-photo--zaakceptowane { border-color: color-mix(in srgb, var(--jadeit) 30%, transparent); }
.album-photo--do_sprawdzenia { border-color: color-mix(in srgb, var(--bursztyn) 46%, transparent); background: rgb(246 191 59 / .035); }
.album-photo--odrzucone { border-color: rgb(232 111 99 / .72); background: rgb(232 111 99 / .075); box-shadow: inset 0 0 0 1px rgb(232 111 99 / .18); }
.album-photo__image { position: relative; overflow: hidden; aspect-ratio: 4 / 5; background: rgb(255 255 255 / .04); }
.album-photo__image img { width: 100%; height: 100%; display: block; object-fit: cover; }
.album-photo--do_sprawdzenia .album-photo__image img { opacity: .72; }
.album-photo--odrzucone .album-photo__image img { opacity: .38; filter: saturate(.25); }
.album-photo__cover { position: absolute; left: .45rem; top: .45rem; padding: .3rem .48rem; border-radius: 999px; color: #07140f; background: var(--bursztyn); font-size: var(--ui-small, .875rem); font-weight: 700; }
.album-photo__status { min-height: 76px; padding: .65rem .68rem 0; }
.album-photo__status span, .album-photo__status small { display: block; }
.album-photo__status span { color: var(--jadeit-jasny); font-size: var(--ui-small, .875rem); font-weight: 700; line-height: 1.3; }
.album-photo--do_sprawdzenia .album-photo__status span { color: var(--bursztyn-jasny); }
.album-photo--odrzucone .album-photo__status span { color: #ff8d86; }
.album-photo__status small { margin-top: .28rem; color: var(--mgla); font-size: var(--ui-small, .875rem); line-height: 1.45; }
.album-photo > label { display: block; padding: .55rem .68rem; }
.album-photo > label span { display: block; margin-bottom: .3rem; color: var(--mgla); font-size: var(--ui-small, .875rem); }
.album-photo > label input { width: 100%; min-height: 42px; padding: .5rem .55rem; border: 1px solid rgb(255 255 255 / .08); border-radius: 9px; color: var(--kreda); background: rgb(255 255 255 / .035); font: var(--ui-small, .875rem) var(--tekst); }
.album-photo__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .35rem; padding: 0 .68rem .68rem; }
.album-photo__actions button { min-height: 40px; padding: .38rem; border: 1px solid rgb(255 255 255 / .1); border-radius: 9px; color: var(--mgla); background: transparent; font: 650 var(--ui-small, .875rem) var(--tekst); cursor: pointer; }
.album-photo__actions button[data-photo-action="okladka"] { color: var(--bursztyn-jasny); border-color: rgb(246 191 59 / .28); }
.album-photo__actions button[data-photo-action="usun"] { color: #ffaaa5; }
.album-empty { display: flex; justify-content: space-between; gap: .7rem; margin-top: .65rem; padding: .8rem; border: 1px dashed rgb(255 255 255 / .13); border-radius: 13px; }
.album-empty[hidden] { display: none; }
.album-empty strong { font-size: var(--ui-small, .875rem); }
.album-empty span { max-width: 28ch; color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); text-align: right; line-height: 1.4; }
.album-uploader { display: grid; gap: .65rem; margin-top: .8rem; padding: .8rem; border: 1px solid color-mix(in srgb, var(--jadeit) 25%, transparent); border-radius: 15px; background: rgb(32 201 154 / .045); }
.album-uploader__pick { min-height: 92px; display: grid; place-items: center; align-content: center; gap: .2rem; padding: .75rem; border: 1px dashed color-mix(in srgb, var(--jadeit) 52%, transparent); border-radius: 13px; color: var(--jadeit-jasny); text-align: center; cursor: pointer; }
.album-uploader__pick input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.album-uploader__pick span { font-size: var(--ui-small, .875rem); font-weight: 700; }
.album-uploader__pick small { color: var(--mgla); font-size: var(--ui-small, .875rem); }
.album-uploader__pick.jest-wybrane { border-style: solid; background: rgb(32 201 154 / .07); }
.album-uploader__caption > span { display: block; margin-bottom: .32rem; color: var(--mgla); font-size: var(--ui-small, .875rem); }
.album-uploader__caption input { width: 100%; min-height: 44px; padding: .6rem .7rem; border: 1px solid rgb(255 255 255 / .09); border-radius: 11px; color: var(--kreda); background: rgb(4 4 7 / .48); font: var(--ui-small, .875rem) var(--tekst); }
.album-uploader__consent { display: grid; grid-template-columns: 18px 1fr; gap: .55rem; align-items: start; color: var(--mgla); font-size: var(--ui-small, .875rem); line-height: 1.5; }
.album-uploader__consent input { width: 18px; height: 18px; margin: 0; accent-color: var(--jadeit); }
.album-uploader__submit.przycisk { width: 100%; margin: 0; background: var(--jadeit); }
.album-uploader__submit[disabled] { opacity: .52; cursor: wait; }
.album-uploader__result { min-height: 1.2em; margin: 0; color: var(--jadeit-jasny); font-size: var(--ui-small, .875rem); line-height: 1.4; }
.album-uploader__result.jest-blad { color: #ffaaa5; }
.album-safety { display: grid; grid-template-columns: 26px 1fr; gap: .65rem; margin-top: .7rem; padding: .75rem; border-radius: 13px; background: rgb(246 191 59 / .045); }
.album-safety img { filter: invert(82%) sepia(83%) saturate(900%) hue-rotate(332deg); }
.album-safety p { margin: 0; color: var(--mgla); font-size: var(--ui-small, .875rem); line-height: 1.5; }
.album-safety strong { color: var(--bursztyn-jasny); }
.event-album { margin-top: 1rem; padding: clamp(.9rem, 3vw, 1.2rem); border: 1px solid rgb(255 255 255 / .08); border-radius: 20px; background: rgb(10 10 15 / .6); }
.event-album .event-section-head { margin-bottom: .8rem; }
.event-album__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.event-album__caption { margin: 0; padding: .6rem; color: var(--mgla); font-size: var(--ui-small, .875rem); line-height: 1.4; }

@media (max-width: 620px) {
  .profil-zakladki { top: 88px; overflow-x: auto; }
  .profil-zakladki a { white-space: nowrap; }
  .event-album__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 380px) {
  .album-manager__grid { grid-template-columns: 1fr; }
}

.moderacja-zdjecia { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: .8rem; margin: 1rem 0 2rem; }
.moderacja-zdjecia article { overflow: hidden; border: 1px solid rgb(255 255 255 / .09); border-radius: 16px; background: rgb(255 255 255 / .035); }
.moderacja-zdjecia article > img { width: 100%; aspect-ratio: 4 / 5; display: block; object-fit: cover; }
.moderacja-zdjecia article > div { padding: .7rem; }
.moderacja-zdjecia strong, .moderacja-zdjecia span, .moderacja-zdjecia small { display: block; }
.moderacja-zdjecia span, .moderacja-zdjecia small { margin-top: .25rem; color: var(--mgla-cicha); font-size: var(--ui-small, .875rem); line-height: 1.45; }
.moderacja-zdjecia p { margin: .45rem 0 0; color: var(--mgla); font-size: var(--ui-small, .875rem); }
.moderacja-zdjecia article > div:last-child { display: grid; grid-template-columns: 1fr 1fr; gap: .45rem; padding-top: 0; }
.moderacja-zdjecia article > div:last-child button:only-child { grid-column: 1 / -1; }
.moderacja-zdjecia__sygnaly { margin-top: .55rem !important; padding-top: .5rem; border-top: 1px solid rgb(255 255 255 / .08); color: var(--mgla) !important; }
.moderacja-zdjecia--odrzucone article { border-color: rgb(232 111 99 / .65); background: rgb(232 111 99 / .065); }
.moderacja-zdjecia--odrzucone article > img { opacity: .52; filter: saturate(.35); }
.moderacja-przeplyw { margin: 1rem 0 1.5rem; padding: .9rem 1rem; border: 1px solid color-mix(in srgb, var(--jadeit) 32%, transparent); border-radius: 14px; background: rgb(32 201 154 / .055); }
.moderacja-przeplyw strong { color: var(--jadeit-jasny); }
.moderacja-przeplyw p { margin: .35rem 0 0; color: var(--mgla); font-size: var(--ui-small, .875rem); line-height: 1.5; }
/* ========================================================= półka kultury */
.wydarzenia-status-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 18px;padding:0 22px}
.wydarzenia-status-tabs a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:54px;padding:12px 16px;border:1px solid rgba(255,255,255,.12);border-radius:18px;color:var(--tekst-przygaszony);text-decoration:none}
.wydarzenia-status-tabs a small{color:inherit;opacity:.65}.wydarzenia-status-tabs a.jest-aktywny{border-color:rgba(0,208,175,.55);background:rgba(0,208,175,.1);color:#50e5c7}
.kultura-app,.pozycja-kultury,.profil-publiczny{width:min(1120px,calc(100% - 40px));margin:0 auto;padding:clamp(42px,7vw,90px) 0 140px}
.kultura-hero{max-width:900px;margin-bottom:36px}.kultura-hero h1{margin:12px 0 18px;font-size:clamp(3rem,7vw,6.6rem);font-weight:300;line-height:.92;letter-spacing:-.055em}.kultura-hero h1 em{font-family:var(--font-display);font-weight:400;color:#ffd33d}.kultura-hero>p:last-child{max-width:720px;color:var(--tekst-przygaszony);font-size:clamp(1rem,2vw,1.25rem);line-height:1.65}
.kultura-dodaj{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(340px,1.2fr);gap:24px;padding:28px;margin:0 0 26px;border:1px solid rgba(0,208,175,.32);border-radius:28px;background:linear-gradient(135deg,rgba(0,208,175,.08),rgba(255,211,61,.05) 55%,rgba(36,21,49,.84))}.kultura-dodaj>div:first-child span,.uczestnictwo__naglowek p,.uczestnictwo__tytul strong,.pozycja-kultury__siec header p{color:#4be0c3;text-transform:uppercase;letter-spacing:.14em;font-size:var(--ui-small, .875rem)}.kultura-dodaj h2{margin:6px 0 8px;font-size:clamp(1.7rem,3vw,2.7rem);font-weight:400}.kultura-dodaj p{color:var(--tekst-przygaszony);line-height:1.55}.kultura-dodaj form{display:flex;gap:10px;align-items:end}.kultura-dodaj label{display:grid;gap:8px;flex:1}.kultura-dodaj label span{font-size:var(--ui-small, .875rem);text-transform:uppercase;letter-spacing:.12em;color:var(--tekst-przygaszony)}.kultura-dodaj input,.kultura-dodaj select,.polka-karta select{min-width:0;border:1px solid rgba(255,255,255,.13);background:#0b0910;color:#fff;border-radius:14px;padding:14px}.kultura-dodaj button,.polka-pusta a{border:0;border-radius:14px;background:linear-gradient(135deg,#ffd33d,#ffae16);color:#101014;padding:15px 20px;font-weight:750;text-decoration:none}.kultura-dodaj__wynik{grid-column:1/-1;margin:0;min-height:1.3em;color:#ffd33d!important}.kultura-preview{grid-column:1/-1;display:grid;grid-template-columns:80px 1fr minmax(150px,.5fr) auto;align-items:center;gap:16px;padding:16px;border-radius:20px;background:rgba(6,8,11,.75);border:1px solid rgba(255,255,255,.09)}.kultura-preview[hidden]{display:none}.kultura-preview img{width:80px;height:108px;object-fit:cover;border-radius:10px;background:#111}.kultura-preview>div{display:grid;gap:5px}.kultura-preview>div span{color:#4be0c3;font-size:var(--ui-small, .875rem);text-transform:uppercase;letter-spacing:.12em}.kultura-preview strong{font-size:1.15rem}.kultura-preview small{color:var(--tekst-przygaszony)}.kultura-recznie{grid-column:1/-1}.kultura-recznie summary{cursor:pointer;color:var(--tekst-przygaszony)}.kultura-recznie form{padding-top:16px;display:grid;grid-template-columns:.6fr 1.3fr 1fr .7fr auto}.kultura-tabs{display:flex;gap:8px;overflow-x:auto;padding:2px 0 18px;scrollbar-width:none}.kultura-tabs a{white-space:nowrap;padding:11px 16px;border:1px solid rgba(255,255,255,.12);border-radius:999px;color:var(--tekst-przygaszony);text-decoration:none}.kultura-tabs a.jest-aktywny{background:#00d0af;color:#06120f;border-color:#00d0af;font-weight:700}
.uczestnictwo{padding:clamp(20px,4vw,34px);border:1px solid rgba(255,255,255,.1);border-radius:30px;background:linear-gradient(145deg,rgba(12,14,19,.94),rgba(27,16,37,.8));margin:24px 0}.uczestnictwo__naglowek,.uczestnictwo__tytul{display:flex;align-items:end;justify-content:space-between;gap:16px}.uczestnictwo__naglowek h2{font-size:clamp(2rem,4vw,3.8rem);font-weight:350;margin:4px 0 0}.uczestnictwo__naglowek>a,.uczestnictwo__tytul a{color:#ffd33d;text-decoration:none}.uczestnictwo__tytul{margin:28px 0 14px;padding-top:22px;border-top:1px solid rgba(255,255,255,.08)}.uczestnictwo__eventy{display:grid;grid-template-columns:repeat(5,minmax(160px,1fr));gap:12px;overflow-x:auto;padding-bottom:6px}.uczestnictwo__eventy article{min-width:160px;border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.09);background:#0d0d12}.uczestnictwo__eventy img{width:100%;aspect-ratio:4/3;object-fit:cover}.uczestnictwo__eventy article div{padding:12px;display:grid;gap:5px}.uczestnictwo__eventy span{color:#ffd33d;font-size:var(--ui-small, .875rem);text-transform:uppercase}.uczestnictwo__eventy strong{line-height:1.2}.uczestnictwo__eventy small{color:var(--tekst-przygaszony)}
.polka-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.polka-karta{min-width:0;border:1px solid rgba(255,255,255,.1);border-radius:18px;overflow:hidden;background:#0c0d12;transition:transform .2s,border-color .2s}.polka-karta:hover{transform:translateY(-3px);border-color:rgba(0,208,175,.55)}.polka-karta__okladka{display:block;position:relative;aspect-ratio:2/3;overflow:hidden;background:#111}.polka-karta__okladka img{width:100%;height:100%;object-fit:cover}.polka-karta__okladka span{position:absolute;left:8px;bottom:8px;max-width:calc(100% - 16px);padding:6px 8px;border-radius:999px;background:rgba(5,8,12,.88);color:#fff;font-size:var(--ui-small, .875rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.polka-karta__okladka b{position:absolute;right:8px;top:8px;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#ffd33d;color:#15110a}.polka-karta__tresc{display:grid;gap:4px;padding:11px}.polka-karta__tresc small{color:#4be0c3;text-transform:uppercase;font-size:var(--ui-small, .875rem);letter-spacing:.09em}.polka-karta__tresc a{color:#fff;text-decoration:none;font-weight:700;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.polka-karta__tresc span{font-size:var(--ui-small, .875rem);color:var(--tekst-przygaszony);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.polka-karta__akcje{display:grid;grid-template-columns:1fr 34px 34px;gap:5px;padding:0 9px 10px}.polka-karta__akcje select{padding:7px;font-size:var(--ui-small, .875rem)}.polka-karta__akcje button{border:1px solid rgba(255,255,255,.1);border-radius:9px;background:transparent;color:#ffd33d}.polka-karta__akcje button:last-child{color:#ff807b}.polka-pusta{padding:28px;border:1px dashed rgba(255,255,255,.16);border-radius:20px;text-align:center}.polka-pusta p{color:var(--tekst-przygaszony);margin:8px auto 20px;max-width:560px}.kultura-prywatnosc{margin:20px 0;padding:18px 20px;border-left:3px solid #00d0af;background:rgba(0,208,175,.06);border-radius:0 16px 16px 0}.kultura-prywatnosc p{margin:5px 0;color:var(--tekst-przygaszony)}
.pozycja-kultury__hero{display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:clamp(28px,6vw,80px);align-items:center;padding:30px;border-radius:32px;background:radial-gradient(circle at 15% 20%,rgba(255,211,61,.15),transparent 38%),linear-gradient(140deg,#17111e,#080b0e);border:1px solid rgba(255,255,255,.1)}.pozycja-kultury__hero>img{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:20px;box-shadow:0 28px 70px rgba(0,0,0,.45)}.pozycja-kultury__hero p{color:#4be0c3;text-transform:uppercase;letter-spacing:.13em}.pozycja-kultury__hero h1{font-size:clamp(2.7rem,7vw,6.5rem);line-height:.95;letter-spacing:-.05em;font-weight:350;margin:12px 0}.pozycja-kultury__hero h2{font-weight:350;color:var(--tekst-przygaszony)}.pozycja-kultury__hero a{color:#ffd33d}.pozycja-kultury__liczniki{display:flex;gap:10px;margin:28px 0}.pozycja-kultury__liczniki span{padding:12px;border:1px solid rgba(255,255,255,.1);border-radius:14px;color:var(--tekst-przygaszony)}.pozycja-kultury__liczniki b{color:#fff;font-size:1.3rem}.pozycja-kultury__siec{margin-top:50px}.pozycja-kultury__siec h2{font-size:clamp(2rem,5vw,4rem);font-weight:350;margin:7px 0 22px}.osoby-kultury{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.osoby-kultury article{padding:16px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:#101116}.osoby-kultury article>a:first-child{display:flex;gap:12px;align-items:center;color:#fff;text-decoration:none}.osoby-kultury article>a:first-child>span{width:48px;height:48px;display:grid;place-items:center;border:1px solid #00d0af;border-radius:50%;color:#4be0c3}.osoby-kultury article div{display:grid}.osoby-kultury small{color:var(--tekst-przygaszony)}.osoby-kultury article>a:last-child{display:block;margin-top:14px;color:#ffd33d;text-decoration:none}
.profil-publiczny__hero{display:grid;grid-template-columns:160px 1fr;gap:28px;align-items:center}.profil-publiczny__avatar{width:160px;height:200px;border-radius:24px;overflow:hidden;background:linear-gradient(145deg,#ffd33d,#00cbb0);display:grid;place-items:center}.profil-publiczny__avatar img{width:100%;height:100%;object-fit:cover}.profil-publiczny__avatar span{font-size:5rem;color:#08110f}.profil-publiczny__hero p{color:#4be0c3}.profil-publiczny__hero h1{font-size:clamp(3rem,7vw,6.5rem);font-weight:350;line-height:.9;margin:8px 0}.profil-publiczny__hero h2{font-weight:350;color:var(--tekst-przygaszony)}.profil-publiczny__hobby-label{margin:14px 0 -7px;color:var(--bursztyn);font-size:var(--ui-small, .875rem)!important;letter-spacing:.12em;text-transform:uppercase}.profil-publiczny__ai{display:inline-flex;margin:0 9px 7px 0;padding:6px 9px;border:1px solid rgba(0,208,175,.55);border-radius:999px;color:#4be0c3;font-size:var(--ui-small, .875rem);font-weight:750;text-transform:uppercase;letter-spacing:.08em}.profil-publiczny__tagi{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}.profil-publiczny__tagi span{padding:7px 10px;border:1px solid rgba(255,255,255,.12);border-radius:999px;color:var(--tekst-przygaszony)}.profil-publiczny__opis{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;margin:32px 0;padding:24px;border:1px solid rgba(255,255,255,.1);border-radius:22px}.profil-publiczny__ai-nota{grid-column:1/-1;display:flex;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid rgba(0,208,175,.28);border-radius:14px;background:rgba(0,208,175,.07)}.profil-publiczny__ai-nota span{color:var(--tekst-przygaszony)}.profil-publiczny__opis>div{display:flex;align-items:center;gap:18px}.profil-publiczny__opis>div>a:last-child{color:#4be0c3}
.kreg-szczegoly__profil{display:inline-flex;margin-top:.65rem;color:var(--jadeit-jasny);font-size:var(--ui-small, .875rem);text-decoration:none}.kreg-szczegoly__profil:hover{text-decoration:underline}
.event-publiczny{width:min(1120px,calc(100% - 40px));margin:0 auto;padding:clamp(42px,7vw,90px) 0 140px}.event-publiczny__hero{display:grid;grid-template-columns:minmax(280px,44%) 1fr;gap:clamp(28px,5vw,64px);align-items:center}.event-publiczny__hero>img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:28px}.event-publiczny__hero>div>p:first-child{color:#4be0c3;text-transform:uppercase;letter-spacing:.12em}.event-publiczny__hero h1{font-size:clamp(2.8rem,6vw,5.8rem);font-weight:350;line-height:.95;letter-spacing:-.05em;margin:10px 0}.event-publiczny__hero h2{font-weight:350;color:#ffd33d}.event-publiczny__hero dl{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:24px 0}.event-publiczny__hero dl div{padding:12px;border:1px solid rgba(255,255,255,.1);border-radius:14px}.event-publiczny__hero dt{font-size:var(--ui-small, .875rem);text-transform:uppercase;color:var(--tekst-przygaszony)}.event-publiczny__hero dd{margin:4px 0 0}.event-publiczny__opis{color:var(--tekst-przygaszony)}.event-publiczny__akcje{display:flex;gap:18px;align-items:center;margin-top:25px}.event-publiczny__akcje>a:last-child{color:#4be0c3}
@media(max-width:760px){.kultura-app,.pozycja-kultury,.profil-publiczny{width:calc(100% - 32px);max-width:calc(100% - 32px);padding-top:30px}.kultura-app *,.pozycja-kultury *,.profil-publiczny *{min-width:0}.wydarzenia-status-tabs{padding:0 18px}.kultura-hero h1{font-size:2.7rem;overflow-wrap:anywhere}.kultura-dodaj{width:100%;max-width:100%;grid-template-columns:minmax(0,1fr);padding:20px;overflow:hidden}.kultura-dodaj form{width:100%;max-width:100%;align-items:stretch;flex-direction:column}.kultura-dodaj label,.kultura-dodaj input,.kultura-dodaj select{width:100%;max-width:100%}.kultura-preview{grid-template-columns:66px minmax(0,1fr)}.kultura-preview img{width:66px;height:90px}.kultura-preview label,.kultura-preview>button{grid-column:1/-1}.kultura-recznie form{grid-template-columns:minmax(0,1fr)}.uczestnictwo{padding:18px;margin-inline:0}.uczestnictwo__naglowek{align-items:start}.uczestnictwo__eventy{grid-template-columns:repeat(5,75vw)}.polka-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.polka-karta__akcje{grid-template-columns:minmax(0,1fr) 32px 32px}.pozycja-kultury__hero{grid-template-columns:110px minmax(0,1fr);gap:18px;padding:18px}.pozycja-kultury__hero h1{font-size:2.15rem}.pozycja-kultury__hero h2{font-size:1rem}.pozycja-kultury__liczniki{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.osoby-kultury{grid-template-columns:1fr}.profil-publiczny__hero{grid-template-columns:90px minmax(0,1fr);gap:16px}.profil-publiczny__avatar{width:90px;height:120px}.profil-publiczny__hero h1{font-size:2.8rem}.profil-publiczny__ai-nota{display:grid;gap:5px}.profil-publiczny__opis{grid-template-columns:1fr}.profil-publiczny__opis>div{flex-direction:column;align-items:stretch}.profil-publiczny__opis .przycisk{text-align:center}.profil-app>.uczestnictwo{margin-inline:0}}
@media(max-width:430px){.strona-kultura .marka__znak,.strona-kultura-pozycja .marka__znak,.strona-profil-publiczny .marka__znak{width:46px;height:46px}.strona-kultura .marka__slowo,.strona-kultura-pozycja .marka__slowo,.strona-profil-publiczny .marka__slowo{font-size:1.05rem}.strona-kultura .pasek,.strona-kultura-pozycja .pasek,.strona-profil-publiczny .pasek{padding-inline:.8rem}}
@media(max-width:760px){.event-publiczny{width:calc(100% - 32px);padding-top:30px}.event-publiczny__hero{grid-template-columns:1fr}.event-publiczny__hero>img{aspect-ratio:4/3}.event-publiczny__hero h1{font-size:2.6rem}.event-publiczny__akcje{align-items:stretch;flex-direction:column}.event-publiczny__akcje .przycisk{text-align:center}}

/* Stabilny mobilny układ półki kultury */
.kultura-tabs{width:100%;max-width:100%;overscroll-behavior-inline:contain;scroll-snap-type:x proximity}
.kultura-tabs::-webkit-scrollbar{display:none}
.kultura-tabs a{flex:0 0 auto;min-width:max-content!important;scroll-snap-align:start}
@media(max-width:760px){
  .kultura-tabs{gap:10px;padding:4px 0 20px}
  .kultura-tabs a{display:flex;align-items:center;min-height:46px;padding:10px 15px;font-size:.92rem}
  .uczestnictwo__naglowek{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px}
  .uczestnictwo__naglowek h2{font-size:1.9rem;line-height:1.05}
  .uczestnictwo__naglowek>a{align-self:start;white-space:nowrap;padding:7px 9px;border:1px solid rgba(255,211,61,.3);border-radius:999px;font-size:var(--ui-small, .875rem);line-height:1.2}
  .uczestnictwo__tytul{align-items:center;gap:10px}
  .uczestnictwo__tytul a{white-space:nowrap;font-size:var(--ui-small, .875rem)}
  .polka-pusta{padding:22px 16px}
  .polka-pusta p{font-size:.95rem;line-height:1.5}
}
@media(max-width:360px){
  .uczestnictwo__naglowek{grid-template-columns:1fr}
  .uczestnictwo__naglowek>a{justify-self:start}
}

/* Import wydarzeń z linku korzysta z tego samego wzorca co półka kultury,
   ale ma więcej pól. Każdy blok może się zwężać bez rozsadzania viewportu. */
.wydarzenia-dodaj{scroll-margin-top:120px}
.wydarzenia-dodaj>*{min-width:0}
.wydarzenia-dodaj>form input{width:100%}
.wydarzenie-preview{grid-template-columns:96px minmax(150px,.55fr) minmax(0,1.45fr);align-items:start}
.wydarzenie-preview .kultura-preview__krok{grid-column:1/-1;margin:0;padding:12px 14px;border-radius:12px;color:var(--tekst-przygaszony);background:rgba(255,211,61,.055);font-size:var(--ui-small, .875rem);line-height:1.5}
.wydarzenie-preview .kultura-preview__krok b,.wydarzenie-preview .kultura-preview__krok strong{color:#ffd33d;font-size:inherit}
.wydarzenie-preview>img{width:96px;height:128px}
.wydarzenie-preview__pola{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.wydarzenie-preview__pola label{display:grid;gap:6px;min-width:0}
.wydarzenie-preview__pola label span{font-size:var(--ui-small, .875rem)}
.wydarzenie-preview__pola input,.wydarzenie-preview__pola select{width:100%;min-width:0;padding:11px;border-radius:11px}
.wydarzenie-preview .kultura-preview__zapisz{grid-column:3;justify-self:start;min-height:46px}
.wydarzenie-preview .kultura-preview__logowanie{grid-column:1/-1;margin:0;padding:12px 14px;border:1px solid rgba(255,211,61,.26);border-radius:12px;color:var(--tekst-przygaszony);background:rgba(255,211,61,.06)}
.wydarzenie-preview .kultura-preview__logowanie a{color:#ffd33d}
/* Sztywne 6 kolumn miało minima ~890px, a karta ma w środku ~660px — przy
   dłuższych etykietach (EN) przycisk wychodził poza kartę. auto-fit zawija
   wiersz zamiast rozpychać układ, niezależnie od języka. */
.wydarzenie-recznie__form{grid-template-columns:repeat(auto-fit,minmax(132px,1fr))!important;gap:10px;align-items:end}
.wydarzenie-recznie__form button{white-space:nowrap;padding-inline:16px}
.wydarzenie-recznie__form>*{min-width:0;width:100%}
.kultura-dodaj__wynik.jest-bledem{color:#ff9c94!important}
.event-owner-edit{margin-top:18px;padding:14px;border:1px solid color-mix(in srgb,var(--jadeit) 30%,transparent);border-radius:16px;background:rgb(32 201 154/.045)}
.event-owner-edit summary{display:flex;justify-content:space-between;gap:12px;color:var(--jadeit-jasny);font-size:var(--ui-small, .875rem);font-weight:700;cursor:pointer;list-style:none}
.event-owner-edit summary::-webkit-details-marker{display:none}
.event-owner-edit form{display:grid;gap:12px;margin-top:16px}
.event-owner-edit label{display:grid;gap:6px;min-width:0}
.event-owner-edit label>span{color:var(--mgla);font-size:var(--ui-small, .875rem);letter-spacing:.06em;text-transform:uppercase}
.event-owner-edit input,.event-owner-edit select,.event-owner-edit textarea{width:100%;min-width:0;padding:12px;border:1px solid rgb(255 255 255/.12);border-radius:11px;color:var(--kreda);background:#0b0910;font:inherit}
.event-owner-edit textarea{resize:vertical;line-height:1.5}
.event-owner-edit__dates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.event-owner-edit__place{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:10px}
.event-owner-edit button{min-height:46px;border:0;border-radius:12px;color:#08110f;background:var(--bursztyn);font-weight:750;cursor:pointer}
@media(max-width:760px){
  .wydarzenie-preview{grid-template-columns:72px minmax(0,1fr)}
  .wydarzenie-preview>img{width:72px;height:96px}
  .wydarzenie-preview__pola{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}
  .wydarzenie-preview .kultura-preview__zapisz{grid-column:1/-1;width:100%}
  .wydarzenie-recznie__form{grid-template-columns:minmax(0,1fr)!important}
  .wydarzenie-recznie__form button{width:100%}
  .event-owner-edit__dates,.event-owner-edit__place{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:420px){
  .wydarzenia-dodaj{padding:17px}
  .wydarzenie-preview__pola{grid-template-columns:minmax(0,1fr)}
  .wydarzenie-preview .kultura-preview__krok{padding:10px 11px;font-size:var(--ui-small, .875rem)}
}

/* ========================================================================
   System nagłówków 6handshakes

   Jeden rytm na wszystkich ekranach: cienki grotesk prowadzi, a żółta
   kursywa redakcyjna dopowiada emocję. Numery pozostają wyłącznie na
   liniowej opowieści strony głównej; podstrony zachowują własne nazwy.
   ======================================================================== */
.siec-start__naglowek,
.paszport__tytul,
.app-home h1,
.swataj-app__naglowek h1,
.wydarzenia-hero h1,
.misje-hero h1,
.odkrywaj__hero h1,
.odkrywaj__hero h2,
.travel-hero__copy h1,
.profil-app__hero h1,
.kultura-hero h1,
.event-detail__intro h1,
.profil-publiczny__hero h1,
.event-publiczny__hero h1,
.pozycja-kultury__hero h1,
.naglowek1 {
  font-family: "Helvetica Neue", "Avenir Next", var(--display);
  font-size: var(--tytul-glowny);
  font-weight: 300;
  line-height: .98;
  letter-spacing: -.044em;
  color: var(--jadeit);
  text-shadow: none;
}

.home-rozdzial h2,
.most-zaufania__naglowek h2,
.travel-section-head h2,
.uczestnictwo__naglowek h2,
.pozycja-kultury__siec h2,
.naglowek2 {
  font-family: "Helvetica Neue", "Avenir Next", var(--display);
  font-size: var(--tytul-sekcji);
  font-weight: 300;
  line-height: 1;
  letter-spacing: -.038em;
  color: var(--jadeit);
}

.naglowek__interpunkcja {
  display: inline;
  margin-left: .035em;
  color: var(--jadeit);
  font-family: var(--display);
  font-size: .84em;
  font-style: normal;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
}

.siec-start__naglowek em,
.paszport__tytul em,
.app-home h1 em,
.swataj-app__naglowek h1 em,
.wydarzenia-hero h1 em,
.misje-hero h1 em,
.odkrywaj__hero h1 em,
.odkrywaj__hero h2 em,
.travel-hero__copy h1 em,
.profil-app__hero h1 em,
.kultura-hero h1 em,
.home-rozdzial h2 em,
.most-zaufania__naglowek h2 em,
.naglowek1 em,
.naglowek2 em {
  color: var(--bursztyn);
  font-family: var(--pismo);
  font-size: 1.06em;
  font-style: italic;
  font-weight: 400;
  letter-spacing: -.025em;
}

.home-rozdzial h2,
.most-zaufania__naglowek h2 {
  max-width: 14ch;
}

.tryby-wieczoru__intro .nadtytul,
.zapis__tekst .nadtytul {
  margin-bottom: .7rem;
  color: color-mix(in srgb, var(--jadeit) 76%, var(--kreda));
}

@media (max-width: 700px) {
  :root {
    --tytul-glowny: clamp(2.12rem, 9.5vw, 2.85rem);
    --tytul-sekcji: clamp(1.76rem, 8.05vw, 2.3rem);
  }

  .home-rozdzial h2,
  .most-zaufania__naglowek h2 {
    font-size: var(--tytul-sekcji);
    line-height: .98;
  }

  .strona-landing .siec-start__naglowek,
  .travel-hero__copy h1,
  .kultura-hero h1,
  .profil-publiczny__hero h1,
  .event-publiczny__hero h1 {
    font-size: var(--tytul-glowny);
  }
}

/* Przełącznik języka w stopce — dyskretny, aktywny wyróżniony. */
.stopka__jezyk { margin: .9rem 0 0; font-size: var(--ui-small, .875rem); color: var(--mgla); display: flex; gap: .45rem; align-items: center; }
.stopka__jezyk-opcja { color: var(--mgla); text-decoration: none; letter-spacing: .06em; }
.stopka__jezyk-opcja:hover { color: var(--atrament, inherit); text-decoration: underline; }
.stopka__jezyk-opcja.jest { color: var(--bursztyn, currentColor); font-weight: 700; }

/* Chip języka w nagłówku: zawsze widoczny, także na telefonie. */
.pasek__jezyk { display: inline-flex; align-items: center; gap: .35rem; padding: .4rem .7rem;
  border: 1px solid rgb(255 255 255 / .16); border-radius: 999px; text-decoration: none;
  color: var(--kreda, #eee); font-size: var(--ui-small, .875rem); font-weight: 700; letter-spacing: .05em; line-height: 1; }
.pasek__jezyk:hover { border-color: var(--bursztyn, #e9b44c); color: var(--bursztyn, #e9b44c); }
@media (max-width: 720px) { .pasek__jezyk .pasek__flaga-kod { display: none; } .pasek__jezyk { padding: .4rem .5rem; } }

/* Flagi na pasku (poza menu): na telefonie chowamy kod literowy, zostaje flaga. */
@media (max-width: 720px) {
  .pasek__jezyk { border-left: 0; padding-left: 0; }
  .pasek__flaga { padding: .3rem .3rem; }
  .pasek__flaga-kod { display: none; }
}

/* ══════════════════════════════════════════════════════════════════════
   KROKI LANDINGU (Wszystkie 6 kroków w spójnej, obłej ramce jak Krok 2)
   ══════════════════════════════════════════════════════════════════════ */
.krok-karta,
.most-zaufania,
.strona-landing .siec-start--home,
.strona-landing .home-glob,
.strona-landing .zaufanie-scroll--home,
.strona-landing .tryby-wieczoru,
.strona-landing .sekcja--zapis {
  scroll-margin-top: 6.5rem;
  width: min(1120px, calc(100% - 2rem)) !important;
  margin: clamp(2.5rem, 5vw, 4.5rem) auto !important;
  padding: clamp(1.4rem, 4vw, 2.5rem) !important;
  border: 1.5px solid color-mix(in srgb, var(--jadeit) 35%, var(--kresa-jasna)) !important;
  border-radius: clamp(22px, 3.5vw, 32px) !important;
  background: color-mix(in srgb, var(--noc) 90%, var(--jadeit) 10%) !important;
  box-shadow: var(--swiatlo-gorne), 0 24px 60px -12px rgb(0 0 0 / 0.6) !important;
  box-sizing: border-box !important;
  position: relative;
}

@media (max-width: 820px) {
  .krok-karta,
  .most-zaufania,
  .strona-landing .siec-start--home,
  .strona-landing .home-glob,
  .strona-landing .zaufanie-scroll--home,
  .strona-landing .tryby-wieczoru,
  .strona-landing .sekcja--zapis {
    width: calc(100% - 1.5rem) !important;
    padding: 1.4rem 1.2rem !important;
    border-radius: 24px !important;
    margin: 2rem auto !important;
  }
}

/* Dostosowania poszczególnych kroków wewnątrz ramek */
.strona-landing .home-glob {
  border-top: 1.5px solid color-mix(in srgb, var(--jadeit) 35%, var(--kresa-jasna)) !important;
}

.strona-landing .home-glob .home-rozdzial,
.strona-landing .zaufanie-scroll--home .home-rozdzial {
  margin-bottom: 1.4rem;
}

.strona-landing .sekcja--zapis .zapis {
  margin: 0;
  width: 100%;
}

.strona-landing .sekcja--zapis .zapis__form {
  background: rgb(13 10 17 / 0.7);
  border: 1px solid rgb(255 255 255 / 0.12);
  border-radius: 20px;
  box-shadow: var(--cien-blisko);
  padding: clamp(1.2rem, 3vw, 1.8rem);
}

.strona-landing .siec-start--home .siec-start__lead {
  color: #ffffff !important;
  font-size: clamp(1.05rem, 2vw, 1.3rem) !important;
  max-width: 58ch !important;
}

.strona-landing .siec-start--home .siec-start__licznik {
  font-size: 1rem !important;
  color: #ffffff !important;
}

.strona-landing .home-rozdzial > p:last-child {
  color: #ffffff !important;
  font-size: 1.05rem !important;
  line-height: 1.6 !important;
}

.strona-landing .zaufanie-scroll__pasek p {
  color: #ffffff !important;
  font-size: 1.05rem !important;
}

.strona-landing .paszport__metryka p,
.strona-landing .paszport__km-demo > span {
  font-size: .95rem !important;
  color: #ffffff !important;
}

.strona-landing .tryby-wieczoru .akapit {
  color: #ffffff !important;
  font-size: 1.05rem !important;
  line-height: 1.6 !important;
}

.strona-landing .wejscie__opis {
  color: #ffffff !important;
  font-size: 1.02rem !important;
  line-height: 1.5 !important;
}

.strona-landing .wejscie__numer {
  font-size: var(--ui-small, .875rem) !important;
  color: var(--jadeit-jasny) !important;
  font-weight: 700 !important;
}

.strona-landing .zapis__tekst .akapit {
  color: #ffffff !important;
  font-size: 1.05rem !important;
  line-height: 1.6 !important;
}

.strona-landing .pole__etykieta,
.strona-landing .zapis__drobne,
.strona-landing .wybor-trybu legend {
  color: #ffffff !important;
  font-size: .95rem !important;
}

.strona-landing .wybor-trybu__opcja span {
  color: #ffffff !important;
  font-size: 1.02rem !important;
}

.strona-landing .zapis__drobne a {
  color: var(--bursztyn-jasny) !important;
  text-decoration: underline !important;
}
/* feed jako otwarcie: lekko podbite tlo, zeby dzialal jak witryna z zyciem */
.strona-landing .home-feed {
  padding-top: clamp(1.2rem, 3vw, 2rem);
  background: radial-gradient(120% 90% at 50% 0%,
              rgb(32 201 154 / .05), transparent 55%);
}
/* hero po feedzie nie potrzebuje pelnej wysokosci ekranu */
.strona-landing .siec-start--home { min-height: auto; }

.katalog-filtry-panel[data-drawer-side="left"] { left: 0; right: auto; border-left: 0; border-right: 1px solid rgb(255 255 255 / .1); transform: translateX(-102%); }
.katalog-filtry-panel[data-drawer-side="left"].jest-otwarty { transform: translateX(0); }
@media (prefers-reduced-motion: reduce) { .katalog-filtry-panel { transition: none; } }

/* ══════════════════════════════════════════════════════════════════════
   NAV01 & NAV11 — PŁYWAJĄCA NAWIGACJA, DOCK PERSONALIZOWANY & CHMURKA PINEZKI
   ══════════════════════════════════════════════════════════════════════ */

/* Przycisk Narzędzi w TopBarze */
.pasek__tools-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.85rem;
  border-radius: 999px;
  border: 1px solid var(--kresa);
  background: color-mix(in srgb, var(--tusz) 60%, transparent);
  color: var(--kreda);
  font: inherit;
  font-size: 0.88rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s ease;
}
.pasek__tools-btn:hover,
.pasek__tools-btn:focus-visible {
  border-color: var(--bursztyn);
  color: var(--bursztyn);
  background: color-mix(in srgb, var(--bursztyn) 12%, transparent);
}
.pasek__ikona {
  font-size: 1.05rem;
  line-height: 1;
}

/* Przycisk pinezki w nagłówku strony */
.pasek__pin-wrap {
  display: inline-flex;
  align-items: center;
}

/* ── PRZYCISK PINEZKI I CHMURKA NAD NIM (NAV11) ── */
.pin-btn-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.pin-btn {
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 6px 8px;
  border-radius: 8px;
  color: var(--mgla);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  line-height: 1;
  transition: color 0.15s ease, background 0.15s ease, transform 0.15s ease;
  -webkit-tap-highlight-color: transparent;
}
.pin-btn:hover, .pin-btn:focus-visible {
  color: var(--bursztyn);
  background: color-mix(in srgb, var(--bursztyn) 14%, transparent);
  transform: scale(1.08);
}
.pin-btn.is-pinned {
  color: var(--bursztyn);
}

/* Obligatoryjna chmurka (tooltip bubble) umieszczona NAD pinezką */
.pin-bubble {
  position: absolute;
  bottom: calc(100% + 9px);
  left: 50%;
  transform: translateX(-50%);
  background: #181320;
  color: var(--kreda);
  border: 1px solid rgb(255 255 255 / 0.18);
  padding: 5px 10px;
  border-radius: 8px;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.25;
  white-space: nowrap;
  pointer-events: none;
  z-index: 1000;
  box-shadow: 0 8px 24px rgb(0 0 0 / 0.55);
  animation: pin-bubble-pop 0.16s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Trójkątny wskaźnik skierowany w dół do ikony pinezki */
.pin-bubble::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-width: 5px 5px 0 5px;
  border-style: solid;
  border-color: rgb(255 255 255 / 0.18) transparent transparent transparent;
}

@keyframes pin-bubble-pop {
  from { opacity: 0; transform: translate(-50%, 4px) scale(0.95); }
  to { opacity: 1; transform: translate(-50%, 0) scale(1); }
}

.pin-bubble.pin-bubble-right { left: auto; right: 0; transform: none; }
.pin-bubble.pin-bubble-right::after { left: auto; right: 12px; transform: none; }
.pin-bubble.pin-bubble-left { left: 0; transform: none; }
.pin-bubble.pin-bubble-left::after { left: 12px; transform: none; }

/* Dymek ostrzegawczy przy próbie dodania 7. pozycji (limit ADHD) */
.pin-bubble.pin-bubble-warn {
  border-color: var(--bursztyn);
  color: var(--bursztyn);
  box-shadow: 0 8px 24px color-mix(in srgb, var(--bursztyn) 25%, transparent);
}
.pin-bubble.pin-bubble-warn::after {
  border-color: var(--bursztyn) transparent transparent transparent;
}

/* Wiersz w menu/modalu: etykieta + pinezka po prawej */
.side-item-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  width: 100%;
  gap: 8px;
  padding: 0.4rem 0.6rem;
  border-radius: 12px;
  transition: background 0.15s ease;
}
.side-item-row:hover {
  background: rgb(255 255 255 / 0.04);
}
.side-item-row .pin-btn { opacity: 0.65; }
.side-item-row:hover .pin-btn,
.side-item-row:focus-within .pin-btn,
.side-item-row .pin-btn.is-pinned { opacity: 1; }

/* ── PŁYWAJĄCY DOCK MOBILNY (NAV11) ── */
.floating-bottom-dock {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: calc(66px + env(safe-area-inset-bottom, 0px));
  padding-bottom: env(safe-area-inset-bottom, 0px);
  background: rgb(13 10 17 / 0.96);
  border-top: 1px solid rgb(255 255 255 / 0.12);
  display: flex;
  align-items: center;
  z-index: 100;
  box-sizing: border-box;
  backdrop-filter: blur(24px) saturate(1.3);
  box-shadow: 0 -4px 30px rgb(0 0 0 / 0.7);
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.2s ease;
  will-change: transform;
}

/* Smart Scroll Reveal: zsuwanie w dół */
.floating-bottom-dock.dock-hidden {
  transform: translateY(105%);
}

/* Układ siatki dla max 6 przypiętych pozycji */
.floating-bottom-dock.dock-pinned {
  justify-content: space-around;
  overflow-x: hidden;
}

.floating-bottom-dock .dock-tab {
  flex: 1 1 0;
  min-width: 0;
  max-width: 82px;
  min-height: 48px;
  background: transparent;
  border: 0;
  color: #ffffff !important;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  padding: 4px 2px;
  font: inherit;
  text-decoration: none;
  position: relative;
  -webkit-tap-highlight-color: transparent;
  transition: color 0.15s ease, background 0.15s ease;
}
.floating-bottom-dock .dock-tab-glyph {
  font-size: 24px;
  line-height: 1.1;
  display: grid;
  place-items: center;
  color: inherit;
}
.floating-bottom-dock .dock-tab-lbl {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  color: inherit;
}
.floating-bottom-dock .dock-tab.active,
.floating-bottom-dock .dock-tab[aria-current="page"] {
  background: linear-gradient(135deg, #ffd33d, #ffae16) !important;
  color: #0c0a12 !important;
  border-radius: 14px;
  padding: 5px 8px;
  font-weight: 700;
  box-shadow: 0 3px 12px rgba(255, 174, 22, 0.35);
}
.floating-bottom-dock .dock-tab.active .dock-tab-glyph,
.floating-bottom-dock .dock-tab.active .dock-tab-lbl,
.floating-bottom-dock .dock-tab[aria-current="page"] .dock-tab-glyph,
.floating-bottom-dock .dock-tab[aria-current="page"] .dock-tab-lbl {
  color: #0c0a12 !important;
  font-weight: 700 !important;
}
.floating-bottom-dock .dock-tab:hover,
.floating-bottom-dock .dock-tab:focus-visible {
  color: #ffffff !important;
}

/* Przełącznik trybu: Dock (X/6) vs Wszystkie */
.dock-mode-badge {
  position: absolute;
  top: -24px;
  right: 14px;
  background: rgb(16 13 21 / 0.96);
  border: 1px solid rgb(255 255 255 / 0.15);
  border-bottom: 0;
  border-radius: 8px 8px 0 0;
  font-family: inherit;
  font-size: 11px;
  font-weight: 600;
  padding: 3px 10px;
  color: #cbd5e1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  z-index: 102;
  transition: color 0.15s ease, border-color 0.15s ease;
  -webkit-tap-highlight-color: transparent;
  backdrop-filter: blur(12px);
}
.dock-mode-badge:hover, .dock-mode-badge.active {
  color: #ffd33d;
  border-color: rgba(255, 211, 61, 0.45);
}

/* Pinned navigation is available on desktop as well as mobile. */
@media (min-width: 861px) {
  .floating-bottom-dock { left:50%; right:auto; bottom:16px; width:min(760px,calc(100% - 32px)); border:1px solid var(--kresa-jasna); border-radius:20px; transform:translateX(-50%); }
}

/* Margines dla treści chroniący przed zasłonięciem przez dolny dock */
main#tresc { padding-bottom:calc(100px + env(safe-area-inset-bottom, 0px)) !important; }

@media (prefers-reduced-motion: reduce) {
  .floating-bottom-dock { transition: none !important; }
  .pin-bubble { animation: none !important; }
}

/* ── MODAL NARZĘDZI (TOOLS MODAL) ── */
dialog.tools-modal {
  position: fixed;
  inset: 0;
  margin: auto;
  width: min(640px, calc(100vw - 28px));
  max-height: min(84vh, 760px);
  padding: 1.4rem;
  border: 1px solid rgb(255 255 255 / 0.16);
  border-radius: 20px;
  background: #110d18;
  color: var(--kreda);
  box-shadow: 0 24px 60px rgb(0 0 0 / 0.85);
  backdrop-filter: blur(24px);
  z-index: 150;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-sizing: border-box;
}
dialog.tools-modal:not([open]) {
  display: none;
}
dialog.tools-modal::backdrop {
  background: rgb(2 2 6 / 0.78);
  backdrop-filter: blur(6px);
}
.tools-modal__gora {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
  padding-bottom: 0.8rem;
  border-bottom: 1px solid rgb(255 255 255 / 0.08);
}
.tools-modal__tytul {
  font-size: 1.15rem;
  font-weight: 700;
  margin: 0;
  color: var(--kreda);
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.tools-modal__zamknij {
  background: transparent;
  border: 1px solid var(--kresa);
  border-radius: 50%;
  width: 34px;
  height: 34px;
  color: var(--mgla);
  cursor: pointer;
  display: grid;
  place-items: center;
  font-size: 18px;
  line-height: 1;
  transition: all 0.15s ease;
}
.tools-modal__zamknij:hover {
  color: var(--kreda);
  border-color: var(--bursztyn);
  background: rgb(255 255 255 / 0.06);
}
.tools-modal__szukaj {
  width: 100%;
  margin-bottom: 1rem;
  position: relative;
}
.tools-modal__szukaj input {
  width: 100%;
  padding: 0.65rem 1rem 0.65rem 2.4rem;
  border-radius: 12px;
  border: 1px solid rgb(255 255 255 / 0.12);
  background: rgb(255 255 255 / 0.04);
  color: var(--kreda);
  font: inherit;
  font-size: 0.9rem;
  box-sizing: border-box;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.tools-modal__szukaj input:focus {
  outline: none;
  border-color: var(--bursztyn);
  background: rgb(255 255 255 / 0.07);
}
.tools-modal__szukaj-ikona {
  position: absolute;
  left: 0.85rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--mgla);
  pointer-events: none;
  font-size: 14px;
}
.tools-modal__cialo {
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
  padding-right: 4px;
}
.tools-modal__kategoria-naglowek {
  font-size: var(--ui-small, .875rem);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--mgla);
  margin-bottom: 0.4rem;
  padding-left: 0.4rem;
}
.tools-modal__lista {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.tools-item-link {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex: 1;
  min-width: 0;
  text-decoration: none;
  color: inherit;
}
.tools-item-glyph {
  font-size: 1.35rem;
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  flex: none;
  border-radius: 8px;
  background: rgb(255 255 255 / 0.05);
}
.tools-item-info {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.tools-item-tytul {
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--kreda);
}
.tools-item-opis {
  font-size: var(--ui-small, .875rem);
  color: var(--mgla);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ══════════════════════════════════════════════════════════════════════
   UI01 — ZUNIFIKOWANY APPSHELL, SIATKA ROBOCZA I NAGŁÓWKI STRON (PAGE HERO)
   ══════════════════════════════════════════════════════════════════════ */

/* Wspólna siatka kontenera dla wszystkich ekranów roboczych aplikacji */
.app-workspace,
.travel-app,
.kultura-app,
.wydarzenia-app,
.swataj-app,
.profil-app,
.misje-app,
.aktywnosc-app,
.search-page,
.sekcja--wiadomosci,
.sekcja--znajomi,
.odkrywaj:not(.odkrywaj--home),
.paszport {
  width: min(var(--ramka, 1120px), 100%) !important;
  max-width: var(--ramka, 1120px) !important;
  margin-inline: auto !important;
  padding-inline: var(--app-shell-pad-x) !important;
  padding-top: var(--app-shell-pad-top) !important;
  padding-bottom: var(--app-shell-pad-bottom) !important;
  border-top: 0 !important;
  box-sizing: border-box !important;
}

/* Wewnątrz wydarzeń, feed odkrywania nie powiela zewnętrznych marginesów */
.wydarzenia-app .odkrywaj--wydarzenia {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Wewnętrzne ograniczenie szerokości formularzy i czytania (nie zwęża całego ekranu) */
.swataj-sciezki,
.swataj-panel,
.profil-app .formularz-profilu,
.profil-app .profil-form,
.sekcja--wiadomosci .szpalta,
.sekcja--znajomi .szpalta {
  max-width: 760px;
}

/* Spójny nagłówek podstrony roboczej */
.app-page-hero,
.odkrywaj:not(.odkrywaj--home) .odkrywaj__hero,
.travel-hero,
.kultura-hero,
.swataj-app__naglowek,
.profil-app__hero,
.misje-hero,
.aktywnosc-hero,
.search-page__hero {
  width: 100%;
  margin-bottom: clamp(1.4rem, 3vw, 2.4rem);
}

.app-page-hero h1,
.odkrywaj:not(.odkrywaj--home) .odkrywaj__hero h1,
.travel-hero h1,
.kultura-hero h1,
.swataj-app__naglowek h1,
.profil-app__hero h1,
.misje-hero h1,
.aktywnosc-hero h1,
.search-page__hero h1,
.sekcja--wiadomosci .naglowek1,
.sekcja--znajomi .naglowek1 {
  margin: 0;
  font-size: clamp(2.35rem, 6.5vw, 3.8rem);
  line-height: .95;
  letter-spacing: -.05em;
  font-weight: 500;
}

.app-page-hero h1 em,
.odkrywaj:not(.odkrywaj--home) .odkrywaj__hero h1 em,
.travel-hero h1 em,
.kultura-hero h1 em,
.swataj-app__naglowek h1 em,
.profil-app__hero h1 em,
.misje-hero h1 em,
.aktywnosc-hero h1 em,
.search-page__hero h1 em,
.sekcja--wiadomosci .naglowek1 em,
.sekcja--znajomi .naglowek1 em {
  color: var(--bursztyn);
  font-family: "Instrument Serif", serif;
  font-weight: 400;
}

.paszport__tytul {
  font-size: clamp(2.35rem, 6.5vw, 3.8rem) !important;
  line-height: .95 !important;
  letter-spacing: -.05em !important;
  font-weight: 500 !important;
}

.paszport__tytul em {
  color: var(--jadeit) !important;
  font-family: "Instrument Serif", serif !important;
  font-weight: 400 !important;
}

/* Zabezpieczenie stopki i dolnego docka NAV11 na ekranach roboczych */
.strona-aplikacji .stopka {
  display: none !important;
}

.strona-aplikacji {
  padding-bottom: calc(76px + env(safe-area-inset-bottom)) !important;
}

/* ══════════════════════════════════════════════════════════════════════
   MASTER TYPOGRAPHY & CARD FRAMES (Pełna unifikacja UI/UX, Biel, Obłe Ramki)
   v20260919-audit-unified-v2
   ══════════════════════════════════════════════════════════════════════ */

:root {
  --mgla: #ffffff !important;
  --mgla-cicha: #e2e8f0 !important;
  --kreda: #ffffff !important;
  --tekst-cichy: #cbd5e1 !important;
}

/* Ciemne szlachetne tło z ciepłym światłem na wszystkich podstronach */
body,
body.strona-landing,
body.strona-aplikacji,
body.strona-paszport,
body.strona-siec,
body.strona-teraz,
body.strona-wydarzenia,
body.strona-swataj,
body.strona-podroze,
body.strona-kultura,
body.strona-misje,
body.strona-zapro,
body.strona-profil,
body.strona-wiadomosci,
body.strona-znajomi,
body.strona-szukaj {
  background:
    radial-gradient(ellipse 140% 70% at 50% 0%, color-mix(in srgb, var(--lila) 12%, transparent) 0%, transparent 65%),
    radial-gradient(ellipse 80% 55% at 90% 30%, color-mix(in srgb, var(--jadeit) 6%, transparent) 0%, transparent 60%),
    var(--tusz) !important;
  color: #ffffff !important;
}

/* ──────────────────────────────────────────────────────────────────────
   ZUNIFIKOWANY SYSTEM OBŁYCH RAMEK (KROK-KARTA / APP-KARTA)
   Wszystkie 6 kroków na landing page oraz główne sekcje na podstronach
   ────────────────────────────────────────────────────────────────────── */
.krok-karta,
.strona-landing .krok-karta,
.strona-landing .siec-start--home,
.strona-landing .most-zaufania,
.strona-landing .home-glob,
.strona-landing .zaufanie-scroll--home,
.strona-landing .tryby-wieczoru,
.strona-landing .sekcja--zapis,
.strona-aplikacji .paszport,
.strona-aplikacji .travel-hero,
.strona-aplikacji .travel-builder,
.strona-aplikacji .kultura-dodaj,
.strona-aplikacji .poziom-karta,
.strona-aplikacji .misje-sekcja,
.strona-aplikacji .odznaki-sekcja,
.strona-aplikacji .historia-gry,
.strona-aplikacji .naglowek-trybu,
.strona-aplikacji .zasady-paska,
.strona-aplikacji .plany,
.strona-aplikacji .profil-app .formularz-profilu,
.strona-aplikacji .profil-app .szpalta,
.strona-aplikacji .sekcja--wiadomosci .szpalta,
.strona-aplikacji .sekcja--znajomi .szpalta,
.strona-aplikacji .odkrywaj:not(.odkrywaj--home) .odkrywaj__hero,
.strona-aplikacji .wydarzenia-app .kultura-dodaj,
.strona-aplikacji .search-page {
  width: min(1120px, calc(100% - 2rem)) !important;
  margin: clamp(1.8rem, 4.5vw, 3.5rem) auto !important;
  padding: clamp(1.5rem, 4vw, 2.8rem) !important;
  border: 1.5px solid color-mix(in srgb, var(--jadeit) 35%, var(--kresa-jasna)) !important;
  border-radius: clamp(22px, 3.5vw, 32px) !important;
  background: color-mix(in srgb, var(--noc) 90%, var(--jadeit) 10%) !important;
  box-shadow: var(--swiatlo-gorne), 0 24px 60px -12px rgb(0 0 0 / 0.65) !important;
  box-sizing: border-box !important;
  position: relative !important;
}

@media (max-width: 820px) {
  .krok-karta,
  .strona-landing .krok-karta,
  .strona-landing .siec-start--home,
  .strona-landing .most-zaufania,
  .strona-landing .home-glob,
  .strona-landing .zaufanie-scroll--home,
  .strona-landing .tryby-wieczoru,
  .strona-landing .sekcja--zapis,
  .strona-aplikacji .paszport,
      .strona-aplikacji .travel-hero,
  .strona-aplikacji .travel-builder,
  .strona-aplikacji .kultura-dodaj,
  .strona-aplikacji .poziom-karta,
  .strona-aplikacji .misje-sekcja,
  .strona-aplikacji .odznaki-sekcja,
  .strona-aplikacji .historia-gry,
  .strona-aplikacji .naglowek-trybu,
  .strona-aplikacji .zasady-paska,
  .strona-aplikacji .plany,
  .strona-aplikacji .profil-app .formularz-profilu,
  .strona-aplikacji .profil-app .szpalta,
  .strona-aplikacji .sekcja--wiadomosci .szpalta,
  .strona-aplikacji .sekcja--znajomi .szpalta,
  .strona-aplikacji .odkrywaj:not(.odkrywaj--home) .odkrywaj__hero,
  .strona-aplikacji .wydarzenia-app .kultura-dodaj,
  .strona-aplikacji .search-page {
    width: calc(100% - 1.5rem) !important;
    padding: 1.3rem 1.1rem !important;
    border-radius: 22px !important;
    margin: 1.3rem auto !important;
  }
}

/* ──────────────────────────────────────────────────────────────────────
   GLOBALNY FLOOR TYPOGRAFII I CZYSTA BIEL (ADHD / A11Y)
   Koniec z mikroskopijnymi czcionkami (8-11px) i brudną śliwką
   ────────────────────────────────────────────────────────────────────── */
p,
.akapit,
.hero__lead,
.odkrywaj__intro,
.siec-start__lead,
.home-rozdzial > p,
.zaufanie-scroll__pasek p,
.paszport__metryka p,
.paszport__intro,
.tryby-wieczoru .akapit,
.wejscie__opis,
.zapis__tekst .akapit,
.most-zaufania__naglowek > p,
.most-zaufania__kroki span,
.pole__etykieta,
.zapis__drobne,
.wybor-trybu legend,
.wybor-trybu__opcja span,
.travel-hero p,
.swataj-app p,
.kultura-app p,
.misje-app p,
.discovery-guidance p,
.discovery-reason,
.app-home__lokacja {
  color: #ffffff !important;
  font-size: max(0.95rem, 15px) !important;
  line-height: 1.6 !important;
}

/* Nagłówki — czysta biel z eleganckim złotym akcentem */
h1, h2, h3, h4,
.naglowek1, .naglowek2,
.siec-start__naglowek,
.paszport__tytul {
  color: #ffffff !important;
  letter-spacing: -0.02em !important;
}

h1 em, h2 em, h3 em, h4 em,
.naglowek1 em, .naglowek2 em,
.siec-start__naglowek em,
.paszport__tytul em {
  color: var(--bursztyn) !important;
  font-family: "Instrument Serif", serif !important;
  font-weight: 400 !important;
}

/* Zabezpieczenie minimalnego rozmiaru metadanych (STOP dla 8-11px) */
small,
time,
.meta,
.odkrywaj-chip,
.katalog-karta__tresc > span,
.event-karta__top span,
.event-karta__top p,
.travel-hero__passport > p,
.travel-hero__passport small,
.kregi__osoba small,
.kreg-szczegoly__metryki small,
.szuflada-szczegoly dt,
.paszport__postep-top span,
.lokalizacja-szybka__nota {
  color: #e2e8f0 !important;
  font-size: max(var(--ui-small, .875rem), 13.5px) !important;
  line-height: 1.45 !important;
}

/* Ukrycie technicznych elementów LosAgentOS */
.pasek__nav-standard,
.pasek__pin-wrap,
.dock-mode-badge,
[data-dock-mode-badge] {
  display: none !important;
}

.pasek__swataj {
  display: inline-flex !important;
}

/* Shared header: horizontal on desktop; one scrollable menu on phones/tablets. */
.pasek__nav { flex-direction: row; }
.pasek__link { white-space: nowrap; }

@media (max-width: 820px) {
  .pasek { min-height: 72px; padding: .6rem .85rem; gap: .5rem; }
  .marka { height: 48px; margin-right: auto; gap: .35rem; }
  .marka__znak { width: 40px; height: 40px; }
  .marka__slowo { font-size: 1.05rem; }
  .pasek__swataj { display: none !important; }
  .pasek__jezyk { margin: 0; padding: .2rem; gap: .15rem; border: 0; }
  .pasek__flaga { min-width: 40px; min-height: 44px; padding: .3rem; }
  .pasek__flaga img { width: 23px; height: 16px; }
  .pasek__flaga-kod { display: none; }
  .pasek__menu { width: 44px; height: 44px; }
  .pasek__prawa {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    flex-wrap: nowrap;
    gap: .75rem;
    padding: 1rem;
    max-height: calc(100dvh - 150px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .pasek__szukaj { display: flex; width: 100%; }
  .pasek__szukaj label { flex: 1; min-width: 0; }
  .pasek__szukaj input { width: 100%; }
  .pasek__nav, .pasek__konto {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: .5rem;
    width: 100%;
  }
  .pasek__konto { border-top: 1px solid var(--kresa); padding-top: .75rem; }
  .pasek__link, .pasek__profil {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 48px;
    padding: .7rem .9rem;
    border: 1px solid var(--kresa);
    border-radius: 12px;
    font-size: 1rem;
    text-align: left;
    white-space: normal;
  }
}

@media (max-width: 360px) {
  .marka__slowo { font-size: .9rem; }
  .marka__znak { width: 32px; height: 32px; }
}

/* ──────────────────────────────────────────────────────────────────────
   PŁYWAJĄCY DOCK MOBILNY (NAV11 — 5 równych, czytelnych zakładek)
   ────────────────────────────────────────────────────────────────────── */
.floating-bottom-dock {
  height: calc(58px + env(safe-area-inset-bottom, 0px)) !important;
  padding-bottom: env(safe-area-inset-bottom, 0px) !important;
  align-items: center !important;
  justify-content: space-around !important;
  box-shadow: 0 -8px 24px rgb(0 0 0 / 0.6) !important;
}

.dock-tabs-container {
  display: flex !important;
  width: 100% !important;
  align-items: center !important;
  justify-content: space-around !important;
}

.floating-bottom-dock .dock-tab {
  flex: 1 1 0 !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 4px 1px !important;
  color: #ffffff !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 1px !important;
}

.floating-bottom-dock .dock-tab-glyph {
  font-size: 20px !important;
  line-height: 1.1 !important;
  color: #ffffff !important;
}

.floating-bottom-dock .dock-tab-lbl {
  font-size: 11.5px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  letter-spacing: 0.01em !important;
}

.floating-bottom-dock .dock-tab.active,
.floating-bottom-dock .dock-tab[aria-current="page"] {
  background: linear-gradient(135deg, #ffd33d, #ffae16) !important;
  color: #000000 !important;
  font-weight: 800 !important;
  border-radius: 10px !important;
  padding: 4px 6px !important;
  box-shadow: 0 3px 10px rgba(255, 174, 22, 0.4) !important;
}

.floating-bottom-dock .dock-tab.active .dock-tab-glyph,
.floating-bottom-dock .dock-tab.active .dock-tab-lbl,
.floating-bottom-dock .dock-tab[aria-current="page"] .dock-tab-glyph,
.floating-bottom-dock .dock-tab[aria-current="page"] .dock-tab-lbl {
  color: #000000 !important;
  font-weight: 800 !important;
}



/* Event plans: scannable covers, date, place and two clear actions. */
.moje-spotkania { margin: 1.5rem auto 2rem; }
.moje-spotkania__naglowek { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.moje-spotkania__naglowek h2 { margin:0; font-size:1.4rem; }
.moje-spotkania__licznik { padding:.3rem .7rem; border:1px solid var(--kresa-jasna); border-radius:99px; color:var(--mgla-cicha); font-size:var(--ui-small, .875rem); white-space:nowrap; }
.moje-spotkania__lista { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin:0; padding:0; list-style:none; }
.moje-spotkania__pozycja { display:flex; flex-direction:column; min-width:0; overflow:hidden; border:1px solid var(--kresa-jasna); border-radius:20px; background:var(--noc); }
.moje-spotkania__okladka { position:relative; display:grid; place-items:center; aspect-ratio:1.85; overflow:hidden; background:radial-gradient(circle at 75% 20%,#38584c,transparent 65%),linear-gradient(135deg,#372851,#152b30); }
.moje-spotkania__okladka img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.moje-spotkania__okladka svg { width:46%; fill:none; stroke:var(--jadeit); stroke-width:3; }
.moje-spotkania__znacznik { position:absolute; bottom:.75rem; left:.75rem; background:rgb(13 10 17 / .92); color:var(--kreda); padding:.2rem .65rem; border-radius:99px; font-size:var(--ui-small, .875rem); }
.moje-spotkania__opis { display:flex; flex:1; flex-direction:column; padding:1rem; }
.moje-spotkania__opis h3 { margin:0 0 .6rem; font-size:1.1rem; line-height:1.3; }
.moje-spotkania__opis h3 a { text-decoration:none; }
.moje-spotkania__opis p { margin:0 0 .35rem; font-size:var(--ui-small, .875rem); line-height:1.4; }
.moje-spotkania__termin { color:var(--jadeit); }
.moje-spotkania__miejsce { color:var(--mgla-cicha); }
.moje-spotkania__akcje { display:flex; gap:.6rem; align-items:center; justify-content:space-between; margin-top:auto; padding-top:1rem; }
.moje-spotkania__akcje a { display:inline-flex; align-items:center; justify-content:center; gap:.6rem; min-height:44px; padding:.5rem .75rem; border-radius:12px; text-decoration:none; font-size:var(--ui-small, .875rem); }
.moje-spotkania__czat { background:var(--jadeit); color:var(--tusz); font-weight:700; }
.moje-spotkania__ludzie { border:1px solid var(--kresa-jasna); }
.strona-wydarzenia .wydarzenia-app .odkrywaj--wydarzenia > .odkrywaj__hero { width:100% !important; margin:1rem 0 1.5rem !important; padding:1.4rem !important; }
.strona-wydarzenia .odkrywaj__hero h1 { font-size:clamp(2rem,4vw,3rem); }
.strona-wydarzenia .odkrywaj__intro { margin-bottom:0; }
.wydarzenia-import { margin:1rem 0; border:1px solid var(--kresa); border-radius:16px; background:var(--noc); }
.wydarzenia-import > summary { display:flex; align-items:center; justify-content:space-between; min-height:48px; padding:.65rem 1rem; cursor:pointer; color:var(--jadeit); }
.wydarzenia-import > summary::-webkit-details-marker { display:none; }
.wydarzenia-import[open] > summary span { transform:rotate(45deg); }
.strona-aplikacji .wydarzenia-import .wydarzenia-dodaj { width:100% !important; margin:0 !important; border:0 !important; border-radius:0 0 16px 16px !important; box-shadow:none !important; padding:1rem !important; }
@media(max-width:820px) { .moje-spotkania__lista { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:540px) { .moje-spotkania__lista { grid-template-columns:1fr; } .moje-spotkania__okladka { aspect-ratio:2.3; } }

@media(max-width:620px) {
  .strona-wydarzenia .odkrywaj__hero-gora { display:flex; flex-direction:column; align-items:stretch; gap:1rem; }
  .strona-wydarzenia .odkrywaj__hero-akcje { display:flex; flex-direction:row; flex-wrap:wrap; justify-content:flex-start; }
}
