/* Mibboro — styl strony (design: design/mibboro.html). Bez stylow inline: CSP style-src 'self'. */

@font-face {
  font-family: "Baloo 2";
  src: url("../fonts/baloo2.woff2") format("woff2");
  font-weight: 700 800;
  font-display: swap;
}
@font-face {
  font-family: "Nunito";
  src: url("../fonts/nunito.woff2") format("woff2");
  font-weight: 600 900;
  font-display: swap;
}
@font-face {
  font-family: "Unbounded Logo";
  src: url("../fonts/unbounded-logo.woff2") format("woff2");
  font-weight: 800;
  font-display: swap;
}

:root {
  --parch: #fff4dc;
  --edge: #e3c99a;
  --frame: #8a5a2e;
  --txt: #5a3518;
  --soft: #7a5a38;
  --wood: #b5713a;
  --woodd: #7a4422;
  --green: #6fcc3f;
  --greend: #3c8f2b;
  --gold: #ffc63a;
  --goldd: #d77e16;
  --cream: #f6e3bd;
  --creamd: #d2ad74;
  --page: #f6e6c2;
  color-scheme: light;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  margin: 0; overflow-x: hidden;
  font-family: "Nunito", system-ui, sans-serif; font-weight: 700; color: var(--txt);
  background: var(--page); -webkit-font-smoothing: antialiased;
  min-height: 100vh; display: flex; flex-direction: column;
}
body > main { flex: 1 0 auto; }
img, video { max-width: 100%; }
a { color: var(--txt); }
a:focus-visible, button:focus-visible, [tabindex]:focus-visible { outline: 3px solid var(--greend); outline-offset: 3px; }

