/* NOSTALGIA NA KANAPIE (2026-10-28) -- kinowa strona system/pages/kanapa.php (?subtopic=kanapa).
   Wszystko pod .nk albo body.kr-page-kanapa, wiec nie dotyka innych stron. Najpierw telefon, potem PC (min-width).
   Ukrywanie przed wejsciem TYLKO za html.nk-js (ustawia je skrypt na poczatku strony) + awaryjne html.nk-all po 2.5 s.
   Kontrast: tekst #efe6d0 / #c4baa6 na tle ~#08070a (>= 9:1), czerwien #ff6a5a (>= 5.5:1), zloto #ffd257.
   Czcionka naglowkow: Georgia (Martel nie ma cyfr ani interpunkcji). */

/* ------------------------------------------------------------------ uklad szablonu tylko na tej stronie */
body.kr-page-kanapa .kr-main { display: block; max-width: none; margin: 0; padding: 0; }
body.kr-page-kanapa .kr-rail, body.kr-page-kanapa .kr-wtitle, body.kr-page-kanapa .kr-wtabs { display: none !important; }
body.kr-page-kanapa .kr-window { border: 0; border-image: none; filter: none; background: none; animation: none !important; }
body.kr-page-kanapa .kr-wbody { padding: 0; min-height: 0; overflow: visible; }
body.kr-page-kanapa .kr-ticker { display: none; }

