/* ===== PREMIUM 4.10.2026: THE HOME OF AI SLOP (CTO). Osobny moduł: usunięcie linku w index.html zdejmuje całą warstwę. ===== */
.top-in>.logo{flex-direction:column;align-items:flex-start;gap:4px}
.home-slop{display:block;font:10px/1 var(--f-head);letter-spacing:.14em;background:var(--acid);color:#000;padding:3px 6px;transform:rotate(-2deg);white-space:nowrap;box-shadow:2px 2px 0 #000;margin-left:4px}
@media (max-width:1180px){.home-slop{display:none}}
/* taśma policyjna krzyżująca górny ticker */
.ptape{overflow:hidden;background:repeating-linear-gradient(-45deg,#111 0 14px,var(--acid) 14px 28px);transform:rotate(.7deg);margin:6px -12px 0;position:relative;z-index:29;padding:3px 0;box-shadow:0 3px 0 rgba(0,0,0,.5)}
.ptape .pt-in{display:flex;width:max-content;animation:tick 55s linear infinite reverse;background:var(--acid);font:13px/1 var(--f-head);letter-spacing:.18em;color:#000;padding:5px 0}
.ptape .pt-in span{padding:0 22px} .ptape .pt-in b{color:var(--alert);font-weight:400}
body[data-view=reels] .ptape{display:none}
/* dolny krzywy pasek LIVE */
.livebar{position:fixed;left:-14px;right:-14px;bottom:9px;z-index:54;display:flex;align-items:stretch;background:var(--paper);color:#000;transform:rotate(-.45deg);border-top:3px solid #000;border-bottom:3px solid #000;box-shadow:0 -4px 0 var(--pink);font:14px/1 var(--f-ui);height:36px}
.lb-tag{flex:none;display:flex;align-items:center;padding:0 14px 0 26px;background:var(--alert);color:#fff;font:15px var(--f-head);letter-spacing:.08em}
.lb-win{flex:1;overflow:hidden;display:flex;align-items:center}
.lb-tk{display:flex;align-items:center;width:max-content;animation:tick 80s linear infinite;white-space:nowrap}
.livebar:hover .lb-tk{animation-play-state:paused}
.lb-e{display:inline-flex;align-items:center;gap:6px;padding:0 4px} .lb-e i{font-style:normal} .lb-e b{font-weight:700}
.lb-tk em{font-style:normal;color:var(--pink);padding:0 14px;font-family:var(--f-head)}
.lb-chat{color:#5b1a8f} .lb-fakenews b{background:var(--acid);padding:1px 3px}
body{padding-bottom:var(--lb-h, 56px)}
#dock{bottom:60px} .peek.on{bottom:66px}
body[data-view=reels] .livebar{display:none}
@media (max-width:760px){
  .livebar{bottom:calc(60px + env(safe-area-inset-bottom));height:28px;font-size:12px} .lb-tag{padding:0 8px 0 18px;font-size:12px}
  body{padding-bottom:calc(100px + env(safe-area-inset-bottom))}
  #dock{bottom:calc(104px + env(safe-area-inset-bottom))}
}
/* powiadomienia */
.lb-pop{position:fixed;top:200px;right:16px;z-index:80;display:flex;flex-direction:column;gap:8px;pointer-events:none;max-width:min(340px,calc(100vw - 32px))}
.lb-n{display:flex;gap:10px;align-items:center;background:#000;color:var(--paper);border:2px solid var(--paper);box-shadow:4px 4px 0 var(--pink);padding:10px 12px;font:14px/1.25 var(--f-ui);transform:rotate(-1.2deg);animation:pop2 .35s cubic-bezier(.3,1.6,.5,1);transition:.5s}
.lb-n:nth-child(2n){transform:rotate(1deg);box-shadow:4px 4px 0 var(--acid)}
.lb-n i{font-style:normal;font-size:22px} .lb-n b{color:var(--acid)}
.lb-n.out{opacity:0;transform:translateX(40px) rotate(4deg)}
/* FAKE NEWS: wycinki prasowe */
.fn-page{max-width:1440px;margin:0 auto;padding:18px}
.fn-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:6px 0 18px}
.fn-hero .hand{font-family:var(--f-hand);font-size:20px;color:#ddd;max-width:640px;margin:10px 0 0}
.fn-hero-deco{width:150px;flex:none}
.fn-form{background:var(--paper);color:#111;padding:16px 18px;max-width:760px;transform:rotate(-.5deg);box-shadow:6px 6px 0 var(--pink);margin-bottom:28px;font-family:var(--f-body)}
.fn-form p{margin:8px 0 12px;font-size:14px}
.fn-form input{display:block;width:100%;margin:0 0 8px;padding:10px;border:2px solid #111;background:#fff;color:#111;font:15px var(--f-body)}
.fn-form-a{display:flex;gap:10px;flex-wrap:wrap} .fn-form .btn-login{color:#111;border-color:#111}
.fn-form #fnOut .fn-clip{margin-top:14px;box-shadow:none;border:1px dashed #555}
.fn-grid{columns:3 340px;column-gap:22px}
.fn-clip{break-inside:avoid;margin:0 0 24px;background:#efe9dc;color:#151515;padding:16px 18px 12px;transform:rotate(var(--r,0deg));box-shadow:4px 5px 0 rgba(0,0,0,.55);font-family:Georgia,'Times New Roman',serif;position:relative;transition:transform .2s}
.fn-clip:hover{transform:rotate(0) scale(1.01);z-index:2}
.fn-clip::before{content:'';position:absolute;top:-10px;left:50%;width:96px;height:24px;margin-left:-48px;background:url(/img/tape-yellow.webp) center/cover;opacity:.9;transform:rotate(-3deg)}
.fn-mast{display:flex;flex-direction:column;align-items:center;border-bottom:3px double #151515;padding-bottom:6px;margin-bottom:6px;text-align:center}
.fn-mast b{font:700 24px/1 'Old English Text MT','UnifrakturCook',Georgia,serif}
.fn-mast span{font:10px var(--f-ui);letter-spacing:.2em;margin-top:4px}
.fn-date{font:11px var(--f-type);color:#555;margin:0 0 6px;text-transform:uppercase}
.fn-clip h2{font:700 25px/1.08 Georgia,serif;margin:0 0 8px;letter-spacing:-.01em}
.fn-dek{font-style:italic;font-size:15px;margin:0 0 8px;color:#333}
.fn-body p{font-size:14.5px;line-height:1.5;margin:0 0 8px;hyphens:auto}
.fn-body p:first-child::first-letter{float:left;font:700 44px/.9 Georgia,serif;margin:3px 6px 0 0}
.fn-clip blockquote{margin:10px 0;padding:8px 12px;border-left:4px solid var(--alert);background:rgba(0,0,0,.05);font:italic 16px/1.35 Georgia,serif}
.fn-clip cite{display:block;font:normal 11px var(--f-ui);letter-spacing:.06em;margin-top:4px;color:#444}
.fn-foot{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;border-top:1px solid #999;padding-top:8px;font:12px var(--f-body)}
.fn-stamp{font:13px var(--f-head);color:var(--alert);border:2px solid var(--alert);padding:2px 6px;transform:rotate(-4deg);letter-spacing:.06em}
.fn-src{flex:1 1 100%;color:#444} .fn-src a,.fn-by{color:#111;text-decoration:underline}
.fn-like{margin-left:auto;display:inline-flex;gap:5px;align-items:center;background:#151515;color:#fff;border:0;padding:5px 10px;font:13px var(--f-head);cursor:pointer}
.fn-like.on{background:var(--pink);color:#000} .fn-like svg{width:14px;height:14px}
/* ARTYKUŁY: strona gazety */
.np-head{max-width:1440px;margin:0 auto;padding:18px 18px 0;display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.np-head .hand{font-family:var(--f-hand);font-size:19px;color:#ddd;margin:8px 0 0}
.np-list{max-width:1440px;margin:0 auto;padding:18px;columns:4 280px;column-gap:20px}
.np-teaser{break-inside:avoid;display:block;margin:0 0 20px;background:#f1ece2;color:#111;padding:14px;box-shadow:4px 4px 0 rgba(0,0,0,.5);transform:rotate(var(--r,0deg));font-family:Georgia,serif;transition:transform .2s}
.np-teaser:hover{transform:rotate(0) translateY(-3px)}
.np-teaser small{font:10px var(--f-ui);letter-spacing:.18em;color:var(--alert)}
.np-teaser h3{font:700 21px/1.1 Georgia,serif;margin:4px 0 6px} .np-teaser p{font-size:13.5px;line-height:1.45;margin:0;color:#333}
.np-teaser .np-pp{display:block;font:italic 11px Georgia,serif;color:#666;margin-top:8px}
.np-page{max-width:1080px;margin:18px auto 30px;background:#f3eee3;color:#141414;padding:28px 34px 22px;box-shadow:8px 8px 0 var(--pink);font-family:Georgia,'Times New Roman',serif}
.np-mh{text-align:center;border-bottom:4px double #141414;padding-bottom:10px}
.np-mh b{display:block;font:700 clamp(34px,6vw,64px)/1 'Old English Text MT','UnifrakturCook',Georgia,serif}
.np-mh div{display:flex;justify-content:space-between;font:11px var(--f-ui);letter-spacing:.14em;border-top:1px solid #141414;margin-top:10px;padding-top:6px;gap:10px;flex-wrap:wrap}
.np-sec{font:12px var(--f-ui);letter-spacing:.24em;color:var(--alert);margin:16px 0 4px}
.np-page h1{font:700 clamp(30px,4.6vw,54px)/1.02 Georgia,serif;margin:0 0 10px;letter-spacing:-.015em}
.np-sub{font:italic 19px/1.35 Georgia,serif;margin:0 0 10px;color:#333}
.np-by{font:12px var(--f-ui);letter-spacing:.1em;border-top:1px solid #999;border-bottom:1px solid #999;padding:6px 0;margin-bottom:14px}
.np-cols{columns:3 230px;column-gap:26px;column-rule:1px solid #bbb}
.np-cols p{margin:0 0 10px;font-size:15.5px;line-height:1.55;hyphens:auto}
.np-cols p:first-child::first-letter{float:left;font:700 62px/.85 Georgia,serif;margin:4px 8px 0 0}
.np-pq{break-inside:avoid;font:italic 700 22px/1.25 Georgia,serif;border-top:3px solid #141414;border-bottom:3px solid #141414;padding:10px 0;margin:6px 0 14px}
.np-cap{font:italic 12px Georgia,serif;color:#555;margin-top:6px}
.np-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px;border-top:1px solid #999;padding-top:10px;font:12px var(--f-body)}
.np-nav{max-width:1080px;margin:0 auto;padding:0 18px;display:flex;justify-content:space-between;gap:10px}
.np-gen{max-width:1440px;margin:0 auto;padding:0 18px}
@media (max-width:760px){.np-page{padding:18px 16px;margin:10px 0 24px} .fn-page{padding:12px} .fn-hero-deco{width:90px} .fn-clip h2{font-size:22px} .np-cols{columns:1}}
/* ===== ANIMOWANE NAKLEJKI (CEO 4.10.2026): każda grafika robi coś swojego ===== */
img[src*="/img/mouth"]{animation:chomp 1.8s steps(1) infinite;transform-origin:50% 60%}
@keyframes chomp{0%,100%{scale:1 1}8%{scale:1.04 .72}16%{scale:.98 1.06}24%{scale:1.05 .74}32%{scale:1 1}60%{scale:1.03 .8}68%{scale:1 1}}
img[src*="/img/cat-"],img[src*="/img/slopcat"]{animation:headtilt 3.2s ease-in-out infinite;transform-origin:50% 90%}
@keyframes headtilt{0%,100%{rotate:0deg}20%{rotate:-7deg}40%{rotate:5deg}50%{rotate:0deg;scale:1}55%{scale:1.06 .94}60%{scale:1}}
img[src*="/img/raccoon"]{animation:raccoon 2.4s ease-in-out infinite;transform-origin:50% 100%}
@keyframes raccoon{0%,100%{rotate:-4deg;scale:1}25%{scale:1.03 .97}50%{rotate:5deg;scale:1}75%{scale:.98 1.03}}
img[src*="/img/dumpster-fire"],img[src*="/img/gpu-melt"]{animation:flame .5s steps(2) infinite}
@keyframes flame{0%{filter:brightness(1) saturate(1.2);scale:1}50%{filter:brightness(1.25) saturate(1.8) drop-shadow(0 -4px 8px #ff7a00);scale:1.02 1.04}}
img[src*="/img/crt-tv"],img[src*="/img/monitor-skull"]{animation:crt 2.6s steps(1) infinite}
@keyframes crt{0%,100%{filter:none;translate:0 0}91%{filter:hue-rotate(90deg) contrast(1.6);translate:3px -1px}94%{filter:invert(.15);translate:-3px 1px}97%{filter:none;translate:0 0}}
img[src*="/img/trash-can"]{animation:lid 2s cubic-bezier(.3,1.8,.5,1) infinite;transform-origin:50% 100%}
@keyframes lid{0%,60%,100%{translate:0 0;scale:1}70%{translate:0 -10px;scale:.96 1.06}80%{translate:0 0;scale:1.06 .94}}
img[src*="/img/toilet-roll"]{animation:roll 3s ease-in-out infinite}
@keyframes roll{0%,100%{rotate:0deg}50%{rotate:-12deg;scale:1.05 .97}}
img[src*="/img/robot-sad"]{animation:sob 2.2s ease-in-out infinite;transform-origin:50% 100%}
@keyframes sob{0%,100%{rotate:0deg;scale:1}30%{rotate:-3deg;scale:1 .96}35%{scale:1 1.02}40%{scale:1 .96}70%{rotate:3deg;scale:1}}
.cm-stk,.ch-stk img{animation:stk 2.8s ease-in-out infinite}
@keyframes stk{0%,100%{rotate:-3deg;scale:1}50%{rotate:3deg;scale:1.06}}
@keyframes letter{0%,100%{translate:0 0}50%{translate:0 -2px}}
@media (prefers-reduced-motion:reduce){img,.cm-stk,.ransom img,.lb-tk,.pt-in{animation:none!important}}

/* memy zespołu w miejscach redakcyjnych */
.fn-pick{flex:none;display:block;width:190px;position:relative;transform:rotate(3deg);background:#fff;padding:6px 6px 26px;box-shadow:5px 5px 0 var(--pink);transition:transform .2s;margin-left:auto}
.fn-pick:hover{transform:rotate(0) scale(1.04)} .fn-pick img{display:block;width:100%;height:auto}
.fn-pick b{position:absolute;left:0;right:0;bottom:4px;text-align:center;font:14px var(--f-head);color:#000;letter-spacing:.06em}
.np-night{transform:rotate(-3deg);box-shadow:5px 5px 0 var(--acid)}
@media (max-width:760px){.fn-pick{width:120px;padding-bottom:22px} .fn-pick b{font-size:11px} .fn-hero .fn-hero-deco{display:none}}
@media (max-width:760px){.fn-hero-t .ransom img,.np-head .ransom img{height:34px!important;width:auto!important} .fn-form-h .ransom img{height:20px!important;width:auto!important} .fn-hero .hand,.np-head .hand{font-size:16px}}
.fn-wire{font:11px var(--f-head);letter-spacing:.1em;color:#fff;background:var(--alert);padding:2px 6px}

/* tickery płynne: osobna warstwa GPU, bez subpikselowego drgania */
.tk,.pt-in,.lb-tk{will-change:transform;backface-visibility:hidden;transform:translate3d(0,0,0)}
@keyframes tick{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
.ptape{margin-top:10px}
.tk{animation-duration:80s} .pt-in{animation-duration:110s}

/* nagłówek: przyciski profilu i DUMP SLOP zawsze widoczne (CEO 4.10.2026: były ucięte z prawej) */
.top-in{position:relative;max-width:min(1860px,100%)!important;flex-wrap:nowrap}
.top-in>.nav{flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none}
.top-in>.nav::-webkit-scrollbar{display:none}
.top-in>.srch{flex:0 1 260px;min-width:150px;margin-left:0}
.top-in>.btn-dump,.top-in>.me,.top-in>.btn-login,.top-in>.hb,.top-in>.me-nick{flex:none}
@media (max-width:1500px){.top-in>.srch{display:none} .top-in>.m-search{display:grid;place-items:center;flex:none}}

/* awatary w czacie i na pasku LIVE (automat scripts/awatary-buduj.mjs) */
.cm{display:flex;gap:8px;align-items:flex-start}
.cm .cm-av{width:28px;height:28px;flex:none;border-radius:50%;object-fit:cover;font-size:12px;margin-top:1px}
.cm .cm-c{min-width:0;flex:1}
.lb-e .lb-av{width:22px;height:22px;border-radius:50%;object-fit:cover;font-size:10px;flex:none}

/* naklejki na marginesach (public/app/naklejki.js) */
.stk-deco{position:absolute;z-index:3;pointer-events:none;height:auto;rotate:var(--rot);filter:drop-shadow(3px 4px 0 rgba(0,0,0,.55));opacity:.96}
.stk-wob{animation:stkwob 3s ease-in-out infinite}.stk-bob{animation:stkbob 2.4s ease-in-out infinite}
.stk-spin{animation:stkspin 9s linear infinite}.stk-pulse{animation:stkpulse 1.6s ease-in-out infinite}.stk-swing{animation:stkswing 2.8s ease-in-out infinite;transform-origin:50% 0}
@keyframes stkwob{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}
@keyframes stkbob{0%,100%{translate:0 0}50%{translate:0 -10px}}
@keyframes stkspin{to{transform:rotate(360deg)}}
@keyframes stkpulse{0%,100%{scale:1}50%{scale:1.08}}
@keyframes stkswing{0%,100%{transform:rotate(-10deg)}50%{transform:rotate(10deg)}}
@media (max-width:1180px){.stk-deco{opacity:.85}}
/* LIVE: dwie równe kolumny wypełniające ekran od swojej górnej krawędzi do dolnego paska, bez stałych liczb
   (CEO 4.10.2026): wysokość liczy views/live.js przy każdej zmianie rozmiaru okna; stopka jest pod kolumnami */
@media (min-width:981px){
  body[data-view=live] .live-g{align-items:stretch;height:var(--live-h, 70vh)}
  body[data-view=live] .live-c{height:auto;min-height:0}
  body[data-view=live] .live-a{display:flex;flex-direction:column;min-height:0;overflow:hidden}
  body[data-view=live] .live-a #lvAct{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;margin-bottom:12px}
}
/* stopka przyklejona do dołu, bez pustego pasa pod nią, zwarta */
#app{display:flex;flex-direction:column;min-height:100vh}
#app>#view{flex:1 0 auto}
.foot{margin-top:24px}
.foot-in{max-width:min(1860px,100%)!important;padding:14px 18px 10px;gap:6px 22px;align-items:center}
.foot .small{flex:1 1 600px;max-width:none;margin:0}
/* powiadomienia nad dolnym paskiem po lewej: nie zasłaniają nagłówków */
.lb-pop{top:auto!important;bottom:64px;left:16px;right:auto}
@media (max-width:760px){.lb-pop{bottom:calc(100px + env(safe-area-inset-bottom));left:10px}}
.peek.on{bottom:118px} @media (max-width:760px){.peek.on{bottom:calc(150px + env(safe-area-inset-bottom))}}

/* przycisk profilu w prawym górnym rogu: awatar + nick, zawsze widoczny i klikalny */
.top-in>.me-chip{flex:none;display:inline-flex;align-items:center;gap:8px;padding:4px 12px 4px 4px;border:2px solid var(--paper);border-radius:999px;background:#000;max-width:220px}
.me-chip:hover{border-color:var(--acid)}
.me-chip .me-av{width:34px;height:34px;border-radius:50%;object-fit:cover;flex:none;font-size:15px}
.me-chip .me-nick{color:var(--acid);font:600 15px var(--f-ui);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:1280px){.me-chip .me-nick{display:none} .me-chip{padding:3px}}
/* karty filmów archiwum: tytuł na mniejszej taśmie, najwyżej dwie linijki (miniatura ma być widoczna) */
.card[data-id^="v-"] .cap{font-size:12px;line-height:1.1;padding:.3em .55em;max-width:78%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;bottom:8px}

/* zakładki menu z wycinanek: animacja po najechaniu; przewrót przy podmianie litery (ransom-anim.js) */
.nav a .nav-r{filter:none;vertical-align:middle}
.nav a:hover .nav-r img{animation:navjump .4s ease-in-out infinite alternate}
.nav a:hover .nav-r img:nth-child(2n){animation-delay:.12s}
@keyframes navjump{from{translate:0 0;rotate:-7deg}to{translate:0 -4px;rotate:7deg}}
.nav a.on .nav-r{filter:drop-shadow(0 3px 0 var(--acid))}
.nav a.on::after{display:none}
.rs-flip{animation:rsflip .3s ease-in-out}
@keyframes rsflip{50%{scale:1 .08}}
/* przyciski udostępniania i podzakładki FAKE NEWS */
.card-f{align-items:center}
.cf-sh{margin-left:auto;background:none;border:0;color:var(--dim);cursor:pointer;padding:2px 4px;display:inline-flex}
.cf-sh:hover{color:var(--acid)} .cf-sh svg{width:16px;height:16px}
.fn-share{display:inline-flex;gap:5px;align-items:center;background:var(--acid);color:#000;border:0;padding:5px 10px;font:13px var(--f-head);cursor:pointer}
.fn-share svg{width:14px;height:14px}
.fn-tabs{display:flex;gap:10px;margin:14px 0 0;flex-wrap:wrap}
.fn-tabs a{font:16px var(--f-head);letter-spacing:.06em;padding:6px 12px;background:#000;color:#fff;border:2px solid #fff;transform:rotate(-1deg)}
.fn-tabs a.on{background:var(--acid);color:#000;border-color:#000}
.m-share .sh-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}

/* tło z naklejek (tlo-naklejki.js): płótno pod całą stroną, treść nad nim */
#tloNaklejki{position:fixed;inset:0;width:100vw;height:100vh;z-index:0;pointer-events:none}
#app{position:relative;z-index:1}
/* menu: czytelny tekst; aktywna zakładka z podkreśleniem jak wcześniej */
.nav a.on::after{display:block}
.ransom{contain:layout}
.ransom img{transition:none}

/* znak wodny jebto.ai w prawym dolnym rogu każdego artykułu */
.np-page{position:relative}
.np-wm{position:absolute;right:16px;bottom:12px;opacity:.55;pointer-events:none;transform:rotate(-3deg);filter:grayscale(.2)}

/* generator gazety: kilka zdjęć referencyjnych, losowy clickbait */
.ar-bait{width:100%;margin:6px 0 10px}
#arPrev{display:flex;gap:8px;flex-wrap:wrap}
.ar-th{position:relative;display:inline-block}
.ar-th img{width:96px;height:96px;object-fit:cover;border:2px solid var(--paper)}
.ar-th button{position:absolute;top:-8px;right:-8px;width:22px;height:22px;border-radius:50%;border:0;background:var(--alert);color:#fff;font:700 14px/22px var(--f-ui);cursor:pointer}
/* znaczek AI BOT przy nicku bota czatu (lib/czat-boty.js): ludzie widzą, że to model, nie osoba */
.cm-bot{font-style:normal;background:var(--acid);color:#000;font:10px var(--f-head);padding:2px 5px;margin-left:6px;letter-spacing:.04em}
