/* ===== Poradnik przetrwania – wspólne style ===== */
@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;700;900&family=Inter:wght@400;600;800&display=swap');

:root{
  --bg:#0b1220; --bg2:#111a2e; --card:#16223a; --card2:#1d2b47;
  --text:#e8eefc; --muted:#9fb0cc; --accent:#f5b400; --accent2:#ff7a3d;
  --ok:#2fd27a; --bad:#ff5a5a; --line:#2a3a5c;
  --radius:16px; --font:'Inter',system-ui,sans-serif;
}
body.kids{
  --bg:#fff7e6; --bg2:#ffe9c2; --card:#ffffff; --card2:#fff3d6;
  --text:#2b2140; --muted:#6b5f82; --accent:#ff6b9d; --accent2:#4fc3f7;
  --ok:#43c463; --bad:#ff6b6b; --line:#ffd7a3;
  --radius:24px; --font:'Nunito',system-ui,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--bg);color:var(--text);font-family:var(--font);line-height:1.55;min-height:100vh}
a{color:var(--accent)}
h1,h2,h3{line-height:1.2;margin:0 0 .5em}
.container{max-width:1100px;margin:0 auto;padding:20px}

/* ---- nav ---- */
.topbar{position:sticky;top:0;z-index:50;background:rgba(11,18,32,.85);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
body.kids .topbar{background:rgba(255,247,230,.9)}
.topbar .in{max-width:1100px;margin:0 auto;display:flex;align-items:center;gap:14px;padding:10px 20px;flex-wrap:wrap}
.brand{font-weight:900;font-size:1.05rem;text-decoration:none;color:var(--text);display:flex;align-items:center;gap:8px}
.brand span{color:var(--accent)}
.topbar nav{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;border:2px solid transparent;background:var(--card2);color:var(--text);text-decoration:none;font-weight:700;cursor:pointer;font-family:inherit;font-size:.95rem;transition:.15s}
.btn:hover{transform:translateY(-1px);border-color:var(--accent)}
.btn.primary{background:var(--accent);color:#1a1200}
body.kids .btn.primary{color:#fff}
.btn.ghost{background:transparent;border-color:var(--line)}
.btn.sm{padding:6px 12px;font-size:.85rem}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}

/* ---- hero ---- */
.hero{padding:60px 20px 30px;text-align:center;background:radial-gradient(ellipse at top,var(--bg2),var(--bg) 70%)}
.hero h1{font-size:clamp(1.8rem,5vw,3.2rem);font-weight:900}
.hero p.lead{font-size:1.15rem;color:var(--muted);max-width:760px;margin:0 auto 24px}
.choose{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;max-width:900px;margin:20px auto}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:0 10px 30px rgba(0,0,0,.15)}
.card.big{text-align:center}
.card.big .ic{font-size:3.5rem}
.card h2{font-size:1.4rem}
.card p{color:var(--muted)}
.card .acts{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:12px}
.kidcard{background:linear-gradient(135deg,#ffe0ec,#e0f4ff);color:#2b2140;border:none}
.kidcard p{color:#6b5f82}
.kidcard .btn{background:#ff6b9d;color:#fff}
.kidcard .btn.ghost{background:transparent;color:#2b2140;border-color:#ff6b9d}

/* ---- book box ---- */
.book{display:flex;gap:20px;align-items:center;background:linear-gradient(135deg,var(--card),var(--card2));border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin:24px auto;max-width:900px;flex-wrap:wrap}
.book .cover{width:110px;height:150px;border-radius:8px;background:linear-gradient(160deg,#c62828,#ff8f00);display:flex;align-items:center;justify-content:center;text-align:center;font-weight:900;color:#fff;font-size:.8rem;padding:8px;box-shadow:0 10px 20px rgba(0,0,0,.35);flex:none}
.book .t{flex:1;min-width:220px}
.book .t h3{margin:0 0 4px}
.book .t p{margin:0 0 10px;color:var(--muted)}

/* ---- ads ---- */
.ad-slot{margin:22px auto;max-width:1100px;min-height:90px;display:flex;align-items:center;justify-content:center;background:var(--bg2);border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:.8rem;overflow:hidden}
.ad-slot.side{min-height:250px}
.ad-slot ins{display:block;width:100%}

/* ---- training layout ---- */
.layout{display:grid;grid-template-columns:280px 1fr;gap:24px;max-width:1200px;margin:0 auto;padding:20px}
@media(max-width:900px){.layout{grid-template-columns:1fr}.sidebar{order:2}}
.sidebar{position:sticky;top:70px;align-self:start;max-height:calc(100vh - 90px);overflow:auto}
.toc{list-style:none;padding:0;margin:0}
.toc li{margin:4px 0}
.toc a{display:flex;gap:8px;align-items:center;padding:8px 10px;border-radius:10px;color:var(--text);text-decoration:none;font-size:.9rem;border:1px solid transparent}
.toc a:hover{background:var(--card2)}
.toc a.active{background:var(--card2);border-color:var(--accent)}
.toc a.done::after{content:"✓";margin-left:auto;color:var(--ok);font-weight:900}
.toc .num{width:26px;height:26px;border-radius:50%;background:var(--bg2);display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:800;flex:none}
.progress{height:10px;background:var(--bg2);border-radius:99px;overflow:hidden;margin:10px 0 16px}
.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));width:0;transition:.4s}

.chapter{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:28px}
.chapter .nr{color:var(--accent);font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem}
.chapter h1{font-size:clamp(1.5rem,3.5vw,2.3rem)}
.chapter .motto{font-style:italic;color:var(--muted);border-left:4px solid var(--accent);padding:8px 14px;margin:14px 0}
.chapter .intro{font-size:1.05rem}
.steps{counter-reset:s;margin:20px 0}
.step{background:var(--card2);border-radius:12px;padding:16px 18px;margin:12px 0;border:1px solid var(--line)}
.step h3{display:flex;align-items:center;gap:10px;font-size:1.05rem;margin-bottom:8px}
.step h3::before{counter-increment:s;content:counter(s);width:28px;height:28px;border-radius:50%;background:var(--accent);color:#1a1200;display:inline-flex;align-items:center;justify-content:center;font-size:.85rem;flex:none}
body.kids .step h3::before{color:#fff}
.step ul{margin:0;padding-left:20px}
.step li{margin:5px 0}
.tip{background:linear-gradient(135deg,rgba(245,180,0,.15),rgba(255,122,61,.12));border:1px solid var(--accent);border-radius:12px;padding:14px 18px;margin:16px 0}
.tip b{color:var(--accent)}
.exercise{background:var(--bg2);border-radius:12px;padding:14px 18px;margin:16px 0;border-left:4px solid var(--ok)}
.quiz{margin-top:24px;border-top:1px solid var(--line);padding-top:20px}
.qitem{margin:14px 0}
.qitem .q{font-weight:700;margin-bottom:8px}
.opt{display:block;width:100%;text-align:left;padding:10px 14px;margin:6px 0;border-radius:10px;border:2px solid var(--line);background:var(--card2);color:var(--text);cursor:pointer;font-family:inherit;font-size:.95rem}
.opt:hover{border-color:var(--accent)}
.opt.correct{border-color:var(--ok);background:rgba(47,210,122,.15)}
.opt.wrong{border-color:var(--bad);background:rgba(255,90,90,.15)}
.result{margin-top:12px;font-weight:800}
.navbtns{display:flex;justify-content:space-between;gap:10px;margin-top:24px;flex-wrap:wrap}
.badge{display:inline-flex;align-items:center;gap:6px;background:var(--card2);border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-size:.85rem;font-weight:700}
.badges{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.cert{text-align:center;padding:40px;background:linear-gradient(135deg,var(--card),var(--card2));border:2px solid var(--accent);border-radius:var(--radius)}
.cert h2{font-size:2rem}
.small{font-size:.85rem;color:var(--muted)}
footer{padding:30px 20px;text-align:center;color:var(--muted);font-size:.85rem;border-top:1px solid var(--line);margin-top:40px}
footer a{color:var(--accent)}
.kids-emoji{font-size:3rem;line-height:1}
.kid-intro{display:flex;gap:16px;align-items:flex-start}
@media(max-width:600px){.kid-intro{flex-direction:column}}
