/* ===================================================================
   TRAP SIMULATOR — landing page
   Ciemny neon/uliczny motyw "premium". Vanilla CSS, mobile-first.
   Tło: animowany BOKEH (rozmyte kule) + glassmorphism karty.
   =================================================================== */

:root{
  --bg-0:#0a0e1a;
  --bg-1:#121829;

  /* Szkło (glassmorphism) — półprzezroczyste karty na bokeh */
  --glass:rgba(20,27,45,.55);
  --glass-2:rgba(25,34,58,.62);
  --glass-strong:rgba(13,18,32,.72);
  --border:rgba(120,140,200,.16);
  --border-soft:rgba(120,140,200,.10);
  --border-glow:rgba(241,196,15,.45);

  --text:#eef1f8;
  --text-dim:#a6b1cd;
  --text-faint:#727e9e;

  --gold:#f1c40f;
  --green:#27ae60;
  --magenta:#e91e8c;
  --blue:#7ec8e3;
  --violet:#9b59b6;
  --red:#e74c3c;

  --radius:18px;
  --radius-sm:11px;
  --maxw:1180px;

  --font-display:'Anton','Bebas Neue','Arial Narrow',Impact,system-ui,sans-serif;
  --font-display-alt:'Bebas Neue','Arial Narrow',Impact,system-ui,sans-serif;
  --font-body:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}

body{
  margin:0;
  font-family:var(--font-body);
  color:var(--text);
  /* Ciemny gradient bazowy — bokeh świeci nad nim */
  background:
    radial-gradient(1200px 700px at 80% -8%, rgba(155,89,182,.10), transparent 60%),
    linear-gradient(180deg, var(--bg-0) 0%, #0d1322 45%, var(--bg-1) 100%);
  background-attachment:fixed;
  min-height:100vh;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}

a{color:var(--blue);text-decoration:none;}
a:hover{text-decoration:underline;}
img{max-width:100%;display:block;}

h1,h2,h3{line-height:1.05;}

/* ===================================================================
   TŁO — BOKEH (rozmyte miękkie kule świetlne)
   Pełnoekranowa warstwa za treścią; transform/opacity = GPU-friendly.
   =================================================================== */
.bokeh{
  position:fixed;inset:0;z-index:-2;pointer-events:none;overflow:hidden;
}
.bk{
  position:absolute;display:block;border-radius:50%;
  filter:blur(60px);
  opacity:.6;
  will-change:transform,opacity;
  mix-blend-mode:screen;
}
/* Mocniejsza, wyrazniejsza widocznosc kul (user: bokeh ma byc widoczne) */
.bk-3,.bk-4,.bk-5,.bk-6,.bk-7,.bk-8,.bk-9,.bk-10,.bk-11,.bk-12,.bk-13,.bk-14{opacity:.6;}
/* paleta marki */
.bk-1{ width:340px;height:340px;left:-4%;top:8%;
  background:radial-gradient(circle, rgba(241,196,15,.9), transparent 70%);
  filter:blur(70px);animation:drift1 26s ease-in-out infinite;}
.bk-2{ width:420px;height:420px;right:-6%;top:2%;
  background:radial-gradient(circle, rgba(233,30,140,.85), transparent 70%);
  filter:blur(85px);animation:drift2 31s ease-in-out infinite;}
.bk-3{ width:280px;height:280px;left:30%;top:24%;
  background:radial-gradient(circle, rgba(126,200,227,.8), transparent 70%);
  filter:blur(60px);animation:drift3 22s ease-in-out infinite;opacity:.32;}
.bk-4{ width:500px;height:500px;left:55%;top:38%;
  background:radial-gradient(circle, rgba(155,89,182,.75), transparent 70%);
  filter:blur(90px);animation:drift1 35s ease-in-out infinite reverse;opacity:.3;}
.bk-5{ width:220px;height:220px;left:8%;top:55%;
  background:radial-gradient(circle, rgba(233,30,140,.8), transparent 70%);
  filter:blur(55px);animation:drift2 24s ease-in-out infinite;opacity:.34;}
.bk-6{ width:360px;height:360px;right:4%;top:60%;
  background:radial-gradient(circle, rgba(241,196,15,.7), transparent 70%);
  filter:blur(75px);animation:drift3 29s ease-in-out infinite reverse;opacity:.3;}
.bk-7{ width:300px;height:300px;left:40%;top:72%;
  background:radial-gradient(circle, rgba(126,200,227,.75), transparent 70%);
  filter:blur(65px);animation:drift1 27s ease-in-out infinite;opacity:.3;}
.bk-8{ width:260px;height:260px;left:-3%;top:82%;
  background:radial-gradient(circle, rgba(155,89,182,.8), transparent 70%);
  filter:blur(60px);animation:drift2 33s ease-in-out infinite reverse;opacity:.32;}
.bk-9{ width:200px;height:200px;right:18%;top:30%;
  background:radial-gradient(circle, rgba(126,200,227,.7), transparent 70%);
  filter:blur(50px);animation:drift3 20s ease-in-out infinite;opacity:.3;}
.bk-10{width:420px;height:420px;right:-8%;top:88%;
  background:radial-gradient(circle, rgba(233,30,140,.7), transparent 70%);
  filter:blur(85px);animation:drift1 38s ease-in-out infinite;opacity:.26;}
.bk-11{width:240px;height:240px;left:62%;top:6%;
  background:radial-gradient(circle, rgba(241,196,15,.7), transparent 70%);
  filter:blur(58px);animation:drift2 28s ease-in-out infinite reverse;opacity:.3;}
.bk-12{width:320px;height:320px;left:18%;top:40%;
  background:radial-gradient(circle, rgba(155,89,182,.7), transparent 70%);
  filter:blur(70px);animation:drift3 32s ease-in-out infinite;opacity:.26;}
.bk-13{width:180px;height:180px;left:78%;top:54%;
  background:radial-gradient(circle, rgba(126,200,227,.8), transparent 70%);
  filter:blur(48px);animation:drift1 23s ease-in-out infinite reverse;opacity:.3;}
.bk-14{width:300px;height:300px;left:48%;top:94%;
  background:radial-gradient(circle, rgba(241,196,15,.65), transparent 70%);
  filter:blur(72px);animation:drift2 36s ease-in-out infinite;opacity:.24;}

@keyframes drift1{
  0%,100%{transform:translate3d(0,0,0) scale(1);}
  50%    {transform:translate3d(60px,-40px,0) scale(1.18);}
}
@keyframes drift2{
  0%,100%{transform:translate3d(0,0,0) scale(1.05);}
  50%    {transform:translate3d(-50px,50px,0) scale(.85);}
}
@keyframes drift3{
  0%,100%{transform:translate3d(0,0,0) scale(.95);}
  33%    {transform:translate3d(45px,35px,0) scale(1.15);}
  66%    {transform:translate3d(-35px,-25px,0) scale(1);}
}

/* Delikatna ziarnistość — premium "film" feel, bardzo subtelna */
.grain{
  position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- Reveal on scroll ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1);}
