@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/fonts/rubik-latin-ext-400-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/fonts/rubik-latin-400-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/fonts/rubik-latin-ext-500-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/fonts/rubik-latin-500-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/fonts/rubik-latin-ext-700-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/fonts/rubik-latin-700-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-display: swap;
  font-weight: 800;
  src: url(/fonts/rubik-latin-ext-800-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-display: swap;
  font-weight: 800;
  src: url(/fonts/rubik-latin-800-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'Shrikhand';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/fonts/shrikhand-latin-ext-400-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Shrikhand';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/fonts/shrikhand-latin-400-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'Silkscreen';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/fonts/silkscreen-latin-ext-400-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Silkscreen';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/fonts/silkscreen-latin-400-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
/* Układ: ciemna sala weselna, jedna oś treści do 1140px; sekcje idą jak kolejne punkty wesela
   (wejście, kartka z kalendarza, płyta, automat z grą, porady weselne). Jedyny wybuch koloru: brokatowy napis i okładka. */
:root{
  color-scheme: dark;
  --noc:#12051c;        /* tło sali */
  --sliwka:#22093a;     /* powierzchnie */
  --fiolet:#3a1060;     /* obramowania, akcenty tła */
  --roz:#ff3fa4;        /* cekiny */
  --zloto:#ffcf3a;      /* brokat */
  --cyjan:#5fe7ff;      /* promień UFO */
  --krem:#fff2fb;       /* tekst */
  --mgla:#cfb8e0;       /* tekst drugorzędny */
  --linia:rgba(255,214,245,.14);
  --f-disp:'Shrikhand', 'Georgia', 'Times New Roman', serif;
  --f-txt:'Rubik', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --f-pix:'Silkscreen', ui-monospace, 'Courier New', monospace;
  --szer:1140px;
  --r:18px;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--noc);color:var(--krem);font:400 1.0625rem/1.6 var(--f-txt);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--zloto);outline-offset:3px;border-radius:6px}
h1,h2,h3{text-wrap:balance;margin:0}
p{margin:0}
.wrap{max-width:var(--szer);margin:0 auto;padding-left:max(16px, env(safe-area-inset-left, 0px));padding-right:max(16px, env(safe-area-inset-right, 0px))}
.etykieta{font:400 .78rem/1.2 var(--f-pix);letter-spacing:.08em;text-transform:uppercase;color:var(--zloto)}
.sekcja{padding-block:clamp(56px,9vw,104px)}
.sekcja h2{font:400 clamp(2rem,5vw,3.3rem)/1.05 var(--f-disp);color:var(--krem);margin-top:10px}
.lead{color:var(--mgla);max-width:62ch;margin-top:14px}
.skip{position:absolute;left:-999px;top:8px;background:var(--zloto);color:var(--noc);padding:8px 14px;border-radius:8px;z-index:100;font-weight:700}
.skip:focus{left:16px}

