{"id":91,"date":"2026-08-13T15:33:36","date_gmt":"2026-08-13T13:33:36","guid":{"rendered":"https:\/\/infiniteshield.eu\/index.php\/plansze\/"},"modified":"2026-08-14T15:06:37","modified_gmt":"2026-08-14T13:06:37","slug":"plansze","status":"publish","type":"page","link":"https:\/\/infiniteshield.eu\/index.php\/plansze\/","title":{"rendered":"Plansze edukacyjne"},"content":{"rendered":"<style>\n\/* =========================================================================\n   PLANSZE EDUKACYJNE \u2014 arkusz wsp\u00f3lny dla wszystkich 150 kart\n   Wersja scoped: wszystko pod .plansza-wrap, \u017ceby nie kolidowa\u0142o z motywem\n   Blocksy na infiniteshield.eu. Orygina\u0142 u\u017cywa\u0142 :root\/html\/body \u2014 tutaj rol\u0119\n   no\u015bnika zmiennych i t\u0142a przejmuje .plansza-wrap.\n   Warianty: data-theme=\"light\" (domy\u015blny) | data-theme=\"eco\"\n   ========================================================================= *\/\n\n.plansza-wrap{\n  --ink:#1d1d1d;\n  --ink-soft:#3a3a3a;\n  --green:#2f7a33;\n  --green-dark:#1e5a24;\n  --rule:#d9d9d9;\n  --paper:#ffffff;\n  --ph-bg:#eef1ec;\n  --ph-ink:#8a938a;\n  --pad-x:58px;\n  \/* pola r\u00f3\u017cnicuj\u0105ce warianty (nadpisywane ni\u017cej) *\/\n  --page-bg:#c9c9c9;\n  --latin-ink:var(--ink-soft);\n  --fact-bg:#f2f7f0;\n  --ph-border:#c3ccc2;\n  --map-cap:#777;\n  --map-fill:#a8d5a0;\n  --map-stroke:#2f7a33;\n  --map-zasieg:#2f7a33;\n  --arch-g:0;\n  --arch-tall:0;\n  \/* pasek logotyp\u00f3w zawsze na jasnym tle \u2014 znaki UE\/RP\/FE maj\u0105 wypalon\u0105\n     ciemn\u0105 typografi\u0119 i na zieleni eco by\u0142yby nieczytelne *\/\n  --logobar-bg:var(--paper);\n\n  background:var(--page-bg);\n  font-family:\"Lato\",\"Segoe UI\",\"Helvetica Neue\",Arial,sans-serif;\n  color:var(--ink);\n  display:flex;justify-content:center;padding:40px 0;\n  \/* WP wstawia plansz\u0119 w kontener o ograniczonej szeroko\u015bci \u2014 wychodzimy\n     na pe\u0142n\u0105 szeroko\u015b\u0107 viewportu, plansza ma sztywne 1000 px *\/\n  width:100vw;position:relative;left:50%;right:50%;\n  margin-left:-50vw;margin-right:-50vw;\n}\n\n\/* --------------------------- WARIANT ECO-DARK --------------------------- *\/\n.plansza-wrap[data-theme=\"eco\"]{\n  --ink:#EFE8D3;\n  --ink-soft:#D8D2BB;\n  --green:#C9A85C;\n  --green-dark:#E2C87E;\n  --rule:rgba(238,230,208,.16);\n  --paper:#33513C;\n  --ph-bg:#3E5C47;\n  --ph-ink:#A5BCA3;\n  --page-bg:#243B2B;\n  --latin-ink:#C9BF9F;\n  --fact-bg:#2B4433;\n  --ph-border:#56755E;\n  --map-cap:#ADBFA4;\n  --map-fill:#AECFA4;\n  --map-stroke:#1E3526;\n  --map-zasieg:#1E3526;\n  --arch-g:1;\n  --arch-tall:1;\n  --logobar-bg:#F4EFE1;\n}\n\n.plansza-wrap *{margin:0;padding:0;box-sizing:border-box;}\n\n\/* ================================ PLANSZA =============================== *\/\n.plansza-wrap .board{\n  width:1000px;\n  background:var(--paper);\n  box-shadow:0 6px 40px rgba(0,0,0,.35);\n  display:flex;flex-direction:column;\n}\n\n\/* ---------- pasek logotyp\u00f3w UE ---------- *\/\n.plansza-wrap .logo-bar{\n  display:flex;align-items:center;justify-content:space-between;\n  gap:24px;padding:26px var(--pad-x);\n  background:var(--logobar-bg);\n  border-bottom:1px solid var(--rule);\n  min-height:110px;\n}\n.plansza-wrap .logo-slot{flex:1;display:flex;align-items:center;justify-content:center;height:64px;}\n.plansza-wrap .logo-slot img{max-height:64px;max-width:100%;object-fit:contain;}\n.plansza-wrap .logo-ph{\n  display:flex;align-items:center;gap:10px;\n  font-size:11.5px;line-height:1.25;font-weight:700;color:#333;\n}\n.plansza-wrap .logo-ph .mark{width:44px;height:30px;flex:none;border:1px solid #bbb;position:relative;overflow:hidden;}\n.plansza-wrap .mark-fe{background:linear-gradient(135deg,#00337f 55%,#e30613 55% 72%,#ffd500 72%);}\n.plansza-wrap .mark-rp{background:linear-gradient(#fff 50%,#d4213d 50%);}\n.plansza-wrap .logo-ue{display:flex;align-items:center;gap:10px;font-size:11.5px;line-height:1.25;font-weight:700;color:#333;}\n.plansza-wrap .logo-ue img{height:38px;display:block;}\n.plansza-wrap .mark-ue{background:#003399;}\n.plansza-wrap .mark-ue::after{content:\"\u2605 \u2605 \u2605\";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#ffd500;font-size:9px;letter-spacing:1px;}\n.plansza-wrap .mark-sw{background:linear-gradient(135deg,#c8102e 50%,#ffd500 50%);}\n\n\/* ---------- hero ---------- *\/\n.plansza-wrap .hero{display:flex;border-bottom:1px solid var(--rule);}\n.plansza-wrap .hero-text{flex:1.15;padding:44px var(--pad-x) 40px;}\n.plansza-wrap .board h1{font-size:52px;line-height:1.04;font-weight:800;letter-spacing:-.5px;color:var(--ink);}\n.plansza-wrap .latin{font-size:24px;font-style:italic;font-weight:600;color:var(--latin-ink);margin:10px 0 22px;}\n.plansza-wrap .lead{font-size:17.5px;line-height:1.5;color:var(--ink-soft);max-width:46ch;}\n.plansza-wrap .hero-photo{flex:.85;min-height:330px;position:relative;}\n.plansza-wrap .hero-photo .ph,\n.plansza-wrap .hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}\n\n\/* ---------- sekcje ---------- *\/\n.plansza-wrap .board section{padding:38px var(--pad-x) 42px;border-bottom:1px solid var(--rule);}\n.plansza-wrap .board section:last-of-type{border-bottom:none;padding-bottom:44px;}\n.plansza-wrap .board h2{font-size:30px;font-weight:800;margin-bottom:6px;letter-spacing:-.2px;color:var(--ink);}\n.plansza-wrap .h2-rule{width:64px;height:5px;background:var(--green);margin:10px 0 20px;border-radius:2px;}\n.plansza-wrap .body-text{font-size:15.5px;line-height:1.62;color:var(--ink-soft);text-align:justify;}\n.plansza-wrap .body-text p + p{margin-top:12px;}\n.plansza-wrap .fact{\n  margin-top:18px;padding:16px 20px;background:var(--fact-bg);\n  border-left:5px solid var(--green);font-size:15px;line-height:1.55;color:var(--ink-soft);\n}\n.plansza-wrap .fact b{color:var(--green-dark);}\n.plansza-wrap .traits{margin-top:14px;font-size:15px;line-height:1.6;color:var(--ink-soft);}\n.plansza-wrap .traits b{color:var(--ink);}\n\n\/* ---------- galeria ---------- *\/\n.plansza-wrap .gallery{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;padding:30px var(--pad-x);border-bottom:1px solid var(--rule);}\n.plansza-wrap .g-item{aspect-ratio:1\/1;position:relative;overflow:hidden;}\n.plansza-wrap[data-theme=\"eco\"] .g-item{border-radius:50% 50% 8px 8px \/ 83px 83px 8px 8px;}\n.plansza-wrap .g-item img,\n.plansza-wrap .g-item .ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}\n\n\/* ---------- dwukolumnowe sekcje z grafik\u0105 ---------- *\/\n.plansza-wrap .split{display:flex;gap:44px;align-items:center;}\n.plansza-wrap .split .col-text{flex:1.4;}\n.plansza-wrap .split .col-art{flex:.75;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;max-width:250px;margin:0 auto;}\n.plansza-wrap .map-caption{font-size:10px;line-height:1.4;color:var(--map-cap);text-align:center;max-width:30ch;}\n\/* kolory mapy sterowane zmiennymi \u2014 musz\u0105 i\u015b\u0107 przez CSS, bo var() nie dzia\u0142a\n   w atrybutach prezentacyjnych SVG (fill=\"var(--x)\" si\u0119 nie rozwi\u0105\u017ce) *\/\n.plansza-wrap .map-pl{fill:var(--map-fill);stroke:var(--map-stroke);}\n.plansza-wrap .map-zasieg{fill:var(--map-zasieg);}\n.plansza-wrap .col-art img,\n.plansza-wrap .col-art svg{width:100%;height:auto;display:block;}\n.plansza-wrap[data-theme=\"eco\"] .col-art img{border-radius:12px;}\n.plansza-wrap .col-art .ph{width:100%;aspect-ratio:1\/1;}\n.plansza-wrap .split .col-art.col-art-tall{align-self:stretch;position:relative;min-height:420px;max-width:none;margin:0;}\n.plansza-wrap[data-theme=\"eco\"] .split .col-art.col-art-tall{\n  border-radius:50% 50% 12px 12px \/ 132px 132px 12px 12px;overflow:hidden;\n}\n.plansza-wrap .col-art-tall img,\n.plansza-wrap .col-art-tall .ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}\n\n\/* ---------- placeholder ---------- *\/\n.plansza-wrap .ph{\n  background:var(--ph-bg);\n  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;\n  color:var(--ph-ink);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;\n  border:1.5px dashed var(--ph-border);text-align:center;padding:8px;\n}\n.plansza-wrap .ph svg{width:30px;height:30px;stroke:var(--ph-ink);fill:none;stroke-width:1.6;}\n\n\/* ============================ PASEK STEROWANIA =========================== *\/\n.plansza-bar{\n  position:sticky;top:0;z-index:50;\n  display:flex;align-items:center;gap:14px;flex-wrap:wrap;\n  padding:10px 18px;font:600 13px\/1 \"Lato\",\"Segoe UI\",Arial,sans-serif;\n  background:#111a14;color:#EFE8D3;\n  \/* pe\u0142na szeroko\u015b\u0107 okna bez left\/right \u2014 przy position:sticky te w\u0142asno\u015bci\n     wyznaczaj\u0105 pr\u00f3g przyklejenia, a nie po\u0142o\u017cenie pude\u0142ka *\/\n  width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);\n}\n.plansza-bar a,.plansza-bar button{\n  color:#EFE8D3;background:transparent;border:1px solid rgba(239,232,211,.35);\n  padding:7px 12px;border-radius:999px;text-decoration:none;cursor:pointer;\n  font:inherit;transition:background .15s,border-color .15s;\n}\n.plansza-bar a:hover,.plansza-bar button:hover{background:rgba(239,232,211,.14);border-color:#EFE8D3;}\n.plansza-bar button[aria-pressed=\"true\"]{background:#C9A85C;border-color:#C9A85C;color:#1E3526;}\n.plansza-bar .sep{flex:1;}\n.plansza-bar .nr{opacity:.55;letter-spacing:.14em;text-transform:uppercase;font-size:11px;}\n\n\/* ====================== TRYB POR\u00d3WNANIA (dwie plansze) =================== *\/\n.plansza-compare{\n  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;\n  gap:28px;padding:0 28px 40px;background:#e6e6e6;\n}\n@media (max-width:1100px){.plansza-compare{grid-template-columns:minmax(0,1fr);}}\n.plansza-compare-col{min-width:0;}\n\/* w por\u00f3wnaniu plansza nie wychodzi na 100vw \u2014 siedzi w swojej kolumnie *\/\n.plansza-compare .plansza-wrap{\n  width:auto;position:static;margin:0;padding:0 0 30px;\n}\n.plansza-compare .plansza-wrap .board{width:100%;max-width:1000px;}\n.plansza-compare-label{\n  text-align:center;font:700 12px\/1 \"Lato\",Arial,sans-serif;letter-spacing:.16em;\n  text-transform:uppercase;padding:14px 0;opacity:.7;\n}\n\n\/* ============================== KATALOG 150 ==============================\n   Katalog w palecie eco-dark (jak wariant \"eco\" planszy) \u2014 ca\u0142a strona\n   zielona, bez chrome'u motywu (strona zawiera .plansza-full). *\/\n.plansze-katalog{\n  --kat-bg:#243B2B;\n  --kat-card:#33513C;\n  --kat-ink:#EFE8D3;\n  --kat-ink-soft:#D8D2BB;\n  --kat-accent:#C9A85C;\n  --kat-rule:rgba(238,230,208,.16);\n  --kat-ph:#3E5C47;\n  --kat-ph-ink:#A5BCA3;\n  --kat-ph-border:#56755E;\n  background:var(--kat-bg);color:var(--kat-ink);\n  font-family:\"Lato\",\"Segoe UI\",\"Helvetica Neue\",Arial,sans-serif;\n  min-height:100vh;padding:44px clamp(18px,4vw,64px) 64px;\n  \/* pe\u0142na szeroko\u015b\u0107 viewportu; !important, bo .is-layout-constrained\n     narzuca dzieciom max-width + margin:auto !important *\/\n  width:100vw;position:relative;\n  max-width:none !important;\n  margin-left:calc(50% - 50vw) !important;\n  margin-right:calc(50% - 50vw) !important;\n}\n.plansze-katalog .kat-head{max-width:1180px;margin:0 auto 26px;}\n.plansze-katalog .kat-head h1{\n  font-size:clamp(26px,3.4vw,40px);font-weight:900;letter-spacing:.02em;\n  margin:0 0 10px;color:var(--kat-ink);text-transform:uppercase;\n}\n.plansze-katalog .kat-head p{\n  margin:0;font-size:15px;line-height:1.6;color:var(--kat-ink-soft);max-width:640px;\n}\n.plansze-katalog .kat-head strong{color:var(--kat-accent);}\n.plansze-katalog .kat-tools{\n  display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:0 auto 22px;max-width:1180px;\n}\n.plansze-katalog .kat-search{\n  flex:1 1 260px;padding:11px 15px;font-size:15px;border:1px solid var(--kat-ph-border);\n  border-radius:10px;background:var(--kat-card);color:var(--kat-ink);\n}\n.plansze-katalog .kat-search::placeholder{color:var(--kat-ph-ink);}\n.plansze-katalog .kat-search:focus{outline:2px solid var(--kat-accent);outline-offset:1px;}\n.plansze-katalog .kat-count{font-size:13px;color:var(--kat-ink-soft);white-space:nowrap;}\n.plansze-katalog .kat-grid{\n  display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px;\n  list-style:none;margin:0 auto;padding:0;max-width:1180px;\n}\n.plansze-katalog .kat-card{\n  display:flex;flex-direction:column;text-decoration:none;color:var(--kat-ink);\n  border:1px solid var(--kat-rule);border-radius:14px;overflow:hidden;background:var(--kat-card);\n  transition:transform .16s,box-shadow .16s,border-color .16s;\n}\n.plansze-katalog .kat-card:hover{\n  transform:translateY(-3px);box-shadow:0 10px 28px rgba(0,0,0,.35);border-color:var(--kat-accent);\n}\n.plansze-katalog .kat-thumb{aspect-ratio:4\/3;background:var(--kat-ph);position:relative;overflow:hidden;}\n.plansze-katalog .kat-thumb img{width:100%;height:100%;object-fit:cover;display:block;}\n.plansze-katalog .kat-thumb .kat-nr{\n  position:absolute;top:8px;left:8px;background:rgba(0,0,0,.62);color:var(--kat-ink);\n  font:700 11px\/1 \"Lato\",Arial,sans-serif;letter-spacing:.1em;padding:5px 8px;border-radius:6px;\n}\n.plansze-katalog .kat-body{padding:12px 14px 15px;}\n.plansze-katalog .kat-title{font-size:16px;font-weight:800;line-height:1.25;color:var(--kat-ink);}\n.plansze-katalog .kat-latin{font-size:13px;font-style:italic;color:#C9BF9F;margin-top:3px;}\n.plansze-katalog .kat-empty{\n  border:1.5px dashed var(--kat-ph-border);border-radius:14px;padding:26px 18px;text-align:center;\n  font-size:13px;color:var(--kat-ph-ink);grid-column:1\/-1;\n}\n\/* t\u0142o dokumentu pod katalogiem te\u017c zielone \u2014 bez bia\u0142ych pask\u00f3w wok\u00f3\u0142 *\/\nbody:has(.plansze-katalog){background:#243B2B !important;}\n.plansze-katalog .kat-slot{\n  border:1.5px dashed var(--kat-ph-border);border-radius:14px;background:rgba(62,92,71,.35);\n  display:flex;align-items:center;justify-content:center;min-height:150px;\n  font:700 12px\/1 \"Lato\",Arial,sans-serif;letter-spacing:.12em;color:var(--kat-ph-ink);\n}\n\n\/* ================================= DRUK ================================= *\/\n@media print{\n  .plansza-bar{display:none !important;}\n  .plansza-wrap{background:#fff;padding:0;width:auto;left:auto;right:auto;margin:0;}\n  .plansza-wrap[data-theme=\"eco\"]{background:#243B2B;}\n  .plansza-wrap .board{box-shadow:none;width:100%;}\n}\n\n\/* ============ ukrycie chrome motywu na stronach pe\u0142noekranowych ========== *\/\nbody:has(.plansza-full) .ct-header,\nbody:has(.plansza-full) footer.ct-footer,\nbody:has(.plansza-full) .page-title,\nbody:has(.plansza-full) .hero-section,\nbody:has(.plansza-full) .entry-header,\nbody:has(.plansza-full) .ct-breadcrumbs{display:none !important;}\nbody:has(.plansza-full) .ct-container,\nbody:has(.plansza-full) .ct-container-full,\nbody:has(.plansza-full) .ct-container-narrow,\nbody:has(.plansza-full) .entry-content{max-width:none !important;padding-left:0 !important;padding-right:0 !important;}\n\/* Blocksy trzyma odst\u0119p g\u00f3ra\/d\u00f3\u0142 na kontenerze z data-vertical-spacing \u2014\n   bez wyzerowania zostaje bia\u0142y pas nad przyklejonym paskiem sterowania *\/\nbody:has(.plansza-full) [data-vertical-spacing]{\n  --container-vertical-spacing:0 !important;\n  padding-top:0 !important;padding-bottom:0 !important;\n}\nbody:has(.plansza-full) main,\nbody:has(.plansza-full) article,\nbody:has(.plansza-full) .site-main{padding:0 !important;margin:0 !important;}\n\n<\/style>\n<template id=\"plansza-tpl\">\n  <div class=\"board\">\n\n    <!-- PASEK LOGOTYP\u00d3W UE -->\n    <div class=\"logo-bar\">\n      <div class=\"logo-slot\" data-logo=\"fundusze\" data-alt=\"Fundusze Europejskie dla Kujaw i Pomorza 2021-2027\">\n        <div class=\"logo-ph\"><span class=\"mark mark-fe\"><\/span><span>Fundusze Europejskie<br>dla Kujaw i Pomorza<\/span><\/div>\n      <\/div>\n      <div class=\"logo-slot\" data-logo=\"rp\" data-alt=\"Rzeczpospolita Polska\">\n        <div class=\"logo-ph\"><span class=\"mark mark-rp\"><\/span><span>Rzeczpospolita<br>Polska<\/span><\/div>\n      <\/div>\n      <div class=\"logo-slot\" data-logo=\"ue\" data-alt=\"Dofinansowane przez Uni\u0119 Europejsk\u0105\">\n        <div class=\"logo-ph\"><span class=\"mark mark-ue\"><\/span><span>Dofinansowane przez<br>Uni\u0119 Europejsk\u0105<\/span><\/div>\n      <\/div>\n      <div class=\"logo-slot\" data-logo=\"samorzad\" data-alt=\"Samorz\u0105d Wojew\u00f3dztwa Kujawsko-Pomorskiego\">\n        <div class=\"logo-ph\"><span class=\"mark mark-sw\"><\/span><span>Samorz\u0105d Wojew\u00f3dztwa<br>Kujawsko-Pomorskiego<\/span><\/div>\n      <\/div>\n    <\/div>\n\n    <!-- HERO -->\n    <div class=\"hero\">\n      <div class=\"hero-text\">\n        <h1 data-f=\"tytul\"><\/h1>\n        <div class=\"latin\" data-f=\"lacinska\"><\/div>\n        <p class=\"lead\" data-f=\"lead\"><\/p>\n      <\/div>\n      <div class=\"hero-photo\" data-img=\"hero\" data-label=\"Zdj\u0119cie g\u0142\u00f3wne\"><\/div>\n    <\/div>\n\n    <!-- OPIS GATUNKU -->\n    <section>\n      <h2 data-f=\"h-opis\"><\/h2>\n      <div class=\"h2-rule\"><\/div>\n      <div class=\"split\">\n        <div class=\"col-text\">\n          <div class=\"body-text\" data-f=\"opis\"><\/div>\n          <div class=\"fact\" data-f=\"ciekawostka-box\"><b>Czy wiesz, \u017ce\u2026<\/b> <span data-f=\"ciekawostka\"><\/span><\/div>\n          <div class=\"traits\" data-f=\"traits\"><\/div>\n        <\/div>\n        <div class=\"col-art col-art-tall\" data-img=\"opis\" data-label=\"Zdj\u0119cie \u2013 kwiaty \/ pokr\u00f3j\"><\/div>\n      <\/div>\n    <\/section>\n\n    <!-- GALERIA -->\n    <div class=\"gallery\" data-f=\"galeria\"><\/div>\n\n    <!-- WYST\u0118POWANIE -->\n    <section>\n      <h2 data-f=\"h-wyst\"><\/h2>\n      <div class=\"h2-rule\"><\/div>\n      <div class=\"split\">\n        <div class=\"col-text body-text\" data-f=\"wyst\"><\/div>\n        <div class=\"col-art\" data-img=\"mapa\" data-label=\"Mapa wyst\u0119powania\">\n          <!-- Kartogram ATPOL 10\u00d710 km. Jasna sylwetka PL + ciemna plama zasi\u0119gu\n               sterowana polem DATA.wystepowanie.zasiegPath, przycinana do konturu. -->\n          <svg viewBox=\"0 0 100.63 94.27\" aria-label=\"Zasi\u0119g wyst\u0119powania w Polsce\">\n            <defs>\n              <clipPath data-clip=\"pl\"><path d=\"M41.9,1.0 L37.6,1.3 L30.7,2.9 L29.0,4.5 L24.9,5.2 L21.9,8.7 L20.2,9.7 L13.6,11.1 L6.7,13.3 L4.7,14.6 L3.3,14.2 L2.8,14.6 L3.5,16.8 L3.3,18.6 L3.7,19.3 L3.5,20.4 L4.1,22.1 L4.3,24.7 L4.7,25.0 L3.9,26.0 L3.9,26.9 L3.4,28.3 L2.4,29.2 L1.4,29.6 L1.4,31.0 L1.0,31.7 L2.0,32.1 L2.6,32.9 L3.2,33.1 L4.1,34.5 L5.4,35.5 L5.8,36.1 L5.4,36.8 L5.6,37.3 L4.8,38.3 L4.6,39.0 L4.8,40.7 L6.1,41.3 L6.0,42.7 L5.7,43.1 L5.9,43.7 L6.4,44.1 L5.8,45.8 L6.0,46.1 L5.2,47.3 L4.7,47.6 L4.6,48.1 L5.0,48.6 L5.2,49.5 L5.9,50.5 L6.1,51.6 L5.5,52.1 L5.6,52.7 L7.9,54.0 L7.9,55.7 L8.4,56.7 L7.8,60.0 L6.0,63.3 L7.7,63.5 L7.7,62.6 L8.0,61.9 L7.5,61.5 L7.7,61.2 L8.5,61.0 L8.9,61.3 L8.9,61.5 L9.3,61.6 L9.3,61.3 L9.6,61.2 L9.8,61.8 L10.3,61.6 L10.6,61.9 L10.6,63.4 L11.2,63.9 L11.4,65.1 L12.1,64.7 L12.9,65.2 L13.9,65.3 L14.6,65.9 L15.9,65.7 L16.2,67.0 L17.6,66.9 L17.8,67.8 L17.5,68.0 L17.8,68.3 L18.7,67.3 L19.5,67.9 L19.8,67.8 L20.0,67.2 L21.1,67.4 L22.1,68.7 L21.7,68.9 L21.6,69.5 L21.1,70.0 L20.7,69.8 L19.5,71.0 L20.3,72.0 L20.6,71.8 L21.1,71.9 L21.1,72.3 L21.5,72.9 L21.8,72.8 L23.0,74.5 L23.2,75.7 L24.5,76.5 L26.0,74.8 L26.4,74.9 L26.4,74.6 L27.1,74.6 L27.3,74.2 L27.6,74.7 L27.8,74.5 L27.6,73.4 L27.1,73.1 L26.7,71.9 L26.2,71.6 L26.6,71.0 L28.8,71.7 L29.1,72.1 L29.7,72.1 L29.7,72.4 L30.4,73.1 L31.1,73.0 L31.1,74.0 L31.3,73.7 L31.9,73.8 L32.2,74.2 L32.5,73.9 L33.7,74.0 L34.5,73.5 L34.6,73.1 L34.9,73.2 L35.2,73.5 L34.9,74.2 L35.4,74.6 L35.3,75.0 L33.6,75.8 L34.2,76.6 L34.5,76.5 L35.0,76.8 L35.4,78.0 L35.9,78.2 L35.9,78.5 L36.3,78.8 L37.7,78.1 L38.2,78.3 L38.2,77.8 L37.9,77.8 L37.7,77.5 L38.0,77.3 L38.6,77.7 L38.9,78.4 L39.4,78.6 L39.5,78.4 L39.9,78.4 L39.9,78.8 L40.5,78.9 L40.7,79.5 L41.1,79.6 L41.2,79.3 L42.1,79.4 L42.1,79.6 L43.1,79.9 L43.2,79.6 L43.6,79.7 L43.5,80.4 L43.8,80.6 L43.6,81.0 L44.1,82.9 L44.9,83.1 L45.1,83.5 L45.9,83.6 L46.5,85.6 L46.3,86.1 L47.3,86.1 L47.7,86.4 L47.7,88.1 L48.2,88.1 L48.7,87.7 L49.1,87.9 L50.0,87.8 L49.9,87.4 L50.3,87.1 L50.4,86.2 L50.6,85.9 L51.7,85.8 L51.8,85.3 L52.8,84.6 L52.9,85.0 L53.4,85.2 L54.0,87.1 L54.6,87.1 L54.5,87.8 L55.4,88.2 L56.1,87.8 L56.2,89.6 L56.5,89.9 L56.2,90.1 L55.9,91.0 L56.7,91.2 L57.5,90.6 L58.2,90.6 L59.3,91.5 L59.4,90.3 L59.9,89.2 L60.0,89.4 L60.6,88.7 L61.6,88.8 L61.7,87.8 L62.8,87.9 L62.8,87.6 L64.3,88.2 L64.7,87.5 L65.1,87.8 L66.0,87.5 L66.2,88.2 L66.8,88.4 L66.6,88.7 L67.0,88.8 L67.3,88.6 L67.4,89.0 L67.7,89.0 L68.0,89.4 L68.6,89.1 L69.2,88.3 L69.8,88.1 L69.2,87.4 L70.0,87.1 L70.9,87.6 L71.5,86.7 L72.3,86.8 L73.2,87.4 L75.2,86.8 L75.5,87.2 L76.2,87.3 L76.9,88.2 L77.4,87.6 L78.1,88.2 L78.7,88.2 L78.9,88.7 L79.5,89.3 L79.5,90.1 L81.2,90.9 L81.6,90.7 L81.6,91.2 L82.6,91.4 L83.1,91.2 L83.6,92.0 L84.0,91.9 L84.5,92.1 L85.3,91.9 L86.4,92.8 L87.3,92.5 L88.2,93.3 L88.7,93.2 L88.3,92.3 L88.6,91.8 L88.0,91.6 L87.5,90.9 L87.1,90.9 L87.0,90.5 L86.7,90.7 L86.9,90.0 L86.7,89.7 L86.9,87.9 L86.2,85.8 L85.7,85.0 L87.1,82.4 L92.4,74.8 L96.4,70.5 L98.7,70.1 L99.4,67.9 L99.3,66.2 L99.1,65.2 L98.6,65.2 L98.5,64.4 L98.2,64.5 L97.8,64.0 L98.1,63.4 L99.4,63.2 L99.6,62.7 L98.7,62.4 L97.8,61.6 L97.8,61.1 L97.2,60.7 L97.0,59.6 L96.7,59.6 L96.4,58.8 L96.6,58.8 L96.5,58.4 L95.2,57.5 L94.8,56.5 L94.2,56.4 L94.1,55.8 L94.6,54.5 L94.4,53.9 L94.1,53.9 L94.1,53.2 L93.2,52.5 L92.9,51.5 L92.9,49.8 L92.6,49.5 L92.6,49.2 L93.5,48.6 L93.6,48.2 L93.2,47.8 L93.5,46.7 L93.2,46.5 L93.9,45.2 L93.4,43.8 L92.9,43.2 L92.5,43.4 L91.7,42.7 L91.9,42.4 L91.0,42.4 L90.9,42.1 L88.9,41.7 L88.7,40.9 L90.2,37.6 L91.0,36.7 L92.2,35.7 L93.8,35.3 L95.6,33.6 L95.1,30.0 L95.4,29.7 L94.6,27.7 L94.9,26.5 L93.9,25.2 L90.8,17.0 L90.6,15.7 L89.9,13.4 L90.3,12.8 L90.3,12.3 L89.8,10.9 L88.4,9.5 L87.4,9.4 L86.4,8.5 L86.0,8.8 L85.5,8.6 L85.7,8.2 L85.0,7.9 L85.2,7.5 L84.0,7.2 L83.5,7.3 L83.2,7.9 L78.9,8.6 L71.3,9.1 L63.2,8.6 L53.8,7.3 L49.9,8.6 L48.0,8.6 L45.9,8.1 L44.5,7.1 L43.7,4.3 L42.9,2.9 L44.5,3.7 L46.1,5.5 L46.6,5.1 L46.2,4.2 L45.0,3.0 L43.5,1.8 L41.9,1.0 Z\"\/><\/clipPath>\n            <\/defs>\n            <path class=\"map-pl\" stroke-width=\"1.6\" stroke-linejoin=\"round\" d=\"M41.9,1.0 L37.6,1.3 L30.7,2.9 L29.0,4.5 L24.9,5.2 L21.9,8.7 L20.2,9.7 L13.6,11.1 L6.7,13.3 L4.7,14.6 L3.3,14.2 L2.8,14.6 L3.5,16.8 L3.3,18.6 L3.7,19.3 L3.5,20.4 L4.1,22.1 L4.3,24.7 L4.7,25.0 L3.9,26.0 L3.9,26.9 L3.4,28.3 L2.4,29.2 L1.4,29.6 L1.4,31.0 L1.0,31.7 L2.0,32.1 L2.6,32.9 L3.2,33.1 L4.1,34.5 L5.4,35.5 L5.8,36.1 L5.4,36.8 L5.6,37.3 L4.8,38.3 L4.6,39.0 L4.8,40.7 L6.1,41.3 L6.0,42.7 L5.7,43.1 L5.9,43.7 L6.4,44.1 L5.8,45.8 L6.0,46.1 L5.2,47.3 L4.7,47.6 L4.6,48.1 L5.0,48.6 L5.2,49.5 L5.9,50.5 L6.1,51.6 L5.5,52.1 L5.6,52.7 L7.9,54.0 L7.9,55.7 L8.4,56.7 L7.8,60.0 L6.0,63.3 L7.7,63.5 L7.7,62.6 L8.0,61.9 L7.5,61.5 L7.7,61.2 L8.5,61.0 L8.9,61.3 L8.9,61.5 L9.3,61.6 L9.3,61.3 L9.6,61.2 L9.8,61.8 L10.3,61.6 L10.6,61.9 L10.6,63.4 L11.2,63.9 L11.4,65.1 L12.1,64.7 L12.9,65.2 L13.9,65.3 L14.6,65.9 L15.9,65.7 L16.2,67.0 L17.6,66.9 L17.8,67.8 L17.5,68.0 L17.8,68.3 L18.7,67.3 L19.5,67.9 L19.8,67.8 L20.0,67.2 L21.1,67.4 L22.1,68.7 L21.7,68.9 L21.6,69.5 L21.1,70.0 L20.7,69.8 L19.5,71.0 L20.3,72.0 L20.6,71.8 L21.1,71.9 L21.1,72.3 L21.5,72.9 L21.8,72.8 L23.0,74.5 L23.2,75.7 L24.5,76.5 L26.0,74.8 L26.4,74.9 L26.4,74.6 L27.1,74.6 L27.3,74.2 L27.6,74.7 L27.8,74.5 L27.6,73.4 L27.1,73.1 L26.7,71.9 L26.2,71.6 L26.6,71.0 L28.8,71.7 L29.1,72.1 L29.7,72.1 L29.7,72.4 L30.4,73.1 L31.1,73.0 L31.1,74.0 L31.3,73.7 L31.9,73.8 L32.2,74.2 L32.5,73.9 L33.7,74.0 L34.5,73.5 L34.6,73.1 L34.9,73.2 L35.2,73.5 L34.9,74.2 L35.4,74.6 L35.3,75.0 L33.6,75.8 L34.2,76.6 L34.5,76.5 L35.0,76.8 L35.4,78.0 L35.9,78.2 L35.9,78.5 L36.3,78.8 L37.7,78.1 L38.2,78.3 L38.2,77.8 L37.9,77.8 L37.7,77.5 L38.0,77.3 L38.6,77.7 L38.9,78.4 L39.4,78.6 L39.5,78.4 L39.9,78.4 L39.9,78.8 L40.5,78.9 L40.7,79.5 L41.1,79.6 L41.2,79.3 L42.1,79.4 L42.1,79.6 L43.1,79.9 L43.2,79.6 L43.6,79.7 L43.5,80.4 L43.8,80.6 L43.6,81.0 L44.1,82.9 L44.9,83.1 L45.1,83.5 L45.9,83.6 L46.5,85.6 L46.3,86.1 L47.3,86.1 L47.7,86.4 L47.7,88.1 L48.2,88.1 L48.7,87.7 L49.1,87.9 L50.0,87.8 L49.9,87.4 L50.3,87.1 L50.4,86.2 L50.6,85.9 L51.7,85.8 L51.8,85.3 L52.8,84.6 L52.9,85.0 L53.4,85.2 L54.0,87.1 L54.6,87.1 L54.5,87.8 L55.4,88.2 L56.1,87.8 L56.2,89.6 L56.5,89.9 L56.2,90.1 L55.9,91.0 L56.7,91.2 L57.5,90.6 L58.2,90.6 L59.3,91.5 L59.4,90.3 L59.9,89.2 L60.0,89.4 L60.6,88.7 L61.6,88.8 L61.7,87.8 L62.8,87.9 L62.8,87.6 L64.3,88.2 L64.7,87.5 L65.1,87.8 L66.0,87.5 L66.2,88.2 L66.8,88.4 L66.6,88.7 L67.0,88.8 L67.3,88.6 L67.4,89.0 L67.7,89.0 L68.0,89.4 L68.6,89.1 L69.2,88.3 L69.8,88.1 L69.2,87.4 L70.0,87.1 L70.9,87.6 L71.5,86.7 L72.3,86.8 L73.2,87.4 L75.2,86.8 L75.5,87.2 L76.2,87.3 L76.9,88.2 L77.4,87.6 L78.1,88.2 L78.7,88.2 L78.9,88.7 L79.5,89.3 L79.5,90.1 L81.2,90.9 L81.6,90.7 L81.6,91.2 L82.6,91.4 L83.1,91.2 L83.6,92.0 L84.0,91.9 L84.5,92.1 L85.3,91.9 L86.4,92.8 L87.3,92.5 L88.2,93.3 L88.7,93.2 L88.3,92.3 L88.6,91.8 L88.0,91.6 L87.5,90.9 L87.1,90.9 L87.0,90.5 L86.7,90.7 L86.9,90.0 L86.7,89.7 L86.9,87.9 L86.2,85.8 L85.7,85.0 L87.1,82.4 L92.4,74.8 L96.4,70.5 L98.7,70.1 L99.4,67.9 L99.3,66.2 L99.1,65.2 L98.6,65.2 L98.5,64.4 L98.2,64.5 L97.8,64.0 L98.1,63.4 L99.4,63.2 L99.6,62.7 L98.7,62.4 L97.8,61.6 L97.8,61.1 L97.2,60.7 L97.0,59.6 L96.7,59.6 L96.4,58.8 L96.6,58.8 L96.5,58.4 L95.2,57.5 L94.8,56.5 L94.2,56.4 L94.1,55.8 L94.6,54.5 L94.4,53.9 L94.1,53.9 L94.1,53.2 L93.2,52.5 L92.9,51.5 L92.9,49.8 L92.6,49.5 L92.6,49.2 L93.5,48.6 L93.6,48.2 L93.2,47.8 L93.5,46.7 L93.2,46.5 L93.9,45.2 L93.4,43.8 L92.9,43.2 L92.5,43.4 L91.7,42.7 L91.9,42.4 L91.0,42.4 L90.9,42.1 L88.9,41.7 L88.7,40.9 L90.2,37.6 L91.0,36.7 L92.2,35.7 L93.8,35.3 L95.6,33.6 L95.1,30.0 L95.4,29.7 L94.6,27.7 L94.9,26.5 L93.9,25.2 L90.8,17.0 L90.6,15.7 L89.9,13.4 L90.3,12.8 L90.3,12.3 L89.8,10.9 L88.4,9.5 L87.4,9.4 L86.4,8.5 L86.0,8.8 L85.5,8.6 L85.7,8.2 L85.0,7.9 L85.2,7.5 L84.0,7.2 L83.5,7.3 L83.2,7.9 L78.9,8.6 L71.3,9.1 L63.2,8.6 L53.8,7.3 L49.9,8.6 L48.0,8.6 L45.9,8.1 L44.5,7.1 L43.7,4.3 L42.9,2.9 L44.5,3.7 L46.1,5.5 L46.6,5.1 L46.2,4.2 L45.0,3.0 L43.5,1.8 L41.9,1.0 Z\"\/>\n            <path class=\"map-zasieg\" data-f=\"zasieg\" d=\"\"\/>\n          <\/svg>\n          <p class=\"map-caption\" data-f=\"mapa-podpis\"><\/p>\n        <\/div>\n      <\/div>\n    <\/section>\n\n    <!-- BUDOWA \/ PRZEKR\u00d3J -->\n    <section>\n      <h2 data-f=\"h-budowa\"><\/h2>\n      <div class=\"h2-rule\"><\/div>\n      <div class=\"split\">\n        <div class=\"col-text body-text\" data-f=\"budowa\"><\/div>\n        <div class=\"col-art\" data-img=\"przekroj\" data-label=\"Przekr\u00f3j pnia\">\n          <svg viewBox=\"0 0 100 100\" aria-label=\"Przekr\u00f3j pnia\">\n            <circle cx=\"50\" cy=\"50\" r=\"47\" fill=\"#caa06a\"\/>\n            <circle cx=\"50\" cy=\"50\" r=\"43\" fill=\"#e4c491\"\/>\n            <g fill=\"none\" stroke=\"#b98d5a\" stroke-width=\"1.1\">\n              <ellipse cx=\"50\" cy=\"50\" rx=\"38\" ry=\"37\"\/>\n              <ellipse cx=\"50\" cy=\"50\" rx=\"32\" ry=\"30.5\"\/>\n              <ellipse cx=\"49\" cy=\"50\" rx=\"26\" ry=\"24.5\"\/>\n              <ellipse cx=\"49\" cy=\"49\" rx=\"20\" ry=\"18.5\"\/>\n              <ellipse cx=\"48\" cy=\"49\" rx=\"14\" ry=\"12.8\"\/>\n              <ellipse cx=\"48\" cy=\"49\" rx=\"8.5\" ry=\"7.5\"\/>\n            <\/g>\n            <circle cx=\"48\" cy=\"49\" r=\"3.4\" fill=\"#a3743f\"\/>\n          <\/svg>\n        <\/div>\n      <\/div>\n    <\/section>\n\n  <\/div>\n<\/template>\n\n<script>\n\/* =========================================================================\n   PLANSZE EDUKACYJNE \u2014 renderer wsp\u00f3lny (150 kart)\n   Ka\u017cda karta na stronie to <div class=\"plansza-slot\" data-theme=\"light|eco\">\n   z zagnie\u017cd\u017conym <script type=\"application\/json\"> zawieraj\u0105cym dane gatunku.\n   Renderer klonuje <template id=\"plansza-tpl\"> i wype\u0142nia pola data-f=\"\u2026\".\n   Obs\u0142uguje wiele plansz na jednej stronie (tryb por\u00f3wnania wariant\u00f3w).\n   ========================================================================= *\/\n(function () {\n  var tpl = null;\n\n  var PH_ICON =\n    '<svg viewBox=\"0 0 24 24\"><rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\"\/>' +\n    '<circle cx=\"9\" cy=\"10\" r=\"2\"\/><path d=\"M3 17l5-5 4 4 3-3 6 6\"\/><\/svg>';\n\n  function placeholder(label) {\n    var d = document.createElement('div');\n    d.className = 'ph';\n    d.innerHTML = PH_ICON + '<span>' + label + '<\/span>';\n    return d;\n  }\n\n  var seq = 0;\n\n  function render(slot) {\n    var raw = slot.querySelector('script[type=\"application\/json\"]');\n    if (!raw) return;\n\n    var DATA;\n    try {\n      DATA = JSON.parse(raw.textContent);\n    } catch (e) {\n      slot.innerHTML = '<p style=\"padding:20px;color:#b00\">B\u0142\u0119dny JSON gatunku: ' + e.message + '<\/p>';\n      return;\n    }\n\n    var wrap = document.createElement('div');\n    wrap.className = 'plansza-wrap';\n    wrap.setAttribute('data-theme', slot.dataset.theme || 'light');\n\n    var board = tpl.content.cloneNode(true);\n    var id = ++seq;\n    var f = function (name) { return board.querySelector('[data-f=\"' + name + '\"]'); };\n\n    \/* clipPath dostaje unikalne id \u2014 inaczej dwie plansze na jednej stronie\n       (tryb por\u00f3wnania) wsp\u00f3\u0142dzieli\u0142yby jedn\u0105 mask\u0119 *\/\n    var clip = board.querySelector('[data-clip=\"pl\"]');\n    if (clip) {\n      var clipId = 'pl-clip-' + id;\n      clip.setAttribute('id', clipId);\n      var zasiegPath = board.querySelector('.map-zasieg');\n      if (zasiegPath) zasiegPath.setAttribute('clip-path', 'url(#' + clipId + ')');\n    }\n\n    \/* \u2014 nag\u0142\u00f3wek *\/\n    f('tytul').textContent = DATA.naglowek.tytul;\n    f('lacinska').textContent = DATA.naglowek.nazwaLacinska;\n    f('lead').textContent = DATA.naglowek.lead;\n\n    \/* \u2014 opis gatunku *\/\n    f('h-opis').textContent = DATA.opisGatunku.naglowekSekcji;\n    var opis = f('opis');\n    DATA.opisGatunku.akapity.forEach(function (t) {\n      var p = document.createElement('p');\n      p.textContent = t;\n      opis.appendChild(p);\n    });\n    if (DATA.opisGatunku.ciekawostka) f('ciekawostka').textContent = DATA.opisGatunku.ciekawostka;\n    else f('ciekawostka-box').remove();\n\n    var traits = [];\n    if (DATA.opisGatunku.zapylanie) traits.push('<b>Zapylanie:<\/b> ' + DATA.opisGatunku.zapylanie);\n    if (DATA.opisGatunku.rozsiewanieNasion) traits.push('<b>Rozsiewanie nasion:<\/b> ' + DATA.opisGatunku.rozsiewanieNasion);\n    if (traits.length) f('traits').innerHTML = traits.join(' &nbsp;\u2022&nbsp; ');\n    else f('traits').remove();\n\n    \/* \u2014 wyst\u0119powanie *\/\n    f('h-wyst').textContent = DATA.wystepowanie.naglowekSekcji;\n    f('wyst').textContent = DATA.wystepowanie.tekst;\n    var zasieg = f('zasieg');\n    if (zasieg) {\n      if (DATA.wystepowanie.zasiegPath) zasieg.setAttribute('d', DATA.wystepowanie.zasiegPath);\n      else zasieg.remove();\n    }\n    var mapCap = f('mapa-podpis');\n    if (mapCap) {\n      if (DATA.wystepowanie.podpisMapy) mapCap.textContent = DATA.wystepowanie.podpisMapy;\n      else mapCap.remove();\n    }\n\n    \/* \u2014 budowa *\/\n    f('h-budowa').textContent = DATA.budowa.naglowekSekcji;\n    f('budowa').textContent = DATA.budowa.tekst;\n\n    \/* \u2014 sloty graficzne: obraz z DATA albo placeholder \/ grafika domy\u015blna *\/\n    var images = DATA.images || {};\n    Array.prototype.forEach.call(board.querySelectorAll('[data-img]'), function (s) {\n      var src = images[s.dataset.img];\n      if (src) {\n        s.innerHTML = '';\n        var img = document.createElement('img');\n        img.src = src;\n        img.alt = s.dataset.label;\n        img.loading = 'lazy';\n        s.appendChild(img);\n      } else if (!s.querySelector('svg')) {\n        s.appendChild(placeholder(s.dataset.label));\n      }\n    });\n\n    \/* \u2014 galeria *\/\n    var gal = f('galeria');\n    (images.galeria || []).forEach(function (src, i) {\n      var cell = document.createElement('div');\n      cell.className = 'g-item';\n      var label = (images.podpisyGalerii || [])[i] || 'Zdj\u0119cie ' + (i + 1);\n      if (src) {\n        var img = document.createElement('img');\n        img.src = src;\n        img.alt = label;\n        img.loading = 'lazy';\n        cell.appendChild(img);\n      } else {\n        cell.appendChild(placeholder(label));\n      }\n      gal.appendChild(cell);\n    });\n\n    \/* \u2014 logotypy; \u201eue\" wymaga obowi\u0105zkowego tekstu obok flagi *\/\n    Object.keys(DATA.logos || {}).forEach(function (key) {\n      var src = DATA.logos[key];\n      if (!src) return;\n      var s = board.querySelector('[data-logo=\"' + key + '\"]');\n      if (!s) return;\n      if (key === 'ue') {\n        s.innerHTML =\n          '<div class=\"logo-ue\"><span>Dofinansowane przez<br>Uni\u0119 Europejsk\u0105<\/span>' +\n          '<img decoding=\"async\" src=\"' + src + '\" alt=\"Flaga Unii Europejskiej\"><\/div>';\n      } else {\n        s.innerHTML = '<img decoding=\"async\" src=\"' + src + '\" alt=\"' + s.dataset.alt + '\">';\n      }\n    });\n\n    wrap.appendChild(board);\n    slot.innerHTML = '';\n    slot.appendChild(wrap);\n    slot.__data = DATA;\n    return wrap;\n  }\n\n  \/* Blok wsp\u00f3\u0142dzielony siedzi na pocz\u0105tku strony (\u017ceby CSS wszed\u0142 przed\n     rysowaniem), wi\u0119c sloty jeszcze nie istniej\u0105 w chwili wykonania skryptu \u2014\n     st\u0105d odpalenie dopiero po zbudowaniu DOM. *\/\n  function boot() {\n  tpl = document.getElementById('plansza-tpl');\n  if (!tpl) return;\n\n  var slots = Array.prototype.slice.call(document.querySelectorAll('.plansza-slot'));\n  var wraps = slots.map(render).filter(Boolean);\n\n  \/* tytu\u0142 karty w zak\u0142adce \u2014 tylko gdy na stronie jest dok\u0142adnie jedna plansza *\/\n  if (slots.length === 1 && slots[0].__data) {\n    document.title = slots[0].__data.naglowek.tytul + ' \u2014 plansza edukacyjna';\n  }\n\n  \/* ---------------- pasek sterowania (prze\u0142\u0105cznik wariantu + druk) -------- *\/\n  var bar = document.querySelector('.plansza-bar');\n  if (bar) {\n    var params = new URLSearchParams(location.search);\n    var urlTheme = params.get('theme');\n    if (urlTheme === 'eco' || urlTheme === 'light') {\n      wraps.forEach(function (w) { w.setAttribute('data-theme', urlTheme); });\n    }\n\n    Array.prototype.forEach.call(bar.querySelectorAll('[data-set-theme]'), function (btn) {\n      var t = btn.dataset.setTheme;\n      var sync = function () {\n        btn.setAttribute('aria-pressed', String(wraps[0] && wraps[0].getAttribute('data-theme') === t));\n      };\n      btn.addEventListener('click', function () {\n        wraps.forEach(function (w) { w.setAttribute('data-theme', t); });\n        var u = new URL(location.href);\n        u.searchParams.set('theme', t);\n        history.replaceState(null, '', u);\n        Array.prototype.forEach.call(bar.querySelectorAll('[data-set-theme]'), function (b) {\n          b.setAttribute('aria-pressed', String(b.dataset.setTheme === t));\n        });\n      });\n      sync();\n    });\n\n    var printBtn = bar.querySelector('[data-print]');\n    if (printBtn) printBtn.addEventListener('click', function () { window.print(); });\n  }\n\n  \/* ------------------------- katalog: filtr 150 --------------------------- *\/\n  var kat = document.querySelector('.plansze-katalog');\n  if (kat) {\n    var input = kat.querySelector('.kat-search');\n    var counter = kat.querySelector('.kat-count');\n    var cards = Array.prototype.slice.call(kat.querySelectorAll('.kat-card'));\n    var empty = kat.querySelector('.kat-empty');\n    var norm = function (s) {\n      return s.toLowerCase().normalize('NFD').replace(\/[\\u0300-\\u036f]\/g, '').replace(\/\\u0142\/g, 'l');\n    };\n    var apply = function () {\n      var q = norm(input.value.trim());\n      var shown = 0;\n      cards.forEach(function (c) {\n        var hit = !q || norm(c.dataset.search || c.textContent).indexOf(q) !== -1;\n        c.style.display = hit ? '' : 'none';\n        if (hit) shown++;\n      });\n      if (empty) empty.style.display = shown ? 'none' : '';\n      if (counter) counter.textContent = shown + ' z ' + cards.length + ' (docelowo 150)';\n    };\n    if (input) { input.addEventListener('input', apply); apply(); }\n  }\n  }\n\n  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', boot);\n  else boot();\n})();\n\n<\/script>\n\n\n<div class=\"plansza-full\"><\/div>\n<div class=\"plansze-katalog\">\n  <div class=\"kat-head\">\n    <h1>Plansze edukacyjne<\/h1>\n    <p>Zestaw plansz opisuj\u0105cych ro\u015bliny i krzewy. Docelowo 150 kart;\n    opublikowanych: <strong>1<\/strong>. Ka\u017cda karta ma prze\u0142\u0105cznik\n    wariantu kolorystycznego i eksport do PDF.<\/p>\n  <\/div>\n  <div class=\"kat-tools\">\n    <input class=\"kat-search\" type=\"search\" placeholder=\"Szukaj gatunku \u2014 nazwa polska, \u0142aci\u0144ska lub numer\u2026\" aria-label=\"Szukaj gatunku\">\n    <span class=\"kat-count\"><\/span>\n  <\/div>\n  <div class=\"kat-grid\">\n    <a class=\"kat-card\" href=\"\/index.php\/plansze\/001-czeremcha-pospolita\/\" data-search=\"001 Czeremcha pospolita Prunus padus\">\n      <span class=\"kat-thumb\"><img decoding=\"async\" src=\"https:\/\/cdn.pixabay.com\/photo\/2015\/07\/15\/16\/22\/prunus-padus-846507_1280.jpg\" alt=\"Czeremcha pospolita\" loading=\"lazy\"><span class=\"kat-nr\">001<\/span><\/span>\n      <span class=\"kat-body\">\n        <span class=\"kat-title\">Czeremcha pospolita<\/span>\n        <span class=\"kat-latin\">Prunus padus<\/span>\n      <\/span>\n    <\/a>\n    <li class=\"kat-slot\">002 \u2014 wolne<\/li>\n    <li class=\"kat-slot\">003 \u2014 wolne<\/li>\n    <li class=\"kat-slot\">004 \u2014 wolne<\/li>\n    <li class=\"kat-slot\">005 \u2014 wolne<\/li>\n    <div class=\"kat-empty\">Brak gatunku pasuj\u0105cego do zapytania.<\/div>\n  <\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Plansze edukacyjne Zestaw plansz opisuj\u0105cych ro\u015bliny i krzewy. Docelowo 150 kart; opublikowanych: 1. Ka\u017cda karta ma prze\u0142\u0105cznik wariantu kolorystycznego i eksport do PDF. 001 Czeremcha pospolita Prunus padus 002 \u2014 wolne 003 \u2014 wolne 004 \u2014 wolne 005 \u2014 wolne Brak gatunku pasuj\u0105cego do zapytania.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-91","page","type-page","status-publish","hentry"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/infiniteshield.eu\/index.php\/wp-json\/wp\/v2\/pages\/91","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/infiniteshield.eu\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/infiniteshield.eu\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/infiniteshield.eu\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/infiniteshield.eu\/index.php\/wp-json\/wp\/v2\/comments?post=91"}],"version-history":[{"count":3,"href":"https:\/\/infiniteshield.eu\/index.php\/wp-json\/wp\/v2\/pages\/91\/revisions"}],"predecessor-version":[{"id":105,"href":"https:\/\/infiniteshield.eu\/index.php\/wp-json\/wp\/v2\/pages\/91\/revisions\/105"}],"wp:attachment":[{"href":"https:\/\/infiniteshield.eu\/index.php\/wp-json\/wp\/v2\/media?parent=91"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}