.nk {
  --nk-bg: #08070a; --nk-ink: #efe6d0; --nk-mute: #c4baa6; --nk-gold: #ffd257; --nk-gold2: #c9992f;
  --nk-ember: #ff9a4a; --nk-blood: #ff6a5a; --nk-ice: #9ad4ff; --nk-moss: #a8e08e;
  --nk-serif: Georgia, 'Times New Roman', serif;
  position: relative; overflow: hidden; background: var(--nk-bg); color: var(--nk-ink);
  font: 16px/1.6 Verdana, Geneva, Tahoma, sans-serif; text-align: left;
}
.nk *, .nk *::before, .nk *::after { box-sizing: border-box; }
/* ziarno filmu: statyczne, tylko nad ta strona */
.nk::after { content: ''; position: absolute; inset: 0; z-index: 40; pointer-events: none; opacity: .05;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>"); }
.nk-sr { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.nk img { max-width: none; }
.nk p { margin: 0; }
.nk em { font-style: italic; color: var(--nk-gold); }
.nk strong { color: #fff; font-weight: 700; }

/* ------------------------------------------------------------------ wspolne: sceny, tlo, tekst */
.nk-scene { position: relative; isolation: isolate; overflow: hidden; padding: 104px 16px 112px; scroll-margin-top: 56px; }
.nk-scene::before, .nk-scene::after { content: ''; position: absolute; left: 0; right: 0; height: 120px; z-index: 1; pointer-events: none; }
.nk-scene::before { top: 0; background: linear-gradient(var(--nk-bg), rgba(8, 7, 10, 0)); }
.nk-scene::after { bottom: 0; background: linear-gradient(rgba(8, 7, 10, 0), var(--nk-bg)); }
.nk-bg { position: absolute; left: 0; right: 0; top: -12%; bottom: -12%; z-index: -1; background-size: cover; background-position: center; }
.nk-par { transform: translate3d(0, calc(var(--nkp, 0) * var(--depth, 0px)), 0); will-change: transform; }
.nk-fx { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 2; pointer-events: none; }
.nk-wrap { position: relative; z-index: 3; max-width: 760px; margin: 0 auto; }
.nk-wrap-wide { max-width: 1120px; }

.nk-act { display: flex; align-items: center; gap: 10px; margin-bottom: 22px !important; font: 700 12px/1 Verdana, sans-serif; letter-spacing: .28em; text-transform: uppercase; color: var(--nk-mute); }
.nk-act span { padding: 5px 9px; border: 1px solid rgba(255, 210, 87, .45); border-radius: 3px; color: var(--nk-gold); letter-spacing: .2em; }
.nk-act::after { content: ''; flex: 1; height: 1px; background: linear-gradient(90deg, rgba(255, 210, 87, .45), rgba(255, 210, 87, 0)); }

.nk .nk-big { margin: 0 0 22px; font: 700 clamp(36px, 10.5vw, 92px)/1.02 var(--nk-serif); letter-spacing: -.01em; color: #fff; text-shadow: 0 4px 30px rgba(0, 0, 0, .8); }
.nk .nk-big-gold { color: var(--nk-gold); text-shadow: 0 0 40px rgba(255, 190, 80, .35), 0 4px 24px rgba(0, 0, 0, .9); }
.nk .nk-big-moss { color: #e9f6d8; text-shadow: 0 0 36px rgba(150, 220, 120, .3), 0 4px 24px rgba(0, 0, 0, .9); }
.nk-lead { font: 400 clamp(18px, 4.6vw, 24px)/1.5 var(--nk-serif); color: var(--nk-ink); margin-bottom: 26px !important; }
.nk-stay { margin-top: 30px !important; font: italic 400 clamp(19px, 5vw, 28px)/1.4 var(--nk-serif); color: var(--nk-gold); }

/* wejscia przy przewijaniu (za bramka) */
.nk-js .nk-r { opacity: 0; transform: translate3d(0, 28px, 0); transition: opacity .9s ease, transform 1s cubic-bezier(.2, .8, .2, 1); transition-delay: var(--d, 0s); }
.nk-js .nk-r.in, .nk-all .nk-r { opacity: 1; transform: none; }
/* wejscie otwarcia przy ladowaniu */
.nk-js .nk-in { animation: nkUp 1.1s cubic-bezier(.2, .8, .2, 1) both; }
.nk-d1 { animation-delay: .35s !important; } .nk-d2 { animation-delay: .6s !important; } .nk-d3 { animation-delay: .85s !important; } .nk-d4 { animation-delay: 1.15s !important; }
@keyframes nkUp { from { opacity: 0; transform: translate3d(0, 24px, 0); filter: blur(6px); } to { opacity: 1; transform: none; filter: none; } }

/* przyciski */
.nk a.nk-btn { display: inline-flex; flex-direction: column; justify-content: center; align-items: center; gap: 2px; min-height: 52px; padding: 12px 22px; border-radius: 12px;
  font: 700 17px/1.15 var(--nk-serif); text-decoration: none; text-shadow: none; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.nk a.nk-btn:hover { transform: translateY(-2px); text-shadow: none; }
.nk a.nk-btn:focus-visible, .nk a:focus-visible { outline: 3px solid var(--nk-gold); outline-offset: 3px; }
.nk a.nk-btn small { font: 600 11px/1.3 Verdana, sans-serif; letter-spacing: .06em; text-transform: uppercase; opacity: .85; }
.nk a.nk-btn-gold { color: #2a1806; background: linear-gradient(180deg, #ffe9a6, #f4c450 46%, #d89a2a); border: 1px solid #fff0b8;
  box-shadow: 0 0 0 2px #6e4a12, 0 12px 32px rgba(0, 0, 0, .6), 0 0 34px rgba(255, 196, 80, .45); }
.nk a.nk-btn-gold:hover { color: #000; box-shadow: 0 0 0 2px #8a5e18, 0 14px 36px rgba(0, 0, 0, .6), 0 0 54px rgba(255, 214, 110, .8); }
.nk a.nk-btn-dl, .nk a.nk-btn-ghost { color: var(--nk-ink); background: rgba(20, 16, 10, .72); border: 1px solid rgba(255, 210, 87, .5); }
.nk a.nk-btn-dl:hover, .nk a.nk-btn-ghost:hover { color: #fff; background: rgba(60, 44, 16, .85); box-shadow: 0 0 26px rgba(255, 210, 87, .3); }
.nk a.nk-btn-ghost { min-height: 46px; padding: 10px 18px; font-size: 15px; }

/* pasek postepu + spis scen */
.nk-prog { position: fixed; left: 0; right: 0; top: 0; height: 3px; z-index: 80; pointer-events: none; }
.nk-prog i { display: block; height: 100%; background: linear-gradient(90deg, #c9992f, #ffd257, #ff9a4a); transform-origin: 0 50%; transform: scaleX(0); box-shadow: 0 0 10px rgba(255, 200, 90, .8); }
.nk-chap { display: none; }

/* ------------------------------------------------------------------ SCENA 0: dwa ekrany */
.nk-scene.nk-open { padding: 0; min-height: calc(100svh - 58px); display: flex; flex-direction: column; }
.nk-open::before, .nk-open::after { display: none; }
.nk-halves { position: relative; flex: 1; display: grid; grid-template-rows: 1fr 1fr; min-height: 640px; }
.nk-half { position: relative; overflow: hidden; display: flex; align-items: flex-end; padding: 22px 16px 26px; isolation: isolate; }
.nk-bg-hero { background-image: url('../images/hero/hero80_land.jpg'); }
.nk-couch .nk-bg { background-position: 22% 40%; filter: brightness(.5) saturate(1.15) sepia(.25); }
.nk-pc .nk-bg { background-position: 92% 40%; filter: brightness(.42) saturate(1.2) hue-rotate(-12deg); }
.nk-couch::before, .nk-pc::before { content: ''; position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.nk-couch::before { background: radial-gradient(ellipse 80% 70% at 70% 35%, rgba(255, 150, 50, .28), rgba(255, 150, 50, 0) 70%), linear-gradient(180deg, rgba(20, 10, 4, .1), rgba(14, 8, 3, .92)); }
.nk-pc::before { background: radial-gradient(ellipse 80% 70% at 70% 35%, rgba(70, 140, 255, .26), rgba(70, 140, 255, 0) 70%), linear-gradient(180deg, rgba(4, 8, 20, .2), rgba(4, 6, 14, .94)); }
.nk-lamp { position: absolute; left: 6%; top: 4%; width: 46vw; height: 46vw; max-width: 420px; max-height: 420px; border-radius: 50%; z-index: 0; pointer-events: none;
  background: radial-gradient(circle, rgba(255, 190, 110, .35), rgba(255, 150, 60, 0) 65%); animation: nkFlicker 5s ease-in-out infinite; }
.nk-alarm { position: absolute; inset: 0; z-index: 0; pointer-events: none; background: radial-gradient(ellipse 60% 50% at 20% 20%, rgba(255, 60, 50, .26), rgba(255, 60, 50, 0) 70%); animation: nkAlarm 2.8s ease-in-out infinite; }
@keyframes nkFlicker { 0%, 100% { opacity: .85; } 40% { opacity: 1; } 55% { opacity: .7; } 60% { opacity: .95; } }
@keyframes nkAlarm { 0%, 100% { opacity: .25; } 50% { opacity: 1; } }

.nk-phone, .nk-mon { position: absolute; z-index: 1; filter: drop-shadow(0 18px 30px rgba(0, 0, 0, .7)); }
.nk-phone { right: 6%; top: 5%; width: 25%; max-width: 170px; rotate: 8deg; }
.nk-mon { right: 3%; top: 4%; width: 40%; max-width: 360px; }
.nk-xp { font-family: var(--nk-serif); font-weight: 700; }
.nk-js .nk-xp { animation: nkXp 2.6s ease-out infinite; }
.nk-js .nk-xp2 { animation-delay: 1.3s; }
@keyframes nkXp { 0% { opacity: 0; transform: translateY(6px); } 15% { opacity: 1; } 70% { opacity: 1; } 100% { opacity: 0; transform: translateY(-22px); } }
.nk-ph-hero { animation: nkStep 1.3s steps(2) infinite; }
@keyframes nkStep { 50% { transform: translateY(-1.5px); } }
.nk-boom { transform-box: fill-box; transform-origin: center; animation: nkBoom 1.6s ease-out infinite; }
.nk-boom2 { animation-delay: .8s; }
@keyframes nkBoom { 0% { transform: scale(.2); opacity: 1; } 100% { transform: scale(1.6); opacity: 0; } }
.nk-cross { transform-box: fill-box; transform-origin: center; animation: nkCross 4s ease-in-out infinite; }
@keyframes nkCross { 0%, 100% { transform: translate(0, 0) rotate(0); } 30% { transform: translate(-14px, -8px) rotate(30deg); } 60% { transform: translate(-36px, -22px) rotate(60deg); } }

.nk-half-txt { position: relative; z-index: 3; max-width: 620px; }
.nk-kick { display: inline-block; margin-bottom: 8px; font: 700 12px/1 Verdana, sans-serif; letter-spacing: .3em; text-transform: uppercase; }
.nk-couch .nk-kick { color: #ffc27a; } .nk-pc .nk-kick { color: var(--nk-ice); }
.nk-slogan { font: 700 clamp(40px, 12.4vw, 104px)/.95 var(--nk-serif); letter-spacing: -.015em; text-shadow: 0 6px 30px rgba(0, 0, 0, .85); }
.nk-slogan-w { color: #ffd88a; } .nk-slogan-c { color: #d8ecff; }
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  .nk-slogan-w, .nk-slogan-c { -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; text-shadow: none; filter: drop-shadow(0 5px 20px rgba(0, 0, 0, .9)); }
  .nk-slogan-w { background-image: linear-gradient(180deg, #fff2c8 10%, #ffc860 55%, #ff8a3c); }
  .nk-slogan-c { background-image: linear-gradient(180deg, #ffffff 10%, #9ad4ff 55%, #ff6a5a); }
}
.nk-half-sub { margin-top: 12px !important; max-width: 30em; font-size: 15px; line-height: 1.5; color: var(--nk-ink); text-shadow: 0 2px 8px #000; }

.nk-seam { position: absolute; left: 0; right: 0; top: 50%; z-index: 5; height: 0; pointer-events: none; }
.nk-seam::before { content: ''; position: absolute; left: -10%; right: -10%; top: -1px; height: 2px; transform: rotate(-4deg);
  background: linear-gradient(90deg, rgba(255, 210, 87, 0), #ffd257 30%, #fff3c4 50%, #ffd257 70%, rgba(255, 210, 87, 0)); box-shadow: 0 0 18px rgba(255, 210, 87, .9); }
.nk-seal { position: relative; display: block; width: 96px; height: 96px; }
.nk-seam .nk-seal { position: absolute; left: 50%; top: 0; margin: -48px 0 0 -48px; }
.nk-seal-ring { position: absolute; inset: 0; width: 100%; height: 100%; image-rendering: pixelated; animation: nkSpin 40s linear infinite; filter: drop-shadow(0 0 12px rgba(255, 200, 90, .6)); }
.nk-seal-em { position: absolute; left: 20%; top: 20%; width: 60%; height: 60%; filter: drop-shadow(0 4px 10px #000); }
@keyframes nkSpin { to { transform: rotate(360deg); } }

.nk-open-foot { position: relative; z-index: 6; padding: 22px 16px 34px; text-align: center; background: linear-gradient(rgba(8, 7, 10, .0), var(--nk-bg) 40%); }
.nk-mid { font: italic 400 clamp(18px, 5vw, 26px)/1.35 var(--nk-serif); color: var(--nk-ink); }
.nk a.nk-cue { display: inline-flex; flex-direction: column; align-items: center; gap: 10px; margin-top: 18px; color: var(--nk-mute); font-size: 12px; letter-spacing: .22em; text-transform: uppercase; text-decoration: none; }
.nk a.nk-cue:hover { color: var(--nk-gold); text-shadow: none; }
.nk-cue i { width: 22px; height: 36px; border: 2px solid rgba(255, 210, 87, .7); border-radius: 12px; position: relative; }
.nk-cue i::after { content: ''; position: absolute; left: 50%; top: 7px; width: 4px; height: 8px; margin-left: -2px; border-radius: 2px; background: var(--nk-gold); animation: nkWheel 1.8s ease-in-out infinite; }
@keyframes nkWheel { 0% { transform: translateY(0); opacity: 1; } 70% { transform: translateY(12px); opacity: 0; } 100% { opacity: 0; } }

/* kurtyna kinowa przy wejsciu */
.nk-js .nk-halves::before, .nk-js .nk-halves::after { content: ''; position: absolute; left: 0; right: 0; height: 50%; z-index: 20; background: #000; pointer-events: none; animation: nkCurtain 1.5s cubic-bezier(.7, 0, .2, 1) .1s both; }
.nk-js .nk-halves::before { top: 0; transform-origin: top; }
.nk-js .nk-halves::after { bottom: 0; transform-origin: bottom; }
@keyframes nkCurtain { from { transform: scaleY(1); } to { transform: scaleY(0); } }

/* ------------------------------------------------------------------ AKT I: bol */
.nk-pain { background: #060607; }
.nk-bg-pain { filter: grayscale(1) brightness(.22) contrast(1.1); }
html:not(.nk-js) .nk-bg-pain, .nk-all .nk-bg-pain, .nk-seen .nk-bg-pain { background-image: url('../images/scene1.jpg'); }
.nk-scan { position: absolute; inset: 0; z-index: 0; pointer-events: none; opacity: .35;
  background: repeating-linear-gradient(180deg, rgba(0, 0, 0, 0) 0 2px, rgba(0, 0, 0, .55) 2px 4px); }
.nk-pain .nk-act span { color: var(--nk-blood); border-color: rgba(255, 106, 90, .5); }
.nk-beats { display: grid; gap: 26px; }
.nk-beat { font: 400 clamp(24px, 6.6vw, 46px)/1.2 var(--nk-serif); color: #d9d2c4; }
.nk-beat em { color: var(--nk-blood); font-style: normal; }
.nk-beat-s { font-size: clamp(17px, 4.4vw, 24px); color: var(--nk-mute); font-style: italic; }
.nk-beat-money em { font-style: normal; color: #fff; border-bottom: 3px solid var(--nk-blood); }

.nk-lvlcard { position: relative; display: flex; align-items: center; gap: 14px; max-width: 420px; margin: 44px 0 46px; padding: 14px 16px; border: 1px solid #3a3530; border-radius: 10px;
  background: linear-gradient(180deg, #17151a, #0d0c0e); box-shadow: 0 16px 40px rgba(0, 0, 0, .7); }
.nk-lvl-av { flex: 0 0 48px; height: 48px; border-radius: 8px; background: #26221c url('../images/slot.png') center / cover; box-shadow: inset 0 0 0 2px #4a4232; }
.nk-lvl-t { flex: 1; line-height: 1.3; }
.nk-lvl-t b { display: block; font: 700 16px/1.2 var(--nk-serif); color: var(--nk-ink); }
.nk-lvl-t small { color: var(--nk-mute); font-size: 13px; }
.nk-lvl-n { font: 700 15px/1 var(--nk-serif); color: var(--nk-mute); white-space: nowrap; }
.nk-lvl-n b { display: inline-block; min-width: 2ch; font-size: 34px; color: #fff; }
.nk-stamp { position: absolute; right: -6px; top: -16px; padding: 4px 12px; border: 3px solid var(--nk-blood); border-radius: 4px; transform: rotate(-12deg) scale(1);
  font: 900 22px/1 Impact, 'Arial Black', sans-serif; letter-spacing: .12em; color: var(--nk-blood); background: rgba(10, 4, 4, .85); opacity: 1; transition: transform .35s cubic-bezier(.3, 1.6, .5, 1), opacity .2s; }
.nk-lvlcard:not(.nk-reset) .nk-stamp { opacity: 0; transform: rotate(-12deg) scale(2.2); }
.nk-lvlcard.nk-reset .nk-lvl-n b { color: var(--nk-blood); }
.nk-lvlcard.nk-shake { animation: nkShake .4s linear; }
@keyframes nkShake { 20% { transform: translateX(-6px); } 40% { transform: translateX(5px); } 60% { transform: translateX(-3px); } 80% { transform: translateX(2px); } }

.nk-punch { font: 700 clamp(30px, 8.6vw, 72px)/1.08 var(--nk-serif); color: #fff; text-shadow: 0 0 28px rgba(255, 80, 60, .45); }
.nk-js .nk-punch.in { animation: nkFlick 2.4s ease-out 1; }
@keyframes nkFlick { 0% { opacity: 0; } 8% { opacity: 1; } 12% { opacity: .2; } 18% { opacity: 1; } 24% { opacity: .5; } 30%, 100% { opacity: 1; } }
.nk-me { margin-top: 24px !important; font: italic 400 clamp(19px, 5vw, 28px)/1.4 var(--nk-serif); color: var(--nk-gold); }

/* ------------------------------------------------------------------ AKT II: 8.0 w sercu */
.nk-heart { background: radial-gradient(ellipse 70% 55% at 50% 38%, #2a1d0c, #0d0a07 60%, var(--nk-bg)); }
.nk-rays { position: absolute; left: 50%; top: 36%; width: 900px; height: 900px; margin: -450px 0 0 -450px; z-index: 0; pointer-events: none; opacity: .32; }
.nk-rays img { width: 100%; height: 100%; animation: nkSpin 120s linear infinite; }
.nk-heart .nk-wrap { text-align: center; }
.nk-heart .nk-act { justify-content: center; }
.nk-heart .nk-act::after { display: none; }
.nk-vers { list-style: none; margin: 34px auto 34px; padding: 0; display: flex; justify-content: center; align-items: flex-end; gap: 10px; flex-wrap: nowrap; }
.nk-ver { display: flex; flex-direction: column; align-items: center; gap: 8px; flex: 1 1 0; max-width: 170px; }
.nk-ver b { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; border: 2px solid rgba(255, 210, 87, .55); background: radial-gradient(circle at 35% 30%, #3a2a12, #140e07);
  font: 700 18px/1 var(--nk-serif); color: var(--nk-ink); box-shadow: 0 8px 20px rgba(0, 0, 0, .6); }
.nk-ver span { font-size: 12px; line-height: 1.3; color: var(--nk-mute); letter-spacing: .04em; }
.nk-ver-main b { width: 104px; height: 104px; font-size: 32px; color: #2a1806; border-color: #fff0b8; background: radial-gradient(circle at 35% 30%, #fff2c0, #f4c450 45%, #b07a1e);
  box-shadow: 0 0 0 4px rgba(255, 210, 87, .25), 0 0 50px rgba(255, 200, 80, .7); }
.nk-js .nk-ver-main.in b { animation: nkHeart 2.4s ease-in-out infinite 1s; }
@keyframes nkHeart { 0%, 100% { transform: scale(1); } 12% { transform: scale(1.08); } 24% { transform: scale(1); } 36% { transform: scale(1.05); } 48% { transform: scale(1); } }
.nk-ver-main span { color: var(--nk-gold); font-weight: 700; }
.nk-ver-dim b { width: 48px; height: 48px; font-size: 12px; opacity: .75; border-style: dashed; }
.nk-heart .nk-lead { max-width: 34em; margin-left: auto; margin-right: auto; }
.nk-no { font: 400 clamp(20px, 5.4vw, 30px)/1.4 var(--nk-serif); color: var(--nk-mute); }
.nk-strike { position: relative; display: inline-block; color: #fff; font-weight: 700; }
.nk-strike::after { content: ''; position: absolute; left: -6%; right: -6%; top: 52%; height: 4px; margin-top: -2px; border-radius: 2px; background: var(--nk-blood); transform: rotate(-6deg) scaleX(1); transform-origin: 0 50%; box-shadow: 0 0 12px rgba(255, 80, 60, .7); transition: transform .6s cubic-bezier(.7, 0, .2, 1) .6s; }
.nk-js .nk-no:not(.in) .nk-strike::after { transform: rotate(-6deg) scaleX(0); }

/* ------------------------------------------------------------------ AKT III: opuszczone krolestwo */
.nk-ruin { background: #060a06; }
.nk-bg-ruin { filter: brightness(.34) saturate(.85) contrast(1.05); }
html:not(.nk-js) .nk-bg-ruin, .nk-all .nk-bg-ruin, .nk-seen .nk-bg-ruin { background-image: url('../images/scene3.jpg'); }
.nk-mist { position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background: radial-gradient(ellipse 70% 40% at 30% 70%, rgba(150, 200, 140, .16), rgba(0, 0, 0, 0) 70%), radial-gradient(ellipse 60% 40% at 80% 30%, rgba(120, 180, 120, .12), rgba(0, 0, 0, 0) 70%), linear-gradient(180deg, rgba(4, 8, 4, .55), rgba(4, 8, 4, .25) 40%, rgba(4, 8, 4, .7)); }
.nk-ruin::before { background: linear-gradient(var(--nk-bg), rgba(8, 7, 10, 0)); }
.nk-vine { position: absolute; z-index: 1; width: 62vw; max-width: 380px; height: auto; pointer-events: none; fill: none; stroke: #3f6a2a; stroke-width: 5; stroke-linecap: round; opacity: .85; }
.nk-vine path:nth-child(2) { stroke: #2f5420; stroke-width: 3.5; }
.nk-vine .nk-leaves { fill: #5a8f3a; stroke: none; transition: opacity 1.2s ease 2s; }
.nk-vine-a { left: 0; top: 40px; } .nk-vine-b { right: 0; bottom: 40px; }
.nk-js .nk-vine.nk-r { opacity: .85; transform: none; }
.nk-js .nk-vine path { stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 3.2s cubic-bezier(.4, 0, .2, 1); }
.nk-js .nk-vine.in path, .nk-all .nk-vine path { stroke-dashoffset: 0; }
.nk-js .nk-vine:not(.in) .nk-leaves { opacity: 0; }
.nk-all .nk-vine .nk-leaves { opacity: 1; }
.nk-confess { display: grid; gap: 20px; }
.nk-confess .nk-kp { font: 400 clamp(18px, 4.8vw, 25px)/1.5 var(--nk-serif); color: var(--nk-ink); text-shadow: 0 2px 10px #000; }
.nk-confess em { color: var(--nk-moss); }
.nk-confess strong { color: var(--nk-moss); }
.nk-route { margin-top: 40px; padding: 18px 16px; border: 1px solid rgba(168, 224, 142, .35); border-radius: 12px; background: rgba(6, 12, 6, .72); }
.nk-route-map { display: flex; align-items: center; gap: 10px; font: 700 15px/1 var(--nk-serif); color: var(--nk-ink); }
.nk-route-map i { position: relative; flex: 1; height: 2px; background: repeating-linear-gradient(90deg, rgba(168, 224, 142, .7) 0 6px, rgba(168, 224, 142, 0) 6px 12px); }
.nk-route-map b { position: absolute; left: 0; top: 50%; width: 12px; height: 12px; margin: -6px 0 0 -6px; border-radius: 50%; background: var(--nk-gold); box-shadow: 0 0 14px rgba(255, 210, 87, .9); animation: nkRun 3.2s cubic-bezier(.5, 0, .3, 1) infinite; }
@keyframes nkRun { 0% { left: 0; } 70% { left: 100%; } 100% { left: 100%; opacity: 0; } }
.nk-route-cap { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 14px !important; font-size: 14px; }
.nk-route-cap s { color: var(--nk-mute); text-decoration-color: var(--nk-blood); text-decoration-thickness: 2px; }
.nk-route-cap b { color: var(--nk-moss); }

/* ------------------------------------------------------------------ AKT IV: dwa arsenaly */
.nk-arms { background: linear-gradient(115deg, #0b1209 0%, #0a0a0a 48%, #160809 100%); }
.nk-arms .nk-big { text-align: left; }
.nk-ars-row { display: grid; gap: 18px; margin-top: 10px; }
.nk-ars { position: relative; padding: 22px 20px 24px; border-radius: 16px; overflow: hidden; }
.nk-ars::before { content: ''; position: absolute; inset: 0; z-index: -1; }
.nk-pve { background: linear-gradient(160deg, rgba(40, 70, 30, .55), rgba(14, 20, 10, .92)); border: 1px solid rgba(168, 224, 142, .45); box-shadow: 0 20px 50px rgba(0, 0, 0, .6), inset 0 0 60px rgba(120, 200, 100, .08); }
.nk-pvp { background: linear-gradient(200deg, rgba(90, 20, 18, .6), rgba(18, 8, 8, .94)); border: 1px solid rgba(255, 106, 90, .5); box-shadow: 0 20px 50px rgba(0, 0, 0, .6), inset 0 0 60px rgba(255, 60, 40, .1);
  clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 22px, 100% 100%, 22px 100%, 0 calc(100% - 22px)); }
.nk-pvp::before { background: repeating-linear-gradient(135deg, rgba(255, 90, 70, .05) 0 2px, rgba(0, 0, 0, 0) 2px 9px); }
.nk-ars-tag { position: absolute; right: 16px; top: 16px; padding: 4px 10px; border-radius: 20px; font: 700 11px/1 Verdana, sans-serif; letter-spacing: .16em; text-transform: uppercase; }
.nk-pve .nk-ars-tag { color: #0d1a08; background: var(--nk-moss); }
.nk-pvp .nk-ars-tag { color: #1a0605; background: var(--nk-blood); right: 30px; }
.nk-slots { display: flex; gap: 8px; margin-bottom: 18px; }
.nk-slot { display: grid; place-items: center; width: 50px; height: 50px; border-radius: 8px; background: #0e0c09 url('../images/slot.png') center / cover; image-rendering: pixelated; }
/* prawdziwe przedmioty (2026-10-28): GIF 32x32 x1.5, pikselowo; 6 slotow w rzedzie, zawija na waskim ekranie */
/* v10 (2026-10-28, owner: "zle pokazane sa itemy"): grafika 32 px x2 (calkowita skala, jak w grze) w siatce 3x2 / 6x1 */
.nk-slots { display: grid; grid-template-columns: repeat(3, 70px); gap: 8px; }
@media (min-width: 1180px) { .nk-slots { grid-template-columns: repeat(6, 70px); } }
.nk button.nk-slot-it { width: 70px; height: 70px; padding: 0; margin: 0; border: 0; cursor: pointer; font: inherit; -webkit-tap-highlight-color: transparent;
  transition: box-shadow .2s ease, transform .2s ease; }
.nk-slot-it img { width: 64px; height: 64px; image-rendering: pixelated; display: block; pointer-events: none; }
.nk button.nk-slot-it:hover, .nk button.nk-slot-it.on { transform: translateY(-2px); box-shadow: inset 0 0 0 2px var(--nk-gold), 0 0 18px rgba(255, 210, 87, .45); }
.nk button.nk-slot-it:focus-visible { outline: 3px solid var(--nk-gold); outline-offset: 2px; }
.nk-pve .nk-slot { color: var(--nk-moss); box-shadow: inset 0 0 0 1px rgba(168, 224, 142, .45), 0 0 16px rgba(120, 200, 100, .25); }
.nk-pvp .nk-slot { color: var(--nk-blood); box-shadow: inset 0 0 0 1px rgba(255, 106, 90, .5), 0 0 16px rgba(255, 60, 40, .3); }
.nk-js .nk-ars.in .nk-slot { animation: nkSlot .6s cubic-bezier(.3, 1.5, .5, 1) both; }
.nk-js .nk-ars.in .nk-slot:nth-child(2) { animation-delay: .12s; } .nk-js .nk-ars.in .nk-slot:nth-child(3) { animation-delay: .24s; } .nk-js .nk-ars.in .nk-slot:nth-child(4) { animation-delay: .36s; }
@keyframes nkSlot { from { transform: scale(.4); opacity: 0; } to { transform: none; opacity: 1; } }
.nk-ars-k { font: 700 12px/1 Verdana, sans-serif; letter-spacing: .24em; text-transform: uppercase; }
.nk-pve .nk-ars-k { color: var(--nk-moss); } .nk-pvp .nk-ars-k { color: var(--nk-blood); }
.nk .nk-ars-t { margin: 8px 0 14px; font: 700 clamp(28px, 7.6vw, 44px)/1.05 var(--nk-serif); color: #fff; letter-spacing: 0; }
.nk-ars-l { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.nk-ars-l li { position: relative; padding-left: 20px; font-size: 15px; line-height: 1.5; color: var(--nk-ink); }
.nk-ars-l li::before { content: ''; position: absolute; left: 2px; top: .62em; width: 8px; height: 8px; transform: rotate(45deg); }
.nk-pve .nk-ars-l li::before { background: var(--nk-moss); } .nk-pvp .nk-ars-l li::before { background: var(--nk-blood); }
.nk-ars-l .nk-hint { font-style: italic; color: var(--nk-mute); }
.nk-vs { display: grid; place-items: center; }
.nk-vs b { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; font: 900 22px/1 var(--nk-serif); color: #fff; letter-spacing: .04em;
  background: radial-gradient(circle at 35% 30%, #4a3a1a, #120d06); border: 2px solid var(--nk-gold); box-shadow: 0 0 30px rgba(255, 210, 87, .45), -14px 0 30px rgba(120, 200, 100, .25), 14px 0 30px rgba(255, 70, 50, .3); }

/* ------------------------------------------------------------------ AKT V: razem */
.nk-us { background: radial-gradient(ellipse 60% 40% at 50% 20%, #241a0d, var(--nk-bg) 70%); }
.nk-owner { display: flex; align-items: center; gap: 16px; margin-bottom: 18px; }
.nk-owner-av { position: relative; flex: 0 0 96px; height: 96px; border-radius: 50%; overflow: hidden; border: 2px solid var(--nk-gold); background: radial-gradient(circle at 50% 35%, #4a3414, #120d06); box-shadow: 0 0 34px rgba(255, 190, 80, .35); }
.nk-owner-av img { position: absolute; left: 50%; top: 50%; width: 130%; height: 130%; margin: -62% 0 0 -65%; image-rendering: pixelated; }
.nk-owner-av i { position: absolute; inset: 0; z-index: 1; border-radius: 50%; box-shadow: inset 0 0 18px rgba(0, 0, 0, .7); }
.nk-owner-who { font: italic 400 17px/1.4 var(--nk-serif); color: var(--nk-mute); }
.nk-quote { font: 400 clamp(24px, 6.4vw, 42px)/1.22 var(--nk-serif); color: #fff; margin-bottom: 10px !important; }
.nk-quote-r { color: #ffd0c4; }
.nk-lead-hard { margin-top: 30px !important; padding: 18px 18px; border-left: 3px solid var(--nk-blood); background: rgba(40, 12, 10, .45); border-radius: 0 10px 10px 0; font-size: clamp(17px, 4.4vw, 21px); }
.nk-vote { display: grid; gap: 18px; align-items: center; margin-top: 34px; padding: 20px 18px; border: 1px solid rgba(255, 210, 87, .35); border-radius: 16px; background: rgba(24, 19, 12, .8); }
.nk-ballot { width: 110px; height: auto; margin: 0 auto; overflow: visible; }
.nk-js .nk-vote.in .nk-card-in { animation: nkVote 3.4s cubic-bezier(.5, 0, .3, 1) infinite .6s; }
@keyframes nkVote { 0% { transform: translateY(-26px); opacity: 0; } 15% { opacity: 1; } 45%, 55% { transform: translateY(0); opacity: 1; } 80% { transform: translateY(46px); opacity: 0; } 100% { transform: translateY(46px); opacity: 0; } }
.nk .nk-vote-t h3 { margin: 0 0 10px; font: 700 clamp(22px, 5.6vw, 30px)/1.15 var(--nk-serif); color: var(--nk-gold); letter-spacing: 0; }
.nk-vote-t p { font-size: 15px; line-height: 1.6; color: var(--nk-ink); }
.nk-btns { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px !important; }
.nk-end { margin-top: 40px !important; font: 400 clamp(24px, 6.4vw, 40px)/1.2 var(--nk-serif); color: var(--nk-ink); }
.nk-end strong { color: var(--nk-gold); }

/* ------------------------------------------------------------------ AKT VI: zajawki */
.nk-tease { background: linear-gradient(180deg, var(--nk-bg), #0e0b10 50%, var(--nk-bg)); }
.nk-tz-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 8px; }
.nk .nk-tz { position: relative; display: flex; flex-direction: column; justify-content: flex-end; min-height: 230px; padding: 14px; border-radius: 14px; overflow: hidden; isolation: isolate;
  color: var(--nk-ink); text-decoration: none; border: 1px solid rgba(255, 210, 87, .28); background: #100d0a; box-shadow: 0 14px 34px rgba(0, 0, 0, .55); }
.nk .nk-tz:hover { color: var(--nk-ink); text-shadow: none; border-color: rgba(255, 210, 87, .7); }
.nk-tz-img { position: absolute; inset: 0; z-index: -2; }
.nk-tz-img img { width: 100%; height: 100%; object-fit: cover; filter: blur(6px) brightness(.55) saturate(.75); transform: scale(1.15); transition: filter .6s ease, transform .8s ease; }
.nk-tz-ring .nk-tz-img img { object-fit: contain; filter: blur(3px) brightness(.5); transform: scale(.9); }
.nk-tz-boss .nk-tz-img img { object-position: 30% 50%; }
.nk-tz::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(10, 8, 6, .1), rgba(10, 8, 6, .92) 70%); }
.nk .nk-tz:hover .nk-tz-img img, .nk .nk-tz:focus-visible .nk-tz-img img { filter: blur(2px) brightness(.6) saturate(1); transform: scale(1.05); }
.nk-tz-seal { position: absolute; left: 50%; top: 14px; width: 60px; height: 60px; margin-left: -30px; display: grid; place-items: center; transition: opacity .4s, transform .6s; }
.nk-tz-seal img { position: absolute; inset: 0; width: 100%; height: 100%; image-rendering: pixelated; opacity: .8; animation: nkSpin 30s linear infinite; }
.nk-tz-seal b { position: relative; font: 700 26px/1 var(--nk-serif); color: var(--nk-gold); text-shadow: 0 0 14px rgba(255, 210, 87, .8); }
.nk .nk-tz:hover .nk-tz-seal, .nk .nk-tz:focus-visible .nk-tz-seal { opacity: .25; transform: scale(1.3); }
.nk-tz-txt { display: grid; gap: 6px; }
.nk-tz-n { font: 700 20px/1.1 var(--nk-serif); color: var(--nk-gold); letter-spacing: .02em; }
.nk-tz-l { font: 400 14px/1.45 var(--nk-serif); color: var(--nk-ink); }
.nk-tz-go { font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--nk-mute); }
.nk .nk-tz:hover .nk-tz-go { color: var(--nk-gold); }

/* ------------------------------------------------------------------ FINAL */
.nk-final { text-align: center; padding-bottom: 140px; }
.nk-bg-final { filter: brightness(.22) saturate(.85); background-position: 88% 50%; }
html:not(.nk-js) .nk-bg-final, .nk-all .nk-bg-final, .nk-seen .nk-bg-final { background-image: url('../images/castle.jpg'); }
.nk-final::before { height: 220px; }
.nk-final .nk-act { justify-content: center; }
.nk-final .nk-act::after { display: none; }
.nk-seal-big { width: 150px; height: 150px; margin: 0 auto 18px; }
.nk-final .nk-lead { max-width: 28em; margin-left: auto; margin-right: auto; }
.nk-live { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: baseline; gap: 4px 8px; margin-bottom: 26px !important; padding: 10px 18px; border-radius: 30px; border: 1px solid rgba(143, 224, 160, .45); background: rgba(8, 20, 10, .75); font-size: 15px; color: var(--nk-ink); }
.nk-live[hidden] { display: none; }
.nk-live > b { font: 700 24px/1 var(--nk-serif); color: #8fe0a0; }
.nk-live small { color: var(--nk-mute); font-size: 13px; }
.nk-live small[hidden] { display: none; }
.nk-dot { width: 10px; height: 10px; border-radius: 50%; background: #5ae07a; box-shadow: 0 0 0 0 rgba(90, 224, 122, .6); animation: nkPing 2s ease-out infinite; align-self: center; }
@keyframes nkPing { 0% { box-shadow: 0 0 0 0 rgba(90, 224, 122, .6); } 100% { box-shadow: 0 0 0 12px rgba(90, 224, 122, 0); } }
.nk-dl { display: grid; gap: 12px; max-width: 420px; margin: 0 auto; }
.nk a.nk-btn-acc { min-height: 62px; font-size: 21px; }
.nk-small { margin-top: 20px !important; font-size: 14px; color: var(--nk-mute); }
.nk-small a { color: var(--nk-gold); }
.nk-sign { margin-top: 44px !important; font: italic 400 clamp(19px, 5vw, 26px)/1.4 var(--nk-serif); color: var(--nk-ink); }
.nk-sign span { display: block; margin-top: 6px; font: 700 15px/1 var(--nk-serif); letter-spacing: .3em; color: var(--nk-gold); }
.nk-dl.nk-android .nk-dl-and { order: 1; } .nk-dl.nk-android .nk-dl-pc { order: 2; }

/* ------------------------------------------------------------------ telefon: miejsce na dolny pasek zakladek */
@media (max-width: 700px) {
  .nk-final { padding-bottom: calc(150px + env(safe-area-inset-bottom, 0px)); }
  .nk-open { min-height: calc(100svh - 58px - 58px); }
}
@media (max-width: 380px) {
  .nk-tz-grid { grid-template-columns: 1fr; }
  .nk .nk-tz { min-height: 190px; }
  .nk-vers { gap: 6px; }
  .nk-ver b { width: 54px; height: 54px; font-size: 16px; }
  .nk-ver-main b { width: 84px; height: 84px; font-size: 26px; }
}

/* ------------------------------------------------------------------ tablet / PC */
@media (min-width: 821px) {
  .nk-scene { padding: 140px 32px 150px; }
  .nk-halves { grid-template-rows: none; grid-template-columns: 1fr 1fr; min-height: 600px; }
  .nk-half { padding: 40px 40px 60px; }
  .nk-pc { justify-content: flex-end; text-align: right; }
  .nk-pc .nk-half-txt { margin-left: auto; }
  .nk-pc .nk-half-sub { margin-left: auto; }
  .nk-couch .nk-bg { background-position: 18% 40%; }
  .nk-pc .nk-bg { background-position: 88% 40%; }
  .nk-slogan { font-size: clamp(48px, 6.6vw, 112px); }
  .nk-phone { right: 10%; top: 9%; width: 26%; max-width: 190px; }
  .nk-mon { left: 8%; right: auto; top: 5%; width: 48%; max-width: 400px; }
  .nk-seam { left: 50%; right: auto; top: 0; bottom: 0; width: 0; height: auto; }
  .nk-seam::before { left: -1px; right: auto; top: -10%; bottom: -10%; width: 2px; height: auto; transform: rotate(4deg);
    background: linear-gradient(180deg, rgba(255, 210, 87, 0), #ffd257 30%, #fff3c4 50%, #ffd257 70%, rgba(255, 210, 87, 0)); }
  .nk-seam .nk-seal { top: 44%; width: 120px; height: 120px; margin: -60px 0 0 -60px; }
  .nk-js .nk-halves::before, .nk-js .nk-halves::after { height: 50%; }
  .nk-ars-row { grid-template-columns: 1fr auto 1fr; align-items: stretch; gap: 22px; }
  .nk-ars { padding: 30px 28px 32px; }
  .nk-vote { grid-template-columns: 130px 1fr; padding: 26px 28px; }
  .nk-tz-grid { grid-template-columns: repeat(3, 1fr); gap: 16px; }
  .nk .nk-tz { min-height: 280px; padding: 18px; }
  .nk-dl { grid-template-columns: 1fr 1fr; max-width: 560px; }
  .nk-dl .nk-btn-acc { grid-column: 1 / -1; }
  .nk-lvlcard { margin-left: 0; }
}
@media (min-width: 1180px) {
  .nk-chap { display: flex; flex-direction: column; gap: 4px; position: fixed; right: 18px; top: 50%; z-index: 70; transform: translateY(-50%); }
  .nk a[data-i] { display: flex; align-items: center; justify-content: flex-end; gap: 10px; padding: 5px 0; color: var(--nk-mute); text-decoration: none; font-size: 12px; letter-spacing: .08em; }
  .nk-chap span { opacity: 0; transform: translateX(6px); transition: opacity .2s, transform .2s; white-space: nowrap; text-shadow: 0 1px 4px #000; }
  .nk-chap i { width: 8px; height: 8px; border-radius: 50%; border: 1px solid rgba(255, 210, 87, .7); background: rgba(0, 0, 0, .5); transition: transform .2s, background .2s; }
  .nk-chap a:hover span, .nk-chap a:focus-visible span, .nk-chap a.on span { opacity: 1; transform: none; }
  .nk-chap a.on i { background: var(--nk-gold); transform: scale(1.4); box-shadow: 0 0 10px rgba(255, 210, 87, .8); }
  .nk-chap a.on { color: var(--nk-gold); }
}

/* ------------------------------------------------------------------ mniej ruchu */
@media (prefers-reduced-motion: reduce) {
  .nk *, .nk *::before, .nk *::after { animation: none !important; transition: none !important; }
  .nk-par { transform: none !important; will-change: auto; }
  .nk-js .nk-r, .nk-js .nk-in { opacity: 1 !important; transform: none !important; filter: none !important; }
  .nk-js .nk-halves::before, .nk-js .nk-halves::after { display: none; }
  .nk-js .nk-vine path { stroke-dashoffset: 0; }
  .nk-js .nk-vine .nk-leaves { opacity: 1 !important; }
  .nk-js .nk-no .nk-strike::after { transform: rotate(-6deg) scaleX(1) !important; }
  .nk-fx { display: none; }
}
@media (min-width: 821px) {
  .nk-tz-seal { top: 22%; width: 80px; height: 80px; margin-left: -40px; }
  .nk-tz-seal b { font-size: 32px; }
}
.nk-lvl-av { display: grid; place-items: center; color: var(--nk-mute); }
/* kurtyna znika na pewno: po animationend (kanapa.js) albo po 6 s (skrypt w stronie) */
.nk-cur-off .nk-halves::before, .nk-cur-off .nk-halves::after { display: none !important; }
.nk-heart .nk-wrap, .nk-final .nk-wrap { max-width: 1000px; }
@media (max-width: 820px) {
  .nk-couch { padding-bottom: 56px; }
  .nk-pc { padding-top: 60px; }
  .nk-seam .nk-seal { width: 80px; height: 80px; margin: -40px 0 0 -40px; }
}
/* po 6 s otwarcie jest widoczne bez wzgledu na to, czy animacje ruszyly (wolny telefon / karta w tle) */
.nk-intro-done .nk-in { animation: none !important; opacity: 1 !important; transform: none !important; filter: none !important; }

/* ==================================================================================================================
   TELEFON = SEGMENTY JAK RELACJE (2026-10-28, owner: "dawaj to jako kolejne klikniecia na mobilce, a nie scroll ...
   jak kolejne tiktoki"). PC zostaje przewijana strona. Tryb telefonu = waski i dosc wysoki ekran; telefon w poziomie
   (niski) zostaje przy zwyklym przewijaniu.
   Baza bez skryptu: .nk to pelnoekranowy kontener ze scroll-snap y mandatory, kazdy .nk-seg = jeden ekran.
   kanapa.js doklada: pasek relacji, stuk lewo/gora = wstecz, prawo/dol = dalej, klawisze, #nk-gN w adresie,
   dopasowanie tresci do ekranu (zoom) i odtwarzanie animacji wejscia przy kazdym wejsciu na ekran.
   Poza trybem telefonu .nk-seg / .nk-seg-in maja display: contents -- uklad PC jak wczesniej.
   ================================================================================================================== */
.nk-seg, .nk-seg-in { display: contents; }
.nk-ph-only { display: none !important; }
.nk-next, .nk-story { display: none; }

@media (max-width: 820px) and (min-height: 500px) {
  .nk { --nk-top: 56px; --nk-bot: 0px; --nk-h: calc(100vh - var(--nk-top) - var(--nk-bot));
    position: fixed; left: 0; right: 0; top: var(--nk-top); bottom: var(--nk-bot); z-index: 55;
    overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; scroll-snap-type: y mandatory; scroll-behavior: auto;
    -webkit-overflow-scrolling: touch; scrollbar-width: none; -webkit-tap-highlight-color: transparent; }
  .nk::-webkit-scrollbar { display: none; }
  @supports (height: 100dvh) { .nk { --nk-h: calc(100dvh - var(--nk-top) - var(--nk-bot)); } }
  body.kr-page-kanapa { overflow: hidden; padding-bottom: 0; }
  .nk::after { display: none; }
  .nk-prog, .nk-chap { display: none !important; }
  .nk-ph-only { display: block !important; }
  .nk-pc-only { display: none !important; }

  /* sceny: bez paddingu, tla i czastki przyklejone do ekranu (zmieniaja sie dopiero z nowa scena) */
  .nk-scene, .nk-scene.nk-open, .nk-final { padding: 0 !important; min-height: 0; display: block; overflow: visible; overflow: clip; scroll-margin-top: 0; }
  .nk-scene::before, .nk-scene::after { display: none !important; }
  .nk-scene > .nk-bg, .nk-scene > canvas.nk-fx { position: sticky; top: 0; left: auto; right: auto; bottom: auto; display: block; width: 100%;
    height: var(--nk-h); margin-bottom: calc(-1 * var(--nk-h)); }
  .nk-par { transform: none !important; will-change: auto; }
  .nk-rays { top: calc(var(--nk-h) * .42); }
  .nk-vine-a { top: 10px; } .nk-vine-b { bottom: 10px; }
  .nk-wrap, .nk-wrap-wide { max-width: none; margin: 0; }
  .nk-segbox { display: block !important; gap: 0 !important; margin: 0 !important; padding: 0 !important; }

  /* jeden ekran */
  .nk-seg { position: relative; display: flex; flex-direction: column; height: var(--nk-h); padding: 34px 20px 22px; overflow: hidden;
    scroll-snap-align: start; scroll-snap-stop: always; }
  .nk-seg-in { display: block; width: 100%; max-width: 560px; margin: auto; }
  .nk-seg-in > *:first-child { margin-top: 0 !important; }
  .nk-seg-in > *:last-child { margin-bottom: 0 !important; }

  /* ekran 0: dwa ekrany */
  .nk-seg-open { padding: 0; }
  .nk-seg-open .nk-seg-in { display: flex; flex-direction: column; height: 100%; max-width: none; margin: 0; }
  .nk-halves { flex: 1 1 auto; min-height: 0; grid-template-columns: none; grid-template-rows: 1fr 1fr; }
  .nk-half { padding: 16px 16px 18px; }
  .nk-couch { padding-bottom: 48px; } .nk-pc { padding-top: 52px; }
  .nk-slogan { font-size: clamp(34px, min(11.6vw, 6.6vh), 70px); }
  .nk-half-sub { margin-top: 8px !important; font-size: clamp(13px, min(3.8vw, 2vh), 16px); }
  .nk-phone { top: 4%; width: min(24%, 11vh); }
  .nk-mon { top: 4%; width: min(42%, 21vh); }
  .nk-open-foot { padding: 10px 16px 12px; }
  .nk-mid { font-size: clamp(15px, min(4.6vw, 2.5vh), 22px); }
  .nk a.nk-cue { display: none; }
  .nk-next { display: flex; flex-direction: column; align-items: center; gap: 6px; margin-top: 8px !important; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--nk-mute); }
  .nk-next i { width: 14px; height: 14px; border: 2px solid var(--nk-gold); border-width: 2px 0 0 2px; transform: rotate(45deg); animation: nkNext 1.6s ease-in-out infinite; }
  @keyframes nkNext { 0%, 100% { transform: translateY(4px) rotate(45deg); opacity: .5; } 50% { transform: translateY(-4px) rotate(45deg); opacity: 1; } }
  .nk-moved .nk-next { opacity: 0; transition: opacity .4s; }

  /* typografia pod wysokosc ekranu */
  .nk-act { margin-bottom: 2.2vh !important; }
  .nk .nk-big { font-size: clamp(30px, min(10vw, 6vh), 64px); margin-bottom: 2.2vh; }
  .nk-lead { font-size: clamp(16px, min(4.6vw, 2.7vh), 22px); margin-bottom: 2vh !important; }
  .nk-stay { margin-top: 2.6vh !important; font-size: clamp(17px, min(5vw, 3vh), 26px); }
  .nk-beats .nk-seg-in > * + * { margin-top: 3vh; }
  .nk-beat { font-size: clamp(21px, min(6.8vw, 4.3vh), 40px); }
  .nk-beat-s { font-size: clamp(16px, min(4.6vw, 2.8vh), 22px); }
  .nk-lvlcard { margin: 0 0 4.4vh; }
  .nk-punch { font-size: clamp(28px, min(8.8vw, 5.4vh), 56px); }
  .nk-me { margin-top: 3vh !important; }
  .nk-vers { margin: 3.4vh auto 0; }
  .nk-heart .nk-seg + .nk-seg .nk-lead { font-size: clamp(18px, min(5.2vw, 3vh), 24px); }
  .nk-no { font-size: clamp(19px, min(5.6vw, 3.2vh), 28px); }
  .nk-confess .nk-seg-in > * + * { margin-top: 2.6vh; }
  .nk-confess .nk-kp { font-size: clamp(17px, min(5.2vw, 3.1vh), 25px); }
  .nk-route { margin-top: 3.4vh; }
  .nk-ars { padding: 22px 18px 22px; }
  .nk .nk-ars-t { font-size: clamp(28px, min(8vw, 4.8vh), 44px); }
  .nk-ars-l li { font-size: clamp(14px, min(4.2vw, 2.3vh), 17px); }
  .nk-vs { margin-bottom: 2.4vh; }
  .nk-vs b { width: 56px; height: 56px; font-size: 20px; }
  .nk-owner { margin-bottom: 2vh; }
  .nk-owner-av { flex-basis: 76px; height: 76px; }
  .nk-quote { font-size: clamp(22px, min(6.6vw, 4vh), 40px); }
  .nk-seg-hard .nk-lead-hard { margin-top: 0 !important; padding: 22px 20px; font-size: clamp(20px, min(6vw, 3.6vh), 30px); line-height: 1.45; }
  .nk-vote { margin-top: 0; padding: 18px 16px; gap: 12px; }
  .nk-ballot { width: 84px; }
  .nk-vote-t p { font-size: clamp(14px, min(4vw, 2.2vh), 16px); }
  .nk-end { margin-top: 3.4vh !important; font-size: clamp(22px, min(6.6vw, 4vh), 36px); }

  /* zajawki: trzy karty na ekran */
  .nk-seg-tz .nk-seg-in { display: flex; flex-direction: column; gap: 1.6vh; height: 100%; margin: 0 auto; }
  .nk .nk-seg-tz .nk-tz { flex: 1 1 0; min-height: 0; padding: 14px 16px; }
  .nk-seg-tz .nk-tz-seal { left: auto; right: 12px; top: 12px; margin: 0; width: 50px; height: 50px; }
  .nk-seg-tz .nk-tz-seal b { font-size: 22px; }
  .nk-seg-tz .nk-tz-txt { gap: 4px; }
  .nk-seg-tz .nk-stay { flex: 0 0 auto; margin-top: .4vh !important; text-align: center; }
  .nk-tz-l { font-size: clamp(13px, min(4vw, 2.1vh), 16px); }

  /* final */
  .nk-final .nk-seg-in { text-align: center; }
  .nk-seal-big { width: min(130px, 17vh); height: min(130px, 17vh); }
  .nk-live { margin-bottom: 0 !important; }
  .nk-cta-k { margin: 0 0 3vh !important; font: 700 clamp(30px, min(10vw, 6vh), 60px)/1.05 var(--nk-serif); color: var(--nk-gold); text-shadow: 0 0 40px rgba(255, 190, 80, .35); }
  .nk-dl { gap: 1.6vh; }
  .nk-small { margin-top: 2.4vh !important; }
  .nk-sign { margin-top: 3.4vh !important; }

  /* pasek relacji */
  .nk-story { display: flex; gap: 3px; position: fixed; z-index: 57; left: 10px; right: 10px; top: calc(var(--nk-top) + 8px); pointer-events: none; }
  .nk-story i { flex: 1 1 0; height: 3px; border-radius: 2px; background: rgba(255, 255, 255, .22); transition: background .25s; }
  .nk-story i.done { background: rgba(255, 210, 87, .7); }
  .nk-story i.on { background: var(--nk-gold); box-shadow: 0 0 8px rgba(255, 210, 87, .8); }
}
/* tryb telefonu z dolnym paskiem zakladek szablonu (<= 700 px) */
@media (max-width: 700px) and (min-height: 500px) {
  .nk { --nk-bot: calc(58px + env(safe-area-inset-bottom, 0px)); }
}
@media (max-width: 820px) and (min-height: 500px) and (prefers-reduced-motion: reduce) {
  .nk-next i { animation: none; }
}
@media (max-width: 820px) and (min-height: 500px) {
  .nk-scene.nk-open > canvas.nk-fx { position: absolute; top: 0; height: 100%; margin: 0; }
}

/* ==================================================================================================================
   ZAJAWKI ZE SCENKAMI (2026-10-28, owner: "dodaj tam te animacje z glownej, tak zeby pokazac co nieco").
   Scenka = kc_scene() z katalogu glownej (style kc_scene_css(), klasy .ks*, nic nie koliduje z nk-*). Zaslona: scenka
   przymglona i zatrzymana; rusza, gdy siatka jest na ekranie (PC, .nk-run z kanapa.js) albo ekran relacji jest aktywny
   (telefon, .nk-seg.nk-on); po najechaniu / fokusie zaslona schodzi calkiem. Bez skryptu: stoi na pierwszej klatce.
   ================================================================================================================== */
.nk .nk-tz.nk-tz-has { --tzp: 14px; justify-content: flex-start; }
.nk-tz-has::after { background: linear-gradient(180deg, rgba(10, 8, 6, 0) 40%, rgba(10, 8, 6, .85) 75%); }
.nk-tz-scene { position: relative; z-index: 0; flex: 0 0 auto; height: 150px; margin: calc(-1 * var(--tzp)) calc(-1 * var(--tzp)) 12px; overflow: hidden;
  border-bottom: 1px solid color-mix(in srgb, var(--c, #c9992f) 45%, transparent); }
.nk-tz-scene .ks { height: 100%; border-bottom: 0; filter: blur(2px) brightness(.5) saturate(.7); transition: filter .9s ease; }
.nk-tz-veil { position: absolute; inset: 0; z-index: 8; pointer-events: none; transition: opacity .9s ease;
  background: radial-gradient(ellipse 70% 60% at 50% 55%, rgba(10, 8, 6, 0), rgba(10, 8, 6, .55)), linear-gradient(180deg, rgba(10, 8, 6, .35), rgba(10, 8, 6, 0) 35%, rgba(10, 8, 6, .55)); }
.nk-tz-has .nk-tz-txt { margin-top: auto; }
.nk .nk-tz-has .nk-tz-seal { left: auto; right: 10px; top: 10px; margin: 0; width: 46px; height: 46px; z-index: 9; }
.nk .nk-tz-has .nk-tz-seal b { font-size: 20px; }
/* zatrzymane, dopoki nie ma ich na ekranie */
.nk-tz-scene .ks, .nk-tz-scene .ks * { animation-play-state: paused !important; }
html:not(.nk-phmode) .nk-tz-grid.nk-run .nk-tz-scene .ks, html:not(.nk-phmode) .nk-tz-grid.nk-run .nk-tz-scene .ks *,
html.nk-phmode .nk-seg.nk-on .nk-tz-scene .ks, html.nk-phmode .nk-seg.nk-on .nk-tz-scene .ks * { animation-play-state: running !important; }
html:not(.nk-phmode) .nk-tz-grid.nk-run .nk-tz-scene .ks, html.nk-phmode .nk-seg.nk-on .nk-tz-scene .ks { filter: brightness(.8) saturate(.95); }
html:not(.nk-phmode) .nk-tz-grid.nk-run .nk-tz-veil, html.nk-phmode .nk-seg.nk-on .nk-tz-veil { opacity: .55; }
html.nk-phmode .nk-seg.nk-on .nk-tz-scene .ks { transition-delay: .5s; }
.nk .nk-tz-has:hover .nk-tz-scene .ks, .nk .nk-tz-has:focus-visible .nk-tz-scene .ks { filter: none; }
.nk .nk-tz-has:hover .nk-tz-veil, .nk .nk-tz-has:focus-visible .nk-tz-veil { opacity: .1; }

/* battle royale: krag zaciska sie nad pojedynkiem */
.nk-br-ring { position: absolute; left: 50%; top: 56%; width: 300px; height: 300px; margin: -150px 0 0 -150px; border-radius: 50%; z-index: 3; pointer-events: none;
  border: 3px solid rgba(255, 120, 60, .85); box-shadow: 0 0 18px rgba(255, 90, 40, .7), inset 0 0 18px rgba(255, 90, 40, .45), 0 0 0 400px rgba(120, 30, 10, .28);
  animation: nkBr 6s ease-in infinite; }
@keyframes nkBr { 0% { transform: scale(1.15); } 80% { transform: scale(.42); } 100% { transform: scale(.42); opacity: .4; } }

/* smiertelny bieg (wlasna scenka w stylu .ks) */
.ksc-nkrun .nkr-corpse { position: absolute; right: 24%; bottom: 6px; width: 64px; height: 64px; }
.ksc-nkrun .nkr-corpse img { position: absolute; left: 0; top: 0; width: 64px; height: 64px; transform: rotate(-90deg) translateX(-10px); filter: grayscale(.7) brightness(.7) drop-shadow(0 0 5px rgba(170, 20, 10, .9)); }
.ksc-nkrun .nkr-corpse::before { content: ''; position: absolute; left: 0; right: 0; bottom: 4px; height: 14px; border-radius: 50%; background: radial-gradient(ellipse, rgba(150, 10, 5, .85), rgba(150, 10, 5, 0) 70%); }
.ksc-nkrun .nkr-lock { position: absolute; right: calc(24% + 12px); bottom: 70px; width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center;
  background: conic-gradient(#ffd257 var(--p, 100%), rgba(0, 0, 0, .65) 0); box-shadow: 0 0 12px rgba(255, 210, 87, .5); animation: nkrLock 6s linear infinite; }
.ksc-nkrun .nkr-lock b { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: #120c06; font: bold 10px Verdana, sans-serif; color: #ffd257; }
@keyframes nkrLock { from { --p: 100%; } to { --p: 0%; } }
.ksc-nkrun .nkr-killer { right: 4%; bottom: 8px; width: 64px; height: 64px; animation: nkrGrab 1.5s ease-in-out infinite; }
.ksc-nkrun .nkr-no { position: absolute; right: calc(4% + 50px); bottom: 58px; font: bold 18px Verdana, sans-serif; color: #ff5a4a; text-shadow: 0 0 6px #000; animation: nkrNo 1.5s ease-in-out infinite; }
@keyframes nkrGrab { 0%, 100% { transform: translateX(0); } 45% { transform: translateX(-12px); } }
@keyframes nkrNo { 0%, 30%, 100% { opacity: 0; transform: scale(.6); } 45%, 60% { opacity: 1; transform: scale(1); } }
.ksc-nkrun .nkr-run { position: absolute; left: -16%; bottom: 8px; width: 64px; height: 96px; animation: nkrRun 6s linear infinite; }
.ksc-nkrun .nkr-run img { position: absolute; }
.ksc-nkrun .nkr-me { left: 0; bottom: 0; width: 64px; height: 64px; }
.ksc-nkrun .nkr-dr { left: 18px; top: 0; width: 28px; height: 28px; filter: drop-shadow(0 0 6px #b06aff) drop-shadow(0 0 2px #fff); animation: ksBob 1s ease-in-out infinite; }
@keyframes nkrRun { 0% { left: -18%; opacity: 0; } 8% { opacity: 1; } 78% { left: 40%; opacity: 1; } 92%, 100% { left: 40%; opacity: 0; } }
.ksc-nkrun .ks-tag { left: 8px; bottom: 6px; }

/* ekonomia run (wlasna scenka) */
.ksc-nkrune .nkn-mage { left: 3%; bottom: 8px; width: 64px; height: 64px; animation: ksBob 1.4s ease-in-out infinite; }
.ksc-nkrune .nkn-fly { left: 14%; bottom: 46px; width: 28px; height: 28px; filter: drop-shadow(0 0 6px #ff6a3a); animation: nknFly 2.4s ease-in-out infinite; }
@keyframes nknFly { 0% { transform: translate(0, 0) scale(.6); opacity: 0; } 15% { opacity: 1; } 70% { transform: translate(var(--fx, 110px), -36px) scale(1); opacity: 1; } 100% { transform: translate(var(--fx, 110px), -36px); opacity: 0; } }
.ksc-nkrune .nkn-board { position: absolute; left: 50%; top: 14px; width: 132px; margin-left: -66px; padding: 18px 8px 8px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px;
  border: 1px solid #8a6a2a; border-radius: 6px; background: linear-gradient(180deg, rgba(40, 28, 12, .92), rgba(16, 10, 4, .92)); }
.ksc-nkrune .nkn-bh { position: absolute; left: 0; right: 0; top: 3px; text-align: center; font: bold 9px Verdana, sans-serif; letter-spacing: .2em; color: #ffd257; }
.ksc-nkrune .nkn-slot { position: relative; height: 28px; border-radius: 4px; background: rgba(0, 0, 0, .55); box-shadow: inset 0 0 0 1px rgba(255, 210, 87, .25); }
.ksc-nkrune .nkn-slot img { left: 0; top: 0; width: 28px; height: 28px; opacity: 0; animation: nknPop 9.6s steps(1) infinite; }
.ksc-nkrune .nkn-slot.s1 img { animation-delay: 2.4s; } .ksc-nkrune .nkn-slot.s2 img { animation-delay: 4.8s; } .ksc-nkrune .nkn-slot.s3 img { animation-delay: 7.2s; }
@keyframes nknPop { 0% { opacity: 0; } 18%, 100% { opacity: 1; } }
.ksc-nkrune .nkn-npc { position: absolute; right: 4%; bottom: 8px; width: 64px; height: 100px; }
.ksc-nkrune .nkn-merch { left: 0; bottom: 0; width: 64px; height: 64px; }
.ksc-nkrune .nkn-ticket { left: 18px; top: 0; width: 28px; height: 28px; filter: drop-shadow(0 0 8px #ffd257); animation: ksBob 1.2s ease-in-out infinite; }
.ksc-nkrune .nkn-off { position: absolute; right: -6px; top: 4px; padding: 1px 5px; border-radius: 4px; background: #1a7a3a; color: #eaffea; font: bold 10px Verdana, sans-serif; animation: nkrNo 3s ease-in-out infinite; }
@property --nkq { syntax: '<integer>'; inherits: false; initial-value: 0; }
.ksc-nkrune .nkn-cnt { counter-reset: q var(--nkq); animation: nknCnt 9.6s steps(60) infinite; }
.ksc-nkrune .nkn-cnt::after { content: '(' counter(q) '/60)'; color: #ffb08a; }
@keyframes nknCnt { from { --nkq: 0; } to { --nkq: 60; } }

/* szeroka karta (7.): na PC caly wiersz, scenka obok tekstu */
@media (min-width: 821px) {
  .nk .nk-tz.nk-tz-has { --tzp: 18px; min-height: 0; }
  .nk .nk-tz-wide { grid-column: 1 / -1; flex-direction: row; align-items: stretch; gap: 24px; }
  .nk .nk-tz-wide .nk-tz-scene { flex: 0 0 48%; height: auto; min-height: 190px; margin: calc(-1 * var(--tzp)) 0 calc(-1 * var(--tzp)) calc(-1 * var(--tzp)); border-bottom: 0;
    border-right: 1px solid color-mix(in srgb, var(--c, #c9992f) 45%, transparent); }
  .nk .nk-tz-wide .nk-tz-txt { margin: auto 0; padding-right: 60px; }
  .nk .nk-tz-wide .nk-tz-n { font-size: 26px; }
  .nk .nk-tz-wide .nk-tz-l { font-size: 16px; }
  .ksc-nkrune .nkn-fly { --fx: 180px; }
}

/* telefon: 2 karty na ekran, scenka zabiera wolne miejsce nad tekstem */
@media (max-width: 820px) and (min-height: 500px) {
  .nk .nk-seg-tz .nk-tz.nk-tz-has { --tzp: 14px; padding: 14px 16px; }
  .nk-seg-tz .nk-tz-scene { flex: 1 1 auto; height: auto; min-height: 80px; margin: -14px -16px 10px; }
  .nk-seg-tz .nk-tz-has .nk-tz-txt { margin-top: 0; flex: 0 0 auto; }
  .nk-seg-tz1 .nk-tz-scene { min-height: 150px; }
  /* dopasowanie (kanapa.js fitTz): tekst zawsze caly, scenka ustepuje */
  .nk-seg-tz .nk-tz-l { font-size: calc(clamp(13px, min(4vw, 2.1vh), 16px) * var(--tzk, 1)); }
  .nk-seg-tz .nk-tz-n { font-size: calc(20px * var(--tzk, 1)); }
  .nk-seg-tz .nk-tz-go { font-size: calc(11px * var(--tzk, 1)); }
  .nk-seg-tz.nk-tz-tight .nk-seg-in { gap: 1vh; }
  .nk-seg-tz.nk-tz-tight .nk-tz-scene { min-height: 40px; margin-bottom: 6px; }
  .nk-seg-tz.nk-tz-tight .nk-tz-seal { width: 36px; height: 36px; }
  .nk-seg-tz.nk-tz-tight .nk-tz-seal b { font-size: 16px; }
  .nk-seg-tz.nk-tz-noscene .nk-tz-scene { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .nk-tz-scene .ks { filter: brightness(.8) !important; transition: none; }
  .nk-br-ring { transform: scale(.7); }
}

/* ==== WYBOR SWIATA (2026-10-28): ostatni ekran kanapy -- jezyk -> kanapa -> 8.0 / 7.6 ==== */
.nk-world { margin-top: 110px; text-align: center; scroll-margin-top: 80px; }
.nk-world .nk-act { justify-content: center; }
.nk-world .nk-act::after { display: none; }
.nk-world .nk-lead { max-width: 34em; margin-left: auto; margin-right: auto; }
.nk-wgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 26px auto 0; max-width: 900px; text-align: left; }
.nk a.nk-wc { display: flex; flex-direction: column; gap: 8px; padding: 22px 22px 20px; border-radius: 14px; text-decoration: none; color: var(--nk-ink);
  border: 1px solid rgba(201, 153, 47, .5); background: linear-gradient(160deg, #3a2a12 0%, #1a130a 60%); box-shadow: 0 12px 34px rgba(0, 0, 0, .5);
  transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease; }
.nk a.nk-wc:hover, .nk a.nk-wc:focus-visible { color: var(--nk-ink); text-shadow: none; transform: translateY(-4px); border-color: var(--nk-gold);
  box-shadow: 0 18px 44px rgba(0, 0, 0, .6), 0 0 30px rgba(255, 200, 80, .18); }
.nk a.nk-wc76 { border-color: rgba(232, 154, 74, .5);
  background: repeating-linear-gradient(0deg, rgba(0, 0, 0, .16) 0 1px, transparent 1px 3px), linear-gradient(160deg, #3a1f0c 0%, #1e1108 65%); }
.nk a.nk-wc76:hover, .nk a.nk-wc76:focus-visible { border-color: #e89a4a; box-shadow: 0 18px 44px rgba(0, 0, 0, .6), 0 0 30px rgba(255, 180, 92, .18); }
.nk-wv { font: 700 40px/1 var(--nk-serif); color: var(--nk-gold); }
.nk-wc76 .nk-wv { color: #ffb05c; }
.nk-wn { font: 700 19px/1.25 var(--nk-serif); color: var(--nk-ink); }
.nk-wd { font: 400 14px/1.5 var(--nk-serif); color: var(--nk-mute); }
.nk-wgo { display: block; margin-top: auto; padding: 12px 14px; border-radius: 10px; text-align: center; font: 700 16px/1.2 var(--nk-serif);
  color: #2a1806; background: linear-gradient(180deg, #ffe9a6, #f4c450 46%, #d89a2a); border: 1px solid #fff0b8; }
.nk-wc76 .nk-wgo { color: #fff1dc; background: linear-gradient(180deg, #c8702e, #8a4416); border-color: #f0a868; }
.nk-wd + .nk-wgo { margin-top: 10px; }
.nk-world .nk-sign { margin-top: 56px !important; }
/* skrot do wyboru swiata */
.nk-skip { position: fixed; z-index: 75; right: 18px; bottom: 22px; padding: 9px 16px; border-radius: 999px; text-decoration: none;
  font: 600 12px/1 Verdana, sans-serif; letter-spacing: .1em; text-transform: uppercase; color: var(--nk-gold);
  background: rgba(14, 10, 6, .78); border: 1px solid rgba(255, 210, 87, .5); box-shadow: 0 6px 20px rgba(0, 0, 0, .5);
  opacity: 0; animation: nkSkipIn .6s ease 2.4s forwards; transition: opacity .3s, visibility .3s; }
.nk a.nk-skip:hover { color: #fff; text-shadow: none; border-color: var(--nk-gold); }
@keyframes nkSkipIn { to { opacity: 1; } }
html.nk-at-world .nk-skip { visibility: hidden; opacity: 0 !important; pointer-events: none; }
@media (max-width: 820px) {
  .nk-wgrid { grid-template-columns: 1fr; gap: 12px; }
  .nk a.nk-wc { padding: 16px 16px 14px; gap: 6px; }
  .nk-wv { font-size: 32px; }
  .nk-wn { font-size: 17px; }
  .nk-wd { font-size: 13px; line-height: 1.45; }
}
@media (max-width: 820px) and (min-height: 500px) {
  .nk-world { margin-top: 0; }
  .nk-seg-world .nk-wgrid { margin-top: 2vh; gap: 1.6vh; }
  .nk-world .nk-sign { margin-top: 2.4vh !important; font-size: 17px; }
  .nk-skip { bottom: auto; top: calc(var(--nk-top, 56px) + 12px); right: 12px; padding: 7px 12px; font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) { .nk-skip { animation: none; opacity: 1; } .nk a.nk-wc { transition: none; } }

/* ==== v10 (2026-10-28): karta przedmiotu jak w grze (klik w slot arsenalu) ==== */
.nk-tip { position: fixed; z-index: 100002; width: min(310px, calc(100vw - 24px)); padding: 12px 14px 12px; border-radius: 6px; text-align: left;
  font: 400 13px/1.45 Verdana, Tahoma, sans-serif; color: #e8e0cc; pointer-events: auto;
  background: linear-gradient(180deg, #221a10, #120e09 70%); border: 1px solid #8a6a32;
  box-shadow: inset 0 0 0 1px rgba(255, 220, 140, .08), 0 0 0 1px #000, 0 16px 40px rgba(0, 0, 0, .75);
  opacity: 0; transform: translateY(6px); transition: opacity .16s ease, transform .16s ease; }
.nk-tip.on { opacity: 1; transform: none; }
.nk-tip-h { display: flex; gap: 10px; align-items: center; margin-bottom: 8px; }
.nk-tip-h i { flex: 0 0 auto; width: 68px; height: 68px; display: grid; place-items: center; border-radius: 4px; background: #0e0c09 url('../images/slot.png') center / cover; box-shadow: inset 0 0 0 1px rgba(255, 210, 87, .35); }
.nk-tip-h img { width: 64px; height: 64px; image-rendering: pixelated; }
.nk-tip-n { display: block; font: 700 15px/1.25 Verdana, Tahoma, sans-serif; color: #f0dca0; }
.nk-tip-t { display: block; margin-top: 3px; font-size: 11px; letter-spacing: .04em; color: #c9a35a; }
.nk-tip-pvp .nk-tip-t { color: #ff9a80; }
.nk-tip-st { margin: 0 0 6px; color: #fff; }
.nk-tip-b { margin: 0 0 8px; color: #8fe0a0; }
.nk-tip-dt { margin: 8px 0 3px; font-size: 11px; color: #9a8a6a; }
.nk-tip-bar { display: block; white-space: pre; font: 400 12px/1.5 Consolas, 'Courier New', monospace; }
.nk-tip-bar b { font-weight: 400; color: #d8ccb0; }
.nk-tip-l { margin: 8px 0 0; font-style: italic; color: #b8ac90; }
.nk-tip-f { margin: 8px 0 0; padding-top: 6px; border-top: 1px solid rgba(201, 153, 47, .25); font-size: 11px; color: #8a7a5a; }
.nk-tip-x { position: absolute; right: 4px; top: 2px; width: 30px; height: 30px; border: 0; background: none; color: #c9a35a; font: 700 18px/1 Verdana, sans-serif; cursor: pointer; }
.nk-tip-x:hover { color: #fff; }
.nk-slots-hint { display: block; margin: -10px 0 14px; font: 400 11px/1.4 Verdana, sans-serif; letter-spacing: .04em; color: var(--nk-mute); opacity: .8; }

/* Glos graczy / Discord: tylko etykiety (owner: "nie powinno byc klikalne, bo rozprasza") */
.nk-chip { display: inline-flex; align-items: center; min-height: 34px; padding: 6px 14px; border-radius: 999px; font: 600 12px/1 Verdana, sans-serif; letter-spacing: .08em;
  text-transform: uppercase; color: var(--nk-gold); background: rgba(20, 16, 10, .6); border: 1px solid rgba(255, 210, 87, .32); cursor: default; user-select: none; }

/* zajawki nie sa linkami: kursor zwykly */
.nk .nk-tz { cursor: default; }

/* dolny pasek kart na kanapie tylko informacyjnie, z klodka (owner: "nowa osoba najpierw zrozumie, o co chodzi") */
.nk-lockbar { display: none; }
@media (max-width: 700px) {
  body.kr-page-kanapa .kr-tabbar { pointer-events: none; filter: grayscale(.7) brightness(.55); }
  .nk-lockbar { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 61; height: calc(58px + env(safe-area-inset-bottom, 0px));
    padding-bottom: env(safe-area-inset-bottom, 0px); align-items: center; justify-content: center; gap: 8px; color: var(--nk-gold, #ffd257);
    font: 600 12px/1.2 Verdana, sans-serif; letter-spacing: .04em; text-shadow: 0 1px 3px #000; background: rgba(8, 7, 5, .45); -webkit-tap-highlight-color: transparent; }
  .nk-lockbar svg { flex: 0 0 auto; filter: drop-shadow(0 1px 2px #000); }
  .nk-lockbar.nk-shake svg { animation: nkLockShake .45s ease; }
}
@keyframes nkLockShake { 0%, 100% { transform: none; } 20% { transform: rotate(-14deg); } 45% { transform: rotate(12deg); } 70% { transform: rotate(-7deg); } }

/* 2026-10-30: dolna belka "Menu otworzy sie po wyborze swiata" tez nie przewija kanapy */
.nk-lockbar { touch-action: none; overscroll-behavior: none; }