/* ---------- nagłówek ---------- */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--noc)}
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(18,5,28,.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--linia)}
.top .wrap{display:flex;align-items:center;gap:20px;min-height:64px}
.marka{font:400 1.45rem/1 var(--f-disp);text-decoration:none;color:var(--krem);white-space:nowrap}
.marka span{color:var(--zloto)}
.nav{display:flex;gap:22px;margin-left:auto;font-weight:500;font-size:.95rem}
.nav a{text-decoration:none;color:var(--mgla);transition:color .2s}
.nav a:hover{color:var(--krem)}
.btn{display:inline-flex;align-items:center;gap:10px;padding:12px 20px;border-radius:999px;font:700 .98rem/1 var(--f-txt);text-decoration:none;border:0;cursor:pointer;transition:transform .2s, box-shadow .2s, background .2s}
.btn:hover{transform:translateY(-2px)}
.btn-zloto{background:var(--zloto);color:#2a0f00;box-shadow:0 6px 0 #b8860b, 0 10px 30px rgba(255,207,58,.35)}
.btn-zloto:hover{box-shadow:0 8px 0 #b8860b, 0 16px 36px rgba(255,207,58,.45)}
.btn-zloto:active{transform:translateY(4px);box-shadow:0 2px 0 #b8860b}
.top .btn{padding:10px 16px;font-size:.9rem;box-shadow:0 4px 0 #b8860b}
@media (max-width:820px){.nav{display:none}.top .btn{margin-left:auto}}

/* ---------- hero ---------- */
.hero{position:relative;isolation:isolate;overflow:hidden;border-bottom:1px solid var(--linia)}
.hero-tlo{position:absolute;inset:0;z-index:-3}
.hero-tlo img{width:100%;height:100%;object-fit:cover;opacity:.55}
.hero::before{content:"";position:absolute;inset:0;z-index:-2;background:
  radial-gradient(60% 70% at 75% 40%, transparent 0 30%, rgba(18,5,28,.55) 70%),
  linear-gradient(90deg, rgba(18,5,28,.92) 0%, rgba(18,5,28,.6) 45%, rgba(18,5,28,.25) 100%),
  linear-gradient(0deg, var(--noc) 0%, transparent 30%)}
.swiatla{position:absolute;inset:-20%;z-index:-1;pointer-events:none;mix-blend-mode:screen;opacity:.55;
  background:
   radial-gradient(circle at 20% 30%, rgba(255,63,164,.55) 0 2px, transparent 3px) 0 0/90px 90px,
   radial-gradient(circle at 70% 60%, rgba(255,207,58,.6) 0 2px, transparent 3px) 0 0/120px 120px,
   radial-gradient(circle at 40% 80%, rgba(95,231,255,.55) 0 1.5px, transparent 2.5px) 0 0/70px 70px;
  animation:kula 26s linear infinite}
@keyframes kula{to{transform:rotate(360deg)}}
#konfetti{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(24px,5vw,64px);align-items:center;padding-block:clamp(40px,7vw,88px)}
.hero-txt{min-width:0}
.tytul{font:400 clamp(3.4rem,10vw,7.4rem)/.92 var(--f-disp);margin-top:16px;letter-spacing:-.01em}
.tytul .t1,.tytul .t2{display:block;background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;filter:drop-shadow(0 4px 0 #3b0030) drop-shadow(0 0 24px rgba(255,63,164,.45))}
.tytul .t1{background-image:radial-gradient(circle,#fff 0 1px,transparent 1.6px),linear-gradient(100deg,#ffd2f0,#ff3fa4 40%,#c13cff 75%,#ffd2f0);background-size:9px 9px,100% 100%}
.tytul .t2{background-image:radial-gradient(circle,#fff8 0 1px,transparent 1.6px),linear-gradient(100deg,#fff1a6,#ffcf3a 45%,#ff9a1f 80%,#fff1a6);background-size:11px 11px,100% 100%;margin-left:.35em}
.brokat .t1,.brokat .t2{animation:brokat 6s linear infinite}
@keyframes brokat{to{background-position:90px 45px,0 0}}
.hero-lead{font-size:clamp(1.05rem,1.6vw,1.22rem);color:var(--krem);max-width:46ch;margin-top:22px}
.hero-lead strong{color:var(--zloto);font-weight:700}
.platformy{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.pl{display:inline-flex;align-items:center;gap:10px;padding:12px 18px 12px 14px;border-radius:14px;text-decoration:none;font-weight:700;font-size:.98rem;color:#fff;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);transition:transform .2s, background .2s, border-color .2s}
.pl svg{width:26px;height:26px;flex:none}
.pl small{display:block;font:400 .66rem/1 var(--f-pix);letter-spacing:.06em;opacity:.75;margin-bottom:3px}
.pl:hover{transform:translateY(-3px)}
.pl-s:hover{background:#1db954;border-color:#1db954;color:#06200f}
.pl-a:hover{background:#fa2d55;border-color:#fa2d55}
.pl-y:hover{background:#ff1f1f;border-color:#ff1f1f}
.hero-fot{position:relative;min-width:0;justify-self:center;width:min(100%,460px)}
.ramka{position:relative;border-radius:28px;padding:6px;background:conic-gradient(from var(--kat,0deg),var(--roz),var(--zloto),var(--cyjan),var(--roz));animation:obrot 7s linear infinite;box-shadow:0 30px 80px rgba(255,63,164,.35)}
@property --kat{syntax:'<angle>';inherits:false;initial-value:0deg}
@keyframes obrot{to{--kat:360deg}}
.ramka img{border-radius:23px;aspect-ratio:1;object-fit:cover;width:100%}
.naklejka{position:absolute;left:-14px;bottom:26px;background:var(--zloto);color:#2a0f00;font:400 1.05rem/1.05 var(--f-disp);padding:12px 16px;border-radius:14px;transform:rotate(-7deg);box-shadow:0 8px 0 #b8860b;max-width:15ch;text-decoration:none}
.naklejka small{display:block;font:400 .62rem/1.2 var(--f-pix);letter-spacing:.06em;margin-bottom:4px}
@media (max-width:860px){.hero .wrap{grid-template-columns:1fr}.hero-fot{width:min(100%,380px)}.naklejka{left:0}}

/* ---------- suchar dnia (kartka z kalendarza-zdzieraka) ---------- */
.suchar{background:linear-gradient(180deg,var(--noc),var(--sliwka) 60%,var(--noc))}
.kal{margin-top:34px;display:grid;grid-template-columns:240px 1fr;border-radius:var(--r);overflow:hidden;background:#fffaf2;color:#2b1630;box-shadow:0 2px 0 #e9dccd,0 4px 0 #ddd0c0,0 6px 0 #d1c3b1,0 30px 70px rgba(0,0,0,.45)}
.kal-data{background:var(--roz);color:#fff;padding:26px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;gap:4px}
.kal-data::before{content:"";position:absolute;inset:0 0 auto;height:14px;background:radial-gradient(circle at 10px 7px,var(--noc) 0 4px,transparent 4.5px) 0 0/22px 14px}
.kal-dzien{font:800 clamp(4.2rem,9vw,6rem)/1 var(--f-txt);font-variant-numeric:tabular-nums}
.kal-mies{font:700 1.1rem/1.1 var(--f-txt);text-transform:uppercase;letter-spacing:.12em}
.kal-tydz{font-size:.95rem;opacity:.9}
.kal-nr{margin-top:10px;font:400 .7rem/1 var(--f-pix);letter-spacing:.06em;background:rgba(0,0,0,.18);padding:6px 9px;border-radius:6px}
.kal-tresc{padding:clamp(24px,4vw,44px);display:flex;flex-direction:column;gap:22px;min-width:0;position:relative}
.kal-tresc .etykieta{color:#b3127a}
.dowcip{font:500 clamp(1.25rem,2.6vw,1.75rem)/1.4 var(--f-txt);color:#2b1630;min-height:3.6em;user-select:none;-webkit-user-select:none}
.dowcip span{display:inline-block;white-space:pre}
.dowcip.wjazd span{animation:slowo .45s cubic-bezier(.2,1.4,.4,1) both}
@keyframes slowo{from{transform:translateY(.6em) scale(.9)}to{transform:none}}
.kal-stopka{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;border-top:2px dashed #e6d6e8;padding-top:18px}
.licznik{font:400 .82rem/1.3 var(--f-pix);color:#6d4f72;font-variant-numeric:tabular-nums}
.licznik b{color:#b3127a;font-weight:400}
.btn-roz{background:#2b1630;color:#fff;padding:10px 16px;font-size:.9rem}
.btn-roz:hover{background:#4a2152}
.toast{font-size:.85rem;color:#1a7f43;font-weight:700;min-height:1.2em}
.dziel{display:grid;gap:10px}
.dziel-tyt{font:700 .95rem/1.2 var(--f-txt);color:#2b1630}
.dziel-lista{display:flex;flex-wrap:wrap;gap:8px}
.dz{display:inline-flex;align-items:center;gap:8px;padding:10px 15px;border-radius:999px;border:0;background:#2b1630;color:#fff;font:700 .88rem/1 var(--f-txt);text-decoration:none;cursor:pointer;transition:transform .15s, filter .15s;-webkit-tap-highlight-color:transparent}
.dz:hover{transform:translateY(-2px);filter:brightness(1.15)}
.dz svg{width:18px;height:18px;flex:none}
.dz-wa{background:#0f7d3e}.dz-fb{background:#1466d6}.dz-ms{background:#8b3dff}.dz-x{background:#111}.dz-mail{background:#6d4f72}.dz-nat{background:#b3127a}
.kal-pierog{position:absolute;right:18px;top:16px;width:56px;opacity:.9}
@media (max-width:700px){.kal{grid-template-columns:1fr}.kal-data{flex-direction:row;flex-wrap:wrap;gap:6px 14px;padding:26px 18px 18px}.kal-dzien{font-size:3.6rem}.kal-nr{margin-top:0}.kal-pierog{display:none}}

/* ---------- album ---------- */
.album .wrap{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(28px,5vw,64px);align-items:start}
.okladka{position:sticky;top:96px;perspective:900px}
.okladka-in{position:relative;border-radius:14px;transform-style:preserve-3d;transition:transform .25s ease-out;box-shadow:0 40px 90px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.08);will-change:transform}
.okladka-in img{border-radius:14px;width:100%;aspect-ratio:1;object-fit:cover}
.okladka-in::after{content:"";position:absolute;inset:0;border-radius:14px;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.22) 48%,transparent 60%);background-size:250% 100%;background-position:var(--blask,100%) 0;pointer-events:none;mix-blend-mode:screen}
.winyl{position:absolute;inset:6% -9% 6% auto;aspect-ratio:1;border-radius:50%;z-index:-1;background:repeating-radial-gradient(circle,#111 0 2px,#1d1d1d 2px 4px);box-shadow:0 0 0 1px #000}
.winyl::after{content:"";position:absolute;inset:36%;border-radius:50%;background:radial-gradient(circle,var(--noc) 0 8%,var(--zloto) 9% 100%)}
.okladka:hover .winyl{transform:translateX(18%) rotate(40deg)}
.winyl{transition:transform .6s cubic-bezier(.2,.8,.3,1)}
.album-tyt{font:400 clamp(2.3rem,5.4vw,3.8rem)/1 var(--f-disp);margin-top:10px}
.album-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.chip{font:400 .7rem/1 var(--f-pix);letter-spacing:.05em;padding:7px 10px;border-radius:999px;border:1px solid var(--linia);color:var(--mgla)}
.lista{list-style:none;margin:30px 0 0;padding:0;display:grid;grid-template-columns:1fr;gap:10px;counter-reset:u}
.utw{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.035);border:1px solid var(--linia);transition:background .2s, border-color .2s, transform .2s}
.utw:hover{background:rgba(255,63,164,.1);border-color:rgba(255,63,164,.45);transform:translateX(4px)}
.utw canvas{width:52px;height:52px;image-rendering:pixelated;border-radius:10px;background:var(--fiolet)}
.utw-tyt{font-weight:700;font-size:1.05rem;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.utw-tyt i{font:400 .72rem/1 var(--f-pix);font-style:normal;color:var(--zloto);font-variant-numeric:tabular-nums}
.utw-opis{color:var(--mgla);font-size:.92rem;line-height:1.45;margin-top:2px}
.utw-tag{display:inline-block;margin-top:6px;font:400 .62rem/1 var(--f-pix);letter-spacing:.05em;color:var(--cyjan)}
.utw a{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.07);transition:background .2s}
.utw a:hover{background:#1db954}
.utw a svg{width:16px;height:16px}
@media (max-width:860px){.album .wrap{grid-template-columns:1fr}.okladka{position:relative;top:0;max-width:440px;margin-right:40px}}

/* ---------- gra ---------- */
.gra{background:radial-gradient(80% 60% at 30% 50%,rgba(95,231,255,.08),transparent 70%),var(--noc);border-block:1px solid var(--linia)}
.gra .wrap{display:grid;grid-template-columns:minmax(0,520px) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:center}
.automat{background:linear-gradient(180deg,#3a1060,#1c0730);border-radius:26px 26px 18px 18px;padding:16px 16px 18px;box-shadow:inset 0 2px 0 rgba(255,255,255,.12),0 40px 80px rgba(0,0,0,.55),0 0 0 3px #12051c,0 0 0 5px var(--roz)}
.automat-szyld{text-align:center;font:400 .8rem/1 var(--f-pix);letter-spacing:.14em;color:var(--zloto);padding:6px 0 12px;text-shadow:0 0 12px rgba(255,207,58,.7)}
.ekran{position:relative;border-radius:12px;overflow:hidden;background:#05010a;box-shadow:inset 0 0 0 3px #000, inset 0 0 40px rgba(95,231,255,.15)}
#ekran-gry{display:block;width:100%;height:auto;aspect-ratio:240/300;image-rendering:pixelated;image-rendering:crisp-edges;touch-action:none;cursor:pointer}
.ekran::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.18) 0 1px,transparent 1px 3px);mix-blend-mode:multiply}
.pad{display:grid;grid-template-columns:64px 64px 1fr;gap:10px;margin-top:14px}
.pad button{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;font:400 .78rem/1 var(--f-pix);letter-spacing:.04em;color:var(--krem);background:#2a0c45;border:0;border-radius:14px;height:58px;box-shadow:0 5px 0 #12051c;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none}
.pad button:active,.pad button.on{transform:translateY(4px);box-shadow:0 1px 0 #12051c}
.pad .ogien{background:#c8137a;color:#fff;box-shadow:0 5px 0 #7a0a49}
.pad svg{width:22px;height:22px}
.opcje{display:flex;justify-content:space-between;gap:10px;margin-top:12px}
.opcje button{font:400 .7rem/1 var(--f-pix);color:var(--mgla);background:none;border:1px solid var(--linia);border-radius:999px;padding:8px 12px;cursor:pointer}
.opcje button:hover{color:var(--krem);border-color:var(--mgla)}
.gra-txt{min-width:0}
.fabula{margin-top:16px;color:var(--mgla);max-width:52ch}
.sterowanie{margin-top:24px;display:grid;grid-template-columns:auto 1fr;gap:10px 16px;align-items:center;font-size:.95rem}
kbd{font:400 .72rem/1 var(--f-pix);background:var(--sliwka);border:1px solid var(--linia);border-bottom-width:3px;border-radius:7px;padding:6px 8px;color:var(--krem);white-space:nowrap}
.bonusy{margin-top:24px;display:flex;flex-wrap:wrap;gap:12px}
.bonus{display:flex;align-items:center;gap:10px;padding:10px 14px 10px 10px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid var(--linia);font-size:.9rem}
.bonus canvas{width:32px;height:32px;image-rendering:pixelated}
.rekord{margin-top:22px;font:400 .85rem/1 var(--f-pix);color:var(--zloto)}
@media (max-width:900px){.gra .wrap{grid-template-columns:1fr}.automat{max-width:520px;margin-inline:auto;width:100%}}
@media (hover:hover) and (pointer:fine){.pad{display:none}}

/* ---------- wesele / SEO ---------- */
.wesele-kol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:36px}
.karta{padding:26px;border-radius:var(--r);background:var(--sliwka);border:1px solid var(--linia)}
.karta h3{font:700 1.2rem/1.25 var(--f-txt);color:var(--zloto);margin-bottom:10px}
.karta p{color:var(--mgla);font-size:.98rem}
.karta p + p{margin-top:10px}
@media (max-width:760px){.wesele-kol{grid-template-columns:1fr}}
.faq{margin-top:48px;display:grid;gap:10px;max-width:860px}
.faq h3{font:400 1.7rem/1.1 var(--f-disp);margin-bottom:10px}
.faq details{border-radius:14px;background:rgba(255,255,255,.035);border:1px solid var(--linia);padding:0 20px}
.faq summary{cursor:pointer;list-style:none;padding:18px 0;font-weight:700;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:400 1.2rem/1 var(--f-pix);color:var(--roz);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 18px;color:var(--mgla);max-width:68ch}

/* ---------- finał ---------- */
.final{text-align:center;background:radial-gradient(60% 80% at 50% 100%,rgba(255,63,164,.25),transparent 70%),var(--noc)}
.final h2{font-size:clamp(2.4rem,7vw,4.6rem)}
.final .platformy{justify-content:center}
.final .lead{margin-inline:auto}
.stopka{border-top:1px solid var(--linia);padding-block:48px 28px;color:var(--mgla);font-size:.95rem}
.stopka-siatka{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:32px}
.stopka-siatka > div{min-width:0}
.stopka .marka{display:inline-block;font-size:1.7rem}
.stopka-opis{margin-top:10px;max-width:34ch}
.stopka-tyt{font:400 .75rem/1 var(--f-pix);letter-spacing:.08em;text-transform:uppercase;color:var(--zloto);margin-bottom:14px}
.mail{display:inline-block;margin-top:10px;font-weight:700;color:var(--krem);font-size:1.08rem;text-decoration:none;border-bottom:2px solid var(--roz);overflow-wrap:anywhere}
.mail:hover{color:var(--roz)}
.stopka-linki{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.stopka-linki a{color:var(--krem);text-decoration:none;font-weight:500}
.stopka-linki a:hover{color:var(--roz)}
.stopka-dol{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 20px;margin-top:36px;padding-top:20px;border-top:1px solid var(--linia);font-size:.86rem}
.stopka-dol nav{display:flex;flex-wrap:wrap;gap:6px 18px}
.stopka-dol a,.link{color:var(--mgla);text-decoration:underline;text-underline-offset:3px;background:none;border:0;padding:0;font:inherit;cursor:pointer}
.stopka-dol a:hover,.link:hover{color:var(--krem)}
@media (max-width:760px){.stopka-siatka{grid-template-columns:1fr}}

/* ---------- prywatność ---------- */
.zgoda{position:fixed;z-index:80;left:max(16px, env(safe-area-inset-left, 0px));right:max(16px, env(safe-area-inset-right, 0px));bottom:calc(16px + env(safe-area-inset-bottom, 0px));max-width:560px;max-height:calc(100% - 32px);overflow:auto;background:var(--sliwka);border:1px solid rgba(255,63,164,.6);border-radius:18px;padding:20px;box-shadow:0 24px 70px rgba(0,0,0,.65);display:grid;gap:12px;animation:zgoda .45s cubic-bezier(.2,1.2,.4,1) both}
@keyframes zgoda{from{transform:translateY(20px)}to{transform:none}}
.zgoda-tyt{font:400 1.35rem/1.1 var(--f-disp);color:var(--krem)}
.zgoda-txt{font-size:.92rem;color:var(--mgla)}
.zgoda-txt a{color:var(--krem)}
.zgoda-opcje{display:grid;gap:8px}
.zgoda-opc{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.05);font-size:.9rem;color:var(--mgla);cursor:pointer}
.zgoda-opc b{color:var(--krem)}
.zgoda-opc code{font:400 .72rem var(--f-pix);color:var(--cyjan)}
.zgoda-opc input{margin-top:3px;width:18px;height:18px;accent-color:var(--roz);flex:none}
.zgoda-przyciski{display:flex;flex-wrap:wrap;gap:10px}
.zgoda .btn{padding:11px 18px;font-size:.92rem}
.btn-szary{background:rgba(255,255,255,.08);color:var(--krem);border:1px solid var(--linia)}
.btn-szary:hover{background:rgba(255,255,255,.14)}
.prawo-top .btn{margin-left:auto}
.prawo{max-width:780px}
.prawo h1{font:400 clamp(2.2rem,6vw,3.4rem)/1.05 var(--f-disp);margin:8px 0 10px}
.prawo h2{font:700 1.25rem/1.3 var(--f-txt);color:var(--zloto);margin:34px 0 10px}
.prawo p,.prawo li{color:var(--mgla);max-width:68ch}
.prawo p + p{margin-top:10px}
.prawo ul,.prawo ol{padding-left:1.2em;display:grid;gap:6px;margin:10px 0 0}
.prawo a{color:var(--krem)}
.prawo b{color:var(--krem)}
.uzupelnij{background:var(--zloto);color:#2a0f00;padding:1px 6px;border-radius:4px;font-weight:700}
.tabela{overflow-x:auto;margin-top:12px}
.tabela table{border-collapse:collapse;min-width:520px;width:100%;font-size:.92rem}
.tabela th,.tabela td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--linia);vertical-align:top;color:var(--mgla)}
.tabela th{color:var(--krem);font-weight:700}
.tabela code{font:400 .8rem var(--f-pix);color:var(--cyjan)}
.ster-dotyk{display:none}
@media (pointer:coarse){.ster-dotyk{display:grid}.ster-klaw{display:none}}

/* wejścia przy przewijaniu: element zawsze widoczny, tylko lekko podjeżdża */
.js .wjedz:not(.w){transform:translateY(22px)}
.wjedz{transition:transform .8s cubic-bezier(.2,.8,.2,1)}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
  .js .wjedz:not(.w){transform:none}
}
