
:root{
 --bg:#eef1f5;--surface:#fff;--surface2:#f7f8fa;--text:#17191f;--muted:#667085;
 --line:#e3e7ed;--purple:#8d2cac;--purple2:#b949d6;--pink:#e652dc;--cyan:#34b7e8;
 --red:#e53935;--dark:#0d0e12;--shadow:0 10px 30px rgba(16,24,40,.07);
}

/* NDT Player — prawa kolumna */
.ndt-music-player{background:linear-gradient(145deg,#0a0b0e,#241b0b);border:1px solid #c59523;border-radius:16px;padding:12px;color:#fff;box-shadow:0 14px 35px rgba(0,0,0,.16);overflow:hidden}
.ndt-player-kicker{font-size:10px;letter-spacing:.18em;font-weight:950;color:#f2c64b}.ndt-player-title{font-size:14px;font-weight:850;line-height:1.2;margin:5px 0 10px}.ndt-player-cover{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:12px;background:#171717}.ndt-player-track{font-size:15px;font-weight:900;margin-top:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ndt-player-artist{font-size:11px;color:#c8c1b3;margin:3px 0 9px}.ndt-player-controls{display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:6px}.ndt-player-controls button{border:1px solid #7e6429;border-radius:10px;background:#17130b;color:#f6ce5a;padding:8px;font-weight:900}.ndt-player-progress,.ndt-player-volume input{width:100%;accent-color:#d8a917}.ndt-player-progress{margin-top:9px}.ndt-player-volume{display:block;font-size:9px;color:#aaa;margin-top:3px}.ndt-player-volume input{vertical-align:middle}

*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif}
a{text-decoration:none;color:inherit}button{font:inherit}img{display:block;max-width:100%}
.topbar{position:sticky;top:0;z-index:80;background:rgba(13,14,18,.96);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.07)}
.topbar-inner{height:72px;max-width:1500px;margin:auto;padding:0 24px;display:flex;align-items:center;gap:24px}
.brand{display:flex;align-items:center;gap:11px;color:#fff;font-weight:950;letter-spacing:.08em}
.brand-logo{width:46px;height:46px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 1px rgba(214,88,242,.35),0 0 24px rgba(160,58,186,.15)}
.brand-logo img{width:100%;height:100%;object-fit:cover}.brand-name{white-space:nowrap}
.main-nav{height:100%;display:flex;align-items:center;gap:4px}
.main-nav a{height:100%;display:flex;align-items:center;padding:0 13px;color:#c8cbd4;font-size:14px;font-weight:800;position:relative}
.main-nav a:hover,.main-nav a.active{color:#fff}.main-nav a.active:after{content:"";height:3px;background:linear-gradient(90deg,var(--purple2),var(--cyan));position:absolute;left:12px;right:12px;bottom:0;border-radius:3px}
.top-spacer{flex:1}.icon-btn{width:40px;height:40px;border:0;border-radius:50%;background:#1b1d24;color:#fff;font-size:22px;cursor:pointer}
.app-btn{padding:11px 15px;border:1px solid #743186;background:linear-gradient(135deg,#2c1234,#17121a);color:#fff;border-radius:12px;font-weight:900}
.breaking{background:#fff;border-bottom:1px solid #dfe3e8}.breaking-inner{height:40px;max-width:1500px;margin:auto;padding:0 24px;display:flex;align-items:center;gap:9px;font-size:13px;color:#333943}
.live-dot{width:9px;height:9px;border-radius:50%;background:var(--red);box-shadow:0 0 0 5px rgba(229,57,53,.1)}
.page-shell{max-width:1500px;margin:auto;padding:18px 24px 50px}
.hero-ad{position:relative;height:285px;background:#06070a;border-radius:20px;overflow:hidden;box-shadow:0 18px 44px rgba(18,22,33,.13);margin-bottom:18px}
.ad-slide{position:absolute;inset:0;opacity:0;transform:scale(1.01);transition:opacity .7s ease,transform 1s ease}.ad-slide.active{opacity:1;transform:scale(1)}
.ad-slide img{width:100%;height:100%;object-fit:contain;background:#030407}.ad-label{position:absolute;z-index:4;right:14px;top:14px;padding:5px 8px;border-radius:7px;background:rgba(0,0,0,.67);color:#fff;font-size:10px;font-weight:800;letter-spacing:.08em}
.social-layout{display:grid;grid-template-columns:230px minmax(0,820px) 260px;gap:18px;align-items:start;justify-content:center}
.left-rail,.right-rail{position:sticky;top:130px;display:grid;gap:14px;min-width:0}
.rail-card,.partners-card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 5px 18px rgba(16,24,40,.035);overflow:hidden}
.profile-card{position:relative}.profile-cover{height:74px;background:radial-gradient(circle at 20% 0%,#7b2c9e 0,#28122f 34%,#0e1118 100%)}
.profile-avatar{width:76px;height:76px;border-radius:50%;object-fit:cover;border:4px solid #fff;position:absolute;top:36px;left:18px;box-shadow:0 6px 16px rgba(0,0,0,.12)}
.profile-content{padding:48px 18px 18px}.profile-content h2{margin:0 0 3px;font-size:20px}.profile-content p{margin:0;color:#697386;font-size:13px}.profile-content span{display:block;margin-top:10px;color:#8a93a1;font-size:11px;line-height:1.4}
.nav-card{padding:8px}.side-link{display:flex;align-items:center;gap:11px;padding:12px;border-radius:12px;font-weight:800;font-size:13px;color:#343944}.side-link span{width:24px;text-align:center}.side-link:hover,.side-link.active{background:#f4edf7;color:#76238f}
.mini-card,.info-card{padding:17px}.mini-card strong,.info-card strong{display:block;margin-bottom:7px}.mini-card p,.info-card p{margin:0 0 12px;color:#717a88;font-size:12px;line-height:1.5}.mini-card button{width:100%;border:0;background:#1b1d23;color:#fff;padding:10px;border-radius:10px;font-weight:900;cursor:pointer}
.feed-col{min-width:0}.build-card{background:linear-gradient(135deg,#fff 0%,#fbf8fd 58%,#f4f8fb 100%);border:1px solid #e5d9e9;border-radius:20px;padding:24px 25px;display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;box-shadow:var(--shadow);margin-bottom:14px}
.build-card .eyebrow{font-size:11px;font-weight:950;letter-spacing:.17em;color:#9a37b4}.build-card h1{font-size:42px;letter-spacing:-.04em;margin:7px 0 6px;line-height:1}.build-card p{margin:0;color:#666f7d;line-height:1.55;font-size:14px}
.install-big{background:linear-gradient(135deg,#8f2fab,#5d2676);color:#fff;padding:13px 16px;border-radius:12px;font-weight:950;box-shadow:0 10px 24px rgba(105,42,128,.2);white-space:nowrap}
.quick-tabs{display:flex;gap:8px;overflow:auto;padding:2px 0 13px}.quick-tab{white-space:nowrap;border:1px solid #dde2e8;background:#fff;color:#596170;border-radius:999px;padding:9px 13px;font-weight:800;font-size:12px;cursor:pointer}.quick-tab.active{border-color:#c47ad7;background:#faf1fc;color:#7d2a94}
.composer-card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 6px 18px rgba(16,24,40,.035);margin-bottom:16px;padding:14px 16px}
.composer-top{display:flex;gap:10px;align-items:center}.composer-top img{width:42px;height:42px;border-radius:50%;object-fit:cover}.composer-top button{flex:1;border:0;background:#f1f3f6;color:#808896;border-radius:999px;text-align:left;padding:13px 16px;cursor:pointer}
.composer-actions{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #edf0f3;margin-top:12px;padding-top:10px}.composer-actions span{text-align:center;color:#687180;font-size:12px;font-weight:800}
.section-block{margin-bottom:16px}.section-title{display:flex;align-items:end;justify-content:space-between;margin:0 4px 10px}.section-title h2{margin:0;font-size:20px}.section-title p{margin:3px 0 0;color:#87909e;font-size:11px}.section-title .muted{color:#929aa7;font-size:11px}
.pinned-list,.feed{display:grid;gap:14px}.post-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 8px 24px rgba(16,24,40,.05);transition:.2s}.post-card:hover{transform:translateY(-2px);box-shadow:0 13px 30px rgba(16,24,40,.08)}
.post-media{aspect-ratio:16/9;background:#11141a;overflow:hidden}.post-media img{width:100%;height:100%;object-fit:cover}.post-body{padding:16px 17px}.meta{display:flex;gap:7px;flex-wrap:wrap;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}
.badge{padding:5px 7px;border-radius:7px;background:#f0f2f5;color:#596372}.badge.hot{background:#fff0ef;color:#c52b2b}.badge.pin{background:#f8edfb;color:#8729a1}
.post-card h3{font-size:21px;margin:11px 0 7px;line-height:1.25}.post-card p{margin:0;color:#697280;line-height:1.55;font-size:13px}.time{margin-top:12px;color:#9ba3af;font-size:11px}
.rail-heading{padding:0 4px;display:flex;justify-content:space-between;align-items:end}.rail-heading span{font-weight:950;font-size:14px}.rail-heading small{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#9098a5}
.partners-card{padding:12px}.partner-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}.partner-card{width:100%;min-width:0;aspect-ratio:1/1;background:#fff;border:1px solid #e3e7ed;border-radius:16px;padding:9px;display:grid;place-items:center;overflow:hidden}.partner-card img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}
.community-card{background:linear-gradient(135deg,#12141b,#22142a);color:#fff;border-radius:20px;padding:24px;display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;box-shadow:0 14px 34px rgba(21,16,27,.13)}.community-card .eyebrow{color:#dc76f4;font-size:10px;font-weight:950;letter-spacing:.16em}.community-card h3{margin:7px 0;font-size:22px}.community-card p{margin:0;color:#c2c6cf;line-height:1.5;font-size:13px}.community-card button{border:0;border-radius:11px;background:#fff;color:#15171d;padding:12px 14px;font-weight:950}
.footer{background:#0c0e13;color:#8f98a7;border-top:1px solid #1f222b;padding:28px 24px 50px}.footer-inner{max-width:1500px;margin:auto;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
@media(max-width:1250px){.social-layout{grid-template-columns:210px minmax(0,1fr) 220px}.partner-list{grid-template-columns:1fr}.hero-ad{height:245px}}
@media(max-width:1000px){.social-layout{grid-template-columns:minmax(0,1fr) 220px}.left-rail{display:none}.hero-ad{height:220px}}
@media(max-width:760px){.page-shell{padding:10px}.topbar-inner{height:64px;padding:0 12px}.main-nav{display:none}.brand-name{font-size:14px}.hero-ad{height:155px;border-radius:14px;margin-bottom:10px}.social-layout{grid-template-columns:1fr}.right-rail{position:static;order:2}.feed-col{order:1}.partners-card{overflow:hidden}.partner-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.partner-card{border-radius:13px}.build-card{grid-template-columns:1fr;padding:18px}.build-card h1{font-size:34px}.install-big{text-align:center}.composer-actions{font-size:11px}.community-card{grid-template-columns:1fr}.right-rail .info-card{display:none}.rail-heading{margin-top:5px}.app-btn{padding:9px 11px;font-size:12px}.icon-btn{display:none}}

/* v3.1 — cover/banner fix */
.page-shell{overflow:hidden}
.hero-ad{
  width:100%;
  max-width:1310px;
  height:auto;
  aspect-ratio:2048/762;
  margin:18px auto;
  border-radius:18px;
  background:#08090d;
}
.hero-ad .ad-slide{display:none!important}
.hero-ad .ad-slide:first-of-type{
  display:block!important;
  opacity:1!important;
  transform:none!important;
}
.hero-ad .ad-slide:first-of-type img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.hero-ad .ad-label{display:none}
@media(max-width:760px){
 .hero-ad{margin:10px auto 12px;border-radius:12px;aspect-ratio:2048/762}
}


/* =========================
   v3.2 — masthead + reklamy
   ========================= */
.page-shell{
  max-width:1500px;
  margin:auto;
  padding:18px 24px 50px;
  overflow:visible!important;
}
.masthead-grid{
  display:grid;
  grid-template-columns:170px minmax(0,1fr) 170px;
  gap:16px;
  align-items:start;
  margin-bottom:18px;
}
.masthead-center{min-width:0}
.cover-fixed{
  width:100%;
  aspect-ratio:2048/762;
  border-radius:20px;
  overflow:hidden;
  background:#05060a;
  box-shadow:0 16px 36px rgba(16,24,40,.11);
}
.cover-fixed img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.dynamic-ad{
  position:relative;
  width:100%;
  height:150px;
  margin-top:14px;
  border-radius:16px;
  overflow:hidden;
  background:#fff;
  border:1px solid #e0e4ea;
  box-shadow:0 8px 24px rgba(16,24,40,.05);
}
.dynamic-ad .ad-slide{
  position:absolute;
  inset:0;
  opacity:0;
  transform:translateY(6px) scale(.995);
  transition:opacity .65s ease,transform .8s ease;
}
.dynamic-ad .ad-slide.active{
  opacity:1;
  transform:none;
}
.dynamic-ad .ad-slide img{
  width:100%;
  height:100%;
  object-fit:contain;
  background:#fff;
}
.dynamic-ad .ad-label{
  display:block;
  position:absolute;
  z-index:5;
  right:10px;
  top:10px;
  font-size:9px;
  letter-spacing:.12em;
  font-weight:900;
  color:#656d79;
  background:rgba(255,255,255,.9);
  border:1px solid #e1e4e9;
  border-radius:7px;
  padding:5px 7px;
}
.sponsor-side{
  position:sticky;
  top:126px;
  min-width:0;
}
.side-title{
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:10px;
  color:#7c8592;
  font-weight:950;
  margin:0 0 9px 3px;
}
.side-partners{
  display:grid;
  gap:10px;
}
.side-partners .partner-card{
  width:100%;
  aspect-ratio:1/1;
  background:#fff;
  border:1px solid #e2e6ec;
  border-radius:18px;
  padding:10px;
  overflow:hidden;
  box-shadow:0 6px 18px rgba(16,24,40,.04);
}
.side-partners .partner-card img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.mobile-partners-wrap{display:none}

.social-layout{
  display:grid;
  grid-template-columns:230px minmax(0,820px) 230px;
  gap:18px;
  align-items:start;
  justify-content:center;
}
.right-rail{position:sticky;top:126px}

@media(max-width:1250px){
  .masthead-grid{grid-template-columns:140px minmax(0,1fr) 140px}
  .dynamic-ad{height:135px}
}
@media(max-width:1000px){
  .masthead-grid{grid-template-columns:110px minmax(0,1fr) 110px;gap:10px}
  .dynamic-ad{height:120px}
  .social-layout{grid-template-columns:minmax(0,1fr) 220px}
  .left-rail{display:none}
}
@media(max-width:760px){
  .page-shell{padding:10px}
  .masthead-grid{display:block;margin-bottom:10px}
  .sponsor-side{display:none}
  .cover-fixed{border-radius:14px;aspect-ratio:2048/762}
  .dynamic-ad{height:96px;margin-top:10px;border-radius:12px}
  .dynamic-ad .ad-slide img{object-fit:contain}
  .mobile-partners-wrap{
    display:block;
    background:#fff;
    border:1px solid #e0e4ea;
    border-radius:14px;
    padding:10px;
    margin-bottom:12px;
    overflow:hidden;
  }
  .mobile-partners-title{
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.13em;
    color:#7c8592;
    font-weight:950;
    margin:0 0 8px 2px;
  }
  .mobile-partners{
    display:flex;
    gap:8px;
    overflow-x:auto;
    padding-bottom:2px;
    scrollbar-width:none;
  }
  .mobile-partners::-webkit-scrollbar{display:none}
  .mobile-partners .partner-card{
    flex:0 0 76px;
    width:76px;
    height:76px;
    aspect-ratio:1/1;
    border:1px solid #e3e6eb;
    border-radius:14px;
    padding:7px;
    background:#fff;
    overflow:hidden;
  }
  .mobile-partners .partner-card img{
    width:100%;
    height:100%;
    object-fit:contain;
  }
  .social-layout{grid-template-columns:1fr}
  .right-rail{display:none}
}

/* ==========================================================
   TEAM TV v4 PREMIUM — polish for public preview
   ========================================================== */
:root{
 --premium-bg:#eef1f6;
 --premium-card:rgba(255,255,255,.94);
 --premium-line:rgba(25,31,45,.09);
 --premium-shadow:0 14px 42px rgba(23,28,40,.09);
 --premium-shadow-soft:0 7px 24px rgba(23,28,40,.06);
 --team-purple:#8e2aae;
 --team-purple-dark:#59136f;
}
body{
 background:
 radial-gradient(circle at 50% 310px,rgba(154,49,188,.075),transparent 430px),
 linear-gradient(180deg,#f7f8fb 0,#eef1f6 760px,#f4f5f8 100%);
}
.topbar{
 background:rgba(13,14,19,.94);
 backdrop-filter:blur(18px);
 -webkit-backdrop-filter:blur(18px);
 border-bottom:1px solid rgba(255,255,255,.07);
 box-shadow:0 8px 30px rgba(0,0,0,.12);
}
.brand-logo{
 box-shadow:0 0 0 1px rgba(210,79,255,.25),0 0 25px rgba(172,44,218,.17);
}
.main-nav a{
 position:relative;
 transition:.2s ease;
}
.main-nav a:hover{color:#fff;transform:translateY(-1px)}
.main-nav a.active:after{
 content:"";
 position:absolute;
 left:16%;right:16%;bottom:-18px;height:3px;
 border-radius:10px;
 background:linear-gradient(90deg,#ef36e6,#8129bd);
 box-shadow:0 0 12px rgba(225,55,240,.65);
}
.app-btn{
 background:linear-gradient(135deg,rgba(133,33,157,.36),rgba(63,16,79,.58));
 border-color:rgba(225,92,255,.42);
 box-shadow:0 8px 25px rgba(113,24,139,.16);
}
.breaking{
 background:rgba(255,255,255,.91);
 backdrop-filter:blur(10px);
 border-bottom:1px solid #e1e4e9;
}
.cover-fixed{
 border:1px solid rgba(255,255,255,.8);
 box-shadow:0 20px 48px rgba(19,22,34,.16),0 0 0 1px rgba(64,20,81,.06);
}
.dynamic-ad{
 border-color:rgba(45,51,67,.09);
 box-shadow:var(--premium-shadow-soft);
}
.partner-card,.rail-card,.composer-card,.build-card,.post-card,.mobile-partners-wrap{
 background:var(--premium-card)!important;
 border-color:var(--premium-line)!important;
 box-shadow:var(--premium-shadow-soft)!important;
}
.side-partners .partner-card{
 transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.side-partners .partner-card:hover{
 transform:translateY(-3px);
 box-shadow:0 12px 28px rgba(24,28,39,.11)!important;
 border-color:rgba(142,42,174,.22)!important;
}
.profile-card{overflow:hidden}
.profile-cover{
 background:
 radial-gradient(circle at 35% 60%,rgba(211,45,239,.55),transparent 24%),
 linear-gradient(135deg,#17111d,#371146 52%,#11141c);
}
.profile-avatar{
 box-shadow:0 8px 25px rgba(25,14,31,.2),0 0 0 4px #fff;
}
.profile-content h2{letter-spacing:-.02em}
.nav-card{padding:8px}
.side-link{
 border-radius:12px;
 transition:.18s ease;
}
.side-link:hover{background:#f5eff8;transform:translateX(2px)}
.side-link.active{
 background:linear-gradient(90deg,#f3e8f7,#faf7fc);
 color:#7c1b98;
}
.build-card{
 position:relative;
 overflow:hidden;
 border:1px solid rgba(146,46,174,.16)!important;
 background:
 radial-gradient(circle at 85% 0,rgba(189,64,222,.11),transparent 36%),
 linear-gradient(135deg,#fff,#fbf8fd 55%,#f6f8fc)!important;
}
.build-card:before{
 content:"";
 position:absolute;
 left:0;top:0;bottom:0;width:4px;
 background:linear-gradient(#e244e8,#6c1b91);
}
.build-card h1{
 letter-spacing:-.045em;
 line-height:.94;
}
.install-big{
 border-radius:13px;
 background:linear-gradient(135deg,#9b2ab9,#63167e);
 box-shadow:0 10px 25px rgba(117,28,144,.22);
 transition:.2s ease;
}
.install-big:hover{transform:translateY(-2px);box-shadow:0 15px 30px rgba(117,28,144,.27)}
.quick-tab{
 box-shadow:0 3px 12px rgba(27,32,45,.035);
 transition:.18s ease;
}
.quick-tab:hover{transform:translateY(-1px);border-color:rgba(143,39,171,.25)}
.composer-card{overflow:hidden}
.composer-top button{
 background:#f1f3f7;
 transition:.18s ease;
}
.composer-top button:hover{background:#ebeef4}
.composer-actions span{transition:.18s ease}
.composer-actions span:hover{background:#f6f1f8}
.section-title h2{letter-spacing:-.025em}
.post-card{
 overflow:hidden;
 transition:transform .22s ease,box-shadow .22s ease;
}
.post-card:hover{
 transform:translateY(-3px);
 box-shadow:var(--premium-shadow)!important;
}
.post-media{overflow:hidden}
.post-media img{transition:transform .5s ease}
.post-card:hover .post-media img{transform:scale(1.025)}
.post-body h3{letter-spacing:-.025em}
.badge.hot{
 background:#fff0f0;
 color:#d51f2a;
 border-color:#ffcdd0;
}
.info-card{
 background:
 linear-gradient(145deg,#fff,#fbf8fd)!important;
}
.footer{
 background:#101116;
 border-top:1px solid rgba(255,255,255,.07);
}
@media(max-width:760px){
 body{background:#f2f4f8}
 .topbar{backdrop-filter:blur(14px)}
 .cover-fixed{box-shadow:0 10px 28px rgba(19,22,34,.13)}
 .build-card h1{font-size:clamp(32px,10vw,48px)}
 .dynamic-ad{box-shadow:0 5px 18px rgba(23,28,40,.07)}
}

.app-promo{
 margin:18px 0;
 min-height:245px;
 border-radius:22px;
 border:1px solid rgba(130,37,158,.15);
 padding:28px 30px;
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:25px;
 overflow:hidden;
 position:relative;
 background:
 radial-gradient(circle at 82% 42%,rgba(191,49,221,.17),transparent 31%),
 linear-gradient(135deg,#15111b 0,#25122e 56%,#111722 100%);
 box-shadow:0 16px 40px rgba(25,18,31,.14);
 color:#fff;
}
.app-promo:after{
 content:"";
 position:absolute;inset:auto -80px -130px auto;
 width:330px;height:330px;border-radius:50%;
 border:1px solid rgba(228,72,255,.18);
 box-shadow:0 0 70px rgba(200,55,233,.08);
}
.app-promo-copy{max-width:520px;position:relative;z-index:2}
.app-kicker{
 display:block;color:#e86cff;font-size:11px;font-weight:900;
 letter-spacing:.16em;margin-bottom:8px;
}
.app-promo h2{font-size:34px;line-height:1;letter-spacing:-.04em;margin:0 0 12px}
.app-promo p{color:#d2cbd7;line-height:1.55;margin:0 0 20px}
.app-promo a{
 display:inline-block;text-decoration:none;color:#fff;font-weight:900;
 background:linear-gradient(135deg,#ad31c8,#6a1b87);
 padding:12px 17px;border-radius:12px;
 box-shadow:0 10px 26px rgba(181,47,207,.22);
}
.phone-demo{
 width:142px;height:238px;border:6px solid #25262b;border-radius:28px;
 background:#090a0e;padding:8px;position:relative;z-index:2;
 transform:rotate(3deg);box-shadow:0 18px 35px rgba(0,0,0,.32),0 0 30px rgba(195,49,227,.16);
}
.phone-island{
 position:absolute;top:7px;left:50%;transform:translateX(-50%);
 width:52px;height:13px;border-radius:10px;background:#08090b;z-index:3;
}
.phone-screen{
 height:100%;border-radius:18px;
 background:linear-gradient(165deg,#19101e,#090b12 58%,#151026);
 display:flex;flex-direction:column;align-items:center;padding:29px 8px 8px;
}
.phone-screen img{width:55px;height:55px;object-fit:contain;border-radius:50%;margin-bottom:7px}
.phone-screen strong{font-size:15px}
.phone-screen small{font-size:8px;color:#b6afbb;margin-top:2px}
.push-card{
 width:100%;margin-top:19px;background:rgba(255,255,255,.95);color:#16171b;
 border-radius:9px;padding:8px;font-size:7px;box-shadow:0 6px 18px rgba(0,0,0,.25);
 display:flex;flex-direction:column;gap:3px;
}
.push-card b{color:#d51d29;font-size:7px}
@media(max-width:760px){
 .app-promo{min-height:220px;padding:22px 18px;border-radius:17px}
 .app-promo h2{font-size:29px}
 .app-promo p{font-size:13px;padding-right:72px}
 .phone-demo{position:absolute;right:-24px;bottom:-38px;width:112px;height:194px;opacity:.92}
 .app-promo-copy{z-index:3}
}

/* =====================================================
   TEAM TV v4.1 — Facebook-style scrolling architecture
   ===================================================== */
.page-shell{
  max-width:1320px!important;
  margin:0 auto!important;
  padding:18px 20px 50px!important;
  overflow:visible!important;
}

.social-layout{
  display:grid!important;
  grid-template-columns:220px minmax(0,760px) 230px!important;
  gap:18px!important;
  align-items:start!important;
  justify-content:center!important;
}

.feed-col{min-width:0!important}

/* Boki zostają na ekranie */
.left-rail,.right-rail{
  position:static!important;
  min-width:0!important;
}
.left-sticky,.right-sticky{
  position:sticky!important;
  top:128px!important;
  display:grid!important;
  gap:14px!important;
  max-height:calc(100vh - 145px);
  overflow:auto;
  scrollbar-width:none;
}
.left-sticky::-webkit-scrollbar,.right-sticky::-webkit-scrollbar{display:none}

/* Banner TEAM TV jedzie wyłącznie ze środkiem */
.cover-fixed{
  width:100%!important;
  aspect-ratio:2048/762!important;
  height:auto!important;
  margin:0 0 12px!important;
  border-radius:18px!important;
  overflow:hidden!important;
}
.cover-fixed img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}

/* Reklama pod coverem; jest zwykłym elementem feedu */
.dynamic-ad{
  position:relative!important;
  width:100%!important;
  height:115px!important;
  margin:0 0 14px!important;
  border-radius:15px!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid rgba(30,35,48,.08)!important;
}
.dynamic-ad .ad-slide{
  position:absolute!important;
  inset:0!important;
  opacity:0!important;
  transition:opacity .65s ease,transform .8s ease!important;
  transform:scale(.995)!important;
}
.dynamic-ad .ad-slide.active{
  opacity:1!important;
  transform:none!important;
}
.dynamic-ad .ad-slide img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  background:#fff!important;
}
.dynamic-ad .ad-label{
  display:block!important;
  position:absolute!important;
  z-index:6!important;
  right:8px!important;
  top:8px!important;
  background:rgba(255,255,255,.9)!important;
  color:#737b87!important;
  border:1px solid #e2e5ea!important;
  border-radius:7px!important;
  padding:4px 6px!important;
  font-size:8px!important;
  font-weight:900!important;
  letter-spacing:.11em!important;
}

/* Partnerzy desktop - jeden uporządkowany panel */
.partners-card{padding:10px!important;overflow:hidden!important}
.partner-list{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:9px!important;
  width:100%!important;
}
.partner-list .partner-card{
  min-width:0!important;
  width:100%!important;
  aspect-ratio:1/1!important;
  height:auto!important;
  padding:7px!important;
  overflow:hidden!important;
}
.partner-list .partner-card img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
}

/* Mobile partners off by default */
.mobile-partners-wrap{display:none!important}

/* Węższy desktop/tablet: jeden boczny panel */
@media(max-width:1080px){
 .page-shell{max-width:980px!important}
 .social-layout{
   grid-template-columns:190px minmax(0,1fr) 190px!important;
   gap:12px!important;
 }
 .dynamic-ad{height:105px!important}
}

/* tablet: chowamy prawy bok, partnerzy idą na dół */
@media(max-width:860px){
 .page-shell{max-width:760px!important}
 .social-layout{
   grid-template-columns:180px minmax(0,1fr)!important;
   gap:12px!important;
 }
 .right-rail{display:none!important}
 .mobile-partners-wrap{
   display:block!important;
   margin:14px 0 0!important;
   background:#fff!important;
   border:1px solid rgba(30,35,48,.08)!important;
   border-radius:15px!important;
   padding:10px!important;
 }
 .mobile-partners-title{
   font-size:10px!important;
   text-transform:uppercase!important;
   letter-spacing:.12em!important;
   color:#7a8390!important;
   font-weight:950!important;
   margin-bottom:8px!important;
 }
 .mobile-partners{
   display:flex!important;
   gap:8px!important;
   overflow-x:auto!important;
   scrollbar-width:none!important;
 }
 .mobile-partners::-webkit-scrollbar{display:none!important}
 .mobile-partners .partner-card{
   flex:0 0 76px!important;
   width:76px!important;
   height:76px!important;
   border:1px solid #e2e5e9!important;
   border-radius:13px!important;
   padding:6px!important;
   overflow:hidden!important;
   background:#fff!important;
 }
 .mobile-partners .partner-card img{
   width:100%!important;
   height:100%!important;
   object-fit:contain!important;
 }
}

/* Telefon: jeden czysty feed, boki zamienione w UI mobilne */
@media(max-width:680px){
 .page-shell{
   max-width:none!important;
   padding:10px!important;
 }
 .social-layout{
   display:block!important;
 }
 .left-rail,.right-rail{
   display:none!important;
 }
 .cover-fixed{
   border-radius:13px!important;
   margin-bottom:9px!important;
 }
 .dynamic-ad{
   height:92px!important;
   border-radius:12px!important;
   margin-bottom:10px!important;
 }
 .mobile-partners-wrap{
   display:block!important;
   margin:10px 0 14px!important;
 }
 .mobile-partners .partner-card{
   flex-basis:70px!important;
   width:70px!important;
   height:70px!important;
 }
 .build-card{margin-top:0!important}
 .app-promo{margin-top:14px!important}
}

/* =========================================================
   v4.2 FIX — DESKTOP: BOKI NAPRAWDĘ STOJĄ, JEDZIE TYLKO ŚRODEK
   ========================================================= */
@media (min-width:1081px){
  .page-shell{
    max-width:1320px!important;
    margin:0 auto!important;
    padding:18px 20px 50px!important;
    overflow:visible!important;
  }

  .social-layout{
    position:relative!important;
    display:grid!important;
    grid-template-columns:220px minmax(0,760px) 230px!important;
    gap:18px!important;
    justify-content:center!important;
    align-items:start!important;
  }

  /* Rezerwujemy miejsce w gridzie, ale zawartość boków przyklejamy
     bezpośrednio do viewportu. */
  .left-rail,.right-rail{
    position:relative!important;
    min-height:1px!important;
  }

  .left-sticky{
    position:fixed!important;
    top:128px!important;
    left:max(20px, calc(50vw - 650px))!important;
    width:220px!important;
    max-height:calc(100vh - 145px)!important;
    overflow-y:auto!important;
    z-index:20!important;
  }

  .right-sticky{
    position:fixed!important;
    top:128px!important;
    right:max(20px, calc(50vw - 650px))!important;
    width:230px!important;
    max-height:calc(100vh - 145px)!important;
    overflow-y:auto!important;
    z-index:20!important;
  }

  .feed-col{
    grid-column:2!important;
    width:100%!important;
    min-width:0!important;
  }
}

/* Na mniejszych ekranach wracamy do normalnego responsywnego układu. */
@media (max-width:1080px){
  .left-sticky,.right-sticky{
    position:sticky!important;
    top:128px!important;
    left:auto!important;
    right:auto!important;
    width:auto!important;
  }
}

/* v4.3 — nowe logo TEAM TV */
.brand-logo img,
.profile-avatar,
.composer-top img,
.phone-screen img{
  object-fit:cover !important;
  background:#090a0f;
}
.brand-logo{
  border-radius:50%;
  overflow:hidden;
}

/* =====================================================
   TEAM TV v4.4 — MOBILE MENU
   Hamburger na środku + lewe menu PC jako wysuwany panel
   ===================================================== */
.mobile-menu-btn,.mobile-drawer,.mobile-drawer-backdrop{display:none}

@media(max-width:680px){
  .topbar-inner{
    position:relative!important;
    min-height:74px!important;
  }

  .main-nav,.icon-btn{display:none!important}

  .brand{max-width:190px!important}

  .mobile-menu-btn{
    display:flex!important;
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    transform:translate(-50%,-50%)!important;
    width:46px!important;
    height:46px!important;
    padding:0!important;
    border:1px solid rgba(202,45,255,.45)!important;
    border-radius:13px!important;
    background:linear-gradient(145deg,#24252d,#111218)!important;
    box-shadow:0 8px 24px rgba(105,0,135,.18)!important;
    align-items:center!important;
    justify-content:center!important;
    flex-direction:column!important;
    gap:5px!important;
    z-index:45!important;
  }
  .mobile-menu-btn span{
    display:block!important;
    width:21px!important;
    height:2px!important;
    border-radius:3px!important;
    background:#fff!important;
  }

  .app-btn{
    margin-left:auto!important;
    padding:11px 13px!important;
    font-size:14px!important;
  }

  .mobile-drawer{
    display:block!important;
    position:fixed!important;
    top:0!important;
    left:0!important;
    bottom:0!important;
    width:min(86vw,340px)!important;
    z-index:1001!important;
    padding:18px!important;
    background:rgba(17,18,24,.985)!important;
    color:#fff!important;
    box-shadow:18px 0 50px rgba(0,0,0,.34)!important;
    transform:translateX(-105%)!important;
    transition:transform .28s cubic-bezier(.2,.8,.2,1)!important;
    overflow-y:auto!important;
  }
  .mobile-drawer.open{transform:translateX(0)!important}

  .mobile-drawer-backdrop{
    display:block!important;
    position:fixed!important;
    inset:0!important;
    z-index:1000!important;
    background:rgba(3,4,8,.52)!important;
    backdrop-filter:blur(3px)!important;
    opacity:0!important;
    pointer-events:none!important;
    transition:opacity .25s ease!important;
  }
  .mobile-drawer-backdrop.open{
    opacity:1!important;
    pointer-events:auto!important;
  }
  body.mobile-menu-open{overflow:hidden!important}

  .mobile-drawer-head{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    padding-bottom:17px!important;
    border-bottom:1px solid rgba(255,255,255,.1)!important;
  }
  .mobile-drawer-title{
    display:flex!important;
    align-items:center!important;
    gap:11px!important;
  }
  .mobile-drawer-title img{
    width:48px!important;
    height:48px!important;
    border-radius:50%!important;
    object-fit:cover!important;
    box-shadow:0 0 20px rgba(215,35,255,.2)!important;
  }
  .mobile-drawer-title strong{
    display:block!important;
    font-size:17px!important;
    letter-spacing:.08em!important;
  }
  .mobile-drawer-title small{
    display:block!important;
    margin-top:3px!important;
    color:#9ca1ad!important;
  }
  .mobile-menu-close{
    width:39px!important;
    height:39px!important;
    border:0!important;
    border-radius:50%!important;
    background:#292a32!important;
    color:#fff!important;
    font-size:27px!important;
    line-height:1!important;
  }

  .mobile-side-nav{
    display:grid!important;
    gap:7px!important;
    margin-top:18px!important;
  }
  .mobile-side-nav a{
    display:flex!important;
    align-items:center!important;
    gap:13px!important;
    min-height:52px!important;
    padding:0 15px!important;
    border-radius:13px!important;
    color:#f7f7fa!important;
    text-decoration:none!important;
    font-weight:800!important;
    font-size:15px!important;
  }
  .mobile-side-nav a span{
    width:25px!important;
    text-align:center!important;
  }
  .mobile-side-nav a.active{
    background:linear-gradient(90deg,rgba(187,32,224,.28),rgba(103,31,147,.22))!important;
    color:#fff!important;
    border:1px solid rgba(215,72,255,.22)!important;
  }
  .mobile-side-nav a:active{background:#2a2b34!important}
}

/* =====================================================
   TEAM TV — wspolna rama WWW + poprawione sloty PARTNER
   2026-09-19
   Boki sa stale; zmienia sie tylko srodkowa zawartosc.
   ===================================================== */
@media (min-width:1081px){
  .page-shell{max-width:1320px!important;margin:0 auto!important;padding-left:20px!important;padding-right:20px!important}
  .social-layout{grid-template-columns:220px minmax(0,760px) 230px!important;gap:18px!important;align-items:start!important;justify-content:center!important}
  .feed-col{width:100%!important;min-width:0!important}
}

/* Glowny poziomy PARTNER: zawsze szerokosc srodkowej kolumny i jedna proporcja. */
.dynamic-ad{
  width:100%!important;
  height:auto!important;
  aspect-ratio:6/1!important;
  min-height:0!important;
  margin:0 0 14px!important;
  border-radius:15px!important;
  background:#07070a!important;
}
.dynamic-ad .ad-slide,.dynamic-ad .ad-slide.active{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
}
.dynamic-ad .ad-slide img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
  background:#07070a!important;
}

/* Dolny wysuwany PARTNER ma identyczna geometrie jak srodkowy slot. */
.ttv-scroll-ad{
  width:min(760px,calc(100vw - 36px))!important;
  bottom:14px!important;
}
.ttv-scroll-ad__inner{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:6/1!important;
  border-radius:15px!important;
  background:#07070a!important;
}
.ttv-scroll-ad__inner > div:not(.ttv-scroll-ad__placeholder){
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
}
.ttv-scroll-ad__inner .ad-slide,
.ttv-scroll-ad__inner .ad-slide.active{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
}
.ttv-scroll-ad__inner img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
  background:#07070a!important;
}
/* Stary alternatywny pasek partnerow nie jest juz uzywany przy scrollu. */
.ttv-mobile-partners{display:none!important}

@media(max-width:760px){
  .dynamic-ad{aspect-ratio:6/1!important;border-radius:12px!important}
  .ttv-scroll-ad{width:calc(100vw - 22px)!important;bottom:10px!important}
  .ttv-scroll-ad__inner{aspect-ratio:6/1!important;border-radius:12px!important}
}

/* TEAM TV v4.7 — slot PARTNER dopasowany do proporcji konkretnej grafiki */
.dynamic-ad{
  aspect-ratio:var(--partner-ratio,6/1)!important;
  overflow:hidden!important;
}
.dynamic-ad .ad-slide img{
  width:100%!important;height:100%!important;object-fit:fill!important;background:transparent!important;
}
.ttv-scroll-ad{
  width:min(560px,calc(100vw - 36px))!important;
}
.ttv-scroll-ad__inner{
  aspect-ratio:var(--partner-ratio,6/1)!important;
  overflow:hidden!important;
}
.ttv-scroll-ad__inner img{
  width:100%!important;height:100%!important;object-fit:fill!important;background:transparent!important;
}
@media(max-width:760px){
 .ttv-scroll-ad{width:min(92vw,560px)!important}
}

/* RADIO TEAM TV — stały przycisk pod kaflem MUZYKA w prawej kolumnie WWW */
.teamtv-radio-link{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-top:10px;padding:12px 13px;border:1px solid #c52d91;border-radius:14px;background:linear-gradient(135deg,#1a0715,#331027);color:#fff;box-shadow:0 10px 28px rgba(197,45,145,.16);transition:.18s ease}
.teamtv-radio-link:hover{transform:translateY(-1px);border-color:#ef61c3;box-shadow:0 13px 32px rgba(197,45,145,.24)}
.teamtv-radio-link b{display:block;font-size:13px;letter-spacing:.04em}.teamtv-radio-link small{display:block;margin-top:2px;color:#d9b8cf;font-size:10px}.teamtv-radio-link strong{font-size:18px;color:#ff72cb}.teamtv-radio-dot{width:11px;height:11px;border-radius:50%;background:#ff2b5f;box-shadow:0 0 0 4px rgba(255,43,95,.12),0 0 13px rgba(255,43,95,.75)}
