{"id":6753,"date":"2026-10-26T03:03:24","date_gmt":"2026-10-26T02:03:24","guid":{"rendered":"https:\/\/erasmuslife4you.com\/dig-mapa-sygnalow-ciala\/"},"modified":"2026-10-26T12:54:00","modified_gmt":"2026-10-26T11:54:00","slug":"dig-mapa-sygnalow-ciala","status":"publish","type":"page","link":"https:\/\/erasmuslife4you.com\/pl\/dig-mapa-sygnalow-ciala\/","title":{"rendered":"DIG \u2013 MAPA SYGNA\u0141\u00d3W CIA\u0141A"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"6753\" class=\"elementor elementor-6753 elementor-6485\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a249c1d e-flex e-con-boxed e-con e-parent\" data-id=\"a249c1d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e9de795 elementor-widget elementor-widget-html\" data-id=\"e9de795\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div id=\"dig-body-signals-map\">\n\n<style>\n\n\/* =========================================================\n   DIG \u2013 BODY SIGNALS MAP\n   MODULE 4 \u2022 ACTIVITY 2\n========================================================= *\/\n\n#dig-body-signals-map{\n  --azure:#71AFDB;\n  --blue:#286f98;\n  --navy:#173f59;\n  --peach:#F8D4B5;\n  --peach-light:#fff5ec;\n  --blue-light:#eef7fc;\n  --page:#f7fbfd;\n  --text:#293943;\n  --muted:#5f707a;\n  --border:#d9eaf3;\n\n  font-family:Ubuntu,Arial,sans-serif;\n  color:var(--text);\n  background:var(--page);\n  padding:28px 16px 48px;\n  line-height:1.6;\n  box-sizing:border-box;\n}\n\n#dig-body-signals-map *{\n  box-sizing:border-box;\n}\n\n#dig-body-signals-map .dig-shell{\n  max-width:960px;\n  margin:0 auto;\n}\n\n\n\/* =========================================================\n   BRANDING\n========================================================= *\/\n\n#dig-body-signals-map .dig-topbar{\n  display:flex;\n  justify-content:space-between;\n  align-items:center;\n  flex-wrap:wrap;\n  gap:24px;\n  background:#ffffff;\n  border:1px solid var(--border);\n  border-radius:20px;\n  padding:20px 24px;\n  margin-bottom:18px;\n}\n\n#dig-body-signals-map .dig-project-logo{\n  display:block;\n  width:170px;\n  max-width:100%;\n  height:auto;\n}\n\n#dig-body-signals-map .dig-eu-logo{\n  display:block;\n  width:215px;\n  max-width:100%;\n  height:auto;\n}\n\n\n\/* =========================================================\n   HERO\n========================================================= *\/\n\n#dig-body-signals-map .hero{\n  position:relative;\n  overflow:hidden;\n  background:linear-gradient(\n    135deg,\n    rgba(113,175,219,.23),\n    rgba(248,212,181,.50)\n  );\n  border:1px solid rgba(113,175,219,.30);\n  border-radius:30px;\n  padding:40px 38px;\n  margin-bottom:18px;\n}\n\n#dig-body-signals-map .hero::after{\n  content:\"\";\n  position:absolute;\n  width:190px;\n  height:190px;\n  right:-65px;\n  top:-75px;\n  border-radius:50%;\n  background:rgba(255,255,255,.32);\n}\n\n#dig-body-signals-map .hero > *{\n  position:relative;\n  z-index:1;\n}\n\n#dig-body-signals-map .eyebrow{\n  display:inline-block;\n  background:#ffffff;\n  color:var(--blue);\n  border:1px solid rgba(113,175,219,.40);\n  border-radius:999px;\n  padding:7px 14px;\n  margin-bottom:14px;\n  font-size:13px;\n  font-weight:800;\n  letter-spacing:.05em;\n  text-transform:uppercase;\n}\n\n#dig-body-signals-map h1{\n  margin:0 0 12px;\n  color:var(--navy);\n  font-size:40px;\n  line-height:1.08;\n  font-weight:800;\n}\n\n#dig-body-signals-map .hero p{\n  margin:0;\n  max-width:760px;\n  font-family:Verdana,Arial,sans-serif;\n  font-size:16px;\n  line-height:1.72;\n}\n\n\n\/* =========================================================\n   PROGRESS\n========================================================= *\/\n\n#dig-body-signals-map .progress-card{\n  background:#ffffff;\n  border:1px solid var(--border);\n  border-radius:19px;\n  padding:18px 20px;\n  margin-bottom:18px;\n}\n\n#dig-body-signals-map .progress-top{\n  display:flex;\n  justify-content:space-between;\n  align-items:center;\n  gap:12px;\n  margin-bottom:10px;\n}\n\n#dig-body-signals-map .progress-title{\n  color:var(--navy);\n  font-weight:800;\n  font-size:14px;\n}\n\n#dig-body-signals-map .progress-value{\n  color:var(--blue);\n  font-weight:800;\n  font-size:13px;\n}\n\n#dig-body-signals-map .progress-track{\n  height:9px;\n  background:#e9f1f5;\n  border-radius:999px;\n  overflow:hidden;\n}\n\n#dig-body-signals-map .progress-fill{\n  height:100%;\n  width:0;\n  border-radius:999px;\n  background:linear-gradient(90deg,var(--azure),var(--blue));\n  transition:width .4s ease;\n}\n\n\n\/* =========================================================\n   GENERAL\n========================================================= *\/\n\n#dig-body-signals-map .step{\n  background:#ffffff;\n  border-radius:23px;\n  padding:27px;\n  margin:18px 0;\n  box-shadow:0 7px 24px rgba(29,65,84,.06);\n}\n\n#dig-body-signals-map .step-blue{\n  border-left:6px solid var(--azure);\n}\n\n#dig-body-signals-map .step-peach{\n  border-left:6px solid var(--peach);\n}\n\n#dig-body-signals-map .step-label{\n  color:var(--blue);\n  font-size:12px;\n  font-weight:800;\n  text-transform:uppercase;\n  letter-spacing:.07em;\n  margin-bottom:5px;\n}\n\n#dig-body-signals-map h2{\n  margin:0 0 8px;\n  color:var(--navy);\n  font-size:25px;\n  line-height:1.3;\n}\n\n#dig-body-signals-map .help{\n  margin:0 0 18px;\n  color:#425d6d;\n  font-family:Verdana,Arial,sans-serif;\n  font-size:14px;\n  line-height:1.65;\n}\n\n\n\/* =========================================================\n   EMOTION CHOICES\n========================================================= *\/\n\n#dig-body-signals-map .emotion-grid{\n  display:grid;\n  grid-template-columns:repeat(4,minmax(0,1fr));\n  gap:9px;\n}\n\n#dig-body-signals-map .emotion-option{\n  position:relative;\n  cursor:pointer;\n}\n\n#dig-body-signals-map .emotion-option input{\n  position:absolute;\n  opacity:0;\n  pointer-events:none;\n}\n\n#dig-body-signals-map .emotion-box{\n  min-height:59px;\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  text-align:center;\n  padding:11px;\n  border:2px solid var(--border);\n  border-radius:14px;\n  background:#ffffff;\n  color:var(--navy);\n  font-size:13px;\n  font-weight:800;\n  transition:\n    transform .2s ease,\n    background .2s ease,\n    border-color .2s ease;\n}\n\n#dig-body-signals-map .emotion-option:nth-child(even) .emotion-box{\n  background:var(--peach-light);\n}\n\n#dig-body-signals-map .emotion-option input:checked + .emotion-box{\n  border-color:var(--blue);\n  background:#e5f4fb;\n  transform:translateY(-3px);\n}\n\n\n\/* =========================================================\n   BODY MAP\n========================================================= *\/\n\n#dig-body-signals-map .map-layout{\n  display:grid;\n  grid-template-columns:minmax(300px,430px) 1fr;\n  gap:25px;\n  align-items:start;\n}\n\n#dig-body-signals-map .body-card{\n  background:linear-gradient(180deg,#eef7fc,#ffffff);\n  border:1px solid var(--border);\n  border-radius:22px;\n  padding:18px;\n  text-align:center;\n}\n\n#dig-body-signals-map .map-instruction{\n  margin:0 0 12px;\n  color:var(--muted);\n  font-family:Verdana,Arial,sans-serif;\n  font-size:12px;\n}\n\n#dig-body-signals-map .body-svg{\n  display:block;\n  width:100%;\n  max-width:350px;\n  height:auto;\n  margin:0 auto;\n}\n\n#dig-body-signals-map .body-base{\n  fill:#ffffff;\n  stroke:#aac8d8;\n  stroke-width:4;\n}\n\n#dig-body-signals-map .zone-hit{\n  fill:rgba(113,175,219,.12);\n  stroke:#71AFDB;\n  stroke-width:2;\n  stroke-dasharray:5 5;\n  cursor:pointer;\n  transition:\n    fill .25s ease,\n    stroke .25s ease,\n    opacity .25s ease;\n}\n\n#dig-body-signals-map .zone-group:hover .zone-hit{\n  fill:rgba(113,175,219,.30);\n}\n\n#dig-body-signals-map .zone-group.active .zone-hit{\n  fill:rgba(248,212,181,.75);\n  stroke:#286f98;\n  stroke-width:4;\n  stroke-dasharray:none;\n}\n\n#dig-body-signals-map .zone-group.mapped .zone-hit{\n  fill:rgba(113,175,219,.46);\n  stroke:#286f98;\n  stroke-dasharray:none;\n}\n\n#dig-body-signals-map .zone-group.active.mapped .zone-hit{\n  fill:rgba(248,212,181,.86);\n}\n\n#dig-body-signals-map .map-key{\n  display:flex;\n  flex-wrap:wrap;\n  justify-content:center;\n  gap:8px;\n  margin-top:12px;\n}\n\n#dig-body-signals-map .map-key span{\n  display:inline-block;\n  padding:6px 10px;\n  border-radius:999px;\n  background:#ffffff;\n  border:1px solid var(--border);\n  color:#58707e;\n  font-family:Verdana,Arial,sans-serif;\n  font-size:10px;\n}\n\n\n\/* =========================================================\n   SIGNAL PANEL\n========================================================= *\/\n\n#dig-body-signals-map .signal-panel{\n  min-height:460px;\n  background:linear-gradient(135deg,#fff5ec,#eef7fc);\n  border:1px solid var(--border);\n  border-radius:22px;\n  padding:22px;\n}\n\n#dig-body-signals-map .signal-kicker{\n  color:var(--blue);\n  font-size:11px;\n  font-weight:800;\n  text-transform:uppercase;\n  letter-spacing:.07em;\n}\n\n#dig-body-signals-map .zone-title{\n  margin:5px 0 5px;\n  color:var(--navy);\n  font-size:22px;\n  font-weight:800;\n}\n\n#dig-body-signals-map .zone-help{\n  margin:0 0 16px;\n  color:var(--muted);\n  font-family:Verdana,Arial,sans-serif;\n  font-size:12px;\n  line-height:1.55;\n}\n\n#dig-body-signals-map .signal-chips{\n  display:flex;\n  flex-wrap:wrap;\n  gap:8px;\n  min-height:110px;\n}\n\n#dig-body-signals-map .signal-chip{\n  border:2px solid var(--border);\n  border-radius:999px;\n  padding:9px 13px;\n  background:#ffffff;\n  color:var(--navy);\n  font-family:Verdana,Arial,sans-serif;\n  font-size:12px;\n  font-weight:700;\n  cursor:pointer;\n  transition:\n    transform .18s ease,\n    background .18s ease,\n    border-color .18s ease;\n}\n\n#dig-body-signals-map .signal-chip:hover{\n  transform:translateY(-1px);\n}\n\n#dig-body-signals-map .signal-chip.active{\n  background:#dff1fa;\n  border-color:var(--blue);\n  transform:translateY(-2px);\n}\n\n#dig-body-signals-map .custom-signal{\n  margin-top:16px;\n}\n\n#dig-body-signals-map .field-label{\n  display:block;\n  margin-bottom:7px;\n  color:var(--navy);\n  font-size:13px;\n  font-weight:800;\n}\n\n#dig-body-signals-map input[type=\"text\"],\n#dig-body-signals-map textarea{\n  width:100%;\n  border:2px solid #cfe2ed;\n  border-radius:12px;\n  background:#ffffff;\n  padding:12px 13px;\n  color:var(--text);\n  outline:none;\n  font-family:Verdana,Arial,sans-serif;\n  font-size:15px;\n  line-height:1.5;\n}\n\n#dig-body-signals-map textarea{\n  min-height:92px;\n  resize:vertical;\n}\n\n#dig-body-signals-map input[type=\"text\"]:focus,\n#dig-body-signals-map textarea:focus{\n  border-color:var(--azure);\n  box-shadow:0 0 0 3px rgba(113,175,219,.17);\n}\n\n#dig-body-signals-map .selected-preview{\n  margin-top:16px;\n  padding:15px;\n  border-radius:15px;\n  background:#ffffff;\n  border:1px solid var(--border);\n}\n\n#dig-body-signals-map .selected-preview-label{\n  color:var(--muted);\n  font-size:10px;\n  font-weight:800;\n  text-transform:uppercase;\n}\n\n#dig-body-signals-map .selected-preview-value{\n  margin-top:3px;\n  color:var(--navy);\n  font-size:15px;\n  font-weight:800;\n}\n\n#dig-body-signals-map .add-signal-btn{\n  width:100%;\n  margin-top:12px;\n  min-height:45px;\n  border:0;\n  border-radius:12px;\n  background:var(--blue);\n  color:#ffffff;\n  cursor:pointer;\n  font-family:Ubuntu,Arial,sans-serif;\n  font-size:14px;\n  font-weight:800;\n}\n\n#dig-body-signals-map .add-signal-btn:disabled{\n  opacity:.45;\n  cursor:not-allowed;\n}\n\n\n\/* =========================================================\n   MY MAP LIST\n========================================================= *\/\n\n#dig-body-signals-map .map-list{\n  display:grid;\n  grid-template-columns:repeat(2,minmax(0,1fr));\n  gap:10px;\n  margin-top:18px;\n}\n\n#dig-body-signals-map .map-entry{\n  position:relative;\n  padding:16px 42px 16px 16px;\n  border-radius:16px;\n  background:#f7fbfd;\n  border:1px solid var(--border);\n}\n\n#dig-body-signals-map .map-entry:nth-child(even){\n  background:var(--peach-light);\n  border-color:#eadfd5;\n}\n\n#dig-body-signals-map .entry-emotion{\n  color:var(--blue);\n  font-size:10px;\n  font-weight:800;\n  text-transform:uppercase;\n  letter-spacing:.05em;\n}\n\n#dig-body-signals-map .entry-main{\n  margin-top:3px;\n  color:var(--navy);\n  font-size:15px;\n  font-weight:800;\n}\n\n#dig-body-signals-map .entry-sub{\n  margin-top:3px;\n  color:var(--muted);\n  font-family:Verdana,Arial,sans-serif;\n  font-size:11px;\n}\n\n#dig-body-signals-map .remove-map{\n  position:absolute;\n  top:11px;\n  right:11px;\n  width:25px;\n  height:25px;\n  border:0;\n  border-radius:50%;\n  background:#edf3f6;\n  color:#667985;\n  cursor:pointer;\n  font-size:15px;\n}\n\n#dig-body-signals-map .empty-map{\n  grid-column:1 \/ -1;\n  padding:20px;\n  border:1px dashed #bad3df;\n  border-radius:15px;\n  color:var(--muted);\n  text-align:center;\n  font-family:Verdana,Arial,sans-serif;\n  font-size:13px;\n}\n\n\n\/* =========================================================\n   TOP 3\n========================================================= *\/\n\n#dig-body-signals-map .top3-list{\n  display:grid;\n  grid-template-columns:repeat(3,minmax(0,1fr));\n  gap:10px;\n  margin-top:18px;\n}\n\n#dig-body-signals-map .top-option{\n  position:relative;\n  cursor:pointer;\n}\n\n#dig-body-signals-map .top-option input{\n  position:absolute;\n  opacity:0;\n  pointer-events:none;\n}\n\n#dig-body-signals-map .top-box{\n  min-height:100px;\n  display:flex;\n  flex-direction:column;\n  justify-content:center;\n  padding:15px;\n  border:2px solid var(--border);\n  border-radius:16px;\n  background:#ffffff;\n  transition:\n    transform .2s ease,\n    border-color .2s ease,\n    background .2s ease;\n}\n\n#dig-body-signals-map .top-option:nth-child(even) .top-box{\n  background:var(--peach-light);\n}\n\n#dig-body-signals-map .top-option input:checked + .top-box{\n  border-color:var(--blue);\n  background:#e5f4fb;\n  transform:translateY(-3px);\n}\n\n#dig-body-signals-map .top-zone{\n  color:var(--blue);\n  font-size:10px;\n  font-weight:800;\n  text-transform:uppercase;\n}\n\n#dig-body-signals-map .top-signal{\n  margin-top:4px;\n  color:var(--navy);\n  font-size:14px;\n  font-weight:800;\n}\n\n#dig-body-signals-map .top-limit{\n  margin-top:12px;\n  color:var(--muted);\n  font-family:Verdana,Arial,sans-serif;\n  font-size:12px;\n}\n\n\n\/* =========================================================\n   BODY ALERT STRIP\n========================================================= *\/\n\n#dig-body-signals-map .alert-card{\n  background:var(--navy);\n  border-radius:22px;\n  padding:23px;\n  margin-top:20px;\n  color:#ffffff;\n}\n\n#dig-body-signals-map .alert-kicker{\n  color:var(--peach);\n  font-size:11px;\n  font-weight:800;\n  text-transform:uppercase;\n  letter-spacing:.06em;\n}\n\n#dig-body-signals-map .alert-title{\n  margin:5px 0 15px;\n  color:#ffffff;\n  font-size:18px;\n  font-weight:800;\n}\n\n#dig-body-signals-map .alert-flow{\n  display:grid;\n  grid-template-columns:repeat(3,1fr);\n  gap:8px;\n}\n\n#dig-body-signals-map .alert-step{\n  padding:13px 10px;\n  border-radius:13px;\n  background:rgba(255,255,255,.09);\n  border:1px solid rgba(255,255,255,.13);\n  text-align:center;\n}\n\n#dig-body-signals-map .alert-step strong{\n  display:block;\n  color:#ffffff;\n  font-size:13px;\n}\n\n#dig-body-signals-map .alert-step span{\n  display:block;\n  margin-top:3px;\n  color:#c7dbe6;\n  font-family:Verdana,Arial,sans-serif;\n  font-size:10px;\n}\n\n\n\/* =========================================================\n   REFLECTION\n========================================================= *\/\n\n#dig-body-signals-map .reflection-grid{\n  display:grid;\n  grid-template-columns:1fr 1fr;\n  gap:12px;\n}\n\n#dig-body-signals-map .reflection-card{\n  padding:17px;\n  border-radius:17px;\n  background:#f7fbfd;\n  border:1px solid var(--border);\n}\n\n#dig-body-signals-map .reflection-card:nth-child(even){\n  background:var(--peach-light);\n  border-color:#eadfd5;\n}\n\n\n\/* =========================================================\n   SUMMARY\n========================================================= *\/\n\n#dig-body-signals-map .summary{\n  position:relative;\n  overflow:hidden;\n  background:var(--navy);\n  color:#ffffff;\n  border-radius:25px;\n  padding:28px;\n  margin:20px 0;\n}\n\n#dig-body-signals-map .summary::after{\n  content:\"\";\n  position:absolute;\n  width:180px;\n  height:180px;\n  right:-90px;\n  bottom:-90px;\n  border-radius:50%;\n  background:rgba(113,175,219,.13);\n}\n\n#dig-body-signals-map .summary > *{\n  position:relative;\n  z-index:1;\n}\n\n#dig-body-signals-map .summary-kicker{\n  color:var(--peach);\n  font-size:12px;\n  font-weight:800;\n  text-transform:uppercase;\n  letter-spacing:.07em;\n}\n\n#dig-body-signals-map .summary-title{\n  margin:4px 0 18px;\n  color:#ffffff;\n  font-size:25px;\n  font-weight:800;\n}\n\n#dig-body-signals-map .summary-grid{\n  display:grid;\n  grid-template-columns:1fr 1fr;\n  gap:10px;\n}\n\n#dig-body-signals-map .summary-item{\n  padding:15px;\n  border-radius:14px;\n  background:rgba(255,255,255,.09);\n  border:1px solid rgba(255,255,255,.13);\n}\n\n#dig-body-signals-map .summary-wide{\n  grid-column:1 \/ -1;\n}\n\n#dig-body-signals-map .summary-label{\n  color:#b9dff3;\n  font-size:10px;\n  font-weight:800;\n  text-transform:uppercase;\n  letter-spacing:.05em;\n  margin-bottom:4px;\n}\n\n#dig-body-signals-map .summary-value{\n  color:#ffffff;\n  font-family:Verdana,Arial,sans-serif;\n  font-size:13px;\n  line-height:1.55;\n  white-space:pre-wrap;\n  overflow-wrap:anywhere;\n}\n\n#dig-body-signals-map .summary-message{\n  margin-top:17px;\n  padding-top:16px;\n  border-top:1px solid rgba(255,255,255,.15);\n  color:#ffffff;\n  font-size:18px;\n  font-weight:800;\n  line-height:1.5;\n}\n\n\n\/* =========================================================\n   SUPPORT\n========================================================= *\/\n\n#dig-body-signals-map .support{\n  background:var(--peach-light);\n  border-left:6px solid var(--peach);\n  border-radius:20px;\n  padding:23px;\n  margin:20px 0;\n}\n\n#dig-body-signals-map .support-title{\n  color:#8a5a34;\n  font-size:12px;\n  font-weight:800;\n  text-transform:uppercase;\n  letter-spacing:.07em;\n  margin-bottom:7px;\n}\n\n#dig-body-signals-map .support p{\n  margin:0;\n  color:#425d6d;\n  font-family:Verdana,Arial,sans-serif;\n  font-size:14px;\n  line-height:1.65;\n}\n\n\n\/* =========================================================\n   ACTIONS\n========================================================= *\/\n\n#dig-body-signals-map .actions{\n  display:flex;\n  flex-wrap:wrap;\n  gap:10px;\n  margin:24px 0 8px;\n}\n\n#dig-body-signals-map .btn{\n  min-height:47px;\n  border:0;\n  border-radius:12px;\n  padding:13px 18px;\n  cursor:pointer;\n  font-family:Ubuntu,Arial,sans-serif;\n  font-size:15px;\n  font-weight:800;\n}\n\n#dig-body-signals-map .btn-primary{\n  color:#ffffff;\n  background:var(--blue);\n}\n\n#dig-body-signals-map .btn-secondary{\n  color:var(--blue);\n  background:#ffffff;\n  border:2px solid var(--border);\n}\n\n#dig-body-signals-map .privacy{\n  color:var(--muted);\n  font-family:Verdana,Arial,sans-serif;\n  font-size:12px;\n}\n\n\n\/* =========================================================\n   FOOTER\n========================================================= *\/\n\n#dig-body-signals-map .footer{\n  background:#ffffff;\n  border:1px solid var(--border);\n  border-radius:20px;\n  padding:20px;\n  margin-top:24px;\n}\n\n#dig-body-signals-map .footer-top{\n  display:flex;\n  align-items:flex-start;\n  gap:22px;\n  flex-wrap:wrap;\n}\n\n#dig-body-signals-map .footer .dig-eu-logo{\n  width:180px;\n}\n\n#dig-body-signals-map .disclaimer{\n  flex:1 1 440px;\n  margin:0;\n  color:var(--muted);\n  font-family:Verdana,Arial,sans-serif;\n  font-size:11px;\n  line-height:1.6;\n}\n\n#dig-body-signals-map .project-number{\n  margin-top:14px;\n  padding-top:12px;\n  border-top:1px solid var(--border);\n  color:var(--muted);\n  font-family:Verdana,Arial,sans-serif;\n  font-size:11px;\n}\n\n\n\/* =========================================================\n   MOBILE\n========================================================= *\/\n\n@media(max-width:760px){\n\n  #dig-body-signals-map{\n    padding:18px 10px 34px;\n  }\n\n  #dig-body-signals-map .hero{\n    padding:28px 22px;\n  }\n\n  #dig-body-signals-map h1{\n    font-size:31px;\n  }\n\n  #dig-body-signals-map .emotion-grid{\n    grid-template-columns:repeat(2,1fr);\n  }\n\n  #dig-body-signals-map .map-layout,\n  #dig-body-signals-map .reflection-grid,\n  #dig-body-signals-map .summary-grid{\n    grid-template-columns:1fr;\n  }\n\n  #dig-body-signals-map .map-list{\n    grid-template-columns:1fr;\n  }\n\n  #dig-body-signals-map .top3-list{\n    grid-template-columns:1fr;\n  }\n\n  #dig-body-signals-map .summary-wide{\n    grid-column:auto;\n  }\n\n  #dig-body-signals-map .alert-flow{\n    grid-template-columns:1fr;\n  }\n\n}\n\n\n\/* =========================================================\n   REDUCED MOTION\n========================================================= *\/\n\n@media(prefers-reduced-motion:reduce){\n\n  #dig-body-signals-map *,\n  #dig-body-signals-map *::before,\n  #dig-body-signals-map *::after{\n    transition:none !important;\n    animation:none !important;\n  }\n\n}\n\n\n\/* =========================================================\n   PRINT\n========================================================= *\/\n\n@media print{\n\n  body{\n    background:#ffffff !important;\n  }\n\n  #dig-body-signals-map{\n    background:#ffffff !important;\n    padding:0 !important;\n  }\n\n  #dig-body-signals-map .actions,\n  #dig-body-signals-map .privacy,\n  #dig-body-signals-map .progress-card,\n  #dig-body-signals-map .add-signal-btn,\n  #dig-body-signals-map .remove-map{\n    display:none !important;\n  }\n\n  #dig-body-signals-map .step,\n  #dig-body-signals-map .summary,\n  #dig-body-signals-map .hero,\n  #dig-body-signals-map .dig-topbar,\n  #dig-body-signals-map .footer,\n  #dig-body-signals-map .support{\n    box-shadow:none !important;\n    break-inside:avoid;\n  }\n\n}\n\n<\/style>\n\n\n<div class=\"dig-shell\">\n\n\n  <!-- =====================================================\n       BRANDING\n  ====================================================== -->\n\n  <div class=\"dig-topbar\">\n\n    <img data-recalc-dims=\"1\" decoding=\"async\" class=\"dig-project-logo\" src=\"https:\/\/i0.wp.com\/erasmuslife4you.com\/wp-content\/uploads\/2026\/08\/DIG-FINAL-LOGO1.png?w=640&#038;ssl=1\" alt=\"DIG \u2013 Od\u0142\u00f3\u017c natychmiastow\u0105 satysfakcj\u0119 na p\u00f3\u017aniej, by \u017cy\u0107 lepiej\">\n\n    <img data-recalc-dims=\"1\" decoding=\"async\" class=\"dig-eu-logo\" src=\"https:\/\/i0.wp.com\/erasmuslife4you.com\/wp-content\/uploads\/2026\/05\/erasmus-logo.png?w=640&#038;ssl=1\" alt=\"Projekt wsp\u00f3\u0142finansowany przez Uni\u0119 Europejsk\u0105\">\n\n  <\/div>\n\n\n\n  <!-- =====================================================\n       HERO\n  ====================================================== -->\n\n  <section class=\"hero\">\n\n     <div class=\"eyebrow\">\n     Modu\u0142 4 \u2022 \u0106wiczenie 2\n   <\/div>\n\n    <h1>\n     Mapa sygna\u0142\u00f3w mojego cia\u0142a\n   <\/h1>\n\n    <p>\n     Po\u0142\u0105cz emocje z sygna\u0142ami fizycznymi i odkryj, kt\u00f3re wskaz\u00f3wki p\u0142yn\u0105ce z cia\u0142a\n     mog\u0105 pom\u00f3c ci szybciej zauwa\u017cy\u0107, co si\u0119 dzieje.\n   <\/p> \n\n  <\/section>\n\n\n\n  <!-- =====================================================\n       PROGRESS\n  ====================================================== -->\n\n  <div class=\"progress-card\">\n\n    <div class=\"progress-top\">\n\n       <div class=\"progress-title\">\n       Moja ocena kondycji\n     <\/div>\n\n      <div class=\"progress-value\">\n      <span id=\"bsm-progress-number\">0\/4<\/span> krok\u00f3w\n     <\/div> \n\n    <\/div>\n\n    <div class=\"progress-track\">\n      <div class=\"progress-fill\" id=\"bsm-progress-fill\"><\/div>\n    <\/div>\n\n  <\/div>\n\n\n\n  <!-- =====================================================\n       STEP 1 \u2013 EMOTION\n  ====================================================== -->\n\n  <section class=\"step step-blue\">\n\n     <div class=\"step-label\">\n     Krok 1\n   <\/div>\n\n    <h2>\n     Wybierz emocj\u0119, kt\u00f3r\u0105 chcesz zg\u0142\u0119bi\u0107\n   <\/h2>\n\n    <p class=\"help\">\n     Pomy\u015bl o niedawnej sytuacji, kiedy wyra\u017anie pami\u0119tasz, \u017ce odczuwa\u0142e\u015b jedn\u0105 z tych emocji.\n     Wybierz opcj\u0119, kt\u00f3ra najlepiej pasuje.\n   <\/p> \n\n\n    <div class=\"emotion-grid\">\n\n       <label class=\"emotion-option\">\n        <input type=\"radio\" name=\"bsm-emotion\" value=\"Happy\"\/>\n        <span class=\"emotion-box\">Ciesz\u0119 si\u0119<\/span>\n      <\/label>\n\n      <label class=\"emotion-option\">\n        <input type=\"radio\" name=\"bsm-emotion\" value=\"Excited\"\/>\n        <span class=\"emotion-box\">Podekscytowany<\/span>\n      <\/label> \n\n       <label class=\"emotion-option\">\n        <input type=\"radio\" name=\"bsm-emotion\" value=\"Nervous\"\/>\n        <span class=\"emotion-box\">Zdenerwowany<\/span>\n      <\/label>\n\n      <label class=\"emotion-option\">\n        <input type=\"radio\" name=\"bsm-emotion\" value=\"Angry\"\/>\n        <span class=\"emotion-box\">Z\u0142y<\/span>\n      <\/label> \n\n       <label class=\"emotion-option\">\n        <input type=\"radio\" name=\"bsm-emotion\" value=\"Frustrated\"\/>\n        <span class=\"emotion-box\">Sfrustrowany<\/span>\n      <\/label>\n\n      <label class=\"emotion-option\">\n        <input type=\"radio\" name=\"bsm-emotion\" value=\"Sad\"\/>\n        <span class=\"emotion-box\">Smutny<\/span>\n      <\/label> \n\n       <label class=\"emotion-option\">\n        <input type=\"radio\" name=\"bsm-emotion\" value=\"Overwhelmed\"\/>\n        <span class=\"emotion-box\">Przyt\u0142oczony<\/span>\n      <\/label>\n\n      <label class=\"emotion-option\">\n        <input type=\"radio\" name=\"bsm-emotion\" value=\"Relieved\"\/>\n        <span class=\"emotion-box\">Ulga<\/span>\n      <\/label> \n\n    <\/div>\n\n  <\/section>\n\n\n\n  <!-- =====================================================\n       STEP 2 \u2013 INTERACTIVE BODY MAP\n  ====================================================== -->\n\n  <section class=\"step step-peach\">\n\n     <div class=\"step-label\">\n     Krok 2\n   <\/div>\n\n    <h2>\n     Dotknij miejsca, w kt\u00f3rym odczuwasz t\u0119 emocj\u0119\n   <\/h2>\n\n    <p class=\"help\">\n     Wybierz obszar cia\u0142a, a nast\u0119pnie wybierz sygna\u0142 fizyczny, kt\u00f3ry najlepiej pasuje do twojego odczucia.\n     Mo\u017cesz doda\u0107 kilka obszar\u00f3w i sygna\u0142\u00f3w.\n   <\/p> \n\n\n    <div class=\"map-layout\">\n\n\n      <!-- BODY -->\n\n      <div class=\"body-card\">\n\n        <p class=\"map-instruction\">\n           Dotknij jednej z pod\u015bwietlonych cz\u0119\u015bci cia\u0142a.\n        <\/p>\n\n\n        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"body-svg\" viewbox=\"0 0 320 560\" role=\"img\" aria-label=\"Interactive human body map\">\n\n\n          <!-- BODY BASE -->\n\n          <circle class=\"body-base\" cx=\"160\" cy=\"66\" r=\"42\">\n          <\/circle>\n\n          <rect class=\"body-base\" x=\"143\" y=\"105\" width=\"34\" height=\"35\" rx=\"14\">\n          <\/rect>\n\n          <path class=\"body-base\" d=\"M112 136\n               Q160 115 208 136\n               L221 290\n               Q205 320 190 330\n               L196 510\n               Q192 535 172 535\n               L160 345\n               L148 535\n               Q128 535 124 510\n               L130 330\n               Q115 320 99 290\n               Z\">\n          <\/path>\n\n          <path class=\"body-base\" d=\"M108 148\n               Q87 158 75 195\n               L48 330\n               Q44 350 58 356\n               Q72 360 78 340\n               L112 225\">\n          <\/path>\n\n          <path class=\"body-base\" d=\"M212 148\n               Q233 158 245 195\n               L272 330\n               Q276 350 262 356\n               Q248 360 242 340\n               L208 225\">\n          <\/path>\n\n\n          <!-- HEAD \/ FACE -->\n\n          <g class=\"zone-group\" data-zone=\"head\" tabindex=\"0\" role=\"button\" aria-label=\"Head and face\">\n\n            <ellipse class=\"zone-hit\" cx=\"160\" cy=\"66\" rx=\"34\" ry=\"31\">\n            <\/ellipse>\n\n          <\/g>\n\n\n          <!-- JAW \/ NECK -->\n\n          <g class=\"zone-group\" data-zone=\"neck\" tabindex=\"0\" role=\"button\" aria-label=\"Jaw, neck and throat\">\n\n            <ellipse class=\"zone-hit\" cx=\"160\" cy=\"122\" rx=\"29\" ry=\"19\">\n            <\/ellipse>\n\n          <\/g>\n\n\n          <!-- SHOULDERS -->\n\n          <g class=\"zone-group\" data-zone=\"shoulders\" tabindex=\"0\" role=\"button\" aria-label=\"Shoulders\">\n\n            <ellipse class=\"zone-hit\" cx=\"160\" cy=\"158\" rx=\"72\" ry=\"24\">\n            <\/ellipse>\n\n          <\/g>\n\n\n          <!-- CHEST -->\n\n          <g class=\"zone-group\" data-zone=\"chest\" tabindex=\"0\" role=\"button\" aria-label=\"Chest and breathing\">\n\n            <ellipse class=\"zone-hit\" cx=\"160\" cy=\"218\" rx=\"48\" ry=\"42\">\n            <\/ellipse>\n\n          <\/g>\n\n\n          <!-- STOMACH -->\n\n          <g class=\"zone-group\" data-zone=\"stomach\" tabindex=\"0\" role=\"button\" aria-label=\"Stomach\">\n\n            <ellipse class=\"zone-hit\" cx=\"160\" cy=\"292\" rx=\"42\" ry=\"37\">\n            <\/ellipse>\n\n          <\/g>\n\n\n          <!-- HANDS -->\n\n          <g class=\"zone-group\" data-zone=\"hands\" tabindex=\"0\" role=\"button\" aria-label=\"Hands\">\n\n            <circle class=\"zone-hit\" cx=\"57\" cy=\"348\" r=\"22\">\n            <\/circle>\n\n            <circle class=\"zone-hit\" cx=\"263\" cy=\"348\" r=\"22\">\n            <\/circle>\n\n          <\/g>\n\n\n          <!-- LEGS -->\n\n          <g class=\"zone-group\" data-zone=\"legs\" tabindex=\"0\" role=\"button\" aria-label=\"Legs and feet\">\n\n            <ellipse class=\"zone-hit\" cx=\"140\" cy=\"435\" rx=\"27\" ry=\"83\">\n            <\/ellipse>\n\n            <ellipse class=\"zone-hit\" cx=\"180\" cy=\"435\" rx=\"27\" ry=\"83\">\n            <\/ellipse>\n\n          <\/g>\n\n\n        <\/path><\/path><\/path><\/svg>\n\n\n        <div class=\"map-key\">\n\n          <span>G\u0142owa \/ twarz<\/span>\n          <span>Szyja<\/span>\n          <span>Ramiona<\/span>\n          <span>Klatka piersiowa<\/span>\n          <span>Brzuch<\/span>\n          <span>R\u0119ce<\/span>\n          <span>Nogi<\/span>\n\n        <\/div>\n\n      <\/div>\n\n\n\n      <!-- SIGNAL PANEL -->\n\n      <div class=\"signal-panel\">\n\n         <div class=\"signal-kicker\">\n         Wybrany obszar cia\u0142a\n       <\/div>\n\n        <div class=\"zone-title\" id=\"bsm-zone-title\">\n         Wybierz obszar\n       <\/div>\n\n        <p class=\"zone-help\" id=\"bsm-zone-help\">\n         W tym miejscu pojawi\u0105 si\u0119 opcje sygna\u0142\u00f3w fizycznych.\n       <\/p>\n\n\n        <div class=\"signal-chips\" id=\"bsm-signal-chips\">\n        <\/div> \n\n\n        <div class=\"custom-signal\">\n\n          <label class=\"field-label\" for=\"bsm-custom-signal\">\n             Jeszcze jeden sygna\u0142?\n          <\/label>\n\n          <input type=\"text\" id=\"bsm-custom-signal\" placeholder=\"Na przyk\u0142ad: mrowienie, uczucie ucisku, zimne d\u0142onie...\">\n\n        <\/div>\n\n\n        <div class=\"selected-preview\">\n\n           <div class=\"selected-preview-label\">\n           Dodaj\u0119 sygna\u0142\n         <\/div>\n\n          <div class=\"selected-preview-value\" id=\"bsm-preview\">\n           \u2014\n         <\/div> \n\n        <\/div>\n\n\n        <button type=\"button\" class=\"add-signal-btn\" id=\"bsm-add\" disabled>\n           Dodaj ten sygna\u0142 do mojej mapy\n        <\/button>\n\n      <\/div>\n\n\n    <\/div>\n\n  <\/section>\n\n\n\n  <!-- =====================================================\n       MY MAP\n  ====================================================== -->\n\n  <section class=\"step step-blue\">\n\n    <div class=\"step-label\">\n       Moja mapa\n    <\/div>\n\n    <h2>\n       Sygna\u0142y, kt\u00f3re zauwa\u017cam\n    <\/h2>\n\n    <p class=\"help\">\n       Poni\u017cej wy\u015bwietlaj\u0105 si\u0119 wybrane przez ciebie sygna\u0142y. Obszary cia\u0142a, kt\u00f3re zaznaczy\u0142e\u015b, pozostaj\u0105 r\u00f3wnie\u017c pod\u015bwietlone powy\u017cej.\n    <\/p>\n\n\n    <div class=\"map-list\" id=\"bsm-map-list\">\n\n      <div class=\"empty-map\">\n         Tutaj pojawi\u0105 si\u0119 sygna\u0142y z twojego cia\u0142a.\n      <\/div>\n\n    <\/div>\n\n  <\/section>\n\n\n\n  <!-- =====================================================\n       STEP 3 \u2013 TOP 3\n  ====================================================== -->\n\n  <section class=\"step step-peach\">\n\n     <div class=\"step-label\">\n     Krok 3\n   <\/div>\n\n    <h2>\n     Wybierz swoje 3 najwa\u017cniejsze sygna\u0142y cia\u0142a\n   <\/h2>\n\n    <p class=\"help\">\n     Kt\u00f3re z sygna\u0142\u00f3w na twojej mapie by\u0142yby dla ciebie najbardziej przydatne, gdyby\u015b potrafi\u0142 je rozpozna\u0107 wcze\u015bniej?\n     Wybierz maksymalnie trzy.\n   <\/p> \n\n\n    <div class=\"top3-list\" id=\"bsm-top3-list\">\n\n      <div class=\"empty-map\">\n         Najpierw dodaj troch\u0119 sygna\u0142\u00f3w cia\u0142a.\n      <\/div>\n\n    <\/div>\n\n\n    <div class=\"top-limit\" id=\"bsm-top-count\">\n       0 z 3 wybranych\n    <\/div>\n\n\n\n    <div class=\"alert-card\">\n\n       <div class=\"alert-kicker\">\n       M\u00f3j system wczesnych sygna\u0142\u00f3w\n     <\/div>\n\n      <div class=\"alert-title\">\n       Sygna\u0142 wysy\u0142any przez cia\u0142o mo\u017ce sta\u0107 si\u0119 przypomnieniem, \u017ceby si\u0119 zatrzyma\u0107\n     <\/div> \n\n\n      <div class=\"alert-flow\">\n\n        <div class=\"alert-step\">\n          <strong>1. Sygna\u0142<\/strong>\n          <span>Zauwa\u017cam co\u015b w moim ciele<\/span>\n        <\/div>\n\n        <div class=\"alert-step\">\n          <strong>2. Sprawd\u017a<\/strong>\n          <span>Co mog\u0119 czu\u0107?<\/span>\n        <\/div>\n\n        <div class=\"alert-step\">\n          <strong>3. Chwila<\/strong>\n          <span>Zanim zareaguj\u0119, daj\u0119 sobie chwil\u0119<\/span>\n        <\/div>\n\n      <\/div>\n\n    <\/div>\n\n  <\/section>\n\n\n\n  <!-- =====================================================\n       STEP 4 \u2013 REFLECTION\n  ====================================================== -->\n\n  <section class=\"step step-blue\">\n\n     <div class=\"step-label\">\n     Krok 4\n   <\/div>\n\n    <h2>\n     Powi\u0105\u017c sygna\u0142 z sytuacj\u0105\n   <\/h2>\n\n    <p class=\"help\">\n     Sygna\u0142y cia\u0142a staj\u0105 si\u0119 bardziej przydatne, gdy zauwa\u017cysz kontekst, w jakim zazwyczaj si\u0119 pojawiaj\u0105.\n   <\/p> \n\n\n    <div class=\"reflection-grid\">\n\n\n      <div class=\"reflection-card\">\n\n        <label class=\"field-label\" for=\"bsm-when\">\n           Kiedy zazwyczaj dostrzegam te sygna\u0142y?\n        <\/label>\n\n        <textarea id=\"bsm-when\" placeholder=\"Na przyk\u0142ad: przed prezentacjami, podczas dyskusji, kiedy czekam na wa\u017cn\u0105 odpowied\u017a...\"><\/textarea>\n\n      <\/div>\n\n\n      <div class=\"reflection-card\">\n\n        <label class=\"field-label\" for=\"bsm-pause\">\n           O czym ten sygna\u0142 m\u00f3g\u0142by mi przypomnie\u0107?\n        <\/label>\n\n        <textarea id=\"bsm-pause\" placeholder=\"Na przyk\u0142ad: zwolnij troch\u0119, we\u017a g\u0142\u0119boki oddech, poczekaj chwil\u0119, zanim odpowiesz, sprawd\u017a, co czuj\u0119...\"><\/textarea>\n\n      <\/div>\n\n\n    <\/div>\n\n  <\/section>\n\n\n\n  <!-- =====================================================\n       SUPPORT\n  ====================================================== -->\n\n  <div class=\"support\">\n\n     <div class=\"support-title\">\n     Pami\u0119taj:\n   <\/div>\n\n    <p>\n     Ten sam sygna\u0142 fizyczny mo\u017ce towarzyszy\u0107 r\u00f3\u017cnym emocjom.\n     Przyspieszone bicie serca mo\u017ce oznacza\u0107 zdenerwowanie, podekscytowanie, z\u0142o\u015b\u0107 albo po prostu aktywno\u015b\u0107 fizyczn\u0105.\n     Twoje cia\u0142o daje ci wskaz\u00f3wk\u0119 \u2013 sytuacja pomaga ci j\u0105 zrozumie\u0107.\n   <\/p> \n\n  <\/div>\n\n\n\n  <!-- =====================================================\n       SUMMARY\n  ====================================================== -->\n\n  <section class=\"summary\">\n\n     <div class=\"summary-kicker\">\n     Mapa sygna\u0142\u00f3w mojego cia\u0142a\n   <\/div>\n\n    <div class=\"summary-title\">\n     Moje pierwsze wskaz\u00f3wki\n   <\/div> \n\n\n    <div class=\"summary-grid\">\n\n\n      <div class=\"summary-item\">\n\n         <div class=\"summary-label\">\n         Emocje pod lup\u0105\n       <\/div>\n\n        <div class=\"summary-value\" id=\"bsm-summary-emotion\">\n         \u2014\n       <\/div> \n\n      <\/div>\n\n\n      <div class=\"summary-item\">\n\n         <div class=\"summary-label\">\n         Zmapowane obszary cia\u0142a\n       <\/div>\n\n        <div class=\"summary-value\" id=\"bsm-summary-zones\">\n         \u2014\n       <\/div> \n\n      <\/div>\n\n\n      <div class=\"summary-item summary-wide\">\n\n         <div class=\"summary-label\">\n         Moje 3 najwa\u017cniejsze sygna\u0142y cia\u0142a\n       <\/div>\n\n        <div class=\"summary-value\" id=\"bsm-summary-top\">\n         \u2014\n       <\/div> \n\n      <\/div>\n\n\n      <div class=\"summary-item\">\n\n         <div class=\"summary-label\">\n         Kiedy je zauwa\u017c\u0119\n       <\/div>\n\n        <div class=\"summary-value\" id=\"bsm-summary-when\">\n         \u2014\n       <\/div> \n\n      <\/div>\n\n\n      <div class=\"summary-item\">\n\n         <div class=\"summary-label\">\n         Moje przypomnienie o przerwie\n       <\/div>\n\n        <div class=\"summary-value\" id=\"bsm-summary-pause\">\n         \u2014\n       <\/div> \n\n      <\/div>\n\n\n    <\/div>\n\n\n    <div class=\"summary-message\">\n       Moje cia\u0142o nie daje mi pe\u0142nej odpowiedzi.\n     Mo\u017ce jednak da\u0107 mi wczesn\u0105 wskaz\u00f3wk\u0119, \u017cebym si\u0119 zatrzyma\u0142 i zwr\u00f3ci\u0142 uwag\u0119 na to, co si\u0119 dzieje.\n    <\/div>\n\n  <\/section>\n\n\n\n  <!-- =====================================================\n       ACTIONS \u2013 BOTTOM ONLY\n  ====================================================== -->\n\n  <div class=\"actions\">\n\n     <button type=\"button\" class=\"btn btn-primary\" id=\"bsm-print\">\n     Wydrukuj \/ Zapisz jako PDF\n   <\/button>\n\n\n    <button type=\"button\" class=\"btn btn-secondary\" id=\"bsm-clear\">\n     Wyczy\u015b\u0107 map\u0119 sygna\u0142\u00f3w mojego cia\u0142a\n   <\/button> \n\n  <\/div>\n\n\n  <div class=\"privacy\">\n     Twoje odpowiedzi pozostaj\u0105 na tej stronie, dop\u00f3ki z niej korzystasz.\n   Nie s\u0105 one przesy\u0142ane, oceniane ani udost\u0119pniane.\n  <\/div>\n\n\n\n  <!-- =====================================================\n       FOOTER\n  ====================================================== -->\n\n  <footer class=\"footer\">\n\n    <div class=\"footer-top\">\n\n      <img data-recalc-dims=\"1\" decoding=\"async\" class=\"dig-eu-logo\" src=\"https:\/\/i0.wp.com\/erasmuslife4you.com\/wp-content\/uploads\/2026\/05\/erasmus-logo.png?w=640&#038;ssl=1\" alt=\"Projekt wsp\u00f3\u0142finansowany przez Uni\u0119 Europejsk\u0105\">\n\n\n      <p class=\"disclaimer\">\n         Projekt sfinansowany przez Uni\u0119 Europejsk\u0105. Wyra\u017cone pogl\u0105dy i opinie s\u0105 jednak\n       wy\u0142\u0105cznie pogl\u0105dami i opiniami autora (autor\u00f3w) i niekoniecznie odzwierciedlaj\u0105 stanowisko\n       Unii Europejskiej ani Europejskiej Agencji Wykonawczej ds. Edukacji i Kultury\n       (EACEA). Ani Unia Europejska, ani EACEA nie ponosz\u0105\n       za nie odpowiedzialno\u015bci.\n      <\/p>\n\n    <\/div>\n\n\n    <div class=\"project-number\">\n       DIG \u2013 Od\u0142\u00f3\u017c natychmiastow\u0105 satysfakcj\u0119 na p\u00f3\u017aniej, by \u017cy\u0107 lepiej \u00b7\n     Erasmus+ KA220-YOU \u00b7\n     Nr projektu: 2024-1-PL01-KA220-YOU-000247051\n    <\/div>\n\n  <\/footer>\n\n\n<\/div>\n\n\n\n<script>\n\n(function(){\n\n  var root =\n    document.getElementById('dig-body-signals-map');\n\n  if(!root || root.dataset.ready === '1'){\n    return;\n  }\n\n  root.dataset.ready = '1';\n\n\n\n  \/* =====================================================\n     DATA\n  ====================================================== *\/\n\n  var zones = {\n\n    head:{\n      label:'Head \/ face',\n      help:'What do you notice around your head or face?',\n      signals:[\n        'Warm face',\n        'Pressure',\n        'Hard to focus',\n        'Tense forehead',\n        'Tears',\n        'Light-headed'\n      ]\n    },\n\n    neck:{\n      label:'Jaw \/ neck \/ throat',\n      help:'What changes do you notice around your jaw, neck or throat?',\n      signals:[\n        'Tight jaw',\n        'Stiff neck',\n        'Lump in throat',\n        'Clenched teeth',\n        'Dry mouth'\n      ]\n    },\n\n    shoulders:{\n      label:'Shoulders',\n      help:'What happens in your shoulders or upper back?',\n      signals:[\n        'Raised shoulders',\n        'Tension',\n        'Stiffness',\n        'Heaviness',\n        'Muscles tighten'\n      ]\n    },\n\n    chest:{\n      label:'Chest \/ breathing',\n      help:'What do you notice in your chest or breathing?',\n      signals:[\n        'Faster heartbeat',\n        'Tight chest',\n        'Shallow breathing',\n        'Heavy feeling',\n        'Breathing speeds up',\n        'Breathing slows'\n      ]\n    },\n\n    stomach:{\n      label:'Stomach',\n      help:'What do you notice in your stomach?',\n      signals:[\n        'Butterflies',\n        'Tight stomach',\n        'Heavy feeling',\n        'Nausea',\n        'Drop feeling',\n        'Hunger disappears'\n      ]\n    },\n\n    hands:{\n      label:'Hands',\n      help:'What happens in your hands or fingers?',\n      signals:[\n        'Shaky hands',\n        'Sweaty palms',\n        'Clenched fists',\n        'Fidgeting',\n        'Cold hands',\n        'Gripping tightly'\n      ]\n    },\n\n    legs:{\n      label:'Legs \/ feet',\n      help:'What changes do you notice in your legs or feet?',\n      signals:[\n        'Restless legs',\n        'Shaky legs',\n        'Heavy legs',\n        'Tapping feet',\n        'Urge to move',\n        'Want to leave'\n      ]\n    }\n\n  };\n\n\n  var selectedZone = '';\n  var selectedSignal = '';\n\n  var mapEntries = [];\n  var topSelections = [];\n\n\n\n  \/* =====================================================\n     ELEMENTS\n  ====================================================== *\/\n\n  var emotionInputs =\n    root.querySelectorAll(\n      'input[name=\"bsm-emotion\"]'\n    );\n\n  var zoneGroups =\n    root.querySelectorAll('.zone-group');\n\n  var zoneTitle =\n    root.querySelector('#bsm-zone-title');\n\n  var zoneHelp =\n    root.querySelector('#bsm-zone-help');\n\n  var chipsWrap =\n    root.querySelector('#bsm-signal-chips');\n\n  var customSignal =\n    root.querySelector('#bsm-custom-signal');\n\n  var preview =\n    root.querySelector('#bsm-preview');\n\n  var addButton =\n    root.querySelector('#bsm-add');\n\n  var mapList =\n    root.querySelector('#bsm-map-list');\n\n  var topList =\n    root.querySelector('#bsm-top3-list');\n\n  var topCount =\n    root.querySelector('#bsm-top-count');\n\n  var whenInput =\n    root.querySelector('#bsm-when');\n\n  var pauseInput =\n    root.querySelector('#bsm-pause');\n\n\n\n  \/* =====================================================\n     HELPERS\n  ====================================================== *\/\n\n  function getEmotion(){\n\n    var checked =\n      root.querySelector(\n        'input[name=\"bsm-emotion\"]:checked'\n      );\n\n    return checked\n      ? checked.value\n      : '';\n\n  }\n\n\n  function unique(values){\n\n    return values.filter(function(value,index,array){\n\n      return array.indexOf(value) === index;\n\n    });\n\n  }\n\n\n\n  \/* =====================================================\n     BODY ZONES\n  ====================================================== *\/\n\n  function selectZone(key){\n\n    if(!zones[key]){\n      return;\n    }\n\n\n    selectedZone = key;\n    selectedSignal = '';\n\n    customSignal.value = '';\n\n\n    zoneGroups.forEach(function(group){\n\n      group.classList.toggle(\n        'active',\n        group.getAttribute('data-zone') === key\n      );\n\n    });\n\n\n    renderSignals();\n\n    updatePreview();\n    updateAll();\n\n  }\n\n\n  zoneGroups.forEach(function(group){\n\n    group.addEventListener(\n      'click',\n      function(){\n\n        selectZone(\n          group.getAttribute('data-zone')\n        );\n\n      }\n    );\n\n\n    group.addEventListener(\n      'keydown',\n      function(event){\n\n        if(\n          event.key === 'Enter' ||\n          event.key === ' '\n        ){\n\n          event.preventDefault();\n\n          selectZone(\n            group.getAttribute('data-zone')\n          );\n\n        }\n\n      }\n    );\n\n  });\n\n\n\n  \/* =====================================================\n     SIGNAL OPTIONS\n  ====================================================== *\/\n\n  function renderSignals(){\n\n    chipsWrap.innerHTML = '';\n\n\n    if(!selectedZone){\n\n      zoneTitle.textContent =\n        'Choose an area';\n\n      zoneHelp.textContent =\n        'Physical signal options will appear here.';\n\n      return;\n\n    }\n\n\n    var data =\n      zones[selectedZone];\n\n\n    zoneTitle.textContent =\n      data.label;\n\n    zoneHelp.textContent =\n      data.help;\n\n\n    data.signals.forEach(function(signal){\n\n      var button =\n        document.createElement('button');\n\n      button.type = 'button';\n\n      button.className =\n        'signal-chip';\n\n      button.textContent =\n        signal;\n\n\n      button.addEventListener(\n        'click',\n        function(){\n\n          chipsWrap\n            .querySelectorAll('.signal-chip')\n            .forEach(function(other){\n\n              other.classList.remove('active');\n\n            });\n\n\n          button.classList.add('active');\n\n          selectedSignal =\n            signal;\n\n          customSignal.value = '';\n\n          updatePreview();\n\n        }\n      );\n\n\n      chipsWrap.appendChild(button);\n\n    });\n\n  }\n\n\n\n  \/* =====================================================\n     CUSTOM SIGNAL\n  ====================================================== *\/\n\n  customSignal.addEventListener(\n    'input',\n    function(){\n\n      if(customSignal.value.trim()){\n\n        selectedSignal =\n          customSignal.value.trim();\n\n\n        chipsWrap\n          .querySelectorAll('.signal-chip')\n          .forEach(function(chip){\n\n            chip.classList.remove('active');\n\n          });\n\n      }else{\n\n        selectedSignal = '';\n\n      }\n\n\n      updatePreview();\n\n    }\n  );\n\n\n\n  \/* =====================================================\n     PREVIEW\n  ====================================================== *\/\n\n  function updatePreview(){\n\n    if(\n      !selectedZone ||\n      !selectedSignal\n    ){\n\n      preview.textContent = '\u2014';\n      addButton.disabled = true;\n      return;\n\n    }\n\n\n    preview.textContent =\n      zones[selectedZone].label +\n      ' \u2192 ' +\n      selectedSignal;\n\n\n    addButton.disabled =\n      !getEmotion();\n\n  }\n\n\n\n  \/* =====================================================\n     EMOTION\n  ====================================================== *\/\n\n  emotionInputs.forEach(function(input){\n\n    input.addEventListener(\n      'change',\n      function(){\n\n        updatePreview();\n        updateAll();\n\n      }\n    );\n\n  });\n\n\n\n  \/* =====================================================\n     ADD SIGNAL\n  ====================================================== *\/\n\n  addButton.addEventListener(\n    'click',\n    function(){\n\n      var emotion =\n        getEmotion();\n\n\n      if(\n        !emotion ||\n        !selectedZone ||\n        !selectedSignal\n      ){\n        return;\n      }\n\n\n      mapEntries.push({\n\n        id:\n          Date.now() +\n          '-' +\n          Math.random().toString(16).slice(2),\n\n        emotion:emotion,\n\n        zone:selectedZone,\n\n        zoneLabel:\n          zones[selectedZone].label,\n\n        signal:selectedSignal\n\n      });\n\n\n      selectedSignal = '';\n      customSignal.value = '';\n\n\n      chipsWrap\n        .querySelectorAll('.signal-chip')\n        .forEach(function(chip){\n\n          chip.classList.remove('active');\n\n        });\n\n\n      updatePreview();\n\n      renderMap();\n      renderTop3();\n      updateAll();\n\n    }\n  );\n\n\n\n  \/* =====================================================\n     MAP LIST\n  ====================================================== *\/\n\n  function renderMap(){\n\n    mapList.innerHTML = '';\n\n\n    if(!mapEntries.length){\n\n      mapList.innerHTML =\n        '<div class=\"empty-map\">Your body signals will appear here.<\/div>';\n\n    }else{\n\n      mapEntries.forEach(function(entry,index){\n\n        var card =\n          document.createElement('div');\n\n        card.className =\n          'map-entry';\n\n\n        var emotion =\n          document.createElement('div');\n\n        emotion.className =\n          'entry-emotion';\n\n        emotion.textContent =\n          entry.emotion;\n\n\n        var main =\n          document.createElement('div');\n\n        main.className =\n          'entry-main';\n\n        main.textContent =\n          entry.signal;\n\n\n        var sub =\n          document.createElement('div');\n\n        sub.className =\n          'entry-sub';\n\n        sub.textContent =\n          entry.zoneLabel;\n\n\n        var remove =\n          document.createElement('button');\n\n        remove.type =\n          'button';\n\n        remove.className =\n          'remove-map';\n\n        remove.setAttribute(\n          'aria-label',\n          'Remove signal'\n        );\n\n        remove.textContent =\n          '\u00d7';\n\n\n        remove.addEventListener(\n          'click',\n          function(){\n\n            var removed =\n              mapEntries[index];\n\n            mapEntries.splice(index,1);\n\n\n            topSelections =\n              topSelections.filter(\n                function(id){\n\n                  return id !== removed.id;\n\n                }\n              );\n\n\n            renderMap();\n            renderTop3();\n            updateAll();\n\n          }\n        );\n\n\n        card.appendChild(emotion);\n        card.appendChild(main);\n        card.appendChild(sub);\n        card.appendChild(remove);\n\n        mapList.appendChild(card);\n\n      });\n\n    }\n\n\n    \/* Update highlighted mapped zones *\/\n\n    var mappedZones =\n      unique(\n        mapEntries.map(function(entry){\n          return entry.zone;\n        })\n      );\n\n\n    zoneGroups.forEach(function(group){\n\n      group.classList.toggle(\n        'mapped',\n        mappedZones.indexOf(\n          group.getAttribute('data-zone')\n        ) !== -1\n      );\n\n    });\n\n  }\n\n\n\n  \/* =====================================================\n     TOP 3\n  ====================================================== *\/\n\n  function renderTop3(){\n\n    topList.innerHTML = '';\n\n\n    if(!mapEntries.length){\n\n      topList.innerHTML =\n        '<div class=\"empty-map\">Add some body signals first.<\/div>';\n\n      topCount.textContent =\n        '0 of 3 selected';\n\n      return;\n\n    }\n\n\n    mapEntries.forEach(function(entry){\n\n      var label =\n        document.createElement('label');\n\n      label.className =\n        'top-option';\n\n\n      var input =\n        document.createElement('input');\n\n      input.type =\n        'checkbox';\n\n      input.value =\n        entry.id;\n\n      input.checked =\n        topSelections.indexOf(entry.id) !== -1;\n\n\n      input.addEventListener(\n        'change',\n        function(){\n\n          if(input.checked){\n\n            if(topSelections.length >= 3){\n\n              input.checked = false;\n\n              return;\n\n            }\n\n            topSelections.push(entry.id);\n\n          }else{\n\n            topSelections =\n              topSelections.filter(\n                function(id){\n\n                  return id !== entry.id;\n\n                }\n              );\n\n          }\n\n\n          renderTop3();\n          updateAll();\n\n        }\n      );\n\n\n      var box =\n        document.createElement('span');\n\n      box.className =\n        'top-box';\n\n\n      var zone =\n        document.createElement('span');\n\n      zone.className =\n        'top-zone';\n\n      zone.textContent =\n        entry.zoneLabel;\n\n\n      var signal =\n        document.createElement('span');\n\n      signal.className =\n        'top-signal';\n\n      signal.textContent =\n        entry.signal;\n\n\n      box.appendChild(zone);\n      box.appendChild(signal);\n\n      label.appendChild(input);\n      label.appendChild(box);\n\n      topList.appendChild(label);\n\n    });\n\n\n    topCount.textContent =\n      topSelections.length +\n      ' of 3 selected';\n\n  }\n\n\n\n  \/* =====================================================\n     SUMMARY\n  ====================================================== *\/\n\n  function updateSummary(){\n\n    var emotion =\n      getEmotion();\n\n\n    root.querySelector(\n      '#bsm-summary-emotion'\n    ).textContent =\n      emotion || '\u2014';\n\n\n\n    var zoneNames =\n      unique(\n        mapEntries.map(function(entry){\n\n          return entry.zoneLabel;\n\n        })\n      );\n\n\n    root.querySelector(\n      '#bsm-summary-zones'\n    ).textContent =\n      zoneNames.length\n        ? zoneNames.join(', ')\n        : '\u2014';\n\n\n\n    var topEntries =\n      mapEntries.filter(function(entry){\n\n        return topSelections.indexOf(entry.id) !== -1;\n\n      });\n\n\n    root.querySelector(\n      '#bsm-summary-top'\n    ).textContent =\n      topEntries.length\n        ? topEntries\n            .map(function(entry){\n\n              return (\n                entry.signal +\n                ' (' +\n                entry.zoneLabel +\n                ')'\n              );\n\n            })\n            .join('\\n')\n        : '\u2014';\n\n\n\n    root.querySelector(\n      '#bsm-summary-when'\n    ).textContent =\n      whenInput.value.trim() || '\u2014';\n\n\n    root.querySelector(\n      '#bsm-summary-pause'\n    ).textContent =\n      pauseInput.value.trim() || '\u2014';\n\n  }\n\n\n\n  \/* =====================================================\n     PROGRESS\n  ====================================================== *\/\n\n  function updateProgress(){\n\n    var completed = 0;\n\n\n    if(getEmotion()){\n      completed++;\n    }\n\n\n    if(mapEntries.length){\n      completed++;\n    }\n\n\n    if(topSelections.length){\n      completed++;\n    }\n\n\n    if(\n      whenInput.value.trim() ||\n      pauseInput.value.trim()\n    ){\n      completed++;\n    }\n\n\n    root.querySelector(\n      '#bsm-progress-number'\n    ).textContent =\n      completed;\n\n\n    root.querySelector(\n      '#bsm-progress-fill'\n    ).style.width =\n      ((completed \/ 4) * 100) + '%';\n\n  }\n\n\n\n  \/* =====================================================\n     UPDATE\n  ====================================================== *\/\n\n  function updateAll(){\n\n    updateSummary();\n    updateProgress();\n\n  }\n\n\n\n  whenInput.addEventListener(\n    'input',\n    updateAll\n  );\n\n\n  pauseInput.addEventListener(\n    'input',\n    updateAll\n  );\n\n\n\n  \/* =====================================================\n     PRINT\n  ====================================================== *\/\n\n  root\n    .querySelector('#bsm-print')\n    .addEventListener(\n      'click',\n      function(){\n\n        updateAll();\n        window.print();\n\n      }\n    );\n\n\n\n  \/* =====================================================\n     CLEAR\n  ====================================================== *\/\n\n  root\n    .querySelector('#bsm-clear')\n    .addEventListener(\n      'click',\n      function(){\n\n\n        emotionInputs.forEach(function(input){\n\n          input.checked = false;\n\n        });\n\n\n        selectedZone = '';\n        selectedSignal = '';\n\n        mapEntries = [];\n        topSelections = [];\n\n        customSignal.value = '';\n\n        whenInput.value = '';\n        pauseInput.value = '';\n\n\n        zoneGroups.forEach(function(group){\n\n          group.classList.remove(\n            'active',\n            'mapped'\n          );\n\n        });\n\n\n        chipsWrap.innerHTML = '';\n\n        zoneTitle.textContent =\n          'Choose an area';\n\n        zoneHelp.textContent =\n          'Physical signal options will appear here.';\n\n        preview.textContent = '\u2014';\n\n        addButton.disabled = true;\n\n\n        renderMap();\n        renderTop3();\n        updateAll();\n\n\n        root.scrollIntoView({\n          behavior:'smooth',\n          block:'start'\n        });\n\n      }\n    );\n\n\n\n  \/* =====================================================\n     INITIALISE\n  ====================================================== *\/\n\n  renderMap();\n  renderTop3();\n  updateAll();\n\n\n})();\n\n<\/script>\n\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Modu\u0142 4 \u2022 \u0106wiczenie 2 Mapa sygna\u0142\u00f3w mojego cia\u0142a Po\u0142\u0105cz emocje z sygna\u0142ami fizycznymi i odkryj, kt\u00f3re wskaz\u00f3wki p\u0142yn\u0105ce z cia\u0142a mog\u0105 pom\u00f3c ci szybciej zauwa\u017cy\u0107, co si\u0119 dzieje. Moja ocena kondycji 0\/4 krok\u00f3w Krok 1 Wybierz emocj\u0119, kt\u00f3r\u0105 chcesz zg\u0142\u0119bi\u0107 Pomy\u015bl o niedawnej sytuacji, kiedy wyra\u017anie pami\u0119tasz, \u017ce odczuwa\u0142e\u015b jedn\u0105 z tych emocji. Wybierz [&hellip;]<\/p>\n","protected":false},"author":176376442,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"elearning_container_layout":"tg-site-layout--default","elearning_sidebar_layout":"tg-site-layout--default","elearning_remove_content_margin":false,"elearning_sidebar":"default","elearning_transparent_header":"customizer","elearning_logo":0,"elearning_header_style":"default","elearning_menu_item_color":"","elearning_menu_item_hover_color":"","elearning_menu_item_active_color":"","elearning_menu_item_active_style":"","elearning_page_header":true,"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_seo_schema_type":"","_wpcom_ai_launchpad_about_page":false,"_wpcom_ai_launchpad_gallery_page":false,"_wpcom_ai_launchpad_contact_page":false,"_wpcom_ai_launchpad_events_page":false,"_wpcom_ai_launchpad_video_page":false,"_wpcom_ai_launchpad_portfolio_piece":false,"_jetpack_hide_featured_image":false,"_jetpack_featured_image_duplicate_dismissed":0,"footnotes":""},"class_list":["post-6753","page","type-page","status-publish","hentry"],"jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/PhfHCT-1KV","jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/erasmuslife4you.com\/pl\/wp-json\/wp\/v2\/pages\/6753","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/erasmuslife4you.com\/pl\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/erasmuslife4you.com\/pl\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/erasmuslife4you.com\/pl\/wp-json\/wp\/v2\/users\/176376442"}],"replies":[{"embeddable":true,"href":"https:\/\/erasmuslife4you.com\/pl\/wp-json\/wp\/v2\/comments?post=6753"}],"version-history":[{"count":1,"href":"https:\/\/erasmuslife4you.com\/pl\/wp-json\/wp\/v2\/pages\/6753\/revisions"}],"predecessor-version":[{"id":6754,"href":"https:\/\/erasmuslife4you.com\/pl\/wp-json\/wp\/v2\/pages\/6753\/revisions\/6754"}],"wp:attachment":[{"href":"https:\/\/erasmuslife4you.com\/pl\/wp-json\/wp\/v2\/media?parent=6753"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}