.reveal.in{opacity:1;transform:none;}

@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none;}
  html{scroll-behavior:auto;}
  /* Bokeh statyczny — bez ruchu */
  .bk{animation:none!important;}
}

/* ---------- Brand ---------- */
.brand{display:inline-flex;align-items:center;gap:.55rem;color:var(--text);font-weight:800;}
.brand:hover{text-decoration:none;}
.brand-mark{
  color:var(--gold);font-size:1.05em;
  filter:drop-shadow(0 0 8px rgba(241,196,15,.6));
}
.brand-name{font-family:var(--font-display-alt);letter-spacing:1.8px;font-size:1.4rem;}

/* ---------- Nav ---------- */
.nav{
  position:sticky;top:0;z-index:50;
  background:rgba(8,12,22,.62);
  backdrop-filter:blur(16px) saturate(140%);
  -webkit-backdrop-filter:blur(16px) saturate(140%);
  border-bottom:1px solid var(--border-soft);
}
.nav-inner{
  max-width:var(--maxw);margin:0 auto;padding:.7rem 1.1rem;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
}
.nav-links{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;}
.nav-links a{color:var(--text-dim);font-weight:600;font-size:.95rem;padding:.45rem .7rem;border-radius:9px;transition:color .2s,background .2s;}
.nav-links a:hover{color:var(--text);background:rgba(255,255,255,.06);text-decoration:none;}
.nav-cta{
  color:#0a0e1a!important;
  background:linear-gradient(135deg,var(--gold),#ffd84d);
  font-weight:800;
  box-shadow:0 0 0 transparent;transition:box-shadow .25s,transform .2s;
}
.nav-cta:hover{box-shadow:0 0 20px rgba(241,196,15,.55);transform:translateY(-1px);}

/* ---------- Buttons ---------- */
.btn{
  position:relative;
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-weight:800;font-size:1rem;line-height:1;
  padding:.95rem 1.5rem;border-radius:13px;border:1px solid transparent;
  cursor:pointer;
  transition:transform .18s ease, box-shadow .3s ease, background .25s, border-color .25s, filter .25s;
  text-align:center;white-space:nowrap;
}
.btn:hover{text-decoration:none;transform:translateY(-3px);}
.btn:active{transform:translateY(-1px);}
.btn-sm{padding:.62rem 1.15rem;font-size:.92rem;}
.btn-ic{font-size:1.15em;}

.btn-primary{
  background:linear-gradient(135deg,#2ec26b,#1e8e4f);
  color:#fff;
  box-shadow:0 8px 26px rgba(39,174,96,.35), inset 0 0 0 1px rgba(255,255,255,.10);
}
.btn-primary:hover{box-shadow:0 14px 40px rgba(39,174,96,.55), 0 0 24px rgba(46,194,107,.4);filter:brightness(1.06);}

.btn-ghost{
  background:rgba(255,255,255,.04);
  color:var(--text);
  border:1px solid var(--border);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
.btn-ghost:hover{background:rgba(126,200,227,.12);border-color:var(--blue);box-shadow:0 0 18px rgba(126,200,227,.2);}

.btn-play{
  background:linear-gradient(135deg,#8e44ad,#c0392b);
  color:#fff;
  font-size:1.12rem;padding:1.08rem 2rem;
  box-shadow:0 8px 26px rgba(142,68,173,.38), inset 0 0 0 1px rgba(255,255,255,.10);
}
.btn-play:hover{box-shadow:0 14px 40px rgba(142,68,173,.6), 0 0 24px rgba(233,30,140,.4);filter:brightness(1.08);}

/* ---------- FAQ ---------- */
.faq{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:.7rem;}
.faq-item{
  background:rgba(255,255,255,.035);
  border:1px solid var(--border);
  border-radius:13px;
  padding:0 1.1rem;
  transition:border-color .25s, background .25s;
}
.faq-item[open]{border-color:var(--blue);background:rgba(126,200,227,.06);}
.faq-item summary{
  list-style:none;cursor:pointer;
  font-weight:700;font-size:1rem;color:var(--text);
  padding:1.05rem 1.6rem 1.05rem 0;position:relative;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{
  content:'+';position:absolute;right:.2rem;top:50%;transform:translateY(-50%);
  font-size:1.4rem;font-weight:400;color:var(--blue);transition:transform .25s;
}
.faq-item[open] summary::after{content:'–';}
.faq-body{padding:0 0 1.1rem;color:var(--text-faint);font-size:.94rem;line-height:1.6;}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;padding:5.5rem 1.1rem 4rem;}
.hero-glow{
  position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(560px 340px at 50% 0%, rgba(241,196,15,.12), transparent 70%),
    radial-gradient(640px 400px at 85% 35%, rgba(233,30,140,.10), transparent 70%);
}
.hero-inner{position:relative;max-width:var(--maxw);margin:0 auto;text-align:center;}

.badges{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:center;margin-bottom:1.6rem;}
.badge{
  font-size:.78rem;font-weight:700;letter-spacing:.4px;
  padding:.38rem .75rem;border-radius:999px;border:1px solid var(--border);
  background:rgba(255,255,255,.04);color:var(--text-dim);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.badge-ver{color:var(--gold);border-color:rgba(241,196,15,.4);background:rgba(241,196,15,.10);}
.badge-18{color:#fff;background:linear-gradient(135deg,var(--red),#c0392b);border-color:transparent;box-shadow:0 0 16px rgba(231,76,60,.45);}
.badge-plat{color:var(--blue);border-color:rgba(126,200,227,.35);}

.hero-title{
  position:relative;
  font-family:var(--font-display);
  font-weight:400;
  font-size:clamp(3.4rem, 14vw, 8.5rem);
  letter-spacing:2px;margin:.3rem 0 .5rem;line-height:.92;
  background:linear-gradient(135deg,#ffffff 0%, var(--gold) 38%, var(--magenta) 72%, var(--violet) 100%);
  background-size:200% 200%;
  -webkit-background-clip:text;background-clip:text;color:transparent;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 4px 30px rgba(241,196,15,.22)) drop-shadow(0 0 50px rgba(233,30,140,.18));
  animation:titleShimmer 9s ease-in-out infinite;
}
@keyframes titleShimmer{
  0%,100%{background-position:0% 50%;}
  50%    {background-position:100% 50%;}
}
@media (prefers-reduced-motion:reduce){.hero-title{animation:none;}}

.hero-tagline{font-size:clamp(1.2rem,3.5vw,1.85rem);font-weight:800;color:var(--text);margin:.4rem 0 1rem;letter-spacing:.3px;}
.hero-sub{max-width:700px;margin:0 auto 2.2rem;color:var(--text-dim);font-size:1.04rem;}

.cta-row{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-bottom:1.9rem;}
.btn-primary.btn-primary{font-size:1.12rem;padding:1.08rem 2rem;}
.cta-secondary{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;}

.hero-note{max-width:660px;margin:0 auto;font-size:.86rem;color:var(--text-faint);}
.warn{color:#ff8a7d;font-weight:800;letter-spacing:.5px;}

/* ---------- Infobar (glass) ---------- */
.infobar{padding:0 1.1rem;margin-top:-.6rem;position:relative;z-index:1;}
.infobar-inner{
  max-width:var(--maxw);margin:0 auto;
  background:var(--glass);
  border:1px solid var(--border);border-radius:var(--radius);
  backdrop-filter:blur(18px) saturate(130%);
  -webkit-backdrop-filter:blur(18px) saturate(130%);
  box-shadow:0 18px 50px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.05);
  display:grid;grid-template-columns:1fr;gap:.25rem;padding:.5rem;
}
.info-item{display:flex;align-items:center;gap:.8rem;padding:.8rem .95rem;border-radius:var(--radius-sm);transition:background .2s;}
.info-item:hover{background:rgba(255,255,255,.04);}
.info-ic{font-size:1.55rem;line-height:1;filter:drop-shadow(0 0 8px rgba(126,200,227,.3));}
.info-item strong{display:block;font-size:.98rem;}
.info-item span{display:block;font-size:.8rem;color:var(--text-faint);}

/* ---------- Sections ---------- */
.section{max-width:var(--maxw);margin:0 auto;padding:4.5rem 1.1rem;position:relative;z-index:1;}
.section-head{text-align:center;margin-bottom:2.6rem;}
.section-title{
  font-family:var(--font-display-alt);letter-spacing:1.8px;
  font-size:clamp(2.1rem,6vw,3.2rem);margin:0 0 .4rem;
  color:var(--text);
}
.section-title::after{
  content:"";display:block;width:72px;height:4px;margin:.8rem auto 0;border-radius:4px;
  background:linear-gradient(90deg,var(--gold),var(--magenta),var(--violet));
  box-shadow:0 0 16px rgba(233,30,140,.5);
}
.section-lead{color:var(--text-dim);margin:0;font-size:1.02rem;}

/* ---------- Cards / Features (glass) ---------- */
.card{
  background:var(--glass);
  border:1px solid var(--border);border-radius:var(--radius);
  backdrop-filter:blur(16px) saturate(125%);
  -webkit-backdrop-filter:blur(16px) saturate(125%);
  box-shadow:0 12px 36px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.04);
  padding:1.7rem;
}
.features{display:grid;grid-template-columns:1fr;gap:1.1rem;}
.feat{position:relative;overflow:hidden;transition:transform .25s ease, border-color .25s ease, box-shadow .3s ease;}
.feat::before{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(135deg, rgba(241,196,15,.08), transparent 40%);
  opacity:0;transition:opacity .3s;
}
.feat:hover{transform:translateY(-6px);border-color:var(--border-glow);box-shadow:0 22px 50px rgba(0,0,0,.45), 0 0 26px rgba(241,196,15,.12);}
.feat:hover::before{opacity:1;}
.feat-ic{font-size:2.4rem;line-height:1;display:block;margin-bottom:.75rem;filter:drop-shadow(0 0 14px rgba(233,30,140,.4));}
.feat h3{margin:.1rem 0 .55rem;font-size:1.25rem;font-weight:800;}
.feat p{margin:0;color:var(--text-dim);font-size:.96rem;}

/* ---------- Screenshots ---------- */
.shots{display:grid;grid-template-columns:1fr;gap:1.1rem;}
.shot{
  border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);aspect-ratio:16/10;
  box-shadow:0 14px 40px rgba(0,0,0,.38);
  transition:transform .25s,box-shadow .3s,border-color .25s;
  /* przycisk z tlem-obrazem (brak <img> = brak ikony „szukaj w sieci") */
  padding:0;margin:0;width:100%;display:block;cursor:pointer;
  background-size:cover;background-position:center;background-repeat:no-repeat;background-color:var(--glass-2);
  position:relative;
}
.shot::after{content:'🔍';position:absolute;right:10px;bottom:8px;font-size:1rem;opacity:0;transition:opacity .2s;filter:drop-shadow(0 2px 4px rgba(0,0,0,.7));}
.shot:hover,.shot:focus-visible{transform:translateY(-4px) scale(1.01);border-color:var(--border-glow);box-shadow:0 22px 55px rgba(0,0,0,.5);outline:none;}
.shot:hover::after,.shot:focus-visible::after{opacity:.9;}

/* ---------- Lightbox ---------- */
.lb{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;
  background:rgba(5,7,14,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  opacity:0;animation:lbIn .22s ease forwards;}
.lb[hidden]{display:none;}
@keyframes lbIn{to{opacity:1;}}
.lb-stage{width:min(92vw,1280px);height:min(82vh,800px);display:flex;align-items:center;justify-content:center;}
.lb-img{width:100%;height:100%;background-size:contain;background-position:center;background-repeat:no-repeat;
  border-radius:14px;box-shadow:0 30px 90px rgba(0,0,0,.7);}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(20,27,45,.7);color:#fff;
  border:1px solid var(--border);width:54px;height:72px;border-radius:12px;font-size:2.2rem;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:background .2s,transform .15s;}
.lb-nav:hover{background:rgba(241,196,15,.25);border-color:var(--border-glow);}
.lb-prev{left:max(12px,3vw);} .lb-next{right:max(12px,3vw);}
.lb-close{position:absolute;top:18px;right:max(14px,3vw);background:rgba(20,27,45,.7);color:#fff;border:1px solid var(--border);
  width:46px;height:46px;border-radius:10px;font-size:1.3rem;cursor:pointer;transition:background .2s;}
.lb-close:hover{background:rgba(231,76,60,.35);border-color:var(--red);}
.lb-counter{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);color:var(--text-dim);font-size:.9rem;
  background:rgba(20,27,45,.7);padding:.3rem .8rem;border-radius:20px;border:1px solid var(--border);}
@media (max-width:640px){ .lb-nav{width:40px;height:56px;font-size:1.6rem;} .lb-close{width:40px;height:40px;} }
.shot-ph{
  display:flex;align-items:center;justify-content:center;
  background:
    repeating-linear-gradient(45deg, rgba(255,255,255,.018) 0 14px, transparent 14px 28px),
    var(--glass-2);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  color:var(--text-faint);
}
.shot-ph span{
  font-family:var(--font-display-alt);letter-spacing:2.5px;font-size:1.35rem;
  border:1px dashed var(--border);padding:.55rem 1.1rem;border-radius:10px;
}

/* ---------- Patch notes ---------- */
.pn-controls{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.1rem;}
.pn-search{position:relative;display:flex;align-items:center;}
.pn-search-ic{position:absolute;left:.95rem;opacity:.6;pointer-events:none;}
.pn-search input{
  width:100%;padding:.9rem 1rem .9rem 2.6rem;
  background:var(--glass);border:1px solid var(--border);border-radius:13px;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  color:var(--text);font-size:1rem;font-family:inherit;
  transition:border-color .2s,box-shadow .2s;
}
.pn-search input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(126,200,227,.18);}
.pn-search input::placeholder{color:var(--text-faint);}

.pn-filters{display:flex;flex-wrap:wrap;gap:.45rem;}
.chip{
  font-size:.82rem;font-weight:700;
  padding:.42rem .85rem;border-radius:999px;
  background:var(--glass);border:1px solid var(--border);color:var(--text-dim);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  cursor:pointer;transition:all .18s ease;
}
.chip:hover{border-color:var(--blue);color:var(--text);transform:translateY(-1px);}
.chip[aria-pressed="true"]{
  background:linear-gradient(135deg,var(--gold),#ffd84d);border-color:transparent;color:#0a0e1a;
  box-shadow:0 0 16px rgba(241,196,15,.4);
}

.pn-meta{color:var(--text-faint);font-size:.85rem;margin:.2rem 0 1.2rem;}

.pn-list{display:flex;flex-direction:column;gap:1.1rem;}
.pn-loading{color:var(--text-dim);text-align:center;padding:2rem;}
.pn-error{
  color:var(--text);background:rgba(231,76,60,.12);border:1px solid rgba(231,76,60,.4);
  border-radius:var(--radius);padding:1.4rem 1.5rem;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.pn-error code{background:rgba(0,0,0,.4);padding:.15rem .45rem;border-radius:6px;color:var(--blue);font-size:.9em;}
.pn-empty{color:var(--text-dim);text-align:center;padding:2rem;}

.pn-entry{
  background:var(--glass);
  border:1px solid var(--border);border-radius:var(--radius);
  backdrop-filter:blur(16px) saturate(125%);
  -webkit-backdrop-filter:blur(16px) saturate(125%);
  box-shadow:0 12px 34px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.04);
  padding:1.4rem 1.5rem;
  transition:border-color .25s,box-shadow .3s;
}
.pn-entry:hover{border-color:rgba(241,196,15,.3);box-shadow:0 16px 40px rgba(0,0,0,.4);}
.pn-entry-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.65rem;margin-bottom:.4rem;}
.pn-ver{font-family:var(--font-display-alt);letter-spacing:1.2px;font-size:1.45rem;color:var(--gold);text-shadow:0 0 14px rgba(241,196,15,.3);}
.pn-date{font-size:.82rem;color:var(--text-faint);}
.pn-reporter{font-size:.78rem;color:#f7a3d5;background:rgba(233,30,140,.12);border:1px solid rgba(233,30,140,.35);padding:.16rem .6rem;border-radius:999px;}
.pn-title{font-size:1.08rem;font-weight:800;margin:.1rem 0 .9rem;color:var(--text);}
.pn-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem;}
.pn-item{display:flex;gap:.7rem;align-items:flex-start;}
.pn-item p{margin:0;color:var(--text-dim);font-size:.95rem;}

.tag{
  flex:0 0 auto;
  font-size:.68rem;font-weight:800;letter-spacing:.5px;text-transform:uppercase;
  padding:.24rem .55rem;border-radius:7px;margin-top:.15rem;
  border:1px solid transparent;white-space:nowrap;
}
.tag-fix,.tag-bugfix,.tag-critical{color:#ffb4ad;background:rgba(231,76,60,.16);border-color:rgba(231,76,60,.38);}
.tag-feature,.tag-new,.tag-add{color:#aef0c6;background:rgba(39,174,96,.16);border-color:rgba(39,174,96,.38);}
.tag-balance,.tag-balans,.tag-rebalance{color:#ffe28a;background:rgba(241,196,15,.15);border-color:rgba(241,196,15,.38);}
.tag-content{color:#f7b8df;background:rgba(233,30,140,.16);border-color:rgba(233,30,140,.38);}
.tag-ux,.tag-visual,.tag-polish{color:#bfe6f4;background:rgba(126,200,227,.16);border-color:rgba(126,200,227,.38);}
.tag-system,.tag-refactor,.tag-optimization,.tag-gameplay,.tag-change,.tag-audit,.tag-info{color:var(--text-dim);background:rgba(255,255,255,.06);border-color:var(--border);}

.pn-more-wrap{text-align:center;margin-top:1.8rem;}
.pn-more{min-width:190px;}

/* ---------- Footer ---------- */
.footer{
  border-top:1px solid var(--border-soft);margin-top:2.5rem;
  background:rgba(5,8,16,.45);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  position:relative;z-index:1;
}
.footer-inner{max-width:var(--maxw);margin:0 auto;padding:2.8rem 1.1rem;text-align:center;}
.footer-brand{display:flex;align-items:center;justify-content:center;gap:.65rem;margin-bottom:1.2rem;flex-wrap:wrap;}
.footer-warn{color:var(--text-dim);font-size:.92rem;max-width:640px;margin:.3rem auto;}
.footer-fiction{color:var(--text-faint);font-size:.85rem;max-width:640px;margin:.3rem auto 1.4rem;}
.footer-down{margin:1.2rem 0;}
.footer-copy{color:var(--text-faint);font-size:.8rem;margin:1rem 0 0;}

/* ===================================================================
   RESPONSIVE
   =================================================================== */
@media (min-width:560px){
  .infobar-inner{grid-template-columns:1fr 1fr;}
  .shots{grid-template-columns:1fr 1fr;}
  .cta-row{flex-direction:row;justify-content:center;flex-wrap:wrap;}
}
@media (min-width:820px){
  .infobar-inner{grid-template-columns:repeat(4,1fr);}
  .features{grid-template-columns:1fr 1fr;}
  .shots{grid-template-columns:repeat(3,1fr);}
  .pn-controls{flex-direction:row;align-items:center;}
  .pn-search{flex:1;}
}
@media (min-width:1040px){
  .features{grid-template-columns:repeat(3,1fr);}
}

/* Small screens: keep nav usable + lżejszy bokeh dla wydajności */
@media (max-width:480px){
  .nav-links a:not(.nav-cta){display:none;}
  .brand-name{font-size:1.2rem;}
}
@media (max-width:640px){
  .bk{filter:blur(45px)!important;}
  .bk-9,.bk-11,.bk-13,.bk-14{display:none;}
}

/* ===== v2.3.46: hero skyline canvas + sekcja trailera ===== */
#hero-skyline{position:absolute;left:0;bottom:0;width:100%;height:100%;z-index:0;display:block;pointer-events:none;opacity:.92}
.hero{position:relative;overflow:hidden}
.hero .hero-glow{z-index:1}
.hero .hero-inner{position:relative;z-index:2}
.trailer-sec{max-width:1000px;margin:0 auto;padding:64px 20px;text-align:center}
.sec-title{font-family:'Anton','Bebas Neue',Impact,sans-serif;font-size:clamp(26px,4vw,44px);letter-spacing:1px;margin:0 0 6px;color:#fff}
.sec-sub{color:#9fb3c8;font-size:15px;margin:0 auto;max-width:560px}
.trailer-frame{position:relative;max-width:880px;margin:22px auto 0;border-radius:16px;overflow:hidden;border:1px solid rgba(126,200,227,.25);box-shadow:0 20px 60px rgba(0,0,0,.55),0 0 70px rgba(233,30,140,.12)}
.trailer-frame video{display:block;width:100%;height:auto;background:#05060d}
.trailer-frame img.trailer-shot{display:block;width:100%;height:auto;background:#05060d}
.trailer-play{position:absolute;inset:0;margin:auto;width:84px;height:84px;border-radius:50%;border:none;background:rgba(233,30,140,.88);color:#fff;font-size:30px;line-height:84px;cursor:pointer;box-shadow:0 0 40px rgba(233,30,140,.6);transition:transform .2s ease,opacity .3s ease}
.trailer-play:hover{transform:scale(1.08)}
.trailer-play.hidden{opacity:0;pointer-events:none}

/* klikalny zwiastun + CTA */
.trailer-open{cursor:pointer;padding:0;border:1px solid rgba(126,200,227,.25);}
.trailer-open:hover{border-color:var(--magenta);}
.trailer-open:hover .trailer-cta{background:rgba(233,30,140,.95);transform:translateX(-50%) scale(1.05);}
.trailer-cta{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);display:inline-flex;align-items:center;gap:.5rem;background:rgba(233,30,140,.82);color:#fff;font-weight:800;font-size:.95rem;padding:.6rem 1.1rem;border-radius:999px;box-shadow:0 6px 24px rgba(0,0,0,.5);backdrop-filter:blur(4px);transition:transform .2s,background .2s;pointer-events:none;}
.trailer-cta-ic{font-size:.85rem;}

/* lightbox zwiastuna */
.vlb{position:fixed;inset:0;z-index:3000;display:flex;align-items:center;justify-content:center;background:rgba(4,6,12,.94);backdrop-filter:blur(8px);padding:2.5rem 1rem;box-sizing:border-box;}
.vlb[hidden]{display:none;}
.vlb-stage{width:100%;max-width:1100px;aspect-ratio:16/9;box-shadow:0 24px 80px rgba(0,0,0,.7),0 0 80px rgba(233,30,140,.18);border-radius:14px;overflow:hidden;border:1px solid rgba(126,200,227,.3);}
.vlb-video{display:block;width:100%;height:100%;object-fit:cover;background:#05060d;}
.vlb-close{position:absolute;top:1.1rem;right:1.3rem;width:46px;height:46px;border-radius:50%;border:none;background:rgba(255,255,255,.1);color:#fff;font-size:1.3rem;cursor:pointer;transition:background .2s,transform .2s;}
.vlb-close:hover{background:rgba(233,30,140,.85);transform:scale(1.08);}

@media (prefers-reduced-motion: reduce){ #hero-skyline{display:none} }