.bl { font-family: "Baloo 2", system-ui, sans-serif; font-weight: 800; letter-spacing: -0.01em; }
.wrap { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.center { text-align: center; }
.soft { color: var(--soft); }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.skip {
  position: absolute; left: 12px; top: -60px; z-index: 100;
  background: var(--gold); color: var(--txt); padding: 8px 14px; border: 3px solid var(--txt); border-radius: 12px;
  font: 800 16px "Baloo 2", sans-serif; text-decoration: none;
}
.skip:focus { top: 12px; }

/* ── Elementy z designu ─────────────────────────────────────────────── */
.panel { background: var(--parch); border: 4px solid var(--frame); border-radius: 24px; box-shadow: 0 7px 0 rgba(90,53,24,.22); }
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; height: 56px; padding: 0 26px;
  border-radius: 18px; border: 3px solid var(--txt); font: 800 20px "Baloo 2", sans-serif; color: var(--txt);
  text-decoration: none; cursor: pointer; white-space: nowrap; position: relative; transition: transform .08s;
}
.btn:active { transform: translateY(3px); }
.btn.g { background: linear-gradient(#8fe05e, #6fcc3f 55%); box-shadow: inset 0 4px 0 rgba(255,255,255,.35), 0 6px 0 var(--greend); color: #fff; text-shadow: 0 2px 0 rgba(40,90,20,.55); }
.btn.y { background: linear-gradient(#ffd866, #ffc63a 55%); box-shadow: inset 0 4px 0 rgba(255,255,255,.4), 0 6px 0 var(--goldd); }
.btn.c { background: linear-gradient(#fff0d0, #f6e3bd 55%); box-shadow: inset 0 4px 0 rgba(255,255,255,.5), 0 6px 0 var(--creamd); }
.btn.sm { height: 42px; font-size: 16px; padding: 0 16px; border-radius: 14px; }
.btn.md { height: 44px; font-size: 17px; padding: 0 16px; border-radius: 14px; }
.btn-play { height: 64px; padding: 0 24px 0 20px; }
.btn-play .lines { display: flex; flex-direction: column; align-items: flex-start; line-height: 1; }
.btn-play .small { font: 800 12px "Nunito", sans-serif; letter-spacing: .06em; text-transform: uppercase; }
.btn-play .big { font-size: 24px; margin-top: 2px; }

.sign {
  display: inline-block; position: relative; padding: 8px 26px 10px; border-radius: 14px; border: 3px solid var(--woodd);
  background: repeating-linear-gradient(0deg, #b5713a 0 9px, #a9672f 9px 11px, #bb7840 11px 20px);
  box-shadow: inset 0 3px 0 rgba(255,255,255,.18), 0 5px 0 rgba(90,53,24,.3);
  color: #fff1a8; font: 800 22px "Baloo 2", sans-serif;
  text-shadow: 0 2px 0 #5a3518, 0 -1px 0 #5a3518, 2px 0 0 #5a3518, -2px 0 0 #5a3518;
}
.sign::before, .sign::after { content: ""; position: absolute; top: 50%; width: 8px; height: 8px; margin-top: -4px; border-radius: 50%; background: #5a3518; box-shadow: inset 1px 1px 0 rgba(255,255,255,.3); }
.sign::before { left: 9px; }
.sign::after { right: 9px; }
.h2 { font: 800 clamp(34px, 4.2vw, 52px)/1.02 "Baloo 2", sans-serif; margin: 14px 0 0; color: var(--txt); }
.lead { font-size: 19px; line-height: 1.55; color: var(--soft); margin: 14px 0 0; }
.pill { display: inline-flex; align-items: center; gap: 8px; height: 34px; padding: 0 14px; border-radius: 999px; background: #fff; border: 3px solid var(--frame); font: 800 15px "Baloo 2", sans-serif; }
.pill.lg { height: 44px; font-size: 18px; padding: 0 16px; }
.pill.green { background: var(--green); color: #fff; border-color: var(--txt); text-shadow: 0 1px 0 rgba(40,90,20,.5); }
.pill b { font-size: 22px; margin-left: 4px; }
.dot { width: 12px; height: 12px; border-radius: 50%; border: 2px solid var(--txt); display: inline-block; flex: none; }

.phone { position: relative; border-radius: 44px; background: #3a2414; padding: 12px; box-shadow: 0 0 0 4px #5a3518, 0 24px 40px -12px rgba(60,30,10,.45); }
.phone > img, .phone > video { display: block; width: 100%; height: auto; aspect-ratio: 9/16; object-fit: cover; object-position: top; border-radius: 33px; background: #2a1a0e; }
.tilt-r3 { transform: rotate(3deg); }
.tilt-r2 { transform: rotate(2deg); }
.tilt-l2 { transform: rotate(-2deg); }
.tilt-l3 { transform: rotate(-3deg); }

.bob { animation: bob 2.6s ease-in-out infinite; }
@keyframes bob { 0%, 100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-8px) rotate(-2deg); } }
.d1 { animation-delay: -.6s; }
.d2 { animation-delay: -1.2s; }
.d3 { animation-delay: -1.8s; }
.sh { position: relative; }
.sh::after { content: ""; position: absolute; left: 14%; right: 14%; bottom: -6px; height: 16px; border-radius: 50%; background: rgba(60,35,10,.25); filter: blur(3px); z-index: -1; }

.section { padding: 40px 0 80px; }
.heading { text-align: center; }

/* ── Hero ───────────────────────────────────────────────────────────── */
.hero { position: relative; isolation: isolate; background: #3d5a26 url("../img/scenes/meadow.webp") center 30% / cover; padding: 28px 0 0; }
.hero-fade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(40,60,20,.25) 0%, rgba(40,60,20,.05) 50%, rgba(246,230,194,0) 88%, var(--page) 100%); }
.topbar { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.topbar .pill { height: 38px; }
.nav { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.lang { display: inline-flex; height: 42px; border-radius: 14px; border: 3px solid var(--txt); overflow: hidden; background: var(--cream); box-shadow: 0 6px 0 var(--creamd); font: 800 16px "Baloo 2", sans-serif; }
.lang a, .lang span { display: flex; align-items: center; padding: 0 12px; text-decoration: none; }
.lang a { color: var(--soft); }
.lang a:hover { color: var(--txt); background: #fff8e6; }
.lang [aria-current] { background: var(--txt); color: var(--parch); }

.hero-inner { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 40px 56px; padding-top: 64px; padding-bottom: 150px; }
.hero-copy { flex: 1 1 520px; min-width: 0; padding: 30px clamp(22px, 3vw, 40px) 34px; }
.hero-logo { display: block; width: min(360px, 80%); height: auto; margin: -78px 0 6px -14px; filter: drop-shadow(0 8px 0 rgba(60,35,10,.25)); }
.hero h1 { margin: 0; font-size: clamp(40px, 4.8vw, 64px); line-height: 1; color: var(--txt); }
.hero h1 .accent { color: var(--greend); }
.hero .lead { max-width: 520px; }
.cta-row { display: flex; flex-wrap: wrap; gap: 14px 18px; align-items: center; margin-top: 26px; }
.note { font-size: 15px; color: var(--soft); }
.hero-art { flex: 0 1 330px; min-width: 260px; margin: 0 auto; position: relative; }
.hero-star { position: absolute; height: auto; }
.hero-star.s1 { left: -34px; top: 60px; width: 62px; }
.hero-star.s2 { right: -24px; top: 220px; width: 44px; }
.hero-crew { position: relative; margin-top: -120px; display: flex; justify-content: center; align-items: flex-end; gap: clamp(10px, 3vw, 40px); padding-bottom: 8px; }
.hero-crew > div { width: clamp(70px, 8vw, 118px); }
.hero-crew img { display: block; width: 100%; height: auto; }

/* ── Jak grac ───────────────────────────────────────────────────────── */
.how { padding: 70px 0 40px; }
.rules { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 22px; margin-top: 36px; }
.rule { padding: 24px; display: flex; flex-direction: column; gap: 14px; }
.rule-art { height: 130px; border-radius: 16px; background: #fbe9c6; border: 3px dashed var(--edge); display: flex; align-items: center; justify-content: center; }
.rule-head { display: flex; align-items: center; gap: 12px; }
.num { flex: none; width: 40px; height: 40px; border-radius: 50%; background: var(--green); border: 3px solid var(--txt); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 22px; text-shadow: 0 2px 0 rgba(40,90,20,.5); }
.rule h3 { margin: 0; font-size: 26px; line-height: 1.05; }
.rule p { margin: 0; font-size: 17px; line-height: 1.5; color: var(--soft); }
.lane { position: relative; width: 210px; height: 74px; border-radius: 14px; background: repeating-linear-gradient(90deg, #a8d86a 0 42px, #b9e27c 42px 84px); border: 4px solid #8a8a7a; }
.lane img { position: absolute; left: 6px; bottom: 4px; width: 48px; height: auto; }
.lane .path { position: absolute; left: 62px; right: 62px; top: 50%; border-top: 4px dashed #5a3518; }
.lane .stone { position: absolute; right: 8px; top: 9px; width: 48px; height: 48px; border-radius: 10px; background: linear-gradient(#c9c4b8, #a29c90); border: 3px solid #5a3518; box-shadow: inset 0 3px 0 rgba(255,255,255,.4); }
.pairs { display: flex; align-items: flex-end; gap: 6px; }
.pairs img { height: auto; }
.pairs .w54 { width: 54px; }
.pairs .w64 { width: 64px; }
.pairs .w46 { width: 46px; }
.pairs .gap { width: 14px; }

/* ── Zagraj tutaj (plansza 5x5) ─────────────────────────────────────── */
.try { padding: 30px 0 80px; }
.try-panel { padding: clamp(22px, 3vw, 40px); display: flex; flex-wrap: wrap; align-items: center; gap: 36px 56px; background: var(--parch) radial-gradient(circle at 85% 20%, rgba(149,229,102,.25), transparent 50%); }
.try-copy { flex: 1 1 340px; min-width: 0; }
.try-stats { display: flex; gap: 12px; margin-top: 22px; flex-wrap: wrap; }
.try-stats .soft { margin-left: 2px; }
.try-msg { margin-top: 18px; min-height: 64px; display: flex; align-items: center; gap: 12px; }
.try-msg .stars { display: none; gap: 2px; }
.try-msg .stars.on { display: flex; }
.try-msg .stars img { width: 34px; height: auto; }
.try-msg .text { font-size: 24px; line-height: 1.1; }
.try-play { flex: 0 1 420px; min-width: 280px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; gap: 18px; }
.board-frame { position: relative; width: 100%; max-width: 400px; aspect-ratio: 1; padding: 16px; border-radius: 30px; background: repeating-linear-gradient(45deg, #9b958a 0 14px, #8f897e 14px 28px); border: 4px solid #5a3518; box-shadow: inset 0 4px 0 rgba(255,255,255,.3), 0 8px 0 rgba(60,35,10,.3); }
.board {
  position: relative; width: 100%; height: 100%; border-radius: 14px; overflow: hidden; border: 3px solid #5a3518;
  background: repeating-conic-gradient(#b6e07a 0 25%, #a6d566 0 50%) 0 0 / 40% 40%;
  touch-action: none; user-select: none; -webkit-user-select: none; cursor: grab;
}
.cell { position: absolute; width: 20%; height: 20%; display: flex; align-items: center; justify-content: center; }
.cell img { width: 92%; height: auto; }
.stone-cell::before { content: ""; width: 78%; height: 78%; border-radius: 12px; background: linear-gradient(#cfcabd, #a39d90); border: 3px solid #5a3518; box-shadow: inset 0 4px 0 rgba(255,255,255,.45), 0 4px 0 rgba(60,35,10,.25); }
.x0 { left: 0; } .x1 { left: 20%; } .x2 { left: 40%; } .x3 { left: 60%; } .x4 { left: 80%; }
.y0 { top: 0; } .y1 { top: 20%; } .y2 { top: 40%; } .y3 { top: 60%; } .y4 { top: 80%; }
.critter { position: absolute; width: 20%; height: 20%; display: flex; align-items: flex-end; justify-content: center; z-index: 3; pointer-events: none;
  transition: left .32s cubic-bezier(.3,.9,.4,1), top .32s cubic-bezier(.3,.9,.4,1), transform .45s ease, opacity .45s ease; }
.critter img { width: 84%; height: auto; filter: drop-shadow(0 4px 0 rgba(60,35,10,.25)); }
.critter.home { transform: scale(.2) rotateY(540deg); opacity: 0; }
.pad { display: grid; grid-template-columns: repeat(3, 58px); gap: 8px; }
.ar { width: 58px; height: 58px; padding: 0; border-radius: 16px; }
.pad .up { grid-column: 2; }
.pad .left { grid-column: 1; }

/* ── Stworki ────────────────────────────────────────────────────────── */
.crew { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 20px; margin-top: 36px; }
.mate { padding: 22px 20px 20px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 10px; }
.mate.cat { background: var(--parch) radial-gradient(circle at 50% 30%, #f66e5533, transparent 60%); }
.mate.bear { background: var(--parch) radial-gradient(circle at 50% 30%, #35b9f233, transparent 60%); }
.mate.bunny { background: var(--parch) radial-gradient(circle at 50% 30%, #bb78ed33, transparent 60%); }
.mate.chick { background: var(--parch) radial-gradient(circle at 50% 30%, #ffd34f33, transparent 60%); }
.mate-pic { width: 130px; height: 150px; display: flex; align-items: flex-end; justify-content: center; }
.mate-pic img { max-width: 100%; max-height: 100%; width: auto; height: auto; }
.mate h3 { margin: 6px 0 0; font-size: 30px; line-height: 1; }
.mate .home-of { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--soft); }
.mate .home-of img { width: 44px; height: auto; }
.mate p { margin: 0; font-size: 16px; line-height: 1.45; color: var(--soft); }
.c-cat { background: #f66e55; } .c-bear { background: #35b9f2; } .c-bunny { background: #bb78ed; } .c-chick { background: #ffd34f; }

/* ── Swiaty ─────────────────────────────────────────────────────────── */
.worlds-lead { max-width: 640px; margin-left: auto; margin-right: auto; }
.worlds { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 18px; margin: 36px 0 0; padding: 0; list-style: none; }
.world { overflow: hidden; padding: 0; }
.world img { display: block; width: 100%; height: auto; aspect-ratio: 12/5; object-fit: cover; border-bottom: 4px solid var(--frame); }
.world-body { padding: 16px 18px 18px; }
.world-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.world h3 { margin: 0; font-size: 24px; line-height: 1.05; }
.world .dot { width: 16px; height: 16px; }
.world p { margin: 6px 0 0; font-size: 15px; line-height: 1.45; color: var(--soft); }
.world .levels { display: inline-block; margin-top: 10px; font: 800 14px "Baloo 2", sans-serif; color: var(--soft); }
.w-forest { background: #95e566; } .w-snow { background: #7fd4ff; } .w-autumn { background: #ff9a3d; } .w-crystal { background: #c27bff; } .w-ruins { background: #ffc53d; }
.secret-wrap { margin-top: 22px; }
.secret { border-radius: 24px; border: 4px solid #2c1a0c; background: #2f1d10 radial-gradient(circle at 20% 0%, rgba(255,198,58,.18), transparent 55%); color: #fff1d6; padding: 28px clamp(22px, 3vw, 36px); display: flex; flex-wrap: wrap; align-items: center; gap: 24px 40px; box-shadow: 0 7px 0 rgba(90,53,24,.3); }
.secret-copy { flex: 1 1 320px; min-width: 0; }
.secret h3 { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 32px; line-height: 1; }
.secret h3 img { height: 38px; width: auto; }
.secret p { margin: 10px 0 0; font-size: 17px; line-height: 1.5; color: #d9c3a0; }
.mystery { display: flex; gap: 12px; flex-wrap: wrap; }
.mystery span { width: 74px; height: 74px; border-radius: 18px; background: #4a2f19; border: 3px solid #2c1a0c; box-shadow: inset 0 3px 0 rgba(255,255,255,.08); display: flex; align-items: center; justify-content: center; font-size: 40px; color: var(--gold); text-shadow: 0 3px 0 #2c1a0c; }
.mystery span:nth-child(1) { transform: rotate(-6deg); }
.mystery span:nth-child(2) { transform: rotate(4deg); }
.mystery span:nth-child(3) { transform: rotate(-2deg); }
.mystery span:nth-child(4) { transform: rotate(6deg); }
.mystery span:nth-child(5) { transform: rotate(-4deg); }

/* ── Zagadka dnia ───────────────────────────────────────────────────── */
.daily-inner { display: flex; flex-wrap: wrap; align-items: center; gap: 40px 64px; }
.daily-art { flex: 0 1 300px; min-width: 240px; margin: 0 auto; }
.daily-copy { flex: 1 1 420px; min-width: 0; }
.streak { margin-top: 24px; padding: 18px 20px; display: flex; flex-direction: column; gap: 14px; }
.streak-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 20px; }
.streak-head .pill img { height: 20px; width: auto; }
.days { display: flex; gap: 8px; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; }
.days li { display: flex; flex-direction: column; align-items: center; gap: 4px; font: 800 13px "Baloo 2", sans-serif; color: var(--soft); }
.days .box { width: 46px; height: 46px; border-radius: 14px; border: 3px solid var(--edge); background: #fffaf0; display: flex; align-items: center; justify-content: center; }
.days .done .box { border-color: var(--txt); background: #ffe3a0; }
.days .box img { height: 26px; width: auto; }
.extras { display: flex; gap: 14px; margin-top: 18px; flex-wrap: wrap; }
.extra { flex: 1 1 220px; padding: 16px 18px; }
.extra h3 { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 21px; }
.extra h3 img { height: 26px; width: auto; }
.extra p { margin: 6px 0 0; font-size: 15px; line-height: 1.45; color: var(--soft); }

/* ── Klub ───────────────────────────────────────────────────────────── */
.club-sec { padding: 20px 0 80px; }
.club { border-color: #b07a22; background: linear-gradient(135deg, #fff1c4, #ffe3a0); padding: clamp(24px, 3vw, 40px); display: flex; flex-wrap: wrap; gap: 24px 48px; align-items: center; }
.club-copy { flex: 1 1 320px; min-width: 0; }
.club-copy > img { height: 56px; width: auto; }
.club-copy .h2 { margin-top: 8px; }
.perks { flex: 1 1 320px; list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.perks li { display: flex; align-items: center; gap: 10px; font-size: 17px; }
.check { flex: none; width: 26px; height: 26px; border-radius: 50%; background: var(--green); border: 3px solid var(--txt); display: flex; align-items: center; justify-content: center; }

/* ── Galeria ────────────────────────────────────────────────────────── */
.gallery-sec { padding: 20px 0 80px; }
.shots { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 28px; margin-top: 40px; }
.shots figure { margin: 0; display: flex; flex-direction: column; align-items: center; gap: 14px; }
.shots .phone { width: 100%; max-width: 250px; padding: 9px; border-radius: 36px; }
.shots .phone > img { border-radius: 28px; }
.shots figcaption { font-size: 18px; color: var(--soft); text-align: center; }

/* ── Wezwanie na koncu ──────────────────────────────────────────────── */
.cta-sec { padding: 30px 0 70px; }
.cta { position: relative; overflow: hidden; isolation: isolate; padding: clamp(28px, 4vw, 52px); text-align: center; display: flex; flex-direction: column; align-items: center; background: var(--parch) url("../img/scenes/meadow.webp") center / cover; }
.cta::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(255,244,220,.86); }
.cta-crew { display: flex; gap: 14px; align-items: flex-end; }
.cta-crew img { width: clamp(54px, 6vw, 84px); height: auto; }
.cta .h2 { max-width: 720px; }
.cta .lead { max-width: 560px; }
.cta .cta-row { justify-content: center; }

/* ── Stopka ─────────────────────────────────────────────────────────── */
.site-footer { border-top: 4px solid var(--frame); background: #ecd3a4; }
.footer-inner { padding-top: 26px; padding-bottom: 30px; display: flex; flex-wrap: wrap; gap: 12px 26px; align-items: center; font-size: 15px; color: var(--soft); }
.footer-logo { height: 44px; width: auto; display: block; }
.by { display: flex; align-items: center; gap: 10px; color: var(--soft); text-decoration: none; }
.by:hover { color: var(--txt); }
/* Logo Dareia jak w stopce Gobthrottle: litery na kafelkach, IA w kolorze marki */
.dareia { display: flex; gap: 2px; font-family: "Unbounded Logo", sans-serif; font-weight: 800; font-size: 10px; line-height: 1; }
.dareia span {
  width: 18px; height: 18px; border-radius: 4px; background: var(--txt); color: var(--parch);
  display: flex; align-items: center; justify-content: center; transition: transform .15s;
}
.dareia .acc { background: #FF5A36; color: #15131C; }
.by:hover .dareia span:nth-child(odd) { transform: translateY(-3px); }
.by:hover .dareia span:nth-child(even) { transform: translateY(3px); }
.footer-links { display: flex; flex-wrap: wrap; gap: 8px 22px; }
.footer-links a { color: var(--txt); }
.footer-links a[aria-current] { text-decoration: none; }
.fonts-note { margin-left: auto; }
.legal-note { flex-basis: 100%; font-size: 14px; }

/* ── Strony tekstowe (polityka, regulamin, 404) ─────────────────────── */
.page-head { background: var(--parch); border-bottom: 4px solid var(--frame); padding: 18px 0; }
.page-head .topbar { flex-wrap: nowrap; }
.brand img { display: block; height: 52px; width: auto; }
.doc { max-width: 860px; padding-top: 40px; padding-bottom: 80px; }
.doc-card { padding: clamp(22px, 4vw, 44px); }
.doc h1 { margin: 0 0 6px; font: 800 clamp(36px, 5vw, 54px)/1.05 "Baloo 2", sans-serif; }
.doc .meta { color: var(--soft); margin: 0 0 24px; }
.doc h2 { font: 800 clamp(24px, 3vw, 30px)/1.15 "Baloo 2", sans-serif; margin: 34px 0 10px; }
.doc p, .doc li { font-weight: 600; font-size: 17px; line-height: 1.6; }
.doc p { margin: 0 0 14px; }
.doc ul { margin: 0 0 14px; padding-left: 24px; }
.doc li { margin-bottom: 6px; }
.doc li::marker { color: var(--greend); }
.doc strong { font-weight: 800; }
.summary { background: #fbe9c6; border: 3px dashed var(--edge); border-radius: 16px; padding: 16px 20px; margin: 0 0 8px; }
.summary ul { margin: 0; }
.back { margin-top: 32px; }

.notfound { text-align: center; padding-top: 48px; padding-bottom: 96px; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.notfound .big { font: 800 clamp(90px, 20vw, 170px)/.9 "Baloo 2", sans-serif; color: var(--txt); }
.notfound .pic { width: 150px; height: auto; }
.notfound h1 { margin: 8px 0 0; font: 800 clamp(30px, 5vw, 44px)/1.1 "Baloo 2", sans-serif; }
.notfound p { margin: 0; font-size: 19px; color: var(--soft); }

/* ── Waski ekran ────────────────────────────────────────────────────── */
@media (max-width: 760px) {
  .wrap { padding-left: 16px; padding-right: 16px; }
  .topbar { justify-content: center; }
  .hero-inner { padding-top: 70px; padding-bottom: 140px; }
  .hero-logo { margin: -70px auto 6px; }
  .hero-copy { text-align: center; }
  .hero .lead { margin-left: auto; margin-right: auto; }
  .cta-row { justify-content: center; }
  .hero-art { min-width: 0; width: min(280px, 80%); flex-basis: auto; }
  .fonts-note { margin-left: 0; }
  .lead { font-size: 17px; }
}
@media (max-width: 480px) {
  .nav .btn.c { display: none; }
  .btn-play .big { font-size: 21px; }
  .try-play { min-width: 0; width: 100%; }
  .mystery { gap: 8px; }
  .mystery span { width: 46px; height: 46px; border-radius: 14px; font-size: 26px; }
  .days { gap: 6px; }
  .days .box { width: 38px; height: 38px; border-radius: 12px; }
  .days .box img { height: 22px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .bob { animation: none !important; }
  .critter, .btn, .dareia span { transition: none !important; }
}
