<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Archiwa Technika grzewcza - Projekt Ogrzewania</title>
	<atom:link href="https://projekt-ogrzewania.pl/category/technika-grzewcza/feed/" rel="self" type="application/rss+xml" />
	<link>https://projekt-ogrzewania.pl/category/technika-grzewcza/</link>
	<description>Ogrzewanie podłogowe i systemy HVAC oparte na obliczeniach.</description>
	<lastBuildDate>Thu, 17 Sep 2026 18:58:39 +0000</lastBuildDate>
	<language>pl-PL</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.4</generator>

<image>
	<url>https://projekt-ogrzewania.pl/wp-content/uploads/2026/10/Projekt-Ogrzewania-favicon-512-100x100.webp</url>
	<title>Archiwa Technika grzewcza - Projekt Ogrzewania</title>
	<link>https://projekt-ogrzewania.pl/category/technika-grzewcza/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Samodzielny montaż ogrzewania podłogowego – 5 błędów przed wylewką.</title>
		<link>https://projekt-ogrzewania.pl/samodzielny-montaz-ogrzewania-podlogowego-5-bledow-ktorych-nie-naprawisz-po-wylewce/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sun, 19 Apr 2026 19:27:33 +0000</pubDate>
				<category><![CDATA[Budowa domu]]></category>
		<category><![CDATA[Efektywne ogrzewanie]]></category>
		<category><![CDATA[Efektywność ogrzewania]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradnik budowlany]]></category>
		<category><![CDATA[Poradnik inwestora]]></category>
		<category><![CDATA[Poradniki dla inwestorów]]></category>
		<category><![CDATA[Poradniki inwestora]]></category>
		<category><![CDATA[Projektowanie ogrzewania]]></category>
		<category><![CDATA[Projektowanie systemów grzewczych]]></category>
		<category><![CDATA[Systemy ogrzewania]]></category>
		<category><![CDATA[Technika grzewcza]]></category>
		<category><![CDATA[Technika instalacyjna]]></category>
		<category><![CDATA[błędy wykonawcze]]></category>
		<category><![CDATA[budowa domu]]></category>
		<category><![CDATA[dylatacje]]></category>
		<category><![CDATA[hydraulika]]></category>
		<category><![CDATA[izolacja termiczna]]></category>
		<category><![CDATA[jastrych]]></category>
		<category><![CDATA[montaż samodzielny]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[oszczędność energii]]></category>
		<category><![CDATA[pętle grzewcze]]></category>
		<category><![CDATA[porady techniczne]]></category>
		<category><![CDATA[próba szczelności]]></category>
		<category><![CDATA[projekt instalacji]]></category>
		<category><![CDATA[rura pex]]></category>
		<category><![CDATA[zebra termiczna]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=4245</guid>

					<description><![CDATA[<p>Planujesz samodzielny montaż instalacji grzewczej, by zaoszczędzić na robociźnie? Wiele osób, wpisując w wyszukiwarkę frazę „jak samemu zrobić ogrzewanie podłogowe”, skupia się wyłącznie na prostocie rozkładania rur PEX, zapominając o bezlitosnych prawach fizyki budowli i mechaniki płynów. Ten techniczny przewodnik obala popularne mity i analizuje pięć najpoważniejszych „grzechów głównych” popełnianych przez inwestorów. Dowiesz się z niego, dlaczego brak profesjonalnego projektu, zignorowanie dylatacji czy zbyt długie pętle grzewcze mogą doprowadzić do nieodwracalnych uszkodzeń wylewki i kosztownego remontu. Zamiast uczyć się na własnych błędach pod warstwą betonu, poznaj inżynierskie standardy, które zagwarantują Ci komfort cieplny i niskie rachunki przez kolejne trzydzieści lat.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/samodzielny-montaz-ogrzewania-podlogowego-5-bledow-ktorych-nie-naprawisz-po-wylewce/">Samodzielny montaż ogrzewania podłogowego – 5 błędów przed wylewką.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
  #rk-diy-guide {
    --rk-navy: #0b2536;
    --rk-navy-2: #12394d;
    --rk-navy-3: #1b465b;
    --rk-cyan: #29c4d7;
    --rk-cyan-dark: #0786a6;
    --rk-cyan-soft: #def7fa;
    --rk-orange: #ff6846;
    --rk-orange-dark: #df4e30;
    --rk-yellow: #f2b526;
    --rk-green: #2fcda1;
    --rk-green-dark: #14775f;
    --rk-red: #d7504a;
    --rk-red-dark: #9f332e;
    --rk-ink: #10283a;
    --rk-copy: #3c5668;
    --rk-muted: #688091;
    --rk-line: #d3e2e8;
    --rk-bg: #f3f8fa;
    --rk-white: #ffffff;
    color: var(--rk-ink);
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.62;
    margin: 0 auto;
    max-width: 1360px;
    overflow-wrap: anywhere;
    width: 100%;
  }

  #rk-diy-guide,
  #rk-diy-guide * {
    box-sizing: border-box;
    min-width: 0;
  }

  #rk-diy-guide a {
    color: var(--rk-cyan-dark);
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
  }

  #rk-diy-guide a:hover,
  #rk-diy-guide a:focus-visible {
    color: var(--rk-orange-dark);
  }

  #rk-diy-guide button,
  #rk-diy-guide input,
  #rk-diy-guide select {
    font: inherit;
  }

  #rk-diy-guide button:focus-visible,
  #rk-diy-guide a:focus-visible,
  #rk-diy-guide summary:focus-visible,
  #rk-diy-guide select:focus-visible {
    outline: 3px solid rgba(41, 196, 215, 0.48);
    outline-offset: 3px;
  }

  #rk-diy-guide img {
    display: block;
    height: auto;
    max-width: 100%;
  }

  #rk-diy-guide .rk-diy-shell {
    background: var(--rk-white);
    border: 1px solid var(--rk-line);
    box-shadow: 0 22px 65px rgba(13, 41, 57, 0.12);
    overflow: hidden;
  }

  #rk-diy-guide .rk-diy-hero {
    background:
      radial-gradient(circle at 89% 111%, rgba(41, 196, 215, 0.24) 0, rgba(41, 196, 215, 0.24) 17%, transparent 17.2%),
      linear-gradient(120deg, #0b2536 0%, #143e52 61%, #0d6576 100%);
    color: #ffffff;
    overflow: hidden;
    padding: 62px 58px 56px;
    position: relative;
  }

  #rk-diy-guide .rk-diy-hero::before {
    background: var(--rk-orange);
    border-radius: 50%;
    box-shadow: 0 0 0 9px rgba(255, 104, 70, 0.14);
    content: "";
    height: 12px;
    left: 58px;
    position: absolute;
    top: 43px;
    width: 12px;
  }

  #rk-diy-guide .rk-diy-kicker {
    color: #6ce5ef;
    display: block;
    font-size: 0.77rem;
    font-weight: 900;
    letter-spacing: 0.13em;
    margin: 0 0 19px 28px;
    text-transform: uppercase;
  }

  #rk-diy-guide .rk-diy-hero-title,
  #rk-diy-guide .rk-diy-section-title,
  #rk-diy-guide .rk-diy-cta-title,
  #rk-diy-guide .rk-diy-author-title {
    font-family: Arial, Helvetica, sans-serif;
    font-weight: 900;
    letter-spacing: -0.035em;
    line-height: 1.06;
  }

  #rk-diy-guide .rk-diy-hero-title {
    font-size: clamp(2.35rem, 5.8vw, 5.15rem);
    margin: 0;
    max-width: 1190px;
  }

  #rk-diy-guide .rk-diy-hero-title span {
    color: #69e7f2;
  }

  #rk-diy-guide .rk-diy-hero-lead {
    color: #e3f0f4;
    font-size: clamp(1.08rem, 2vw, 1.42rem);
    line-height: 1.55;
    margin: 27px 0 0;
    max-width: 1110px;
  }

  #rk-diy-guide .rk-diy-hero-tags,
  #rk-diy-guide .rk-diy-meta,
  #rk-diy-guide .rk-diy-shortcuts {
    display: flex;
    flex-wrap: wrap;
  }

  #rk-diy-guide .rk-diy-hero-tags {
    gap: 10px;
    margin-top: 30px;
  }

  #rk-diy-guide .rk-diy-hero-tags span {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 999px;
    color: #ffffff;
    font-size: 0.82rem;
    font-weight: 800;
    padding: 8px 14px;
  }

  #rk-diy-guide .rk-diy-meta {
    color: #c5d9df;
    font-size: 0.83rem;
    font-weight: 700;
    gap: 12px 24px;
    margin-top: 34px;
  }

  #rk-diy-guide .rk-diy-meta strong {
    color: #ffffff;
  }

  #rk-diy-guide .rk-diy-shortcuts {
    align-items: center;
    background: #ffffff;
    border-bottom: 1px solid var(--rk-line);
    gap: 9px;
    padding: 22px 34px;
    position: static;
  }

  #rk-diy-guide .rk-diy-shortcuts-label {
    color: var(--rk-ink);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    margin-right: 4px;
    text-transform: uppercase;
  }

  #rk-diy-guide .rk-diy-shortcuts a {
    background: #f1f6f8;
    border: 1px solid transparent;
    border-radius: 999px;
    color: var(--rk-ink);
    font-size: 0.76rem;
    font-weight: 800;
    line-height: 1.25;
    padding: 8px 12px;
    text-decoration: none;
  }

  #rk-diy-guide .rk-diy-shortcuts a:hover,
  #rk-diy-guide .rk-diy-shortcuts a:focus-visible {
    background: var(--rk-cyan-soft);
    border-color: #91dce5;
    color: #075f78;
  }

  #rk-diy-guide .rk-diy-section {
    padding: 64px 58px;
  }

  #rk-diy-guide .rk-diy-section + .rk-diy-section {
    border-top: 1px solid var(--rk-line);
  }

  #rk-diy-guide .rk-diy-section-soft {
    background: var(--rk-bg);
  }

  #rk-diy-guide .rk-diy-section-dark {
    background: var(--rk-navy);
    color: #ffffff;
  }

  #rk-diy-guide .rk-diy-eyebrow {
    color: var(--rk-cyan-dark);
    display: block;
    font-size: 0.75rem;
    font-weight: 900;
    letter-spacing: 0.12em;
    margin-bottom: 12px;
    text-transform: uppercase;
  }

  #rk-diy-guide .rk-diy-section-dark .rk-diy-eyebrow {
    color: #68e6ef;
  }

  #rk-diy-guide .rk-diy-section-title,
  #rk-diy-guide .rk-diy-author-title {
    color: var(--rk-ink);
    font-size: clamp(2rem, 4vw, 3.55rem);
    margin: 0;
    max-width: 1090px;
  }

  #rk-diy-guide .rk-diy-section-dark .rk-diy-section-title {
    color: #ffffff;
  }

  #rk-diy-guide .rk-diy-lead {
    color: var(--rk-copy);
    font-size: clamp(1.03rem, 1.7vw, 1.25rem);
    line-height: 1.7;
    margin: 22px 0 0;
    max-width: 1130px;
  }

  #rk-diy-guide .rk-diy-copy {
    color: var(--rk-copy);
    margin: 22px 0 0;
  }

  #rk-diy-guide .rk-diy-section-dark .rk-diy-lead,
  #rk-diy-guide .rk-diy-section-dark .rk-diy-copy {
    color: #c8dbe2;
  }

  #rk-diy-guide .rk-diy-copy strong,
  #rk-diy-guide .rk-diy-lead strong {
    color: var(--rk-ink);
  }

  #rk-diy-guide .rk-diy-section-dark .rk-diy-copy strong,
  #rk-diy-guide .rk-diy-section-dark .rk-diy-lead strong {
    color: #ffffff;
  }

  #rk-diy-guide .rk-diy-answer {
    background: linear-gradient(135deg, #e6fafd 0%, #f8fcfd 100%);
    border: 1px solid #9cdfe8;
    border-left: 7px solid var(--rk-cyan);
    border-radius: 18px;
    margin-top: 28px;
    padding: 27px 29px;
  }

  #rk-diy-guide .rk-diy-answer strong {
    color: var(--rk-ink);
    display: block;
    font-size: 1.22rem;
    line-height: 1.4;
  }

  #rk-diy-guide .rk-diy-answer p {
    color: var(--rk-copy);
    margin: 10px 0 0;
  }

  #rk-diy-guide .rk-diy-grid-2,
  #rk-diy-guide .rk-diy-grid-3,
  #rk-diy-guide .rk-diy-grid-4,
  #rk-diy-guide .rk-diy-source-grid,
  #rk-diy-guide .rk-diy-author-facts {
    display: grid;
    gap: 18px;
    margin-top: 30px;
  }

  #rk-diy-guide .rk-diy-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #rk-diy-guide .rk-diy-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  #rk-diy-guide .rk-diy-grid-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  #rk-diy-guide .rk-diy-card {
    background: #ffffff;
    border: 1px solid var(--rk-line);
    border-radius: 17px;
    padding: 24px;
  }

  #rk-diy-guide .rk-diy-section-soft .rk-diy-card {
    background: rgba(255, 255, 255, 0.88);
  }

  #rk-diy-guide .rk-diy-card-number,
  #rk-diy-guide .rk-diy-icon {
    align-items: center;
    background: var(--rk-cyan-soft);
    border-radius: 10px;
    color: #076c85;
    display: inline-flex;
    font-size: 0.8rem;
    font-weight: 900;
    height: 36px;
    justify-content: center;
    margin-bottom: 14px;
    min-width: 36px;
    padding: 0 10px;
  }

  #rk-diy-guide .rk-diy-icon.is-stop {
    background: #ffe8e2;
    color: var(--rk-red-dark);
  }

  #rk-diy-guide .rk-diy-icon.is-check {
    background: #fff3d4;
    color: #79580d;
  }

  #rk-diy-guide .rk-diy-icon.is-ok {
    background: #e5f9f2;
    color: var(--rk-green-dark);
  }

  #rk-diy-guide .rk-diy-card h3,
  #rk-diy-guide .rk-diy-card h4 {
    color: var(--rk-ink);
    line-height: 1.3;
    margin: 0 0 9px;
  }

  #rk-diy-guide .rk-diy-card h3 {
    font-size: 1.12rem;
  }

  #rk-diy-guide .rk-diy-card h4 {
    font-size: 1rem;
  }

  #rk-diy-guide .rk-diy-card p {
    color: var(--rk-copy);
    margin: 0;
  }

  #rk-diy-guide .rk-diy-card p + p {
    margin-top: 10px;
  }

  #rk-diy-guide .rk-diy-note {
    background: #fff6e2;
    border-left: 6px solid var(--rk-yellow);
    border-radius: 14px;
    color: #5b4a1d;
    margin-top: 26px;
    padding: 18px 21px;
  }

  #rk-diy-guide .rk-diy-note p {
    margin: 0;
  }

  #rk-diy-guide .rk-diy-note-good {
    background: #e9faf5;
    border-left-color: var(--rk-green);
    color: #145e4d;
  }

  #rk-diy-guide .rk-diy-note-bad {
    background: #fff0ec;
    border-left-color: var(--rk-orange);
    color: #743425;
  }

  #rk-diy-guide .rk-diy-bullets {
    color: var(--rk-copy);
    margin: 20px 0 0;
    padding-left: 22px;
  }

  #rk-diy-guide .rk-diy-bullets li + li {
    margin-top: 9px;
  }

  #rk-diy-guide .rk-diy-table-wrap {
    margin-top: 30px;
    overflow-x: auto;
  }

  #rk-diy-guide table {
    border-collapse: separate;
    border-spacing: 0;
    min-width: 780px;
    width: 100%;
  }

  #rk-diy-guide th {
    background: var(--rk-navy);
    border-bottom: 1px solid #31576a;
    color: #ffffff;
    font-size: 0.77rem;
    letter-spacing: 0.04em;
    padding: 15px 16px;
    text-align: left;
    text-transform: uppercase;
  }

  #rk-diy-guide th:first-child {
    border-radius: 14px 0 0;
  }

  #rk-diy-guide th:last-child {
    border-radius: 0 14px 0 0;
  }

  #rk-diy-guide td {
    background: #ffffff;
    border-bottom: 1px solid var(--rk-line);
    color: var(--rk-copy);
    padding: 16px;
    vertical-align: top;
  }

  #rk-diy-guide tbody tr td:first-child {
    border-left: 1px solid var(--rk-line);
  }

  #rk-diy-guide tbody tr td:last-child {
    border-right: 1px solid var(--rk-line);
  }

  #rk-diy-guide tbody tr:last-child td:first-child {
    border-radius: 0 0 0 14px;
  }

  #rk-diy-guide tbody tr:last-child td:last-child {
    border-radius: 0 0 14px;
  }

  #rk-diy-guide td strong {
    color: var(--rk-ink);
  }

  #rk-diy-guide .rk-diy-stage-graphic {
    background: var(--rk-navy);
    border-radius: 22px;
    color: #ffffff;
    margin-top: 32px;
    padding: 28px;
  }

  #rk-diy-guide .rk-diy-stage-intro {
    color: #bdd5de;
    margin: 0 0 20px;
  }

  #rk-diy-guide .rk-diy-stage-tabs {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  #rk-diy-guide .rk-diy-stage-tab {
    background: #173e51;
    border: 1px solid #356178;
    border-radius: 13px;
    color: #ffffff;
    cursor: pointer;
    font-weight: 900;
    line-height: 1.25;
    min-height: 64px;
    padding: 11px 12px;
  }

  #rk-diy-guide .rk-diy-stage-tab[aria-selected="true"] {
    background: var(--rk-cyan);
    border-color: var(--rk-cyan);
    color: #072838;
  }

  #rk-diy-guide .rk-diy-stage-panel {
    background: #17394b;
    border: 1px solid #356178;
    border-radius: 18px;
    margin-top: 18px;
    padding: 25px;
  }

  #rk-diy-guide .rk-diy-stage-label {
    color: #71e6ef;
    display: block;
    font-size: 0.73rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    text-transform: uppercase;
  }

  #rk-diy-guide .rk-diy-stage-panel h3 {
    color: #ffffff;
    font-size: 1.55rem;
    line-height: 1.25;
    margin: 7px 0 8px;
  }

  #rk-diy-guide .rk-diy-stage-panel > p {
    color: #c8dce3;
    margin: 0;
  }

  #rk-diy-guide .rk-diy-stage-facts {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 20px;
  }

  #rk-diy-guide .rk-diy-stage-fact {
    background: rgba(255, 255, 255, 0.055);
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 13px;
    padding: 16px;
  }

  #rk-diy-guide .rk-diy-stage-fact strong {
    color: #71e6ef;
    display: block;
    font-size: 0.72rem;
    letter-spacing: 0.07em;
    margin-bottom: 6px;
    text-transform: uppercase;
  }

  #rk-diy-guide .rk-diy-stage-fact span {
    color: #ffffff;
  }

  #rk-diy-guide .rk-diy-analyzer {
    background: #102f42;
    border: 1px solid #315a70;
    border-radius: 22px;
    margin-top: 32px;
    padding: 28px;
  }

  #rk-diy-guide .rk-diy-analyzer-head {
    border-bottom: 1px solid #315a70;
    margin-bottom: 25px;
    padding-bottom: 20px;
  }

  #rk-diy-guide .rk-diy-analyzer-head h3 {
    color: #ffffff;
    font-size: clamp(1.55rem, 3vw, 2.3rem);
    line-height: 1.2;
    margin: 0;
  }

  #rk-diy-guide .rk-diy-analyzer-head p {
    color: #bad3dc;
    margin: 9px 0 0;
  }

  #rk-diy-guide .rk-diy-analyzer-stage {
    background: #17394b;
    border: 1px solid #376177;
    border-radius: 17px;
    margin-top: 18px;
    padding: 22px;
  }

  #rk-diy-guide .rk-diy-analyzer-stage.is-optional {
    background: #153647;
  }

  #rk-diy-guide .rk-diy-stage-head {
    align-items: flex-start;
    display: flex;
    gap: 13px;
    margin-bottom: 18px;
  }

  #rk-diy-guide .rk-diy-stage-number {
    align-items: center;
    background: var(--rk-cyan);
    border-radius: 10px;
    color: #082c3c;
    display: inline-flex;
    flex: 0 0 38px;
    font-weight: 900;
    height: 38px;
    justify-content: center;
  }

  #rk-diy-guide .rk-diy-stage-head h4 {
    color: #ffffff;
    font-size: 1.15rem;
    line-height: 1.3;
    margin: 0;
  }

  #rk-diy-guide .rk-diy-stage-head p {
    color: #aecad5;
    font-size: 0.88rem;
    margin: 4px 0 0;
  }

  #rk-diy-guide .rk-diy-fields {
    display: grid;
    gap: 15px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #rk-diy-guide .rk-diy-field {
    display: block;
  }

  #rk-diy-guide .rk-diy-field > span {
    color: #eaf6f8;
    display: block;
    font-size: 0.79rem;
    font-weight: 800;
    line-height: 1.35;
    margin-bottom: 7px;
  }

  #rk-diy-guide .rk-diy-field small {
    color: #9bbbc7;
    display: block;
    font-size: 0.72rem;
    line-height: 1.4;
    margin-top: 6px;
  }

  #rk-diy-guide .rk-diy-field select {
    appearance: auto;
    background: #ffffff;
    border: 1px solid #b8ccd5;
    border-radius: 10px;
    color: var(--rk-ink);
    min-height: 48px;
    padding: 10px 12px;
    width: 100%;
  }

  #rk-diy-guide .rk-diy-analyzer-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 11px;
    margin-top: 20px;
  }

  #rk-diy-guide .rk-diy-analyze-button,
  #rk-diy-guide .rk-diy-reset-button {
    border-radius: 11px;
    cursor: pointer;
    font-weight: 900;
    min-height: 48px;
    padding: 11px 18px;
  }

  #rk-diy-guide .rk-diy-analyze-button {
    background: var(--rk-orange);
    border: 1px solid var(--rk-orange);
    color: #ffffff;
  }

  #rk-diy-guide .rk-diy-analyze-button:hover {
    background: var(--rk-orange-dark);
  }

  #rk-diy-guide .rk-diy-reset-button {
    background: transparent;
    border: 1px solid #5d7c8d;
    color: #ffffff;
  }

  #rk-diy-guide .rk-diy-result {
    background: #ffffff;
    border-left: 7px solid var(--rk-yellow);
    border-radius: 17px;
    margin-top: 22px;
    padding: 24px;
  }

  #rk-diy-guide .rk-diy-result.is-good {
    border-left-color: var(--rk-green);
  }

  #rk-diy-guide .rk-diy-result.is-stop {
    border-left-color: var(--rk-orange);
  }

  #rk-diy-guide .rk-diy-result-status {
    color: var(--rk-ink) !important;
    font-size: clamp(1.35rem, 2.6vw, 2rem);
    font-weight: 900;
    line-height: 1.25;
    margin: 0;
  }

  #rk-diy-guide .rk-diy-result-intro {
    color: var(--rk-copy) !important;
    margin: 8px 0 0;
  }

  #rk-diy-guide .rk-diy-result-counts {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 19px;
  }

  #rk-diy-guide .rk-diy-result-count {
    background: #f1f7f9;
    border: 1px solid var(--rk-line);
    border-radius: 12px;
    padding: 14px;
  }

  #rk-diy-guide .rk-diy-result-count span {
    color: var(--rk-muted) !important;
    display: block;
    font-size: 0.71rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }

  #rk-diy-guide .rk-diy-result-count strong {
    color: var(--rk-ink) !important;
    display: block;
    font-size: 1.45rem;
    margin-top: 3px;
  }

  #rk-diy-guide .rk-diy-result-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 14px;
  }

  #rk-diy-guide .rk-diy-result-column {
    background: #f5f9fa;
    border: 1px solid var(--rk-line);
    border-radius: 13px;
    padding: 16px;
  }

  #rk-diy-guide .rk-diy-result-column h4 {
    color: var(--rk-ink) !important;
    font-size: 0.88rem;
    letter-spacing: 0.05em;
    margin: 0 0 10px;
    text-transform: uppercase;
  }

  #rk-diy-guide .rk-diy-result-column.is-ok h4 {
    color: var(--rk-green-dark) !important;
  }

  #rk-diy-guide .rk-diy-result-column.is-check h4 {
    color: #88600e !important;
  }

  #rk-diy-guide .rk-diy-result-column.is-stop h4 {
    color: #a83d2d !important;
  }

  #rk-diy-guide .rk-diy-result-column ul {
    color: var(--rk-copy) !important;
    font-size: 0.87rem;
    margin: 0;
    padding-left: 18px;
  }

  #rk-diy-guide .rk-diy-result-column li + li {
    margin-top: 7px;
  }

  #rk-diy-guide .rk-diy-disclaimer {
    color: #667d8c !important;
    font-size: 0.78rem;
    margin: 15px 0 0;
  }

  #rk-diy-guide .rk-diy-cta {
    background:
      radial-gradient(circle at 93% 120%, rgba(41, 196, 215, 0.22) 0, rgba(41, 196, 215, 0.22) 19%, transparent 19.2%),
      linear-gradient(125deg, #0b2536 0%, #153e51 62%, #0d6272 100%);
    border-radius: 21px;
    color: #ffffff;
    margin-top: 34px;
    overflow: hidden;
    padding: 36px;
  }

  #rk-diy-guide .rk-diy-cta-title {
    color: #ffffff;
    font-size: clamp(1.7rem, 3.3vw, 2.8rem);
    margin: 0;
    max-width: 990px;
  }

  #rk-diy-guide .rk-diy-cta p {
    color: #cee0e6;
    margin: 14px 0 0;
    max-width: 990px;
  }

  #rk-diy-guide .rk-diy-cta-button {
    background: var(--rk-orange);
    border-radius: 12px;
    box-shadow: 0 12px 25px rgba(255, 104, 70, 0.24);
    color: #ffffff;
    display: inline-block;
    font-weight: 900;
    margin-top: 22px;
    padding: 14px 20px;
    text-decoration: none;
  }

  #rk-diy-guide .rk-diy-cta-button:hover,
  #rk-diy-guide .rk-diy-cta-button:focus-visible {
    background: #ffffff;
    color: var(--rk-orange-dark);
  }

  #rk-diy-guide .rk-diy-link-disclosure {
    color: #a9c4ce;
    display: block;
    font-size: 0.75rem;
    margin-top: 12px;
  }

  #rk-diy-guide .rk-diy-final {
    background: linear-gradient(180deg, #f4fafb 0%, #ffffff 100%);
  }

  #rk-diy-guide .rk-diy-source-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #rk-diy-guide .rk-diy-source-card {
    background: #f2f7f9;
    border: 1px solid #cfe0e7;
    border-radius: 15px;
    padding: 20px;
  }

  #rk-diy-guide .rk-diy-source-card a {
    color: var(--rk-cyan-dark);
    font-size: 1rem;
    font-weight: 900;
  }

  #rk-diy-guide .rk-diy-source-card p {
    color: var(--rk-copy);
    margin: 8px 0 0;
  }

  #rk-diy-guide .rk-diy-responsibility {
    background: #fff0eb;
    border-left: 6px solid var(--rk-orange);
    border-radius: 14px;
    color: #613427;
    margin-top: 26px;
    padding: 19px 22px;
  }

  #rk-diy-guide .rk-diy-responsibility p {
    margin: 0;
  }

  #rk-diy-guide .rk-diy-faq {
    display: grid;
    gap: 12px;
    margin-top: 30px;
  }

  #rk-diy-guide .rk-diy-faq details {
    background: #ffffff;
    border: 1px solid var(--rk-line);
    border-radius: 14px;
    overflow: hidden;
  }

  #rk-diy-guide .rk-diy-faq summary {
    color: var(--rk-ink);
    cursor: pointer;
    font-weight: 900;
    list-style: none;
    padding: 19px 52px 19px 20px;
    position: relative;
  }

  #rk-diy-guide .rk-diy-faq summary::-webkit-details-marker {
    display: none;
  }

  #rk-diy-guide .rk-diy-faq summary::after {
    color: var(--rk-cyan-dark);
    content: "+";
    font-size: 1.55rem;
    font-weight: 700;
    position: absolute;
    right: 20px;
    top: 12px;
  }

  #rk-diy-guide .rk-diy-faq details[open] summary::after {
    content: "−";
  }

  #rk-diy-guide .rk-diy-faq-answer {
    border-top: 1px solid var(--rk-line);
    color: var(--rk-copy);
    padding: 18px 20px;
  }

  #rk-diy-guide .rk-diy-faq-answer p {
    margin: 0;
  }

  #rk-diy-guide .rk-diy-author {
    background: #eef6f8;
    border-top: 1px solid var(--rk-line);
    padding: 64px 58px;
  }

  #rk-diy-guide .rk-diy-author-layout {
    background: #ffffff;
    border: 1px solid #cbdde5;
    border-radius: 21px;
    display: grid;
    grid-template-columns: 290px minmax(0, 1fr);
    overflow: hidden;
  }

  #rk-diy-guide .rk-diy-author-side {
    align-items: center;
    background: var(--rk-navy);
    color: #ffffff;
    display: flex;
    flex-direction: column;
    padding: 35px 25px;
    text-align: center;
  }

  #rk-diy-guide .rk-diy-author-photo {
    background: #ffffff;
    border: 6px solid rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    overflow: hidden;
    width: 158px;
  }

  #rk-diy-guide .rk-diy-author-name {
    font-size: 1.25rem;
    font-weight: 900;
    margin-top: 20px;
  }

  #rk-diy-guide .rk-diy-author-name a {
    color: #ffffff;
    text-decoration: none;
  }

  #rk-diy-guide .rk-diy-author-role {
    color: #bcd2db;
    font-size: 0.82rem;
    margin: 8px 0 0;
  }

  #rk-diy-guide .rk-diy-author-social {
    display: flex;
    gap: 10px;
    margin-top: 21px;
  }

  #rk-diy-guide .rk-diy-author-social a {
    align-items: center;
    border: 1px solid #497185;
    border-radius: 50%;
    color: #d8e9ee;
    display: inline-flex;
    height: 42px;
    justify-content: center;
    text-decoration: none;
    width: 42px;
  }

  #rk-diy-guide .rk-diy-author-social a:hover {
    background: var(--rk-cyan);
    color: var(--rk-navy);
  }

  #rk-diy-guide .rk-diy-author-main {
    padding: 37px;
  }

  #rk-diy-guide .rk-diy-author-title {
    font-size: clamp(1.85rem, 3.5vw, 3rem);
  }

  #rk-diy-guide .rk-diy-author-quote {
    background: #f7fbfc;
    border: 1px solid #cfe0e7;
    border-left: 6px solid var(--rk-cyan);
    border-radius: 14px;
    color: var(--rk-ink);
    font-size: 1.04rem;
    font-style: italic;
    font-weight: 700;
    line-height: 1.7;
    margin-top: 24px;
    padding: 20px 22px;
  }

  #rk-diy-guide .rk-diy-author-main > p {
    color: var(--rk-copy);
    margin: 18px 0 0;
  }

  #rk-diy-guide .rk-diy-author-facts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  #rk-diy-guide .rk-diy-author-fact {
    background: #eef7f9;
    border: 1px solid #d2e4e9;
    border-radius: 13px;
    color: var(--rk-copy);
    font-size: 0.84rem;
    padding: 15px;
  }

  #rk-diy-guide .rk-diy-author-fact strong {
    color: var(--rk-cyan-dark);
    display: block;
    font-size: 0.73rem;
    letter-spacing: 0.06em;
    margin-bottom: 5px;
    text-transform: uppercase;
  }

  #rk-diy-guide .rk-diy-visually-hidden {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
  }

  @media (max-width: 1050px) {
    #rk-diy-guide .rk-diy-grid-4 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #rk-diy-guide .rk-diy-stage-tabs {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    #rk-diy-guide .rk-diy-result-grid,
    #rk-diy-guide .rk-diy-result-counts {
      grid-template-columns: minmax(0, 1fr);
    }
  }

  @media (max-width: 820px) {
    #rk-diy-guide .rk-diy-hero,
    #rk-diy-guide .rk-diy-section,
    #rk-diy-guide .rk-diy-author {
      padding-left: 28px;
      padding-right: 28px;
    }

    #rk-diy-guide .rk-diy-hero::before {
      left: 28px;
    }

    #rk-diy-guide .rk-diy-shortcuts {
      padding-left: 22px;
      padding-right: 22px;
    }

    #rk-diy-guide .rk-diy-grid-3 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #rk-diy-guide .rk-diy-stage-facts {
      grid-template-columns: minmax(0, 1fr);
    }

    #rk-diy-guide .rk-diy-author-layout {
      grid-template-columns: minmax(0, 1fr);
    }
  }

  @media (max-width: 660px) {
    #rk-diy-guide .rk-diy-hero {
      padding-bottom: 42px;
      padding-top: 52px;
    }

    #rk-diy-guide .rk-diy-section,
    #rk-diy-guide .rk-diy-author {
      padding-bottom: 46px;
      padding-top: 46px;
    }

    #rk-diy-guide .rk-diy-grid-2,
    #rk-diy-guide .rk-diy-grid-3,
    #rk-diy-guide .rk-diy-grid-4,
    #rk-diy-guide .rk-diy-fields,
    #rk-diy-guide .rk-diy-source-grid,
    #rk-diy-guide .rk-diy-author-facts,
    #rk-diy-guide .rk-diy-stage-tabs {
      grid-template-columns: minmax(0, 1fr);
    }

    #rk-diy-guide .rk-diy-stage-graphic,
    #rk-diy-guide .rk-diy-analyzer,
    #rk-diy-guide .rk-diy-cta {
      border-radius: 17px;
      padding: 20px;
    }

    #rk-diy-guide .rk-diy-stage-panel,
    #rk-diy-guide .rk-diy-analyzer-stage,
    #rk-diy-guide .rk-diy-result {
      padding: 18px;
    }

    #rk-diy-guide .rk-diy-analyzer-actions {
      display: grid;
      grid-template-columns: minmax(0, 1fr);
    }

    #rk-diy-guide .rk-diy-analyze-button,
    #rk-diy-guide .rk-diy-reset-button,
    #rk-diy-guide .rk-diy-cta-button {
      text-align: center;
      width: 100%;
    }

    #rk-diy-guide .rk-diy-table-wrap {
      overflow: visible;
    }

    #rk-diy-guide table,
    #rk-diy-guide thead,
    #rk-diy-guide tbody,
    #rk-diy-guide tr,
    #rk-diy-guide th,
    #rk-diy-guide td {
      display: block;
      min-width: 0;
      width: 100%;
    }

    #rk-diy-guide thead {
      clip: rect(0 0 0 0);
      clip-path: inset(50%);
      height: 1px;
      overflow: hidden;
      position: absolute;
      white-space: nowrap;
      width: 1px;
    }

    #rk-diy-guide tbody {
      display: grid;
      gap: 14px;
    }

    #rk-diy-guide tbody tr {
      background: #ffffff;
      border: 1px solid var(--rk-line);
      border-radius: 14px;
      overflow: hidden;
    }

    #rk-diy-guide td,
    #rk-diy-guide tbody tr td:first-child,
    #rk-diy-guide tbody tr td:last-child {
      border: 0;
      border-bottom: 1px solid #e1ebef;
      border-radius: 0;
      padding: 13px 15px;
    }

    #rk-diy-guide td:last-child {
      border-bottom: 0;
    }

    #rk-diy-guide td::before {
      color: var(--rk-cyan-dark);
      content: attr(data-label);
      display: block;
      font-size: 0.69rem;
      font-weight: 900;
      letter-spacing: 0.07em;
      margin-bottom: 4px;
      text-transform: uppercase;
    }

    #rk-diy-guide .rk-diy-author-main {
      padding: 25px 20px;
    }
  }

  @media (max-width: 430px) {
    #rk-diy-guide .rk-diy-hero,
    #rk-diy-guide .rk-diy-section,
    #rk-diy-guide .rk-diy-author {
      padding-left: 18px;
      padding-right: 18px;
    }

    #rk-diy-guide .rk-diy-hero::before {
      left: 18px;
    }

    #rk-diy-guide .rk-diy-shortcuts {
      padding-left: 14px;
      padding-right: 14px;
    }

    #rk-diy-guide .rk-diy-shortcuts a {
      flex: 1 1 calc(50% - 9px);
      text-align: center;
    }

    #rk-diy-guide .rk-diy-shortcuts-label {
      flex: 1 0 100%;
    }

    #rk-diy-guide .rk-diy-hero-title {
      font-size: 2.2rem;
    }

    #rk-diy-guide .rk-diy-section-title {
      font-size: 1.88rem;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    #rk-diy-guide *,
    #rk-diy-guide *::before,
    #rk-diy-guide *::after {
      scroll-behavior: auto;
      transition-duration: 0.01ms;
    }
  }
</style>

<article id="rk-diy-guide" aria-labelledby="rk-diy-visual-title">
  <div class="rk-diy-shell">
    <header class="rk-diy-hero">
      <span class="rk-diy-kicker">Samodzielny montaż · kontrola przed wylewką 2026</span>
      <div class="rk-diy-hero-title" id="rk-diy-visual-title">Samodzielny montaż ogrzewania podłogowego: <span>5 błędów, których beton nie ukryje</span></div>
      <p class="rk-diy-hero-lead">Ułożenie rury to tylko widoczna część pracy. O tym, czy instalacja będzie grzała równomiernie i da się wyregulować, decydują także obliczenia, hydraulika pętli, dylatacje, próba szczelności oraz dokumentacja wykonana przed zakryciem podłogi.</p>
      <div class="rk-diy-hero-tags" aria-label="Zakres poradnika">
        <span>projekt i OZC</span>
        <span>pętle i hydraulika</span>
        <span>rury i dylatacje</span>
        <span>próba szczelności</span>
        <span>jastrych i dokumentacja</span>
      </div>
      <div class="rk-diy-meta">
        <span>Autor: <strong>Robert Kucharski</strong></span>
        <span>Czas czytania: <strong>około 27 minut</strong></span>
        <span>Aktualizacja techniczna: <strong>17 września 2026 r.</strong></span>
      </div>
    </header>

    <nav class="rk-diy-shortcuts" aria-label="Na skróty — wszystkie sekcje artykułu">
      <span class="rk-diy-shortcuts-label">Na skróty</span>
      <a href="#rk-diy-answer">Szybka odpowiedź</a>
      <a href="#rk-diy-scope">Zakres prac</a>
      <a href="#rk-diy-return">Punkt bez powrotu</a>
      <a href="#rk-diy-analyzer-section">Analizator</a>
      <a href="#rk-diy-error1">Błąd 1</a>
      <a href="#rk-diy-error2">Błąd 2</a>
      <a href="#rk-diy-repair">Uszkodzona rura</a>
      <a href="#rk-diy-error3">Błąd 3</a>
      <a href="#rk-diy-error4">Błąd 4</a>
      <a href="#rk-diy-error5">Błąd 5</a>
      <a href="#rk-diy-hydraulics">Hydraulika</a>
      <a href="#rk-diy-pour-day">Dzień wylewki</a>
      <a href="#rk-diy-documentation">Dokumentacja</a>
      <a href="#rk-diy-after">Po wylewce</a>
      <a href="#rk-diy-myths">Fakty i mity</a>
      <a href="#rk-diy-checklist">Checklista</a>
      <a href="#rk-diy-summary">Podsumowanie</a>
      <a href="#rk-diy-sources">Źródła</a>
      <a href="#rk-diy-faq">FAQ</a>
      <a href="#rk-diy-author">Autor</a>
    </nav>

    <section class="rk-diy-section" id="rk-diy-answer">
      <span class="rk-diy-eyebrow">Odpowiedź w 60 sekund</span>
      <h2 class="rk-diy-section-title">Czy można samemu zrobić ogrzewanie podłogowe?</h2>
      <p class="rk-diy-lead"><strong>Można samodzielnie wykonać część prac montażowych, ale nie należy zastępować obliczeń zestawem uniwersalnych reguł.</strong> Inwestor może przygotować podłoże, rozłożyć izolację, zamocować rury i wykonać dokumentację, jeżeli pracuje według kompletnego projektu oraz zna wymagania zastosowanego systemu.</p>
      <div class="rk-diy-answer">
        <strong>Samodzielność dotyczy sposobu wykonania — nie zwalnia z projektu, kontroli ani odbioru.</strong>
        <p>Przed wylewką trzeba potwierdzić powierzchnie czynne, rozstawy, podział i długości pętli, wymagane przepływy, stan rur, dylatacje, wynik próby szczelności oraz technologię jastrychu. Po zakryciu nie da się już łatwo przełożyć rury ani odtworzyć jej rzeczywistej trasy.</p>
      </div>
      <div class="rk-diy-grid-3">
        <article class="rk-diy-card"><span class="rk-diy-icon is-ok">MOŻESZ</span><h3>Wykonać zgodnie z dokumentacją</h3><p>Przygotować warstwy, rozwinąć i zamocować rurę, oznaczyć pętle, zrobić zdjęcia oraz uczestniczyć w kontroli, jeżeli projekt i instrukcje są jednoznaczne.</p></article>
        <article class="rk-diy-card"><span class="rk-diy-icon is-check">POLICZ</span><h3>Nie dobierać „na oko”</h3><p>Rozstaw, długość, przepływ, opór pętli, parametry wody i nastawy rozdzielacza muszą wynikać z obciążenia cieplnego oraz hydrauliki.</p></article>
        <article class="rk-diy-card"><span class="rk-diy-icon is-stop">STOP</span><h3>Nie zakrywać wątpliwości</h3><p>Uszkodzona rura, niezgodny przebieg, brak próby lub nieustalone dylatacje są powodem do zatrzymania wylewki, a nie do liczenia na późniejszą regulację.</p></article>
      </div>
      <p class="rk-diy-copy">Punktem odniesienia powinien być <a href="https://projekt-ogrzewania.pl/jak-powinien-wygladac-profesjonalny-projekt-do-ogrzewania-podlogowego/">profesjonalny projekt ogrzewania podłogowego</a>, a nie sam schemat z katalogu lub metraż rury wyliczony z powierzchni domu.</p>
    </section>

    <section class="rk-diy-section rk-diy-section-soft" id="rk-diy-scope">
      <span class="rk-diy-eyebrow">Rozdziel wykonanie od projektowania</span>
      <h2 class="rk-diy-section-title">Co można wykonać samodzielnie, a co wymaga obliczeń?</h2>
      <p class="rk-diy-lead">Najbezpieczniejszy model to samodzielny montaż według policzonej dokumentacji. Projekt określa wynik, a wykonawca — także inwestor wykonujący instalację dla siebie — odpowiada za przeniesienie go na budowę i zgłoszenie każdej potrzebnej zmiany.</p>
      <div class="rk-diy-table-wrap">
        <table>
          <thead><tr><th>Decyzja lub czynność</th><th>Co jest potrzebne</th><th>Czy można wykonać samodzielnie?</th><th>Dowód przed wylewką</th></tr></thead>
          <tbody>
            <tr><td data-label="Czynność"><strong>Przygotowanie podłoża i izolacji</strong></td><td data-label="Podstawa">Projekt warstw, rzędne, parametry materiałów i koordynacja instalacji.</td><td data-label="Samodzielnie">Tak, po rozpoznaniu podłoża i technologii.</td><td data-label="Dowód">Oględziny stabilności, ciągłości warstw i zdjęcia.</td></tr>
            <tr><td data-label="Czynność"><strong>Obciążenie cieplne pomieszczeń</strong></td><td data-label="Podstawa">Dane przegród, wentylacji, temperatur i warunków projektowych.</td><td data-label="Samodzielnie">Tylko przy właściwej wiedzy i metodzie obliczeniowej.</td><td data-label="Dowód">Wyniki dla każdego pomieszczenia, nie tylko całego domu.</td></tr>
            <tr><td data-label="Czynność"><strong>Rozstaw i podział pętli</strong></td><td data-label="Podstawa">Moc, powierzchnia czynna, podłoga, parametry wody i hydraulika.</td><td data-label="Samodzielnie">Układanie tak; dobór bez obliczeń — nie.</td><td data-label="Dowód">Rzut z rozstawami, trasami, długościami i numerami pętli.</td></tr>
            <tr><td data-label="Czynność"><strong>Rozwijanie i mocowanie rury</strong></td><td data-label="Podstawa">Instrukcja systemu, promienie gięcia, rozstaw mocowań i projekt.</td><td data-label="Samodzielnie">Tak, przy użyciu właściwych narzędzi i kontroli.</td><td data-label="Dowód">Brak uszkodzeń, zgodna trasa i zdjęcia z miarą.</td></tr>
            <tr><td data-label="Czynność"><strong>Próba i odbiór</strong></td><td data-label="Podstawa">Ustalona procedura, odpowiednie przyrządy i protokół.</td><td data-label="Samodzielnie">Tylko jeżeli osoba potrafi bezpiecznie wykonać i ocenić próbę.</td><td data-label="Dowód">Podpisany protokół z warunkami, czasem i wynikiem.</td></tr>
          </tbody>
        </table>
      </div>
      <div class="rk-diy-note"><p><strong>Ważne:</strong> fraza „robię sam” nie oznacza, że każdy etap musi być wykonany bez konsultacji. Najbardziej opłaca się zachować dla siebie prace kontrolowalne, a zlecić te, których błędny wynik zostanie trwale zamknięty w podłodze.</p></div>
    </section>

    <section class="rk-diy-section" id="rk-diy-return">
      <span class="rk-diy-eyebrow">Granica między poprawką a remontem</span>
      <h2 class="rk-diy-section-title">Punkt bez powrotu: co znika pod jastrychem?</h2>
      <p class="rk-diy-lead">Wykonanie wylewki nie kończy całej instalacji, ale zamyka dostęp do jej najdłuższego elementu. Dlatego odbiór przed zalaniem powinien dotyczyć nie tylko szczelności, lecz wszystkich cech, których później nie da się potwierdzić bez odkrywek.</p>
      <div class="rk-diy-grid-3">
        <article class="rk-diy-card"><span class="rk-diy-card-number">PRZED</span><h3>Łatwe do poprawienia</h3><ul class="rk-diy-bullets"><li>przebieg i rozstaw rur,</li><li>mocowanie oraz łuki,</li><li>oznaczenia pętli,</li><li>osłony przejść,</li><li>lokalizacja dylatacji.</li></ul></article>
        <article class="rk-diy-card"><span class="rk-diy-card-number">PO</span><h3>Możliwe bez kucia</h3><ul class="rk-diy-bullets"><li>odpowietrzenie,</li><li>regulacja przepływów,</li><li>nastawy temperatur,</li><li>część usterek automatyki,</li><li>serwis elementów rozdzielacza.</li></ul></article>
        <article class="rk-diy-card"><span class="rk-diy-card-number">TRUDNE</span><h3>Zamknięte w podłodze</h3><ul class="rk-diy-bullets"><li>zbyt mała powierzchnia czynna,</li><li>zły rozstaw lub podział obwodów,</li><li>załamanie i uszkodzenie rury,</li><li>brak ochrony na dylatacji,</li><li>nieznana trasa przewodów.</li></ul></article>
      </div>
      <div class="rk-diy-note rk-diy-note-bad"><p><strong>Nie traktuj regulacji jako planu naprawczego.</strong> Rotametr może ograniczyć lub ustawić przepływ w dostępnych granicach, ale nie zmieni powierzchni grzejnej, średnicy rury, jej przebiegu ani konstrukcji podłogi.</p></div>
    </section>

    <section class="rk-diy-section rk-diy-section-dark" id="rk-diy-analyzer-section">
      <span class="rk-diy-eyebrow">Jedno narzędzie, które ma praktyczny sens</span>
      <h2 class="rk-diy-section-title">Analizator: czy można już wykonać wylewkę?</h2>
      <p class="rk-diy-lead">To audyt kompletności, a nie kalkulator jakości i nie protokół odbioru. Odpowiadaj na podstawie projektu, oględzin, pomiarów i dokumentów. Wynik nie przyznaje punktów — rozdziela fakty potwierdzone, braki do sprawdzenia oraz warunki blokujące zakrycie instalacji.</p>
      <div class="rk-diy-analyzer" id="rk-diy-analyzer">
        <div class="rk-diy-analyzer-head">
          <h3>Kontrola przed zamówieniem jastrychu</h3>
          <p>Jeżeli nie masz dowodu, wybierz „nie wiem”. Brak informacji o elemencie ukrywanym w podłodze jest wynikiem kontroli, a nie neutralną odpowiedzią.</p>
        </div>

        <div class="rk-diy-analyzer-stage">
          <div class="rk-diy-stage-head"><span class="rk-diy-stage-number">1</span><div><h4>Projekt cieplny i układ pętli</h4><p>Czy wiadomo, jaką moc ma przekazać każde pomieszczenie i jak instalacja ma to osiągnąć?</p></div></div>
          <div class="rk-diy-fields">
            <label class="rk-diy-field"><span>Obciążenie cieplne jest określone dla każdego pomieszczenia</span><select class="rk-diy-audit-field" data-severity="critical" data-label="Obciążenie cieplne pomieszczeń" data-action="Wstrzymaj wylewkę i ustal projektowe obciążenie cieplne każdego pomieszczenia."><option value="unknown">Nie wiem / brak dokumentu</option><option value="yes">Tak, mam wyniki</option><option value="no">Nie, przyjęto wartość orientacyjną</option></select></label>
            <label class="rk-diy-field"><span>Powierzchnie czynne i strefy bez rur są naniesione na rzut</span><select class="rk-diy-audit-field" data-severity="critical" data-label="Powierzchnie czynne" data-action="Porównaj rzeczywiste pola grzewcze ze stałą zabudową i wymaganą mocą przed ich zakryciem."><option value="unknown">Nie wiem / nie porównano</option><option value="yes">Tak, są zgodne z rzutem</option><option value="no">Nie, układ zmieniano na budowie</option></select></label>
            <label class="rk-diy-field"><span>Rzut określa rozstawy, podział, długości i numery pętli</span><select class="rk-diy-audit-field" data-severity="critical" data-label="Rzut wykonawczy pętli" data-action="Uzupełnij przebieg, rozstawy, podział i długości pętli oraz zweryfikuj je z wykonaniem."><option value="unknown">Brak kompletnego rzutu</option><option value="yes">Tak, wykonanie porównano</option><option value="no">Nie, pętle ułożono z głowy</option></select></label>
          </div>
        </div>

        <div class="rk-diy-analyzer-stage">
          <div class="rk-diy-stage-head"><span class="rk-diy-stage-number">2</span><div><h4>Hydraulika i identyfikacja obwodów</h4><p>Równe odstępy rur nie potwierdzają, że pompa i rozdzielacz zapewnią wymagane przepływy.</p></div></div>
          <div class="rk-diy-fields">
            <label class="rk-diy-field"><span>Typ i wymiar rury są zgodne z projektem oraz systemem połączeń</span><select class="rk-diy-audit-field" data-severity="critical" data-label="Zgodność rury" data-action="Potwierdź dokładny typ, wymiar, barierę tlenową i zgodność połączeń przed zakryciem."><option value="unknown">Nie wiem / brak karty</option><option value="yes">Tak, zgodność potwierdzona</option><option value="no">Nie, zastosowano zamiennik bez weryfikacji</option></select></label>
            <label class="rk-diy-field"><span>Przepływy i opory pętli policzono dla rzeczywistych długości</span><select class="rk-diy-audit-field" data-severity="critical" data-label="Hydraulika pętli" data-action="Policz wymagane przepływy i spadki ciśnienia dla rzeczywistych obwodów oraz medium."><option value="unknown">Nie wiem / niepoliczone</option><option value="yes">Tak, mam zestawienie</option><option value="no">Nie, oceniono tylko długość</option></select></label>
            <label class="rk-diy-field"><span>Każda pętla jest trwale opisana przy rozdzielaczu</span><select class="rk-diy-audit-field" data-severity="warning" data-label="Oznaczenia pętli" data-action="Oznacz zasilanie i powrót każdego obwodu oraz zapisz pomieszczenie i rzeczywistą długość."><option value="unknown">Nie wiem / opisy tymczasowe</option><option value="yes">Tak, oznaczenia są trwałe</option><option value="no">Nie, obwody nie są opisane</option></select></label>
          </div>
        </div>

        <div class="rk-diy-analyzer-stage">
          <div class="rk-diy-stage-head"><span class="rk-diy-stage-number">3</span><div><h4>Stan rur i przejścia</h4><p>Oględziny wykonuje się na całej dostępnej trasie, również przy nawrotach, dobiegach i mocowaniach.</p></div></div>
          <div class="rk-diy-fields">
            <label class="rk-diy-field"><span>Nie ma załamań, nacięć, spłaszczeń ani niezatwierdzonych napraw</span><select class="rk-diy-audit-field" data-severity="critical" data-label="Stan rur" data-action="Wstrzymaj zakrycie, oznacz każde uszkodzenie i zastosuj wyłącznie procedurę dopuszczoną dla konkretnego systemu."><option value="unknown">Nie sprawdzono całej trasy</option><option value="yes">Tak, stan potwierdzony</option><option value="no">Nie, jest uszkodzenie lub przypadkowa naprawa</option></select></label>
            <label class="rk-diy-field"><span>Rury są stabilnie zamocowane, a łuki spełniają wymagania systemu</span><select class="rk-diy-audit-field" data-severity="critical" data-label="Mocowanie i łuki" data-action="Popraw mocowania, nawroty i miejsca unoszenia się rury przed wykonaniem jastrychu."><option value="unknown">Nie sprawdzono</option><option value="yes">Tak, sprawdzono</option><option value="no">Nie, są luźne odcinki lub ciasne łuki</option></select></label>
            <label class="rk-diy-field"><span>Przejścia przez dylatacje i przegrody mają zaprojektowaną ochronę</span><select class="rk-diy-audit-field" data-severity="critical" data-label="Ochrona przejść" data-action="Ustal i wykonaj osłony rur w miejscach ruchu pól oraz przejść przez przegrody."><option value="unknown">Nie wiem / brak planu</option><option value="yes">Tak, wykonano zgodnie z planem</option><option value="no">Nie, rura przechodzi bez ochrony</option></select></label>
          </div>
        </div>

        <div class="rk-diy-analyzer-stage">
          <div class="rk-diy-stage-head"><span class="rk-diy-stage-number">4</span><div><h4>Dylatacje, taśma brzegowa i próba</h4><p>Technologia jastrychu musi być skoordynowana z instalacją przed przyjazdem ekipy posadzkarskiej.</p></div></div>
          <div class="rk-diy-fields">
            <label class="rk-diy-field"><span>Taśma brzegowa jest ciągła i nie została obcięta przedwcześnie</span><select class="rk-diy-audit-field" data-severity="critical" data-label="Taśma brzegowa" data-action="Przywróć ciągłe oddzielenie jastrychu od ścian, słupów i innych elementów zgodnie z technologią."><option value="unknown">Nie sprawdzono obwodu</option><option value="yes">Tak, ciągłość potwierdzona</option><option value="no">Nie, są przerwy lub za niski pas</option></select></label>
            <label class="rk-diy-field"><span>Plan pól i szczelin dylatacyjnych uzgodniono z jastrychem oraz okładziną</span><select class="rk-diy-audit-field" data-severity="critical" data-label="Plan dylatacji" data-action="Uzgodnij podział pól, szczeliny konstrukcyjne i ich przeniesienie do okładziny przed wylewką."><option value="unknown">Nie wiem / brak planu</option><option value="yes">Tak, plan jest uzgodniony</option><option value="no">Nie, decyzję zostawiono ekipie w dniu wylewki</option></select></label>
            <label class="rk-diy-field"><span>Próba szczelności została wykonana właściwą procedurą i zakończona wynikiem pozytywnym</span><select class="rk-diy-audit-field" data-severity="critical" data-label="Próba szczelności" data-action="Nie wykonuj jastrychu bez zakończonej próby, wyjaśnienia nieprawidłowości i protokołu."><option value="unknown">Brak protokołu / nie wiem</option><option value="yes">Tak, wynik pozytywny</option><option value="no">Nie wykonano lub wynik budzi wątpliwości</option></select></label>
          </div>
        </div>

        <div class="rk-diy-analyzer-stage">
          <div class="rk-diy-stage-head"><span class="rk-diy-stage-number">5</span><div><h4>Dokumentacja i technologia jastrychu</h4><p>Ostatnia kontrola tworzy punkt odniesienia dla posadzkarza, późniejszego wiercenia i uruchomienia.</p></div></div>
          <div class="rk-diy-fields">
            <label class="rk-diy-field"><span>Zdjęcia pokazują wszystkie pętle, przejścia i odległości od stałych punktów</span><select class="rk-diy-audit-field" data-severity="warning" data-label="Dokumentacja zdjęciowa" data-action="Wykonaj zdjęcia całej powierzchni z miarą i punktami odniesienia przed zakryciem rur."><option value="unknown">Zdjęcia niepełne</option><option value="yes">Tak, komplet wykonany</option><option value="no">Nie wykonano zdjęć</option></select></label>
            <label class="rk-diy-field"><span>Protokół zawiera pętle, długości, odstępstwa i wynik próby</span><select class="rk-diy-audit-field" data-severity="warning" data-label="Protokół i inwentaryzacja" data-action="Uzupełnij zestawienie obwodów, zaakceptowane zmiany, wynik próby i osoby odpowiedzialne."><option value="unknown">Dokument niekompletny</option><option value="yes">Tak, dokumentacja kompletna</option><option value="no">Nie ma protokołu</option></select></label>
            <label class="rk-diy-field"><span>Rodzaj, grubość, pielęgnacja i procedura wygrzewania jastrychu są uzgodnione</span><select class="rk-diy-audit-field" data-severity="warning" data-label="Technologia jastrychu" data-action="Uzgodnij z wykonawcą jastrychu warunki ułożenia, pielęgnacji, uruchomienia i pomiaru wilgotności."><option value="unknown">Nie ustalono</option><option value="yes">Tak, mam pisemne wytyczne</option><option value="no">Nie, plan ma powstać później</option></select></label>
          </div>
        </div>

        <div class="rk-diy-analyzer-actions">
          <button class="rk-diy-analyze-button" id="rk-diy-run" type="button">Sprawdź gotowość do wylewki</button>
          <button class="rk-diy-reset-button" id="rk-diy-reset" type="button">Wyczyść odpowiedzi</button>
        </div>
        <div class="rk-diy-result" id="rk-diy-result" aria-live="polite">
          <p class="rk-diy-result-status" id="rk-diy-result-status">Uzupełnij 15 punktów na podstawie rzeczywistego wykonania</p>
          <p class="rk-diy-result-intro" id="rk-diy-result-intro">Wynik rozdzieli informacje potwierdzone, wymagające uzupełnienia i blokujące zakrycie instalacji.</p>
          <div class="rk-diy-result-counts" aria-label="Podsumowanie analizy">
            <div class="rk-diy-result-count"><span>Potwierdzone</span><strong id="rk-diy-ok-count">0</strong></div>
            <div class="rk-diy-result-count"><span>Do sprawdzenia</span><strong id="rk-diy-check-count">15</strong></div>
            <div class="rk-diy-result-count"><span>Krytyczne</span><strong id="rk-diy-stop-count">0</strong></div>
          </div>
          <div class="rk-diy-result-grid">
            <div class="rk-diy-result-column is-ok"><h4>Potwierdzone</h4><ul id="rk-diy-ok-list"><li>Jeszcze brak ocenionych danych.</li></ul></div>
            <div class="rk-diy-result-column is-check"><h4>Do sprawdzenia</h4><ul id="rk-diy-check-list"><li>Uzupełnij formularz na podstawie projektu, oględzin i protokołów.</li></ul></div>
            <div class="rk-diy-result-column is-stop"><h4>Wstrzymaj wylewkę</h4><ul id="rk-diy-stop-list"><li>Brak oceny nie oznacza gotowości do zakrycia rur.</li></ul></div>
          </div>
          <p class="rk-diy-disclaimer">Analizator jest edukacyjną listą kontrolną. Nie zastępuje projektu, instrukcji zastosowanego systemu, procedury próby, odbioru instalacji ani oceny technologii jastrychu.</p>
        </div>
      </div>

      <aside class="rk-diy-cta" aria-label="Weryfikacja projektu przed wykonaniem wylewki">
        <div class="rk-diy-cta-title">Rury są już rozłożone? Zanim zamówisz wylewkę, porównaj wykonanie z obliczeniami</div>
        <p>Projekt pozwala sprawdzić powierzchnie czynne, rozstawy, długości pętli, wymagane przepływy, spadki ciśnienia i nastawy rozdzielacza, dopóki instalacja pozostaje dostępna i można jeszcze skorygować jej przebieg.</p>
        <a class="rk-diy-cta-button" href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Zamów projekt i zweryfikuj układ przed wylewką</a>
        <small class="rk-diy-link-disclosure">Odnośnik prowadzi do płatnej usługi projektowej autora poradnika.</small>
      </aside>
    </section>

    <section class="rk-diy-section" id="rk-diy-error1">
      <span class="rk-diy-eyebrow">Błąd 1 · montaż „na oko”</span>
      <h2 class="rk-diy-section-title">Układanie rur bez projektu cieplnego i hydraulicznego</h2>
      <p class="rk-diy-lead">Najbardziej niebezpieczny skrót zaczyna się od założenia, że jeden rozstaw i jedna maksymalna długość pętli pasują do każdego pomieszczenia. W rzeczywistości łazienka, salon z przeszkleniami i sypialnia mogą mieć inne obciążenie, inną powierzchnię czynną oraz inną okładzinę.</p>
      <div class="rk-diy-grid-3">
        <article class="rk-diy-card"><span class="rk-diy-card-number">1</span><h3>Brak mocy dla pomieszczeń</h3><p>Wskaźnik W/m² dla całego domu nie pokazuje, gdzie wystąpi największe obciążenie. Potrzebne jest <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projektowe obciążenie cieplne</a> przypisane do konkretnych pomieszczeń.</p></article>
        <article class="rk-diy-card"><span class="rk-diy-card-number">2</span><h3>Rozstaw z przyzwyczajenia</h3><p>Odstęp rur wynika z wymaganej mocy, parametrów wody, konstrukcji podłogi i ograniczeń temperatury powierzchni, a nie z samego rodzaju źródła ciepła.</p></article>
        <article class="rk-diy-card"><span class="rk-diy-card-number">3</span><h3>Metraż bez podziału obwodów</h3><p>Orientacyjna ilość rury nie wyznacza liczby pętli, ich dobiegów, wymaganych przepływów ani oporu krytycznej drogi.</p></article>
      </div>
      <p class="rk-diy-copy">Dylemat <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-ogrzewaniu-podlogowym-co-10-czy-15-cm/">rozstaw rur co 10 czy 15 cm</a> należy rozstrzygać na podstawie warunków danego pola grzewczego. Gęściej nie zawsze znaczy lepiej: rośnie metraż, liczba obwodów i koszt, a ostateczny efekt nadal ogranicza podłoga oraz parametry wody.</p>
      <div class="rk-diy-note rk-diy-note-bad"><p><strong>Nie używaj tabeli „rozstaw = moc” bez warunków.</strong> Wydajność zależy od różnicy temperatur, budowy podłogi, położenia rury i oporu okładziny. Ta sama geometria nie daje jednej stałej mocy w każdym domu.</p></div>
    </section>

    <section class="rk-diy-section rk-diy-section-soft" id="rk-diy-error2">
      <span class="rk-diy-eyebrow">Błąd 2 · estetyka zamiast kontroli</span>
      <h2 class="rk-diy-section-title">Niewłaściwe pętle, mocowanie i uszkodzenia rur</h2>
      <p class="rk-diy-lead">Równo ułożony ślimak może mieć niezgodną długość, zbyt ciasny nawrót albo uszkodzoną warstwę zewnętrzną. Odbiór nie powinien kończyć się na zdjęciu całego pomieszczenia — trzeba obejrzeć newralgiczne miejsca z bliska.</p>
      <div class="rk-diy-grid-4">
        <article class="rk-diy-card"><span class="rk-diy-card-number">A</span><h3>Rozwijanie kręgu</h3><p>Użyj rozwijaka i prowadź rurę bez skręcania osiowego. Nie ciągnij jej po ostrych krawędziach, zbrojeniu ani zabrudzonym podłożu.</p></article>
        <article class="rk-diy-card"><span class="rk-diy-card-number">B</span><h3>Promień gięcia</h3><p>Wartość dopuszczalna zależy od konkretnego wyrobu, temperatury montażu i narzędzia. Nie przyjmuj uniwersalnej wielokrotności bez dokumentacji.</p></article>
        <article class="rk-diy-card"><span class="rk-diy-card-number">C</span><h3>Mocowanie</h3><p>Rura ma pozostać w zaprojektowanym położeniu podczas chodzenia i wykonywania jastrychu, bez punktowego zgniatania oraz unoszenia łuków.</p></article>
        <article class="rk-diy-card"><span class="rk-diy-card-number">D</span><h3>Dobiegi</h3><p>Odcinki od rozdzielacza do pola zwiększają długość i opór. Ich skupienie może też zmienić lokalną emisję ciepła i wymagać ochrony.</p></article>
      </div>
      <div class="rk-diy-note"><p><strong>Kolor rury niczego nie rozstrzyga.</strong> Przed montażem sprawdź dokładne oznaczenie, wymiar, klasę zastosowania, barierę ograniczającą przenikanie tlenu, zgodne złączki oraz instrukcję transportu i gięcia.</p></div>
    </section>

    <section class="rk-diy-section" id="rk-diy-repair">
      <span class="rk-diy-eyebrow">Nie improwizuj z elementem ukrywanym na dekady</span>
      <h2 class="rk-diy-section-title">Co zrobić z załamaną lub uszkodzoną rurą?</h2>
      <p class="rk-diy-lead">Nie istnieje jedna metoda naprawy właściwa dla każdego PE-X, PE-RT i przewodu wielowarstwowego. Sposób postępowania musi wynikać z dokumentacji dokładnego systemu. Podgrzewanie, prostowanie lub zakładanie przypadkowej złączki na podstawie filmu nie potwierdza trwałości naprawy.</p>
      <div class="rk-diy-grid-3">
        <article class="rk-diy-card"><span class="rk-diy-icon is-stop">1</span><h3>Zatrzymaj pracę</h3><p>Nie zakrywaj miejsca i nie próbuj ukryć śladu. Oznacz położenie, zrób zdjęcie oraz zapisz typ rury i charakter uszkodzenia.</p></article>
        <article class="rk-diy-card"><span class="rk-diy-icon is-check">2</span><h3>Sprawdź procedurę systemu</h3><p>Ustal, czy wyrób dopuszcza przywrócenie kształtu, wycięcie odcinka, wymianę całej pętli albo konkretną naprawę systemową.</p></article>
        <article class="rk-diy-card"><span class="rk-diy-icon is-ok">3</span><h3>Zweryfikuj i udokumentuj</h3><p>Po zaakceptowanej czynności wykonaj ponowną kontrolę i próbę. Miejsce nanieś na rzut powykonawczy wraz z użytymi elementami.</p></article>
      </div>
      <p class="rk-diy-copy"><strong>Celem pozostaje pętla z jednego odcinka bez ukrytych połączeń.</strong> Gdy naprawa pod jastrychem jest konieczna i dopuszczona, powinna być dostępna w dokumentacji systemu, wykonana właściwymi narzędziami, sprawdzona oraz trwale zlokalizowana.</p>
    </section>

    <section class="rk-diy-section rk-diy-section-soft" id="rk-diy-error3">
      <span class="rk-diy-eyebrow">Błąd 3 · manometr bez procedury</span>
      <h2 class="rk-diy-section-title">Brak poprawnie udokumentowanej próby szczelności</h2>
      <p class="rk-diy-lead">Zdjęcie wskazówki manometru nie jest pełnym protokołem. Wynik trzeba interpretować razem z medium, temperaturą, czasem, ciśnieniem początkowym i końcowym, konfiguracją instalacji oraz wymaganiami przyjętej procedury.</p>
      <div class="rk-diy-table-wrap">
        <table>
          <thead><tr><th>Element protokołu</th><th>Dlaczego jest potrzebny</th><th>Czego nie wolno zakładać</th></tr></thead>
          <tbody>
            <tr><td data-label="Element"><strong>Identyfikacja instalacji</strong></td><td data-label="Znaczenie">Łączy wynik z budynkiem, rozdzielaczem, zakresem i datą próby.</td><td data-label="Nie zakładaj">Że samo zdjęcie bez opisu będzie czytelne po latach.</td></tr>
            <tr><td data-label="Element"><strong>Medium i warunki</strong></td><td data-label="Znaczenie">Zmiany temperatury i właściwości medium wpływają na wskazania.</td><td data-label="Nie zakładaj">Że każda zmiana wskazówki oznacza przeciek albo że każdy stabilny odczyt potwierdza całość.</td></tr>
            <tr><td data-label="Element"><strong>Ciśnienie i czas</strong></td><td data-label="Znaczenie">Muszą odpowiadać projektowi, dokumentacji elementów i przyjętej procedurze.</td><td data-label="Nie zakładaj">Uniwersalnego „6 bar przez 24 godziny” dla wszystkich systemów.</td></tr>
            <tr><td data-label="Element"><strong>Oględziny</strong></td><td data-label="Znaczenie">Pozwalają sprawdzić dostępne połączenia, rury i armaturę podczas próby.</td><td data-label="Nie zakładaj">Że manometr zastępuje kontrolę całej dostępnej instalacji.</td></tr>
            <tr><td data-label="Element"><strong>Wynik i podpisy</strong></td><td data-label="Znaczenie">Zapisują ocenę, uwagi, odstępstwa i odpowiedzialność uczestników.</td><td data-label="Nie zakładaj">Że brak zauważonego wycieku jest automatycznie formalnym odbiorem.</td></tr>
          </tbody>
        </table>
      </div>
      <p class="rk-diy-copy">Szczegółowy zakres czynności omawia poradnik o <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/">próbie szczelności ogrzewania podłogowego</a>. Stan instalacji podczas wykonywania jastrychu również należy ustalić w procedurze — ciśnienie ma przede wszystkim umożliwić wykrycie uszkodzenia, a nie „usztywniać” rurę czy chronić nieistniejące połączenia w polu.</p>
    </section>

    <section class="rk-diy-section" id="rk-diy-error4">
      <span class="rk-diy-eyebrow">Błąd 4 · plan pól dopiero przy pompie</span>
      <h2 class="rk-diy-section-title">Dylatacje, taśma brzegowa i przejścia rur „na później”</h2>
      <p class="rk-diy-lead">Rura, jastrych, ściany i okładzina pracują w jednym układzie. Podział pól nie powinien powstać spontanicznie w dniu wylewki, bo musi uwzględniać geometrię pomieszczeń, istniejące szczeliny konstrukcyjne, przewężenia, progi i późniejsze wykończenie.</p>
      <div class="rk-diy-grid-3">
        <article class="rk-diy-card"><span class="rk-diy-card-number">OBWÓD</span><h3>Taśma brzegowa</h3><p>Oddziela jastrych od ścian, słupów i innych elementów. Musi tworzyć ciągłą barierę i zachować odpowiednią wysokość do zakończenia prac posadzkowych.</p></article>
        <article class="rk-diy-card"><span class="rk-diy-card-number">POLE</span><h3>Szczeliny i podział</h3><p>Nie ma jednej powierzchni lub długości boku właściwej dla każdego jastrychu. Kryteria zależą od materiału, kształtu, grubości i technologii wykonawcy.</p></article>
        <article class="rk-diy-card"><span class="rk-diy-card-number">PRZEJŚCIE</span><h3>Rury przez szczeliny</h3><p>Przejścia ogranicza się i chroni tak, aby ruch sąsiednich pól nie działał bezpośrednio na przewód. Rodzaj oraz długość osłony wynikają z rozwiązania projektowego.</p></article>
      </div>
      <p class="rk-diy-copy">Więcej przykładów i zasad koordynacji opisuje artykuł o <a href="https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/">izolacji brzegowej i dylatacjach</a>. Plan szczelin trzeba też przekazać wykonawcy okładziny, ponieważ zachowanie jastrychu i wykończenia nie są od siebie niezależne.</p>
    </section>

    <section class="rk-diy-section rk-diy-section-soft" id="rk-diy-error5">
      <span class="rk-diy-eyebrow">Błąd 5 · warstwy traktowane osobno</span>
      <h2 class="rk-diy-section-title">Zła izolacja, przypadkowy jastrych i zbyt wczesne uruchomienie</h2>
      <p class="rk-diy-lead">Podłogówka nie jest samą rurą. Izolacja, podłoże, jastrych, okładzina i sposób uruchomienia wpływają na straty w dół, trwałość podłogi, bezwładność oraz osiągalną moc.</p>
      <div class="rk-diy-grid-4">
        <article class="rk-diy-card"><span class="rk-diy-card-number">1</span><h3>Izolacja bez obliczeń</h3><p>Grubość w centymetrach nie wystarcza. Liczą się przewodność materiału, układ warstw, mostki, warunki pod przegrodą i wytrzymałość mechaniczna.</p></article>
        <article class="rk-diy-card"><span class="rk-diy-card-number">2</span><h3>Niestabilne podparcie</h3><p>Szczeliny, kołyszące się płyty i instalacje wciśnięte przypadkowo pod izolację mogą tworzyć miejsca nierównomiernego podparcia jastrychu.</p></article>
        <article class="rk-diy-card"><span class="rk-diy-card-number">3</span><h3>Jastrych „jak zawsze”</h3><p>Rodzaj, grubość, zbrojenie, dodatki, pola, pielęgnacja i dopuszczenie do ogrzewania muszą tworzyć jedną technologię, a nie zestaw osobnych porad.</p></article>
        <article class="rk-diy-card"><span class="rk-diy-card-number">4</span><h3>Grzanie jako suszarka</h3><p>Nie uruchamiaj instalacji przypadkową temperaturą, aby przyspieszyć prace. Wygrzewanie i pomiar wilgotności wykonuje się według uzgodnionej procedury.</p></article>
      </div>
      <p class="rk-diy-copy">Warstwy izolacyjne szerzej omawia poradnik <a href="https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/">ile styropianu pod ogrzewanie podłogowe</a>, a wymagania posadzki — <a href="https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/">kompletny przewodnik po wylewce na podłogówkę</a>.</p>
    </section>

    <section class="rk-diy-section" id="rk-diy-hydraulics">
      <span class="rk-diy-eyebrow">Długość jest jednym z parametrów</span>
      <h2 class="rk-diy-section-title">Dlaczego długość pętli nie wystarcza do oceny hydrauliki?</h2>
      <p class="rk-diy-lead">Dwie pętle o tej samej długości mogą wymagać innych przepływów, a dwie o różnych długościach mogą być poprawnie zrównoważone. Ocena wymaga połączenia mocy, temperatur, geometrii rury, medium i dostępnego ciśnienia.</p>
      <div class="rk-diy-grid-4">
        <article class="rk-diy-card"><span class="rk-diy-card-number">Q</span><h3>Moc pętli</h3><p>Im więcej ciepła ma przenieść obwód przy przyjętej różnicy temperatur, tym większy przepływ może być potrzebny.</p></article>
        <article class="rk-diy-card"><span class="rk-diy-card-number">dᵢ</span><h3>Średnica wewnętrzna</h3><p>Ten sam wymiar zewnętrzny nie zawsze oznacza identyczne światło i charakterystykę hydrauliczną produktu.</p></article>
        <article class="rk-diy-card"><span class="rk-diy-card-number">L</span><h3>Cała droga</h3><p>Liczy się pętla wraz z dobiegami, przyłączami i elementami miejscowymi — od belki zasilającej do powrotnej.</p></article>
        <article class="rk-diy-card"><span class="rk-diy-card-number">Δp</span><h3>Dostępny napór</h3><p>Pompa ma obsłużyć przepływ całego układu i opór drogi krytycznej, a rozdzielacz musi umożliwić regulację pozostałych obwodów.</p></article>
      </div>
      <div class="rk-diy-note"><p><strong>Około 100 m dla typowej rury 16 × 2 mm może być praktycznym pułapem roboczym, ale nie jest uniwersalnym limitem normowym.</strong> Dopuszczalna długość może być mniejsza lub inna zależnie od przepływu, światła rury, medium i założeń regulacji.</p></div>
      <p class="rk-diy-copy">Zobacz osobne wyjaśnienie <a href="https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/">maksymalnej długości pętli</a> oraz skutków, jakie może powodować <a href="https://projekt-ogrzewania.pl/za-dluga-petla-podlogowki/">za długa pętla podłogówki</a>.</p>
    </section>

    <section class="rk-diy-section rk-diy-section-soft" id="rk-diy-pour-day">
      <span class="rk-diy-eyebrow">Ostatnie godziny pełnego dostępu</span>
      <h2 class="rk-diy-section-title">Dzień wykonywania jastrychu: plan kontroli</h2>
      <p class="rk-diy-lead">W dniu wylewki nie powinny powstawać nowe decyzje projektowe. Celem jest ochrona wcześniej odebranej instalacji, kontrola uzgodnionych warunków i szybka reakcja, jeżeli podczas robót wydarzy się coś nieprzewidzianego.</p>
      <div class="rk-diy-grid-3">
        <article class="rk-diy-card"><span class="rk-diy-card-number">PRZED</span><h3>Odbiór i przekazanie</h3><ul class="rk-diy-bullets"><li>porównaj trasy z rzutem,</li><li>sprawdź wynik próby,</li><li>potwierdź taśmy i dylatacje,</li><li>wykonaj komplet zdjęć,</li><li>przekaż technologię ekipie.</li></ul></article>
        <article class="rk-diy-card"><span class="rk-diy-card-number">W TRAKCIE</span><h3>Ochrona instalacji</h3><ul class="rk-diy-bullets"><li>kontroluj sposób poruszania się,</li><li>nie przeciągaj sprzętu po rurach,</li><li>obserwuj wskazania przyjętej kontroli,</li><li>pilnuj szczelin i przejść,</li><li>zgłaszaj każde uszkodzenie natychmiast.</li></ul></article>
        <article class="rk-diy-card"><span class="rk-diy-card-number">PO</span><h3>Zapis warunków</h3><ul class="rk-diy-bullets"><li>zanotuj datę i rodzaj jastrychu,</li><li>zapisz zauważone zdarzenia,</li><li>potwierdź pielęgnację,</li><li>ustal termin kolejnych kontroli,</li><li>zabezpiecz dokumentację.</li></ul></article>
      </div>
      <div class="rk-diy-note rk-diy-note-bad"><p><strong>Jeżeli rura zostanie uszkodzona podczas prac, zatrzymaj roboty w tym miejscu.</strong> Natychmiastowa lokalizacja i naprawa według właściwej procedury są lepsze niż próba odnalezienia problemu po zakończeniu całej podłogi.</p></div>
    </section>

    <section class="rk-diy-section" id="rk-diy-documentation">
      <span class="rk-diy-eyebrow">Najtańsze ubezpieczenie wiedzy o instalacji</span>
      <h2 class="rk-diy-section-title">Zdjęcia i inwentaryzacja powykonawcza</h2>
      <p class="rk-diy-lead">Zdjęcia powinny pozwolić odtworzyć położenie rur, a nie tylko potwierdzić, że na budowie leżała podłogówka. Fotografuj całe pola i szczegóły, zawsze z rozpoznawalnym punktem odniesienia.</p>
      <div class="rk-diy-grid-3">
        <article class="rk-diy-card"><span class="rk-diy-card-number">KADR</span><h3>Pełne pomieszczenie</h3><p>Wykonaj zdjęcia z kilku stron, obejmujące ściany, otwory, stałe elementy i cały przebieg pętli. Zachowaj logiczną kolejność plików.</p></article>
        <article class="rk-diy-card"><span class="rk-diy-card-number">MIARA</span><h3>Odległości od punktów stałych</h3><p>Dodaj miarkę lub zaznacz wymiary od ścian, progów, słupów i przepustów. Sama perspektywa aparatu nie pozwala później wyznaczyć bezpiecznego miejsca wiercenia.</p></article>
        <article class="rk-diy-card"><span class="rk-diy-card-number">DETAL</span><h3>Przejścia i odstępstwa</h3><p>Sfotografuj dylatacje, osłony, podejścia do rozdzielacza, zagęszczenia dobiegów i każdą zaakceptowaną zmianę lub naprawę.</p></article>
      </div>
      <ul class="rk-diy-bullets">
        <li>zapisz producenta, pełne oznaczenie i numery partii rury,</li>
        <li>zanotuj rzeczywistą długość i obsługiwane pomieszczenie każdej pętli,</li>
        <li>oznacz pary zasilanie–powrót oraz numer belki rozdzielacza,</li>
        <li>dołącz protokół próby, zmiany względem projektu i osoby zatwierdzające,</li>
        <li>zachowaj dokumenty jastrychu, procedurę wygrzewania i późniejsze nastawy.</li>
      </ul>
    </section>

    <section class="rk-diy-section rk-diy-section-soft" id="rk-diy-after">
      <span class="rk-diy-eyebrow">Zakrycie rur nie oznacza końca prac</span>
      <h2 class="rk-diy-section-title">Co robić po wykonaniu jastrychu?</h2>
      <p class="rk-diy-lead">Po wylewce rozpoczyna się etap pielęgnacji, kontrolowanego uruchomienia i przygotowania podłoża do okładziny. Terminy i temperatury zależą od konkretnego jastrychu — nie należy kopiować jednej procedury do każdego materiału.</p>
      <div class="rk-diy-grid-4">
        <article class="rk-diy-card"><span class="rk-diy-card-number">1</span><h3>Pielęgnacja</h3><p>Chroń podłogę przed zbyt szybkim wysychaniem, przeciągami, mrozem i obciążeniami zgodnie z wytycznymi wykonawcy jastrychu.</p></article>
        <article class="rk-diy-card"><span class="rk-diy-card-number">2</span><h3>Wygrzewanie</h3><p>Rozpocznij w terminie i według przebiegu właściwego dla zastosowanej mieszanki. Zapisuj daty oraz temperatury zamiast polegać na pamięci.</p></article>
        <article class="rk-diy-card"><span class="rk-diy-card-number">3</span><h3>Wilgotność</h3><p>Protokół wygrzewania nie zastępuje oceny wilgotności przed montażem okładziny. Metodę i wartości graniczne dobiera się do materiałów.</p></article>
        <article class="rk-diy-card"><span class="rk-diy-card-number">4</span><h3>Regulacja</h3><p>Po odpowietrzeniu i ustabilizowaniu pracy ustaw projektowe przepływy oraz parametry źródła. Nie kopiuj jednej wartości na wszystkie rotametry.</p></article>
      </div>
      <div class="rk-diy-note"><p><strong>Próba szczelności, wygrzewanie jastrychu, pomiar wilgotności i regulacja hydrauliczna to cztery różne czynności.</strong> Pozytywny wynik jednej nie zastępuje pozostałych.</p></div>
    </section>

    <section class="rk-diy-section" id="rk-diy-myths">
      <span class="rk-diy-eyebrow">Skróty myślowe, które trafiają pod beton</span>
      <h2 class="rk-diy-section-title">Fakty i mity samodzielnego montażu</h2>
      <div class="rk-diy-table-wrap">
        <table>
          <thead><tr><th>Stwierdzenie</th><th>Ocena</th><th>Wyjaśnienie</th></tr></thead>
          <tbody>
            <tr><td data-label="Stwierdzenie"><strong>„Rozstaw 15 cm pasuje do całego domu”</strong></td><td data-label="Ocena">Mit</td><td data-label="Wyjaśnienie">Rozstaw wynika z wymaganej mocy, powierzchni czynnej, podłogi i parametrów wody dla danego pomieszczenia.</td></tr>
            <tr><td data-label="Stwierdzenie"><strong>„Każda pętla musi mieć niemal identyczną długość”</strong></td><td data-label="Ocena">Mit</td><td data-label="Wyjaśnienie">Celem są właściwe przepływy i możliwa regulacja. Długość jest ważna, ale nie zastępuje obliczenia oporu.</td></tr>
            <tr><td data-label="Stwierdzenie"><strong>„100 m to absolutny limit każdej pętli”</strong></td><td data-label="Ocena">Mit</td><td data-label="Wyjaśnienie">To bywa praktyczny pułap w typowych warunkach, lecz granica zależy od rury, przepływu, medium i dostępnego ciśnienia.</td></tr>
            <tr><td data-label="Stwierdzenie"><strong>„6 bar przez 24 godziny wystarcza zawsze”</strong></td><td data-label="Ocena">Mit</td><td data-label="Wyjaśnienie">Warunki próby przyjmuje się z właściwej procedury, projektu i dokumentacji konkretnych elementów.</td></tr>
            <tr><td data-label="Stwierdzenie"><strong>„Zdjęcia przed wylewką są częścią dokumentacji”</strong></td><td data-label="Ocena">Fakt</td><td data-label="Wyjaśnienie">Pomagają odtworzyć trasy, ograniczyć ryzyko wiercenia i zlokalizować późniejsze odstępstwa.</td></tr>
            <tr><td data-label="Stwierdzenie"><strong>„Samodzielny montaż może być poprawny”</strong></td><td data-label="Ocena">Fakt warunkowy</td><td data-label="Wyjaśnienie">Wymaga projektu, właściwych materiałów, umiejętności, kontroli, próby i uczciwego zatrzymania prac przy niepewności.</td></tr>
          </tbody>
        </table>
      </div>
    </section>

    <section class="rk-diy-section rk-diy-section-soft" id="rk-diy-checklist">
      <span class="rk-diy-eyebrow">Do wydrukowania przed odbiorem</span>
      <h2 class="rk-diy-section-title">Checklista przed wylewką</h2>
      <p class="rk-diy-lead">Poniższa lista jest podsumowaniem, nie substytutem dokumentacji systemu. Każde „nie wiem” przy elemencie ukrywanym pod jastrychem powinno mieć właściciela i termin wyjaśnienia.</p>
      <div class="rk-diy-grid-3">
        <article class="rk-diy-card"><span class="rk-diy-card-number">PROJEKT</span><h3>Dane zgodne z wykonaniem</h3><ul class="rk-diy-bullets"><li>obciążenia pomieszczeń,</li><li>powierzchnie czynne,</li><li>rozstawy i strefy brzegowe,</li><li>podział oraz długości pętli,</li><li>przepływy, opory i nastawy.</li></ul></article>
        <article class="rk-diy-card"><span class="rk-diy-card-number">MONTAŻ</span><h3>Warstwy i rury odebrane</h3><ul class="rk-diy-bullets"><li>stabilne podłoże i izolacja,</li><li>ciągła taśma brzegowa,</li><li>brak uszkodzeń rur,</li><li>poprawne mocowania i łuki,</li><li>chronione przejścia.</li></ul></article>
        <article class="rk-diy-card"><span class="rk-diy-card-number">DOWODY</span><h3>Dokumenty gotowe</h3><ul class="rk-diy-bullets"><li>pozytywny protokół próby,</li><li>opisy rozdzielacza,</li><li>zdjęcia z miarą,</li><li>rzut powykonawczy i zmiany,</li><li>procedura jastrychu i uruchomienia.</li></ul></article>
      </div>
      <div class="rk-diy-note rk-diy-note-good"><p><strong>Zasada odbioru:</strong> sprawdzaj cechę, dokumentuj wynik i przypisuj odpowiedzialność. Sam podpis pod ogólnym zdaniem „instalacja wykonana prawidłowo” nie zastępuje danych, na podstawie których można to stwierdzić.</p></div>
    </section>

    <section class="rk-diy-section rk-diy-final" id="rk-diy-summary">
      <span class="rk-diy-eyebrow">Najważniejszy wniosek</span>
      <h2 class="rk-diy-section-title">Samodzielny montaż ma sens, jeśli projekt wyprzedza wykonanie</h2>
      <p class="rk-diy-lead">Największą oszczędnością nie jest pominięcie obliczeń, lecz wykonanie pracy raz i zachowanie możliwości korekty do ostatniej chwili przed jastrychem. Projekt określa parametry, montaż je realizuje, a odbiór potwierdza zgodność.</p>
      <div class="rk-diy-cta">
        <div class="rk-diy-cta-title">Zanim beton zakryje instalację, zamień układ rur w sprawdzony projekt</div>
        <p>Opracowanie łączy obciążenia cieplne, powierzchnie czynne, rozstawy, długości obwodów, przepływy, spadki ciśnienia i nastawy rozdzielacza. Dzięki temu wiadomo, które elementy można wykonać samodzielnie i z czym porównać gotową instalację.</p>
        <a class="rk-diy-cta-button" href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Zamów projekt ogrzewania podłogowego</a>
        <small class="rk-diy-link-disclosure">Odnośnik prowadzi do płatnej usługi projektowej autora poradnika.</small>
      </div>
    </section>

    <section class="rk-diy-section" id="rk-diy-sources">
      <span class="rk-diy-eyebrow">Podstawa techniczna</span>
      <h2 class="rk-diy-section-title">Źródła oficjalne i zakres poradnika</h2>
      <p class="rk-diy-lead">Odnośniki zewnętrzne w treści zostały zebrane wyłącznie w tej sekcji i prowadzą do oficjalnych kart norm oraz dokumentów urzędowych. Pełne wymagania trzeba zawsze połączyć z projektem i dokumentacją dokładnie zastosowanego systemu.</p>
      <div class="rk-diy-source-grid">
        <article class="rk-diy-source-card"><a href="https://www.iso.org/standard/74683.html" target="_blank" rel="nofollow noopener noreferrer">ISO 11855-2:2021 — wydajność systemów płaszczyznowych</a><p>Oficjalna karta części opisującej metody wyznaczania wydajności wbudowanych wodnych systemów ogrzewania i chłodzenia.</p></article>
        <article class="rk-diy-source-card"><a href="https://www.iso.org/standard/74684.html" target="_blank" rel="nofollow noopener noreferrer">ISO 11855-3:2021 — projektowanie i wymiarowanie</a><p>Oficjalna karta części obejmującej metody projektowania oraz wymiarowania systemów płaszczyznowych.</p></article>
        <article class="rk-diy-source-card"><a href="https://www.iso.org/standard/74685.html" target="_blank" rel="nofollow noopener noreferrer">ISO 11855-5:2021 — instalowanie systemów</a><p>Oficjalna karta części dotyczącej wymagań instalacyjnych dla wbudowanych wodnych systemów ogrzewania i chłodzenia.</p></article>
        <article class="rk-diy-source-card"><a href="https://knowledge.bsigroup.com/products/water-based-surface-embedded-heating-and-cooling-systems-installation-1" target="_blank" rel="nofollow noopener noreferrer">BS EN 1264-4:2021 — instalowanie</a><p>Oficjalna karta BSI części normy dotyczącej konstrukcji, wykonania oraz kontroli systemów wbudowanych.</p></article>
        <article class="rk-diy-source-card"><a href="https://isap.sejm.gov.pl/isap.nsf/download.xsp/WDU20220001225/O/D20221225.pdf" target="_blank" rel="nofollow noopener noreferrer">Warunki Techniczne — tekst jednolity</a><p>Oficjalny dokument Dziennika Ustaw zawierający między innymi wymagania izolacyjności cieplnej przegród.</p></article>
      </div>
      <div class="rk-diy-responsibility"><p><strong>Zakres odpowiedzialności:</strong> poradnik i analizator pomagają uporządkować decyzje przed wylewką, lecz nie są projektem, instrukcją konkretnego wyrobu, protokołem próby, formalnym odbiorem ani oceną jastrychu. Ostateczne wymagania wynikają z dokumentacji inwestycji, aktualnych dokumentów zastosowanych elementów i rzeczywistych warunków budynku.</p></div>
    </section>

    <section class="rk-diy-section rk-diy-section-soft" id="rk-diy-faq">
      <span class="rk-diy-eyebrow">Pytania inwestorów wykonujących instalację samodzielnie</span>
      <h2 class="rk-diy-section-title">FAQ — samodzielny montaż ogrzewania podłogowego</h2>
      <div class="rk-diy-faq">
        <details><summary>Czy można samodzielnie zamontować wodne ogrzewanie podłogowe?</summary><div class="rk-diy-faq-answer"><p>Można samodzielnie wykonać prace montażowe, jeżeli instalacja ma kompletny projekt, zastosowane elementy są zgodne systemowo, a osoba wykonująca potrafi kontrolować warstwy, rury, połączenia i próbę. Samodzielność nie zastępuje obliczeń cieplnych, hydrauliki ani odbioru przed wylewką.</p></div></details>
        <details><summary>Czy projekt podłogówki jest formalnie obowiązkowy?</summary><div class="rk-diy-faq-answer"><p>Zakres formalny zależy od rodzaju inwestycji i dokumentacji budynku. Niezależnie od kwalifikacji prawnej potrzebne są dane wykonawcze pozwalające ustalić moc pomieszczeń, powierzchnie czynne, rozstawy, pętle, przepływy i nastawy. Brak jednego uniwersalnego obowiązku nie oznacza, że instalację można prawidłowo dobrać bez obliczeń.</p></div></details>
        <details><summary>Czy rozstaw 15 cm jest odpowiedni w każdym pomieszczeniu?</summary><div class="rk-diy-faq-answer"><p>Nie. Rozstaw dobiera się do obciążenia cieplnego, dostępnej powierzchni, konstrukcji podłogi, okładziny, temperatury wody i limitów temperatury powierzchni. Jedna wartość dla całego domu może prowadzić do niepotrzebnego zagęszczenia albo niedoboru mocy.</p></div></details>
        <details><summary>Czy 100 m to absolutna maksymalna długość pętli?</summary><div class="rk-diy-faq-answer"><p>Nie jest to uniwersalny limit normowy. Około 100 m bywa praktycznym pułapem dla typowych pętli 16 × 2 mm, lecz poprawność zależy od światła rury, przepływu, medium, oporów miejscowych, dostępnego ciśnienia i możliwości regulacji.</p></div></details>
        <details><summary>Czy wszystkie pętle powinny mieć taką samą długość?</summary><div class="rk-diy-faq-answer"><p>Nie. Powinny zapewniać wymagane przepływy i dać się zrównoważyć. Bardzo duże różnice mogą utrudniać regulację, ale sztuczne wydłużanie krótkiej pętli również zwiększa opór. Ocenia się obliczone przepływy i spadki ciśnienia, nie sam procent różnicy długości.</p></div></details>
        <details><summary>Jakie ciśnienie i czas próby szczelności zastosować?</summary><div class="rk-diy-faq-answer"><p>Nie należy przyjmować jednej wartości dla wszystkich instalacji. Ciśnienie, czas, medium, etapy i kryteria oceny trzeba ustalić według projektu, dokumentacji zastosowanych elementów oraz właściwej procedury odbiorowej. Warunki i wynik zapisuje się w protokole.</p></div></details>
        <details><summary>Czy rury powinny pozostać pod ciśnieniem podczas wykonywania jastrychu?</summary><div class="rk-diy-faq-answer"><p>Stan instalacji podczas robót ustala się według przyjętej procedury i dokumentacji systemu. Kontrola ma pomóc szybko wykryć ewentualne uszkodzenie. Nie należy uzasadniać jej twierdzeniem, że ciśnienie uniwersalnie usztywnia rurę lub zabezpiecza połączenia.</p></div></details>
        <details><summary>Czy próbę można wykonać sprężonym powietrzem?</summary><div class="rk-diy-faq-answer"><p>Medium próby oraz środki bezpieczeństwa muszą wynikać z właściwej procedury i warunków budowy. Gaz pod ciśnieniem magazynuje energię i wymaga szczególnej ostrożności, właściwych przyrządów oraz oceny ryzyka. Nie należy improwizować ani przekraczać dopuszczeń elementów.</p></div></details>
        <details><summary>Co zrobić z załamaną rurą ogrzewania podłogowego?</summary><div class="rk-diy-faq-answer"><p>Zatrzymaj montaż, oznacz miejsce i sprawdź instrukcję dokładnego produktu. Dopuszczona metoda zależy od materiału oraz konstrukcji rury. Po każdej zaakceptowanej naprawie potrzebna jest ponowna kontrola, próba i dokumentacja lokalizacji.</p></div></details>
        <details><summary>Czy wolno ukryć złączkę naprawczą pod wylewką?</summary><div class="rk-diy-faq-answer"><p>Pętle projektuje się bez ukrytych połączeń. Jeśli awaryjna naprawa jest konieczna, musi być rozwiązaniem wyraźnie dopuszczonym dla danego systemu, wykonanym właściwymi narzędziami, sprawdzonym próbą i dokładnie naniesionym na dokumentację. W wielu sytuacjach bezpieczniejsza jest wymiana całej pętli.</p></div></details>
        <details><summary>Gdzie trzeba wykonać dylatacje jastrychu?</summary><div class="rk-diy-faq-answer"><p>Podział zależy od materiału jastrychu, geometrii, grubości, przewężeń, istniejących szczelin konstrukcyjnych, pól grzewczych i wykończenia. Nie ma jednej powierzchni ani długości boku właściwej dla każdej technologii. Plan trzeba uzgodnić przed wylewką.</p></div></details>
        <details><summary>Jak chronić rurę przechodzącą przez dylatację?</summary><div class="rk-diy-faq-answer"><p>Przejścia ogranicza się do niezbędnych i prowadzi w osłonie pozwalającej przejąć ruch sąsiednich pól. Rodzaj oraz długość zabezpieczenia powinny wynikać z projektu i technologii jastrychu, a położenie należy sfotografować.</p></div></details>
        <details><summary>Ile izolacji ułożyć pod ogrzewaniem podłogowym?</summary><div class="rk-diy-faq-answer"><p>Nie można odpowiedzieć samą liczbą centymetrów. Dobór zależy od współczynnika przewodzenia materiału, wymaganej izolacyjności całej przegrody, temperatur po obu stronach, mostków cieplnych, dostępnej wysokości i wytrzymałości pod obciążeniem.</p></div></details>
        <details><summary>Kiedy można rozpocząć wygrzewanie jastrychu?</summary><div class="rk-diy-faq-answer"><p>Termin i przebieg zależą od rodzaju jastrychu, jego receptury, grubości, warunków dojrzewania oraz wytycznych wykonawcy. Nie należy automatycznie stosować jednej liczby dni i jednego przyrostu temperatury do wszystkich podłóg.</p></div></details>
        <details><summary>Jakie zdjęcia zrobić przed wylewką?</summary><div class="rk-diy-faq-answer"><p>Sfotografuj całe pomieszczenia z kilku kierunków, podejścia do rozdzielacza, przejścia, dylatacje, miejsca napraw i strefy bez rur. Dodaj miarę oraz stałe punkty odniesienia, aby można było odtworzyć odległości po zakryciu instalacji.</p></div></details>
        <details><summary>Co sprawdzić bezpośrednio przed rozpoczęciem wylewki?</summary><div class="rk-diy-faq-answer"><p>Porównaj wykonanie z projektem, obejrzyj całą rurę, sprawdź mocowania, osłony, taśmę i dylatacje, zakończ próbę z protokołem, oznacz pętle, wykonaj dokumentację zdjęciową oraz potwierdź technologię jastrychu, pielęgnację i późniejsze uruchomienie.</p></div></details>
      </div>
    </section>

    <section class="rk-diy-author" id="rk-diy-author">
      <span class="rk-diy-eyebrow">Opracowanie eksperckie</span>
      <h2 class="rk-diy-author-title">Autor i weryfikacja merytoryczna</h2>
      <div class="rk-diy-author-layout">
        <aside class="rk-diy-author-side">
          <div class="rk-diy-author-photo"><img src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski — projektant instalacji sanitarnych" width="400" height="400" loading="lazy" decoding="async"></div>
          <div class="rk-diy-author-name"><a href="https://projekt-ogrzewania.pl/author/admin3399/">Robert Kucharski</a></div>
          <p class="rk-diy-author-role">Projektant instalacji sanitarnych<br>specjalista HVAC i ogrzewania podłogowego</p>
          <div class="rk-diy-author-social" aria-label="Profile autora">
            <a href="https://www.linkedin.com/in/robert-kucharski-b8b906199/" target="_blank" rel="nofollow noopener noreferrer me" aria-label="LinkedIn Roberta Kucharskiego">in</a>
            <a href="https://www.facebook.com/projektogrzewaniapl" target="_blank" rel="nofollow noopener noreferrer me" aria-label="Facebook Projekt Ogrzewania">f</a>
            <a href="https://x.com/Projekt_HVAC" target="_blank" rel="nofollow noopener noreferrer me" aria-label="Profil Projekt HVAC w serwisie X">X</a>
          </div>
        </aside>
        <div class="rk-diy-author-main">
          <div class="rk-diy-author-quote">„Moim zdaniem samodzielny montaż może być wykonany dobrze, ale tylko wtedy, gdy inwestor nie próbuje zastąpić projektu zestawem internetowych reguł. Rurę można ułożyć własnymi rękami; strat ciepła, przepływów i oporów nie da się jednak policzyć na oko.”</div>
          <p>Robert Kucharski opracowuje projekty ogrzewania podłogowego, obliczenia cieplne i hydrauliczne oraz materiały edukacyjne dla inwestorów i wykonawców. W poradnikach oddziela czynności możliwe do wykonania na budowie od decyzji wymagających danych oraz obliczeń.</p>
          <p>Weryfikacja tego materiału objęła obciążenia pomieszczeń, podział i hydraulikę pętli, wymagania przed zakryciem rur, znaczenie próby szczelności, koordynację dylatacji oraz dokumentację powykonawczą. Treść nie przypisuje uniwersalnych wartości wszystkim systemom, ponieważ warunki montażu i odbioru zależą od projektu oraz dokładnie zastosowanych elementów.</p>
          <p>Publikuje również w portalach <a href="https://remont.biz.pl/" target="_blank" rel="nofollow noopener noreferrer">Remont.biz.pl</a> i <a href="https://sobir.pl/" target="_blank" rel="nofollow noopener noreferrer">Sobir.pl</a>. <a href="https://projekt-ogrzewania.pl/author/admin3399/">Zobacz pozostałe artykuły Roberta Kucharskiego w serwisie Projekt-Ogrzewania.pl</a>.</p>
          <div class="rk-diy-author-facts">
            <div class="rk-diy-author-fact"><strong>Zakres</strong>ogrzewanie podłogowe, bilanse cieplne i hydraulika instalacji</div>
            <div class="rk-diy-author-fact"><strong>Metoda pracy</strong>projekt, dokumentacja systemu i kontrola rzeczywistego wykonania</div>
            <div class="rk-diy-author-fact"><strong>Aktualizacja</strong>stan techniczny materiału sprawdzony 17 września 2026 r.</div>
          </div>
        </div>
      </div>
    </section>
  </div>
</article>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "WebSite",
      "@id": "https://projekt-ogrzewania.pl/#website",
      "url": "https://projekt-ogrzewania.pl/",
      "name": "Projekt Ogrzewania",
      "publisher": { "@id": "https://projekt-ogrzewania.pl/#organization" },
      "inLanguage": "pl-PL"
    },
    {
      "@type": "Organization",
      "@id": "https://projekt-ogrzewania.pl/#organization",
      "name": "Projekt-Ogrzewania.pl",
      "url": "https://projekt-ogrzewania.pl/",
      "founder": { "@id": "https://projekt-ogrzewania.pl/#robert-kucharski" },
      "sameAs": [
        "https://www.facebook.com/projektogrzewaniapl",
        "https://x.com/Projekt_HVAC"
      ]
    },
    {
      "@type": "Organization",
      "@id": "https://remont.biz.pl/#organization",
      "name": "Remont.biz.pl",
      "url": "https://remont.biz.pl/",
      "founder": { "@id": "https://projekt-ogrzewania.pl/#robert-kucharski" }
    },
    {
      "@type": "Organization",
      "@id": "https://sobir.pl/#organization",
      "name": "Sobir.pl",
      "url": "https://sobir.pl/",
      "founder": { "@id": "https://projekt-ogrzewania.pl/#robert-kucharski" }
    },
    {
      "@type": "Person",
      "@id": "https://projekt-ogrzewania.pl/#robert-kucharski",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/author/admin3399/",
      "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
      "jobTitle": "Projektant instalacji sanitarnych i specjalista HVAC",
      "knowsAbout": [
        "ogrzewanie podłogowe",
        "samodzielny montaż ogrzewania podłogowego",
        "projektowe obciążenie cieplne",
        "hydraulika pętli grzewczych",
        "próba szczelności instalacji",
        "równoważenie hydrauliczne"
      ],
      "worksFor": [
        { "@id": "https://projekt-ogrzewania.pl/#organization" },
        { "@id": "https://remont.biz.pl/#organization" },
        { "@id": "https://sobir.pl/#organization" }
      ],
      "sameAs": [
        "https://www.linkedin.com/in/robert-kucharski-b8b906199/",
        "https://www.facebook.com/projektogrzewaniapl",
        "https://x.com/Projekt_HVAC"
      ]
    },
    {
      "@type": "ImageObject",
      "@id": "https://projekt-ogrzewania.pl/samodzielny-montaz-ogrzewania-podlogowego-5-bledow-ktorych-nie-naprawisz-po-wylewce/#primaryimage",
      "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/Samodzielny-montaz-ogrzewania-podlogowego-–-5-bledow-ktorych-nie-naprawisz-po-wylewce.webp",
      "contentUrl": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/Samodzielny-montaz-ogrzewania-podlogowego-–-5-bledow-ktorych-nie-naprawisz-po-wylewce.webp",
      "width": 900,
      "height": 900,
      "caption": "Samodzielny montaż ogrzewania podłogowego — pięć błędów przed wylewką"
    },
    {
      "@type": "BreadcrumbList",
      "@id": "https://projekt-ogrzewania.pl/samodzielny-montaz-ogrzewania-podlogowego-5-bledow-ktorych-nie-naprawisz-po-wylewce/#breadcrumb",
      "itemListElement": [
        { "@type": "ListItem", "position": 1, "name": "Strona główna", "item": "https://projekt-ogrzewania.pl/" },
        { "@type": "ListItem", "position": 2, "name": "Poradniki", "item": "https://projekt-ogrzewania.pl/blog/" },
        { "@type": "ListItem", "position": 3, "name": "Samodzielny montaż ogrzewania podłogowego", "item": "https://projekt-ogrzewania.pl/samodzielny-montaz-ogrzewania-podlogowego-5-bledow-ktorych-nie-naprawisz-po-wylewce/" }
      ]
    },
    {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/samodzielny-montaz-ogrzewania-podlogowego-5-bledow-ktorych-nie-naprawisz-po-wylewce/#webpage",
      "url": "https://projekt-ogrzewania.pl/samodzielny-montaz-ogrzewania-podlogowego-5-bledow-ktorych-nie-naprawisz-po-wylewce/",
      "name": "Samodzielny montaż ogrzewania podłogowego – 5 błędów przed wylewką",
      "description": "Praktyczny poradnik samodzielnego montażu podłogówki: projekt, pętle, rury, dylatacje, próba szczelności, jastrych i kontrola przed zakryciem instalacji.",
      "isPartOf": { "@id": "https://projekt-ogrzewania.pl/#website" },
      "breadcrumb": { "@id": "https://projekt-ogrzewania.pl/samodzielny-montaz-ogrzewania-podlogowego-5-bledow-ktorych-nie-naprawisz-po-wylewce/#breadcrumb" },
      "primaryImageOfPage": { "@id": "https://projekt-ogrzewania.pl/samodzielny-montaz-ogrzewania-podlogowego-5-bledow-ktorych-nie-naprawisz-po-wylewce/#primaryimage" },
      "datePublished": "2026-04-19T19:27:33+00:00",
      "dateModified": "2026-09-17T12:00:00+02:00",
      "inLanguage": "pl-PL",
      "mainEntity": { "@id": "https://projekt-ogrzewania.pl/samodzielny-montaz-ogrzewania-podlogowego-5-bledow-ktorych-nie-naprawisz-po-wylewce/#article" }
    },
    {
      "@type": "TechArticle",
      "@id": "https://projekt-ogrzewania.pl/samodzielny-montaz-ogrzewania-podlogowego-5-bledow-ktorych-nie-naprawisz-po-wylewce/#article",
      "mainEntityOfPage": { "@id": "https://projekt-ogrzewania.pl/samodzielny-montaz-ogrzewania-podlogowego-5-bledow-ktorych-nie-naprawisz-po-wylewce/#webpage" },
      "headline": "Samodzielny montaż ogrzewania podłogowego – 5 błędów przed wylewką",
      "description": "Techniczny przewodnik dla inwestora wykonującego podłogówkę samodzielnie, z analizatorem gotowości do wylewki i checklistą odbiorową.",
      "image": { "@id": "https://projekt-ogrzewania.pl/samodzielny-montaz-ogrzewania-podlogowego-5-bledow-ktorych-nie-naprawisz-po-wylewce/#primaryimage" },
      "author": { "@id": "https://projekt-ogrzewania.pl/#robert-kucharski" },
      "publisher": { "@id": "https://projekt-ogrzewania.pl/#organization" },
      "datePublished": "2026-04-19T19:27:33+00:00",
      "dateModified": "2026-09-17T12:00:00+02:00",
      "inLanguage": "pl-PL",
      "about": [
        "samodzielny montaż ogrzewania podłogowego",
        "kontrola przed wylewką",
        "pętle ogrzewania podłogowego",
        "próba szczelności",
        "dylatacje jastrychu",
        "hydraulika podłogówki"
      ],
      "keywords": "samodzielny montaż ogrzewania podłogowego, montaż podłogówki, błędy przed wylewką, próba szczelności, pętle podłogówki, dylatacje",
      "isAccessibleForFree": true,
      "hasPart": [
        { "@id": "https://projekt-ogrzewania.pl/samodzielny-montaz-ogrzewania-podlogowego-5-bledow-ktorych-nie-naprawisz-po-wylewce/#analyzer" },
        { "@id": "https://projekt-ogrzewania.pl/samodzielny-montaz-ogrzewania-podlogowego-5-bledow-ktorych-nie-naprawisz-po-wylewce/#howto" },
        { "@id": "https://projekt-ogrzewania.pl/samodzielny-montaz-ogrzewania-podlogowego-5-bledow-ktorych-nie-naprawisz-po-wylewce/#error-list" },
        { "@id": "https://projekt-ogrzewania.pl/samodzielny-montaz-ogrzewania-podlogowego-5-bledow-ktorych-nie-naprawisz-po-wylewce/#faq-schema" }
      ]
    },
    {
      "@type": "WebApplication",
      "@id": "https://projekt-ogrzewania.pl/samodzielny-montaz-ogrzewania-podlogowego-5-bledow-ktorych-nie-naprawisz-po-wylewce/#analyzer",
      "name": "Analizator gotowości podłogówki do wykonania wylewki",
      "url": "https://projekt-ogrzewania.pl/samodzielny-montaz-ogrzewania-podlogowego-5-bledow-ktorych-nie-naprawisz-po-wylewce/#rk-diy-analyzer-section",
      "applicationCategory": "UtilitiesApplication",
      "operatingSystem": "Dowolny system z nowoczesną przeglądarką internetową",
      "browserRequirements": "JavaScript",
      "isAccessibleForFree": true,
      "inLanguage": "pl-PL",
      "description": "Edukacyjny audyt piętnastu warunków dotyczących projektu, hydrauliki, rur, dylatacji, próby i dokumentacji przed zakryciem instalacji."
    },
    {
      "@type": "HowTo",
      "@id": "https://projekt-ogrzewania.pl/samodzielny-montaz-ogrzewania-podlogowego-5-bledow-ktorych-nie-naprawisz-po-wylewce/#howto",
      "name": "Jak sprawdzić samodzielnie zamontowaną podłogówkę przed wylewką",
      "description": "Sześć etapów kontroli ogrzewania podłogowego przed wykonaniem jastrychu.",
      "totalTime": "PT45M",
      "step": [
        { "@type": "HowToStep", "position": 1, "name": "Porównaj wykonanie z projektem", "text": "Sprawdź obciążenia pomieszczeń, powierzchnie czynne, rozstawy, trasy, długości i zaakceptowane zmiany." },
        { "@type": "HowToStep", "position": 2, "name": "Zweryfikuj hydraulikę", "text": "Porównaj rzeczywiste pętle z wymaganymi przepływami, oporami i zakresem regulacji rozdzielacza." },
        { "@type": "HowToStep", "position": 3, "name": "Obejrzyj rury", "text": "Sprawdź brak uszkodzeń, poprawne łuki, mocowania, osłony przejść i zgodność zastosowanego wyrobu." },
        { "@type": "HowToStep", "position": 4, "name": "Skontroluj taśmy i dylatacje", "text": "Potwierdź ciągłość oddzielenia brzegowego, podział pól i ochronę rur przechodzących przez szczeliny." },
        { "@type": "HowToStep", "position": 5, "name": "Wykonaj i udokumentuj próbę", "text": "Przeprowadź właściwą procedurę, wyjaśnij nieprawidłowości i zachowaj kompletny protokół." },
        { "@type": "HowToStep", "position": 6, "name": "Zapisz stan przed zakryciem", "text": "Wykonaj zdjęcia z miarą, opisz pętle, nanieś odstępstwa i uzgodnij technologię jastrychu oraz uruchomienia." }
      ]
    },
    {
      "@type": "ItemList",
      "@id": "https://projekt-ogrzewania.pl/samodzielny-montaz-ogrzewania-podlogowego-5-bledow-ktorych-nie-naprawisz-po-wylewce/#error-list",
      "name": "Pięć błędów samodzielnego montażu ogrzewania podłogowego",
      "numberOfItems": 5,
      "itemListElement": [
        { "@type": "ListItem", "position": 1, "name": "Układanie rur bez projektu cieplnego i hydraulicznego" },
        { "@type": "ListItem", "position": 2, "name": "Niewłaściwe pętle, mocowanie i uszkodzenia rur" },
        { "@type": "ListItem", "position": 3, "name": "Brak poprawnie udokumentowanej próby szczelności" },
        { "@type": "ListItem", "position": 4, "name": "Brak koordynacji dylatacji, taśmy brzegowej i przejść rur" },
        { "@type": "ListItem", "position": 5, "name": "Zła izolacja, przypadkowy jastrych i zbyt wczesne uruchomienie" }
      ]
    },
    {
      "@type": "FAQPage",
      "@id": "https://projekt-ogrzewania.pl/samodzielny-montaz-ogrzewania-podlogowego-5-bledow-ktorych-nie-naprawisz-po-wylewce/#faq-schema",
      "mainEntity": [
        { "@type": "Question", "name": "Czy można samodzielnie zamontować wodne ogrzewanie podłogowe?", "acceptedAnswer": { "@type": "Answer", "text": "Można samodzielnie wykonać prace montażowe, jeżeli instalacja ma kompletny projekt, zastosowane elementy są zgodne, a wykonawca potrafi kontrolować warstwy, rury, połączenia i próbę. Samodzielność nie zastępuje obliczeń ani odbioru." } },
        { "@type": "Question", "name": "Czy projekt podłogówki jest formalnie obowiązkowy?", "acceptedAnswer": { "@type": "Answer", "text": "Zakres formalny zależy od inwestycji. Niezależnie od niego potrzebne są dane wykonawcze określające moc pomieszczeń, powierzchnie czynne, rozstawy, pętle, przepływy i nastawy." } },
        { "@type": "Question", "name": "Czy rozstaw 15 cm jest odpowiedni w każdym pomieszczeniu?", "acceptedAnswer": { "@type": "Answer", "text": "Nie. Rozstaw dobiera się do obciążenia cieplnego, powierzchni czynnej, konstrukcji podłogi, okładziny, temperatury wody i limitów temperatury powierzchni." } },
        { "@type": "Question", "name": "Czy 100 m to absolutna maksymalna długość pętli?", "acceptedAnswer": { "@type": "Answer", "text": "Nie jest to uniwersalny limit normowy. Poprawność zależy od światła rury, przepływu, medium, oporów miejscowych, dostępnego ciśnienia i możliwości regulacji." } },
        { "@type": "Question", "name": "Czy wszystkie pętle powinny mieć taką samą długość?", "acceptedAnswer": { "@type": "Answer", "text": "Nie. Pętle powinny zapewniać wymagane przepływy i dać się zrównoważyć. Ocenia się obliczone przepływy i spadki ciśnienia, nie sam procent różnicy długości." } },
        { "@type": "Question", "name": "Jakie ciśnienie i czas próby szczelności zastosować?", "acceptedAnswer": { "@type": "Answer", "text": "Nie ma jednej wartości dla wszystkich instalacji. Ciśnienie, czas, medium, etapy i kryteria oceny trzeba ustalić według projektu, dokumentacji elementów i właściwej procedury." } },
        { "@type": "Question", "name": "Czy rury powinny pozostać pod ciśnieniem podczas wykonywania jastrychu?", "acceptedAnswer": { "@type": "Answer", "text": "Stan instalacji podczas robót ustala się według przyjętej procedury i dokumentacji systemu. Kontrola ma pomóc wykryć ewentualne uszkodzenie." } },
        { "@type": "Question", "name": "Czy próbę można wykonać sprężonym powietrzem?", "acceptedAnswer": { "@type": "Answer", "text": "Medium próby i środki bezpieczeństwa muszą wynikać z właściwej procedury. Gaz pod ciśnieniem magazynuje energię i wymaga oceny ryzyka, odpowiednich przyrządów i ostrożności." } },
        { "@type": "Question", "name": "Co zrobić z załamaną rurą ogrzewania podłogowego?", "acceptedAnswer": { "@type": "Answer", "text": "Trzeba zatrzymać montaż, oznaczyć miejsce i sprawdzić instrukcję dokładnego produktu. Po zaakceptowanej naprawie potrzebne są kontrola, próba i dokumentacja lokalizacji." } },
        { "@type": "Question", "name": "Czy wolno ukryć złączkę naprawczą pod wylewką?", "acceptedAnswer": { "@type": "Answer", "text": "Pętle projektuje się bez ukrytych połączeń. Konieczna naprawa musi być rozwiązaniem dopuszczonym dla systemu, wykonanym właściwie, sprawdzonym i naniesionym na dokumentację." } },
        { "@type": "Question", "name": "Gdzie trzeba wykonać dylatacje jastrychu?", "acceptedAnswer": { "@type": "Answer", "text": "Podział zależy od materiału jastrychu, geometrii, grubości, przewężeń, istniejących szczelin, pól grzewczych i wykończenia. Plan trzeba uzgodnić przed wylewką." } },
        { "@type": "Question", "name": "Jak chronić rurę przechodzącą przez dylatację?", "acceptedAnswer": { "@type": "Answer", "text": "Przejścia ogranicza się do niezbędnych i prowadzi w osłonie pozwalającej przejąć ruch sąsiednich pól. Rodzaj zabezpieczenia wynika z projektu i technologii jastrychu." } },
        { "@type": "Question", "name": "Ile izolacji ułożyć pod ogrzewaniem podłogowym?", "acceptedAnswer": { "@type": "Answer", "text": "Dobór zależy od przewodności materiału, wymaganej izolacyjności przegrody, temperatur, mostków, dostępnej wysokości i wytrzymałości. Sama liczba centymetrów nie wystarcza." } },
        { "@type": "Question", "name": "Kiedy można rozpocząć wygrzewanie jastrychu?", "acceptedAnswer": { "@type": "Answer", "text": "Termin i przebieg zależą od rodzaju jastrychu, receptury, grubości, warunków dojrzewania oraz wytycznych wykonawcy. Nie ma jednej procedury dla wszystkich podłóg." } },
        { "@type": "Question", "name": "Jakie zdjęcia zrobić przed wylewką?", "acceptedAnswer": { "@type": "Answer", "text": "Należy sfotografować całe pomieszczenia, podejścia, przejścia, dylatacje, naprawy i strefy bez rur, dodając miarę oraz stałe punkty odniesienia." } },
        { "@type": "Question", "name": "Co sprawdzić bezpośrednio przed rozpoczęciem wylewki?", "acceptedAnswer": { "@type": "Answer", "text": "Trzeba porównać wykonanie z projektem, obejrzeć rury, mocowania, osłony, taśmę i dylatacje, zakończyć próbę, oznaczyć pętle, wykonać zdjęcia i uzgodnić technologię jastrychu." } }
      ]
    },
    {
      "@type": "Service",
      "@id": "https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/#service",
      "name": "Indywidualny projekt instalacji ogrzewania podłogowego",
      "url": "https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/",
      "provider": { "@id": "https://projekt-ogrzewania.pl/#organization" },
      "areaServed": { "@type": "Country", "name": "Polska" },
      "serviceType": "Projekt ogrzewania podłogowego",
      "description": "Projekt obejmujący obliczenia cieplne i hydrauliczne, rozmieszczenie pętli, rozstawy, długości, przepływy i nastawy rozdzielacza."
    }
  ]
}
</script>

<script>
(function () {
  "use strict";

  var guide = document.getElementById("rk-diy-guide");
  if (!guide) {
    return;
  }
  if (guide.getAttribute("data-rk-ready") === "1") {
    return;
  }
  guide.setAttribute("data-rk-ready", "1");

  function renderList(elementId, items, emptyText) {
    var list = document.getElementById(elementId);
    if (!list) {
      return;
    }
    list.textContent = "";
    if (items.length === 0) {
      var emptyItem = document.createElement("li");
      emptyItem.textContent = emptyText;
      list.appendChild(emptyItem);
      return;
    }
    items.forEach(function (itemText) {
      var item = document.createElement("li");
      item.textContent = itemText;
      list.appendChild(item);
    });
  }

  function analyzeReadiness() {
    var fields = guide.querySelectorAll(".rk-diy-audit-field");
    var ok = [];
    var check = [];
    var stop = [];

    fields.forEach(function (field) {
      var value = field.value;
      var severity = field.getAttribute("data-severity") || "warning";
      var label = field.getAttribute("data-label") || "Element kontroli";
      var action = field.getAttribute("data-action") || "Wyjaśnij ten punkt przed wykonaniem jastrychu.";

      if (value === "yes") {
        ok.push(label + " — potwierdzone.");
        return;
      }
      if (severity === "critical") {
        if (value === "no") {
          stop.push(action);
          return;
        }
        stop.push("Brak potwierdzenia: " + label.toLowerCase() + ". " + action);
        return;
      }
      check.push(action);
    });

    var result = document.getElementById("rk-diy-result");
    var status = document.getElementById("rk-diy-result-status");
    var intro = document.getElementById("rk-diy-result-intro");
    result.classList.remove("is-good");
    result.classList.remove("is-stop");

    if (stop.length > 0) {
      result.classList.add("is-stop");
      status.textContent = "Nie zamawiaj jeszcze jastrychu — wyjaśnij warunki krytyczne";
      intro.textContent = "Co najmniej jeden brak dotyczy cechy, której po zakryciu nie da się wiarygodnie sprawdzić albo łatwo poprawić.";
    } else {
      if (check.length > 0) {
        status.textContent = "Dane krytyczne potwierdzone, ale dokumentacja nie jest kompletna";
        intro.textContent = "Uzupełnij wskazane materiały i uzgodnienia, a następnie wykonaj formalny odbiór przed wylewką.";
      } else {
        result.classList.add("is-good");
        status.textContent = "Lista kompletna — przejdź do formalnego odbioru instalacji";
        intro.textContent = "Analizator nie wykazał braków. Porównaj odpowiedzi z dokumentami i potwierdź gotowość zgodnie z procedurą inwestycji.";
      }
    }

    document.getElementById("rk-diy-ok-count").textContent = String(ok.length);
    document.getElementById("rk-diy-check-count").textContent = String(check.length);
    document.getElementById("rk-diy-stop-count").textContent = String(stop.length);
    renderList("rk-diy-ok-list", ok, "Brak potwierdzonych elementów.");
    renderList("rk-diy-check-list", check, "Brak dodatkowych punktów do sprawdzenia.");
    renderList("rk-diy-stop-list", stop, "Nie wskazano warunku blokującego wylewkę.");
  }

  function resetAnalyzer() {
    var fields = guide.querySelectorAll(".rk-diy-audit-field");
    fields.forEach(function (field) {
      field.selectedIndex = 0;
    });
    var result = document.getElementById("rk-diy-result");
    result.classList.remove("is-good");
    result.classList.remove("is-stop");
    document.getElementById("rk-diy-result-status").textContent = "Uzupełnij 15 punktów na podstawie rzeczywistego wykonania";
    document.getElementById("rk-diy-result-intro").textContent = "Wynik rozdzieli informacje potwierdzone, wymagające uzupełnienia i blokujące zakrycie instalacji.";
    document.getElementById("rk-diy-ok-count").textContent = "0";
    document.getElementById("rk-diy-check-count").textContent = String(fields.length);
    document.getElementById("rk-diy-stop-count").textContent = "0";
    renderList("rk-diy-ok-list", [], "Jeszcze brak ocenionych danych.");
    renderList("rk-diy-check-list", [], "Uzupełnij formularz na podstawie projektu, oględzin i protokołów.");
    renderList("rk-diy-stop-list", [], "Brak oceny nie oznacza gotowości do zakrycia rur.");
  }

  var runButton = document.getElementById("rk-diy-run");
  var resetButton = document.getElementById("rk-diy-reset");
  if (runButton) {
    runButton.addEventListener("click", analyzeReadiness);
  }
  if (resetButton) {
    resetButton.addEventListener("click", resetAnalyzer);
  }
}());
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/samodzielny-montaz-ogrzewania-podlogowego-5-bledow-ktorych-nie-naprawisz-po-wylewce/">Samodzielny montaż ogrzewania podłogowego – 5 błędów przed wylewką.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Temperatura zasilania pompy ciepła – czy 35°C wystarczy?</title>
		<link>https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Fri, 17 Apr 2026 10:17:48 +0000</pubDate>
				<category><![CDATA[Efektywne ogrzewanie]]></category>
		<category><![CDATA[Efektywność energetyczna]]></category>
		<category><![CDATA[Efektywność ogrzewania]]></category>
		<category><![CDATA[Instalacje niskotemperaturowe]]></category>
		<category><![CDATA[Koszty ogrzewania]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Pompa ciepła]]></category>
		<category><![CDATA[Pompy ciepła]]></category>
		<category><![CDATA[Poradnik budowlany]]></category>
		<category><![CDATA[Poradniki dla inwestorów]]></category>
		<category><![CDATA[Poradniki instalacyjne]]></category>
		<category><![CDATA[Poradniki inwestora]]></category>
		<category><![CDATA[Poradniki techniczne]]></category>
		<category><![CDATA[Projektowanie instalacji]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Projektowanie ogrzewania]]></category>
		<category><![CDATA[Projektowanie systemów grzewczych]]></category>
		<category><![CDATA[Technika grzewcza]]></category>
		<category><![CDATA[jastrych]]></category>
		<category><![CDATA[komfort cieplny]]></category>
		<category><![CDATA[koszty eksploatacji]]></category>
		<category><![CDATA[krzywa grzewcza]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[oszczędność energii]]></category>
		<category><![CDATA[ozc]]></category>
		<category><![CDATA[pompa ciepła]]></category>
		<category><![CDATA[projektowanie instalacji]]></category>
		<category><![CDATA[scop]]></category>
		<category><![CDATA[systemy niskotemperaturowe]]></category>
		<category><![CDATA[temperatura zasilania]]></category>
		<category><![CDATA[termodynamika]]></category>
		<category><![CDATA[współczynnik cop]]></category>
		<category><![CDATA[wylewka anhydrytowa]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=4200</guid>

					<description><![CDATA[<p>Wybór odpowiednich parametrów grzewczych to absolutny fundament, od którego zależą Twoje przyszłe rachunki za prąd oraz trwałość wykończenia wnętrz. W świecie nowoczesnych instalacji coraz częściej pojawia się kluczowe pytanie o to, jaka powinna być niska temperatura zasilania pompy ciepła – dlaczego 35 stopni to ideał dla podłogówki? Odpowiedź na nie wymaga zrozumienia praw fizyki, a konkretnie zależności między temperaturą czynnika a współczynnikiem wydajności COP. Utrzymywanie zasilania na tym poziomie pozwala urządzeniu pracować z maksymalną efektywnością, co bezpośrednio przekłada się na realne oszczędności w domowym budżecie. W niniejszym tekście szczegółowo analizujemy aspekty techniczne, wpływ temperatury na jastrych oraz wyjaśniamy, dlaczego precyzyjny projekt instalacji jest ważniejszy niż zakup najdroższej jednostki grzewczej dostępnej na rynku.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/">Temperatura zasilania pompy ciepła – czy 35°C wystarczy?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
  #rk-temp35-guide {
    --rk-temp35-navy: #123247;
    --rk-temp35-navy-deep: #0b2536;
    --rk-temp35-teal: #0e7787;
    --rk-temp35-cyan: #5fdef0;
    --rk-temp35-orange: #ff7a21;
    --rk-temp35-green: #248c68;
    --rk-temp35-red: #c64b48;
    --rk-temp35-amber: #b77812;
    --rk-temp35-ink: #173246;
    --rk-temp35-muted: #5d7180;
    --rk-temp35-line: #d7e1e7;
    --rk-temp35-soft: #f3f7f9;
    --rk-temp35-white: #ffffff;
    --rk-temp35-shadow: 0 18px 48px rgba(13, 43, 60, 0.12);
    color: var(--rk-temp35-ink);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-size: 18px;
    line-height: 1.72;
    overflow-x: hidden;
  }

  #rk-temp35-guide,
  #rk-temp35-guide *,
  #rk-temp35-guide *::before,
  #rk-temp35-guide *::after {
    box-sizing: border-box;
  }

  #rk-temp35-guide .rk-temp35-shell {
    width: min(1240px, 100%);
    margin: 0 auto;
  }

  #rk-temp35-guide a {
    color: #087a9f;
    text-decoration-thickness: 1.5px;
    text-underline-offset: 3px;
    overflow-wrap: anywhere;
  }

  #rk-temp35-guide a:hover {
    color: #055d79;
  }

  #rk-temp35-guide p,
  #rk-temp35-guide ul,
  #rk-temp35-guide ol {
    margin: 0 0 1.1rem;
  }

  #rk-temp35-guide strong {
    color: inherit;
  }

  #rk-temp35-guide .rk-temp35-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(42px, 6vw, 78px);
    border-radius: 32px;
    background:
      radial-gradient(circle at 90% 112%, rgba(95, 222, 240, 0.16) 0 150px, transparent 151px),
      radial-gradient(circle at 90% 112%, transparent 0 205px, rgba(95, 222, 240, 0.09) 206px 275px, transparent 276px),
      linear-gradient(115deg, #122f43 0%, #123c4f 56%, #0d5b63 100%);
    color: #ffffff;
    box-shadow: var(--rk-temp35-shadow);
  }

  #rk-temp35-guide .rk-temp35-hero::before {
    content: "";
    position: absolute;
    z-index: -1;
    left: -120px;
    bottom: -180px;
    width: 440px;
    height: 440px;
    border-radius: 50%;
    background: rgba(255, 122, 33, 0.10);
    filter: blur(2px);
  }

  #rk-temp35-guide .rk-temp35-hero-inner {
    position: relative;
    z-index: 1;
  }

  #rk-temp35-guide .rk-temp35-kicker,
  #rk-temp35-guide .rk-temp35-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    color: var(--rk-temp35-orange);
    font-size: 0.78rem;
    font-weight: 850;
    letter-spacing: 0.13em;
    line-height: 1.35;
    text-transform: uppercase;
  }

  #rk-temp35-guide .rk-temp35-kicker::before,
  #rk-temp35-guide .rk-temp35-eyebrow::before {
    content: "";
    flex: 0 0 9px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: currentColor;
  }

  #rk-temp35-guide .rk-temp35-hero-title {
    max-width: 1110px;
    margin: 0;
    color: #ffffff;
    font-size: clamp(2.55rem, 6.1vw, 5.2rem);
    font-weight: 900;
    letter-spacing: -0.055em;
    line-height: 0.98;
    text-wrap: balance;
  }

  #rk-temp35-guide .rk-temp35-hero-title span {
    color: var(--rk-temp35-cyan);
  }

  #rk-temp35-guide .rk-temp35-hero-lead {
    max-width: 1050px;
    margin: 30px 0 0;
    color: #eef9fc;
    font-size: clamp(1.05rem, 2vw, 1.34rem);
    line-height: 1.62;
  }

  #rk-temp35-guide .rk-temp35-hero-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 11px;
    margin: 28px 0 0;
  }

  #rk-temp35-guide .rk-temp35-hero-tag {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 8px 17px;
    border: 1px solid rgba(255, 255, 255, 0.26);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
    font-size: 0.84rem;
    font-weight: 800;
    line-height: 1.3;
  }

  #rk-temp35-guide .rk-temp35-byline {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 24px;
    margin: 34px 0 0;
    color: #e5f0f4;
    font-size: 0.85rem;
    font-weight: 700;
  }

  #rk-temp35-guide .rk-temp35-hero-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 38px;
  }

  #rk-temp35-guide .rk-temp35-hero-metric {
    min-width: 0;
    padding: 22px 24px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 19px;
    background: rgba(255, 255, 255, 0.08);
    color: #eff9fb;
    backdrop-filter: blur(5px);
  }

  #rk-temp35-guide .rk-temp35-hero-metric b {
    display: block;
    margin-bottom: 7px;
    color: #ffffff;
    font-size: 1.02rem;
    line-height: 1.3;
  }

  #rk-temp35-guide .rk-temp35-hero-metric span {
    display: block;
    color: #e2f1f5;
    font-size: 0.88rem;
    line-height: 1.55;
  }

  #rk-temp35-guide .rk-temp35-shortcuts {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 24px 0;
    padding: 22px;
    border: 1px solid var(--rk-temp35-line);
    border-radius: 22px;
    background: #ffffff;
    box-shadow: 0 10px 30px rgba(18, 50, 71, 0.07);
  }

  #rk-temp35-guide .rk-temp35-shortcuts-label {
    display: block;
    flex-basis: 100%;
    color: var(--rk-temp35-navy);
    font-size: 0.8rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  #rk-temp35-guide .rk-temp35-shortcuts a {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 7px 13px;
    border: 1px solid #cbd9e1;
    border-radius: 999px;
    background: var(--rk-temp35-soft);
    color: var(--rk-temp35-navy);
    font-size: 0.76rem;
    font-weight: 800;
    line-height: 1.25;
    text-decoration: none;
  }

  #rk-temp35-guide .rk-temp35-shortcuts a:hover {
    border-color: var(--rk-temp35-teal);
    background: #e8f6f8;
    color: #075f6b;
  }

  #rk-temp35-guide .rk-temp35-section,
  #rk-temp35-guide .rk-temp35-author {
    margin: 24px 0;
    padding: clamp(30px, 5vw, 62px);
    border: 1px solid var(--rk-temp35-line);
    border-radius: 28px;
    background: #ffffff;
    box-shadow: 0 14px 42px rgba(18, 50, 71, 0.07);
    scroll-margin-top: 28px;
  }

  #rk-temp35-guide .rk-temp35-section-soft {
    background: var(--rk-temp35-soft);
  }

  #rk-temp35-guide .rk-temp35-section-dark {
    border-color: #234c61;
    background:
      radial-gradient(circle at 105% 100%, rgba(95, 222, 240, 0.12) 0 190px, transparent 191px),
      linear-gradient(135deg, #102d40, #0e4854);
    color: #eff8fb;
  }

  #rk-temp35-guide .rk-temp35-section-dark .rk-temp35-section-title,
  #rk-temp35-guide .rk-temp35-section-dark h3,
  #rk-temp35-guide .rk-temp35-section-dark strong {
    color: #ffffff;
  }

  #rk-temp35-guide .rk-temp35-section-dark .rk-temp35-lead,
  #rk-temp35-guide .rk-temp35-section-dark p,
  #rk-temp35-guide .rk-temp35-section-dark li {
    color: #e3f0f4;
  }

  #rk-temp35-guide .rk-temp35-section-title,
  #rk-temp35-guide .rk-temp35-author-title {
    max-width: 1010px;
    margin: 0 0 18px;
    color: var(--rk-temp35-navy);
    font-size: clamp(1.8rem, 3.7vw, 3.05rem);
    font-weight: 900;
    letter-spacing: -0.035em;
    line-height: 1.12;
    text-wrap: balance;
  }

  #rk-temp35-guide .rk-temp35-lead {
    max-width: 1040px;
    color: #314c5e;
    font-size: 1.08rem;
    line-height: 1.75;
  }

  #rk-temp35-guide .rk-temp35-answer {
    margin: 24px 0;
    padding: 26px 28px;
    border-left: 6px solid var(--rk-temp35-cyan);
    border-radius: 8px 20px 20px 8px;
    background: var(--rk-temp35-navy);
    color: #ffffff;
  }

  #rk-temp35-guide .rk-temp35-answer-label {
    display: block;
    margin-bottom: 9px;
    color: var(--rk-temp35-cyan);
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    text-transform: uppercase;
  }

  #rk-temp35-guide .rk-temp35-answer p {
    margin: 0;
    color: #ffffff;
    font-size: 1.06rem;
  }

  #rk-temp35-guide .rk-temp35-grid-2,
  #rk-temp35-guide .rk-temp35-grid-3,
  #rk-temp35-guide .rk-temp35-grid-4 {
    display: grid;
    gap: 18px;
    margin: 24px 0;
  }

  #rk-temp35-guide .rk-temp35-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #rk-temp35-guide .rk-temp35-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  #rk-temp35-guide .rk-temp35-grid-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  #rk-temp35-guide .rk-temp35-card {
    min-width: 0;
    padding: 23px;
    border: 1px solid var(--rk-temp35-line);
    border-radius: 20px;
    background: #ffffff;
    color: var(--rk-temp35-ink);
  }

  #rk-temp35-guide .rk-temp35-card h3 {
    margin: 0 0 10px;
    color: var(--rk-temp35-navy);
    font-size: 1.06rem;
    line-height: 1.35;
  }

  #rk-temp35-guide .rk-temp35-card p,
  #rk-temp35-guide .rk-temp35-card li {
    color: #3e5869;
    font-size: 0.92rem;
    line-height: 1.65;
  }

  #rk-temp35-guide .rk-temp35-card p:last-child,
  #rk-temp35-guide .rk-temp35-card ul:last-child {
    margin-bottom: 0;
  }

  #rk-temp35-guide .rk-temp35-card-number {
    display: inline-grid;
    place-items: center;
    width: 36px;
    height: 36px;
    margin-bottom: 14px;
    border-radius: 50%;
    background: #dff8fb;
    color: #086678;
    font-size: 0.85rem;
    font-weight: 900;
  }

  #rk-temp35-guide .rk-temp35-callout,
  #rk-temp35-guide .rk-temp35-note,
  #rk-temp35-guide .rk-temp35-warning {
    margin: 24px 0 0;
    padding: 20px 22px;
    border-radius: 16px;
    color: #274657;
    font-size: 0.94rem;
    line-height: 1.68;
  }

  #rk-temp35-guide .rk-temp35-callout {
    border: 1px solid #b9e7ed;
    background: #eaf9fb;
  }

  #rk-temp35-guide .rk-temp35-note {
    border: 1px solid #d7e1e7;
    background: #ffffff;
  }

  #rk-temp35-guide .rk-temp35-warning {
    border: 1px solid #efd0a1;
    background: #fff6e9;
  }

  #rk-temp35-guide .rk-temp35-tool {
    overflow: hidden;
    margin: 28px 0 0;
    border: 1px solid #aacbd2;
    border-radius: 26px;
    background: #ffffff;
    box-shadow: 0 18px 46px rgba(15, 66, 78, 0.12);
  }

  #rk-temp35-guide .rk-temp35-tool-head {
    padding: 28px clamp(22px, 4vw, 40px);
    background: linear-gradient(125deg, var(--rk-temp35-navy), #0d5962);
    color: #ffffff;
  }

  #rk-temp35-guide .rk-temp35-tool-head .rk-temp35-eyebrow {
    color: #ffad73;
  }

  #rk-temp35-guide .rk-temp35-tool-head h3 {
    margin: 0 0 10px;
    color: #ffffff;
    font-size: clamp(1.35rem, 3vw, 2.05rem);
    line-height: 1.2;
  }

  #rk-temp35-guide .rk-temp35-tool-head p {
    max-width: 920px;
    margin: 0;
    color: #e9f7fa;
    font-size: 0.94rem;
  }

  #rk-temp35-guide .rk-temp35-tool-body {
    padding: clamp(22px, 4vw, 40px);
  }

  #rk-temp35-guide .rk-temp35-control-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 22px;
  }

  #rk-temp35-guide .rk-temp35-control {
    min-width: 0;
    padding: 18px;
    border: 1px solid var(--rk-temp35-line);
    border-radius: 18px;
    background: var(--rk-temp35-soft);
  }

  #rk-temp35-guide .rk-temp35-control-label {
    display: block;
    margin-bottom: 11px;
    color: var(--rk-temp35-navy);
    font-size: 0.84rem;
    font-weight: 900;
  }

  #rk-temp35-guide .rk-temp35-segmented {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  #rk-temp35-guide .rk-temp35-segmented button {
    min-width: 0;
    min-height: 48px;
    padding: 9px 12px;
    border: 1px solid #bfd0d9;
    border-radius: 13px;
    background: #ffffff;
    color: var(--rk-temp35-navy);
    font: inherit;
    font-size: 0.84rem;
    font-weight: 850;
    line-height: 1.25;
    cursor: pointer;
    transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
  }

  #rk-temp35-guide .rk-temp35-segmented button:hover {
    transform: translateY(-1px);
    border-color: var(--rk-temp35-teal);
  }

  #rk-temp35-guide .rk-temp35-segmented button[aria-pressed="true"] {
    border-color: var(--rk-temp35-navy);
    background: var(--rk-temp35-navy);
    color: #ffffff;
    box-shadow: 0 8px 18px rgba(18, 50, 71, 0.18);
  }

  #rk-temp35-guide .rk-temp35-state-summary {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 16px;
    align-items: center;
    margin: 0 0 22px;
    padding: 20px;
    border: 1px solid #b9e7ed;
    border-radius: 18px;
    background: #eaf9fb;
  }

  #rk-temp35-guide .rk-temp35-state-dot {
    display: grid;
    place-items: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: var(--rk-temp35-green);
    color: #ffffff;
    font-size: 1.25rem;
    font-weight: 900;
  }

  #rk-temp35-guide .rk-temp35-state-summary[data-flow="closed"] {
    border-color: #e5c4c2;
    background: #fff1f0;
  }

  #rk-temp35-guide .rk-temp35-state-summary[data-flow="closed"] .rk-temp35-state-dot {
    background: var(--rk-temp35-red);
  }

  #rk-temp35-guide .rk-temp35-state-summary strong {
    display: block;
    margin-bottom: 2px;
    color: var(--rk-temp35-navy);
    font-size: 1.05rem;
  }

  #rk-temp35-guide .rk-temp35-state-summary p {
    margin: 0;
    color: #405c6d;
    font-size: 0.91rem;
    line-height: 1.55;
  }

  #rk-temp35-guide .rk-temp35-flow-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
  }

  #rk-temp35-guide .rk-temp35-flow-step {
    position: relative;
    min-width: 0;
    padding: 22px;
    border: 1px solid var(--rk-temp35-line);
    border-radius: 20px;
    background: #ffffff;
    color: var(--rk-temp35-ink);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
  }

  #rk-temp35-guide .rk-temp35-flow-step.is-active {
    border-color: #64c7d2;
    box-shadow: 0 12px 28px rgba(14, 119, 135, 0.13);
    transform: translateY(-2px);
  }

  #rk-temp35-guide .rk-temp35-flow-step.is-rest {
    background: #f7f9fa;
  }

  #rk-temp35-guide .rk-temp35-flow-top {
    display: flex;
    gap: 13px;
    align-items: center;
    margin-bottom: 14px;
  }

  #rk-temp35-guide .rk-temp35-flow-icon {
    display: grid;
    flex: 0 0 52px;
    place-items: center;
    width: 52px;
    height: 52px;
    border-radius: 16px;
    background: #e6f7f9;
    color: #087083;
  }

  #rk-temp35-guide .rk-temp35-flow-icon svg {
    width: 29px;
    height: 29px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
  }

  #rk-temp35-guide .rk-temp35-flow-number {
    display: block;
    color: var(--rk-temp35-orange);
    font-size: 0.7rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  #rk-temp35-guide .rk-temp35-flow-step h4 {
    margin: 2px 0 0;
    color: var(--rk-temp35-navy);
    font-size: 1rem;
    line-height: 1.25;
  }

  #rk-temp35-guide .rk-temp35-flow-value {
    display: inline-flex;
    align-items: center;
    min-height: 31px;
    margin-bottom: 10px;
    padding: 5px 11px;
    border-radius: 999px;
    background: #dff6e9;
    color: #176a4e;
    font-size: 0.77rem;
    font-weight: 900;
    line-height: 1.2;
  }

  #rk-temp35-guide .rk-temp35-flow-value.is-off {
    background: #eef1f3;
    color: #5c6e79;
  }

  #rk-temp35-guide .rk-temp35-flow-value.is-closed {
    background: #fde7e6;
    color: #9c3936;
  }

  #rk-temp35-guide .rk-temp35-flow-copy {
    margin: 0;
    color: #405b6c;
    font-size: 0.87rem;
    line-height: 1.6;
  }

  #rk-temp35-guide .rk-temp35-tool-disclaimer {
    margin: 22px 0 0;
    padding: 17px 19px;
    border: 1px solid #efd0a1;
    border-radius: 15px;
    background: #fff6e9;
    color: #5f4a2c;
    font-size: 0.86rem;
    line-height: 1.6;
  }

  #rk-temp35-guide .rk-temp35-compare-table,
  #rk-temp35-guide .rk-temp35-diagnostic-table {
    overflow: hidden;
    margin: 24px 0;
    border: 1px solid var(--rk-temp35-line);
    border-radius: 20px;
    background: #ffffff;
  }

  #rk-temp35-guide .rk-temp35-table-row {
    display: grid;
    grid-template-columns: minmax(150px, 0.8fr) repeat(2, minmax(0, 1fr));
    border-top: 1px solid var(--rk-temp35-line);
  }

  #rk-temp35-guide .rk-temp35-table-row:first-child {
    border-top: 0;
  }

  #rk-temp35-guide .rk-temp35-table-row > div {
    min-width: 0;
    padding: 18px 20px;
    border-left: 1px solid var(--rk-temp35-line);
    color: #3b5667;
    font-size: 0.89rem;
    line-height: 1.58;
  }

  #rk-temp35-guide .rk-temp35-table-row > div:first-child {
    border-left: 0;
  }

  #rk-temp35-guide .rk-temp35-table-head {
    background: var(--rk-temp35-navy);
  }

  #rk-temp35-guide .rk-temp35-table-head > div {
    color: #ffffff;
    font-weight: 850;
  }

  #rk-temp35-guide .rk-temp35-table-label {
    background: #f2f6f8;
    color: var(--rk-temp35-navy) !important;
    font-weight: 850;
  }

  #rk-temp35-guide .rk-temp35-diagnostic-table .rk-temp35-table-row {
    grid-template-columns: minmax(180px, 0.8fr) minmax(0, 1fr) minmax(0, 1.15fr);
  }

  #rk-temp35-guide .rk-temp35-spec-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: 24px 0;
  }

  #rk-temp35-guide .rk-temp35-spec {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    min-width: 0;
    padding: 18px;
    border: 1px solid var(--rk-temp35-line);
    border-radius: 17px;
    background: #ffffff;
  }

  #rk-temp35-guide .rk-temp35-spec-mark {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #daf4f7;
    color: #0b7180;
    font-weight: 900;
  }

  #rk-temp35-guide .rk-temp35-spec strong {
    display: block;
    margin-bottom: 4px;
    color: var(--rk-temp35-navy);
    font-size: 0.94rem;
  }

  #rk-temp35-guide .rk-temp35-spec span {
    display: block;
    color: #4b6474;
    font-size: 0.84rem;
    line-height: 1.55;
  }

  #rk-temp35-guide .rk-temp35-chain {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    align-items: stretch;
    margin: 26px 0;
  }

  #rk-temp35-guide .rk-temp35-chain-item {
    position: relative;
    min-width: 0;
    padding: 19px 15px;
    border: 1px solid var(--rk-temp35-line);
    border-radius: 17px;
    background: #ffffff;
    color: var(--rk-temp35-ink);
    text-align: center;
  }

  #rk-temp35-guide .rk-temp35-chain-item::after {
    content: "→";
    position: absolute;
    top: 50%;
    right: -15px;
    z-index: 2;
    width: 18px;
    color: var(--rk-temp35-orange);
    font-size: 1.15rem;
    font-weight: 900;
    line-height: 1;
    transform: translateY(-50%);
  }

  #rk-temp35-guide .rk-temp35-chain-item:last-child::after {
    display: none;
  }

  #rk-temp35-guide .rk-temp35-chain-item strong {
    display: block;
    color: var(--rk-temp35-navy);
    font-size: 0.9rem;
    line-height: 1.35;
  }

  #rk-temp35-guide .rk-temp35-chain-item span {
    display: block;
    margin-top: 5px;
    color: #56707f;
    font-size: 0.75rem;
    line-height: 1.45;
  }

  #rk-temp35-guide .rk-temp35-steps {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 24px 0;
    counter-reset: rk-temp35-step;
  }

  #rk-temp35-guide .rk-temp35-step {
    position: relative;
    min-width: 0;
    padding: 21px 21px 21px 67px;
    border: 1px solid var(--rk-temp35-line);
    border-radius: 19px;
    background: #ffffff;
    color: var(--rk-temp35-ink);
    counter-increment: rk-temp35-step;
  }

  #rk-temp35-guide .rk-temp35-step::before {
    content: counter(rk-temp35-step);
    position: absolute;
    top: 20px;
    left: 20px;
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: var(--rk-temp35-navy);
    color: #ffffff;
    font-size: 0.82rem;
    font-weight: 900;
  }

  #rk-temp35-guide .rk-temp35-step h3 {
    margin: 0 0 7px;
    color: var(--rk-temp35-navy);
    font-size: 1rem;
    line-height: 1.35;
  }

  #rk-temp35-guide .rk-temp35-step p {
    margin: 0;
    color: #435e6f;
    font-size: 0.88rem;
    line-height: 1.6;
  }

  #rk-temp35-guide .rk-temp35-mistakes {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 24px;
  }

  #rk-temp35-guide .rk-temp35-mistake {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 13px;
    min-width: 0;
    padding: 19px;
    border: 1px solid #ead4d2;
    border-radius: 17px;
    background: #fff7f6;
  }

  #rk-temp35-guide .rk-temp35-mistake-icon {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--rk-temp35-red);
    color: #ffffff;
    font-weight: 900;
  }

  #rk-temp35-guide .rk-temp35-mistake strong {
    color: #7e302e;
    font-size: 0.94rem;
  }

  #rk-temp35-guide .rk-temp35-mistake p {
    margin: 4px 0 0;
    color: #5f4d4c;
    font-size: 0.85rem;
    line-height: 1.55;
  }

  #rk-temp35-guide .rk-temp35-checklist {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 24px;
  }

  #rk-temp35-guide .rk-temp35-checklist-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 13px;
    align-items: start;
    min-width: 0;
    padding: 18px;
    border: 1px solid var(--rk-temp35-line);
    border-radius: 17px;
    background: #ffffff;
    color: #425d6e;
    font-size: 0.86rem;
    line-height: 1.55;
  }

  #rk-temp35-guide .rk-temp35-checklist-item > span {
    display: grid;
    place-items: center;
    width: 31px;
    height: 31px;
    border-radius: 50%;
    background: #dff6e9;
    color: var(--rk-temp35-green);
    font-weight: 900;
  }

  #rk-temp35-guide .rk-temp35-checklist-item strong {
    color: var(--rk-temp35-navy);
    font-size: 0.92rem;
  }

  #rk-temp35-guide .rk-temp35-formula {
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
    gap: 18px;
    align-items: stretch;
    margin: 24px 0;
  }

  #rk-temp35-guide .rk-temp35-formula-box {
    display: grid;
    place-items: center;
    min-height: 170px;
    padding: 24px;
    border-radius: 20px;
    background: var(--rk-temp35-navy);
    color: #ffffff;
    text-align: center;
  }

  #rk-temp35-guide .rk-temp35-formula-box strong {
    display: block;
    color: var(--rk-temp35-cyan);
    font-size: clamp(1.35rem, 3vw, 2rem);
    line-height: 1.25;
  }

  #rk-temp35-guide .rk-temp35-formula-box span {
    display: block;
    margin-top: 8px;
    color: #dcecf2;
    font-size: 0.82rem;
  }

  #rk-temp35-guide .rk-temp35-formula-copy {
    padding: 23px;
    border: 1px solid var(--rk-temp35-line);
    border-radius: 20px;
    background: #ffffff;
    color: #3f596a;
  }

  #rk-temp35-guide .rk-temp35-formula-copy h3 {
    margin: 0 0 9px;
    color: var(--rk-temp35-navy);
    font-size: 1.08rem;
  }

  #rk-temp35-guide .rk-temp35-formula-copy p:last-child {
    margin-bottom: 0;
  }

  #rk-temp35-guide .rk-temp35-cta {
    margin: 32px 0 0;
    padding: clamp(27px, 4vw, 42px);
    border-radius: 24px;
    background:
      radial-gradient(circle at 100% 110%, rgba(95, 222, 240, 0.14) 0 130px, transparent 131px),
      linear-gradient(125deg, var(--rk-temp35-navy), #0b5761);
    color: #ffffff;
    box-shadow: 0 18px 45px rgba(11, 45, 62, 0.18);
  }

  #rk-temp35-guide .rk-temp35-cta-title {
    max-width: 930px;
    margin: 0 0 12px;
    color: #ffffff;
    font-size: clamp(1.45rem, 3.2vw, 2.35rem);
    font-weight: 900;
    letter-spacing: -0.03em;
    line-height: 1.16;
  }

  #rk-temp35-guide .rk-temp35-cta p {
    max-width: 980px;
    margin-bottom: 20px;
    color: #e7f3f6;
  }

  #rk-temp35-guide .rk-temp35-cta-button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 52px;
    padding: 12px 20px;
    border: 2px solid var(--rk-temp35-orange);
    border-radius: 12px;
    background: var(--rk-temp35-orange);
    color: #ffffff !important;
    font-weight: 900;
    line-height: 1.3;
    text-align: center;
    text-decoration: none !important;
    box-shadow: 0 10px 22px rgba(255, 122, 33, 0.22);
  }

  #rk-temp35-guide .rk-temp35-cta-button:hover {
    border-color: #ff9652;
    background: #ff9652;
    color: #ffffff !important;
  }

  #rk-temp35-guide .rk-temp35-link-disclosure {
    display: block;
    margin-top: 13px;
    color: #cfe1e6;
    font-size: 0.72rem;
    line-height: 1.45;
  }

  #rk-temp35-guide .rk-temp35-source-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 24px;
  }

  #rk-temp35-guide .rk-temp35-source-card {
    min-width: 0;
    padding: 20px;
    border: 1px solid var(--rk-temp35-line);
    border-radius: 18px;
    background: #ffffff;
  }

  #rk-temp35-guide .rk-temp35-source-card a {
    display: inline-block;
    color: var(--rk-temp35-navy);
    font-size: 0.93rem;
    font-weight: 900;
    line-height: 1.45;
  }

  #rk-temp35-guide .rk-temp35-source-card p {
    margin: 8px 0 0;
    color: #516a79;
    font-size: 0.83rem;
    line-height: 1.55;
  }

  #rk-temp35-guide .rk-temp35-responsibility {
    margin-top: 20px;
    padding: 21px;
    border: 1px solid #d7e1e7;
    border-radius: 18px;
    background: #ffffff;
    color: #405a6b;
    font-size: 0.87rem;
    line-height: 1.62;
  }

  #rk-temp35-guide .rk-temp35-responsibility p:last-child {
    margin-bottom: 0;
  }

  #rk-temp35-guide .rk-temp35-faq details {
    overflow: hidden;
    margin: 12px 0;
    border: 1px solid var(--rk-temp35-line);
    border-radius: 16px;
    background: #ffffff;
  }

  #rk-temp35-guide .rk-temp35-faq summary {
    position: relative;
    padding: 18px 52px 18px 20px;
    color: var(--rk-temp35-navy);
    font-size: 0.96rem;
    font-weight: 850;
    line-height: 1.45;
    cursor: pointer;
    list-style: none;
  }

  #rk-temp35-guide .rk-temp35-faq summary::-webkit-details-marker {
    display: none;
  }

  #rk-temp35-guide .rk-temp35-faq summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 20px;
    color: var(--rk-temp35-teal);
    font-size: 1.4rem;
    font-weight: 700;
    transform: translateY(-50%);
  }

  #rk-temp35-guide .rk-temp35-faq details[open] summary::after {
    content: "−";
  }

  #rk-temp35-guide .rk-temp35-faq-answer {
    padding: 0 20px 18px;
    color: #415c6d;
    font-size: 0.9rem;
    line-height: 1.65;
  }

  #rk-temp35-guide .rk-temp35-faq-answer p:last-child {
    margin-bottom: 0;
  }

  #rk-temp35-guide .rk-temp35-author {
    background:
      radial-gradient(circle at 98% 100%, rgba(95, 222, 240, 0.12) 0 150px, transparent 151px),
      linear-gradient(130deg, #102d40, #113f4e);
    color: #eaf4f7;
  }

  #rk-temp35-guide .rk-temp35-author .rk-temp35-eyebrow {
    color: #ff9a57;
  }

  #rk-temp35-guide .rk-temp35-author-title {
    color: #ffffff;
  }

  #rk-temp35-guide .rk-temp35-author-layout {
    display: grid;
    grid-template-columns: minmax(210px, 0.34fr) minmax(0, 1fr);
    gap: 28px;
    align-items: start;
    margin-top: 25px;
  }

  #rk-temp35-guide .rk-temp35-author-side {
    padding: 22px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.07);
    text-align: center;
  }

  #rk-temp35-guide .rk-temp35-author-photo {
    width: 150px;
    height: 150px;
    margin: 0 auto 16px;
    overflow: hidden;
    border: 4px solid rgba(255, 255, 255, 0.24);
    border-radius: 50%;
    background: #ffffff;
  }

  #rk-temp35-guide .rk-temp35-author-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  #rk-temp35-guide .rk-temp35-author-name a {
    color: #ffffff;
    font-size: 1.12rem;
    font-weight: 900;
  }

  #rk-temp35-guide .rk-temp35-author-role {
    margin: 7px 0 13px;
    color: #dbeaf0;
    font-size: 0.82rem;
    line-height: 1.5;
  }

  #rk-temp35-guide .rk-temp35-author-social {
    display: flex;
    justify-content: center;
    gap: 9px;
  }

  #rk-temp35-guide .rk-temp35-author-social a {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
    font-size: 0.8rem;
    font-weight: 900;
    text-decoration: none;
  }

  #rk-temp35-guide .rk-temp35-author-main p {
    color: #dcecf1;
    font-size: 0.92rem;
  }

  #rk-temp35-guide .rk-temp35-author-main a {
    color: var(--rk-temp35-cyan);
  }

  #rk-temp35-guide .rk-temp35-author-quote {
    margin-bottom: 21px;
    padding: 22px;
    border-left: 5px solid var(--rk-temp35-cyan);
    border-radius: 7px 17px 17px 7px;
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
    font-size: 1.03rem;
    font-weight: 750;
    line-height: 1.6;
  }

  #rk-temp35-guide .rk-temp35-author-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 11px;
    margin-top: 20px;
  }

  #rk-temp35-guide .rk-temp35-author-fact {
    min-width: 0;
    padding: 15px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.06);
    color: #d7e8ed;
    font-size: 0.75rem;
    line-height: 1.45;
  }

  #rk-temp35-guide .rk-temp35-author-fact strong {
    display: block;
    margin-bottom: 4px;
    color: #ffffff;
    font-size: 0.8rem;
  }

  #rk-temp35-guide .rk-temp35-tool-tabs,
  #rk-temp35-guide .rk-temp35-graphic-controls {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin: 0 0 22px;
  }

  #rk-temp35-guide .rk-temp35-tool-tabs button,
  #rk-temp35-guide .rk-temp35-graphic-controls button {
    min-height: 44px;
    padding: 9px 15px;
    border: 1px solid #bdd0d8;
    border-radius: 999px;
    background: #ffffff;
    color: var(--rk-temp35-navy);
    font: inherit;
    font-size: 0.8rem;
    font-weight: 850;
    line-height: 1.25;
    cursor: pointer;
  }

  #rk-temp35-guide .rk-temp35-tool-tabs button[aria-selected="true"],
  #rk-temp35-guide .rk-temp35-graphic-controls button[aria-pressed="true"] {
    border-color: var(--rk-temp35-navy);
    background: var(--rk-temp35-navy);
    color: #ffffff;
    box-shadow: 0 8px 20px rgba(18, 50, 71, 0.18);
  }

  #rk-temp35-guide .rk-temp35-panel[hidden],
  #rk-temp35-guide .rk-temp35-is-hidden {
    display: none !important;
  }

  #rk-temp35-guide .rk-temp35-field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: 18px 0;
  }

  #rk-temp35-guide .rk-temp35-field-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  #rk-temp35-guide .rk-temp35-field {
    min-width: 0;
    padding: 16px;
    border: 1px solid var(--rk-temp35-line);
    border-radius: 16px;
    background: var(--rk-temp35-soft);
  }

  #rk-temp35-guide .rk-temp35-field label,
  #rk-temp35-guide .rk-temp35-field-label {
    display: block;
    margin: 0 0 7px;
    color: var(--rk-temp35-navy);
    font-size: 0.79rem;
    font-weight: 900;
    line-height: 1.4;
  }

  #rk-temp35-guide .rk-temp35-field input,
  #rk-temp35-guide .rk-temp35-field select,
  #rk-temp35-guide .rk-temp35-loop-row input,
  #rk-temp35-guide .rk-temp35-curve-row input {
    width: 100%;
    min-height: 47px;
    margin: 0;
    padding: 10px 12px;
    border: 1px solid #b9cbd4;
    border-radius: 11px;
    background: #ffffff;
    color: #173246;
    font: inherit;
    font-size: 0.91rem;
    line-height: 1.2;
  }

  #rk-temp35-guide .rk-temp35-field input:focus,
  #rk-temp35-guide .rk-temp35-field select:focus,
  #rk-temp35-guide .rk-temp35-loop-row input:focus,
  #rk-temp35-guide .rk-temp35-curve-row input:focus {
    outline: 3px solid rgba(95, 222, 240, 0.34);
    border-color: var(--rk-temp35-teal);
  }

  #rk-temp35-guide .rk-temp35-field-help {
    display: block;
    margin-top: 7px;
    color: #5c7180;
    font-size: 0.7rem;
    line-height: 1.45;
  }

  #rk-temp35-guide .rk-temp35-tool-subtitle {
    margin: 26px 0 10px;
    color: var(--rk-temp35-navy);
    font-size: 1.12rem;
    font-weight: 900;
    line-height: 1.35;
  }

  #rk-temp35-guide .rk-temp35-loop-editor,
  #rk-temp35-guide .rk-temp35-curve-editor {
    margin: 18px 0;
    padding: 18px;
    border: 1px solid var(--rk-temp35-line);
    border-radius: 18px;
    background: var(--rk-temp35-soft);
  }

  #rk-temp35-guide .rk-temp35-loop-row,
  #rk-temp35-guide .rk-temp35-curve-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(120px, 0.46fr) auto;
    gap: 9px;
    align-items: end;
    margin-top: 10px;
  }

  #rk-temp35-guide .rk-temp35-curve-row {
    grid-template-columns: 42px repeat(2, minmax(110px, 1fr));
  }

  #rk-temp35-guide .rk-temp35-loop-row:first-child,
  #rk-temp35-guide .rk-temp35-curve-row:first-child {
    margin-top: 0;
  }

  #rk-temp35-guide .rk-temp35-loop-cell label,
  #rk-temp35-guide .rk-temp35-curve-cell label {
    display: block;
    margin-bottom: 5px;
    color: #496371;
    font-size: 0.68rem;
    font-weight: 850;
    line-height: 1.35;
  }

  #rk-temp35-guide .rk-temp35-remove-loop,
  #rk-temp35-guide .rk-temp35-add-loop {
    min-height: 45px;
    padding: 9px 13px;
    border: 1px solid #c7d5dc;
    border-radius: 11px;
    background: #ffffff;
    color: var(--rk-temp35-navy);
    font: inherit;
    font-size: 0.77rem;
    font-weight: 850;
    cursor: pointer;
  }

  #rk-temp35-guide .rk-temp35-remove-loop {
    width: 45px;
    padding: 8px;
    color: #9b3b38;
  }

  #rk-temp35-guide .rk-temp35-add-loop {
    margin-top: 13px;
    border-color: #86cdd5;
    background: #eaf9fb;
    color: #075f6b;
  }

  #rk-temp35-guide .rk-temp35-calc-layout {
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    gap: 20px;
    align-items: start;
  }

  #rk-temp35-guide .rk-temp35-results {
    min-width: 0;
  }

  #rk-temp35-guide .rk-temp35-result-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px;
    margin: 0 0 16px;
  }

  #rk-temp35-guide .rk-temp35-result {
    min-width: 0;
    padding: 17px;
    border: 1px solid #b8dce1;
    border-radius: 16px;
    background: #effbfc;
  }

  #rk-temp35-guide .rk-temp35-result span {
    display: block;
    color: #4c6876;
    font-size: 0.7rem;
    font-weight: 850;
    line-height: 1.35;
  }

  #rk-temp35-guide .rk-temp35-result strong {
    display: block;
    margin-top: 4px;
    color: var(--rk-temp35-navy);
    font-size: clamp(1.2rem, 2.5vw, 1.7rem);
    line-height: 1.2;
  }

  #rk-temp35-guide .rk-temp35-breakdown {
    padding: 18px;
    border: 1px solid var(--rk-temp35-line);
    border-radius: 17px;
    background: #ffffff;
  }

  #rk-temp35-guide .rk-temp35-breakdown-title {
    display: block;
    margin-bottom: 12px;
    color: var(--rk-temp35-navy);
    font-size: 0.86rem;
    font-weight: 900;
  }

  #rk-temp35-guide .rk-temp35-break-row {
    display: grid;
    grid-template-columns: minmax(104px, 0.62fr) minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    margin: 9px 0;
    color: #496371;
    font-size: 0.73rem;
    line-height: 1.35;
  }

  #rk-temp35-guide .rk-temp35-break-row strong,
  #rk-temp35-guide .rk-temp35-curve-row > strong {
    color: var(--rk-temp35-navy);
  }

  #rk-temp35-guide .rk-temp35-section-dark .rk-temp35-callout strong {
    color: var(--rk-temp35-navy);
  }

  #rk-temp35-guide .rk-temp35-break-track {
    height: 9px;
    overflow: hidden;
    border-radius: 999px;
    background: #e8eef1;
  }

  #rk-temp35-guide .rk-temp35-break-fill {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--rk-temp35-teal), var(--rk-temp35-cyan));
  }

  #rk-temp35-guide .rk-temp35-chart-card {
    min-width: 0;
    padding: 18px;
    border: 1px solid var(--rk-temp35-line);
    border-radius: 18px;
    background: #ffffff;
  }

  #rk-temp35-guide .rk-temp35-chart-title {
    margin: 0 0 11px;
    color: var(--rk-temp35-navy);
    font-size: 0.95rem;
    font-weight: 900;
  }

  #rk-temp35-guide .rk-temp35-chart-wrap {
    width: 100%;
    min-width: 0;
    overflow: hidden;
    border-radius: 13px;
    background: #f8fbfc;
  }

  #rk-temp35-guide .rk-temp35-chart-wrap svg {
    display: block;
    width: 100%;
    height: auto;
    min-height: 310px;
  }

  #rk-temp35-guide .rk-temp35-chart-grid-line {
    stroke: #dbe5ea;
    stroke-width: 1;
  }

  #rk-temp35-guide .rk-temp35-chart-axis {
    stroke: #6f8592;
    stroke-width: 1.4;
  }

  #rk-temp35-guide .rk-temp35-system-path {
    fill: none;
    stroke: var(--rk-temp35-teal);
    stroke-width: 4;
  }

  #rk-temp35-guide .rk-temp35-device-path {
    fill: none;
    stroke: var(--rk-temp35-orange);
    stroke-width: 4;
  }

  #rk-temp35-guide .rk-temp35-design-point {
    fill: var(--rk-temp35-navy);
    stroke: #ffffff;
    stroke-width: 4;
  }

  #rk-temp35-guide .rk-temp35-operating-point {
    fill: var(--rk-temp35-orange);
    stroke: #ffffff;
    stroke-width: 4;
  }

  #rk-temp35-guide .rk-temp35-chart-tick,
  #rk-temp35-guide .rk-temp35-chart-label {
    fill: #55707f;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 12px;
  }

  #rk-temp35-guide .rk-temp35-chart-label {
    fill: var(--rk-temp35-navy);
    font-size: 13px;
    font-weight: 800;
  }

  #rk-temp35-guide .rk-temp35-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 15px;
    margin-top: 12px;
    color: #536d7b;
    font-size: 0.69rem;
    font-weight: 800;
  }

  #rk-temp35-guide .rk-temp35-legend span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
  }

  #rk-temp35-guide .rk-temp35-legend i {
    display: inline-block;
    width: 25px;
    height: 4px;
    border-radius: 999px;
    background: var(--rk-temp35-teal);
  }

  #rk-temp35-guide .rk-temp35-legend .is-pump i {
    background: var(--rk-temp35-orange);
  }

  #rk-temp35-guide .rk-temp35-legend .is-point i {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--rk-temp35-navy);
  }

  #rk-temp35-guide .rk-temp35-status {
    margin: 15px 0 0;
    padding: 15px 17px;
    border: 1px solid #b8dce1;
    border-radius: 14px;
    background: #effbfc;
    color: #315261;
    font-size: 0.79rem;
    line-height: 1.55;
  }

  #rk-temp35-guide .rk-temp35-status.is-warning {
    border-color: #efd0a1;
    background: #fff6e9;
    color: #664d2b;
  }

  #rk-temp35-guide .rk-temp35-status.is-bad {
    border-color: #e6c2c0;
    background: #fff2f1;
    color: #743b38;
  }

  #rk-temp35-guide .rk-temp35-status.is-good {
    border-color: #b8ddce;
    background: #eefaf5;
    color: #245d48;
  }

  #rk-temp35-guide .rk-temp35-hydraulic-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 18px;
  }

  #rk-temp35-guide .rk-temp35-hydraulic-card {
    min-width: 0;
    padding: 20px;
    border: 1px solid var(--rk-temp35-line);
    border-radius: 18px;
    background: #ffffff;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
  }

  #rk-temp35-guide .rk-temp35-hydraulic-card.is-active {
    border-color: #5fc6d1;
    box-shadow: 0 12px 28px rgba(14, 119, 135, 0.13);
    transform: translateY(-2px);
  }

  #rk-temp35-guide .rk-temp35-hydraulic-card.is-muted {
    opacity: 0.58;
    background: #f3f6f7;
  }

  #rk-temp35-guide .rk-temp35-hydraulic-number {
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 34px;
    margin-bottom: 12px;
    border-radius: 50%;
    background: #ddf6f8;
    color: #086878;
    font-size: 0.78rem;
    font-weight: 900;
  }

  #rk-temp35-guide .rk-temp35-hydraulic-card h3 {
    margin: 0 0 8px;
    color: var(--rk-temp35-navy);
    font-size: 1rem;
    line-height: 1.35;
  }

  #rk-temp35-guide .rk-temp35-hydraulic-value {
    display: inline-flex;
    min-height: 29px;
    align-items: center;
    margin: 0 0 9px;
    padding: 5px 10px;
    border-radius: 999px;
    background: #eef4f6;
    color: #3f5e6d;
    font-size: 0.71rem;
    font-weight: 900;
  }

  #rk-temp35-guide .rk-temp35-hydraulic-card.is-active .rk-temp35-hydraulic-value {
    background: #dff6e9;
    color: #21664e;
  }

  #rk-temp35-guide .rk-temp35-hydraulic-card p {
    margin: 0;
    color: #466171;
    font-size: 0.82rem;
    line-height: 1.58;
  }

  #rk-temp35-guide .rk-temp35-graphic-result {
    margin-top: 16px;
    padding: 20px;
    border-left: 5px solid var(--rk-temp35-cyan);
    border-radius: 8px 16px 16px 8px;
    background: var(--rk-temp35-navy);
    color: #ffffff;
  }

  #rk-temp35-guide .rk-temp35-graphic-result strong {
    display: block;
    margin-bottom: 5px;
    color: #ffffff;
  }

  #rk-temp35-guide .rk-temp35-graphic-result p {
    margin: 0;
    color: #e8f5f8;
    font-size: 0.87rem;
  }

  #rk-temp35-guide .rk-temp35-equation {
    overflow-wrap: anywhere;
    font-variant-numeric: tabular-nums;
  }

  #rk-temp35-guide .rk-temp35-visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  @media (max-width: 1040px) {
    #rk-temp35-guide .rk-temp35-grid-4 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #rk-temp35-guide .rk-temp35-flow-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #rk-temp35-guide .rk-temp35-chain {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    #rk-temp35-guide .rk-temp35-chain-item::after {
      display: none;
    }

    #rk-temp35-guide .rk-temp35-calc-layout {
      grid-template-columns: 1fr;
    }
  }

  @media (max-width: 820px) {
    #rk-temp35-guide {
      font-size: 17px;
    }

    #rk-temp35-guide .rk-temp35-hero {
      border-radius: 24px;
    }

    #rk-temp35-guide .rk-temp35-hero-metrics,
    #rk-temp35-guide .rk-temp35-grid-3,
    #rk-temp35-guide .rk-temp35-source-grid,
    #rk-temp35-guide .rk-temp35-author-facts {
      grid-template-columns: 1fr;
    }

    #rk-temp35-guide .rk-temp35-control-grid,
    #rk-temp35-guide .rk-temp35-formula,
    #rk-temp35-guide .rk-temp35-author-layout {
      grid-template-columns: 1fr;
    }

    #rk-temp35-guide .rk-temp35-author-side {
      max-width: 430px;
    }

    #rk-temp35-guide .rk-temp35-field-grid-3,
    #rk-temp35-guide .rk-temp35-hydraulic-grid {
      grid-template-columns: 1fr;
    }
  }

  @media (max-width: 700px) {
    #rk-temp35-guide .rk-temp35-section,
    #rk-temp35-guide .rk-temp35-author {
      border-radius: 22px;
    }

    #rk-temp35-guide .rk-temp35-grid-2,
    #rk-temp35-guide .rk-temp35-grid-4,
    #rk-temp35-guide .rk-temp35-flow-grid,
    #rk-temp35-guide .rk-temp35-spec-grid,
    #rk-temp35-guide .rk-temp35-steps,
    #rk-temp35-guide .rk-temp35-mistakes,
    #rk-temp35-guide .rk-temp35-checklist,
    #rk-temp35-guide .rk-temp35-chain {
      grid-template-columns: 1fr;
    }

    #rk-temp35-guide .rk-temp35-field-grid,
    #rk-temp35-guide .rk-temp35-result-grid {
      grid-template-columns: 1fr;
    }

    #rk-temp35-guide .rk-temp35-table-row,
    #rk-temp35-guide .rk-temp35-diagnostic-table .rk-temp35-table-row {
      display: block;
      padding: 8px 0;
      border-top: 8px solid var(--rk-temp35-soft);
    }

    #rk-temp35-guide .rk-temp35-table-row:first-child {
      display: none;
    }

    #rk-temp35-guide .rk-temp35-table-row > div {
      display: grid;
      grid-template-columns: minmax(104px, 0.42fr) minmax(0, 1fr);
      gap: 10px;
      padding: 12px 15px;
      border: 0;
    }

    #rk-temp35-guide .rk-temp35-table-row > div::before {
      content: attr(data-label);
      color: var(--rk-temp35-navy);
      font-size: 0.76rem;
      font-weight: 900;
      line-height: 1.45;
    }

    #rk-temp35-guide .rk-temp35-table-label {
      background: #eef4f6;
    }

    #rk-temp35-guide .rk-temp35-loop-row {
      grid-template-columns: minmax(0, 1fr) minmax(100px, 0.6fr) auto;
    }
  }

  @media (max-width: 520px) {
    #rk-temp35-guide {
      font-size: 16px;
    }

    #rk-temp35-guide .rk-temp35-hero {
      padding: 34px 22px;
      border-radius: 20px;
    }

    #rk-temp35-guide .rk-temp35-hero-title {
      font-size: clamp(2.25rem, 12vw, 3.5rem);
      letter-spacing: -0.05em;
    }

    #rk-temp35-guide .rk-temp35-hero-lead {
      margin-top: 23px;
    }

    #rk-temp35-guide .rk-temp35-hero-tag {
      min-height: 38px;
      padding: 7px 12px;
      font-size: 0.75rem;
    }

    #rk-temp35-guide .rk-temp35-byline {
      display: grid;
      gap: 7px;
    }

    #rk-temp35-guide .rk-temp35-hero-metric {
      padding: 19px;
    }

    #rk-temp35-guide .rk-temp35-shortcuts {
      padding: 17px;
      border-radius: 18px;
    }

    #rk-temp35-guide .rk-temp35-shortcuts a {
      font-size: 0.72rem;
    }

    #rk-temp35-guide .rk-temp35-section,
    #rk-temp35-guide .rk-temp35-author {
      padding: 28px 19px;
    }

    #rk-temp35-guide .rk-temp35-answer,
    #rk-temp35-guide .rk-temp35-card,
    #rk-temp35-guide .rk-temp35-flow-step {
      padding: 20px;
    }

    #rk-temp35-guide .rk-temp35-tool-head,
    #rk-temp35-guide .rk-temp35-tool-body {
      padding: 22px 17px;
    }

    #rk-temp35-guide .rk-temp35-segmented {
      grid-template-columns: 1fr;
    }

    #rk-temp35-guide .rk-temp35-state-summary {
      grid-template-columns: 1fr;
    }

    #rk-temp35-guide .rk-temp35-state-dot {
      width: 44px;
      height: 44px;
    }

    #rk-temp35-guide .rk-temp35-step {
      padding: 66px 19px 19px;
    }

    #rk-temp35-guide .rk-temp35-step::before {
      top: 19px;
      left: 19px;
    }

    #rk-temp35-guide .rk-temp35-cta-button {
      width: 100%;
    }

    #rk-temp35-guide .rk-temp35-table-row > div {
      grid-template-columns: 1fr;
      gap: 4px;
    }

    #rk-temp35-guide .rk-temp35-loop-row,
    #rk-temp35-guide .rk-temp35-curve-row {
      grid-template-columns: 1fr;
      padding: 13px;
      border: 1px solid var(--rk-temp35-line);
      border-radius: 14px;
      background: #ffffff;
    }

    #rk-temp35-guide .rk-temp35-remove-loop {
      width: 100%;
    }

    #rk-temp35-guide .rk-temp35-chart-wrap svg {
      min-height: 260px;
    }

    #rk-temp35-guide .rk-temp35-break-row {
      grid-template-columns: 1fr auto;
    }

    #rk-temp35-guide .rk-temp35-break-track {
      grid-column: 1 / -1;
      grid-row: 2;
    }
  }

  @media print {
    #rk-temp35-guide .rk-temp35-shortcuts,
    #rk-temp35-guide .rk-temp35-control-grid {
      display: none !important;
    }

    #rk-temp35-guide .rk-temp35-section,
    #rk-temp35-guide .rk-temp35-author,
    #rk-temp35-guide .rk-temp35-hero {
      break-inside: avoid;
      box-shadow: none;
    }

    #rk-temp35-guide .rk-temp35-faq details {
      break-inside: avoid;
    }

    #rk-temp35-guide .rk-temp35-faq details:not([open]) .rk-temp35-faq-answer {
      display: block;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    #rk-temp35-guide *,
    #rk-temp35-guide *::before,
    #rk-temp35-guide *::after {
      scroll-behavior: auto !important;
      transition-duration: 0.01ms !important;
    }
  }

  #rk-temp35-guide .rk-temp35-field input.rk-temp35-range {
    width: 100%;
    min-height: 10px;
    height: 10px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: #dce8ed;
    accent-color: var(--rk-temp35-orange);
    cursor: pointer;
  }

  #rk-temp35-guide .rk-temp35-field input.rk-temp35-range:focus {
    outline: 3px solid rgba(95, 222, 240, 0.34);
    outline-offset: 5px;
  }

  #rk-temp35-guide .rk-temp35-control-label {
    display: block;
    margin: 22px 0 10px;
    color: var(--rk-temp35-navy);
    font-size: 0.82rem;
    font-weight: 900;
  }

  #rk-temp35-guide .rk-temp35-limit-line {
    stroke: #ad6f13;
    stroke-width: 2;
    stroke-dasharray: 7 6;
  }

  #rk-temp35-guide .rk-temp35-limit-label {
    fill: #8a5914;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 11px;
    font-weight: 800;
  }

  #rk-temp35-guide .rk-temp35-current-guide {
    stroke: #8da0aa;
    stroke-width: 1.5;
    stroke-dasharray: 3 5;
  }

  #rk-temp35-guide .rk-temp35-section-dark .rk-temp35-card {
    border-color: #cbd9e1;
    background: #ffffff;
    color: #173246;
  }

  #rk-temp35-guide .rk-temp35-section-dark .rk-temp35-card h3 {
    color: #123247;
  }

  #rk-temp35-guide .rk-temp35-section-dark .rk-temp35-card p,
  #rk-temp35-guide .rk-temp35-section-dark .rk-temp35-card li {
    color: #3e5869;
  }

  #rk-temp35-guide .rk-temp35-section-dark .rk-temp35-card a {
    color: #087a9f;
  }

  #rk-temp35-guide button:focus-visible,
  #rk-temp35-guide a:focus-visible,
  #rk-temp35-guide summary:focus-visible {
    outline: 3px solid var(--rk-temp35-cyan);
    outline-offset: 3px;
  }

  @media (max-width: 520px) {
    #rk-temp35-guide .rk-temp35-chart-card {
      padding: 12px;
    }

    #rk-temp35-guide .rk-temp35-chart-wrap svg {
      min-height: 235px;
    }

    #rk-temp35-guide .rk-temp35-graphic-controls button {
      width: 100%;
    }
  }



  #rk-temp35-guide .rk-temp35-equation-box {
    margin: 20px 0;
    padding: clamp(20px, 3vw, 30px);
    border: 1px solid #add6dc;
    border-radius: 20px;
    background: linear-gradient(135deg, #f0fbfc 0%, #ffffff 100%);
    box-shadow: 0 12px 30px rgba(13, 73, 88, 0.08);
  }

  #rk-temp35-guide .rk-temp35-equation-label {
    display: block;
    margin-bottom: 8px;
    color: #087083;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  #rk-temp35-guide .rk-temp35-equation-main {
    margin-bottom: 10px;
    color: var(--rk-temp35-navy);
    font-size: clamp(1.18rem, 3vw, 1.78rem);
    font-weight: 950;
    line-height: 1.25;
    overflow-wrap: anywhere;
    font-variant-numeric: tabular-nums;
  }

  #rk-temp35-guide .rk-temp35-equation-box p {
    margin: 0;
    color: #3f5b69;
  }

  #rk-temp35-guide .rk-temp35-chart-bar {
    fill: var(--rk-temp35-teal);
    stroke: transparent;
    stroke-width: 0;
    transition: opacity 0.18s ease, fill 0.18s ease;
  }

  #rk-temp35-guide .rk-temp35-chart-bar:hover,
  #rk-temp35-guide .rk-temp35-chart-bar:focus {
    opacity: 0.78;
    outline: none;
  }

  #rk-temp35-guide .rk-temp35-chart-bar.is-selected {
    fill: var(--rk-temp35-orange);
  }

  #rk-temp35-guide .rk-temp35-chart-bar.is-over {
    fill: var(--rk-temp35-red);
  }

  #rk-temp35-guide .rk-temp35-chart-bar.is-selected.is-over {
    fill: var(--rk-temp35-red);
    stroke: var(--rk-temp35-orange);
    stroke-width: 4;
  }

  #rk-temp35-guide .rk-temp35-chart-target-line {
    stroke: #9b6512;
    stroke-width: 2;
    stroke-dasharray: 8 6;
  }

  #rk-temp35-guide .rk-temp35-chart-target-label {
    fill: #81540e;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 12px;
    font-weight: 900;
  }

  #rk-temp35-guide .rk-temp35-chart-value {
    fill: #294b5c;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 12px;
    font-weight: 900;
  }

  #rk-temp35-guide .rk-temp35-chart-axis-title {
    fill: #476474;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 12px;
    font-weight: 800;
  }

  #rk-temp35-guide .rk-temp35-legend .is-danger i {
    background: var(--rk-temp35-red);
  }

  @media (max-width: 620px) {
    #rk-temp35-guide .rk-temp35-equation-main {
      font-size: 1.08rem;
    }

    #rk-temp35-guide .rk-temp35-chart-value,
    #rk-temp35-guide .rk-temp35-chart-target-label,
    #rk-temp35-guide .rk-temp35-chart-axis-title {
      font-size: 10px;
    }
  }



  #rk-temp35-guide .rk-temp35-circuit-editor {
    display: grid;
    gap: 11px;
    margin: 22px 0 12px;
  }

  #rk-temp35-guide .rk-temp35-circuit-row {
    display: grid;
    grid-template-columns: minmax(135px, 1.2fr) minmax(105px, 0.8fr) minmax(135px, 0.9fr) minmax(112px, 0.7fr) 42px;
    gap: 10px;
    align-items: end;
    padding: 12px;
    border: 1px solid var(--rk-temp35-line);
    border-radius: 15px;
    background: #ffffff;
  }

  #rk-temp35-guide .rk-temp35-circuit-cell label,
  #rk-temp35-guide .rk-temp35-circuit-flow span {
    display: block;
    margin-bottom: 6px;
    color: #496674;
    font-size: 0.72rem;
    font-weight: 900;
  }

  #rk-temp35-guide .rk-temp35-circuit-cell input {
    width: 100%;
    min-height: 44px;
    margin: 0;
    padding: 9px 10px;
    border: 1px solid #b9ccd5;
    border-radius: 10px;
    background: #ffffff;
    color: var(--rk-temp35-navy);
    font: inherit;
    font-weight: 750;
    line-height: 1.25;
  }

  #rk-temp35-guide .rk-temp35-circuit-cell input:focus {
    border-color: var(--rk-temp35-teal);
    outline: 3px solid rgba(15, 137, 151, 0.18);
  }

  #rk-temp35-guide .rk-temp35-circuit-flow {
    min-height: 44px;
    padding: 7px 9px;
    border-radius: 10px;
    background: #eef8fa;
  }

  #rk-temp35-guide .rk-temp35-circuit-flow span {
    margin-bottom: 2px;
  }

  #rk-temp35-guide .rk-temp35-circuit-flow strong {
    display: block;
    color: var(--rk-temp35-navy);
    font-size: 0.94rem;
    font-variant-numeric: tabular-nums;
  }

  #rk-temp35-guide .rk-temp35-add-loop:disabled {
    cursor: not-allowed;
    opacity: 0.56;
  }

  #rk-temp35-guide .rk-temp35-chart-common {
    fill: #80cbd3;
  }

  #rk-temp35-guide .rk-temp35-chart-branch {
    fill: var(--rk-temp35-teal);
  }

  #rk-temp35-guide .rk-temp35-chart-critical-outline {
    fill: none;
    stroke: var(--rk-temp35-orange);
    stroke-width: 4;
  }

  #rk-temp35-guide .rk-temp35-chart-grid {
    stroke: #dbe5e9;
    stroke-width: 1;
  }

  #rk-temp35-guide .rk-temp35-chart-tick,
  #rk-temp35-guide .rk-temp35-chart-name,
  #rk-temp35-guide .rk-temp35-chart-index,
  #rk-temp35-guide .rk-temp35-chart-value,
  #rk-temp35-guide .rk-temp35-chart-axis-title {
    fill: #3f5d6c;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 11px;
    font-weight: 800;
  }

  #rk-temp35-guide .rk-temp35-chart-value {
    fill: var(--rk-temp35-navy);
    font-size: 12px;
    font-weight: 950;
  }

  #rk-temp35-guide .rk-temp35-chart-index {
    fill: #6e8490;
    font-size: 9px;
  }

  #rk-temp35-guide .rk-temp35-legend .is-common i {
    background: #80cbd3;
  }

  #rk-temp35-guide .rk-temp35-legend .is-pump i {
    border: 3px solid var(--rk-temp35-orange);
    background: transparent;
  }

  #rk-temp35-guide .rk-temp35-state-controls {
    margin-bottom: 18px;
  }

  @media (max-width: 900px) {
    #rk-temp35-guide .rk-temp35-circuit-row {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #rk-temp35-guide .rk-temp35-circuit-flow {
      align-self: end;
    }

    #rk-temp35-guide .rk-temp35-remove-loop {
      width: 100%;
      grid-column: 1 / -1;
    }
  }

  @media (max-width: 560px) {
    #rk-temp35-guide .rk-temp35-circuit-row {
      grid-template-columns: 1fr;
    }

    #rk-temp35-guide .rk-temp35-chart-tick,
    #rk-temp35-guide .rk-temp35-chart-name,
    #rk-temp35-guide .rk-temp35-chart-value,
    #rk-temp35-guide .rk-temp35-chart-axis-title {
      font-size: 9px;
    }
  }



  #rk-temp35-guide .rk-temp35-segmented button[aria-selected="true"] {
    border-color: var(--rk-temp35-navy);
    background: var(--rk-temp35-navy);
    color: #ffffff;
    box-shadow: 0 8px 18px rgba(18, 50, 71, 0.18);
  }

  #rk-temp35-guide .rk-temp35-field-grid-single {
    grid-template-columns: minmax(0, 1fr);
  }

  #rk-temp35-guide .rk-temp35-calc-summary {
    margin: 22px 0;
    padding: 18px;
    border: 1px solid #b9e3e8;
    border-radius: 18px;
    background: #f0fbfc;
  }

  #rk-temp35-guide .rk-temp35-calc-summary .rk-temp35-result-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 13px;
  }

  #rk-temp35-guide .rk-temp35-calc-summary .rk-temp35-result {
    background: #ffffff;
  }

  #rk-temp35-guide .rk-temp35-calc-summary .rk-temp35-result strong {
    font-size: clamp(1.05rem, 2.1vw, 1.42rem);
  }

  #rk-temp35-guide .rk-temp35-calc-summary .rk-temp35-equation {
    margin: 0;
    color: #365665;
    font-size: 0.78rem;
    font-weight: 800;
  }

  #rk-temp35-guide .rk-temp35-pipe-results {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: 20px 0;
  }

  #rk-temp35-guide .rk-temp35-pipe-result {
    min-width: 0;
    padding: 19px;
    border: 1px solid var(--rk-temp35-line);
    border-radius: 18px;
    background: #ffffff;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
  }

  #rk-temp35-guide .rk-temp35-pipe-result.is-selected {
    border-color: var(--rk-temp35-orange);
    box-shadow: 0 12px 28px rgba(245, 112, 32, 0.13);
    transform: translateY(-2px);
  }

  #rk-temp35-guide .rk-temp35-pipe-result-head {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 7px 14px;
    align-items: baseline;
    margin-bottom: 13px;
    color: var(--rk-temp35-navy);
  }

  #rk-temp35-guide .rk-temp35-pipe-result-head span {
    font-size: 1.05rem;
    font-weight: 950;
  }

  #rk-temp35-guide .rk-temp35-pipe-result-head strong {
    color: #54707e;
    font-size: 0.74rem;
  }

  #rk-temp35-guide .rk-temp35-pipe-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  #rk-temp35-guide .rk-temp35-pipe-metrics > div {
    min-width: 0;
    padding: 11px;
    border-radius: 11px;
    background: #f2f7f8;
  }

  #rk-temp35-guide .rk-temp35-pipe-metrics span,
  #rk-temp35-guide .rk-temp35-pipe-metrics strong {
    display: block;
  }

  #rk-temp35-guide .rk-temp35-pipe-metrics span {
    color: #5b7380;
    font-size: 0.65rem;
    font-weight: 800;
    line-height: 1.35;
  }

  #rk-temp35-guide .rk-temp35-pipe-metrics strong {
    margin-top: 3px;
    color: var(--rk-temp35-navy);
    font-size: 0.87rem;
    font-variant-numeric: tabular-nums;
    line-height: 1.3;
  }

  #rk-temp35-guide .rk-temp35-pipe-status {
    margin: 12px 0;
    padding: 10px 12px;
    border-radius: 10px;
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1.45;
  }

  #rk-temp35-guide .rk-temp35-pipe-status.is-within {
    background: #eaf8f1;
    color: #245e49;
  }

  #rk-temp35-guide .rk-temp35-pipe-status.is-over {
    background: #fff2e8;
    color: #7b421d;
  }

  #rk-temp35-guide .rk-temp35-pipe-result button {
    width: 100%;
    min-height: 44px;
    padding: 9px 12px;
    border: 1px solid #bcd0d8;
    border-radius: 11px;
    background: #ffffff;
    color: var(--rk-temp35-navy);
    font: inherit;
    font-size: 0.74rem;
    font-weight: 850;
    line-height: 1.3;
    cursor: pointer;
  }

  #rk-temp35-guide .rk-temp35-pipe-result button[aria-pressed="true"] {
    border-color: var(--rk-temp35-navy);
    background: var(--rk-temp35-navy);
    color: #ffffff;
  }

  #rk-temp35-guide .rk-temp35-series-controls {
    display: flex;
    flex-wrap: wrap;
    gap: 7px 13px;
    margin: 0 0 12px;
  }

  #rk-temp35-guide .rk-temp35-series-controls button {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    gap: 7px;
    padding: 7px 10px;
    border: 1px solid transparent;
    border-radius: 9px;
    background: transparent;
    color: #425f6e;
    font: inherit;
    font-size: 0.72rem;
    font-weight: 850;
    cursor: pointer;
  }

  #rk-temp35-guide .rk-temp35-series-controls button[aria-pressed="false"] {
    opacity: 0.45;
    text-decoration: line-through;
  }

  #rk-temp35-guide .rk-temp35-series-controls i {
    display: inline-block;
    width: 24px;
    height: 4px;
    border-radius: 999px;
  }

  #rk-temp35-guide .rk-temp35-series-controls .is-p16,
  #rk-temp35-guide .rk-temp35-chart-curve.is-p16,
  #rk-temp35-guide .rk-temp35-chart-point.is-p16 {
    stroke: #e96a28;
    background: #e96a28;
    fill: #e96a28;
  }

  #rk-temp35-guide .rk-temp35-series-controls .is-p17,
  #rk-temp35-guide .rk-temp35-chart-curve.is-p17,
  #rk-temp35-guide .rk-temp35-chart-point.is-p17 {
    stroke: #087f91;
    background: #087f91;
    fill: #087f91;
  }

  #rk-temp35-guide .rk-temp35-series-controls .is-p20,
  #rk-temp35-guide .rk-temp35-chart-curve.is-p20,
  #rk-temp35-guide .rk-temp35-chart-point.is-p20 {
    stroke: #315aa6;
    background: #315aa6;
    fill: #315aa6;
  }

  #rk-temp35-guide .rk-temp35-series-controls .is-custom,
  #rk-temp35-guide .rk-temp35-chart-curve.is-custom,
  #rk-temp35-guide .rk-temp35-chart-point.is-custom {
    stroke: #7a4ea3;
    background: #7a4ea3;
    fill: #7a4ea3;
  }

  #rk-temp35-guide .rk-temp35-chart-grid line {
    stroke: #dbe5e9;
    stroke-width: 1;
  }

  #rk-temp35-guide .rk-temp35-chart-grid text,
  #rk-temp35-guide .rk-temp35-chart-axis-title,
  #rk-temp35-guide .rk-temp35-chart-criterion-label {
    fill: #506d7b;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 11px;
    font-weight: 750;
  }

  #rk-temp35-guide .rk-temp35-chart-axis-title {
    fill: var(--rk-temp35-navy);
    font-size: 12px;
    font-weight: 900;
  }

  #rk-temp35-guide .rk-temp35-chart-frame {
    fill: none;
    stroke: #91a8b2;
    stroke-width: 1.2;
  }

  #rk-temp35-guide .rk-temp35-chart-curve {
    stroke-width: 2.4;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  #rk-temp35-guide .rk-temp35-chart-curve.is-selected {
    stroke-width: 4.5;
  }

  #rk-temp35-guide .rk-temp35-chart-guide {
    stroke: var(--rk-temp35-navy);
    stroke-width: 1.5;
    stroke-dasharray: 6 5;
  }

  #rk-temp35-guide .rk-temp35-chart-point {
    stroke-width: 2;
    stroke: #ffffff;
  }

  #rk-temp35-guide .rk-temp35-chart-point.is-selected {
    stroke: var(--rk-temp35-navy);
    stroke-width: 3;
  }

  #rk-temp35-guide .rk-temp35-chart-criterion {
    stroke: #ac5a24;
    stroke-width: 1.5;
    stroke-dasharray: 3 4;
  }

  #rk-temp35-guide .rk-temp35-chart-criterion-label {
    fill: #7b4a29;
  }

  #rk-temp35-guide .rk-temp35-chart-reading {
    margin-top: 12px;
    padding: 13px 15px;
    border-left: 4px solid var(--rk-temp35-cyan);
    border-radius: 7px 12px 12px 7px;
    background: #edf8fa;
    color: #345463;
    font-size: 0.75rem;
    line-height: 1.5;
  }

  #rk-temp35-guide .rk-temp35-chart-reading strong {
    color: var(--rk-temp35-navy);
  }

  @media (max-width: 900px) {
    #rk-temp35-guide .rk-temp35-calc-summary .rk-temp35-result-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (max-width: 700px) {
    #rk-temp35-guide .rk-temp35-pipe-results {
      grid-template-columns: 1fr;
    }
  }

  @media (max-width: 460px) {
    #rk-temp35-guide .rk-temp35-calc-summary .rk-temp35-result-grid,
    #rk-temp35-guide .rk-temp35-pipe-metrics {
      grid-template-columns: 1fr;
    }

    #rk-temp35-guide .rk-temp35-chart-grid text,
    #rk-temp35-guide .rk-temp35-chart-axis-title {
      font-size: 10px;
    }
  }


  /* Dodatkowe style modułów temperatury zasilania */
  #rk-temp35-guide .rk-temp35-result-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  #rk-temp35-guide .rk-temp35-field-grid-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  #rk-temp35-guide .rk-temp35-chart-card {
    margin-top: 24px;
  }

  #rk-temp35-guide .rk-temp35-chart-unit {
    fill: #476474;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 14px;
    font-weight: 850;
  }

  #rk-temp35-guide .rk-temp35-chart-bar.is-required {
    fill: #123247;
  }

  #rk-temp35-guide .rk-temp35-chart-bar.is-available {
    fill: #0e7787;
  }

  #rk-temp35-guide .rk-temp35-chart-bar.is-low {
    fill: #248c68;
  }

  #rk-temp35-guide .rk-temp35-chart-bar.is-high {
    fill: #ff7a21;
  }

  #rk-temp35-guide .rk-temp35-chart-value.is-inside {
    fill: #ffffff;
  }

  #rk-temp35-guide .rk-temp35-chart-label {
    font-size: 14px;
  }

  #rk-temp35-guide .rk-temp35-chart-value {
    font-size: 14px;
  }

  #rk-temp35-guide .rk-temp35-chart-reading {
    margin-top: 12px;
    padding: 13px 15px;
    border: 1px solid #cfe0e6;
    border-radius: 12px;
    background: #f5f9fa;
    color: #365665;
    font-size: 0.78rem;
    line-height: 1.55;
  }

  #rk-temp35-guide .rk-temp35-equation {
    margin: 15px 0 0;
    padding: 14px 16px;
    border: 1px solid #d6e3e8;
    border-radius: 13px;
    background: #ffffff;
    color: #365665;
    font-size: 0.78rem;
    font-weight: 800;
  }

  #rk-temp35-guide .rk-temp35-hydraulic-card.is-warning {
    border-color: #e3ad58;
    background: #fff8ed;
    box-shadow: 0 12px 28px rgba(183, 120, 18, 0.12);
    transform: translateY(-2px);
  }

  #rk-temp35-guide .rk-temp35-hydraulic-card.is-warning .rk-temp35-hydraulic-value {
    background: #ffe9c5;
    color: #7a4e0c;
  }

  #rk-temp35-guide .rk-temp35-source-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  @media (max-width: 1040px) {
    #rk-temp35-guide .rk-temp35-field-grid-4 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (max-width: 820px) {
    #rk-temp35-guide .rk-temp35-source-grid {
      grid-template-columns: 1fr;
    }
  }

  @media (max-width: 700px) {
    #rk-temp35-guide .rk-temp35-result-grid-3,
    #rk-temp35-guide .rk-temp35-field-grid-4 {
      grid-template-columns: 1fr;
    }
  }

  @media (max-width: 520px) {
    #rk-temp35-guide .rk-temp35-chart-label,
    #rk-temp35-guide .rk-temp35-chart-tick,
    #rk-temp35-guide .rk-temp35-chart-value,
    #rk-temp35-guide .rk-temp35-chart-unit {
      font-size: 12px;
    }
  }
</style>

<article id="rk-temp35-guide" aria-labelledby="rk-temp35-visual-title">
  <div class="rk-temp35-shell">
    <header class="rk-temp35-hero">
      <div class="rk-temp35-hero-inner">
        <span class="rk-temp35-kicker">35°C to punkt projektowy, nie dogmat</span>
        <div class="rk-temp35-hero-title" id="rk-temp35-visual-title">Najniższa temperatura, <span>która pokrywa straty</span></div>
        <p class="rk-temp35-hero-lead">Podłogówka nie potrzebuje z definicji dokładnie 35°C. Prawidłowa temperatura zasilania wynika z obciążenia każdego pomieszczenia, czynnej powierzchni podłogi, jej konstrukcji, okładziny i warunków obliczeniowych. Dla pompy ciepła celem jest możliwie niski parametr, ale bez utraty wymaganej mocy.</p>

        <div class="rk-temp35-hero-tags" aria-label="Zakres poradnika">
          <span class="rk-temp35-hero-tag">parametr 35/30°C</span>
          <span class="rk-temp35-hero-tag">moc podłogi</span>
          <span class="rk-temp35-hero-tag">COP i SCOP</span>
          <span class="rk-temp35-hero-tag">krzywa grzewcza</span>
          <span class="rk-temp35-hero-tag">przepływ i ΔT</span>
        </div>

        <div class="rk-temp35-byline">
          <span>Autor: <strong>Robert Kucharski</strong></span>
          <span>Czas czytania: około 39 minut</span>
          <span>Aktualizacja techniczna: 11 września 2026 r.</span>
        </div>

        <div class="rk-temp35-hero-metrics" aria-label="Trzy etapy wyznaczania temperatury zasilania">
          <div class="rk-temp35-hero-metric">
            <b>OZC wyznacza potrzebną moc</b>
            <span>Najpierw ustala się obciążenie każdego pomieszczenia w warunkach projektowych.</span>
          </div>
          <div class="rk-temp35-hero-metric">
            <b>Podłoga musi ją przekazać</b>
            <span>Liczą się powierzchnia czynna, rozstaw, warstwy, okładzina oraz średnia temperatura wody.</span>
          </div>
          <div class="rk-temp35-hero-metric">
            <b>Pompa pracuje w wynikowym punkcie</b>
            <span>Sprawność zależy od rzeczywistych temperatur, pogody, obciążenia i konkretnego urządzenia.</span>
          </div>
        </div>
      </div>
    </header>

    <nav class="rk-temp35-shortcuts" aria-label="Na skróty — wszystkie sekcje artykułu">
      <span class="rk-temp35-shortcuts-label">Na skróty — wszystkie H2</span>
      <a href="#rk-temp35-answer">Szybka odpowiedź</a>
      <a href="#rk-temp35-notation">Co oznacza 35/30°C?</a>
      <a href="#rk-temp35-efficiency">Wpływ na sprawność</a>
      <a href="#rk-temp35-not-universal">Dlaczego nie zawsze 35°C?</a>
      <a href="#rk-temp35-factors">Czynniki doboru</a>
      <a href="#rk-temp35-heat-flux">Wymagane W/m²</a>
      <a href="#rk-temp35-calculator">Kalkulator i wykres</a>
      <a href="#rk-temp35-results">Interpretacja</a>
      <a href="#rk-temp35-graphic">Grafika zależności</a>
      <a href="#rk-temp35-spacing">Rozstaw rur</a>
      <a href="#rk-temp35-coverings">Okładziny</a>
      <a href="#rk-temp35-curve">Krzywa grzewcza</a>
      <a href="#rk-temp35-hydraulics">ΔT i przepływ</a>
      <a href="#rk-temp35-architecture">Układ instalacji</a>
      <a href="#rk-temp35-buffer">Bufor i zład</a>
      <a href="#rk-temp35-example">Przykład</a>
      <a href="#rk-temp35-errors">Błędy i mity</a>
      <a href="#rk-temp35-checklist">Lista kontrolna</a>
      <a href="#rk-temp35-conclusions">Wnioski</a>
      <a href="#rk-temp35-references">Źródła</a>
      <a href="#rk-temp35-faq">FAQ</a>
      <a href="#rk-temp35-author">Autor</a>
    </nav>

    <section class="rk-temp35-section" id="rk-temp35-answer">
      <span class="rk-temp35-eyebrow">Odpowiedź w 30 sekund</span>
      <h2 class="rk-temp35-section-title">Czy 35°C zawsze wystarczy do ogrzewania podłogowego?</h2>
      <div class="rk-temp35-answer">
        <span class="rk-temp35-answer-label">Najkrótsza poprawna odpowiedź</span>
        <p><strong>Nie zawsze. Temperatura zasilania 35°C wystarczy wtedy, gdy rzeczywista moc ogrzewania podłogowego przy danej konstrukcji i powierzchni czynnej jest co najmniej równa obciążeniu wszystkich pomieszczeń. W dobrze ocieplonym domu może wystarczyć jeszcze niższa wartość, a w pomieszczeniu o dużych stratach, małej powierzchni czynnej lub opornej okładzinie może być potrzebny wyższy parametr albo zmiana projektu emitera.</strong></p>
      </div>

      <div class="rk-temp35-grid-3">
        <article class="rk-temp35-card"><h3>32°C może wystarczyć</h3><p>W budynku o małym obciążeniu i dużej powierzchni czynnej podłoga może pokryć straty przy temperaturze niższej niż 35°C.</p></article>
        <article class="rk-temp35-card"><h3>35°C jest częstym założeniem</h3><p>Parametr 35/30°C jest użytecznym punktem obliczeniowym, ale jego skuteczność trzeba potwierdzić dla każdego pomieszczenia.</p></article>
        <article class="rk-temp35-card"><h3>40°C nie oznacza awarii projektu</h3><p>Wyższy parametr może być uzasadniony w trudniejszym budynku. Nadal należy szukać najniższej wartości zapewniającej wymaganą moc.</p></article>
      </div>

      <p>Najważniejsza zasada brzmi: <strong>nie wybieramy temperatury na podstawie samego napisu „pompa ciepła”</strong>. Punktem wyjścia jest <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projektowe obciążenie cieplne OZC</a>, a następnie zdolność konkretnej podłogi do przekazania tej mocy. Dopiero wtedy ocenia się wymagany parametr źródła.</p>
      <div class="rk-temp35-callout"><strong>35°C nie jest uniwersalnym nakazem normowym.</strong> Normowe metody opisują sposób wyznaczania mocy i wymiarowania ogrzewania płaszczyznowego. Wynik zależy od różnicy temperatur, konstrukcji, geometrii oraz warunków pomieszczenia.</div>
    </section>

    <section class="rk-temp35-section rk-temp35-section-soft" id="rk-temp35-notation">
      <span class="rk-temp35-eyebrow">Jedna liczba nie opisuje całego obiegu</span>
      <h2 class="rk-temp35-section-title">Co właściwie oznacza parametr 35/30°C?</h2>
      <p class="rk-temp35-lead">Zapis 35/30°C oznacza projektową temperaturę zasilania 35°C i powrotu 30°C. Różnica wynosi 5 K, a średnia temperatura wody — w prostym ujęciu — 32,5°C.</p>

      <div class="rk-temp35-equation-box">
        <span class="rk-temp35-equation-label">Podstawowe zależności</span>
        <div class="rk-temp35-equation-main">ΔT = 35 − 30 = 5 K &nbsp; | &nbsp; θ<sub>m</sub> = (35 + 30) ÷ 2 = 32,5°C</div>
        <p>Do emisji podłogi istotna jest średnia różnica pomiędzy temperaturą czynnika i pomieszczenia, a nie wyłącznie temperatura na króćcu zasilającym.</p>
      </div>

      <div class="rk-temp35-compare-table" role="table" aria-label="Znaczenie temperatur w instalacji ogrzewania podłogowego">
        <div class="rk-temp35-table-row rk-temp35-table-head" role="row"><div role="columnheader">Wielkość</div><div role="columnheader">Co opisuje?</div><div role="columnheader">Dlaczego jest ważna?</div></div>
        <div class="rk-temp35-table-row" role="row"><div class="rk-temp35-table-label" data-label="Wielkość" role="cell">Zasilanie 35°C</div><div data-label="Opis" role="cell">Temperaturę wody wpływającej do obiegu lub rozdzielacza.</div><div data-label="Znaczenie" role="cell">Wpływa na możliwą moc emitera i punkt pracy pompy ciepła.</div></div>
        <div class="rk-temp35-table-row" role="row"><div class="rk-temp35-table-label" data-label="Wielkość" role="cell">Powrót 30°C</div><div data-label="Opis" role="cell">Temperaturę wody po oddaniu części energii do podłogi.</div><div data-label="Znaczenie" role="cell">Wspólnie z zasilaniem określa średnią temperaturę i projektowe ΔT.</div></div>
        <div class="rk-temp35-table-row" role="row"><div class="rk-temp35-table-label" data-label="Wielkość" role="cell">Podłoga 24–29°C</div><div data-label="Opis" role="cell">Temperaturę powierzchni odczuwaną w pomieszczeniu.</div><div data-label="Znaczenie" role="cell">Nie jest równa temperaturze wody i wynika z przekazywanego strumienia ciepła.</div></div>
        <div class="rk-temp35-table-row" role="row"><div class="rk-temp35-table-label" data-label="Wielkość" role="cell">Powietrze 20–24°C</div><div data-label="Opis" role="cell">Projektową lub regulowaną temperaturę pomieszczenia.</div><div data-label="Znaczenie" role="cell">Zmienia różnicę napędzającą przepływ ciepła z podłogi.</div></div>
      </div>

      <p>Parametr 35/30°C nie gwarantuje automatycznie określonej temperatury posadzki. Zależność opisuje poradnik o <a href="https://projekt-ogrzewania.pl/jaka-jest-optymalna-temperatura-ogrzewania-podlogowego/">optymalnej temperaturze ogrzewania podłogowego</a>. Osobno należy kontrolować również <a href="https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/">maksymalną temperaturę zasilania podłogówki</a>.</p>
    </section>

    <section class="rk-temp35-section" id="rk-temp35-efficiency">
      <span class="rk-temp35-eyebrow">Niższe podnoszenie temperatury zwykle pomaga</span>
      <h2 class="rk-temp35-section-title">Dlaczego niższa temperatura zasilania wspiera sprawność pompy ciepła?</h2>
      <p class="rk-temp35-lead">Pompa ciepła przenosi energię z dolnego źródła do instalacji. Im mniejsza różnica pomiędzy temperaturą źródła i wymaganą temperaturą wody, tym korzystniejsze mogą być warunki pracy sprężarki. Nie istnieje jednak jeden procent poprawy wspólny dla wszystkich urządzeń.</p>

      <div class="rk-temp35-grid-3">
        <article class="rk-temp35-card"><h3>Temperatura dolnego źródła</h3><p>Powietrze zewnętrzne, grunt lub woda zmieniają warunki parowania. Dlatego COP ma sens tylko razem z opisem punktu pomiarowego.</p></article>
        <article class="rk-temp35-card"><h3>Temperatura po stronie instalacji</h3><p>Wyższa temperatura wody zwykle zwiększa wymagane podniesienie temperatury, lecz skala skutku zależy od konstrukcji urządzenia.</p></article>
        <article class="rk-temp35-card"><h3>Obciążenie częściowe</h3><p>Modulacja, odszranianie, praca pomp i przygotowanie CWU wpływają na wynik sezonowy inaczej niż pojedynczy punkt katalogowy.</p></article>
      </div>

      <div class="rk-temp35-grid-2">
        <article class="rk-temp35-card"><h3>COP</h3><p>Opisuje stosunek uzyskanej mocy cieplnej do pobranej mocy elektrycznej w konkretnych warunkach badania lub pracy.</p></article>
        <article class="rk-temp35-card"><h3>SCOP</h3><p>Jest wskaźnikiem sezonowym. Nie powinno się go zastępować pojedynczym COP ani obliczać z samej temperatury zasilania.</p></article>
      </div>

      <p>W praktyce porównujemy dane tego samego modelu w porównywalnych warunkach. Nie przenosimy COP jednej pompy na inne urządzenie i nie wyznaczamy trwałości sprężarki z prostego suwaka temperatury. Ogólny kontekst pracy źródła rozwija poradnik <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">pompa ciepła i instalacja ogrzewania podłogowego</a>.</p>
    </section>

    <section class="rk-temp35-section rk-temp35-section-dark" id="rk-temp35-not-universal">
      <span class="rk-temp35-eyebrow">Najpierw moc, potem parametr</span>
      <h2 class="rk-temp35-section-title">Dlaczego 35°C nie jest uniwersalnym optimum?</h2>
      <p class="rk-temp35-lead">Dwa domy z identyczną pompą mogą wymagać innej temperatury. Nawet w jednym budynku łazienka, salon z przeszkleniami i sypialnia mogą mieć zupełnie różne obciążenie przypadające na metr czynnej podłogi.</p>

      <div class="rk-temp35-grid-3">
        <article class="rk-temp35-card"><h3>Za niska temperatura</h3><p>Jeżeli podłoga nie pokrywa strat w warunkach projektowych, pomieszczenie nie osiągnie zadanej temperatury mimo prawidłowego przepływu.</p></article>
        <article class="rk-temp35-card"><h3>Temperatura wystarczająca</h3><p>Emiter pokrywa obciążenie z rozsądną rezerwą, a instalacja zachowuje wymagane warunki powierzchniowe i hydrauliczne.</p></article>
        <article class="rk-temp35-card"><h3>Temperatura niepotrzebnie wysoka</h3><p>Może pogarszać warunki pracy źródła i regulację, choć pomieszczenia nadal będą ogrzane.</p></article>
      </div>

      <p>Właściwy cel to <strong>najniższa krzywa grzewcza zapewniająca bilans wszystkich pomieszczeń</strong>, a nie bezwarunkowe utrzymywanie 35°C przez cały sezon. Czasami wymaga to zagęszczenia rur, zwiększenia powierzchni czynnej, zmiany okładziny, ograniczenia strat budynku albo zastosowania dodatkowego emitera.</p>
    </section>

    <section class="rk-temp35-section" id="rk-temp35-factors">
      <span class="rk-temp35-eyebrow">Osiem danych zamiast jednej liczby</span>
      <h2 class="rk-temp35-section-title">Od czego zależy wymagana temperatura zasilania?</h2>
      <p class="rk-temp35-lead">Temperatura jest wynikiem projektu cieplnego. Nie można jej dobrać poprawnie z powierzchni domu, mocy znamionowej pompy ani samego rozstawu rur.</p>

      <div class="rk-temp35-spec-grid">
        <div class="rk-temp35-spec"><span class="rk-temp35-spec-mark">1</span><div><strong>Obciążenie pomieszczenia</strong><span>Projektowe straty w watach dla temperatury zewnętrznej właściwej lokalizacji.</span></div></div>
        <div class="rk-temp35-spec"><span class="rk-temp35-spec-mark">2</span><div><strong>Powierzchnia czynna</strong><span>Fragment podłogi rzeczywiście uczestniczący w oddawaniu ciepła.</span></div></div>
        <div class="rk-temp35-spec"><span class="rk-temp35-spec-mark">3</span><div><strong>Temperatura pomieszczenia</strong><span>Inne warunki projektowe przyjmuje się dla sypialni, salonu i łazienki.</span></div></div>
        <div class="rk-temp35-spec"><span class="rk-temp35-spec-mark">4</span><div><strong>Rozstaw oraz rura</strong><span>Geometria systemu wpływa na pole charakterystyk cieplnych i hydraulikę.</span></div></div>
        <div class="rk-temp35-spec"><span class="rk-temp35-spec-mark">5</span><div><strong>Warstwy nad rurą</strong><span>Rodzaj i grubość jastrychu zmieniają przewodzenie oraz bezwładność.</span></div></div>
        <div class="rk-temp35-spec"><span class="rk-temp35-spec-mark">6</span><div><strong>Okładzina podłogowa</strong><span>Płytki, winyl, panele i drewno mają różny opór cieplny oraz ograniczenia producenta.</span></div></div>
        <div class="rk-temp35-spec"><span class="rk-temp35-spec-mark">7</span><div><strong>Temperatura i ΔT wody</strong><span>Zasilanie oraz powrót wyznaczają średnią temperaturę czynnika i przepływ.</span></div></div>
        <div class="rk-temp35-spec"><span class="rk-temp35-spec-mark">8</span><div><strong>Warunki źródła</strong><span>Charakterystyka pompy, przepływ minimalny, automatyka i temperatura zewnętrzna.</span></div></div>
      </div>

      <p>Podstawą pozostaje obliczenie dla każdego pomieszczenia. Zobacz, <a href="https://projekt-ogrzewania.pl/jak-oblicza-sie-straty-cieplne-w-budynkach/">jak oblicza się straty ciepła budynku</a> oraz jak powstaje <a href="https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/">projekt ogrzewania podłogowego z pompą ciepła</a>.</p>
    </section>

    <section class="rk-temp35-section rk-temp35-section-soft" id="rk-temp35-heat-flux">
      <span class="rk-temp35-eyebrow">Wymagana moc przypada na powierzchnię, która naprawdę grzeje</span>
      <h2 class="rk-temp35-section-title">Jak obciążenie i powierzchnia czynna wyznaczają wymagane W/m²?</h2>
      <p class="rk-temp35-lead">Jeżeli pomieszczenie wymaga 1000 W, nie wolno dzielić tej wartości przez cały metraż, gdy część podłogi zajmuje stała zabudowa. Najpierw ustala się powierzchnię aktywną.</p>

      <div class="rk-temp35-equation-box">
        <span class="rk-temp35-equation-label">Wymagana gęstość strumienia ciepła</span>
        <div class="rk-temp35-equation-main">q<sub>wym.</sub> = Q<sub>pom.</sub> ÷ A<sub>czynna</sub></div>
        <p>Dla obciążenia 1000 W i 20 m² czynnej podłogi potrzeba średnio 50 W/m². Jeżeli powierzchnia zmaleje do 16 m², wymaganie wzrośnie do 62,5 W/m².</p>
      </div>

      <div class="rk-temp35-grid-3">
        <article class="rk-temp35-card"><h3>Q pomieszczenia</h3><p>Pochodzi z OZC. Nie dodajemy automatycznego procentowego narzutu bez wskazania jego przyczyny.</p></article>
        <article class="rk-temp35-card"><h3>A czynna</h3><p>Powinna wynikać z rzutu i uzgodnionej zabudowy, a nie z przybliżonego udziału procentowego.</p></article>
        <article class="rk-temp35-card"><h3>q dostępne</h3><p>Odczytuje się z obliczenia lub tabeli konkretnego systemu dla przyjętych temperatur i warstw.</p></article>
      </div>

      <p>Dopiero zestawienie q<sub>wym.</sub> z dostępną mocą podłogi odpowiada na pytanie, czy 35/30°C wystarczy. Znaczenie mebli i powierzchni wyłączonych omawia poradnik <a href="https://projekt-ogrzewania.pl/wodne-ogrzewanie-podlogowe-a-meble-jak-polaczyc-komfort-i-aranzacje/">ogrzewanie podłogowe a meble</a>.</p>
    </section>

    <section class="rk-temp35-section" id="rk-temp35-calculator">
      <span class="rk-temp35-eyebrow">Kalkulator bilansu i porównania sezonowego</span>
      <h2 class="rk-temp35-section-title">Sprawdź parametr 35/30°C i porównaj koszty na podstawie SCOP</h2>
      <p class="rk-temp35-lead">Pierwsza zakładka weryfikuje bilans jednego pomieszczenia. Druga porównuje dwa warianty na podstawie sezonowych współczynników wpisanych z dokumentacji konkretnego urządzenia.</p>

      <div class="rk-temp35-tool" id="rk-temp35-calculator-tool">
        <div class="rk-temp35-tool-head">
          <span class="rk-temp35-eyebrow">Jedno narzędzie, dwa odrębne pytania</span>
          <h3>Weryfikator temperatury i kosztów pracy pompy ciepła</h3>
          <p>Kalkulator nie zgaduje mocy podłogi ani SCOP. Wymaga wprowadzenia danych z projektu, tabel systemu podłogowego i dokumentacji pompy.</p>
        </div>

        <div class="rk-temp35-tool-body">
          <div class="rk-temp35-segmented" role="tablist" aria-label="Wybierz rodzaj obliczenia">
            <button type="button" role="tab" id="rk-temp35-tab-balance" data-rk-temp35-mode="balance" aria-selected="true" aria-controls="rk-temp35-panel-balance">Czy 35/30°C wystarczy?</button>
            <button type="button" role="tab" id="rk-temp35-tab-scop" data-rk-temp35-mode="scop" aria-selected="false" aria-controls="rk-temp35-panel-scop">Porównaj SCOP i koszt</button>
          </div>

          <div class="rk-temp35-panel" id="rk-temp35-panel-balance" role="tabpanel" aria-labelledby="rk-temp35-tab-balance">
            <div class="rk-temp35-field-grid rk-temp35-field-grid-3">
              <div class="rk-temp35-field">
                <label for="rk-temp35-room-load">Obciążenie pomieszczenia</label>
                <input id="rk-temp35-room-load" type="number" min="10" max="20000" step="10" value="1000" inputmode="decimal">
                <span class="rk-temp35-field-help">Projektowa wartość Q w watach.</span>
              </div>
              <div class="rk-temp35-field">
                <label for="rk-temp35-active-area">Czynna powierzchnia podłogi</label>
                <input id="rk-temp35-active-area" type="number" min="0.5" max="300" step="0.5" value="20" inputmode="decimal">
                <span class="rk-temp35-field-help">Powierzchnia faktycznie oddająca ciepło w m².</span>
              </div>
              <div class="rk-temp35-field">
                <label for="rk-temp35-table-output">Moc podłogi z tabeli</label>
                <input id="rk-temp35-table-output" type="number" min="1" max="250" step="1" value="50" inputmode="decimal">
                <span class="rk-temp35-field-help">W/m² dla wpisanego parametru i konkretnej konstrukcji.</span>
              </div>
              <div class="rk-temp35-field">
                <label for="rk-temp35-supply-temp">Temperatura zasilania</label>
                <input id="rk-temp35-supply-temp" type="number" min="20" max="70" step="0.5" value="35" inputmode="decimal">
                <span class="rk-temp35-field-help">Temperatura projektowa w °C.</span>
              </div>
              <div class="rk-temp35-field">
                <label for="rk-temp35-return-temp">Temperatura powrotu</label>
                <input id="rk-temp35-return-temp" type="number" min="15" max="65" step="0.5" value="30" inputmode="decimal">
                <span class="rk-temp35-field-help">Musi być niższa od zasilania.</span>
              </div>
              <div class="rk-temp35-field">
                <label for="rk-temp35-room-temp">Temperatura pomieszczenia</label>
                <input id="rk-temp35-room-temp" type="number" min="15" max="28" step="0.5" value="20" inputmode="decimal">
                <span class="rk-temp35-field-help">Do pokazania średniej różnicy temperatur.</span>
              </div>
            </div>

            <div class="rk-temp35-result-grid rk-temp35-result-grid-3">
              <div class="rk-temp35-result"><span>Wymagana moc jednostkowa</span><strong id="rk-temp35-result-required-output">50,0 W/m²</strong></div>
              <div class="rk-temp35-result"><span>Dostępna moc podłogi</span><strong id="rk-temp35-result-available-power">1000 W</strong></div>
              <div class="rk-temp35-result"><span>Bilans mocy</span><strong id="rk-temp35-result-balance">0 W</strong></div>
              <div class="rk-temp35-result"><span>Potrzebna powierzchnia</span><strong id="rk-temp35-result-required-area">20,0 m²</strong></div>
              <div class="rk-temp35-result"><span>Przepływ dla pomieszczenia</span><strong id="rk-temp35-result-flow">2,87 l/min</strong></div>
              <div class="rk-temp35-result"><span>Średnia różnica woda–pokój</span><strong id="rk-temp35-result-medium-delta">12,5 K</strong></div>
            </div>

            <p class="rk-temp35-equation" id="rk-temp35-balance-equation">1000 W ÷ 20 m² = 50,0 W/m²; 50 W/m² × 20 m² = 1000 W.</p>
          </div>

          <div class="rk-temp35-panel" id="rk-temp35-panel-scop" role="tabpanel" aria-labelledby="rk-temp35-tab-scop" hidden="">
            <div class="rk-temp35-field-grid rk-temp35-field-grid-3">
              <div class="rk-temp35-field">
                <label for="rk-temp35-annual-heat">Roczne użyteczne ciepło</label>
                <input id="rk-temp35-annual-heat" type="number" min="100" max="200000" step="100" value="10000" inputmode="decimal">
                <span class="rk-temp35-field-help">Energia dostarczana do budynku w kWh/rok.</span>
              </div>
              <div class="rk-temp35-field">
                <label for="rk-temp35-energy-price">Cena energii elektrycznej</label>
                <input id="rk-temp35-energy-price" type="number" min="0.01" max="10" step="0.01" value="1.10" inputmode="decimal">
                <span class="rk-temp35-field-help">Łączny koszt 1 kWh w PLN.</span>
              </div>
              <div class="rk-temp35-field">
                <label for="rk-temp35-years">Okres porównania</label>
                <input id="rk-temp35-years" type="number" min="1" max="30" step="1" value="10" inputmode="numeric">
                <span class="rk-temp35-field-help">Bez prognozowania zmian ceny energii.</span>
              </div>
            </div>
            <div class="rk-temp35-field-grid rk-temp35-field-grid-4">
              <div class="rk-temp35-field">
                <label for="rk-temp35-low-temp">Niższa temperatura zasilania</label>
                <input id="rk-temp35-low-temp" type="number" min="20" max="65" step="1" value="35" inputmode="decimal">
                <span class="rk-temp35-field-help">Etykieta wariantu w °C.</span>
              </div>
              <div class="rk-temp35-field">
                <label for="rk-temp35-low-scop">SCOP niższego parametru</label>
                <input id="rk-temp35-low-scop" type="number" min="1" max="10" step="0.1" value="4.2" inputmode="decimal">
                <span class="rk-temp35-field-help">Wartość z porównywalnych danych producenta.</span>
              </div>
              <div class="rk-temp35-field">
                <label for="rk-temp35-high-temp">Wyższa temperatura zasilania</label>
                <input id="rk-temp35-high-temp" type="number" min="20" max="70" step="1" value="45" inputmode="decimal">
                <span class="rk-temp35-field-help">Etykieta wariantu porównawczego w °C.</span>
              </div>
              <div class="rk-temp35-field">
                <label for="rk-temp35-high-scop">SCOP wyższego parametru</label>
                <input id="rk-temp35-high-scop" type="number" min="1" max="10" step="0.1" value="3.4" inputmode="decimal">
                <span class="rk-temp35-field-help">Nie zastępuj SCOP chwilowym COP.</span>
              </div>
            </div>

            <div class="rk-temp35-result-grid rk-temp35-result-grid-3">
              <div class="rk-temp35-result"><span id="rk-temp35-low-energy-label">Prąd przy 35°C</span><strong id="rk-temp35-result-low-energy">2381 kWh/rok</strong></div>
              <div class="rk-temp35-result"><span id="rk-temp35-high-energy-label">Prąd przy 45°C</span><strong id="rk-temp35-result-high-energy">2941 kWh/rok</strong></div>
              <div class="rk-temp35-result"><span>Różnica zużycia</span><strong id="rk-temp35-result-energy-difference">560 kWh/rok</strong></div>
              <div class="rk-temp35-result"><span id="rk-temp35-low-cost-label">Koszt przy 35°C</span><strong id="rk-temp35-result-low-cost">2619 zł/rok</strong></div>
              <div class="rk-temp35-result"><span id="rk-temp35-high-cost-label">Koszt przy 45°C</span><strong id="rk-temp35-result-high-cost">3235 zł/rok</strong></div>
              <div class="rk-temp35-result"><span>Różnica w całym okresie</span><strong id="rk-temp35-result-period-difference">6162 zł</strong></div>
            </div>

            <p class="rk-temp35-equation" id="rk-temp35-scop-equation">10 000 kWh ÷ 4,2 = 2381 kWh prądu; 10 000 kWh ÷ 3,4 = 2941 kWh prądu.</p>
          </div>

          <div class="rk-temp35-chart-card">
            <div class="rk-temp35-chart-title" id="rk-temp35-chart-visible-title">Bilans mocy pomieszczenia przy wpisanym parametrze</div>
            <div class="rk-temp35-chart-wrap" id="rk-temp35-chart-wrap">
              <svg id="rk-temp35-comparison-chart" viewBox="0 0 760 330" role="img" aria-labelledby="rk-temp35-chart-title-svg rk-temp35-chart-desc">
                <title id="rk-temp35-chart-title-svg">Porównanie wymaganej i dostępnej mocy</title>
                <desc id="rk-temp35-chart-desc">Wykres porównuje projektowe obciążenie pomieszczenia z mocą dostępną z czynnej powierzchni podłogi.</desc>
              </svg>
            </div>
            <div class="rk-temp35-chart-reading" id="rk-temp35-chart-reading" aria-live="polite"><strong>Bilans:</strong> dostępna moc 1000 W odpowiada obciążeniu 1000 W.</div>
          </div>

          <div class="rk-temp35-status is-good" id="rk-temp35-calculator-status" role="status">Dla wpisanych danych podłoga pokrywa projektowe obciążenie bez rezerwy. Zweryfikuj, czy 50 W/m² pochodzi z tabeli odpowiadającej dokładnie parametrowi 35/30°C i konstrukcji podłogi.</div>
          <div class="rk-temp35-tool-disclaimer"><strong>Granice kalkulatora:</strong> narzędzie nie wyznacza mocy podłogi z rozstawu rur, nie oblicza temperatury powierzchni i nie tworzy charakterystyki pompy ciepła. Wartość W/m² oraz SCOP muszą pochodzić z wiarygodnych, porównywalnych danych. Wynik nie zastępuje projektu według właściwych metod obliczeniowych ani dokumentacji producentów.</div>
        </div>
      </div>
    </section>

    <section class="rk-temp35-section rk-temp35-section-soft" id="rk-temp35-results">
      <span class="rk-temp35-eyebrow">Wynik mówi o bilansie, nie o całym projekcie</span>
      <h2 class="rk-temp35-section-title">Jak interpretować wynik kalkulatora?</h2>
      <p class="rk-temp35-lead">Kalkulator odpowiada na dwa precyzyjne pytania: czy wpisana moc jednostkowa wystarcza dla danego pomieszczenia oraz jak zmienia się rachunek przy dwóch wpisanych wartościach SCOP. Nie wybiera automatycznie temperatury ani urządzenia.</p>

      <div class="rk-temp35-compare-table" role="table" aria-label="Interpretacja bilansu mocy ogrzewania podłogowego">
        <div class="rk-temp35-table-row rk-temp35-table-head" role="row"><div role="columnheader">Wynik</div><div role="columnheader">Co oznacza?</div><div role="columnheader">Co sprawdzić dalej?</div></div>
        <div class="rk-temp35-table-row" role="row"><div class="rk-temp35-table-label" data-label="Wynik" role="cell">Dodatnia rezerwa</div><div data-label="Znaczenie" role="cell">Wpisana moc podłogi przewyższa obciążenie pomieszczenia.</div><div data-label="Dalsza kontrola" role="cell">Temperaturę powierzchni, dane systemu, hydraulikę oraz pozostałe pomieszczenia.</div></div>
        <div class="rk-temp35-table-row" role="row"><div class="rk-temp35-table-label" data-label="Wynik" role="cell">Bilans bliski zera</div><div data-label="Znaczenie" role="cell">Podłoga pokrywa obciążenie bez istotnej rezerwy dla wpisanych danych.</div><div data-label="Dalsza kontrola" role="cell">Dokładność OZC, powierzchnię czynną i warunki skrajne.</div></div>
        <div class="rk-temp35-table-row" role="row"><div class="rk-temp35-table-label" data-label="Wynik" role="cell">Deficyt mocy</div><div data-label="Znaczenie" role="cell">Przyjęta moc W/m² pomnożona przez powierzchnię jest zbyt mała.</div><div data-label="Dalsza kontrola" role="cell">Możliwość zwiększenia powierzchni, zmiany konstrukcji, rozstawu, parametru lub dodania emitera.</div></div>
      </div>

      <div class="rk-temp35-grid-3">
        <article class="rk-temp35-card"><h3>Nie przenoś wyniku na cały dom</h3><p>Salon może mieć rezerwę, a łazienka lub pomieszczenie z dużymi przeszkleniami — deficyt. Sprawdza się każde pomieszczenie.</p></article>
        <article class="rk-temp35-card"><h3>Nie mieszaj COP ze SCOP</h3><p>Chwilowy COP nie służy bezpośrednio do prognozy rocznego zużycia. Kalkulator kosztów wymaga sezonowych danych.</p></article>
        <article class="rk-temp35-card"><h3>Nie traktuj W/m² jako stałej</h3><p>Moc z tabeli musi odpowiadać temperaturze, rozstawowi, konstrukcji, okładzinie i warunkom pomieszczenia.</p></article>
      </div>

      <div class="rk-temp35-cta">
        <div class="rk-temp35-cta-title">35°C wystarcza tylko wtedy, gdy wynika to z bilansu pomieszczeń</div>
        <p>Kalkulator sprawdza jeden warunek dla wpisanych danych. W kompletnym projekcie trzeba połączyć OZC każdego pomieszczenia, powierzchnie czynne, warstwy podłogi, rozstaw rur, parametr 35/30°C, długości pętli, przepływy oraz punkt pracy pompy obiegowej. Dopiero wtedy wiadomo, gdzie niska temperatura rzeczywiście wystarczy.</p>
        <a class="rk-temp35-cta-button" href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Zamów projekt podłogówki do pompy ciepła</a>
        <small class="rk-temp35-link-disclosure">Odnośnik prowadzi do płatnej usługi projektowej autora poradnika.</small>
      </div>
    </section>

    <section class="rk-temp35-section" id="rk-temp35-graphic">
      <span class="rk-temp35-eyebrow">Interaktywna grafika edukacyjna</span>
      <h2 class="rk-temp35-section-title">Jak budynek i podłoga prowadzą do temperatury pracy pompy?</h2>
      <p class="rk-temp35-lead">Wybierz zmianę. Sześć modułów pokaże jej kierunek oddziaływania — od warunków budynku do wymaganego parametru i pracy źródła.</p>

      <div class="rk-temp35-tool" id="rk-temp35-dependency-tool">
        <div class="rk-temp35-tool-head">
          <span class="rk-temp35-eyebrow">Łańcuch cieplny od pogody do sprężarki</span>
          <h3>Sprawdź, co naprawdę zmienia wymagane zasilanie</h3>
          <p>Grafika pokazuje kierunek zmian przy pozostałych warunkach niezmienionych. Nie przypisuje uniwersalnych wartości temperatury ani sprawności.</p>
        </div>
        <div class="rk-temp35-tool-body">
          <div class="rk-temp35-graphic-controls" role="group" aria-label="Wybierz analizowaną zmianę">
            <button type="button" data-rk-temp35-scenario="insulation" aria-pressed="true">Mniejsze straty budynku</button>
            <button type="button" data-rk-temp35-scenario="area" aria-pressed="false">Mniej czynnej podłogi</button>
            <button type="button" data-rk-temp35-scenario="covering" aria-pressed="false">Większy opór okładziny</button>
            <button type="button" data-rk-temp35-scenario="spacing" aria-pressed="false">Gęstszy rozstaw rur</button>
          </div>

          <div class="rk-temp35-hydraulic-grid" aria-live="polite">
            <article class="rk-temp35-hydraulic-card is-muted" data-rk-temp35-component="weather"><span class="rk-temp35-hydraulic-number">1</span><h3>Warunki zewnętrzne</h3><span class="rk-temp35-hydraulic-value" data-rk-temp35-component-value="">Bez zmian</span><p data-rk-temp35-component-copy="">Temperatura obliczeniowa lokalizacji pozostaje taka sama.</p></article>
            <article class="rk-temp35-hydraulic-card is-active" data-rk-temp35-component="load"><span class="rk-temp35-hydraulic-number">2</span><h3>Obciążenie pomieszczenia</h3><span class="rk-temp35-hydraulic-value" data-rk-temp35-component-value="">Maleje</span><p data-rk-temp35-component-copy="">Lepsza izolacyjność ogranicza moc potrzebną do utrzymania temperatury.</p></article>
            <article class="rk-temp35-hydraulic-card is-muted" data-rk-temp35-component="area"><span class="rk-temp35-hydraulic-number">3</span><h3>Powierzchnia czynna</h3><span class="rk-temp35-hydraulic-value" data-rk-temp35-component-value="">Bez zmian</span><p data-rk-temp35-component-copy="">Dostępny obszar grzewczy nie zmienia się.</p></article>
            <article class="rk-temp35-hydraulic-card is-active" data-rk-temp35-component="emission"><span class="rk-temp35-hydraulic-number">4</span><h3>Wymagane W/m²</h3><span class="rk-temp35-hydraulic-value" data-rk-temp35-component-value="">Maleją</span><p data-rk-temp35-component-copy="">Ta sama podłoga musi przekazać mniej energii na każdy metr kwadratowy.</p></article>
            <article class="rk-temp35-hydraulic-card is-active" data-rk-temp35-component="water"><span class="rk-temp35-hydraulic-number">5</span><h3>Temperatura wody</h3><span class="rk-temp35-hydraulic-value" data-rk-temp35-component-value="">Może być niższa</span><p data-rk-temp35-component-copy="">Do uzyskania mniejszej mocy może wystarczyć niższa średnia temperatura czynnika.</p></article>
            <article class="rk-temp35-hydraulic-card is-active" data-rk-temp35-component="pump"><span class="rk-temp35-hydraulic-number">6</span><h3>Pompa ciepła</h3><span class="rk-temp35-hydraulic-value" data-rk-temp35-component-value="">Korzystniejszy punkt</span><p data-rk-temp35-component-copy="">Mniejszy wymagany poziom temperatury może poprawić warunki pracy urządzenia.</p></article>
          </div>

          <div class="rk-temp35-graphic-result" id="rk-temp35-scenario-result" role="status" aria-live="polite"><strong>Mniejsze straty budynku otwierają drogę do niższej temperatury.</strong><p>Obciążenie na metr czynnej powierzchni maleje. Nie oznacza to automatycznie konkretnej wartości — trzeba ponownie odczytać moc systemu dla jego konstrukcji.</p></div>
          <div class="rk-temp35-tool-disclaimer"><strong>Granica grafiki:</strong> moduł nie liczy mocy i nie zastępuje OZC ani tabel systemu. Pokazuje, który element łańcucha się zmienia i dlaczego temperatura zasilania jest wynikiem, a nie punktem wyjścia.</div>
        </div>
      </div>
    </section>

    <section class="rk-temp35-section rk-temp35-section-soft" id="rk-temp35-spacing">
      <span class="rk-temp35-eyebrow">10 cm nie jest jedynym poprawnym rozstawem</span>
      <h2 class="rk-temp35-section-title">Jak temperatura zasilania wiąże się z rozstawem rur?</h2>
      <p class="rk-temp35-lead">Mniejszy rozstaw może zwiększyć zdolność przekazywania ciepła przy tej samej średniej temperaturze wody i poprawić równomierność powierzchni. Nie oznacza jednak, że każdy dom z pompą ciepła wymaga rur co 10 cm.</p>

      <div class="rk-temp35-compare-table" role="table" aria-label="Znaczenie rozstawu rur dla temperatury zasilania">
        <div class="rk-temp35-table-row rk-temp35-table-head" role="row"><div role="columnheader">Rozstaw</div><div role="columnheader">Możliwa rola</div><div role="columnheader">Warunek zastosowania</div></div>
        <div class="rk-temp35-table-row" role="row"><div class="rk-temp35-table-label" data-label="Rozstaw" role="cell">10 cm</div><div data-label="Rola" role="cell">Większa długość rury na m² i zwykle korzystniejsze pole charakterystyk cieplnych.</div><div data-label="Warunek" role="cell">Musi wynikać z mocy, hydrauliki, długości pętli oraz wykonalności.</div></div>
        <div class="rk-temp35-table-row" role="row"><div class="rk-temp35-table-label" data-label="Rozstaw" role="cell">15 cm</div><div data-label="Rola" role="cell">Częsty kompromis w pomieszczeniach o umiarkowanym obciążeniu.</div><div data-label="Warunek" role="cell">Podłoga musi pokrywać obliczone W/m² przy przyjętych temperaturach.</div></div>
        <div class="rk-temp35-table-row" role="row"><div class="rk-temp35-table-label" data-label="Rozstaw" role="cell">20 cm</div><div data-label="Rola" role="cell">Może być wystarczający w strefach o małym zapotrzebowaniu albo odpowiedniej konstrukcji.</div><div data-label="Warunek" role="cell">Nie wolno go zatwierdzić wyłącznie na podstawie oszczędności rury.</div></div>
      </div>

      <p>Rozstaw dobiera się z obliczeń, a nie z rodzaju źródła. Więcej przykładów zawiera poradnik <a href="https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/">rozstaw rur przy pompie ciepła</a> oraz analiza, <a href="https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/">jak gęsto rozkładać podłogówkę</a>.</p>
      <div class="rk-temp35-note"><strong>Gęściej nie znaczy automatycznie lepiej.</strong> Większa długość rury wpływa na liczbę pętli, opory, objętość wody, rozdzielacz i koszt. Korzyść cieplną trzeba połączyć z poprawnym projektem hydraulicznym.</div>
    </section>

    <section class="rk-temp35-section" id="rk-temp35-coverings">
      <span class="rk-temp35-eyebrow">Temperatura wody nie omija oporu warstw</span>
      <h2 class="rk-temp35-section-title">Jak płytki, panele i drewno zmieniają wymagany parametr?</h2>
      <p class="rk-temp35-lead">Okładzina o większym oporze cieplnym ogranicza strumień przekazywany do pomieszczenia przy tej samej temperaturze wody. Projekt musi jednocześnie respektować dopuszczalne warunki pracy wykończenia podane przez jego producenta.</p>

      <div class="rk-temp35-grid-3">
        <article class="rk-temp35-card"><h3>Płytki ceramiczne</h3><p>Zwykle mają korzystne przewodzenie i ułatwiają uzyskanie wymaganej mocy przy niższej temperaturze, ale znaczenie ma cały układ kleju i jastrychu.</p></article>
        <article class="rk-temp35-card"><h3>Panele i winyl</h3><p>Należy sprawdzić łączny opór panelu oraz podkładu, dopuszczenie do ogrzewania podłogowego i maksymalną temperaturę powierzchni.</p></article>
        <article class="rk-temp35-card"><h3>Drewno</h3><p>Liczą się gatunek, budowa warstwowa, grubość, stabilność wymiarowa, wilgotność oraz wymagania producenta podłogi i chemii.</p></article>
      </div>

      <p>Nie można zagwarantować określonej temperatury powierzchni ani wilgotności drewna wyłącznie przez ustawienie 35°C. Zobacz, <a href="https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/">jak okładzina wpływa na wydajność podłogówki</a>, oraz porównanie <a href="https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/">gatunków drewna na ogrzewanie podłogowe</a>.</p>
    </section>

    <section class="rk-temp35-section rk-temp35-section-dark" id="rk-temp35-curve">
      <span class="rk-temp35-eyebrow">Przez większość sezonu potrzebna jest niższa temperatura niż projektowa</span>
      <h2 class="rk-temp35-section-title">Co zmienia krzywa grzewcza?</h2>
      <p class="rk-temp35-lead">Jeżeli 35°C jest wymagane przy obliczeniowej temperaturze zewnętrznej, nie oznacza to stałego zasilania 35°C jesienią, wiosną i podczas łagodnej zimy. Automatyka pogodowa powinna dopasowywać parametr do bieżącego obciążenia.</p>

      <div class="rk-temp35-chain" aria-label="Zależność działania krzywej grzewczej">
        <div class="rk-temp35-chain-item"><strong>Pogoda</strong><span>zmienia straty</span></div>
        <div class="rk-temp35-chain-item"><strong>Obciążenie</strong><span>zmienia potrzebną moc</span></div>
        <div class="rk-temp35-chain-item"><strong>Krzywa</strong><span>wyznacza zasilanie</span></div>
        <div class="rk-temp35-chain-item"><strong>Podłoga</strong><span>oddaje energię</span></div>
        <div class="rk-temp35-chain-item"><strong>Korekta</strong><span>stabilizuje komfort</span></div>
      </div>

      <div class="rk-temp35-grid-3">
        <article class="rk-temp35-card"><h3>Nachylenie</h3><p>Określa, jak mocno temperatura wody ma wzrastać wraz ze spadkiem temperatury zewnętrznej.</p></article>
        <article class="rk-temp35-card"><h3>Przesunięcie</h3><p>Koryguje cały poziom krzywej bez automatycznego zmieniania wszystkich pozostałych elementów projektu.</p></article>
        <article class="rk-temp35-card"><h3>Weryfikacja</h3><p>Nastawy dopracowuje się na stabilnie pracującej instalacji, małymi zmianami i z uwzględnieniem bezwładności podłogi.</p></article>
      </div>

      <p>Nie istnieje uniwersalne nachylenie 0,2 albo 0,3 dla każdego budynku. Mechanizm oraz sposób regulacji opisuje poradnik <a href="https://projekt-ogrzewania.pl/krzywa-grzewcza-w-ogrzewaniu-podlogowym/">krzywa grzewcza w ogrzewaniu podłogowym</a>.</p>
    </section>

    <section class="rk-temp35-section" id="rk-temp35-hydraulics">
      <span class="rk-temp35-eyebrow">Niska temperatura nie oznacza automatycznie „potężnego przepływu”</span>
      <h2 class="rk-temp35-section-title">Jak temperatura, ΔT i przepływ łączą się hydraulicznie?</h2>
      <p class="rk-temp35-lead">Dla zadanej mocy przepływ zależy przede wszystkim od projektowej różnicy temperatur pomiędzy zasilaniem i powrotem oraz właściwości czynnika. Sama wartość 35°C nie wyznacza strumienia.</p>

      <div class="rk-temp35-equation-box">
        <span class="rk-temp35-equation-label">Przybliżenie dla wody</span>
        <div class="rk-temp35-equation-main">V̇ [l/h] ≈ 0,86 × Q [W] ÷ ΔT [K]</div>
        <p>Dla mocy 1000 W i ΔT = 5 K przepływ wynosi około 172 l/h, czyli 2,87 l/min. Jeżeli tę moc przenoszą dwie pętle, przepływ rozdziela się zgodnie z ich udziałem.</p>
      </div>

      <div class="rk-temp35-grid-3">
        <article class="rk-temp35-card"><h3>Mniejsze ΔT</h3><p>Przy tej samej mocy wymaga większego przepływu, co może podnieść prędkość i opór instalacji.</p></article>
        <article class="rk-temp35-card"><h3>Większe ΔT</h3><p>Zmniejsza wymagany przepływ, ale wpływa na średnią temperaturę wody i rozkład temperatury wzdłuż pętli.</p></article>
        <article class="rk-temp35-card"><h3>Podział na pętle</h3><p>Zmienia przepływ oraz opór pojedynczej gałęzi, choć suma energii potrzebnej w pomieszczeniu pozostaje taka sama.</p></article>
      </div>

      <p>ΔT nie powinno być wybierane jedynie z etykiety źródła. Zależność rozwija materiał o <a href="https://projekt-ogrzewania.pl/spadek-temperatury-%ce%b4t-roznica-miedzy-temperatura-zasilania-a-powrotu/">różnicy temperatur zasilania i powrotu</a>. Opory warto później sprawdzić w poradnikach o <a href="https://projekt-ogrzewania.pl/srednice-rur-w-ogrzewaniu-podlogowym/">średnicach rur podłogówki</a> i <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">doborze pompy obiegowej</a>.</p>
    </section>

    <section class="rk-temp35-section rk-temp35-section-soft" id="rk-temp35-architecture">
      <span class="rk-temp35-eyebrow">Jedna temperatura nie opisuje całej instalacji</span>
      <h2 class="rk-temp35-section-title">Układ bezpośredni, mieszacz czy dwa poziomy temperatury?</h2>
      <p class="rk-temp35-lead">Sposób wytworzenia 35°C zależy od architektury instalacji. Inaczej pracuje pompa ciepła zasilająca wyłącznie podłogówkę, a inaczej system mieszany z grzejnikami, kilkoma obiegami lub elementem separującym hydraulicznie.</p>

      <div class="rk-temp35-compare-table" role="table" aria-label="Porównanie architektury instalacji niskotemperaturowej">
        <div class="rk-temp35-table-row rk-temp35-table-head" role="row"><div role="columnheader">Wariant</div><div role="columnheader">Kiedy ma sens?</div><div role="columnheader">Co trzeba zweryfikować?</div></div>
        <div class="rk-temp35-table-row" role="row"><div class="rk-temp35-table-label" data-label="Wariant" role="cell">Układ bezpośredni</div><div data-label="Zastosowanie" role="cell">Jednorodny obieg niskotemperaturowy, w którym źródło podaje parametr wymagany przez podłogę.</div><div data-label="Weryfikacja" role="cell">Minimalny przepływ i zład źródła, zakres modulacji, regulację pogodową oraz pracę po zamknięciu stref.</div></div>
        <div class="rk-temp35-table-row" role="row"><div class="rk-temp35-table-label" data-label="Wariant" role="cell">Układ z mieszaniem</div><div data-label="Zastosowanie" role="cell">Wspólne źródło obsługuje obiegi wymagające różnych temperatur albo podłoga musi otrzymać parametr niższy od obiegu pierwotnego.</div><div data-label="Weryfikacja" role="cell">Autorytet zaworu, temperatury obu stron, pompę obiegu, sterowanie i wpływ mieszania na pracę źródła.</div></div>
        <div class="rk-temp35-table-row" role="row"><div class="rk-temp35-table-label" data-label="Wariant" role="cell">Separacja hydrauliczna</div><div data-label="Zastosowanie" role="cell">Kilka obiegów ma różne przepływy albo producent źródła wymaga stabilnych warunków po stronie pierwotnej.</div><div data-label="Weryfikacja" role="cell">Czy separacja jest rzeczywiście potrzebna, ile pomp wymaga układ i jakie straty oraz konsekwencje regulacyjne wprowadza.</div></div>
      </div>

      <p>Sam mieszacz nie naprawi zbyt małej powierzchni grzewczej, a sprzęgło nie zastąpi obliczeń. Zobacz, jak działa <a href="https://projekt-ogrzewania.pl/obieg-grzewczy-w-wodnym-ogrzewaniu-podlogowym/">obieg grzewczy podłogówki</a>, kiedy stosuje się <a href="https://projekt-ogrzewania.pl/zawor-mieszajacy-w-ogrzewaniu-podlogowym/">zawór mieszający</a> oraz jak połączyć <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-mozna-podlaczyc-do-grzejnikow/">ogrzewanie podłogowe z grzejnikami</a>.</p>
      <div class="rk-temp35-callout"><strong>Najprostszy poprawny układ jest zwykle najłatwiejszy do regulacji.</strong> Liczba pomp, zaworów i elementów separujących powinna wynikać z funkcji hydraulicznej, a nie z automatycznego schematu przypisanego do pompy ciepła.</div>
    </section>

    <section class="rk-temp35-section" id="rk-temp35-buffer">
      <span class="rk-temp35-eyebrow">35°C nie odpowiada na pytanie o objętość i minimalny przepływ</span>
      <h2 class="rk-temp35-section-title">Czy niska temperatura zasilania eliminuje potrzebę bufora?</h2>
      <p class="rk-temp35-lead">Nie. O potrzebie, funkcji i wielkości bufora decydują wymagania konkretnego źródła oraz zachowanie całego układu: minimalny zład, minimalny przepływ, modulacja, odszranianie, liczba zamykanych stref, separacja hydrauliczna i sposób sterowania.</p>

      <div class="rk-temp35-grid-3">
        <article class="rk-temp35-card"><h3>Bufor jako zwiększenie zładu</h3><p>Może pomagać spełnić wymaganie minimalnej objętości wody lub ograniczyć niekorzystne skutki krótkich cykli, jeżeli wynika to z danych urządzenia.</p></article>
        <article class="rk-temp35-card"><h3>Bufor jako separacja</h3><p>Może rozdzielać obiegi o różnych przepływach, ale zmienia hydraulikę, liczbę pomp i sposób regulacji temperatury.</p></article>
        <article class="rk-temp35-card"><h3>Instalacja bez bufora</h3><p>Może być poprawna, gdy układ bezpośredni zapewnia wymagany zład, przepływ, odbiór mocy i warunki pracy w każdym stanie regulacji.</p></article>
      </div>

      <p>Gęstszy rozstaw zwiększa długość rur i ilość wody, lecz nie daje automatycznie wszystkich funkcji bufora. Osobno trzeba przeanalizować <a href="https://projekt-ogrzewania.pl/bufor-ciepla-w-ogrzewaniu-podlogowym/">bufor ciepła w ogrzewaniu podłogowym</a> oraz wpływ <a href="https://projekt-ogrzewania.pl/sterowanie-strefowe-ogrzewaniem-czy-warto/">sterowania strefowego</a> na minimalny czynny obieg.</p>
      <div class="rk-temp35-warning"><strong>Nie usuwaj bufora tylko dlatego, że projekt pracuje na 35°C.</strong> Najpierw sprawdź dokumentację pompy ciepła i policz aktywny zład oraz przepływ przy najbardziej ograniczonym stanie pracy instalacji.</div>
    </section>

    <section class="rk-temp35-section rk-temp35-section-soft" id="rk-temp35-example">
      <span class="rk-temp35-eyebrow">Przejrzysty przykład bez udawania tabeli systemowej</span>
      <h2 class="rk-temp35-section-title">Przykład: czy 35/30°C wystarczy w salonie?</h2>
      <p class="rk-temp35-lead">Załóżmy projektowe obciążenie salonu 1150 W, powierzchnię brutto 28 m² oraz 6 m² trwałej zabudowy. Czynna podłoga ma więc 22 m², a wymaganie wynosi 52,3 W/m². Przyjmijmy wyłącznie do porównania, że sprawdzona tabela konkretnego systemu podaje 48 W/m² dla 35/30°C.</p>

      <div class="rk-temp35-compare-table" role="table" aria-label="Przykład bilansu mocy salonu dla parametru 35 na 30 stopni Celsjusza">
        <div class="rk-temp35-table-row rk-temp35-table-head" role="row"><div role="columnheader">Wariant</div><div role="columnheader">Obliczenie</div><div role="columnheader">Wniosek</div></div>
        <div class="rk-temp35-table-row" role="row"><div class="rk-temp35-table-label" data-label="Wariant" role="cell">Bazowy: 22 m² i 48 W/m²</div><div data-label="Obliczenie" role="cell">Dostępna moc 1056 W; deficyt 94 W.</div><div data-label="Wniosek" role="cell">Dla założeń przykładu 35/30°C nie wystarcza.</div></div>
        <div class="rk-temp35-table-row" role="row"><div class="rk-temp35-table-label" data-label="Wariant" role="cell">Większa powierzchnia: 24 m²</div><div data-label="Obliczenie" role="cell">24 × 48 = 1152 W; rezerwa 2 W.</div><div data-label="Wniosek" role="cell">Bilans się domyka, jeżeli dodatkowe 2 m² rzeczywiście mogą grzać.</div></div>
        <div class="rk-temp35-table-row" role="row"><div class="rk-temp35-table-label" data-label="Wariant" role="cell">Wyższa moc systemu: 53 W/m²</div><div data-label="Obliczenie" role="cell">22 × 53 = 1166 W; rezerwa 16 W.</div><div data-label="Wniosek" role="cell">Może pomóc inna konstrukcja lub geometria, ale wartość musi pochodzić z weryfikacji.</div></div>
        <div class="rk-temp35-table-row" role="row"><div class="rk-temp35-table-label" data-label="Wariant" role="cell">Dodatkowy emiter</div><div data-label="Obliczenie" role="cell">Podłoga pozostaje przy 1056 W, a emiter pokrywa co najmniej brakujące 94 W.</div><div data-label="Wniosek" role="cell">Pozwala zachować niski parametr, jeżeli oba emitery są do niego dobrane.</div></div>
      </div>

      <p>Dla mocy 1150 W i ΔT = 5 K wymagany przepływ dla salonu wynosi około 198 l/h, czyli 3,30 l/min. Przy dwóch równomiernie obciążonych pętlach byłoby to orientacyjnie po 1,65 l/min, lecz rzeczywiste nastawy wynikają z przypisanej mocy każdej pętli i jej hydrauliki.</p>
      <div class="rk-temp35-note"><strong>To przykład metody, nie uniwersalna charakterystyka podłogi.</strong> Wartość 48 W/m² została przyjęta hipotetycznie. W projekcie odczytuje się ją z obliczeń lub dokumentacji odpowiadającej dokładnej konstrukcji, rozstawowi, okładzinie i temperaturom.</div>
    </section>

    <section class="rk-temp35-section" id="rk-temp35-errors">
      <span class="rk-temp35-eyebrow">Najgroźniejsze skróty myślowe brzmią jak precyzyjne reguły</span>
      <h2 class="rk-temp35-section-title">Najczęstsze błędy i mity o zasilaniu 35°C</h2>
      <div class="rk-temp35-mistakes">
        <div class="rk-temp35-mistake"><span class="rk-temp35-mistake-icon">!</span><div><strong>„35°C wymaga norma”</strong><p>Metoda normowa prowadzi do obliczenia mocy i wymiarowania systemu; nie nadaje jednej temperatury każdemu budynkowi.</p></div></div>
        <div class="rk-temp35-mistake"><span class="rk-temp35-mistake-icon">!</span><div><strong>Prognoza COP z samej temperatury</strong><p>COP zależy między innymi od warunków źródła, obciążenia i konkretnego urządzenia. Do rocznych porównań potrzebne są porównywalne dane sezonowe.</p></div></div>
        <div class="rk-temp35-mistake"><span class="rk-temp35-mistake-icon">!</span><div><strong>Wyliczanie trwałości sprężarki suwakiem</strong><p>Nie ma podstaw, aby z samego przejścia z 35 na 45°C obliczać procent skrócenia życia urządzenia.</p></div></div>
        <div class="rk-temp35-mistake"><span class="rk-temp35-mistake-icon">!</span><div><strong>Rozstaw 10 cm w każdym pomieszczeniu</strong><p>Geometria wynika z wymaganej mocy, konstrukcji i hydrauliki. Ten sam rozstaw nie musi być optymalny w całym domu.</p></div></div>
        <div class="rk-temp35-mistake"><span class="rk-temp35-mistake-icon">!</span><div><strong>Naprawianie deficytu rotametrem</strong><p>Zwiększenie przepływu nie zastąpi brakującej powierzchni i nie stworzy dowolnej mocy przy zbyt niskiej średniej temperaturze wody.</p></div></div>
        <div class="rk-temp35-mistake"><span class="rk-temp35-mistake-icon">!</span><div><strong>Stały narzut procentowy do OZC</strong><p>Rezerwę należy uzasadnić niepewnością danych, dynamiką lub konkretnym ryzykiem, a nie dodawać automatycznie do każdego pomieszczenia.</p></div></div>
        <div class="rk-temp35-mistake"><span class="rk-temp35-mistake-icon">!</span><div><strong>„Dużo rury zastępuje bufor”</strong><p>Zład wodny jest tylko jednym warunkiem. Znaczenie mają także minimalny przepływ, regulacja, odszranianie i funkcja hydrauliczna bufora.</p></div></div>
        <div class="rk-temp35-mistake"><span class="rk-temp35-mistake-icon">!</span><div><strong>Sprawdzenie domu bez pomieszczeń</strong><p>Bilans całego budynku może wyglądać dobrze, gdy pojedyncza łazienka lub strefa przy przeszkleniach nadal ma deficyt mocy.</p></div></div>
      </div>

      <p>Niepewności warto opisywać wprost, a każdą liczbę przypisać do źródła lub obliczenia. Pomaga w tym analiza, czy <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/">podłogówka może być jedynym źródłem ciepła</a>, oraz poradnik o <a href="https://projekt-ogrzewania.pl/strefa-brzegowa-w-ogrzewaniu-podlogowym/">strefach brzegowych</a>.</p>
    </section>

    <section class="rk-temp35-section rk-temp35-section-soft" id="rk-temp35-checklist">
      <span class="rk-temp35-eyebrow">Przed zatwierdzeniem temperatury projektowej</span>
      <h2 class="rk-temp35-section-title">Lista kontrolna instalacji 35/30°C</h2>
      <p class="rk-temp35-lead">Każdy punkt powinien mieć odpowiedź w obliczeniach, dokumentacji produktu albo projekcie wykonawczym. Braku nie uzupełnia się intuicyjną temperaturą.</p>

      <div class="rk-temp35-checklist">
        <div class="rk-temp35-checklist-item"><span>✓</span><div><strong>Lokalizacja i warunki obliczeniowe</strong><br>Czy przyjęto właściwą temperaturę zewnętrzną i warunki brzegowe budynku?</div></div>
        <div class="rk-temp35-checklist-item"><span>✓</span><div><strong>OZC każdego pomieszczenia</strong><br>Czy znane jest projektowe obciążenie w watach, a nie tylko wskaźnik całego domu?</div></div>
        <div class="rk-temp35-checklist-item"><span>✓</span><div><strong>Powierzchnia czynna</strong><br>Czy odjęto trwałą zabudowę i skoordynowano układ z aranżacją?</div></div>
        <div class="rk-temp35-checklist-item"><span>✓</span><div><strong>Temperatura pomieszczenia</strong><br>Czy łazienka, salon i sypialnie mają właściwe założenia projektowe?</div></div>
        <div class="rk-temp35-checklist-item"><span>✓</span><div><strong>Konstrukcja podłogi</strong><br>Czy znane są jastrych, położenie rury i wszystkie warstwy nad nią?</div></div>
        <div class="rk-temp35-checklist-item"><span>✓</span><div><strong>Okładzina i jej ograniczenia</strong><br>Czy sprawdzono łączny opór cieplny oraz warunki producentów materiałów?</div></div>
        <div class="rk-temp35-checklist-item"><span>✓</span><div><strong>Moc przy docelowym parametrze</strong><br>Czy W/m² pochodzi z obliczenia lub właściwej tabeli systemu dla 35/30°C?</div></div>
        <div class="rk-temp35-checklist-item"><span>✓</span><div><strong>Temperatura powierzchni</strong><br>Czy obliczony strumień nie narusza warunków komfortu i zastosowanych materiałów?</div></div>
        <div class="rk-temp35-checklist-item"><span>✓</span><div><strong>Rozstaw i trasy rur</strong><br>Czy geometria pokrywa obciążenie i daje wykonalne długości pętli?</div></div>
        <div class="rk-temp35-checklist-item"><span>✓</span><div><strong>ΔT i przepływy</strong><br>Czy dla każdej pętli obliczono strumień odpowiadający jej mocy?</div></div>
        <div class="rk-temp35-checklist-item"><span>✓</span><div><strong>Opory i pompa obiegowa</strong><br>Czy droga krytyczna mieści się w osiągalnym punkcie pracy?</div></div>
        <div class="rk-temp35-checklist-item"><span>✓</span><div><strong>Dane pompy ciepła</strong><br>Czy moc, COP lub SCOP, zakres modulacji i ograniczenia odczytano dla właściwych warunków?</div></div>
        <div class="rk-temp35-checklist-item"><span>✓</span><div><strong>Minimalny przepływ, zład i sterowanie</strong><br>Czy układ spełnia wymagania źródła także po zamknięciu części stref?</div></div>
        <div class="rk-temp35-checklist-item"><span>✓</span><div><strong>Dokumentacja i uruchomienie</strong><br>Czy zapisano krzywą, przepływy, nastawy, próby oraz sposób późniejszej korekty?</div></div>
      </div>
    </section>

    <section class="rk-temp35-section" id="rk-temp35-conclusions">
      <span class="rk-temp35-eyebrow">Wnioski projektanta</span>
      <h2 class="rk-temp35-section-title">Kiedy 35°C jest dobrym parametrem dla pompy ciepła?</h2>
      <p class="rk-temp35-lead">Wtedy, gdy przy projektowej pogodzie podłoga pokrywa obciążenie każdego pomieszczenia, pozostaje zgodna z ograniczeniami powierzchni i materiałów, a hydraulika oraz pompa ciepła pracują w zweryfikowanym zakresie.</p>

      <div class="rk-temp35-grid-3">
        <article class="rk-temp35-card"><h3>Moc się bilansuje</h3><p>Dostępne W/m² pomnożone przez powierzchnię czynną pokrywają projektowe straty pomieszczenia.</p></article>
        <article class="rk-temp35-card"><h3>Hydraulika jest osiągalna</h3><p>Przepływy, ΔT, opory, zład oraz stany częściowego odbioru odpowiadają urządzeniom i armaturze.</p></article>
        <article class="rk-temp35-card"><h3>Regulacja obniża parametr</h3><p>Krzywa pogodowa prowadzi instalację poniżej wartości projektowej, gdy na zewnątrz robi się cieplej.</p></article>
      </div>

      <div class="rk-temp35-answer"><span class="rk-temp35-answer-label">Reguła końcowa</span><p><strong>Nie projektuj domu „na 35°C”. Zaprojektuj podłogę dla obciążeń pomieszczeń, a następnie wyznacz najniższą temperaturę zasilania, przy której cały system spełnia wymagania w warunkach projektowych.</strong></p></div>

      <div class="rk-temp35-cta">
        <div class="rk-temp35-cta-title">Zaprojektuj najniższą temperaturę, która naprawdę wystarczy</div>
        <p>Kompletny projekt łączy OZC, powierzchnie czynne, warstwy podłogi, temperatury, rozstawy, pętle, przepływy, opory, rozdzielacze, punkt pracy pompy oraz nastawy potrzebne do uruchomienia układu.</p>
        <a class="rk-temp35-cta-button" href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Zamów projekt ogrzewania podłogowego</a>
        <small class="rk-temp35-link-disclosure">Odnośnik prowadzi do płatnej usługi projektowej autora poradnika.</small>
      </div>
    </section>

    <section class="rk-temp35-section rk-temp35-section-soft" id="rk-temp35-references">
      <span class="rk-temp35-eyebrow">Podstawa techniczna i granice interpretacji</span>
      <h2 class="rk-temp35-section-title">Źródła i zakres odpowiedzialności</h2>
      <p class="rk-temp35-lead">Oficjalne źródła potwierdzają potrzebę obliczenia mocy i wymiarowania systemu oraz znaczenie optymalizacji całej instalacji. Nie stanowią podstawy do przypisania jednego COP, kosztu albo temperatury wszystkim budynkom.</p>

      <div class="rk-temp35-source-grid">
        <article class="rk-temp35-source-card"><a href="https://www.iso.org/standard/74683.html" target="_blank" rel="nofollow noopener noreferrer">ISO 11855-2:2021 wraz z Amd 1:2023 — określanie mocy</a><p>Oficjalna karta wydania dotyczącego wyznaczania strumienia ciepła, temperatur powierzchni i zależności charakterystycznych wodnych systemów ogrzewania oraz chłodzenia.</p></article>
        <article class="rk-temp35-source-card"><a href="https://www.iso.org/standard/74684.html" target="_blank" rel="nofollow noopener noreferrer">ISO 11855-3:2021 wraz z Amd 1:2023 — projektowanie i wymiarowanie</a><p>Oficjalna karta wydania opisującego metodę projektowania i wymiarowania wbudowanych systemów płaszczyznowych.</p></article>
        <article class="rk-temp35-source-card"><a href="https://www.gov.uk/government/news/heat-pumps-explained-experts-answer-your-questions" target="_blank" rel="nofollow noopener noreferrer">DESNZ — Heat pumps explained: experts answer your questions</a><p>Oficjalny materiał brytyjskiego resortu energii wyjaśniający znaczenie projektu całego systemu i warunków pracy dla efektywności pompy ciepła.</p></article>
      </div>

      <div class="rk-temp35-responsibility">
        <p><strong>Status źródeł:</strong> oficjalne karty ISO wskazują wydania z 2021 r. i poprawki Amd 1:2023. Stan odnośników i opisu technicznego sprawdzono 11 września 2026 r.</p>
        <p><strong>Zakres kalkulatora:</strong> bilans korzysta z danych wpisanych przez użytkownika, a przepływ z przybliżenia dla wody. Porównanie sezonowe dzieli użyteczne ciepło przez podany SCOP; nie modeluje pogody, taryf godzinowych, CWU, grzałki, odszraniania ani charakterystyki urządzenia.</p>
        <p><strong>Odpowiedzialność:</strong> artykuł ma charakter edukacyjny. Nie jest projektem wykonawczym, doborem pompy ciepła, instrukcją producenta, audytem energetycznym ani oceną istniejącej instalacji.</p>
      </div>
    </section>

    <section class="rk-temp35-section" id="rk-temp35-faq">
      <span class="rk-temp35-eyebrow">Najczęstsze pytania o niskotemperaturową podłogówkę</span>
      <h2 class="rk-temp35-section-title">FAQ — temperatura zasilania pompy ciepła i podłogówki</h2>
      <div class="rk-temp35-faq">
        <details><summary>Czy 35°C zawsze wystarczy do ogrzewania podłogowego?</summary><div class="rk-temp35-faq-answer"><p>Nie. Wystarczy tylko wtedy, gdy moc podłogi przy przyjętym zasilaniu, powrocie, konstrukcji i okładzinie pokrywa obciążenie każdego pomieszczenia. W domu o małych stratach może wystarczyć mniej, a w trudnym pomieszczeniu może być potrzebna zmiana emitera lub wyższy parametr.</p></div></details>
        <details><summary>Czy 35°C jest temperaturą wymaganą przez normę?</summary><div class="rk-temp35-faq-answer"><p>Nie należy przedstawiać jej jako jednej temperatury nakazanej dla wszystkich instalacji. Metody projektowe służą do określania mocy i wymiarowania systemu, dlatego wynik zależy od warunków pomieszczenia, powierzchni, konstrukcji i geometrii.</p></div></details>
        <details><summary>Co dokładnie oznacza zapis 35/30°C?</summary><div class="rk-temp35-faq-answer"><p>Najczęściej oznacza projektową temperaturę zasilania 35°C i powrotu 30°C, czyli ΔT równe 5 K. Nie jest to temperatura podłogi ani powietrza w pomieszczeniu.</p></div></details>
        <details><summary>Czy niższa temperatura zasilania zawsze zwiększa COP?</summary><div class="rk-temp35-faq-answer"><p>Niższy wymagany poziom temperatury może poprawiać warunki pracy pompy, lecz dokładny skutek zależy od dolnego źródła, pogody, obciążenia i konstrukcji urządzenia. Warto porównywać dane tego samego modelu w tych samych warunkach.</p></div></details>
        <details><summary>Jak sprawdzić, czy parametr 35/30°C pokryje straty?</summary><div class="rk-temp35-faq-answer"><p>Podziel obciążenie pomieszczenia przez czynną powierzchnię podłogi, a otrzymane W/m² porównaj z mocą konkretnego systemu przy 35/30°C, właściwej temperaturze wnętrza, rozstawie i okładzinie. Następnie sprawdź temperaturę powierzchni oraz hydraulikę.</p></div></details>
        <details><summary>Czy rury trzeba zawsze układać co 10 cm przy pompie ciepła?</summary><div class="rk-temp35-faq-answer"><p>Nie. Rozstaw 10 cm może być uzasadniony obliczoną mocą i charakterystyką systemu, ale w części pomieszczeń wystarczający może być inny rozstaw. Trzeba równocześnie kontrolować długości, liczbę pętli, przepływy i opory.</p></div></details>
        <details><summary>Czy drewno na podłodze wyklucza zasilanie 35°C?</summary><div class="rk-temp35-faq-answer"><p>Nie automatycznie. Trzeba sprawdzić cały opór cieplny warstw, dopuszczenie produktu do podłogówki, warunki montażu i ograniczenia temperatury powierzchni. Następnie oblicza się, czy dostępna moc pokrywa obciążenie.</p></div></details>
        <details><summary>Czy podniesienie przepływu naprawi za niską moc podłogi?</summary><div class="rk-temp35-faq-answer"><p>Nie zawsze. Przepływ wpływa na ΔT i rozkład temperatury, ale nie może dowolnie zwiększyć mocy ograniczonej przez średnią temperaturę wody, powierzchnię oraz opór warstw. Najpierw trzeba ustalić przyczynę deficytu.</p></div></details>
        <details><summary>Czy instalacja 35/30°C potrzebuje bufora?</summary><div class="rk-temp35-faq-answer"><p>Sam parametr nie rozstrzyga tej kwestii. Decydują wymagania producenta pompy, minimalny zład i przepływ, modulacja, odszranianie, sterowanie strefowe oraz funkcja hydrauliczna, którą bufor miałby pełnić.</p></div></details>
        <details><summary>Jak ustawić krzywą grzewczą dla podłogówki?</summary><div class="rk-temp35-faq-answer"><p>Punkt projektowy wynika z obliczeń, a nachylenie i przesunięcie dopracowuje się podczas stabilnej pracy instalacji małymi krokami. Należy uwzględnić bezwładność podłogi i nie oceniać każdej zmiany po kilku minutach.</p></div></details>
      </div>
    </section>

    <section class="rk-temp35-author" id="rk-temp35-author">
      <span class="rk-temp35-eyebrow">Opracowanie eksperckie</span>
      <h2 class="rk-temp35-author-title">Autor i weryfikacja merytoryczna</h2>
      <div class="rk-temp35-author-layout">
        <aside class="rk-temp35-author-side">
          <div class="rk-temp35-author-photo"><img src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski — projektant instalacji sanitarnych i specjalista HVAC" width="400" height="400" loading="lazy" decoding="async"></div>
          <div class="rk-temp35-author-name"><a href="https://projekt-ogrzewania.pl/author/admin3399/">Robert Kucharski</a></div>
          <p class="rk-temp35-author-role">Projektant instalacji sanitarnych<br>specjalista HVAC i ogrzewania podłogowego</p>
          <div class="rk-temp35-author-social" aria-label="Profile autora">
            <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" target="_blank" rel="nofollow noopener noreferrer me" aria-label="LinkedIn Roberta Kucharskiego">in</a>
            <a href="https://www.facebook.com/projektogrzewaniapl" target="_blank" rel="nofollow noopener noreferrer me" aria-label="Facebook Projekt Ogrzewania">f</a>
            <a href="https://x.com/Projekt_HVAC" target="_blank" rel="nofollow noopener noreferrer me" aria-label="Profil Projekt HVAC w serwisie X">X</a>
          </div>
        </aside>
        <div class="rk-temp35-author-main">
          <div class="rk-temp35-author-quote">„35°C nie jest nagrodą za wybór pompy ciepła. To jeden z możliwych wyników bilansu pomieszczeń, konstrukcji podłogi i hydrauliki całej instalacji.”</div>
          <p>Robert Kucharski opracowuje projekty ogrzewania podłogowego, obliczenia cieplne i hydrauliczne oraz dokumentację wykonawczą dla inwestorów i wykonawców. W projekcie łączy OZC, aktywne powierzchnie, model emisji, trasy pętli, przepływy, opory i wymagania źródła.</p>
          <p>W tej aktualizacji usunięto bezwarunkowe przedstawianie 35°C jako ideału, stałe procenty wpływu temperatury na koszty i trwałość sprężarki, obowiązkowy rozstaw 10 cm, automatyczny narzut do OZC oraz stwierdzenie, że duży zład w rurach zawsze zastępuje bufor.</p>
          <p>Kalkulator rozdziela bilans pomieszczenia od porównania sezonowego. Nie wyprowadza SCOP z temperatury, lecz pozwala wpisać porównywalne dane konkretnej pompy. Interaktywna grafika pokazuje cały łańcuch prowadzący od strat budynku do punktu pracy źródła.</p>
          <p>Autor publikuje również w portalach <a href="https://remont.biz.pl/" target="_blank" rel="nofollow noopener noreferrer">Remont.biz.pl</a> i <a href="https://sobir.pl/" target="_blank" rel="nofollow noopener noreferrer">Sobir.pl</a>. <a href="https://projekt-ogrzewania.pl/author/admin3399/">Zobacz pozostałe artykuły Roberta Kucharskiego</a>.</p>
          <div class="rk-temp35-author-facts">
            <div class="rk-temp35-author-fact"><strong>Zakres</strong>ogrzewanie podłogowe, pompy ciepła i hydraulika instalacji</div>
            <div class="rk-temp35-author-fact"><strong>Metoda pracy</strong>OZC, moc powierzchniowa, temperatura, przepływy i punkt pracy źródła</div>
            <div class="rk-temp35-author-fact"><strong>Aktualizacja</strong>stan techniczny materiału sprawdzony 11 września 2026 r.</div>
          </div>
        </div>
      </div>
    </section>
  </div>
</article>

<script>
(function () {
  'use strict';

  var root = document.getElementById('rk-temp35-guide');
  if (!root) return;

  var svgNamespace = 'http://www.w3.org/2000/svg';
  var mode = 'balance';
  var lastBalance = null;
  var lastScop = null;
  var resizeTimer = null;

  function byId(id) {
    return document.getElementById(id);
  }

  function each(selector, callback) {
    var nodes = root.querySelectorAll(selector);
    Array.prototype.forEach.call(nodes, callback);
  }

  function numberFrom(id) {
    var element = byId(id);
    if (!element) return NaN;
    return Number(String(element.value).replace(',', '.'));
  }

  function formatNumber(value, decimals) {
    return new Intl.NumberFormat('pl-PL', {
      minimumFractionDigits: decimals,
      maximumFractionDigits: decimals
    }).format(value);
  }

  function signed(value, decimals, unit) {
    var prefix = value > 0 ? '+' : '';
    return prefix + formatNumber(value, decimals) + ' ' + unit;
  }

  function setText(id, value) {
    var element = byId(id);
    if (element) element.textContent = value;
  }

  function setStatus(message, kind) {
    var status = byId('rk-temp35-calculator-status');
    if (!status) return;
    status.textContent = message;
    status.classList.remove('is-good');
    status.classList.remove('is-warning');
    if (kind) status.classList.add(kind);
  }

  function isPositive(value) {
    return Number.isFinite(value) ? value > 0 : false;
  }

  function calculateBalance() {
    var roomLoad = numberFrom('rk-temp35-room-load');
    var activeArea = numberFrom('rk-temp35-active-area');
    var tableOutput = numberFrom('rk-temp35-table-output');
    var supply = numberFrom('rk-temp35-supply-temp');
    var returnTemperature = numberFrom('rk-temp35-return-temp');
    var roomTemperature = numberFrom('rk-temp35-room-temp');

    var baseValid = isPositive(roomLoad) ? isPositive(activeArea) : false;
    baseValid = baseValid ? isPositive(tableOutput) : false;
    baseValid = baseValid ? Number.isFinite(supply) : false;
    baseValid = baseValid ? Number.isFinite(returnTemperature) : false;
    baseValid = baseValid ? Number.isFinite(roomTemperature) : false;

    if (!baseValid) {
      setStatus('Uzupełnij wszystkie pola dodatnimi, liczbowymi wartościami.', 'is-warning');
      return;
    }

    var deltaT = supply - returnTemperature;
    if (deltaT <= 0) {
      setStatus('Temperatura zasilania musi być wyższa od temperatury powrotu.', 'is-warning');
      return;
    }

    var requiredOutput = roomLoad / activeArea;
    var availablePower = tableOutput * activeArea;
    var balance = availablePower - roomLoad;
    var requiredArea = roomLoad / tableOutput;
    var flowLh = 0.86 * roomLoad / deltaT;
    var flowLmin = flowLh / 60;
    var meanWaterTemperature = (supply + returnTemperature) / 2;
    var mediumDelta = meanWaterTemperature - roomTemperature;

    setText('rk-temp35-result-required-output', formatNumber(requiredOutput, 1) + ' W/m²');
    setText('rk-temp35-result-available-power', formatNumber(availablePower, 0) + ' W');
    setText('rk-temp35-result-balance', signed(balance, 0, 'W'));
    setText('rk-temp35-result-required-area', formatNumber(requiredArea, 1) + ' m²');
    setText('rk-temp35-result-flow', formatNumber(flowLmin, 2) + ' l/min');
    setText('rk-temp35-result-medium-delta', formatNumber(mediumDelta, 1) + ' K');
    setText(
      'rk-temp35-balance-equation',
      formatNumber(roomLoad, 0) + ' W ÷ ' + formatNumber(activeArea, 1) + ' m² = ' +
      formatNumber(requiredOutput, 1) + ' W/m²; ' + formatNumber(tableOutput, 1) +
      ' W/m² × ' + formatNumber(activeArea, 1) + ' m² = ' + formatNumber(availablePower, 0) + ' W.'
    );

    var tolerance = Math.max(1, roomLoad * 0.01);
    var reserveThreshold = Math.max(1, roomLoad * 0.03);
    if (balance >= reserveThreshold) {
      setStatus(
        'Dla wpisanych danych podłoga pokrywa obciążenie z rezerwą ' +
        formatNumber(balance, 0) + ' W. Nadal sprawdź temperaturę powierzchni, hydraulikę i pozostałe pomieszczenia.',
        'is-good'
      );
    } else if (balance >= -tolerance) {
      setStatus(
        'Dla wpisanych danych bilans jest bliski zeru. Zweryfikuj dokładność OZC, powierzchnię czynną i moc z tabeli systemu.',
        'is-good'
      );
    } else {
      setStatus(
        'Dla wpisanych danych brakuje ' + formatNumber(Math.abs(balance), 0) +
        ' W. Nie kompensuj tego samym przepływem — sprawdź powierzchnię, konstrukcję, rozstaw, temperaturę lub dodatkowy emiter.',
        'is-warning'
      );
    }

    lastBalance = {
      required: roomLoad,
      available: availablePower,
      balance: balance,
      supply: supply,
      returnTemperature: returnTemperature
    };
    drawChart();
  }

  function calculateScop() {
    var annualHeat = numberFrom('rk-temp35-annual-heat');
    var energyPrice = numberFrom('rk-temp35-energy-price');
    var years = numberFrom('rk-temp35-years');
    var lowTemperature = numberFrom('rk-temp35-low-temp');
    var lowScop = numberFrom('rk-temp35-low-scop');
    var highTemperature = numberFrom('rk-temp35-high-temp');
    var highScop = numberFrom('rk-temp35-high-scop');

    var valid = isPositive(annualHeat) ? isPositive(energyPrice) : false;
    valid = valid ? isPositive(years) : false;
    valid = valid ? Number.isFinite(lowTemperature) : false;
    valid = valid ? isPositive(lowScop) : false;
    valid = valid ? Number.isFinite(highTemperature) : false;
    valid = valid ? isPositive(highScop) : false;

    if (!valid) {
      setStatus('Uzupełnij wszystkie pola porównania dodatnimi, liczbowymi wartościami.', 'is-warning');
      return;
    }

    var lowEnergy = annualHeat / lowScop;
    var highEnergy = annualHeat / highScop;
    var energyDifference = highEnergy - lowEnergy;
    var lowCost = lowEnergy * energyPrice;
    var highCost = highEnergy * energyPrice;
    var annualCostDifference = highCost - lowCost;
    var periodDifference = annualCostDifference * years;
    var percentageDifference = lowEnergy > 0 ? (highEnergy / lowEnergy - 1) * 100 : 0;

    setText('rk-temp35-low-energy-label', 'Prąd przy ' + formatNumber(lowTemperature, 0) + '°C');
    setText('rk-temp35-high-energy-label', 'Prąd przy ' + formatNumber(highTemperature, 0) + '°C');
    setText('rk-temp35-low-cost-label', 'Koszt przy ' + formatNumber(lowTemperature, 0) + '°C');
    setText('rk-temp35-high-cost-label', 'Koszt przy ' + formatNumber(highTemperature, 0) + '°C');
    setText('rk-temp35-result-low-energy', formatNumber(lowEnergy, 0) + ' kWh/rok');
    setText('rk-temp35-result-high-energy', formatNumber(highEnergy, 0) + ' kWh/rok');
    setText('rk-temp35-result-energy-difference', signed(energyDifference, 0, 'kWh/rok'));
    setText('rk-temp35-result-low-cost', formatNumber(lowCost, 0) + ' zł/rok');
    setText('rk-temp35-result-high-cost', formatNumber(highCost, 0) + ' zł/rok');
    setText('rk-temp35-result-period-difference', signed(periodDifference, 0, 'zł'));
    setText(
      'rk-temp35-scop-equation',
      formatNumber(annualHeat, 0) + ' kWh ÷ ' + formatNumber(lowScop, 1) + ' = ' +
      formatNumber(lowEnergy, 0) + ' kWh prądu; ' + formatNumber(annualHeat, 0) +
      ' kWh ÷ ' + formatNumber(highScop, 1) + ' = ' + formatNumber(highEnergy, 0) + ' kWh prądu.'
    );

    if (energyDifference > 0) {
      setStatus(
        'Z wpisanych wartości wynika, że wariant ' + formatNumber(highTemperature, 0) + '°C zużywa o ' +
        formatNumber(energyDifference, 0) + ' kWh/rok więcej, czyli o ' + formatNumber(percentageDifference, 1) +
        '%. To porównanie danych wejściowych, nie prognoza SCOP z temperatury.',
        'is-good'
      );
    } else if (Math.abs(energyDifference) < 0.5) {
      setStatus('Wpisane wartości SCOP dają praktycznie takie samo zużycie energii w obu wariantach.', 'is-good');
    } else {
      setStatus(
        'Wpisane dane pokazują mniejsze zużycie dla wariantu o wyższej temperaturze. Sprawdź, czy wartości SCOP pochodzą z porównywalnych warunków i tego samego urządzenia.',
        'is-warning'
      );
    }

    lastScop = {
      lowTemperature: lowTemperature,
      highTemperature: highTemperature,
      lowEnergy: lowEnergy,
      highEnergy: highEnergy,
      difference: energyDifference,
      years: years,
      periodDifference: periodDifference
    };
    drawChart();
  }

  function svgElement(name, attributes, content) {
    var element = document.createElementNS(svgNamespace, name);
    Object.keys(attributes).forEach(function (key) {
      element.setAttribute(key, attributes[key]);
    });
    if (typeof content === 'string') element.textContent = content;
    return element;
  }

  function appendSvg(parent, name, attributes, content) {
    var element = svgElement(name, attributes, content);
    parent.appendChild(element);
    return element;
  }

  function drawBarChart(data, unit, title, description, reading) {
    var svg = byId('rk-temp35-comparison-chart');
    if (!svg) return;
    while (svg.firstChild) svg.removeChild(svg.firstChild);

    appendSvg(svg, 'title', { id: 'rk-temp35-chart-title-svg' }, title);
    appendSvg(svg, 'desc', { id: 'rk-temp35-chart-desc' }, description);

    var renderedWidth = 760;
    var wrap = byId('rk-temp35-chart-wrap');
    if (wrap) {
      var measuredWidth = Number(wrap.clientWidth);
      if (Number.isFinite(measuredWidth)) {
        if (measuredWidth > 0) renderedWidth = measuredWidth;
      }
    }
    var compact = renderedWidth < 560;
    var width = compact ? 420 : 760;
    var height = 330;
    var left = compact ? 18 : 205;
    var right = compact ? 24 : 78;
    var top = compact ? 88 : 70;
    var plotWidth = width - left - right;
    var maxValue = Math.max(data[0].value, data[1].value, 1) * 1.12;
    var ticks = 4;

    svg.setAttribute('viewBox', '0 0 ' + width + ' ' + height);

    appendSvg(svg, 'text', { x: left, y: 31, class: 'rk-temp35-chart-unit' }, unit);
    for (var tick = 0; tick <= ticks; tick += 1) {
      var ratio = tick / ticks;
      var x = left + plotWidth * ratio;
      appendSvg(svg, 'line', {
        x1: x,
        y1: top - 10,
        x2: x,
        y2: height - 44,
        class: 'rk-temp35-chart-grid-line'
      });
      appendSvg(svg, 'text', {
        x: x,
        y: height - 18,
        'text-anchor': 'middle',
        class: 'rk-temp35-chart-tick'
      }, formatNumber(maxValue * ratio, 0));
    }

    data.forEach(function (item, index) {
      var y = top + index * 105;
      var barWidth = Math.max(2, plotWidth * item.value / maxValue);
      appendSvg(svg, 'text', {
        x: compact ? left : 18,
        y: compact ? y - 10 : y + 31,
        class: 'rk-temp35-chart-label'
      }, item.label);
      appendSvg(svg, 'rect', {
        x: left,
        y: y,
        width: barWidth,
        height: 48,
        rx: 10,
        class: 'rk-temp35-chart-bar ' + item.className
      });

      var valueInside = barWidth >= 105;
      var valueX = valueInside ? left + barWidth - 12 : left + barWidth + 10;
      appendSvg(svg, 'text', {
        x: valueX,
        y: y + 31,
        'text-anchor': valueInside ? 'end' : 'start',
        class: valueInside ? 'rk-temp35-chart-value is-inside' : 'rk-temp35-chart-value'
      }, formatNumber(item.value, 0));
    });

    setText('rk-temp35-chart-visible-title', title);
    var readingElement = byId('rk-temp35-chart-reading');
    if (readingElement) readingElement.innerHTML = reading;
  }

  function drawChart() {
    if (mode === 'scop') {
      if (!lastScop) return;
      var scopReading;
      if (lastScop.difference >= 0) {
        scopReading = '<strong>Różnica:</strong> wariant ' + formatNumber(lastScop.highTemperature, 0) +
          '°C wymaga według wpisanych SCOP o ' + formatNumber(lastScop.difference, 0) +
          ' kWh energii elektrycznej rocznie więcej.';
      } else {
        scopReading = '<strong>Sprawdź dane:</strong> wpisane SCOP dają niższe zużycie wariantowi ' +
          formatNumber(lastScop.highTemperature, 0) + '°C.';
      }
      drawBarChart(
        [
          { label: 'Wariant ' + formatNumber(lastScop.lowTemperature, 0) + '°C', value: lastScop.lowEnergy, className: 'is-low' },
          { label: 'Wariant ' + formatNumber(lastScop.highTemperature, 0) + '°C', value: lastScop.highEnergy, className: 'is-high' }
        ],
        'Zużycie energii elektrycznej [kWh/rok]',
        'Roczne zużycie energii na podstawie wpisanych wartości SCOP',
        'Wykres porównuje roczne zużycie energii elektrycznej obliczone z użytecznego ciepła i wpisanych wartości SCOP.',
        scopReading
      );
      return;
    }

    if (!lastBalance) return;
    var balanceReading;
    if (lastBalance.balance > 0) {
      balanceReading = '<strong>Rezerwa:</strong> dostępna moc jest wyższa od obciążenia o ' +
        formatNumber(lastBalance.balance, 0) + ' W.';
    } else if (lastBalance.balance < 0) {
      balanceReading = '<strong>Deficyt:</strong> dostępna moc jest niższa od obciążenia o ' +
        formatNumber(Math.abs(lastBalance.balance), 0) + ' W.';
    } else {
      balanceReading = '<strong>Bilans:</strong> dostępna moc odpowiada projektowemu obciążeniu pomieszczenia.';
    }
    drawBarChart(
      [
        { label: 'Obciążenie pomieszczenia', value: lastBalance.required, className: 'is-required' },
        { label: 'Moc dostępna z podłogi', value: lastBalance.available, className: 'is-available' }
      ],
      'Moc [W]',
      'Bilans mocy pomieszczenia dla ' + formatNumber(lastBalance.supply, 1) + '/' +
        formatNumber(lastBalance.returnTemperature, 1) + '°C',
      'Wykres porównuje projektowe obciążenie pomieszczenia z mocą dostępną z czynnej powierzchni podłogi.',
      balanceReading
    );
  }

  function selectMode(nextMode, focusTab) {
    mode = nextMode === 'scop' ? 'scop' : 'balance';
    each('[data-rk-temp35-mode]', function (button) {
      var selected = button.getAttribute('data-rk-temp35-mode') === mode;
      button.setAttribute('aria-selected', selected ? 'true' : 'false');
      if (selected) {
        button.removeAttribute('tabindex');
        if (focusTab) button.focus();
      } else {
        button.setAttribute('tabindex', '-1');
      }
    });

    var balancePanel = byId('rk-temp35-panel-balance');
    var scopPanel = byId('rk-temp35-panel-scop');
    if (balancePanel) balancePanel.hidden = mode !== 'balance';
    if (scopPanel) scopPanel.hidden = mode !== 'scop';
    if (mode === 'scop') calculateScop();
    else calculateBalance();
  }

  var scenarios = {
    insulation: {
      components: {
        weather: ['Bez zmian', 'Temperatura obliczeniowa lokalizacji pozostaje taka sama.', 'muted'],
        load: ['Maleje', 'Lepsza izolacyjność ogranicza moc potrzebną do utrzymania temperatury.', 'active'],
        area: ['Bez zmian', 'Dostępny obszar grzewczy nie zmienia się.', 'muted'],
        emission: ['Maleją', 'Ta sama podłoga musi przekazać mniej energii na każdy metr kwadratowy.', 'active'],
        water: ['Może być niższa', 'Do uzyskania mniejszej mocy może wystarczyć niższa średnia temperatura czynnika.', 'active'],
        pump: ['Korzystniejszy punkt', 'Mniejszy wymagany poziom temperatury może poprawić warunki pracy urządzenia.', 'active']
      },
      title: 'Mniejsze straty budynku otwierają drogę do niższej temperatury.',
      copy: 'Obciążenie na metr czynnej powierzchni maleje. Nie oznacza to automatycznie konkretnej wartości — trzeba ponownie odczytać moc systemu dla jego konstrukcji.'
    },
    area: {
      components: {
        weather: ['Bez zmian', 'Warunki zewnętrzne i lokalizacja pozostają takie same.', 'muted'],
        load: ['Bez zmian', 'Pomieszczenie nadal traci tę samą projektową moc.', 'muted'],
        area: ['Maleje', 'Stała zabudowa ogranicza fragment powierzchni, który może oddawać ciepło.', 'warning'],
        emission: ['Rosną', 'Ta sama moc musi zostać przekazana przez mniejszą liczbę metrów kwadratowych.', 'warning'],
        water: ['Może być wyższa', 'Jeżeli system nie osiąga wymaganych W/m², może wymagać zmiany geometrii lub temperatury.', 'warning'],
        pump: ['Trudniejszy punkt', 'Wyższy wymagany poziom temperatury może pogarszać warunki pracy źródła.', 'warning']
      },
      title: 'Mniejsza powierzchnia czynna zwiększa wymaganie W/m².',
      copy: 'Najpierw sprawdź możliwość uwolnienia powierzchni lub zmianę systemu. Podnoszenie temperatury jest jedną z opcji, ale nie pierwszym automatycznym ruchem.'
    },
    covering: {
      components: {
        weather: ['Bez zmian', 'Temperatura zewnętrzna nie zależy od wyboru okładziny.', 'muted'],
        load: ['Bez zmian', 'Straty pomieszczenia pozostają takie same.', 'muted'],
        area: ['Bez zmian', 'W przykładzie zmienia się materiał, a nie ogrzewany obszar.', 'muted'],
        emission: ['Trudniejsza', 'Większy opór warstw ogranicza moc przy tej samej temperaturze wody.', 'warning'],
        water: ['Może być wyższa', 'Do pokrycia tej samej mocy może być potrzebna większa różnica temperatur.', 'warning'],
        pump: ['Mniej korzystny punkt', 'Wyższy parametr może zwiększyć wymagane podniesienie temperatury.', 'warning']
      },
      title: 'Większy opór okładziny ogranicza zdolność oddawania ciepła.',
      copy: 'Nie wolno jednak przekraczać ograniczeń producenta podłogi. Rozwiązaniem może być także redukcja strat, większa powierzchnia albo dodatkowy emiter.'
    },
    spacing: {
      components: {
        weather: ['Bez zmian', 'Warunki zewnętrzne nie zależą od rozstawu rur.', 'muted'],
        load: ['Bez zmian', 'Zagęszczenie rury nie zmienia strat pomieszczenia.', 'muted'],
        area: ['Bez zmian', 'Czynny obszar podłogi pozostaje taki sam.', 'muted'],
        emission: ['Wymaganie bez zmian', 'Potrzebne W/m² nadal wynikają z obciążenia i powierzchni.', 'muted'],
        water: ['Może być niższa', 'Korzystniejsza charakterystyka systemu może pokryć tę samą moc przy niższym parametrze.', 'active'],
        pump: ['Bilans do sprawdzenia', 'Niższa temperatura może pomóc źródłu, ale większa długość rur zmienia hydraulikę.', 'active']
      },
      title: 'Gęstszy rozstaw może obniżyć wymagany parametr, lecz zwiększa długość rur.',
      copy: 'Korzyść cieplną trzeba zestawić z liczbą pętli, oporami, przepływem, kosztami i możliwościami wykonawczymi.'
    }
  };

  function selectScenario(name) {
    var scenario = scenarios[name] || scenarios.insulation;
    each('[data-rk-temp35-scenario]', function (button) {
      button.setAttribute('aria-pressed', button.getAttribute('data-rk-temp35-scenario') === name ? 'true' : 'false');
    });

    each('[data-rk-temp35-component]', function (card) {
      var key = card.getAttribute('data-rk-temp35-component');
      var item = scenario.components[key];
      if (!item) return;
      card.classList.remove('is-active');
      card.classList.remove('is-muted');
      card.classList.remove('is-warning');
      card.classList.add('is-' + item[2]);
      var value = card.querySelector('[data-rk-temp35-component-value]');
      var copy = card.querySelector('[data-rk-temp35-component-copy]');
      if (value) value.textContent = item[0];
      if (copy) copy.textContent = item[1];
    });

    var result = byId('rk-temp35-scenario-result');
    if (result) result.innerHTML = '<strong>' + scenario.title + '</strong><p>' + scenario.copy + '</p>';
  }

  each('[data-rk-temp35-mode]', function (button, index) {
    button.addEventListener('click', function () {
      selectMode(button.getAttribute('data-rk-temp35-mode'), false);
    });
    button.addEventListener('keydown', function (event) {
      if (['ArrowRight', 'ArrowLeft'].indexOf(event.key) === -1) return;
      event.preventDefault();
      var nextIndex = event.key === 'ArrowRight' ? index + 1 : index - 1;
      var tabs = root.querySelectorAll('[data-rk-temp35-mode]');
      if (nextIndex >= tabs.length) nextIndex = 0;
      if (nextIndex < 0) nextIndex = tabs.length - 1;
      selectMode(tabs[nextIndex].getAttribute('data-rk-temp35-mode'), true);
    });
  });

  each('#rk-temp35-calculator-tool input', function (input) {
    input.addEventListener('input', function () {
      if (mode === 'scop') calculateScop();
      else calculateBalance();
    });
  });

  each('[data-rk-temp35-scenario]', function (button) {
    button.addEventListener('click', function () {
      selectScenario(button.getAttribute('data-rk-temp35-scenario'));
    });
  });

  calculateBalance();
  calculateScop();
  selectMode('balance', false);
  selectScenario('insulation');

  if (typeof window !== 'undefined') {
    window.addEventListener('resize', function () {
      if (resizeTimer) window.clearTimeout(resizeTimer);
      resizeTimer = window.setTimeout(drawChart, 100);
    });
  }
}());
</script>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "WebSite",
      "@id": "https://projekt-ogrzewania.pl/#website",
      "url": "https://projekt-ogrzewania.pl/",
      "name": "Projekt Ogrzewania",
      "description": "Profesjonalne projektowanie ogrzewania podłogowego i poradniki techniczne HVAC.",
      "inLanguage": "pl-PL",
      "publisher": {
        "@id": "https://projekt-ogrzewania.pl/#organization"
      },
      "potentialAction": {
        "@type": "SearchAction",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://projekt-ogrzewania.pl/?s={search_term_string}"
        },
        "query-input": "required name=search_term_string"
      }
    },
    {
      "@type": "Organization",
      "@id": "https://projekt-ogrzewania.pl/#organization",
      "name": "Projekt Ogrzewania",
      "url": "https://projekt-ogrzewania.pl/",
      "logo": {
        "@id": "https://projekt-ogrzewania.pl/#logo"
      },
      "founder": {
        "@id": "https://projekt-ogrzewania.pl/#robert-kucharski"
      },
      "sameAs": [
        "https://www.facebook.com/projektogrzewaniapl",
        "https://x.com/Projekt_HVAC"
      ]
    },
    {
      "@type": "Organization",
      "@id": "https://remont.biz.pl/#organization",
      "name": "Remont.biz.pl",
      "url": "https://remont.biz.pl/",
      "founder": {
        "@id": "https://projekt-ogrzewania.pl/#robert-kucharski"
      }
    },
    {
      "@type": "Organization",
      "@id": "https://sobir.pl/#organization",
      "name": "Sobir.pl",
      "url": "https://sobir.pl/",
      "founder": {
        "@id": "https://projekt-ogrzewania.pl/#robert-kucharski"
      }
    },
    {
      "@type": "ImageObject",
      "@id": "https://projekt-ogrzewania.pl/#logo",
      "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/Projekt-ogrzewania-logo-1.jpg",
      "contentUrl": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/Projekt-ogrzewania-logo-1.jpg",
      "width": 1024,
      "height": 1024,
      "caption": "Projekt Ogrzewania"
    },
    {
      "@type": "Person",
      "@id": "https://projekt-ogrzewania.pl/#robert-kucharski",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/author/admin3399/",
      "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
      "jobTitle": "Projektant instalacji sanitarnych i specjalista HVAC",
      "worksFor": {
        "@id": "https://projekt-ogrzewania.pl/#organization"
      },
      "affiliation": [
        {
          "@id": "https://remont.biz.pl/#organization"
        },
        {
          "@id": "https://sobir.pl/#organization"
        }
      ],
      "knowsAbout": [
        "ogrzewanie podłogowe",
        "pompy ciepła",
        "obliczenia OZC",
        "temperatura zasilania",
        "hydraulika instalacji",
        "krzywa grzewcza"
      ],
      "sameAs": [
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://www.facebook.com/projektogrzewaniapl",
        "https://x.com/Projekt_HVAC"
      ]
    },
    {
      "@type": "ImageObject",
      "@id": "https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/#primaryimage",
      "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/Niska-temperatura-zasilania-pompy-ciepla-–-dlaczego-35-stopni-to-ideal-dla-podlogowki.webp",
      "contentUrl": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/Niska-temperatura-zasilania-pompy-ciepla-–-dlaczego-35-stopni-to-ideal-dla-podlogowki.webp",
      "width": 900,
      "height": 900,
      "caption": "Niska temperatura zasilania pompy ciepła i ogrzewania podłogowego"
    },
    {
      "@type": "BreadcrumbList",
      "@id": "https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/#breadcrumb",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Strona główna",
          "item": "https://projekt-ogrzewania.pl/"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Pompa ciepła",
          "item": "https://projekt-ogrzewania.pl/pompa-ciepla/"
        },
        {
          "@type": "ListItem",
          "position": 3,
          "name": "Temperatura zasilania pompy ciepła",
          "item": "https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/"
        }
      ]
    },
    {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/#webpage",
      "url": "https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/",
      "name": "Temperatura zasilania pompy ciepła – czy 35°C wystarczy?",
      "description": "Czy 35°C wystarczy do podłogówki z pompą ciepła? Sprawdź wpływ OZC, powierzchni czynnej i okładziny na dobór zasilania, COP oraz koszty pracy.",
      "inLanguage": "pl-PL",
      "isPartOf": {
        "@id": "https://projekt-ogrzewania.pl/#website"
      },
      "breadcrumb": {
        "@id": "https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/#breadcrumb"
      },
      "primaryImageOfPage": {
        "@id": "https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/#primaryimage"
      },
      "datePublished": "2026-04-17T10:17:48+00:00",
      "dateModified": "2026-09-11T00:00:00+00:00",
      "mainEntity": {
        "@id": "https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/#article"
      },
      "speakable": {
        "@type": "SpeakableSpecification",
        "cssSelector": [
          "#rk-temp35-answer",
          "#rk-temp35-conclusions"
        ]
      }
    },
    {
      "@type": "TechArticle",
      "@id": "https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/#article",
      "url": "https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/",
      "headline": "Temperatura zasilania pompy ciepła do podłogówki – czy 35°C zawsze wystarczy?",
      "alternativeHeadline": "Czy zasilanie 35°C jest optymalne dla podłogówki z pompą ciepła?",
      "description": "Czy 35°C wystarczy do podłogówki z pompą ciepła? Sprawdź wpływ OZC, powierzchni czynnej i okładziny na dobór zasilania, COP oraz koszty pracy.",
      "image": {
        "@id": "https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/#primaryimage"
      },
      "thumbnailUrl": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/Niska-temperatura-zasilania-pompy-ciepla-–-dlaczego-35-stopni-to-ideal-dla-podlogowki.webp",
      "datePublished": "2026-04-17T10:17:48+00:00",
      "dateModified": "2026-09-11T00:00:00+00:00",
      "inLanguage": "pl-PL",
      "isAccessibleForFree": true,
      "wordCount": 4433,
      "timeRequired": "PT39M",
      "author": {
        "@id": "https://projekt-ogrzewania.pl/#robert-kucharski"
      },
      "publisher": {
        "@id": "https://projekt-ogrzewania.pl/#organization"
      },
      "mainEntityOfPage": {
        "@id": "https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/#webpage"
      },
      "articleSection": [
        "Temperatura zasilania ogrzewania podłogowego",
        "Pompa ciepła i sprawność",
        "Moc powierzchniowa podłogi",
        "Krzywa grzewcza",
        "Hydraulika i przepływ",
        "Bufor i sterowanie"
      ],
      "keywords": [
        "temperatura zasilania pompy ciepła",
        "czy 35°C wystarczy do podłogówki",
        "parametr 35/30°C",
        "jaka temperatura podłogówki przy pompie ciepła",
        "COP a temperatura zasilania",
        "SCOP pompy ciepła",
        "krzywa grzewcza ogrzewania podłogowego",
        "przepływ podłogówki przy ΔT 5 K"
      ],
      "about": [
        {
          "@type": "Thing",
          "name": "Pompa ciepła"
        },
        {
          "@type": "Thing",
          "name": "Wodne ogrzewanie podłogowe"
        },
        {
          "@type": "Thing",
          "name": "Temperatura zasilania"
        },
        {
          "@type": "Thing",
          "name": "Sezonowy współczynnik efektywności SCOP"
        }
      ],
      "citation": [
        "https://www.iso.org/standard/74683.html",
        "https://www.iso.org/standard/74684.html",
        "https://www.gov.uk/government/news/heat-pumps-explained-experts-answer-your-questions"
      ],
      "hasPart": [
        {
          "@id": "https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/#calculator-app"
        },
        {
          "@id": "https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/#dependency-app"
        },
        {
          "@id": "https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/#howto"
        },
        {
          "@id": "https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/#checklist-schema"
        },
        {
          "@id": "https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/#faq-schema"
        }
      ]
    },
    {
      "@type": "WebApplication",
      "@id": "https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/#calculator-app",
      "url": "https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/#rk-temp35-calculator",
      "name": "Kalkulator bilansu 35/30°C i porównania kosztów na podstawie SCOP",
      "description": "Sprawdza bilans mocy jednego pomieszczenia i porównuje roczne zużycie oraz koszt dwóch wariantów na podstawie danych wpisanych przez użytkownika.",
      "applicationCategory": "UtilitiesApplication",
      "operatingSystem": "Any",
      "browserRequirements": "JavaScript",
      "inLanguage": "pl-PL",
      "isAccessibleForFree": true,
      "offers": {
        "@type": "Offer",
        "price": "0",
        "priceCurrency": "PLN"
      },
      "featureList": [
        "obliczenie wymaganej mocy jednostkowej",
        "bilans obciążenia i dostępnej mocy",
        "przepływ dla wpisanego ΔT",
        "porównanie zużycia na podstawie SCOP",
        "responsywny wykres wyników"
      ],
      "creator": {
        "@id": "https://projekt-ogrzewania.pl/#robert-kucharski"
      },
      "isPartOf": {
        "@id": "https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/#article"
      }
    },
    {
      "@type": "WebApplication",
      "@id": "https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/#dependency-app",
      "url": "https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/#rk-temp35-graphic",
      "name": "Interaktywna grafika zależności temperatury zasilania",
      "description": "Pokazuje, jak straty budynku, powierzchnia czynna, okładzina i rozstaw rur wpływają na wymagane W/m², temperaturę wody i warunki pracy pompy ciepła.",
      "applicationCategory": "EducationalApplication",
      "operatingSystem": "Any",
      "browserRequirements": "JavaScript",
      "inLanguage": "pl-PL",
      "isAccessibleForFree": true,
      "offers": {
        "@type": "Offer",
        "price": "0",
        "priceCurrency": "PLN"
      },
      "featureList": [
        "cztery scenariusze zmian",
        "sześć modułów zależności",
        "interpretacja bez uniwersalnych temperatur",
        "układ responsywny dla desktopu i telefonu"
      ],
      "creator": {
        "@id": "https://projekt-ogrzewania.pl/#robert-kucharski"
      },
      "isPartOf": {
        "@id": "https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/#article"
      }
    },
    {
      "@type": "HowTo",
      "@id": "https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/#howto",
      "url": "https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/#rk-temp35-checklist",
      "name": "Jak sprawdzić, czy 35/30°C wystarczy do ogrzewania podłogowego",
      "description": "Proces od obciążenia pomieszczeń do weryfikacji źródła, hydrauliki i regulacji.",
      "inLanguage": "pl-PL",
      "totalTime": "PT10M",
      "step": [
        {
          "@type": "HowToStep",
          "position": 1,
          "name": "Oblicz OZC pomieszczeń",
          "text": "Wyznacz projektowe straty ciepła dla właściwych warunków zewnętrznych i temperatur wnętrz."
        },
        {
          "@type": "HowToStep",
          "position": 2,
          "name": "Ustal powierzchnie czynne",
          "text": "Odejmij trwałą zabudowę i skoordynuj aktywną podłogę z aranżacją."
        },
        {
          "@type": "HowToStep",
          "position": 3,
          "name": "Oblicz wymagane W/m²",
          "text": "Podziel obciążenie każdego pomieszczenia przez jego powierzchnię czynną."
        },
        {
          "@type": "HowToStep",
          "position": 4,
          "name": "Sprawdź konstrukcję i okładzinę",
          "text": "Uwzględnij warstwy podłogi, ich opór oraz ograniczenia producentów."
        },
        {
          "@type": "HowToStep",
          "position": 5,
          "name": "Zweryfikuj moc przy 35/30°C",
          "text": "Porównaj wymaganie z charakterystyką konkretnego systemu dla przyjętego rozstawu i temperatur."
        },
        {
          "@type": "HowToStep",
          "position": 6,
          "name": "Policz przepływy i opory",
          "text": "Wyznacz przepływy z mocy i ΔT, a następnie sprawdź pętle oraz drogę krytyczną."
        },
        {
          "@type": "HowToStep",
          "position": 7,
          "name": "Sprawdź wymagania pompy ciepła",
          "text": "Porównaj moc, punkt pracy, minimalny przepływ, zład, modulację i sposób sterowania."
        },
        {
          "@type": "HowToStep",
          "position": 8,
          "name": "Ustaw i zweryfikuj krzywą",
          "text": "Uruchom układ z nastawami projektowymi i koryguj krzywą małymi krokami po ustabilizowaniu instalacji."
        }
      ]
    },
    {
      "@type": "ItemList",
      "@id": "https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/#checklist-schema",
      "url": "https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/#rk-temp35-checklist",
      "name": "Lista kontrolna instalacji 35/30°C",
      "numberOfItems": 14,
      "itemListOrder": "https://schema.org/ItemListOrderAscending",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Lokalizacja i warunki obliczeniowe",
          "description": "Czy przyjęto właściwą temperaturę zewnętrzną i warunki brzegowe budynku?"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "OZC każdego pomieszczenia",
          "description": "Czy znane jest projektowe obciążenie w watach, a nie tylko wskaźnik całego domu?"
        },
        {
          "@type": "ListItem",
          "position": 3,
          "name": "Powierzchnia czynna",
          "description": "Czy odjęto trwałą zabudowę i skoordynowano układ z aranżacją?"
        },
        {
          "@type": "ListItem",
          "position": 4,
          "name": "Temperatura pomieszczenia",
          "description": "Czy łazienka, salon i sypialnie mają właściwe założenia projektowe?"
        },
        {
          "@type": "ListItem",
          "position": 5,
          "name": "Konstrukcja podłogi",
          "description": "Czy znane są jastrych, położenie rury i wszystkie warstwy nad nią?"
        },
        {
          "@type": "ListItem",
          "position": 6,
          "name": "Okładzina i jej ograniczenia",
          "description": "Czy sprawdzono łączny opór cieplny oraz warunki producentów materiałów?"
        },
        {
          "@type": "ListItem",
          "position": 7,
          "name": "Moc przy docelowym parametrze",
          "description": "Czy W/m² pochodzi z obliczenia lub właściwej tabeli systemu dla 35/30°C?"
        },
        {
          "@type": "ListItem",
          "position": 8,
          "name": "Temperatura powierzchni",
          "description": "Czy obliczony strumień nie narusza warunków komfortu i zastosowanych materiałów?"
        },
        {
          "@type": "ListItem",
          "position": 9,
          "name": "Rozstaw i trasy rur",
          "description": "Czy geometria pokrywa obciążenie i daje wykonalne długości pętli?"
        },
        {
          "@type": "ListItem",
          "position": 10,
          "name": "ΔT i przepływy",
          "description": "Czy dla każdej pętli obliczono strumień odpowiadający jej mocy?"
        },
        {
          "@type": "ListItem",
          "position": 11,
          "name": "Opory i pompa obiegowa",
          "description": "Czy droga krytyczna mieści się w osiągalnym punkcie pracy?"
        },
        {
          "@type": "ListItem",
          "position": 12,
          "name": "Dane pompy ciepła",
          "description": "Czy moc, COP lub SCOP, zakres modulacji i ograniczenia odczytano dla właściwych warunków?"
        },
        {
          "@type": "ListItem",
          "position": 13,
          "name": "Minimalny przepływ, zład i sterowanie",
          "description": "Czy układ spełnia wymagania źródła także po zamknięciu części stref?"
        },
        {
          "@type": "ListItem",
          "position": 14,
          "name": "Dokumentacja i uruchomienie",
          "description": "Czy zapisano krzywą, przepływy, nastawy, próby oraz sposób późniejszej korekty?"
        }
      ]
    },
    {
      "@type": "FAQPage",
      "@id": "https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/#faq-schema",
      "url": "https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/#rk-temp35-faq",
      "name": "FAQ — temperatura zasilania pompy ciepła i podłogówki",
      "inLanguage": "pl-PL",
      "mainEntity": [
        {
          "@type": "Question",
          "name": "Czy 35°C zawsze wystarczy do ogrzewania podłogowego?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Nie. Wystarczy tylko wtedy, gdy moc podłogi przy przyjętym zasilaniu, powrocie, konstrukcji i okładzinie pokrywa obciążenie każdego pomieszczenia. W domu o małych stratach może wystarczyć mniej, a w trudnym pomieszczeniu może być potrzebna zmiana emitera lub wyższy parametr."
          }
        },
        {
          "@type": "Question",
          "name": "Czy 35°C jest temperaturą wymaganą przez normę?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Nie należy przedstawiać jej jako jednej temperatury nakazanej dla wszystkich instalacji. Metody projektowe służą do określania mocy i wymiarowania systemu, dlatego wynik zależy od warunków pomieszczenia, powierzchni, konstrukcji i geometrii."
          }
        },
        {
          "@type": "Question",
          "name": "Co dokładnie oznacza zapis 35/30°C?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Najczęściej oznacza projektową temperaturę zasilania 35°C i powrotu 30°C, czyli ΔT równe 5 K. Nie jest to temperatura podłogi ani powietrza w pomieszczeniu."
          }
        },
        {
          "@type": "Question",
          "name": "Czy niższa temperatura zasilania zawsze zwiększa COP?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Niższy wymagany poziom temperatury może poprawiać warunki pracy pompy, lecz dokładny skutek zależy od dolnego źródła, pogody, obciążenia i konstrukcji urządzenia. Warto porównywać dane tego samego modelu w tych samych warunkach."
          }
        },
        {
          "@type": "Question",
          "name": "Jak sprawdzić, czy parametr 35/30°C pokryje straty?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Podziel obciążenie pomieszczenia przez czynną powierzchnię podłogi, a otrzymane W/m² porównaj z mocą konkretnego systemu przy 35/30°C, właściwej temperaturze wnętrza, rozstawie i okładzinie. Następnie sprawdź temperaturę powierzchni oraz hydraulikę."
          }
        },
        {
          "@type": "Question",
          "name": "Czy rury trzeba zawsze układać co 10 cm przy pompie ciepła?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Nie. Rozstaw 10 cm może być uzasadniony obliczoną mocą i charakterystyką systemu, ale w części pomieszczeń wystarczający może być inny rozstaw. Trzeba równocześnie kontrolować długości, liczbę pętli, przepływy i opory."
          }
        },
        {
          "@type": "Question",
          "name": "Czy drewno na podłodze wyklucza zasilanie 35°C?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Nie automatycznie. Trzeba sprawdzić cały opór cieplny warstw, dopuszczenie produktu do podłogówki, warunki montażu i ograniczenia temperatury powierzchni. Następnie oblicza się, czy dostępna moc pokrywa obciążenie."
          }
        },
        {
          "@type": "Question",
          "name": "Czy podniesienie przepływu naprawi za niską moc podłogi?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Nie zawsze. Przepływ wpływa na ΔT i rozkład temperatury, ale nie może dowolnie zwiększyć mocy ograniczonej przez średnią temperaturę wody, powierzchnię oraz opór warstw. Najpierw trzeba ustalić przyczynę deficytu."
          }
        },
        {
          "@type": "Question",
          "name": "Czy instalacja 35/30°C potrzebuje bufora?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Sam parametr nie rozstrzyga tej kwestii. Decydują wymagania producenta pompy, minimalny zład i przepływ, modulacja, odszranianie, sterowanie strefowe oraz funkcja hydrauliczna, którą bufor miałby pełnić."
          }
        },
        {
          "@type": "Question",
          "name": "Jak ustawić krzywą grzewczą dla podłogówki?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Punkt projektowy wynika z obliczeń, a nachylenie i przesunięcie dopracowuje się podczas stabilnej pracy instalacji małymi krokami. Należy uwzględnić bezwładność podłogi i nie oceniać każdej zmiany po kilku minutach."
          }
        }
      ],
      "isPartOf": {
        "@id": "https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/#webpage"
      }
    }
  ]
}
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/">Temperatura zasilania pompy ciepła – czy 35°C wystarczy?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Rura z barierą antydyfuzyjną (EVOH).</title>
		<link>https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Mon, 26 Jan 2026 09:43:12 +0000</pubDate>
				<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Instalacje hydrauliczne]]></category>
		<category><![CDATA[Materiały do podłogówki]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradniki instalacyjne]]></category>
		<category><![CDATA[Poradniki techniczne]]></category>
		<category><![CDATA[Porady techniczne]]></category>
		<category><![CDATA[Rury do ogrzewania]]></category>
		<category><![CDATA[Rury do podłogówki]]></category>
		<category><![CDATA[Rury grzewcze]]></category>
		<category><![CDATA[Technika grzewcza]]></category>
		<category><![CDATA[Technika instalacyjna]]></category>
		<category><![CDATA[Wybór materiałów do podłogówki]]></category>
		<category><![CDATA[bariera antydyfuzyjna]]></category>
		<category><![CDATA[dyfuzja tlenu]]></category>
		<category><![CDATA[hydraulika budowlana]]></category>
		<category><![CDATA[instalacje grzewcze]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[pe-rt evoh]]></category>
		<category><![CDATA[pex evoh]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[rura evoh]]></category>
		<category><![CDATA[rury grzewcze]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=3316</guid>

					<description><![CDATA[<p>W instalacjach grzewczych nie ma miejsca na przypadek. To, co dziś jest niewidoczne w posadzce, przez kolejne dekady decyduje o sprawności całego systemu. Rura z barierą antydyfuzyjną (EVOH) to rozwiązanie, które od lat stanowi technologiczny standard w wodnym ogrzewaniu podłogowym – nie z mody, lecz z fizyki i doświadczenia. W artykule pokazujemy, dlaczego dyfuzja tlenu jest realnym zagrożeniem, jak działa EVOH, jakie parametry mają znaczenie przy doborze rur oraz dlaczego profesjonalny projekt i montaż są kluczowe dla trwałości instalacji.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/">Rura z barierą antydyfuzyjną (EVOH).</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
  #rk-evoh-guide {
    --rk-navy-950: #0b2232;
    --rk-navy-900: #102f42;
    --rk-navy-800: #17465c;
    --rk-blue: #0796bd;
    --rk-cyan: #29c4da;
    --rk-orange: #ff6846;
    --rk-yellow: #f3b51b;
    --rk-green: #15936f;
    --rk-red: #d84b4b;
    --rk-purple: #6d62c8;
    --rk-ink: #102739;
    --rk-text: #40566a;
    --rk-muted: #6e8293;
    --rk-line: #d3e2e9;
    --rk-soft: #f2f7f9;
    --rk-cyan-soft: #e9fbfe;
    --rk-orange-soft: #fff1ec;
    --rk-yellow-soft: #fff8df;
    --rk-green-soft: #eaf8f3;
    --rk-red-soft: #fff0ee;
    --rk-white: #ffffff;
    width: 100%;
    max-width: 1180px;
    margin: 28px auto 68px;
    color: var(--rk-ink);
    font-family: inherit;
    font-size: 17px;
    line-height: 1.72;
  }

  #rk-evoh-guide,
  #rk-evoh-guide * {
    box-sizing: border-box;
  }

  #rk-evoh-guide a {
    color: var(--rk-blue);
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
  }

  #rk-evoh-guide img,
  #rk-evoh-guide svg {
    max-width: 100%;
  }

  #rk-evoh-guide button,
  #rk-evoh-guide input,
  #rk-evoh-guide select {
    font: inherit;
  }

  #rk-evoh-guide .rk-evoh-shell {
    overflow: hidden;
    border: 1px solid var(--rk-line);
    border-radius: 28px;
    background: var(--rk-white);
    box-shadow: 0 22px 64px rgba(16, 47, 66, 0.12);
  }

  #rk-evoh-guide .rk-evoh-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(38px, 7vw, 76px) clamp(25px, 6vw, 76px) 42px;
    color: var(--rk-white);
    background:
      radial-gradient(circle at 91% 5%, rgba(41, 196, 218, 0.32), transparent 29%),
      radial-gradient(circle at 5% 96%, rgba(255, 104, 70, 0.21), transparent 28%),
      linear-gradient(135deg, #0d2332 0%, #143e53 58%, #0b6680 100%);
  }

  #rk-evoh-guide .rk-evoh-hero::after {
    position: absolute;
    right: -74px;
    bottom: -120px;
    width: 350px;
    height: 350px;
    border: 44px solid rgba(255, 255, 255, 0.055);
    border-radius: 50%;
    content: "";
  }

  #rk-evoh-guide .rk-evoh-eyebrow {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 15px;
    color: #78efff;
    font-size: 0.69rem;
    font-weight: 950;
    letter-spacing: 0.09em;
    line-height: 1.2;
    text-transform: uppercase;
  }

  #rk-evoh-guide .rk-evoh-eyebrow::before {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--rk-orange);
    box-shadow: 0 0 0 6px rgba(255, 104, 70, 0.14);
    content: "";
  }

  #rk-evoh-guide .rk-evoh-hero-title {
    position: relative;
    z-index: 1;
    max-width: 980px;
    margin: 0 0 19px;
    color: var(--rk-white);
    font-size: clamp(2.05rem, 5.4vw, 4.28rem);
    font-weight: 950;
    line-height: 1.01;
    letter-spacing: -0.055em;
  }

  #rk-evoh-guide .rk-evoh-hero-title span {
    color: #78efff;
  }

  #rk-evoh-guide .rk-evoh-hero-lead {
    position: relative;
    z-index: 1;
    max-width: 920px;
    margin: 0 0 24px;
    color: #d8e9ef;
    font-size: clamp(1.02rem, 2vw, 1.24rem);
    line-height: 1.67;
  }

  #rk-evoh-guide .rk-evoh-hero-tags {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin: 0 0 27px;
  }

  #rk-evoh-guide .rk-evoh-hero-tag {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    padding: 8px 13px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    color: #eefcff;
    background: rgba(255, 255, 255, 0.075);
    font-size: 0.72rem;
    font-weight: 850;
    line-height: 1.3;
  }

  #rk-evoh-guide .rk-evoh-byline {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    color: #bad3dc;
    font-size: 0.72rem;
    font-weight: 720;
  }

  #rk-evoh-guide .rk-evoh-byline strong,
  #rk-evoh-guide .rk-evoh-byline a {
    color: var(--rk-white);
  }

  #rk-evoh-guide .rk-evoh-byline a {
    text-decoration: none;
  }

  #rk-evoh-guide .rk-evoh-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    padding: 22px 28px;
    border-bottom: 1px solid var(--rk-line);
    background: var(--rk-white);
  }

  #rk-evoh-guide .rk-evoh-nav-label {
    display: inline-flex;
    align-items: center;
    padding: 7px 2px;
    color: var(--rk-navy-900);
    font-size: 0.68rem;
    font-weight: 950;
    letter-spacing: 0.07em;
    text-transform: uppercase;
  }

  #rk-evoh-guide .rk-evoh-nav a {
    display: inline-flex;
    min-height: 39px;
    align-items: center;
    padding: 8px 13px;
    border: 1px solid transparent;
    border-radius: 999px;
    color: var(--rk-ink);
    background: var(--rk-soft);
    font-size: 0.73rem;
    font-weight: 850;
    line-height: 1.25;
    text-decoration: none;
  }

  #rk-evoh-guide .rk-evoh-nav a:hover,
  #rk-evoh-guide .rk-evoh-nav a:focus-visible {
    border-color: var(--rk-cyan);
    color: var(--rk-navy-900);
    background: var(--rk-cyan-soft);
  }

  #rk-evoh-guide .rk-evoh-main {
    padding: 0 clamp(22px, 5vw, 66px);
  }

  #rk-evoh-guide .rk-evoh-section {
    scroll-margin-top: 24px;
    padding: clamp(44px, 6vw, 70px) 0;
    border-bottom: 1px solid var(--rk-line);
  }

  #rk-evoh-guide .rk-evoh-section:last-child {
    border-bottom: 0;
  }

  #rk-evoh-guide h2,
  #rk-evoh-guide h3,
  #rk-evoh-guide h4 {
    color: var(--rk-ink);
    font-weight: 930;
    letter-spacing: -0.025em;
  }

  #rk-evoh-guide h2 {
    max-width: 940px;
    margin: 0 0 21px;
    font-size: clamp(1.62rem, 3.3vw, 2.52rem);
    line-height: 1.12;
  }

  #rk-evoh-guide h3 {
    margin: 0 0 10px;
    font-size: clamp(1.08rem, 2vw, 1.33rem);
    line-height: 1.3;
  }

  #rk-evoh-guide h4 {
    margin: 0 0 7px;
    font-size: 0.98rem;
    line-height: 1.35;
  }

  #rk-evoh-guide p {
    margin: 0 0 18px;
    color: var(--rk-text);
  }

  #rk-evoh-guide p:last-child {
    margin-bottom: 0;
  }

  #rk-evoh-guide .rk-evoh-lead {
    max-width: 960px;
    color: #274356;
    font-size: 1.08rem;
    line-height: 1.78;
  }

  #rk-evoh-guide ul,
  #rk-evoh-guide ol {
    margin: 15px 0 0;
    padding-left: 1.25rem;
    color: var(--rk-text);
  }

  #rk-evoh-guide li {
    margin: 8px 0;
  }

  #rk-evoh-guide .rk-evoh-answer,
  #rk-evoh-guide .rk-evoh-note,
  #rk-evoh-guide .rk-evoh-warning {
    margin: 24px 0;
    padding: 21px 23px;
    border-left: 5px solid var(--rk-cyan);
    border-radius: 0 16px 16px 0;
    background: var(--rk-cyan-soft);
  }

  #rk-evoh-guide .rk-evoh-note {
    border-left-color: var(--rk-yellow);
    background: var(--rk-yellow-soft);
  }

  #rk-evoh-guide .rk-evoh-warning {
    border-left-color: var(--rk-orange);
    background: var(--rk-orange-soft);
  }

  #rk-evoh-guide .rk-evoh-answer p,
  #rk-evoh-guide .rk-evoh-note p,
  #rk-evoh-guide .rk-evoh-warning p {
    color: var(--rk-ink);
  }

  #rk-evoh-guide .rk-evoh-grid-2,
  #rk-evoh-guide .rk-evoh-grid-3,
  #rk-evoh-guide .rk-evoh-grid-4 {
    display: grid;
    gap: 18px;
    margin: 24px 0;
  }

  #rk-evoh-guide .rk-evoh-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #rk-evoh-guide .rk-evoh-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  #rk-evoh-guide .rk-evoh-grid-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  #rk-evoh-guide .rk-evoh-card {
    padding: 22px;
    border: 1px solid var(--rk-line);
    border-radius: 18px;
    background: var(--rk-white);
    box-shadow: 0 10px 25px rgba(16, 47, 66, 0.055);
  }

  #rk-evoh-guide .rk-evoh-card-accent {
    border-top: 5px solid var(--rk-cyan);
  }

  #rk-evoh-guide .rk-evoh-card-orange {
    border-top-color: var(--rk-orange);
  }

  #rk-evoh-guide .rk-evoh-card-green {
    border-top-color: var(--rk-green);
  }

  #rk-evoh-guide .rk-evoh-card-purple {
    border-top-color: var(--rk-purple);
  }

  #rk-evoh-guide .rk-evoh-tag {
    display: inline-flex;
    margin-bottom: 11px;
    padding: 5px 9px;
    border-radius: 999px;
    color: var(--rk-navy-900);
    background: var(--rk-cyan-soft);
    font-size: 0.67rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    line-height: 1.2;
    text-transform: uppercase;
  }

  #rk-evoh-guide .rk-evoh-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 24px 0;
  }

  #rk-evoh-guide .rk-evoh-step {
    position: relative;
    padding: 20px 17px;
    border: 1px solid var(--rk-line);
    border-radius: 16px;
    background: var(--rk-soft);
  }

  #rk-evoh-guide .rk-evoh-step-num {
    display: inline-flex;
    width: 31px;
    height: 31px;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
    border-radius: 10px;
    color: var(--rk-white);
    background: var(--rk-blue);
    font-size: 0.74rem;
    font-weight: 950;
  }

  #rk-evoh-guide .rk-evoh-step p {
    font-size: 0.86rem;
    line-height: 1.58;
  }

  #rk-evoh-guide .rk-evoh-table-wrap {
    overflow: hidden;
    margin: 24px 0;
    border: 1px solid var(--rk-line);
    border-radius: 18px;
  }

  #rk-evoh-guide .rk-evoh-table {
    width: 100%;
    margin: 0;
    border: 0;
    border-collapse: collapse;
    table-layout: fixed;
  }

  #rk-evoh-guide .rk-evoh-table th,
  #rk-evoh-guide .rk-evoh-table td {
    padding: 15px 16px;
    border: 0;
    border-bottom: 1px solid var(--rk-line);
    vertical-align: top;
    text-align: left;
    overflow-wrap: anywhere;
  }

  #rk-evoh-guide .rk-evoh-table th {
    color: var(--rk-white);
    background: var(--rk-navy-900);
    font-size: 0.76rem;
    font-weight: 900;
    line-height: 1.35;
  }

  #rk-evoh-guide .rk-evoh-table td {
    color: var(--rk-text);
    background: var(--rk-white);
    font-size: 0.86rem;
    line-height: 1.58;
  }

  #rk-evoh-guide .rk-evoh-table tbody tr:nth-child(even) td {
    background: var(--rk-soft);
  }

  #rk-evoh-guide .rk-evoh-table tr:last-child td {
    border-bottom: 0;
  }

  #rk-evoh-guide .rk-evoh-code-line {
    display: block;
    margin: 22px 0;
    padding: 18px 20px;
    border: 1px dashed #90adba;
    border-radius: 14px;
    color: var(--rk-navy-900);
    background: #f8fbfc;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: clamp(0.76rem, 1.5vw, 0.92rem);
    line-height: 1.6;
    overflow-wrap: anywhere;
  }

  #rk-evoh-guide .rk-evoh-tool {
    overflow: hidden;
    margin: 28px 0 0;
    border: 1px solid #2d586d;
    border-radius: 24px;
    color: var(--rk-white);
    background: var(--rk-navy-950);
    box-shadow: 0 20px 42px rgba(11, 34, 50, 0.2);
  }

  #rk-evoh-guide .rk-evoh-tool-head {
    padding: 27px clamp(20px, 4vw, 38px);
    border-bottom: 1px solid #2d586d;
    background: linear-gradient(130deg, #11384c, #17657a);
  }

  #rk-evoh-guide .rk-evoh-tool-kicker {
    display: block;
    margin-bottom: 7px;
    color: #6feaff;
    font-size: 0.68rem;
    font-weight: 950;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  #rk-evoh-guide .rk-evoh-tool-head h3 {
    margin: 0 0 8px;
    color: var(--rk-white);
    font-size: clamp(1.4rem, 3vw, 2.1rem);
  }

  #rk-evoh-guide .rk-evoh-tool-head p {
    max-width: 930px;
    color: #c8e0e8;
  }

  #rk-evoh-guide .rk-evoh-tool-body {
    padding: clamp(22px, 4vw, 38px);
  }

  #rk-evoh-guide .rk-evoh-form-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
  }

  #rk-evoh-guide .rk-evoh-field {
    padding: 16px;
    border: 1px solid #315a6e;
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.045);
  }

  #rk-evoh-guide .rk-evoh-field label {
    display: block;
    margin-bottom: 8px;
    color: #edfaff;
    font-size: 0.78rem;
    font-weight: 850;
    line-height: 1.4;
  }

  #rk-evoh-guide .rk-evoh-field small {
    display: block;
    margin-top: 7px;
    color: #8fb4c3;
    font-size: 0.66rem;
    line-height: 1.45;
  }

  #rk-evoh-guide .rk-evoh-field select {
    width: 100%;
    min-height: 47px;
    padding: 10px 36px 10px 12px;
    border: 1px solid #aac0ca;
    border-radius: 10px;
    color: var(--rk-ink);
    background: var(--rk-white);
  }

  #rk-evoh-guide .rk-evoh-tool-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 20px 0 0;
  }

  #rk-evoh-guide .rk-evoh-reset {
    min-height: 44px;
    padding: 10px 17px;
    border: 1px solid #56798a;
    border-radius: 11px;
    color: var(--rk-white);
    background: transparent;
    font-weight: 850;
    cursor: pointer;
  }

  #rk-evoh-guide .rk-evoh-reset:hover,
  #rk-evoh-guide .rk-evoh-reset:focus-visible {
    border-color: var(--rk-cyan);
    background: rgba(41, 196, 218, 0.11);
  }

  #rk-evoh-guide .rk-evoh-result {
    margin-top: 24px;
    padding: 24px;
    border: 1px solid #426a7d;
    border-radius: 19px;
    background: #143447;
  }

  #rk-evoh-guide .rk-evoh-status {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 15px;
    align-items: center;
    padding: 18px;
    border-left: 5px solid var(--rk-yellow);
    border-radius: 13px;
    background: rgba(243, 181, 27, 0.11);
  }

  #rk-evoh-guide .rk-evoh-status[data-state="complete"] {
    border-left-color: var(--rk-green);
    background: rgba(21, 147, 111, 0.14);
  }

  #rk-evoh-guide .rk-evoh-status[data-state="missing"] {
    border-left-color: var(--rk-red);
    background: rgba(216, 75, 75, 0.14);
  }

  #rk-evoh-guide .rk-evoh-status-icon {
    display: inline-flex;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: var(--rk-navy-950);
    background: var(--rk-yellow);
    font-size: 1.2rem;
    font-weight: 950;
  }

  #rk-evoh-guide .rk-evoh-status[data-state="complete"] .rk-evoh-status-icon {
    color: var(--rk-white);
    background: var(--rk-green);
  }

  #rk-evoh-guide .rk-evoh-status[data-state="missing"] .rk-evoh-status-icon {
    color: var(--rk-white);
    background: var(--rk-red);
  }

  #rk-evoh-guide .rk-evoh-status h4 {
    margin: 0 0 4px;
    color: var(--rk-white);
    font-size: 1.02rem;
  }

  #rk-evoh-guide .rk-evoh-status p {
    color: #c5dce5;
    font-size: 0.83rem;
    line-height: 1.55;
  }

  #rk-evoh-guide .rk-evoh-mark-preview {
    margin: 18px 0;
    padding: 15px 18px;
    border: 1px dashed #5d8293;
    border-radius: 12px;
    color: #dbf7fb;
    background: #0e2939;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.77rem;
    line-height: 1.55;
    overflow-wrap: anywhere;
  }

  #rk-evoh-guide .rk-evoh-visual {
    margin: 18px 0;
    padding: 20px;
    border: 1px solid #315a6e;
    border-radius: 16px;
    background: #0f2b3b;
  }

  #rk-evoh-guide .rk-evoh-visual h4 {
    color: var(--rk-white);
  }

  #rk-evoh-guide .rk-evoh-layer-set {
    display: none;
    gap: 7px;
    margin-top: 15px;
  }

  #rk-evoh-guide .rk-evoh-layers.is-three .rk-evoh-layer-three,
  #rk-evoh-guide .rk-evoh-layers.is-five .rk-evoh-layer-five,
  #rk-evoh-guide .rk-evoh-layers.is-unknown .rk-evoh-layer-unknown {
    display: grid;
  }

  #rk-evoh-guide .rk-evoh-layer-three {
    grid-template-columns: 5fr 1fr 1.2fr;
  }

  #rk-evoh-guide .rk-evoh-layer-five {
    grid-template-columns: 4.2fr 0.8fr 1.1fr 0.8fr 2.1fr;
  }

  #rk-evoh-guide .rk-evoh-layer-unknown {
    grid-template-columns: 1fr;
  }

  #rk-evoh-guide .rk-evoh-layer {
    display: flex;
    min-height: 86px;
    align-items: center;
    justify-content: center;
    padding: 9px;
    border-radius: 10px;
    color: var(--rk-navy-950);
    font-size: 0.68rem;
    font-weight: 900;
    line-height: 1.25;
    text-align: center;
  }

  #rk-evoh-guide .rk-evoh-layer-base {
    background: #d9eef3;
  }

  #rk-evoh-guide .rk-evoh-layer-adhesive {
    background: #f3c860;
  }

  #rk-evoh-guide .rk-evoh-layer-barrier {
    color: var(--rk-white);
    background: var(--rk-orange);
  }

  #rk-evoh-guide .rk-evoh-layer-protect {
    color: var(--rk-white);
    background: var(--rk-blue);
  }

  #rk-evoh-guide .rk-evoh-layer-neutral {
    color: #cfe4ec;
    background: #24495c;
  }

  #rk-evoh-guide .rk-evoh-visual-note {
    margin-top: 12px;
    color: #9ebdca;
    font-size: 0.72rem;
    line-height: 1.55;
  }

  #rk-evoh-guide .rk-evoh-evidence-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }

  #rk-evoh-guide .rk-evoh-evidence {
    padding: 18px;
    border: 1px solid #315a6e;
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.035);
  }

  #rk-evoh-guide .rk-evoh-evidence h4 {
    color: var(--rk-white);
  }

  #rk-evoh-guide .rk-evoh-evidence ul {
    margin-top: 8px;
    color: #c5dce5;
    font-size: 0.78rem;
    line-height: 1.5;
  }

  #rk-evoh-guide .rk-evoh-tool-foot {
    margin: 18px 0 0;
    color: #8fb1bf;
    font-size: 0.72rem;
    line-height: 1.55;
  }

  #rk-evoh-guide .rk-evoh-button,
  #rk-evoh-guide a.rk-evoh-button {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 12px 20px;
    border: 0;
    border-radius: 13px;
    color: var(--rk-white);
    background: var(--rk-orange);
    font-weight: 900;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
    box-shadow: 0 10px 25px rgba(255, 104, 70, 0.22);
    transition: transform 0.18s ease, box-shadow 0.18s ease;
  }

  #rk-evoh-guide .rk-evoh-button:hover,
  #rk-evoh-guide .rk-evoh-button:focus-visible {
    color: var(--rk-white);
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(255, 104, 70, 0.32);
  }

  #rk-evoh-guide .rk-evoh-cta {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 22px;
    align-items: center;
    margin: 30px 0 0;
    padding: 25px;
    border-radius: 19px;
    color: var(--rk-white);
    background: linear-gradient(130deg, var(--rk-navy-900), #17556c);
  }

  #rk-evoh-guide .rk-evoh-cta h3 {
    margin: 0 0 7px;
    color: var(--rk-white);
  }

  #rk-evoh-guide .rk-evoh-cta p {
    color: #d2e6ed;
    font-size: 0.88rem;
    line-height: 1.6;
  }

  #rk-evoh-guide .rk-evoh-checklist {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px;
    margin: 24px 0;
    counter-reset: rk-evoh-check;
  }

  #rk-evoh-guide .rk-evoh-check {
    position: relative;
    min-height: 90px;
    padding: 18px 18px 18px 63px;
    border: 1px solid var(--rk-line);
    border-radius: 16px;
    background: var(--rk-soft);
    counter-increment: rk-evoh-check;
  }

  #rk-evoh-guide .rk-evoh-check::before {
    position: absolute;
    top: 18px;
    left: 18px;
    display: inline-flex;
    width: 31px;
    height: 31px;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    color: var(--rk-white);
    background: var(--rk-blue);
    font-size: 0.72rem;
    font-weight: 950;
    content: counter(rk-evoh-check);
  }

  #rk-evoh-guide .rk-evoh-check p {
    font-size: 0.84rem;
    line-height: 1.55;
  }

  #rk-evoh-guide .rk-evoh-myth {
    display: grid;
    grid-template-columns: 0.8fr 1.2fr;
    gap: 0;
    overflow: hidden;
    margin: 13px 0;
    border: 1px solid var(--rk-line);
    border-radius: 15px;
  }

  #rk-evoh-guide .rk-evoh-myth > div {
    padding: 17px 19px;
  }

  #rk-evoh-guide .rk-evoh-myth > div:first-child {
    color: #882e2e;
    background: var(--rk-red-soft);
    font-weight: 900;
  }

  #rk-evoh-guide .rk-evoh-myth > div:last-child {
    color: var(--rk-text);
    background: var(--rk-white);
  }

  #rk-evoh-guide .rk-evoh-faq {
    display: grid;
    gap: 11px;
    margin-top: 24px;
  }

  #rk-evoh-guide .rk-evoh-faq details {
    border: 1px solid var(--rk-line);
    border-radius: 15px;
    background: var(--rk-white);
  }

  #rk-evoh-guide .rk-evoh-faq summary {
    position: relative;
    padding: 18px 52px 18px 20px;
    color: var(--rk-ink);
    font-weight: 900;
    line-height: 1.45;
    cursor: pointer;
    list-style: none;
  }

  #rk-evoh-guide .rk-evoh-faq summary::-webkit-details-marker {
    display: none;
  }

  #rk-evoh-guide .rk-evoh-faq summary::after {
    position: absolute;
    top: 50%;
    right: 20px;
    color: var(--rk-blue);
    font-size: 1.3rem;
    transform: translateY(-50%);
    content: "+";
  }

  #rk-evoh-guide .rk-evoh-faq details[open] summary::after {
    content: "−";
  }

  #rk-evoh-guide .rk-evoh-faq-answer {
    padding: 0 20px 20px;
  }

  #rk-evoh-guide .rk-evoh-faq-answer p {
    font-size: 0.9rem;
  }

  #rk-evoh-guide .rk-evoh-sources {
    margin-top: 20px;
    padding: 20px 22px 20px 43px;
    border: 1px solid var(--rk-line);
    border-radius: 17px;
    background: var(--rk-soft);
  }

  #rk-evoh-guide .rk-evoh-sources li {
    margin: 10px 0;
    font-size: 0.82rem;
    line-height: 1.55;
  }

  #rk-evoh-guide .rk-evoh-author {
    position: relative;
    scroll-margin-top: 24px;
    border-top: 1px solid var(--rk-line);
    background: #f4f9fb;
  }

  #rk-evoh-guide .rk-evoh-author > input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
  }

  #rk-evoh-guide .rk-evoh-author-head {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: center;
    padding: 25px clamp(24px, 5vw, 54px);
    border-bottom: 1px solid var(--rk-line);
    background: var(--rk-white);
  }

  #rk-evoh-guide .rk-evoh-author-head span:first-child {
    display: block;
    margin-bottom: 3px;
    color: var(--rk-blue);
    font-size: 0.67rem;
    font-weight: 950;
    letter-spacing: 0.07em;
    text-transform: uppercase;
  }

  #rk-evoh-guide .rk-evoh-author-head h2 {
    margin: 0;
    font-size: clamp(1.4rem, 2.5vw, 2rem);
  }

  #rk-evoh-guide .rk-evoh-author-mark {
    padding: 8px 12px;
    border-radius: 999px;
    color: var(--rk-navy-900);
    background: var(--rk-cyan-soft);
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0.05em;
  }

  #rk-evoh-guide .rk-evoh-author-layout {
    display: grid;
    grid-template-columns: 310px minmax(0, 1fr);
  }

  #rk-evoh-guide .rk-evoh-author-side {
    padding: 34px 28px;
    color: var(--rk-white);
    background: var(--rk-navy-950);
    text-align: center;
  }

  #rk-evoh-guide .rk-evoh-author-photo {
    width: 162px;
    height: 162px;
    margin: 0 auto 19px;
    overflow: hidden;
    border: 6px solid rgba(255, 255, 255, 0.16);
    border-radius: 50%;
    background: var(--rk-white);
  }

  #rk-evoh-guide .rk-evoh-author-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  #rk-evoh-guide .rk-evoh-author-name a {
    color: var(--rk-white);
    font-size: 1.18rem;
    font-weight: 950;
    text-decoration: none;
  }

  #rk-evoh-guide .rk-evoh-author-role {
    margin-top: 8px;
    color: #b9d2dc;
    font-size: 0.78rem;
    line-height: 1.55;
  }

  #rk-evoh-guide .rk-evoh-author-social-label {
    margin: 25px 0 10px;
    color: #819fac;
    font-size: 0.65rem;
    font-weight: 900;
    letter-spacing: 0.07em;
    text-transform: uppercase;
  }

  #rk-evoh-guide .rk-evoh-author-social {
    display: flex;
    justify-content: center;
    gap: 10px;
  }

  #rk-evoh-guide .rk-evoh-author-social a {
    display: inline-flex;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    border: 1px solid #426375;
    border-radius: 50%;
    color: #d9edf4;
  }

  #rk-evoh-guide .rk-evoh-author-social a:hover,
  #rk-evoh-guide .rk-evoh-author-social a:focus-visible {
    border-color: var(--rk-cyan);
    color: var(--rk-white);
    background: rgba(41, 196, 218, 0.12);
  }

  #rk-evoh-guide .rk-evoh-author-social svg {
    width: 22px;
    height: 22px;
    fill: currentColor;
  }

  #rk-evoh-guide .rk-evoh-author-main {
    padding: 34px clamp(28px, 5vw, 52px);
  }

  #rk-evoh-guide .rk-evoh-author-quote {
    position: relative;
    margin: 0 0 24px;
    padding: 21px 24px 21px 65px;
    border: 1px solid var(--rk-line);
    border-radius: 16px;
    background: var(--rk-white);
  }

  #rk-evoh-guide .rk-evoh-author-quote::before {
    position: absolute;
    top: 8px;
    left: 23px;
    color: var(--rk-cyan);
    font-family: Georgia, serif;
    font-size: 3.1rem;
    line-height: 1;
    content: "“";
  }

  #rk-evoh-guide .rk-evoh-author-quote p {
    color: var(--rk-ink);
    font-weight: 800;
  }

  #rk-evoh-guide .rk-evoh-author-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-bottom: 20px;
  }

  #rk-evoh-guide .rk-evoh-author-tab {
    padding: 9px 15px;
    border-radius: 999px;
    color: var(--rk-muted);
    background: #e5eef2;
    font-size: 0.72rem;
    font-weight: 900;
    cursor: pointer;
  }

  #rk-evoh-guide .rk-evoh-author-panel {
    display: none;
  }

  #rk-evoh-guide .rk-evoh-author-panel p {
    font-size: 0.9rem;
  }

  #rk-evoh-author-about:checked ~ .rk-evoh-author-layout .rk-evoh-author-panel-about,
  #rk-evoh-author-exp:checked ~ .rk-evoh-author-layout .rk-evoh-author-panel-exp,
  #rk-evoh-author-sites:checked ~ .rk-evoh-author-layout .rk-evoh-author-panel-sites {
    display: block;
  }

  #rk-evoh-author-about:checked ~ .rk-evoh-author-layout label[for="rk-evoh-author-about"],
  #rk-evoh-author-exp:checked ~ .rk-evoh-author-layout label[for="rk-evoh-author-exp"],
  #rk-evoh-author-sites:checked ~ .rk-evoh-author-layout label[for="rk-evoh-author-sites"] {
    color: var(--rk-white);
    background: var(--rk-blue);
  }

  #rk-evoh-guide .rk-evoh-final-wrap {
    padding: 32px clamp(22px, 5vw, 66px);
    border-top: 1px solid var(--rk-line);
    background: var(--rk-white);
  }

  #rk-evoh-guide .rk-evoh-final-wrap .rk-evoh-cta {
    margin: 0;
  }

  #rk-evoh-guide .rk-evoh-footnote {
    padding: 18px 24px;
    color: #718594;
    background: #eef5f7;
    font-size: 0.7rem;
    line-height: 1.55;
    text-align: center;
  }

  @media (max-width: 960px) {
    #rk-evoh-guide .rk-evoh-grid-4,
    #rk-evoh-guide .rk-evoh-grid-3,
    #rk-evoh-guide .rk-evoh-steps {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #rk-evoh-guide .rk-evoh-form-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #rk-evoh-guide .rk-evoh-author-layout {
      grid-template-columns: 270px minmax(0, 1fr);
    }

    #rk-evoh-guide .rk-evoh-cta {
      grid-template-columns: 1fr;
    }

    #rk-evoh-guide .rk-evoh-cta .rk-evoh-button {
      justify-self: start;
    }
  }

  @media (max-width: 720px) {
    #rk-evoh-guide {
      margin: 16px auto 42px;
      font-size: 16px;
    }

    #rk-evoh-guide .rk-evoh-shell {
      border-radius: 20px;
    }

    #rk-evoh-guide .rk-evoh-nav {
      gap: 7px;
      padding: 17px 16px;
    }

    #rk-evoh-guide .rk-evoh-nav-label {
      width: 100%;
    }

    #rk-evoh-guide .rk-evoh-nav a {
      min-height: 36px;
      padding: 7px 10px;
      font-size: 0.68rem;
    }

    #rk-evoh-guide .rk-evoh-grid-2,
    #rk-evoh-guide .rk-evoh-grid-3,
    #rk-evoh-guide .rk-evoh-grid-4,
    #rk-evoh-guide .rk-evoh-steps,
    #rk-evoh-guide .rk-evoh-form-grid,
    #rk-evoh-guide .rk-evoh-evidence-grid,
    #rk-evoh-guide .rk-evoh-checklist,
    #rk-evoh-guide .rk-evoh-author-layout {
      grid-template-columns: 1fr;
    }

    #rk-evoh-guide .rk-evoh-layer-three,
    #rk-evoh-guide .rk-evoh-layer-five {
      grid-template-columns: 1fr;
    }

    #rk-evoh-guide .rk-evoh-layer {
      min-height: 54px;
    }

    #rk-evoh-guide .rk-evoh-myth {
      grid-template-columns: 1fr;
    }

    #rk-evoh-guide .rk-evoh-table-wrap {
      overflow: visible;
      border: 0;
      border-radius: 0;
    }

    #rk-evoh-guide .rk-evoh-table,
    #rk-evoh-guide .rk-evoh-table tbody,
    #rk-evoh-guide .rk-evoh-table tr,
    #rk-evoh-guide .rk-evoh-table td {
      display: block;
      width: 100%;
    }

    #rk-evoh-guide .rk-evoh-table thead {
      position: absolute;
      width: 1px;
      height: 1px;
      overflow: hidden;
      clip: rect(0 0 0 0);
    }

    #rk-evoh-guide .rk-evoh-table tr {
      overflow: hidden;
      margin: 0 0 14px;
      border: 1px solid var(--rk-line);
      border-radius: 15px;
      background: var(--rk-white);
      box-shadow: 0 8px 18px rgba(16, 47, 66, 0.05);
    }

    #rk-evoh-guide .rk-evoh-table td,
    #rk-evoh-guide .rk-evoh-table tbody tr:nth-child(even) td {
      display: grid;
      grid-template-columns: minmax(110px, 0.75fr) minmax(0, 1.25fr);
      gap: 12px;
      padding: 13px 14px;
      border-bottom: 1px solid var(--rk-line);
      background: var(--rk-white);
    }

    #rk-evoh-guide .rk-evoh-table td::before {
      color: var(--rk-navy-900);
      font-size: 0.69rem;
      font-weight: 900;
      line-height: 1.4;
      content: attr(data-label);
    }

    #rk-evoh-guide .rk-evoh-table tr td:last-child {
      border-bottom: 0;
    }

    #rk-evoh-guide .rk-evoh-author-head {
      align-items: flex-start;
    }

    #rk-evoh-guide .rk-evoh-author-mark {
      display: none;
    }

    #rk-evoh-guide .rk-evoh-author-side {
      padding: 30px 22px;
    }

    #rk-evoh-guide .rk-evoh-author-main {
      padding: 28px 22px;
    }

    #rk-evoh-guide .rk-evoh-author-quote {
      padding: 50px 20px 20px;
    }

    #rk-evoh-guide .rk-evoh-author-quote::before {
      top: 8px;
      left: 20px;
    }
  }

  @media (max-width: 460px) {
    #rk-evoh-guide .rk-evoh-hero {
      padding: 34px 20px 31px;
    }

    #rk-evoh-guide .rk-evoh-main {
      padding: 0 18px;
    }

    #rk-evoh-guide .rk-evoh-status {
      grid-template-columns: 1fr;
    }

    #rk-evoh-guide .rk-evoh-result,
    #rk-evoh-guide .rk-evoh-tool-body,
    #rk-evoh-guide .rk-evoh-cta {
      padding: 18px;
    }

    #rk-evoh-guide .rk-evoh-table td,
    #rk-evoh-guide .rk-evoh-table tbody tr:nth-child(even) td {
      grid-template-columns: 1fr;
      gap: 4px;
    }

    #rk-evoh-guide .rk-evoh-final-wrap {
      padding: 24px 18px;
    }
  }

  @media print {
    #rk-evoh-guide .rk-evoh-nav,
    #rk-evoh-guide .rk-evoh-tool-actions,
    #rk-evoh-guide .rk-evoh-cta,
    #rk-evoh-guide .rk-evoh-final-wrap {
      display: none !important;
    }

    #rk-evoh-guide .rk-evoh-shell {
      border: 0;
      box-shadow: none;
    }
  }
</style>

<article id="rk-evoh-guide" itemscope itemtype="https://schema.org/TechArticle">
  <div class="rk-evoh-shell">
    <header class="rk-evoh-hero">
      <span class="rk-evoh-eyebrow">Rury do podłogówki • aktualizacja 2026</span>
      <div class="rk-evoh-hero-title">Rura z barierą EVOH — <span>co daje i jak ją sprawdzić?</span></div>
      <p class="rk-evoh-hero-lead">Skrót EVOH na nadruku nie wystarcza, aby ocenić całą rurę. Zobacz, jak odróżnić funkcję bariery tlenowej od materiału przewodu, porównać konstrukcję 3L i 5L oraz zweryfikować kartę techniczną, oznaczenia i dokumenty przed zalaniem instalacji.</p>

      <div class="rk-evoh-hero-tags" aria-label="Najważniejsze zagadnienia artykułu">
        <span class="rk-evoh-hero-tag">bariera tlenowa EVOH</span>
        <span class="rk-evoh-hero-tag">rura 3L i 5L</span>
        <span class="rk-evoh-hero-tag">DIN 4726</span>
        <span class="rk-evoh-hero-tag">PEX i PE-RT</span>
        <span class="rk-evoh-hero-tag">weryfikator oznaczeń</span>
      </div>

      <div class="rk-evoh-byline">
        <span>Autor: <a href="https://projekt-ogrzewania.pl/author/admin3399/"><strong>Robert Kucharski</strong></a></span>
        <span>Czas czytania: około 22 minuty</span>
        <span>Aktualizacja techniczna: 1 września 2026 r.</span>
      </div>
    </header>

    <nav class="rk-evoh-nav" aria-label="Nawigacja po wszystkich nagłówkach H2">
      <span class="rk-evoh-nav-label">Na skróty — wszystkie H2</span>
      <a href="#rk-evoh-szybka-odpowiedz">Szybka odpowiedź</a>
      <a href="#rk-evoh-czym-jest">Czym jest EVOH</a>
      <a href="#rk-evoh-tlen">Tlen i korozja</a>
      <a href="#rk-evoh-czego-nie-robi">Czego nie zapewnia</a>
      <a href="#rk-evoh-warstwy">3L czy 5L</a>
      <a href="#rk-evoh-oznaczenia">Oznaczenia rury</a>
      <a href="#rk-evoh-weryfikator">Weryfikator</a>
      <a href="#rk-evoh-normy">Normy</a>
      <a href="#rk-evoh-material">PEX czy PE-RT</a>
      <a href="#rk-evoh-hydraulika">Hydraulika</a>
      <a href="#rk-evoh-montaz">Montaż</a>
      <a href="#rk-evoh-woda">Woda i inhibitor</a>
      <a href="#rk-evoh-istniejaca">Istniejąca rura</a>
      <a href="#rk-evoh-checklista">Checklista</a>
      <a href="#rk-evoh-mity">Mity</a>
      <a href="#rk-evoh-faq">FAQ</a>
      <a href="#rk-evoh-zrodla">Źródła</a>
      <a href="#rk-evoh-author">Autor</a>
    </nav>

    <main class="rk-evoh-main">
      <section class="rk-evoh-section" id="rk-evoh-szybka-odpowiedz">
        <h2>Szybka odpowiedź: czy rura do podłogówki powinna mieć barierę EVOH?</h2>
        <p class="rk-evoh-lead">W instalacji ogrzewania podłogowego z rur tworzywowych należy zastosować przewód przeznaczony do instalacji grzewczych, którego tlenoszczelność została udokumentowana dla gotowego produktu. EVOH jest popularnym materiałem warstwy antydyfuzyjnej, ale o poprawności wyboru nie przesądza sam skrót, kolor rury ani liczba warstw.</p>

        <div class="rk-evoh-answer">
          <p><strong>Najbezpieczniejsza kolejność jest prosta:</strong> najpierw sprawdź przeznaczenie i parametry całej rury, następnie dokument potwierdzający tlenoszczelność, a dopiero później porównuj PEX, PE-RT, konstrukcję 3L lub 5L i cenę.</p>
        </div>

        <div class="rk-evoh-grid-4">
          <article class="rk-evoh-card rk-evoh-card-accent">
            <span class="rk-evoh-tag">Funkcja</span>
            <h3>Ograniczenie dyfuzji</h3>
            <p>Warstwa EVOH ma ograniczać przenikanie tlenu przez ściankę przewodu do wody instalacyjnej.</p>
          </article>
          <article class="rk-evoh-card rk-evoh-card-accent rk-evoh-card-orange">
            <span class="rk-evoh-tag">Dowód</span>
            <h3>Dokumentacja produktu</h3>
            <p>Karta techniczna, deklarowane parametry, norma i ewentualny certyfikat są ważniejsze niż marketingowa nazwa.</p>
          </article>
          <article class="rk-evoh-card rk-evoh-card-accent rk-evoh-card-green">
            <span class="rk-evoh-tag">Konstrukcja</span>
            <h3>3L lub 5L</h3>
            <p>Liczba warstw opisuje budowę przewodu, lecz sama nie potwierdza tlenoszczelności ani trwałości całego systemu.</p>
          </article>
          <article class="rk-evoh-card rk-evoh-card-accent rk-evoh-card-purple">
            <span class="rk-evoh-tag">Projekt</span>
            <h3>Osobne obliczenia</h3>
            <p>EVOH nie wyznacza rozstawu, długości pętli, przepływu, mocy cieplnej ani średnicy magistrali.</p>
          </article>
        </div>

        <p>Nie będziemy sprowadzać decyzji do hasła „rura pięciowarstwowa zawsze jest dobra”. Rura musi pasować do temperatury, ciśnienia, medium, sposobu montażu i kompletnego systemu. Jeżeli wybierasz materiał bazowy, zobacz również osobne opracowania o <a href="https://projekt-ogrzewania.pl/rura-pex-do-ogrzewania-podlogowego/">rurze PEX do ogrzewania podłogowego</a> oraz <a href="https://projekt-ogrzewania.pl/rura-pert-do-ogrzewania-podlogowego/">rurze PE-RT do podłogówki</a>.</p>
      </section>

      <section class="rk-evoh-section" id="rk-evoh-czym-jest">
        <h2>Czym jest bariera antydyfuzyjna EVOH?</h2>
        <p>EVOH to kopolimer alkoholu etylenowo-winylowego stosowany jako warstwa o małej przepuszczalności dla gazów. W rurze grzewczej nie pełni funkcji konstrukcyjnej przewodu w takim znaczeniu jak warstwa PEX lub PE-RT. Jego zadaniem jest ograniczanie transportu tlenu przez ściankę tworzywa.</p>

        <h3>Dyfuzja nie jest przeciekiem</h3>
        <p>Przenikanie gazu przez materiał nie oznacza widocznej dziury ani wycieku wody. Cząsteczki tlenu mogą migrować przez strukturę tworzywa pod wpływem różnicy warunków po obu stronach ścianki. Wielkość tego zjawiska zależy od materiału, temperatury, grubości, wilgotności i konstrukcji gotowej rury. Dlatego nie powinno się przeliczać go z samej powierzchni domu.</p>

        <div class="rk-evoh-steps" aria-label="Uproszczony przebieg dyfuzji tlenu">
          <article class="rk-evoh-step">
            <span class="rk-evoh-step-num">1</span>
            <h4>Otoczenie rury</h4>
            <p>Tlen znajduje się poza przewodem, a warunki otoczenia zmieniają się w czasie eksploatacji.</p>
          </article>
          <article class="rk-evoh-step">
            <span class="rk-evoh-step-num">2</span>
            <h4>Ścianka przewodu</h4>
            <p>Warstwy tworzywa stawiają opór transportowi gazu. EVOH ma ten opór wyraźnie zwiększać.</p>
          </article>
          <article class="rk-evoh-step">
            <span class="rk-evoh-step-num">3</span>
            <h4>Woda instalacyjna</h4>
            <p>Tlen, który dostał się do obiegu, może zostać zużyty w reakcjach lub pozostać rozpuszczony.</p>
          </article>
          <article class="rk-evoh-step">
            <span class="rk-evoh-step-num">4</span>
            <h4>Elementy metalowe</h4>
            <p>Znaczenie zależy od materiałów, jakości wody, temperatury, ciśnienia i innych źródeł tlenu.</p>
          </article>
        </div>

        <div class="rk-evoh-note">
          <p><strong>Ważne:</strong> określenie „tlenoszczelna” nie oznacza matematycznie zerowej przepuszczalności. Oznacza spełnienie określonego kryterium badawczego w podanych warunkach.</p>
        </div>
      </section>

      <section class="rk-evoh-section" id="rk-evoh-tlen">
        <h2>Dlaczego dopływ tlenu ma znaczenie dla instalacji grzewczej?</h2>
        <p>DIN CERTCO wskazuje, że tlen dostający się do instalacji może powodować problemy korozyjne w elementach zawierających żelazo i wpływać na trwałość układu. Nie oznacza to jednak, że każdy przewód bez widocznego napisu EVOH automatycznie wywoła awarię w określonym terminie. Ryzyko zależy od całej instalacji, a nie tylko od jednej warstwy rury.</p>

        <div class="rk-evoh-table-wrap">
          <table class="rk-evoh-table">
            <thead>
              <tr>
                <th>Możliwa droga dopływu tlenu</th>
                <th>Czy bariera w rurze pomaga?</th>
                <th>Co trzeba kontrolować dodatkowo?</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td data-label="Droga tlenu">Dyfuzja przez ściankę przewodu tworzywowego</td>
                <td data-label="Rola bariery">Tak — jest to podstawowa funkcja warstwy antydyfuzyjnej.</td>
                <td data-label="Dodatkowa kontrola">Dokumentację tlenoszczelności całej rury i stan warstwy po montażu.</td>
              </tr>
              <tr>
                <td data-label="Droga tlenu">Częste uzupełnianie świeżej wody</td>
                <td data-label="Rola bariery">Nie usuwa tlenu wprowadzonego wraz z wodą uzupełniającą.</td>
                <td data-label="Dodatkowa kontrola">Szczelność, ciśnienie, naczynie przeponowe i przyczynę ubytków.</td>
              </tr>
              <tr>
                <td data-label="Droga tlenu">Nieszczelność lub zasysanie powietrza</td>
                <td data-label="Rola bariery">Nie naprawia błędów ciśnieniowych ani nieszczelności.</td>
                <td data-label="Dodatkowa kontrola">Miejsce wycieku, stronę ssawną pompy, odpowietrzenie i ciśnienie statyczne.</td>
              </tr>
              <tr>
                <td data-label="Droga tlenu">Serwis, opróżnienie i ponowne napełnienie</td>
                <td data-label="Rola bariery">Nie zapobiega dopływowi tlenu podczas prac serwisowych.</td>
                <td data-label="Dodatkowa kontrola">Procedurę płukania, napełniania, odpowietrzania i zapis ilości wody.</td>
              </tr>
              <tr>
                <td data-label="Droga tlenu">Inny element bez bariery</td>
                <td data-label="Rola bariery">Chroni tylko na odcinku, na którym zastosowano zweryfikowany przewód.</td>
                <td data-label="Dodatkowa kontrola">Wszystkie elastyczne przewody, węże i elementy całego obiegu.</td>
              </tr>
            </tbody>
          </table>
        </div>

        <p>Zagadnienie korozji w zamkniętym obiegu obejmuje skład materiałowy, jakość wody, temperaturę, dopływ tlenu oraz eksploatację. Dlatego dobra rura jest elementem strategii ochrony, a nie samodzielnym lekarstwem na każdy osad i każdą awarię.</p>
      </section>

      <section class="rk-evoh-section" id="rk-evoh-czego-nie-robi">
        <h2>Czego bariera EVOH nie zapewnia?</h2>
        <div class="rk-evoh-grid-3">
          <article class="rk-evoh-card rk-evoh-card-accent rk-evoh-card-orange">
            <span class="rk-evoh-tag">Nie oblicza</span>
            <h3>Mocy i rozstawu</h3>
            <p>Warstwa nie zna straty ciepła pomieszczenia, powierzchni czynnej, okładziny ani wymaganej temperatury podłogi.</p>
          </article>
          <article class="rk-evoh-card rk-evoh-card-accent rk-evoh-card-orange">
            <span class="rk-evoh-tag">Nie ustala</span>
            <h3>Hydrauliki pętli</h3>
            <p>Przepływ i opór wynikają przede wszystkim z mocy, schłodzenia, średnicy wewnętrznej, długości i medium.</p>
          </article>
          <article class="rk-evoh-card rk-evoh-card-accent rk-evoh-card-orange">
            <span class="rk-evoh-tag">Nie zastępuje</span>
            <h3>Jakości wody</h3>
            <p>Bariera nie koryguje przewodności, twardości, pH, zanieczyszczeń ani błędnie dobranych dodatków.</p>
          </article>
          <article class="rk-evoh-card rk-evoh-card-accent rk-evoh-card-orange">
            <span class="rk-evoh-tag">Nie gwarantuje</span>
            <h3>Pięćdziesięciu lat bez serwisu</h3>
            <p>Badanie materiału i klasa zastosowania nie są gwarancją całej instalacji wraz z montażem i eksploatacją.</p>
          </article>
          <article class="rk-evoh-card rk-evoh-card-accent rk-evoh-card-orange">
            <span class="rk-evoh-tag">Nie naprawia</span>
            <h3>Nieszczelności</h3>
            <p>Częste dopuszczanie wody może wprowadzać tlen niezależnie od tlenoszczelności przewodów.</p>
          </article>
          <article class="rk-evoh-card rk-evoh-card-accent rk-evoh-card-orange">
            <span class="rk-evoh-tag">Nie potwierdza</span>
            <h3>Całej rury</h3>
            <p>Napis EVOH nie mówi samodzielnie o klasie pracy, ciśnieniu, wymiarze, trwałości połączeń ani promieniu gięcia.</p>
          </article>
        </div>

        <p>W szczególności obecność EVOH nie obniża automatycznie temperatury zasilania i nie poprawia sprawności podłogi o określony procent. Temperatura oraz moc wynikają z bilansu cieplnego i konstrukcji powierzchni grzewczej.</p>
      </section>

      <section class="rk-evoh-section" id="rk-evoh-warstwy">
        <h2>Rura 3-warstwowa czy 5-warstwowa EVOH?</h2>
        <p>W popularnym uproszczeniu rura 3L składa się z warstwy konstrukcyjnej, spoiwa i bariery EVOH umieszczonej bliżej zewnętrznej powierzchni. W konstrukcji 5L bariera może znajdować się pomiędzy dodatkowymi warstwami spoiwa i tworzywa ochronnego. Rzeczywisty układ trzeba zawsze potwierdzić w przekroju oraz karcie konkretnego produktu.</p>

        <div class="rk-evoh-table-wrap">
          <table class="rk-evoh-table">
            <thead>
              <tr>
                <th>Kryterium</th>
                <th>Typowa konstrukcja 3L</th>
                <th>Typowa konstrukcja 5L</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td data-label="Kryterium">Położenie EVOH</td>
                <td data-label="3L">Często blisko zewnętrznej powierzchni przewodu.</td>
                <td data-label="5L">Często pomiędzy warstwami tworzywa i spoiwa.</td>
              </tr>
              <tr>
                <td data-label="Kryterium">Ochrona mechaniczna</td>
                <td data-label="3L">Zależy od rzeczywistej konstrukcji i sposobu obchodzenia się z rurą.</td>
                <td data-label="5L">Dodatkowa warstwa może osłaniać EVOH przed kontaktem z podłożem i narzędziami.</td>
              </tr>
              <tr>
                <td data-label="Kryterium">Tlenoszczelność</td>
                <td data-label="3L">Może być spełniona, jeżeli potwierdzają ją badania i dokumentacja produktu.</td>
                <td data-label="5L">Nie wynika automatycznie z liczby warstw; również wymaga potwierdzenia.</td>
              </tr>
              <tr>
                <td data-label="Kryterium">Ocena zakupowa</td>
                <td data-label="3L">Sprawdź oznaczenie, deklarację, przeznaczenie i warunki montażu.</td>
                <td data-label="5L">Sprawdź te same dane — symbol 5L nie jest certyfikatem.</td>
              </tr>
            </tbody>
          </table>
        </div>

        <div class="rk-evoh-warning">
          <p><strong>Nie dobieraj rury wyłącznie po liczbie warstw.</strong> Dwie rury opisane jako 5L mogą różnić się materiałem, średnicą wewnętrzną, klasą zastosowania, ciśnieniem projektowym, promieniem gięcia i zakresem dopuszczonych mediów.</p>
        </div>
      </section>

      <section class="rk-evoh-section" id="rk-evoh-oznaczenia">
        <h2>Jak czytać oznaczenia rury z barierą EVOH?</h2>
        <p>Nadruk powinien umożliwiać powiązanie odcinka rury z konkretnym typem produktu i dokumentacją. Sam napis „EVOH” jest informacją pomocniczą. Kluczowe jest to, czy można odnaleźć parametry całej rury, warunki jej zastosowania oraz dowód tlenoszczelności.</p>

        <span class="rk-evoh-code-line">PRZYKŁAD UKŁADU DANYCH: PE-RT II • 16 × 2,0 mm • klasa zastosowania / ciśnienie • EVOH • DIN 4726 • numer partii • znacznik metrażu</span>

        <div class="rk-evoh-grid-3">
          <article class="rk-evoh-card">
            <h3>Materiał</h3>
            <p>PE-Xa, PE-Xb, PE-RT Typ I, PE-RT Typ II, PB lub opis systemu wielowarstwowego. To nie jest jeszcze informacja o barierze.</p>
          </article>
          <article class="rk-evoh-card">
            <h3>Wymiar</h3>
            <p>Średnica zewnętrzna i grubość ścianki, np. 16 × 2,0 mm. Z tych danych wynika geometria, ale nie pełna charakterystyka hydrauliczna.</p>
          </article>
          <article class="rk-evoh-card">
            <h3>Klasa i ciśnienie</h3>
            <p>Warunki zastosowania trzeba czytać razem z dokumentacją. Klasa nie oznacza jednej stałej temperatury przez cały okres eksploatacji.</p>
          </article>
          <article class="rk-evoh-card">
            <h3>Bariera i norma</h3>
            <p>Oznaczenie EVOH lub oxygen barrier powinno prowadzić do danych o tlenoszczelności gotowej rury.</p>
          </article>
          <article class="rk-evoh-card">
            <h3>Identyfikacja partii</h3>
            <p>Numer partii, data lub kod produkcyjny pomagają połączyć dostawę z dokumentami i ewentualnym zgłoszeniem.</p>
          </article>
          <article class="rk-evoh-card">
            <h3>Znacznik długości</h3>
            <p>Oznaczenie metrażu pomaga kontrolować zużycie i dokumentować długości, ale nie zastępuje projektu pętli.</p>
          </article>
        </div>

        <p>Jeżeli na przewodzie nie widać pełnego nadruku, nie wyciągaj natychmiast wniosku, że rura nie ma bariery. Sprawdź pozostały krążek, etykietę opakowania, fakturę, kartę techniczną oraz dokumenty dostawy. Jeżeli niczego nie da się powiązać z produktem, mamy problem dokumentacyjny — nie dowód na konkretną budowę rury.</p>
      </section>

      <section class="rk-evoh-section" id="rk-evoh-weryfikator">
        <h2>Interaktywny weryfikator rury i dokumentacji EVOH</h2>
        <p class="rk-evoh-lead">Narzędzie nie certyfikuje produktu. Porządkuje informacje, które warto mieć przed zakupem i przed zalaniem przewodów jastrychem. Ustaw odpowiedzi zgodnie z tym, co rzeczywiście widzisz na rurze i w dokumentach.</p>

        <div class="rk-evoh-tool" role="region" aria-label="Interaktywny weryfikator rury EVOH">
          <header class="rk-evoh-tool-head">
            <span class="rk-evoh-tool-kicker">Narzędzie inwestora i wykonawcy</span>
            <h3>Sprawdź, czy potrafisz udokumentować wybraną rurę</h3>
            <p>Wynik rozróżnia informacje z nadruku, dane z dokumentacji i niezależne potwierdzenie. Liczba warstw nie podmienia brakujących dowodów.</p>
          </header>

          <div class="rk-evoh-tool-body">
            <form id="rk-evoh-form">
              <div class="rk-evoh-form-grid">
                <div class="rk-evoh-field">
                  <label for="rk-evoh-material">Materiał bazowy rury</label>
                  <select id="rk-evoh-material">
                    <option value="unknown">Nie wiem / brak danych</option>
                    <option value="pexa">PE-Xa</option>
                    <option value="pexb">PE-Xb</option>
                    <option value="pert1">PE-RT Typ I</option>
                    <option value="pert2">PE-RT Typ II</option>
                    <option value="pb">PB</option>
                    <option value="multi">System wielowarstwowy</option>
                  </select>
                  <small>Materiał konstrukcyjny i bariera tlenowa to osobne informacje.</small>
                </div>

                <div class="rk-evoh-field">
                  <label for="rk-evoh-construction">Deklarowana konstrukcja</label>
                  <select id="rk-evoh-construction">
                    <option value="unknown">Nie wiem / nie podano</option>
                    <option value="three">3 warstwy</option>
                    <option value="five">5 warstw</option>
                    <option value="other">Inna konstrukcja</option>
                  </select>
                  <small>Przekrój poniżej jest schematem edukacyjnym, nie zdjęciem produktu.</small>
                </div>

                <div class="rk-evoh-field">
                  <label for="rk-evoh-marking">Czy na rurze wskazano EVOH lub barierę tlenową?</label>
                  <select id="rk-evoh-marking">
                    <option value="unknown">Nie wiem / nadruk nieczytelny</option>
                    <option value="yes">Tak</option>
                    <option value="no">Nie</option>
                  </select>
                  <small>Nadruk pomaga identyfikować produkt, ale nie jest samodzielnym wynikiem badania.</small>
                </div>

                <div class="rk-evoh-field">
                  <label for="rk-evoh-din">Czy dokumentacja powołuje DIN 4726?</label>
                  <select id="rk-evoh-din">
                    <option value="unknown">Nie wiem / nie znalazłem</option>
                    <option value="yes">Tak</option>
                    <option value="no">Nie</option>
                  </select>
                  <small>Sprawdź dokument, a nie wyłącznie grafikę lub nazwę handlową.</small>
                </div>

                <div class="rk-evoh-field">
                  <label for="rk-evoh-sheet">Czy masz kartę techniczną dokładnie tej rury?</label>
                  <select id="rk-evoh-sheet">
                    <option value="unknown">Nie / brak pewności</option>
                    <option value="yes">Tak, zgodną z oznaczeniem</option>
                    <option value="no">Nie</option>
                  </select>
                  <small>Nazwa marki bez typu, wymiaru i wersji produktu może prowadzić do złej karty.</small>
                </div>

                <div class="rk-evoh-field">
                  <label for="rk-evoh-permeation">Czy podano parametr lub zgodność dotyczącą tlenoszczelności?</label>
                  <select id="rk-evoh-permeation">
                    <option value="unknown">Nie wiem / nie znalazłem</option>
                    <option value="yes">Tak</option>
                    <option value="no">Nie</option>
                  </select>
                  <small>Wartość musi mieć jednostkę, warunki odniesienia i dotyczyć gotowego produktu.</small>
                </div>

                <div class="rk-evoh-field">
                  <label for="rk-evoh-certificate">Czy jest numer certyfikatu lub rejestracji?</label>
                  <select id="rk-evoh-certificate">
                    <option value="unknown">Nie wiem / nie sprawdziłem</option>
                    <option value="yes">Tak, możliwy do zweryfikowania</option>
                    <option value="no">Nie</option>
                  </select>
                  <small>Niezależny certyfikat jest mocnym dowodem, lecz trzeba sprawdzić jego zakres i ważność.</small>
                </div>

                <div class="rk-evoh-field">
                  <label for="rk-evoh-class">Czy znasz klasę zastosowania i ciśnienie?</label>
                  <select id="rk-evoh-class">
                    <option value="unknown">Nie wiem / brak danych</option>
                    <option value="yes">Tak</option>
                    <option value="no">Nie</option>
                  </select>
                  <small>To parametry doboru całej rury, a nie samej warstwy EVOH.</small>
                </div>

                <div class="rk-evoh-field">
                  <label for="rk-evoh-dimensions">Czy potwierdzono średnicę i grubość ścianki?</label>
                  <select id="rk-evoh-dimensions">
                    <option value="unknown">Nie wiem / brak danych</option>
                    <option value="yes">Tak</option>
                    <option value="no">Nie</option>
                  </select>
                  <small>Wymiar musi odpowiadać projektowi, złączkom i założeniom hydraulicznym.</small>
                </div>

                <div class="rk-evoh-field">
                  <label for="rk-evoh-uv">Czy rura była przechowywana zgodnie z ochroną przed światłem i UV?</label>
                  <select id="rk-evoh-uv">
                    <option value="unknown">Nie wiem</option>
                    <option value="yes">Tak</option>
                    <option value="no">Nie / widoczne długie nasłonecznienie</option>
                  </select>
                  <small>Warunki magazynowania sprawdzaj w instrukcji i dokumentacji dostawy.</small>
                </div>
              </div>

              <div class="rk-evoh-tool-actions">
                <button type="button" class="rk-evoh-reset" id="rk-evoh-reset">Wyczyść odpowiedzi</button>
              </div>
            </form>

            <div class="rk-evoh-result" aria-live="polite">
              <div class="rk-evoh-status" id="rk-evoh-status" data-state="missing">
                <span class="rk-evoh-status-icon" id="rk-evoh-status-icon">?</span>
                <div>
                  <h4 id="rk-evoh-status-title">Nie można jeszcze potwierdzić rury</h4>
                  <p id="rk-evoh-status-text">Uzupełnij informacje z nadruku i dokumentacji. Wynik nie zastępuje certyfikatu ani oceny konkretnego produktu.</p>
                </div>
              </div>

              <div class="rk-evoh-mark-preview" id="rk-evoh-mark-preview">Materiał: brak danych • konstrukcja: brak danych • bariera: niepotwierdzona • norma: niepotwierdzona</div>

              <div class="rk-evoh-visual">
                <h4>Referencyjny przekrój wybranej konstrukcji</h4>
                <div class="rk-evoh-layers is-unknown" id="rk-evoh-layers">
                  <div class="rk-evoh-layer-set rk-evoh-layer-three">
                    <div class="rk-evoh-layer rk-evoh-layer-base">warstwa konstrukcyjna rury</div>
                    <div class="rk-evoh-layer rk-evoh-layer-adhesive">spoiwo</div>
                    <div class="rk-evoh-layer rk-evoh-layer-barrier">EVOH bliżej powierzchni</div>
                  </div>
                  <div class="rk-evoh-layer-set rk-evoh-layer-five">
                    <div class="rk-evoh-layer rk-evoh-layer-base">warstwa konstrukcyjna rury</div>
                    <div class="rk-evoh-layer rk-evoh-layer-adhesive">spoiwo</div>
                    <div class="rk-evoh-layer rk-evoh-layer-barrier">EVOH</div>
                    <div class="rk-evoh-layer rk-evoh-layer-adhesive">spoiwo</div>
                    <div class="rk-evoh-layer rk-evoh-layer-protect">warstwa ochronna</div>
                  </div>
                  <div class="rk-evoh-layer-set rk-evoh-layer-unknown">
                    <div class="rk-evoh-layer rk-evoh-layer-neutral">Wybierz konstrukcję. Rzeczywisty układ warstw potwierdź w dokumentacji konkretnej rury.</div>
                  </div>
                </div>
                <p class="rk-evoh-visual-note" id="rk-evoh-visual-note">Schemat nie przesądza o zgodności. Produkty opisane tą samą liczbą warstw mogą mieć inną budowę i parametry.</p>
              </div>

              <div class="rk-evoh-evidence-grid">
                <section class="rk-evoh-evidence">
                  <h4>Co udało się potwierdzić?</h4>
                  <ul id="rk-evoh-confirmed">
                    <li>Brak potwierdzonych informacji.</li>
                  </ul>
                </section>
                <section class="rk-evoh-evidence">
                  <h4>Co wymaga sprawdzenia?</h4>
                  <ul id="rk-evoh-missing">
                    <li>Odczytaj nadruk i znajdź kartę techniczną dokładnie tej wersji rury.</li>
                  </ul>
                </section>
              </div>

              <p class="rk-evoh-tool-foot">Wynik ocenia kompletność informacji, nie jakość marki. Nie mierzy rzeczywistej przepuszczalności, nie sprawdza uszkodzeń ukrytych i nie potwierdza zgodności instalacji z projektem.</p>
            </div>
          </div>
        </div>

        <aside class="rk-evoh-cta">
          <div>
            <h3>Dokumentacja rury to dopiero początek projektu</h3>
            <p><strong>Weryfikator pomaga sprawdzić oznaczenia i dokumenty, ale nie oblicza liczby metrów, rozstawu, długości pętli, przepływów, nastaw rozdzielacza ani średnicy zasilania.</strong> Jeżeli rura ma zostać dobrana do konkretnego domu, potrzebne są obliczenia cieplne, hydrauliczne i rozrysowanie obwodów na rzucie.</p>
          </div>
          <a class="rk-evoh-button rk-evoh-sales-cta" href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Zamów projekt z doborem rur i pętli</a>
        </aside>
      </section>

      <section class="rk-evoh-section" id="rk-evoh-normy">
        <h2>DIN 4726 i normy materiałowe — co naprawdę potwierdzają?</h2>
        <p>Nie należy wkładać wszystkich wymagań do jednego worka. Inny dokument opisuje tlenoszczelność, inny właściwości rur PE-X, PE-RT lub systemów wielowarstwowych, a jeszcze inny klasyfikację warunków pracy.</p>

        <div class="rk-evoh-table-wrap">
          <table class="rk-evoh-table">
            <thead>
              <tr>
                <th>Dokument</th>
                <th>Zakres przydatny przy wyborze</th>
                <th>Czego sam nie gwarantuje?</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td data-label="Dokument">DIN 4726 / schemat DIN CERTCO</td>
                <td data-label="Zakres">Badanie tlenoszczelności, materiału bariery, oznakowania i wymagań systemu objętego oceną.</td>
                <td data-label="Ograniczenie">Poprawnego rozstawu, długości pętli, jakości montażu i bezawaryjności całej kotłowni.</td>
              </tr>
              <tr>
                <td data-label="Dokument">ISO 15875-2</td>
                <td data-label="Zakres">Charakterystyka rur PE-X do instalacji wodnych i grzewczych, z warstwą barierową lub bez niej.</td>
                <td data-label="Ograniczenie">Że każda rura PE-X ma automatycznie barierę tlenową.</td>
              </tr>
              <tr>
                <td data-label="Dokument">ISO 22391-2</td>
                <td data-label="Zakres">Charakterystyka rur PE-RT, klasy zastosowania, ciśnienia, wymiary i badania; obejmuje rury z barierą lub bez.</td>
                <td data-label="Ograniczenie">Że sam napis PE-RT potwierdza EVOH lub zgodność z DIN 4726.</td>
              </tr>
              <tr>
                <td data-label="Dokument">ISO 21003-2</td>
                <td data-label="Zakres">Rury do systemów wielowarstwowych pracujących przy określonych temperaturach i ciśnieniach.</td>
                <td data-label="Ograniczenie">Że każdy dowolny układ warstw ma identyczne właściwości i zastosowanie.</td>
              </tr>
              <tr>
                <td data-label="Dokument">ISO 10508</td>
                <td data-label="Zakres">Klasyfikacja i projektowanie ciśnieniowych systemów z tworzyw dla typowych warunków pracy.</td>
                <td data-label="Ograniczenie">Że klasa zastosowania jest jedną stałą temperaturą roboczą przez cały okres użytkowania.</td>
              </tr>
            </tbody>
          </table>
        </div>

        <h3>Jak czytać granicę przepuszczalności?</h3>
        <p>W informacjach DIN CERTCO dla certyfikowanych systemów pojawia się powierzchniowa przepuszczalność tlenu do 0,32 mg/(m²·d) przy 40°C dla klasy 4 oraz do 3,60 mg/(m²·d) przy 80°C dla klasy 5. Są to wartości odniesione do powierzchni rury i warunków badania. Nie są stężeniem tlenu w litrze wody ani gotową prognozą ilości osadu w domu.</p>

        <div class="rk-evoh-note">
          <p><strong>Dlatego nie tworzymy kalkulatora „kilogramów szlamu”.</strong> Nawet znając granicę badawczą, nie można bez dodatkowych danych zamienić jej w wiarygodny termin awarii, koszt naprawy ani masę zanieczyszczeń.</p>
        </div>
      </section>

      <section class="rk-evoh-section" id="rk-evoh-material">
        <h2>PEX-a, PEX-b, PE-RT czy PB z barierą EVOH?</h2>
        <p>Materiał bazowy wpływa między innymi na zachowanie przewodu podczas gięcia, zakres parametrów, sposób produkcji i wymagania połączeń. Bariera EVOH odpowiada za inną funkcję. Najpierw trzeba więc ocenić cały system, a nie prowadzić konkursu jednego skrótu przeciwko drugiemu.</p>

        <div class="rk-evoh-table-wrap">
          <table class="rk-evoh-table">
            <thead>
              <tr>
                <th>Materiał</th>
                <th>Co sprawdzić?</th>
                <th>Jak traktować EVOH?</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td data-label="Materiał">PE-Xa</td>
                <td data-label="Sprawdzenie">Wymiar, klasę, ciśnienie, promień gięcia, kompatybilne złączki i dopuszczoną procedurę postępowania z załamaniem.</td>
                <td data-label="EVOH">Jako osobno udokumentowaną funkcję bariery gotowej rury.</td>
              </tr>
              <tr>
                <td data-label="Materiał">PE-Xb</td>
                <td data-label="Sprawdzenie">Te same dane systemowe; sposób sieciowania nie zastępuje informacji o warstwie antydyfuzyjnej.</td>
                <td data-label="EVOH">Nie wnioskuj o niej wyłącznie z oznaczenia PE-Xb.</td>
              </tr>
              <tr>
                <td data-label="Materiał">PE-RT Typ I lub II</td>
                <td data-label="Sprawdzenie">Dokładny typ materiału, klasę pracy, wymiar, gięcie, połączenia i dokumentację systemu.</td>
                <td data-label="EVOH">Rury PE-RT mogą występować z warstwą barierową lub bez niej.</td>
              </tr>
              <tr>
                <td data-label="Materiał">PB</td>
                <td data-label="Sprawdzenie">Parametry rury, system złączek, promień gięcia i przeznaczenie wskazane w dokumentacji.</td>
                <td data-label="EVOH">Potwierdź konkretną konstrukcję zamiast zakładać ją na podstawie materiału bazowego.</td>
              </tr>
              <tr>
                <td data-label="Materiał">Rura wielowarstwowa</td>
                <td data-label="Sprawdzenie">Układ materiałów, średnicę wewnętrzną, klasę, ciśnienie, połączenia i zgodność całego systemu.</td>
                <td data-label="EVOH">Nie każda bariera gazowa musi mieć identyczną budowę; sprawdź deklarację produktu.</td>
              </tr>
            </tbody>
          </table>
        </div>

        <div class="rk-evoh-warning">
          <p><strong>Załamania nie naprawiaj według uniwersalnej temperatury z internetu.</strong> Dopuszczalność i metoda naprawy zależą od konkretnej rury. Jeżeli instrukcja systemu nie przewiduje regeneracji danego uszkodzenia, odcinek trzeba ocenić zgodnie z dokumentacją, a nie ogrzewać go „na oko”.</p>
        </div>
      </section>

      <section class="rk-evoh-section" id="rk-evoh-hydraulika">
        <h2>Czy EVOH wpływa na przepływ, opór i moc podłogi?</h2>
        <p>Sama obecność warstwy EVOH nie jest parametrem wejściowym do obliczenia przepływu pętli. Jeżeli dwie rury mają tę samą rzeczywistą średnicę wewnętrzną, długość i porównywalną powierzchnię wewnętrzną, o wyniku hydraulicznym nie przesądza napis EVOH na zewnętrznej warstwie.</p>

        <div class="rk-evoh-table-wrap">
          <table class="rk-evoh-table">
            <thead>
              <tr>
                <th>Wielkość projektowa</th>
                <th>Od czego zależy?</th>
                <th>Czy samo EVOH ją wyznacza?</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td data-label="Wielkość">Przepływ pętli</td>
                <td data-label="Zależność">Od wymaganej mocy, ciepła właściwego medium i przyjętego schłodzenia.</td>
                <td data-label="Rola EVOH">Nie.</td>
              </tr>
              <tr>
                <td data-label="Wielkość">Prędkość wody</td>
                <td data-label="Zależność">Od przepływu i pola przekroju wewnętrznego.</td>
                <td data-label="Rola EVOH">Nie, jeśli geometria wewnętrzna pozostaje taka sama.</td>
              </tr>
              <tr>
                <td data-label="Wielkość">Spadek ciśnienia</td>
                <td data-label="Zależność">Od przepływu, długości, średnicy wewnętrznej, medium, temperatury i elementów miejscowych.</td>
                <td data-label="Rola EVOH">Nie jako samodzielna cecha.</td>
              </tr>
              <tr>
                <td data-label="Wielkość">Moc powierzchni grzewczej</td>
                <td data-label="Zależność">Od temperatur, rozstawu, konstrukcji podłogi, okładziny i powierzchni czynnej.</td>
                <td data-label="Rola EVOH">Nie wyznacza mocy ani dopuszczalnej temperatury powierzchni.</td>
              </tr>
              <tr>
                <td data-label="Wielkość">Długość pętli</td>
                <td data-label="Zależność">Od geometrii pomieszczenia, rozstawu, dobiegów i dopuszczalnego oporu obwodu.</td>
                <td data-label="Rola EVOH">Nie wyznacza uniwersalnego limitu 100 lub 120 m.</td>
              </tr>
            </tbody>
          </table>
        </div>

        <p>Do tych obliczeń służą osobne opracowania: <a href="https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/">ile rury potrzeba na m² podłogówki</a>, <a href="https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/">maksymalna długość pętli</a>, <a href="https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/">pojemność jednego metra rury</a> oraz <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/">dobór pompy obiegowej</a>.</p>
      </section>

      <section class="rk-evoh-section" id="rk-evoh-montaz">
        <h2>Jak nie uszkodzić rury i bariery podczas montażu?</h2>
        <div class="rk-evoh-grid-2">
          <article class="rk-evoh-card rk-evoh-card-accent">
            <h3>Przechowywanie</h3>
            <p>Rurę przechowuj zgodnie z dokumentacją, w opakowaniu i z ochroną przed światłem oraz promieniowaniem UV. Nie zostawiaj krążków bez kontroli na otwartej budowie.</p>
          </article>
          <article class="rk-evoh-card rk-evoh-card-accent">
            <h3>Rozwijanie krążka</h3>
            <p>Stosuj rozwijak i unikaj ciągnięcia przewodu po ostrych krawędziach, zabrudzonym betonie, wystających elementach oraz metalowych profilach.</p>
          </article>
          <article class="rk-evoh-card rk-evoh-card-accent">
            <h3>Gięcie</h3>
            <p>Zachowaj minimalny promień wskazany dla konkretnego produktu i warunków montażu. Nie opieraj decyzji na jednej wartości dla wszystkich rur 16 mm.</p>
          </article>
          <article class="rk-evoh-card rk-evoh-card-accent">
            <h3>Dylatacje</h3>
            <p>Przejścia przez szczeliny dylatacyjne wykonaj zgodnie z projektem, z odpowiednią ochroną rury i możliwością pracy konstrukcji.</p>
          </article>
          <article class="rk-evoh-card rk-evoh-card-accent">
            <h3>Mocowanie</h3>
            <p>Spinki, szyny i narzędzia nie mogą nacinać ani nadmiernie ściskać przewodu. Widoczne uszkodzenie trzeba ocenić przed przykryciem.</p>
          </article>
          <article class="rk-evoh-card rk-evoh-card-accent">
            <h3>Próba i dokumentacja</h3>
            <p>Próbę wykonaj według projektu, instrukcji systemu i właściwej procedury. Zapisz ciśnienie, czas, temperaturę oraz wykonaj zdjęcia przed jastrychem.</p>
          </article>
        </div>

        <p>Nie podajemy jednej obowiązkowej wartości „minimum 3 bar podczas wylewania”, ponieważ procedura zależy od systemu, wymagań projektu, sposobu próby i warunków budowy. Stała liczba bez kontekstu może być równie myląca jak brak próby.</p>
      </section>

      <section class="rk-evoh-section" id="rk-evoh-woda">
        <h2>EVOH a woda instalacyjna, inhibitor, glikol i separator</h2>
        <p>Ochrona instalacji składa się z kilku niezależnych działań. Nie powinno się przedstawiać inhibitora jako środka, który „wiąże cały tlen”, ani bariery jako rozwiązania wszystkich problemów po stronie wodnej.</p>

        <div class="rk-evoh-table-wrap">
          <table class="rk-evoh-table">
            <thead>
              <tr>
                <th>Element ochrony</th>
                <th>Jego zadanie</th>
                <th>Czego nie zastępuje?</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td data-label="Element">Bariera EVOH</td>
                <td data-label="Zadanie">Ograniczanie dyfuzji tlenu przez ściankę rury.</td>
                <td data-label="Nie zastępuje">Jakości wody, szczelności, prawidłowego ciśnienia i serwisu.</td>
              </tr>
              <tr>
                <td data-label="Element">Woda do napełnienia</td>
                <td data-label="Zadanie">Zapewnienie medium o parametrach zgodnych z wymaganiami instalacji i urządzeń.</td>
                <td data-label="Nie zastępuje">Bariery w przewodach i kontroli późniejszego uzupełniania.</td>
              </tr>
              <tr>
                <td data-label="Element">Inhibitor korozji</td>
                <td data-label="Zadanie">Wspieranie ochrony materiałów w określonym układzie i stężeniu.</td>
                <td data-label="Nie zastępuje">Automatycznie udokumentowanej tlenoszczelności rury ani usunięcia przyczyny dopływu tlenu.</td>
              </tr>
              <tr>
                <td data-label="Element">Glikol</td>
                <td data-label="Zadanie">Ochrona przed zamarzaniem przy właściwym rodzaju, stężeniu i kontroli.</td>
                <td data-label="Nie zastępuje">Sprawdzenia zgodności z rurą, uszczelnieniami, pompą i dodatkami.</td>
              </tr>
              <tr>
                <td data-label="Element">Separator zanieczyszczeń</td>
                <td data-label="Zadanie">Wydzielanie i umożliwienie usuwania części zanieczyszczeń z obiegu.</td>
                <td data-label="Nie zastępuje">Usunięcia przyczyny korozji, nieszczelności i błędów jakości wody.</td>
              </tr>
            </tbody>
          </table>
        </div>

        <p>Szerzej opisujemy te zależności w poradnikach: <a href="https://projekt-ogrzewania.pl/czym-napelnic-instalacje-ogrzewania-podlogowego/">czym napełnić instalację ogrzewania podłogowego</a>, <a href="https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/">woda demineralizowana z inhibitorem</a> oraz <a href="https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/">dobór separatora zanieczyszczeń i powietrza</a>.</p>
      </section>

      <section class="rk-evoh-section" id="rk-evoh-istniejaca">
        <h2>Co zrobić, gdy istniejąca rura nie ma czytelnego oznaczenia EVOH?</h2>
        <p>Brak widocznego nadruku na fragmencie wystającym z posadzki nie pozwala automatycznie ustalić konstrukcji całej rury. Najpierw trzeba odtworzyć identyfikację produktu, a dopiero później oceniać ryzyko dla instalacji.</p>

        <div class="rk-evoh-steps">
          <article class="rk-evoh-step">
            <span class="rk-evoh-step-num">1</span>
            <h4>Zrób zdjęcia</h4>
            <p>Fotografuj cały czytelny nadruk, kod partii, wymiar i oznaczenia na każdym dostępnym odcinku.</p>
          </article>
          <article class="rk-evoh-step">
            <span class="rk-evoh-step-num">2</span>
            <h4>Sprawdź dostawę</h4>
            <p>Poszukaj etykiety krążka, faktury, karty materiałowej, protokołu odbioru i pozostałości rury.</p>
          </article>
          <article class="rk-evoh-step">
            <span class="rk-evoh-step-num">3</span>
            <h4>Połącz z dokumentem</h4>
            <p>Numer typu i partii powinien prowadzić do dokładnej wersji produktu, nie tylko do nazwy marki.</p>
          </article>
          <article class="rk-evoh-step">
            <span class="rk-evoh-step-num">4</span>
            <h4>Oceń cały układ</h4>
            <p>Sprawdź materiały metalowe, wodę uzupełniającą, ciśnienie, osad i historię serwisową instalacji.</p>
          </article>
        </div>

        <h3>Czy można zbadać barierę już zalanej rury?</h3>
        <p>Pojedynczy pomiar stężenia tlenu w wodzie nie identyfikuje jednoznacznie materiału ukrytego w posadzce. Wynik zależy również od temperatury, pracy instalacji, uzupełniania wody, materiałów metalowych i innych dróg dopływu tlenu. Jeżeli dokumentacji nie da się odzyskać, ocenę prowadzi się na poziomie całego układu i objawów, a nie przez zgadywanie liczby warstw.</p>

        <div class="rk-evoh-note">
          <p><strong>Nie wymieniaj poprawnie działającej instalacji tylko dlatego, że nie widzisz napisu EVOH.</strong> Najpierw zbierz dokumenty i dane eksploatacyjne. Brak identyfikacji jest sygnałem do diagnostyki, nie automatycznym wyrokiem.</p>
        </div>
      </section>

      <section class="rk-evoh-section" id="rk-evoh-checklista">
        <h2>Checklista przed zakupem i zalaniem rury EVOH</h2>
        <p>Poniższe kroki tworzą widoczną procedurę weryfikacji. Warto dołączyć ją do dokumentacji budowy razem ze zdjęciami ułożonych pętli i protokołem próby.</p>

        <div class="rk-evoh-checklist">
          <article class="rk-evoh-check">
            <h3>Zidentyfikuj produkt</h3>
            <p>Zapisz pełną nazwę, typ, wymiar, materiał, konstrukcję oraz numer partii z rury i opakowania.</p>
          </article>
          <article class="rk-evoh-check">
            <h3>Pobierz kartę techniczną</h3>
            <p>Upewnij się, że dokument dotyczy dokładnie tej wersji i średnicy, a nie podobnego produktu.</p>
          </article>
          <article class="rk-evoh-check">
            <h3>Sprawdź tlenoszczelność</h3>
            <p>Znajdź deklarację, normę, warunki badania i dokument potwierdzający barierę gotowej rury.</p>
          </article>
          <article class="rk-evoh-check">
            <h3>Zweryfikuj certyfikat</h3>
            <p>Jeżeli podano znak lub numer rejestracji, sprawdź jego ważność i zakres dla wybranego produktu.</p>
          </article>
          <article class="rk-evoh-check">
            <h3>Potwierdź parametry pracy</h3>
            <p>Sprawdź klasę zastosowania, ciśnienie, temperatury i zgodność z medium przewidzianym w instalacji.</p>
          </article>
          <article class="rk-evoh-check">
            <h3>Potwierdź geometrię</h3>
            <p>Porównaj średnicę i grubość ścianki z projektem, złączkami oraz obliczeniami hydraulicznymi.</p>
          </article>
          <article class="rk-evoh-check">
            <h3>Sprawdź magazynowanie</h3>
            <p>Oceń stan opakowania, ochronę przed światłem i UV oraz widoczne uszkodzenia krążka.</p>
          </article>
          <article class="rk-evoh-check">
            <h3>Zaplanuj montaż</h3>
            <p>Przygotuj rozwijak, mocowanie, promienie gięcia, przejścia przez dylatacje i ochronę dobiegów.</p>
          </article>
          <article class="rk-evoh-check">
            <h3>Wykonaj kontrolę przed jastrychem</h3>
            <p>Obejrzyj całą powierzchnię, miejsca gięcia i przejścia. Oznacz uszkodzenia przed przykryciem.</p>
          </article>
          <article class="rk-evoh-check">
            <h3>Zarchiwizuj odbiór</h3>
            <p>Zachowaj fotografie, długości obwodów, dokumenty materiałowe i protokół próby instalacji.</p>
          </article>
        </div>
      </section>

      <section class="rk-evoh-section" id="rk-evoh-mity">
        <h2>Najczęstsze mity o rurach z barierą antydyfuzyjną</h2>
        <div class="rk-evoh-myth">
          <div>Mit: EVOH całkowicie zatrzymuje każdą cząsteczkę tlenu.</div>
          <div>Rzeczywistość: tlenoszczelność oznacza spełnienie określonego kryterium badawczego w podanych warunkach.</div>
        </div>
        <div class="rk-evoh-myth">
          <div>Mit: każda rura 5L jest lepsza od każdej rury 3L.</div>
          <div>Rzeczywistość: pięć warstw może lepiej osłaniać barierę, ale zgodność nadal potwierdza się dokumentacją gotowego produktu.</div>
        </div>
        <div class="rk-evoh-myth">
          <div>Mit: PEX zawsze ma EVOH.</div>
          <div>Rzeczywistość: normy materiałowe obejmują przewody z warstwą barierową i bez niej. Trzeba sprawdzić konkretną wersję.</div>
        </div>
        <div class="rk-evoh-myth">
          <div>Mit: EVOH pozwala stosować dłuższe pętle.</div>
          <div>Rzeczywistość: długość pętli ogranicza hydraulika, geometria, rozstaw, dobieg i wymagany przepływ.</div>
        </div>
        <div class="rk-evoh-myth">
          <div>Mit: inhibitor w 100% zastąpi brak bariery.</div>
          <div>Rzeczywistość: dodatek działa w określonym układzie i stężeniu. Nie usuwa automatycznie źródła dopływu tlenu.</div>
        </div>
        <div class="rk-evoh-myth">
          <div>Mit: brak EVOH oznacza awarię po trzech latach.</div>
          <div>Rzeczywistość: nie można wyznaczyć terminu awarii z jednego parametru. Ryzyko ocenia się dla całej instalacji.</div>
        </div>
        <div class="rk-evoh-myth">
          <div>Mit: napis DIN 4726 kończy weryfikację.</div>
          <div>Rzeczywistość: trzeba powiązać oznaczenie z dokumentacją, zakresem oceny, konkretną rurą i ewentualnym numerem certyfikatu.</div>
        </div>
      </section>

      <section class="rk-evoh-section" id="rk-evoh-faq">
        <h2>FAQ — rura z barierą antydyfuzyjną EVOH</h2>
        <div class="rk-evoh-faq">
          <details>
            <summary>Czy każda rura do ogrzewania podłogowego musi mieć napis EVOH?</summary>
            <div class="rk-evoh-faq-answer"><p>Najważniejsze jest udokumentowane ograniczenie przenikania tlenu dla całej rury przeznaczonej do instalacji grzewczej. EVOH jest popularnym materiałem bariery, lecz sam brak tego skrótu na jednym widocznym fragmencie nie pozwala jeszcze ustalić budowy produktu.</p></div>
          </details>
          <details>
            <summary>Czy rura 5-warstwowa jest zawsze lepsza od 3-warstwowej?</summary>
            <div class="rk-evoh-faq-answer"><p>Nie. Konstrukcja 5L może lepiej osłaniać warstwę EVOH, ale o zgodności decydują wyniki badań, dokumentacja, parametry pracy i jakość całego systemu. Poprawnie udokumentowana rura 3L również może spełniać wymagania.</p></div>
          </details>
          <details>
            <summary>Jak sprawdzić, czy rura rzeczywiście ma barierę tlenową?</summary>
            <div class="rk-evoh-faq-answer"><p>Odczytaj pełny nadruk, zidentyfikuj typ i partię, pobierz kartę techniczną, sprawdź deklarację tlenoszczelności oraz ewentualny numer certyfikatu. Nie opieraj decyzji wyłącznie na kolorze lub opisie sprzedawcy.</p></div>
          </details>
          <details>
            <summary>Czy oznaczenie DIN 4726 na rurze wystarcza?</summary>
            <div class="rk-evoh-faq-answer"><p>Jest ważną wskazówką, ale warto powiązać je z dokładnym produktem i dokumentacją. Jeżeli podano znak certyfikacyjny lub numer rejestracji, należy sprawdzić jego zakres i ważność.</p></div>
          </details>
          <details>
            <summary>Czy EVOH poprawia moc ogrzewania podłogowego?</summary>
            <div class="rk-evoh-faq-answer"><p>Nie jest parametrem, z którego oblicza się moc podłogi. Wydajność zależy między innymi od temperatur, rozstawu, konstrukcji jastrychu, oporu okładziny i powierzchni czynnej.</p></div>
          </details>
          <details>
            <summary>Czy EVOH zmniejsza opór hydrauliczny rury?</summary>
            <div class="rk-evoh-faq-answer"><p>Nie można przypisać takiego efektu samej barierze. Opór zależy od geometrii wewnętrznej, długości, przepływu, temperatury, medium i właściwości powierzchni wewnętrznej całej rury.</p></div>
          </details>
          <details>
            <summary>Czy bariera EVOH jest potrzebna przy glikolu?</summary>
            <div class="rk-evoh-faq-answer"><p>Glikol nie powinien być traktowany jako automatyczny zamiennik bariery tlenowej. Trzeba sprawdzić przeznaczenie rury, zgodność glikolu oraz dodatków z całym systemem i wymaganiami źródła ciepła.</p></div>
          </details>
          <details>
            <summary>Czy inhibitor korozji może zastąpić EVOH?</summary>
            <div class="rk-evoh-faq-answer"><p>Nie należy zakładać pełnej zamienności. Inhibitor wspiera ochronę w określonych warunkach, lecz nie usuwa źródła dyfuzji i wymaga właściwego stężenia, zgodności materiałowej oraz kontroli w czasie.</p></div>
          </details>
          <details>
            <summary>Czy można naprawić zarysowaną lub załamaną rurę?</summary>
            <div class="rk-evoh-faq-answer"><p>Decyzja zależy od rodzaju i głębokości uszkodzenia oraz instrukcji konkretnego systemu. Nie stosuj uniwersalnej metody z opalarką. Przed zalaniem odcinek powinien zostać oceniony i udokumentowany.</p></div>
          </details>
          <details>
            <summary>Co zrobić, gdy nie ma dokumentów istniejącej instalacji?</summary>
            <div class="rk-evoh-faq-answer"><p>Zbierz zdjęcia nadruku, dokumenty dostawy i pozostałości rury, a następnie oceń materiały, jakość wody, ciśnienie, uzupełnianie i osad w całym układzie. Brak dokumentów jest powodem do diagnostyki, nie automatycznego demontażu.</p></div>
          </details>
          <details>
            <summary>Czy bariera EVOH chroni pompę ciepła lub kocioł?</summary>
            <div class="rk-evoh-faq-answer"><p>Ograniczenie dyfuzji tlenu może zmniejszać jeden z czynników sprzyjających korozji elementów zawierających żelazo. Ochrona urządzenia nadal zależy od jakości wody, szczelności, ciśnienia, filtracji, separacji i wymagań dokumentacji źródła.</p></div>
          </details>
        </div>
      </section>

      <section class="rk-evoh-section" id="rk-evoh-zrodla">
        <h2>Źródła i zakres techniczny opracowania</h2>
        <p>Artykuł rozdziela tlenoszczelność rury, właściwości materiału bazowego oraz ochronę całej instalacji. Przywołane dokumenty nie uzasadniają obliczania czasu awarii lub kilogramów osadu wyłącznie z powierzchni budynku.</p>

        <ul class="rk-evoh-sources">
          <li><a href="https://www.dincertco.de/din-certco/en/main-navigation/products-and-services/certification-of-products/space-heating-and-cooling/rohrleitungen-aus-kunststoff/" target="_blank" rel="nofollow noopener noreferrer">DIN CERTCO — Heating Piping Systems, oxygen-tight according to DIN 4726</a> — podstawa oceny tlenoszczelności, certyfikacji, znakowania i ochrony rur przed światłem.</li>
          <li><a href="https://www.iso.org/standard/79776.html" target="_blank" rel="nofollow noopener noreferrer">ISO 15875-2:2025 — Crosslinked polyethylene, pipes</a> — charakterystyka rur PE-X do instalacji wodnych i grzewczych, z warstwą barierową lub bez niej.</li>
          <li><a href="https://www.iso.org/standard/46396.html" target="_blank" rel="nofollow noopener noreferrer">ISO 22391-2:2009 — PE-RT, pipes</a> — właściwości rur PE-RT, klasy zastosowania, ciśnienia i metody badań; dokument potwierdzony w 2025 r.</li>
          <li><a href="https://www.iso.org/standard/43515.html" target="_blank" rel="nofollow noopener noreferrer">ISO 21003-2:2008 — Multilayer piping systems, pipes</a> — charakterystyka rur w systemach wielowarstwowych; wersja potwierdzona w 2023 r.</li>
          <li><a href="https://www.iso.org/standard/35045.html" target="_blank" rel="nofollow noopener noreferrer">ISO 10508:2006 — Classification and design</a> — klasyfikacja warunków pracy ciśnieniowych systemów z tworzyw.</li>
          <li><a href="https://knowledge.bsigroup.com/products/protection-of-metallic-materials-against-corrosion-guidance-on-the-assessment-of-corrosion-likelihood-in-closed-water-circulation-systems" target="_blank" rel="nofollow noopener noreferrer">BS EN 14868 — Assessment of corrosion likelihood in closed water systems</a> — ocena prawdopodobieństwa korozji materiałów metalowych w zamkniętych obiegach wodnych.</li>
          <li><a href="https://www.vdi.de/en/home/vdi-standards/details/vdi-2035-blatt-1-prevention-of-damage-in-water-heating-installations-scale-formation-and-waterside-corrosion" target="_blank" rel="nofollow noopener noreferrer">VDI 2035 Blatt 1 — Prevention of damage in water heating installations</a> — kamień i korozja po stronie wodnej w wodnych instalacjach grzewczych.</li>
        </ul>

        <div class="rk-evoh-note">
          <p><strong>Zakres narzędzia:</strong> weryfikator ma charakter edukacyjny. Ostateczną zgodność rury potwierdza aktualna dokumentacja konkretnego produktu, zakres certyfikatu, projekt instalacji i procedura odbioru zastosowanego systemu.</p>
        </div>
      </section>
    </main>

    <section class="rk-evoh-author" id="rk-evoh-author" aria-label="Autor opracowania">
      <input type="radio" name="rk-evoh-author-tabs" id="rk-evoh-author-about" checked>
      <input type="radio" name="rk-evoh-author-tabs" id="rk-evoh-author-exp">
      <input type="radio" name="rk-evoh-author-tabs" id="rk-evoh-author-sites">

      <header class="rk-evoh-author-head">
        <div>
          <span>Autor i weryfikacja merytoryczna</span>
          <h2>Robert Kucharski</h2>
        </div>
        <span class="rk-evoh-author-mark">RURY • HYDRAULIKA • HVAC</span>
      </header>

      <div class="rk-evoh-author-layout">
        <aside class="rk-evoh-author-side">
          <div class="rk-evoh-author-photo">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski — projektant instalacji sanitarnych" width="170" height="170" loading="lazy">
          </div>
          <div class="rk-evoh-author-name"><a href="https://projekt-ogrzewania.pl/author/admin3399/">Robert Kucharski</a></div>
          <div class="rk-evoh-author-role">Projektant instalacji sanitarnych<br>Specjalista HVAC i ogrzewania podłogowego</div>
          <div class="rk-evoh-author-social-label">Profile autora</div>
          <div class="rk-evoh-author-social" aria-label="Profile Roberta Kucharskiego w mediach społecznościowych">
            <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" target="_blank" rel="nofollow noopener noreferrer" aria-label="LinkedIn Roberta Kucharskiego">
              <svg viewBox="0 0 24 24" aria-hidden="true"><path d="M4.98 3.5a2.5 2.5 0 1 1 0 5 2.5 2.5 0 0 1 0-5zM3 9h4v12H3V9zm6.5 0h3.83v1.64h.05c.53-1.01 1.84-2.08 3.79-2.08C21.22 8.56 22 11.23 22 14.7V21h-4v-5.58c0-1.33-.03-3.04-1.85-3.04-1.85 0-2.14 1.45-2.14 2.94V21h-4V9z"/></svg>
            </a>
            <a href="https://www.facebook.com/projektogrzewaniapl" target="_blank" rel="nofollow noopener noreferrer" aria-label="Facebook Projekt Ogrzewania">
              <svg viewBox="0 0 24 24" aria-hidden="true"><path d="M14 8h3V4.5c-.52-.07-2.3-.22-4.42-.22C8.16 4.28 7 6.94 7 10.29V13H4v4h3v7h4v-7h3.14l.5-4H11v-2.32C11 9.52 11.31 8 14 8z"/></svg>
            </a>
            <a href="https://x.com/Projekt_HVAC" target="_blank" rel="nofollow noopener noreferrer" aria-label="Profil Projekt HVAC w serwisie X">
              <svg viewBox="0 0 24 24" aria-hidden="true"><path d="M18.9 2H22l-6.77 7.74L23.2 22h-6.24l-4.89-6.39L6.48 22H3.36l7.26-8.3L2.98 2h6.4l4.42 5.84L18.9 2zm-1.1 17.84h1.72L8.44 4.05H6.6L17.8 19.84z"/></svg>
            </a>
          </div>
        </aside>

        <div class="rk-evoh-author-main">
          <blockquote class="rk-evoh-author-quote">
            <p>W rurze liczy się nie samo hasło EVOH, lecz możliwość połączenia nadruku z dokumentacją, parametrami całego produktu i warunkami, w których przewód ma pracować.</p>
          </blockquote>

          <div class="rk-evoh-author-tabs" role="tablist" aria-label="Informacje o autorze">
            <label class="rk-evoh-author-tab" for="rk-evoh-author-about" role="tab">O autorze</label>
            <label class="rk-evoh-author-tab" for="rk-evoh-author-exp" role="tab">Doświadczenie</label>
            <label class="rk-evoh-author-tab" for="rk-evoh-author-sites" role="tab">Portale</label>
          </div>

          <div class="rk-evoh-author-panel rk-evoh-author-panel-about">
            <p><strong>Robert Kucharski</strong> opracowuje projekty instalacji sanitarnych, obliczenia cieplne i hydrauliczne oraz dokumentację ogrzewania podłogowego dla nowych domów i modernizowanych budynków. W materiałach edukacyjnych łączy wymagania techniczne z praktycznymi decyzjami podejmowanymi przed zakupem materiałów i wykonaniem jastrychu.</p>
            <p>Jako autor Projekt-Ogrzewania.pl wyjaśnia inwestorom oraz wykonawcom, które dane można odczytać z rury, które wymagają karty technicznej, a których nie da się wyznaczyć bez projektu całego układu.</p>
          </div>

          <div class="rk-evoh-author-panel rk-evoh-author-panel-exp">
            <p>Specjalizuje się w ogrzewaniu płaszczyznowym, bilansach cieplnych pomieszczeń, planowaniu pętli, obliczeniach przepływów i strat ciśnienia, doborze średnic, pomp, rozdzielaczy i armatury. Analizuje również wpływ jakości wody, materiałów oraz uruchomienia na późniejszą eksploatację instalacji.</p>
            <p>Publikowane narzędzia są opisywane wraz z założeniami i ograniczeniami. Dzięki temu wynik orientacyjny nie jest przedstawiany jako certyfikat produktu ani gotowy projekt wykonawczy.</p>
          </div>

          <div class="rk-evoh-author-panel rk-evoh-author-panel-sites">
            <p>Robert Kucharski jest twórcą i właścicielem serwisów <strong>Projekt-Ogrzewania.pl</strong>, <a href="https://remont.biz.pl/" target="_blank" rel="nofollow noopener noreferrer">Remont.biz.pl</a> oraz <a href="https://sobir.pl/" target="_blank" rel="nofollow noopener noreferrer">Sobir.pl</a>. Publikuje w nich techniczne poradniki dotyczące instalacji, budowy, remontów i energooszczędnych rozwiązań dla budynków.</p>
            <p>Pełne archiwum opracowań na tym portalu znajduje się na <a href="https://projekt-ogrzewania.pl/author/admin3399/">stronie autora Roberta Kucharskiego</a>.</p>
          </div>
        </div>
      </div>
    </section>

    <div class="rk-evoh-final-wrap">
      <aside class="rk-evoh-cta">
        <div>
          <h3>Potrzebujesz kompletnego projektu ogrzewania podłogowego?</h3>
          <p>Otrzymasz rozkład pętli na rzucie budynku, obliczone długości, przepływy i nastawy rozdzielacza oraz sprawdzoną hydraulikę instalacji.</p>
        </div>
        <a class="rk-evoh-button rk-evoh-sales-cta" href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Zamów projekt ogrzewania podłogowego</a>
      </aside>
    </div>

    <footer class="rk-evoh-footnote">
      Opracowanie edukacyjne. Ostateczną przydatność rury potwierdza dokumentacja konkretnego produktu, projekt instalacji, zgodność systemowa i prawidłowy odbiór robót.
    </footer>
  </div>
</article>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "TechArticle",
      "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#article",
      "headline": "Rura z barierą antydyfuzyjną EVOH – co daje i jak ją rozpoznać?",
      "description": "Techniczny poradnik o barierze tlenowej EVOH, konstrukcji rur 3L i 5L, oznaczeniach, normach oraz weryfikacji dokumentacji przewodu do ogrzewania podłogowego.",
      "inLanguage": "pl-PL",
      "dateModified": "2026-09-01",
      "mainEntityOfPage": {
        "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#webpage"
      },
      "author": {
        "@id": "https://projekt-ogrzewania.pl/#robert-kucharski"
      },
      "publisher": {
        "@id": "https://projekt-ogrzewania.pl/#organization"
      },
      "about": [
        "bariera antydyfuzyjna EVOH",
        "rura tlenoszczelna",
        "DIN 4726",
        "rura 3-warstwowa i 5-warstwowa",
        "PEX i PE-RT",
        "ogrzewanie podłogowe"
      ],
      "keywords": [
        "rura z barierą antydyfuzyjną EVOH",
        "co to jest EVOH w rurze",
        "rura EVOH do podłogówki",
        "rura 3 warstwowa czy 5 warstwowa",
        "jak sprawdzić barierę EVOH",
        "oznaczenia rury EVOH",
        "rura tlenoszczelna DIN 4726",
        "PEX EVOH czy PE-RT EVOH"
      ],
      "isPartOf": {
        "@id": "https://projekt-ogrzewania.pl/#website"
      }
    },
    {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#webpage",
      "url": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/",
      "name": "Rura z barierą antydyfuzyjną EVOH – co daje i jak ją rozpoznać?",
      "description": "Sprawdź barierę EVOH, konstrukcję 3L i 5L, nadruk, kartę techniczną, DIN 4726 oraz dokumenty rury do ogrzewania podłogowego.",
      "inLanguage": "pl-PL",
      "dateModified": "2026-09-01",
      "breadcrumb": {
        "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#breadcrumb"
      },
      "isPartOf": {
        "@id": "https://projekt-ogrzewania.pl/#website"
      }
    },
    {
      "@type": "BreadcrumbList",
      "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#breadcrumb",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Projekt Ogrzewania",
          "item": "https://projekt-ogrzewania.pl/"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Blog",
          "item": "https://projekt-ogrzewania.pl/blog/"
        },
        {
          "@type": "ListItem",
          "position": 3,
          "name": "Rura z barierą antydyfuzyjną EVOH",
          "item": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/"
        }
      ]
    },
    {
      "@type": "WebApplication",
      "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#verifier",
      "name": "Weryfikator rury i dokumentacji EVOH",
      "url": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#rk-evoh-weryfikator",
      "description": "Interaktywne narzędzie porządkujące oznaczenia rury, kartę techniczną, tlenoszczelność, konstrukcję warstwową i dokumenty produktu.",
      "applicationCategory": "UtilitiesApplication",
      "operatingSystem": "Any",
      "browserRequirements": "JavaScript",
      "inLanguage": "pl-PL",
      "isAccessibleForFree": true,
      "offers": {
        "@type": "Offer",
        "price": "0",
        "priceCurrency": "PLN"
      },
      "creator": {
        "@id": "https://projekt-ogrzewania.pl/#robert-kucharski"
      }
    },
    {
      "@type": "HowTo",
      "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#howto",
      "name": "Jak sprawdzić rurę z barierą EVOH przed zalaniem",
      "description": "Checklista identyfikacji i weryfikacji rury do ogrzewania podłogowego z barierą tlenową.",
      "inLanguage": "pl-PL",
      "totalTime": "PT20M",
      "step": [
        {
          "@type": "HowToStep",
          "position": 1,
          "name": "Zidentyfikuj produkt",
          "text": "Zapisz nazwę, typ, wymiar, materiał, konstrukcję i numer partii z rury oraz opakowania."
        },
        {
          "@type": "HowToStep",
          "position": 2,
          "name": "Pobierz kartę techniczną",
          "text": "Upewnij się, że karta dotyczy dokładnie tej wersji oraz średnicy rury."
        },
        {
          "@type": "HowToStep",
          "position": 3,
          "name": "Sprawdź tlenoszczelność",
          "text": "Znajdź deklarację, normę, warunki badania i dokument potwierdzający barierę całej rury."
        },
        {
          "@type": "HowToStep",
          "position": 4,
          "name": "Zweryfikuj certyfikat",
          "text": "Jeżeli podano numer certyfikatu lub rejestracji, sprawdź jego ważność oraz zakres."
        },
        {
          "@type": "HowToStep",
          "position": 5,
          "name": "Potwierdź parametry pracy",
          "text": "Sprawdź klasę zastosowania, ciśnienie, temperatury i zgodność z medium."
        },
        {
          "@type": "HowToStep",
          "position": 6,
          "name": "Potwierdź geometrię",
          "text": "Porównaj średnicę i grubość ścianki z projektem oraz złączkami systemowymi."
        },
        {
          "@type": "HowToStep",
          "position": 7,
          "name": "Sprawdź magazynowanie",
          "text": "Oceń ochronę przed światłem i UV oraz widoczne uszkodzenia przewodu."
        },
        {
          "@type": "HowToStep",
          "position": 8,
          "name": "Zaplanuj montaż",
          "text": "Przygotuj rozwijanie, mocowanie, promienie gięcia i ochronę przejść przez dylatacje."
        },
        {
          "@type": "HowToStep",
          "position": 9,
          "name": "Skontroluj rurę przed jastrychem",
          "text": "Obejrzyj całą powierzchnię i oceń wszystkie widoczne uszkodzenia przed przykryciem."
        },
        {
          "@type": "HowToStep",
          "position": 10,
          "name": "Zarchiwizuj odbiór",
          "text": "Zachowaj zdjęcia, długości obwodów, dokumenty materiałowe i protokół próby."
        }
      ]
    },
    {
      "@type": "FAQPage",
      "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#faq",
      "inLanguage": "pl-PL",
      "mainEntity": [
        {
          "@type": "Question",
          "name": "Czy każda rura do ogrzewania podłogowego musi mieć napis EVOH?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Najważniejsze jest udokumentowane ograniczenie przenikania tlenu dla całej rury przeznaczonej do instalacji grzewczej. Sam brak skrótu EVOH na jednym widocznym fragmencie nie pozwala ustalić budowy produktu."
          }
        },
        {
          "@type": "Question",
          "name": "Czy rura 5-warstwowa jest zawsze lepsza od 3-warstwowej?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Nie. Konstrukcja 5L może lepiej osłaniać warstwę EVOH, ale o zgodności decydują wyniki badań, dokumentacja, parametry pracy i jakość całego systemu."
          }
        },
        {
          "@type": "Question",
          "name": "Jak sprawdzić, czy rura rzeczywiście ma barierę tlenową?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Należy odczytać pełny nadruk, zidentyfikować typ i partię, pobrać kartę techniczną, sprawdzić deklarację tlenoszczelności oraz ewentualny numer certyfikatu."
          }
        },
        {
          "@type": "Question",
          "name": "Czy oznaczenie DIN 4726 na rurze wystarcza?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Jest ważną wskazówką, ale trzeba powiązać je z dokładnym produktem i dokumentacją. Jeżeli podano znak certyfikacyjny lub numer rejestracji, należy sprawdzić jego zakres i ważność."
          }
        },
        {
          "@type": "Question",
          "name": "Czy EVOH poprawia moc ogrzewania podłogowego?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Nie jest parametrem, z którego oblicza się moc podłogi. Wydajność zależy od temperatur, rozstawu, konstrukcji podłogi, okładziny i powierzchni czynnej."
          }
        },
        {
          "@type": "Question",
          "name": "Czy EVOH zmniejsza opór hydrauliczny rury?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Nie można przypisać takiego efektu samej barierze. Opór zależy od geometrii wewnętrznej, długości, przepływu, temperatury, medium i całej rury."
          }
        },
        {
          "@type": "Question",
          "name": "Czy bariera EVOH jest potrzebna przy glikolu?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Glikol nie powinien być traktowany jako automatyczny zamiennik bariery. Trzeba sprawdzić przeznaczenie rury oraz zgodność glikolu z całym systemem."
          }
        },
        {
          "@type": "Question",
          "name": "Czy inhibitor korozji może zastąpić EVOH?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Nie należy zakładać pełnej zamienności. Inhibitor wspiera ochronę w określonych warunkach, lecz nie usuwa źródła dyfuzji i wymaga kontroli stężenia oraz zgodności materiałowej."
          }
        },
        {
          "@type": "Question",
          "name": "Czy można naprawić zarysowaną lub załamaną rurę?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Decyzja zależy od rodzaju uszkodzenia oraz instrukcji konkretnego systemu. Nie należy stosować uniwersalnej metody z opalarką bez potwierdzenia w dokumentacji."
          }
        },
        {
          "@type": "Question",
          "name": "Co zrobić, gdy nie ma dokumentów istniejącej instalacji?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Trzeba zebrać zdjęcia nadruku, dokumenty dostawy i pozostałości rury, a następnie ocenić materiały, jakość wody, ciśnienie, uzupełnianie oraz osad w całym układzie."
          }
        }
      ]
    },
    {
      "@type": "Person",
      "@id": "https://projekt-ogrzewania.pl/#robert-kucharski",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/author/admin3399/",
      "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
      "jobTitle": "Projektant instalacji sanitarnych i specjalista HVAC",
      "description": "Autor opracowań o ogrzewaniu podłogowym, obliczeniach cieplnych, hydraulice instalacji i doborze rur grzewczych.",
      "worksFor": {
        "@id": "https://projekt-ogrzewania.pl/#organization"
      },
      "knowsAbout": [
        "ogrzewanie podłogowe",
        "rury PEX i PE-RT",
        "bariera antydyfuzyjna EVOH",
        "hydraulika instalacji grzewczych",
        "obliczenia cieplne",
        "planowanie pętli grzewczych"
      ],
      "sameAs": [
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://www.facebook.com/projektogrzewaniapl",
        "https://x.com/Projekt_HVAC"
      ]
    },
    {
      "@type": "Organization",
      "@id": "https://projekt-ogrzewania.pl/#organization",
      "name": "Projekt Ogrzewania",
      "url": "https://projekt-ogrzewania.pl/",
      "founder": {
        "@id": "https://projekt-ogrzewania.pl/#robert-kucharski"
      }
    },
    {
      "@type": "Organization",
      "@id": "https://remont.biz.pl/#organization",
      "name": "Remont.biz.pl",
      "url": "https://remont.biz.pl/",
      "founder": {
        "@id": "https://projekt-ogrzewania.pl/#robert-kucharski"
      }
    },
    {
      "@type": "Organization",
      "@id": "https://sobir.pl/#organization",
      "name": "Sobir.pl",
      "url": "https://sobir.pl/",
      "founder": {
        "@id": "https://projekt-ogrzewania.pl/#robert-kucharski"
      }
    },
    {
      "@type": "WebSite",
      "@id": "https://projekt-ogrzewania.pl/#website",
      "url": "https://projekt-ogrzewania.pl/",
      "name": "Projekt Ogrzewania",
      "inLanguage": "pl-PL",
      "publisher": {
        "@id": "https://projekt-ogrzewania.pl/#organization"
      }
    }
  ]
}
</script>

<script>
(function () {
  "use strict";

  var root = document.getElementById("rk-evoh-guide");
  if (!root) {
    return;
  }

  var one = function (selector) {
    return root.querySelector(selector);
  };

  var all = function (selector) {
    return Array.prototype.slice.call(root.querySelectorAll(selector));
  };

  var form = one("#rk-evoh-form");
  var material = one("#rk-evoh-material");
  var construction = one("#rk-evoh-construction");
  var marking = one("#rk-evoh-marking");
  var din = one("#rk-evoh-din");
  var sheet = one("#rk-evoh-sheet");
  var permeation = one("#rk-evoh-permeation");
  var certificate = one("#rk-evoh-certificate");
  var applicationClass = one("#rk-evoh-class");
  var dimensions = one("#rk-evoh-dimensions");
  var uv = one("#rk-evoh-uv");
  var reset = one("#rk-evoh-reset");

  var status = one("#rk-evoh-status");
  var statusIcon = one("#rk-evoh-status-icon");
  var statusTitle = one("#rk-evoh-status-title");
  var statusText = one("#rk-evoh-status-text");
  var markPreview = one("#rk-evoh-mark-preview");
  var layers = one("#rk-evoh-layers");
  var visualNote = one("#rk-evoh-visual-note");
  var confirmedList = one("#rk-evoh-confirmed");
  var missingList = one("#rk-evoh-missing");

  var materialNames = {
    unknown: "brak danych",
    pexa: "PE-Xa",
    pexb: "PE-Xb",
    pert1: "PE-RT Typ I",
    pert2: "PE-RT Typ II",
    pb: "PB",
    multi: "system wielowarstwowy"
  };

  var constructionNames = {
    unknown: "brak danych",
    three: "3L",
    five: "5L",
    other: "inna"
  };

  var addItem = function (target, textValue) {
    var item = document.createElement("li");
    item.textContent = textValue;
    target.appendChild(item);
  };

  var clearList = function (target) {
    while (target.firstChild) {
      target.removeChild(target.firstChild);
    }
  };

  var update = function () {
    var evidence = 0;
    var confirmed = [];
    var missing = [];

    if (material.value !== "unknown") {
      evidence += 1;
      confirmed.push("Zidentyfikowano materiał bazowy: " + materialNames[material.value] + ".");
    } else {
      missing.push("Ustal materiał bazowy i dokładny typ rury.");
    }

    if (construction.value !== "unknown") {
      evidence += 1;
      confirmed.push("Wskazano konstrukcję: " + constructionNames[construction.value] + ".");
    } else {
      missing.push("Sprawdź rzeczywisty układ i liczbę warstw w dokumentacji.");
    }

    if (marking.value === "yes") {
      evidence += 1;
      confirmed.push("Na rurze widnieje oznaczenie EVOH lub bariery tlenowej.");
    }
    if (marking.value === "no") {
      missing.push("Nadruk nie wskazuje bariery — potrzebny jest jednoznaczny dokument produktu.");
    }
    if (marking.value === "unknown") {
      missing.push("Odczytaj pełny nadruk na rurze lub etykiecie krążka.");
    }

    if (din.value === "yes") {
      evidence += 1;
      confirmed.push("Dokumentacja powołuje DIN 4726.");
    }
    if (din.value !== "yes") {
      missing.push("Sprawdź podstawę deklarowanej tlenoszczelności i warunki badania.");
    }

    if (sheet.value === "yes") {
      evidence += 2;
      confirmed.push("Masz kartę techniczną zgodną z typem rury.");
    }
    if (sheet.value !== "yes") {
      missing.push("Zdobądź kartę techniczną dokładnej wersji i średnicy produktu.");
    }

    if (permeation.value === "yes") {
      evidence += 2;
      confirmed.push("Dokument zawiera informację o tlenoszczelności gotowej rury.");
    }
    if (permeation.value !== "yes") {
      missing.push("Znajdź deklarację tlenoszczelności wraz z jednostką i warunkami odniesienia.");
    }

    if (certificate.value === "yes") {
      evidence += 2;
      confirmed.push("Podano możliwy do sprawdzenia numer certyfikatu lub rejestracji.");
    }
    if (certificate.value === "no") {
      missing.push("Brak niezależnego numeru nie przesądza o odrzuceniu, lecz zwiększa znaczenie kompletnej dokumentacji i raportu badania.");
    }
    if (certificate.value === "unknown") {
      missing.push("Sprawdź, czy znak certyfikacyjny ma numer oraz aktualny zakres.");
    }

    if (applicationClass.value === "yes") {
      evidence += 1;
      confirmed.push("Potwierdzono klasę zastosowania i ciśnienie.");
    }
    if (applicationClass.value !== "yes") {
      missing.push("Potwierdź klasę zastosowania oraz ciśnienie projektowe rury.");
    }

    if (dimensions.value === "yes") {
      evidence += 1;
      confirmed.push("Potwierdzono średnicę zewnętrzną i grubość ścianki.");
    }
    if (dimensions.value !== "yes") {
      missing.push("Porównaj wymiar rury z projektem i systemem złączek.");
    }

    if (uv.value === "yes") {
      evidence += 1;
      confirmed.push("Zadeklarowano prawidłową ochronę rury przed światłem i UV.");
    }
    if (uv.value === "no") {
      missing.push("Długie nasłonecznienie wymaga oceny zgodnie z dokumentacją produktu.");
    }
    if (uv.value === "unknown") {
      missing.push("Ustal warunki magazynowania i czas ekspozycji na światło.");
    }

    var state = "partial";
    var title = "Dokumentacja jest jeszcze niepełna";
    var description = "Masz część informacji, lecz przed zakupem lub zalaniem trzeba uzupełnić wskazane dokumenty i parametry.";
    var icon = "!";

    if (evidence >= 10) {
      state = "complete";
      title = "Dane pozwalają na wstępną weryfikację";
      description = "Zebrano większość kluczowych dowodów. Nadal sprawdź zgodność oznaczeń, zakres certyfikatu, stan dostawy i dopasowanie rury do projektu.";
      icon = "✓";
    }

    if (evidence <= 3) {
      state = "missing";
      title = "Nie można jeszcze potwierdzić rury";
      description = "Informacje z nadruku i dokumentacji są zbyt skąpe. Nie podejmuj decyzji wyłącznie na podstawie ceny, koloru lub liczby warstw.";
      icon = "?";
    }

    if (marking.value === "no") {
      if (sheet.value !== "yes") {
        if (permeation.value !== "yes") {
          state = "missing";
          title = "Brak podstaw do potwierdzenia bariery";
          description = "Na rurze nie wskazano bariery, a dokumentacja nie potwierdza tlenoszczelności. Potrzebna jest jednoznaczna identyfikacja produktu.";
          icon = "?";
        }
      }
    }

    status.dataset.state = state;
    statusIcon.textContent = icon;
    statusTitle.textContent = title;
    statusText.textContent = description;

    var barrierText = "niepotwierdzona";
    if (marking.value === "yes") {
      barrierText = "oznaczona na rurze";
    }
    if (permeation.value === "yes") {
      barrierText = "potwierdzona w dokumentacji";
    }

    var dinText = "niepotwierdzona";
    if (din.value === "yes") {
      dinText = "DIN 4726 wskazana";
    }

    markPreview.textContent = "Materiał: " + materialNames[material.value] + " • konstrukcja: " + constructionNames[construction.value] + " • bariera: " + barrierText + " • norma: " + dinText;

    layers.className = "rk-evoh-layers is-unknown";
    visualNote.textContent = "Schemat nie przesądza o zgodności. Produkty opisane tą samą liczbą warstw mogą mieć inną budowę i parametry.";

    if (construction.value === "three") {
      layers.className = "rk-evoh-layers is-three";
      visualNote.textContent = "Typowy schemat 3L pokazuje EVOH bliżej powierzchni. Rzeczywiste położenie oraz odporność warstwy sprawdź w karcie produktu.";
    }
    if (construction.value === "five") {
      layers.className = "rk-evoh-layers is-five";
      visualNote.textContent = "Typowy schemat 5L pokazuje EVOH osłonięte dodatkowymi warstwami. Pięć warstw nadal nie zastępuje badania tlenoszczelności.";
    }
    if (construction.value === "other") {
      layers.className = "rk-evoh-layers is-unknown";
      visualNote.textContent = "Dla innej konstrukcji nie zgadujemy układu. Posłuż się przekrojem i opisem dokładnego produktu.";
    }

    clearList(confirmedList);
    clearList(missingList);

    if (confirmed.length === 0) {
      confirmed.push("Brak potwierdzonych informacji.");
    }
    if (missing.length === 0) {
      missing.push("Porównaj zebrane dane z projektem, instrukcją montażu i rzeczywistym stanem dostawy.");
    }

    confirmed.forEach(function (item) {
      addItem(confirmedList, item);
    });

    missing.forEach(function (item) {
      addItem(missingList, item);
    });
  };

  all("#rk-evoh-form select").forEach(function (field) {
    field.addEventListener("change", update);
  });

  reset.addEventListener("click", function () {
    form.reset();
    update();
  });

  update();
}());
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/">Rura z barierą antydyfuzyjną (EVOH).</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Naczynie wzbiorcze – dobór, ciśnienie i kalkulator pojemności.</title>
		<link>https://projekt-ogrzewania.pl/naczynie-wzbiorcze/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Tue, 20 Jan 2026 10:25:49 +0000</pubDate>
				<category><![CDATA[Bezpieczeństwo instalacji]]></category>
		<category><![CDATA[Bezpieczeństwo systemów grzewczych]]></category>
		<category><![CDATA[Bezpieczeństwo w instalacjach]]></category>
		<category><![CDATA[Błędy wykonawcze]]></category>
		<category><![CDATA[Hydraulika]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Instalacje hydrauliczne]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradniki techniczne]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Projektowanie systemów grzewczych]]></category>
		<category><![CDATA[Technika grzewcza]]></category>
		<category><![CDATA[Technika instalacyjna]]></category>
		<category><![CDATA[bezpieczeństwo instalacji]]></category>
		<category><![CDATA[ciśnienie w instalacji]]></category>
		<category><![CDATA[dobór naczynia]]></category>
		<category><![CDATA[hydraulika]]></category>
		<category><![CDATA[instalacja grzewcza]]></category>
		<category><![CDATA[naczynie przeponowe]]></category>
		<category><![CDATA[naczynie wzbiorcze]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[zawór bezpieczeństwa]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=3237</guid>

					<description><![CDATA[<p>Naczynie wzbiorcze: Niezbędny strażnik bezpieczeństwa Twojego ogrzewania podłogowego to temat, który zbyt często bywa bagatelizowany – aż do momentu pierwszych problemów z ciśnieniem, zaworem bezpieczeństwa lub zalaniem kotłowni. W artykule pokazujemy, dlaczego naczynie wzbiorcze nie jest dodatkiem, lecz fundamentem bezpiecznej instalacji. Wyjaśniamy jego działanie, różnice między typami, zasady prawidłowego doboru, typowe błędy montażowe oraz znaczenie właściwego ciśnienia wstępnego – szczególnie w systemach ogrzewania podłogowego o dużej pojemności wodnej.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/naczynie-wzbiorcze/">Naczynie wzbiorcze – dobór, ciśnienie i kalkulator pojemności.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
  #rk-vessel-guide {
    --rk-dark: #102536;
    --rk-navy: #15384d;
    --rk-navy-2: #1d4a60;
    --rk-cyan: #25c7d8;
    --rk-cyan-dark: #078eae;
    --rk-cyan-soft: #e7f9fb;
    --rk-orange: #ff6846;
    --rk-orange-dark: #df4c2f;
    --rk-orange-soft: #fff0eb;
    --rk-green: #16836b;
    --rk-green-soft: #eaf8f3;
    --rk-yellow: #9a6900;
    --rk-yellow-soft: #fff7dc;
    --rk-red: #bb4138;
    --rk-red-soft: #fff0ee;
    --rk-ink: #152d3d;
    --rk-copy: #466071;
    --rk-muted: #6c8290;
    --rk-line: #d4e3e9;
    --rk-bg: #f3f8fa;
    --rk-white: #ffffff;
    color: var(--rk-ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    font-size: 17px;
    line-height: 1.7;
    margin: 0 auto;
    max-width: 1360px;
    overflow-wrap: anywhere;
    width: 100%;
  }

  #rk-vessel-guide,
  #rk-vessel-guide *,
  #rk-vessel-guide *::before,
  #rk-vessel-guide *::after { box-sizing: border-box; min-width: 0; }
  #rk-vessel-guide [hidden] { display: none !important; }
  #rk-vessel-guide img,
  #rk-vessel-guide svg { display: block; height: auto; max-width: 100%; }
  #rk-vessel-guide button,
  #rk-vessel-guide input,
  #rk-vessel-guide select,
  #rk-vessel-guide summary { font: inherit; }
  #rk-vessel-guide button { cursor: pointer; }
  #rk-vessel-guide a {
    color: var(--rk-cyan-dark);
    font-weight: 760;
    text-decoration-thickness: 1.3px;
    text-underline-offset: 3px;
  }
  #rk-vessel-guide a:hover { color: var(--rk-orange-dark); }
  #rk-vessel-guide a:focus-visible,
  #rk-vessel-guide button:focus-visible,
  #rk-vessel-guide input:focus-visible,
  #rk-vessel-guide select:focus-visible,
  #rk-vessel-guide summary:focus-visible {
    outline: 3px solid rgba(37, 199, 216, .48);
    outline-offset: 3px;
  }
  #rk-vessel-guide h2,
  #rk-vessel-guide h3,
  #rk-vessel-guide h4,
  #rk-vessel-guide p,
  #rk-vessel-guide ul,
  #rk-vessel-guide ol,
  #rk-vessel-guide blockquote { margin-top: 0; }
  #rk-vessel-guide h2,
  #rk-vessel-guide h3,
  #rk-vessel-guide h4 { color: var(--rk-dark); line-height: 1.18; }
  #rk-vessel-guide h3 { font-size: 1.18rem; margin: 0 0 10px; }
  #rk-vessel-guide h4 { font-size: 1rem; margin: 0 0 8px; }
  #rk-vessel-guide p { color: var(--rk-copy); margin-bottom: 18px; }
  #rk-vessel-guide strong { color: var(--rk-ink); }
  #rk-vessel-guide ul,
  #rk-vessel-guide ol { color: var(--rk-copy); margin-bottom: 22px; padding-left: 1.25em; }
  #rk-vessel-guide li + li { margin-top: 8px; }
  #rk-vessel-guide section[id] { scroll-margin-top: 24px; }

  #rk-vessel-guide .rk-vessel-shell {
    background: var(--rk-white);
    border: 1px solid var(--rk-line);
    border-radius: 28px;
    box-shadow: 0 22px 70px rgba(16, 37, 54, .1);
    overflow: hidden;
  }

  #rk-vessel-guide .rk-vessel-hero {
    background:
      radial-gradient(circle at 91% 118%, rgba(37, 199, 216, .24) 0, rgba(37, 199, 216, .24) 18%, transparent 18.2%),
      linear-gradient(125deg, #0e2637 0%, #153e52 60%, #0c6977 100%);
    color: var(--rk-white);
    overflow: hidden;
    padding: clamp(48px, 7vw, 82px) clamp(24px, 6vw, 74px) clamp(42px, 6vw, 66px);
    position: relative;
  }
  #rk-vessel-guide .rk-vessel-hero::before {
    background: var(--rk-orange);
    border-radius: 50%;
    box-shadow: 0 0 0 9px rgba(255, 104, 70, .15);
    content: "";
    height: 12px;
    left: clamp(24px, 6vw, 74px);
    position: absolute;
    top: 38px;
    width: 12px;
  }
  #rk-vessel-guide .rk-vessel-kicker,
  #rk-vessel-guide .rk-vessel-eyebrow {
    color: var(--rk-orange);
    display: block;
    font-size: .75rem;
    font-weight: 900;
    letter-spacing: .13em;
    line-height: 1.4;
    margin-bottom: 13px;
    text-transform: uppercase;
  }
  #rk-vessel-guide .rk-vessel-kicker { color: #6ce7f1; margin-left: 28px; }
  #rk-vessel-guide .rk-vessel-hero-title,
  #rk-vessel-guide .rk-vessel-section-title,
  #rk-vessel-guide .rk-vessel-cta-title,
  #rk-vessel-guide .rk-vessel-author-title {
    font-weight: 950;
    letter-spacing: -.045em;
    line-height: 1.06;
  }
  #rk-vessel-guide .rk-vessel-hero-title {
    color: #ffffff !important;
    font-size: clamp(2.35rem, 6vw, 5rem);
    margin: 0;
    max-width: 1180px;
  }
  #rk-vessel-guide .rk-vessel-hero-title span { color: #67e6f2 !important; }
  #rk-vessel-guide .rk-vessel-hero-lead {
    color: #e1eff3;
    font-size: clamp(1.05rem, 2vw, 1.4rem);
    line-height: 1.58;
    margin: 26px 0 0;
    max-width: 1100px;
  }
  #rk-vessel-guide .rk-vessel-tags,
  #rk-vessel-guide .rk-vessel-meta { display: flex; flex-wrap: wrap; gap: 10px 12px; }
  #rk-vessel-guide .rk-vessel-tags { margin-top: 28px; }
  #rk-vessel-guide .rk-vessel-tags span {
    background: rgba(255, 255, 255, .075);
    border: 1px solid rgba(255, 255, 255, .23);
    border-radius: 999px;
    color: #ffffff;
    font-size: .79rem;
    font-weight: 820;
    padding: 7px 13px;
  }
  #rk-vessel-guide .rk-vessel-meta {
    color: #c9dce2;
    font-size: .82rem;
    font-weight: 720;
    margin-top: 30px;
  }
  #rk-vessel-guide .rk-vessel-meta strong { color: #ffffff; }

  #rk-vessel-guide .rk-vessel-nav {
    background: #f4fafc;
    border-bottom: 1px solid var(--rk-line);
    padding: 21px clamp(18px, 4vw, 46px) 23px;
  }
  #rk-vessel-guide .rk-vessel-nav-label {
    color: var(--rk-dark);
    display: block;
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .11em;
    margin-bottom: 10px;
    text-transform: uppercase;
  }
  #rk-vessel-guide .rk-vessel-nav-track { display: flex; flex-wrap: wrap; gap: 8px; }
  #rk-vessel-guide .rk-vessel-nav a {
    background: #ffffff;
    border: 1px solid #c8e0e8;
    border-radius: 999px;
    color: #345264;
    font-size: .75rem;
    font-weight: 820;
    line-height: 1.25;
    padding: 7px 11px;
    text-decoration: none;
  }
  #rk-vessel-guide .rk-vessel-nav a:hover {
    background: var(--rk-cyan-soft);
    border-color: #91dde6;
    color: #075f78;
  }

  #rk-vessel-guide .rk-vessel-section { padding: clamp(46px, 6vw, 72px) clamp(20px, 6vw, 66px); }
  #rk-vessel-guide .rk-vessel-section + .rk-vessel-section { border-top: 1px solid var(--rk-line); }
  #rk-vessel-guide .rk-vessel-section-soft { background: var(--rk-bg); }
  #rk-vessel-guide .rk-vessel-section-dark { background: var(--rk-dark); color: #ffffff; }
  #rk-vessel-guide .rk-vessel-section-title,
  #rk-vessel-guide .rk-vessel-author-title {
    color: var(--rk-dark);
    font-size: clamp(1.9rem, 4vw, 3.45rem);
    margin: 0;
    max-width: 1080px;
  }
  #rk-vessel-guide .rk-vessel-section-dark .rk-vessel-section-title { color: #ffffff; }
  #rk-vessel-guide .rk-vessel-lead {
    color: var(--rk-copy);
    font-size: clamp(1.03rem, 1.7vw, 1.23rem);
    line-height: 1.68;
    margin: 20px 0 0;
    max-width: 1120px;
  }
  #rk-vessel-guide .rk-vessel-section-dark .rk-vessel-lead,
  #rk-vessel-guide .rk-vessel-section-dark > p { color: #c5d9e0; }
  #rk-vessel-guide .rk-vessel-section-dark strong { color: #ffffff; }

  #rk-vessel-guide .rk-vessel-answer {
    background: linear-gradient(135deg, #e6fafd 0%, #fbfdfe 100%);
    border: 1px solid #98dfe8;
    border-left: 7px solid var(--rk-cyan);
    border-radius: 18px;
    margin-top: 28px;
    padding: 26px 28px;
  }
  #rk-vessel-guide .rk-vessel-answer strong { display: block; font-size: 1.2rem; line-height: 1.45; }
  #rk-vessel-guide .rk-vessel-answer p { margin: 9px 0 0; }

  #rk-vessel-guide .rk-vessel-grid-2,
  #rk-vessel-guide .rk-vessel-grid-3,
  #rk-vessel-guide .rk-vessel-grid-4,
  #rk-vessel-guide .rk-vessel-author-cards { display: grid; gap: 18px; margin-top: 28px; }
  #rk-vessel-guide .rk-vessel-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #rk-vessel-guide .rk-vessel-grid-3,
  #rk-vessel-guide .rk-vessel-author-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #rk-vessel-guide .rk-vessel-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  #rk-vessel-guide .rk-vessel-card {
    background: #ffffff;
    border: 1px solid var(--rk-line);
    border-radius: 17px;
    padding: 23px;
  }
  #rk-vessel-guide .rk-vessel-card p,
  #rk-vessel-guide .rk-vessel-card ul { margin-bottom: 0; }
  #rk-vessel-guide .rk-vessel-section-soft .rk-vessel-card { background: rgba(255, 255, 255, .9); }
  #rk-vessel-guide .rk-vessel-card-label,
  #rk-vessel-guide .rk-vessel-card-no {
    align-items: center;
    background: var(--rk-cyan-soft);
    border-radius: 10px;
    color: #076c85;
    display: inline-flex;
    font-size: .76rem;
    font-weight: 950;
    justify-content: center;
    margin-bottom: 13px;
    min-height: 36px;
    min-width: 36px;
    padding: 6px 10px;
    text-align: center;
  }
  #rk-vessel-guide .rk-vessel-card-no.is-orange { background: var(--rk-orange-soft); color: #a74029; }
  #rk-vessel-guide .rk-vessel-card-no.is-green { background: var(--rk-green-soft); color: var(--rk-green); }
  #rk-vessel-guide .rk-vessel-card-no.is-yellow { background: var(--rk-yellow-soft); color: var(--rk-yellow); }
  #rk-vessel-guide .rk-vessel-card-no.is-red { background: var(--rk-red-soft); color: var(--rk-red); }

  #rk-vessel-guide .rk-vessel-note {
    background: var(--rk-yellow-soft);
    border-left: 6px solid #e4a516;
    border-radius: 14px;
    color: #624c16;
    margin-top: 25px;
    padding: 18px 21px;
  }
  #rk-vessel-guide .rk-vessel-note p { color: inherit; margin: 0; }
  #rk-vessel-guide .rk-vessel-note.is-good { background: var(--rk-green-soft); border-left-color: #2fcda1; color: #145e4d; }
  #rk-vessel-guide .rk-vessel-note.is-stop { background: var(--rk-red-soft); border-left-color: var(--rk-red); color: #71332d; }

  #rk-vessel-guide .rk-vessel-table-wrap { margin-top: 29px; overflow-x: auto; }
  #rk-vessel-guide table { border-collapse: separate; border-spacing: 0; min-width: 760px; width: 100%; }
  #rk-vessel-guide th {
    background: var(--rk-dark);
    color: #ffffff;
    font-size: .76rem;
    letter-spacing: .045em;
    padding: 14px 15px;
    text-align: left;
    text-transform: uppercase;
  }
  #rk-vessel-guide th:first-child { border-radius: 14px 0 0; }
  #rk-vessel-guide th:last-child { border-radius: 0 14px 0 0; }
  #rk-vessel-guide td {
    background: #ffffff;
    border-bottom: 1px solid var(--rk-line);
    color: var(--rk-copy);
    padding: 15px;
    vertical-align: top;
  }
  #rk-vessel-guide tbody tr td:first-child { border-left: 1px solid var(--rk-line); }
  #rk-vessel-guide tbody tr td:last-child { border-right: 1px solid var(--rk-line); }
  #rk-vessel-guide tbody tr:last-child td:first-child { border-radius: 0 0 0 14px; }
  #rk-vessel-guide tbody tr:last-child td:last-child { border-radius: 0 0 14px; }
  #rk-vessel-guide td strong { color: var(--rk-ink); }

  #rk-vessel-guide .rk-vessel-formula {
    background: #edf8fa;
    border: 1px solid #b4e1e7;
    border-radius: 13px;
    color: #086b82;
    font-family: Consolas, Monaco, monospace;
    font-size: .95rem;
    font-weight: 800;
    margin-top: 19px;
    padding: 15px 18px;
  }

  #rk-vessel-guide .rk-vessel-pressure-module {
    background: var(--rk-dark);
    border-radius: 22px;
    margin-top: 30px;
    padding: 27px;
  }
  #rk-vessel-guide .rk-vessel-pressure-intro { color: #c3d9e0; margin-bottom: 20px; }
  #rk-vessel-guide .rk-vessel-pressure-tabs {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  #rk-vessel-guide .rk-vessel-pressure-tab {
    background: #173e51;
    border: 1px solid #356178;
    border-radius: 13px;
    color: #ffffff;
    font-weight: 900;
    line-height: 1.3;
    min-height: 68px;
    padding: 11px 13px;
    text-align: left;
  }
  #rk-vessel-guide .rk-vessel-pressure-tab small { color: #aecaD5; display: block; font-size: .72rem; font-weight: 650; margin-top: 3px; }
  #rk-vessel-guide .rk-vessel-pressure-tab[aria-selected="true"] { background: var(--rk-cyan); border-color: var(--rk-cyan); color: #072838; }
  #rk-vessel-guide .rk-vessel-pressure-tab[aria-selected="true"] small { color: #17485b; }
  #rk-vessel-guide .rk-vessel-pressure-panel {
    background: #17394b;
    border: 1px solid #356178;
    border-radius: 18px;
    margin-top: 18px;
    padding: 24px;
  }
  #rk-vessel-guide .rk-vessel-pressure-panel-label { color: #71e6ef; display: block; font-size: .72rem; font-weight: 950; letter-spacing: .1em; text-transform: uppercase; }
  #rk-vessel-guide .rk-vessel-pressure-panel h3 { color: #ffffff; font-size: 1.5rem; margin: 7px 0 8px; }
  #rk-vessel-guide .rk-vessel-pressure-panel > p { color: #c8dce3; margin-bottom: 0; }
  #rk-vessel-guide .rk-vessel-pressure-facts { display: grid; gap: 12px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 20px; }
  #rk-vessel-guide .rk-vessel-pressure-fact { background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.13); border-radius: 13px; padding: 15px; }
  #rk-vessel-guide .rk-vessel-pressure-fact b { color: #71e6ef; display: block; font-size: .71rem; letter-spacing: .06em; margin-bottom: 5px; text-transform: uppercase; }
  #rk-vessel-guide .rk-vessel-pressure-fact span { color: #ffffff; font-size: .88rem; }

  #rk-vessel-guide .rk-vessel-calculator {
    background: #102f42;
    border: 1px solid #315a70;
    border-radius: 23px;
    margin-top: 31px;
    padding: 29px;
  }
  #rk-vessel-guide .rk-vessel-calculator-head { border-bottom: 1px solid #315a70; margin-bottom: 24px; padding-bottom: 20px; }
  #rk-vessel-guide .rk-vessel-calculator-head h3 { color: #ffffff; font-size: clamp(1.45rem, 3vw, 2.25rem); margin: 0; }
  #rk-vessel-guide .rk-vessel-calculator-head p { color: #bad3dc; margin: 8px 0 0; }
  #rk-vessel-guide .rk-vessel-stage {
    background: #17394b;
    border: 1px solid #376177;
    border-radius: 17px;
    margin-top: 17px;
    padding: 22px;
  }
  #rk-vessel-guide .rk-vessel-stage-head { align-items: flex-start; display: flex; gap: 13px; margin-bottom: 17px; }
  #rk-vessel-guide .rk-vessel-stage-no {
    align-items: center;
    background: var(--rk-cyan);
    border-radius: 10px;
    color: #082c3c;
    display: inline-flex;
    flex: 0 0 39px;
    font-weight: 950;
    height: 39px;
    justify-content: center;
  }
  #rk-vessel-guide .rk-vessel-stage-head h4 { color: #ffffff; font-size: 1.12rem; margin: 0; }
  #rk-vessel-guide .rk-vessel-stage-head p { color: #aecad5; font-size: .85rem; margin: 4px 0 0; }
  #rk-vessel-guide .rk-vessel-fields { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #rk-vessel-guide .rk-vessel-fields.is-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #rk-vessel-guide .rk-vessel-field { display: block; }
  #rk-vessel-guide .rk-vessel-field > span { color: #edf7f9; display: block; font-size: .77rem; font-weight: 830; line-height: 1.35; margin-bottom: 7px; }
  #rk-vessel-guide .rk-vessel-field input,
  #rk-vessel-guide .rk-vessel-field select {
    background: #ffffff;
    border: 1px solid #b7cbd4;
    border-radius: 10px;
    color: var(--rk-ink);
    min-height: 48px;
    padding: 10px 12px;
    width: 100%;
  }
  #rk-vessel-guide .rk-vessel-field small { color: #aecaD5; display: block; font-size: .72rem; line-height: 1.45; margin-top: 6px; }
  #rk-vessel-guide .rk-vessel-field-wide { grid-column: 1 / -1; }
  #rk-vessel-guide .rk-vessel-mode-box { background: rgba(255,255,255,.04); border: 1px solid #41697d; border-radius: 14px; margin-top: 15px; padding: 17px; }
  #rk-vessel-guide .rk-vessel-mode-box > p { color: #c5d9df; font-size: .83rem; margin: 0 0 14px; }
  #rk-vessel-guide .rk-vessel-helper-total { background: #0f2a3a; border: 1px solid #3d6477; border-radius: 12px; color: #ffffff; font-weight: 850; margin-top: 15px; padding: 14px 16px; }
  #rk-vessel-guide .rk-vessel-helper-total span { color: #79eaf3; }
  #rk-vessel-guide .rk-vessel-actions { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 20px; }
  #rk-vessel-guide .rk-vessel-run,
  #rk-vessel-guide .rk-vessel-reset { border-radius: 11px; font-weight: 950; min-height: 49px; padding: 11px 18px; }
  #rk-vessel-guide .rk-vessel-run { background: var(--rk-orange); border: 1px solid var(--rk-orange); color: #ffffff; }
  #rk-vessel-guide .rk-vessel-run:hover { background: var(--rk-orange-dark); }
  #rk-vessel-guide .rk-vessel-reset { background: transparent; border: 1px solid #5d7c8d; color: #ffffff; }

  #rk-vessel-guide .rk-vessel-result {
    background: #ffffff;
    border-left: 7px solid #e2a91d;
    border-radius: 18px;
    margin-top: 22px;
    padding: 24px;
  }
  #rk-vessel-guide .rk-vessel-result.is-good { border-left-color: #2fcda1; }
  #rk-vessel-guide .rk-vessel-result.is-stop { border-left-color: var(--rk-orange); }
  #rk-vessel-guide .rk-vessel-result-status { color: var(--rk-ink) !important; font-size: clamp(1.3rem, 2.6vw, 1.95rem); font-weight: 950; line-height: 1.25; margin: 0 !important; }
  #rk-vessel-guide .rk-vessel-result-intro { color: var(--rk-copy) !important; margin: 8px 0 0 !important; }
  #rk-vessel-guide .rk-vessel-result-grid { display: grid; gap: 13px; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 19px; }
  #rk-vessel-guide .rk-vessel-result-metric { background: #f3f8fa; border: 1px solid var(--rk-line); border-radius: 13px; padding: 15px; }
  #rk-vessel-guide .rk-vessel-result-metric b { color: var(--rk-muted); display: block; font-size: .7rem; letter-spacing: .045em; line-height: 1.35; margin-bottom: 5px; text-transform: uppercase; }
  #rk-vessel-guide .rk-vessel-result-metric strong { color: var(--rk-ink) !important; display: block; font-size: 1.18rem; line-height: 1.3; }
  #rk-vessel-guide .rk-vessel-pressure-scale { background: #f4f8fa; border: 1px solid var(--rk-line); border-radius: 14px; margin-top: 18px; padding: 17px; }
  #rk-vessel-guide .rk-vessel-pressure-scale-title { color: var(--rk-ink); font-size: .81rem; font-weight: 900; margin-bottom: 12px; }
  #rk-vessel-guide .rk-vessel-pressure-track { background: #dce8ed; border-radius: 999px; height: 14px; overflow: hidden; position: relative; }
  #rk-vessel-guide .rk-vessel-pressure-track span { display: block; height: 100%; }
  #rk-vessel-guide .rk-vessel-pressure-fill { background: linear-gradient(90deg, #28c8d8 0%, #f2b526 70%, #ff6846 100%); width: 0; }
  #rk-vessel-guide .rk-vessel-pressure-values { display: grid; gap: 7px; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 11px; }
  #rk-vessel-guide .rk-vessel-pressure-values span { color: var(--rk-copy); font-size: .72rem; }
  #rk-vessel-guide .rk-vessel-pressure-values b { color: var(--rk-ink); display: block; }
  #rk-vessel-guide .rk-vessel-result-lists { display: grid; gap: 13px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 18px; }
  #rk-vessel-guide .rk-vessel-result-list { border: 1px solid var(--rk-line); border-radius: 13px; padding: 16px; }
  #rk-vessel-guide .rk-vessel-result-list h4 { font-size: .82rem; letter-spacing: .05em; margin-bottom: 9px; text-transform: uppercase; }
  #rk-vessel-guide .rk-vessel-result-list.is-check h4 { color: var(--rk-yellow); }
  #rk-vessel-guide .rk-vessel-result-list.is-stop h4 { color: var(--rk-red); }
  #rk-vessel-guide .rk-vessel-result-list ul { font-size: .86rem; margin: 0; padding-left: 18px; }
  #rk-vessel-guide .rk-vessel-disclaimer { color: #6b8190 !important; font-size: .76rem; margin: 15px 0 0 !important; }

  #rk-vessel-guide .rk-vessel-cta {
    background:
      radial-gradient(circle at 93% 120%, rgba(37, 199, 216, .22) 0, rgba(37, 199, 216, .22) 19%, transparent 19.2%),
      linear-gradient(125deg, #0e2637 0%, #153e52 62%, #0d6272 100%);
    border-radius: 21px;
    color: #ffffff;
    margin-top: 33px;
    overflow: hidden;
    padding: 35px;
  }
  #rk-vessel-guide .rk-vessel-cta-title { color: #ffffff; font-size: clamp(1.65rem, 3.3vw, 2.7rem); margin: 0; max-width: 980px; }
  #rk-vessel-guide .rk-vessel-cta p { color: #cee0e6; margin: 13px 0 0; max-width: 990px; }
  #rk-vessel-guide .rk-vessel-cta-button {
    background: var(--rk-orange);
    border-radius: 12px;
    box-shadow: 0 12px 25px rgba(255, 104, 70, .24);
    color: #ffffff;
    display: inline-block;
    font-weight: 950;
    margin-top: 21px;
    padding: 13px 19px;
    text-decoration: none;
  }
  #rk-vessel-guide .rk-vessel-cta-button:hover { background: #ffffff; color: var(--rk-orange-dark); }
  #rk-vessel-guide .rk-vessel-link-disclosure { color: #abc6cf; display: block; font-size: .74rem; margin-top: 11px; }

  #rk-vessel-guide .rk-vessel-sources { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 28px; }
  #rk-vessel-guide .rk-vessel-source { background: #f2f7f9; border: 1px solid #cfe0e7; border-radius: 15px; padding: 19px; }
  #rk-vessel-guide .rk-vessel-source a { font-weight: 900; }
  #rk-vessel-guide .rk-vessel-source p { font-size: .88rem; margin: 7px 0 0; }
  #rk-vessel-guide .rk-vessel-responsibility { background: var(--rk-orange-soft); border-left: 6px solid var(--rk-orange); border-radius: 14px; color: #613427; margin-top: 25px; padding: 18px 21px; }
  #rk-vessel-guide .rk-vessel-responsibility p { color: inherit; margin: 0; }

  #rk-vessel-guide .rk-vessel-faq { display: grid; gap: 12px; margin-top: 28px; }
  #rk-vessel-guide .rk-vessel-faq details { background: #ffffff; border: 1px solid var(--rk-line); border-radius: 14px; overflow: hidden; }
  #rk-vessel-guide .rk-vessel-faq summary { color: var(--rk-ink); cursor: pointer; font-weight: 900; list-style: none; padding: 18px 52px 18px 20px; position: relative; }
  #rk-vessel-guide .rk-vessel-faq summary::-webkit-details-marker { display: none; }
  #rk-vessel-guide .rk-vessel-faq summary::after { color: var(--rk-cyan-dark); content: "+"; font-size: 1.5rem; position: absolute; right: 20px; top: 10px; }
  #rk-vessel-guide .rk-vessel-faq details[open] summary::after { content: "−"; }
  #rk-vessel-guide .rk-vessel-faq-answer { border-top: 1px solid var(--rk-line); color: var(--rk-copy); padding: 17px 20px; }
  #rk-vessel-guide .rk-vessel-faq-answer p { margin: 0; }

  #rk-vessel-guide .rk-vessel-author { background: var(--rk-dark); border-radius: 22px; color: #ffffff; overflow: hidden; }
  #rk-vessel-guide .rk-vessel-author-head {
    align-items: center;
    background: linear-gradient(120deg, #102536 0%, #16465b 100%);
    border-bottom: 1px solid rgba(255,255,255,.12);
    display: flex;
    justify-content: space-between;
    padding: 34px 38px;
  }
  #rk-vessel-guide .rk-vessel-author-head .rk-vessel-eyebrow { color: #6ce7f1; }
  #rk-vessel-guide .rk-vessel-author-title { color: #ffffff; }
  #rk-vessel-guide .rk-vessel-author-head p { color: #c9dce2; margin: 12px 0 0; }
  #rk-vessel-guide .rk-vessel-author-mark { border: 1px solid #42697c; border-radius: 999px; color: #eaf5f7; flex: 0 0 auto; font-size: .75rem; font-weight: 850; margin-left: 20px; padding: 9px 13px; }
  #rk-vessel-guide .rk-vessel-author-layout { display: grid; grid-template-columns: 300px minmax(0, 1fr); }
  #rk-vessel-guide .rk-vessel-author-side { align-items: center; border-right: 1px solid rgba(255,255,255,.12); display: flex; flex-direction: column; padding: 36px 25px; text-align: center; }
  #rk-vessel-guide .rk-vessel-author-photo { border: 6px solid rgba(255,255,255,.2); border-radius: 50%; overflow: hidden; width: 158px; }
  #rk-vessel-guide .rk-vessel-author-name { font-size: 1.25rem; font-weight: 950; margin-top: 19px; }
  #rk-vessel-guide .rk-vessel-author-name a { color: #ffffff; text-decoration: none; }
  #rk-vessel-guide .rk-vessel-author-role { color: #bcd2db; font-size: .82rem; margin: 7px 0 0; }
  #rk-vessel-guide .rk-vessel-author-social-label,
  #rk-vessel-guide .rk-vessel-author-mini-label { color: #6ce7f1; font-size: .69rem; font-weight: 900; letter-spacing: .08em; margin-top: 19px; text-transform: uppercase; }
  #rk-vessel-guide .rk-vessel-author-social { display: flex; gap: 9px; margin-top: 10px; }
  #rk-vessel-guide .rk-vessel-author-social a { align-items: center; border: 1px solid #497185; border-radius: 50%; color: #d8e9ee; display: inline-flex; height: 42px; justify-content: center; text-decoration: none; width: 42px; }
  #rk-vessel-guide .rk-vessel-author-social svg { fill: currentColor; height: 19px; width: 19px; }
  #rk-vessel-guide .rk-vessel-author-main { padding: 35px 38px; }
  #rk-vessel-guide .rk-vessel-author-quote { background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.14); border-left: 6px solid var(--rk-cyan); border-radius: 14px; font-size: 1rem; font-style: italic; font-weight: 750; line-height: 1.68; margin: 0; padding: 19px 21px; }
  #rk-vessel-guide .rk-vessel-author-quote p { color: #ffffff; margin: 0; }
  #rk-vessel-guide .rk-vessel-author-card { background: #214c60; border: 1px solid #37677c; border-radius: 13px; padding: 15px; }
  #rk-vessel-guide .rk-vessel-author-card b { color: #8beff7; display: block; font-size: .72rem; margin-bottom: 5px; }
  #rk-vessel-guide .rk-vessel-author-card p { color: #d8e9ed; font-size: .82rem; margin: 0; }
  #rk-vessel-guide .rk-vessel-portals { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 10px; }
  #rk-vessel-guide .rk-vessel-portals a { border: 1px solid #42697c; border-radius: 999px; color: #ffffff; font-size: .78rem; padding: 7px 12px; text-decoration: none; }

  @media (max-width: 1050px) {
    #rk-vessel-guide .rk-vessel-grid-4,
    #rk-vessel-guide .rk-vessel-result-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #rk-vessel-guide .rk-vessel-pressure-facts { grid-template-columns: 1fr; }
    #rk-vessel-guide .rk-vessel-author-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }
  @media (max-width: 820px) {
    #rk-vessel-guide { font-size: 16px; }
    #rk-vessel-guide .rk-vessel-grid-3,
    #rk-vessel-guide .rk-vessel-pressure-tabs,
    #rk-vessel-guide .rk-vessel-fields.is-three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #rk-vessel-guide .rk-vessel-author-layout { grid-template-columns: 1fr; }
    #rk-vessel-guide .rk-vessel-author-side { border-bottom: 1px solid rgba(255,255,255,.12); border-right: 0; }
  }
  @media (max-width: 660px) {
    #rk-vessel-guide .rk-vessel-shell { border-radius: 18px; }
    #rk-vessel-guide .rk-vessel-grid-2,
    #rk-vessel-guide .rk-vessel-grid-3,
    #rk-vessel-guide .rk-vessel-grid-4,
    #rk-vessel-guide .rk-vessel-fields,
    #rk-vessel-guide .rk-vessel-fields.is-three,
    #rk-vessel-guide .rk-vessel-pressure-tabs,
    #rk-vessel-guide .rk-vessel-sources,
    #rk-vessel-guide .rk-vessel-result-grid,
    #rk-vessel-guide .rk-vessel-result-lists,
    #rk-vessel-guide .rk-vessel-pressure-values,
    #rk-vessel-guide .rk-vessel-author-cards { grid-template-columns: 1fr; }
    #rk-vessel-guide .rk-vessel-pressure-module,
    #rk-vessel-guide .rk-vessel-calculator,
    #rk-vessel-guide .rk-vessel-cta { border-radius: 17px; padding: 20px; }
    #rk-vessel-guide .rk-vessel-stage,
    #rk-vessel-guide .rk-vessel-result,
    #rk-vessel-guide .rk-vessel-pressure-panel { padding: 18px; }
    #rk-vessel-guide .rk-vessel-actions { display: grid; grid-template-columns: 1fr; }
    #rk-vessel-guide .rk-vessel-run,
    #rk-vessel-guide .rk-vessel-reset,
    #rk-vessel-guide .rk-vessel-cta-button { text-align: center; width: 100%; }
    #rk-vessel-guide .rk-vessel-table-wrap { overflow: visible; }
    #rk-vessel-guide table,
    #rk-vessel-guide thead,
    #rk-vessel-guide tbody,
    #rk-vessel-guide tr,
    #rk-vessel-guide th,
    #rk-vessel-guide td { display: block; min-width: 0; width: 100%; }
    #rk-vessel-guide thead { clip: rect(0 0 0 0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
    #rk-vessel-guide tbody { display: grid; gap: 14px; }
    #rk-vessel-guide tbody tr { background: #ffffff; border: 1px solid var(--rk-line); border-radius: 14px; overflow: hidden; }
    #rk-vessel-guide td,
    #rk-vessel-guide tbody tr td:first-child,
    #rk-vessel-guide tbody tr td:last-child { border: 0; border-bottom: 1px solid #e1ebef; border-radius: 0; padding: 13px 15px; }
    #rk-vessel-guide td:last-child { border-bottom: 0; }
    #rk-vessel-guide td::before { color: var(--rk-cyan-dark); content: attr(data-label); display: block; font-size: .69rem; font-weight: 900; letter-spacing: .07em; margin-bottom: 4px; text-transform: uppercase; }
    #rk-vessel-guide .rk-vessel-author-head { align-items: start; display: block; padding: 27px 20px; }
    #rk-vessel-guide .rk-vessel-author-mark { display: inline-block; margin: 14px 0 0; }
    #rk-vessel-guide .rk-vessel-author-main { padding: 25px 20px; }
  }
  @media (max-width: 430px) {
    #rk-vessel-guide .rk-vessel-hero-title { font-size: 2.18rem; }
    #rk-vessel-guide .rk-vessel-section-title { font-size: 1.85rem; }
    #rk-vessel-guide .rk-vessel-nav a { flex: 1 1 calc(50% - 8px); text-align: center; }
    #rk-vessel-guide .rk-vessel-field-wide { grid-column: auto; }
  }
  @media (prefers-reduced-motion: reduce) {
    #rk-vessel-guide *,
    #rk-vessel-guide *::before,
    #rk-vessel-guide *::after { scroll-behavior: auto; transition-duration: .01ms; }
  }
</style>

<article id="rk-vessel-guide" aria-labelledby="rk-vessel-visual-title">
  <div class="rk-vessel-shell">
    <header class="rk-vessel-hero">
      <span class="rk-vessel-kicker">Bezpieczeństwo ciśnieniowe · aktualizacja techniczna 2026</span>
      <div class="rk-vessel-hero-title" id="rk-vessel-visual-title">Naczynie wzbiorcze: <span>dobierz pojemność i ciśnienia, nie sam kolor zbiornika</span></div>
      <p class="rk-vessel-hero-lead">Naczynie nie jest pojemnikiem „na zapas wody”. Ma przyjąć rozszerzający się czynnik, zachować rezerwę przy zimnej instalacji i utrzymać ciśnienie pomiędzy wymaganym minimum a bezpiecznym maksimum. Ten poradnik prowadzi od zładu i temperatury do pojemności nominalnej oraz prawidłowej konfiguracji.</p>
      <div class="rk-vessel-tags" aria-label="Zakres poradnika">
        <span>kalkulator pojemności</span>
        <span>zład instalacji</span>
        <span>ciśnienie wstępne</span>
        <span>rezerwa wodna</span>
        <span>zawór bezpieczeństwa</span>
      </div>
      <div class="rk-vessel-meta">
        <span>Autor: <strong>Robert Kucharski</strong></span>
        <span>Czas czytania: <strong>około 25 minut</strong></span>
        <span>Aktualizacja techniczna: <strong>16 września 2026 r.</strong></span>
      </div>
    </header>

    <nav class="rk-vessel-nav" aria-label="Na skróty — wszystkie sekcje artykułu">
      <span class="rk-vessel-nav-label">Na skróty</span>
      <div class="rk-vessel-nav-track">
        <a href="#rk-vessel-answer">Szybka odpowiedź</a>
        <a href="#rk-vessel-types">Rodzaje naczyń</a>
        <a href="#rk-vessel-expansion">Rozszerzalność</a>
        <a href="#rk-vessel-pressures">Sześć wartości</a>
        <a href="#rk-vessel-volume">Objętość instalacji</a>
        <a href="#rk-vessel-calculator-section">Kalkulator</a>
        <a href="#rk-vessel-built-in">Naczynie w urządzeniu</a>
        <a href="#rk-vessel-location">Miejsce podłączenia</a>
        <a href="#rk-vessel-safety">Zabezpieczenia</a>
        <a href="#rk-vessel-service">Kontrola i objawy</a>
        <a href="#rk-vessel-errors">Błędy</a>
        <a href="#rk-vessel-final">Podsumowanie</a>
        <a href="#rk-vessel-sources">Źródła</a>
        <a href="#rk-vessel-faq">FAQ</a>
        <a href="#rk-vessel-author">Autor</a>
      </div>
    </nav>

    <section class="rk-vessel-section" id="rk-vessel-answer">
      <span class="rk-vessel-eyebrow">Odpowiedź w 60 sekund</span>
      <h2 class="rk-vessel-section-title">Jak dobrać naczynie wzbiorcze do instalacji grzewczej?</h2>
      <p class="rk-vessel-lead"><strong>Nie dobiera się go wyłącznie do mocy pompy ciepła, powierzchni domu ani liczby pętli.</strong> Potrzebna pojemność zależy od całkowitej ilości czynnika, jego przyrostu objętości, wysokości instalacji oraz ciśnienia wstępnego i końcowego.</p>
      <div class="rk-vessel-answer">
        <strong>Najpierw oblicz zład i rozszerzalność, następnie wyznacz dopuszczalny zakres ciśnienia, dodaj rezerwę wodną i dopiero wtedy dobierz większą dostępną pojemność nominalną.</strong>
        <p>Fabryczne ciśnienie gazu nie musi pasować do Twojego budynku. Również naczynie zamontowane wewnątrz pompy ciepła albo kotła nie jest automatycznie wystarczające dla podłogówki, bufora i całej instalacji.</p>
      </div>
      <div class="rk-vessel-grid-3">
        <article class="rk-vessel-card"><span class="rk-vessel-card-no">1</span><h3>Policz wodę w całym układzie</h3><p>Uwzględnij rury, źródło, przewody rozdzielcze, rozdzielacze, grzejniki, bufor, sprzęgło i wszystkie obiegi połączone hydraulicznie.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-no">2</span><h3>Rozdziel poziomy ciśnienia</h3><p>Ciśnienie statyczne, wstępne, napełnienia, końcowe i nastawa zaworu bezpieczeństwa pełnią różne funkcje.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-no">3</span><h3>Sprawdź rzeczywisty produkt</h3><p>Pojemność nominalna to nie wszystko. Liczą się dopuszczalne ciśnienie, temperatura membrany, medium, orientacja i instrukcja montażu.</p></article>
      </div>
      <p class="rk-vessel-lead">Naczynie współpracuje z całą hydrauliką, dlatego warto rozumieć również, czym jest <a href="https://projekt-ogrzewania.pl/obieg-grzewczy-w-wodnym-ogrzewaniu-podlogowym/">obieg grzewczy</a> i jak działa <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">pompa obiegowa w podłogówce</a>.</p>
    </section>

    <section class="rk-vessel-section rk-vessel-section-soft" id="rk-vessel-types">
      <span class="rk-vessel-eyebrow">Najpierw właściwe zastosowanie</span>
      <h2 class="rk-vessel-section-title">Naczynie do ogrzewania, CWU, instalacji otwartej i solarnej to nie to samo</h2>
      <p class="rk-vessel-lead">Wspólna nazwa prowadzi do błędnych zakupów. Kalkulator w tym artykule dotyczy przeponowego naczynia w zamkniętej, wodnej instalacji grzewczej.</p>
      <div class="rk-vessel-table-wrap">
        <table>
          <thead><tr><th>Rodzaj układu</th><th>Rola naczynia</th><th>Co jest charakterystyczne</th><th>Czy obejmuje go kalkulator?</th></tr></thead>
          <tbody>
            <tr><td data-label="Rodzaj układu"><strong>Zamknięta instalacja grzewcza</strong></td><td data-label="Rola naczynia">Przejmuje rozszerzalność czynnika i stabilizuje ciśnienie.</td><td data-label="Co jest charakterystyczne">Membrana, komora gazowa, ciśnienie wstępne i współpraca z zaworem bezpieczeństwa.</td><td data-label="Czy obejmuje go kalkulator?"><strong>Tak</strong> — to podstawowy zakres narzędzia.</td></tr>
            <tr><td data-label="Rodzaj układu"><strong>Instalacja otwarta</strong></td><td data-label="Rola naczynia">Zapewnia kontakt układu z atmosferą i przejmuje wzrost objętości.</td><td data-label="Co jest charakterystyczne">Naczynie otwarte, rury bezpieczeństwa i przelewowa; inna metoda projektowania.</td><td data-label="Czy obejmuje go kalkulator?">Nie.</td></tr>
            <tr><td data-label="Rodzaj układu"><strong>Ciepła woda użytkowa</strong></td><td data-label="Rola naczynia">Przejmuje wzrost objętości wody użytkowej ogrzewanej w zasobniku.</td><td data-label="Co jest charakterystyczne">Wymagania higieniczne, ciśnienie sieci, reduktor i zawór bezpieczeństwa zasobnika.</td><td data-label="Czy obejmuje go kalkulator?">Nie — wymaga osobnego doboru.</td></tr>
            <tr><td data-label="Rodzaj układu"><strong>Instalacja solarna</strong></td><td data-label="Rola naczynia">Przejmuje rozszerzalność i skutki możliwego odparowania czynnika.</td><td data-label="Co jest charakterystyczne">Glikol, wysokie temperatury, stagnacja i szczególna pojemność rezerwowa.</td><td data-label="Czy obejmuje go kalkulator?">Nie.</td></tr>
          </tbody>
        </table>
      </div>
      <div class="rk-vessel-note"><p><strong>Kolor płaszcza nie jest specyfikacją techniczną.</strong> O zastosowaniu decydują dokumenty konkretnego wyrobu: dopuszczalna temperatura i ciśnienie, materiał membrany, medium, sposób montażu i wymagane dopuszczenia.</p></div>
    </section>

    <section class="rk-vessel-section" id="rk-vessel-expansion">
      <span class="rk-vessel-eyebrow">Fizyka przed katalogiem</span>
      <h2 class="rk-vessel-section-title">Dlaczego wzrost temperatury podnosi ciśnienie?</h2>
      <p class="rk-vessel-lead">Woda prawie nie daje się sprężyć, ale jej objętość rośnie podczas ogrzewania. W zamkniętej instalacji dodatkowa objętość musi przemieścić membranę i sprężyć gaz po drugiej stronie naczynia.</p>
      <div class="rk-vessel-grid-4">
        <article class="rk-vessel-card"><span class="rk-vessel-card-no">V</span><h3>Zład instalacji</h3><p>Im więcej wody w rurach, źródle i buforze, tym większa bezwzględna objętość rozszerzającego się czynnika.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-no is-orange">T</span><h3>Zakres temperatur</h3><p>Liczy się różnica pomiędzy stanem napełnienia a maksymalną temperaturą przyjętą dla danego układu.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-no is-green">e</span><h3>Współczynnik rozszerzalności</h3><p>Dla wody zależy od temperatur. Dla glikolu trzeba użyć danych dokładnej mieszaniny i stężenia.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-no is-yellow">p</span><h3>Zakres ciśnienia</h3><p>Ta sama nominalna pojemność przy niekorzystnym ustawieniu ciśnień ma znacznie mniejszą pojemność użytkową.</p></article>
      </div>
      <div class="rk-vessel-formula">objętość rozszerzenia Vₑ = objętość instalacji Vsystem × przyrost objętości e</div>
      <p class="rk-vessel-lead">Podłogówka nie musi mieć większego zładu niż każdy układ grzejnikowy. Decydują długości i światło rur, pojemność przewodów głównych, źródła oraz elementów takich jak <a href="https://projekt-ogrzewania.pl/bufor-ciepla-w-ogrzewaniu-podlogowym/">bufor ciepła</a> albo <a href="https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/">sprzęgło hydrauliczne</a>.</p>
      <div class="rk-vessel-note is-good"><p><strong>Temperatury nie wybieramy „na wszelki wypadek” bez związku ze schematem.</strong> Powinna odpowiadać maksymalnemu stanowi, jaki może wystąpić w chronionej części instalacji z uwzględnieniem źródła, automatyki i zabezpieczeń.</p></div>
    </section>

    <section class="rk-vessel-section rk-vessel-section-soft" id="rk-vessel-pressures">
      <span class="rk-vessel-eyebrow">Moduł edukacyjny</span>
      <h2 class="rk-vessel-section-title">Sześć wartości, których nie wolno ze sobą mylić</h2>
      <p class="rk-vessel-lead">Kliknij kafel. Każdy parametr jest mierzony lub wyznaczany w innym stanie instalacji. Prawidłowy dobór polega na zachowaniu między nimi logicznej kolejności.</p>
      <div class="rk-vessel-pressure-module">
        <p class="rk-vessel-pressure-intro"><strong>Najważniejsza relacja:</strong> zimna instalacja musi zachować dodatnie ciśnienie w najwyższym punkcie, naczynie musi zawierać rezerwę wody, a ciśnienie gorącego układu musi pozostać poniżej nastawy zaworu bezpieczeństwa.</p>
        <div class="rk-vessel-pressure-tabs" role="tablist" aria-label="Parametry ciśnienia instalacji">
          <button class="rk-vessel-pressure-tab" type="button" role="tab" aria-selected="true" data-rk-pressure="height">1. Wysokość statyczna<small>różnica poziomów [m]</small></button>
          <button class="rk-vessel-pressure-tab" type="button" role="tab" aria-selected="false" data-rk-pressure="static">2. Ciśnienie statyczne<small>słup czynnika [bar]</small></button>
          <button class="rk-vessel-pressure-tab" type="button" role="tab" aria-selected="false" data-rk-pressure="precharge">3. Ciśnienie wstępne p₀<small>gaz, strona wodna 0 bar</small></button>
          <button class="rk-vessel-pressure-tab" type="button" role="tab" aria-selected="false" data-rk-pressure="fill">4. Ciśnienie napełnienia pₐ<small>zimny układ [bar]</small></button>
          <button class="rk-vessel-pressure-tab" type="button" role="tab" aria-selected="false" data-rk-pressure="final">5. Ciśnienie końcowe pₑ<small>maksymalna temperatura [bar]</small></button>
          <button class="rk-vessel-pressure-tab" type="button" role="tab" aria-selected="false" data-rk-pressure="safety">6. Zawór bezpieczeństwa pₛᵥ<small>nastawa urządzenia [bar]</small></button>
        </div>
        <div class="rk-vessel-pressure-panel" role="tabpanel" aria-live="polite">
          <span class="rk-vessel-pressure-panel-label" id="rk-vessel-pressure-label">Wysokość statyczna</span>
          <h3 id="rk-vessel-pressure-title">Od przyłącza naczynia do najwyższego punktu</h3>
          <p id="rk-vessel-pressure-summary">Mierzymy pionową różnicę poziomów, a nie długość rur. To ona tworzy ciśnienie hydrostatyczne w punkcie podłączenia naczynia.</p>
          <div class="rk-vessel-pressure-facts">
            <div class="rk-vessel-pressure-fact"><b>Jak wyznaczyć</b><span id="rk-vessel-pressure-how">Zmierz wysokość pomiędzy króćcem naczynia a najwyżej położonym elementem instalacji.</span></div>
            <div class="rk-vessel-pressure-fact"><b>Do czego służy</b><span id="rk-vessel-pressure-use">Do ustalenia minimalnego ciśnienia i kontroli zabezpieczenia przed zasysaniem powietrza.</span></div>
            <div class="rk-vessel-pressure-fact"><b>Typowy błąd</b><span id="rk-vessel-pressure-error">Liczenie długości przewodów albo liczby kondygnacji bez zmierzenia rzeczywistej różnicy poziomów.</span></div>
          </div>
        </div>
      </div>
    </section>

    <section class="rk-vessel-section" id="rk-vessel-volume">
      <span class="rk-vessel-eyebrow">Najczęściej pomijane dane wejściowe</span>
      <h2 class="rk-vessel-section-title">Jak obliczyć całkowitą objętość instalacji?</h2>
      <p class="rk-vessel-lead">Najlepiej zsumować pojemności z projektu i dokumentacji elementów. Gdy nie masz kompletnej listy, możesz oszacować część rurową z geometrii, ale nie wolno na tym zakończyć obliczeń.</p>
      <div class="rk-vessel-table-wrap">
        <table>
          <thead><tr><th>Rura</th><th>Uproszczone światło</th><th>Objętość geometryczna</th><th>Przykład dla 100 m</th></tr></thead>
          <tbody>
            <tr><td data-label="Rura"><strong>16 × 2,0 mm</strong></td><td data-label="Uproszczone światło">około 12 mm</td><td data-label="Objętość geometryczna">około 0,113 l/m</td><td data-label="Przykład dla 100 m">około 11,3 l</td></tr>
            <tr><td data-label="Rura"><strong>17 × 2,0 mm</strong></td><td data-label="Uproszczone światło">około 13 mm</td><td data-label="Objętość geometryczna">około 0,133 l/m</td><td data-label="Przykład dla 100 m">około 13,3 l</td></tr>
            <tr><td data-label="Rura"><strong>20 × 2,0 mm</strong></td><td data-label="Uproszczone światło">około 16 mm</td><td data-label="Objętość geometryczna">około 0,201 l/m</td><td data-label="Przykład dla 100 m">około 20,1 l</td></tr>
          </tbody>
        </table>
      </div>
      <div class="rk-vessel-grid-3">
        <article class="rk-vessel-card"><span class="rk-vessel-card-label">ŹRÓDŁO</span><h3>Wymiennik i moduł hydrauliczny</h3><p>Sprawdź pojemność pompy ciepła, kotła, jednostki wewnętrznej oraz przewodów między urządzeniem i rozdziałem instalacji.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-label">MAGAZYN</span><h3>Bufor albo sprzęgło</h3><p>Ich pojemność może być większa niż objętość wielu pętli razem. Pominięcie bufora potrafi całkowicie zmienić dobór.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-label">ODBIORNIKI</span><h3>Pętle, grzejniki i przewody</h3><p>Uwzględnij wszystkie obiegi połączone z naczyniem, również dobiegi, piony, rozdzielacze i część grzejnikową.</p></article>
      </div>
      <p class="rk-vessel-lead">Jeżeli nie znasz długości przewodów, pomocny będzie <a href="https://projekt-ogrzewania.pl/kalkulator-do-obliczania-ilosci-metrow-rury-potrzebnych-do-ogrzewania-podlogowego/">kalkulator ilości rury do podłogówki</a>. Ilość wody w konkretnym wymiarze wyjaśnia osobny poradnik <a href="https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/">ile wody mieści się w rurze 16 mm</a>.</p>
    </section>

    <section class="rk-vessel-section rk-vessel-section-dark" id="rk-vessel-calculator-section">
      <span class="rk-vessel-eyebrow">Narzędzie główne</span>
      <h2 class="rk-vessel-section-title">Kalkulator pojemności naczynia wzbiorczego</h2>
      <p class="rk-vessel-lead">Narzędzie przeprowadza obliczenie dla zamkniętej instalacji grzewczej. Przyjmuje ciśnienia manometryczne, a we wzorze automatycznie uwzględnia ciśnienie atmosferyczne. Wynik jest pomocą projektową, nie zatwierdzeniem konkretnego produktu.</p>

      <div class="rk-vessel-calculator" id="rk-vessel-calculator">
        <div class="rk-vessel-calculator-head">
          <h3>Od zładu do najbliższej większej pojemności nominalnej</h3>
          <p>Uzupełnij dane układu. Pola mają wartości przykładowe, które trzeba zastąpić parametrami rzeczywistej instalacji.</p>
        </div>

        <div class="rk-vessel-stage">
          <div class="rk-vessel-stage-head"><span class="rk-vessel-stage-no">1</span><div><h4>Całkowita objętość instalacji</h4><p>Wpisz znany zład albo oszacuj go z rur i pozostałych elementów. Nie stosuj obu metod jednocześnie.</p></div></div>
          <div class="rk-vessel-fields">
            <label class="rk-vessel-field rk-vessel-field-wide"><span>Metoda określenia zładu</span><select id="rk-vessel-volume-mode"><option value="known">Znam całkowitą objętość instalacji</option><option value="helper">Oszacuj z rur i elementów</option></select></label>
          </div>
          <div class="rk-vessel-mode-box" id="rk-vessel-known-box">
            <div class="rk-vessel-fields">
              <label class="rk-vessel-field"><span>Całkowita objętość instalacji [l]</span><input id="rk-vessel-known-volume" type="number" min="1" max="50000" step="1" value="200" inputmode="decimal"><small>Rury, źródło, bufor, grzejniki, rozdzielacze i przewody główne.</small></label>
              <label class="rk-vessel-field"><span>Istniejące naczynie [l] — opcjonalnie</span><input id="rk-vessel-existing" type="number" min="0" max="5000" step="1" value="0" inputmode="decimal"><small>Porównanie ma sens tylko przy zgodnym p₀, medium i połączeniu hydraulicznym.</small></label>
            </div>
          </div>
          <div class="rk-vessel-mode-box" id="rk-vessel-helper-box" hidden="">
            <p>Podane pojemności rur są obliczeniem geometrycznym. Dla konkretnego produktu pierwszeństwo ma jego rzeczywista średnica wewnętrzna.</p>
            <div class="rk-vessel-fields is-three">
              <label class="rk-vessel-field"><span>Rura 16 × 2 mm [m]</span><input id="rk-vessel-pipe16" type="number" min="0" max="50000" step="1" value="800" inputmode="decimal"></label>
              <label class="rk-vessel-field"><span>Rura 17 × 2 mm [m]</span><input id="rk-vessel-pipe17" type="number" min="0" max="50000" step="1" value="0" inputmode="decimal"></label>
              <label class="rk-vessel-field"><span>Rura 20 × 2 mm [m]</span><input id="rk-vessel-pipe20" type="number" min="0" max="50000" step="1" value="0" inputmode="decimal"></label>
              <label class="rk-vessel-field"><span>Źródło i moduł hydrauliczny [l]</span><input id="rk-vessel-source-volume" type="number" min="0" max="5000" step="0.1" value="8" inputmode="decimal"></label>
              <label class="rk-vessel-field"><span>Bufor lub sprzęgło [l]</span><input id="rk-vessel-buffer-volume" type="number" min="0" max="20000" step="1" value="80" inputmode="decimal"></label>
              <label class="rk-vessel-field"><span>Przewody, grzejniki i pozostałe [l]</span><input id="rk-vessel-other-volume" type="number" min="0" max="20000" step="0.1" value="20" inputmode="decimal"></label>
              <label class="rk-vessel-field"><span>Istniejące naczynie [l] — opcjonalnie</span><input id="rk-vessel-existing-helper" type="number" min="0" max="5000" step="1" value="0" inputmode="decimal"></label>
            </div>
            <div class="rk-vessel-helper-total">Oszacowany zład: <span id="rk-vessel-helper-total">198,4 l</span></div>
          </div>
        </div>

        <div class="rk-vessel-stage">
          <div class="rk-vessel-stage-head"><span class="rk-vessel-stage-no">2</span><div><h4>Czynnik i zakres temperatury</h4><p>Dla wody kalkulator obliczy przyrost z tabeli gęstości. Dla innego medium podaj współczynnik z jego dokumentacji.</p></div></div>
          <div class="rk-vessel-fields">
            <label class="rk-vessel-field"><span>Czynnik grzewczy</span><select id="rk-vessel-fluid"><option value="water">Woda instalacyjna</option><option value="custom">Glikol lub inny czynnik — własny współczynnik</option></select></label>
            <label class="rk-vessel-field" id="rk-vessel-custom-field" hidden=""><span>Przyrost objętości czynnika [%]</span><input id="rk-vessel-custom-expansion" type="number" min="0.1" max="20" step="0.01" value="2.00" inputmode="decimal"><small>Wartość pomiędzy temperaturą napełnienia i maksymalną — z dokumentacji mieszaniny.</small></label>
            <label class="rk-vessel-field"><span>Temperatura napełnienia [°C]</span><input id="rk-vessel-fill-temp" type="number" min="4" max="50" step="1" value="10" inputmode="decimal"></label>
            <label class="rk-vessel-field"><span>Maksymalna temperatura projektowa [°C]</span><input id="rk-vessel-max-temp" type="number" min="10" max="100" step="1" value="55" inputmode="decimal"><small>Temperatura chronionej części układu, nie przypadkowa wartość katalogowa.</small></label>
          </div>
        </div>

        <div class="rk-vessel-stage">
          <div class="rk-vessel-stage-head"><span class="rk-vessel-stage-no">3</span><div><h4>Wysokość i ciśnienia</h4><p>Wartości wpisuj w barach manometrycznych. Ciśnienie końcowe zostanie wyznaczone z nastawy zaworu i wymaganej rezerwy.</p></div></div>
          <div class="rk-vessel-fields is-three">
            <label class="rk-vessel-field"><span>Wysokość statyczna [m]</span><input id="rk-vessel-height" type="number" min="0" max="100" step="0.1" value="5" inputmode="decimal"><small>Od przyłącza naczynia do najwyższego punktu.</small></label>
            <label class="rk-vessel-field"><span>Ciśnienie wstępne p₀ [bar]</span><input id="rk-vessel-precharge" type="number" min="0.1" max="20" step="0.1" value="0.7" inputmode="decimal"><small>Mierzone przy zerowym ciśnieniu po stronie wodnej.</small></label>
            <label class="rk-vessel-field"><span>Nastawa zaworu pₛᵥ [bar]</span><input id="rk-vessel-safety-pressure" type="number" min="0.5" max="40" step="0.1" value="3" inputmode="decimal"></label>
            <label class="rk-vessel-field"><span>Rezerwa przed zadziałaniem zaworu [bar]</span><input id="rk-vessel-safety-margin" type="number" min="0.1" max="5" step="0.1" value="0.3" inputmode="decimal"><small>Domyślnie 10% nastawy 3 bar; zweryfikuj wymagania projektu.</small></label>
          </div>
        </div>

        <div class="rk-vessel-actions">
          <button class="rk-vessel-run" id="rk-vessel-run" type="button">Oblicz pojemność naczynia</button>
          <button class="rk-vessel-reset" id="rk-vessel-reset" type="button">Przywróć przykład</button>
        </div>

        <div class="rk-vessel-result" id="rk-vessel-result" aria-live="polite">
          <p class="rk-vessel-result-status" id="rk-vessel-result-status">Przykład jest gotowy do obliczenia</p>
          <p class="rk-vessel-result-intro" id="rk-vessel-result-intro">Kliknij przycisk, aby zobaczyć pojemność, rezerwę i kontrolę ciśnień.</p>
          <div class="rk-vessel-result-grid">
            <div class="rk-vessel-result-metric"><b>Zład instalacji</b><strong id="rk-vessel-out-system">—</strong></div>
            <div class="rk-vessel-result-metric"><b>Przyrost objętości</b><strong id="rk-vessel-out-expansion-pct">—</strong></div>
            <div class="rk-vessel-result-metric"><b>Objętość rozszerzenia Vₑ</b><strong id="rk-vessel-out-expansion-volume">—</strong></div>
            <div class="rk-vessel-result-metric"><b>Rezerwa wodna VWR</b><strong id="rk-vessel-out-reserve">—</strong></div>
            <div class="rk-vessel-result-metric"><b>Minimum obliczeniowe</b><strong id="rk-vessel-out-minimum">—</strong></div>
            <div class="rk-vessel-result-metric"><b>Dobór nominalny</b><strong id="rk-vessel-out-selected">—</strong></div>
            <div class="rk-vessel-result-metric"><b>Min. napełnienie zimne</b><strong id="rk-vessel-out-fill-pressure">—</strong></div>
            <div class="rk-vessel-result-metric"><b>Ocena istniejącego naczynia</b><strong id="rk-vessel-out-existing">—</strong></div>
          </div>
          <div class="rk-vessel-pressure-scale">
            <div class="rk-vessel-pressure-scale-title">Relacja ciśnień — skala do nastawy zaworu bezpieczeństwa</div>
            <div class="rk-vessel-pressure-track" aria-hidden="true"><span class="rk-vessel-pressure-fill" id="rk-vessel-pressure-fill"></span></div>
            <div class="rk-vessel-pressure-values">
              <span>Statyczne<b id="rk-vessel-out-static">—</b></span>
              <span>Wstępne p₀<b id="rk-vessel-out-precharge">—</b></span>
              <span>Końcowe pₑ<b id="rk-vessel-out-final">—</b></span>
              <span>Zawór pₛᵥ<b id="rk-vessel-out-safety">—</b></span>
            </div>
          </div>
          <div class="rk-vessel-result-lists">
            <div class="rk-vessel-result-list is-check"><h4>Do potwierdzenia</h4><ul id="rk-vessel-check-list"><li>Dokumentacja konkretnego naczynia i rzeczywista objętość instalacji.</li></ul></div>
            <div class="rk-vessel-result-list is-stop"><h4>Ostrzeżenia</h4><ul id="rk-vessel-warning-list"><li>Brak obliczenia nie oznacza akceptacji danych.</li></ul></div>
          </div>
          <p class="rk-vessel-disclaimer">Kalkulator stosuje model edukacyjny oparty na zależnościach dla przeponowego naczynia w zamkniętej instalacji grzewczej. Nie zastępuje projektu, aktualnej normy, dokumentacji źródła i naczynia ani sprawdzenia zabezpieczeń na budowie.</p>
        </div>
      </div>

      <aside class="rk-vessel-cta" aria-label="Projekt ogrzewania podłogowego">
        <div class="rk-vessel-cta-title">Kalkulator podał pojemność. Schemat musi jeszcze określić, gdzie i jak naczynie będzie pracowało</div>
        <p>Wynik w litrach nie wyznacza punktu wpięcia, średnicy przewodu przyłączeniowego, położenia względem pompy, zabezpieczenia źródła ani współpracy z buforem i oddzielonymi obiegami. W projekcie te elementy są dobierane jako jeden układ hydrauliczny.</p>
        <a class="rk-vessel-cta-button" href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Sprawdź zakres indywidualnego projektu podłogówki</a>
        <small class="rk-vessel-link-disclosure">Odnośnik prowadzi do płatnej usługi projektowej autora poradnika.</small>
      </aside>
    </section>

    <section class="rk-vessel-section" id="rk-vessel-built-in">
      <span class="rk-vessel-eyebrow">Częste pytanie przy pompie ciepła i kotle</span>
      <h2 class="rk-vessel-section-title">Czy naczynie wbudowane w urządzenie wystarczy?</h2>
      <p class="rk-vessel-lead">Może wystarczyć, ale nie dlatego, że zostało fabrycznie zamontowane. Trzeba sprawdzić, dla jakiego zładu i zakresu ciśnień przewidziano urządzenie oraz co dołączono po stronie instalacji.</p>
      <div class="rk-vessel-grid-3">
        <article class="rk-vessel-card"><span class="rk-vessel-card-no">A</span><h3>Nominalna pojemność</h3><p>Odczytaj ją z dokumentacji urządzenia. Nie zakładaj jej na podstawie wymiarów obudowy ani typowej konfiguracji innego modelu.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-no is-orange">B</span><h3>Ciśnienie fabryczne</h3><p>Może nie odpowiadać wysokości Twojego budynku. Bez prawidłowego ustawienia część objętości naczynia jest niewykorzystana.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-no is-green">C</span><h3>Dodatkowy zład</h3><p>Bufor, długie magistrale, grzejniki i kolejne obiegi zwiększają ilość czynnika, której urządzenie mogło nie uwzględniać.</p></article>
      </div>
      <div class="rk-vessel-note"><p><strong>Dwóch naczyń nie ocenia się wyłącznie przez dodanie liczb z tabliczek.</strong> Muszą być połączone z chronioną częścią układu, mieć właściwe parametry i prawidłowo ustawione ciśnienie wstępne. Naczynie odcięte zaworem albo znajdujące się po drugiej stronie zamkniętej armatury nie chroni całej instalacji.</p></div>
      <p class="rk-vessel-lead">Przy układach ze źródłem niskotemperaturowym zobacz również <a href="https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/">projekt ogrzewania podłogowego z pompą ciepła</a>. Szerszy kontekst całej kotłowni opisuje <a href="https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/">projekt instalacji grzewczej domu jednorodzinnego</a>.</p>
    </section>

    <section class="rk-vessel-section rk-vessel-section-soft" id="rk-vessel-location">
      <span class="rk-vessel-eyebrow">Pojemność to dopiero połowa zadania</span>
      <h2 class="rk-vessel-section-title">Gdzie podłączyć naczynie wzbiorcze?</h2>
      <p class="rk-vessel-lead">Punkt wpięcia wpływa na rozkład ciśnienia w instalacji. Naczynie tworzy punkt odniesienia, względem którego pompa podnosi lub obniża ciśnienie w poszczególnych częściach obiegu.</p>
      <div class="rk-vessel-grid-2">
        <article class="rk-vessel-card"><span class="rk-vessel-card-label">ZASADA</span><h3>Punkt stałego ciśnienia</h3><p>Naczynie podłącza się w miejscu wynikającym ze schematu hydraulicznego, często po stronie ssawnej pompy obiegowej. Nie sprowadza się to wyłącznie do hasła „zawsze na powrocie”.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-label">TEMPERATURA</span><h3>Ochrona membrany</h3><p>Położenie powinno ograniczać niekorzystne oddziaływanie temperatury na membranę. Jeżeli nie można spełnić jej dopuszczalnych warunków, projekt wymaga dodatkowych środków ochrony.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-label">DROŻNOŚĆ</span><h3>Przewód bez przypadkowej blokady</h3><p>Połączenie musi pozostawać drożne w każdej konfiguracji pracy chronionego układu. Armatura serwisowa wymaga zabezpieczenia przed niezamierzonym zamknięciem.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-label">SERWIS</span><h3>Dostęp do manometru i wentyla</h3><p>Naczynie powinno dać się bezpiecznie odizolować, opróżnić po stronie wodnej i sprawdzić bez demontażu połowy kotłowni.</p></article>
      </div>
      <p class="rk-vessel-lead">Przy kilku pompach, buforze lub sprzęgle położenie wymaga analizy stanów pracy. Samo wskazanie „przed pompą” jest niepełne, dopóki nie wiadomo, o którą pompę i który obieg chodzi. Rozdział przepływów warto zestawić z budową <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/">rozdzielacza podłogówki</a>.</p>
    </section>

    <section class="rk-vessel-section" id="rk-vessel-safety">
      <span class="rk-vessel-eyebrow">Oddzielne funkcje zabezpieczeń</span>
      <h2 class="rk-vessel-section-title">Naczynie nie zastępuje zaworu bezpieczeństwa</h2>
      <p class="rk-vessel-lead">Naczynie stabilizuje ciśnienie podczas normalnych zmian objętości. Zawór bezpieczeństwa chroni przed przekroczeniem dopuszczalnego ciśnienia. Jedno urządzenie nie przejmuje funkcji drugiego.</p>
      <div class="rk-vessel-grid-3">
        <article class="rk-vessel-card"><span class="rk-vessel-card-no is-green">01</span><h3>Naczynie przeponowe</h3><p>Przyjmuje rozszerzający się czynnik i oddaje go przy chłodzeniu, utrzymując ciśnienie w zaprojektowanym zakresie.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-no is-orange">02</span><h3>Zawór bezpieczeństwa</h3><p>Otwiera drogę zrzutu przy przekroczeniu nastawy. Nie służy do odpowietrzania, okresowego spuszczania ani regulacji ciśnienia.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-no is-yellow">03</span><h3>Manometr i ograniczniki</h3><p>Pozwalają kontrolować stan układu, a zabezpieczenia temperatury i ciśnienia reagują na nieprawidłową pracę źródła.</p></article>
      </div>
      <div class="rk-vessel-note is-stop"><p><strong>Nie montuj zwykłego zaworu, który może odciąć naczynie podczas pracy.</strong> Jeżeli potrzebna jest armatura serwisowa, musi być przeznaczona do tego zastosowania i zabezpieczona przed niezamierzonym zamknięciem. Droga między źródłem i jego urządzeniami bezpieczeństwa również nie może zależeć od przypadkowego położenia armatury.</p></div>
      <p class="rk-vessel-lead">Dopuszczalne ciśnienie końcowe musi pozostawać poniżej nastawy zaworu o wymaganą różnicę. Dlatego w kalkulatorze nie utożsamiamy <strong>pₑ</strong> z <strong>pₛᵥ</strong>. Równie ważna jest właściwa <a href="https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/">maksymalna temperatura zasilania podłogówki</a>.</p>
    </section>

    <section class="rk-vessel-section rk-vessel-section-soft" id="rk-vessel-service">
      <span class="rk-vessel-eyebrow">Diagnoza bez zgadywania</span>
      <h2 class="rk-vessel-section-title">Jak sprawdzić naczynie i rozpoznać usterkę?</h2>
      <p class="rk-vessel-lead">Odczyt manometru instalacji nie jest pomiarem ciśnienia wstępnego. Gaz sprawdza się po bezpiecznym odizolowaniu naczynia i sprowadzeniu ciśnienia po jego stronie wodnej do zera.</p>
      <div class="rk-vessel-grid-4">
        <article class="rk-vessel-card"><span class="rk-vessel-card-no">1</span><h3>Schłodź i wyłącz układ</h3><p>Zabezpiecz źródło i pompę zgodnie z procedurą serwisową. Nie pracuj na gorącej instalacji pod ciśnieniem.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-no">2</span><h3>Odizoluj naczynie</h3><p>Użyj właściwej armatury serwisowej i zabezpiecz układ. Nie pozostaw instalacji w trybie pracy bez czynnego zabezpieczenia.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-no">3</span><h3>Zredukuj stronę wodną do 0 bar</h3><p>Dopiero wtedy manometr po stronie gazowej pokazuje ciśnienie wstępne, które można porównać z projektem.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-no">4</span><h3>Przywróć rezerwę i napełnienie</h3><p>Po korekcie p₀ napełnij zimny układ do wyliczonego ciśnienia, odpowietrz i sprawdź szczelność oraz zakres pracy.</p></article>
      </div>
      <div class="rk-vessel-table-wrap">
        <table>
          <thead><tr><th>Objaw</th><th>Możliwa przyczyna</th><th>Co sprawdzić</th><th>Czego nie zakładać</th></tr></thead>
          <tbody>
            <tr><td data-label="Objaw"><strong>Duża różnica zimne–gorące</strong></td><td data-label="Możliwa przyczyna">Brak gazu, zbyt małe naczynie, błędne p₀ albo odcięte połączenie.</td><td data-label="Co sprawdzić">Zład, p₀ przy 0 bar po stronie wodnej, drożność i wynik doboru.</td><td data-label="Czego nie zakładać">Że samo dopuszczenie wody naprawi problem.</td></tr>
            <tr><td data-label="Objaw"><strong>Zrzut z zaworu bezpieczeństwa</strong></td><td data-label="Możliwa przyczyna">Brak pojemności użytkowej, przepełnienie, usterka zaworu lub nieprawidłowa praca źródła.</td><td data-label="Co sprawdzić">Ciśnienia, temperaturę, naczynie, zawór i zabezpieczenia źródła.</td><td data-label="Czego nie zakładać">Że każdy zrzut oznacza wyłącznie pękniętą membranę.</td></tr>
            <tr><td data-label="Objaw"><strong>Spadek ciśnienia po ostygnięciu</strong></td><td data-label="Możliwa przyczyna">Brak rezerwy, wyciek, odpowietrzanie, nieszczelny zawór lub błędna konfiguracja.</td><td data-label="Co sprawdzić">Szczelność, historię uzupełniania, naczynie i odpływ zaworu.</td><td data-label="Czego nie zakładać">Że układ zawsze trzeba ponownie napełnić.</td></tr>
            <tr><td data-label="Objaw"><strong>Woda po stronie gazowej</strong></td><td data-label="Możliwa przyczyna">Uszkodzona membrana albo niewłaściwie wykonany test.</td><td data-label="Co sprawdzić">Stan naczynia bez niekontrolowanego naciskania wentyla w gorącym układzie.</td><td data-label="Czego nie zakładać">Że wystarczy ponownie dopompować gaz.</td></tr>
          </tbody>
        </table>
      </div>
      <p class="rk-vessel-lead">Częste uzupełnianie świeżej wody zwiększa ilość tlenu i składników mogących pogarszać stan instalacji. Kryteria medium opisuje poradnik <a href="https://projekt-ogrzewania.pl/czym-napelnic-instalacje-ogrzewania-podlogowego/">czym napełnić instalację podłogówki</a>, a zagadnienie jakości wody rozwija materiał o <a href="https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/">wodzie demineralizowanej z inhibitorem</a>.</p>
    </section>

    <section class="rk-vessel-section" id="rk-vessel-errors">
      <span class="rk-vessel-eyebrow">Błędy projektowe i wykonawcze</span>
      <h2 class="rk-vessel-section-title">Najczęstsze błędy przy doborze naczynia wzbiorczego</h2>
      <div class="rk-vessel-grid-3">
        <article class="rk-vessel-card"><span class="rk-vessel-card-label">BŁĄD 1</span><h3>Stały procent zładu</h3><p>Nie uwzględnia zakresu ciśnień, temperatury, czynnika ani rezerwy. Może dać przypadkowo poprawny wynik, ale nie wyjaśnia dlaczego.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-label">BŁĄD 2</span><h3>Pominięcie bufora</h3><p>Duży zbiornik może zawierać więcej wody niż cała podłogówka. Nie wolno liczyć wyłącznie metrów rur.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-label">BŁĄD 3</span><h3>p₀ z fabrycznej naklejki</h3><p>Wartość dostawy trzeba porównać z wysokością i wymaganym ciśnieniem konkretnego układu.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-label">BŁĄD 4</span><h3>pₑ równe nastawie zaworu</h3><p>Brak rezerwy powoduje pracę zbyt blisko punktu zadziałania urządzenia bezpieczeństwa.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-label">BŁĄD 5</span><h3>Pomiar gazu przy ciśnieniu wody</h3><p>Odczyt nie pokazuje wtedy rzeczywistego ciśnienia wstępnego i prowadzi do błędnej korekty.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-label">BŁĄD 6</span><h3>Zwykły zawór odcinający</h3><p>Jedno przypadkowe zamknięcie pozbawia układ kompensacji rozszerzalności i może doprowadzić do zrzutu.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-label">BŁĄD 7</span><h3>Jedno naczynie przez zamkniętą armaturę</h3><p>Każdy stan pracy trzeba przeanalizować. Odseparowany fragment nie korzysta z naczynia pozostawionego po drugiej stronie zaworu.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-label">BŁĄD 8</span><h3>Glikol liczony jak woda</h3><p>Inny czynnik ma inną rozszerzalność i może wymagać innego materiału membrany oraz większej pojemności.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-label">BŁĄD 9</span><h3>„Większe rozwiąże wszystko”</h3><p>Duża pojemność nie naprawia niewłaściwego p₀, zablokowanego przewodu, błędnego miejsca wpięcia ani uszkodzonego zaworu.</p></article>
      </div>
      <p class="rk-vessel-lead">Przed napełnieniem i uruchomieniem trzeba również wykonać właściwą <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/">próbę szczelności ogrzewania podłogowego</a> oraz zapewnić skuteczne usuwanie powietrza i zanieczyszczeń. Temu służy poprawnie dobrany <a href="https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/">separator zanieczyszczeń i powietrza</a>.</p>
    </section>

    <section class="rk-vessel-section rk-vessel-section-soft" id="rk-vessel-final">
      <span class="rk-vessel-eyebrow">Wniosek projektowy</span>
      <h2 class="rk-vessel-section-title">Naczynie dobiera się do całego układu, nie do jednego urządzenia</h2>
      <p class="rk-vessel-lead">Prawidłowy wynik łączy zład, czynnik, temperaturę, wysokość, ciśnienie wstępne, rezerwę wodną, ciśnienie napełnienia oraz dopuszczalne ciśnienie końcowe. Następnie trzeba wskazać bezpieczne miejsce podłączenia i warunki serwisu.</p>
      <div class="rk-vessel-cta">
        <div class="rk-vessel-cta-title">Projekt łączy naczynie, pompę, źródło i odbiorniki w jeden sprawdzony schemat</div>
        <p>W dokumentacji określamy pojemności, przepływy, opory, nastawy i zależności pomiędzy obiegami. Dzięki temu naczynie nie jest przypadkowym dodatkiem do kotłowni, lecz elementem dopasowanym do rzeczywistego układu.</p>
        <a class="rk-vessel-cta-button" href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Zamów projekt ogrzewania podłogowego</a>
        <small class="rk-vessel-link-disclosure">Odnośnik prowadzi do płatnej usługi projektowej autora poradnika.</small>
      </div>
    </section>

    <section class="rk-vessel-section" id="rk-vessel-sources">
      <span class="rk-vessel-eyebrow">Podstawa techniczna</span>
      <h2 class="rk-vessel-section-title">Źródła oficjalne i zakres obliczeń</h2>
      <p class="rk-vessel-lead">Źródła dotyczą projektowania wodnych instalacji grzewczych, wymagań dla przeponowych naczyń wzbiorczych i urządzeń ciśnieniowych. Pełne zastosowanie wymaga dostępu do aktualnych dokumentów oraz danych konkretnego wyrobu.</p>
      <div class="rk-vessel-sources">
        <article class="rk-vessel-source"><a href="https://www.dinmedia.de/en/standard/din-en-12828/203258170" target="_blank" rel="nofollow noopener noreferrer">DIN EN 12828:2014-07 — projektowanie wodnych instalacji grzewczych</a><p>Oficjalna karta normy obejmującej kryteria projektowe, zabezpieczenia i wytyczne wymiarowania przeponowych naczyń w instalacjach zamkniętych.</p></article>
        <article class="rk-vessel-source"><a href="https://knowledge.bsigroup.com/products/heating-systems-in-buildings-design-for-water-based-heating-systems" target="_blank" rel="nofollow noopener noreferrer">BS EN 12828:2012+A1:2014 — BSI Knowledge</a><p>Oficjalna karta europejskiej normy dotyczącej źródeł, dystrybucji, odbiorników, regulacji i zabezpieczeń wodnych systemów grzewczych.</p></article>
        <article class="rk-vessel-source"><a href="https://knowledge.bsigroup.com/products/closed-expansion-vessels-with-built-in-diaphragm-for-installation-in-water" target="_blank" rel="nofollow noopener noreferrer">BS EN 13831:2007 — zamknięte naczynia z wbudowaną membraną</a><p>Oficjalna karta wymagań dotyczących projektowania, wytwarzania i badań zamkniętych naczyń przeponowych instalowanych w układach wodnych.</p></article>
        <article class="rk-vessel-source"><a href="https://eur-lex.europa.eu/legal-content/PL/TXT/?uri=CELEX:32014L0068" target="_blank" rel="nofollow noopener noreferrer">Dyrektywa 2014/68/UE — urządzenia ciśnieniowe</a><p>Oficjalny tekst wymagań dotyczących udostępniania na rynku urządzeń i zespołów ciśnieniowych.</p></article>
        <article class="rk-vessel-source"><a href="https://single-market-economy.ec.europa.eu/single-market/goods/european-standards/harmonised-standards/pressure-equipment_en" target="_blank" rel="nofollow noopener noreferrer">Komisja Europejska — normy zharmonizowane dla urządzeń ciśnieniowych</a><p>Oficjalne zestawienie odniesień do norm związanych z dyrektywą dotyczącą urządzeń ciśnieniowych.</p></article>
      </div>
      <div class="rk-vessel-responsibility"><p><strong>Zakres odpowiedzialności:</strong> kalkulator porządkuje dane i wykonuje obliczenie edukacyjne dla zamkniętej instalacji grzewczej. Nie projektuje układu otwartego, CWU, instalacji solarnej ani zabezpieczenia kotła na paliwo stałe. Nie potwierdza zgodności konkretnego naczynia, zaworu, źródła lub sposobu montażu.</p></div>
    </section>

    <section class="rk-vessel-section rk-vessel-section-soft" id="rk-vessel-faq">
      <span class="rk-vessel-eyebrow">Pytania inwestorów i wykonawców</span>
      <h2 class="rk-vessel-section-title">FAQ — naczynie wzbiorcze i ciśnienie instalacji</h2>
      <div class="rk-vessel-faq">
        <details><summary>Jaką pojemność naczynia wzbiorczego wybrać do podłogówki?</summary><div class="rk-vessel-faq-answer"><p>Nie da się jej wiarygodnie podać wyłącznie z powierzchni domu. Potrzebne są całkowita objętość czynnika, zakres temperatury, wysokość statyczna, ciśnienie wstępne, dopuszczalne ciśnienie końcowe i rezerwa wodna. Wynik zaokrągla się do większej dostępnej pojemności nominalnej.</p></div></details>
        <details><summary>Czy naczynie 8 lub 10 l w pompie ciepła wystarczy?</summary><div class="rk-vessel-faq-answer"><p>Tylko wtedy, gdy jego pojemność użytkowa przy właściwym ciśnieniu wstępnym wystarcza dla całego połączonego zładu. Bufor, długie przewody, grzejniki i pętle mogą wymagać dodatkowego naczynia.</p></div></details>
        <details><summary>Ile procent objętości instalacji powinno mieć naczynie?</summary><div class="rk-vessel-faq-answer"><p>Stały procent jest co najwyżej bardzo wstępnym oszacowaniem. Pojemność użytkowa zależy silnie od relacji ciśnienia wstępnego i końcowego, dlatego dwa budynki z takim samym zładem mogą wymagać innych naczyń.</p></div></details>
        <details><summary>Jak ustawić ciśnienie wstępne p₀?</summary><div class="rk-vessel-faq-answer"><p>Wyznacza się je z ciśnienia statycznego i wymaganego zapasu nad najwyższym punktem instalacji. Kontrolę wykonuje się przy zerowym ciśnieniu po stronie wodnej naczynia. Fabryczna wartość jest ustawieniem dostawy, a nie projektem Twojego budynku.</p></div></details>
        <details><summary>Czy ciśnienie napełnienia powinno być równe p₀?</summary><div class="rk-vessel-faq-answer"><p>Nie. Zimna instalacja powinna wprowadzić do naczynia wymaganą rezerwę wody, dlatego ciśnienie napełnienia musi być odpowiednio wyższe od ciśnienia gazu. Kalkulator pokazuje minimalną wartość dla dobranej pojemności.</p></div></details>
        <details><summary>Czy przy zaworze bezpieczeństwa 3 bar można przyjąć pₑ = 3 bar?</summary><div class="rk-vessel-faq-answer"><p>Nie należy utożsamiać dopuszczalnego ciśnienia końcowego z nastawą zaworu. Projekt musi pozostawić właściwą różnicę, aby normalne nagrzanie instalacji nie powodowało zrzutu.</p></div></details>
        <details><summary>Gdzie zamontować naczynie względem pompy obiegowej?</summary><div class="rk-vessel-faq-answer"><p>Miejsce wynika ze schematu i oczekiwanego rozkładu ciśnienia. Często naczynie łączy się po stronie ssawnej pompy, w punkcie stałego ciśnienia. Przy kilku pompach, buforze lub sprzęgle nie wolno wybierać miejsca tylko na podstawie hasła „na powrocie”.</p></div></details>
        <details><summary>Czy można zamontować zawór odcinający przed naczyniem?</summary><div class="rk-vessel-faq-answer"><p>Zwykła armatura umożliwiająca przypadkowe odcięcie jest niebezpieczna. Do serwisu stosuje się rozwiązanie przeznaczone do tego celu i zabezpieczone przed niezamierzonym zamknięciem, zgodnie z projektem oraz wymaganiami instalacji.</p></div></details>
        <details><summary>Dlaczego ciśnienie rośnie prawie do 3 bar po nagrzaniu?</summary><div class="rk-vessel-faq-answer"><p>Możliwe przyczyny to zbyt mała pojemność użytkowa naczynia, utrata gazu, zbyt wysokie lub niskie p₀, przepełnienie zimnej instalacji, pęknięta membrana albo odcięte połączenie. Trzeba sprawdzić cały układ, nie tylko dopompować naczynie.</p></div></details>
        <details><summary>Jak zmierzyć ciśnienie gazu w naczyniu?</summary><div class="rk-vessel-faq-answer"><p>Po bezpiecznym odizolowaniu naczynia i sprowadzeniu jego strony wodnej do 0 bar. Pomiar przy ciśnieniu instalacji pokazuje stan równowagi z wodą, a nie rzeczywiste ciśnienie wstępne.</p></div></details>
        <details><summary>Czy naczynie z wymienną membraną jest zawsze lepsze?</summary><div class="rk-vessel-faq-answer"><p>Nie zawsze. Ułatwia określony zakres napraw, ale liczą się również dopuszczalne parametry, jakość membrany, zgodność z medium, przestrzeń montażowa, dostęp serwisowy i ekonomika wymiany całego urządzenia.</p></div></details>
        <details><summary>Czy do glikolu można użyć wyniku obliczonego dla wody?</summary><div class="rk-vessel-faq-answer"><p>Nie bez weryfikacji. Mieszaniny mają inną rozszerzalność, zależną od rodzaju, stężenia i temperatury, a materiał membrany musi być z nimi zgodny. W kalkulatorze trzeba wpisać współczynnik z dokumentacji konkretnego czynnika.</p></div></details>
        <details><summary>Czy większe naczynie może zaszkodzić instalacji?</summary><div class="rk-vessel-faq-answer"><p>Prawidłowo dobrane większe naczynie zwykle nie tworzy problemu bezpieczeństwa, ale zajmuje miejsce i zwiększa koszt. Nie naprawia błędnego p₀, niedrożnego przewodu, niewłaściwego miejsca podłączenia ani źle dobranego zaworu bezpieczeństwa.</p></div></details>
        <details><summary>Czy kalkulator zastępuje projekt?</summary><div class="rk-vessel-faq-answer"><p>Nie. Oblicza pojemność dla podanych danych i wskazuje niespójności. Projekt musi jeszcze potwierdzić objętość instalacji, stany pracy, miejsce wpięcia, przewód przyłączeniowy, zabezpieczenia źródła oraz parametry konkretnego naczynia.</p></div></details>
      </div>
    </section>

    <section class="rk-vessel-section" id="rk-vessel-author" aria-labelledby="rk-vessel-author-heading">
      <div class="rk-vessel-author">
        <div class="rk-vessel-author-head">
          <div>
            <span class="rk-vessel-eyebrow">E-E-A-T i odpowiedzialność za treść</span>
            <h2 class="rk-vessel-author-title" id="rk-vessel-author-heading">Autor i weryfikacja merytoryczna</h2>
            <p>Treść przygotowana z perspektywy projektowania instalacji, stabilności ciśnienia, bezpieczeństwa źródła i późniejszego serwisu.</p>
          </div>
          <span class="rk-vessel-author-mark">Aktualizacja: 16.09.2026</span>
        </div>
        <div class="rk-vessel-author-layout">
          <aside class="rk-vessel-author-side">
            <div class="rk-vessel-author-photo"><img src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski — projektant instalacji sanitarnych" width="400" height="400" loading="lazy" decoding="async"></div>
            <div class="rk-vessel-author-name"><a href="https://projekt-ogrzewania.pl/author/admin3399/">Robert Kucharski</a></div>
            <p class="rk-vessel-author-role">Projektant instalacji sanitarnych<br>specjalista HVAC i ogrzewania podłogowego</p>
            <div class="rk-vessel-author-social-label">Profile branżowe</div>
            <div class="rk-vessel-author-social" aria-label="Profile branżowe Roberta Kucharskiego">
              <a href="https://www.linkedin.com/in/robert-kucharski-b8b906199/" target="_blank" rel="nofollow noopener noreferrer me" aria-label="LinkedIn Roberta Kucharskiego"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M6.5 8.2H3.2V21h3.3V8.2ZM4.85 3A1.92 1.92 0 1 0 4.9 6.84 1.92 1.92 0 0 0 4.85 3ZM21 13.66c0-3.86-2.06-5.66-4.81-5.66a4.14 4.14 0 0 0-3.75 2.06V8.2H9.12V21h3.32v-6.34c0-1.67.32-3.29 2.39-3.29 2.04 0 2.07 1.91 2.07 3.4V21H21v-7.34Z"></path></svg></a>
              <a href="https://www.facebook.com/projektogrzewaniapl" target="_blank" rel="nofollow noopener noreferrer me" aria-label="Projekt Ogrzewania na Facebooku"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M14 8.5V7c0-.74.5-.92.85-.92H17V3.13L14.05 3C11.13 3 10.47 5.16 10.47 6.55V8.5H8v3.36h2.47V21H14v-9.14h2.7l.44-3.36H14Z"></path></svg></a>
              <a href="https://x.com/Projekt_HVAC" target="_blank" rel="nofollow noopener noreferrer me" aria-label="Projekt HVAC w serwisie X"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M18.9 3H22l-6.77 7.74L23.2 21h-6.24l-4.89-6.39L6.49 21H3.38l7.24-8.28L2.98 3h6.4l4.42 5.84L18.9 3Zm-1.09 16.2h1.72L8.44 4.7H6.59l11.22 14.5Z"></path></svg></a>
            </div>
          </aside>
          <div class="rk-vessel-author-main">
            <blockquote class="rk-vessel-author-quote"><p>Moim zdaniem największym błędem jest dobieranie naczynia z tabeli „do mocy kotła” i pozostawienie fabrycznego ciśnienia bez pomiaru. Naczynie zaczyna działać poprawnie dopiero wtedy, gdy jego pojemność, ciśnienie wstępne, napełnienie i miejsce wpięcia odpowiadają rzeczywistemu układowi.</p></blockquote>
            <div class="rk-vessel-author-cards">
              <div class="rk-vessel-author-card"><b>Praktyka projektowa</b><p>OZC, zład, źródło, bufor, obiegi, pompy, zabezpieczenia oraz hydraulika ogrzewania podłogowego.</p></div>
              <div class="rk-vessel-author-card"><b>Metoda</b><p>Rozdzielenie rozszerzalności czynnika, rezerwy wodnej i użytecznego zakresu ciśnień zamiast stałego procentu.</p></div>
              <div class="rk-vessel-author-card"><b>Zakres aktualizacji</b><p>Nowy kalkulator, moduł sześciu parametrów, korekta wzorów i zasad montażu oraz rozbudowane FAQ.</p></div>
            </div>
            <div class="rk-vessel-author-mini-label">Portale autora</div>
            <div class="rk-vessel-portals">
              <a href="https://projekt-ogrzewania.pl/">Projekt-Ogrzewania.pl</a>
              <a href="https://remont.biz.pl/" target="_blank" rel="nofollow noopener noreferrer">Remont.biz.pl</a>
              <a href="https://sobir.pl/" target="_blank" rel="nofollow noopener noreferrer">Sobir.pl</a>
            </div>
          </div>
        </div>
      </div>
    </section>
  </div>
</article>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "WebSite",
      "@id": "https://projekt-ogrzewania.pl/#website",
      "url": "https://projekt-ogrzewania.pl/",
      "name": "Projekt Ogrzewania",
      "publisher": { "@id": "https://projekt-ogrzewania.pl/#organization" },
      "inLanguage": "pl-PL"
    },
    {
      "@type": "Organization",
      "@id": "https://projekt-ogrzewania.pl/#organization",
      "name": "Projekt-Ogrzewania.pl",
      "url": "https://projekt-ogrzewania.pl/",
      "founder": { "@id": "https://projekt-ogrzewania.pl/#robert-kucharski" },
      "sameAs": [
        "https://www.facebook.com/projektogrzewaniapl",
        "https://x.com/Projekt_HVAC"
      ]
    },
    {
      "@type": "Organization",
      "@id": "https://remont.biz.pl/#organization",
      "name": "Remont.biz.pl",
      "url": "https://remont.biz.pl/",
      "founder": { "@id": "https://projekt-ogrzewania.pl/#robert-kucharski" }
    },
    {
      "@type": "Organization",
      "@id": "https://sobir.pl/#organization",
      "name": "Sobir.pl",
      "url": "https://sobir.pl/",
      "founder": { "@id": "https://projekt-ogrzewania.pl/#robert-kucharski" }
    },
    {
      "@type": "Person",
      "@id": "https://projekt-ogrzewania.pl/#robert-kucharski",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/author/admin3399/",
      "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
      "jobTitle": "Projektant instalacji sanitarnych i specjalista HVAC",
      "knowsAbout": [
        "naczynia wzbiorcze",
        "wodne instalacje grzewcze",
        "ogrzewanie podłogowe",
        "hydraulika instalacji grzewczych",
        "zabezpieczenia ciśnieniowe",
        "dobór pomp obiegowych"
      ],
      "worksFor": [
        { "@id": "https://projekt-ogrzewania.pl/#organization" },
        { "@id": "https://remont.biz.pl/#organization" },
        { "@id": "https://sobir.pl/#organization" }
      ],
      "sameAs": [
        "https://www.linkedin.com/in/robert-kucharski-b8b906199/",
        "https://www.facebook.com/projektogrzewaniapl",
        "https://x.com/Projekt_HVAC"
      ]
    },
    {
      "@type": "ImageObject",
      "@id": "https://projekt-ogrzewania.pl/naczynie-wzbiorcze/#primaryimage",
      "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/01/Naczynie-wzbiorcze.webp",
      "contentUrl": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/01/Naczynie-wzbiorcze.webp",
      "caption": "Naczynie wzbiorcze w zamkniętej instalacji grzewczej"
    },
    {
      "@type": "BreadcrumbList",
      "@id": "https://projekt-ogrzewania.pl/naczynie-wzbiorcze/#breadcrumb",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Strona główna",
          "item": "https://projekt-ogrzewania.pl/"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Poradniki",
          "item": "https://projekt-ogrzewania.pl/blog/"
        },
        {
          "@type": "ListItem",
          "position": 3,
          "name": "Naczynie wzbiorcze",
          "item": "https://projekt-ogrzewania.pl/naczynie-wzbiorcze/"
        }
      ]
    },
    {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/naczynie-wzbiorcze/#webpage",
      "url": "https://projekt-ogrzewania.pl/naczynie-wzbiorcze/",
      "name": "Naczynie wzbiorcze – dobór, ciśnienie i kalkulator pojemności",
      "description": "Kalkulator pojemności naczynia wzbiorczego oraz poradnik o zładzie instalacji, rozszerzalności wody, ciśnieniu wstępnym i zaworze bezpieczeństwa.",
      "isPartOf": { "@id": "https://projekt-ogrzewania.pl/#website" },
      "breadcrumb": { "@id": "https://projekt-ogrzewania.pl/naczynie-wzbiorcze/#breadcrumb" },
      "primaryImageOfPage": { "@id": "https://projekt-ogrzewania.pl/naczynie-wzbiorcze/#primaryimage" },
      "datePublished": "2026-01-20T10:25:49+00:00",
      "dateModified": "2026-09-16T12:00:00+02:00",
      "inLanguage": "pl-PL",
      "mainEntity": { "@id": "https://projekt-ogrzewania.pl/naczynie-wzbiorcze/#article" }
    },
    {
      "@type": "TechArticle",
      "@id": "https://projekt-ogrzewania.pl/naczynie-wzbiorcze/#article",
      "mainEntityOfPage": { "@id": "https://projekt-ogrzewania.pl/naczynie-wzbiorcze/#webpage" },
      "headline": "Naczynie wzbiorcze – dobór, ciśnienie i kalkulator pojemności",
      "description": "Techniczny przewodnik doboru przeponowego naczynia wzbiorczego do zamkniętej instalacji grzewczej z interaktywnym kalkulatorem.",
      "image": { "@id": "https://projekt-ogrzewania.pl/naczynie-wzbiorcze/#primaryimage" },
      "author": { "@id": "https://projekt-ogrzewania.pl/#robert-kucharski" },
      "publisher": { "@id": "https://projekt-ogrzewania.pl/#organization" },
      "datePublished": "2026-01-20T10:25:49+00:00",
      "dateModified": "2026-09-16T12:00:00+02:00",
      "inLanguage": "pl-PL",
      "about": [
        "naczynie wzbiorcze",
        "naczynie przeponowe",
        "ciśnienie wstępne",
        "objętość instalacji grzewczej",
        "zawór bezpieczeństwa",
        "ogrzewanie podłogowe"
      ],
      "keywords": "naczynie wzbiorcze kalkulator, dobór naczynia przeponowego, ciśnienie wstępne naczynia, pojemność instalacji, zawór bezpieczeństwa",
      "isAccessibleForFree": true,
      "hasPart": [
        { "@id": "https://projekt-ogrzewania.pl/naczynie-wzbiorcze/#calculator" },
        { "@id": "https://projekt-ogrzewania.pl/naczynie-wzbiorcze/#howto" },
        { "@id": "https://projekt-ogrzewania.pl/naczynie-wzbiorcze/#pressure-list" },
        { "@id": "https://projekt-ogrzewania.pl/naczynie-wzbiorcze/#faq-schema" }
      ]
    },
    {
      "@type": "WebApplication",
      "@id": "https://projekt-ogrzewania.pl/naczynie-wzbiorcze/#calculator",
      "name": "Kalkulator pojemności naczynia wzbiorczego",
      "url": "https://projekt-ogrzewania.pl/naczynie-wzbiorcze/#rk-vessel-calculator-section",
      "applicationCategory": "UtilitiesApplication",
      "operatingSystem": "Dowolny system z nowoczesną przeglądarką internetową",
      "browserRequirements": "JavaScript",
      "isAccessibleForFree": true,
      "inLanguage": "pl-PL",
      "description": "Kalkulator szacuje zład, rozszerzalność czynnika, rezerwę wodną, minimalną pojemność przeponowego naczynia i najbliższy większy rozmiar nominalny.",
      "featureList": [
        "pomocnik objętości rur i elementów",
        "obliczenie rozszerzalności wody",
        "własny współczynnik dla innego czynnika",
        "kontrola ciśnienia statycznego i wstępnego",
        "rezerwa przed zaworem bezpieczeństwa",
        "dobór większej pojemności nominalnej",
        "walidacja niespójnych danych"
      ],
      "creator": { "@id": "https://projekt-ogrzewania.pl/#robert-kucharski" },
      "publisher": { "@id": "https://projekt-ogrzewania.pl/#organization" }
    },
    {
      "@type": "HowTo",
      "@id": "https://projekt-ogrzewania.pl/naczynie-wzbiorcze/#howto",
      "name": "Jak dobrać naczynie wzbiorcze do zamkniętej instalacji grzewczej",
      "description": "Procedura od ustalenia zładu i temperatury do doboru pojemności, ustawienia ciśnienia oraz sprawdzenia miejsca podłączenia.",
      "totalTime": "PT25M",
      "step": [
        { "@type": "HowToStep", "position": 1, "name": "Ustal zakres chronionej instalacji", "text": "Określ wszystkie obiegi i elementy hydraulicznie połączone z naczyniem w każdym stanie pracy." },
        { "@type": "HowToStep", "position": 2, "name": "Oblicz całkowitą objętość czynnika", "text": "Zsumuj rury, źródło, bufor, sprzęgło, rozdzielacze, grzejniki i przewody główne." },
        { "@type": "HowToStep", "position": 3, "name": "Określ czynnik i temperatury", "text": "Ustal temperaturę napełnienia, maksymalną temperaturę projektową i przyrost objętości właściwy dla czynnika." },
        { "@type": "HowToStep", "position": 4, "name": "Wyznacz wysokość i ciśnienie wstępne", "text": "Zmierz wysokość statyczną i dobierz ciśnienie gazu zapewniające wymagane ciśnienie w najwyższym punkcie." },
        { "@type": "HowToStep", "position": 5, "name": "Ustal dopuszczalne ciśnienie końcowe", "text": "Pozostaw wymaganą różnicę pomiędzy ciśnieniem gorącej instalacji a nastawą zaworu bezpieczeństwa." },
        { "@type": "HowToStep", "position": 6, "name": "Dodaj rezerwę i oblicz minimum", "text": "Uwzględnij objętość rozszerzenia, rezerwę wodną i pojemność użytkową wynikającą z zakresu ciśnień." },
        { "@type": "HowToStep", "position": 7, "name": "Dobierz większy rozmiar i zweryfikuj montaż", "text": "Wybierz większą pojemność nominalną oraz sprawdź dopuszczalne parametry, miejsce podłączenia i warunki serwisu." }
      ]
    },
    {
      "@type": "ItemList",
      "@id": "https://projekt-ogrzewania.pl/naczynie-wzbiorcze/#pressure-list",
      "name": "Parametry ciśnieniowe potrzebne do doboru naczynia wzbiorczego",
      "numberOfItems": 6,
      "itemListElement": [
        { "@type": "ListItem", "position": 1, "name": "Wysokość statyczna" },
        { "@type": "ListItem", "position": 2, "name": "Ciśnienie statyczne" },
        { "@type": "ListItem", "position": 3, "name": "Ciśnienie wstępne p₀" },
        { "@type": "ListItem", "position": 4, "name": "Ciśnienie napełnienia pₐ" },
        { "@type": "ListItem", "position": 5, "name": "Ciśnienie końcowe pₑ" },
        { "@type": "ListItem", "position": 6, "name": "Nastawa zaworu bezpieczeństwa pₛᵥ" }
      ]
    },
    {
      "@type": "Service",
      "@id": "https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/#service",
      "name": "Indywidualny projekt ogrzewania podłogowego",
      "url": "https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/",
      "provider": { "@id": "https://projekt-ogrzewania.pl/#organization" },
      "areaServed": { "@type": "Country", "name": "Polska" },
      "serviceType": "Projekt instalacji ogrzewania podłogowego",
      "description": "Projekt instalacji obejmujący obciążenie cieplne, rozmieszczenie i podział pętli, przepływy, hydraulikę i dane potrzebne do konfiguracji układu grzewczego."
    },
    {
      "@type": "FAQPage",
      "@id": "https://projekt-ogrzewania.pl/naczynie-wzbiorcze/#faq-schema",
      "mainEntity": [
        {
          "@type": "Question",
          "name": "Jaką pojemność naczynia wzbiorczego wybrać do podłogówki?",
          "acceptedAnswer": { "@type": "Answer", "text": "Nie da się jej wiarygodnie podać wyłącznie z powierzchni domu. Potrzebne są całkowita objętość czynnika, zakres temperatury, wysokość statyczna, ciśnienie wstępne, dopuszczalne ciśnienie końcowe i rezerwa wodna. Wynik zaokrągla się do większej dostępnej pojemności nominalnej." }
        },
        {
          "@type": "Question",
          "name": "Czy naczynie 8 lub 10 l w pompie ciepła wystarczy?",
          "acceptedAnswer": { "@type": "Answer", "text": "Tylko wtedy, gdy jego pojemność użytkowa przy właściwym ciśnieniu wstępnym wystarcza dla całego połączonego zładu. Bufor, długie przewody, grzejniki i pętle mogą wymagać dodatkowego naczynia." }
        },
        {
          "@type": "Question",
          "name": "Ile procent objętości instalacji powinno mieć naczynie?",
          "acceptedAnswer": { "@type": "Answer", "text": "Stały procent jest co najwyżej bardzo wstępnym oszacowaniem. Pojemność użytkowa zależy silnie od relacji ciśnienia wstępnego i końcowego, dlatego dwa budynki z takim samym zładem mogą wymagać innych naczyń." }
        },
        {
          "@type": "Question",
          "name": "Jak ustawić ciśnienie wstępne p₀?",
          "acceptedAnswer": { "@type": "Answer", "text": "Wyznacza się je z ciśnienia statycznego i wymaganego zapasu nad najwyższym punktem instalacji. Kontrolę wykonuje się przy zerowym ciśnieniu po stronie wodnej naczynia. Fabryczna wartość jest ustawieniem dostawy, a nie projektem budynku." }
        },
        {
          "@type": "Question",
          "name": "Czy ciśnienie napełnienia powinno być równe p₀?",
          "acceptedAnswer": { "@type": "Answer", "text": "Nie. Zimna instalacja powinna wprowadzić do naczynia wymaganą rezerwę wody, dlatego ciśnienie napełnienia musi być odpowiednio wyższe od ciśnienia gazu." }
        },
        {
          "@type": "Question",
          "name": "Czy przy zaworze bezpieczeństwa 3 bar można przyjąć pₑ równe 3 bar?",
          "acceptedAnswer": { "@type": "Answer", "text": "Nie należy utożsamiać dopuszczalnego ciśnienia końcowego z nastawą zaworu. Projekt musi pozostawić właściwą różnicę, aby normalne nagrzanie instalacji nie powodowało zrzutu." }
        },
        {
          "@type": "Question",
          "name": "Gdzie zamontować naczynie względem pompy obiegowej?",
          "acceptedAnswer": { "@type": "Answer", "text": "Miejsce wynika ze schematu i oczekiwanego rozkładu ciśnienia. Często naczynie łączy się po stronie ssawnej pompy, w punkcie stałego ciśnienia. Przy kilku pompach, buforze lub sprzęgle potrzebna jest analiza stanów pracy." }
        },
        {
          "@type": "Question",
          "name": "Czy można zamontować zawór odcinający przed naczyniem?",
          "acceptedAnswer": { "@type": "Answer", "text": "Zwykła armatura umożliwiająca przypadkowe odcięcie jest niebezpieczna. Do serwisu stosuje się rozwiązanie przeznaczone do tego celu i zabezpieczone przed niezamierzonym zamknięciem." }
        },
        {
          "@type": "Question",
          "name": "Dlaczego ciśnienie rośnie prawie do 3 bar po nagrzaniu?",
          "acceptedAnswer": { "@type": "Answer", "text": "Możliwe przyczyny to zbyt mała pojemność użytkowa naczynia, utrata gazu, błędne ciśnienie wstępne, przepełnienie zimnej instalacji, pęknięta membrana albo odcięte połączenie." }
        },
        {
          "@type": "Question",
          "name": "Jak zmierzyć ciśnienie gazu w naczyniu?",
          "acceptedAnswer": { "@type": "Answer", "text": "Po bezpiecznym odizolowaniu naczynia i sprowadzeniu jego strony wodnej do 0 bar. Pomiar przy ciśnieniu instalacji nie pokazuje rzeczywistego ciśnienia wstępnego." }
        },
        {
          "@type": "Question",
          "name": "Czy naczynie z wymienną membraną jest zawsze lepsze?",
          "acceptedAnswer": { "@type": "Answer", "text": "Nie zawsze. Ułatwia określony zakres napraw, ale liczą się również dopuszczalne parametry, jakość membrany, zgodność z medium, przestrzeń montażowa, dostęp serwisowy i ekonomika." }
        },
        {
          "@type": "Question",
          "name": "Czy do glikolu można użyć wyniku obliczonego dla wody?",
          "acceptedAnswer": { "@type": "Answer", "text": "Nie bez weryfikacji. Mieszaniny mają inną rozszerzalność zależną od rodzaju, stężenia i temperatury, a materiał membrany musi być z nimi zgodny." }
        },
        {
          "@type": "Question",
          "name": "Czy większe naczynie może zaszkodzić instalacji?",
          "acceptedAnswer": { "@type": "Answer", "text": "Prawidłowo dobrane większe naczynie zwykle nie tworzy problemu bezpieczeństwa, ale zajmuje miejsce i zwiększa koszt. Nie naprawia błędnego ciśnienia, niedrożnego przewodu ani niewłaściwego miejsca podłączenia." }
        },
        {
          "@type": "Question",
          "name": "Czy kalkulator zastępuje projekt?",
          "acceptedAnswer": { "@type": "Answer", "text": "Nie. Oblicza pojemność dla podanych danych i wskazuje niespójności. Projekt musi potwierdzić objętość instalacji, stany pracy, miejsce wpięcia, zabezpieczenia źródła oraz parametry konkretnego naczynia." }
        }
      ]
    }
  ]
}
</script>

<script>
(function () {
  "use strict";

  var guide = document.getElementById("rk-vessel-guide");
  if (!guide) {
    return;
  }

  function byId(id) {
    return document.getElementById(id);
  }

  function numeric(id) {
    var field = byId(id);
    var value = 0;
    if (field) {
      value = parseFloat(String(field.value).replace(",", "."));
    }
    if (!isFinite(value)) {
      return 0;
    }
    return value;
  }

  function formatNumber(value, decimals) {
    if (!isFinite(value)) {
      return "—";
    }
    return value.toFixed(decimals).replace(".", ",");
  }

  var pressureData = {
    height: {
      label: "Wysokość statyczna",
      title: "Od przyłącza naczynia do najwyższego punktu",
      summary: "Mierzymy pionową różnicę poziomów, a nie długość rur. To ona tworzy ciśnienie hydrostatyczne w punkcie podłączenia naczynia.",
      how: "Zmierz wysokość pomiędzy króćcem naczynia a najwyżej położonym elementem instalacji.",
      use: "Do ustalenia minimalnego ciśnienia i kontroli zabezpieczenia przed zasysaniem powietrza.",
      error: "Liczenie długości przewodów albo liczby kondygnacji bez zmierzenia rzeczywistej różnicy poziomów."
    },
    static: {
      label: "Ciśnienie statyczne",
      title: "Ciśnienie słupa czynnika w punkcie naczynia",
      summary: "W przybliżeniu każdy metr wysokości wody odpowiada około 0,098 bar. Wynik zależy od różnicy poziomów, nie od mocy źródła.",
      how: "Pomnóż wysokość statyczną w metrach przez około 0,098 bar/m.",
      use: "Jest punktem wyjścia do ustalenia minimalnego ciśnienia i ciśnienia wstępnego.",
      error: "Mylenie go z odczytem manometru pracującej instalacji albo z ciśnieniem pompy."
    },
    precharge: {
      label: "Ciśnienie wstępne p₀",
      title: "Ciśnienie gazu przy zerowym ciśnieniu po stronie wodnej",
      summary: "To nastawa komory gazowej przed napełnieniem. Decyduje, kiedy woda zacznie wchodzić do naczynia i jaka część jego pojemności będzie użyteczna.",
      how: "Zmierz manometrem po odizolowaniu naczynia i obniżeniu ciśnienia strony wodnej do 0 bar.",
      use: "Do obliczenia pojemności użytkowej oraz minimalnego ciśnienia napełnienia.",
      error: "Pomiar bez opróżnienia strony wodnej albo pozostawienie ustawienia fabrycznego bez porównania z budynkiem."
    },
    fill: {
      label: "Ciśnienie napełnienia pₐ",
      title: "Stan zimnej, odpowietrzonej instalacji",
      summary: "Musi być wyższe od p₀ na tyle, aby w naczyniu znalazła się obliczona rezerwa wody. Zrównanie obu wartości pozostawia naczynie praktycznie puste.",
      how: "Ustal je po dobraniu nominalnej pojemności i wymaganej rezerwy wodnej.",
      use: "Zapewnia stabilność zimnego układu i zapas na niewielkie zmiany objętości lub straty.",
      error: "Napełnianie zawsze do przypadkowej wartości 1,5 bar, niezależnie od wysokości i p₀."
    },
    final: {
      label: "Ciśnienie końcowe pₑ",
      title: "Dopuszczalne ciśnienie przy maksymalnej temperaturze",
      summary: "To górna granica normalnej pracy używana do doboru pojemności naczynia. Musi pozostawać poniżej nastawy zaworu bezpieczeństwa.",
      how: "Wyznacz z nastawy zaworu po odjęciu wymaganej różnicy zabezpieczającej.",
      use: "Wraz z p₀ określa, jaką część nominalnej objętości naczynia można wykorzystać.",
      error: "Przyjmowanie pₑ równego nastawie zaworu bezpieczeństwa."
    },
    safety: {
      label: "Nastawa zaworu pₛᵥ",
      title: "Granica zadziałania urządzenia bezpieczeństwa",
      summary: "Zawór ma chronić instalację przed nadmiernym ciśnieniem, a nie cyklicznie odprowadzać wodę podczas każdego nagrzania.",
      how: "Odczytaj nastawę z projektu i oznaczenia zaworu właściwego dla źródła oraz instalacji.",
      use: "Wyznacza najwyższą granicę, poniżej której musi pozostać ciśnienie końcowe.",
      error: "Traktowanie zaworu jako elementu regulacyjnego, spustowego albo odpowietrzającego."
    }
  };

  var pressureButtons = guide.querySelectorAll("[data-rk-pressure]");

  function showPressure(key) {
    var data = pressureData[key];
    if (!data) {
      return;
    }
    byId("rk-vessel-pressure-label").textContent = data.label;
    byId("rk-vessel-pressure-title").textContent = data.title;
    byId("rk-vessel-pressure-summary").textContent = data.summary;
    byId("rk-vessel-pressure-how").textContent = data.how;
    byId("rk-vessel-pressure-use").textContent = data.use;
    byId("rk-vessel-pressure-error").textContent = data.error;
    pressureButtons.forEach(function (button) {
      var selected = button.getAttribute("data-rk-pressure") === key;
      button.setAttribute("aria-selected", selected ? "true" : "false");
    });
  }

  pressureButtons.forEach(function (button) {
    button.addEventListener("click", function () {
      showPressure(button.getAttribute("data-rk-pressure"));
    });
  });

  var densityTable = [
    { t: 4, d: 999.97 },
    { t: 10, d: 999.70 },
    { t: 20, d: 998.21 },
    { t: 30, d: 995.65 },
    { t: 40, d: 992.22 },
    { t: 50, d: 988.04 },
    { t: 60, d: 983.20 },
    { t: 70, d: 977.76 },
    { t: 80, d: 971.80 },
    { t: 90, d: 965.31 },
    { t: 100, d: 958.35 }
  ];

  function waterDensity(temp) {
    var first = densityTable[0];
    var last = densityTable[densityTable.length - 1];
    var i;
    if (temp <= first.t) {
      return first.d;
    }
    if (temp >= last.t) {
      return last.d;
    }
    for (i = 0; i < densityTable.length - 1; i += 1) {
      var low = densityTable[i];
      var high = densityTable[i + 1];
      if (temp >= low.t) {
        if (temp <= high.t) {
          var fraction = (temp - low.t) / (high.t - low.t);
          return low.d + ((high.d - low.d) * fraction);
        }
      }
    }
    return last.d;
  }

  function helperVolume() {
    return (numeric("rk-vessel-pipe16") * 0.113) +
      (numeric("rk-vessel-pipe17") * 0.133) +
      (numeric("rk-vessel-pipe20") * 0.201) +
      numeric("rk-vessel-source-volume") +
      numeric("rk-vessel-buffer-volume") +
      numeric("rk-vessel-other-volume");
  }

  function updateHelperTotal() {
    byId("rk-vessel-helper-total").textContent = formatNumber(helperVolume(), 1) + " l";
  }

  function updateVolumeMode() {
    var mode = byId("rk-vessel-volume-mode").value;
    byId("rk-vessel-known-box").hidden = mode !== "known";
    byId("rk-vessel-helper-box").hidden = mode !== "helper";
    updateHelperTotal();
  }

  function updateFluidMode() {
    var fluid = byId("rk-vessel-fluid").value;
    byId("rk-vessel-custom-field").hidden = fluid !== "custom";
  }

  function reserveForSize(size, systemVolume) {
    if (size < 15) {
      return size * 0.20;
    }
    return Math.max(3, systemVolume * 0.005);
  }

  function requiredSize(expansionVolume, reserve, precharge, finalPressure) {
    var pressureRange = finalPressure - precharge;
    if (pressureRange <= 0) {
      return 0;
    }
    return (expansionVolume + reserve) * (finalPressure + 1) / pressureRange;
  }

  function chooseNominalSize(expansionVolume, systemVolume, precharge, finalPressure) {
    var sizes = [8, 12, 18, 24, 25, 35, 50, 60, 80, 100, 140, 200, 250, 300, 400, 500, 600, 800, 1000, 1500, 2000, 3000, 5000];
    var i;
    for (i = 0; i < sizes.length; i += 1) {
      var candidate = sizes[i];
      var reserve = reserveForSize(candidate, systemVolume);
      var minimum = requiredSize(expansionVolume, reserve, precharge, finalPressure);
      if (candidate >= minimum) {
        return { nominal: candidate, reserve: reserve, minimum: minimum };
      }
    }
    var largeReserve = Math.max(3, systemVolume * 0.005);
    var largeMinimum = requiredSize(expansionVolume, largeReserve, precharge, finalPressure);
    var customNominal = Math.ceil(largeMinimum / 100) * 100;
    return { nominal: customNominal, reserve: largeReserve, minimum: largeMinimum };
  }

  function renderList(id, items, emptyText) {
    var list = byId(id);
    list.textContent = "";
    if (items.length === 0) {
      var empty = document.createElement("li");
      empty.textContent = emptyText;
      list.appendChild(empty);
      return;
    }
    items.forEach(function (text) {
      var item = document.createElement("li");
      item.textContent = text;
      list.appendChild(item);
    });
  }

  function clearOutputs() {
    var ids = [
      "rk-vessel-out-system",
      "rk-vessel-out-expansion-pct",
      "rk-vessel-out-expansion-volume",
      "rk-vessel-out-reserve",
      "rk-vessel-out-minimum",
      "rk-vessel-out-selected",
      "rk-vessel-out-fill-pressure",
      "rk-vessel-out-existing",
      "rk-vessel-out-static",
      "rk-vessel-out-precharge",
      "rk-vessel-out-final",
      "rk-vessel-out-safety"
    ];
    ids.forEach(function (id) {
      byId(id).textContent = "—";
    });
    byId("rk-vessel-pressure-fill").style.width = "0%";
  }

  function calculate() {
    var result = byId("rk-vessel-result");
    var status = byId("rk-vessel-result-status");
    var intro = byId("rk-vessel-result-intro");
    var checks = [];
    var warnings = [];
    var fatal = [];
    var mode = byId("rk-vessel-volume-mode").value;
    var systemVolume = mode === "known" ? numeric("rk-vessel-known-volume") : helperVolume();
    var existing = mode === "known" ? numeric("rk-vessel-existing") : numeric("rk-vessel-existing-helper");
    var fluid = byId("rk-vessel-fluid").value;
    var fillTemp = numeric("rk-vessel-fill-temp");
    var maxTemp = numeric("rk-vessel-max-temp");
    var height = numeric("rk-vessel-height");
    var precharge = numeric("rk-vessel-precharge");
    var safetyPressure = numeric("rk-vessel-safety-pressure");
    var safetyMargin = numeric("rk-vessel-safety-margin");
    var finalPressure = safetyPressure - safetyMargin;
    var staticPressure = height * 0.0981;
    var suggestedPrecharge = staticPressure + 0.2;
    var expansionPercent = 0;

    result.classList.remove("is-good");
    result.classList.remove("is-stop");

    if (systemVolume <= 0) {
      fatal.push("Całkowita objętość instalacji musi być większa od zera.");
    }
    if (maxTemp <= fillTemp) {
      fatal.push("Maksymalna temperatura musi być wyższa od temperatury napełnienia.");
    }
    if (precharge <= 0) {
      fatal.push("Ciśnienie wstępne musi być większe od zera.");
    }
    if (safetyPressure <= 0) {
      fatal.push("Podaj dodatnią nastawę zaworu bezpieczeństwa.");
    }
    if (safetyMargin <= 0) {
      fatal.push("Rezerwa przed zaworem bezpieczeństwa musi być większa od zera.");
    }
    if (finalPressure <= precharge) {
      fatal.push("Ciśnienie końcowe po odjęciu rezerwy musi być wyższe od p₀.");
    }

    if (fluid === "water") {
      var fillDensity = waterDensity(fillTemp);
      var maxDensity = waterDensity(maxTemp);
      expansionPercent = ((fillDensity / maxDensity) - 1) * 100;
    } else {
      expansionPercent = numeric("rk-vessel-custom-expansion");
      if (expansionPercent <= 0) {
        fatal.push("Podaj dodatni przyrost objętości wybranego czynnika.");
      }
      checks.push("Potwierdź współczynnik rozszerzalności i zgodność membrany z dokładną mieszaniną.");
    }

    if (fatal.length > 0) {
      result.classList.add("is-stop");
      status.textContent = "Nie można wykonać obliczenia";
      intro.textContent = "Popraw dane krytyczne wskazane poniżej.";
      clearOutputs();
      renderList("rk-vessel-check-list", checks, "Po poprawieniu danych sprawdź dokumentację naczynia.");
      renderList("rk-vessel-warning-list", fatal, "Brak ostrzeżeń.");
      return;
    }

    var expansionVolume = systemVolume * expansionPercent / 100;
    var selection = chooseNominalSize(expansionVolume, systemVolume, precharge, finalPressure);
    var fillPressureMin = (selection.nominal * (precharge + 1) / (selection.nominal - selection.reserve)) - 1;
    var useFactor = (finalPressure - precharge) / (finalPressure + 1) * 100;

    if (precharge < suggestedPrecharge - 0.05) {
      warnings.push("p₀ jest niższe od orientacyjnego minimum wynikającego z wysokości i zapasu 0,2 bar.");
    }
    if (precharge > suggestedPrecharge + 0.3) {
      warnings.push("p₀ jest wyraźnie wyższe od wartości wynikającej z wysokości; zmniejsza to użyteczną pojemność naczynia.");
    }
    if (safetyMargin < safetyPressure * 0.10) {
      warnings.push("Rezerwa przed zaworem jest mniejsza niż 10% jego nastawy; potwierdź ją w projekcie.");
    }
    if (selection.nominal <= selection.reserve) {
      warnings.push("Rezerwa wodna jest zbyt duża względem dobranej pojemności.");
    }
    if (fillPressureMin >= finalPressure) {
      warnings.push("Minimalne ciśnienie napełnienia zbliża się do ciśnienia końcowego; zakres pracy jest zbyt mały.");
    }
    if (mode === "helper") {
      checks.push("Uzupełnij oszacowanie o rzeczywiste pojemności rozdzielaczy, armatury i urządzeń.");
    } else {
      checks.push("Potwierdź, że podany zład obejmuje wszystkie hydraulicznie połączone obiegi.");
    }
    checks.push("Minimalne p₀ z wysokości wynosi orientacyjnie " + formatNumber(suggestedPrecharge, 2) + " bar.");
    checks.push("Pojemność użytkowa przy podanym zakresie ciśnień wynosi około " + formatNumber(useFactor, 1) + "% objętości nominalnej.");
    checks.push("Zweryfikuj dopuszczalne ciśnienie, temperaturę membrany, medium i orientację montażu konkretnego naczynia.");
    checks.push("Dobór nominalny oznacza zaokrąglenie do typowego większego rozmiaru; oferta konkretnej serii może być inna.");

    byId("rk-vessel-out-system").textContent = formatNumber(systemVolume, 1) + " l";
    byId("rk-vessel-out-expansion-pct").textContent = formatNumber(expansionPercent, 2) + "%";
    byId("rk-vessel-out-expansion-volume").textContent = formatNumber(expansionVolume, 2) + " l";
    byId("rk-vessel-out-reserve").textContent = formatNumber(selection.reserve, 2) + " l";
    byId("rk-vessel-out-minimum").textContent = formatNumber(selection.minimum, 2) + " l";
    byId("rk-vessel-out-selected").textContent = formatNumber(selection.nominal, 0) + " l";
    byId("rk-vessel-out-fill-pressure").textContent = formatNumber(fillPressureMin, 2) + " bar";
    byId("rk-vessel-out-static").textContent = formatNumber(staticPressure, 2) + " bar";
    byId("rk-vessel-out-precharge").textContent = formatNumber(precharge, 2) + " bar";
    byId("rk-vessel-out-final").textContent = formatNumber(finalPressure, 2) + " bar";
    byId("rk-vessel-out-safety").textContent = formatNumber(safetyPressure, 2) + " bar";

    if (existing <= 0) {
      byId("rk-vessel-out-existing").textContent = "nie podano";
    } else {
      if (existing >= selection.minimum) {
        byId("rk-vessel-out-existing").textContent = "może wystarczyć*";
        checks.push("Istniejące naczynie ma wystarczającą pojemność nominalną tylko przy zgodnym p₀ i prawidłowym połączeniu.");
      } else {
        var shortfall = selection.minimum - existing;
        byId("rk-vessel-out-existing").textContent = "za małe o ≥ " + formatNumber(shortfall, 1) + " l*";
        warnings.push("Podane istniejące naczynie nie osiąga obliczeniowego minimum nominalnego.");
      }
    }

    var scaleWidth = finalPressure / safetyPressure * 100;
    if (scaleWidth < 0) {
      scaleWidth = 0;
    }
    if (scaleWidth > 100) {
      scaleWidth = 100;
    }
    byId("rk-vessel-pressure-fill").style.width = formatNumber(scaleWidth, 1).replace(",", ".") + "%";

    if (warnings.length > 0) {
      result.classList.add("is-stop");
      status.textContent = "Wynik warunkowy: " + formatNumber(selection.nominal, 0) + " l";
      intro.textContent = "Kalkulator wyznaczył pojemność, ale dane zawierają warunki wymagające korekty lub potwierdzenia.";
    } else {
      result.classList.add("is-good");
      status.textContent = "Dobór orientacyjny: " + formatNumber(selection.nominal, 0) + " l";
      intro.textContent = "Dla podanych założeń jest to najbliższa większa pojemność z listy typowych rozmiarów.";
    }

    renderList("rk-vessel-check-list", checks, "Brak dodatkowych pozycji.");
    renderList("rk-vessel-warning-list", warnings, "Nie wykryto niespójności w podanych zależnościach.");
  }

  function restoreExample() {
    byId("rk-vessel-volume-mode").value = "known";
    byId("rk-vessel-known-volume").value = "200";
    byId("rk-vessel-existing").value = "0";
    byId("rk-vessel-pipe16").value = "800";
    byId("rk-vessel-pipe17").value = "0";
    byId("rk-vessel-pipe20").value = "0";
    byId("rk-vessel-source-volume").value = "8";
    byId("rk-vessel-buffer-volume").value = "80";
    byId("rk-vessel-other-volume").value = "20";
    byId("rk-vessel-existing-helper").value = "0";
    byId("rk-vessel-fluid").value = "water";
    byId("rk-vessel-custom-expansion").value = "2.00";
    byId("rk-vessel-fill-temp").value = "10";
    byId("rk-vessel-max-temp").value = "55";
    byId("rk-vessel-height").value = "5";
    byId("rk-vessel-precharge").value = "0.7";
    byId("rk-vessel-safety-pressure").value = "3";
    byId("rk-vessel-safety-margin").value = "0.3";
    updateVolumeMode();
    updateFluidMode();
    calculate();
  }

  byId("rk-vessel-volume-mode").addEventListener("change", updateVolumeMode);
  byId("rk-vessel-fluid").addEventListener("change", updateFluidMode);
  byId("rk-vessel-run").addEventListener("click", calculate);
  byId("rk-vessel-reset").addEventListener("click", restoreExample);

  var helperFields = guide.querySelectorAll("#rk-vessel-helper-box input");
  helperFields.forEach(function (field) {
    field.addEventListener("input", updateHelperTotal);
  });

  updateVolumeMode();
  updateFluidMode();
  showPressure("height");
  calculate();
}());
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/naczynie-wzbiorcze/">Naczynie wzbiorcze – dobór, ciśnienie i kalkulator pojemności.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Termostat w ogrzewaniu podłogowym – jaki wybrać i jak ustawić sterowanie?</title>
		<link>https://projekt-ogrzewania.pl/termostat-w-ogrzewaniu-podlogowym/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Fri, 16 Jan 2026 08:54:43 +0000</pubDate>
				<category><![CDATA[Budowa domu]]></category>
		<category><![CDATA[Energooszczędność]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Porady budowlane]]></category>
		<category><![CDATA[Projektowanie instalacji]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Projektowanie ogrzewania]]></category>
		<category><![CDATA[Smart home]]></category>
		<category><![CDATA[Sterowanie ogrzewaniem]]></category>
		<category><![CDATA[Technika grzewcza]]></category>
		<category><![CDATA[Technika instalacyjna]]></category>
		<category><![CDATA[czujnik podłogowy]]></category>
		<category><![CDATA[ogrzewanie podłogowe wodne]]></category>
		<category><![CDATA[projekt ogrzewania podłogowego]]></category>
		<category><![CDATA[regulacja temperatury]]></category>
		<category><![CDATA[siłowniki termoelektryczne]]></category>
		<category><![CDATA[smart home ogrzewanie]]></category>
		<category><![CDATA[sterowanie podłogówką]]></category>
		<category><![CDATA[strefy grzewcze]]></category>
		<category><![CDATA[termostat ogrzewania podłogowego]]></category>
		<category><![CDATA[termostat pokojowy]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=3186</guid>

					<description><![CDATA[<p>Prawidłowo dobrany i skonfigurowany termostat w ogrzewaniu podłogowym ma kluczowy wpływ nie tylko na komfort cieplny, ale również na zdrowie domowników i realne koszty eksploatacji budynku. W przypadku wodnej podłogówki, która charakteryzuje się dużą bezwładnością cieplną, sterowanie temperaturą wymaga wiedzy i przemyślanych decyzji. W artykule szczegółowo omawiamy zasady działania termostatów, ich rodzaje, parametry techniczne oraz powiązanie z projektem ogrzewania podłogowego – zarówno z perspektywy inwestora, jak i instalatora.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/termostat-w-ogrzewaniu-podlogowym/">Termostat w ogrzewaniu podłogowym – jaki wybrać i jak ustawić sterowanie?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
  #rk-thermostat-guide {
    --rk-dark: #102536;
    --rk-navy: #15384d;
    --rk-blue: #078fbe;
    --rk-cyan: #25c7d8;
    --rk-cyan-soft: #e9fbfe;
    --rk-orange: #ff6a3d;
    --rk-orange-soft: #fff1eb;
    --rk-green: #16836b;
    --rk-green-soft: #eaf8f3;
    --rk-yellow: #d69a16;
    --rk-yellow-soft: #fff8df;
    --rk-red: #d94b3d;
    --rk-red-soft: #fff0ee;
    --rk-purple: #695ac9;
    --rk-purple-soft: #f1efff;
    --rk-ink: #1f2c37;
    --rk-text: #475967;
    --rk-muted: #6b7e8a;
    --rk-line: #d5e4eb;
    --rk-soft: #f4f9fb;
    --rk-white: #ffffff;
    width: 100%;
    max-width: 1180px;
    margin: 34px auto 72px;
    color: var(--rk-ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 18px;
    line-height: 1.75;
  }
  #rk-thermostat-guide,
  #rk-thermostat-guide * { box-sizing: border-box; }
  #rk-thermostat-guide img,
  #rk-thermostat-guide svg { max-width: 100%; }
  #rk-thermostat-guide button,
  #rk-thermostat-guide input,
  #rk-thermostat-guide select,
  #rk-thermostat-guide label,
  #rk-thermostat-guide summary,
  #rk-thermostat-guide a { font: inherit; -webkit-tap-highlight-color: transparent; }
  #rk-thermostat-guide button,
  #rk-thermostat-guide input,
  #rk-thermostat-guide select { max-width: 100%; }
  #rk-thermostat-guide a {
    color: var(--rk-blue);
    font-weight: 780;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
  }
  #rk-thermostat-guide a:hover,
  #rk-thermostat-guide a:focus-visible { color: var(--rk-red); }
  #rk-thermostat-guide p,
  #rk-thermostat-guide ul,
  #rk-thermostat-guide ol { margin-top: 0; margin-bottom: 1.08em; }
  #rk-thermostat-guide h2,
  #rk-thermostat-guide h3,
  #rk-thermostat-guide h4 {
    margin-top: 0;
    color: var(--rk-dark);
    font-weight: 920;
    letter-spacing: -.035em;
    line-height: 1.15;
    overflow-wrap: anywhere;
  }
  #rk-thermostat-guide h2 { margin-bottom: 18px; font-size: clamp(1.72rem, 4vw, 2.68rem); }
  #rk-thermostat-guide h3 { margin-bottom: 11px; font-size: clamp(1.12rem, 2.35vw, 1.46rem); }
  #rk-thermostat-guide h4 { margin-bottom: 8px; font-size: 1.02rem; }
  #rk-thermostat-guide strong { color: var(--rk-dark); }
  #rk-thermostat-guide [hidden] { display: none !important; }

  #rk-thermostat-guide .rk-th-shell {
    overflow: hidden;
    border: 1px solid var(--rk-line);
    border-radius: 26px;
    background: var(--rk-white);
    box-shadow: 0 24px 70px rgba(16, 37, 54, .11);
  }
  #rk-thermostat-guide .rk-th-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(38px, 7vw, 78px) clamp(25px, 6vw, 76px) 42px;
    color: var(--rk-white);
    background:
      radial-gradient(circle at 91% 4%, rgba(37, 199, 216, .31), transparent 28%),
      radial-gradient(circle at 8% 100%, rgba(255, 106, 61, .24), transparent 30%),
      linear-gradient(135deg, #0d2332 0%, #143e53 55%, #175b62 100%);
  }
  #rk-thermostat-guide .rk-th-hero::after {
    position: absolute;
    right: -55px;
    bottom: -120px;
    width: 350px;
    height: 350px;
    border: 46px solid rgba(255, 255, 255, .05);
    border-radius: 50%;
    content: "";
  }
  #rk-thermostat-guide .rk-th-kicker {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 15px;
    color: #78efff;
    font-size: .69rem;
    font-weight: 950;
    letter-spacing: .09em;
    line-height: 1.2;
    text-transform: uppercase;
  }
  #rk-thermostat-guide .rk-th-kicker::before {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--rk-orange);
    box-shadow: 0 0 0 6px rgba(255, 106, 61, .14);
    content: "";
  }
  #rk-thermostat-guide .rk-th-hero-title {
    position: relative;
    z-index: 1;
    max-width: 1030px;
    margin: 0 0 21px;
    color: var(--rk-white);
    font-size: clamp(2.25rem, 7.5vw, 5.15rem);
    font-weight: 950;
    letter-spacing: -.065em;
    line-height: .98;
  }
  #rk-thermostat-guide .rk-th-hero-title span { color: #67e7f5; }
  #rk-thermostat-guide .rk-th-lead {
    position: relative;
    z-index: 1;
    max-width: 960px;
    margin-bottom: 24px;
    color: #e2f2f5;
    font-size: clamp(1rem, 2.2vw, 1.3rem);
    line-height: 1.55;
  }
  #rk-thermostat-guide .rk-th-hero-tags,
  #rk-thermostat-guide .rk-th-byline {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 9px 12px;
  }
  #rk-thermostat-guide .rk-th-hero-tag {
    padding: 8px 13px;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 999px;
    color: var(--rk-white);
    background: rgba(255, 255, 255, .07);
    font-size: .67rem;
    font-weight: 850;
    line-height: 1.2;
  }
  #rk-thermostat-guide .rk-th-byline {
    margin-top: 27px;
    color: #cae0e6;
    font-size: .68rem;
    font-weight: 720;
  }
  #rk-thermostat-guide .rk-th-byline strong { color: var(--rk-white); }
  #rk-thermostat-guide .rk-th-hero-metrics {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 28px;
  }
  #rk-thermostat-guide .rk-th-hero-metric {
    min-width: 0;
    padding: 17px;
    border: 1px solid rgba(255, 255, 255, .17);
    border-radius: 14px;
    background: rgba(255, 255, 255, .065);
  }
  #rk-thermostat-guide .rk-th-hero-metric b {
    display: block;
    margin-bottom: 4px;
    color: var(--rk-white);
    font-size: .73rem;
  }
  #rk-thermostat-guide .rk-th-hero-metric span {
    display: block;
    color: #c8e0e6;
    font-size: .64rem;
    line-height: 1.48;
  }

  #rk-thermostat-guide .rk-th-nav {
    display: block;
    padding: 18px clamp(20px, 4vw, 46px);
    border-bottom: 1px solid var(--rk-line);
    background: var(--rk-white);
  }
  #rk-thermostat-guide .rk-th-nav-label {
    display: block;
    margin-bottom: 9px;
    color: var(--rk-dark);
    font-size: .62rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
  }
  #rk-thermostat-guide .rk-th-nav-track {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    width: 100%;
    min-width: 0;
    white-space: normal;
  }
  #rk-thermostat-guide .rk-th-nav a {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    max-width: 100%;
    padding: 8px 12px;
    border-radius: 999px;
    color: var(--rk-dark);
    background: #f0f6f8;
    font-size: .64rem;
    font-weight: 900;
    line-height: 1.2;
    text-decoration: none;
    white-space: normal;
  }
  #rk-thermostat-guide .rk-th-nav a:hover,
  #rk-thermostat-guide .rk-th-nav a:focus-visible {
    color: var(--rk-white);
    background: var(--rk-blue);
  }

  #rk-thermostat-guide .rk-th-content { padding: 0 clamp(20px, 5.4vw, 64px) 64px; }
  #rk-thermostat-guide .rk-th-section {
    padding: clamp(42px, 7vw, 76px) 0;
    border-bottom: 1px solid var(--rk-line);
    scroll-margin-top: 18px;
  }
  #rk-thermostat-guide .rk-th-eyebrow {
    display: block;
    margin-bottom: 10px;
    color: var(--rk-blue);
    font-size: .68rem;
    font-weight: 950;
    letter-spacing: .075em;
    text-transform: uppercase;
  }
  #rk-thermostat-guide .rk-th-intro {
    max-width: 940px;
    color: var(--rk-text);
    font-size: 1.08rem;
  }
  #rk-thermostat-guide .rk-th-answer,
  #rk-thermostat-guide .rk-th-note,
  #rk-thermostat-guide .rk-th-warning,
  #rk-thermostat-guide .rk-th-success {
    margin: 25px 0;
    padding: 22px 23px;
    border-radius: 16px;
  }
  #rk-thermostat-guide .rk-th-answer { border-left: 6px solid var(--rk-cyan); background: var(--rk-cyan-soft); }
  #rk-thermostat-guide .rk-th-note { border-left: 6px solid var(--rk-blue); background: var(--rk-soft); }
  #rk-thermostat-guide .rk-th-warning { border-left: 6px solid var(--rk-orange); background: var(--rk-orange-soft); }
  #rk-thermostat-guide .rk-th-success { border-left: 6px solid var(--rk-green); background: var(--rk-green-soft); }
  #rk-thermostat-guide .rk-th-answer p,
  #rk-thermostat-guide .rk-th-note p,
  #rk-thermostat-guide .rk-th-warning p,
  #rk-thermostat-guide .rk-th-success p { margin: 0; }

  #rk-thermostat-guide .rk-th-grid-2,
  #rk-thermostat-guide .rk-th-grid-3,
  #rk-thermostat-guide .rk-th-grid-4 {
    display: grid;
    gap: 15px;
    margin: 25px 0;
  }
  #rk-thermostat-guide .rk-th-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #rk-thermostat-guide .rk-th-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #rk-thermostat-guide .rk-th-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  #rk-thermostat-guide .rk-th-card {
    min-width: 0;
    padding: 21px;
    border: 1px solid var(--rk-line);
    border-top: 5px solid var(--rk-cyan);
    border-radius: 16px;
    background: var(--rk-white);
  }
  #rk-thermostat-guide .rk-th-card.is-orange { border-top-color: var(--rk-orange); }
  #rk-thermostat-guide .rk-th-card.is-green { border-top-color: var(--rk-green); }
  #rk-thermostat-guide .rk-th-card.is-purple { border-top-color: var(--rk-purple); }
  #rk-thermostat-guide .rk-th-card-icon {
    display: grid;
    place-items: center;
    width: 39px;
    height: 39px;
    margin-bottom: 13px;
    border-radius: 11px;
    color: var(--rk-white);
    background: var(--rk-blue);
    font-size: .72rem;
    font-weight: 950;
  }
  #rk-thermostat-guide .rk-th-card.is-orange .rk-th-card-icon { background: var(--rk-orange); }
  #rk-thermostat-guide .rk-th-card.is-green .rk-th-card-icon { background: var(--rk-green); }
  #rk-thermostat-guide .rk-th-card.is-purple .rk-th-card-icon { background: var(--rk-purple); }
  #rk-thermostat-guide .rk-th-card h3 { font-size: 1.08rem; }
  #rk-thermostat-guide .rk-th-card p { margin-bottom: 0; color: var(--rk-text); font-size: .83rem; }

  #rk-thermostat-guide .rk-th-list,
  #rk-thermostat-guide .rk-th-checklist {
    display: grid;
    gap: 10px;
    margin: 23px 0;
    padding: 0;
    list-style: none;
  }
  #rk-thermostat-guide .rk-th-checklist { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #rk-thermostat-guide .rk-th-list li,
  #rk-thermostat-guide .rk-th-checklist li {
    position: relative;
    min-width: 0;
    margin: 0;
    padding: 13px 14px 13px 46px;
    border: 1px solid var(--rk-line);
    border-radius: 12px;
    background: var(--rk-soft);
  }
  #rk-thermostat-guide .rk-th-list li::before,
  #rk-thermostat-guide .rk-th-checklist li::before {
    position: absolute;
    top: 13px;
    left: 15px;
    color: var(--rk-green);
    content: "✓";
    font-weight: 950;
  }

  #rk-thermostat-guide .rk-th-flow {
    counter-reset: rk-th-step;
    display: grid;
    gap: 10px;
    margin: 24px 0;
    padding: 0;
    list-style: none;
  }
  #rk-thermostat-guide .rk-th-flow li {
    position: relative;
    min-height: 66px;
    margin: 0;
    padding: 15px 16px 15px 66px;
    border: 1px solid var(--rk-line);
    border-radius: 13px;
    background: var(--rk-soft);
  }
  #rk-thermostat-guide .rk-th-flow li::before {
    position: absolute;
    top: 13px;
    left: 15px;
    display: grid;
    place-items: center;
    width: 37px;
    height: 37px;
    border-radius: 10px;
    color: var(--rk-white);
    background: var(--rk-blue);
    counter-increment: rk-th-step;
    content: counter(rk-th-step);
    font-size: .72rem;
    font-weight: 950;
  }

  #rk-thermostat-guide .rk-th-table-wrap {
    overflow-x: auto;
    margin: 25px 0;
    border: 1px solid var(--rk-line);
    border-radius: 16px;
    background: var(--rk-white);
  }
  #rk-thermostat-guide table { width: 100%; min-width: 680px; border-collapse: collapse; }
  #rk-thermostat-guide th,
  #rk-thermostat-guide td { padding: 15px 16px; border-right: 1px solid var(--rk-line); border-bottom: 1px solid var(--rk-line); text-align: left; vertical-align: top; }
  #rk-thermostat-guide th:last-child,
  #rk-thermostat-guide td:last-child { border-right: 0; }
  #rk-thermostat-guide tbody tr:last-child td { border-bottom: 0; }
  #rk-thermostat-guide th { color: var(--rk-white); background: var(--rk-navy); font-size: .73rem; }
  #rk-thermostat-guide td { color: var(--rk-text); font-size: .78rem; }
  #rk-thermostat-guide td strong { display: block; margin-bottom: 3px; }

  #rk-thermostat-guide .rk-th-formula {
    margin: 24px 0;
    padding: 22px;
    border: 1px solid var(--rk-line);
    border-radius: 15px;
    text-align: center;
    background: var(--rk-soft);
  }
  #rk-thermostat-guide .rk-th-formula strong { display: block; color: var(--rk-blue); font-size: clamp(1.1rem, 2.7vw, 1.55rem); }
  #rk-thermostat-guide .rk-th-formula span { display: block; margin-top: 6px; color: var(--rk-muted); font-size: .7rem; }

  #rk-thermostat-guide .rk-th-tool {
    overflow: hidden;
    margin-top: 28px;
    border-radius: 22px;
    color: var(--rk-white);
    background: #102a3a;
    box-shadow: 0 24px 55px rgba(16, 37, 54, .18);
  }
  #rk-thermostat-guide .rk-th-tool-head {
    padding: 25px clamp(19px, 4vw, 34px);
    background: linear-gradient(110deg, #143b50, #176377);
  }
  #rk-thermostat-guide .rk-th-tool-head h3 { margin-bottom: 6px; color: var(--rk-white); font-size: clamp(1.35rem, 3vw, 2rem); }
  #rk-thermostat-guide .rk-th-tool-head p { margin: 0; color: #d8eef3; font-size: .78rem; }
  #rk-thermostat-guide .rk-th-tool-body { padding: clamp(18px, 4vw, 32px); }
  #rk-thermostat-guide .rk-th-tool-step {
    margin-bottom: 18px;
    padding: 20px;
    border: 1px solid rgba(136, 202, 220, .26);
    border-radius: 16px;
    background: rgba(255, 255, 255, .035);
  }
  #rk-thermostat-guide .rk-th-tool-step:last-child { margin-bottom: 0; }
  #rk-thermostat-guide .rk-th-tool-step-title { display: flex; gap: 12px; align-items: center; margin-bottom: 16px; }
  #rk-thermostat-guide .rk-th-tool-step-title b {
    display: grid;
    place-items: center;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    border-radius: 11px;
    color: #06222e;
    background: var(--rk-cyan);
    font-size: .8rem;
  }
  #rk-thermostat-guide .rk-th-tool-step-title h4 { margin: 0; color: var(--rk-white); }
  #rk-thermostat-guide .rk-th-control-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 13px;
  }
  #rk-thermostat-guide .rk-th-control {
    min-width: 0;
    padding: 16px;
    border: 1px solid rgba(136, 202, 220, .25);
    border-radius: 14px;
    background: rgba(255, 255, 255, .04);
  }
  #rk-thermostat-guide .rk-th-control.is-critical { border-left: 4px solid var(--rk-orange); }
  #rk-thermostat-guide .rk-th-control label {
    display: block;
    min-height: 48px;
    margin-bottom: 8px;
    color: #e8f6fa;
    font-size: .68rem;
    font-weight: 880;
    line-height: 1.42;
  }
  #rk-thermostat-guide .rk-th-control select {
    width: 100%;
    min-height: 48px;
    padding: 10px 12px;
    border: 1px solid #b8cbd3;
    border-radius: 10px;
    color: var(--rk-dark);
    background: var(--rk-white);
    font-size: .75rem;
    font-weight: 740;
  }
  #rk-thermostat-guide .rk-th-control select:focus {
    outline: 3px solid rgba(37, 199, 216, .25);
    border-color: var(--rk-cyan);
  }
  #rk-thermostat-guide .rk-th-tool-button {
    display: inline-flex;
    justify-content: center;
    min-height: 50px;
    margin-top: 16px;
    padding: 12px 20px;
    border: 0;
    border-radius: 12px;
    color: #092332;
    background: var(--rk-cyan);
    box-shadow: 0 12px 28px rgba(37, 199, 216, .2);
    cursor: pointer;
    font-weight: 920;
  }
  #rk-thermostat-guide .rk-th-tool-button:hover,
  #rk-thermostat-guide .rk-th-tool-button:focus-visible { background: #72e9f5; }
  #rk-thermostat-guide .rk-th-routes {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 11px;
    margin: 18px 0;
  }
  #rk-thermostat-guide .rk-th-route {
    min-width: 0;
    padding: 17px;
    border: 1px solid rgba(136, 202, 220, .24);
    border-radius: 14px;
    opacity: .56;
    background: rgba(255, 255, 255, .035);
    transition: opacity .2s ease, border-color .2s ease, transform .2s ease;
  }
  #rk-thermostat-guide .rk-th-route::before {
    display: block;
    width: 42px;
    height: 7px;
    margin-bottom: 13px;
    border-radius: 999px;
    background: #5e7f8e;
    content: "";
  }
  #rk-thermostat-guide .rk-th-route.is-active {
    border-color: var(--rk-cyan);
    opacity: 1;
    background: rgba(37, 199, 216, .09);
    transform: translateY(-3px);
  }
  #rk-thermostat-guide .rk-th-route.is-active::before { background: var(--rk-cyan); }
  #rk-thermostat-guide .rk-th-route.is-warning.is-active { border-color: #ffd568; background: rgba(214, 154, 22, .11); }
  #rk-thermostat-guide .rk-th-route.is-warning.is-active::before { background: #ffd568; }
  #rk-thermostat-guide .rk-th-route b { display: block; color: var(--rk-white); font-size: .73rem; }
  #rk-thermostat-guide .rk-th-route span { display: block; margin-top: 6px; color: #bcd7e1; font-size: .61rem; line-height: 1.46; }
  #rk-thermostat-guide .rk-th-result {
    padding: 22px;
    border: 1px solid rgba(136, 202, 220, .27);
    border-radius: 16px;
    background: rgba(255, 255, 255, .045);
  }
  #rk-thermostat-guide .rk-th-result-kicker {
    display: block;
    margin-bottom: 6px;
    color: #78efff;
    font-size: .59rem;
    font-weight: 950;
    letter-spacing: .065em;
    text-transform: uppercase;
  }
  #rk-thermostat-guide .rk-th-result h4 { margin-bottom: 8px; color: var(--rk-white); font-size: 1.28rem; }
  #rk-thermostat-guide .rk-th-result > p { color: #d3e7ed; font-size: .73rem; }
  #rk-thermostat-guide .rk-th-schematic {
    display: grid;
    grid-template-columns: minmax(120px, .75fr) 34px minmax(130px, .9fr) 34px minmax(0, 1.15fr);
    gap: 10px;
    align-items: stretch;
    margin: 18px 0;
  }
  #rk-thermostat-guide .rk-th-schematic-box {
    display: grid;
    place-items: center;
    min-width: 0;
    min-height: 78px;
    padding: 15px;
    border: 1px solid rgba(136, 202, 220, .3);
    border-radius: 13px;
    color: var(--rk-white);
    text-align: center;
    background: #17384a;
    font-size: .67rem;
    font-weight: 900;
    line-height: 1.42;
  }
  #rk-thermostat-guide .rk-th-schematic-box.is-source { border-top: 5px solid var(--rk-orange); }
  #rk-thermostat-guide .rk-th-schematic-box.is-room { border-top: 5px solid var(--rk-cyan); }
  #rk-thermostat-guide .rk-th-schematic-box.is-output { border-top: 5px solid var(--rk-green); }
  #rk-thermostat-guide .rk-th-arrow { display: grid; place-items: center; color: var(--rk-cyan); font-size: 1.35rem; font-weight: 950; }
  #rk-thermostat-guide .rk-th-output-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px;
    margin-top: 16px;
  }
  #rk-thermostat-guide .rk-th-output {
    min-width: 0;
    padding: 16px;
    border: 1px solid rgba(136, 202, 220, .24);
    border-radius: 13px;
    background: rgba(255, 255, 255, .035);
  }
  #rk-thermostat-guide .rk-th-output h4 { margin-bottom: 8px; color: var(--rk-white); font-size: .82rem; }
  #rk-thermostat-guide .rk-th-output ul { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
  #rk-thermostat-guide .rk-th-output li {
    position: relative;
    margin: 0;
    padding: 8px 9px 8px 31px;
    border-radius: 8px;
    color: #d9eaf0;
    background: rgba(255, 255, 255, .04);
    font-size: .64rem;
    line-height: 1.45;
  }
  #rk-thermostat-guide .rk-th-output li::before {
    position: absolute;
    top: 8px;
    left: 10px;
    color: var(--rk-cyan);
    content: "✓";
    font-weight: 950;
  }
  #rk-thermostat-guide .rk-th-output.is-check li::before { color: #ffd568; content: "!"; }
  #rk-thermostat-guide .rk-th-tool-note {
    margin: 16px 0 0;
    padding: 13px 15px;
    border-left: 4px solid #ffd568;
    border-radius: 10px;
    color: #fff0c4;
    background: rgba(214, 154, 22, .13);
    font-size: .66rem;
    line-height: 1.5;
  }
  #rk-thermostat-guide .rk-th-tool-note strong { color: #fff7dd; }

  #rk-thermostat-guide .rk-th-sales-cta {
    margin: 0 0 18px;
    padding: clamp(25px, 5vw, 42px);
    border-radius: 20px;
    color: var(--rk-white);
    background:
      radial-gradient(circle at 90% 10%, rgba(37, 199, 216, .25), transparent 30%),
      linear-gradient(125deg, #102536, #17566a);
  }
  #rk-thermostat-guide .rk-th-sales-cta h3 { margin-bottom: 10px; color: var(--rk-white); font-size: clamp(1.35rem, 3vw, 2rem); }
  #rk-thermostat-guide .rk-th-sales-cta p { max-width: 900px; color: #d6e9ee; }
  #rk-thermostat-guide .rk-th-cta-limits {
    margin-bottom: 20px;
    padding: 15px 17px;
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 13px;
    color: #e8f6fa;
    background: rgba(255, 255, 255, .055);
  }
  #rk-thermostat-guide .rk-th-cta-limits strong { color: var(--rk-white); }
  #rk-thermostat-guide .rk-th-cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 13px 20px;
    border-radius: 12px;
    color: var(--rk-white);
    background: var(--rk-orange);
    box-shadow: 0 14px 30px rgba(255, 106, 61, .22);
    font-weight: 930;
    line-height: 1.25;
    text-decoration: none;
  }
  #rk-thermostat-guide .rk-th-cta-button:hover,
  #rk-thermostat-guide .rk-th-cta-button:focus-visible { color: var(--rk-white); background: #e9552d; }

  #rk-thermostat-guide .rk-th-faq { display: grid; gap: 11px; }
  #rk-thermostat-guide .rk-th-faq details { overflow: hidden; border: 1px solid var(--rk-line); border-radius: 13px; background: var(--rk-white); }
  #rk-thermostat-guide .rk-th-faq summary {
    position: relative;
    padding: 17px 54px 17px 18px;
    color: var(--rk-dark);
    cursor: pointer;
    font-weight: 880;
    list-style: none;
  }
  #rk-thermostat-guide .rk-th-faq summary::-webkit-details-marker { display: none; }
  #rk-thermostat-guide .rk-th-faq summary::after {
    position: absolute;
    top: 50%;
    right: 17px;
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    color: var(--rk-blue);
    background: var(--rk-cyan-soft);
    content: "+";
    transform: translateY(-50%);
    font-weight: 950;
  }
  #rk-thermostat-guide .rk-th-faq details[open] summary::after { content: "−"; }
  #rk-thermostat-guide .rk-th-faq-answer { padding: 0 18px 17px; color: var(--rk-text); }
  #rk-thermostat-guide .rk-th-faq-answer p { margin: 0; }

  #rk-thermostat-guide .rk-th-sources { display: grid; gap: 11px; }
  #rk-thermostat-guide .rk-th-source { padding: 17px; border: 1px solid var(--rk-line); border-radius: 13px; background: var(--rk-soft); }
  #rk-thermostat-guide .rk-th-source p { margin: 5px 0 0; color: var(--rk-text); font-size: .75rem; }

  #rk-thermostat-guide .rk-th-author {
    margin-top: 58px;
    overflow: hidden;
    border: 1px solid var(--rk-line);
    border-radius: 21px;
    background: var(--rk-soft);
  }
  #rk-thermostat-guide .rk-th-author > input { position: absolute; opacity: 0; pointer-events: none; }
  #rk-thermostat-guide .rk-th-author-head {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: flex-start;
    padding: 25px clamp(21px, 4vw, 34px);
    border-bottom: 1px solid var(--rk-line);
  }
  #rk-thermostat-guide .rk-th-author-head h2 { margin-bottom: 5px; font-size: clamp(1.55rem, 3vw, 2.2rem); }
  #rk-thermostat-guide .rk-th-author-head p { margin: 0; color: var(--rk-text); }
  #rk-thermostat-guide .rk-th-author-mark {
    max-width: 420px;
    padding: 9px 12px;
    border-radius: 999px;
    color: var(--rk-blue);
    background: var(--rk-cyan-soft);
    font-size: .58rem;
    font-weight: 950;
    letter-spacing: .055em;
    text-align: center;
  }
  #rk-thermostat-guide .rk-th-author-layout { display: grid; grid-template-columns: 255px minmax(0, 1fr); }
  #rk-thermostat-guide .rk-th-author-side { padding: 29px 24px; color: var(--rk-white); text-align: center; background: var(--rk-dark); }
  #rk-thermostat-guide .rk-th-author-photo { width: 154px; height: 154px; margin: 0 auto 18px; overflow: hidden; border: 6px solid rgba(255, 255, 255, .17); border-radius: 50%; background: var(--rk-white); }
  #rk-thermostat-guide .rk-th-author-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
  #rk-thermostat-guide .rk-th-author-name { color: var(--rk-white); font-size: 1.02rem; font-weight: 930; }
  #rk-thermostat-guide .rk-th-author-role { margin-top: 5px; color: #bdd3dc; font-size: .67rem; line-height: 1.5; }
  #rk-thermostat-guide .rk-th-author-social-label { margin-top: 22px; color: #87a8b5; font-size: .56rem; font-weight: 950; letter-spacing: .08em; text-transform: uppercase; }
  #rk-thermostat-guide .rk-th-author-social { display: flex; justify-content: center; gap: 9px; margin-top: 10px; }
  #rk-thermostat-guide .rk-th-author-social a { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid #3a6173; border-radius: 50%; color: #cfe2e8; }
  #rk-thermostat-guide .rk-th-author-social a:hover { color: var(--rk-white); border-color: var(--rk-cyan); background: rgba(37, 199, 216, .12); }
  #rk-thermostat-guide .rk-th-author-social svg { width: 19px; height: 19px; fill: currentColor; }
  #rk-thermostat-guide .rk-th-author-main { min-width: 0; padding: 29px clamp(20px, 4vw, 38px); }
  #rk-thermostat-guide .rk-th-author-quote { position: relative; margin: 0 0 21px; padding: 19px 20px 19px 61px; border: 1px solid var(--rk-line); border-radius: 14px; background: var(--rk-white); }
  #rk-thermostat-guide .rk-th-author-quote::before { position: absolute; top: 5px; left: 18px; color: var(--rk-cyan); content: "“"; font-size: 3.2rem; font-weight: 950; line-height: 1; }
  #rk-thermostat-guide .rk-th-author-quote p { margin: 0; color: var(--rk-dark); font-weight: 780; }
  #rk-thermostat-guide .rk-th-author-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
  #rk-thermostat-guide .rk-th-author-tab { padding: 8px 14px; border-radius: 999px; color: var(--rk-muted); background: #e6eff3; cursor: pointer; font-size: .64rem; font-weight: 900; }
  #rk-thermostat-guide .rk-th-author-panel { display: none; color: var(--rk-text); }
  #rk-thermostat-guide #rk-th-author-about:checked ~ .rk-th-author-layout .rk-th-author-panel-about,
  #rk-thermostat-guide #rk-th-author-exp:checked ~ .rk-th-author-layout .rk-th-author-panel-exp,
  #rk-thermostat-guide #rk-th-author-method:checked ~ .rk-th-author-layout .rk-th-author-panel-method { display: block; }
  #rk-thermostat-guide #rk-th-author-about:checked ~ .rk-th-author-layout label[for="rk-th-author-about"],
  #rk-thermostat-guide #rk-th-author-exp:checked ~ .rk-th-author-layout label[for="rk-th-author-exp"],
  #rk-thermostat-guide #rk-th-author-method:checked ~ .rk-th-author-layout label[for="rk-th-author-method"] { color: var(--rk-white); background: var(--rk-blue); }
  #rk-thermostat-guide .rk-th-mini-label { margin-top: 20px; color: var(--rk-muted); font-size: .56rem; font-weight: 950; letter-spacing: .075em; text-transform: uppercase; }
  #rk-thermostat-guide .rk-th-portals { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 9px; }
  #rk-thermostat-guide .rk-th-portals a { padding: 7px 11px; border: 1px solid var(--rk-line); border-radius: 999px; background: var(--rk-white); font-size: .65rem; text-decoration: none; }

  @media (max-width: 920px) {
    #rk-thermostat-guide .rk-th-grid-3,
    #rk-thermostat-guide .rk-th-grid-4,
    #rk-thermostat-guide .rk-th-routes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #rk-thermostat-guide .rk-th-control-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #rk-thermostat-guide .rk-th-author-layout { grid-template-columns: 225px minmax(0, 1fr); }
  }
  @media (max-width: 720px) {
    #rk-thermostat-guide { margin-top: 18px; font-size: 16px; }
    #rk-thermostat-guide .rk-th-shell { border-radius: 18px; }
    #rk-thermostat-guide .rk-th-hero-metrics,
    #rk-thermostat-guide .rk-th-grid-2,
    #rk-thermostat-guide .rk-th-grid-3,
    #rk-thermostat-guide .rk-th-grid-4,
    #rk-thermostat-guide .rk-th-checklist,
    #rk-thermostat-guide .rk-th-control-grid,
    #rk-thermostat-guide .rk-th-routes,
    #rk-thermostat-guide .rk-th-output-grid { grid-template-columns: 1fr; }
    #rk-thermostat-guide .rk-th-control label { min-height: 0; }
    #rk-thermostat-guide .rk-th-route.is-active { transform: none; }
    #rk-thermostat-guide .rk-th-schematic { grid-template-columns: 1fr; }
    #rk-thermostat-guide .rk-th-arrow { transform: rotate(90deg); }
    #rk-thermostat-guide .rk-th-table-wrap { overflow: visible; border: 0; background: transparent; }
    #rk-thermostat-guide table,
    #rk-thermostat-guide thead,
    #rk-thermostat-guide tbody,
    #rk-thermostat-guide tr,
    #rk-thermostat-guide th,
    #rk-thermostat-guide td { display: block; width: 100%; min-width: 0; }
    #rk-thermostat-guide thead { position: absolute; overflow: hidden; width: 1px; height: 1px; clip: rect(0 0 0 0); white-space: nowrap; }
    #rk-thermostat-guide tr { overflow: hidden; margin-bottom: 13px; border: 1px solid var(--rk-line); border-radius: 14px; background: var(--rk-white); }
    #rk-thermostat-guide td { position: relative; padding: 39px 15px 14px; border-right: 0; border-bottom: 1px solid var(--rk-line); }
    #rk-thermostat-guide td:last-child { border-bottom: 0; }
    #rk-thermostat-guide td::before { position: absolute; top: 11px; left: 15px; color: var(--rk-blue); content: attr(data-label); font-size: .58rem; font-weight: 950; letter-spacing: .045em; text-transform: uppercase; }
    #rk-thermostat-guide .rk-th-author-head { display: block; }
    #rk-thermostat-guide .rk-th-author-mark { display: inline-block; margin-top: 12px; text-align: left; }
    #rk-thermostat-guide .rk-th-author-layout { grid-template-columns: 1fr; }
  }
  @media (max-width: 500px) {
    #rk-thermostat-guide .rk-th-hero { padding-left: 21px; padding-right: 21px; }
    #rk-thermostat-guide .rk-th-content { padding-left: 16px; padding-right: 16px; }
    #rk-thermostat-guide .rk-th-nav { padding-left: 15px; padding-right: 15px; }
    #rk-thermostat-guide .rk-th-nav a { font-size: .61rem; }
    #rk-thermostat-guide .rk-th-tool-body { padding-left: 13px; padding-right: 13px; }
    #rk-thermostat-guide .rk-th-tool-step,
    #rk-thermostat-guide .rk-th-result { padding: 15px; }
    #rk-thermostat-guide .rk-th-author-main { padding: 24px 18px; }
    #rk-thermostat-guide .rk-th-author-quote { padding-left: 58px; }
    #rk-thermostat-guide .rk-th-cta-button { width: 100%; text-align: center; }
  }
  @media (prefers-reduced-motion: reduce) {
    #rk-thermostat-guide *,
    #rk-thermostat-guide *::before,
    #rk-thermostat-guide *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
  }
</style>

<article id="rk-thermostat-guide" aria-labelledby="rk-th-visual-title">
  <div class="rk-th-shell">
    <header class="rk-th-hero">
      <span class="rk-th-kicker">Sterowanie podłogówką · aktualizacja 2026</span>
      <div class="rk-th-hero-title" id="rk-th-visual-title">Termostat w ogrzewaniu podłogowym — <span>dobór bez zgadywania</span></div>
      <p class="rk-th-lead">Termostat nie dobiera temperatury wody, nie równoważy pętli i nie zastępuje automatyki źródła ciepła. Sprawdź, kiedy ma sterować strefą, kiedy potrzebuje czujnika podłogowego oraz co naprawdę trzeba zweryfikować przed wyborem wersji 24 lub 230 V.</p>

      <div class="rk-th-hero-tags" aria-label="Zakres poradnika">
        <span class="rk-th-hero-tag">podłogówka wodna i elektryczna</span>
        <span class="rk-th-hero-tag">24 V i 230 V</span>
        <span class="rk-th-hero-tag">NC i NO</span>
        <span class="rk-th-hero-tag">czujnik podłogowy</span>
        <span class="rk-th-hero-tag">pompa ciepła</span>
      </div>

      <div class="rk-th-byline">
        <span>Autor: <strong>Robert Kucharski</strong></span>
        <span>Czas czytania: około 24 minuty</span>
        <span>Aktualizacja techniczna: 7 września 2026 r.</span>
      </div>

      <div class="rk-th-hero-metrics" aria-label="Najważniejsze zasady">
        <div class="rk-th-hero-metric"><b>Temperatura wody</b><span>Powinna wynikać z potrzeb budynku i sposobu regulacji źródła, a nie z nastawy termostatu pokojowego.</span></div>
        <div class="rk-th-hero-metric"><b>Temperatura strefy</b><span>Termostat zgłasza zapotrzebowanie i zwykle steruje jednym lub kilkoma siłownikami przez listwę.</span></div>
        <div class="rk-th-hero-metric"><b>Temperatura podłogi</b><span>Czujnik podłogowy może ograniczać temperaturę okładziny, ale nie naprawi błędnej konstrukcji ani hydrauliki.</span></div>
      </div>
    </header>

    <nav class="rk-th-nav" aria-label="Nawigacja po artykule">
      <span class="rk-th-nav-label">Na skróty</span>
      <div class="rk-th-nav-track">
        <a href="#rk-th-szybka">Szybka odpowiedź</a>
        <a href="#rk-th-wodne-elektryczne">Wodne czy elektryczne</a>
        <a href="#rk-th-funkcje">Co robi termostat</a>
        <a href="#rk-th-architektura">Architektura sterowania</a>
        <a href="#rk-th-pogodowe">Pogodowe i pokojowe</a>
        <a href="#rk-th-strefy">Podział na strefy</a>
        <a href="#rk-th-petle">Termostat a pętle</a>
        <a href="#rk-th-napiecie">24 czy 230 V</a>
        <a href="#rk-th-wyjscia">Wyjście termostatu</a>
        <a href="#rk-th-nc-no">NC czy NO</a>
        <a href="#rk-th-czujniki">Czujniki</a>
        <a href="#rk-th-lokalizacja">Miejsce montażu</a>
        <a href="#rk-th-algorytmy">Histereza i TPI</a>
        <a href="#rk-th-analizator">Analizator</a>
        <a href="#rk-th-zrodla">Źródło ciepła</a>
        <a href="#rk-th-bezwladnosc">Bezwładność i harmonogram</a>
        <a href="#rk-th-wifi">Wi-Fi</a>
        <a href="#rk-th-przeplyw">Minimalny przepływ</a>
        <a href="#rk-th-bledy">Błędy</a>
        <a href="#rk-th-checklista">Checklista</a>
        <a href="#rk-th-diagnostyka">Uruchomienie</a>
        <a href="#rk-th-faq">FAQ</a>
        <a href="#rk-th-zrodla-oficjalne">Źródła</a>
        <a href="#rk-th-author">Autor</a>
      </div>
    </nav>

    <div class="rk-th-content">
      <section class="rk-th-section" id="rk-th-szybka">
        <span class="rk-th-eyebrow">Decyzja w 60 sekund</span>
        <h2>Jaki termostat do ogrzewania podłogowego wybrać?</h2>
        <div class="rk-th-answer">
          <p><strong>Do wodnej podłogówki wybierz termostat zgodny z napięciem listwy i siłowników, rodzajem wejścia listwy oraz logiką NC/NO.</strong> Do ogrzewania elektrycznego dobierz regulator przeznaczony do konkretnego obciążenia, najczęściej współpracujący z czujnikiem podłogowym. W obu przypadkach najpierw ustal funkcję urządzenia, a dopiero potem funkcje dodatkowe.</p>
        </div>
        <p>Nie istnieje jeden „najlepszy termostat do podłogówki”. Ten sam panel z wyświetlaczem może być technicznie niezgodny z listwą, nieodpowiedni dla maty elektrycznej albo zbędnie rozbudowany w instalacji, w której najważniejszą regulację wykonuje automatyka pogodowa źródła.</p>
        <p>Najpierw odpowiedz na pięć pytań:</p>
        <ul class="rk-th-checklist">
          <li>Czy ogrzewanie jest wodne, czy elektryczne?</li>
          <li>Czym termostat ma sterować: listwą, siłownikiem, źródłem czy stycznikiem?</li>
          <li>Jakie są napięcie, typ wyjścia i dopuszczalne obciążenie?</li>
          <li>Czy potrzebny jest pomiar powietrza, podłogi, czy oba pomiary?</li>
          <li>Jak zamykanie stref wpłynie na przepływ przez źródło i pompę?</li>
        </ul>
        <div class="rk-th-note"><p>Jeżeli dopiero rozważasz automatykę, zacznij od poradnika <a href="https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/">czy warto montować sterowniki do ogrzewania podłogowego</a>. Tutaj skupiamy się już na prawidłowym doborze i ustawieniu termostatu.</p></div>
      </section>

      <section class="rk-th-section" id="rk-th-wodne-elektryczne">
        <span class="rk-th-eyebrow">Dwa różne systemy</span>
        <h2>Termostat do podłogówki wodnej i elektrycznej to nie ten sam dobór</h2>
        <p class="rk-th-intro">Wspólna nazwa „ogrzewanie podłogowe” ukrywa dwa zupełnie różne zadania elektryczne i wykonawcze. Tego rozróżnienia nie wolno pomijać w specyfikacji.</p>
        <div class="rk-th-grid-2">
          <article class="rk-th-card">
            <span class="rk-th-card-icon">H₂O</span>
            <h3>Wodna podłogówka</h3>
            <p>Termostat pokojowy zwykle przekazuje sygnał do listwy sterującej. Listwa zasila odpowiednie siłowniki na rozdzielaczu, a opcjonalnie przekazuje żądanie pracy do pompy lub źródła. Termostat nie przełącza bezpośrednio mocy grzewczej podłogi.</p>
          </article>
          <article class="rk-th-card is-orange">
            <span class="rk-th-card-icon">V</span>
            <h3>Podłogówka elektryczna</h3>
            <p>Regulator steruje obwodem maty lub przewodu grzejnego bezpośrednio albo przez stycznik. Krytyczne są moc obciążenia, prąd, zabezpieczenia, przekrój przewodów i sposób ograniczania temperatury podłogi.</p>
          </article>
        </div>
        <div class="rk-th-warning"><p><strong>Nie podłączaj na podstawie samego koloru żył ani nazwy zacisku.</strong> Prace przy napięciu sieciowym powinny wynikać ze schematu konkretnego urządzenia i być wykonane przez osobę z odpowiednimi kwalifikacjami. Przed pracą obwód musi być odłączony i sprawdzony.</p></div>
      </section>

      <section class="rk-th-section" id="rk-th-funkcje">
        <span class="rk-th-eyebrow">Zakres odpowiedzialności</span>
        <h2>Co naprawdę robi termostat w ogrzewaniu podłogowym?</h2>
        <p>W typowej instalacji wodnej termostat porównuje temperaturę mierzoną z zadaną i przekazuje żądanie grzania dla swojej strefy. Nie oblicza jednak strat ciepła, wymaganej temperatury zasilania ani nastaw rotametrów. To osobne warstwy projektu i regulacji.</p>
        <div class="rk-th-grid-3">
          <article class="rk-th-card"><span class="rk-th-card-icon">1</span><h3>Mierzy</h3><p>Temperaturę powietrza, podłogi albo obie wartości — zależnie od urządzenia i konfiguracji.</p></article>
          <article class="rk-th-card is-green"><span class="rk-th-card-icon">2</span><h3>Decyduje lokalnie</h3><p>Na podstawie algorytmu ocenia, czy strefa wymaga dopływu ciepła, ograniczenia podłogi lub przerwy.</p></article>
          <article class="rk-th-card is-purple"><span class="rk-th-card-icon">3</span><h3>Przekazuje sygnał</h3><p>Do listwy, siłownika, automatyki źródła albo elementu wykonawczego przewidzianego w schemacie.</p></article>
        </div>
        <h3>Czego termostat nie powinien „naprawiać”?</h3>
        <p>Nie zastąpi obliczeń <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projektowego obciążenia cieplnego</a>, właściwego rozstawu rur, temperatury zasilania ani hydraulicznego zrównoważenia. Jeżeli podłoga ma za małą moc lub pętla nie otrzymuje przepływu, wyższa nastawa pokojowa tylko wydłuży żądanie grzania.</p>
      </section>

      <section class="rk-th-section" id="rk-th-architektura">
        <span class="rk-th-eyebrow">Sygnał i wykonanie</span>
        <h2>Termostat, listwa, siłownik i źródło ciepła — jak współpracują?</h2>
        <p class="rk-th-intro">Poprawny schemat rozdziela pomiar, decyzję strefową, wykonanie na pętlach oraz regulację temperatury czynnika. Łączenie wszystkiego w jedno hasło „sterownik” utrudnia dobór i diagnostykę.</p>
        <ol class="rk-th-flow">
          <li><strong>Źródło i automatyka zasilania</strong> przygotowują wodę o temperaturze wynikającej z krzywej, zapotrzebowania albo układu mieszającego.</li>
          <li><strong>Termostat strefy</strong> mierzy warunki w pomieszczeniu i wysyła sygnał zapotrzebowania.</li>
          <li><strong>Listwa sterująca</strong> porządkuje sygnały, zasila siłowniki i — jeżeli przewiduje to schemat — realizuje opóźnienia oraz wyjścia pompy lub źródła.</li>
          <li><strong>Siłownik termoelektryczny</strong> otwiera albo zamyka zawór przypisanej pętli; jego ruch nie jest natychmiastowy.</li>
          <li><strong>Hydraulika</strong> decyduje, jaki przepływ rzeczywiście trafi do otwartej pętli i jaką moc może oddać podłoga.</li>
        </ol>
        <p>Osobny poradnik pokazuje działanie <a href="https://projekt-ogrzewania.pl/silowniki-termoelektryczne-na-rozdzielaczach/">siłowników termoelektrycznych na rozdzielaczu</a>. W tej architekturze są one elementem wykonawczym, a nie czujnikiem i nie regulatorem temperatury wody.</p>
        <div class="rk-th-note"><p><strong>Praktyczna zasada:</strong> przed zakupem narysuj jedną linię sygnału — od czujnika przez termostat i listwę aż do siłownika oraz wejścia źródła. Przy każdym połączeniu wpisz napięcie, rodzaj styku i dopuszczalne obciążenie.</p></div>
      </section>

      <section class="rk-th-section" id="rk-th-pogodowe">
        <span class="rk-th-eyebrow">Dwie warstwy regulacji</span>
        <h2>Sterowanie pogodowe czy termostat pokojowy?</h2>
        <div class="rk-th-answer"><p><strong>Najczęściej nie jest to wybór „albo–albo”.</strong> Regulacja pogodowa dopasowuje temperaturę zasilania do warunków zewnętrznych, a termostat pokojowy może korygować wybrane strefy i reagować na zyski wewnętrzne.</p></div>
        <p>W dobrze dobranej instalacji podłogowej podstawowa praca może być spokojna i ciągła. Szczególnie przy pompie ciepła częste odcinanie wielu stref bywa sprzeczne z potrzebą stabilnego przepływu i niskiej temperatury zasilania. Termostat nie powinien wtedy wymuszać nerwowej pracy całego systemu.</p>
        <div class="rk-th-table-wrap">
          <table>
            <thead><tr><th>Warstwa</th><th>Na co reaguje?</th><th>Co zmienia?</th><th>Najczęstszy błąd</th></tr></thead>
            <tbody>
              <tr><td data-label="Warstwa"><strong>Regulacja pogodowa</strong></td><td data-label="Na co reaguje?">Temperatura zewnętrzna i parametry krzywej</td><td data-label="Co zmienia?">Temperaturę zasilania lub żądanie mocy</td><td data-label="Najczęstszy błąd">Zbyt wysoka krzywa i późniejsze dławienie stref</td></tr>
              <tr><td data-label="Warstwa"><strong>Termostat pokojowy</strong></td><td data-label="Na co reaguje?">Temperatura w pomieszczeniu i harmonogram</td><td data-label="Co zmienia?">Sygnał strefy albo stan siłownika</td><td data-label="Najczęstszy błąd">Traktowanie go jak regulatora temperatury wody</td></tr>
              <tr><td data-label="Warstwa"><strong>Czujnik podłogi</strong></td><td data-label="Na co reaguje?">Temperatura w wybranym miejscu konstrukcji</td><td data-label="Co zmienia?">Ogranicza lub wspiera logikę strefy</td><td data-label="Najczęstszy błąd">Umieszczenie w złym miejscu bez wymiennej osłony</td></tr>
            </tbody>
          </table>
        </div>
        <p>Więcej o pierwszej warstwie wyjaśnia poradnik <a href="https://projekt-ogrzewania.pl/sterowanie-pogodowe-w-ogrzewaniu-podlogowym/">sterowanie pogodowe w ogrzewaniu podłogowym</a>, a praktyczne strojenie opisuje tekst o <a href="https://projekt-ogrzewania.pl/krzywa-grzewcza-w-ogrzewaniu-podlogowym/">krzywej grzewczej podłogówki</a>.</p>
      </section>

      <section class="rk-th-section" id="rk-th-strefy">
        <span class="rk-th-eyebrow">Pomieszczenie nie zawsze równa się strefa</span>
        <h2>Czy w każdym pokoju potrzebny jest osobny termostat?</h2>
        <p>Nie ma uniwersalnej zasady „jeden termostat w każdym pomieszczeniu”. Sens strefy zależy od podobieństwa obciążeń, sposobu użytkowania, nasłonecznienia, wymaganej temperatury oraz możliwości hydraulicznych. Dwa sąsiednie pomieszczenia o podobnym profilu mogą pracować wspólnie, a otwarty salon z dużym przeszkleniem może wymagać innej reakcji niż północna sypialnia.</p>
        <div class="rk-th-grid-2">
          <article class="rk-th-card is-green"><span class="rk-th-card-icon">✓</span><h3>Oddzielna strefa ma więcej sensu, gdy</h3><p>Pomieszczenie ma inną temperaturę użytkową, inny harmonogram, duże zyski słoneczne, piec lub kominek, wysokie zyski bytowe albo konstrukcyjnie odmienną podłogę.</p></article>
          <article class="rk-th-card is-orange"><span class="rk-th-card-icon">?</span><h3>Podział może niewiele dać, gdy</h3><p>Przestrzenie są stale otwarte, wymieniają powietrze, mają podobną temperaturę i obciążenie, a ciężka podłoga reaguje znacznie wolniej niż planowane zmiany nastawy.</p></article>
        </div>
        <p>Projektowanie wielu stref omawia szerzej poradnik <a href="https://projekt-ogrzewania.pl/sterowanie-strefowe-ogrzewaniem-czy-warto/">sterowanie strefowe ogrzewaniem — czy warto</a>. W pomieszczeniach nasłonecznionych trzeba też uwzględnić <a href="https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-a-pasywne-zyski-ciepla/">pasywne zyski ciepła</a>, bo to one mogą okresowo wyłączyć strefę, mimo że na zewnątrz jest zimno.</p>
      </section>

      <section class="rk-th-section" id="rk-th-petle">
        <span class="rk-th-eyebrow">Strefa a hydraulika</span>
        <h2>Jeden termostat na kilka pętli podłogówki — czy można?</h2>
        <div class="rk-th-answer"><p><strong>Tak.</strong> Jeden termostat może sterować kilkoma siłownikami przypisanymi do tej samej strefy, jeżeli listwa i wyjście są do tego przewidziane, a wszystkie pętle obsługują obszar o wspólnym zapotrzebowaniu.</p></div>
        <p>Liczba termostatów nie musi być równa liczbie pętli. Duży salon może mieć trzy pętle i jeden regulator. Z kolei dwie funkcjonalnie różne strefy nie powinny być łączone tylko dlatego, że każda ma po jednej pętli.</p>
        <h3>Co trzeba sprawdzić przy wielu siłownikach?</h3>
        <ul class="rk-th-list">
          <li>Maksymalną liczbę siłowników na kanał listwy.</li>
          <li>Prąd rozruchowy i moc pobieraną przez konkretny typ siłownika.</li>
          <li>Łączne obciążenie wyjścia oraz całej listwy.</li>
          <li>Zgodność napięcia i logiki sterowania.</li>
          <li>Przypisanie pętli do rzeczywistej strefy na dokumentacji rozdzielacza.</li>
        </ul>
        <p>Po otwarciu zaworu wymagany przepływ nadal ustala się hydraulicznie. Służy do tego m.in. <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/">rotametr na rozdzielaczu podłogówki</a>, a nie nastawa temperatury na termostacie.</p>
      </section>

      <section class="rk-th-section" id="rk-th-napiecie">
        <span class="rk-th-eyebrow">Zgodność całego toru</span>
        <h2>Termostat do podłogówki 230 V czy 24 V?</h2>
        <p>Sam numer napięcia nie mówi, który system jest „nowocześniejszy” ani automatycznie lepszy. Wersję dobiera się do zaprojektowanej automatyki, warunków montażu i wszystkich współpracujących elementów. Nie wolno zakładać, że urządzenia o takim samym napięciu są wzajemnie zamienne.</p>
        <div class="rk-th-table-wrap">
          <table>
            <thead><tr><th>Cecha</th><th>System 230 V</th><th>System 24 V</th><th>Co sprawdzić w dokumentacji?</th></tr></thead>
            <tbody>
              <tr><td data-label="Cecha"><strong>Zasilanie elementów</strong></td><td data-label="System 230 V">Napięcie sieciowe w odpowiednich obwodach automatyki</td><td data-label="System 24 V">Wymagany zasilacz lub transformator; 24 V może być AC albo DC</td><td data-label="Co sprawdzić?">Napięcie, częstotliwość/polaryzację i schemat zacisków</td></tr>
              <tr><td data-label="Cecha"><strong>Siłowniki</strong></td><td data-label="System 230 V">Muszą być przeznaczone do 230 V i właściwej logiki</td><td data-label="System 24 V">Muszą odpowiadać rodzajowi 24 V oraz listwie</td><td data-label="Co sprawdzić?">Moc, prąd rozruchowy, NC/NO i czas ruchu</td></tr>
              <tr><td data-label="Cecha"><strong>Okablowanie i ochrona</strong></td><td data-label="System 230 V">Zasady dla instalacji niskiego napięcia sieciowego</td><td data-label="System 24 V">Nie zwalnia z doboru przewodów, separacji i ochrony obwodu pierwotnego</td><td data-label="Co sprawdzić?">Projekt elektryczny, sposób prowadzenia i zabezpieczenia</td></tr>
              <tr><td data-label="Cecha"><strong>Wymiana urządzenia</strong></td><td data-label="System 230 V">Nie podłączać zamiennika bez identyfikacji wyjścia</td><td data-label="System 24 V">Nie zakładać zgodności AC z DC</td><td data-label="Co sprawdzić?">Czy wyjście podaje napięcie, czy tylko zwiera styk</td></tr>
            </tbody>
          </table>
        </div>
        <div class="rk-th-warning"><p><strong>Najdroższy błąd:</strong> kupienie termostatu 230 V do listwy oczekującej styku bezpotencjałowego albo podanie 230 V na wejście niskonapięciowe. Nazwa handlowa nie zastępuje schematu połączeń.</p></div>
      </section>

      <section class="rk-th-section" id="rk-th-wyjscia">
        <span class="rk-th-eyebrow">Nie tylko napięcie zasilania</span>
        <h2>Styk bezpotencjałowy czy wyjście napięciowe?</h2>
        <p>Termostat może być zasilany jednym napięciem, a na wyjściu udostępniać zupełnie inny rodzaj sygnału. To dlatego samo stwierdzenie „termostat jest na 230 V” nie wystarcza do określenia sposobu podłączenia.</p>
        <div class="rk-th-grid-2">
          <article class="rk-th-card"><span class="rk-th-card-icon">COM</span><h3>Styk bezpotencjałowy</h3><p>Przekaźnik zwiera lub rozwiera własne zaciski, ale sam nie powinien wprowadzać na nie napięcia. Napięcie i obciążenie muszą pozostać w granicach określonych dla styku.</p></article>
          <article class="rk-th-card is-orange"><span class="rk-th-card-icon">OUT</span><h3>Wyjście napięciowe</h3><p>Po żądaniu grzania na wyjściu pojawia się określone napięcie. Takiego sygnału nie wolno podawać na wejście przeznaczone wyłącznie do zwarcia bez napięcia.</p></article>
        </div>
        <h3>Przekaźnik, magistrala czy komunikacja radiowa?</h3>
        <p>Niektóre systemy wykorzystują klasyczny przekaźnik, inne własną magistralę albo sparowany moduł radiowy. W systemie magistralowym zgodność protokołu i wersji urządzeń jest równie ważna jak zasilanie. Uniwersalny termostat nie zawsze zastąpi regulator producenta automatyki źródła.</p>
        <div class="rk-th-note"><p>Przed montażem zapisz dla każdego połączenia: <strong>wejście → typ sygnału → wyjście → dopuszczalne obciążenie</strong>. Jeżeli którejś pozycji nie ma w dokumentacji, nie należy jej zgadywać.</p></div>
      </section>

      <section class="rk-th-section" id="rk-th-nc-no">
        <span class="rk-th-eyebrow">Stan bez zasilania</span>
        <h2>Siłownik NC czy NO — co oznacza dla termostatu?</h2>
        <p><strong>NC</strong> oznacza najczęściej zawór zamknięty bez zasilania, a <strong>NO</strong> — otwarty bez zasilania. Oznaczenie dotyczy stanu spoczynkowego elementu wykonawczego, nie „lepszego” sposobu sterowania. Listwa, termostat i siłownik muszą realizować tę samą logikę.</p>
        <div class="rk-th-grid-2">
          <article class="rk-th-card is-green"><span class="rk-th-card-icon">NC</span><h3>Normally closed</h3><p>Po zgłoszeniu grzania listwa zasila siłownik, a zawór zaczyna się otwierać. Po zaniku zasilania pętla wraca do pozycji zamkniętej.</p></article>
          <article class="rk-th-card is-purple"><span class="rk-th-card-icon">NO</span><h3>Normally open</h3><p>Bez zasilania zawór pozostaje otwarty, a zasilenie realizuje zamknięcie. Taki wybór wymaga świadomego schematu i właściwej konfiguracji.</p></article>
        </div>
        <p>Siłownik termoelektryczny zwykle potrzebuje czasu na pełny skok. Kontrolka żądania na termostacie nie oznacza więc, że przepływ pojawi się natychmiast. Podczas diagnostyki sprawdzamy kolejno sygnał, zasilanie wyjścia, ruch siłownika, trzpień zaworu i przepływ.</p>
      </section>

      <section class="rk-th-section" id="rk-th-czujniki">
        <span class="rk-th-eyebrow">Powietrze, podłoga lub oba pomiary</span>
        <h2>Czy termostat musi mieć czujnik podłogowy?</h2>
        <div class="rk-th-answer"><p><strong>W wodnym ogrzewaniu podłogowym czujnik podłogowy nie zawsze jest konieczny.</strong> Może być bardzo przydatny jako ogranicznik dla wrażliwej okładziny, jako ochrona komfortu albo w trybie chłodzenia. W elektrycznym ogrzewaniu podłogowym często stanowi podstawowy element ograniczenia temperatury — zgodnie z projektem i instrukcją systemu.</p></div>
        <p>Termostat może pracować w jednym z trzech typowych trybów:</p>
        <div class="rk-th-grid-3">
          <article class="rk-th-card"><span class="rk-th-card-icon">A</span><h3>Czujnik powietrza</h3><p>Regulacja według temperatury pomieszczenia. Nie kontroluje bezpośrednio temperatury wykończenia.</p></article>
          <article class="rk-th-card is-orange"><span class="rk-th-card-icon">F</span><h3>Czujnik podłogi</h3><p>Regulacja lub limit według temperatury mierzonej w jednym punkcie konstrukcji podłogi.</p></article>
          <article class="rk-th-card is-green"><span class="rk-th-card-icon">A+F</span><h3>Dwa czujniki</h3><p>Powietrze odpowiada za komfort pomieszczenia, a podłoga tworzy dolny lub górny limit.</p></article>
        </div>
        <p>Osobny materiał wyjaśnia dobór i funkcję <a href="https://projekt-ogrzewania.pl/czujnik-podlogowy/">czujnika podłogowego</a>. Granicznej wartości nie należy przepisywać z przypadkowego poradnika: powinna wynikać z systemu, konstrukcji, przeznaczenia strefy i instrukcji producenta okładziny.</p>
        <div class="rk-th-warning"><p><strong>Jeden punkt nie opisuje całej podłogi.</strong> Czujnik umieszczony bliżej rury odczyta inną temperaturę niż czujnik między rurami. Nie zastępuje to sprawdzenia rozkładu temperatury powierzchni ani wymaganej mocy.</p></div>
      </section>

      <section class="rk-th-section" id="rk-th-lokalizacja">
        <span class="rk-th-eyebrow">Pomiar bez fałszywych bodźców</span>
        <h2>Gdzie zamontować termostat i czujnik podłogi?</h2>
        <h3>Miejsce termostatu pokojowego</h3>
        <p>Regulator powinien mierzyć warunki reprezentatywne dla strefy. Unikaj miejsc przy drzwiach zewnętrznych, oknach, nawiewnikach, przewodach kominowych, urządzeniach wydzielających ciepło oraz w bezpośrednim słońcu. Wysokość i minimalne odległości dobierz według instrukcji konkretnego urządzenia.</p>
        <h3>Miejsce czujnika podłogowego</h3>
        <p>Czujnik planuje się w rurze osłonowej umożliwiającej wymianę, z zaślepionym końcem, zwykle pomiędzy sąsiednimi przewodami grzejnymi lub rurami, bez ich krzyżowania. Dokładne położenie musi odpowiadać dokumentacji systemu. Nie zalewa się go przypadkowo „w pętli” ani luzem w jastrychu.</p>
        <ul class="rk-th-checklist">
          <li>Osłona ma łagodny łuk i umożliwia wysunięcie czujnika.</li>
          <li>Koniec osłony nie dopuszcza masy jastrychowej ani wilgoci.</li>
          <li>Położenie jest naniesione na dokumentację powykonawczą.</li>
          <li>Przewód czujnika jest prowadzony zgodnie z zasadami separacji.</li>
        </ul>
        <div class="rk-th-note"><p>Jeżeli planujesz panele lub drewno, zestaw limitu z deklarowanym <a href="https://projekt-ogrzewania.pl/opor-cieplny-r-m%c2%b2k-w-klucz-do-efektywnego-ogrzewania-podlogowego/">oporem cieplnym R całego wykończenia</a>, a nie wyłącznie z nazwą materiału.</p></div>
      </section>

      <section class="rk-th-section" id="rk-th-algorytmy">
        <span class="rk-th-eyebrow">Nie ma jednej uniwersalnej histerezy</span>
        <h2>Jaka histereza do podłogówki? ON/OFF, PWM, TPI i algorytm adaptacyjny</h2>
        <p>Histereza to różnica temperatury potrzebna do zmiany stanu w prostym sterowaniu dwustanowym. Zbyt wąska może powodować częste sygnały, a zbyt szeroka — większe wahania odczuwalne. Nie oznacza to jednak, że każdą podłogówkę należy ustawić na tę samą wartość.</p>
        <div class="rk-th-table-wrap">
          <table>
            <thead><tr><th>Algorytm</th><th>Jak działa?</th><th>Na co uważać?</th></tr></thead>
            <tbody>
              <tr><td data-label="Algorytm"><strong>ON/OFF z histerezą</strong></td><td data-label="Jak działa?">Przełącza stan po przekroczeniu określonego progu wokół nastawy.</td><td data-label="Na co uważać?">Bezwładność może powodować dalszy wzrost temperatury po zamknięciu pętli.</td></tr>
              <tr><td data-label="Algorytm"><strong>PWM / TPI / PI</strong></td><td data-label="Jak działa?">Rozdziela żądanie w czasie i próbuje dopasować udział załączenia do potrzeb strefy.</td><td data-label="Na co uważać?">Cykl musi pasować do wolnych siłowników i charakteru podłogi; nazwy handlowe nie gwarantują identycznej logiki.</td></tr>
              <tr><td data-label="Algorytm"><strong>Adaptacyjny</strong></td><td data-label="Jak działa?">Uczy się reakcji strefy lub uruchamia ją wcześniej, aby osiągnąć temperaturę o zadanej godzinie.</td><td data-label="Na co uważać?">Potrzebuje stabilnej konfiguracji i nie skompensuje braku mocy ani przepływu.</td></tr>
            </tbody>
          </table>
        </div>
        <p>Ustawienie powinno wynikać z instrukcji regulatora, rodzaju siłowników, bezwładności podłogi i zachowania źródła. Zamiast kopiować „0,5–1,0°C”, obserwuj rzeczywisty wykres temperatury, czas ruchu siłownika, liczbę cykli oraz komfort.</p>
      </section>

      <section class="rk-th-section" id="rk-th-analizator">
        <span class="rk-th-eyebrow">Narzędzie decyzyjne</span>
        <h2>Interaktywny analizator sterowania ogrzewaniem podłogowym</h2>
        <p class="rk-th-intro">Wybierz warunki instalacji. Analizator wskaże dominującą strategię i listę pytań technicznych. Nie wybiera marki ani modelu i nie obiecuje procentu oszczędności.</p>

        <div class="rk-th-tool" id="rk-th-analyzer">
          <div class="rk-th-tool-head">
            <h3>Ustal rolę termostatu w Twoim systemie</h3>
            <p>Wynik zmienia się po kliknięciu przycisku. Najważniejsze ostrzeżenia pozostają widoczne razem z uzasadnieniem.</p>
          </div>
          <div class="rk-th-tool-body">
            <div class="rk-th-tool-step">
              <div class="rk-th-tool-step-title"><b>1</b><h4>Opisz instalację i sposób użytkowania</h4></div>
              <div class="rk-th-control-grid">
                <div class="rk-th-control is-critical">
                  <label for="rk-th-system">Rodzaj ogrzewania podłogowego</label>
                  <select id="rk-th-system">
                    <option value="hydronic">Wodne</option>
                    <option value="electric">Elektryczne</option>
                  </select>
                </div>
                <div class="rk-th-control">
                  <label for="rk-th-source">Źródło ciepła dla układu wodnego</label>
                  <select id="rk-th-source">
                    <option value="heatpump">Pompa ciepła</option>
                    <option value="condensing">Kocioł kondensacyjny</option>
                    <option value="solid">Kocioł na paliwo stałe / pellet</option>
                    <option value="other">Inne lub nie wiem</option>
                    <option value="electric">Nie dotyczy — podłoga elektryczna</option>
                  </select>
                </div>
                <div class="rk-th-control">
                  <label for="rk-th-inertia">Konstrukcja i bezwładność podłogi</label>
                  <select id="rk-th-inertia">
                    <option value="heavy">Ciężki jastrych — duża bezwładność</option>
                    <option value="light">System lekki / suchy — mniejsza bezwładność</option>
                    <option value="unknown">Nie wiem</option>
                  </select>
                </div>
                <div class="rk-th-control">
                  <label for="rk-th-room">Zachowanie pomieszczenia</label>
                  <select id="rk-th-room">
                    <option value="stable">Stałe użytkowanie i niewielkie zyski</option>
                    <option value="variable">Różny harmonogram lub temperatura</option>
                    <option value="solar">Duże przeszklenia / zyski słoneczne</option>
                  </select>
                </div>
                <div class="rk-th-control is-critical">
                  <label for="rk-th-supply">Jak regulowana jest temperatura zasilania?</label>
                  <select id="rk-th-supply">
                    <option value="weather">Regulacja pogodowa</option>
                    <option value="load">Automatyka źródła / modulacja według potrzeb</option>
                    <option value="fixed">Stała nastawa lub ręczny układ mieszający</option>
                    <option value="unknown">Nie wiem</option>
                  </select>
                </div>
                <div class="rk-th-control">
                  <label for="rk-th-finish">Okładzina i dodatkowa funkcja</label>
                  <select id="rk-th-finish">
                    <option value="standard">Standardowa okładzina, tylko grzanie</option>
                    <option value="sensitive">Wrażliwa okładzina / wymagany limit</option>
                    <option value="cooling">Podłoga ma także chłodzić</option>
                    <option value="unknown">Brak danych o okładzinie</option>
                  </select>
                </div>
                <div class="rk-th-control">
                  <label for="rk-th-stage">Etap inwestycji</label>
                  <select id="rk-th-stage">
                    <option value="new">Nowa instalacja — można zaplanować przewody</option>
                    <option value="retrofit">Modernizacja istniejącej instalacji</option>
                  </select>
                </div>
              </div>
              <button class="rk-th-tool-button" id="rk-th-run" type="button">Przeanalizuj układ sterowania</button>
            </div>

            <div class="rk-th-tool-step" aria-live="polite">
              <div class="rk-th-tool-step-title"><b>2</b><h4>Dominujący kierunek projektowy</h4></div>
              <div class="rk-th-routes" aria-label="Możliwe kierunki analizy">
                <div class="rk-th-route is-warning" id="rk-th-route-audit"><b>Najpierw audyt danych</b><span>Nieznana konstrukcja lub sposób regulacji uniemożliwia odpowiedzialny dobór.</span></div>
                <div class="rk-th-route" id="rk-th-route-weather"><b>Stabilna regulacja zasilania</b><span>Pogodówka lub modulacja prowadzi system, a termostat pełni rolę korekty strefy.</span></div>
                <div class="rk-th-route" id="rk-th-route-zone"><b>Świadome sterowanie strefą</b><span>Oddzielna reakcja ma sens ze względu na użytkowanie lub zyski ciepła.</span></div>
                <div class="rk-th-route" id="rk-th-route-sensor"><b>Ograniczenie podłogi</b><span>Potrzebny jest właściwie umieszczony czujnik albo dodatkowa ochrona systemowa.</span></div>
              </div>

              <div class="rk-th-result">
                <span class="rk-th-result-kicker">Wniosek z podanych danych</span>
                <h4 id="rk-th-result-title">Termostat jako korekta strefy</h4>
                <p id="rk-th-result-text">Przy stabilnej regulacji zasilania i ciężkiej podłodze ustaw spokojną pracę bez głębokich, krótkich obniżeń.</p>

                <div class="rk-th-schematic" aria-label="Dynamiczny schemat sterowania">
                  <div class="rk-th-schematic-box is-source" id="rk-th-source-box">Pompa ciepła<br>+ regulacja zasilania</div>
                  <div class="rk-th-arrow" aria-hidden="true">→</div>
                  <div class="rk-th-schematic-box is-room" id="rk-th-control-box">Termostat strefy<br>+ pomiar powietrza</div>
                  <div class="rk-th-arrow" aria-hidden="true">→</div>
                  <div class="rk-th-schematic-box is-output" id="rk-th-output-box">Listwa → siłowniki<br>→ przepływ pętli</div>
                </div>

                <div class="rk-th-output-grid">
                  <div class="rk-th-output">
                    <h4>Dlaczego taki kierunek?</h4>
                    <ul id="rk-th-reasons">
                      <li>Temperatura zasilania jest już dopasowywana do warunków.</li>
                      <li>Ciężka podłoga wymaga łagodnych zmian nastawy.</li>
                      <li>Termostat może korygować lokalne zyski ciepła.</li>
                    </ul>
                  </div>
                  <div class="rk-th-output is-check">
                    <h4>Co sprawdzić przed zakupem?</h4>
                    <ul id="rk-th-checks">
                      <li>Napięcie listwy, termostatu i siłowników.</li>
                      <li>Styk bezpotencjałowy lub wyjście napięciowe.</li>
                      <li>Minimalny przepływ i logikę żądania źródła.</li>
                    </ul>
                  </div>
                </div>
                <p class="rk-th-tool-note"><strong>Wynik jest mapą decyzji, nie projektem elektrycznym ani hydraulicznym.</strong> Nie określa przekrojów przewodów, zabezpieczeń, liczby siłowników na wyjściu, przepływów pętli ani nastaw źródła.</p>
              </div>
            </div>
          </div>
        </div>
      </section>

      <aside class="rk-th-sales-cta" aria-label="Projekt ogrzewania podłogowego">
        <h3>Analizator wskazał elementy sterowania — projekt łączy je z konkretną instalacją</h3>
        <div class="rk-th-cta-limits"><strong>Analizator wskazuje rolę termostatu i elementy, których może wymagać sterowanie, ale nie zna obciążeń pomieszczeń, przepływów pętli, bezwładności podłogi, minimalnego przepływu źródła ani obciążenia elektrycznego listwy.</strong></div>
        <p>Jeżeli chcesz otrzymać układ pętli, podział na strefy, obliczone przepływy i wytyczne współpracy sterowania ze źródłem ciepła, potrzebny jest indywidualny projekt.</p>
        <a class="rk-th-cta-button" href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Zamów projekt podłogówki z zaplanowanym sterowaniem</a>
      </aside>

      <section class="rk-th-section" id="rk-th-zrodla">
        <span class="rk-th-eyebrow">Jedna podłoga, różne wymagania źródła</span>
        <h2>Termostat do podłogówki z pompą ciepła, kotłem gazowym i kotłem na paliwo stałe</h2>
        <p class="rk-th-intro">Termostat nie może być dobierany w oderwaniu od źródła. Różne urządzenia mają odmienne wymagania dotyczące minimalnego przepływu, czasu pracy, modulacji, temperatury powrotu i odbioru nadmiaru ciepła.</p>
        <div class="rk-th-grid-3">
          <article class="rk-th-card">
            <span class="rk-th-card-icon">PC</span>
            <h3>Pompa ciepła</h3>
            <p>Najważniejsze są niska i stabilna temperatura zasilania, wymagany przepływ, dostępna objętość instalacji oraz ograniczenie taktowania. Duża liczba agresywnie zamykanych stref może pogorszyć warunki pracy.</p>
          </article>
          <article class="rk-th-card is-green">
            <span class="rk-th-card-icon">KG</span>
            <h3>Kocioł kondensacyjny</h3>
            <p>Trzeba uwzględnić minimalną moc modulacji, współpracę z automatyką pogodową, logikę wejścia żądania i warunki kondensacji. Termostat ON/OFF nie zawsze wykorzysta wszystkie możliwości komunikacji.</p>
          </article>
          <article class="rk-th-card is-orange">
            <span class="rk-th-card-icon">KP</span>
            <h3>Paliwo stałe lub pellet</h3>
            <p>Oprócz stref liczy się ochrona powrotu, możliwość odbioru ciepła, pojemność wodna i ewentualny bufor. Nagłe zamknięcie odbiorników musi być przewidziane w schemacie hydraulicznym.</p>
          </article>
        </div>
        <p>Zasady pracy niskotemperaturowego źródła rozwija poradnik o <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">pompie ciepła</a>, a kompletne połączenie obliczeń i automatyki opisuje <a href="https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/">projekt podłogówki z pompą ciepła</a>. Dla instalacji kotłowej zobacz również materiał <a href="https://projekt-ogrzewania.pl/kociol-gazowy/">kocioł gazowy a ogrzewanie podłogowe</a>.</p>
        <div class="rk-th-note"><p>Amerykański Departament Energii zwraca uwagę, że przy pompie ciepła głębokie obniżenie nastawy może uruchomić mniej efektywne ogrzewanie wspomagające w systemach, które je mają. To kolejny powód, aby harmonogram ustalać dla konkretnej konfiguracji, a nie kopiować uniwersalne godziny. <a href="https://www.energy.gov/energysaver/programmable-thermostats" target="_blank" rel="nofollow noopener noreferrer">Źródło: U.S. Department of Energy</a>.</p></div>
      </section>

      <section class="rk-th-section" id="rk-th-bezwladnosc">
        <span class="rk-th-eyebrow">Podłoga pamięta wcześniejszą pracę</span>
        <h2>Bezwładność cieplna a harmonogram termostatu</h2>
        <p>Ciężki jastrych magazynuje energię i oddaje ją jeszcze po zamknięciu siłownika. Po ponownym otwarciu potrzebuje czasu, zanim zmiana dotrze do powierzchni i powietrza. Dlatego harmonogram 21°C wieczorem, 17°C w nocy i ponownie 21°C rano nie jest automatycznie oszczędny ani komfortowy.</p>
        <div class="rk-th-grid-2">
          <article class="rk-th-card is-purple"><span class="rk-th-card-icon">∞</span><h3>Ciężka podłoga</h3><p>Preferuje spokojne korekty i dłuższe okresy pracy. Krótkie okno obniżenia może zakończyć się dopiero wtedy, gdy użytkownik oczekuje ponownego komfortu.</p></article>
          <article class="rk-th-card"><span class="rk-th-card-icon">↗</span><h3>Lekki system</h3><p>Zwykle reaguje szybciej, więc harmonogram może mieć większe znaczenie. Nadal trzeba uwzględnić moc, izolację, okładzinę i źródło.</p></article>
        </div>
        <p>Mechanizm ten opisuje poradnik <a href="https://projekt-ogrzewania.pl/czym-jest-bezwladnosc-cieplna-w-ogrzewaniu-podlogowym/">czym jest bezwładność cieplna podłogówki</a>. Jeżeli chcesz ocenić reakcję konkretnej konstrukcji, zobacz też <a href="https://projekt-ogrzewania.pl/ile-czasu-nagrzewa-sie-podlogowka/">ile czasu nagrzewa się ogrzewanie podłogowe</a>.</p>
        <h3>Jak ustawić harmonogram rozsądnie?</h3>
        <ol class="rk-th-flow">
          <li>Zacznij od stabilnej temperatury i prawidłowej regulacji zasilania.</li>
          <li>Wprowadź jedną niewielką zmianę, zamiast wielu skoków w ciągu doby.</li>
          <li>Obserwuj minimum kilka podobnych dni oraz rzeczywistą temperaturę, nie tylko stan przekaźnika.</li>
          <li>Skoryguj czas wyprzedzenia i wielkość obniżenia na podstawie zachowania strefy.</li>
        </ol>
      </section>

      <section class="rk-th-section" id="rk-th-wifi">
        <span class="rk-th-eyebrow">Funkcja wygody, nie gwarancja oszczędności</span>
        <h2>Termostat przewodowy, bezprzewodowy czy Wi-Fi?</h2>
        <p>Łączność nie zmienia fizyki podłogi. Może ułatwić obsługę, podgląd temperatury, czasową zmianę nastawy lub analizę historii, ale sama obecność aplikacji nie gwarantuje niższego zużycia energii.</p>
        <div class="rk-th-table-wrap">
          <table>
            <thead><tr><th>Rozwiązanie</th><th>Największa zaleta</th><th>Główne ograniczenie</th><th>Kiedy rozważyć?</th></tr></thead>
            <tbody>
              <tr><td data-label="Rozwiązanie"><strong>Przewodowe</strong></td><td data-label="Największa zaleta">Stabilna komunikacja i brak baterii nadajnika</td><td data-label="Główne ograniczenie">Wymaga zaplanowanego przewodu i puszki</td><td data-label="Kiedy rozważyć?">Nowy budynek lub remont z dostępem do tras</td></tr>
              <tr><td data-label="Rozwiązanie"><strong>Radiowe</strong></td><td data-label="Największa zaleta">Łatwiejsze doposażenie istniejących pomieszczeń</td><td data-label="Główne ograniczenie">Zasięg, baterie i zależność od odbiornika/systemu</td><td data-label="Kiedy rozważyć?">Modernizacja bez możliwości kucia</td></tr>
              <tr><td data-label="Rozwiązanie"><strong>Wi-Fi / aplikacja</strong></td><td data-label="Największa zaleta">Zdalny podgląd, historia i obsługa nieobecności</td><td data-label="Główne ograniczenie">Chmura, aktualizacje, prywatność i zależność od sieci</td><td data-label="Kiedy rozważyć?">Gdy funkcje zdalne mają realny scenariusz użycia</td></tr>
            </tbody>
          </table>
        </div>
        <h3>Pytania przed zakupem funkcji smart</h3>
        <ul class="rk-th-checklist">
          <li>Czy ogrzewanie działa lokalnie po utracie internetu?</li>
          <li>Czy harmonogram jest zapisany w urządzeniu, czy tylko w chmurze?</li>
          <li>Czy system umożliwia eksport historii i aktualizacje bezpieczeństwa?</li>
          <li>Czy można ręcznie sterować strefą po awarii aplikacji?</li>
        </ul>
      </section>

      <section class="rk-th-section" id="rk-th-przeplyw">
        <span class="rk-th-eyebrow">Zamknięte strefy zmieniają instalację</span>
        <h2>Termostaty a minimalny przepływ, pompa obiegowa i taktowanie źródła</h2>
        <p>Gdy kolejne termostaty zamykają siłowniki, maleje liczba czynnych pętli. Zmieniają się przepływ całkowity, dyspozycyjna wysokość podnoszenia, warunki pracy pompy i odbiór mocy ze źródła. To problem systemowy, nie wada pojedynczego termostatu.</p>
        <div class="rk-th-formula">
          <strong>mniej otwartych pętli → mniejszy odbiór ciepła i inny punkt pracy instalacji</strong>
          <span>Skutek zależy od charakterystyki pompy, źródła, nastaw, hydrauliki i logiki automatyki.</span>
        </div>
        <p>Nie należy automatycznie dodawać obejścia ani bufora „bo są termostaty”. Najpierw trzeba poznać wymagany minimalny przepływ urządzenia, pojemność układu, minimalną moc modulacji i sposób sterowania pompą. Czasem rozwiązaniem jest pozostawienie części obwodów bez odcinania, czasem odpowiednia logika, sprzęgło lub bufor, a czasem korekta całej koncepcji.</p>
        <p>Dobór i diagnostykę opisuje poradnik <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">pompa obiegowa w podłogówce</a>. Jeżeli schemat rzeczywiście wymaga magazynowania energii lub rozdzielenia funkcji, zobacz również <a href="https://projekt-ogrzewania.pl/bufor-ciepla-w-ogrzewaniu-podlogowym/">bufor ciepła w ogrzewaniu podłogowym</a>.</p>
        <div class="rk-th-warning"><p><strong>Objaw do sprawdzenia:</strong> po zamknięciu większości stref źródło szybko osiąga temperaturę graniczną, często się wyłącza lub zgłasza błąd przepływu. Nie zwiększaj wtedy przypadkowo temperatury i nie przestawiaj pompy bez diagnozy.</p></div>
      </section>

      <section class="rk-th-section" id="rk-th-bledy">
        <span class="rk-th-eyebrow">Najczęstsze pomyłki</span>
        <h2>Błędy przy doborze i ustawianiu termostatu do podłogówki</h2>
        <div class="rk-th-grid-3">
          <article class="rk-th-card is-orange"><span class="rk-th-card-icon">1</span><h3>Dobór tylko po napięciu</h3><p>Pomija rodzaj wyjścia, AC/DC, obciążenie, protokół, NC/NO i kompatybilność z listwą.</p></article>
          <article class="rk-th-card is-orange"><span class="rk-th-card-icon">2</span><h3>Zbyt wysoka temperatura wody</h3><p>System przegrzewa strefy, a termostaty próbują ratować sytuację częstym zamykaniem pętli.</p></article>
          <article class="rk-th-card is-orange"><span class="rk-th-card-icon">3</span><h3>Głębokie, krótkie obniżenia</h3><p>Ciężka podłoga reaguje z opóźnieniem, więc harmonogram rozmija się z użytkowaniem.</p></article>
          <article class="rk-th-card is-orange"><span class="rk-th-card-icon">4</span><h3>Czujnik przy źródle ciepła</h3><p>Słońce, telewizor, kuchnia lub nawiew zafałszowują pomiar temperatury strefy.</p></article>
          <article class="rk-th-card is-orange"><span class="rk-th-card-icon">5</span><h3>Przypadkowe pętle w strefie</h3><p>Opis rozdzielacza nie odpowiada pomieszczeniom i termostat steruje niewłaściwym obwodem.</p></article>
          <article class="rk-th-card is-orange"><span class="rk-th-card-icon">6</span><h3>Brak kontroli przepływu</h3><p>Wszystkie siłowniki działają, ale rozregulowana hydraulika nie dostarcza wymaganej mocy.</p></article>
        </div>
        <p>Jeżeli podłoga jest stale niedogrzana mimo ciągłego żądania, sprawdź też dopuszczalną <a href="https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/">temperaturę zasilania podłogówki</a> i wpływ <a href="https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/">rodzaju okładziny na wydajność</a>. Podnoszenie nastawy pokojowej nie zwiększa fizycznych możliwości powierzchni grzewczej.</p>
      </section>

      <section class="rk-th-section" id="rk-th-checklista">
        <span class="rk-th-eyebrow">Przed zamówieniem urządzeń</span>
        <h2>Checklista doboru termostatu, listwy i siłowników</h2>
        <ul class="rk-th-checklist">
          <li>Rodzaj ogrzewania: wodne lub elektryczne.</li>
          <li>Funkcja termostatu w schemacie i liczba stref.</li>
          <li>Napięcie zasilania każdego elementu oraz AC/DC.</li>
          <li>Rodzaj wyjścia: styk bezpotencjałowy, napięcie lub magistrala.</li>
          <li>Obciążalność wyjścia i liczba siłowników na kanał.</li>
          <li>Logika zaworów i siłowników: NC albo NO.</li>
          <li>Rodzaj czujnika oraz zgodność jego charakterystyki z regulatorem.</li>
          <li>Miejsce termostatu i wymienna osłona czujnika podłogi.</li>
          <li>Logika wyjścia pompy i sygnału zapotrzebowania do źródła.</li>
          <li>Minimalny przepływ, minimalna moc i wymagana objętość układu.</li>
          <li>Reakcja po zaniku zasilania, internetu i łączności radiowej.</li>
          <li>Opis pętli, protokół uruchomienia i dokumentacja powykonawcza.</li>
        </ul>
        <p>Weryfikację łatwiej przeprowadzić, gdy znasz działanie każdego <a href="https://projekt-ogrzewania.pl/obieg-grzewczy-w-wodnym-ogrzewaniu-podlogowym/">obiegu grzewczego podłogówki</a> i masz prawidłowo opisany <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/">rozdzielacz ogrzewania podłogowego</a>.</p>
        <div class="rk-th-success"><p><strong>Dobra specyfikacja nie zaczyna się od wyglądu panelu.</strong> Zaczyna się od schematu funkcjonalnego, parametrów elektrycznych i warunków hydraulicznych.</p></div>
      </section>

      <section class="rk-th-section" id="rk-th-diagnostyka">
        <span class="rk-th-eyebrow">Uruchomienie krok po kroku</span>
        <h2>Jak ustawić i sprawdzić termostat po montażu?</h2>
        <ol class="rk-th-flow">
          <li><strong>Sprawdź pomiar.</strong> Porównaj temperaturę termostatu z wiarygodnym pomiarem w tym samym miejscu i daj urządzeniom czas na stabilizację.</li>
          <li><strong>Zidentyfikuj strefę.</strong> Podnieś nastawę tylko jednego termostatu i sprawdź, które wyjście listwy oraz które siłowniki reagują.</li>
          <li><strong>Uwzględnij czas siłownika.</strong> Nie oceniaj przepływu natychmiast po pojawieniu się ikony grzania.</li>
          <li><strong>Sprawdź przepływ i temperatury.</strong> Potwierdź pracę właściwych pętli, a nie tylko napięcie na zacisku.</li>
          <li><strong>Zweryfikuj źródło.</strong> Obserwuj, czy żądanie strefy uruchamia właściwą sekwencję i czy źródło ma zapewniony odbiór.</li>
          <li><strong>Dopiero potem strojenie.</strong> Ustaw harmonogram, algorytm i ewentualną korektę czujnika na podstawie obserwacji.</li>
        </ol>
        <h3>Termostat żąda grzania, ale podłoga pozostaje chłodna</h3>
        <p>Sprawdź kolejno zasilanie listwy, sygnał wejściowy, napięcie wyjścia, pozycję siłownika, trzpień zaworu, stan pompy, przepływ i temperaturę zasilania. Jeżeli inne pętle działają, problem jest lokalny; jeżeli nie działa żadna, diagnozę zacznij od elementów wspólnych.</p>
        <h3>Pomieszczenie przegrzewa się po wyłączeniu</h3>
        <p>Niewielki dalszy wzrost może wynikać z energii zgromadzonej w jastrychu. Duże i powtarzalne przegrzewanie wymaga sprawdzenia krzywej grzewczej, miejsca czujnika, algorytmu, przepływu i mocy strefy. Regularny przegląd opisuje poradnik <a href="https://projekt-ogrzewania.pl/jak-czesto-trzeba-serwisowac-ogrzewanie-podlogowe/">jak często serwisować ogrzewanie podłogowe</a>.</p>
        <h3>Podłoga ma także chłodzić</h3>
        <p>Samo przełączenie termostatu na tryb chłodzenia nie zabezpiecza powierzchni przed kondensacją. Potrzebne są pomiar wilgotności, kontrola temperatury zasilania i logika chroniąca przed osiągnięciem punktu rosy. Szczegóły znajdziesz w poradniku <a href="https://projekt-ogrzewania.pl/punkt-rosy-w-ogrzewaniu-podlogowym-jak-bezpiecznie-chlodzic-dom-bez-ryzyka-kondensacji/">punkt rosy w chłodzeniu podłogowym</a>.</p>
      </section>

      <section class="rk-th-section" id="rk-th-faq">
        <span class="rk-th-eyebrow">Najczęstsze pytania</span>
        <h2>FAQ — termostat w ogrzewaniu podłogowym</h2>
        <div class="rk-th-faq">
          <details><summary>Jaki termostat wybrać do wodnego ogrzewania podłogowego?</summary><div class="rk-th-faq-answer"><p>Wybierz termostat zgodny z listwą sterującą: jej napięciem, typem wejścia, logiką NC/NO i dopuszczalnym obciążeniem. Następnie dobierz rodzaj pomiaru, algorytm oraz funkcje przewodowe, radiowe lub zdalne. Sam opis „do podłogówki” nie potwierdza kompatybilności.</p></div></details>
          <details><summary>Termostat do podłogówki 24 V czy 230 V?</summary><div class="rk-th-faq-answer"><p>Napięcie musi wynikać z projektu i zgodności całego toru: termostatu, listwy, siłowników oraz zasilacza. Dla 24 V trzeba dodatkowo rozróżnić AC i DC. Nie ma podstaw, aby jeden wariant uznać uniwersalnie za lepszy.</p></div></details>
          <details><summary>Czy w każdym pomieszczeniu musi być termostat?</summary><div class="rk-th-faq-answer"><p>Nie. Podział na strefy powinien wynikać z temperatury użytkowej, harmonogramu, zysków ciepła, układu pomieszczeń i hydrauliki. Przestrzenie stale połączone i używane podobnie mogą czasem tworzyć wspólną strefę.</p></div></details>
          <details><summary>Czy jeden termostat może sterować kilkoma pętlami?</summary><div class="rk-th-faq-answer"><p>Tak, jeżeli pętle należą do tej samej strefy, a listwa i wyjście pozwalają zasilić odpowiednią liczbę siłowników. Trzeba sprawdzić łączne obciążenie, napięcie, NC/NO oraz poprawne przypisanie pętli.</p></div></details>
          <details><summary>Czy czujnik podłogowy jest konieczny?</summary><div class="rk-th-faq-answer"><p>Nie zawsze w systemie wodnym. Jest przydatny lub wymagany jako limit dla określonej okładziny, funkcji komfortowej, chłodzenia albo systemu elektrycznego. Decyzja powinna wynikać z projektu oraz instrukcji regulatora, ogrzewania i wykończenia.</p></div></details>
          <details><summary>Gdzie zamontować termostat pokojowy?</summary><div class="rk-th-faq-answer"><p>W miejscu reprezentatywnym dla strefy, z dala od słońca, drzwi zewnętrznych, nawiewu, okna i lokalnych źródeł ciepła. Wysokość i odległości należy przyjąć z instrukcji konkretnego urządzenia.</p></div></details>
          <details><summary>Jaka histereza jest najlepsza do podłogówki?</summary><div class="rk-th-faq-answer"><p>Nie ma jednej wartości dla każdej instalacji. Dobór zależy od algorytmu termostatu, bezwładności podłogi, czasu siłowników, stabilności temperatury zasilania i zachowania źródła. Ustawienie należy stroić na podstawie instrukcji i obserwacji.</p></div></details>
          <details><summary>Czy termostat Wi-Fi obniży rachunki?</summary><div class="rk-th-faq-answer"><p>Nie automatycznie. Może ułatwić harmonogram, czasową zmianę nastawy i analizę historii, ale oszczędność zależy od sposobu użytkowania, konstrukcji budynku i prawidłowej regulacji całego systemu.</p></div></details>
          <details><summary>Czy przy pompie ciepła stosować obniżenie nocne?</summary><div class="rk-th-faq-answer"><p>Nie należy kopiować dużego obniżenia bez analizy. Ciężka podłoga reaguje wolno, a późniejsze odrabianie temperatury może wymagać wyższej mocy lub uruchomić ogrzewanie wspomagające. Zwykle lepiej zacząć od stabilnej pracy i małych korekt.</p></div></details>
          <details><summary>Czy termostat pokojowy reguluje temperaturę wody?</summary><div class="rk-th-faq-answer"><p>Zwykle nie bezpośrednio. Najczęściej zgłasza zapotrzebowanie strefy albo steruje siłownikiem. Temperaturę zasilania ustala automatyka źródła, regulacja pogodowa lub układ mieszający według swojego schematu.</p></div></details>
          <details><summary>Dlaczego siłownik jest otwarty, a pomieszczenie nie grzeje?</summary><div class="rk-th-faq-answer"><p>Otwarcie zaworu nie gwarantuje odpowiedniego przepływu ani mocy. Trzeba sprawdzić pompę, rotametr, odpowietrzenie, temperaturę zasilania, zrównoważenie, przypisanie pętli, opór okładziny oraz obciążenie cieplne pomieszczenia.</p></div></details>
          <details><summary>Czy analizator wybiera konkretny model termostatu?</summary><div class="rk-th-faq-answer"><p>Nie. Wskazuje rolę termostatu, dominujący kierunek regulacji i dane wymagające weryfikacji. Konkretny model można dobrać dopiero po sprawdzeniu schematu, napięcia, rodzaju wyjść, obciążeń, czujników i współpracy ze źródłem.</p></div></details>
        </div>
        <div class="rk-th-note"><p>Przy wyborze limitu dla paneli, drewna lub płytek sprawdź też poradnik <a href="https://projekt-ogrzewania.pl/czy-pod-ogrzewanie-podlogowe-nadaja-sie-panele-czy-tylko-plytki/">panele czy płytki na ogrzewanie podłogowe</a>.</p></div>
      </section>

      <section class="rk-th-section" id="rk-th-zrodla-oficjalne">
        <span class="rk-th-eyebrow">Podstawa techniczna</span>
        <h2>Źródła oficjalne i zakres odpowiedzialności</h2>
        <div class="rk-th-sources">
          <div class="rk-th-source"><strong><a href="https://www.iso.org/standard/64999.html" target="_blank" rel="nofollow noopener noreferrer">ISO 11855-6:2018 — Control</a></strong><p>Część normy dotycząca sterowania systemami ogrzewania i chłodzenia płaszczyznowego; wydanie potwierdzone jako aktualne w 2024 r.</p></div>
          <div class="rk-th-source"><strong><a href="https://www.iso.org/standard/74683.html" target="_blank" rel="nofollow noopener noreferrer">ISO 11855-2:2021 — wydajność powierzchni grzewczej</a></strong><p>Metodyka wyznaczania mocy cieplnej i chłodniczej wbudowanych systemów płaszczyznowych.</p></div>
          <div class="rk-th-source"><strong><a href="https://energy.ec.europa.eu/topics/energy-efficiency/energy-performance-buildings/energy-performance-buildings-directive_en" target="_blank" rel="nofollow noopener noreferrer">Komisja Europejska — Energy Performance of Buildings Directive</a></strong><p>Oficjalna strona dotycząca efektywności energetycznej budynków i ram prawnych dla charakterystyki energetycznej.</p></div>
          <div class="rk-th-source"><strong><a href="https://www.gov.uk/government/publications/conservation-of-fuel-and-power-approved-document-l" target="_blank" rel="nofollow noopener noreferrer">GOV.UK — Approved Document L</a></strong><p>Przykład oficjalnych wymagań dotyczących sterowania strefowego i systemów grzewczych. Dokument brytyjski nie jest polskim przepisem i służy wyłącznie jako źródło techniczne.</p></div>
        </div>
        <div class="rk-th-warning"><p><strong>Zakres poradnika:</strong> treść pomaga uporządkować dobór funkcjonalny. Nie jest schematem elektrycznym, instrukcją pracy pod napięciem, projektem zabezpieczeń ani potwierdzeniem kompatybilności konkretnego zestawu urządzeń.</p></div>
      </section>

      <section class="rk-th-author" id="rk-th-author" aria-labelledby="rk-th-author-heading">
        <input type="radio" name="rk-th-author-tabs" id="rk-th-author-about" checked="">
        <input type="radio" name="rk-th-author-tabs" id="rk-th-author-exp">
        <input type="radio" name="rk-th-author-tabs" id="rk-th-author-method">

        <div class="rk-th-author-head">
          <div>
            <span class="rk-th-eyebrow">Opracowanie eksperckie</span>
            <h2 id="rk-th-author-heading">Autor i weryfikacja merytoryczna</h2>
            <p>Artykuł łączy perspektywę cieplną, hydrauliczną i funkcjonalną automatykę instalacji.</p>
          </div>
          <span class="rk-th-author-mark">E-E-A-T · praktyka projektowa HVAC</span>
        </div>

        <div class="rk-th-author-layout">
          <aside class="rk-th-author-side">
            <div class="rk-th-author-photo"><img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski — projektant instalacji sanitarnych" width="154" height="154" loading="lazy"></div>
            <div class="rk-th-author-name"><a href="https://projekt-ogrzewania.pl/author/admin3399/" style="color:#fff;text-decoration:none">Robert Kucharski</a></div>
            <div class="rk-th-author-role">Projektant instalacji sanitarnych<br>specjalista HVAC i ogrzewania podłogowego</div>
            <div class="rk-th-author-social-label">Profile autora</div>
            <div class="rk-th-author-social">
              <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" target="_blank" rel="nofollow noopener noreferrer" aria-label="Robert Kucharski na LinkedIn"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M4.98 3.5a2.5 2.5 0 1 1 0 5 2.5 2.5 0 0 1 0-5ZM3 9h4v12H3V9Zm6.5 0h3.84v1.64h.06c.53-1.01 1.84-2.08 3.79-2.08C21.24 8.56 22 11.23 22 14.7V21h-4v-5.59c0-1.33-.02-3.05-1.86-3.05-1.86 0-2.14 1.45-2.14 2.95V21h-4V9Z"></path></svg></a>
              <a href="https://www.facebook.com/projektogrzewaniapl" target="_blank" rel="nofollow noopener noreferrer" aria-label="Projekt Ogrzewania na Facebooku"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M22 12.06C22 6.5 17.52 2 12 2S2 6.5 2 12.06C2 17.08 5.66 21.25 10.44 22v-7.03H7.9v-2.91h2.54V9.85c0-2.52 1.49-3.91 3.77-3.91 1.09 0 2.23.2 2.23.2v2.47h-1.25c-1.24 0-1.63.77-1.63 1.56v1.89h2.77l-.44 2.91h-2.33V22C18.34 21.25 22 17.08 22 12.06Z"></path></svg></a>
              <a href="https://x.com/Projekt_HVAC" target="_blank" rel="nofollow noopener noreferrer" aria-label="Projekt HVAC w serwisie X"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M18.9 2H22l-6.77 7.74L23.2 22h-6.24l-4.89-6.39L6.48 22H3.36l7.25-8.29L2.96 2H9.36l4.42 5.84L18.9 2Zm-1.1 17.84h1.73L8.42 4.05H6.57L17.8 19.84Z"></path></svg></a>
            </div>
          </aside>

          <div class="rk-th-author-main">
            <blockquote class="rk-th-author-quote"><p>Dobry termostat nie naprawia źle zaprojektowanej podłogówki. Powinien wykonywać jasno określoną funkcję w systemie, którego temperatura zasilania, przepływy i strefy zostały wcześniej policzone.</p></blockquote>
            <div class="rk-th-author-tabs" role="tablist" aria-label="Informacje o autorze">
              <label class="rk-th-author-tab" for="rk-th-author-about">O autorze</label>
              <label class="rk-th-author-tab" for="rk-th-author-exp">Doświadczenie</label>
              <label class="rk-th-author-tab" for="rk-th-author-method">Metoda pracy</label>
            </div>
            <div class="rk-th-author-panel rk-th-author-panel-about">
              <p>Robert Kucharski opracowuje projekty ogrzewania podłogowego, obliczenia cieplne i hydrauliczne oraz materiały edukacyjne dla inwestorów i wykonawców. W poradnikach rozdziela deklaracje marketingowe urządzeń od parametrów, które można sprawdzić w obliczeniach i dokumentacji technicznej.</p>
              <p>W obszarze sterowania analizuje nie tylko sam termostat, ale również wpływ zamykania stref na przepływy, źródło ciepła i bezwładną konstrukcję podłogi.</p>
            </div>
            <div class="rk-th-author-panel rk-th-author-panel-exp">
              <p>Zakres pracy obejmuje bilanse cieplne pomieszczeń, dobór temperatury zasilania, rozmieszczenie i długości pętli, nastawy przepływów, opory hydrauliczne oraz wytyczne współpracy ogrzewania płaszczyznowego ze źródłem ciepła.</p>
              <p>Treści są aktualizowane po zmianach norm, oficjalnych wytycznych oraz po weryfikacji powtarzających się problemów widocznych podczas uruchamiania i eksploatacji instalacji.</p>
            </div>
            <div class="rk-th-author-panel rk-th-author-panel-method">
              <p>Każdy dobór zaczyna się od funkcji i danych wejściowych. Dla termostatów są to: rodzaj systemu, schemat sygnałów, napięcia, wyjścia, obciążenia, czujniki, podział na strefy oraz wymagania źródła. Dopiero potem porównuje się konkretne funkcje urządzeń.</p>
              <p>Artykuł nie zastępuje dokumentacji producenta ani projektu elektrycznego. Jego celem jest pokazanie pytań, które trzeba zadać, aby nie budować automatyki z przypadkowych, niezgodnych elementów.</p>
            </div>
            <div class="rk-th-mini-label">Publikacje i serwisy autora</div>
            <div class="rk-th-portals">
              <a href="https://projekt-ogrzewania.pl/author/admin3399/">Wszystkie wpisy autora</a>
              <a href="https://remont.biz.pl/" target="_blank" rel="nofollow noopener noreferrer">Remont.biz.pl</a>
              <a href="https://sobir.pl/" target="_blank" rel="nofollow noopener noreferrer">Sobir.pl</a>
            </div>
          </div>
        </div>
      </section>

      <aside class="rk-th-sales-cta" aria-label="Końcowe zamówienie projektu">
        <h3>Zaprojektuj podłogówkę i sterowanie jako jeden system</h3>
        <p>Otrzymasz projekt oparty na obciążeniach pomieszczeń, rzeczywistej powierzchni grzewczej, długościach pętli i obliczonych przepływach. Podział na strefy oraz wytyczne sterowania będą wynikać z konkretnego budynku i źródła ciepła.</p>
        <a class="rk-th-cta-button" href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Zamów indywidualny projekt ogrzewania podłogowego</a>
      </aside>
    </div>
  </div>
</article>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "WebSite",
      "@id": "https://projekt-ogrzewania.pl/#website",
      "url": "https://projekt-ogrzewania.pl/",
      "name": "Projekt-Ogrzewania.pl",
      "inLanguage": "pl-PL",
      "publisher": { "@id": "https://projekt-ogrzewania.pl/#organization" }
    },
    {
      "@type": "Organization",
      "@id": "https://projekt-ogrzewania.pl/#organization",
      "name": "Projekt-Ogrzewania.pl",
      "url": "https://projekt-ogrzewania.pl/",
      "founder": { "@id": "https://projekt-ogrzewania.pl/#robert-kucharski" }
    },
    {
      "@type": "Organization",
      "@id": "https://remont.biz.pl/#organization",
      "name": "Remont.biz.pl",
      "url": "https://remont.biz.pl/",
      "founder": { "@id": "https://projekt-ogrzewania.pl/#robert-kucharski" }
    },
    {
      "@type": "Organization",
      "@id": "https://sobir.pl/#organization",
      "name": "Sobir.pl",
      "url": "https://sobir.pl/",
      "founder": { "@id": "https://projekt-ogrzewania.pl/#robert-kucharski" }
    },
    {
      "@type": "Person",
      "@id": "https://projekt-ogrzewania.pl/#robert-kucharski",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/author/admin3399/",
      "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
      "jobTitle": "Projektant instalacji sanitarnych i specjalista HVAC",
      "worksFor": { "@id": "https://projekt-ogrzewania.pl/#organization" },
      "knowsAbout": [
        "ogrzewanie podłogowe",
        "termostaty pokojowe",
        "sterowanie strefowe",
        "hydraulika instalacji grzewczych",
        "obliczenia cieplne",
        "pompy ciepła"
      ],
      "sameAs": [
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://www.facebook.com/projektogrzewaniapl",
        "https://x.com/Projekt_HVAC"
      ]
    },
    {
      "@type": "BreadcrumbList",
      "@id": "https://projekt-ogrzewania.pl/termostat-w-ogrzewaniu-podlogowym/#breadcrumb",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Strona główna",
          "item": "https://projekt-ogrzewania.pl/"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Blog",
          "item": "https://projekt-ogrzewania.pl/blog/"
        },
        {
          "@type": "ListItem",
          "position": 3,
          "name": "Termostat w ogrzewaniu podłogowym",
          "item": "https://projekt-ogrzewania.pl/termostat-w-ogrzewaniu-podlogowym/"
        }
      ]
    },
    {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/termostat-w-ogrzewaniu-podlogowym/#webpage",
      "url": "https://projekt-ogrzewania.pl/termostat-w-ogrzewaniu-podlogowym/",
      "name": "Termostat w ogrzewaniu podłogowym – jaki wybrać i jak ustawić sterowanie?",
      "description": "Sprawdź, jaki termostat do podłogówki wybrać, czym różnią się 24 i 230 V, jak sterować siłownikami i kiedy potrzebny jest czujnik podłogowy.",
      "inLanguage": "pl-PL",
      "isPartOf": { "@id": "https://projekt-ogrzewania.pl/#website" },
      "breadcrumb": { "@id": "https://projekt-ogrzewania.pl/termostat-w-ogrzewaniu-podlogowym/#breadcrumb" },
      "primaryImageOfPage": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp"
      },
      "dateModified": "2026-09-07",
      "mainEntity": { "@id": "https://projekt-ogrzewania.pl/termostat-w-ogrzewaniu-podlogowym/#article" }
    },
    {
      "@type": "TechArticle",
      "@id": "https://projekt-ogrzewania.pl/termostat-w-ogrzewaniu-podlogowym/#article",
      "url": "https://projekt-ogrzewania.pl/termostat-w-ogrzewaniu-podlogowym/",
      "headline": "Termostat w ogrzewaniu podłogowym – jaki wybrać i jak ustawić sterowanie?",
      "description": "Techniczny poradnik doboru termostatu do wodnego i elektrycznego ogrzewania podłogowego: napięcie, wyjścia, siłowniki, czujniki, strefy i współpraca ze źródłem ciepła.",
      "inLanguage": "pl-PL",
      "dateModified": "2026-09-07",
      "author": { "@id": "https://projekt-ogrzewania.pl/#robert-kucharski" },
      "publisher": { "@id": "https://projekt-ogrzewania.pl/#organization" },
      "mainEntityOfPage": { "@id": "https://projekt-ogrzewania.pl/termostat-w-ogrzewaniu-podlogowym/#webpage" },
      "about": [
        "termostat ogrzewania podłogowego",
        "sterowanie strefowe",
        "siłowniki termoelektryczne",
        "czujnik podłogowy",
        "regulacja pogodowa"
      ],
      "mentions": [
        { "@id": "https://projekt-ogrzewania.pl/termostat-w-ogrzewaniu-podlogowym/#analizator" },
        { "@id": "https://projekt-ogrzewania.pl/termostat-w-ogrzewaniu-podlogowym/#howto" },
        { "@id": "https://projekt-ogrzewania.pl/termostat-w-ogrzewaniu-podlogowym/#faq" }
      ]
    },
    {
      "@type": "WebApplication",
      "@id": "https://projekt-ogrzewania.pl/termostat-w-ogrzewaniu-podlogowym/#analizator",
      "name": "Interaktywny analizator sterowania ogrzewaniem podłogowym",
      "url": "https://projekt-ogrzewania.pl/termostat-w-ogrzewaniu-podlogowym/#rk-th-analizator",
      "description": "Narzędzie porządkujące rolę termostatu, czujników, sterowania zasilaniem i elementów wymagających sprawdzenia przed doborem automatyki podłogówki.",
      "applicationCategory": "UtilitiesApplication",
      "operatingSystem": "Dowolny system z nowoczesną przeglądarką internetową",
      "browserRequirements": "Włączona obsługa JavaScript",
      "isAccessibleForFree": true,
      "inLanguage": "pl-PL",
      "author": { "@id": "https://projekt-ogrzewania.pl/#robert-kucharski" }
    },
    {
      "@type": "HowTo",
      "@id": "https://projekt-ogrzewania.pl/termostat-w-ogrzewaniu-podlogowym/#howto",
      "name": "Jak dobrać i uruchomić termostat do ogrzewania podłogowego",
      "description": "Sześć kroków od ustalenia rodzaju systemu do sprawdzenia sterowania i hydrauliki po montażu.",
      "inLanguage": "pl-PL",
      "totalTime": "PT30M",
      "step": [
        { "@type": "HowToStep", "position": 1, "name": "Ustal rodzaj ogrzewania", "text": "Określ, czy system jest wodny, czy elektryczny, ponieważ termostat pełni w nich inną funkcję." },
        { "@type": "HowToStep", "position": 2, "name": "Narysuj tor sterowania", "text": "Zapisz kolejno źródło lub obwód grzejny, automatykę zasilania, termostat, listwę i elementy wykonawcze." },
        { "@type": "HowToStep", "position": 3, "name": "Zaplanuj strefy", "text": "Połącz tylko te pomieszczenia i pętle, które mają wspólną temperaturę, harmonogram i podobne warunki użytkowania." },
        { "@type": "HowToStep", "position": 4, "name": "Sprawdź kompatybilność", "text": "Zweryfikuj napięcie, AC lub DC, rodzaj wyjścia, obciążenie, komunikację i logikę NC lub NO." },
        { "@type": "HowToStep", "position": 5, "name": "Dobierz czujniki", "text": "Ustal rolę pomiaru powietrza i podłogi, a czujnik podłogowy umieść zgodnie z projektem w wymiennej rurze osłonowej." },
        { "@type": "HowToStep", "position": 6, "name": "Uruchom i zweryfikuj", "text": "Sprawdź kolejno pomiar, sygnał, siłownik, przepływ, temperaturę zasilania oraz reakcję pompy i źródła." }
      ]
    },
    {
      "@type": "FAQPage",
      "@id": "https://projekt-ogrzewania.pl/termostat-w-ogrzewaniu-podlogowym/#faq",
      "inLanguage": "pl-PL",
      "mainEntity": [
        {
          "@type": "Question",
          "name": "Jaki termostat wybrać do wodnego ogrzewania podłogowego?",
          "acceptedAnswer": { "@type": "Answer", "text": "Wybierz termostat zgodny z listwą sterującą: jej napięciem, typem wejścia, logiką NC/NO i dopuszczalnym obciążeniem. Następnie dobierz rodzaj pomiaru, algorytm oraz funkcje przewodowe, radiowe lub zdalne. Sam opis „do podłogówki” nie potwierdza kompatybilności." }
        },
        {
          "@type": "Question",
          "name": "Termostat do podłogówki 24 V czy 230 V?",
          "acceptedAnswer": { "@type": "Answer", "text": "Napięcie musi wynikać z projektu i zgodności całego toru: termostatu, listwy, siłowników oraz zasilacza. Dla 24 V trzeba dodatkowo rozróżnić AC i DC. Nie ma podstaw, aby jeden wariant uznać uniwersalnie za lepszy." }
        },
        {
          "@type": "Question",
          "name": "Czy w każdym pomieszczeniu musi być termostat?",
          "acceptedAnswer": { "@type": "Answer", "text": "Nie. Podział na strefy powinien wynikać z temperatury użytkowej, harmonogramu, zysków ciepła, układu pomieszczeń i hydrauliki. Przestrzenie stale połączone i używane podobnie mogą czasem tworzyć wspólną strefę." }
        },
        {
          "@type": "Question",
          "name": "Czy jeden termostat może sterować kilkoma pętlami?",
          "acceptedAnswer": { "@type": "Answer", "text": "Tak, jeżeli pętle należą do tej samej strefy, a listwa i wyjście pozwalają zasilić odpowiednią liczbę siłowników. Trzeba sprawdzić łączne obciążenie, napięcie, NC/NO oraz poprawne przypisanie pętli." }
        },
        {
          "@type": "Question",
          "name": "Czy czujnik podłogowy jest konieczny?",
          "acceptedAnswer": { "@type": "Answer", "text": "Nie zawsze w systemie wodnym. Jest przydatny lub wymagany jako limit dla określonej okładziny, funkcji komfortowej, chłodzenia albo systemu elektrycznego. Decyzja powinna wynikać z projektu oraz instrukcji regulatora, ogrzewania i wykończenia." }
        },
        {
          "@type": "Question",
          "name": "Gdzie zamontować termostat pokojowy?",
          "acceptedAnswer": { "@type": "Answer", "text": "W miejscu reprezentatywnym dla strefy, z dala od słońca, drzwi zewnętrznych, nawiewu, okna i lokalnych źródeł ciepła. Wysokość i odległości należy przyjąć z instrukcji konkretnego urządzenia." }
        },
        {
          "@type": "Question",
          "name": "Jaka histereza jest najlepsza do podłogówki?",
          "acceptedAnswer": { "@type": "Answer", "text": "Nie ma jednej wartości dla każdej instalacji. Dobór zależy od algorytmu termostatu, bezwładności podłogi, czasu siłowników, stabilności temperatury zasilania i zachowania źródła. Ustawienie należy stroić na podstawie instrukcji i obserwacji." }
        },
        {
          "@type": "Question",
          "name": "Czy termostat Wi-Fi obniży rachunki?",
          "acceptedAnswer": { "@type": "Answer", "text": "Nie automatycznie. Może ułatwić harmonogram, czasową zmianę nastawy i analizę historii, ale oszczędność zależy od sposobu użytkowania, konstrukcji budynku i prawidłowej regulacji całego systemu." }
        },
        {
          "@type": "Question",
          "name": "Czy przy pompie ciepła stosować obniżenie nocne?",
          "acceptedAnswer": { "@type": "Answer", "text": "Nie należy kopiować dużego obniżenia bez analizy. Ciężka podłoga reaguje wolno, a późniejsze odrabianie temperatury może wymagać wyższej mocy lub uruchomić ogrzewanie wspomagające. Zwykle lepiej zacząć od stabilnej pracy i małych korekt." }
        },
        {
          "@type": "Question",
          "name": "Czy termostat pokojowy reguluje temperaturę wody?",
          "acceptedAnswer": { "@type": "Answer", "text": "Zwykle nie bezpośrednio. Najczęściej zgłasza zapotrzebowanie strefy albo steruje siłownikiem. Temperaturę zasilania ustala automatyka źródła, regulacja pogodowa lub układ mieszający według swojego schematu." }
        },
        {
          "@type": "Question",
          "name": "Dlaczego siłownik jest otwarty, a pomieszczenie nie grzeje?",
          "acceptedAnswer": { "@type": "Answer", "text": "Otwarcie zaworu nie gwarantuje odpowiedniego przepływu ani mocy. Trzeba sprawdzić pompę, rotametr, odpowietrzenie, temperaturę zasilania, zrównoważenie, przypisanie pętli, opór okładziny oraz obciążenie cieplne pomieszczenia." }
        },
        {
          "@type": "Question",
          "name": "Czy analizator wybiera konkretny model termostatu?",
          "acceptedAnswer": { "@type": "Answer", "text": "Nie. Wskazuje rolę termostatu, dominujący kierunek regulacji i dane wymagające weryfikacji. Konkretny model można dobrać dopiero po sprawdzeniu schematu, napięcia, rodzaju wyjść, obciążeń, czujników i współpracy ze źródłem." }
        }
      ]
    }
  ]
}
</script>

<script>
(function () {
  "use strict";

  var root = document.getElementById("rk-th-analyzer");
  if (!root) { return; }

  var system = document.getElementById("rk-th-system");
  var source = document.getElementById("rk-th-source");
  var inertia = document.getElementById("rk-th-inertia");
  var room = document.getElementById("rk-th-room");
  var supply = document.getElementById("rk-th-supply");
  var finish = document.getElementById("rk-th-finish");
  var stage = document.getElementById("rk-th-stage");
  var button = document.getElementById("rk-th-run");

  var routeAudit = document.getElementById("rk-th-route-audit");
  var routeWeather = document.getElementById("rk-th-route-weather");
  var routeZone = document.getElementById("rk-th-route-zone");
  var routeSensor = document.getElementById("rk-th-route-sensor");
  var routes = [routeAudit, routeWeather, routeZone, routeSensor];

  var resultTitle = document.getElementById("rk-th-result-title");
  var resultText = document.getElementById("rk-th-result-text");
  var sourceBox = document.getElementById("rk-th-source-box");
  var controlBox = document.getElementById("rk-th-control-box");
  var outputBox = document.getElementById("rk-th-output-box");
  var reasonsList = document.getElementById("rk-th-reasons");
  var checksList = document.getElementById("rk-th-checks");
  var lastHydronicSource = "heatpump";

  function clearRoutes() {
    routes.forEach(function (route) {
      route.classList.remove("is-active");
    });
  }

  function activate(route) {
    if (route) { route.classList.add("is-active"); }
  }

  function fillList(target, items) {
    while (target.firstChild) { target.removeChild(target.firstChild); }
    items.forEach(function (item) {
      var li = document.createElement("li");
      li.textContent = item;
      target.appendChild(li);
    });
  }

  function sourceName(value) {
    if (value === "heatpump") { return "Pompa ciepła"; }
    if (value === "condensing") { return "Kocioł kondensacyjny"; }
    if (value === "solid") { return "Kocioł na paliwo stałe"; }
    return "Źródło do identyfikacji";
  }

  function synchronizeSource() {
    if (system.value === "electric") {
      if (source.value !== "electric") { lastHydronicSource = source.value; }
      source.value = "electric";
      source.disabled = true;
      return;
    }
    source.disabled = false;
    if (source.value === "electric") { source.value = lastHydronicSource; }
  }

  function analyzeElectric() {
    var reasons = [
      "Regulator steruje obwodem grzejnym bezpośrednio albo przez właściwie dobrany stycznik.",
      "Pomiar lub ograniczenie temperatury podłogi chroni komfort i warunki pracy okładziny.",
      "Funkcja strefowa nie zastępuje projektu elektrycznego i zabezpieczeń."
    ];
    var checks = [
      "Moc i prąd obwodu względem obciążalności wyjścia regulatora.",
      "Wymagany czujnik podłogowy, jego charakterystyka i położenie w osłonie.",
      "Zabezpieczenia, przewody, RCD i ewentualny stycznik według projektu.",
      "Dopuszczalna temperatura konkretnego wykończenia podłogi."
    ];

    clearRoutes();
    activate(routeSensor);
    if (room.value === "variable" || room.value === "solar") { activate(routeZone); }
    if (finish.value === "unknown" || inertia.value === "unknown") { activate(routeAudit); }

    resultTitle.textContent = "Regulator obwodu elektrycznego z kontrolą podłogi";
    resultText.textContent = "Najważniejsze są obciążalność toru wykonawczego, prawidłowy czujnik podłogowy i zabezpieczenia. Sam wygląd termostatu ani obecność Wi-Fi nie potwierdzają zgodności.";
    sourceBox.innerHTML = "Obwód elektryczny<br>+ zabezpieczenia";
    controlBox.innerHTML = "Termostat<br>+ czujnik podłogi";
    outputBox.innerHTML = "Wyjście / stycznik<br>→ mata lub przewód";

    if (stage.value === "new") {
      checks.push("Zaplanuj wymienną osłonę czujnika oraz trasy przewodów przed wykonaniem podłogi.");
    } else {
      checks.push("W modernizacji sprawdź istniejące żyły, puszkę, czujnik i możliwość zastosowania stycznika.");
    }
    if (finish.value === "cooling") {
      checks.push("Wybrano chłodzenie, które nie dotyczy typowej elektrycznej maty grzejnej — zweryfikuj założenie systemu.");
    }
    fillList(reasonsList, reasons);
    fillList(checksList, checks);
  }

  function analyzeHydronic() {
    var reasons = [];
    var checks = [
      "Napięcie termostatu, listwy i siłowników oraz rozróżnienie AC i DC.",
      "Rodzaj wejścia listwy: styk bezpotencjałowy, napięcie lub magistrala.",
      "Logika NC/NO, liczba siłowników na kanał i łączne obciążenie.",
      "Sposób zgłoszenia zapotrzebowania do pompy i źródła ciepła."
    ];
    var needsAudit = false;
    var dominant = "weather";

    clearRoutes();

    if (inertia.value === "unknown" || supply.value === "unknown") {
      needsAudit = true;
      dominant = "audit";
    } else if (finish.value === "sensitive" || finish.value === "cooling") {
      dominant = "sensor";
    } else if (room.value === "variable" || room.value === "solar") {
      dominant = "zone";
    }

    if (supply.value === "fixed") {
      needsAudit = true;
      if (dominant === "weather") { dominant = "audit"; }
      reasons.push("Stała nastawa zasilania może wymuszać na termostatach częste odcinanie stref zamiast dopasowania mocy u źródła.");
    } else if (supply.value === "weather") {
      reasons.push("Regulacja pogodowa może prowadzić temperaturę zasilania, a termostat pełnić spokojną korektę strefy.");
      activate(routeWeather);
    } else if (supply.value === "load") {
      reasons.push("Automatyka źródła moduluje pracę według zapotrzebowania; trzeba potwierdzić sposób przekazywania sygnału stref.");
      activate(routeWeather);
    } else {
      reasons.push("Nieznany sposób regulacji zasilania uniemożliwia określenie właściwej roli termostatu.");
    }

    if (room.value === "solar") {
      reasons.push("Duże zyski słoneczne uzasadniają lokalną reakcję strefy, jeżeli czujnik mierzy reprezentatywne warunki.");
      activate(routeZone);
    } else if (room.value === "variable") {
      reasons.push("Inny harmonogram lub temperatura użytkowa przemawia za świadomym wydzieleniem strefy.");
      activate(routeZone);
    } else {
      reasons.push("Stałe użytkowanie ogranicza potrzebę częstych zmian nastawy.");
    }

    if (inertia.value === "heavy") {
      reasons.push("Ciężki jastrych reaguje wolno, dlatego krótkie i głębokie obniżenia zwykle nie pasują do jego dynamiki.");
    } else if (inertia.value === "light") {
      reasons.push("Lekka konstrukcja reaguje szybciej, więc harmonogram może mieć większe znaczenie po uruchomieniu.");
    } else {
      reasons.push("Nieznana bezwładność wymaga sprawdzenia przekroju podłogi przed programowaniem harmonogramu.");
    }

    if (finish.value === "sensitive") {
      reasons.push("Wrażliwa okładzina wymaga limitu wynikającego z jej dokumentacji i właściwie umieszczonego czujnika.");
      checks.push("Charakterystyka czujnika podłogi, wymienna osłona i limit konkretnej okładziny.");
      activate(routeSensor);
    } else if (finish.value === "cooling") {
      reasons.push("Tryb chłodzenia wymaga ochrony przed kondensacją na podstawie wilgotności i punktu rosy.");
      checks.push("Pomiar wilgotności, czujnik punktu rosy i minimalna temperatura zasilania w chłodzeniu.");
      activate(routeSensor);
    } else if (finish.value === "unknown") {
      needsAudit = true;
      reasons.push("Brak danych o okładzinie nie pozwala potwierdzić potrzeby ani wartości limitu temperatury podłogi.");
      checks.push("Rodzaj, grubość, opór cieplny i dopuszczalna temperatura okładziny.");
    }

    if (source.value === "heatpump") {
      checks.push("Minimalny przepływ, wymagana objętość instalacji, taktowanie i logika odszraniania pompy ciepła.");
    } else if (source.value === "condensing") {
      checks.push("Minimalna moc modulacji kotła, wejście żądania i współpraca z regulacją pogodową.");
    } else if (source.value === "solid") {
      checks.push("Ochrona powrotu, odbiór nadmiaru ciepła oraz zasadność bufora w konkretnym schemacie.");
    } else {
      needsAudit = true;
      checks.push("Rodzaj źródła, minimalny przepływ, minimalna moc i dopuszczalna logika sterowania.");
    }

    if (stage.value === "new") {
      checks.push("Trasy przewodów, puszki i osłonę czujnika zaplanuj przed wykonaniem jastrychu.");
    } else {
      checks.push("W modernizacji zinwentaryzuj przewody, napięcia, odbiornik radiowy i istniejące siłowniki.");
    }

    if (needsAudit) { activate(routeAudit); }
    if (dominant === "weather") { activate(routeWeather); }
    if (dominant === "zone") { activate(routeZone); }
    if (dominant === "sensor") { activate(routeSensor); }

    if (dominant === "audit") {
      if (supply.value === "fixed") {
        resultTitle.textContent = "Najpierw zweryfikuj sposób regulacji temperatury zasilania";
        resultText.textContent = "Stała, zbyt wysoka nastawa może przerzucać całą regulację na zamykanie stref. Najpierw sprawdź, czy źródło lub mieszacz może dopasowywać temperaturę wody do potrzeb budynku.";
      } else {
        resultTitle.textContent = "Najpierw uzupełnij dane o podłodze i regulacji";
        resultText.textContent = "Bez identyfikacji sposobu sterowania zasilaniem i bezwładności nie da się odpowiedzialnie ustalić algorytmu, harmonogramu ani roli termostatu.";
      }
    } else if (dominant === "sensor") {
      resultTitle.textContent = finish.value === "cooling" ? "Sterowanie strefą z ochroną przed kondensacją" : "Sterowanie strefą z limitem temperatury podłogi";
      resultText.textContent = finish.value === "cooling" ? "Czujnik temperatury podłogi nie wystarczy do chłodzenia. Potrzebna jest również kontrola wilgotności i punktu rosy oraz odpowiednia logika źródła." : "Termostat powinien łączyć pomiar powietrza z właściwie zaprojektowanym limitem podłogi, zgodnym z dokumentacją wykończenia.";
    } else if (dominant === "zone") {
      resultTitle.textContent = "Termostat jako świadome sterowanie odrębną strefą";
      resultText.textContent = "Różny harmonogram albo duże zyski ciepła uzasadniają lokalną reakcję, ale temperatura zasilania i hydraulika nadal pozostają zadaniem całego systemu.";
    } else {
      resultTitle.textContent = "Termostat jako korekta stabilnie prowadzonej instalacji";
      resultText.textContent = "Przy stałym użytkowaniu najpierw prowadź niską temperaturę zasilania, a termostatem koryguj lokalne odchylenia bez agresywnego zamykania wszystkich stref.";
    }

    sourceBox.innerHTML = sourceName(source.value) + "<br>+ regulacja zasilania";
    if (finish.value === "sensitive") {
      controlBox.innerHTML = "Termostat strefy<br>+ czujnik podłogi";
    } else if (finish.value === "cooling") {
      controlBox.innerHTML = "Termostat + wilgotność<br>+ ochrona punktu rosy";
    } else {
      controlBox.innerHTML = "Termostat strefy<br>+ pomiar powietrza";
    }
    outputBox.innerHTML = "Listwa → siłowniki<br>→ przepływ pętli";
    fillList(reasonsList, reasons);
    fillList(checksList, checks);
  }

  function analyze() {
    synchronizeSource();
    if (system.value === "electric") {
      analyzeElectric();
    } else {
      analyzeHydronic();
    }
  }

  system.addEventListener("change", function () {
    synchronizeSource();
  });
  source.addEventListener("change", function () {
    if (source.value !== "electric") { lastHydronicSource = source.value; }
  });
  button.addEventListener("click", analyze);
  synchronizeSource();
  analyze();
}());
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/termostat-w-ogrzewaniu-podlogowym/">Termostat w ogrzewaniu podłogowym – jaki wybrać i jak ustawić sterowanie?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Pętla grzewcza podłogówki – długość, przepływ i dobór.</title>
		<link>https://projekt-ogrzewania.pl/petla-grzewcza/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Wed, 07 Jan 2026 13:09:43 +0000</pubDate>
				<category><![CDATA[Hydraulika]]></category>
		<category><![CDATA[Hydraulika grzewcza]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Porady techniczne]]></category>
		<category><![CDATA[Projektowanie systemów grzewczych]]></category>
		<category><![CDATA[Projekty instalacyjne]]></category>
		<category><![CDATA[Projekty ogrzewania]]></category>
		<category><![CDATA[Technika grzewcza]]></category>
		<category><![CDATA[Technika instalacyjna]]></category>
		<category><![CDATA[długość pętli]]></category>
		<category><![CDATA[hydraulika grzewcza]]></category>
		<category><![CDATA[komfort cieplny]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[pętla grzewcza]]></category>
		<category><![CDATA[pompa obiegowa]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[regulacja ogrzewania]]></category>
		<category><![CDATA[rozdzielacz podłogówki]]></category>
		<category><![CDATA[rozstaw rur]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=3084</guid>

					<description><![CDATA[<p>Pętla grzewcza: Serce wodnego ogrzewania podłogowego to temat, który decyduje o tym, czy podłogówka będzie działać cicho, równomiernie i ekonomicznie przez lata, czy stanie się źródłem frustracji i wysokich rachunków. W artykule krok po kroku wyjaśniamy, jak działa pętla grzewcza, jakie parametry mają realne znaczenie, gdzie najczęściej popełniane są błędy projektowe i wykonawcze oraz dlaczego hydrauliczne zrównoważenie instalacji jest absolutnie kluczowe. To praktyczny przewodnik zarówno dla inwestorów, jak i wykonawców.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/petla-grzewcza/">Pętla grzewcza podłogówki – długość, przepływ i dobór.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
  #rk-loop-guide {
    --rk-loop-navy: #123247;
    --rk-loop-navy-deep: #0b2536;
    --rk-loop-teal: #0e7787;
    --rk-loop-cyan: #5fdef0;
    --rk-loop-orange: #ff7a21;
    --rk-loop-green: #248c68;
    --rk-loop-red: #c64b48;
    --rk-loop-amber: #b77812;
    --rk-loop-ink: #173246;
    --rk-loop-muted: #5d7180;
    --rk-loop-line: #d7e1e7;
    --rk-loop-soft: #f3f7f9;
    --rk-loop-white: #ffffff;
    --rk-loop-shadow: 0 18px 48px rgba(13, 43, 60, 0.12);
    color: var(--rk-loop-ink);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-size: 18px;
    line-height: 1.72;
    overflow-x: hidden;
  }

  #rk-loop-guide,
  #rk-loop-guide *,
  #rk-loop-guide *::before,
  #rk-loop-guide *::after {
    box-sizing: border-box;
  }

  #rk-loop-guide .rk-loop-shell {
    width: min(1240px, 100%);
    margin: 0 auto;
  }

  #rk-loop-guide a {
    color: #087a9f;
    text-decoration-thickness: 1.5px;
    text-underline-offset: 3px;
    overflow-wrap: anywhere;
  }

  #rk-loop-guide a:hover {
    color: #055d79;
  }

  #rk-loop-guide p,
  #rk-loop-guide ul,
  #rk-loop-guide ol {
    margin: 0 0 1.1rem;
  }

  #rk-loop-guide strong {
    color: inherit;
  }

  #rk-loop-guide .rk-loop-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(42px, 6vw, 78px);
    border-radius: 32px;
    background:
      radial-gradient(circle at 90% 112%, rgba(95, 222, 240, 0.16) 0 150px, transparent 151px),
      radial-gradient(circle at 90% 112%, transparent 0 205px, rgba(95, 222, 240, 0.09) 206px 275px, transparent 276px),
      linear-gradient(115deg, #122f43 0%, #123c4f 56%, #0d5b63 100%);
    color: #ffffff;
    box-shadow: var(--rk-loop-shadow);
  }

  #rk-loop-guide .rk-loop-hero::before {
    content: "";
    position: absolute;
    z-index: -1;
    left: -120px;
    bottom: -180px;
    width: 440px;
    height: 440px;
    border-radius: 50%;
    background: rgba(255, 122, 33, 0.10);
    filter: blur(2px);
  }

  #rk-loop-guide .rk-loop-hero-inner {
    position: relative;
    z-index: 1;
  }

  #rk-loop-guide .rk-loop-kicker,
  #rk-loop-guide .rk-loop-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    color: var(--rk-loop-orange);
    font-size: 0.78rem;
    font-weight: 850;
    letter-spacing: 0.13em;
    line-height: 1.35;
    text-transform: uppercase;
  }

  #rk-loop-guide .rk-loop-kicker::before,
  #rk-loop-guide .rk-loop-eyebrow::before {
    content: "";
    flex: 0 0 9px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: currentColor;
  }

  #rk-loop-guide .rk-loop-hero-title {
    max-width: 1110px;
    margin: 0;
    color: #ffffff;
    font-size: clamp(2.55rem, 6.1vw, 5.2rem);
    font-weight: 900;
    letter-spacing: -0.055em;
    line-height: 0.98;
    text-wrap: balance;
  }

  #rk-loop-guide .rk-loop-hero-title span {
    color: var(--rk-loop-cyan);
  }

  #rk-loop-guide .rk-loop-hero-lead {
    max-width: 1050px;
    margin: 30px 0 0;
    color: #eef9fc;
    font-size: clamp(1.05rem, 2vw, 1.34rem);
    line-height: 1.62;
  }

  #rk-loop-guide .rk-loop-hero-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 11px;
    margin: 28px 0 0;
  }

  #rk-loop-guide .rk-loop-hero-tag {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 8px 17px;
    border: 1px solid rgba(255, 255, 255, 0.26);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
    font-size: 0.84rem;
    font-weight: 800;
    line-height: 1.3;
  }

  #rk-loop-guide .rk-loop-byline {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 24px;
    margin: 34px 0 0;
    color: #e5f0f4;
    font-size: 0.85rem;
    font-weight: 700;
  }

  #rk-loop-guide .rk-loop-hero-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 38px;
  }

  #rk-loop-guide .rk-loop-hero-metric {
    min-width: 0;
    padding: 22px 24px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 19px;
    background: rgba(255, 255, 255, 0.08);
    color: #eff9fb;
    backdrop-filter: blur(5px);
  }

  #rk-loop-guide .rk-loop-hero-metric b {
    display: block;
    margin-bottom: 7px;
    color: #ffffff;
    font-size: 1.02rem;
    line-height: 1.3;
  }

  #rk-loop-guide .rk-loop-hero-metric span {
    display: block;
    color: #e2f1f5;
    font-size: 0.88rem;
    line-height: 1.55;
  }

  #rk-loop-guide .rk-loop-shortcuts {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 24px 0;
    padding: 22px;
    border: 1px solid var(--rk-loop-line);
    border-radius: 22px;
    background: #ffffff;
    box-shadow: 0 10px 30px rgba(18, 50, 71, 0.07);
  }

  #rk-loop-guide .rk-loop-shortcuts-label {
    display: block;
    flex-basis: 100%;
    color: var(--rk-loop-navy);
    font-size: 0.8rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  #rk-loop-guide .rk-loop-shortcuts a {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 7px 13px;
    border: 1px solid #cbd9e1;
    border-radius: 999px;
    background: var(--rk-loop-soft);
    color: var(--rk-loop-navy);
    font-size: 0.76rem;
    font-weight: 800;
    line-height: 1.25;
    text-decoration: none;
  }

  #rk-loop-guide .rk-loop-shortcuts a:hover {
    border-color: var(--rk-loop-teal);
    background: #e8f6f8;
    color: #075f6b;
  }

  #rk-loop-guide .rk-loop-section,
  #rk-loop-guide .rk-loop-author {
    margin: 24px 0;
    padding: clamp(30px, 5vw, 62px);
    border: 1px solid var(--rk-loop-line);
    border-radius: 28px;
    background: #ffffff;
    box-shadow: 0 14px 42px rgba(18, 50, 71, 0.07);
    scroll-margin-top: 28px;
  }

  #rk-loop-guide .rk-loop-section-soft {
    background: var(--rk-loop-soft);
  }

  #rk-loop-guide .rk-loop-section-dark {
    border-color: #234c61;
    background:
      radial-gradient(circle at 105% 100%, rgba(95, 222, 240, 0.12) 0 190px, transparent 191px),
      linear-gradient(135deg, #102d40, #0e4854);
    color: #eff8fb;
  }

  #rk-loop-guide .rk-loop-section-dark .rk-loop-section-title,
  #rk-loop-guide .rk-loop-section-dark h3,
  #rk-loop-guide .rk-loop-section-dark strong {
    color: #ffffff;
  }

  #rk-loop-guide .rk-loop-section-dark .rk-loop-lead,
  #rk-loop-guide .rk-loop-section-dark p,
  #rk-loop-guide .rk-loop-section-dark li {
    color: #e3f0f4;
  }

  #rk-loop-guide .rk-loop-section-title,
  #rk-loop-guide .rk-loop-author-title {
    max-width: 1010px;
    margin: 0 0 18px;
    color: var(--rk-loop-navy);
    font-size: clamp(1.8rem, 3.7vw, 3.05rem);
    font-weight: 900;
    letter-spacing: -0.035em;
    line-height: 1.12;
    text-wrap: balance;
  }

  #rk-loop-guide .rk-loop-lead {
    max-width: 1040px;
    color: #314c5e;
    font-size: 1.08rem;
    line-height: 1.75;
  }

  #rk-loop-guide .rk-loop-answer {
    margin: 24px 0;
    padding: 26px 28px;
    border-left: 6px solid var(--rk-loop-cyan);
    border-radius: 8px 20px 20px 8px;
    background: var(--rk-loop-navy);
    color: #ffffff;
  }

  #rk-loop-guide .rk-loop-answer-label {
    display: block;
    margin-bottom: 9px;
    color: var(--rk-loop-cyan);
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    text-transform: uppercase;
  }

  #rk-loop-guide .rk-loop-answer p {
    margin: 0;
    color: #ffffff;
    font-size: 1.06rem;
  }

  #rk-loop-guide .rk-loop-grid-2,
  #rk-loop-guide .rk-loop-grid-3,
  #rk-loop-guide .rk-loop-grid-4 {
    display: grid;
    gap: 18px;
    margin: 24px 0;
  }

  #rk-loop-guide .rk-loop-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #rk-loop-guide .rk-loop-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  #rk-loop-guide .rk-loop-grid-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  #rk-loop-guide .rk-loop-card {
    min-width: 0;
    padding: 23px;
    border: 1px solid var(--rk-loop-line);
    border-radius: 20px;
    background: #ffffff;
    color: var(--rk-loop-ink);
  }

  #rk-loop-guide .rk-loop-card h3 {
    margin: 0 0 10px;
    color: var(--rk-loop-navy);
    font-size: 1.06rem;
    line-height: 1.35;
  }

  #rk-loop-guide .rk-loop-card p,
  #rk-loop-guide .rk-loop-card li {
    color: #3e5869;
    font-size: 0.92rem;
    line-height: 1.65;
  }

  #rk-loop-guide .rk-loop-card p:last-child,
  #rk-loop-guide .rk-loop-card ul:last-child {
    margin-bottom: 0;
  }

  #rk-loop-guide .rk-loop-card-number {
    display: inline-grid;
    place-items: center;
    width: 36px;
    height: 36px;
    margin-bottom: 14px;
    border-radius: 50%;
    background: #dff8fb;
    color: #086678;
    font-size: 0.85rem;
    font-weight: 900;
  }

  #rk-loop-guide .rk-loop-callout,
  #rk-loop-guide .rk-loop-note,
  #rk-loop-guide .rk-loop-warning {
    margin: 24px 0 0;
    padding: 20px 22px;
    border-radius: 16px;
    color: #274657;
    font-size: 0.94rem;
    line-height: 1.68;
  }

  #rk-loop-guide .rk-loop-callout {
    border: 1px solid #b9e7ed;
    background: #eaf9fb;
  }

  #rk-loop-guide .rk-loop-note {
    border: 1px solid #d7e1e7;
    background: #ffffff;
  }

  #rk-loop-guide .rk-loop-warning {
    border: 1px solid #efd0a1;
    background: #fff6e9;
  }

  #rk-loop-guide .rk-loop-tool {
    overflow: hidden;
    margin: 28px 0 0;
    border: 1px solid #aacbd2;
    border-radius: 26px;
    background: #ffffff;
    box-shadow: 0 18px 46px rgba(15, 66, 78, 0.12);
  }

  #rk-loop-guide .rk-loop-tool-head {
    padding: 28px clamp(22px, 4vw, 40px);
    background: linear-gradient(125deg, var(--rk-loop-navy), #0d5962);
    color: #ffffff;
  }

  #rk-loop-guide .rk-loop-tool-head .rk-loop-eyebrow {
    color: #ffad73;
  }

  #rk-loop-guide .rk-loop-tool-head h3 {
    margin: 0 0 10px;
    color: #ffffff;
    font-size: clamp(1.35rem, 3vw, 2.05rem);
    line-height: 1.2;
  }

  #rk-loop-guide .rk-loop-tool-head p {
    max-width: 920px;
    margin: 0;
    color: #e9f7fa;
    font-size: 0.94rem;
  }

  #rk-loop-guide .rk-loop-tool-body {
    padding: clamp(22px, 4vw, 40px);
  }

  #rk-loop-guide .rk-loop-control-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 22px;
  }

  #rk-loop-guide .rk-loop-control {
    min-width: 0;
    padding: 18px;
    border: 1px solid var(--rk-loop-line);
    border-radius: 18px;
    background: var(--rk-loop-soft);
  }

  #rk-loop-guide .rk-loop-control-label {
    display: block;
    margin-bottom: 11px;
    color: var(--rk-loop-navy);
    font-size: 0.84rem;
    font-weight: 900;
  }

  #rk-loop-guide .rk-loop-segmented {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  #rk-loop-guide .rk-loop-segmented button {
    min-width: 0;
    min-height: 48px;
    padding: 9px 12px;
    border: 1px solid #bfd0d9;
    border-radius: 13px;
    background: #ffffff;
    color: var(--rk-loop-navy);
    font: inherit;
    font-size: 0.84rem;
    font-weight: 850;
    line-height: 1.25;
    cursor: pointer;
    transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
  }

  #rk-loop-guide .rk-loop-segmented button:hover {
    transform: translateY(-1px);
    border-color: var(--rk-loop-teal);
  }

  #rk-loop-guide .rk-loop-segmented button[aria-pressed="true"] {
    border-color: var(--rk-loop-navy);
    background: var(--rk-loop-navy);
    color: #ffffff;
    box-shadow: 0 8px 18px rgba(18, 50, 71, 0.18);
  }

  #rk-loop-guide .rk-loop-state-summary {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 16px;
    align-items: center;
    margin: 0 0 22px;
    padding: 20px;
    border: 1px solid #b9e7ed;
    border-radius: 18px;
    background: #eaf9fb;
  }

  #rk-loop-guide .rk-loop-state-dot {
    display: grid;
    place-items: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: var(--rk-loop-green);
    color: #ffffff;
    font-size: 1.25rem;
    font-weight: 900;
  }

  #rk-loop-guide .rk-loop-state-summary[data-flow="closed"] {
    border-color: #e5c4c2;
    background: #fff1f0;
  }

  #rk-loop-guide .rk-loop-state-summary[data-flow="closed"] .rk-loop-state-dot {
    background: var(--rk-loop-red);
  }

  #rk-loop-guide .rk-loop-state-summary strong {
    display: block;
    margin-bottom: 2px;
    color: var(--rk-loop-navy);
    font-size: 1.05rem;
  }

  #rk-loop-guide .rk-loop-state-summary p {
    margin: 0;
    color: #405c6d;
    font-size: 0.91rem;
    line-height: 1.55;
  }

  #rk-loop-guide .rk-loop-flow-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
  }

  #rk-loop-guide .rk-loop-flow-step {
    position: relative;
    min-width: 0;
    padding: 22px;
    border: 1px solid var(--rk-loop-line);
    border-radius: 20px;
    background: #ffffff;
    color: var(--rk-loop-ink);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
  }

  #rk-loop-guide .rk-loop-flow-step.is-active {
    border-color: #64c7d2;
    box-shadow: 0 12px 28px rgba(14, 119, 135, 0.13);
    transform: translateY(-2px);
  }

  #rk-loop-guide .rk-loop-flow-step.is-rest {
    background: #f7f9fa;
  }

  #rk-loop-guide .rk-loop-flow-top {
    display: flex;
    gap: 13px;
    align-items: center;
    margin-bottom: 14px;
  }

  #rk-loop-guide .rk-loop-flow-icon {
    display: grid;
    flex: 0 0 52px;
    place-items: center;
    width: 52px;
    height: 52px;
    border-radius: 16px;
    background: #e6f7f9;
    color: #087083;
  }

  #rk-loop-guide .rk-loop-flow-icon svg {
    width: 29px;
    height: 29px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
  }

  #rk-loop-guide .rk-loop-flow-number {
    display: block;
    color: var(--rk-loop-orange);
    font-size: 0.7rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  #rk-loop-guide .rk-loop-flow-step h4 {
    margin: 2px 0 0;
    color: var(--rk-loop-navy);
    font-size: 1rem;
    line-height: 1.25;
  }

  #rk-loop-guide .rk-loop-flow-value {
    display: inline-flex;
    align-items: center;
    min-height: 31px;
    margin-bottom: 10px;
    padding: 5px 11px;
    border-radius: 999px;
    background: #dff6e9;
    color: #176a4e;
    font-size: 0.77rem;
    font-weight: 900;
    line-height: 1.2;
  }

  #rk-loop-guide .rk-loop-flow-value.is-off {
    background: #eef1f3;
    color: #5c6e79;
  }

  #rk-loop-guide .rk-loop-flow-value.is-closed {
    background: #fde7e6;
    color: #9c3936;
  }

  #rk-loop-guide .rk-loop-flow-copy {
    margin: 0;
    color: #405b6c;
    font-size: 0.87rem;
    line-height: 1.6;
  }

  #rk-loop-guide .rk-loop-tool-disclaimer {
    margin: 22px 0 0;
    padding: 17px 19px;
    border: 1px solid #efd0a1;
    border-radius: 15px;
    background: #fff6e9;
    color: #5f4a2c;
    font-size: 0.86rem;
    line-height: 1.6;
  }

  #rk-loop-guide .rk-loop-compare-table,
  #rk-loop-guide .rk-loop-diagnostic-table {
    overflow: hidden;
    margin: 24px 0;
    border: 1px solid var(--rk-loop-line);
    border-radius: 20px;
    background: #ffffff;
  }

  #rk-loop-guide .rk-loop-table-row {
    display: grid;
    grid-template-columns: minmax(150px, 0.8fr) repeat(2, minmax(0, 1fr));
    border-top: 1px solid var(--rk-loop-line);
  }

  #rk-loop-guide .rk-loop-table-row:first-child {
    border-top: 0;
  }

  #rk-loop-guide .rk-loop-table-row > div {
    min-width: 0;
    padding: 18px 20px;
    border-left: 1px solid var(--rk-loop-line);
    color: #3b5667;
    font-size: 0.89rem;
    line-height: 1.58;
  }

  #rk-loop-guide .rk-loop-table-row > div:first-child {
    border-left: 0;
  }

  #rk-loop-guide .rk-loop-table-head {
    background: var(--rk-loop-navy);
  }

  #rk-loop-guide .rk-loop-table-head > div {
    color: #ffffff;
    font-weight: 850;
  }

  #rk-loop-guide .rk-loop-table-label {
    background: #f2f6f8;
    color: var(--rk-loop-navy) !important;
    font-weight: 850;
  }

  #rk-loop-guide .rk-loop-diagnostic-table .rk-loop-table-row {
    grid-template-columns: minmax(180px, 0.8fr) minmax(0, 1fr) minmax(0, 1.15fr);
  }

  #rk-loop-guide .rk-loop-spec-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: 24px 0;
  }

  #rk-loop-guide .rk-loop-spec {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    min-width: 0;
    padding: 18px;
    border: 1px solid var(--rk-loop-line);
    border-radius: 17px;
    background: #ffffff;
  }

  #rk-loop-guide .rk-loop-spec-mark {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #daf4f7;
    color: #0b7180;
    font-weight: 900;
  }

  #rk-loop-guide .rk-loop-spec strong {
    display: block;
    margin-bottom: 4px;
    color: var(--rk-loop-navy);
    font-size: 0.94rem;
  }

  #rk-loop-guide .rk-loop-spec span {
    display: block;
    color: #4b6474;
    font-size: 0.84rem;
    line-height: 1.55;
  }

  #rk-loop-guide .rk-loop-chain {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    align-items: stretch;
    margin: 26px 0;
  }

  #rk-loop-guide .rk-loop-chain-item {
    position: relative;
    min-width: 0;
    padding: 19px 15px;
    border: 1px solid var(--rk-loop-line);
    border-radius: 17px;
    background: #ffffff;
    color: var(--rk-loop-ink);
    text-align: center;
  }

  #rk-loop-guide .rk-loop-chain-item::after {
    content: "→";
    position: absolute;
    top: 50%;
    right: -15px;
    z-index: 2;
    width: 18px;
    color: var(--rk-loop-orange);
    font-size: 1.15rem;
    font-weight: 900;
    line-height: 1;
    transform: translateY(-50%);
  }

  #rk-loop-guide .rk-loop-chain-item:last-child::after {
    display: none;
  }

  #rk-loop-guide .rk-loop-chain-item strong {
    display: block;
    color: var(--rk-loop-navy);
    font-size: 0.9rem;
    line-height: 1.35;
  }

  #rk-loop-guide .rk-loop-chain-item span {
    display: block;
    margin-top: 5px;
    color: #56707f;
    font-size: 0.75rem;
    line-height: 1.45;
  }

  #rk-loop-guide .rk-loop-steps {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 24px 0;
    counter-reset: rk-loop-step;
  }

  #rk-loop-guide .rk-loop-step {
    position: relative;
    min-width: 0;
    padding: 21px 21px 21px 67px;
    border: 1px solid var(--rk-loop-line);
    border-radius: 19px;
    background: #ffffff;
    color: var(--rk-loop-ink);
    counter-increment: rk-loop-step;
  }

  #rk-loop-guide .rk-loop-step::before {
    content: counter(rk-loop-step);
    position: absolute;
    top: 20px;
    left: 20px;
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: var(--rk-loop-navy);
    color: #ffffff;
    font-size: 0.82rem;
    font-weight: 900;
  }

  #rk-loop-guide .rk-loop-step h3 {
    margin: 0 0 7px;
    color: var(--rk-loop-navy);
    font-size: 1rem;
    line-height: 1.35;
  }

  #rk-loop-guide .rk-loop-step p {
    margin: 0;
    color: #435e6f;
    font-size: 0.88rem;
    line-height: 1.6;
  }

  #rk-loop-guide .rk-loop-mistakes {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 24px;
  }

  #rk-loop-guide .rk-loop-mistake {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 13px;
    min-width: 0;
    padding: 19px;
    border: 1px solid #ead4d2;
    border-radius: 17px;
    background: #fff7f6;
  }

  #rk-loop-guide .rk-loop-mistake-icon {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--rk-loop-red);
    color: #ffffff;
    font-weight: 900;
  }

  #rk-loop-guide .rk-loop-mistake strong {
    color: #7e302e;
    font-size: 0.94rem;
  }

  #rk-loop-guide .rk-loop-mistake p {
    margin: 4px 0 0;
    color: #5f4d4c;
    font-size: 0.85rem;
    line-height: 1.55;
  }

  #rk-loop-guide .rk-loop-checklist {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 24px;
  }

  #rk-loop-guide .rk-loop-checklist-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 13px;
    align-items: start;
    min-width: 0;
    padding: 18px;
    border: 1px solid var(--rk-loop-line);
    border-radius: 17px;
    background: #ffffff;
    color: #425d6e;
    font-size: 0.86rem;
    line-height: 1.55;
  }

  #rk-loop-guide .rk-loop-checklist-item > span {
    display: grid;
    place-items: center;
    width: 31px;
    height: 31px;
    border-radius: 50%;
    background: #dff6e9;
    color: var(--rk-loop-green);
    font-weight: 900;
  }

  #rk-loop-guide .rk-loop-checklist-item strong {
    color: var(--rk-loop-navy);
    font-size: 0.92rem;
  }

  #rk-loop-guide .rk-loop-formula {
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
    gap: 18px;
    align-items: stretch;
    margin: 24px 0;
  }

  #rk-loop-guide .rk-loop-formula-box {
    display: grid;
    place-items: center;
    min-height: 170px;
    padding: 24px;
    border-radius: 20px;
    background: var(--rk-loop-navy);
    color: #ffffff;
    text-align: center;
  }

  #rk-loop-guide .rk-loop-formula-box strong {
    display: block;
    color: var(--rk-loop-cyan);
    font-size: clamp(1.35rem, 3vw, 2rem);
    line-height: 1.25;
  }

  #rk-loop-guide .rk-loop-formula-box span {
    display: block;
    margin-top: 8px;
    color: #dcecf2;
    font-size: 0.82rem;
  }

  #rk-loop-guide .rk-loop-formula-copy {
    padding: 23px;
    border: 1px solid var(--rk-loop-line);
    border-radius: 20px;
    background: #ffffff;
    color: #3f596a;
  }

  #rk-loop-guide .rk-loop-formula-copy h3 {
    margin: 0 0 9px;
    color: var(--rk-loop-navy);
    font-size: 1.08rem;
  }

  #rk-loop-guide .rk-loop-formula-copy p:last-child {
    margin-bottom: 0;
  }

  #rk-loop-guide .rk-loop-cta {
    margin: 32px 0 0;
    padding: clamp(27px, 4vw, 42px);
    border-radius: 24px;
    background:
      radial-gradient(circle at 100% 110%, rgba(95, 222, 240, 0.14) 0 130px, transparent 131px),
      linear-gradient(125deg, var(--rk-loop-navy), #0b5761);
    color: #ffffff;
    box-shadow: 0 18px 45px rgba(11, 45, 62, 0.18);
  }

  #rk-loop-guide .rk-loop-cta-title {
    max-width: 930px;
    margin: 0 0 12px;
    color: #ffffff;
    font-size: clamp(1.45rem, 3.2vw, 2.35rem);
    font-weight: 900;
    letter-spacing: -0.03em;
    line-height: 1.16;
  }

  #rk-loop-guide .rk-loop-cta p {
    max-width: 980px;
    margin-bottom: 20px;
    color: #e7f3f6;
  }

  #rk-loop-guide .rk-loop-cta-button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 52px;
    padding: 12px 20px;
    border: 2px solid var(--rk-loop-orange);
    border-radius: 12px;
    background: var(--rk-loop-orange);
    color: #ffffff !important;
    font-weight: 900;
    line-height: 1.3;
    text-align: center;
    text-decoration: none !important;
    box-shadow: 0 10px 22px rgba(255, 122, 33, 0.22);
  }

  #rk-loop-guide .rk-loop-cta-button:hover {
    border-color: #ff9652;
    background: #ff9652;
    color: #ffffff !important;
  }

  #rk-loop-guide .rk-loop-link-disclosure {
    display: block;
    margin-top: 13px;
    color: #cfe1e6;
    font-size: 0.72rem;
    line-height: 1.45;
  }

  #rk-loop-guide .rk-loop-source-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 24px;
  }

  #rk-loop-guide .rk-loop-source-card {
    min-width: 0;
    padding: 20px;
    border: 1px solid var(--rk-loop-line);
    border-radius: 18px;
    background: #ffffff;
  }

  #rk-loop-guide .rk-loop-source-card a {
    display: inline-block;
    color: var(--rk-loop-navy);
    font-size: 0.93rem;
    font-weight: 900;
    line-height: 1.45;
  }

  #rk-loop-guide .rk-loop-source-card p {
    margin: 8px 0 0;
    color: #516a79;
    font-size: 0.83rem;
    line-height: 1.55;
  }

  #rk-loop-guide .rk-loop-responsibility {
    margin-top: 20px;
    padding: 21px;
    border: 1px solid #d7e1e7;
    border-radius: 18px;
    background: #ffffff;
    color: #405a6b;
    font-size: 0.87rem;
    line-height: 1.62;
  }

  #rk-loop-guide .rk-loop-responsibility p:last-child {
    margin-bottom: 0;
  }

  #rk-loop-guide .rk-loop-faq details {
    overflow: hidden;
    margin: 12px 0;
    border: 1px solid var(--rk-loop-line);
    border-radius: 16px;
    background: #ffffff;
  }

  #rk-loop-guide .rk-loop-faq summary {
    position: relative;
    padding: 18px 52px 18px 20px;
    color: var(--rk-loop-navy);
    font-size: 0.96rem;
    font-weight: 850;
    line-height: 1.45;
    cursor: pointer;
    list-style: none;
  }

  #rk-loop-guide .rk-loop-faq summary::-webkit-details-marker {
    display: none;
  }

  #rk-loop-guide .rk-loop-faq summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 20px;
    color: var(--rk-loop-teal);
    font-size: 1.4rem;
    font-weight: 700;
    transform: translateY(-50%);
  }

  #rk-loop-guide .rk-loop-faq details[open] summary::after {
    content: "−";
  }

  #rk-loop-guide .rk-loop-faq-answer {
    padding: 0 20px 18px;
    color: #415c6d;
    font-size: 0.9rem;
    line-height: 1.65;
  }

  #rk-loop-guide .rk-loop-faq-answer p:last-child {
    margin-bottom: 0;
  }

  #rk-loop-guide .rk-loop-author {
    background:
      radial-gradient(circle at 98% 100%, rgba(95, 222, 240, 0.12) 0 150px, transparent 151px),
      linear-gradient(130deg, #102d40, #113f4e);
    color: #eaf4f7;
  }

  #rk-loop-guide .rk-loop-author .rk-loop-eyebrow {
    color: #ff9a57;
  }

  #rk-loop-guide .rk-loop-author-title {
    color: #ffffff;
  }

  #rk-loop-guide .rk-loop-author-layout {
    display: grid;
    grid-template-columns: minmax(210px, 0.34fr) minmax(0, 1fr);
    gap: 28px;
    align-items: start;
    margin-top: 25px;
  }

  #rk-loop-guide .rk-loop-author-side {
    padding: 22px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.07);
    text-align: center;
  }

  #rk-loop-guide .rk-loop-author-photo {
    width: 150px;
    height: 150px;
    margin: 0 auto 16px;
    overflow: hidden;
    border: 4px solid rgba(255, 255, 255, 0.24);
    border-radius: 50%;
    background: #ffffff;
  }

  #rk-loop-guide .rk-loop-author-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  #rk-loop-guide .rk-loop-author-name a {
    color: #ffffff;
    font-size: 1.12rem;
    font-weight: 900;
  }

  #rk-loop-guide .rk-loop-author-role {
    margin: 7px 0 13px;
    color: #dbeaf0;
    font-size: 0.82rem;
    line-height: 1.5;
  }

  #rk-loop-guide .rk-loop-author-social {
    display: flex;
    justify-content: center;
    gap: 9px;
  }

  #rk-loop-guide .rk-loop-author-social a {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
    font-size: 0.8rem;
    font-weight: 900;
    text-decoration: none;
  }

  #rk-loop-guide .rk-loop-author-main p {
    color: #dcecf1;
    font-size: 0.92rem;
  }

  #rk-loop-guide .rk-loop-author-main a {
    color: var(--rk-loop-cyan);
  }

  #rk-loop-guide .rk-loop-author-quote {
    margin-bottom: 21px;
    padding: 22px;
    border-left: 5px solid var(--rk-loop-cyan);
    border-radius: 7px 17px 17px 7px;
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
    font-size: 1.03rem;
    font-weight: 750;
    line-height: 1.6;
  }

  #rk-loop-guide .rk-loop-author-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 11px;
    margin-top: 20px;
  }

  #rk-loop-guide .rk-loop-author-fact {
    min-width: 0;
    padding: 15px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.06);
    color: #d7e8ed;
    font-size: 0.75rem;
    line-height: 1.45;
  }

  #rk-loop-guide .rk-loop-author-fact strong {
    display: block;
    margin-bottom: 4px;
    color: #ffffff;
    font-size: 0.8rem;
  }

  #rk-loop-guide .rk-loop-tool-tabs,
  #rk-loop-guide .rk-loop-graphic-controls {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin: 0 0 22px;
  }

  #rk-loop-guide .rk-loop-tool-tabs button,
  #rk-loop-guide .rk-loop-graphic-controls button {
    min-height: 44px;
    padding: 9px 15px;
    border: 1px solid #bdd0d8;
    border-radius: 999px;
    background: #ffffff;
    color: var(--rk-loop-navy);
    font: inherit;
    font-size: 0.8rem;
    font-weight: 850;
    line-height: 1.25;
    cursor: pointer;
  }

  #rk-loop-guide .rk-loop-tool-tabs button[aria-selected="true"],
  #rk-loop-guide .rk-loop-graphic-controls button[aria-pressed="true"] {
    border-color: var(--rk-loop-navy);
    background: var(--rk-loop-navy);
    color: #ffffff;
    box-shadow: 0 8px 20px rgba(18, 50, 71, 0.18);
  }

  #rk-loop-guide .rk-loop-panel[hidden],
  #rk-loop-guide .rk-loop-is-hidden {
    display: none !important;
  }

  #rk-loop-guide .rk-loop-field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: 18px 0;
  }

  #rk-loop-guide .rk-loop-field-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  #rk-loop-guide .rk-loop-field {
    min-width: 0;
    padding: 16px;
    border: 1px solid var(--rk-loop-line);
    border-radius: 16px;
    background: var(--rk-loop-soft);
  }

  #rk-loop-guide .rk-loop-field label,
  #rk-loop-guide .rk-loop-field-label {
    display: block;
    margin: 0 0 7px;
    color: var(--rk-loop-navy);
    font-size: 0.79rem;
    font-weight: 900;
    line-height: 1.4;
  }

  #rk-loop-guide .rk-loop-field input,
  #rk-loop-guide .rk-loop-field select,
  #rk-loop-guide .rk-loop-loop-row input,
  #rk-loop-guide .rk-loop-curve-row input {
    width: 100%;
    min-height: 47px;
    margin: 0;
    padding: 10px 12px;
    border: 1px solid #b9cbd4;
    border-radius: 11px;
    background: #ffffff;
    color: #173246;
    font: inherit;
    font-size: 0.91rem;
    line-height: 1.2;
  }

  #rk-loop-guide .rk-loop-field input:focus,
  #rk-loop-guide .rk-loop-field select:focus,
  #rk-loop-guide .rk-loop-loop-row input:focus,
  #rk-loop-guide .rk-loop-curve-row input:focus {
    outline: 3px solid rgba(95, 222, 240, 0.34);
    border-color: var(--rk-loop-teal);
  }

  #rk-loop-guide .rk-loop-field-help {
    display: block;
    margin-top: 7px;
    color: #5c7180;
    font-size: 0.7rem;
    line-height: 1.45;
  }

  #rk-loop-guide .rk-loop-tool-subtitle {
    margin: 26px 0 10px;
    color: var(--rk-loop-navy);
    font-size: 1.12rem;
    font-weight: 900;
    line-height: 1.35;
  }

  #rk-loop-guide .rk-loop-loop-editor,
  #rk-loop-guide .rk-loop-curve-editor {
    margin: 18px 0;
    padding: 18px;
    border: 1px solid var(--rk-loop-line);
    border-radius: 18px;
    background: var(--rk-loop-soft);
  }

  #rk-loop-guide .rk-loop-loop-row,
  #rk-loop-guide .rk-loop-curve-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(120px, 0.46fr) auto;
    gap: 9px;
    align-items: end;
    margin-top: 10px;
  }

  #rk-loop-guide .rk-loop-curve-row {
    grid-template-columns: 42px repeat(2, minmax(110px, 1fr));
  }

  #rk-loop-guide .rk-loop-loop-row:first-child,
  #rk-loop-guide .rk-loop-curve-row:first-child {
    margin-top: 0;
  }

  #rk-loop-guide .rk-loop-loop-cell label,
  #rk-loop-guide .rk-loop-curve-cell label {
    display: block;
    margin-bottom: 5px;
    color: #496371;
    font-size: 0.68rem;
    font-weight: 850;
    line-height: 1.35;
  }

  #rk-loop-guide .rk-loop-remove-loop,
  #rk-loop-guide .rk-loop-add-loop {
    min-height: 45px;
    padding: 9px 13px;
    border: 1px solid #c7d5dc;
    border-radius: 11px;
    background: #ffffff;
    color: var(--rk-loop-navy);
    font: inherit;
    font-size: 0.77rem;
    font-weight: 850;
    cursor: pointer;
  }

  #rk-loop-guide .rk-loop-remove-loop {
    width: 45px;
    padding: 8px;
    color: #9b3b38;
  }

  #rk-loop-guide .rk-loop-add-loop {
    margin-top: 13px;
    border-color: #86cdd5;
    background: #eaf9fb;
    color: #075f6b;
  }

  #rk-loop-guide .rk-loop-calc-layout {
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    gap: 20px;
    align-items: start;
  }

  #rk-loop-guide .rk-loop-results {
    min-width: 0;
  }

  #rk-loop-guide .rk-loop-result-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px;
    margin: 0 0 16px;
  }

  #rk-loop-guide .rk-loop-result {
    min-width: 0;
    padding: 17px;
    border: 1px solid #b8dce1;
    border-radius: 16px;
    background: #effbfc;
  }

  #rk-loop-guide .rk-loop-result span {
    display: block;
    color: #4c6876;
    font-size: 0.7rem;
    font-weight: 850;
    line-height: 1.35;
  }

  #rk-loop-guide .rk-loop-result strong {
    display: block;
    margin-top: 4px;
    color: var(--rk-loop-navy);
    font-size: clamp(1.2rem, 2.5vw, 1.7rem);
    line-height: 1.2;
  }

  #rk-loop-guide .rk-loop-breakdown {
    padding: 18px;
    border: 1px solid var(--rk-loop-line);
    border-radius: 17px;
    background: #ffffff;
  }

  #rk-loop-guide .rk-loop-breakdown-title {
    display: block;
    margin-bottom: 12px;
    color: var(--rk-loop-navy);
    font-size: 0.86rem;
    font-weight: 900;
  }

  #rk-loop-guide .rk-loop-break-row {
    display: grid;
    grid-template-columns: minmax(104px, 0.62fr) minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    margin: 9px 0;
    color: #496371;
    font-size: 0.73rem;
    line-height: 1.35;
  }

  #rk-loop-guide .rk-loop-break-row strong,
  #rk-loop-guide .rk-loop-curve-row > strong {
    color: var(--rk-loop-navy);
  }

  #rk-loop-guide .rk-loop-section-dark .rk-loop-callout strong {
    color: var(--rk-loop-navy);
  }

  #rk-loop-guide .rk-loop-break-track {
    height: 9px;
    overflow: hidden;
    border-radius: 999px;
    background: #e8eef1;
  }

  #rk-loop-guide .rk-loop-break-fill {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--rk-loop-teal), var(--rk-loop-cyan));
  }

  #rk-loop-guide .rk-loop-chart-card {
    min-width: 0;
    padding: 18px;
    border: 1px solid var(--rk-loop-line);
    border-radius: 18px;
    background: #ffffff;
  }

  #rk-loop-guide .rk-loop-chart-title {
    margin: 0 0 11px;
    color: var(--rk-loop-navy);
    font-size: 0.95rem;
    font-weight: 900;
  }

  #rk-loop-guide .rk-loop-chart-wrap {
    width: 100%;
    min-width: 0;
    overflow: hidden;
    border-radius: 13px;
    background: #f8fbfc;
  }

  #rk-loop-guide .rk-loop-chart-wrap svg {
    display: block;
    width: 100%;
    height: auto;
    min-height: 310px;
  }

  #rk-loop-guide .rk-loop-chart-grid-line {
    stroke: #dbe5ea;
    stroke-width: 1;
  }

  #rk-loop-guide .rk-loop-chart-axis {
    stroke: #6f8592;
    stroke-width: 1.4;
  }

  #rk-loop-guide .rk-loop-system-path {
    fill: none;
    stroke: var(--rk-loop-teal);
    stroke-width: 4;
  }

  #rk-loop-guide .rk-loop-device-path {
    fill: none;
    stroke: var(--rk-loop-orange);
    stroke-width: 4;
  }

  #rk-loop-guide .rk-loop-design-point {
    fill: var(--rk-loop-navy);
    stroke: #ffffff;
    stroke-width: 4;
  }

  #rk-loop-guide .rk-loop-operating-point {
    fill: var(--rk-loop-orange);
    stroke: #ffffff;
    stroke-width: 4;
  }

  #rk-loop-guide .rk-loop-chart-tick,
  #rk-loop-guide .rk-loop-chart-label {
    fill: #55707f;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 12px;
  }

  #rk-loop-guide .rk-loop-chart-label {
    fill: var(--rk-loop-navy);
    font-size: 13px;
    font-weight: 800;
  }

  #rk-loop-guide .rk-loop-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 15px;
    margin-top: 12px;
    color: #536d7b;
    font-size: 0.69rem;
    font-weight: 800;
  }

  #rk-loop-guide .rk-loop-legend span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
  }

  #rk-loop-guide .rk-loop-legend i {
    display: inline-block;
    width: 25px;
    height: 4px;
    border-radius: 999px;
    background: var(--rk-loop-teal);
  }

  #rk-loop-guide .rk-loop-legend .is-pump i {
    background: var(--rk-loop-orange);
  }

  #rk-loop-guide .rk-loop-legend .is-point i {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--rk-loop-navy);
  }

  #rk-loop-guide .rk-loop-status {
    margin: 15px 0 0;
    padding: 15px 17px;
    border: 1px solid #b8dce1;
    border-radius: 14px;
    background: #effbfc;
    color: #315261;
    font-size: 0.79rem;
    line-height: 1.55;
  }

  #rk-loop-guide .rk-loop-status.is-warning {
    border-color: #efd0a1;
    background: #fff6e9;
    color: #664d2b;
  }

  #rk-loop-guide .rk-loop-status.is-bad {
    border-color: #e6c2c0;
    background: #fff2f1;
    color: #743b38;
  }

  #rk-loop-guide .rk-loop-status.is-good {
    border-color: #b8ddce;
    background: #eefaf5;
    color: #245d48;
  }

  #rk-loop-guide .rk-loop-hydraulic-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 18px;
  }

  #rk-loop-guide .rk-loop-hydraulic-card {
    min-width: 0;
    padding: 20px;
    border: 1px solid var(--rk-loop-line);
    border-radius: 18px;
    background: #ffffff;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
  }

  #rk-loop-guide .rk-loop-hydraulic-card.is-active {
    border-color: #5fc6d1;
    box-shadow: 0 12px 28px rgba(14, 119, 135, 0.13);
    transform: translateY(-2px);
  }

  #rk-loop-guide .rk-loop-hydraulic-card.is-muted {
    opacity: 0.58;
    background: #f3f6f7;
  }

  #rk-loop-guide .rk-loop-hydraulic-number {
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 34px;
    margin-bottom: 12px;
    border-radius: 50%;
    background: #ddf6f8;
    color: #086878;
    font-size: 0.78rem;
    font-weight: 900;
  }

  #rk-loop-guide .rk-loop-hydraulic-card h3 {
    margin: 0 0 8px;
    color: var(--rk-loop-navy);
    font-size: 1rem;
    line-height: 1.35;
  }

  #rk-loop-guide .rk-loop-hydraulic-value {
    display: inline-flex;
    min-height: 29px;
    align-items: center;
    margin: 0 0 9px;
    padding: 5px 10px;
    border-radius: 999px;
    background: #eef4f6;
    color: #3f5e6d;
    font-size: 0.71rem;
    font-weight: 900;
  }

  #rk-loop-guide .rk-loop-hydraulic-card.is-active .rk-loop-hydraulic-value {
    background: #dff6e9;
    color: #21664e;
  }

  #rk-loop-guide .rk-loop-hydraulic-card p {
    margin: 0;
    color: #466171;
    font-size: 0.82rem;
    line-height: 1.58;
  }

  #rk-loop-guide .rk-loop-graphic-result {
    margin-top: 16px;
    padding: 20px;
    border-left: 5px solid var(--rk-loop-cyan);
    border-radius: 8px 16px 16px 8px;
    background: var(--rk-loop-navy);
    color: #ffffff;
  }

  #rk-loop-guide .rk-loop-graphic-result strong {
    display: block;
    margin-bottom: 5px;
    color: #ffffff;
  }

  #rk-loop-guide .rk-loop-graphic-result p {
    margin: 0;
    color: #e8f5f8;
    font-size: 0.87rem;
  }

  #rk-loop-guide .rk-loop-equation {
    overflow-wrap: anywhere;
    font-variant-numeric: tabular-nums;
  }

  #rk-loop-guide .rk-loop-visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  @media (max-width: 1040px) {
    #rk-loop-guide .rk-loop-grid-4 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #rk-loop-guide .rk-loop-flow-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #rk-loop-guide .rk-loop-chain {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    #rk-loop-guide .rk-loop-chain-item::after {
      display: none;
    }

    #rk-loop-guide .rk-loop-calc-layout {
      grid-template-columns: 1fr;
    }
  }

  @media (max-width: 820px) {
    #rk-loop-guide {
      font-size: 17px;
    }

    #rk-loop-guide .rk-loop-hero {
      border-radius: 24px;
    }

    #rk-loop-guide .rk-loop-hero-metrics,
    #rk-loop-guide .rk-loop-grid-3,
    #rk-loop-guide .rk-loop-source-grid,
    #rk-loop-guide .rk-loop-author-facts {
      grid-template-columns: 1fr;
    }

    #rk-loop-guide .rk-loop-control-grid,
    #rk-loop-guide .rk-loop-formula,
    #rk-loop-guide .rk-loop-author-layout {
      grid-template-columns: 1fr;
    }

    #rk-loop-guide .rk-loop-author-side {
      max-width: 430px;
    }

    #rk-loop-guide .rk-loop-field-grid-3,
    #rk-loop-guide .rk-loop-hydraulic-grid {
      grid-template-columns: 1fr;
    }
  }

  @media (max-width: 700px) {
    #rk-loop-guide .rk-loop-section,
    #rk-loop-guide .rk-loop-author {
      border-radius: 22px;
    }

    #rk-loop-guide .rk-loop-grid-2,
    #rk-loop-guide .rk-loop-grid-4,
    #rk-loop-guide .rk-loop-flow-grid,
    #rk-loop-guide .rk-loop-spec-grid,
    #rk-loop-guide .rk-loop-steps,
    #rk-loop-guide .rk-loop-mistakes,
    #rk-loop-guide .rk-loop-checklist,
    #rk-loop-guide .rk-loop-chain {
      grid-template-columns: 1fr;
    }

    #rk-loop-guide .rk-loop-field-grid,
    #rk-loop-guide .rk-loop-result-grid {
      grid-template-columns: 1fr;
    }

    #rk-loop-guide .rk-loop-table-row,
    #rk-loop-guide .rk-loop-diagnostic-table .rk-loop-table-row {
      display: block;
      padding: 8px 0;
      border-top: 8px solid var(--rk-loop-soft);
    }

    #rk-loop-guide .rk-loop-table-row:first-child {
      display: none;
    }

    #rk-loop-guide .rk-loop-table-row > div {
      display: grid;
      grid-template-columns: minmax(104px, 0.42fr) minmax(0, 1fr);
      gap: 10px;
      padding: 12px 15px;
      border: 0;
    }

    #rk-loop-guide .rk-loop-table-row > div::before {
      content: attr(data-label);
      color: var(--rk-loop-navy);
      font-size: 0.76rem;
      font-weight: 900;
      line-height: 1.45;
    }

    #rk-loop-guide .rk-loop-table-label {
      background: #eef4f6;
    }

    #rk-loop-guide .rk-loop-loop-row {
      grid-template-columns: minmax(0, 1fr) minmax(100px, 0.6fr) auto;
    }
  }

  @media (max-width: 520px) {
    #rk-loop-guide {
      font-size: 16px;
    }

    #rk-loop-guide .rk-loop-hero {
      padding: 34px 22px;
      border-radius: 20px;
    }

    #rk-loop-guide .rk-loop-hero-title {
      font-size: clamp(2.25rem, 12vw, 3.5rem);
      letter-spacing: -0.05em;
    }

    #rk-loop-guide .rk-loop-hero-lead {
      margin-top: 23px;
    }

    #rk-loop-guide .rk-loop-hero-tag {
      min-height: 38px;
      padding: 7px 12px;
      font-size: 0.75rem;
    }

    #rk-loop-guide .rk-loop-byline {
      display: grid;
      gap: 7px;
    }

    #rk-loop-guide .rk-loop-hero-metric {
      padding: 19px;
    }

    #rk-loop-guide .rk-loop-shortcuts {
      padding: 17px;
      border-radius: 18px;
    }

    #rk-loop-guide .rk-loop-shortcuts a {
      font-size: 0.72rem;
    }

    #rk-loop-guide .rk-loop-section,
    #rk-loop-guide .rk-loop-author {
      padding: 28px 19px;
    }

    #rk-loop-guide .rk-loop-answer,
    #rk-loop-guide .rk-loop-card,
    #rk-loop-guide .rk-loop-flow-step {
      padding: 20px;
    }

    #rk-loop-guide .rk-loop-tool-head,
    #rk-loop-guide .rk-loop-tool-body {
      padding: 22px 17px;
    }

    #rk-loop-guide .rk-loop-segmented {
      grid-template-columns: 1fr;
    }

    #rk-loop-guide .rk-loop-state-summary {
      grid-template-columns: 1fr;
    }

    #rk-loop-guide .rk-loop-state-dot {
      width: 44px;
      height: 44px;
    }

    #rk-loop-guide .rk-loop-step {
      padding: 66px 19px 19px;
    }

    #rk-loop-guide .rk-loop-step::before {
      top: 19px;
      left: 19px;
    }

    #rk-loop-guide .rk-loop-cta-button {
      width: 100%;
    }

    #rk-loop-guide .rk-loop-table-row > div {
      grid-template-columns: 1fr;
      gap: 4px;
    }

    #rk-loop-guide .rk-loop-loop-row,
    #rk-loop-guide .rk-loop-curve-row {
      grid-template-columns: 1fr;
      padding: 13px;
      border: 1px solid var(--rk-loop-line);
      border-radius: 14px;
      background: #ffffff;
    }

    #rk-loop-guide .rk-loop-remove-loop {
      width: 100%;
    }

    #rk-loop-guide .rk-loop-chart-wrap svg {
      min-height: 260px;
    }

    #rk-loop-guide .rk-loop-break-row {
      grid-template-columns: 1fr auto;
    }

    #rk-loop-guide .rk-loop-break-track {
      grid-column: 1 / -1;
      grid-row: 2;
    }
  }

  @media print {
    #rk-loop-guide .rk-loop-shortcuts,
    #rk-loop-guide .rk-loop-control-grid {
      display: none !important;
    }

    #rk-loop-guide .rk-loop-section,
    #rk-loop-guide .rk-loop-author,
    #rk-loop-guide .rk-loop-hero {
      break-inside: avoid;
      box-shadow: none;
    }

    #rk-loop-guide .rk-loop-faq details {
      break-inside: avoid;
    }

    #rk-loop-guide .rk-loop-faq details:not([open]) .rk-loop-faq-answer {
      display: block;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    #rk-loop-guide *,
    #rk-loop-guide *::before,
    #rk-loop-guide *::after {
      scroll-behavior: auto !important;
      transition-duration: 0.01ms !important;
    }
  }

  #rk-loop-guide .rk-loop-field input.rk-loop-range {
    width: 100%;
    min-height: 10px;
    height: 10px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: #dce8ed;
    accent-color: var(--rk-loop-orange);
    cursor: pointer;
  }

  #rk-loop-guide .rk-loop-field input.rk-loop-range:focus {
    outline: 3px solid rgba(95, 222, 240, 0.34);
    outline-offset: 5px;
  }

  #rk-loop-guide .rk-loop-control-label {
    display: block;
    margin: 22px 0 10px;
    color: var(--rk-loop-navy);
    font-size: 0.82rem;
    font-weight: 900;
  }

  #rk-loop-guide .rk-loop-limit-line {
    stroke: #ad6f13;
    stroke-width: 2;
    stroke-dasharray: 7 6;
  }

  #rk-loop-guide .rk-loop-limit-label {
    fill: #8a5914;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 11px;
    font-weight: 800;
  }

  #rk-loop-guide .rk-loop-current-guide {
    stroke: #8da0aa;
    stroke-width: 1.5;
    stroke-dasharray: 3 5;
  }

  #rk-loop-guide .rk-loop-section-dark .rk-loop-card {
    border-color: #cbd9e1;
    background: #ffffff;
    color: #173246;
  }

  #rk-loop-guide .rk-loop-section-dark .rk-loop-card h3 {
    color: #123247;
  }

  #rk-loop-guide .rk-loop-section-dark .rk-loop-card p,
  #rk-loop-guide .rk-loop-section-dark .rk-loop-card li {
    color: #3e5869;
  }

  #rk-loop-guide .rk-loop-section-dark .rk-loop-card a {
    color: #087a9f;
  }

  #rk-loop-guide button:focus-visible,
  #rk-loop-guide a:focus-visible,
  #rk-loop-guide summary:focus-visible {
    outline: 3px solid var(--rk-loop-cyan);
    outline-offset: 3px;
  }

  @media (max-width: 520px) {
    #rk-loop-guide .rk-loop-chart-card {
      padding: 12px;
    }

    #rk-loop-guide .rk-loop-chart-wrap svg {
      min-height: 235px;
    }

    #rk-loop-guide .rk-loop-graphic-controls button {
      width: 100%;
    }
  }



  #rk-loop-guide .rk-loop-equation-box {
    margin: 20px 0;
    padding: clamp(20px, 3vw, 30px);
    border: 1px solid #add6dc;
    border-radius: 20px;
    background: linear-gradient(135deg, #f0fbfc 0%, #ffffff 100%);
    box-shadow: 0 12px 30px rgba(13, 73, 88, 0.08);
  }

  #rk-loop-guide .rk-loop-equation-label {
    display: block;
    margin-bottom: 8px;
    color: #087083;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  #rk-loop-guide .rk-loop-equation-main {
    margin-bottom: 10px;
    color: var(--rk-loop-navy);
    font-size: clamp(1.18rem, 3vw, 1.78rem);
    font-weight: 950;
    line-height: 1.25;
    overflow-wrap: anywhere;
    font-variant-numeric: tabular-nums;
  }

  #rk-loop-guide .rk-loop-equation-box p {
    margin: 0;
    color: #3f5b69;
  }

  #rk-loop-guide .rk-loop-chart-bar {
    fill: var(--rk-loop-teal);
    stroke: transparent;
    stroke-width: 0;
    transition: opacity 0.18s ease, fill 0.18s ease;
  }

  #rk-loop-guide .rk-loop-chart-bar:hover,
  #rk-loop-guide .rk-loop-chart-bar:focus {
    opacity: 0.78;
    outline: none;
  }

  #rk-loop-guide .rk-loop-chart-bar.is-selected {
    fill: var(--rk-loop-orange);
  }

  #rk-loop-guide .rk-loop-chart-bar.is-over {
    fill: var(--rk-loop-red);
  }

  #rk-loop-guide .rk-loop-chart-bar.is-selected.is-over {
    fill: var(--rk-loop-red);
    stroke: var(--rk-loop-orange);
    stroke-width: 4;
  }

  #rk-loop-guide .rk-loop-chart-target-line {
    stroke: #9b6512;
    stroke-width: 2;
    stroke-dasharray: 8 6;
  }

  #rk-loop-guide .rk-loop-chart-target-label {
    fill: #81540e;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 12px;
    font-weight: 900;
  }

  #rk-loop-guide .rk-loop-chart-value {
    fill: #294b5c;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 12px;
    font-weight: 900;
  }

  #rk-loop-guide .rk-loop-chart-axis-title {
    fill: #476474;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 12px;
    font-weight: 800;
  }

  #rk-loop-guide .rk-loop-legend .is-danger i {
    background: var(--rk-loop-red);
  }

  @media (max-width: 620px) {
    #rk-loop-guide .rk-loop-equation-main {
      font-size: 1.08rem;
    }

    #rk-loop-guide .rk-loop-chart-value,
    #rk-loop-guide .rk-loop-chart-target-label,
    #rk-loop-guide .rk-loop-chart-axis-title {
      font-size: 10px;
    }
  }

</style>

<article id="rk-loop-guide" aria-labelledby="rk-loop-visual-title">
  <div class="rk-loop-shell">
    <header class="rk-loop-hero">
      <div class="rk-loop-hero-inner">
        <span class="rk-loop-kicker">Od OZC do nastawy na rozdzielaczu</span>
        <div class="rk-loop-hero-title" id="rk-loop-visual-title">Długość to dopiero <span>początek</span></div>
        <p class="rk-loop-hero-lead">Pętli grzewczej nie dobiera się wyłącznie z metrażu pomieszczenia ani z zasady „maksymalnie 100 m”. Jej powierzchnia, rozstaw, długość, przepływ i spadek ciśnienia muszą jednocześnie pozwolić pokryć obciążenie cieplne przy przyjętej temperaturze wody.</p>

        <div class="rk-loop-hero-tags" aria-label="Zakres poradnika">
          <span class="rk-loop-hero-tag">długość pętli</span>
          <span class="rk-loop-hero-tag">liczba obiegów</span>
          <span class="rk-loop-hero-tag">przepływ i ΔT</span>
          <span class="rk-loop-hero-tag">rozstaw rur</span>
          <span class="rk-loop-hero-tag">równoważenie</span>
        </div>

        <div class="rk-loop-byline">
          <span>Autor: <strong>Robert Kucharski</strong></span>
          <span>Czas czytania: około 32 minuty</span>
          <span>Aktualizacja techniczna: 11 września 2026 r.</span>
        </div>

        <div class="rk-loop-hero-metrics" aria-label="Trzy warstwy poprawnego projektu pętli">
          <div class="rk-loop-hero-metric">
            <b>Moc i powierzchnia</b>
            <span>OZC pomieszczenia oraz rzeczywista powierzchnia czynna określają, ile ciepła podłoga musi przekazać.</span>
          </div>
          <div class="rk-loop-hero-metric">
            <b>Długość i przepływ</b>
            <span>Rozstaw, geometria i podejścia wyznaczają metry rury, a moc i projektowe ΔT — wymagany strumień wody.</span>
          </div>
          <div class="rk-loop-hero-metric">
            <b>Opór i równoważenie</b>
            <span>Charakterystyka rury, zaworów i rozdzielacza decyduje, czy przepływ będzie osiągalny i stabilny.</span>
          </div>
        </div>
      </div>
    </header>

    <nav class="rk-loop-shortcuts" aria-label="Na skróty — wszystkie sekcje artykułu">
      <span class="rk-loop-shortcuts-label">Na skróty</span>
      <a href="#rk-loop-answer">Czym jest pętla?</a>
      <a href="#rk-loop-data">Dane projektowe</a>
      <a href="#rk-loop-calculator">Kalkulator i wykres</a>
      <a href="#rk-loop-length">Długość pętli</a>
      <a href="#rk-loop-count">Liczba pętli</a>
      <a href="#rk-loop-flow">Przepływ i ΔT</a>
      <a href="#rk-loop-pressure">Spadek ciśnienia</a>
      <a href="#rk-loop-graphic">Grafika zależności</a>
      <a href="#rk-loop-spacing">Rozstaw rur</a>
      <a href="#rk-loop-layout">Ślimak czy meander?</a>
      <a href="#rk-loop-zones">Pomieszczenia i strefy</a>
      <a href="#rk-loop-balancing">Równoważenie</a>
      <a href="#rk-loop-source">Pompa i źródło</a>
      <a href="#rk-loop-installation">Wykonanie</a>
      <a href="#rk-loop-symptoms">Objawy problemów</a>
      <a href="#rk-loop-errors">Najczęstsze błędy</a>
      <a href="#rk-loop-checklist">Lista kontrolna</a>
      <a href="#rk-loop-conclusions">Wnioski</a>
      <a href="#rk-loop-references">Źródła</a>
      <a href="#rk-loop-faq">FAQ</a>
      <a href="#rk-loop-author">Autor</a>
    </nav>

    <section class="rk-loop-section" id="rk-loop-answer">
      <span class="rk-loop-eyebrow">Odpowiedź w 30 sekund</span>
      <h2 class="rk-loop-section-title">Czym jest pętla grzewcza ogrzewania podłogowego?</h2>
      <div class="rk-loop-answer">
        <span class="rk-loop-answer-label">Najkrótsza poprawna definicja</span>
        <p><strong>Pętla grzewcza to jeden ciągły obieg rury podłączony początkiem do belki zasilającej rozdzielacza, poprowadzony przez wyznaczoną powierzchnię podłogi i zakończony na belce powrotnej. Przepływająca woda przekazuje energię warstwom podłogi, a jej wymagany strumień wynika z mocy przypisanej do obiegu i projektowej różnicy temperatur.</strong></p>
      </div>

      <div class="rk-loop-grid-4">
        <article class="rk-loop-card"><span class="rk-loop-card-number">1</span><h3>Zasilanie</h3><p>Woda wpływa do pętli z belki zasilającej rozdzielacza. Temperatura jest wspólna dla danego obiegu mieszającego lub źródłowego.</p></article>
        <article class="rk-loop-card"><span class="rk-loop-card-number">2</span><h3>Powierzchnia czynna</h3><p>Rura biegnie tylko przez obszar przewidziany do emisji ciepła. Stała zabudowa może ograniczać rzeczywistą powierzchnię.</p></article>
        <article class="rk-loop-card"><span class="rk-loop-card-number">3</span><h3>Powrót</h3><p>Po przekazaniu części energii woda wraca do drugiej belki. Różnica temperatur nie jest stałą cechą długości rury.</p></article>
        <article class="rk-loop-card"><span class="rk-loop-card-number">4</span><h3>Regulacja</h3><p>Rotametr lub zawór nastawczy pozwala ustawić przepływ obliczony dla pętli, a siłownik może sterować jej stanem.</p></article>
      </div>

      <p>Pętla jest częścią układu obejmującego również <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/">rozdzielacz ogrzewania podłogowego</a>, przewody wspólne, pompę obiegową, źródło ciepła i automatykę. Nie należy więc utożsamiać długości jednej rury z parametrami całej instalacji.</p>
      <div class="rk-loop-callout"><strong>Dwie pętle o identycznej długości nie muszą mieć tej samej mocy ani przepływu.</strong> Mogą obsługiwać pomieszczenia o innym obciążeniu, powierzchni czynnej, okładzinie i temperaturze wewnętrznej.</div>
    </section>

    <section class="rk-loop-section rk-loop-section-soft" id="rk-loop-data">
      <span class="rk-loop-eyebrow">Najpierw wymagania cieplne, później geometria</span>
      <h2 class="rk-loop-section-title">Jakie dane są potrzebne do zaprojektowania pętli?</h2>
      <p class="rk-loop-lead">Metraż pokoju i wybrany rozstaw to za mało. Projekt powinien połączyć wymagania cieplne pomieszczenia, możliwości powierzchni grzewczej oraz hydraulikę rury.</p>

      <div class="rk-loop-spec-grid">
        <div class="rk-loop-spec"><span class="rk-loop-spec-mark">1</span><div><strong>Obciążenie cieplne</strong><span><a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">Projektowe obciążenie cieplne pomieszczenia</a> określa moc potrzebną w przyjętych warunkach obliczeniowych.</span></div></div>
        <div class="rk-loop-spec"><span class="rk-loop-spec-mark">2</span><div><strong>Powierzchnia czynna</strong><span>Od powierzchni podłogi odejmuje się obszary trwale wyłączone z grzania zgodnie z projektem i planowaną zabudową.</span></div></div>
        <div class="rk-loop-spec"><span class="rk-loop-spec-mark">3</span><div><strong>Konstrukcja podłogi</strong><span>Położenie rury, jastrych, warstwy i <a href="https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/">opór okładziny</a> wpływają na relację między temperaturą wody i mocą.</span></div></div>
        <div class="rk-loop-spec"><span class="rk-loop-spec-mark">4</span><div><strong>Temperatury projektowe</strong><span>Potrzebna jest temperatura zasilania, powrotu i pomieszczenia oraz sprawdzenie ograniczeń powierzchni i materiałów.</span></div></div>
        <div class="rk-loop-spec"><span class="rk-loop-spec-mark">5</span><div><strong>Rozstaw i układ</strong><span>Rozstaw wynika z wymaganej emisji i konstrukcji systemu, a sposób prowadzenia rury z geometrii oraz rozkładu temperatury.</span></div></div>
        <div class="rk-loop-spec"><span class="rk-loop-spec-mark">6</span><div><strong>Rura i medium</strong><span>Średnica wewnętrzna, materiał, temperatura oraz udział glikolu wpływają na prędkość i opory przepływu.</span></div></div>
        <div class="rk-loop-spec"><span class="rk-loop-spec-mark">7</span><div><strong>Położenie rozdzielacza</strong><span>Odcinki dobiegowe i powrotne wliczają się do długości pętli, choć nie zawsze stanowią aktywną powierzchnię grzewczą.</span></div></div>
        <div class="rk-loop-spec"><span class="rk-loop-spec-mark">8</span><div><strong>Strefy i dylatacje</strong><span>Granice pomieszczeń, płyt jastrychu oraz plan regulacji wpływają na podział powierzchni na niezależne obiegi.</span></div></div>
      </div>

      <div class="rk-loop-chain" aria-label="Kolejność projektowania pętli">
        <div class="rk-loop-chain-item"><strong>OZC pomieszczenia</strong><span>wymagana moc</span></div>
        <div class="rk-loop-chain-item"><strong>Model emisji podłogi</strong><span>temperatura i rozstaw</span></div>
        <div class="rk-loop-chain-item"><strong>Geometria pętli</strong><span>liczba i długości</span></div>
        <div class="rk-loop-chain-item"><strong>Hydraulika</strong><span>przepływ i opory</span></div>
        <div class="rk-loop-chain-item"><strong>Nastawy</strong><span>rozdzielacz i pompa</span></div>
      </div>

      <p>Szerszy opis pierwszego etapu znajduje się w poradniku o tym, <a href="https://projekt-ogrzewania.pl/jak-oblicza-sie-straty-cieplne-w-budynkach/">jak oblicza się straty ciepła budynku</a>. Dopiero później można świadomie zaplanować rozmieszczenie rur.</p>
    </section>

    <section class="rk-loop-section" id="rk-loop-calculator">
      <span class="rk-loop-eyebrow">Szacunek geometryczny i prawidłowy bilans przepływu</span>
      <h2 class="rk-loop-section-title">Kalkulator długości, liczby pętli i przepływu</h2>
      <p class="rk-loop-lead">Wprowadź powierzchnię rzeczywiście ogrzewaną, rozstaw, podejście do rozdzielacza, moc pomieszczenia oraz projektowe ΔT. Wykres pokaże, jak podział na kolejne obiegi zmienia średnią długość jednej pętli.</p>

      <div class="rk-loop-tool" id="rk-loop-calculator-tool">
        <div class="rk-loop-tool-head">
          <span class="rk-loop-eyebrow">Kalkulator edukacyjny z wykresem 1–8 pętli</span>
          <h3>Sprawdź wariant podziału powierzchni</h3>
          <p>Narzędzie jawnie oddziela szacunek długości od obliczenia przepływu. Nie wyznacza mocy podłogi ani spadku ciśnienia bez danych konkretnej rury.</p>
        </div>

        <div class="rk-loop-tool-body">
          <div class="rk-loop-field-grid rk-loop-field-grid-3">
            <div class="rk-loop-field">
              <label for="rk-loop-area">Powierzchnia czynna</label>
              <input id="rk-loop-area" type="number" min="1" max="200" step="0.1" value="35" inputmode="decimal">
              <span class="rk-loop-field-help">Tylko obszar, na którym rzeczywiście będzie ułożona rura.</span>
            </div>
            <div class="rk-loop-field">
              <label for="rk-loop-spacing-input">Rozstaw rur</label>
              <select id="rk-loop-spacing-input">
                <option value="0.10">10 cm</option>
                <option value="0.15" selected="">15 cm</option>
                <option value="0.20">20 cm</option>
              </select>
              <span class="rk-loop-field-help">Rozstaw musi wcześniej spełnić wymagania cieplne i systemowe.</span>
            </div>
            <div class="rk-loop-field">
              <label for="rk-loop-allowance">Dodatek geometryczny</label>
              <input id="rk-loop-allowance" type="number" min="0" max="20" step="1" value="5" inputmode="decimal">
              <span class="rk-loop-field-help">Orientacyjny zapas na łuki i dopasowanie trasy w polu grzewczym.</span>
            </div>
            <div class="rk-loop-field">
              <label for="rk-loop-distance">Odległość do pola — w jedną stronę</label>
              <input id="rk-loop-distance" type="number" min="0" max="50" step="0.5" value="4" inputmode="decimal">
              <span class="rk-loop-field-help">Każda pętla potrzebuje odcinka zasilającego i powrotnego.</span>
            </div>
            <div class="rk-loop-field">
              <label for="rk-loop-power">Projektowa moc pomieszczenia</label>
              <input id="rk-loop-power" type="number" min="100" max="20000" step="10" value="1600" inputmode="decimal">
              <span class="rk-loop-field-help">Wartość z OZC dla analizowanej powierzchni, wyrażona w watach.</span>
            </div>
            <div class="rk-loop-field">
              <label for="rk-loop-delta">Projektowe ΔT wody</label>
              <input id="rk-loop-delta" type="number" min="2" max="20" step="0.5" value="5" inputmode="decimal">
              <span class="rk-loop-field-help">Różnica temperatur zasilania i powrotu przy projektowej mocy.</span>
            </div>
          </div>

          <div class="rk-loop-field-grid">
            <div class="rk-loop-field">
              <label for="rk-loop-count-input">Analizowana liczba pętli: <strong id="rk-loop-count-label">3</strong></label>
              <input class="rk-loop-range" id="rk-loop-count-input" type="range" min="1" max="8" step="1" value="3">
              <span class="rk-loop-field-help">Wykres porówna wszystkie warianty, a wyniki liczbowe pokażą zaznaczony podział.</span>
            </div>
            <div class="rk-loop-field">
              <label for="rk-loop-limit">Przyjęty limit projektowy długości</label>
              <input id="rk-loop-limit" type="number" min="40" max="150" step="5" value="100" inputmode="decimal">
              <span class="rk-loop-field-help">Domyślnie 100 m jako praktyka autora dla rury 16×2, a nie uniwersalny limit normowy.</span>
            </div>
          </div>

          <div class="rk-loop-calc-layout">
            <div class="rk-loop-results" aria-live="polite">
              <div class="rk-loop-result-grid">
                <div class="rk-loop-result"><span>Rura w polu grzewczym</span><strong id="rk-loop-result-active">245,0 m</strong></div>
                <div class="rk-loop-result"><span>Rura łącznie z podejściami</span><strong id="rk-loop-result-total">269,0 m</strong></div>
                <div class="rk-loop-result"><span>Średnia długość pętli</span><strong id="rk-loop-result-average">89,7 m</strong></div>
                <div class="rk-loop-result"><span>Powierzchnia na pętlę</span><strong id="rk-loop-result-area">11,7 m²</strong></div>
                <div class="rk-loop-result"><span>Przepływ całkowity</span><strong id="rk-loop-result-flow-total">275 l/h</strong></div>
                <div class="rk-loop-result"><span>Przepływ na pętlę</span><strong id="rk-loop-result-flow-loop">1,53 l/min</strong></div>
              </div>

              <div class="rk-loop-breakdown">
                <span class="rk-loop-breakdown-title">Co dokładnie policzono?</span>
                <p class="rk-loop-equation" id="rk-loop-length-equation">35 m² ÷ 0,15 m × 1,05 + 2 × 4 m × 3 pętle = 269,0 m.</p>
                <p class="rk-loop-equation" id="rk-loop-flow-equation">Przepływ: 0,86 × 1600 W ÷ 5 K = 275 l/h.</p>
              </div>
              <div class="rk-loop-status is-good" id="rk-loop-calculator-status">Średnia długość mieści się w przyjętym limicie. Nadal trzeba sprawdzić długości rzeczywistych tras, moc powierzchni i opory rury.</div>
            </div>

            <div class="rk-loop-chart-card">
              <div class="rk-loop-chart-title">Średnia długość pętli przy podziale na 1–8 obiegów</div>
              <div class="rk-loop-chart-wrap">
                <svg id="rk-loop-chart" viewBox="0 0 800 430" role="img" aria-labelledby="rk-loop-chart-title-svg rk-loop-chart-desc">
                  <title id="rk-loop-chart-title-svg">Porównanie długości pętli</title>
                  <desc id="rk-loop-chart-desc">Wykres słupkowy pokazuje orientacyjną średnią długość jednej pętli dla podziału powierzchni na od jednego do ośmiu obiegów.</desc>
                </svg>
              </div>
              <div class="rk-loop-legend" aria-label="Legenda wykresu">
                <span><i></i>w limicie</span>
                <span class="is-pump"><i></i>wybrany wariant</span>
                <span class="is-danger"><i></i>powyżej limitu</span>
              </div>
            </div>
          </div>

          <div class="rk-loop-tool-disclaimer"><strong>Zakres kalkulatora:</strong> długość w polu jest szacunkiem geometrycznym A/s z dodatkiem wpisanym przez użytkownika. Rzeczywista trasa zależy od kształtu powierzchni, stref wyłączonych, dylatacji i lokalizacji rozdzielacza. Przepływ zakłada wodę oraz równy podział mocy między pętle. Narzędzie nie sprawdza wydajności cieplnej, temperatury powierzchni, prędkości, spadku ciśnienia ani charakterystyki pompy.</div>
        </div>
      </div>

      <p>Jeżeli chcesz przeanalizować samą relację powierzchni i metrów rury, zobacz również poradnik <a href="https://projekt-ogrzewania.pl/ile-rury-na-m%c2%b2-ogrzewania-podlogowego/">ile rury potrzeba na 1 m² podłogówki</a>. Dokładne rozmieszczenie musi jednak uwzględnić kształt pomieszczenia oraz strefy bez rur.</p>

      <div class="rk-loop-cta">
        <div class="rk-loop-cta-title">Kalkulator pokaże możliwy podział. Projekt sprawdzi, czy każda pętla naprawdę zadziała</div>
        <p>Jeżeli z powierzchni i rozstawu wychodzą dwie, trzy albo cztery pętle, kolejne pytanie dotyczy mocy, temperatury powierzchni, przepływu, spadku ciśnienia i nastaw rozdzielacza. W projekcie wszystkie te parametry zostają policzone jako jeden układ.</p>
        <a class="rk-loop-cta-button" href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Zamów projekt pętli, przepływów i rozdzielaczy</a>
        <small class="rk-loop-link-disclosure">Odnośnik prowadzi do płatnej usługi projektowej autora poradnika.</small>
      </div>
    </section>

    <section class="rk-loop-section rk-loop-section-soft" id="rk-loop-length">
      <span class="rk-loop-eyebrow">Limit jest wynikiem hydrauliki, nie jedną liczbą z normy</span>
      <h2 class="rk-loop-section-title">Ile metrów może mieć jedna pętla grzewcza?</h2>
      <p class="rk-loop-lead">Nie istnieje jedna maksymalna długość właściwa dla każdej rury i każdego przepływu. Długość trzeba sprawdzić razem ze średnicą wewnętrzną, medium, projektowym strumieniem i dopuszczalnym spadkiem ciśnienia.</p>

      <div class="rk-loop-grid-3">
        <article class="rk-loop-card"><h3>Praktyka autora dla 16×2</h3><p>W projektach domowych przyjmujemy zwykle pętle nie dłuższe niż 100 m łącznie z podejściami. Jest to kryterium projektowe pomagające utrzymać rozsądne opory, a nie granica zapisana jako stała dla każdej instalacji.</p></article>
        <article class="rk-loop-card"><h3>Długość nie wystarcza</h3><p>Ta sama pętla może mieć mały spadek ciśnienia przy niewielkim przepływie i znacznie większy przy wyższym. Dlatego nie da się ocenić 100 m bez przepływu oraz danych rury.</p></article>
        <article class="rk-loop-card"><h3>Podejścia również się liczą</h3><p>Odcinki od rozdzielacza do pola i z powrotem zwiększają całkowitą długość hydrauliczną. Daleki rozdzielacz może wymusić dodatkowy podział lub zmianę jego lokalizacji.</p></article>
      </div>

      <div class="rk-loop-compare-table" role="table" aria-label="Co zmienia dopuszczalną długość pętli">
        <div class="rk-loop-table-row rk-loop-table-head" role="row"><div role="columnheader">Parametr</div><div role="columnheader">Wpływ</div><div role="columnheader">Co sprawdzić</div></div>
        <div class="rk-loop-table-row" role="row"><div class="rk-loop-table-label" data-label="Parametr" role="cell">Średnica wewnętrzna</div><div data-label="Wpływ" role="cell">Mała zmiana przekroju silnie wpływa na prędkość i jednostkową stratę ciśnienia.</div><div data-label="Sprawdzenie" role="cell">Dokładny wymiar rury, nie tylko handlowe oznaczenie średnicy zewnętrznej.</div></div>
        <div class="rk-loop-table-row" role="row"><div class="rk-loop-table-label" data-label="Parametr" role="cell">Projektowy przepływ</div><div data-label="Wpływ" role="cell">Większy strumień zwiększa prędkość i opory przepływu w tej samej rurze.</div><div data-label="Sprawdzenie" role="cell">Moc przypisaną do pętli i przyjęte ΔT.</div></div>
        <div class="rk-loop-table-row" role="row"><div class="rk-loop-table-label" data-label="Parametr" role="cell">Medium i temperatura</div><div data-label="Wpływ" role="cell">Lepkość wody lub mieszaniny glikolowej zmienia charakterystykę hydrauliczną.</div><div data-label="Sprawdzenie" role="cell">Rodzaj oraz stężenie czynnika w temperaturach projektowych.</div></div>
        <div class="rk-loop-table-row" role="row"><div class="rk-loop-table-label" data-label="Parametr" role="cell">Zawory i rozdzielacz</div><div data-label="Wpływ" role="cell">Wkładki, rotametry i przyłącza wnoszą opory dodatkowe do samej rury.</div><div data-label="Sprawdzenie" role="cell">Charakterystyki Kv i dokumentację producenta.</div></div>
      </div>

      <p>Osobne przypadki omawiają poradniki o <a href="https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/">maksymalnej długości pętli</a> oraz o tym, jakie problemy może powodować <a href="https://projekt-ogrzewania.pl/za-dluga-petla-podlogowki/">za długa pętla podłogówki</a>.</p>
      <div class="rk-loop-warning"><strong>Pętla dłuższa niż przyjęte 100 m nie ma automatycznie spadku powyżej 20 kPa.</strong> Wynik może być mniejszy albo większy zależnie od przepływu, rury, czynnika i elementów regulacyjnych.</div>
    </section>

    <section class="rk-loop-section" id="rk-loop-count">
      <span class="rk-loop-eyebrow">Podział powinien odpowiadać zarówno geometrii, jak i mocy</span>
      <h2 class="rk-loop-section-title">Ile pętli wykonać w jednym pomieszczeniu?</h2>
      <p class="rk-loop-lead">Liczbę pętli wyznacza się przez iterację. Najpierw sprawdza się powierzchnię i rozstaw, następnie rzeczywiste trasy, obciążenie przypadające na obieg, wymagany przepływ oraz spadek ciśnienia.</p>

      <div class="rk-loop-grid-4">
        <article class="rk-loop-card"><span class="rk-loop-card-number">1</span><h3>Oszacuj metry rury</h3><p>Dla regularnej powierzchni długość w polu można wstępnie oszacować jako powierzchnię czynną podzieloną przez rozstaw.</p></article>
        <article class="rk-loop-card"><span class="rk-loop-card-number">2</span><h3>Dodaj podejścia</h3><p>Do każdej proponowanej pętli dolicz drogę zasilania i powrotu pomiędzy rozdzielaczem a polem grzewczym.</p></article>
        <article class="rk-loop-card"><span class="rk-loop-card-number">3</span><h3>Podziel powierzchnię</h3><p>Granice pętli prowadzi się tak, aby odpowiadały geometrii, dylatacjom i możliwie równomiernemu pokryciu obciążenia.</p></article>
        <article class="rk-loop-card"><span class="rk-loop-card-number">4</span><h3>Sprawdź hydraulikę</h3><p>Każdy wariant wymaga wyznaczenia przepływu, prędkości, oporu rury i możliwości regulacji na rozdzielaczu.</p></article>
      </div>

      <p>Duży salon może potrzebować dwóch, trzech lub większej liczby pętli, ale nie wynika to z jednej granicy powierzchni. Praktyczne przykłady zawiera poradnik <a href="https://projekt-ogrzewania.pl/salon-ile-petli-podlogowki/">ile pętli podłogówki wykonać w salonie</a>. Przy rysowaniu tras pomocna jest również instrukcja, <a href="https://projekt-ogrzewania.pl/jak-zaplanowac-rozmieszczenie-petli-grzewczych-w-ogrzewaniu-podlogowym/">jak zaplanować rozmieszczenie pętli grzewczych</a>.</p>

      <div class="rk-loop-callout"><strong>Pętli nie trzeba sztucznie wydłużać do tej samej liczby metrów.</strong> Korzystne jest rozsądne zbliżenie warunków obiegów obsługujących tę samą powierzchnię, ale ostatecznie liczą się obliczone przepływy, spadki ciśnienia i możliwość równoważenia.</div>
    </section>

    <section class="rk-loop-section rk-loop-section-soft" id="rk-loop-flow">
      <span class="rk-loop-eyebrow">Moc przenosi woda, nie liczba metrów</span>
      <h2 class="rk-loop-section-title">Jak obliczyć przepływ pętli i projektowe ΔT?</h2>
      <p class="rk-loop-lead">Dla wody wymagany przepływ wynika z mocy przypisanej do pętli i przyjętej różnicy temperatur zasilania oraz powrotu. Nie wyznacza się go wyłącznie na podstawie długości rury.</p>

      <div class="rk-loop-equation-box">
        <span class="rk-loop-equation-label">Uproszczona zależność dla wody</span>
        <div class="rk-loop-equation-main">V̇ [l/h] ≈ 0,86 × P [W] ÷ ΔT [K]</div>
        <p>Przykład: 1250 W przy ΔT = 8 K wymaga około 134 l/h, czyli około 2,24 l/min. Jeżeli moc zostanie równo podzielona na dwie pętle, każda otrzyma orientacyjnie 67 l/h.</p>
      </div>

      <div class="rk-loop-grid-3">
        <article class="rk-loop-card"><h3>Moc pętli</h3><p>Powinna wynikać z części obciążenia pomieszczenia przypisanej do jej powierzchni, a nie z założenia, że każda pętla ma jednakową moc.</p></article>
        <article class="rk-loop-card"><h3>Projektowe ΔT</h3><p>Jest elementem projektu cieplnego i hydraulicznego. Nie ma jednej „optymalnej” wartości właściwej dla każdej powierzchni i źródła.</p></article>
        <article class="rk-loop-card"><h3>Przepływ rzeczywisty</h3><p>Odczyt z rotametru zależy od dostępnej różnicy ciśnień, położenia zaworów, charakterystyki pompy i stanu pozostałych pętli.</p></article>
      </div>

      <p>Znaczenie temperatur zasilania i powrotu szerzej opisuje materiał o <a href="https://projekt-ogrzewania.pl/spadek-temperatury-%ce%b4t-roznica-miedzy-temperatura-zasilania-a-powrotu/">różnicy temperatur ΔT w podłogówce</a>. Dla mieszaniny glikolowej trzeba zastosować właściwe ciepło, gęstość i lepkość konkretnego stężenia zamiast współczynnika dla wody.</p>
      <div class="rk-loop-note"><strong>Małe ΔT nie zawsze oznacza błąd, a duże nie zawsze dowodzi zbyt długiej pętli.</strong> Wynik trzeba odnosić do aktualnej mocy, przepływu, temperatur powierzchni, stanów zaworów i warunków pracy źródła.</div>
    </section>

    <section class="rk-loop-section" id="rk-loop-pressure">
      <span class="rk-loop-eyebrow">Pętla krytyczna wyznacza wymagane ciśnienie różnicowe</span>
      <h2 class="rk-loop-section-title">Jak długość i przepływ wpływają na spadek ciśnienia?</h2>
      <p class="rk-loop-lead">Całkowity spadek ciśnienia pętli obejmuje opór liniowy rury i opory elementów znajdujących się na jej drodze. Rośnie wraz z długością, a zależność od przepływu jest nieliniowa.</p>

      <div class="rk-loop-chain" aria-label="Składniki krytycznej drogi hydraulicznej">
        <div class="rk-loop-chain-item"><strong>Przewód wspólny</strong><span>zasilanie do rozdzielacza</span></div>
        <div class="rk-loop-chain-item"><strong>Belka i zawory</strong><span>rozdział przepływu</span></div>
        <div class="rk-loop-chain-item"><strong>Pętla krytyczna</strong><span>rura i łuki</span></div>
        <div class="rk-loop-chain-item"><strong>Powrót</strong><span>belka i magistrala</span></div>
        <div class="rk-loop-chain-item"><strong>Pompa</strong><span>wymagany punkt Q–H</span></div>
      </div>

      <div class="rk-loop-grid-2">
        <article class="rk-loop-card"><h3>Co się sumuje?</h3><p>Na jednej krytycznej drodze dodaje się straty przewodów, rozdzielacza, zaworów i innych elementów. Nie sumuje się spadków ciśnienia wszystkich równoległych pętli tak, jakby leżały jedna za drugą.</p></article>
        <article class="rk-loop-card"><h3>Co wyznacza pompę?</h3><p>Wymagany przepływ całkowity jest sumą przepływów jednocześnie czynnych obiegów, natomiast wysokość podnoszenia odpowiada najbardziej wymagającej drodze przy tym stanie instalacji.</p></article>
      </div>

      <p>Sam kalkulator długości nie może wiarygodnie podać oporu bez tabel lub charakterystyki konkretnego przewodu. Pełną metodę doboru przedstawia poradnik o <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">pompie obiegowej w instalacji ogrzewania podłogowego</a>.</p>
      <div class="rk-loop-warning"><strong>Próg 20 kPa jest użytecznym założeniem projektowym autora, ale nie uniwersalną granicą bezpieczeństwa każdej pętli.</strong> Dopuszczalny opór wynika z bilansu całej drogi i dostępnej charakterystyki pompy.</div>
    </section>

    <section class="rk-loop-section rk-loop-section-soft" id="rk-loop-graphic">
      <span class="rk-loop-eyebrow">Interaktywna grafika edukacyjna</span>
      <h2 class="rk-loop-section-title">Co zmienia jeden parametr pętli?</h2>
      <p class="rk-loop-lead">Wybierz scenariusz. Sześć niezależnych modułów pokaże, gdzie pojawia się bezpośredni skutek, które wartości trzeba przeliczyć i czego nie wolno zakładać automatycznie.</p>

      <div class="rk-loop-tool" id="rk-loop-dependency-tool">
        <div class="rk-loop-tool-head">
          <span class="rk-loop-eyebrow">Od powierzchni do pompy obiegowej</span>
          <h3>Prześledź zależności projektowe</h3>
          <p>Grafika nie podaje uniwersalnej odpowiedzi. Rozdziela wpływ geometrii, mocy, przepływu i oporów, aby czytelnik widział przyczynę oraz skutek.</p>
        </div>
        <div class="rk-loop-tool-body">
          <div class="rk-loop-graphic-controls" role="group" aria-label="Wybierz zmianę parametru pętli">
            <button type="button" data-rk-loop-scenario="spacing" aria-pressed="true">Zmniejszam rozstaw rur</button>
            <button type="button" data-rk-loop-scenario="length" aria-pressed="false">Wydłużam pętlę</button>
            <button type="button" data-rk-loop-scenario="flow" aria-pressed="false">Zwiększam przepływ</button>
            <button type="button" data-rk-loop-scenario="finish" aria-pressed="false">Zmieniam okładzinę</button>
          </div>

          <div class="rk-loop-hydraulic-grid" aria-live="polite">
            <article class="rk-loop-hydraulic-card is-active" data-rk-loop-component="load">
              <span class="rk-loop-hydraulic-number">1</span><h3>Obciążenie cieplne</h3>
              <span class="rk-loop-hydraulic-value" data-rk-loop-component-value="">Nie zmienia się od samego rozstawu</span>
              <p data-rk-loop-component-copy="">Straty pomieszczenia wynikają z przegród, wentylacji i warunków obliczeniowych, a nie z liczby metrów rury.</p>
            </article>
            <article class="rk-loop-hydraulic-card is-active" data-rk-loop-component="surface">
              <span class="rk-loop-hydraulic-number">2</span><h3>Powierzchnia i emisja</h3>
              <span class="rk-loop-hydraulic-value" data-rk-loop-component-value="">Zmienia się charakterystyka emitera</span>
              <p data-rk-loop-component-copy="">Mniejszy rozstaw może poprawić równomierność i zmienić wymaganą temperaturę średnią wody.</p>
            </article>
            <article class="rk-loop-hydraulic-card is-active" data-rk-loop-component="geometry">
              <span class="rk-loop-hydraulic-number">3</span><h3>Rozstaw i długość</h3>
              <span class="rk-loop-hydraulic-value" data-rk-loop-component-value="">Rośnie liczba metrów w polu</span>
              <p data-rk-loop-component-copy="">Ta sama powierzchnia przy gęstszym rozstawie wymaga dłuższej rury i może potrzebować większej liczby pętli.</p>
            </article>
            <article class="rk-loop-hydraulic-card is-active" data-rk-loop-component="flow">
              <span class="rk-loop-hydraulic-number">4</span><h3>Przepływ i ΔT</h3>
              <span class="rk-loop-hydraulic-value" data-rk-loop-component-value="">Nie wynika bezpośrednio z rozstawu</span>
              <p data-rk-loop-component-copy="">Przepływ nadal oblicza się z mocy przypisanej do pętli i przyjętej różnicy temperatur.</p>
            </article>
            <article class="rk-loop-hydraulic-card is-active" data-rk-loop-component="pressure">
              <span class="rk-loop-hydraulic-number">5</span><h3>Spadek ciśnienia</h3>
              <span class="rk-loop-hydraulic-value" data-rk-loop-component-value="">Wymaga ponownego sprawdzenia</span>
              <p data-rk-loop-component-copy="">Dłuższa rura zwiększa opór liniowy, lecz wynik zależy również od przepływu i średnicy wewnętrznej.</p>
            </article>
            <article class="rk-loop-hydraulic-card is-active" data-rk-loop-component="control">
              <span class="rk-loop-hydraulic-number">6</span><h3>Rozdzielacz i pompa</h3>
              <span class="rk-loop-hydraulic-value" data-rk-loop-component-value="">Sprawdź podział i punkt pracy</span>
              <p data-rk-loop-component-copy="">Większa liczba obiegów zmienia sumaryczny przepływ rozdzielacza i liczbę wymaganych sekcji.</p>
            </article>
          </div>

          <div class="rk-loop-graphic-result" id="rk-loop-scenario-result" role="status" aria-live="polite">
            <strong>Mniejszy rozstaw zwiększa długość rury, ale nie zmienia strat ciepła budynku.</strong>
            <p>Może zmienić charakterystykę oddawania ciepła i liczbę pętli. Przepływ nadal trzeba wyznaczyć z mocy, a opory sprawdzić dla nowej geometrii.</p>
          </div>
          <div class="rk-loop-tool-disclaimer"><strong>Granica grafiki:</strong> moduł pokazuje kierunek zależności, nie wartość zmiany. Nie zastępuje modelu emisji podłogi, charakterystyk rury, obliczeń hydraulicznych ani dokumentacji systemu.</div>
        </div>
      </div>
    </section>

    <section class="rk-loop-section" id="rk-loop-spacing">
      <span class="rk-loop-eyebrow">Rozstaw jest parametrem cieplnym i geometrycznym</span>
      <h2 class="rk-loop-section-title">Jak dobrać rozstaw rur w pętli grzewczej?</h2>
      <p class="rk-loop-lead">Rozstaw 10, 15 lub 20 cm nie powinien być przypisany do nazwy pomieszczenia. Dobiera się go tak, aby powierzchnia pokryła obciążenie przy dopuszczalnej temperaturze oraz możliwie niskim parametrze wody.</p>

      <div class="rk-loop-grid-3">
        <article class="rk-loop-card"><h3>Mniejszy rozstaw</h3><p>Zwiększa długość rury na tej samej powierzchni i zwykle poprawia równomierność. Nie gwarantuje jednak wymaganej mocy bez sprawdzenia temperatur oraz konstrukcji podłogi.</p></article>
        <article class="rk-loop-card"><h3>Większy rozstaw</h3><p>Zmniejsza liczbę metrów rury, lecz może wymagać wyższej temperatury średniej i powodować większe różnice temperatury powierzchni.</p></article>
        <article class="rk-loop-card"><h3>Strefa brzegowa</h3><p>Zagęszczenie przy przeszkleniu może być jednym z wariantów, ale jego szerokość, rozstaw i sposób zasilenia wynikają z obliczeń, a nie stałej reguły.</p></article>
      </div>

      <p>Porównanie wariantów znajduje się w poradniku <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-ogrzewaniu-podlogowym-co-10-czy-15-cm/">rozstaw rur 10 czy 15 cm</a>. Projekt z pompą ciepła wymaga dodatkowo sprawdzenia, czy wybrana geometria pozwala utrzymać założoną <a href="https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/">temperaturę zasilania podłogówki</a>.</p>
      <div class="rk-loop-callout"><strong>Dom o małym obciążeniu nie potrzebuje automatycznie gęstszego rozstawu.</strong> Często właśnie niewielka wymagana moc pozwala zastosować większy rozstaw przy zachowaniu niskiej temperatury wody.</div>
    </section>

    <section class="rk-loop-section rk-loop-section-soft" id="rk-loop-layout">
      <span class="rk-loop-eyebrow">Najważniejsza różnica dotyczy rozkładu temperatury</span>
      <h2 class="rk-loop-section-title">Układ ślimakowy czy meandrowy?</h2>
      <p class="rk-loop-lead">Oba układy mogą być poprawne. Ślimak ułatwia uzyskanie równomiernego rozkładu, natomiast meander pozwala świadomie skierować cieplejszy początek pętli w wybraną strefę lub dopasować trasę do wąskiej geometrii.</p>

      <div class="rk-loop-compare-table" role="table" aria-label="Porównanie układu ślimakowego i meandrowego">
        <div class="rk-loop-table-row rk-loop-table-head" role="row"><div role="columnheader">Cecha</div><div role="columnheader">Ślimak</div><div role="columnheader">Meander</div></div>
        <div class="rk-loop-table-row" role="row"><div class="rk-loop-table-label" data-label="Cecha" role="cell">Rozkład temperatury</div><div data-label="Ślimak" role="cell">Zasilanie i powrót biegną obok siebie, co sprzyja wyrównaniu temperatury powierzchni.</div><div data-label="Meander" role="cell">Temperatura układa się kierunkowo od początku do końca pętli, co czasem można wykorzystać celowo.</div></div>
        <div class="rk-loop-table-row" role="row"><div class="rk-loop-table-label" data-label="Cecha" role="cell">Geometria</div><div data-label="Ślimak" role="cell">Dobrze sprawdza się na regularnych, większych polach i wymaga zaplanowania nawrotu w środku.</div><div data-label="Meander" role="cell">Bywa łatwiejszy w wąskich pasach, korytarzach i powierzchniach o nieregularnym kształcie.</div></div>
        <div class="rk-loop-table-row" role="row"><div class="rk-loop-table-label" data-label="Cecha" role="cell">Opory hydrauliczne</div><div data-label="Ślimak" role="cell">Zależą głównie od długości, średnicy, przepływu i promieni gięcia.</div><div data-label="Meander" role="cell">Nie są automatycznie o określony procent większe; trzeba uwzględnić rzeczywistą trasę i łuki.</div></div>
        <div class="rk-loop-table-row" role="row"><div class="rk-loop-table-label" data-label="Cecha" role="cell">Dobór</div><div data-label="Ślimak" role="cell">Najczęstszy punkt wyjścia tam, gdzie priorytetem jest równomierność.</div><div data-label="Meander" role="cell">Rozwiązanie projektowe, a nie z definicji błąd wykonawczy.</div></div>
      </div>

      <p>Zobacz oddzielne opracowania o <a href="https://projekt-ogrzewania.pl/instalacja-ogrzewania-podlogowego-w-ukladzie-slimakowym/">układzie ślimakowym</a> i <a href="https://projekt-ogrzewania.pl/instalacja-ogrzewania-podlogowego-w-ukladzie-meandrowym/">układzie meandrowym</a>. Promień gięcia zawsze należy sprawdzić w karcie technicznej dokładnej rury i systemu mocowania.</p>
    </section>

    <section class="rk-loop-section" id="rk-loop-zones">
      <span class="rk-loop-eyebrow">Granice hydrauliczne powinny odpowiadać funkcji pomieszczeń</span>
      <h2 class="rk-loop-section-title">Czy jedna pętla może ogrzewać dwa pomieszczenia?</h2>
      <p class="rk-loop-lead">Nie ma jednej odpowiedzi dla każdej pary pomieszczeń. Wspólna pętla oznacza jeden przepływ i zwykle wspólne sterowanie, dlatego trzeba sprawdzić temperatury wymagane, okładziny, harmonogram, dylatacje oraz możliwość niezależnej regulacji.</p>

      <div class="rk-loop-grid-3">
        <article class="rk-loop-card"><h3>Różne temperatury</h3><p>Łazienka i sypialnia mają zazwyczaj inne wymagania komfortu. Jedna pętla utrudnia ich niezależne zbilansowanie i sterowanie.</p></article>
        <article class="rk-loop-card"><h3>Różne okładziny</h3><p>Płytki i drewno mogą mieć inne opory oraz ograniczenia. Jedna temperatura wody nie oznacza takiej samej emisji z obu powierzchni.</p></article>
        <article class="rk-loop-card"><h3>Przejście przez dylatację</h3><p>Trasa przecinająca oddzielne płyty jastrychu wymaga rozwiązania zgodnego z projektem dylatacji i systemem ochrony rury.</p></article>
      </div>

      <p>Jeżeli pomieszczenia mają stanowić osobne strefy, pętle powinny umożliwić przypisanie zaworów i regulatorów. Artykuł o <a href="https://projekt-ogrzewania.pl/sterowanie-strefowe-ogrzewaniem-czy-warto/">sterowaniu strefowym ogrzewaniem</a> wyjaśnia również wpływ zamykania pętli na przepływ całego układu.</p>
      <div class="rk-loop-note"><strong>Jedna pętla na jedno pomieszczenie jest czytelną zasadą organizacyjną, ale nie uniwersalnym wymaganiem normowym.</strong> Małe powierzchnie można łączyć tylko wtedy, gdy wspólny obieg jest zgodny z ich funkcją, konstrukcją i regulacją.</div>
    </section>

    <section class="rk-loop-section rk-loop-section-soft" id="rk-loop-balancing">
      <span class="rk-loop-eyebrow">Każda pętla ma otrzymać swój obliczony strumień</span>
      <h2 class="rk-loop-section-title">Na czym polega równoważenie pętli na rozdzielaczu?</h2>
      <p class="rk-loop-lead">Równoważenie nie polega na ustawieniu identycznej liczby litrów na wszystkich rotametrach. Zawory wprowadzają potrzebny opór tak, aby równoległe obiegi osiągnęły przepływy wynikające z przypisanych mocy.</p>

      <div class="rk-loop-steps">
        <article class="rk-loop-step"><h3>Rozpoznaj obiegi</h3><p>Każda pętla musi mieć opis pomieszczenia, długość, średnicę, moc i projektowy przepływ.</p></article>
        <article class="rk-loop-step"><h3>Ustal stan instalacji</h3><p>Sprawdzenie przeprowadza się przy znanym położeniu zaworów i trybie pompy, zgodnie z procedurą uruchomienia.</p></article>
        <article class="rk-loop-step"><h3>Ustaw przepływy</h3><p>Nastawy wykonuje się według projektu, a nie według długości pętli lub jednej wartości dla wszystkich pomieszczeń.</p></article>
        <article class="rk-loop-step"><h3>Sprawdź interakcje</h3><p>Zmiana jednego zaworu może wpłynąć na pozostałe. Po kolejnych korektach ponownie kontroluje się cały rozdzielacz.</p></article>
        <article class="rk-loop-step"><h3>Zweryfikuj temperatury</h3><p>Odczyty zasilania, powrotu i pomieszczeń ocenia się w stabilnym stanie, a nie bezpośrednio po uruchomieniu.</p></article>
        <article class="rk-loop-step"><h3>Zapisz nastawy</h3><p>Końcowe przepływy, tryb pompy i stany zaworów powinny znaleźć się w protokole przekazanym użytkownikowi.</p></article>
      </div>

      <p>Sposób odczytu i regulacji opisuje poradnik o <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/">rotametrze na rozdzielaczu podłogówki</a>. Jeżeli przepływ nie osiąga wartości projektowej, trzeba zdiagnozować pompę, opory, powietrze, zawory i filtr zamiast od razu podnosić temperaturę zasilania.</p>
      <div class="rk-loop-warning"><strong>Krótka pętla nie ma problemu z „pobraniem ciepła”.</strong> Ma zwykle mniejszy opór i bez regulacji może otrzymać zbyt duży przepływ kosztem bardziej wymagających dróg.</div>
    </section>

    <section class="rk-loop-section rk-loop-section-dark" id="rk-loop-source">
      <span class="rk-loop-eyebrow">Pętla jest odbiornikiem w większym systemie</span>
      <h2 class="rk-loop-section-title">Jak pętle wpływają na pompę obiegową i źródło ciepła?</h2>
      <p class="rk-loop-lead">Układ pętli określa sumaryczny przepływ, krytyczną drogę hydrauliczną, aktywną objętość wody i najmniejszy możliwy odbiór mocy. Źródło musi poprawnie pracować również wtedy, gdy część obiegów zostanie zamknięta.</p>

      <div class="rk-loop-grid-3">
        <article class="rk-loop-card"><h3>Pompa obiegowa</h3><p>Dobiera się ją do jednoczesnego przepływu czynnych pętli i strat najbardziej wymagającej drogi, z uwzględnieniem magistrali, armatury oraz trybu regulacji.</p></article>
        <article class="rk-loop-card"><h3>Pompa ciepła</h3><p>Trzeba respektować minimalny przepływ, objętość wody, zakres modulacji i sekwencje konkretnego urządzenia. Sama liczba pętli nie rozstrzyga o potrzebie bufora.</p></article>
        <article class="rk-loop-card"><h3>Kocioł i obieg mieszający</h3><p>Znaczenie mają minimalna moc, regulacja temperatury, hydraulika oraz sposób komunikacji automatyki. Zawór mieszający nie jest elementem każdej podłogówki.</p></article>
      </div>

      <div class="rk-loop-callout"><strong>Najdłuższa pętla często, ale nie zawsze jest pętlą krytyczną.</strong> Krótszy obieg może mieć większy wymagany przepływ, inną średnicę lub bardziej oporową armaturę.</div>
      <p>Przy źródle niskotemperaturowym warto osobno sprawdzić <a href="https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/">projekt podłogówki z pompą ciepła</a> oraz wpływ wymaganych temperatur na <a href="https://projekt-ogrzewania.pl/krzywa-grzewcza-w-ogrzewaniu-podlogowym/">krzywą grzewczą</a>. Nie przypisujemy jednego SCOP ani jednej temperatury zasilania wszystkim urządzeniom.</p>
    </section>

    <section class="rk-loop-section" id="rk-loop-installation">
      <span class="rk-loop-eyebrow">Po zalaniu większość błędów staje się trudno dostępna</span>
      <h2 class="rk-loop-section-title">Jak poprawnie wykonać i odebrać pętlę?</h2>
      <p class="rk-loop-lead">Wykonanie powinno odpowiadać projektowi, dokumentacji zastosowanego systemu i procedurze próby. Uniwersalne liczby dotyczące promienia gięcia, długości osłon czy ciśnienia nie zastępują instrukcji konkretnej rury i jastrychu.</p>

      <div class="rk-loop-grid-3">
        <article class="rk-loop-card"><h3>Ciągły odcinek rury</h3><p>Projektowo pętlę prowadzi się bez połączeń w polu grzewczym, od belki zasilającej do powrotnej. Ewentualna naprawa wymaga zatwierdzonej procedury systemowej i dokumentacji miejsca.</p></article>
        <article class="rk-loop-card"><h3>Promień gięcia</h3><p>Minimalny promień zależy od typu, średnicy, temperatury montażu i instrukcji producenta. Załamanego przewodu nie wolno ukryć pod jastrychem bez oceny oraz prawidłowej naprawy.</p></article>
        <article class="rk-loop-card"><h3>Mocowanie i rozstaw</h3><p>Rura nie może wypływać ani przesuwać się podczas wykonywania jastrychu. Rozstaw i granice pól powinny pozostać zgodne z rysunkiem.</p></article>
        <article class="rk-loop-card"><h3>Dylatacje</h3><p>Przejścia wymagają osłony i rozwiązania przewidzianego w projekcie. Długości tulei nie ustala się jedną wartością dla wszystkich układów.</p></article>
        <article class="rk-loop-card"><h3>Próba i stan podczas wylewania</h3><p>Ciśnienie, czas oraz sposób prowadzenia próby i wykonywania jastrychu muszą odpowiadać dokumentacji systemu oraz obowiązującej procedurze.</p></article>
        <article class="rk-loop-card"><h3>Dokumentacja powykonawcza</h3><p>Zdjęcia tras, numery pętli, długości, protokół próby i nastawy pozwalają później bezpiecznie wiercić, serwisować i diagnozować instalację.</p></article>
      </div>

      <p>Przed zakryciem instalacji należy wykonać i udokumentować <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/">próbę szczelności ogrzewania podłogowego</a>. Granice pól oraz przejścia opisuje poradnik o <a href="https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/">izolacji brzegowej i dylatacjach</a>.</p>
      <div class="rk-loop-note"><strong>Nie każda stała zabudowa musi powodować „niebezpieczne przegrzewanie wylewki”.</strong> Obszary bez odbioru ogranicza się projektowo ze względu na emisję, aranżację, temperatury materiałów i możliwość późniejszych zmian, bez automatycznej obietnicy konkretnego skutku.</div>
    </section>

    <section class="rk-loop-section rk-loop-section-soft" id="rk-loop-symptoms">
      <span class="rk-loop-eyebrow">Objaw nie jest jeszcze diagnozą</span>
      <h2 class="rk-loop-section-title">Jakie są objawy problemów z pętlą grzewczą?</h2>
      <p class="rk-loop-lead">Podobny objaw może mieć kilka przyczyn. Zanim uznasz, że pętla jest za długa, trzeba sprawdzić pomiary, nastawy, stan zaworów, pompę i możliwość oddania wymaganej mocy.</p>

      <div class="rk-loop-diagnostic-table" role="table" aria-label="Objawy i diagnostyka pętli grzewczych">
        <div class="rk-loop-table-row rk-loop-table-head" role="row"><div role="columnheader">Objaw</div><div role="columnheader">Możliwe przyczyny</div><div role="columnheader">Co sprawdzić najpierw</div></div>
        <div class="rk-loop-table-row" role="row"><div class="rk-loop-table-label" data-label="Objaw" role="cell">Brak przepływu na rotametrze</div><div data-label="Przyczyny" role="cell">Zamknięty lub zablokowany zawór, siłownik, powietrze, zabrudzenie, zbyt mała różnica ciśnień albo duży opór.</div><div data-label="Sprawdzenie" role="cell">Stan zaworów, odpowietrzenie, filtr, tryb pompy i drożność obiegu.</div></div>
        <div class="rk-loop-table-row" role="row"><div class="rk-loop-table-label" data-label="Objaw" role="cell">Jedno pomieszczenie jest chłodne</div><div data-label="Przyczyny" role="cell">Za mała moc powierzchni, błędny przepływ, inna okładzina, większe straty, pomylona pętla lub niewłaściwa temperatura wody.</div><div data-label="Sprawdzenie" role="cell">OZC, powierzchnię czynną, przepływ projektowy, temperatury oraz przypisanie pętli.</div></div>
        <div class="rk-loop-table-row" role="row"><div class="rk-loop-table-label" data-label="Objaw" role="cell">Duże ΔT</div><div data-label="Przyczyny" role="cell">Mały przepływ przy aktualnie odbieranej mocy, ograniczenie hydrauliczne albo stan przejściowy po uruchomieniu.</div><div data-label="Sprawdzenie" role="cell">Moc chwilową, stabilność pracy, wiarygodność pomiarów i rzeczywisty przepływ.</div></div>
        <div class="rk-loop-table-row" role="row"><div class="rk-loop-table-label" data-label="Objaw" role="cell">Szum na rozdzielaczu</div><div data-label="Przyczyny" role="cell">Duża różnica ciśnień, wysokie prędkości na zaworach, niewłaściwy tryb pompy lub częściowo zamknięte obiegi.</div><div data-label="Sprawdzenie" role="cell">Punkt pracy pompy, nastawy zaworów i zachowanie przy zamykaniu stref.</div></div>
        <div class="rk-loop-table-row" role="row"><div class="rk-loop-table-label" data-label="Objaw" role="cell">Nierównomierna temperatura podłogi</div><div data-label="Przyczyny" role="cell">Układ meandrowy, duże ΔT, nieregularny rozstaw, strefy bez rur, różne warstwy lub wada wykonania.</div><div data-label="Sprawdzenie" role="cell">Rysunek powykonawczy, warunki pomiaru i porównanie z założonym układem.</div></div>
        <div class="rk-loop-table-row" role="row"><div class="rk-loop-table-label" data-label="Objaw" role="cell">Źródło często się włącza</div><div data-label="Przyczyny" role="cell">Mały czynny odbiór, zamykanie pętli, nadmiar mocy, mała objętość lub logika sterowania.</div><div data-label="Sprawdzenie" role="cell">Minimalny stan czynny instalacji i wymagania dokładnego źródła.</div></div>
      </div>

      <div class="rk-loop-callout"><strong>Duże ΔT samo w sobie nie mierzy długości pętli.</strong> Pokazuje relację aktualnie przekazywanej mocy i przepływu. Do diagnozy potrzebne są jednoczesne, wiarygodne odczyty w ustalonym stanie.</div>
    </section>

    <section class="rk-loop-section" id="rk-loop-errors">
      <span class="rk-loop-eyebrow">Błędy, których nie powinien utrwalać poradnik</span>
      <h2 class="rk-loop-section-title">Najczęstsze błędy przy projektowaniu pętli</h2>
      <div class="rk-loop-mistakes">
        <div class="rk-loop-mistake"><span class="rk-loop-mistake-icon">!</span><div><strong>Dobór tylko z metrażu</strong><p>Powierzchnia nie mówi, jaką moc musi dostarczyć podłoga ani jaki jest opór okładziny.</p></div></div>
        <div class="rk-loop-mistake"><span class="rk-loop-mistake-icon">!</span><div><strong>100 m jako granica z normy</strong><p>To może być przyjęty limit projektowy, ale nie zastępuje obliczenia hydraulicznego konkretnego obiegu.</p></div></div>
        <div class="rk-loop-mistake"><span class="rk-loop-mistake-icon">!</span><div><strong>Jednakowy przepływ wszędzie</strong><p>Każda pętla powinna otrzymać strumień wynikający z przypisanej mocy oraz ΔT.</p></div></div>
        <div class="rk-loop-mistake"><span class="rk-loop-mistake-icon">!</span><div><strong>Pomijanie podejść</strong><p>Droga od rozdzielacza i z powrotem zwiększa długość, opór oraz liczbę metrów materiału.</p></div></div>
        <div class="rk-loop-mistake"><span class="rk-loop-mistake-icon">!</span><div><strong>Sztuczne wyrównywanie długości</strong><p>Dodawanie rury bez potrzeby zwiększa opór i nie zastępuje prawidłowego równoważenia.</p></div></div>
        <div class="rk-loop-mistake"><span class="rk-loop-mistake-icon">!</span><div><strong>Brak danych rury</strong><p>Oznaczenie 16 mm nie wystarcza do obliczenia prędkości i spadku ciśnienia.</p></div></div>
        <div class="rk-loop-mistake"><span class="rk-loop-mistake-icon">!</span><div><strong>Łączenie różnych stref</strong><p>Wspólna pętla może uniemożliwić niezależną regulację pomieszczeń o innych wymaganiach.</p></div></div>
        <div class="rk-loop-mistake"><span class="rk-loop-mistake-icon">!</span><div><strong>Brak odbioru przed jastrychem</strong><p>Bez zdjęć, opisów, próby i nastaw późniejsza diagnostyka staje się znacznie trudniejsza.</p></div></div>
      </div>
    </section>

    <section class="rk-loop-section rk-loop-section-soft" id="rk-loop-checklist">
      <span class="rk-loop-eyebrow">Przed zatwierdzeniem rysunku i zalaniem rur</span>
      <h2 class="rk-loop-section-title">Lista kontrolna pętli grzewczych</h2>
      <p class="rk-loop-lead">Każdy punkt powinien mieć odpowiedź w projekcie albo dokumentacji wykonawczej. Sama liczba metrów przy nazwie pomieszczenia nie wystarcza do odbioru instalacji.</p>

      <div class="rk-loop-checklist">
        <div class="rk-loop-checklist-item"><span>✓</span><div><strong>OZC pomieszczeń</strong><br>Czy moc została wyznaczona oddzielnie dla każdej przestrzeni?</div></div>
        <div class="rk-loop-checklist-item"><span>✓</span><div><strong>Powierzchnie czynne</strong><br>Czy uwzględniono zabudowę, sanitariaty i pozostałe obszary bez rur?</div></div>
        <div class="rk-loop-checklist-item"><span>✓</span><div><strong>Okładziny podłogowe</strong><br>Czy znane są opory i ograniczenia wszystkich warstw wykończenia?</div></div>
        <div class="rk-loop-checklist-item"><span>✓</span><div><strong>Temperatura i moc podłogi</strong><br>Czy sprawdzono emisję oraz dopuszczalne temperatury powierzchni?</div></div>
        <div class="rk-loop-checklist-item"><span>✓</span><div><strong>Rozstaw rur</strong><br>Czy wynika z obliczeń i jest możliwy do wykonania w wybranym systemie?</div></div>
        <div class="rk-loop-checklist-item"><span>✓</span><div><strong>Rzeczywiste trasy</strong><br>Czy długości obejmują pole grzewcze oraz odcinki dobiegowe i powrotne?</div></div>
        <div class="rk-loop-checklist-item"><span>✓</span><div><strong>Rura i medium</strong><br>Czy obliczenia używają dokładnej średnicy wewnętrznej oraz właściwości czynnika?</div></div>
        <div class="rk-loop-checklist-item"><span>✓</span><div><strong>Przepływy projektowe</strong><br>Czy każda pętla ma przypisaną moc, ΔT i wymagany strumień?</div></div>
        <div class="rk-loop-checklist-item"><span>✓</span><div><strong>Spadki ciśnienia</strong><br>Czy sprawdzono rurę, zawory, rozdzielacz i wspólne odcinki?</div></div>
        <div class="rk-loop-checklist-item"><span>✓</span><div><strong>Pętla krytyczna</strong><br>Czy wyznaczono najbardziej wymagającą drogę dla doboru pompy?</div></div>
        <div class="rk-loop-checklist-item"><span>✓</span><div><strong>Dylatacje i strefy</strong><br>Czy trasy odpowiadają podziałowi jastrychu i planowanej regulacji?</div></div>
        <div class="rk-loop-checklist-item"><span>✓</span><div><strong>Dokumentacja systemu</strong><br>Czy zachowano wymagany promień gięcia, mocowanie i zasady wykonania?</div></div>
        <div class="rk-loop-checklist-item"><span>✓</span><div><strong>Próba szczelności</strong><br>Czy przeprowadzono ją zgodnie z procedurą i sporządzono protokół?</div></div>
        <div class="rk-loop-checklist-item"><span>✓</span><div><strong>Odbiór i nastawy</strong><br>Czy opisano pętle, wykonano zdjęcia i zapisano przepływy oraz tryb pompy?</div></div>
      </div>
    </section>

    <section class="rk-loop-section" id="rk-loop-conclusions">
      <span class="rk-loop-eyebrow">Wnioski projektanta</span>
      <h2 class="rk-loop-section-title">Wnioski — kiedy pętla jest prawidłowo dobrana?</h2>
      <p class="rk-loop-lead">Prawidłowa pętla nie jest po prostu krótsza niż 100 m. Musi dostarczyć przypisaną moc przy obliczonym przepływie, zachować dopuszczalne temperatury, mieścić się w bilansie ciśnienia i umożliwiać regulację wraz z pozostałymi obiegami.</p>

      <div class="rk-loop-grid-3">
        <article class="rk-loop-card"><h3>Ciepło się bilansuje</h3><p>Powierzchnia, rozstaw, konstrukcja i temperatura wody pozwalają pokryć projektowe obciążenie pomieszczenia.</p></article>
        <article class="rk-loop-card"><h3>Hydraulika się domyka</h3><p>Wymagany przepływ jest osiągalny bez przekroczenia przyjętych warunków prędkości, oporu i pracy pompy.</p></article>
        <article class="rk-loop-card"><h3>Instalację da się wyregulować</h3><p>Rozdzielacz, zawory i automatyka pozwalają utrzymać projektowe strumienie w przewidzianych stanach pracy.</p></article>
      </div>

      <div class="rk-loop-answer"><span class="rk-loop-answer-label">Reguła końcowa</span><p><strong>Najpierw policz moc pomieszczenia i możliwości podłogi, później zaprojektuj trasy, a na końcu sprawdź przepływy oraz opory. Odwrócenie tej kolejności prowadzi do dobierania instalacji pod przypadkową liczbę metrów.</strong></p></div>

      <div class="rk-loop-cta">
        <div class="rk-loop-cta-title">Zaprojektuj wszystkie pętle jako jeden układ cieplny i hydrauliczny</div>
        <p>Kompletny projekt łączy OZC pomieszczeń, powierzchnie czynne, okładziny, temperaturę zasilania, rozstaw, rzeczywiste długości, przepływy, opory, dobór rozdzielaczy i punkt pracy pompy. Otrzymujesz dokumentację do wykonania oraz późniejszej regulacji.</p>
        <a class="rk-loop-cta-button" href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Zamów kompletny projekt ogrzewania podłogowego</a>
        <small class="rk-loop-link-disclosure">Odnośnik prowadzi do płatnej usługi projektowej autora poradnika.</small>
      </div>
    </section>

    <section class="rk-loop-section" id="rk-loop-references">
      <span class="rk-loop-eyebrow">Podstawa techniczna i granice obliczeń</span>
      <h2 class="rk-loop-section-title">Źródła i zakres odpowiedzialności</h2>
      <p class="rk-loop-lead">Normy systemów płaszczyznowych rozdzielają określanie mocy, projektowanie i wykonanie. Nie ustanawiają jednej maksymalnej długości, przepływu, rozstawu ani spadku ciśnienia odpowiedniego dla każdej pętli. Oficjalne karty ISO wskazują, że wymienione wydania z 2021 r. mają poprawki Amd 1:2023 i we wrześniu 2026 r. pozostają opublikowane, ale są w przeglądzie systematycznym.</p>

      <div class="rk-loop-source-grid">
        <article class="rk-loop-source-card"><a href="https://www.iso.org/standard/74683.html" target="_blank" rel="nofollow noopener noreferrer">ISO 11855-2:2021 wraz z Amd 1:2023 — określanie mocy</a><p>Oficjalna karta bieżącego wydania normy dotyczącej wyznaczania strumienia ciepła, temperatur powierzchni oraz zależności charakterystycznych wodnych systemów ogrzewania i chłodzenia.</p></article>
        <article class="rk-loop-source-card"><a href="https://www.iso.org/standard/74684.html" target="_blank" rel="nofollow noopener noreferrer">ISO 11855-3:2021 wraz z Amd 1:2023 — projektowanie i wymiarowanie</a><p>Oficjalna karta bieżącego wydania normy ustanawiającej metodę projektowania oraz wymiarowania wbudowanych systemów ogrzewania i chłodzenia.</p></article>
        <article class="rk-loop-source-card"><a href="https://www.iso.org/standard/74685.html" target="_blank" rel="nofollow noopener noreferrer">ISO 11855-5:2021 wraz z Amd 1:2023 — wykonanie</a><p>Oficjalna karta bieżącego wydania normy dotyczącej wymagań instalacyjnych dla elementów tworzących ogrzewaną lub chłodzoną powierzchnię.</p></article>
      </div>

      <div class="rk-loop-responsibility">
        <p><strong>Zakres kalkulatora:</strong> narzędzie wykonuje szacunek geometryczny i bilans przepływu dla wody. Nie zna rzeczywistego kształtu tras, parametrów rury, mocy powierzchni, temperatur materiałów, armatury ani charakterystyki pompy.</p>
        <p><strong>Założenia projektowe autora:</strong> wartości takie jak pętla do 100 m dla 16×2 lub dążenie do określonego zakresu spadku ciśnienia są praktyką stosowaną w konkretnych projektach, a nie uniwersalną treścią normy.</p>
        <p><strong>Odpowiedzialność:</strong> artykuł nie jest projektem wykonawczym, instrukcją producenta, protokołem uruchomienia ani oceną istniejącej instalacji. Stan techniczny materiału zweryfikowano 11 września 2026 r.</p>
      </div>
    </section>

    <section class="rk-loop-section rk-loop-section-soft" id="rk-loop-faq">
      <span class="rk-loop-eyebrow">Najczęstsze pytania inwestorów i wykonawców</span>
      <h2 class="rk-loop-section-title">FAQ — pętla grzewcza w ogrzewaniu podłogowym</h2>
      <div class="rk-loop-faq">
        <details><summary>Jaka jest maksymalna długość pętli ogrzewania podłogowego?</summary><div class="rk-loop-faq-answer"><p>Nie ma jednej maksymalnej długości dla każdej rury i instalacji. W praktyce autora dla rury 16×2 przyjmuje się zwykle limit do 100 m łącznie z podejściami, ale każdą pętlę trzeba sprawdzić dla jej przepływu, średnicy wewnętrznej, medium, armatury i dostępnej różnicy ciśnień.</p></div></details>
        <details><summary>Czy pętla 120 m zawsze będzie działała źle?</summary><div class="rk-loop-faq-answer"><p>Nie da się tego rozstrzygnąć samą długością. Pętla 120 m będzie miała większy opór liniowy niż krótsza rura tego samego typu przy tym samym przepływie, lecz o osiągalności strumienia decyduje pełne obliczenie hydrauliczne. Taki wariant wymaga świadomej weryfikacji, a nie automatycznej akceptacji.</p></div></details>
        <details><summary>Ile metrów rury potrzeba na jedną pętlę?</summary><div class="rk-loop-faq-answer"><p>Najpierw szacuje się długość w powierzchni jako A/s, dodaje łuki, dopasowanie geometrii oraz podwójny odcinek między rozdzielaczem i polem. Następnie powierzchnię dzieli się na tyle rzeczywistych tras, aby spełnić kryteria cieplne i hydrauliczne.</p></div></details>
        <details><summary>Jak obliczyć przepływ w pętli podłogówki?</summary><div class="rk-loop-faq-answer"><p>Dla wody można użyć zależności V w l/h około 0,86 razy moc pętli w watach podzielona przez projektowe ΔT w kelwinach. Wynik trzeba później zweryfikować pod kątem prędkości, spadku ciśnienia, charakterystyki zaworów i pompy.</p></div></details>
        <details><summary>Czy wszystkie pętle powinny mieć taką samą długość?</summary><div class="rk-loop-faq-answer"><p>Nie. Korzystne może być zbliżenie długości pętli obsługujących tę samą powierzchnię, ale sztuczne dodawanie rury nie zastępuje obliczeń. Różne obciążenia i powierzchnie mogą wymagać innych długości oraz przepływów, które wyrównuje się hydraulicznie.</p></div></details>
        <details><summary>Czy jedna pętla może przechodzić przez dwa pomieszczenia?</summary><div class="rk-loop-faq-answer"><p>Może być to technicznie możliwe dla małych powierzchni należących do jednej strefy, jeżeli są zgodne pod względem temperatur, okładzin, dylatacji i regulacji. Nie powinno się łączyć pomieszczeń wymagających niezależnego sterowania lub innych warunków cieplnych.</p></div></details>
        <details><summary>Co jest lepsze: ślimak czy meander?</summary><div class="rk-loop-faq-answer"><p>Ślimak jest częstym wyborem, ponieważ naprzemienne prowadzenie zasilania i powrotu sprzyja równomiernej temperaturze powierzchni. Meander może być właściwy w wąskich strefach albo wtedy, gdy celowo potrzebny jest kierunkowy rozkład temperatury. O wyborze decyduje geometria i projekt.</p></div></details>
        <details><summary>Czy zbyt krótka pętla może nie pobierać ciepła?</summary><div class="rk-loop-faq-answer"><p>Krótka pętla sama z siebie nie ma takiego problemu. Zwykle ma mniejszy opór i bez równoważenia może otrzymać zbyt duży przepływ. Jej moc zależy od obsługiwanej powierzchni, temperatur wody, konstrukcji podłogi i przepływu.</p></div></details>
        <details><summary>Dlaczego na długiej pętli nie ma wymaganego przepływu?</summary><div class="rk-loop-faq-answer"><p>Przyczyną może być duży opór, ale również powietrze, zabrudzony filtr, nieprawidłowy tryb pompy, zamknięty zawór, siłownik, mała różnica ciśnień albo błąd odczytu. Długość jest tylko jednym z elementów diagnozy.</p></div></details>
        <details><summary>Czy przepływ 2 l/min jest prawidłowy dla każdej pętli?</summary><div class="rk-loop-faq-answer"><p>Nie. Przepływ powinien wynikać z mocy przypisanej do pętli i projektowego ΔT. Wartość 2 l/min może być właściwa dla jednego obiegu, a zbyt duża lub zbyt mała dla innego.</p></div></details>
      </div>
    </section>

    <section class="rk-loop-author" id="rk-loop-author">
      <span class="rk-loop-eyebrow">Opracowanie eksperckie</span>
      <h2 class="rk-loop-author-title">Autor i weryfikacja merytoryczna</h2>
      <div class="rk-loop-author-layout">
        <aside class="rk-loop-author-side">
          <div class="rk-loop-author-photo"><img src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski — projektant instalacji sanitarnych i specjalista HVAC" width="400" height="400" loading="lazy" decoding="async"></div>
          <div class="rk-loop-author-name"><a href="https://projekt-ogrzewania.pl/author/admin3399/">Robert Kucharski</a></div>
          <p class="rk-loop-author-role">Projektant instalacji sanitarnych<br>specjalista HVAC i ogrzewania podłogowego</p>
          <div class="rk-loop-author-social" aria-label="Profile autora">
            <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" target="_blank" rel="nofollow noopener noreferrer me" aria-label="LinkedIn Roberta Kucharskiego">in</a>
            <a href="https://www.facebook.com/projektogrzewaniapl" target="_blank" rel="nofollow noopener noreferrer me" aria-label="Facebook Projekt Ogrzewania">f</a>
            <a href="https://x.com/Projekt_HVAC" target="_blank" rel="nofollow noopener noreferrer me" aria-label="Profil Projekt HVAC w serwisie X">X</a>
          </div>
        </aside>
        <div class="rk-loop-author-main">
          <div class="rk-loop-author-quote">„Długość pętli jest skutkiem projektu. Najpierw trzeba wiedzieć, jaką moc ma przekazać podłoga, a dopiero później ustalić metry rury, przepływ i opór.”</div>
          <p>Robert Kucharski opracowuje projekty ogrzewania podłogowego, obliczenia cieplne i hydrauliczne oraz dokumentację wykonawczą dla inwestorów i wykonawców. W projekcie łączy obciążenia pomieszczeń, powierzchnie czynne, okładziny, temperatury wody, rozstawy, długości, przepływy i nastawy rozdzielaczy.</p>
          <p>W tej aktualizacji usunięto twarde „granice normowe” długości, jednakowy przepływ dla wszystkich pętli, nieudokumentowane procenty oszczędności, stałe różnice długości oraz kategoryczne porównanie oporów ślimaka i meandra. Poprawiono również wzór przepływu wody i rozdzielono szacunek geometryczny od obliczenia hydraulicznego.</p>
          <p>Kalkulator nie udaje pełnego projektu: pokazuje długość i przepływ na podstawie jawnych danych, natomiast nie wylicza spadku ciśnienia bez charakterystyki dokładnej rury. Grafika edukacyjna pomaga prześledzić wpływ pojedynczych zmian bez tworzenia pozornej pewności.</p>
          <p>Autor publikuje również w portalach <a href="https://remont.biz.pl/" target="_blank" rel="nofollow noopener noreferrer">Remont.biz.pl</a> i <a href="https://sobir.pl/" target="_blank" rel="nofollow noopener noreferrer">Sobir.pl</a>. <a href="https://projekt-ogrzewania.pl/author/admin3399/">Zobacz pozostałe artykuły Roberta Kucharskiego</a>.</p>
          <div class="rk-loop-author-facts">
            <div class="rk-loop-author-fact"><strong>Zakres</strong>ogrzewanie podłogowe, hydraulika i źródła niskotemperaturowe</div>
            <div class="rk-loop-author-fact"><strong>Metoda pracy</strong>OZC, model emisji podłogi, przepływy i spadki ciśnienia</div>
            <div class="rk-loop-author-fact"><strong>Aktualizacja</strong>stan techniczny materiału sprawdzony 11 września 2026 r.</div>
          </div>
        </div>
      </div>
    </section>
  </div>
</article>

<script>
(function () {
  "use strict";

  var root = document.getElementById("rk-loop-guide");
  if (!root) {
    return;
  }

  function byId(id) {
    return document.getElementById(id);
  }

  function numberFrom(element, fallback) {
    if (!element) {
      return fallback;
    }
    var raw = String(element.value).replace(",", ".");
    var parsed = Number(raw);
    if (!Number.isFinite(parsed)) {
      return fallback;
    }
    return parsed;
  }

  function formatNumber(value, digits) {
    return new Intl.NumberFormat("pl-PL", {
      minimumFractionDigits: digits,
      maximumFractionDigits: digits
    }).format(value);
  }

  function loopNoun(count) {
    if (count === 1) {
      return "pętla";
    }
    if (count >= 2) {
      if (count <= 4) {
        return "pętle";
      }
    }
    return "pętli";
  }

  function svgElement(name, attributes, content) {
    var element = document.createElementNS("http://www.w3.org/2000/svg", name);
    Object.keys(attributes).forEach(function (key) {
      element.setAttribute(key, String(attributes[key]));
    });
    if (typeof content === "string") {
      element.textContent = content;
    }
    return element;
  }

  var calculator = {
    area: byId("rk-loop-area"),
    spacing: byId("rk-loop-spacing-input"),
    allowance: byId("rk-loop-allowance"),
    distance: byId("rk-loop-distance"),
    power: byId("rk-loop-power"),
    delta: byId("rk-loop-delta"),
    count: byId("rk-loop-count-input"),
    countLabel: byId("rk-loop-count-label"),
    limit: byId("rk-loop-limit"),
    active: byId("rk-loop-result-active"),
    total: byId("rk-loop-result-total"),
    average: byId("rk-loop-result-average"),
    areaPerLoop: byId("rk-loop-result-area"),
    flowTotal: byId("rk-loop-result-flow-total"),
    flowLoop: byId("rk-loop-result-flow-loop"),
    lengthEquation: byId("rk-loop-length-equation"),
    flowEquation: byId("rk-loop-flow-equation"),
    status: byId("rk-loop-calculator-status"),
    chart: byId("rk-loop-chart"),
    chartDescription: byId("rk-loop-chart-desc")
  };

  function drawLengthChart(activeLength, distance, limit, selectedCount) {
    if (!calculator.chart) {
      return;
    }

    var oldDrawing = byId("rk-loop-chart-drawing");
    if (oldDrawing) {
      oldDrawing.remove();
    }

    var drawing = svgElement("g", { id: "rk-loop-chart-drawing" });
    var values = [];
    var maximum = limit;
    var index;

    for (index = 1; index <= 8; index += 1) {
      var averageLength = activeLength / index + 2 * distance;
      values.push(averageLength);
      maximum = Math.max(maximum, averageLength);
    }

    var yMaximum = Math.max(100, Math.ceil((maximum + 10) / 20) * 20);
    var left = 58;
    var right = 782;
    var top = 34;
    var bottom = 352;
    var width = right - left;
    var height = bottom - top;

    function yFor(value) {
      return bottom - value / yMaximum * height;
    }

    for (index = 0; index <= 5; index += 1) {
      var tickValue = yMaximum / 5 * index;
      var tickY = yFor(tickValue);
      drawing.appendChild(svgElement("line", {
        x1: left,
        y1: tickY,
        x2: right,
        y2: tickY,
        "class": "rk-loop-chart-grid-line"
      }));
      drawing.appendChild(svgElement("text", {
        x: left - 10,
        y: tickY + 5,
        "text-anchor": "end",
        "class": "rk-loop-chart-tick"
      }, formatNumber(tickValue, 0)));
    }

    drawing.appendChild(svgElement("line", {
      x1: left,
      y1: top,
      x2: left,
      y2: bottom,
      "class": "rk-loop-chart-axis"
    }));
    drawing.appendChild(svgElement("line", {
      x1: left,
      y1: bottom,
      x2: right,
      y2: bottom,
      "class": "rk-loop-chart-axis"
    }));

    var limitY = yFor(limit);
    drawing.appendChild(svgElement("line", {
      x1: left,
      y1: limitY,
      x2: right,
      y2: limitY,
      "class": "rk-loop-chart-target-line"
    }));
    drawing.appendChild(svgElement("text", {
      x: right - 4,
      y: Math.max(top + 13, limitY - 8),
      "text-anchor": "end",
      "class": "rk-loop-chart-target-label"
    }, "limit " + formatNumber(limit, 0) + " m"));

    var slotWidth = width / 8;
    var barWidth = Math.min(58, slotWidth * 0.66);

    values.forEach(function (value, valueIndex) {
      var loopCount = valueIndex + 1;
      var x = left + valueIndex * slotWidth + (slotWidth - barWidth) / 2;
      var y = yFor(value);
      var barHeight = Math.max(1, bottom - y);
      var classes = ["rk-loop-chart-bar"];

      if (value > limit) {
        classes.push("is-over");
      }
      if (loopCount === selectedCount) {
        classes.push("is-selected");
      }

      var bar = svgElement("rect", {
        x: x,
        y: y,
        width: barWidth,
        height: barHeight,
        rx: 7,
        "class": classes.join(" "),
        tabindex: "0",
        role: "img",
        "aria-label": loopCount + " " + loopNoun(loopCount) + ": średnio " + formatNumber(value, 1) + " metra na pętlę"
      });
      bar.appendChild(svgElement("title", {}, loopCount + " " + loopNoun(loopCount) + " — " + formatNumber(value, 1) + " m na pętlę"));
      drawing.appendChild(bar);

      drawing.appendChild(svgElement("text", {
        x: x + barWidth / 2,
        y: Math.max(top + 14, y - 8),
        "text-anchor": "middle",
        "class": "rk-loop-chart-value"
      }, formatNumber(value, 0)));

      drawing.appendChild(svgElement("text", {
        x: x + barWidth / 2,
        y: bottom + 27,
        "text-anchor": "middle",
        "class": "rk-loop-chart-label"
      }, String(loopCount)));
    });

    drawing.appendChild(svgElement("text", {
      x: (left + right) / 2,
      y: 411,
      "text-anchor": "middle",
      "class": "rk-loop-chart-axis-title"
    }, "Liczba pętli"));

    drawing.appendChild(svgElement("text", {
      x: 18,
      y: (top + bottom) / 2,
      transform: "rotate(-90 18 " + (top + bottom) / 2 + ")",
      "text-anchor": "middle",
      "class": "rk-loop-chart-axis-title"
    }, "Średnia długość [m]"));

    calculator.chart.appendChild(drawing);

    if (calculator.chartDescription) {
      calculator.chartDescription.textContent = "Wykres porównuje od jednej do ośmiu pętli. Dla wybranego wariantu " + selectedCount + " pętli średnia długość wynosi " + formatNumber(values[selectedCount - 1], 1) + " m, a przyjęty limit projektowy wynosi " + formatNumber(limit, 0) + " m.";
    }
  }

  function updateCalculator() {
    var area = numberFrom(calculator.area, 35);
    var spacing = numberFrom(calculator.spacing, 0.15);
    var allowance = numberFrom(calculator.allowance, 5);
    var distance = numberFrom(calculator.distance, 4);
    var power = numberFrom(calculator.power, 1600);
    var delta = numberFrom(calculator.delta, 5);
    var count = Math.round(numberFrom(calculator.count, 3));
    var limit = numberFrom(calculator.limit, 100);

    area = Math.max(1, area);
    spacing = Math.max(0.01, spacing);
    allowance = Math.max(0, allowance);
    distance = Math.max(0, distance);
    power = Math.max(1, power);
    delta = Math.max(0.1, delta);
    count = Math.max(1, Math.min(8, count));
    limit = Math.max(1, limit);

    var activeLength = area / spacing * (1 + allowance / 100);
    var connectionLength = 2 * distance * count;
    var totalLength = activeLength + connectionLength;
    var averageLength = totalLength / count;
    var areaPerLoop = area / count;
    var totalFlow = 0.86 * power / delta;
    var flowPerLoop = totalFlow / count / 60;

    calculator.countLabel.textContent = String(count);
    calculator.active.textContent = formatNumber(activeLength, 1) + " m";
    calculator.total.textContent = formatNumber(totalLength, 1) + " m";
    calculator.average.textContent = formatNumber(averageLength, 1) + " m";
    calculator.areaPerLoop.textContent = formatNumber(areaPerLoop, 1) + " m²";
    calculator.flowTotal.textContent = formatNumber(totalFlow, 0) + " l/h";
    calculator.flowLoop.textContent = formatNumber(flowPerLoop, 2) + " l/min";

    calculator.lengthEquation.textContent = formatNumber(area, 1) + " m² ÷ " + formatNumber(spacing, 2) + " m × " + formatNumber(1 + allowance / 100, 2) + " + 2 × " + formatNumber(distance, 1) + " m × " + count + " " + loopNoun(count) + " = " + formatNumber(totalLength, 1) + " m.";
    calculator.flowEquation.textContent = "Przepływ: 0,86 × " + formatNumber(power, 0) + " W ÷ " + formatNumber(delta, 1) + " K = " + formatNumber(totalFlow, 0) + " l/h.";

    calculator.status.classList.remove("is-good", "is-warning", "is-bad");
    if (averageLength > limit) {
      calculator.status.classList.add("is-bad");
      var availableFieldLength = limit - 2 * distance;
      var suggestedCount = count + 1;
      if (availableFieldLength > 0) {
        suggestedCount = Math.ceil(activeLength / availableFieldLength);
      }
      suggestedCount = Math.max(count + 1, suggestedCount);
      calculator.status.textContent = "Średnia długość przekracza przyjęty limit. Geometrycznie warto sprawdzić co najmniej " + suggestedCount + " pętli, a następnie policzyć rzeczywiste trasy, moc, przepływy i opory.";
    } else if (averageLength >= limit * 0.9) {
      calculator.status.classList.add("is-warning");
      calculator.status.textContent = "Średnia długość znajduje się blisko przyjętego limitu. Niewielka korekta trasy może go przekroczyć, dlatego potrzebny jest dokładny rysunek i obliczenie hydrauliczne.";
    } else {
      calculator.status.classList.add("is-good");
      calculator.status.textContent = "Średnia długość mieści się w przyjętym limicie. Nadal trzeba sprawdzić długości rzeczywistych tras, moc powierzchni i opory rury.";
    }

    drawLengthChart(activeLength, distance, limit, count);
  }

  var scenarios = {
    spacing: {
      title: "Mniejszy rozstaw zwiększa długość rury, ale nie zmienia strat ciepła budynku.",
      text: "Może zmienić charakterystykę oddawania ciepła i liczbę pętli. Przepływ nadal trzeba wyznaczyć z mocy, a opory sprawdzić dla nowej geometrii.",
      components: {
        load: ["Nie zmienia się od samego rozstawu", "Straty pomieszczenia wynikają z przegród, wentylacji i warunków obliczeniowych, a nie z liczby metrów rury.", false],
        surface: ["Zmienia się charakterystyka emitera", "Mniejszy rozstaw może poprawić równomierność i zmienić wymaganą temperaturę średnią wody.", true],
        geometry: ["Rośnie liczba metrów w polu", "Ta sama powierzchnia przy gęstszym rozstawie wymaga dłuższej rury i może potrzebować większej liczby pętli.", true],
        flow: ["Nie wynika bezpośrednio z rozstawu", "Przepływ nadal oblicza się z mocy przypisanej do pętli i przyjętej różnicy temperatur.", false],
        pressure: ["Wymaga ponownego sprawdzenia", "Dłuższa rura zwiększa opór liniowy, lecz wynik zależy również od przepływu i średnicy wewnętrznej.", true],
        control: ["Sprawdź podział i punkt pracy", "Większa liczba obiegów zmienia sumaryczny przepływ rozdzielacza i liczbę wymaganych sekcji.", true]
      }
    },
    length: {
      title: "Wydłużenie pętli zwiększa jej opór, lecz nie określa samoistnie mocy ani przepływu.",
      text: "Trzeba ponownie sprawdzić spadek ciśnienia i dostępny punkt pracy. Sama liczba metrów nie przesądza, czy obieg będzie poprawny.",
      components: {
        load: ["Bez zmiany", "Obciążenie cieplne pomieszczenia pozostaje takie samo, jeżeli nie zmieniły się przegrody i warunki obliczeniowe.", false],
        surface: ["Zależy od przyczyny wydłużenia", "Jeżeli rura obejmuje dodatkową powierzchnię, zmienia się podział emisji; samo dłuższe podejście nie zwiększa powierzchni czynnej.", true],
        geometry: ["Rośnie długość hydrauliczna", "Dodatkowe metry mogą pochodzić z pola grzewczego, podejścia albo zmiany sposobu prowadzenia.", true],
        flow: ["Wymagany przepływ wynika z mocy", "Wydłużenie rury nie jest podstawą do automatycznego zwiększenia lub zmniejszenia projektowego strumienia.", false],
        pressure: ["Opór liniowy rośnie", "Przy tej samej rurze i tym samym przepływie dłuższy obieg ma większy spadek ciśnienia.", true],
        control: ["Może zmienić pętlę krytyczną", "Pompa i nastawy muszą zapewnić wymagany przepływ również na najbardziej wymagającej drodze.", true]
      }
    },
    flow: {
      title: "Większy przepływ zmniejsza ΔT przy tej samej mocy, ale podnosi prędkość i opory.",
      text: "Zmiana nastawy bez bilansu może zakłócić pozostałe pętle. Najpierw trzeba znać moc obiegu i sprawdzić hydraulikę całego rozdzielacza.",
      components: {
        load: ["Bez automatycznej zmiany", "Zapotrzebowanie pomieszczenia nie rośnie od przekręcenia rotametru.", false],
        surface: ["Temperatury mogą się zmienić", "Przy tej samej temperaturze zasilania większy przepływ zmienia temperaturę średnią wody oraz warunki oddawania ciepła.", true],
        geometry: ["Bez zmiany", "Rozstaw i długość fizycznej trasy pozostają takie same.", false],
        flow: ["Rośnie strumień, maleje ΔT", "Dla tej samej przekazywanej mocy zwiększenie przepływu prowadzi do mniejszej różnicy temperatur wody.", true],
        pressure: ["Rośnie nieliniowo", "Większy przepływ powoduje wyższe straty w rurze, zaworach i rozdzielaczu.", true],
        control: ["Zmienia się rozdział przepływów", "Bez ponownego równoważenia jedna korekta może odebrać część dostępnego ciśnienia innym obiegom.", true]
      }
    },
    finish: {
      title: "Zmiana okładziny może zmienić moc podłogi i wymaganą temperaturę wody.",
      text: "Nie zmienia ułożonej rury, ale może sprawić, że dotychczasowy rozstaw i temperatura nie pokryją obciążenia albo będą wymagały nowej weryfikacji materiałowej.",
      components: {
        load: ["Straty budynku pozostają bez zmiany", "Okładzina nie zmienia obciążenia od przegród i wentylacji, lecz wpływa na możliwość przekazania tej mocy przez podłogę.", false],
        surface: ["Zmienia się opór cieplny", "Grubsza lub bardziej izolacyjna warstwa zwykle wymaga wyższej temperatury średniej dla tej samej emisji.", true],
        geometry: ["Ułożona rura się nie zmienia", "Rozstaw i długość pozostają stałe w istniejącej podłodze, dlatego ich późniejsza korekta może być niemożliwa.", false],
        flow: ["Wymaga ponownego bilansu", "Jeżeli zmieni się możliwa lub wymagana moc obiegu, trzeba ponownie sprawdzić przepływ oraz ΔT.", true],
        pressure: ["Pośrednio przez nowy przepływ", "Sama okładzina nie zwiększa oporu rury, lecz zmieniony strumień może zmienić spadek ciśnienia.", true],
        control: ["Sprawdź krzywą i ograniczenia", "Nowa okładzina może wymagać korekty temperatury zasilania oraz limitu temperatury powierzchni.", true]
      }
    }
  };

  var scenarioButtons = Array.prototype.slice.call(root.querySelectorAll("[data-rk-loop-scenario]"));
  var componentCards = Array.prototype.slice.call(root.querySelectorAll("[data-rk-loop-component]"));
  var scenarioResult = byId("rk-loop-scenario-result");

  function renderScenario(key) {
    var scenario = scenarios[key];
    if (!scenario) {
      return;
    }

    scenarioButtons.forEach(function (button) {
      button.setAttribute("aria-pressed", button.getAttribute("data-rk-loop-scenario") === key ? "true" : "false");
    });

    componentCards.forEach(function (card) {
      var componentKey = card.getAttribute("data-rk-loop-component");
      var data = scenario.components[componentKey];
      if (!data) {
        return;
      }
      var valueNode = card.querySelector("[data-rk-loop-component-value]");
      var copyNode = card.querySelector("[data-rk-loop-component-copy]");
      valueNode.textContent = data[0];
      copyNode.textContent = data[1];
      card.classList.remove("is-active", "is-muted");
      card.classList.add(data[2] ? "is-active" : "is-muted");
    });

    var resultTitle = scenarioResult.querySelector("strong");
    var resultText = scenarioResult.querySelector("p");
    resultTitle.textContent = scenario.title;
    resultText.textContent = scenario.text;
  }

  scenarioButtons.forEach(function (button) {
    button.addEventListener("click", function () {
      renderScenario(button.getAttribute("data-rk-loop-scenario"));
    });
  });

  var calculatorInputs = Array.prototype.slice.call(root.querySelectorAll("#rk-loop-calculator-tool input, #rk-loop-calculator-tool select"));
  calculatorInputs.forEach(function (input) {
    input.addEventListener("input", updateCalculator);
    input.addEventListener("change", updateCalculator);
  });

  updateCalculator();
  renderScenario("spacing");
}());
</script>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "WebSite",
      "@id": "https://projekt-ogrzewania.pl/#website",
      "url": "https://projekt-ogrzewania.pl/",
      "name": "Projekt Ogrzewania",
      "description": "Profesjonalne projektowanie ogrzewania podłogowego i poradniki techniczne HVAC.",
      "inLanguage": "pl-PL",
      "publisher": {
        "@id": "https://projekt-ogrzewania.pl/#organization"
      },
      "potentialAction": {
        "@type": "SearchAction",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://projekt-ogrzewania.pl/?s={search_term_string}"
        },
        "query-input": "required name=search_term_string"
      }
    },
    {
      "@type": "Organization",
      "@id": "https://projekt-ogrzewania.pl/#organization",
      "name": "Projekt Ogrzewania",
      "url": "https://projekt-ogrzewania.pl/",
      "logo": {
        "@id": "https://projekt-ogrzewania.pl/#logo"
      },
      "founder": {
        "@id": "https://projekt-ogrzewania.pl/#robert-kucharski"
      },
      "sameAs": [
        "https://www.facebook.com/projektogrzewaniapl",
        "https://x.com/Projekt_HVAC"
      ]
    },
    {
      "@type": "Organization",
      "@id": "https://remont.biz.pl/#organization",
      "name": "Remont.biz.pl",
      "url": "https://remont.biz.pl/",
      "founder": {
        "@id": "https://projekt-ogrzewania.pl/#robert-kucharski"
      }
    },
    {
      "@type": "Organization",
      "@id": "https://sobir.pl/#organization",
      "name": "Sobir.pl",
      "url": "https://sobir.pl/",
      "founder": {
        "@id": "https://projekt-ogrzewania.pl/#robert-kucharski"
      }
    },
    {
      "@type": "ImageObject",
      "@id": "https://projekt-ogrzewania.pl/#logo",
      "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/Projekt-ogrzewania-logo-1.jpg",
      "contentUrl": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/Projekt-ogrzewania-logo-1.jpg",
      "width": 1024,
      "height": 1024,
      "caption": "Projekt Ogrzewania"
    },
    {
      "@type": "Person",
      "@id": "https://projekt-ogrzewania.pl/#robert-kucharski",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/author/admin3399/",
      "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
      "jobTitle": "Projektant instalacji sanitarnych i specjalista HVAC",
      "worksFor": {
        "@id": "https://projekt-ogrzewania.pl/#organization"
      },
      "affiliation": [
        {
          "@id": "https://remont.biz.pl/#organization"
        },
        {
          "@id": "https://sobir.pl/#organization"
        }
      ],
      "knowsAbout": [
        "ogrzewanie podłogowe",
        "pętle grzewcze",
        "obliczenia hydrauliczne",
        "równoważenie instalacji",
        "pompy obiegowe",
        "projektowe obciążenie cieplne"
      ],
      "sameAs": [
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://www.facebook.com/projektogrzewaniapl",
        "https://x.com/Projekt_HVAC"
      ]
    },
    {
      "@type": "ImageObject",
      "@id": "https://projekt-ogrzewania.pl/petla-grzewcza/#primaryimage",
      "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/01/Petla-grzewcza-1.webp",
      "contentUrl": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/01/Petla-grzewcza-1.webp",
      "width": 1050,
      "height": 1050,
      "caption": "Pętla grzewcza w ogrzewaniu podłogowym",
      "representativeOfPage": true,
      "inLanguage": "pl-PL"
    },
    {
      "@type": "BreadcrumbList",
      "@id": "https://projekt-ogrzewania.pl/petla-grzewcza/#breadcrumb",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Projekt Ogrzewania",
          "item": "https://projekt-ogrzewania.pl/"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Poradniki",
          "item": "https://projekt-ogrzewania.pl/blog/"
        },
        {
          "@type": "ListItem",
          "position": 3,
          "name": "Pętla grzewcza",
          "item": "https://projekt-ogrzewania.pl/petla-grzewcza/"
        }
      ]
    },
    {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/petla-grzewcza/#webpage",
      "url": "https://projekt-ogrzewania.pl/petla-grzewcza/",
      "name": "Pętla grzewcza w ogrzewaniu podłogowym – długość, przepływ, rozstaw i podział na obiegi",
      "description": "Pętla grzewcza podłogówki: sprawdź długość, przepływ, rozstaw rur i liczbę obiegów. Skorzystaj z kalkulatora i uniknij błędów wykonawczych w instalacji.",
      "isPartOf": {
        "@id": "https://projekt-ogrzewania.pl/#website"
      },
      "breadcrumb": {
        "@id": "https://projekt-ogrzewania.pl/petla-grzewcza/#breadcrumb"
      },
      "primaryImageOfPage": {
        "@id": "https://projekt-ogrzewania.pl/petla-grzewcza/#primaryimage"
      },
      "datePublished": "2026-01-07T13:09:43+00:00",
      "dateModified": "2026-09-11T00:00:00+00:00",
      "inLanguage": "pl-PL",
      "speakable": {
        "@type": "SpeakableSpecification",
        "cssSelector": [
          "#rk-loop-answer .rk-loop-answer",
          "#rk-loop-data .rk-loop-lead",
          "#rk-loop-conclusions .rk-loop-answer"
        ]
      }
    },
    {
      "@type": "TechArticle",
      "@id": "https://projekt-ogrzewania.pl/petla-grzewcza/#article",
      "mainEntityOfPage": {
        "@id": "https://projekt-ogrzewania.pl/petla-grzewcza/#webpage"
      },
      "headline": "Pętla grzewcza w ogrzewaniu podłogowym – długość, przepływ, rozstaw i podział na obiegi",
      "description": "Pętla grzewcza podłogówki: sprawdź długość, przepływ, rozstaw rur i liczbę obiegów. Skorzystaj z kalkulatora i uniknij błędów wykonawczych w instalacji.",
      "image": {
        "@id": "https://projekt-ogrzewania.pl/petla-grzewcza/#primaryimage"
      },
      "author": {
        "@id": "https://projekt-ogrzewania.pl/#robert-kucharski"
      },
      "publisher": {
        "@id": "https://projekt-ogrzewania.pl/#organization"
      },
      "datePublished": "2026-01-07T13:09:43+00:00",
      "dateModified": "2026-09-11T00:00:00+00:00",
      "inLanguage": "pl-PL",
      "isAccessibleForFree": true,
      "wordCount": 4651,
      "timeRequired": "PT32M",
      "articleSection": [
        "Projektowanie pętli grzewczych",
        "Długość i liczba obiegów",
        "Przepływ i spadek ciśnienia",
        "Równoważenie i wykonanie"
      ],
      "keywords": [
        "pętla grzewcza",
        "maksymalna długość pętli ogrzewania podłogowego",
        "ile pętli podłogówki w pomieszczeniu",
        "jak obliczyć przepływ pętli podłogówki",
        "rozstaw rur ogrzewania podłogowego",
        "równoważenie pętli na rozdzielaczu",
        "pętla grzewcza 16x2",
        "ślimak czy meander"
      ],
      "citation": [
        "https://www.iso.org/standard/74683.html",
        "https://www.iso.org/standard/74684.html",
        "https://www.iso.org/standard/74685.html"
      ],
      "about": [
        {
          "@type": "Thing",
          "name": "Wodne ogrzewanie podłogowe"
        },
        {
          "@type": "Thing",
          "name": "Pętla grzewcza"
        },
        {
          "@type": "Thing",
          "name": "Hydrauliczne równoważenie instalacji"
        }
      ],
      "hasPart": [
        {
          "@id": "https://projekt-ogrzewania.pl/petla-grzewcza/#calculator-app"
        },
        {
          "@id": "https://projekt-ogrzewania.pl/petla-grzewcza/#dependency-app"
        },
        {
          "@id": "https://projekt-ogrzewania.pl/petla-grzewcza/#howto"
        },
        {
          "@id": "https://projekt-ogrzewania.pl/petla-grzewcza/#checklist-schema"
        },
        {
          "@id": "https://projekt-ogrzewania.pl/petla-grzewcza/#faq-schema"
        }
      ]
    },
    {
      "@type": "WebApplication",
      "@id": "https://projekt-ogrzewania.pl/petla-grzewcza/#calculator-app",
      "name": "Kalkulator długości, liczby pętli i przepływu podłogówki",
      "url": "https://projekt-ogrzewania.pl/petla-grzewcza/#rk-loop-calculator",
      "description": "Interaktywny kalkulator szacujący długość rury, średnią długość pętli, powierzchnię na obieg oraz przepływ wody z wykresem podziału na 1–8 pętli.",
      "applicationCategory": "EducationalApplication",
      "applicationSubCategory": "Kalkulator instalacyjny",
      "operatingSystem": "Dowolny system z przeglądarką internetową",
      "browserRequirements": "JavaScript",
      "inLanguage": "pl-PL",
      "isAccessibleForFree": true,
      "offers": {
        "@type": "Offer",
        "price": "0",
        "priceCurrency": "PLN"
      },
      "creator": {
        "@id": "https://projekt-ogrzewania.pl/#robert-kucharski"
      },
      "isPartOf": {
        "@id": "https://projekt-ogrzewania.pl/petla-grzewcza/#article"
      }
    },
    {
      "@type": "WebApplication",
      "@id": "https://projekt-ogrzewania.pl/petla-grzewcza/#dependency-app",
      "name": "Interaktywna grafika zależności pętli grzewczej",
      "url": "https://projekt-ogrzewania.pl/petla-grzewcza/#rk-loop-graphic",
      "description": "Modułowa grafika pokazująca skutki zmiany rozstawu, długości, przepływu lub okładziny dla sześciu warstw projektu.",
      "applicationCategory": "EducationalApplication",
      "applicationSubCategory": "Interaktywna grafika edukacyjna",
      "operatingSystem": "Dowolny system z przeglądarką internetową",
      "browserRequirements": "JavaScript",
      "inLanguage": "pl-PL",
      "isAccessibleForFree": true,
      "offers": {
        "@type": "Offer",
        "price": "0",
        "priceCurrency": "PLN"
      },
      "creator": {
        "@id": "https://projekt-ogrzewania.pl/#robert-kucharski"
      },
      "isPartOf": {
        "@id": "https://projekt-ogrzewania.pl/petla-grzewcza/#article"
      }
    },
    {
      "@type": "HowTo",
      "@id": "https://projekt-ogrzewania.pl/petla-grzewcza/#howto",
      "name": "Jak zaprojektować pętle ogrzewania podłogowego",
      "description": "Kolejność łącząca obliczenia cieplne, geometrię, hydraulikę, wykonanie i nastawy pętli.",
      "image": {
        "@id": "https://projekt-ogrzewania.pl/petla-grzewcza/#primaryimage"
      },
      "totalTime": "PT3H",
      "inLanguage": "pl-PL",
      "supply": [
        {
          "@type": "HowToSupply",
          "name": "Rzut budynku z wymiarami i planem stałej zabudowy"
        },
        {
          "@type": "HowToSupply",
          "name": "Dane konstrukcji oraz okładzin podłogowych"
        },
        {
          "@type": "HowToSupply",
          "name": "Charakterystyki rury, rozdzielacza i pompy"
        }
      ],
      "step": [
        {
          "@type": "HowToStep",
          "position": 1,
          "name": "Policz obciążenie cieplne",
          "text": "Wyznacz projektową moc oddzielnie dla każdego pomieszczenia.",
          "url": "https://projekt-ogrzewania.pl/petla-grzewcza/#rk-loop-data"
        },
        {
          "@type": "HowToStep",
          "position": 2,
          "name": "Ustal powierzchnię czynną",
          "text": "Określ rzeczywisty obszar podłogi przeznaczony do emisji ciepła.",
          "url": "https://projekt-ogrzewania.pl/petla-grzewcza/#rk-loop-data"
        },
        {
          "@type": "HowToStep",
          "position": 3,
          "name": "Sprawdź emisję podłogi",
          "text": "Dobierz temperatury i rozstaw do wymaganej mocy, konstrukcji oraz ograniczeń powierzchni.",
          "url": "https://projekt-ogrzewania.pl/petla-grzewcza/#rk-loop-spacing"
        },
        {
          "@type": "HowToStep",
          "position": 4,
          "name": "Narysuj rzeczywiste trasy",
          "text": "Uwzględnij geometrię, strefy wyłączone, podejścia, dylatacje i położenie rozdzielacza.",
          "url": "https://projekt-ogrzewania.pl/petla-grzewcza/#rk-loop-count"
        },
        {
          "@type": "HowToStep",
          "position": 5,
          "name": "Oblicz przepływy",
          "text": "Przypisz każdej pętli moc oraz projektowe ΔT i wyznacz wymagany strumień wody.",
          "url": "https://projekt-ogrzewania.pl/petla-grzewcza/#rk-loop-flow"
        },
        {
          "@type": "HowToStep",
          "position": 6,
          "name": "Policz spadki ciśnienia",
          "text": "Użyj dokładnych danych rury, medium, zaworów, rozdzielacza i przewodów wspólnych.",
          "url": "https://projekt-ogrzewania.pl/petla-grzewcza/#rk-loop-pressure"
        },
        {
          "@type": "HowToStep",
          "position": 7,
          "name": "Zweryfikuj wykonanie",
          "text": "Sprawdź zgodność tras z projektem, dokumentacją systemu, dylatacjami i procedurą próby.",
          "url": "https://projekt-ogrzewania.pl/petla-grzewcza/#rk-loop-installation"
        },
        {
          "@type": "HowToStep",
          "position": 8,
          "name": "Ustaw i zapisz przepływy",
          "text": "Wyrównoważ rozdzielacz, sprawdź interakcje obiegów i przygotuj dokumentację powykonawczą.",
          "url": "https://projekt-ogrzewania.pl/petla-grzewcza/#rk-loop-balancing"
        }
      ]
    },
    {
      "@type": "ItemList",
      "@id": "https://projekt-ogrzewania.pl/petla-grzewcza/#checklist-schema",
      "name": "Lista kontrolna pętli grzewczych",
      "description": "Czternaście punktów do sprawdzenia przed zatwierdzeniem projektu i zakryciem instalacji.",
      "numberOfItems": 14,
      "itemListOrder": "https://schema.org/ItemListOrderAscending",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "OZC pomieszczeń",
          "description": "Czy moc została wyznaczona oddzielnie dla każdej przestrzeni?"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Powierzchnie czynne",
          "description": "Czy uwzględniono zabudowę, sanitariaty i pozostałe obszary bez rur?"
        },
        {
          "@type": "ListItem",
          "position": 3,
          "name": "Okładziny podłogowe",
          "description": "Czy znane są opory i ograniczenia wszystkich warstw wykończenia?"
        },
        {
          "@type": "ListItem",
          "position": 4,
          "name": "Temperatura i moc podłogi",
          "description": "Czy sprawdzono emisję oraz dopuszczalne temperatury powierzchni?"
        },
        {
          "@type": "ListItem",
          "position": 5,
          "name": "Rozstaw rur",
          "description": "Czy wynika z obliczeń i jest możliwy do wykonania w wybranym systemie?"
        },
        {
          "@type": "ListItem",
          "position": 6,
          "name": "Rzeczywiste trasy",
          "description": "Czy długości obejmują pole grzewcze oraz odcinki dobiegowe i powrotne?"
        },
        {
          "@type": "ListItem",
          "position": 7,
          "name": "Rura i medium",
          "description": "Czy obliczenia używają dokładnej średnicy wewnętrznej oraz właściwości czynnika?"
        },
        {
          "@type": "ListItem",
          "position": 8,
          "name": "Przepływy projektowe",
          "description": "Czy każda pętla ma przypisaną moc, ΔT i wymagany strumień?"
        },
        {
          "@type": "ListItem",
          "position": 9,
          "name": "Spadki ciśnienia",
          "description": "Czy sprawdzono rurę, zawory, rozdzielacz i wspólne odcinki?"
        },
        {
          "@type": "ListItem",
          "position": 10,
          "name": "Pętla krytyczna",
          "description": "Czy wyznaczono najbardziej wymagającą drogę dla doboru pompy?"
        },
        {
          "@type": "ListItem",
          "position": 11,
          "name": "Dylatacje i strefy",
          "description": "Czy trasy odpowiadają podziałowi jastrychu i planowanej regulacji?"
        },
        {
          "@type": "ListItem",
          "position": 12,
          "name": "Dokumentacja systemu",
          "description": "Czy zachowano wymagany promień gięcia, mocowanie i zasady wykonania?"
        },
        {
          "@type": "ListItem",
          "position": 13,
          "name": "Próba szczelności",
          "description": "Czy przeprowadzono ją zgodnie z procedurą i sporządzono protokół?"
        },
        {
          "@type": "ListItem",
          "position": 14,
          "name": "Odbiór i nastawy",
          "description": "Czy opisano pętle, wykonano zdjęcia i zapisano przepływy oraz tryb pompy?"
        }
      ]
    },
    {
      "@type": "FAQPage",
      "@id": "https://projekt-ogrzewania.pl/petla-grzewcza/#faq-schema",
      "url": "https://projekt-ogrzewania.pl/petla-grzewcza/#rk-loop-faq",
      "inLanguage": "pl-PL",
      "mainEntity": [
        {
          "@type": "Question",
          "name": "Jaka jest maksymalna długość pętli ogrzewania podłogowego?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Nie ma jednej maksymalnej długości dla każdej rury i instalacji. W praktyce autora dla rury 16×2 przyjmuje się zwykle limit do 100 m łącznie z podejściami, ale każdą pętlę trzeba sprawdzić dla jej przepływu, średnicy wewnętrznej, medium, armatury i dostępnej różnicy ciśnień."
          }
        },
        {
          "@type": "Question",
          "name": "Czy pętla 120 m zawsze będzie działała źle?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Nie da się tego rozstrzygnąć samą długością. Pętla 120 m będzie miała większy opór liniowy niż krótsza rura tego samego typu przy tym samym przepływie, lecz o osiągalności strumienia decyduje pełne obliczenie hydrauliczne. Taki wariant wymaga świadomej weryfikacji, a nie automatycznej akceptacji."
          }
        },
        {
          "@type": "Question",
          "name": "Ile metrów rury potrzeba na jedną pętlę?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Najpierw szacuje się długość w powierzchni jako A/s, dodaje łuki, dopasowanie geometrii oraz podwójny odcinek między rozdzielaczem i polem. Następnie powierzchnię dzieli się na tyle rzeczywistych tras, aby spełnić kryteria cieplne i hydrauliczne."
          }
        },
        {
          "@type": "Question",
          "name": "Jak obliczyć przepływ w pętli podłogówki?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Dla wody można użyć zależności V w l/h około 0,86 razy moc pętli w watach podzielona przez projektowe ΔT w kelwinach. Wynik trzeba później zweryfikować pod kątem prędkości, spadku ciśnienia, charakterystyki zaworów i pompy."
          }
        },
        {
          "@type": "Question",
          "name": "Czy wszystkie pętle powinny mieć taką samą długość?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Nie. Korzystne może być zbliżenie długości pętli obsługujących tę samą powierzchnię, ale sztuczne dodawanie rury nie zastępuje obliczeń. Różne obciążenia i powierzchnie mogą wymagać innych długości oraz przepływów, które wyrównuje się hydraulicznie."
          }
        },
        {
          "@type": "Question",
          "name": "Czy jedna pętla może przechodzić przez dwa pomieszczenia?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Może być to technicznie możliwe dla małych powierzchni należących do jednej strefy, jeżeli są zgodne pod względem temperatur, okładzin, dylatacji i regulacji. Nie powinno się łączyć pomieszczeń wymagających niezależnego sterowania lub innych warunków cieplnych."
          }
        },
        {
          "@type": "Question",
          "name": "Co jest lepsze: ślimak czy meander?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Ślimak jest częstym wyborem, ponieważ naprzemienne prowadzenie zasilania i powrotu sprzyja równomiernej temperaturze powierzchni. Meander może być właściwy w wąskich strefach albo wtedy, gdy celowo potrzebny jest kierunkowy rozkład temperatury. O wyborze decyduje geometria i projekt."
          }
        },
        {
          "@type": "Question",
          "name": "Czy zbyt krótka pętla może nie pobierać ciepła?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Krótka pętla sama z siebie nie ma takiego problemu. Zwykle ma mniejszy opór i bez równoważenia może otrzymać zbyt duży przepływ. Jej moc zależy od obsługiwanej powierzchni, temperatur wody, konstrukcji podłogi i przepływu."
          }
        },
        {
          "@type": "Question",
          "name": "Dlaczego na długiej pętli nie ma wymaganego przepływu?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Przyczyną może być duży opór, ale również powietrze, zabrudzony filtr, nieprawidłowy tryb pompy, zamknięty zawór, siłownik, mała różnica ciśnień albo błąd odczytu. Długość jest tylko jednym z elementów diagnozy."
          }
        },
        {
          "@type": "Question",
          "name": "Czy przepływ 2 l/min jest prawidłowy dla każdej pętli?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Nie. Przepływ powinien wynikać z mocy przypisanej do pętli i projektowego ΔT. Wartość 2 l/min może być właściwa dla jednego obiegu, a zbyt duża lub zbyt mała dla innego."
          }
        }
      ]
    }
  ]
}
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/petla-grzewcza/">Pętla grzewcza podłogówki – długość, przepływ i dobór.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Kocioł gazowy.</title>
		<link>https://projekt-ogrzewania.pl/kociol-gazowy/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sun, 04 Jan 2026 14:02:32 +0000</pubDate>
				<category><![CDATA[Budowa domu]]></category>
		<category><![CDATA[Efektywność energetyczna]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Kocioł gazowy]]></category>
		<category><![CDATA[Modernizacja ogrzewania]]></category>
		<category><![CDATA[Ogrzewanie budynków]]></category>
		<category><![CDATA[Ogrzewanie domu]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradnik inwestora]]></category>
		<category><![CDATA[Poradniki dla inwestorów]]></category>
		<category><![CDATA[Projektowanie instalacji]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Technika grzewcza]]></category>
		<category><![CDATA[efektywność energetyczna]]></category>
		<category><![CDATA[instalacja grzewcza]]></category>
		<category><![CDATA[kocioł gazowy]]></category>
		<category><![CDATA[kocioł kondensacyjny]]></category>
		<category><![CDATA[niskotemperaturowe ogrzewanie]]></category>
		<category><![CDATA[ogrzewanie domu]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[rozdzielacz podłogówki]]></category>
		<category><![CDATA[sterowanie pogodowe]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=3048</guid>

					<description><![CDATA[<p>Wybór źródła ciepła do ogrzewania podłogowego to decyzja, która wpływa na komfort, koszty i niezawodność systemu przez długie lata. Kocioł gazowy w ogrzewaniu podłogowym pozostaje jednym z najczęściej wybieranych rozwiązań, ponieważ idealnie wpisuje się w charakterystykę instalacji niskotemperaturowych. W artykule omawiamy zasadę działania kotła kondensacyjnego, proces kondensacji, kluczowe elementy instalacji, dobór mocy, sterowanie oraz praktyczne aspekty projektowania i eksploatacji. To kompleksowy przewodnik zarówno dla inwestorów, jak i osób technicznych.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/kociol-gazowy/">Kocioł gazowy.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
  #rk-gas-guide {
    --rk-dark: #102536;
    --rk-navy: #14384d;
    --rk-graphite: #2c414f;
    --rk-blue: #078fbe;
    --rk-cyan: #28c9da;
    --rk-cyan-soft: #eafcff;
    --rk-orange: #ff7438;
    --rk-red: #e33d35;
    --rk-green: #16856b;
    --rk-green-soft: #eaf8f4;
    --rk-yellow: #f5b942;
    --rk-ink: #1f2937;
    --rk-text: #465866;
    --rk-muted: #687986;
    --rk-line: #dce8ee;
    --rk-soft: #f5f9fb;
    --rk-warm: #fff4ed;
    --rk-white: #ffffff;
    width: 100%;
    max-width: 1180px;
    margin: 34px auto 70px;
    color: var(--rk-ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 18px;
    line-height: 1.76;
  }

  #rk-gas-guide,
  #rk-gas-guide * {
    box-sizing: border-box;
  }

  #rk-gas-guide img,
  #rk-gas-guide svg {
    max-width: 100%;
  }

  #rk-gas-guide button,
  #rk-gas-guide input,
  #rk-gas-guide label,
  #rk-gas-guide a,
  #rk-gas-guide summary {
    font: inherit;
    -webkit-tap-highlight-color: transparent;
  }

  #rk-gas-guide a {
    color: var(--rk-blue);
    font-weight: 760;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
  }

  #rk-gas-guide a:hover,
  #rk-gas-guide a:focus-visible {
    color: var(--rk-red);
  }

  #rk-gas-guide h2,
  #rk-gas-guide h3,
  #rk-gas-guide h4 {
    margin-top: 0;
    color: var(--rk-dark);
    font-weight: 900;
    letter-spacing: -0.035em;
    line-height: 1.16;
  }

  #rk-gas-guide h2 {
    margin-bottom: 18px;
    font-size: clamp(1.65rem, 3.7vw, 2.6rem);
  }

  #rk-gas-guide h3 {
    margin-bottom: 12px;
    font-size: clamp(1.18rem, 2.5vw, 1.56rem);
  }

  #rk-gas-guide h4 {
    margin-bottom: 8px;
    font-size: 1.04rem;
    letter-spacing: -0.018em;
  }

  /* Ochrona przed dekoracjami nagłówków dodawanymi przez motyw. */
  #rk-gas-guide h2::before,
  #rk-gas-guide h2::after,
  #rk-gas-guide h3::before,
  #rk-gas-guide h3::after,
  #rk-gas-guide h4::before,
  #rk-gas-guide h4::after {
    content: none !important;
    display: none !important;
  }

  #rk-gas-guide p {
    margin: 0 0 1.22em;
    color: var(--rk-text);
  }

  #rk-gas-guide strong {
    color: var(--rk-dark);
  }

  #rk-gas-guide section[id] {
    scroll-margin-top: 28px;
  }

  #rk-gas-guide .rk-gas-shell {
    overflow: hidden;
    border: 1px solid var(--rk-line);
    border-radius: 30px;
    background: var(--rk-white);
    box-shadow: 0 25px 70px rgba(16, 37, 54, 0.12);
  }

  #rk-gas-guide .rk-gas-progress-track {
    position: sticky;
    z-index: 30;
    top: 0;
    width: 100%;
    height: 5px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.86);
  }

  #rk-gas-guide .rk-gas-progress {
    width: 0;
    height: 100%;
    background: linear-gradient(90deg, var(--rk-cyan), var(--rk-blue), var(--rk-orange), var(--rk-red));
  }

  #rk-gas-guide .rk-gas-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(38px, 6.5vw, 78px);
    color: var(--rk-white);
    background:
      radial-gradient(circle at 88% 12%, rgba(255, 116, 56, 0.38), transparent 27%),
      radial-gradient(circle at 82% 80%, rgba(40, 201, 218, 0.24), transparent 31%),
      linear-gradient(135deg, #0d2230 0%, #143b50 58%, #095e78 100%);
  }

  #rk-gas-guide .rk-gas-hero::before,
  #rk-gas-guide .rk-gas-hero::after {
    content: "";
    position: absolute;
    z-index: -1;
    border-radius: 50%;
    pointer-events: none;
  }

  #rk-gas-guide .rk-gas-hero::before {
    right: -115px;
    bottom: -170px;
    width: 390px;
    height: 390px;
    border: 58px solid rgba(255, 255, 255, 0.055);
  }

  #rk-gas-guide .rk-gas-hero::after {
    right: 115px;
    bottom: -130px;
    width: 230px;
    height: 230px;
    border: 34px solid rgba(255, 116, 56, 0.11);
  }

  #rk-gas-guide .rk-gas-badge {
    display: inline-flex;
    gap: 10px;
    align-items: center;
    margin: 0 0 24px;
    padding: 8px 15px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 999px;
    color: var(--rk-white);
    background: rgba(255, 255, 255, 0.08);
    font-size: 0.74rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    line-height: 1.35;
    text-transform: uppercase;
  }

  #rk-gas-guide .rk-gas-badge::before {
    content: "";
    width: 10px;
    height: 10px;
    flex: 0 0 10px;
    border-radius: 50%;
    background: var(--rk-orange);
    box-shadow: 0 0 0 6px rgba(255, 116, 56, 0.18);
  }

  #rk-gas-guide .rk-gas-hero h2 {
    max-width: 930px;
    margin-bottom: 24px;
    color: var(--rk-white);
    font-size: clamp(2rem, 5.25vw, 3.9rem);
    letter-spacing: -0.055em;
  }

  #rk-gas-guide .rk-gas-hero h2 em {
    color: #84edf5;
    font-style: normal;
  }

  #rk-gas-guide .rk-gas-hook {
    max-width: 940px;
    margin: 0 0 25px;
    padding: 18px 22px;
    border-left: 5px solid var(--rk-orange);
    border-radius: 0 16px 16px 0;
    background: rgba(255, 255, 255, 0.09);
    backdrop-filter: blur(4px);
  }

  #rk-gas-guide .rk-gas-hook p {
    margin: 0;
    color: #f8fcff;
    font-size: clamp(1.05rem, 2.15vw, 1.35rem);
    font-weight: 720;
  }

  #rk-gas-guide .rk-gas-hook strong,
  #rk-gas-guide .rk-gas-hero strong {
    color: var(--rk-white);
  }

  #rk-gas-guide .rk-gas-hero-lead {
    max-width: 900px;
    color: #d9e9f1;
    font-size: 1.05rem;
  }

  #rk-gas-guide .rk-gas-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 24px;
    margin-top: 28px;
  }

  #rk-gas-guide .rk-gas-hero-meta b {
    display: inline-flex;
    gap: 9px;
    align-items: center;
    color: #d8e8ef;
    font-size: 0.86rem;
  }

  #rk-gas-guide .rk-gas-hero-meta b::before {
    content: "";
    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    border-radius: 50%;
    background: var(--rk-cyan);
  }

  #rk-gas-guide .rk-gas-content {
    padding: clamp(28px, 5vw, 66px);
  }

  #rk-gas-guide .rk-gas-learn,
  #rk-gas-guide .rk-gas-nav,
  #rk-gas-guide .rk-gas-callout,
  #rk-gas-guide .rk-gas-formula,
  #rk-gas-guide .rk-gas-table-wrap,
  #rk-gas-guide .rk-gas-chart,
  #rk-gas-guide .rk-gas-scheme,
  #rk-gas-guide .rk-gas-sources {
    margin: 28px 0;
  }

  #rk-gas-guide .rk-gas-learn {
    padding: clamp(22px, 4vw, 34px);
    border: 1px solid var(--rk-line);
    border-radius: 24px;
    background: linear-gradient(145deg, #f9fdff, var(--rk-cyan-soft));
  }

  #rk-gas-guide .rk-gas-eyebrow {
    display: block;
    margin-bottom: 14px;
    color: var(--rk-blue);
    font-size: 0.74rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    line-height: 1.4;
    text-transform: uppercase;
  }

  #rk-gas-guide .rk-gas-learn-grid,
  #rk-gas-guide .rk-gas-card-grid,
  #rk-gas-guide .rk-gas-check-grid,
  #rk-gas-guide .rk-gas-kpi-grid {
    display: grid;
    gap: 18px;
  }

  #rk-gas-guide .rk-gas-learn-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  #rk-gas-guide .rk-gas-card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  #rk-gas-guide .rk-gas-check-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #rk-gas-guide .rk-gas-kpi-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  #rk-gas-guide .rk-gas-learn-card,
  #rk-gas-guide .rk-gas-card,
  #rk-gas-guide .rk-gas-check,
  #rk-gas-guide .rk-gas-kpi {
    min-width: 0;
    border: 1px solid var(--rk-line);
    border-radius: 20px;
    background: var(--rk-white);
  }

  #rk-gas-guide .rk-gas-learn-card,
  #rk-gas-guide .rk-gas-card,
  #rk-gas-guide .rk-gas-check {
    padding: 22px;
  }

  #rk-gas-guide .rk-gas-learn-no,
  #rk-gas-guide .rk-gas-card-tag,
  #rk-gas-guide .rk-gas-check-no {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
    color: var(--rk-white);
    background: linear-gradient(145deg, var(--rk-blue), var(--rk-cyan));
    font-size: 0.76rem;
    font-weight: 900;
    line-height: 1;
  }

  #rk-gas-guide .rk-gas-learn-no,
  #rk-gas-guide .rk-gas-check-no {
    width: 46px;
    height: 46px;
    border-radius: 15px;
  }

  #rk-gas-guide .rk-gas-card-tag {
    min-height: 32px;
    padding: 7px 11px;
    border-radius: 10px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  #rk-gas-guide .rk-gas-learn-card p,
  #rk-gas-guide .rk-gas-card p,
  #rk-gas-guide .rk-gas-check p,
  #rk-gas-guide .rk-gas-kpi p {
    margin-bottom: 0;
  }

  #rk-gas-guide .rk-gas-nav {
    padding: 22px;
    border: 1px solid var(--rk-line);
    border-radius: 20px;
    background: var(--rk-soft);
  }

  #rk-gas-guide .rk-gas-nav > strong {
    display: block;
    margin-bottom: 13px;
  }

  #rk-gas-guide .rk-gas-nav-links {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
  }

  #rk-gas-guide .rk-gas-nav-links > a {
    padding: 7px 12px;
    border: 1px solid var(--rk-line);
    border-radius: 999px;
    color: var(--rk-navy);
    background: var(--rk-white);
    font-size: 0.79rem;
    text-decoration: none;
  }

  #rk-gas-guide .rk-gas-nav-links > a:hover,
  #rk-gas-guide .rk-gas-nav-links > a:focus-visible {
    color: var(--rk-white);
    border-color: var(--rk-blue);
    background: var(--rk-blue);
  }

  #rk-gas-guide .rk-gas-section {
    padding: clamp(38px, 6vw, 70px) 0;
    border-top: 1px solid var(--rk-line);
  }

  #rk-gas-guide .rk-gas-section:first-of-type {
    border-top: 0;
  }

  #rk-gas-guide .rk-gas-section-head {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 20px;
    align-items: start;
    margin-bottom: 28px;
  }

  #rk-gas-guide .rk-gas-section-no {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 19px;
    color: var(--rk-white);
    background: linear-gradient(145deg, var(--rk-dark), var(--rk-navy));
    font-weight: 900;
  }

  #rk-gas-guide .rk-gas-section-head h2 {
    margin-bottom: 8px;
  }

  #rk-gas-guide .rk-gas-section-head p {
    margin: 0;
    color: var(--rk-muted);
  }

  #rk-gas-guide .rk-gas-answer {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(190px, 0.45fr);
    gap: 24px;
    align-items: center;
    margin: 25px 0;
    padding: clamp(24px, 4vw, 40px);
    border: 1px solid #ffd7c3;
    border-radius: 24px;
    background: linear-gradient(145deg, #fffaf7, var(--rk-warm));
  }

  #rk-gas-guide .rk-gas-answer-label {
    display: block;
    margin-bottom: 10px;
    color: #c94e18;
    font-size: 0.74rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    text-transform: uppercase;
  }

  #rk-gas-guide .rk-gas-answer-main {
    color: var(--rk-dark);
    font-size: clamp(1.2rem, 3vw, 1.75rem);
    font-weight: 900;
    line-height: 1.25;
  }

  #rk-gas-guide .rk-gas-answer-main p {
    margin: 0;
    color: inherit;
  }

  #rk-gas-guide .rk-gas-answer-badge {
    padding: 22px;
    border-radius: 20px;
    color: var(--rk-white);
    background: linear-gradient(145deg, var(--rk-orange), var(--rk-red));
    text-align: center;
    box-shadow: 0 16px 35px rgba(227, 61, 53, 0.2);
  }

  #rk-gas-guide .rk-gas-answer-badge b,
  #rk-gas-guide .rk-gas-answer-badge small {
    display: block;
    color: var(--rk-white);
  }

  #rk-gas-guide .rk-gas-answer-badge b {
    font-size: clamp(1.8rem, 5vw, 3rem);
    line-height: 1;
  }

  #rk-gas-guide .rk-gas-answer-badge small {
    margin-top: 7px;
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1.35;
  }

  #rk-gas-guide .rk-gas-note,
  #rk-gas-guide .rk-gas-warning,
  #rk-gas-guide .rk-gas-truth {
    margin: 25px 0;
    padding: 21px 23px;
    border-radius: 0 18px 18px 0;
  }

  #rk-gas-guide .rk-gas-note {
    border-left: 5px solid var(--rk-blue);
    background: var(--rk-cyan-soft);
  }

  #rk-gas-guide .rk-gas-warning {
    border-left: 5px solid var(--rk-orange);
    background: var(--rk-warm);
  }

  #rk-gas-guide .rk-gas-truth {
    border-left: 5px solid var(--rk-cyan);
    background: linear-gradient(135deg, var(--rk-dark), #24485c);
  }

  #rk-gas-guide .rk-gas-truth p,
  #rk-gas-guide .rk-gas-truth strong {
    color: var(--rk-white);
  }

  #rk-gas-guide .rk-gas-note p:last-child,
  #rk-gas-guide .rk-gas-warning p:last-child,
  #rk-gas-guide .rk-gas-truth p:last-child {
    margin-bottom: 0;
  }

  #rk-gas-guide .rk-gas-formula {
    padding: clamp(22px, 4vw, 34px);
    border: 1px solid var(--rk-line);
    border-radius: 22px;
    background: linear-gradient(145deg, #f8feff, var(--rk-cyan-soft));
  }

  #rk-gas-guide .rk-gas-formula-label {
    display: block;
    margin-bottom: 10px;
    color: var(--rk-blue);
    font-size: 0.75rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  #rk-gas-guide .rk-gas-equation {
    overflow-wrap: anywhere;
    color: var(--rk-dark);
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: clamp(1.15rem, 3vw, 1.7rem);
    font-weight: 900;
    line-height: 1.35;
  }

  #rk-gas-guide .rk-gas-equation small {
    display: block;
    margin-top: 11px;
    color: var(--rk-muted);
    font-family: Inter, ui-sans-serif, system-ui, sans-serif;
    font-size: 0.78rem;
    font-weight: 570;
    line-height: 1.6;
  }

  #rk-gas-guide .rk-gas-table-wrap {
    width: 100%;
  }

  #rk-gas-guide .rk-gas-table-title {
    display: block;
    margin-bottom: 12px;
    color: var(--rk-dark);
    font-weight: 900;
  }

  #rk-gas-guide table {
    width: 100%;
    border: 1px solid var(--rk-line);
    border-spacing: 0;
    border-collapse: separate;
    border-radius: 18px;
    overflow: hidden;
    background: var(--rk-white);
  }

  #rk-gas-guide th,
  #rk-gas-guide td {
    padding: 15px 17px;
    border-right: 1px solid var(--rk-line);
    border-bottom: 1px solid var(--rk-line);
    vertical-align: top;
    text-align: left;
  }

  #rk-gas-guide th:last-child,
  #rk-gas-guide td:last-child {
    border-right: 0;
  }

  #rk-gas-guide tbody tr:last-child td {
    border-bottom: 0;
  }

  #rk-gas-guide thead th {
    color: var(--rk-white);
    background: var(--rk-navy);
    font-size: 0.83rem;
    line-height: 1.45;
  }

  #rk-gas-guide tbody tr:nth-child(even) td {
    background: var(--rk-soft);
  }

  #rk-gas-guide td {
    color: var(--rk-text);
    font-size: 0.88rem;
  }

  #rk-gas-guide .rk-gas-status {
    display: inline-block;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 900;
    line-height: 1.3;
  }

  #rk-gas-guide .rk-gas-status-good {
    color: #0d6b56;
    background: #dff5ed;
  }

  #rk-gas-guide .rk-gas-status-check {
    color: #9a5510;
    background: #fff0d7;
  }

  #rk-gas-guide .rk-gas-status-no {
    color: #ae302b;
    background: #ffe6e4;
  }

  #rk-gas-guide .rk-gas-scheme {
    padding: clamp(22px, 4vw, 34px);
    border: 1px solid var(--rk-line);
    border-radius: 24px;
    background: var(--rk-soft);
  }

  #rk-gas-guide .rk-gas-scheme > input,
  #rk-gas-guide .rk-gas-author > input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
  }

  #rk-gas-guide .rk-gas-scheme-tabs,
  #rk-gas-guide .rk-gas-author-tabs {
    display: grid;
    gap: 0;
    border: 1px solid var(--rk-line);
    border-radius: 15px;
    overflow: hidden;
    background: var(--rk-white);
  }

  #rk-gas-guide .rk-gas-scheme-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #rk-gas-guide .rk-gas-author-tabs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-radius: 0;
    border-right: 0;
    border-left: 0;
  }

  #rk-gas-guide .rk-gas-scheme-tab,
  #rk-gas-guide .rk-gas-author-tab {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 58px;
    padding: 11px 14px;
    color: var(--rk-muted);
    background: var(--rk-white);
    font-size: 0.78rem;
    font-weight: 900;
    line-height: 1.35;
    text-align: center;
    text-transform: uppercase;
    cursor: pointer;
  }

  #rk-gas-guide .rk-gas-scheme-tab + .rk-gas-scheme-tab,
  #rk-gas-guide .rk-gas-author-tab + .rk-gas-author-tab {
    border-left: 1px solid var(--rk-line);
  }

  #rk-gas-guide #rk-gas-scheme-direct:checked ~ .rk-gas-scheme-tabs label[for="rk-gas-scheme-direct"],
  #rk-gas-guide #rk-gas-scheme-mixed:checked ~ .rk-gas-scheme-tabs label[for="rk-gas-scheme-mixed"],
  #rk-gas-guide #rk-gas-author-about:checked ~ .rk-gas-author-layout .rk-gas-author-main .rk-gas-author-tabs label[for="rk-gas-author-about"],
  #rk-gas-guide #rk-gas-author-exp:checked ~ .rk-gas-author-layout .rk-gas-author-main .rk-gas-author-tabs label[for="rk-gas-author-exp"],
  #rk-gas-guide #rk-gas-author-sites:checked ~ .rk-gas-author-layout .rk-gas-author-main .rk-gas-author-tabs label[for="rk-gas-author-sites"] {
    color: var(--rk-blue);
    background: var(--rk-cyan-soft);
    box-shadow: inset 0 -5px 0 var(--rk-blue);
  }

  #rk-gas-guide .rk-gas-scheme-panel,
  #rk-gas-guide .rk-gas-author-panel {
    display: none;
  }

  #rk-gas-guide #rk-gas-scheme-direct:checked ~ .rk-gas-scheme-panels .rk-gas-scheme-panel-direct,
  #rk-gas-guide #rk-gas-scheme-mixed:checked ~ .rk-gas-scheme-panels .rk-gas-scheme-panel-mixed,
  #rk-gas-guide #rk-gas-author-about:checked ~ .rk-gas-author-layout .rk-gas-author-main .rk-gas-author-panel-about,
  #rk-gas-guide #rk-gas-author-exp:checked ~ .rk-gas-author-layout .rk-gas-author-main .rk-gas-author-panel-exp,
  #rk-gas-guide #rk-gas-author-sites:checked ~ .rk-gas-author-layout .rk-gas-author-main .rk-gas-author-panel-sites {
    display: block;
  }

  #rk-gas-guide .rk-gas-scheme-panel {
    padding-top: 28px;
  }

  #rk-gas-guide .rk-gas-flow {
    display: flex;
    gap: 10px;
    align-items: stretch;
    margin: 24px 0;
  }

  #rk-gas-guide .rk-gas-flow-box {
    display: flex;
    flex: 1 1 0;
    min-width: 0;
    min-height: 94px;
    align-items: center;
    justify-content: center;
    padding: 15px;
    border: 1px solid var(--rk-line);
    border-radius: 16px;
    color: var(--rk-dark);
    background: var(--rk-white);
    font-size: 0.83rem;
    font-weight: 850;
    line-height: 1.4;
    text-align: center;
  }

  #rk-gas-guide .rk-gas-flow-box-hot {
    color: var(--rk-white);
    border-color: transparent;
    background: linear-gradient(145deg, var(--rk-orange), var(--rk-red));
  }

  #rk-gas-guide .rk-gas-flow-box-cold {
    color: var(--rk-white);
    border-color: transparent;
    background: linear-gradient(145deg, var(--rk-blue), var(--rk-cyan));
  }

  #rk-gas-guide .rk-gas-flow-arrow {
    display: flex;
    flex: 0 0 24px;
    align-items: center;
    justify-content: center;
    color: var(--rk-orange);
    font-size: 1.4rem;
    font-weight: 900;
  }

  #rk-gas-guide .rk-gas-lab {
    margin: 30px 0;
    overflow: hidden;
    border: 1px solid #b9dce8;
    border-radius: 28px;
    background: var(--rk-white);
    box-shadow: 0 20px 50px rgba(16, 37, 54, 0.1);
  }

  #rk-gas-guide .rk-gas-lab-head {
    padding: clamp(26px, 5vw, 44px);
    color: var(--rk-white);
    background: linear-gradient(135deg, var(--rk-dark), #174e68);
  }

  #rk-gas-guide .rk-gas-lab-head h3,
  #rk-gas-guide .rk-gas-lab-head p {
    color: var(--rk-white);
  }

  #rk-gas-guide .rk-gas-lab-head p:last-child {
    margin-bottom: 0;
    color: #d8e9f0;
  }

  #rk-gas-guide .rk-gas-lab-body {
    display: grid;
    grid-template-columns: minmax(270px, 0.82fr) minmax(0, 1.18fr);
  }

  #rk-gas-guide .rk-gas-lab-controls {
    padding: clamp(24px, 4vw, 36px);
    border-right: 1px solid var(--rk-line);
    background: var(--rk-soft);
  }

  #rk-gas-guide .rk-gas-control {
    margin-bottom: 24px;
  }

  #rk-gas-guide .rk-gas-control:last-child {
    margin-bottom: 0;
  }

  #rk-gas-guide .rk-gas-control-top {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 9px;
  }

  #rk-gas-guide .rk-gas-control-label {
    color: var(--rk-dark);
    font-size: 0.82rem;
    font-weight: 850;
    line-height: 1.4;
  }

  #rk-gas-guide .rk-gas-control-value {
    flex: 0 0 auto;
    min-width: 68px;
    padding: 5px 9px;
    border-radius: 10px;
    color: var(--rk-white);
    background: var(--rk-blue);
    font-size: 0.78rem;
    font-weight: 900;
    line-height: 1.35;
    text-align: center;
  }

  #rk-gas-guide input[type="range"] {
    width: 100%;
    margin: 0;
    accent-color: var(--rk-orange);
    cursor: pointer;
  }

  #rk-gas-guide .rk-gas-lab-results {
    min-width: 0;
    padding: clamp(24px, 4vw, 36px);
  }

  #rk-gas-guide .rk-gas-kpi {
    padding: 17px;
    background: var(--rk-soft);
  }

  #rk-gas-guide .rk-gas-kpi-label {
    display: block;
    min-height: 2.8em;
    margin-bottom: 8px;
    color: var(--rk-muted);
    font-size: 0.67rem;
    font-weight: 800;
    line-height: 1.4;
  }

  #rk-gas-guide .rk-gas-kpi-value {
    display: block;
    color: var(--rk-dark);
    font-size: clamp(1.05rem, 2.3vw, 1.42rem);
    font-weight: 950;
    letter-spacing: -0.03em;
    line-height: 1.15;
  }

  #rk-gas-guide .rk-gas-chart {
    padding: 20px;
    border: 1px solid var(--rk-line);
    border-radius: 20px;
    background: var(--rk-soft);
  }

  #rk-gas-guide .rk-gas-chart h4 {
    margin-bottom: 3px;
  }

  #rk-gas-guide .rk-gas-chart-sub {
    margin-bottom: 13px;
    color: var(--rk-muted);
    font-size: 0.76rem;
  }

  #rk-gas-guide .rk-gas-chart-svg {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 15px;
    background: var(--rk-white);
  }

  #rk-gas-guide .rk-gas-chart-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    margin-top: 12px;
    color: var(--rk-muted);
    font-size: 0.72rem;
    font-weight: 700;
  }

  #rk-gas-guide .rk-gas-legend-item {
    display: inline-flex;
    gap: 7px;
    align-items: center;
  }

  #rk-gas-guide .rk-gas-legend-line {
    width: 24px;
    height: 4px;
    border-radius: 99px;
  }

  #rk-gas-guide .rk-gas-lab-verdict {
    margin-top: 22px;
    padding: 17px 19px;
    border-radius: 16px;
    background: var(--rk-cyan-soft);
    color: var(--rk-dark);
    font-size: 0.84rem;
    font-weight: 760;
  }

  #rk-gas-guide .rk-gas-lab-verdict[data-state="warning"] {
    background: var(--rk-warm);
  }

  #rk-gas-guide .rk-gas-lab-verdict[data-state="danger"] {
    background: #ffe7e4;
  }

  #rk-gas-guide .rk-gas-faq {
    display: grid;
    gap: 12px;
  }

  #rk-gas-guide .rk-gas-faq details {
    border: 1px solid var(--rk-line);
    border-radius: 17px;
    background: var(--rk-white);
  }

  #rk-gas-guide .rk-gas-faq summary {
    position: relative;
    padding: 18px 54px 18px 20px;
    color: var(--rk-dark);
    font-weight: 850;
    line-height: 1.45;
    cursor: pointer;
    list-style: none;
  }

  #rk-gas-guide .rk-gas-faq summary::-webkit-details-marker {
    display: none;
  }

  #rk-gas-guide .rk-gas-faq summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 18px;
    display: flex;
    width: 28px;
    height: 28px;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    color: var(--rk-white);
    background: var(--rk-blue);
    font-size: 1.15rem;
    transform: translateY(-50%);
  }

  #rk-gas-guide .rk-gas-faq details[open] summary::after {
    content: "−";
    background: var(--rk-orange);
  }

  #rk-gas-guide .rk-gas-faq-answer {
    padding: 0 20px 18px;
  }

  #rk-gas-guide .rk-gas-faq-answer p:last-child {
    margin-bottom: 0;
  }

  #rk-gas-guide .rk-gas-sources {
    padding: 22px;
    border: 1px solid var(--rk-line);
    border-radius: 18px;
    background: var(--rk-soft);
    color: var(--rk-text);
    font-size: 0.82rem;
  }

  #rk-gas-guide .rk-gas-sources > strong {
    display: block;
    margin-bottom: 9px;
  }

  #rk-gas-guide .rk-gas-cta {
    margin: 48px 0 0;
    overflow: hidden;
    border-radius: 26px;
    color: var(--rk-white);
    background:
      radial-gradient(circle at 91% 20%, rgba(255, 116, 56, 0.36), transparent 28%),
      linear-gradient(135deg, var(--rk-dark), #174b63);
  }

  #rk-gas-guide .rk-gas-cta-copy {
    padding: clamp(28px, 5vw, 48px);
  }

  #rk-gas-guide .rk-gas-cta h2,
  #rk-gas-guide .rk-gas-cta p,
  #rk-gas-guide .rk-gas-cta strong {
    color: var(--rk-white);
  }

  #rk-gas-guide .rk-gas-cta p {
    max-width: 810px;
    color: #d6e7ef;
  }

  #rk-gas-guide .rk-gas-cta-bar {
    padding: 18px clamp(24px, 5vw, 48px) 26px;
  }

  #rk-gas-guide .rk-gas-cta-button {
    display: flex;
    width: 100%;
    min-height: 66px;
    align-items: center;
    justify-content: center;
    padding: 16px 24px;
    border-radius: 17px;
    color: var(--rk-white);
    background: linear-gradient(100deg, var(--rk-orange), #f04435);
    box-shadow: 0 16px 35px rgba(227, 61, 53, 0.26);
    font-weight: 950;
    line-height: 1.35;
    text-align: center;
    text-decoration: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
  }

  #rk-gas-guide .rk-gas-cta-button:hover,
  #rk-gas-guide .rk-gas-cta-button:focus-visible {
    color: var(--rk-white);
    box-shadow: 0 20px 42px rgba(227, 61, 53, 0.34);
    transform: translateY(-2px);
  }

  #rk-gas-guide .rk-gas-cta-note {
    display: block;
    margin-top: 10px;
    color: #bcd2dc;
    font-size: 0.71rem;
    line-height: 1.45;
    text-align: center;
  }

  #rk-gas-guide .rk-gas-author {
    position: relative;
    margin-top: 50px;
    overflow: hidden;
    border: 1px solid #cbdfe8;
    border-radius: 28px;
    background: var(--rk-white);
  }

  #rk-gas-guide .rk-gas-author-head {
    display: flex;
    gap: 20px;
    align-items: center;
    justify-content: space-between;
    padding: clamp(26px, 5vw, 46px);
    border-bottom: 6px solid var(--rk-cyan);
    color: var(--rk-white);
    background: var(--rk-dark);
  }

  #rk-gas-guide .rk-gas-author-head h2,
  #rk-gas-guide .rk-gas-author-head p {
    color: var(--rk-white);
  }

  #rk-gas-guide .rk-gas-author-head h2 {
    margin-bottom: 6px;
  }

  #rk-gas-guide .rk-gas-author-head p {
    margin: 0;
    color: #d6e8f0;
  }

  #rk-gas-guide .rk-gas-author-mark {
    flex: 0 0 auto;
    padding: 12px 18px;
    border: 1px solid rgba(40, 201, 218, 0.45);
    border-radius: 15px;
    color: #76ecf5;
    font-size: 0.78rem;
    font-weight: 950;
    letter-spacing: 0.08em;
  }

  #rk-gas-guide .rk-gas-author-layout {
    display: grid;
    grid-template-columns: 31% 69%;
  }

  #rk-gas-guide .rk-gas-author-side {
    padding: clamp(28px, 5vw, 46px);
    border-right: 1px solid var(--rk-line);
    background: var(--rk-soft);
    text-align: center;
  }

  #rk-gas-guide .rk-gas-author-photo {
    width: min(220px, 82%);
    aspect-ratio: 1;
    margin: 0 auto 24px;
    overflow: hidden;
    border: 10px solid var(--rk-white);
    border-radius: 50%;
    box-shadow: 0 16px 38px rgba(16, 37, 54, 0.14);
  }

  #rk-gas-guide .rk-gas-author-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  #rk-gas-guide .rk-gas-author-name {
    margin-bottom: 8px;
    color: var(--rk-dark);
    font-size: clamp(1.45rem, 3vw, 2rem);
    font-weight: 950;
    letter-spacing: -0.035em;
    line-height: 1.15;
  }

  #rk-gas-guide .rk-gas-author-role {
    color: var(--rk-blue);
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.07em;
    line-height: 1.55;
    text-transform: uppercase;
  }

  #rk-gas-guide .rk-gas-author-main {
    min-width: 0;
  }

  #rk-gas-guide .rk-gas-author-quote {
    position: relative;
    margin: clamp(26px, 5vw, 44px);
    padding: 26px 28px 26px 55px;
    border-radius: 20px;
    background: var(--rk-cyan-soft);
  }

  #rk-gas-guide .rk-gas-author-quote::before {
    content: "“";
    position: absolute;
    top: 10px;
    left: 18px;
    color: var(--rk-cyan);
    font-size: 3.5rem;
    font-weight: 950;
    line-height: 1;
  }

  #rk-gas-guide .rk-gas-author-quote p {
    margin: 0;
    color: var(--rk-dark);
    font-size: clamp(1rem, 2.2vw, 1.23rem);
    font-style: italic;
    font-weight: 760;
  }

  #rk-gas-guide .rk-gas-author-panel {
    padding: clamp(24px, 4vw, 38px);
  }

  #rk-gas-guide .rk-gas-author-panel p:last-child {
    margin-bottom: 0;
  }

  #rk-gas-guide .rk-gas-site-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }

  #rk-gas-guide .rk-gas-site-links > a {
    padding: 9px 14px;
    border: 1px solid #c9dde6;
    border-radius: 999px;
    color: var(--rk-dark);
    background: var(--rk-white);
    text-decoration: none;
  }

  #rk-gas-guide .rk-gas-site-links > a:hover,
  #rk-gas-guide .rk-gas-site-links > a:focus-visible {
    color: var(--rk-white);
    border-color: var(--rk-blue);
    background: var(--rk-blue);
  }

  @media (max-width: 980px) {
    #rk-gas-guide .rk-gas-learn-grid,
    #rk-gas-guide .rk-gas-kpi-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #rk-gas-guide .rk-gas-card-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #rk-gas-guide .rk-gas-lab-body {
      grid-template-columns: 1fr;
    }

    #rk-gas-guide .rk-gas-lab-controls {
      border-right: 0;
      border-bottom: 1px solid var(--rk-line);
    }

    #rk-gas-guide .rk-gas-author-layout {
      grid-template-columns: 1fr;
    }

    #rk-gas-guide .rk-gas-author-side {
      border-right: 0;
      border-bottom: 1px solid var(--rk-line);
    }
  }

  @media (max-width: 760px) {
    #rk-gas-guide {
      margin: 18px auto 46px;
      font-size: 16px;
    }

    #rk-gas-guide .rk-gas-shell,
    #rk-gas-guide .rk-gas-author,
    #rk-gas-guide .rk-gas-lab {
      border-radius: 20px;
    }

    #rk-gas-guide .rk-gas-content {
      padding-right: 18px;
      padding-left: 18px;
    }

    #rk-gas-guide .rk-gas-learn-grid,
    #rk-gas-guide .rk-gas-card-grid,
    #rk-gas-guide .rk-gas-check-grid,
    #rk-gas-guide .rk-gas-kpi-grid {
      grid-template-columns: 1fr;
    }

    #rk-gas-guide .rk-gas-section-head {
      grid-template-columns: 48px minmax(0, 1fr);
      gap: 14px;
    }

    #rk-gas-guide .rk-gas-section-no {
      width: 48px;
      height: 48px;
      border-radius: 15px;
    }

    #rk-gas-guide .rk-gas-answer {
      grid-template-columns: 1fr;
    }

    #rk-gas-guide .rk-gas-flow {
      flex-direction: column;
    }

    #rk-gas-guide .rk-gas-flow-arrow {
      flex-basis: 24px;
      transform: rotate(90deg);
    }

    #rk-gas-guide .rk-gas-scheme-tabs,
    #rk-gas-guide .rk-gas-author-tabs {
      grid-template-columns: 1fr;
    }

    #rk-gas-guide .rk-gas-scheme-tab + .rk-gas-scheme-tab,
    #rk-gas-guide .rk-gas-author-tab + .rk-gas-author-tab {
      border-top: 1px solid var(--rk-line);
      border-left: 0;
    }

    /* Tabele zmieniają się w pionowe kafle — bez przewijania poziomego. */
    #rk-gas-guide table,
    #rk-gas-guide thead,
    #rk-gas-guide tbody,
    #rk-gas-guide tr,
    #rk-gas-guide th,
    #rk-gas-guide td {
      display: block;
      width: 100%;
    }

    #rk-gas-guide table {
      overflow: visible;
      border: 0;
      background: transparent;
    }

    #rk-gas-guide thead {
      position: absolute;
      width: 1px;
      height: 1px;
      overflow: hidden;
      clip: rect(0 0 0 0);
      white-space: nowrap;
    }

    #rk-gas-guide tbody {
      display: grid;
      gap: 15px;
    }

    #rk-gas-guide tbody tr {
      overflow: hidden;
      border: 1px solid var(--rk-line);
      border-radius: 17px;
      background: var(--rk-white);
    }

    #rk-gas-guide td,
    #rk-gas-guide tbody tr:nth-child(even) td {
      display: grid;
      grid-template-columns: minmax(104px, 38%) minmax(0, 62%);
      gap: 12px;
      padding: 13px 14px;
      border-right: 0;
      border-bottom: 1px solid var(--rk-line);
      background: var(--rk-white);
    }

    #rk-gas-guide td::before {
      content: attr(data-label);
      color: var(--rk-dark);
      font-size: 0.74rem;
      font-weight: 900;
      line-height: 1.45;
    }

    #rk-gas-guide tbody tr td:last-child {
      border-bottom: 0;
    }

    #rk-gas-guide .rk-gas-author-head {
      align-items: flex-start;
      flex-direction: column;
    }
  }

  @media (max-width: 430px) {
    #rk-gas-guide .rk-gas-hero {
      padding-right: 22px;
      padding-left: 22px;
    }

    #rk-gas-guide .rk-gas-nav-links {
      display: grid;
      grid-template-columns: 1fr;
    }

    #rk-gas-guide .rk-gas-nav-links > a {
      border-radius: 12px;
      text-align: center;
    }

    #rk-gas-guide td {
      grid-template-columns: 1fr;
      gap: 5px;
    }

    #rk-gas-guide .rk-gas-author-quote {
      margin-right: 18px;
      margin-left: 18px;
      padding-left: 46px;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    #rk-gas-guide *,
    #rk-gas-guide *::before,
    #rk-gas-guide *::after {
      scroll-behavior: auto !important;
      transition: none !important;
    }
  }
</style>

<article id="rk-gas-guide" aria-labelledby="rk-gas-hero-title">
  <div class="rk-gas-shell">
    <div class="rk-gas-progress-track" aria-hidden="true"><div class="rk-gas-progress"></div></div>

    <header class="rk-gas-hero">
      <div class="rk-gas-badge">Analiza techniczna • aktualizacja 2026</div>
      <h2 id="rk-gas-hero-title">Kocioł gazowy do ogrzewania podłogowego – <em>dobór mocy, modulacja, schemat i ustawienia</em></h2>

      <div class="rk-gas-hook">
        <p><strong>Kocioł 24 kW nie oznacza, że dom potrzebuje 24 kW.</strong> W budynku tracącym 5–7 kW wysoka moc maksymalna bywa potrzebna do przygotowania ciepłej wody, ale o jakości ogrzewania podłogowego decydują przede wszystkim moc minimalna, modulacja, przepływ oraz temperatura powrotu.</p>
      </div>

      <p class="rk-gas-hero-lead">Ten poradnik pokazuje, kiedy kondensacyjny kocioł gazowy może zasilać rozdzielacz bezpośrednio, kiedy potrzebne są dodatkowa pompa, zawór mieszający albo sprzęgło oraz jak odróżnić obliczeniowy dobór od zestawu elementów dodanych „na wszelki wypadek”.</p>

      <div class="rk-gas-hero-meta">
        <b>Autor: Robert Kucharski</b>
        <b>Aktualizacja: 25 sierpnia 2026 r.</b>
        <b>Czas czytania: około 22 min</b>
      </div>
    </header>

    <div class="rk-gas-content">
      <aside class="rk-gas-learn" aria-labelledby="rk-gas-learn-title">
        <span class="rk-gas-eyebrow">Po przeczytaniu będziesz wiedzieć</span>
        <h3 id="rk-gas-learn-title">Cztery decyzje, które naprawdę określają pracę kotła z podłogówką</h3>
        <div class="rk-gas-learn-grid">
          <div class="rk-gas-learn-card"><div class="rk-gas-learn-no" aria-hidden="true">01</div><h4>Jaka moc na CO?</h4><p>Oddzielisz projektowe obciążenie cieplne od katalogowej mocy urządzenia.</p></div>
          <div class="rk-gas-learn-card"><div class="rk-gas-learn-no" aria-hidden="true">02</div><h4>Jak nisko moduluje?</h4><p>Ocenisz moc minimalną i ryzyko częstego włączania palnika w cieplejsze dni.</p></div>
          <div class="rk-gas-learn-card"><div class="rk-gas-learn-no" aria-hidden="true">03</div><h4>Czy hydraulika pasuje?</h4><p>Sprawdzisz przepływ, opory oraz możliwości pompy wbudowanej w kocioł.</p></div>
          <div class="rk-gas-learn-card"><div class="rk-gas-learn-no" aria-hidden="true">04</div><h4>Co wymusza CWU?</h4><p>Zobaczysz, dlaczego moc dla prysznica może być wielokrotnie większa niż dla domu.</p></div>
        </div>
      </aside>

      <nav class="rk-gas-nav" aria-label="Nawigacja po poradniku">
        <strong>Przejdź do wybranej części:</strong>
        <div class="rk-gas-nav-links">
          <a href="#rk-gas-werdykt">Werdykt</a>
          <a href="#rk-gas-kondensacja">Kondensacja</a>
          <a href="#rk-gas-dobor">Dobór mocy</a>
          <a href="#rk-gas-laboratorium">Laboratorium</a>
          <a href="#rk-gas-cwu">Ciepła woda</a>
          <a href="#rk-gas-schematy">Schematy</a>
          <a href="#rk-gas-hydraulika">Hydraulika</a>
          <a href="#rk-gas-sterowanie">Sterowanie</a>
          <a href="#rk-gas-armatura">Armatura</a>
          <a href="#rk-gas-uruchomienie">Uruchomienie</a>
          <a href="#rk-gas-2026">Kocioł w 2026</a>
          <a href="#rk-gas-faq">FAQ</a>
        </div>
      </nav>

<section class="rk-gas-section" id="rk-gas-werdykt" aria-labelledby="rk-gas-s1">
        <div class="rk-gas-section-head">
          <div class="rk-gas-section-no">1</div>
          <div>
            <h2 id="rk-gas-s1">Czy kocioł gazowy dobrze współpracuje z ogrzewaniem podłogowym?</h2>
            <p>Tak — pod warunkiem że jest to kocioł kondensacyjny dobrany do niskotemperaturowej instalacji, a nie tylko do chwilowego zapotrzebowania na ciepłą wodę.</p>
          </div>
        </div>

        <div class="rk-gas-answer">
          <div>
            <span class="rk-gas-answer-label">Odpowiedź projektowa</span>
            <div class="rk-gas-answer-main"><p>Najprostszy układ jest często najlepszy: kocioł pracujący pogodowo na temperaturze wymaganej przez podłogę, pompa kotłowa oraz prawidłowo wyregulowany rozdzielacz.</p></div>
          </div>
          <div class="rk-gas-answer-badge"><b>3× nie</b><small>mieszacz, sprzęgło i druga pompa nie są elementami obowiązkowymi z definicji</small></div>
        </div>

        <p><strong>Kocioł gazowy do ogrzewania podłogowego</strong> ma sprzyjające warunki pracy, ponieważ instalacja płaszczyznowa zazwyczaj potrzebuje niższej temperatury wody niż klasyczna instalacja grzejnikowa. Chłodniejszy powrót ułatwia kondensację pary wodnej ze spalin, a duża powierzchnia grzewcza pozwala dostarczyć wymaganą moc bez rozgrzewania wody do 60–70°C.</p>

        <p>Ta zgodność nie oznacza jednak, że każdy kocioł i każdy schemat będą działały poprawnie. W małym lub dobrze ocieplonym domu problemem częściej okazuje się zbyt wysoka <strong>moc minimalna</strong>, zamykanie większości pętli przez automatykę albo brak wymaganego przepływu niż niedostatek mocy maksymalnej.</p>

        <div class="rk-gas-card-grid">
          <div class="rk-gas-card"><div class="rk-gas-card-tag">Źródło</div><h4>Kocioł kondensacyjny</h4><p>Powinien mieć niską moc minimalną, szeroki zakres modulacji, sterowanie pogodowe i pompę zdolną pokonać opory obiegu.</p></div>
          <div class="rk-gas-card"><div class="rk-gas-card-tag">Odbiornik</div><h4>Podłoga z projektu</h4><p>Temperatura zasilania, rozstaw rur, przepływ i temperatura powierzchni muszą wynikać z obciążenia każdego pomieszczenia.</p></div>
          <div class="rk-gas-card"><div class="rk-gas-card-tag">Połączenie</div><h4>Hydraulika bez zgadywania</h4><p>O dodatkowej pompie, mieszaczu lub sprzęgle decydują obiegi, temperatury, opory i wymagania kotła — nie przyzwyczajenie wykonawcy.</p></div>
        </div>

        <div class="rk-gas-truth">
          <p><strong>Najważniejsza zasada:</strong> nie podgrzewaj wody do wysokiej temperatury tylko po to, żeby później schładzać ją zaworem mieszającym, jeżeli cały budynek może pracować na jednym niskotemperaturowym parametrze.</p>
        </div>
      </section>

<section class="rk-gas-section" id="rk-gas-kondensacja" aria-labelledby="rk-gas-s2">
        <div class="rk-gas-section-head">
          <div class="rk-gas-section-no">2</div>
          <div>
            <h2 id="rk-gas-s2">Kondensacja w kotle gazowym — dlaczego liczy się powrót?</h2>
            <p>Kocioł odzyskuje dodatkową energię ze skraplania pary wodnej zawartej w spalinach, gdy wymiennik jest odpowiednio chłodny.</p>
          </div>
        </div>

        <p>Spalanie gazu wytwarza między innymi parę wodną. Jeżeli spaliny zostaną schłodzone poniżej ich rzeczywistego punktu rosy, para zaczyna się skraplać i oddaje ciepło utajone do wody instalacyjnej. Punkt rosy nie jest jedną stałą wartością dla każdego kotła: zależy między innymi od składu gazu, zawartości dwutlenku węgla w spalinach i nadmiaru powietrza. W praktycznych objaśnieniach często pojawia się okolica 55°C, ale należy traktować ją jako przybliżenie, a nie nastawę regulatora.</p>

        <p>Im niższa temperatura wody wracającej do wymiennika, tym większa część jego powierzchni może pracować w warunkach sprzyjających kondensacji. Dlatego układ 34/28°C będzie z reguły korzystniejszy od 55/45°C. Nie wolno jednak wyciągać z samej temperatury powrotu dokładnej sprawności ani gwarantowanej oszczędności paliwa — wpływ mają także modulacja, regulacja, straty postojowe, komin, jakość spalania i charakterystyka budynku.</p>

        <div class="rk-gas-table-wrap">
          <span class="rk-gas-table-title">Jak interpretować temperaturę powrotu?</span>
          <table>
            <thead><tr><th>Powrót</th><th>Ocena warunków</th><th>Znaczenie praktyczne</th><th>Czego nie wolno obiecywać</th></tr></thead>
            <tbody>
              <tr><td data-label="Powrót"><strong>25–35°C</strong></td><td data-label="Ocena"><span class="rk-gas-status rk-gas-status-good">bardzo korzystne</span></td><td data-label="Znaczenie">Typowy zakres dobrze zaprojektowanej podłogówki przy niskim parametrze.</td><td data-label="Bez obietnic">Sama temperatura nie podaje sezonowego zużycia gazu.</td></tr>
              <tr><td data-label="Powrót"><strong>35–45°C</strong></td><td data-label="Ocena"><span class="rk-gas-status rk-gas-status-good">korzystne</span></td><td data-label="Znaczenie">Kondensacja nadal może być intensywna; wynik zależy od warunków spalania.</td><td data-label="Bez obietnic">Nie oznacza automatycznie konkretnej sprawności procentowej.</td></tr>
              <tr><td data-label="Powrót"><strong>45–55°C</strong></td><td data-label="Ocena"><span class="rk-gas-status rk-gas-status-check">zakres przejściowy</span></td><td data-label="Znaczenie">Odzysk ciepła utajonego może się zmniejszać wraz ze wzrostem temperatury.</td><td data-label="Bez obietnic">Nie istnieje ostra, identyczna granica dla każdego gazu i palnika.</td></tr>
              <tr><td data-label="Powrót"><strong>powyżej 55°C</strong></td><td data-label="Ocena"><span class="rk-gas-status rk-gas-status-no">ograniczona kondensacja</span></td><td data-label="Znaczenie">Znaczna część wymiennika może pracować poza warunkami kondensacji.</td><td data-label="Bez obietnic">Kocioł nadal grzeje, lecz nie wykorzystuje w pełni swojej konstrukcji.</td></tr>
            </tbody>
          </table>
        </div>

        <h3>Dlaczego katalog pokazuje sprawność powyżej 100%?</h3>
        <p>Wartość około 105–109% może pojawić się wtedy, gdy sprawność odniesiono do <strong>wartości opałowej</strong> paliwa, która nie uwzględnia energii odzyskanej ze skraplania pary wodnej. Po odniesieniu do <strong>ciepła spalania</strong>, obejmującego tę energię, sprawność pozostaje poniżej 100%. To dwa różne punkty odniesienia, a nie tworzenie energii.</p>

        <div class="rk-gas-note">
          <p>Temperatura instalacji nie powinna być ustawiana tylko po to, żeby „wywołać kondensację”. Najpierw podłoga ma dostarczyć obliczeniową moc cieplną bez przekroczenia dopuszczalnej temperatury powierzchni, a dopiero w tym zakresie szukamy najniższej stabilnej krzywej grzewczej.</p>
        </div>
      </section>

<section class="rk-gas-section" id="rk-gas-dobor" aria-labelledby="rk-gas-s3">
        <div class="rk-gas-section-head">
          <div class="rk-gas-section-no">3</div>
          <div>
            <h2 id="rk-gas-s3">Jak dobrać moc kotła gazowego do podłogówki?</h2>
            <p>Dobór ma trzy osobne osie: moc dla ogrzewania budynku, zdolność modulacji przy małym obciążeniu oraz sposób przygotowania ciepłej wody.</p>
          </div>
        </div>

        <h3>1. Zacznij od projektowego obciążenia cieplnego</h3>
        <p>Moc potrzebna do ogrzewania powinna wynikać z obliczenia strat ciepła w projektowej temperaturze zewnętrznej, a nie z kubatury pomnożonej przez jeden internetowy współczynnik. Wynik całego budynku służy do sprawdzenia źródła, natomiast obciążenia pomieszczeń są potrzebne do zaprojektowania podłogi. Metodę rozwijają poradniki: <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projektowe obciążenie cieplne OZC</a> oraz <a href="https://projekt-ogrzewania.pl/norma-pn-en-12831-klucz-do-efektywnego-i-komfortowego-ogrzewania-podlogowego/">PN-EN 12831 i dobór mocy</a>.</p>

        <h3>2. Sprawdź moc minimalną, nie tylko maksymalną</h3>
        <p>Dom, który przy projektowym mrozie potrzebuje 6 kW, przez dużą część sezonu może odbierać tylko 1–3 kW. Jeżeli minimalna moc kotła wynosi 4 kW, palnik nie będzie mógł pracować stale: podgrzeje wodę, wyłączy się, poczeka na spadek temperatury i uruchomi ponownie. To właśnie taktowanie. Bezwładność podłogi pomaga, ale nie usuwa problemu zbyt wysokiej mocy minimalnej, szczególnie gdy sterowanie strefowe zamyka większość pętli.</p>

        <div class="rk-gas-formula">
          <span class="rk-gas-formula-label">Uproszczona ocena częściowego obciążenia</span>
          <div class="rk-gas-equation">Q<sub>akt</sub> ≈ Q<sub>proj</sub> · (T<sub>gr</sub> − T<sub>e</sub>) / (T<sub>gr</sub> − T<sub>e,proj</sub>)
            <small>Qproj — projektowe obciążenie cieplne, Tgr — umowna temperatura zakończenia ogrzewania uwzględniająca zyski, Te — aktualna temperatura zewnętrzna, Te,proj — projektowa temperatura zewnętrzna. To model poglądowy, a nie OZC ani model dynamiczny budynku.</small>
          </div>
        </div>

        <h3>3. Rozdziel moc CO i moc CWU</h3>
        <p>Kocioł dwufunkcyjny może mieć 20–30 kW głównie dlatego, że ma podgrzać duży strumień wody w kilka sekund. Moc przekazywana na centralne ogrzewanie może i powinna zostać ograniczona w ustawieniach serwisowych do wartości odpowiedniej dla budynku. W kotle jednofunkcyjnym z zasobnikiem większa chwilowa moc skraca ładowanie zbiornika, ale o komforcie decydują również jego pojemność, wymiennik, profil poboru i sterowanie priorytetem.</p>

        <div class="rk-gas-table-wrap">
          <span class="rk-gas-table-title">Parametry ważniejsze od napisu „24 kW” na obudowie</span>
          <table>
            <thead><tr><th>Parametr</th><th>Co sprawdza projektant?</th><th>Dlaczego jest ważny?</th></tr></thead>
            <tbody>
              <tr><td data-label="Parametr"><strong>Q<sub>proj</sub> budynku</strong></td><td data-label="Sprawdzenie">Obciążenie cieplne w warunkach projektowych.</td><td data-label="Znaczenie">Określa wymaganą moc grzewczą, bez automatycznego dodawania mocy przepływowej CWU.</td></tr>
              <tr><td data-label="Parametr"><strong>Moc minimalna</strong></td><td data-label="Sprawdzenie">Najniższą stabilną moc przy parametrach właściwych dla instalacji.</td><td data-label="Znaczenie">Decyduje o pracy w cieplejsze dni i po zamknięciu części stref.</td></tr>
              <tr><td data-label="Parametr"><strong>Zakres modulacji</strong></td><td data-label="Sprawdzenie">Relację mocy maksymalnej do minimalnej oraz zakres dla CO.</td><td data-label="Znaczenie">Sam zapis 1:10 nic nie mówi bez wartości granicznych i warunków pomiaru.</td></tr>
              <tr><td data-label="Parametr"><strong>Maksimum na CO</strong></td><td data-label="Sprawdzenie">Możliwość ograniczenia mocy grzewczej w menu serwisowym.</td><td data-label="Znaczenie">Kocioł dobrany pod CWU nie musi oddawać pełnej mocy do podłogi.</td></tr>
              <tr><td data-label="Parametr"><strong>Pompa kotłowa</strong></td><td data-label="Sprawdzenie">Dostępne ciśnienie przy projektowym przepływie.</td><td data-label="Znaczenie">Weryfikuje, czy pompa obsłuży rozdzielacz, pętle i magistralę.</td></tr>
              <tr><td data-label="Parametr"><strong>Minimum przepływu</strong></td><td data-label="Sprawdzenie">Wymagania wymiennika i zachowanie po zamknięciu stref.</td><td data-label="Znaczenie">Chroni przed niestabilną pracą, przegrzewaniem i błędami przepływu.</td></tr>
              <tr><td data-label="Parametr"><strong>Wymagania CWU</strong></td><td data-label="Sprawdzenie">Liczbę punktów, strumień, temperaturę oraz zasobnik.</td><td data-label="Znaczenie">Pozwala wybrać układ jedno- lub dwufunkcyjny bez zawyżania mocy CO.</td></tr>
            </tbody>
          </table>
        </div>

        <div class="rk-gas-warning">
          <p><strong>Nie dobieraj kotła przez dodanie 25 kW CWU do 6 kW strat budynku.</strong> W typowej instalacji priorytet CWU czasowo wstrzymuje ogrzewanie. Właściwy dobór porównuje osobno warunek grzewczy i warunek przygotowania wody.</p>
        </div>
      </section>

<section class="rk-gas-section" id="rk-gas-laboratorium" aria-labelledby="rk-gas-s4">
        <div class="rk-gas-section-head">
          <div class="rk-gas-section-no">4</div>
          <div>
            <h2 id="rk-gas-s4">Laboratorium kotła gazowego z ogrzewaniem podłogowym</h2>
            <p>Zmień dane i zobacz zależność między obciążeniem domu, mocą minimalną kotła, przepływem oraz mocą potrzebną do przygotowania CWU.</p>
          </div>
        </div>

        <div class="rk-gas-lab" data-rk-gas-lab>
          <div class="rk-gas-lab-head">
            <span class="rk-gas-eyebrow" style="color:#7cebf4">Interaktywny model edukacyjny</span>
            <h3>Sprawdź, czy wybrany kocioł potrafi zejść z mocą wystarczająco nisko</h3>
            <p>Model nie dobiera konkretnego urządzenia i nie zastępuje OZC, charakterystyki pompy ani danych producenta. Pokazuje relacje, które powinny zostać sprawdzone przed zakupem.</p>
          </div>

          <div class="rk-gas-lab-body">
            <div class="rk-gas-lab-controls">
              <div class="rk-gas-control">
                <div class="rk-gas-control-top"><label class="rk-gas-control-label" for="rk-gas-qdesign">Projektowe obciążenie cieplne</label><output class="rk-gas-control-value" id="rk-gas-qdesign-out" for="rk-gas-qdesign">6,3 kW</output></div>
                <input id="rk-gas-qdesign" type="range" min="2" max="20" step="0.1" value="6.3">
              </div>
              <div class="rk-gas-control">
                <div class="rk-gas-control-top"><label class="rk-gas-control-label" for="rk-gas-tdesign">Projektowa temperatura zewnętrzna</label><output class="rk-gas-control-value" id="rk-gas-tdesign-out" for="rk-gas-tdesign">−20°C</output></div>
                <input id="rk-gas-tdesign" type="range" min="-24" max="-12" step="1" value="-20">
              </div>
              <div class="rk-gas-control">
                <div class="rk-gas-control-top"><label class="rk-gas-control-label" for="rk-gas-tcut">Umowna granica ogrzewania</label><output class="rk-gas-control-value" id="rk-gas-tcut-out" for="rk-gas-tcut">15°C</output></div>
                <input id="rk-gas-tcut" type="range" min="10" max="18" step="1" value="15">
              </div>
              <div class="rk-gas-control">
                <div class="rk-gas-control-top"><label class="rk-gas-control-label" for="rk-gas-tout">Aktualna temperatura zewnętrzna</label><output class="rk-gas-control-value" id="rk-gas-tout-out" for="rk-gas-tout">0°C</output></div>
                <input id="rk-gas-tout" type="range" min="-24" max="18" step="1" value="0">
              </div>
              <div class="rk-gas-control">
                <div class="rk-gas-control-top"><label class="rk-gas-control-label" for="rk-gas-pmin">Minimalna moc kotła na CO</label><output class="rk-gas-control-value" id="rk-gas-pmin-out" for="rk-gas-pmin">2,0 kW</output></div>
                <input id="rk-gas-pmin" type="range" min="1" max="6" step="0.1" value="2">
              </div>
              <div class="rk-gas-control">
                <div class="rk-gas-control-top"><label class="rk-gas-control-label" for="rk-gas-ts">Temperatura zasilania podłogi</label><output class="rk-gas-control-value" id="rk-gas-ts-out" for="rk-gas-ts">34°C</output></div>
                <input id="rk-gas-ts" type="range" min="28" max="50" step="1" value="34">
              </div>
              <div class="rk-gas-control">
                <div class="rk-gas-control-top"><label class="rk-gas-control-label" for="rk-gas-tr">Temperatura powrotu</label><output class="rk-gas-control-value" id="rk-gas-tr-out" for="rk-gas-tr">28°C</output></div>
                <input id="rk-gas-tr" type="range" min="22" max="45" step="1" value="28">
              </div>
              <div class="rk-gas-control">
                <div class="rk-gas-control-top"><label class="rk-gas-control-label" for="rk-gas-dhw-flow">Strumień ciepłej wody</label><output class="rk-gas-control-value" id="rk-gas-dhw-flow-out" for="rk-gas-dhw-flow">10 l/min</output></div>
                <input id="rk-gas-dhw-flow" type="range" min="5" max="16" step="0.5" value="10">
              </div>
              <div class="rk-gas-control">
                <div class="rk-gas-control-top"><label class="rk-gas-control-label" for="rk-gas-dhw-cold">Temperatura wody zimnej</label><output class="rk-gas-control-value" id="rk-gas-dhw-cold-out" for="rk-gas-dhw-cold">10°C</output></div>
                <input id="rk-gas-dhw-cold" type="range" min="5" max="15" step="1" value="10">
              </div>
              <div class="rk-gas-control">
                <div class="rk-gas-control-top"><label class="rk-gas-control-label" for="rk-gas-dhw-hot">Temperatura wody ciepłej</label><output class="rk-gas-control-value" id="rk-gas-dhw-hot-out" for="rk-gas-dhw-hot">45°C</output></div>
                <input id="rk-gas-dhw-hot" type="range" min="38" max="50" step="1" value="45">
              </div>
            </div>

            <div class="rk-gas-lab-results" aria-live="polite">
              <div class="rk-gas-kpi-grid">
                <div class="rk-gas-kpi"><span class="rk-gas-kpi-label">Obciążenie przy bieżącej temperaturze</span><strong class="rk-gas-kpi-value" id="rk-gas-kpi-load">2,70 kW</strong></div>
                <div class="rk-gas-kpi"><span class="rk-gas-kpi-label">Przepływ projektowy podłogówki</span><strong class="rk-gas-kpi-value" id="rk-gas-kpi-flow">0,90 m³/h</strong></div>
                <div class="rk-gas-kpi"><span class="rk-gas-kpi-label">Obciążenie / moc minimalna</span><strong class="rk-gas-kpi-value" id="rk-gas-kpi-ratio">1,35×</strong></div>
                <div class="rk-gas-kpi"><span class="rk-gas-kpi-label">Warunki kondensacji</span><strong class="rk-gas-kpi-value" id="rk-gas-kpi-cond">bardzo dobre</strong></div>
                <div class="rk-gas-kpi"><span class="rk-gas-kpi-label">Moc chwilowa dla CWU</span><strong class="rk-gas-kpi-value" id="rk-gas-kpi-dhw">24,4 kW</strong></div>
              </div>

              <div class="rk-gas-chart">
                <h4>Krzywa obciążenia budynku a moc minimalna kotła</h4>
                <p class="rk-gas-chart-sub">Obszar, w którym zapotrzebowanie spada poniżej mocy minimalnej, wskazuje potencjalną potrzebę pracy cyklicznej.</p>
                <svg class="rk-gas-chart-svg" id="rk-gas-load-chart" viewBox="0 0 660 330" role="img" aria-labelledby="rk-gas-chart-title rk-gas-chart-desc">
                  <title id="rk-gas-chart-title">Obciążenie cieplne budynku i minimalna moc kotła</title>
                  <desc id="rk-gas-chart-desc">Wykres aktualizowany na podstawie parametrów ustawionych w laboratorium.</desc>
                  <rect x="0" y="0" width="660" height="330" rx="15" fill="#ffffff"/>
                  <g stroke="#dce8ee" stroke-width="1">
                    <line x1="62" y1="36" x2="625" y2="36"/><line x1="62" y1="95" x2="625" y2="95"/><line x1="62" y1="154" x2="625" y2="154"/><line x1="62" y1="213" x2="625" y2="213"/><line x1="62" y1="272" x2="625" y2="272"/>
                  </g>
                  <g fill="#687986" font-family="Inter, sans-serif" font-size="12">
                    <text x="22" y="40" id="rk-gas-y4">6,9</text><text x="22" y="99" id="rk-gas-y3">5,2</text><text x="22" y="158" id="rk-gas-y2">3,5</text><text x="22" y="217" id="rk-gas-y1">1,7</text><text x="35" y="276">0</text>
                    <text x="50" y="298" id="rk-gas-x0">−20</text><text x="323" y="298" id="rk-gas-x1">−3</text><text x="611" y="298" id="rk-gas-x2">15</text>
                    <text x="270" y="320">temperatura zewnętrzna [°C]</text><text transform="rotate(-90 13 205)" x="13" y="205">moc [kW]</text>
                  </g>
                  <path id="rk-gas-risk-area" d="M446.3 203.9 L625 272 L625 203.9 Z" fill="rgba(255,116,56,.13)"/>
                  <path id="rk-gas-demand-path" d="M62 57.5 L625 272" fill="none" stroke="#078fbe" stroke-width="6" stroke-linecap="round"/>
                  <line id="rk-gas-min-line" x1="62" y1="203.9" x2="625" y2="203.9" stroke="#e33d35" stroke-width="4" stroke-dasharray="10 8"/>
                  <line id="rk-gas-current-line" x1="384" y1="36" x2="384" y2="272" stroke="#14384d" stroke-width="2" stroke-dasharray="4 6"/>
                  <circle id="rk-gas-current-dot" cx="384" cy="180.1" r="7" fill="#ffffff" stroke="#14384d" stroke-width="4"/>
                </svg>
                <div class="rk-gas-chart-legend" aria-hidden="true">
                  <span class="rk-gas-legend-item"><i class="rk-gas-legend-line" style="background:#078fbe"></i>obciążenie budynku</span>
                  <span class="rk-gas-legend-item"><i class="rk-gas-legend-line" style="background:#e33d35"></i>moc minimalna kotła</span>
                  <span class="rk-gas-legend-item"><i class="rk-gas-legend-line" style="background:#14384d"></i>bieżąca temperatura</span>
                </div>
              </div>

              <div class="rk-gas-lab-verdict" id="rk-gas-lab-verdict" data-state="good">Przy zadanych parametrach aktualne obciążenie jest większe od mocy minimalnej. Kocioł ma warunki do modulacji, o ile zachowany jest wymagany przepływ i odbiór ciepła.</div>
            </div>
          </div>

          <div class="rk-gas-note" style="margin:0;border-radius:0;padding:20px 34px">
            <p><strong>Ważne:</strong> przepływ obliczany jest dla mocy projektowej i różnicy Tz − Tp. Rzeczywisty regulator może zmieniać temperaturę, przepływ lub oba parametry, a możliwości kotła trzeba potwierdzić jego dokumentacją techniczną.</p>
          </div>
        </div>
      </section>

<section class="rk-gas-section" id="rk-gas-cwu" aria-labelledby="rk-gas-s5">
        <div class="rk-gas-section-head">
          <div class="rk-gas-section-no">5</div>
          <div>
            <h2 id="rk-gas-s5">Kocioł jednofunkcyjny czy dwufunkcyjny do podłogówki?</h2>
            <p>Rodzaj odbiorników ciepła nie rozstrzyga sposobu przygotowania CWU. Decydują komfort, liczba punktów poboru, miejsce i charakter korzystania z wody.</p>
          </div>
        </div>

        <p>Kocioł dwufunkcyjny podgrzewa wodę przepływowo, dlatego jego moc maksymalna może być wysoka nawet w domu o niewielkich stratach ciepła. Kocioł jednofunkcyjny ładuje zasobnik; chwilowy pobór pokrywa wtedy również energia zgromadzona w wodzie. Oba warianty mogą prawidłowo współpracować z podłogówką, jeżeli osobno sprawdzono parametr centralnego ogrzewania i przygotowania wody.</p>

        <div class="rk-gas-formula">
          <span class="rk-gas-formula-label">Moc potrzebna do przepływowego podgrzania wody</span>
          <div class="rk-gas-equation">P<sub>CWU</sub> ≈ 0,0698 · V̇ · (T<sub>ciepła</sub> − T<sub>zimna</sub>)
            <small>P — moc w kW, V̇ — strumień w l/min, temperatury w °C. Wzór pomija straty urządzenia i wahania temperatury wody zimnej, dlatego dobór wymaga rezerwy i danych technicznych kotła.</small>
          </div>
        </div>

        <div class="rk-gas-table-wrap">
          <span class="rk-gas-table-title">Przykład dla podgrzania wody z 10°C do 45°C</span>
          <table>
            <thead><tr><th>Strumień</th><th>Moc teoretyczna</th><th>Praktyczna interpretacja</th></tr></thead>
            <tbody>
              <tr><td data-label="Strumień"><strong>8 l/min</strong></td><td data-label="Moc">19,5 kW</td><td data-label="Interpretacja">Umiarkowany prysznic; komfort zależy od armatury i temperatury zasilania wodą zimną.</td></tr>
              <tr><td data-label="Strumień"><strong>10 l/min</strong></td><td data-label="Moc">24,4 kW</td><td data-label="Interpretacja">Typowy poziom pokazujący, dlaczego mały dom otrzymuje kocioł o dużej mocy maksymalnej.</td></tr>
              <tr><td data-label="Strumień"><strong>12 l/min</strong></td><td data-label="Moc">29,3 kW</td><td data-label="Interpretacja">Większy pobór; przy dwóch jednoczesnych punktach nadal może być niewystarczający.</td></tr>
              <tr><td data-label="Strumień"><strong>14 l/min</strong></td><td data-label="Moc">34,2 kW</td><td data-label="Interpretacja">Wysoki przepływ wymaga odpowiedniej mocy, instalacji gazowej i wydajności przyłącza wody.</td></tr>
            </tbody>
          </table>
        </div>

        <div class="rk-gas-card-grid">
          <div class="rk-gas-card">
            <div class="rk-gas-card-tag">2 funkcje</div>
            <h4>Kocioł przepływowy</h4>
            <p>Mniej miejsca i brak osobnego zasobnika. Najlepiej sprawdza się przy krótkich odległościach do punktów poboru i umiarkowanym zapotrzebowaniu na wodę. Moc maksymalną zwykle determinuje CWU.</p>
          </div>
          <div class="rk-gas-card">
            <div class="rk-gas-card-tag">1 funkcja</div>
            <h4>Kocioł z zasobnikiem</h4>
            <p>Zapewnia zapas wody i może lepiej obsłużyć kilka poborów. Wymaga miejsca, właściwej pojemności, mocy wężownicy, sterowania ładowaniem i oceny strat postojowych.</p>
          </div>
          <div class="rk-gas-card">
            <div class="rk-gas-card-tag">Kompakt</div>
            <h4>Kocioł ze zbiornikiem warstwowym</h4>
            <p>Rozwiązanie pośrednie. Rzeczywisty komfort należy oceniać na podstawie profilu poboru i parametrów producenta, nie samej pojemności zapisanej w litrach.</p>
          </div>
        </div>

        <div class="rk-gas-warning">
          <p><strong>Liczba mieszkańców nie jest samodzielnym doborem mocy.</strong> Cztery osoby korzystające kolejno z jednego prysznica tworzą inny profil niż dwie łazienki, deszczownica i napełnianie wanny w tym samym czasie.</p>
        </div>
      </section>

<section class="rk-gas-section" id="rk-gas-schematy" aria-labelledby="rk-gas-s6">
        <div class="rk-gas-section-head">
          <div class="rk-gas-section-no">6</div>
          <div>
            <h2 id="rk-gas-s6">Schemat kotła gazowego z ogrzewaniem podłogowym</h2>
            <p>Nie istnieje jeden schemat dla każdego budynku. Najpierw ustala się liczbę temperatur i obiegów, a dopiero później armaturę.</p>
          </div>
        </div>

        <div class="rk-gas-scheme">
          <input type="radio" name="rk-gas-scheme" id="rk-gas-scheme-direct" checked>
          <input type="radio" name="rk-gas-scheme" id="rk-gas-scheme-mixed">

          <div class="rk-gas-scheme-tabs" role="tablist" aria-label="Wybór schematu instalacji">
            <label class="rk-gas-scheme-tab" for="rk-gas-scheme-direct">Cały dom na podłogówce — obieg bezpośredni</label>
            <label class="rk-gas-scheme-tab" for="rk-gas-scheme-mixed">Podłogówka i grzejniki — różne temperatury</label>
          </div>

          <div class="rk-gas-scheme-panels">
            <div class="rk-gas-scheme-panel rk-gas-scheme-panel-direct">
              <h3>Wariant A: jeden niskotemperaturowy obieg</h3>
              <p>Kocioł ustawia temperaturę zasilania według krzywej pogodowej i tłoczy wodę bezpośrednio przez rozdzielacz. Jeżeli jego pompa zapewnia wymagany przepływ przy obliczonych oporach, dodatkowa pompa i zawór mieszający nie są potrzebne.</p>
              <div class="rk-gas-flow" role="img" aria-label="Schemat bezpośredni: kocioł z pompą, zabezpieczenie instalacji, rozdzielacz, pętle i powrót do kotła">
                <div class="rk-gas-flow-box rk-gas-flow-box-hot">Kocioł kondensacyjny<br>+ pompa wbudowana</div><div class="rk-gas-flow-arrow" aria-hidden="true">→</div>
                <div class="rk-gas-flow-box">Filtr / separator<br>zgodnie z projektem</div><div class="rk-gas-flow-arrow" aria-hidden="true">→</div>
                <div class="rk-gas-flow-box rk-gas-flow-box-cold">Rozdzielacz<br>i nastawy przepływów</div><div class="rk-gas-flow-arrow" aria-hidden="true">→</div>
                <div class="rk-gas-flow-box">Pętle podłogowe<br>→ powrót do kotła</div>
              </div>
              <div class="rk-gas-note"><p><strong>Zaleta:</strong> najniższy możliwy parametr dociera z kotła bez strat temperatury na niepotrzebnym mieszaniu. Warunkiem jest zgodność przepływu, oporów, zakresu modulacji i sterowania.</p></div>
            </div>

            <div class="rk-gas-scheme-panel rk-gas-scheme-panel-mixed">
              <h3>Wariant B: dwa obiegi o różnych parametrach</h3>
              <p>Jeżeli grzejniki wymagają wyższej temperatury niż podłoga, źródło pracuje co najmniej dla dwóch warunków. Obieg podłogowy może wtedy wymagać zaworu mieszającego, własnej pompy i odpowiedniego rozdzielenia hydraulicznego. Konkretne rozwiązanie zależy od przepływów oraz automatyki kotła.</p>
              <div class="rk-gas-flow" role="img" aria-label="Schemat mieszany: kocioł, rozdzielenie hydrauliczne, obieg grzejnikowy i obieg podłogowy z regulacją temperatury">
                <div class="rk-gas-flow-box rk-gas-flow-box-hot">Kocioł<br>i obieg źródła</div><div class="rk-gas-flow-arrow" aria-hidden="true">→</div>
                <div class="rk-gas-flow-box">Rozdzielenie obiegów<br>jeśli wymagają tego pompy</div><div class="rk-gas-flow-arrow" aria-hidden="true">→</div>
                <div class="rk-gas-flow-box">Obieg grzejnikowy<br>wyższy parametr</div><div class="rk-gas-flow-arrow" aria-hidden="true">+</div>
                <div class="rk-gas-flow-box rk-gas-flow-box-cold">Obieg podłogowy<br>mieszanie + pompa</div>
              </div>
              <div class="rk-gas-warning"><p><strong>Nie każdy układ mieszany wymaga identycznego sprzęgła lub bufora.</strong> Należy sprawdzić minimalny przepływ kotła, charakterystyki wszystkich pomp, pojemność wodną, sterowanie oraz wpływ jednego obiegu na drugi.</p></div>
            </div>
          </div>
        </div>

        <p>Jeżeli rozważasz wspólną instalację z grzejnikami, osobne omówienie znajdziesz w artykule <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-mozna-podlaczyc-do-grzejnikow/">czy ogrzewanie podłogowe można podłączyć do grzejników</a>.</p>
      </section>

<section class="rk-gas-section" id="rk-gas-hydraulika" aria-labelledby="rk-gas-s7">
        <div class="rk-gas-section-head">
          <div class="rk-gas-section-no">7</div>
          <div>
            <h2 id="rk-gas-s7">Przepływ, pompa i opory — czy pompa kotła wystarczy?</h2>
            <p>Odpowiedź daje punkt pracy: wymagany całkowity przepływ oraz strata ciśnienia na najbardziej niekorzystnej drodze hydraulicznej.</p>
          </div>
        </div>

        <div class="rk-gas-formula">
          <span class="rk-gas-formula-label">Przepływ objętościowy dla wody</span>
          <div class="rk-gas-equation">V̇ = Q / (1,163 · ΔT)
            <small>V̇ — przepływ w m³/h, Q — przenoszona moc w kW, ΔT — różnica temperatury zasilania i powrotu w kelwinach. Dla 6,3 kW i ΔT = 6 K otrzymujemy około 0,90 m³/h.</small>
          </div>
        </div>

        <p>Przepływy w pętlach równoległych sumują się na magistrali i w pompie. Wysokości podnoszenia nie sumuje się jednak dla wszystkich pętli. Pompa musi pokonać opór wspólnych przewodów oraz najbardziej niekorzystnego obiegu — zazwyczaj pętli o wymagającym zestawieniu długości i przepływu — wraz z rozdzielaczem i armaturą.</p>

        <div class="rk-gas-table-wrap">
          <span class="rk-gas-table-title">Kiedy pompa zintegrowana może wystarczyć?</span>
          <table>
            <thead><tr><th>Sytuacja</th><th>Ocena wstępna</th><th>Co trzeba sprawdzić?</th></tr></thead>
            <tbody>
              <tr><td data-label="Sytuacja"><strong>Jeden rozdzielacz, tylko podłogówka</strong></td><td data-label="Ocena"><span class="rk-gas-status rk-gas-status-good">często wystarcza</span></td><td data-label="Sprawdzenie">Krzywą pompy przy przepływie całkowitym, opór magistrali, rozdzielacza i pętli krytycznej.</td></tr>
              <tr><td data-label="Sytuacja"><strong>Dwa rozdzielacze na kondygnacjach</strong></td><td data-label="Ocena"><span class="rk-gas-status rk-gas-status-check">wymaga obliczeń</span></td><td data-label="Sprawdzenie">Podział przepływu, średnice pionów, równoważenie, dostępne ciśnienie i wpływ zaworów strefowych.</td></tr>
              <tr><td data-label="Sytuacja"><strong>Długie magistrale lub duży przepływ</strong></td><td data-label="Ocena"><span class="rk-gas-status rk-gas-status-check">możliwa dodatkowa pompa</span></td><td data-label="Sprawdzenie">Pełną charakterystykę instalacji i sposób rozdzielenia pomp, aby nie pracowały przeciwko sobie.</td></tr>
              <tr><td data-label="Sytuacja"><strong>Grzejniki i podłogówka</strong></td><td data-label="Ocena"><span class="rk-gas-status rk-gas-status-check">zwykle osobne obiegi</span></td><td data-label="Sprawdzenie">Temperatury, przepływy, mieszanie, sterowanie oraz potrzebę sprzęgła lub innej separacji.</td></tr>
              <tr><td data-label="Sytuacja"><strong>Większość pętli okresowo zamykana</strong></td><td data-label="Ocena"><span class="rk-gas-status rk-gas-status-no">ryzyko minimum przepływu</span></td><td data-label="Sprawdzenie">Wymagania wymiennika kotła, bypass, strefę referencyjną, pojemność układu i logikę sterowania.</td></tr>
            </tbody>
          </table>
        </div>

        <div class="rk-gas-card-grid">
          <div class="rk-gas-card"><div class="rk-gas-card-tag">Przepływ</div><h4>Sumuj pętle</h4><p>Projektowe nastawy rotametrów tworzą całkowity przepływ wymagany od pompy i magistrali.</p></div>
          <div class="rk-gas-card"><div class="rk-gas-card-tag">Ciśnienie</div><h4>Znajdź obieg krytyczny</h4><p>Do oporu najbardziej wymagającej pętli dodaj odcinki wspólne, rozdzielacz, zawory i pozostałą armaturę.</p></div>
          <div class="rk-gas-card"><div class="rk-gas-card-tag">Punkt pracy</div><h4>Nałóż krzywe</h4><p>Pompa jest właściwa, jeśli w wymaganym punkcie zapewnia przepływ bez nadmiernego hałasu, zużycia prądu i dławienia.</p></div>
        </div>

        <p>Więcej obliczeń zawiera <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/">kalkulator doboru pompy obiegowej</a>, a budowę i regulację węzła rozwija poradnik <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/">rozdzielacz do podłogówki</a>.</p>

        <div class="rk-gas-warning">
          <p><strong>Druga pompa nie naprawia automatycznie braku przepływu.</strong> Dodana bez rozdzielenia hydraulicznego i wspólnej koncepcji sterowania może zmieniać ciśnienie na kotle, zakłócać regulację i pogorszyć sytuację.</p>
        </div>
      </section>

<section class="rk-gas-section" id="rk-gas-sterowanie" aria-labelledby="rk-gas-s8">
        <div class="rk-gas-section-head">
          <div class="rk-gas-section-no">8</div>
          <div>
            <h2 id="rk-gas-s8">Jaka temperatura na kotle gazowym przy podłogówce?</h2>
            <p>Nie ma jednej prawidłowej wartości. Temperatura zasilania wynika z obciążenia pomieszczeń, rozstawu rur, oporu podłogi i warunków zewnętrznych.</p>
          </div>
        </div>

        <p>W nowym, dobrze izolowanym domu projektowy parametr może znajdować się w okolicy 30–38°C, ale duże przeszklenia, wysoki opór okładziny albo ograniczona powierzchnia aktywna mogą wymagać więcej. Z kolei w cieplejsze dni regulator pogodowy powinien automatycznie obniżać temperaturę. Stałe ustawienie 40°C przez cały sezon zwykle odbiera instalacji tę możliwość.</p>

        <div class="rk-gas-table-wrap">
          <span class="rk-gas-table-title">Trzy warstwy regulacji</span>
          <table>
            <thead><tr><th>Warstwa</th><th>Zadanie</th><th>Dobra praktyka</th><th>Typowy błąd</th></tr></thead>
            <tbody>
              <tr><td data-label="Warstwa"><strong>Krzywa pogodowa</strong></td><td data-label="Zadanie">Dopasowuje temperaturę zasilania do temperatury zewnętrznej.</td><td data-label="Dobra praktyka">Ustawić możliwie niską krzywą, która utrzymuje komfort bez niedogrzania.</td><td data-label="Błąd">Wysoka stała temperatura i regulowanie wszystkiego termostatami.</td></tr>
              <tr><td data-label="Warstwa"><strong>Regulacja hydrauliczna</strong></td><td data-label="Zadanie">Rozdziela przepływy zgodnie z mocą poszczególnych pętli.</td><td data-label="Dobra praktyka">Wprowadzić nastawy projektowe i potwierdzić temperatury podczas uruchomienia.</td><td data-label="Błąd">Ustawienie wszystkich rotametrów na tę samą wartość.</td></tr>
              <tr><td data-label="Warstwa"><strong>Regulacja pokojowa</strong></td><td data-label="Zadanie">Ogranicza przegrzewanie i obsługuje różne wymagania stref.</td><td data-label="Dobra praktyka">Stosować spokojną logikę uwzględniającą bezwładność podłogi.</td><td data-label="Błąd">Cykliczne zamykanie niemal wszystkich pętli i utrata przepływu przez kocioł.</td></tr>
            </tbody>
          </table>
        </div>

        <h3>Jak stroić krzywą grzewczą?</h3>
        <ol>
          <li>Zacznij od wartości wynikających z projektu ogrzewania podłogowego i ustaw ograniczenie maksymalnej temperatury zasilania.</li>
          <li>Otwórz obiegi, ustaw projektowe przepływy i nie zmieniaj kilku parametrów jednocześnie.</li>
          <li>Jeżeli przy mrozie cały budynek jest niedogrzany, skoryguj nachylenie; jeżeli błąd jest podobny przy każdej pogodzie, zwykle koryguje się przesunięcie.</li>
          <li>Po każdej małej zmianie odczekaj na reakcję bezwładnej podłogi i budynku.</li>
          <li>Dopiero po ustabilizowaniu temperatury oceniaj pracę termostatów i liczbę startów palnika.</li>
        </ol>

        <p>Szczegółowe przykłady znajdziesz w opracowaniach <a href="https://projekt-ogrzewania.pl/krzywa-grzewcza-w-ogrzewaniu-podlogowym/">krzywa grzewcza w ogrzewaniu podłogowym</a> oraz <a href="https://projekt-ogrzewania.pl/sterownik-regulator-pogodowy/">sterownik i regulator pogodowy</a>.</p>

        <div class="rk-gas-note">
          <p><strong>Regulator pokojowy nie powinien ratować stale zawyżonej temperatury zasilania.</strong> Najpierw źródło dostarcza właściwy parametr pogodowy, a sterowanie pomieszczeniowe pełni funkcję korekcyjną i ograniczającą.</p>
        </div>
      </section>

<section class="rk-gas-section" id="rk-gas-armatura" aria-labelledby="rk-gas-s9">
        <div class="rk-gas-section-head">
          <div class="rk-gas-section-no">9</div>
          <div>
            <h2 id="rk-gas-s9">Zawór mieszający, sprzęgło, bufor i druga pompa — kiedy są potrzebne?</h2>
            <p>Każdy z tych elementów rozwiązuje inny problem. Nie należy wpisywać całego zestawu do każdego schematu.</p>
          </div>
        </div>

        <div class="rk-gas-table-wrap">
          <span class="rk-gas-table-title">Macierz decyzji projektowej</span>
          <table>
            <thead><tr><th>Element</th><th>Cały dom na podłogówce</th><th>Układ mieszany</th><th>Rzeczywisty powód zastosowania</th></tr></thead>
            <tbody>
              <tr><td data-label="Element"><strong>Zawór mieszający</strong></td><td data-label="Tylko podłogówka"><span class="rk-gas-status rk-gas-status-good">zwykle zbędny</span></td><td data-label="Układ mieszany"><span class="rk-gas-status rk-gas-status-check">często potrzebny</span></td><td data-label="Powód">Wytworzenie niższego parametru dla podłogi, gdy inne odbiorniki wymagają wyższego.</td></tr>
              <tr><td data-label="Element"><strong>Druga pompa</strong></td><td data-label="Tylko podłogówka"><span class="rk-gas-status rk-gas-status-check">po obliczeniu</span></td><td data-label="Układ mieszany"><span class="rk-gas-status rk-gas-status-check">często osobne obiegi</span></td><td data-label="Powód">Brak dostępnego ciśnienia pompy źródła lub niezależna cyrkulacja w oddzielonym obiegu.</td></tr>
              <tr><td data-label="Element"><strong>Sprzęgło hydrauliczne</strong></td><td data-label="Tylko podłogówka"><span class="rk-gas-status rk-gas-status-good">nie z automatu</span></td><td data-label="Układ mieszany"><span class="rk-gas-status rk-gas-status-check">zależnie od pomp</span></td><td data-label="Powód">Ograniczenie wzajemnego wpływu kilku obiegów pompowych i zapewnienie przepływu źródła.</td></tr>
              <tr><td data-label="Element"><strong>Bufor</strong></td><td data-label="Tylko podłogówka"><span class="rk-gas-status rk-gas-status-good">zwykle zbędny</span></td><td data-label="Układ mieszany"><span class="rk-gas-status rk-gas-status-check">przypadki szczególne</span></td><td data-label="Powód">Zwiększenie pojemności i czasu pracy, integracja źródeł albo obsługa specyficznej automatyki — po bilansie korzyści i strat.</td></tr>
              <tr><td data-label="Element"><strong>Bypass / obieg referencyjny</strong></td><td data-label="Tylko podłogówka"><span class="rk-gas-status rk-gas-status-check">gdy zamykane są strefy</span></td><td data-label="Układ mieszany"><span class="rk-gas-status rk-gas-status-check">według wymagań</span></td><td data-label="Powód">Zapewnienie minimalnego przepływu wymaganego przez kocioł lub pompę.</td></tr>
            </tbody>
          </table>
        </div>

        <p>Osobne rozwinięcia: <a href="https://projekt-ogrzewania.pl/zawor-mieszajacy-w-ogrzewaniu-podlogowym/">zawór mieszający w podłogówce</a>, <a href="https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/">sprzęgło hydrauliczne</a> i <a href="https://projekt-ogrzewania.pl/bufor-ciepla-w-ogrzewaniu-podlogowym/">bufor ciepła</a>.</p>

        <div class="rk-gas-truth">
          <p><strong>Bufor nie naprawi źle dobranej mocy minimalnej.</strong> Może wydłużyć cykl pracy kosztem miejsca, strat postojowych i dodatkowej armatury, ale nie zmienia charakterystyki palnika ani zapotrzebowania budynku.</p>
        </div>
      </section>

<section class="rk-gas-section" id="rk-gas-elementy" aria-labelledby="rk-gas-s10">
        <div class="rk-gas-section-head">
          <div class="rk-gas-section-no">10</div>
          <div>
            <h2 id="rk-gas-s10">Elementy instalacji, których nie wolno pominąć</h2>
            <p>Efektywność palnika nie zastąpi bezpiecznego przewodu powietrzno-spalinowego, drożnego odpływu kondensatu ani prawidłowej jakości wody instalacyjnej.</p>
          </div>
        </div>

        <div class="rk-gas-check-grid">
          <div class="rk-gas-check"><div class="rk-gas-check-no" aria-hidden="true">01</div><div><h4>Instalacja gazowa</h4><p>Rodzaj gazu, wymagane ciśnienie, średnice, próby, wentylacja i uruchomienie muszą być zgodne z projektem, przepisami oraz dokumentacją urządzenia.</p></div></div>
          <div class="rk-gas-check"><div class="rk-gas-check-no" aria-hidden="true">02</div><div><h4>System powietrzno-spalinowy</h4><p>Sprawdza się konfigurację, dopuszczalne długości, spadki, szczelność, odprowadzenie kondensatu oraz wymagania producenta kompletnego systemu.</p></div></div>
          <div class="rk-gas-check"><div class="rk-gas-check-no" aria-hidden="true">03</div><div><h4>Odpływ kondensatu</h4><p>Przewód musi być odporny, drożny, ułożony ze spadkiem i zabezpieczony zgodnie z wymaganiami kotła oraz lokalnymi zasadami odprowadzania ścieków.</p></div></div>
          <div class="rk-gas-check"><div class="rk-gas-check-no" aria-hidden="true">04</div><div><h4>Naczynie wzbiorcze</h4><p>Pojemność i ciśnienie wstępne weryfikuje się dla pojemności instalacji, temperatur oraz dopuszczalnych ciśnień — wyposażenie kotła nie zawsze obsłuży duży zład.</p></div></div>
          <div class="rk-gas-check"><div class="rk-gas-check-no" aria-hidden="true">05</div><div><h4>Zabezpieczenia i armatura</h4><p>Zawór bezpieczeństwa, manometr, odpowietrzenie, zawory odcinające i możliwość obsługi powinny tworzyć spójny, dostępny serwisowo układ.</p></div></div>
          <div class="rk-gas-check"><div class="rk-gas-check-no" aria-hidden="true">06</div><div><h4>Filtracja i separacja</h4><p>Zanieczyszczenia magnetyczne, produkty korozji i powietrze mogą uszkadzać wymiennik oraz pompę. Dobór uwzględnia przepływ i dopuszczalny spadek ciśnienia.</p></div></div>
          <div class="rk-gas-check"><div class="rk-gas-check-no" aria-hidden="true">07</div><div><h4>Jakość wody</h4><p>Napełnienie, płukanie, uzdatnienie i ograniczenie kolejnych dolewek powinny spełniać wymagania zastosowanych materiałów oraz urządzenia.</p></div></div>
          <div class="rk-gas-check"><div class="rk-gas-check-no" aria-hidden="true">08</div><div><h4>Izolacja przewodów</h4><p>Niezaizolowana magistrala oddaje ciepło po drodze, zmienia temperaturę docierającą do rozdzielacza i utrudnia późniejszą ocenę parametrów.</p></div></div>
        </div>

        <p>Dobór elementów odpowiedzialnych za czystość układu rozwija opracowanie <a href="https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/">separator zanieczyszczeń i powietrza</a>, natomiast obliczenia pojemności opisuje artykuł <a href="https://projekt-ogrzewania.pl/naczynie-wzbiorcze/">naczynie wzbiorcze w instalacji grzewczej</a>.</p>

        <div class="rk-gas-warning">
          <p><strong>Spadek ciśnienia nie jest sygnałem do regularnego dolewania wody.</strong> Powtarzający się ubytek wymaga diagnozy szczelności, naczynia wzbiorczego, zaworu bezpieczeństwa i odpowietrzania. Każda dolewka wprowadza tlen oraz składniki mineralne.</p>
        </div>
      </section>

<section class="rk-gas-section" id="rk-gas-uruchomienie" aria-labelledby="rk-gas-s11">
        <div class="rk-gas-section-head">
          <div class="rk-gas-section-no">11</div>
          <div>
            <h2 id="rk-gas-s11">Pierwsze uruchomienie i nastawy kotła gazowego</h2>
            <p>Uruchomienie powinno zakończyć się zapisaniem parametrów, a nie tylko stwierdzeniem, że palnik się włączył i podłoga jest ciepła.</p>
          </div>
        </div>

        <div class="rk-gas-table-wrap">
          <span class="rk-gas-table-title">Protokół nastaw, które warto zachować</span>
          <table>
            <thead><tr><th>Pozycja</th><th>Co zapisać?</th><th>Po co?</th></tr></thead>
            <tbody>
              <tr><td data-label="Pozycja"><strong>Parametry spalania</strong></td><td data-label="Zapis">Wyniki kontroli wykonanej przez uprawnionego serwisanta.</td><td data-label="Cel">Potwierdzenie prawidłowego spalania, dopływu powietrza i odprowadzania spalin.</td></tr>
              <tr><td data-label="Pozycja"><strong>Moc maksymalna CO</strong></td><td data-label="Zapis">Ustawiony limit mocy grzewczej.</td><td data-label="Cel">Ograniczenie gwałtownego grzania małej instalacji przez kocioł dobrany pod CWU.</td></tr>
              <tr><td data-label="Pozycja"><strong>Moc minimalna</strong></td><td data-label="Zapis">Wartość katalogową i obserwowane zachowanie palnika.</td><td data-label="Cel">Ocena częstotliwości startów przy częściowym obciążeniu.</td></tr>
              <tr><td data-label="Pozycja"><strong>Krzywa grzewcza</strong></td><td data-label="Zapis">Nachylenie, przesunięcie, limit zasilania i granicę ogrzewania.</td><td data-label="Cel">Możliwość świadomej korekty bez powrotu do przypadkowych ustawień.</td></tr>
              <tr><td data-label="Pozycja"><strong>Pompa</strong></td><td data-label="Zapis">Tryb regulacji, ograniczenie wydajności i ewentualne wybiegi.</td><td data-label="Cel">Powiązanie pracy pompy z przepływem i oporami instalacji.</td></tr>
              <tr><td data-label="Pozycja"><strong>Rozdzielacz</strong></td><td data-label="Zapis">Nastawę każdej pętli, temperaturę zasilania i powrotu.</td><td data-label="Cel">Punkt odniesienia do późniejszej diagnostyki i regulacji.</td></tr>
              <tr><td data-label="Pozycja"><strong>Automatyka stref</strong></td><td data-label="Zapis">Logikę żądania ciepła, opóźnienia i stan obiegu referencyjnego.</td><td data-label="Cel">Uniknięcie pracy kotła przy zamkniętej instalacji.</td></tr>
              <tr><td data-label="Pozycja"><strong>Ciśnienie układu</strong></td><td data-label="Zapis">Ciśnienie zimne i po rozgrzaniu oraz nastawę naczynia.</td><td data-label="Cel">Wczesne wykrycie problemu z pojemnością lub przeponą.</td></tr>
            </tbody>
          </table>
        </div>

        <h3>Kolejność uruchomienia podłogówki</h3>
        <ol>
          <li>Potwierdź szczelność, wypłukanie, napełnienie i odpowietrzenie każdego obiegu.</li>
          <li>Otwórz pętle i ustaw przepływy wynikające z projektu.</li>
          <li>Sprawdź całkowity przepływ oraz różnicę temperatury zasilania i powrotu.</li>
          <li>Ustaw limit mocy CO, krzywą pogodową i maksymalną temperaturę zasilania.</li>
          <li>Sprawdź zachowanie przy otwartych obiegach, a następnie przy działaniu automatyki strefowej.</li>
          <li>Po ustabilizowaniu budynku koryguj jedną nastawę naraz i zapisuj wynik.</li>
        </ol>

        <div class="rk-gas-note">
          <p>Przegląd i serwis kotła należy wykonywać z częstotliwością wynikającą z prawa, instrukcji urządzenia i warunków gwarancji. Czynności gazowe, kontrola szczelności oraz analiza spalania należą do odpowiednio wykwalifikowanych osób.</p>
        </div>
      </section>

<section class="rk-gas-section" id="rk-gas-2026" aria-labelledby="rk-gas-s12">
        <div class="rk-gas-section-head">
          <div class="rk-gas-section-no">12</div>
          <div>
            <h2 id="rk-gas-s12">Czy kocioł gazowy ma sens w 2026 roku?</h2>
            <p>Odpowiedź zależy od konkretnego budynku, kosztu przyłącza, istniejącej infrastruktury, rocznego zużycia i ryzyka regulacyjnego — nie od jednego rankingu źródeł.</p>
          </div>
        </div>

        <p>Kocioł gazowy może być racjonalny w modernizowanym budynku z istniejącym przyłączem, przewodem spalinowym i instalacją niskotemperaturową, szczególnie gdy koszt przebudowy zasilania elektrycznego lub montażu innego źródła jest wysoki. W nowym, bardzo energooszczędnym domu roczne zużycie może być małe, ale wtedy większe znaczenie zyskują opłaty stałe, koszt przyłącza, serwis i wieloletni kierunek polityki energetycznej.</p>

        <div class="rk-gas-formula">
          <span class="rk-gas-formula-label">Uczciwy model rocznego kosztu</span>
          <div class="rk-gas-equation">K<sub>rok</sub> ≈ (E<sub>użytk</sub> / η<sub>sezon</sub>) · c<sub>gazu</sub> + opłaty stałe + serwis
            <small>Do analizy inwestycyjnej należy dodać koszt urządzenia, przyłącza, komina, instalacji, finansowania i przewidywanych wymian. Cena jednej kWh w wybranym miesiącu nie jest pełnym kosztem systemu.</small>
          </div>
        </div>

        <div class="rk-gas-table-wrap">
          <span class="rk-gas-table-title">Kiedy decyzja może być racjonalna, a kiedy wymaga szczególnej ostrożności?</span>
          <table>
            <thead><tr><th>Przesłanka</th><th>Znaczenie dla decyzji</th><th>Co policzyć przed zakupem?</th></tr></thead>
            <tbody>
              <tr><td data-label="Przesłanka"><strong>Istniejące przyłącze i komin</strong></td><td data-label="Znaczenie"><span class="rk-gas-status rk-gas-status-good">niższy koszt wejścia</span></td><td data-label="Policz">Stan instalacji, dostosowanie przewodu, opłaty stałe i koszt urządzenia.</td></tr>
              <tr><td data-label="Przesłanka"><strong>Brak gazu przy działce</strong></td><td data-label="Znaczenie"><span class="rk-gas-status rk-gas-status-check">duży koszt dodatkowy</span></td><td data-label="Policz">Warunki przyłączenia, termin, trasę, instalację wewnętrzną i rozwiązania alternatywne.</td></tr>
              <tr><td data-label="Przesłanka"><strong>Bardzo małe zapotrzebowanie domu</strong></td><td data-label="Znaczenie"><span class="rk-gas-status rk-gas-status-check">ważna moc minimalna</span></td><td data-label="Policz">Taktowanie, opłaty stałe w stosunku do zużycia i przyszły koszt wymiany źródła.</td></tr>
              <tr><td data-label="Przesłanka"><strong>Modernizacja etapowa</strong></td><td data-label="Znaczenie"><span class="rk-gas-status rk-gas-status-check">potrzebna mapa docelowa</span></td><td data-label="Policz">Temperatury po termomodernizacji, możliwość pracy hybrydowej i docelowe obciążenie.</td></tr>
              <tr><td data-label="Przesłanka"><strong>Nowy budynek</strong></td><td data-label="Znaczenie"><span class="rk-gas-status rk-gas-status-no">sprawdź kierunek regulacji</span></td><td data-label="Policz">Charakterystykę energetyczną, wymagania lokalne, dostępność paliwa oraz alternatywy w całym cyklu życia.</td></tr>
            </tbody>
          </table>
        </div>

        <h3>Co faktycznie zmieniła dyrektywa EPBD?</h3>
        <p>Zmieniona dyrektywa w sprawie charakterystyki energetycznej budynków weszła w życie 28 maja 2024 roku. Od 1 stycznia 2025 roku państwa członkowskie nie powinny udzielać zachęt finansowych na instalowanie samodzielnych kotłów zasilanych paliwami kopalnymi, z przewidzianymi wyjątkami dla części wcześniej wybranych inwestycji. Dokument wskazuje również kierunek stopniowego wycofywania paliw kopalnych z ogrzewania, z perspektywą całkowitego wycofania kotłów na paliwa kopalne do 2040 roku w krajowych planach.</p>

        <p><strong>Nie jest to jednak automatyczny, powszechny zakaz używania każdego istniejącego kotła gazowego w Polsce w 2026 roku.</strong> Konkretne obowiązki dla inwestora wynikają z wdrożenia unijnych przepisów do prawa krajowego, rodzaju budynku i aktualnych warunków technicznych. Dlatego artykuł nie powinien ani straszyć natychmiastowym zakazem, ani ignorować kierunku zmian.</p>

        <div class="rk-gas-warning">
          <p>Opłacalność należy liczyć w kilku scenariuszach cen paliwa i na okres odpowiadający żywotności inwestycji. Nie ma technicznej podstawy, aby dziś zagwarantować konkretny koszt gazu, czas zwrotu lub przewagę nad każdym innym źródłem w całym okresie eksploatacji.</p>
        </div>
      </section>

<section class="rk-gas-section" id="rk-gas-bledy" aria-labelledby="rk-gas-s13">
        <div class="rk-gas-section-head">
          <div class="rk-gas-section-no">13</div>
          <div>
            <h2 id="rk-gas-s13">10 błędów przy łączeniu kotła gazowego z podłogówką</h2>
            <p>Większość problemów nie wynika z samego paliwa, lecz z błędnego doboru, schematu lub uruchomienia.</p>
          </div>
        </div>

        <div class="rk-gas-check-grid">
          <div class="rk-gas-check"><div class="rk-gas-check-no" aria-hidden="true">01</div><div><h4>Dobór kotła wyłącznie po metrażu</h4><p>Powierzchnia nie opisuje izolacji, wentylacji, strefy klimatycznej ani zysków. Potrzebne jest obciążenie cieplne.</p></div></div>
          <div class="rk-gas-check"><div class="rk-gas-check-no" aria-hidden="true">02</div><div><h4>Ignorowanie mocy minimalnej</h4><p>Duża modulacja marketingowa nie pomaga, jeśli najniższa realna moc nadal przekracza odbiór budynku.</p></div></div>
          <div class="rk-gas-check"><div class="rk-gas-check-no" aria-hidden="true">03</div><div><h4>Dodawanie mocy CO i CWU</h4><p>Priorytet CWU oznacza zwykle dwa osobne warunki pracy, a nie jednoczesne sumowanie wartości.</p></div></div>
          <div class="rk-gas-check"><div class="rk-gas-check-no" aria-hidden="true">04</div><div><h4>Mieszacz w każdym schemacie</h4><p>W całkowicie niskotemperaturowym układzie może niepotrzebnie komplikować hydraulikę i podnosić parametr źródła.</p></div></div>
          <div class="rk-gas-check"><div class="rk-gas-check-no" aria-hidden="true">05</div><div><h4>Druga pompa bez rozdzielenia</h4><p>Dwie pompy mogą wzajemnie zmieniać swoje punkty pracy i zakłócać przepływ przez wymiennik kotła.</p></div></div>
          <div class="rk-gas-check"><div class="rk-gas-check-no" aria-hidden="true">06</div><div><h4>Stałe 40–45°C przez sezon</h4><p>Brak obniżania pogodowego zwiększa straty, przegrzewa pomieszczenia i wymusza zamykanie stref.</p></div></div>
          <div class="rk-gas-check"><div class="rk-gas-check-no" aria-hidden="true">07</div><div><h4>Jednakowe przepływy wszystkich pętli</h4><p>Każdy obieg przenosi inną moc i ma inny opór, dlatego nastawy powinny wynikać z projektu.</p></div></div>
          <div class="rk-gas-check"><div class="rk-gas-check-no" aria-hidden="true">08</div><div><h4>Zamykanie całego odbioru ciepła</h4><p>Automatyka strefowa bez zapewnienia minimum przepływu może generować błędy i krótkie cykle pracy.</p></div></div>
          <div class="rk-gas-check"><div class="rk-gas-check-no" aria-hidden="true">09</div><div><h4>Regularne dolewanie wody</h4><p>Maskuje usterkę i wprowadza do instalacji tlen oraz minerały, przyspieszając korozję i odkładanie osadów.</p></div></div>
          <div class="rk-gas-check"><div class="rk-gas-check-no" aria-hidden="true">10</div><div><h4>Brak protokołu uruchomienia</h4><p>Bez zapisanych nastaw nie wiadomo, co zmieniono i dlaczego instalacja po sezonie zachowuje się inaczej.</p></div></div>
        </div>
      </section>

<section class="rk-gas-section" id="rk-gas-faq" aria-labelledby="rk-gas-s14">
        <div class="rk-gas-section-head">
          <div class="rk-gas-section-no">14</div>
          <div>
            <h2 id="rk-gas-s14">FAQ — kocioł gazowy do ogrzewania podłogowego</h2>
            <p>Krótkie odpowiedzi na pytania najczęściej zadawane przed zakupem i uruchomieniem instalacji.</p>
          </div>
        </div>

        <div class="rk-gas-faq">
          <details id="rk-gas-faq-1"><summary>Czy kocioł gazowy kondensacyjny nadaje się do podłogówki?</summary><div class="rk-gas-faq-answer"><p>Tak. Niska temperatura zasilania i powrotu sprzyja kondensacji, a modulowany palnik może dopasować moc do zmiennego zapotrzebowania. Warunkiem jest prawidłowy dobór mocy minimalnej, przepływu, sterowania i hydrauliki.</p></div></details>
          <details id="rk-gas-faq-2"><summary>Jaka moc kotła gazowego do domu 100, 150 albo 200 m²?</summary><div class="rk-gas-faq-answer"><p>Nie można jej poprawnie określić wyłącznie z powierzchni. Dwa domy o tym samym metrażu mogą mieć kilkukrotnie różne obciążenie cieplne. Moc na CO dobiera się z obliczeń strat, a moc dla CWU sprawdza osobno.</p></div></details>
          <details id="rk-gas-faq-3"><summary>Czy kocioł 24 kW jest za duży do domu potrzebującego 6 kW?</summary><div class="rk-gas-faq-answer"><p>Nie musi być, jeśli 24 kW jest potrzebne do CWU, moc CO można ograniczyć, a kocioł ma odpowiednio niską moc minimalną. W ogrzewaniu ważniejsze od samego maksimum są dolna granica modulacji i stabilność przy małym odbiorze.</p></div></details>
          <details id="rk-gas-faq-4"><summary>Jaka moc minimalna kotła gazowego jest dobra do podłogówki?</summary><div class="rk-gas-faq-answer"><p>Im mniejsze obciążenie budynku, tym ważniejsza jest niska moc minimalna. Nie ma jednej granicy dla każdego domu. Należy porównać ją z obciążeniem przejściowym, liczbą otwartych stref, pojemnością wodną i sposobem sterowania.</p></div></details>
          <details id="rk-gas-faq-5"><summary>Czy przy kotle gazowym potrzebny jest zawór mieszający?</summary><div class="rk-gas-faq-answer"><p>Nie zawsze. Jeżeli cały budynek jest ogrzewany podłogowo i kocioł potrafi bezpośrednio podać wymaganą niską temperaturę, mieszacz jest zazwyczaj zbędny. Jest potrzebny głównie wtedy, gdy jednocześnie występują obiegi o różnych temperaturach.</p></div></details>
          <details id="rk-gas-faq-6"><summary>Czy pompa w kotle obsłuży rozdzielacz podłogówki?</summary><div class="rk-gas-faq-answer"><p>Może obsłużyć, jeśli przy projektowym całkowitym przepływie zapewnia ciśnienie potrzebne do pokonania magistrali, rozdzielacza, armatury i obiegu krytycznego. Odpowiedź wymaga porównania charakterystyki pompy z obliczonym punktem pracy.</p></div></details>
          <details id="rk-gas-faq-7"><summary>Czy do kotła gazowego potrzebne jest sprzęgło hydrauliczne?</summary><div class="rk-gas-faq-answer"><p>Nie z definicji. Sprzęgło stosuje się, gdy trzeba rozdzielić obiegi pompowe, zapewnić wymagany przepływ przez źródło lub ograniczyć wzajemny wpływ obiegów. W prostym układzie z jednym rozdzielaczem może być niepotrzebne.</p></div></details>
          <details id="rk-gas-faq-8"><summary>Czy kocioł gazowy potrzebuje bufora do podłogówki?</summary><div class="rk-gas-faq-answer"><p>Zwykle nie. Sama podłoga i woda w instalacji mają znaczną bezwładność. Bufor może być uzasadniony w szczególnych układach, lecz nie powinien zastępować doboru mocy minimalnej, prawidłowej regulacji ani zapewnienia przepływu.</p></div></details>
          <details id="rk-gas-faq-9"><summary>Jaka temperatura zasilania jest właściwa dla podłogówki?</summary><div class="rk-gas-faq-answer"><p>Taka, która przy projektowym przepływie i rozstawie rur pokrywa obciążenie pomieszczeń bez przekroczenia temperatury powierzchni. W nowych domach często jest to około 30–38°C w warunkach projektowych, ale nie jest to uniwersalna norma.</p></div></details>
          <details id="rk-gas-faq-10"><summary>Dlaczego kocioł gazowy często się włącza i wyłącza?</summary><div class="rk-gas-faq-answer"><p>Najczęstsze przyczyny to zbyt wysoka moc minimalna, zawyżona temperatura zasilania, mały odbiór ciepła po zamknięciu stref, niewystarczający przepływ, mała pojemność aktywnego obiegu lub niewłaściwe nastawy regulatora.</p></div></details>
          <details id="rk-gas-faq-11"><summary>Czy niska temperatura powrotu szkodzi kotłowi kondensacyjnemu?</summary><div class="rk-gas-faq-answer"><p>W prawidłowo zaprojektowanym kotle kondensacyjnym niski powrót jest korzystny, ponieważ wspiera odzysk ciepła ze skraplania pary wodnej. Kondensat musi być jednak prawidłowo odprowadzony, a urządzenie eksploatowane zgodnie z dokumentacją.</p></div></details>
          <details id="rk-gas-faq-12"><summary>Czy od 2026 roku nie wolno montować kotłów gazowych?</summary><div class="rk-gas-faq-answer"><p>Nie istnieje jeden powszechny zakaz obejmujący każdą instalację i każdy istniejący budynek w 2026 roku. Unijne przepisy kończą zachęty dla samodzielnych kotłów na paliwa kopalne i wyznaczają kierunek odchodzenia od nich, a szczegóły zależą od wdrożenia krajowego i rodzaju inwestycji.</p></div></details>
        </div>
      </section>

<section class="rk-gas-section" id="rk-gas-podsumowanie" aria-labelledby="rk-gas-s15">
        <div class="rk-gas-section-head">
          <div class="rk-gas-section-no">15</div>
          <div>
            <h2 id="rk-gas-s15">Podsumowanie: dobierz kocioł do najzimniejszego i najcieplejszego dnia sezonu</h2>
            <p>Moc maksymalna ma pokryć warunek projektowy i CWU, ale moc minimalna decyduje o zachowaniu instalacji przez większą część roku.</p>
          </div>
        </div>

        <p><strong>Kocioł gazowy do ogrzewania podłogowego</strong> może stworzyć prosty i efektywny układ, jeśli źródło pracuje bezpośrednio na niskim parametrze, pompa zapewnia obliczony przepływ, a palnik moduluje odpowiednio nisko. Zawór mieszający, dodatkowa pompa, sprzęgło i bufor są narzędziami do rozwiązania konkretnych problemów — nie obowiązkowym kompletem.</p>

        <p>Dobór zaczyna się od obciążenia cieplnego pomieszczeń i budynku. Następnie ustala się temperaturę podłogi, rozstaw rur, przepływy i opory. Dopiero na tej podstawie porównuje się moc minimalną i maksymalną kotła, charakterystykę jego pompy, minimum przepływu, automatykę oraz osobny warunek przygotowania ciepłej wody.</p>

        <div class="rk-gas-truth">
          <p><strong>Jednozdaniowy werdykt:</strong> nie pytaj wyłącznie „ile kilowatów ma kocioł?”, lecz „jak nisko moduluje, jaki przepływ zapewnia i czy potrafi bezpośrednio pracować na parametrze wynikającym z projektu podłogi?”.</p>
        </div>

        <div class="rk-gas-sources" aria-label="Źródła i podstawa opracowania">
          <strong>Źródła i podstawa regulacyjna opracowania</strong>
          Aktualny kierunek polityki budynkowej: <a href="https://energy.ec.europa.eu/topics/energy-efficiency/energy-efficient-buildings/energy-performance-buildings-directive_en" target="_blank" rel="noopener nofollow">Komisja Europejska — Energy Performance of Buildings Directive</a>; tekst prawny: <a href="https://eur-lex.europa.eu/legal-content/PL/TXT/HTML/?uri=OJ:L_202401275" target="_blank" rel="noopener nofollow">Dyrektywa Parlamentu Europejskiego i Rady (UE) 2024/1275</a>; wymagania ekoprojektu dla ogrzewaczy pomieszczeń: <a href="https://eur-lex.europa.eu/legal-content/PL/TXT/?uri=CELEX:32013R0813" target="_blank" rel="noopener nofollow">Rozporządzenie Komisji (UE) nr 813/2013</a>. Obliczenia cieplne i hydrauliczne w artykule mają charakter edukacyjny i wymagają weryfikacji dla konkretnego budynku oraz urządzenia.
        </div>

        <aside class="rk-gas-cta" aria-labelledby="rk-gas-cta-title">
          <div class="rk-gas-cta-copy">
            <span class="rk-gas-eyebrow" style="color:#7cebf4">Jedno źródło danych dla wykonawcy i serwisu</span>
            <h2 id="rk-gas-cta-title">Potrzebujesz temperatur, przepływów i nastaw wynikających z obliczeń?</h2>
            <p>Projekt określa obciążenie pomieszczeń, przebieg i długości pętli, projektową temperaturę zasilania i powrotu, przepływy, opory hydrauliczne, nastawy rozdzielacza oraz wymagania stawiane źródłu ciepła.</p>
          </div>
          <div class="rk-gas-cta-bar">
            <a class="rk-gas-cta-button" href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Zamów projekt instalacji ogrzewania podłogowego →</a>
            <small class="rk-gas-cta-note">Odnośnik prowadzi do usługi Projekt-Ogrzewania.pl należącej do autora opracowania.</small>
          </div>
        </aside>
      </section>

<section class="rk-gas-author" aria-labelledby="rk-gas-author-title">
        <input type="radio" name="rk-gas-author-tabs" id="rk-gas-author-about" checked>
        <input type="radio" name="rk-gas-author-tabs" id="rk-gas-author-exp">
        <input type="radio" name="rk-gas-author-tabs" id="rk-gas-author-sites">

        <div class="rk-gas-author-head">
          <div><h2 id="rk-gas-author-title">Autor opracowania</h2><p>Praktyka projektowa, wiedza techniczna i język zrozumiały dla inwestora.</p></div>
          <div class="rk-gas-author-mark">E-E-A-T • HVAC</div>
        </div>

        <div class="rk-gas-author-layout">
          <div class="rk-gas-author-side">
            <div class="rk-gas-author-photo"><img src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski – projektant instalacji sanitarnych i specjalista systemów HVAC" width="500" height="500" loading="lazy" decoding="async"></div>
            <div class="rk-gas-author-name">Robert Kucharski</div>
            <div class="rk-gas-author-role">CEO portalu<br>Specjalista systemów HVAC i ogrzewania podłogowego</div>
          </div>

          <div class="rk-gas-author-main">
            <blockquote class="rk-gas-author-quote"><p>„Dobry kocioł nie powinien walczyć z instalacją. Jego moc minimalna, pompa i automatyka muszą pasować do przepływów oraz temperatur zapisanych w projekcie — inaczej nawet markowe urządzenie będzie tylko poprawnie zamontowanym źródłem problemów.”</p></blockquote>

            <div class="rk-gas-author-tabs" role="tablist" aria-label="Informacje o autorze">
              <label class="rk-gas-author-tab" for="rk-gas-author-about">O autorze</label>
              <label class="rk-gas-author-tab" for="rk-gas-author-exp">Doświadczenie</label>
              <label class="rk-gas-author-tab" for="rk-gas-author-sites">Portale</label>
            </div>

            <div class="rk-gas-author-panel rk-gas-author-panel-about">
              <p>Specjalizuję się w projektowaniu wodnego ogrzewania podłogowego, obliczeniach obciążenia cieplnego i hydrauliki instalacji. W opracowaniach łączę parametry źródła ciepła, charakterystykę podłogi, przepływy i automatykę w jeden możliwy do wykonania układ.</p>
            </div>
            <div class="rk-gas-author-panel rk-gas-author-panel-exp">
              <p>Przygotowuję dokumentacje techniczne dla nowych i modernizowanych budynków, analizuję współpracę podłogówki z kotłami gazowymi oraz pompami ciepła, dobieram przepływy, opory, rozdzielacze i pompy. Publikuję materiały pomagające inwestorom odróżnić wymóg obliczeniowy od wykonawczego przyzwyczajenia.</p>
            </div>
            <div class="rk-gas-author-panel rk-gas-author-panel-sites">
              <p>Jestem właścicielem trzech serwisów branżowych. Informację podaję transparentnie, aby czytelnik znał autorstwo publikacji i kontekst linkowania.</p>
              <div class="rk-gas-site-links">
                <a href="https://projekt-ogrzewania.pl/">Projekt-Ogrzewania.pl</a>
                <a href="https://remont.biz.pl/" target="_blank" rel="noopener nofollow">Remont.biz.pl</a>
                <a href="https://sobir.pl/" target="_blank" rel="noopener nofollow">Sobir.pl</a>
              </div>
            </div>
          </div>
        </div>
      </section>
    </div>
  </div>
</article>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "TechArticle",
      "@id": "https://projekt-ogrzewania.pl/kociol-gazowy/#article",
      "url": "https://projekt-ogrzewania.pl/kociol-gazowy/",
      "mainEntityOfPage": {
        "@type": "WebPage",
        "@id": "https://projekt-ogrzewania.pl/kociol-gazowy/"
      },
      "headline": "Kocioł gazowy do ogrzewania podłogowego – dobór mocy, modulacja, schemat i ustawienia",
      "alternativeHeadline": "Jaki kocioł gazowy do podłogówki? Moc minimalna, hydraulika, CWU i sterowanie pogodowe",
      "description": "Kocioł gazowy do ogrzewania podłogowego: dobór mocy, modulacja, przepływ, schemat hydrauliczny, sterowanie pogodowe, CWU i typowe błędy.",
      "datePublished": "2026-01-04T14:02:32+00:00",
      "dateModified": "2026-08-25T19:00:00+02:00",
      "inLanguage": "pl-PL",
      "isAccessibleForFree": true,
      "author": {
        "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1"
      },
      "publisher": {
        "@id": "https://projekt-ogrzewania.pl/#organization"
      },
      "image": {
        "@type": "ImageObject",
        "@id": "https://projekt-ogrzewania.pl/kociol-gazowy/#primaryimage",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/01/Kociol-gazowy.webp",
        "contentUrl": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/01/Kociol-gazowy.webp",
        "width": 945,
        "height": 945,
        "caption": "Kocioł gazowy do ogrzewania podłogowego"
      },
      "thumbnailUrl": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/01/Kociol-gazowy.webp",
      "articleSection": [
        "Kocioł gazowy",
        "Ogrzewanie podłogowe",
        "Instalacje grzewcze",
        "Projektowanie instalacji",
        "Poradnik inwestora"
      ],
      "keywords": "kocioł gazowy do ogrzewania podłogowego, jaki kocioł gazowy do podłogówki, moc minimalna kotła gazowego, kocioł kondensacyjny a podłogówka, schemat kotła gazowego z podłogówką, temperatura kotła przy ogrzewaniu podłogowym, zawór mieszający, sprzęgło hydrauliczne, sterowanie pogodowe, krzywa grzewcza, CWU",
      "about": [
        {
          "@type": "Thing",
          "name": "Kocioł gazowy kondensacyjny"
        },
        {
          "@type": "Thing",
          "name": "Wodne ogrzewanie podłogowe"
        },
        {
          "@type": "Thing",
          "name": "Hydraulika instalacji grzewczej"
        },
        {
          "@type": "Thing",
          "name": "Sterowanie pogodowe"
        }
      ],
      "hasPart": [
        {
          "@id": "https://projekt-ogrzewania.pl/kociol-gazowy/#laboratorium"
        },
        {
          "@id": "https://projekt-ogrzewania.pl/kociol-gazowy/#faq"
        },
        {
          "@id": "https://projekt-ogrzewania.pl/kociol-gazowy/#howto"
        }
      ],
      "citation": [
        "https://energy.ec.europa.eu/topics/energy-efficiency/energy-efficient-buildings/energy-performance-buildings-directive_en",
        "https://eur-lex.europa.eu/legal-content/PL/TXT/HTML/?uri=OJ:L_202401275",
        "https://eur-lex.europa.eu/legal-content/PL/TXT/?uri=CELEX:32013R0813"
      ]
    },
    {
      "@type": "WebApplication",
      "@id": "https://projekt-ogrzewania.pl/kociol-gazowy/#laboratorium",
      "name": "Laboratorium kotła gazowego z ogrzewaniem podłogowym",
      "url": "https://projekt-ogrzewania.pl/kociol-gazowy/#rk-gas-laboratorium",
      "description": "Interaktywny model pokazujący zależność między projektowym obciążeniem cieplnym, mocą minimalną kotła, przepływem instalacji, temperaturą powrotu i mocą chwilową dla CWU.",
      "applicationCategory": "UtilitiesApplication",
      "operatingSystem": "Any",
      "browserRequirements": "JavaScript",
      "isAccessibleForFree": true,
      "inLanguage": "pl-PL",
      "author": {
        "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1"
      },
      "isPartOf": {
        "@id": "https://projekt-ogrzewania.pl/kociol-gazowy/#article"
      }
    },
    {
      "@type": "HowTo",
      "@id": "https://projekt-ogrzewania.pl/kociol-gazowy/#howto",
      "name": "Jak dobrać kocioł gazowy do ogrzewania podłogowego",
      "description": "Kolejność sprawdzenia obciążenia cieplnego, modulacji, CWU, hydrauliki i sterowania przed wyborem kotła gazowego.",
      "inLanguage": "pl-PL",
      "totalTime": "PT30M",
      "step": [
        {
          "@type": "HowToStep",
          "position": 1,
          "name": "Oblicz projektowe obciążenie cieplne",
          "text": "Wyznacz straty ciepła budynku i poszczególnych pomieszczeń dla projektowych warunków zewnętrznych.",
          "url": "https://projekt-ogrzewania.pl/kociol-gazowy/#rk-gas-dobor"
        },
        {
          "@type": "HowToStep",
          "position": 2,
          "name": "Porównaj moc minimalną kotła z częściowym obciążeniem",
          "text": "Sprawdź, czy kocioł potrafi stabilnie pracować przy zapotrzebowaniu występującym w cieplejszej części sezonu.",
          "url": "https://projekt-ogrzewania.pl/kociol-gazowy/#rk-gas-laboratorium"
        },
        {
          "@type": "HowToStep",
          "position": 3,
          "name": "Sprawdź wymagania ciepłej wody użytkowej",
          "text": "Określ strumień, temperaturę i jednoczesność poboru oraz wybierz układ przepływowy albo zasobnikowy.",
          "url": "https://projekt-ogrzewania.pl/kociol-gazowy/#rk-gas-cwu"
        },
        {
          "@type": "HowToStep",
          "position": 4,
          "name": "Oblicz przepływ i opory instalacji",
          "text": "Porównaj wymagany całkowity przepływ i opór obiegu krytycznego z charakterystyką pompy kotłowej.",
          "url": "https://projekt-ogrzewania.pl/kociol-gazowy/#rk-gas-hydraulika"
        },
        {
          "@type": "HowToStep",
          "position": 5,
          "name": "Wybierz właściwy schemat hydrauliczny",
          "text": "Zastosuj obieg bezpośredni dla jednego parametru lub zaprojektuj mieszanie i rozdzielenie dla obiegów o różnych temperaturach.",
          "url": "https://projekt-ogrzewania.pl/kociol-gazowy/#rk-gas-schematy"
        },
        {
          "@type": "HowToStep",
          "position": 6,
          "name": "Ustaw i zaprotokołuj automatykę",
          "text": "Zapisz limit mocy CO, krzywą grzewczą, tryb pompy, nastawy rozdzielacza i zachowanie automatyki strefowej.",
          "url": "https://projekt-ogrzewania.pl/kociol-gazowy/#rk-gas-uruchomienie"
        }
      ]
    },
    {
      "@type": "ItemList",
      "@id": "https://projekt-ogrzewania.pl/kociol-gazowy/#kryteria-doboru",
      "name": "Kryteria doboru kotła gazowego do ogrzewania podłogowego",
      "numberOfItems": 7,
      "itemListOrder": "https://schema.org/ItemListOrderAscending",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Projektowe obciążenie cieplne",
          "item": {
            "@type": "Thing",
            "name": "Projektowe obciążenie cieplne",
            "description": "Moc potrzebna do ogrzania budynku w projektowych warunkach zewnętrznych."
          }
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Minimalna moc grzewcza",
          "item": {
            "@type": "Thing",
            "name": "Minimalna moc grzewcza kotła",
            "description": "Najniższa stabilna moc palnika porównywana z częściowym obciążeniem budynku."
          }
        },
        {
          "@type": "ListItem",
          "position": 3,
          "name": "Zakres modulacji",
          "item": {
            "@type": "Thing",
            "name": "Zakres modulacji palnika",
            "description": "Zakres pomiędzy minimalną a maksymalną mocą kotła w trybie centralnego ogrzewania."
          }
        },
        {
          "@type": "ListItem",
          "position": 4,
          "name": "Wymagania CWU",
          "item": {
            "@type": "Thing",
            "name": "Wymagania ciepłej wody użytkowej",
            "description": "Strumień, temperatura, jednoczesność poboru oraz wybór układu przepływowego lub zasobnikowego."
          }
        },
        {
          "@type": "ListItem",
          "position": 5,
          "name": "Charakterystyka pompy kotłowej",
          "item": {
            "@type": "Thing",
            "name": "Charakterystyka pompy kotłowej",
            "description": "Dostępne ciśnienie pompy przy całkowitym projektowym przepływie instalacji."
          }
        },
        {
          "@type": "ListItem",
          "position": 6,
          "name": "Minimalny przepływ kotła",
          "item": {
            "@type": "Thing",
            "name": "Minimalny przepływ przez kocioł",
            "description": "Wymagany przepływ zachowywany również podczas działania automatyki strefowej."
          }
        },
        {
          "@type": "ListItem",
          "position": 7,
          "name": "Sterowanie pogodowe",
          "item": {
            "@type": "Thing",
            "name": "Sterowanie pogodowe i krzywa grzewcza",
            "description": "Regulacja temperatury zasilania zależnie od warunków zewnętrznych i charakterystyki budynku."
          }
        }
      ]
    },
    {
      "@type": "FAQPage",
      "@id": "https://projekt-ogrzewania.pl/kociol-gazowy/#faq",
      "url": "https://projekt-ogrzewania.pl/kociol-gazowy/#rk-gas-faq",
      "name": "FAQ — kocioł gazowy do ogrzewania podłogowego",
      "inLanguage": "pl-PL",
      "isPartOf": {
        "@id": "https://projekt-ogrzewania.pl/kociol-gazowy/#article"
      },
      "mainEntity": [
        {
          "@type": "Question",
          "name": "Czy kocioł gazowy kondensacyjny nadaje się do podłogówki?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Tak. Niska temperatura zasilania i powrotu sprzyja kondensacji, a modulowany palnik może dopasować moc do zmiennego zapotrzebowania. Warunkiem jest prawidłowy dobór mocy minimalnej, przepływu, sterowania i hydrauliki."
          }
        },
        {
          "@type": "Question",
          "name": "Jaka moc kotła gazowego do domu 100, 150 albo 200 m²?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Nie można jej poprawnie określić wyłącznie z powierzchni. Dwa domy o tym samym metrażu mogą mieć kilkukrotnie różne obciążenie cieplne. Moc na CO dobiera się z obliczeń strat, a moc dla CWU sprawdza osobno."
          }
        },
        {
          "@type": "Question",
          "name": "Czy kocioł 24 kW jest za duży do domu potrzebującego 6 kW?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Nie musi być, jeśli 24 kW jest potrzebne do CWU, moc CO można ograniczyć, a kocioł ma odpowiednio niską moc minimalną. W ogrzewaniu ważniejsze od samego maksimum są dolna granica modulacji i stabilność przy małym odbiorze."
          }
        },
        {
          "@type": "Question",
          "name": "Jaka moc minimalna kotła gazowego jest dobra do podłogówki?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Im mniejsze obciążenie budynku, tym ważniejsza jest niska moc minimalna. Nie ma jednej granicy dla każdego domu. Należy porównać ją z obciążeniem przejściowym, liczbą otwartych stref, pojemnością wodną i sposobem sterowania."
          }
        },
        {
          "@type": "Question",
          "name": "Czy przy kotle gazowym potrzebny jest zawór mieszający?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Nie zawsze. Jeżeli cały budynek jest ogrzewany podłogowo i kocioł potrafi bezpośrednio podać wymaganą niską temperaturę, mieszacz jest zazwyczaj zbędny. Jest potrzebny głównie wtedy, gdy jednocześnie występują obiegi o różnych temperaturach."
          }
        },
        {
          "@type": "Question",
          "name": "Czy pompa w kotle obsłuży rozdzielacz podłogówki?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Może obsłużyć, jeśli przy projektowym całkowitym przepływie zapewnia ciśnienie potrzebne do pokonania magistrali, rozdzielacza, armatury i obiegu krytycznego. Odpowiedź wymaga porównania charakterystyki pompy z obliczonym punktem pracy."
          }
        },
        {
          "@type": "Question",
          "name": "Czy do kotła gazowego potrzebne jest sprzęgło hydrauliczne?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Nie z definicji. Sprzęgło stosuje się, gdy trzeba rozdzielić obiegi pompowe, zapewnić wymagany przepływ przez źródło lub ograniczyć wzajemny wpływ obiegów. W prostym układzie z jednym rozdzielaczem może być niepotrzebne."
          }
        },
        {
          "@type": "Question",
          "name": "Czy kocioł gazowy potrzebuje bufora do podłogówki?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Zwykle nie. Sama podłoga i woda w instalacji mają znaczną bezwładność. Bufor może być uzasadniony w szczególnych układach, lecz nie powinien zastępować doboru mocy minimalnej, prawidłowej regulacji ani zapewnienia przepływu."
          }
        },
        {
          "@type": "Question",
          "name": "Jaka temperatura zasilania jest właściwa dla podłogówki?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Taka, która przy projektowym przepływie i rozstawie rur pokrywa obciążenie pomieszczeń bez przekroczenia temperatury powierzchni. W nowych domach często jest to około 30–38°C w warunkach projektowych, ale nie jest to uniwersalna norma."
          }
        },
        {
          "@type": "Question",
          "name": "Dlaczego kocioł gazowy często się włącza i wyłącza?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Najczęstsze przyczyny to zbyt wysoka moc minimalna, zawyżona temperatura zasilania, mały odbiór ciepła po zamknięciu stref, niewystarczający przepływ, mała pojemność aktywnego obiegu lub niewłaściwe nastawy regulatora."
          }
        },
        {
          "@type": "Question",
          "name": "Czy niska temperatura powrotu szkodzi kotłowi kondensacyjnemu?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "W prawidłowo zaprojektowanym kotle kondensacyjnym niski powrót jest korzystny, ponieważ wspiera odzysk ciepła ze skraplania pary wodnej. Kondensat musi być jednak prawidłowo odprowadzony, a urządzenie eksploatowane zgodnie z dokumentacją."
          }
        },
        {
          "@type": "Question",
          "name": "Czy od 2026 roku nie wolno montować kotłów gazowych?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Nie istnieje jeden powszechny zakaz obejmujący każdą instalację i każdy istniejący budynek w 2026 roku. Unijne przepisy kończą zachęty dla samodzielnych kotłów na paliwa kopalne i wyznaczają kierunek odchodzenia od nich, a szczegóły zależą od wdrożenia krajowego i rodzaju inwestycji."
          }
        }
      ]
    },
    {
      "@type": "Person",
      "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/author/admin3399/",
      "image": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
        "contentUrl": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
        "caption": "Robert Kucharski – projektant instalacji sanitarnych i specjalista systemów HVAC"
      },
      "jobTitle": "CEO portalu i specjalista systemów HVAC oraz ogrzewania podłogowego",
      "description": "Projektant instalacji sanitarnych specjalizujący się w wodnym ogrzewaniu podłogowym, obliczeniach obciążenia cieplnego, hydraulice instalacji i współpracy systemów grzewczych ze źródłami ciepła. Właściciel serwisów Projekt-Ogrzewania.pl, Remont.biz.pl i Sobir.pl.",
      "worksFor": {
        "@id": "https://projekt-ogrzewania.pl/#organization"
      },
      "knowsAbout": [
        "HVAC",
        "wodne ogrzewanie podłogowe",
        "kotły gazowe kondensacyjne",
        "projektowanie instalacji sanitarnych",
        "hydraulika instalacji grzewczych",
        "projektowe obciążenie cieplne",
        "sterowanie pogodowe",
        "efektywność energetyczna budynków"
      ],
      "sameAs": [
        "https://projekt-ogrzewania.pl/",
        "https://remont.biz.pl/",
        "https://sobir.pl/",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    {
      "@type": "Organization",
      "@id": "https://projekt-ogrzewania.pl/#organization",
      "name": "Projekt-Ogrzewania.pl",
      "url": "https://projekt-ogrzewania.pl/",
      "founder": {
        "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1"
      },
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/Projekt-ogrzewania-logo-1.jpg",
        "contentUrl": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/Projekt-ogrzewania-logo-1.jpg"
      },
      "sameAs": [
        "https://www.facebook.com/projektogrzewaniapl/"
      ]
    },
    {
      "@type": "WebSite",
      "@id": "https://projekt-ogrzewania.pl/#website",
      "url": "https://projekt-ogrzewania.pl/",
      "name": "Projekt-Ogrzewania.pl",
      "publisher": {
        "@id": "https://projekt-ogrzewania.pl/#organization"
      },
      "creator": {
        "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1"
      },
      "inLanguage": "pl-PL"
    },
    {
      "@type": "WebSite",
      "@id": "https://remont.biz.pl/#website",
      "url": "https://remont.biz.pl/",
      "name": "Remont.biz.pl",
      "creator": {
        "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1"
      },
      "inLanguage": "pl-PL"
    },
    {
      "@type": "WebSite",
      "@id": "https://sobir.pl/#website",
      "url": "https://sobir.pl/",
      "name": "Sobir.pl",
      "creator": {
        "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1"
      },
      "inLanguage": "pl-PL"
    }
  ]
}
</script>

<script>
  (function (window, document) {
    "use strict";

    function byId(id) {
      return document.getElementById(id);
    }

    function numberValue(id) {
      var element = byId(id);
      return element ? parseFloat(element.value) : 0;
    }

    function clamp(value, minimum, maximum) {
      return Math.min(Math.max(value, minimum), maximum);
    }

    function polishNumber(value, digits, trimZero) {
      if (!isFinite(value)) return "—";
      var text = Number(value).toFixed(digits).replace(".", ",");
      if (trimZero) text = text.replace(/,0+$/, "");
      return text;
    }

    function temperatureText(value) {
      return polishNumber(value, 0, true).replace("-", "−") + "°C";
    }

    function setText(id, value) {
      var element = byId(id);
      if (element) element.textContent = value;
    }

    function setAttribute(id, name, value) {
      var element = byId(id);
      if (element) element.setAttribute(name, value);
    }

    function updateControlLabels() {
      var dhwFlow = numberValue("rk-gas-dhw-flow");
      setText("rk-gas-qdesign-out", polishNumber(numberValue("rk-gas-qdesign"), 1, false) + " kW");
      setText("rk-gas-tdesign-out", temperatureText(numberValue("rk-gas-tdesign")));
      setText("rk-gas-tcut-out", temperatureText(numberValue("rk-gas-tcut")));
      setText("rk-gas-tout-out", temperatureText(numberValue("rk-gas-tout")));
      setText("rk-gas-pmin-out", polishNumber(numberValue("rk-gas-pmin"), 1, false) + " kW");
      setText("rk-gas-ts-out", temperatureText(numberValue("rk-gas-ts")));
      setText("rk-gas-tr-out", temperatureText(numberValue("rk-gas-tr")));
      setText("rk-gas-dhw-flow-out", polishNumber(dhwFlow, 1, true) + " l/min");
      setText("rk-gas-dhw-cold-out", temperatureText(numberValue("rk-gas-dhw-cold")));
      setText("rk-gas-dhw-hot-out", temperatureText(numberValue("rk-gas-dhw-hot")));
    }

    function updateChart(qDesign, pMin, tDesign, tCut, tOutside, qCurrent) {
      var xLeft = 62;
      var xRight = 625;
      var yTop = 36;
      var yBottom = 272;
      var width = xRight - xLeft;
      var height = yBottom - yTop;
      var yMax = Math.max(qDesign * 1.1, pMin * 1.25, 2);
      var safeSpan = Math.max(tCut - tDesign, 1);

      function xForTemperature(value) {
        return xLeft + ((clamp(value, tDesign, tCut) - tDesign) / safeSpan) * width;
      }

      function yForPower(value) {
        return yBottom - (clamp(value, 0, yMax) / yMax) * height;
      }

      var demandStartY = yForPower(qDesign);
      var minimumY = yForPower(pMin);
      var currentX = xForTemperature(tOutside);
      var currentY = yForPower(qCurrent);
      var demandPath = "M" + xLeft.toFixed(1) + " " + demandStartY.toFixed(1) + " L" + xRight.toFixed(1) + " " + yBottom.toFixed(1);
      var riskPath = "";

      if (pMin > 0 ? pMin < qDesign : false) {
        var intersectionX = xLeft + (1 - pMin / qDesign) * width;
        riskPath = "M" + intersectionX.toFixed(1) + " " + minimumY.toFixed(1) + " L" + xRight.toFixed(1) + " " + yBottom.toFixed(1) + " L" + xRight.toFixed(1) + " " + minimumY.toFixed(1) + " Z";
      } else if (pMin >= qDesign) {
        riskPath = "M" + xLeft.toFixed(1) + " " + demandStartY.toFixed(1) + " L" + xRight.toFixed(1) + " " + yBottom.toFixed(1) + " L" + xRight.toFixed(1) + " " + minimumY.toFixed(1) + " L" + xLeft.toFixed(1) + " " + minimumY.toFixed(1) + " Z";
      }

      setAttribute("rk-gas-demand-path", "d", demandPath);
      setAttribute("rk-gas-risk-area", "d", riskPath);
      setAttribute("rk-gas-min-line", "y1", minimumY.toFixed(1));
      setAttribute("rk-gas-min-line", "y2", minimumY.toFixed(1));
      setAttribute("rk-gas-current-line", "x1", currentX.toFixed(1));
      setAttribute("rk-gas-current-line", "x2", currentX.toFixed(1));
      setAttribute("rk-gas-current-dot", "cx", currentX.toFixed(1));
      setAttribute("rk-gas-current-dot", "cy", currentY.toFixed(1));

      setText("rk-gas-y4", polishNumber(yMax, 1, true));
      setText("rk-gas-y3", polishNumber(yMax * 0.75, 1, true));
      setText("rk-gas-y2", polishNumber(yMax * 0.5, 1, true));
      setText("rk-gas-y1", polishNumber(yMax * 0.25, 1, true));
      setText("rk-gas-x0", polishNumber(tDesign, 0, true).replace("-", "−"));
      setText("rk-gas-x1", polishNumber((tDesign + tCut) / 2, 0, true).replace("-", "−"));
      setText("rk-gas-x2", polishNumber(tCut, 0, true).replace("-", "−"));
    }

    function updateLaboratory() {
      var qDesign = numberValue("rk-gas-qdesign");
      var tDesign = numberValue("rk-gas-tdesign");
      var tCut = numberValue("rk-gas-tcut");
      var tOutside = numberValue("rk-gas-tout");
      var pMin = numberValue("rk-gas-pmin");
      var tSupply = numberValue("rk-gas-ts");
      var tReturn = numberValue("rk-gas-tr");
      var dhwFlow = numberValue("rk-gas-dhw-flow");
      var dhwCold = numberValue("rk-gas-dhw-cold");
      var dhwHot = numberValue("rk-gas-dhw-hot");
      var span = Math.max(tCut - tDesign, 1);
      var qCurrent;
      var deltaT = tSupply - tReturn;
      var heatingFlow = deltaT > 0 ? qDesign / (1.163 * deltaT) : NaN;
      var dhwDelta = Math.max(dhwHot - dhwCold, 0);
      var dhwPower = 0.06978 * dhwFlow * dhwDelta;
      var ratio;
      var condensation;
      var verdict = byId("rk-gas-lab-verdict");
      var state = "good";
      var verdictText;

      if (tOutside <= tDesign) {
        qCurrent = qDesign;
      } else if (tOutside >= tCut) {
        qCurrent = 0;
      } else {
        qCurrent = qDesign * (tCut - tOutside) / span;
      }

      ratio = pMin > 0 ? qCurrent / pMin : NaN;

      if (tReturn <= 35) {
        condensation = "bardzo dobre";
      } else if (tReturn <= 45) {
        condensation = "korzystne";
      } else if (tReturn <= 55) {
        condensation = "przejściowe";
      } else {
        condensation = "ograniczone";
      }

      setText("rk-gas-kpi-load", polishNumber(qCurrent, 2, false) + " kW");
      setText("rk-gas-kpi-flow", isFinite(heatingFlow) ? polishNumber(heatingFlow, 2, false) + " m³/h" : "błędne ΔT");
      setText("rk-gas-kpi-ratio", isFinite(ratio) ? polishNumber(ratio, 2, false) + "×" : "—");
      setText("rk-gas-kpi-cond", condensation);
      setText("rk-gas-kpi-dhw", polishNumber(dhwPower, 1, false) + " kW");

      if (deltaT <= 0) {
        state = "danger";
        verdictText = "Temperatura powrotu nie może być równa ani wyższa od temperatury zasilania w tym modelu grzewczym. Popraw Tz/Tp, aby obliczyć przepływ.";
      } else if (pMin >= qDesign) {
        state = "danger";
        verdictText = "Minimalna moc kotła jest równa lub większa od projektowej mocy całego budynku. Ryzyko krótkich cykli wystąpi niemal przez cały sezon i wymaga ponownego doboru urządzenia lub całej koncepcji.";
      } else if (qCurrent === 0) {
        state = "good";
        verdictText = "Aktualna temperatura osiągnęła ustawioną granicę ogrzewania. Model przyjmuje brak zapotrzebowania na CO; kocioł może pracować wyłącznie na potrzeby CWU.";
      } else if (qCurrent < pMin * 0.85) {
        state = "danger";
        verdictText = "Obciążenie budynku spadło wyraźnie poniżej mocy minimalnej kotła. Palnik nie może utrzymać pracy ciągłej; częstotliwość cykli zależy od pojemności wodnej, histerezy, przepływu i liczby otwartych stref.";
      } else if (qCurrent < pMin * 1.2) {
        state = "warning";
        verdictText = "Kocioł pracuje blisko dolnej granicy modulacji. Warto sprawdzić liczbę startów palnika, temperaturę zasilania, odbiór ciepła i zachowanie instalacji po zamknięciu części stref.";
      } else {
        state = "good";
        verdictText = "Przy zadanych parametrach aktualne obciążenie jest większe od mocy minimalnej. Kocioł ma warunki do modulacji, o ile zachowany jest wymagany przepływ i odbiór ciepła.";
      }

      if (verdict) {
        verdict.setAttribute("data-state", state);
        verdict.textContent = verdictText;
      }

      updateChart(qDesign, pMin, tDesign, tCut, tOutside, qCurrent);
      updateControlLabels();
    }

    function initializeGasGuide() {
      var root = byId("rk-gas-guide");
      var laboratory;
      var ranges;
      var navLinks;
      var progress;
      var ticking = false;
      var i;

      if (!root) return false;
      if (root.getAttribute("data-rk-gas-initialized") === "true") return true;
      root.setAttribute("data-rk-gas-initialized", "true");

      laboratory = root.querySelector("[data-rk-gas-lab]");
      ranges = laboratory ? laboratory.querySelectorAll('input[type="range"]') : [];
      for (i = 0; i < ranges.length; i += 1) {
        ranges[i].addEventListener("input", updateLaboratory, false);
        ranges[i].addEventListener("change", updateLaboratory, false);
      }
      updateLaboratory();

      navLinks = root.querySelectorAll('a[href^="#"]');
      for (i = 0; i < navLinks.length; i += 1) {
        navLinks[i].addEventListener("click", function (event) {
          var href = this.getAttribute("href");
          var target = href ? root.querySelector(href) : null;
          if (!target) return;
          event.preventDefault();
          target.scrollIntoView({
            behavior: (typeof window.matchMedia === "function" ? window.matchMedia("(prefers-reduced-motion: reduce)").matches : false) ? "auto" : "smooth",
            block: "start"
          });
        }, false);
      }

      progress = root.querySelector(".rk-gas-progress");
      function updateProgress() {
        var rect = root.getBoundingClientRect();
        var viewport = window.innerHeight || document.documentElement.clientHeight;
        var total = Math.max(root.offsetHeight - viewport, 1);
        var passed = Math.min(Math.max(-rect.top, 0), total);
        var value = Math.min(100, Math.max(0, passed / total * 100));
        if (progress) progress.style.width = value.toFixed(2) + "%";
        ticking = false;
      }

      function requestProgress() {
        if (ticking) return;
        if (window.requestAnimationFrame) {
          window.requestAnimationFrame(updateProgress);
        } else {
          window.setTimeout(updateProgress, 16);
        }
        ticking = true;
      }

      window.addEventListener("scroll", requestProgress, { passive: true });
      window.addEventListener("resize", requestProgress, { passive: true });
      updateProgress();
      return true;
    }

    window.rkGasGuideInit = initializeGasGuide;

    if (document.readyState === "loading") {
      document.addEventListener("DOMContentLoaded", initializeGasGuide, false);
    } else {
      initializeGasGuide();
    }

    window.addEventListener("load", initializeGasGuide, false);
    window.setTimeout(initializeGasGuide, 250);
    window.setTimeout(initializeGasGuide, 1200);
    window.setTimeout(initializeGasGuide, 3000);

    if (window.MutationObserver ? !byId("rk-gas-guide") : false) {
      var observer = new MutationObserver(function () {
        if (initializeGasGuide()) observer.disconnect();
      });
      observer.observe(document.documentElement, { childList: true, subtree: true });
      window.setTimeout(function () { observer.disconnect(); }, 10000);
    }
  }(window, document));
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/kociol-gazowy/">Kocioł gazowy.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Ile czasu nagrzewa się podłogówka?</title>
		<link>https://projekt-ogrzewania.pl/ile-czasu-nagrzewa-sie-podlogowka/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Wed, 24 Dec 2025 12:29:39 +0000</pubDate>
				<category><![CDATA[Budowa domu]]></category>
		<category><![CDATA[Energooszczędne ogrzewanie]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Komfort cieplny]]></category>
		<category><![CDATA[Komfort cieplny w domu]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Ogrzewanie wodne]]></category>
		<category><![CDATA[Poradnik inwestora]]></category>
		<category><![CDATA[Poradniki dla inwestorów]]></category>
		<category><![CDATA[Porady dla inwestorów]]></category>
		<category><![CDATA[Projektowanie instalacji]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Technika grzewcza]]></category>
		<category><![CDATA[bezwładność cieplna]]></category>
		<category><![CDATA[czas nagrzewania]]></category>
		<category><![CDATA[ile czasu nagrzewa się podłogówka]]></category>
		<category><![CDATA[instalacje grzewcze]]></category>
		<category><![CDATA[jastrych]]></category>
		<category><![CDATA[komfort cieplny]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[podłogówka wodna]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[sterowanie ogrzewaniem]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2975</guid>

					<description><![CDATA[<p>Ile czasu nagrzewa się podłogówka i dlaczego nie działa tak jak tradycyjny grzejnik? Wodne ogrzewanie podłogowe to system, który oferuje wyjątkowy komfort cieplny, ale wymaga zrozumienia jego specyfiki. Kluczową rolę odgrywa bezwładność cieplna jastrychu, parametry instalacji oraz sposób sterowania. W artykule szczegółowo wyjaśniamy, od czego zależy czas nagrzewania podłogówki, jak wygląda to w praktyce podczas rozruchu, codziennej eksploatacji i nagłych zmian pogody oraz dlaczego prawidłowy projekt instalacji ma decydujący wpływ na dynamikę pracy systemu.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/ile-czasu-nagrzewa-sie-podlogowka/">Ile czasu nagrzewa się podłogówka?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
  #rk-heatup-guide {
    --rk-dark: #102536;
    --rk-navy: #15384d;
    --rk-blue: #078fbe;
    --rk-cyan: #25c7d8;
    --rk-cyan-soft: #e9fbfe;
    --rk-orange: #ff6a3d;
    --rk-orange-soft: #fff1eb;
    --rk-green: #16836b;
    --rk-green-soft: #eaf8f3;
    --rk-yellow: #b97800;
    --rk-yellow-soft: #fff8df;
    --rk-red: #d94b3d;
    --rk-red-soft: #fff0ee;
    --rk-purple: #695ac9;
    --rk-purple-soft: #f1efff;
    --rk-ink: #1f2c37;
    --rk-text: #475967;
    --rk-muted: #687b88;
    --rk-line: #d5e4eb;
    --rk-soft: #f4f9fb;
    --rk-white: #ffffff;
    width: 100%;
    max-width: 1180px;
    margin: 34px auto 72px;
    color: var(--rk-ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 18px;
    line-height: 1.75;
  }
  #rk-heatup-guide,
  #rk-heatup-guide * { box-sizing: border-box; }
  #rk-heatup-guide img,
  #rk-heatup-guide svg { display: block; max-width: 100%; }
  #rk-heatup-guide button,
  #rk-heatup-guide input,
  #rk-heatup-guide select,
  #rk-heatup-guide label,
  #rk-heatup-guide summary,
  #rk-heatup-guide a { font: inherit; -webkit-tap-highlight-color: transparent; }
  #rk-heatup-guide button { cursor: pointer; }
  #rk-heatup-guide a {
    color: var(--rk-blue);
    font-weight: 780;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
  }
  #rk-heatup-guide a:hover,
  #rk-heatup-guide a:focus-visible { color: var(--rk-red); }
  #rk-heatup-guide button:focus-visible,
  #rk-heatup-guide summary:focus-visible,
  #rk-heatup-guide a:focus-visible,
  #rk-heatup-guide input:focus-visible,
  #rk-heatup-guide select:focus-visible { outline: 3px solid rgba(7, 143, 190, .27); outline-offset: 3px; }
  #rk-heatup-guide p,
  #rk-heatup-guide ul,
  #rk-heatup-guide ol { margin-top: 0; margin-bottom: 1.08em; }
  #rk-heatup-guide h2,
  #rk-heatup-guide h3,
  #rk-heatup-guide h4 {
    margin-top: 0;
    color: var(--rk-dark);
    font-weight: 900;
    letter-spacing: -.035em;
    line-height: 1.15;
    overflow-wrap: anywhere;
  }
  #rk-heatup-guide h2 { margin-bottom: 18px; font-size: clamp(1.72rem, 4vw, 2.68rem); }
  #rk-heatup-guide h3 { margin-bottom: 11px; font-size: clamp(1.12rem, 2.35vw, 1.46rem); }
  #rk-heatup-guide h4 { margin-bottom: 8px; font-size: 1.02rem; }
  #rk-heatup-guide strong { color: var(--rk-dark); }
  #rk-heatup-guide [hidden] { display: none !important; }

  #rk-heatup-guide .rk-pg-shell {
    overflow: hidden;
    border: 1px solid var(--rk-line);
    border-radius: 26px;
    background: var(--rk-white);
    box-shadow: 0 24px 70px rgba(16, 37, 54, .11);
  }
  #rk-heatup-guide .rk-pg-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(38px, 7vw, 78px) clamp(25px, 6vw, 76px) 42px;
    color: #ffffff !important;
    background:
      radial-gradient(circle at 91% 4%, rgba(37, 199, 216, .31), transparent 28%),
      radial-gradient(circle at 8% 100%, rgba(255, 106, 61, .24), transparent 30%),
      linear-gradient(135deg, #0d2332 0%, #143e53 55%, #175b62 100%);
  }
  #rk-heatup-guide .rk-pg-hero::after {
    position: absolute;
    right: -55px;
    bottom: -120px;
    width: 350px;
    height: 350px;
    border: 46px solid rgba(255, 255, 255, .05);
    border-radius: 50%;
    content: "";
  }
  #rk-heatup-guide .rk-pg-kicker {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 15px;
    color: #78efff !important;
    font-size: .69rem;
    font-weight: 900;
    letter-spacing: .09em;
    line-height: 1.2;
    text-transform: uppercase;
  }
  #rk-heatup-guide .rk-pg-kicker::before {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--rk-orange);
    box-shadow: 0 0 0 6px rgba(255, 106, 61, .14);
    content: "";
  }
  #rk-heatup-guide .rk-pg-hero-title {
    position: relative;
    z-index: 1;
    max-width: 1040px;
    margin: 0 0 21px;
    color: #ffffff !important;
    font-size: clamp(2.2rem, 7vw, 5rem);
    font-weight: 900;
    letter-spacing: -.065em;
    line-height: .98;
  }
  #rk-heatup-guide .rk-pg-hero-title span { color: #67e7f5 !important; }
  #rk-heatup-guide .rk-pg-lead {
    position: relative;
    z-index: 1;
    max-width: 970px;
    margin-bottom: 24px;
    color: #e7f6f8 !important;
    font-size: clamp(1rem, 2.2vw, 1.3rem);
    line-height: 1.55;
  }
  #rk-heatup-guide .rk-pg-hero-tags,
  #rk-heatup-guide .rk-pg-byline {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 9px 12px;
  }
  #rk-heatup-guide .rk-pg-hero-tag {
    padding: 8px 13px;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 999px;
    color: #ffffff !important;
    background: rgba(255, 255, 255, .07);
    font-size: .67rem;
    font-weight: 850;
    line-height: 1.2;
  }
  #rk-heatup-guide .rk-pg-byline {
    margin-top: 27px;
    color: #d7ebef !important;
    font-size: .68rem;
    font-weight: 720;
  }
  #rk-heatup-guide .rk-pg-byline span { color: #d7ebef !important; }
  #rk-heatup-guide .rk-pg-byline strong { color: #ffffff !important; }
  #rk-heatup-guide .rk-pg-hero-metrics {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 28px;
  }
  #rk-heatup-guide .rk-pg-hero-metric {
    min-width: 0;
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, .19);
    border-radius: 15px;
    background: rgba(255, 255, 255, .075);
  }
  #rk-heatup-guide .rk-pg-hero-metric b {
    display: block;
    margin-bottom: 5px;
    color: #ffffff !important;
    font-size: .75rem;
    line-height: 1.35;
  }
  #rk-heatup-guide .rk-pg-hero-metric span {
    display: block;
    color: #e5f4f7 !important;
    font-size: .65rem;
    line-height: 1.5;
  }

  #rk-heatup-guide .rk-pg-nav {
    display: block;
    padding: 18px clamp(20px, 4vw, 46px);
    border-bottom: 1px solid var(--rk-line);
    background: var(--rk-white);
  }
  #rk-heatup-guide .rk-pg-nav-label {
    display: block;
    margin-bottom: 9px;
    color: var(--rk-dark);
    font-size: .62rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
  }
  #rk-heatup-guide .rk-pg-nav-track {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    width: 100%;
    min-width: 0;
    white-space: normal;
  }
  #rk-heatup-guide .rk-pg-nav a {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    max-width: 100%;
    padding: 8px 12px;
    border-radius: 999px;
    color: var(--rk-dark);
    background: #f0f6f8;
    font-size: .64rem;
    font-weight: 900;
    line-height: 1.2;
    text-decoration: none;
    white-space: normal;
  }
  #rk-heatup-guide .rk-pg-nav a:hover,
  #rk-heatup-guide .rk-pg-nav a:focus-visible { color: #ffffff; background: var(--rk-blue); }

  #rk-heatup-guide .rk-pg-content { padding: 0 clamp(20px, 5.4vw, 64px) 64px; }
  #rk-heatup-guide .rk-pg-section {
    padding: clamp(42px, 7vw, 76px) 0;
    border-bottom: 1px solid var(--rk-line);
    scroll-margin-top: 18px;
  }
  #rk-heatup-guide .rk-pg-section:last-of-type { border-bottom: 0; }
  #rk-heatup-guide .rk-pg-eyebrow {
    display: block;
    margin-bottom: 10px;
    color: var(--rk-blue);
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .075em;
    text-transform: uppercase;
  }
  #rk-heatup-guide .rk-pg-intro { max-width: 950px; color: var(--rk-text); font-size: 1.08rem; }
  #rk-heatup-guide .rk-pg-answer,
  #rk-heatup-guide .rk-pg-note,
  #rk-heatup-guide .rk-pg-warning,
  #rk-heatup-guide .rk-pg-myth {
    margin: 24px 0;
    padding: 21px 23px;
    border-radius: 17px;
  }
  #rk-heatup-guide .rk-pg-answer { border-left: 5px solid var(--rk-cyan); background: var(--rk-cyan-soft); }
  #rk-heatup-guide .rk-pg-note { border: 1px solid #bfe6ed; background: #f0fbfd; }
  #rk-heatup-guide .rk-pg-warning { border-left: 5px solid var(--rk-orange); background: var(--rk-orange-soft); }
  #rk-heatup-guide .rk-pg-myth { border: 1px solid #e0dafa; background: var(--rk-purple-soft); }
  #rk-heatup-guide .rk-pg-answer p:last-child,
  #rk-heatup-guide .rk-pg-note p:last-child,
  #rk-heatup-guide .rk-pg-warning p:last-child,
  #rk-heatup-guide .rk-pg-myth p:last-child { margin-bottom: 0; }

  #rk-heatup-guide .rk-pg-grid-2,
  #rk-heatup-guide .rk-pg-grid-3,
  #rk-heatup-guide .rk-pg-grid-4 {
    display: grid;
    gap: 16px;
    margin: 25px 0;
  }
  #rk-heatup-guide .rk-pg-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #rk-heatup-guide .rk-pg-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #rk-heatup-guide .rk-pg-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  #rk-heatup-guide .rk-pg-card {
    min-width: 0;
    padding: 22px;
    border: 1px solid var(--rk-line);
    border-radius: 18px;
    color: var(--rk-text) !important;
    background: var(--rk-white);
    box-shadow: 0 10px 28px rgba(16, 37, 54, .055);
  }
  #rk-heatup-guide .rk-pg-card.is-cyan { border-top: 4px solid var(--rk-cyan); }
  #rk-heatup-guide .rk-pg-card.is-orange { border-top: 4px solid var(--rk-orange); }
  #rk-heatup-guide .rk-pg-card.is-green { border-top: 4px solid var(--rk-green); }
  #rk-heatup-guide .rk-pg-card.is-purple { border-top: 4px solid var(--rk-purple); }
  #rk-heatup-guide .rk-pg-card p,
  #rk-heatup-guide .rk-pg-card li { color: var(--rk-text) !important; }
  #rk-heatup-guide .rk-pg-card p:last-child { margin-bottom: 0; }
  #rk-heatup-guide .rk-pg-card-icon {
    display: grid !important;
    place-items: center !important;
    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
    margin: 0 0 15px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    color: var(--rk-dark) !important;
    background: var(--rk-cyan-soft) !important;
    font-size: .75rem !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-align: center !important;
    position: static !important;
    transform: none !important;
  }
  #rk-heatup-guide .rk-pg-card.is-orange .rk-pg-card-icon { background: var(--rk-orange-soft) !important; }
  #rk-heatup-guide .rk-pg-card.is-green .rk-pg-card-icon { background: var(--rk-green-soft) !important; }
  #rk-heatup-guide .rk-pg-card.is-purple .rk-pg-card-icon { background: var(--rk-purple-soft) !important; }

  #rk-heatup-guide .rk-pg-factor-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 28px 0;
    padding: 0;
    list-style: none;
  }
  #rk-heatup-guide .rk-pg-factor {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    align-items: start;
    gap: 18px;
    min-width: 0;
    padding: 26px;
    border: 1px solid var(--rk-line);
    border-radius: 20px;
    background: var(--rk-white);
  }
  #rk-heatup-guide .rk-pg-step-badge {
    display: grid !important;
    place-items: center !important;
    align-items: center !important;
    justify-items: center !important;
    width: 52px !important;
    min-width: 52px !important;
    max-width: 52px !important;
    height: 52px !important;
    min-height: 52px !important;
    max-height: 52px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    color: var(--rk-dark) !important;
    background: #d9f5f8 !important;
    font-size: 1rem !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-align: center !important;
    flex: 0 0 52px !important;
    position: static !important;
    transform: none !important;
  }
  #rk-heatup-guide .rk-pg-step-badge > span {
    display: block !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    transform: none !important;
  }
  #rk-heatup-guide .rk-pg-factor:nth-child(4n+2) .rk-pg-step-badge { background: #ffdfd4 !important; }
  #rk-heatup-guide .rk-pg-factor:nth-child(4n+3) .rk-pg-step-badge { background: #dff5ed !important; }
  #rk-heatup-guide .rk-pg-factor:nth-child(4n+4) .rk-pg-step-badge { background: #e5e1ff !important; }
  #rk-heatup-guide .rk-pg-factor-copy { min-width: 0; }
  #rk-heatup-guide .rk-pg-factor h3 { margin-bottom: 7px; }
  #rk-heatup-guide .rk-pg-factor p { margin-bottom: 0; color: var(--rk-text); }

  #rk-heatup-guide .rk-pg-table-wrap {
    overflow-x: auto;
    margin: 26px 0;
    border: 1px solid var(--rk-line);
    border-radius: 18px;
    background: var(--rk-white);
  }
  #rk-heatup-guide table { width: 100%; border-collapse: collapse; border-spacing: 0; }
  #rk-heatup-guide th,
  #rk-heatup-guide td { padding: 15px 17px; border-bottom: 1px solid var(--rk-line); text-align: left; vertical-align: top; }
  #rk-heatup-guide th { color: #ffffff; background: var(--rk-navy); font-size: .69rem; font-weight: 900; line-height: 1.35; }
  #rk-heatup-guide td { color: var(--rk-text); font-size: .84rem; line-height: 1.55; }
  #rk-heatup-guide tr:last-child td { border-bottom: 0; }
  #rk-heatup-guide tbody tr:nth-child(even) td { background: #f8fbfc; }

  #rk-heatup-guide .rk-pg-formula {
    margin: 28px 0;
    padding: clamp(23px, 5vw, 38px);
    border-radius: 22px;
    color: #ffffff;
    background: linear-gradient(135deg, #112c3f, #17616d);
  }
  #rk-heatup-guide .rk-pg-formula-main { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
  #rk-heatup-guide .rk-pg-formula-equation {
    color: #7cecf7;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: clamp(1.1rem, 3.5vw, 1.8rem);
    font-weight: 900;
    letter-spacing: -.04em;
    overflow-wrap: anywhere;
  }
  #rk-heatup-guide .rk-pg-formula-result {
    flex: 0 0 auto;
    padding: 11px 15px;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 999px;
    color: #ffffff;
    background: rgba(255, 255, 255, .08);
    font-size: .74rem;
    font-weight: 900;
  }
  #rk-heatup-guide .rk-pg-formula p,
  #rk-heatup-guide .rk-pg-formula li,
  #rk-heatup-guide .rk-pg-formula strong { color: #eaf7f9 !important; }

  #rk-heatup-guide .rk-pg-tool {
    margin: 30px 0;
    overflow: hidden;
    border: 1px solid #bcdde5;
    border-radius: 24px;
    background: var(--rk-white);
    box-shadow: 0 18px 48px rgba(16, 37, 54, .09);
  }
  #rk-heatup-guide .rk-pg-tool-head { padding: clamp(23px, 5vw, 36px); color: #ffffff; background: linear-gradient(135deg, #102d40 0%, #126879 100%); }
  #rk-heatup-guide .rk-pg-tool-kicker { display: block; margin-bottom: 8px; color: #81edf6; font-size: .65rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
  #rk-heatup-guide .rk-pg-tool-head h3 { margin-bottom: 9px; color: #ffffff; }
  #rk-heatup-guide .rk-pg-tool-head p { max-width: 900px; margin-bottom: 0; color: #e5f5f7; }
  #rk-heatup-guide .rk-pg-tool-body { padding: clamp(20px, 5vw, 36px); }
  #rk-heatup-guide .rk-pg-tool-disclaimer { margin-top: 20px; padding: 14px 16px; border-radius: 13px; color: #526570; background: var(--rk-soft); font-size: .73rem; line-height: 1.55; }

  #rk-heatup-guide .rk-hu-concept-tabs,
  #rk-heatup-guide .rk-hu-profile-tabs,
  #rk-heatup-guide .rk-hu-scenario-tabs,
  #rk-heatup-guide .rk-hu-preset-tabs { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 22px; }
  #rk-heatup-guide .rk-hu-tab {
    min-height: 44px;
    padding: 10px 16px;
    border: 1px solid var(--rk-line);
    border-radius: 999px;
    color: var(--rk-dark);
    background: var(--rk-white);
    font-size: .72rem;
    font-weight: 900;
    line-height: 1.2;
  }
  #rk-heatup-guide .rk-hu-tab:hover,
  #rk-heatup-guide .rk-hu-tab:focus-visible { border-color: var(--rk-blue); background: var(--rk-cyan-soft); }
  #rk-heatup-guide .rk-hu-tab.is-active,
  #rk-heatup-guide .rk-hu-tab[aria-pressed="true"] { color: #ffffff; border-color: var(--rk-blue); background: var(--rk-blue); }
  #rk-heatup-guide .rk-hu-concept-status {
    margin-bottom: 22px;
    padding: 17px 19px;
    border-left: 5px solid var(--rk-cyan);
    border-radius: 14px;
    color: var(--rk-text);
    background: var(--rk-cyan-soft);
  }
  #rk-heatup-guide .rk-hu-concept-status b { display: block; margin-bottom: 3px; }
  #rk-heatup-guide .rk-hu-concept-status p { margin-bottom: 0; font-size: .8rem; line-height: 1.55; }
  #rk-heatup-guide .rk-hu-graphic-layout { display: grid; grid-template-columns: minmax(280px, .9fr) minmax(0, 1.2fr); gap: 22px; align-items: stretch; }
  #rk-heatup-guide .rk-hu-layer-stack { display: grid; gap: 8px; min-width: 0; }
  #rk-heatup-guide .rk-hu-layer {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    align-items: center;
    gap: 13px;
    width: 100%;
    min-width: 0;
    min-height: 72px;
    padding: 12px 15px;
    border: 1px solid var(--rk-line);
    border-radius: 15px;
    color: var(--rk-dark);
    background: #f7fafb;
    text-align: left;
    transition: border-color .18s ease, background .18s ease, transform .18s ease, box-shadow .18s ease;
  }
  #rk-heatup-guide .rk-hu-layer:hover,
  #rk-heatup-guide .rk-hu-layer:focus-visible { border-color: var(--rk-blue); transform: translateY(-1px); }
  #rk-heatup-guide .rk-hu-layer.is-active { border-color: #68cedb; background: #ecfbfd; box-shadow: 0 8px 22px rgba(7, 143, 190, .1); }
  #rk-heatup-guide .rk-hu-layer.is-selected { outline: 3px solid rgba(255, 106, 61, .18); border-color: var(--rk-orange); }
  #rk-heatup-guide .rk-hu-layer-number {
    display: grid !important;
    place-items: center !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 50% !important;
    color: #ffffff !important;
    background: var(--rk-navy) !important;
    font-size: .76rem !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-align: center !important;
    position: static !important;
    transform: none !important;
  }
  #rk-heatup-guide .rk-hu-layer.is-active .rk-hu-layer-number { background: var(--rk-blue) !important; }
  #rk-heatup-guide .rk-hu-layer-copy { min-width: 0; }
  #rk-heatup-guide .rk-hu-layer-copy strong { display: block; margin-bottom: 2px; font-size: .76rem; line-height: 1.25; }
  #rk-heatup-guide .rk-hu-layer-copy small { display: block; color: var(--rk-muted); font-size: .61rem; line-height: 1.4; }
  #rk-heatup-guide .rk-hu-detail {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: clamp(23px, 4vw, 34px);
    border-radius: 20px;
    color: #ffffff;
    background: linear-gradient(145deg, #112b3d, #155767);
  }
  #rk-heatup-guide .rk-hu-detail h4 { color: #ffffff; font-size: 1.35rem; }
  #rk-heatup-guide .rk-hu-detail > p { color: #dcecf0; }
  #rk-heatup-guide .rk-hu-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; margin-top: 14px; }
  #rk-heatup-guide .rk-hu-detail-card { min-width: 0; padding: 15px; border-radius: 14px; background: rgba(255, 255, 255, .085); }
  #rk-heatup-guide .rk-hu-detail-card b { display: block; margin-bottom: 5px; color: #7cecf7 !important; font-size: .68rem; }
  #rk-heatup-guide .rk-hu-detail-card p { margin-bottom: 0; color: #e5f2f4; font-size: .68rem; line-height: 1.5; }

  #rk-heatup-guide .rk-hu-lab-layout { display: grid; grid-template-columns: minmax(270px, .9fr) minmax(0, 1.45fr); gap: 24px; align-items: stretch; }
  #rk-heatup-guide .rk-hu-controls { min-width: 0; }
  #rk-heatup-guide .rk-hu-field { margin-bottom: 19px; }
  #rk-heatup-guide .rk-hu-field:last-child { margin-bottom: 0; }
  #rk-heatup-guide .rk-hu-label-row { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
  #rk-heatup-guide .rk-hu-label-row label { color: var(--rk-dark); font-size: .74rem; font-weight: 900; line-height: 1.3; }
  #rk-heatup-guide .rk-hu-output { flex: 0 0 auto; color: var(--rk-blue); font-size: .76rem; font-weight: 900; }
  #rk-heatup-guide input[type="range"] { width: 100%; height: 7px; margin: 0; border-radius: 99px; background: #d9e8ed; accent-color: var(--rk-blue); cursor: pointer; }
  #rk-heatup-guide .rk-hu-scale { display: flex; justify-content: space-between; margin-top: 5px; color: var(--rk-muted); font-size: .56rem; }
  #rk-heatup-guide .rk-hu-number {
    display: block;
    width: 100%;
    min-width: 0;
    height: 48px;
    margin: 0;
    padding: 10px 12px;
    border: 1px solid #b9cfd7;
    border-radius: 12px;
    color: var(--rk-dark);
    background: #ffffff;
    font-size: .82rem;
    font-weight: 800;
    line-height: 1.2;
  }
  #rk-heatup-guide .rk-hu-field-help { display: block; margin-top: 6px; color: var(--rk-muted); font-size: .58rem; line-height: 1.42; }
  #rk-heatup-guide .rk-hu-results {
    min-width: 0;
    padding: clamp(20px, 4vw, 29px);
    border-radius: 20px;
    color: #ffffff;
    background: linear-gradient(145deg, #112b3d, #155767);
  }
  #rk-heatup-guide .rk-hu-results h4 { color: #ffffff; }
  #rk-heatup-guide .rk-hu-result-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
  #rk-heatup-guide .rk-hu-result-card { min-width: 0; padding: 15px; border-radius: 14px; background: rgba(255, 255, 255, .09); }
  #rk-heatup-guide .rk-hu-result-card.is-wide { grid-column: 1 / -1; }
  #rk-heatup-guide .rk-hu-result-card span { display: block; color: #cfe5e9; font-size: .61rem; line-height: 1.35; }
  #rk-heatup-guide .rk-hu-result-card strong { display: block; margin: 5px 0 3px; color: #7cecf7 !important; font-size: clamp(1.3rem, 3.2vw, 1.9rem); line-height: 1; }
  #rk-heatup-guide .rk-hu-result-card small { display: block; color: #dcecef; font-size: .6rem; line-height: 1.42; }
  #rk-heatup-guide .rk-hu-result-note { margin-top: 14px; padding: 12px 14px; border-radius: 11px; color: #ffe8df; background: rgba(255, 106, 61, .19); font-size: .66rem; line-height: 1.5; }

  #rk-heatup-guide .rk-hu-chart-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-bottom: 20px; }
  #rk-heatup-guide .rk-hu-chart-control-group { min-width: 0; }
  #rk-heatup-guide .rk-hu-chart-control-group > b { display: block; margin-bottom: 8px; color: var(--rk-dark); font-size: .68rem; }
  #rk-heatup-guide .rk-hu-chart-control-group .rk-hu-profile-tabs,
  #rk-heatup-guide .rk-hu-chart-control-group .rk-hu-scenario-tabs { margin-bottom: 0; }
  #rk-heatup-guide .rk-hu-chart-shell { position: relative; min-width: 0; }
  #rk-heatup-guide .rk-hu-chart-wrap { min-width: 0; padding: 14px 10px 2px; border: 1px solid var(--rk-line); border-radius: 18px; background: #fbfdfe; }
  #rk-heatup-guide .rk-hu-chart-svg { width: 100%; min-height: 320px; overflow: visible; }
  #rk-heatup-guide .rk-hu-chart-svg .rk-grid { stroke: #dce8ed; stroke-width: 1; }
  #rk-heatup-guide .rk-hu-chart-svg .rk-frame { fill: transparent; stroke: #afc4cd; stroke-width: 1.2; }
  #rk-heatup-guide .rk-hu-chart-svg .rk-axis-text { fill: #617681; font-size: 12px; }
  #rk-heatup-guide .rk-hu-chart-svg .rk-axis-title { fill: #314653; font-size: 12px; font-weight: 800; }
  #rk-heatup-guide .rk-hu-chart-svg .rk-series-input { fill: none; stroke: var(--rk-orange); stroke-width: 3; }
  #rk-heatup-guide .rk-hu-chart-svg .rk-series-floor { fill: none; stroke: var(--rk-blue); stroke-width: 4; }
  #rk-heatup-guide .rk-hu-chart-svg .rk-series-room { fill: none; stroke: var(--rk-green); stroke-width: 4; }
  #rk-heatup-guide .rk-hu-chart-svg .rk-guide { stroke: #6c7d87; stroke-width: 1.5; stroke-dasharray: 5 5; }
  #rk-heatup-guide .rk-hu-chart-svg .rk-marker-input { fill: var(--rk-orange); stroke: #ffffff; stroke-width: 2; }
  #rk-heatup-guide .rk-hu-chart-svg .rk-marker-floor { fill: var(--rk-blue); stroke: #ffffff; stroke-width: 2; }
  #rk-heatup-guide .rk-hu-chart-svg .rk-marker-room { fill: var(--rk-green); stroke: #ffffff; stroke-width: 2; }
  #rk-heatup-guide .rk-hu-legend { display: flex; flex-wrap: wrap; gap: 10px 18px; margin: 13px 0 17px; color: var(--rk-text); font-size: .64rem; }
  #rk-heatup-guide .rk-hu-legend-item { display: inline-flex; align-items: center; gap: 7px; }
  #rk-heatup-guide .rk-hu-legend-swatch { width: 22px; height: 4px; border-radius: 99px; background: var(--rk-blue); }
  #rk-heatup-guide .rk-hu-legend-item.is-input .rk-hu-legend-swatch { background: var(--rk-orange); }
  #rk-heatup-guide .rk-hu-legend-item.is-room .rk-hu-legend-swatch { background: var(--rk-green); }
  #rk-heatup-guide .rk-hu-time-control { margin-top: 19px; padding: 17px; border-radius: 15px; background: var(--rk-soft); }
  #rk-heatup-guide .rk-hu-chart-readout { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
  #rk-heatup-guide .rk-hu-readout { min-width: 0; padding: 12px; border-radius: 12px; background: #ffffff; }
  #rk-heatup-guide .rk-hu-readout span { display: block; color: var(--rk-muted); font-size: .57rem; line-height: 1.3; }
  #rk-heatup-guide .rk-hu-readout strong { display: block; margin-top: 4px; color: var(--rk-dark); font-size: .88rem; line-height: 1.2; }
  #rk-heatup-guide .rk-hu-chart-status { margin-top: 15px; padding: 15px 17px; border-left: 5px solid var(--rk-cyan); border-radius: 13px; color: var(--rk-text); background: var(--rk-cyan-soft); font-size: .74rem; line-height: 1.55; }

  #rk-heatup-guide .rk-pg-checklist,
  #rk-heatup-guide .rk-pg-crosslist { margin: 22px 0; padding: 0; list-style: none; }
  #rk-heatup-guide .rk-pg-checklist li,
  #rk-heatup-guide .rk-pg-crosslist li { position: relative; margin-bottom: 10px; padding: 12px 14px 12px 45px; border-radius: 12px; background: var(--rk-soft); }
  #rk-heatup-guide .rk-pg-checklist li::before,
  #rk-heatup-guide .rk-pg-crosslist li::before {
    position: absolute;
    top: 12px;
    left: 13px;
    display: grid;
    place-items: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    color: #ffffff;
    background: var(--rk-green);
    content: "✓";
    font-size: .68rem;
    font-weight: 900;
    line-height: 1;
  }
  #rk-heatup-guide .rk-pg-crosslist li::before { background: var(--rk-red); content: "×"; }

  #rk-heatup-guide .rk-pg-myth-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 25px; }
  #rk-heatup-guide .rk-pg-myth-card { min-width: 0; padding: 21px; border: 1px solid var(--rk-line); border-radius: 17px; background: var(--rk-white); }
  #rk-heatup-guide .rk-pg-myth-label { display: inline-block; margin-bottom: 8px; padding: 5px 9px; border-radius: 999px; color: #9f322a; background: var(--rk-red-soft); font-size: .58rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
  #rk-heatup-guide .rk-pg-myth-card p { margin-bottom: 0; color: var(--rk-text); }

  #rk-heatup-guide .rk-pg-cta {
    position: relative;
    overflow: hidden;
    margin: 34px 0;
    padding: clamp(27px, 6vw, 44px);
    border-radius: 24px;
    color: #ffffff;
    background: linear-gradient(135deg, #102c40 0%, #176777 68%, #157c78 100%);
  }
  #rk-heatup-guide .rk-pg-cta::after {
    position: absolute;
    right: -70px;
    bottom: -115px;
    width: 270px;
    height: 270px;
    border: 35px solid rgba(255, 255, 255, .06);
    border-radius: 50%;
    content: "";
  }
  #rk-heatup-guide .rk-pg-cta > * { position: relative; z-index: 1; }
  #rk-heatup-guide .rk-pg-cta-kicker { display: block; margin-bottom: 7px; color: #7cecf7; font-size: .65rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
  #rk-heatup-guide .rk-pg-cta h3 { max-width: 850px; color: #ffffff; font-size: clamp(1.4rem, 3.5vw, 2.15rem); }
  #rk-heatup-guide .rk-pg-cta p { max-width: 870px; color: #e5f3f6; }
  #rk-heatup-guide .rk-pg-cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 13px 20px;
    border-radius: 999px;
    color: #ffffff !important;
    background: var(--rk-orange);
    box-shadow: 0 10px 25px rgba(255, 106, 61, .26);
    font-size: .75rem;
    font-weight: 900;
    line-height: 1.25;
    text-decoration: none;
  }
  #rk-heatup-guide .rk-pg-cta-button:hover,
  #rk-heatup-guide .rk-pg-cta-button:focus-visible { color: #ffffff !important; background: #e9552d; }

  #rk-heatup-guide .rk-pg-sources { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 24px; }
  #rk-heatup-guide .rk-pg-source { min-width: 0; padding: 20px; border: 1px solid var(--rk-line); border-radius: 16px; background: var(--rk-soft); }
  #rk-heatup-guide .rk-pg-source p { margin: 7px 0 0; color: var(--rk-text); font-size: .78rem; line-height: 1.55; }
  #rk-heatup-guide .rk-pg-faq { display: grid; gap: 10px; margin-top: 24px; }
  #rk-heatup-guide .rk-pg-faq details { overflow: hidden; border: 1px solid var(--rk-line); border-radius: 15px; background: var(--rk-white); }
  #rk-heatup-guide .rk-pg-faq summary { position: relative; padding: 18px 52px 18px 19px; color: var(--rk-dark); font-weight: 900; line-height: 1.35; cursor: pointer; list-style: none; }
  #rk-heatup-guide .rk-pg-faq summary::-webkit-details-marker { display: none; }
  #rk-heatup-guide .rk-pg-faq summary::after { position: absolute; top: 50%; right: 18px; width: 25px; height: 25px; border-radius: 50%; color: var(--rk-blue); background: var(--rk-cyan-soft); content: "+"; font-size: 1.05rem; font-weight: 900; line-height: 25px; text-align: center; transform: translateY(-50%); }
  #rk-heatup-guide .rk-pg-faq details[open] summary::after { content: "−"; }
  #rk-heatup-guide .rk-pg-faq-answer { padding: 0 19px 18px; color: var(--rk-text); }
  #rk-heatup-guide .rk-pg-faq-answer p:last-child { margin-bottom: 0; }

  #rk-heatup-guide .rk-pg-author { margin-top: 56px; overflow: hidden; border-radius: 24px; color: #ffffff; background: linear-gradient(135deg, #102536, #174b5b); }
  #rk-heatup-guide .rk-pg-author-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 22px; padding: 29px clamp(22px, 5vw, 42px); border-bottom: 1px solid rgba(255, 255, 255, .12); }
  #rk-heatup-guide .rk-pg-author-head h2 { margin-bottom: 6px; color: #ffffff; }
  #rk-heatup-guide .rk-pg-author-head p { margin-bottom: 0; color: #dcecf0; }
  #rk-heatup-guide .rk-pg-author-head .rk-pg-eyebrow { color: #7cecf7; }
  #rk-heatup-guide .rk-pg-author-mark { flex: 0 0 auto; padding: 8px 11px; border: 1px solid rgba(255, 255, 255, .18); border-radius: 999px; color: #ffffff; font-size: .62rem; font-weight: 900; }
  #rk-heatup-guide .rk-pg-author-layout { display: grid; grid-template-columns: 245px minmax(0, 1fr); }
  #rk-heatup-guide .rk-pg-author-side { padding: 30px 25px; border-right: 1px solid rgba(255, 255, 255, .12); text-align: center; }
  #rk-heatup-guide .rk-pg-author-photo { width: 132px; height: 132px; margin: 0 auto 16px; overflow: hidden; border: 5px solid rgba(255, 255, 255, .15); border-radius: 50%; }
  #rk-heatup-guide .rk-pg-author-photo img { width: 100%; height: 100%; object-fit: cover; }
  #rk-heatup-guide .rk-pg-author-name { margin-bottom: 5px; font-size: 1.12rem; font-weight: 900; }
  #rk-heatup-guide .rk-pg-author-name a { color: #ffffff; text-decoration: none; }
  #rk-heatup-guide .rk-pg-author-role { color: #cfe4e9; font-size: .7rem; line-height: 1.55; }
  #rk-heatup-guide .rk-pg-author-social-label { margin-top: 20px; color: #8beff7; font-size: .58rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
  #rk-heatup-guide .rk-pg-author-social { display: flex; justify-content: center; gap: 9px; margin-top: 9px; }
  #rk-heatup-guide .rk-pg-author-social a { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; color: #ffffff; background: rgba(255, 255, 255, .1); }
  #rk-heatup-guide .rk-pg-author-social svg { width: 18px; height: 18px; fill: currentColor; }
  #rk-heatup-guide .rk-pg-author-main { min-width: 0; padding: 32px clamp(23px, 5vw, 42px); }
  #rk-heatup-guide .rk-pg-author-quote { position: relative; margin: 0 0 24px; padding: 4px 0 4px 58px; border: 0; }
  #rk-heatup-guide .rk-pg-author-quote::before { position: absolute; top: -11px; left: 0; color: #6ee9f5; content: "“"; font-family: Georgia, serif; font-size: 4.4rem; line-height: 1; }
  #rk-heatup-guide .rk-pg-author-quote p { margin-bottom: 0; color: #ffffff; font-size: 1.02rem; font-weight: 740; }
  #rk-heatup-guide .rk-pg-author-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; }
  #rk-heatup-guide .rk-pg-author-card { min-width: 0; padding: 16px; border-radius: 14px; background: rgba(255, 255, 255, .075); }
  #rk-heatup-guide .rk-pg-author-card b { display: block; margin-bottom: 5px; color: #8beff7 !important; font-size: .69rem; }
  #rk-heatup-guide .rk-pg-author-card p { margin-bottom: 0; color: #d8e9ed; font-size: .68rem; line-height: 1.55; }
  #rk-heatup-guide .rk-pg-mini-label { margin-top: 22px; color: #8beff7; font-size: .58rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
  #rk-heatup-guide .rk-pg-portals { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 9px; }
  #rk-heatup-guide .rk-pg-portals a { padding: 7px 10px; border: 1px solid rgba(255, 255, 255, .15); border-radius: 999px; color: #ffffff; font-size: .62rem; text-decoration: none; }

  @media (max-width: 900px) {
    #rk-heatup-guide .rk-pg-grid-3,
    #rk-heatup-guide .rk-pg-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #rk-heatup-guide .rk-hu-graphic-layout,
    #rk-heatup-guide .rk-hu-lab-layout { grid-template-columns: 1fr; }
    #rk-heatup-guide .rk-pg-author-layout { grid-template-columns: 1fr; }
    #rk-heatup-guide .rk-pg-author-side { border-right: 0; border-bottom: 1px solid rgba(255, 255, 255, .12); }
  }
  @media (max-width: 720px) {
    #rk-heatup-guide { margin-top: 20px; font-size: 16px; }
    #rk-heatup-guide .rk-pg-shell { border-radius: 19px; }
    #rk-heatup-guide .rk-pg-hero-metrics,
    #rk-heatup-guide .rk-pg-grid-2,
    #rk-heatup-guide .rk-pg-grid-3,
    #rk-heatup-guide .rk-pg-grid-4,
    #rk-heatup-guide .rk-pg-factor-grid,
    #rk-heatup-guide .rk-pg-myth-grid,
    #rk-heatup-guide .rk-pg-sources,
    #rk-heatup-guide .rk-pg-author-cards,
    #rk-heatup-guide .rk-hu-chart-controls { grid-template-columns: 1fr; }
    #rk-heatup-guide .rk-pg-formula-main,
    #rk-heatup-guide .rk-pg-author-head { display: block; }
    #rk-heatup-guide .rk-pg-formula-result { display: inline-block; margin-top: 14px; }
    #rk-heatup-guide .rk-pg-author-mark { display: inline-block; margin-top: 14px; }
    #rk-heatup-guide .rk-pg-table-wrap { overflow: visible; border: 0; background: transparent; }
    #rk-heatup-guide table,
    #rk-heatup-guide thead,
    #rk-heatup-guide tbody,
    #rk-heatup-guide tr,
    #rk-heatup-guide th,
    #rk-heatup-guide td { display: block; width: 100%; }
    #rk-heatup-guide thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
    #rk-heatup-guide tbody { display: grid; gap: 13px; }
    #rk-heatup-guide tr { overflow: hidden; border: 1px solid var(--rk-line); border-radius: 16px; background: var(--rk-white); }
    #rk-heatup-guide td { position: relative; min-height: 54px; padding: 31px 15px 12px; border-bottom: 1px solid var(--rk-line); background: #ffffff !important; }
    #rk-heatup-guide td:last-child { border-bottom: 0; }
    #rk-heatup-guide td::before { position: absolute; top: 9px; left: 15px; color: var(--rk-blue); content: attr(data-label); font-size: .56rem; font-weight: 900; letter-spacing: .045em; text-transform: uppercase; }
  }
  @media (max-width: 500px) {
    #rk-heatup-guide .rk-pg-hero { padding-left: 21px; padding-right: 21px; }
    #rk-heatup-guide .rk-pg-content { padding-left: 16px; padding-right: 16px; }
    #rk-heatup-guide .rk-pg-nav { padding-left: 15px; padding-right: 15px; }
    #rk-heatup-guide .rk-pg-nav a { font-size: .61rem; }
    #rk-heatup-guide .rk-pg-tool-body { padding-left: 13px; padding-right: 13px; }
    #rk-heatup-guide .rk-pg-factor { grid-template-columns: 52px minmax(0, 1fr); gap: 13px; padding: 18px 15px; }
    #rk-heatup-guide .rk-hu-concept-tabs,
    #rk-heatup-guide .rk-hu-profile-tabs,
    #rk-heatup-guide .rk-hu-scenario-tabs,
    #rk-heatup-guide .rk-hu-preset-tabs { display: grid; grid-template-columns: 1fr; }
    #rk-heatup-guide .rk-hu-tab { width: 100%; }
    #rk-heatup-guide .rk-hu-layer { grid-template-columns: 44px minmax(0, 1fr); padding: 11px 12px; }
    #rk-heatup-guide .rk-hu-detail-grid,
    #rk-heatup-guide .rk-hu-result-grid,
    #rk-heatup-guide .rk-hu-chart-readout { grid-template-columns: 1fr; }
    #rk-heatup-guide .rk-hu-result-card.is-wide { grid-column: auto; }
    #rk-heatup-guide .rk-hu-chart-svg { min-height: 310px; }
    #rk-heatup-guide .rk-pg-author-main { padding-left: 18px; padding-right: 18px; }
    #rk-heatup-guide .rk-pg-cta-button { width: 100%; text-align: center; }
  }
  @media (prefers-reduced-motion: reduce) {
    #rk-heatup-guide *,
    #rk-heatup-guide *::before,
    #rk-heatup-guide *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
  }

  #rk-heatup-guide .rk-hu-stage-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 26px 0;
  }
  #rk-heatup-guide .rk-hu-stage-card {
    min-width: 0;
    padding: 19px;
    border: 1px solid var(--rk-line);
    border-radius: 17px;
    background: #ffffff;
  }
  #rk-heatup-guide .rk-hu-stage-card b { display: block; margin: 10px 0 6px; color: var(--rk-dark); }
  #rk-heatup-guide .rk-hu-stage-card p { margin: 0; color: var(--rk-text); font-size: .72rem; line-height: 1.55; }
  #rk-heatup-guide .rk-hu-stage-dot {
    display: grid !important;
    place-items: center !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    border-radius: 50% !important;
    color: var(--rk-dark) !important;
    background: #d9f5f8 !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-align: center !important;
    position: static !important;
    transform: none !important;
  }
  #rk-heatup-guide .rk-hu-stage-card:nth-child(2) .rk-hu-stage-dot { background: #ffdfd4 !important; }
  #rk-heatup-guide .rk-hu-stage-card:nth-child(3) .rk-hu-stage-dot { background: #dff5ed !important; }
  #rk-heatup-guide .rk-hu-stage-card:nth-child(4) .rk-hu-stage-dot { background: #e5e1ff !important; }

  #rk-heatup-guide .rk-hu-tool-section-title {
    margin: 27px 0 13px;
    color: var(--rk-dark);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
  }
  #rk-heatup-guide .rk-hu-input-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 16px;
  }
  #rk-heatup-guide .rk-hu-input-grid .rk-hu-field.is-wide { grid-column: 1 / -1; }
  #rk-heatup-guide .rk-hu-reset {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    margin-top: 18px;
    padding: 10px 15px;
    border: 1px solid #b7d3dc;
    border-radius: 12px;
    color: var(--rk-dark);
    background: #ffffff;
    font-size: .68rem;
    font-weight: 900;
  }
  #rk-heatup-guide .rk-hu-reset:hover,
  #rk-heatup-guide .rk-hu-reset:focus-visible { border-color: var(--rk-blue); background: var(--rk-cyan-soft); }
  #rk-heatup-guide .rk-hu-result-card.is-alert { background: rgba(255, 106, 61, .18); }

  #rk-heatup-guide .rk-hu-timeline {
    display: grid;
    gap: 12px;
    margin-top: 24px;
    padding: clamp(18px, 4vw, 28px);
    border: 1px solid var(--rk-line);
    border-radius: 20px;
    background: #f8fcfd;
  }
  #rk-heatup-guide .rk-hu-timeline-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 4px;
  }
  #rk-heatup-guide .rk-hu-timeline-head h4 { margin: 0; }
  #rk-heatup-guide .rk-hu-timeline-head span { color: var(--rk-muted); font-size: .62rem; text-align: right; }
  #rk-heatup-guide .rk-hu-time-row {
    display: grid;
    grid-template-columns: minmax(150px, .55fr) minmax(0, 1.45fr) minmax(105px, .38fr);
    align-items: center;
    gap: 13px;
    min-width: 0;
    padding: 13px;
    border-radius: 14px;
    background: #ffffff;
  }
  #rk-heatup-guide .rk-hu-time-label b { display: block; color: var(--rk-dark); font-size: .7rem; }
  #rk-heatup-guide .rk-hu-time-label small { display: block; color: var(--rk-muted); font-size: .56rem; line-height: 1.35; }
  #rk-heatup-guide .rk-hu-time-track { position: relative; height: 14px; overflow: hidden; border-radius: 99px; background: #e2edf1; }
  #rk-heatup-guide .rk-hu-time-fill { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--rk-cyan), var(--rk-blue)); transition: width .25s ease; }
  #rk-heatup-guide .rk-hu-time-row:nth-of-type(3) .rk-hu-time-fill { background: linear-gradient(90deg, #ff9b78, var(--rk-orange)); }
  #rk-heatup-guide .rk-hu-time-row:nth-of-type(4) .rk-hu-time-fill { background: linear-gradient(90deg, #55bea5, var(--rk-green)); }
  #rk-heatup-guide .rk-hu-time-row:nth-of-type(5) .rk-hu-time-fill { background: linear-gradient(90deg, #998ce6, var(--rk-purple)); }
  #rk-heatup-guide .rk-hu-time-value { color: var(--rk-dark); font-size: .68rem; font-weight: 900; text-align: right; }
  #rk-heatup-guide .rk-hu-timeline-note { margin: 5px 0 0; color: var(--rk-muted); font-size: .61rem; line-height: 1.5; }

  #rk-heatup-guide .rk-hu-cost-box {
    margin-top: 21px;
    border: 1px solid var(--rk-line);
    border-radius: 17px;
    background: #ffffff;
  }
  #rk-heatup-guide .rk-hu-cost-box summary { position: relative; padding: 17px 52px 17px 18px; color: var(--rk-dark); font-size: .72rem; font-weight: 900; cursor: pointer; list-style: none; }
  #rk-heatup-guide .rk-hu-cost-box summary::-webkit-details-marker { display: none; }
  #rk-heatup-guide .rk-hu-cost-box summary::after { position: absolute; top: 50%; right: 17px; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; color: var(--rk-blue); background: var(--rk-cyan-soft); content: "+"; transform: translateY(-50%); }
  #rk-heatup-guide .rk-hu-cost-box[open] summary::after { content: "−"; }
  #rk-heatup-guide .rk-hu-cost-body { padding: 0 18px 18px; }
  #rk-heatup-guide .rk-hu-cost-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
  #rk-heatup-guide .rk-hu-cost-result { margin-top: 14px; padding: 15px; border-left: 5px solid var(--rk-orange); border-radius: 13px; color: var(--rk-text); background: var(--rk-orange-soft); }
  #rk-heatup-guide .rk-hu-cost-result b { color: var(--rk-dark); }

  #rk-heatup-guide .rk-hu-diagnostic {
    display: grid;
    grid-template-columns: minmax(280px, .95fr) minmax(0, 1.05fr);
    gap: 20px;
    margin-top: 25px;
  }
  #rk-heatup-guide .rk-hu-diag-panel {
    min-width: 0;
    padding: clamp(20px, 4vw, 28px);
    border: 1px solid var(--rk-line);
    border-radius: 20px;
    background: #ffffff;
  }
  #rk-heatup-guide .rk-hu-diag-panel.is-result { color: #ffffff; border: 0; background: linear-gradient(145deg, #112b3d, #155767); }
  #rk-heatup-guide .rk-hu-diag-panel.is-result h3 { color: #ffffff; }
  #rk-heatup-guide .rk-hu-diag-panel.is-result p { color: #dcecf0; }
  #rk-heatup-guide .rk-hu-diag-question { margin-bottom: 18px; }
  #rk-heatup-guide .rk-hu-diag-question:last-child { margin-bottom: 0; }
  #rk-heatup-guide .rk-hu-diag-question > b { display: block; margin-bottom: 8px; color: var(--rk-dark); font-size: .7rem; }
  #rk-heatup-guide .rk-hu-choice-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  #rk-heatup-guide .rk-hu-choice {
    min-width: 0;
    min-height: 42px;
    padding: 9px 10px;
    border: 1px solid #bfd4dc;
    border-radius: 11px;
    color: var(--rk-dark);
    background: #ffffff;
    font-size: .64rem;
    font-weight: 900;
  }
  #rk-heatup-guide .rk-hu-choice.is-active,
  #rk-heatup-guide .rk-hu-choice[aria-pressed="true"] { color: #ffffff; border-color: var(--rk-blue); background: var(--rk-blue); }
  #rk-heatup-guide .rk-hu-diag-state { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 13px; padding: 7px 10px; border-radius: 999px; color: #ffffff; background: rgba(255,255,255,.12); font-size: .6rem; font-weight: 900; }
  #rk-heatup-guide .rk-hu-diag-state::before { width: 9px; height: 9px; border-radius: 50%; background: var(--rk-cyan); content: ""; }
  #rk-heatup-guide .rk-hu-diag-steps { display: grid; gap: 9px; margin: 18px 0 0; padding: 0; list-style: none; }
  #rk-heatup-guide .rk-hu-diag-steps li { padding: 11px 13px; border-radius: 12px; color: #e6f4f6; background: rgba(255,255,255,.08); font-size: .68rem; line-height: 1.5; }

  @media (max-width: 900px) {
    #rk-heatup-guide .rk-hu-stage-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #rk-heatup-guide .rk-hu-diagnostic { grid-template-columns: 1fr; }
    #rk-heatup-guide .rk-hu-cost-grid { grid-template-columns: 1fr; }
  }
  @media (max-width: 600px) {
    #rk-heatup-guide .rk-hu-stage-grid,
    #rk-heatup-guide .rk-hu-input-grid { grid-template-columns: 1fr; }
    #rk-heatup-guide .rk-hu-input-grid .rk-hu-field.is-wide { grid-column: auto; }
    #rk-heatup-guide .rk-hu-timeline-head { display: block; }
    #rk-heatup-guide .rk-hu-timeline-head span { display: block; margin-top: 6px; text-align: left; }
    #rk-heatup-guide .rk-hu-time-row { grid-template-columns: 1fr; gap: 8px; }
    #rk-heatup-guide .rk-hu-time-track { height: 12px; }
    #rk-heatup-guide .rk-hu-time-value { text-align: left; }
  }
</style>

<article id="rk-heatup-guide" aria-labelledby="rk-hu-visual-title">
  <div class="rk-pg-shell">
    <header class="rk-pg-hero">
      <span class="rk-pg-kicker">Czas reakcji to nie jedna liczba</span>
      <div class="rk-pg-hero-title" id="rk-hu-visual-title">Woda, podłoga i pokój <span>nagrzewają się w różnym tempie</span></div>
      <p class="rk-pg-lead">Pierwsza zmiana na rozdzielaczu może pojawić się szybko, a pełna odpowiedź ciężkiej podłogi i całego pomieszczenia znacznie później. Ten poradnik rozdziela te etapy, pozwala oszacować energię oraz czas reakcji i pokazuje, kiedy cierpliwie obserwować instalację, a kiedy rozpocząć diagnostykę.</p>

      <div class="rk-pg-hero-tags" aria-label="Zakres poradnika">
        <span class="rk-pg-hero-tag">czas nagrzewania</span>
        <span class="rk-pg-hero-tag">jastrych mokry i suchy</span>
        <span class="rk-pg-hero-tag">moc i straty</span>
        <span class="rk-pg-hero-tag">pompa ciepła</span>
        <span class="rk-pg-hero-tag">diagnostyka przepływu</span>
      </div>

      <div class="rk-pg-byline" aria-label="Informacje o publikacji">
        <span><strong>Autor:</strong> Robert Kucharski</span>
        <span><strong>Czas czytania:</strong> około 25 minut</span>
        <span><strong>Aktualizacja techniczna:</strong> 13 września 2026 r.</span>
      </div>

      <div class="rk-pg-hero-metrics" aria-label="Trzy najważniejsze odpowiedzi">
        <div class="rk-pg-hero-metric"><b>Pierwsza reakcja</b><span>Ciepłe zasilanie nie oznacza jeszcze ciepłej powierzchni ani wzrostu temperatury pokoju.</span></div>
        <div class="rk-pg-hero-metric"><b>Najważniejszy bilans</b><span>O tempie wzrostu decyduje moc przekazywana do podłogi pomniejszona o bieżące straty budynku.</span></div>
        <div class="rk-pg-hero-metric"><b>Właściwa ocena</b><span>Podajemy przedziały i ograniczenia modelu, a nie jedną obietnicę godzinową dla każdego domu.</span></div>
      </div>
    </header>

    <nav class="rk-pg-nav" aria-label="Na skróty — wszystkie główne sekcje artykułu">
      <span class="rk-pg-nav-label">Na skróty</span>
      <div class="rk-pg-nav-track">
        <a href="#rk-hu-odpowiedz">Krótka odpowiedź</a>
        <a href="#rk-hu-etapy">Cztery etapy</a>
        <a href="#rk-hu-sytuacje">Trzy sytuacje</a>
        <a href="#rk-hu-czynniki">Co wpływa</a>
        <a href="#rk-hu-kalkulator">Kalkulator i koszt</a>
        <a href="#rk-hu-diagnostyka">Diagnostyka</a>
        <a href="#rk-hu-pomiar">Pomiar w domu</a>
        <a href="#rk-hu-noc">Obniżenie nocne</a>
        <a href="#rk-hu-systemy">Mokry, suchy, elektryczny</a>
        <a href="#rk-hu-optymalizacja">Jak przyspieszyć</a>
        <a href="#rk-hu-wnioski">Wnioski</a>
        <a href="#rk-hu-zrodla">Źródła</a>
        <a href="#rk-hu-faq">FAQ</a>
        <a href="#rk-hu-autor">Autor</a>
      </div>
    </nav>

    <div class="rk-pg-content">
      <section class="rk-pg-section" id="rk-hu-odpowiedz">
        <span class="rk-pg-eyebrow">Odpowiedź w 60 sekund</span>
        <h2>Ile czasu nagrzewa się podłogówka? Krótka odpowiedź</h2>
        <div class="rk-pg-answer">
          <p><strong>Nie istnieje jeden prawidłowy czas nagrzewania ogrzewania podłogowego.</strong> W lekkiej konstrukcji zmianę temperatury powierzchni można zauważyć stosunkowo szybko, natomiast w ciężkim systemie mokrym reakcja podłogi i pomieszczenia zwykle trwa kilka godzin. Ponowne ogrzanie wychłodzonego budynku może wymagać kilkunastu godzin albo kilku dób, ponieważ energię pochłaniają również ściany, stropy i wyposażenie.</p>
        </div>
        <p>Pytając „po jakim czasie podłoga robi się ciepła?”, trzeba najpierw określić punkt startowy i oczekiwany rezultat. Inny czas otrzymamy dla pierwszej zauważalnej zmiany powierzchni, inny dla podniesienia temperatury pokoju o 1 K, a jeszcze inny dla osiągnięcia nowego stanu równowagi. Z tego powodu <a href="https://projekt-ogrzewania.pl/czym-jest-bezwladnosc-cieplna-w-ogrzewaniu-podlogowym/">bezwładność cieplna ogrzewania podłogowego</a> nie może być opisana jedną liczbą godzin.</p>

        <div class="rk-pg-table-wrap">
          <table>
            <thead><tr><th>Co obserwujemy?</th><th>Orientacyjna skala czasu</th><th>Co najbardziej zmienia wynik?</th></tr></thead>
            <tbody>
              <tr><td data-label="Etap"><strong>Zmianę temperatury wody i rur</strong></td><td data-label="Skala">minuty do około godziny</td><td data-label="Wpływ">automatyka źródła, objętość instalacji, pompa i przepływ</td></tr>
              <tr><td data-label="Etap"><strong>Pierwszą zmianę powierzchni w systemie lekkim</strong></td><td data-label="Skala">od kilkudziesięciu minut do kilku godzin</td><td data-label="Wpływ">budowa systemu, blachy przewodzące, okładzina i moc</td></tr>
              <tr><td data-label="Etap"><strong>Pierwszą zmianę powierzchni w systemie mokrym</strong></td><td data-label="Skala">najczęściej kilka godzin</td><td data-label="Wpływ">grubość, położenie rur, właściwości jastrychu i opór okładziny</td></tr>
              <tr><td data-label="Etap"><strong>Wyraźną zmianę temperatury pomieszczenia</strong></td><td data-label="Skala">kilka do kilkunastu godzin lub dłużej</td><td data-label="Wpływ">nadwyżka mocy nad stratami oraz pojemność całego budynku</td></tr>
              <tr><td data-label="Etap"><strong>Ogrzanie wychłodzonego domu</strong></td><td data-label="Skala">kilkanaście godzin do kilku dób</td><td data-label="Wpływ">temperatura początkowa, pogoda, masa przegród i dostępna moc</td></tr>
              <tr><td data-label="Etap"><strong>Wygrzewanie nowej wylewki</strong></td><td data-label="Skala">procedura liczona w dniach</td><td data-label="Wpływ">rodzaj jastrychu, jego dojrzałość i instrukcja konkretnego systemu</td></tr>
            </tbody>
          </table>
        </div>
        <div class="rk-pg-note"><p><strong>To nie są granice normowe ani gwarantowane czasy.</strong> Tabela porządkuje skalę zjawiska. Konkretny wynik zależy od danych, które opisujemy dalej i które można wprowadzić do kalkulatora.</p></div>
      </section>

      <section class="rk-pg-section" id="rk-hu-etapy">
        <span class="rk-pg-eyebrow">Jedno uruchomienie, cztery różne zegary</span>
        <h2>Co dokładnie ma się nagrzać: woda, powierzchnia czy pomieszczenie?</h2>
        <p class="rk-pg-intro">Po zmianie nastawy energia przechodzi przez kolejne części układu. Każda reaguje w innym tempie, dlatego pomiar tylko jednego termometru może prowadzić do błędnego wniosku.</p>

        <div class="rk-hu-stage-grid" aria-label="Cztery etapy reakcji ogrzewania podłogowego">
          <article class="rk-hu-stage-card"><span class="rk-hu-stage-dot">1</span><b>Źródło i woda</b><p>Kocioł, pompa ciepła albo układ mieszający zmieniają temperaturę zasilania. Ciepła rura przy rozdzielaczu potwierdza dopływ energii, ale nie temperaturę całej podłogi.</p></article>
          <article class="rk-hu-stage-card"><span class="rk-hu-stage-dot">2</span><b>Rura i jastrych</b><p>Ciepło rozchodzi się od przewodu przez aktywną masę. Liczą się położenie rury, przewodność, grubość oraz ilość energii magazynowanej w warstwie.</p></article>
          <article class="rk-hu-stage-card"><span class="rk-hu-stage-dot">3</span><b>Powierzchnia podłogi</b><p>Okładzina i podkład tworzą drogę oporu cieplnego. Temperatura powierzchni może zacząć rosnąć, zanim użytkownik odczuje zmianę w całym pokoju.</p></article>
          <article class="rk-hu-stage-card"><span class="rk-hu-stage-dot">4</span><b>Pomieszczenie i budynek</b><p>Podłoga ogrzewa powietrze, przegrody i wyposażenie, jednocześnie pokrywając straty przez ściany, okna oraz wentylację.</p></article>
        </div>

        <p>Woda może reagować szybko, a powierzchnia nadal pozostawać chłodna. Powierzchnia może już oddawać większą moc, a termometr pokojowy jeszcze nie pokaże istotnej zmiany. Ostatecznie liczy się relacja pomiędzy mocą emitera a aktualnymi stratami pomieszczenia. Punkt wyjścia stanowi więc <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projektowe obciążenie cieplne OZC</a>, a nie sama grubość betonu.</p>
      </section>

      <section class="rk-pg-section" id="rk-hu-sytuacje">
        <span class="rk-pg-eyebrow">Nie wolno mieszać różnych procedur</span>
        <h2>Pierwsze uruchomienie, start sezonu i zmiana nastawy to trzy różne sytuacje</h2>
        <div class="rk-pg-grid-3">
          <article class="rk-pg-card is-cyan"><div class="rk-pg-card-icon">A</div><h3>Korekta podczas normalnej pracy</h3><p>Instalacja, wylewka i budynek są już ciepłe. Zmieniamy jedynie bilans o niewielką wartość, dlatego nie trzeba ponownie ogrzewać całej konstrukcji od temperatury letniej.</p></article>
          <article class="rk-pg-card is-orange"><div class="rk-pg-card-icon">B</div><h3>Start po dłuższej przerwie</h3><p>Podłoga i część przegród mają niższą temperaturę. Źródło musi jednocześnie uzupełniać energię w masie budynku i pokrywać bieżące straty do otoczenia.</p></article>
          <article class="rk-pg-card is-purple"><div class="rk-pg-card-icon">C</div><h3>Wygrzewanie nowej wylewki</h3><p>To procedura wykonawcza, a nie sposób szybkiego ogrzewania domu. Rozpoczyna się dopiero po wymaganym czasie dojrzewania i zgodnie z dokumentacją jastrychu oraz systemu.</p></article>
        </div>

        <p>Uruchomienia eksploatacyjnego nie należy utożsamiać z <a href="https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/">wygrzewaniem wylewki na ogrzewaniu podłogowym</a>. Nie istnieje jeden harmonogram temperatur odpowiedni dla każdego jastrychu cementowego, anhydrytowego i każdej chemii budowlanej. Zawsze trzeba sprawdzić wymagania producenta materiału, protokół uruchomienia i ograniczenia okładziny.</p>
        <div class="rk-pg-warning"><p><strong>Nie podnoś gwałtownie temperatury tylko po to, aby „sprawdzić, czy podłoga działa”.</strong> Maksymalna dopuszczalna temperatura powierzchni i ograniczenia materiałów wykończeniowych są czymś innym niż chwilowa temperatura wody. Zobacz, od czego zależy <a href="https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/">maksymalna temperatura zasilania podłogówki</a>.</p></div>
      </section>

      <section class="rk-pg-section" id="rk-hu-czynniki">
        <span class="rk-pg-eyebrow">Osiem elementów jednego bilansu</span>
        <h2>Od czego zależy czas nagrzewania ogrzewania podłogowego?</h2>
        <p class="rk-pg-intro">Czas nie wynika z pojedynczego parametru. To rezultat pojemności cieplnej, drogi przepływu ciepła, dostępnej mocy, strat oraz działania hydrauliki i automatyki.</p>

        <div class="rk-pg-factor-grid">
          <article class="rk-pg-factor"><div class="rk-pg-step-badge"><span>1</span></div><div class="rk-pg-factor-copy"><h3>Powierzchnia czynna i straty</h3><p>Podłoga musi oddać wymaganą moc tylko z fragmentu, który rzeczywiście uczestniczy w ogrzewaniu. Zabudowa stała może ograniczyć powierzchnię, a duże przeszklenia zwiększyć lokalne obciążenie.</p></div></article>
          <article class="rk-pg-factor"><div class="rk-pg-step-badge"><span>2</span></div><div class="rk-pg-factor-copy"><h3>Masa i pojemność cieplna</h3><p>Większa objętość materiału zwykle wymaga większej ilości energii do zmiany średniej temperatury. Sama nazwa „cement” albo „anhydryt” nie wystarcza bez właściwości produktu.</p></div></article>
          <article class="rk-pg-factor"><div class="rk-pg-step-badge"><span>3</span></div><div class="rk-pg-factor-copy"><h3>Położenie i rozstaw rur</h3><p>Głębokość przewodu oraz <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-ogrzewaniu-podlogowym-co-10-czy-15-cm/">rozstaw rur 10 czy 15 cm</a> zmieniają pole temperatury i możliwą moc, lecz nie usuwają pojemności jastrychu.</p></div></article>
          <article class="rk-pg-factor"><div class="rk-pg-step-badge"><span>4</span></div><div class="rk-pg-factor-copy"><h3>Okładzina i podkład</h3><p>Liczy się łączny opór cieplny w m²·K/W oraz limit temperatury producenta. Drewno, winyl i panele trzeba oceniać jako kompletny zestaw, nie tylko po nazwie materiału.</p></div></article>
          <article class="rk-pg-factor"><div class="rk-pg-step-badge"><span>5</span></div><div class="rk-pg-factor-copy"><h3>Temperatura i przepływ</h3><p>Temperatura zasilania, powrotu oraz przepływ decydują o energii przekazywanej do pętli. Znaczenie ma rzeczywista <a href="https://projekt-ogrzewania.pl/spadek-temperatury-%ce%b4t-roznica-miedzy-temperatura-zasilania-a-powrotu/">różnica temperatur zasilania i powrotu</a>.</p></div></article>
          <article class="rk-pg-factor"><div class="rk-pg-step-badge"><span>6</span></div><div class="rk-pg-factor-copy"><h3>Źródło i regulacja</h3><p>Pompa ciepła, kocioł i zawór mieszający mogą inaczej budować temperaturę. Odpowiedź zależy od <a href="https://projekt-ogrzewania.pl/krzywa-grzewcza-w-ogrzewaniu-podlogowym/">krzywej grzewczej</a>, ograniczeń oraz logiki sterownika.</p></div></article>
          <article class="rk-pg-factor"><div class="rk-pg-step-badge"><span>7</span></div><div class="rk-pg-factor-copy"><h3>Masa całego budynku</h3><p>Po przerwie ogrzewamy nie tylko powietrze. Energię pochłaniają ściany, stropy i wyposażenie, a zyski słoneczne mogą w tym samym czasie zmniejszać zapotrzebowanie.</p></div></article>
          <article class="rk-pg-factor"><div class="rk-pg-step-badge"><span>8</span></div><div class="rk-pg-factor-copy"><h3>Hydraulika pętli</h3><p>Długości, średnice, opory, nastawy i praca pompy decydują, czy projektowany przepływ dociera do każdej strefy. Zbyt mały przepływ nie jest „naturalną bezwładnością”.</p></div></article>
        </div>
      </section>

      <section class="rk-pg-section" id="rk-hu-kalkulator">
        <span class="rk-pg-eyebrow">Narzędzie 1 · kalkulator edukacyjny</span>
        <h2>Kalkulator czasu nagrzewania podłogówki i kosztu jednego uruchomienia</h2>
        <p class="rk-pg-intro">Oblicz energię odpowiadającą zmianie średniej temperatury analizowanej warstwy, sprawdź moc pozostającą po pokryciu strat i zobacz orientacyjne przedziały kolejnych etapów. Kalkulator nie udaje pełnej symulacji dynamicznej budynku.</p>

        <div class="rk-pg-tool" id="rk-hu-calculator-tool">
          <div class="rk-pg-tool-head">
            <span class="rk-pg-tool-kicker">Bilans energii plus responsywna oś czasu</span>
            <h3>Co się dzieje po zmianie sposobu pracy instalacji?</h3>
            <p>Najpierw wybierz sytuację, później opisz aktywną warstwę oraz moc rzeczywiście przekazywaną do podłogi. Wyniki aktualizują się po każdej zmianie.</p>
          </div>
          <div class="rk-pg-tool-body">
            <div class="rk-hu-scenario-tabs" role="group" aria-label="Wybierz analizowaną sytuację">
              <button class="rk-hu-tab is-active" type="button" data-rk-hu-scenario="correction" aria-pressed="true">Mała korekta podczas pracy</button>
              <button class="rk-hu-tab" type="button" data-rk-hu-scenario="restart" aria-pressed="false">Start po dłuższej przerwie</button>
              <button class="rk-hu-tab" type="button" data-rk-hu-scenario="cold" aria-pressed="false">Wychłodzony budynek</button>
            </div>

            <div class="rk-hu-lab-layout">
              <div class="rk-hu-controls">
                <div class="rk-hu-field">
                  <div class="rk-hu-label-row"><label for="rk-hu-system">Przykładowa konstrukcja</label></div>
                  <select class="rk-hu-number" id="rk-hu-system">
                    <option value="cement" selected>Mokry — jastrych cementowy</option>
                    <option value="anhydrite">Mokry — jastrych anhydrytowy</option>
                    <option value="dry">Suchy — konstrukcja lekka</option>
                    <option value="custom">Własne dane warstwy</option>
                  </select>
                  <small class="rk-hu-field-help">Preset uzupełnia wartości przykładowe. Dla konkretnej podłogi wpisz dane dokumentacji systemu.</small>
                </div>

                <div class="rk-hu-input-grid">
                  <div class="rk-hu-field">
                    <div class="rk-hu-label-row"><label for="rk-hu-area">Aktywna powierzchnia</label><output class="rk-hu-output" id="rk-hu-area-output" for="rk-hu-area">80 m²</output></div>
                    <input id="rk-hu-area" type="range" min="10" max="250" step="1" value="80">
                    <div class="rk-hu-scale"><span>10 m²</span><span>250 m²</span></div>
                  </div>
                  <div class="rk-hu-field">
                    <div class="rk-hu-label-row"><label for="rk-hu-thickness">Aktywna grubość warstwy</label><output class="rk-hu-output" id="rk-hu-thickness-output" for="rk-hu-thickness">65 mm</output></div>
                    <input id="rk-hu-thickness" type="range" min="15" max="120" step="1" value="65">
                    <div class="rk-hu-scale"><span>15 mm</span><span>120 mm</span></div>
                  </div>
                  <div class="rk-hu-field">
                    <div class="rk-hu-label-row"><label for="rk-hu-cv">Pojemność objętościowa</label></div>
                    <input class="rk-hu-number" id="rk-hu-cv" type="number" min="0.4" max="3.2" step="0.05" value="2.00" inputmode="decimal">
                    <small class="rk-hu-field-help">Wartość C<sub>v</sub> w MJ/(m³·K).</small>
                  </div>
                  <div class="rk-hu-field">
                    <div class="rk-hu-label-row"><label for="rk-hu-delta">Zmiana średniej temperatury warstwy</label><output class="rk-hu-output" id="rk-hu-delta-output" for="rk-hu-delta">2,0 K</output></div>
                    <input id="rk-hu-delta" type="range" min="0.5" max="15" step="0.5" value="2">
                    <div class="rk-hu-scale"><span>0,5 K</span><span>15 K</span></div>
                  </div>
                  <div class="rk-hu-field">
                    <div class="rk-hu-label-row"><label for="rk-hu-power">Moc przekazywana do podłogi</label></div>
                    <input class="rk-hu-number" id="rk-hu-power" type="number" min="0.1" max="60" step="0.1" value="5.5" inputmode="decimal">
                    <small class="rk-hu-field-help">kW oddawane do analizowanej powierzchni, nie moc znamionowa źródła.</small>
                  </div>
                  <div class="rk-hu-field">
                    <div class="rk-hu-label-row"><label for="rk-hu-loss">Bieżące straty budynku</label></div>
                    <input class="rk-hu-number" id="rk-hu-loss" type="number" min="0" max="60" step="0.1" value="3.0" inputmode="decimal">
                    <small class="rk-hu-field-help">kW dla warunków panujących podczas analizowanego uruchomienia.</small>
                  </div>
                  <div class="rk-hu-field is-wide">
                    <div class="rk-hu-label-row"><label for="rk-hu-resistance">Łączny opór okładziny i podkładu</label><output class="rk-hu-output" id="rk-hu-resistance-output" for="rk-hu-resistance">0,050 m²·K/W</output></div>
                    <input id="rk-hu-resistance" type="range" min="0.01" max="0.20" step="0.005" value="0.05">
                    <div class="rk-hu-scale"><span>0,010</span><span>0,200 m²·K/W</span></div>
                    <small class="rk-hu-field-help">Opór wpływa na edukacyjny przedział reakcji powierzchni, nie na obliczoną pojemność warstwy.</small>
                  </div>
                </div>
                <button class="rk-hu-reset" id="rk-hu-calc-reset" type="button">Przywróć wartości przykładowe</button>
              </div>

              <div class="rk-hu-results" aria-live="polite">
                <h4>Wynik dla wprowadzonych danych</h4>
                <div class="rk-hu-result-grid">
                  <div class="rk-hu-result-card"><span>Objętość aktywnej warstwy</span><strong id="rk-hu-result-volume">5,20 m³</strong><small>powierzchnia razy grubość</small></div>
                  <div class="rk-hu-result-card"><span>Pojemność całej warstwy</span><strong id="rk-hu-result-capacity">2,89 kWh/K</strong><small>energia na każdy 1 K zmiany średniej temperatury</small></div>
                  <div class="rk-hu-result-card"><span>Energia dla wskazanego ΔT</span><strong id="rk-hu-result-energy">5,78 kWh</strong><small>energia wiązana w analizowanej masie</small></div>
                  <div class="rk-hu-result-card"><span>Moc pozostająca po pokryciu strat</span><strong id="rk-hu-result-net">2,50 kW</strong><small>moc podłogi minus bieżące straty</small></div>
                  <div class="rk-hu-result-card"><span>Teoretyczne minimum energetyczne</span><strong id="rk-hu-result-minimum">2 godz. 19 min</strong><small>bez pełnego modelu transportu i budynku</small></div>
                  <div class="rk-hu-result-card"><span>Pierwsza reakcja powierzchni</span><strong id="rk-hu-result-surface">0,7–1,7 godz.</strong><small>edukacyjny przedział, nie gwarancja</small></div>
                  <div class="rk-hu-result-card"><span>Wyraźna reakcja pomieszczenia</span><strong id="rk-hu-result-room">1,8–4,0 godz.</strong><small>zależna także od przegród i zysków</small></div>
                  <div class="rk-hu-result-card"><span>Zbliżenie do nowej równowagi</span><strong id="rk-hu-result-stable">3,6–7,1 godz.</strong><small>orientacyjna skala dla wybranego scenariusza</small></div>
                </div>
                <div class="rk-hu-result-note" id="rk-hu-calculator-status">Wynik pokazuje bilans uproszczony. Nie uwzględnia przestrzennego rozkładu temperatury, całej masy budynku, pogody zmiennej w czasie ani logiki konkretnego regulatora.</div>
              </div>
            </div>

            <div class="rk-hu-timeline" aria-labelledby="rk-hu-timeline-title">
              <div class="rk-hu-timeline-head"><h4 id="rk-hu-timeline-title">Oś kolejnych etapów</h4><span id="rk-hu-timeline-scale">skala do 7,1 godz.</span></div>
              <div class="rk-hu-time-row"><div class="rk-hu-time-label"><b>Woda i rury</b><small>reakcja obiegu</small></div><div class="rk-hu-time-track"><span class="rk-hu-time-fill" id="rk-hu-fill-water"></span></div><div class="rk-hu-time-value" id="rk-hu-time-water">około 10–45 min</div></div>
              <div class="rk-hu-time-row"><div class="rk-hu-time-label"><b>Powierzchnia</b><small>pierwsza zauważalna zmiana</small></div><div class="rk-hu-time-track"><span class="rk-hu-time-fill" id="rk-hu-fill-surface"></span></div><div class="rk-hu-time-value" id="rk-hu-time-surface">0,7–1,7 godz.</div></div>
              <div class="rk-hu-time-row"><div class="rk-hu-time-label"><b>Pomieszczenie</b><small>wyraźna odpowiedź cieplna</small></div><div class="rk-hu-time-track"><span class="rk-hu-time-fill" id="rk-hu-fill-room"></span></div><div class="rk-hu-time-value" id="rk-hu-time-room">1,8–4,0 godz.</div></div>
              <div class="rk-hu-time-row"><div class="rk-hu-time-label"><b>Nowa równowaga</b><small>zbliżenie do stanu ustalonego</small></div><div class="rk-hu-time-track"><span class="rk-hu-time-fill" id="rk-hu-fill-stable"></span></div><div class="rk-hu-time-value" id="rk-hu-time-stable">3,6–7,1 godz.</div></div>
              <p class="rk-hu-timeline-note">Długość paska odpowiada górnej granicy przedziału w odniesieniu do całej osi. Na telefonie każdy etap pozostaje osobną, czytelną kartą.</p>
            </div>

            <details class="rk-hu-cost-box">
              <summary>Pokaż orientacyjny koszt tego pojedynczego uruchomienia</summary>
              <div class="rk-hu-cost-body">
                <p>Koszt dotyczy energii dostarczanej w uproszczonym czasie minimalnym. Nie jest prognozą rachunku rocznego ani automatycznie stratą energii — ciepło zgromadzone w podłodze może zostać później oddane do pomieszczenia.</p>
                <div class="rk-hu-cost-grid">
                  <div class="rk-hu-field"><div class="rk-hu-label-row"><label for="rk-hu-source">Źródło ciepła</label></div><select class="rk-hu-number" id="rk-hu-source"><option value="heatpump" selected>Pompa ciepła</option><option value="gas">Kocioł gazowy</option><option value="electric">Ogrzewanie elektryczne</option><option value="solid">Kocioł na paliwo stałe</option></select></div>
                  <div class="rk-hu-field"><div class="rk-hu-label-row"><label for="rk-hu-factor" id="rk-hu-factor-label">COP dla punktu pracy</label></div><input class="rk-hu-number" id="rk-hu-factor" type="number" min="0.2" max="10" step="0.01" value="3.80" inputmode="decimal"><small class="rk-hu-field-help" id="rk-hu-factor-help">Współczynnik dla analizowanego okresu, nie etykieta urządzenia.</small></div>
                  <div class="rk-hu-field"><div class="rk-hu-label-row"><label for="rk-hu-price">Cena energii wejściowej</label></div><input class="rk-hu-number" id="rk-hu-price" type="number" min="0" max="10" step="0.01" value="1.00" inputmode="decimal"><small class="rk-hu-field-help">zł/kWh energii elektrycznej lub paliwa</small></div>
                </div>
                <div class="rk-hu-cost-result" id="rk-hu-cost-result" aria-live="polite"><b>Energia wejściowa: <span id="rk-hu-source-energy">3,35 kWh</span>.</b> Orientacyjny koszt analizowanego uruchomienia: <strong id="rk-hu-event-cost">3,35 zł</strong>.</div>
              </div>
            </details>

            <div class="rk-pg-tool-disclaimer"><strong>Zakres modelu:</strong> obliczenie energii warstwy wynika z geometrii, pojemności objętościowej i ΔT. Przedziały etapów są profilem edukacyjnym korygowanym przez konstrukcję, opór okładziny oraz scenariusz. Nie są wynikiem pełnej symulacji nieustalonego przepływu ciepła. Procedury wygrzewania nowego jastrychu nie wolno ustalać tym kalkulatorem.</div>
          </div>
        </div>
      </section>

      <aside class="rk-pg-cta" aria-label="Projekt ogrzewania podłogowego">
        <span class="rk-pg-cta-kicker">Kalkulator pokazuje czas reakcji. Projekt musi sprawdzić dostępną moc</span>
        <h3>Czy podłoga pokryje straty każdego pomieszczenia przy niskiej temperaturze zasilania?</h3>
        <p>Symulator może oszacować energię i skalę czasu, ale nie sprawdzi, czy powierzchnia czynna, rozstaw rur, długości pętli, przepływy oraz temperatura wody zapewnią wymaganą moc w salonie, sypialni i łazience. Te zależności zamyka dopiero OZC i projekt hydrauliczny całej instalacji.</p>
        <a class="rk-pg-cta-button" href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Sprawdź projekt ogrzewania podłogowego</a>
      </aside>

      <section class="rk-pg-section" id="rk-hu-diagnostyka">
        <span class="rk-pg-eyebrow">Narzędzie 2 · interaktywna diagnostyka</span>
        <h2>Podłogówka długo się nagrzewa — czekać czy sprawdzać instalację?</h2>
        <p class="rk-pg-intro">Sam upływ czasu nie wystarcza do diagnozy. Odpowiedz na kilka pytań o drogę energii od źródła do pomieszczenia. Moduł wskaże obszar do sprawdzenia, ale nie zastępuje pomiarów ani serwisu na miejscu.</p>

        <div class="rk-hu-diagnostic" id="rk-hu-diagnostic-tool">
          <div class="rk-hu-diag-panel">
            <div class="rk-hu-diag-question"><b>1. Ile czasu minęło od zmiany nastawy lub uruchomienia?</b><div class="rk-hu-choice-row"><button class="rk-hu-choice" type="button" data-rk-hu-question="time" data-rk-hu-value="short" aria-pressed="false">Mniej niż 1 godz.</button><button class="rk-hu-choice is-active" type="button" data-rk-hu-question="time" data-rk-hu-value="medium" aria-pressed="true">1–4 godz.</button><button class="rk-hu-choice" type="button" data-rk-hu-question="time" data-rk-hu-value="long" aria-pressed="false">Ponad 4 godz.</button></div></div>
            <div class="rk-hu-diag-question"><b>2. Czy rura zasilająca przy rozdzielaczu jest wyraźnie cieplejsza niż przed uruchomieniem?</b><div class="rk-hu-choice-row"><button class="rk-hu-choice is-active" type="button" data-rk-hu-question="supply" data-rk-hu-value="yes" aria-pressed="true">Tak</button><button class="rk-hu-choice" type="button" data-rk-hu-question="supply" data-rk-hu-value="no" aria-pressed="false">Nie</button></div></div>
            <div class="rk-hu-diag-question"><b>3. Czy na rotametrach widać przepływ w pracujących pętlach?</b><div class="rk-hu-choice-row"><button class="rk-hu-choice is-active" type="button" data-rk-hu-question="flow" data-rk-hu-value="yes" aria-pressed="true">Tak</button><button class="rk-hu-choice" type="button" data-rk-hu-question="flow" data-rk-hu-value="no" aria-pressed="false">Nie lub nie wiem</button></div></div>
            <div class="rk-hu-diag-question"><b>4. Czy po pewnym czasie ogrzewa się także belka lub rura powrotna?</b><div class="rk-hu-choice-row"><button class="rk-hu-choice is-active" type="button" data-rk-hu-question="return" data-rk-hu-value="yes" aria-pressed="true">Tak</button><button class="rk-hu-choice" type="button" data-rk-hu-question="return" data-rk-hu-value="no" aria-pressed="false">Nie</button></div></div>
            <div class="rk-hu-diag-question"><b>5. Czy temperatura powierzchni podłogi zaczęła się zmieniać?</b><div class="rk-hu-choice-row"><button class="rk-hu-choice" type="button" data-rk-hu-question="surface" data-rk-hu-value="yes" aria-pressed="false">Tak</button><button class="rk-hu-choice is-active" type="button" data-rk-hu-question="surface" data-rk-hu-value="no" aria-pressed="true">Jeszcze nie</button></div></div>
            <div class="rk-hu-diag-question"><b>6. Czy temperatura pomieszczenia rośnie?</b><div class="rk-hu-choice-row"><button class="rk-hu-choice" type="button" data-rk-hu-question="room" data-rk-hu-value="yes" aria-pressed="false">Tak</button><button class="rk-hu-choice is-active" type="button" data-rk-hu-question="room" data-rk-hu-value="no" aria-pressed="true">Jeszcze nie</button></div></div>
          </div>

          <div class="rk-hu-diag-panel is-result" aria-live="polite">
            <span class="rk-hu-diag-state" id="rk-hu-diag-state">Najbardziej prawdopodobne: naturalna bezwładność</span>
            <h3 id="rk-hu-diag-title">Energia dociera do obiegu, ale ciężka podłoga może jeszcze nie pokazywać wyraźnej zmiany.</h3>
            <p id="rk-hu-diag-text">Ciepłe zasilanie, widoczny przepływ i stopniowo cieplejszy powrót wskazują, że obieg przekazuje energię. Obserwuj powierzchnię w kilku stałych punktach i nie zmieniaj jednocześnie wielu nastaw.</p>
            <ul class="rk-hu-diag-steps" id="rk-hu-diag-steps">
              <li>Zapisz temperaturę zasilania i powrotu.</li>
              <li>Sprawdź ponownie te same punkty powierzchni po 60–90 minutach.</li>
              <li>Nie podnoś gwałtownie temperatury zasilania tylko z powodu wolnej reakcji.</li>
            </ul>
          </div>
        </div>

        <p>Jeżeli przepływu nie ma, pomocne będą poradniki o <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/">odczycie rotametrów</a>, <a href="https://projekt-ogrzewania.pl/objawy-zapowietrzenia-ogrzewania-podlogowego/">objawach zapowietrzenia podłogówki</a> i o tym, jak działa <a href="https://projekt-ogrzewania.pl/obieg-grzewczy-w-wodnym-ogrzewaniu-podlogowym/">obieg grzewczy wodnego ogrzewania podłogowego</a>. Nie ma jednej prawidłowej wartości przepływu dla wszystkich pętli — wynika ona z wymaganej mocy oraz przyjętej różnicy temperatur.</p>
      </section>

      <section class="rk-pg-section" id="rk-hu-pomiar">
        <span class="rk-pg-eyebrow">Pomiar zamiast zgadywania</span>
        <h2>Jak zmierzyć rzeczywisty czas reakcji własnej podłogówki?</h2>
        <p class="rk-pg-intro">Najbardziej użyteczny wynik otrzymasz z prostego testu wykonanego w stabilnych warunkach. Celem nie jest osiągnięcie rekordowo szybkiego wzrostu, lecz poznanie kolejności i skali reakcji konkretnej instalacji.</p>
        <ol class="rk-pg-factor-grid">
          <li class="rk-pg-factor"><div class="rk-pg-step-badge"><span>1</span></div><div class="rk-pg-factor-copy"><h3>Wybierz spokojny dzień</h3><p>Unikaj testu podczas gwałtownego ocieplenia, silnego słońca, długiego wietrzenia albo działania kominka.</p></div></li>
          <li class="rk-pg-factor"><div class="rk-pg-step-badge"><span>2</span></div><div class="rk-pg-factor-copy"><h3>Zapisz punkt startowy</h3><p>Zanotuj temperaturę zewnętrzną, pokojową, zasilania, powrotu oraz powierzchni w kilku oznaczonych miejscach.</p></div></li>
          <li class="rk-pg-factor"><div class="rk-pg-step-badge"><span>3</span></div><div class="rk-pg-factor-copy"><h3>Zmień jeden parametr</h3><p>Wprowadź niewielką, kontrolowaną zmianę nastawy. Nie zmieniaj równocześnie krzywej, przepływów, termostatów i temperatury mieszania.</p></div></li>
          <li class="rk-pg-factor"><div class="rk-pg-step-badge"><span>4</span></div><div class="rk-pg-factor-copy"><h3>Mierz tę samą powierzchnię</h3><p>Pirometr porównuje skutecznie tylko podobne powierzchnie o znanej emisyjności. Najlepiej oznaczyć stałe punkty pomiaru.</p></div></li>
          <li class="rk-pg-factor"><div class="rk-pg-step-badge"><span>5</span></div><div class="rk-pg-factor-copy"><h3>Obserwuj kilka etapów</h3><p>Zapisuj osobno chwilę reakcji wody, pierwszą zmianę powierzchni i późniejszą odpowiedź termometru pokojowego.</p></div></li>
          <li class="rk-pg-factor"><div class="rk-pg-step-badge"><span>6</span></div><div class="rk-pg-factor-copy"><h3>Porównuj podobne warunki</h3><p>Jeden test nie tworzy uniwersalnej charakterystyki. Najwięcej mówi porównanie kilku dni o podobnej temperaturze zewnętrznej.</p></div></li>
        </ol>
        <div class="rk-pg-note"><p>Jeżeli sterowanie zamyka część pętli podczas testu, zanotuj ich stan. <a href="https://projekt-ogrzewania.pl/silowniki-termoelektryczne-na-rozdzielaczach/">Siłowniki termoelektryczne na rozdzielaczu</a> oraz termostaty mogą zmieniać aktywną powierzchnię i przepływ widziany przez pompę.</p></div>
      </section>

      <section class="rk-pg-section" id="rk-hu-noc">
        <span class="rk-pg-eyebrow">Sterowanie bez grzejnikowych nawyków</span>
        <h2>Ile trwa nagrzewanie podłogówki po nocnym obniżeniu temperatury?</h2>
        <p class="rk-pg-intro">Nie istnieje jedna wartość ani uniwersalne obniżenie odpowiednie dla każdego domu. Efekt zależy od tego, o ile rzeczywiście spadła temperatura pomieszczenia, jak duża jest nadwyżka mocy oraz w jaki sposób źródło realizuje powrót do nastawy.</p>

        <div class="rk-pg-grid-2">
          <article class="rk-pg-card is-cyan"><div class="rk-pg-card-icon">✓</div><h3>Kiedy niewielkie obniżenie może działać</h3><p>W budynku, który wolno traci ciepło, temperatura nocą może prawie się nie zmienić. Sterowanie trzeba oceniać na podstawie pomiarów, komfortu i pracy źródła, a nie samej liczby zapisanej w harmonogramie.</p></article>
          <article class="rk-pg-card is-orange"><div class="rk-pg-card-icon">!</div><h3>Kiedy głęboki skok tworzy problem</h3><p>Jeżeli rano trzeba szybko odzyskać kilka stopni, podłoga może nie mieć wystarczającej chwilowej mocy. Podnoszenie zasilania może pogorszyć sprawność źródła lub spowodować późniejsze przegrzanie.</p></article>
        </div>

        <p>Dla pompy ciepła ważniejsza od samego harmonogramu bywa stabilna, możliwie niska temperatura wody. Zobacz, dlaczego <a href="https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/">niska temperatura zasilania podłogówki</a> sprzyja sprawności oraz jak ustawić <a href="https://projekt-ogrzewania.pl/sterowanie-pogodowe-w-ogrzewaniu-podlogowym/">sterowanie pogodowe</a>. Termostat pokojowy nie dobiera temperatury wody, a jedynie wpływa na zapotrzebowanie strefy — szerzej opisujemy to w poradniku <a href="https://projekt-ogrzewania.pl/termostat-w-ogrzewaniu-podlogowym/">termostat w ogrzewaniu podłogowym</a>.</p>
        <div class="rk-pg-warning"><p><strong>Nie przeliczamy czasu pracy bezpośrednio na stratę pieniędzy.</strong> Energia zgromadzona w podłodze nie znika w chwili wyłączenia źródła. Koszt zależy od strat budynku, sprawności źródła, cen energii i sposobu regulacji w całym okresie, a nie od jednego porannego cyklu.</p></div>
      </section>

      <section class="rk-pg-section" id="rk-hu-systemy">
        <span class="rk-pg-eyebrow">Porównanie konstrukcji</span>
        <h2>System mokry, suchy i elektryczny — który nagrzewa się szybciej?</h2>
        <p class="rk-pg-intro">System o mniejszej aktywnej masie zazwyczaj szybciej zmienia temperaturę powierzchni, ale tempo reakcji nie przesądza samodzielnie o jakości, kosztach ani dopasowaniu rozwiązania do budynku.</p>

        <div class="rk-pg-table-wrap">
          <table>
            <thead><tr><th>Rozwiązanie</th><th>Typowa cecha dynamiczna</th><th>Co sprawdzić przed wyborem?</th><th>Czego nie zakładać?</th></tr></thead>
            <tbody>
              <tr><td data-label="System"><strong>Mokry cementowy</strong></td><td data-label="Reakcja">duża masa i zwykle wolniejsza zmiana średniej temperatury</td><td data-label="Weryfikacja">grubość, przewodność, położenie rur, wytrzymałość i dylatacje</td><td data-label="Nie zakładaj">że każdy centymetr dodaje stałą liczbę godzin</td></tr>
              <tr><td data-label="System"><strong>Mokry anhydrytowy</strong></td><td data-label="Reakcja">może tworzyć cieńszą i dobrze otulającą przewody warstwę</td><td data-label="Weryfikacja">parametry konkretnego jastrychu, wilgotność i wymagania okładziny</td><td data-label="Nie zakładaj">jednego czasu dla wszystkich produktów anhydrytowych</td></tr>
              <tr><td data-label="System"><strong>Suchy wodny</strong></td><td data-label="Reakcja">mała masa może szybciej przenosić zmianę na powierzchnię</td><td data-label="Weryfikacja">moc, układ blach, równomierność, akustykę i dopuszczalne okładziny</td><td data-label="Nie zakładaj">że szybka powierzchnia zawsze szybko ogrzeje cały budynek</td></tr>
              <tr><td data-label="System"><strong>Elektryczny blisko okładziny</strong></td><td data-label="Reakcja">krótka droga do powierzchni może zapewnić szybką odpowiedź lokalną</td><td data-label="Weryfikacja">moc elektryczną, sterowanie, warstwy i koszt energii</td><td data-label="Nie zakładaj">że czas reakcji przesądza o kosztach rocznych</td></tr>
            </tbody>
          </table>
        </div>

        <p>Rozwiązania lekkie szerzej porównujemy w artykule o <a href="https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-wodne-bez-wylewki/">wodnym ogrzewaniu podłogowym bez wylewki</a>. Jeżeli wybór dotyczy sposobu zasilania, zobacz również zestawienie <a href="https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/">ogrzewanie podłogowe wodne czy elektryczne</a>. W obu przypadkach trzeba oddzielić czas reakcji od całkowitego kosztu inwestycji i eksploatacji.</p>
      </section>

      <section class="rk-pg-section" id="rk-hu-optymalizacja">
        <span class="rk-pg-eyebrow">Najpierw przyczyna, później korekta</span>
        <h2>Jak przyspieszyć nagrzewanie podłogówki bez przypadkowego podnoszenia zasilania?</h2>
        <p class="rk-pg-intro">Jeżeli instalacja reaguje zbyt wolno, nie zaczynaj od maksymalnej temperatury. Najpierw sprawdź, czy energia w ogóle dociera do właściwej powierzchni i czy podłoga ma wystarczającą moc dla aktualnych strat.</p>

        <ul class="rk-pg-checklist">
          <li><strong>Zweryfikuj temperaturę zasilania i powrotu.</strong> Ich wartości oraz różnica muszą być interpretowane razem z przepływem i aktualnym obciążeniem.</li>
          <li><strong>Sprawdź przepływy na rozdzielaczu.</strong> Nastawy wynikają z mocy poszczególnych pętli; nie kopiuj jednej wartości do całego domu.</li>
          <li><strong>Sprawdź pompę obiegową.</strong> Punkt pracy powinien wynikać z sumarycznego przepływu i oporu najbardziej niekorzystnej drogi, co wyjaśnia poradnik o <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">pompie obiegowej podłogówki</a>.</li>
          <li><strong>Zweryfikuj otwarcie stref.</strong> <a href="https://projekt-ogrzewania.pl/sterowanie-strefowe-ogrzewaniem-czy-warto/">Sterowanie strefowe ogrzewaniem</a> może ograniczać aktywną powierzchnię i zmieniać warunki hydrauliczne.</li>
          <li><strong>Sprawdź okładzinę jako zestaw.</strong> Dla drewna znaczenie ma produkt, grubość, sposób montażu i limit temperatury — nie tylko gatunek. Pomaga w tym poradnik o <a href="https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/">drewnie na ogrzewanie podłogowe</a>.</li>
          <li><strong>Porównaj moc z OZC.</strong> Jeżeli powierzchnia nie może oddać wymaganej mocy przy bezpiecznych parametrach, samo dłuższe czekanie nie rozwiąże problemu.</li>
          <li><strong>Koryguj jeden parametr naraz.</strong> Po każdej zmianie odczekaj czas wynikający z reakcji systemu, aby nie nakładać kilku skutków.</li>
        </ul>

        <p>Geometria instalacji także ma znaczenie. <a href="https://projekt-ogrzewania.pl/petla-grzewcza/">Pętle grzewcze</a>, <a href="https://projekt-ogrzewania.pl/srednice-rur-w-ogrzewaniu-podlogowym/">średnice rur ogrzewania podłogowego</a> i sposób ich prowadzenia trzeba rozpatrywać razem z przepływami. W strefach przy przeszkleniach rozwiązanie wynika z obciążenia, a nie z uniwersalnej szerokości pasa — zobacz <a href="https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-do-domu-z-duzymi-przeszkleniami-jak-poradzic-sobie-ze-strefa-przy-oknach/">projekt podłogówki przy dużych przeszkleniach</a>.</p>
      </section>

      <section class="rk-pg-section" id="rk-hu-wnioski">
        <span class="rk-pg-eyebrow">Najważniejsze rozróżnienie</span>
        <h2>Czas nagrzewania jest wynikiem całego układu, a nie cechą samej wylewki</h2>
        <div class="rk-pg-answer"><p><strong>Najpierw ustal, co mierzysz.</strong> Ciepła woda, rosnąca temperatura powierzchni, poprawa komfortu i nowy stan równowagi to cztery różne momenty. Następnie sprawdź, czy moc przekazywana do podłogi przewyższa aktualne straty oraz czy hydraulika zapewnia wymagany przepływ.</p></div>
        <p>Grubsza warstwa zwiększa energię potrzebną do zmiany jej średniej temperatury, ale nie daje samodzielnie czasu reakcji pokoju. Większy opór okładziny utrudnia przepływ ciepła do góry, ale nie opisuje całej pojemności. Wyższa temperatura wody może zwiększyć moc chwilową, lecz nie naprawia złej geometrii, niewystarczającej powierzchni ani błędu hydraulicznego.</p>
        <p>W instalacji z pompą ciepła projekt powinien umożliwić pracę przy możliwie niskich parametrach. Sposób łączenia źródła z pętlami opisujemy w poradniku <a href="https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/">projekt ogrzewania podłogowego z pompą ciepła</a>. Jeżeli w układzie występuje mieszanie, trzeba osobno zweryfikować działanie <a href="https://projekt-ogrzewania.pl/zawor-mieszajacy-w-ogrzewaniu-podlogowym/">zaworu mieszającego podłogówki</a>.</p>
      </section>

      <aside class="rk-pg-cta" aria-label="Zamówienie projektu ogrzewania podłogowego">
        <span class="rk-pg-cta-kicker">Zamiast zgadywać liczbę godzin, zamknij bilans każdego pomieszczenia</span>
        <h3>Zaprojektujmy moc, temperatury, pętle i przepływy jako jeden system.</h3>
        <p>Projekt określa obciążenia pomieszczeń, powierzchnię czynną, rozstawy, długości pętli, przepływy, opory i wymagane parametry zasilania. Dzięki temu wolna reakcja podłogi jest przewidywalną właściwością konstrukcji, a nie skutkiem przypadkowych nastaw lub brakującej mocy.</p>
        <a class="rk-pg-cta-button" href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Zamów projekt ogrzewania podłogowego</a>
      </aside>

      <section class="rk-pg-section" id="rk-hu-zrodla">
        <span class="rk-pg-eyebrow">Weryfikacja techniczna</span>
        <h2>Źródła oficjalne, normy i badania wykorzystane w artykule</h2>
        <p class="rk-pg-intro">Źródła opisują metody obliczania dynamiki cieplnej, godzinowego bilansu budynku, mocy ogrzewania płaszczyznowego oraz badania odpowiedzi płyty. Instrukcje materiałowe konkretnego jastrychu i systemu mają pierwszeństwo przy jego uruchamianiu.</p>
        <div class="rk-pg-sources">
          <article class="rk-pg-source"><a href="https://www.iso.org/standard/65711.html" target="_blank" rel="nofollow noopener noreferrer">ISO 13786:2017 — Dynamic thermal characteristics</a><p>Oficjalny zakres metod obliczania dynamicznych właściwości cieplnych kompletnych elementów budynku i ich warstw.</p></article>
          <article class="rk-pg-source"><a href="https://www.iso.org/standard/65696.html" target="_blank" rel="nofollow noopener noreferrer">ISO 52016-1:2017 — Energy performance of buildings</a><p>Oficjalny zakres obliczeń godzinowych zapotrzebowania, temperatur wewnętrznych i obciążeń cieplnych budynku.</p></article>
          <article class="rk-pg-source"><a href="https://sklep.pkn.pl/pn-en-1264-2-2021-10e.html" target="_blank" rel="nofollow noopener noreferrer">Polski Komitet Normalizacyjny — PN-EN 1264-2:2021-10</a><p>Zakres normy dotyczący metod określania mocy cieplnej wodnych systemów ogrzewania i chłodzenia płaszczyznowego.</p></article>
          <article class="rk-pg-source"><a href="https://www.energy.gov/energysaver/radiant-heating" target="_blank" rel="nofollow noopener noreferrer">U.S. Department of Energy — Radiant Heating</a><p>Rządowe omówienie ogrzewania promiennikowego, masywnych podłóg i sposobów ich zasilania.</p></article>
          <article class="rk-pg-source"><a href="https://pure.etsmtl.ca/en/publications/semi-analytical-model-for-thermal-response-of-anhydrite-radiant-s/" target="_blank" rel="nofollow noopener noreferrer">ÉTS Montréal — model odpowiedzi płyty anhydrytowej</a><p>Repozytorium uczelni opisujące badanie pełnowymiarowej komory oraz model czasu opóźnienia i odpowiedzi powierzchni.</p></article>
          <article class="rk-pg-source"><a href="https://www.iso.org/standard/59635.html" target="_blank" rel="nofollow noopener noreferrer">ISO 11855-2 — Embedded radiant heating and cooling systems</a><p>Oficjalna karta normy dotyczącej określania projektowej mocy systemów ogrzewania i chłodzenia płaszczyznowego.</p></article>
        </div>
        <div class="rk-pg-warning"><p><strong>Ważne:</strong> kalkulator, oś czasu i diagnostyka są narzędziami edukacyjnymi. Nie są projektem, ekspertyzą istniejącej instalacji, instrukcją wygrzewania jastrychu ani nastawą dla konkretnego źródła ciepła.</p></div>
      </section>

      <section class="rk-pg-section" id="rk-hu-faq">
        <span class="rk-pg-eyebrow">Najczęściej zadawane pytania</span>
        <h2>FAQ — ile czasu nagrzewa się ogrzewanie podłogowe?</h2>
        <div class="rk-pg-faq">
          <details><summary>Po jakim czasie od włączenia podłoga powinna być ciepła?</summary><div class="rk-pg-faq-answer"><p>W lekkich systemach zmiana powierzchni może być zauważalna stosunkowo szybko, a w systemach mokrych zwykle wymaga kilku godzin. Trzeba jednak odróżnić pierwszą zmianę temperatury od ogrzania całego pomieszczenia i osiągnięcia nowej równowagi.</p></div></details>
          <details><summary>Ile nagrzewa się podłogówka po raz pierwszy?</summary><div class="rk-pg-faq-answer"><p>Jeżeli chodzi o wychłodzony, ale użytkowany budynek, czas może wynosić od wielu godzin do kilku dób. Jeżeli chodzi o nową wylewkę, obowiązuje osobna procedura technologiczna zależna od jej rodzaju, wieku i dokumentacji systemu.</p></div></details>
          <details><summary>Ile czasu nagrzewa się podłogówka z wylewką 7 cm?</summary><div class="rk-pg-faq-answer"><p>Nie można wyznaczyć czasu z samej grubości. Potrzebne są co najmniej właściwości materiału, aktywna powierzchnia, położenie rur, temperatura wody, przepływ, moc przekazywana do podłogi, opór okładziny i straty pomieszczenia.</p></div></details>
          <details><summary>Czy podłogówka z pompą ciepła nagrzewa się wolniej niż z kotłem gazowym?</summary><div class="rk-pg-faq-answer"><p>Przy takiej samej mocy przekazywanej do podłogi oraz takich samych temperaturach i przepływach konstrukcja reaguje podobnie. Różnice wynikają z dostępnej mocy, automatyki, modulacji i przyjętych parametrów pracy źródła, a nie wyłącznie z jego nazwy.</p></div></details>
          <details><summary>Czy wyższa temperatura zasilania zawsze przyspieszy nagrzewanie?</summary><div class="rk-pg-faq-answer"><p>Może zwiększyć chwilową moc, ale nie usuwa pojemności podłogi ani problemów hydraulicznych. Trzeba zachować ograniczenia powierzchni, okładziny i źródła. Zbyt duża korekta może doprowadzić do późniejszego przegrzania lub pogorszyć sprawność pompy ciepła.</p></div></details>
          <details><summary>Czy warto wyłączać ogrzewanie podłogowe na noc?</summary><div class="rk-pg-faq-answer"><p>Nie ma jednej odpowiedzi dla wszystkich budynków. Trzeba ocenić rzeczywisty spadek temperatury, czas odrabiania, pogodę, taryfę i pracę źródła. Ciężka podłoga zwykle słabo nadaje się do gwałtownych zmian w krótkim cyklu.</p></div></details>
          <details><summary>Czy system suchy nagrzewa się szybciej od mokrego?</summary><div class="rk-pg-faq-answer"><p>System o mniejszej aktywnej masie zwykle szybciej zmienia temperaturę powierzchni. Nadal trzeba sprawdzić jego moc, równomierność, okładzinę, izolację oraz reakcję całego pomieszczenia.</p></div></details>
          <details><summary>Czy drewno mocno wydłuża czas nagrzewania podłogówki?</summary><div class="rk-pg-faq-answer"><p>Wpływ zależy od łącznego oporu cieplnego drewna, kleju lub podkładu, grubości, sposobu montażu i limitu temperatury. Sama nazwa gatunku nie pozwala podać liczby godzin.</p></div></details>
          <details><summary>Po dwóch godzinach podłoga nadal jest chłodna — czy to awaria?</summary><div class="rk-pg-faq-answer"><p>Niekoniecznie. Najpierw sprawdź temperaturę zasilania, widoczny przepływ, stopniową zmianę powrotu i powierzchni. Brak ciepłego zasilania albo brak przepływu wskazuje inny problem niż naturalna bezwładność.</p></div></details>
          <details><summary>Ile kosztuje ponowne nagrzanie podłogówki?</summary><div class="rk-pg-faq-answer"><p>Koszt zależy od energii dostarczonej do warstw i budynku, bieżących strat, sprawności źródła oraz ceny energii. Energia zgromadzona w podłodze nie jest automatycznie stratą — po wyłączeniu może być dalej oddawana do pomieszczenia.</p></div></details>
          <details><summary>Czy kalkulator wyznacza harmonogram wygrzewania nowej wylewki?</summary><div class="rk-pg-faq-answer"><p>Nie. Kalkulator służy wyłącznie do edukacyjnego bilansu energii i skali czasu. Procedurę nowej wylewki należy prowadzić zgodnie z wymaganiami konkretnego materiału, systemu i wykonawcy.</p></div></details>
          <details><summary>Czy rekuperacja skraca czas nagrzewania podłogówki?</summary><div class="rk-pg-faq-answer"><p>Rekuperacja może zmniejszyć straty wentylacyjne w porównaniu z wentylacją bez odzysku, ale nie daje uniwersalnego procentu skrócenia czasu. Wynik zależy od bilansu całego budynku, temperatur, wydatku powietrza i sposobu użytkowania.</p></div></details>
        </div>
      </section>

      <section class="rk-pg-section" id="rk-hu-autor">
        <div class="rk-pg-author">
          <div class="rk-pg-author-head">
            <div><span class="rk-pg-eyebrow">E-E-A-T i odpowiedzialność za treść</span><h2 id="rk-hu-author-heading">Autor i weryfikacja merytoryczna</h2><p>Treść przygotowana z perspektywy projektowania cieplnego, hydrauliki i rzeczywistego sterowania całym układem.</p></div>
            <span class="rk-pg-author-mark">Aktualizacja: 13.09.2026</span>
          </div>
          <div class="rk-pg-author-layout">
            <aside class="rk-pg-author-side">
              <div class="rk-pg-author-photo"><img src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski — projektant instalacji sanitarnych i specjalista HVAC" width="300" height="300" loading="lazy" decoding="async"></div>
              <div class="rk-pg-author-name"><a href="https://projekt-ogrzewania.pl/author/admin3399/">Robert Kucharski</a></div>
              <div class="rk-pg-author-role">Projektant instalacji sanitarnych i specjalista HVAC</div>
              <div class="rk-pg-author-social-label">Profile branżowe</div>
              <div class="rk-pg-author-social">
                <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" target="_blank" rel="nofollow noopener noreferrer" aria-label="LinkedIn Roberta Kucharskiego"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M6.5 8.2H3.2V21h3.3V8.2ZM4.85 3A1.92 1.92 0 1 0 4.9 6.84 1.92 1.92 0 0 0 4.85 3ZM21 13.66c0-3.86-2.06-5.66-4.81-5.66a4.14 4.14 0 0 0-3.75 2.06V8.2H9.12V21h3.32v-6.34c0-1.67.32-3.29 2.39-3.29 2.04 0 2.07 1.91 2.07 3.4V21H21v-7.34Z"/></svg></a>
                <a href="https://www.facebook.com/projektogrzewaniapl" target="_blank" rel="nofollow noopener noreferrer" aria-label="Projekt Ogrzewania na Facebooku"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M14 8.5V7c0-.74.5-.92.85-.92H17V3.13L14.05 3C11.13 3 10.47 5.16 10.47 6.55V8.5H8v3.36h2.47V21H14v-9.14h2.7l.44-3.36H14Z"/></svg></a>
                <a href="https://x.com/Projekt_HVAC" target="_blank" rel="nofollow noopener noreferrer" aria-label="Projekt HVAC w serwisie X"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M18.9 3H22l-6.77 7.74L23.2 21h-6.24l-4.89-6.39L6.49 21H3.38l7.24-8.28L2.98 3h6.4l4.42 5.84L18.9 3Zm-1.09 16.2h1.72L8.44 4.7H6.59l11.22 14.5Z"/></svg></a>
              </div>
            </aside>
            <div class="rk-pg-author-main">
              <blockquote class="rk-pg-author-quote"><p>Moim zdaniem najczęstszy błąd polega na pytaniu o jedną liczbę godzin bez określenia, czy mierzymy reakcję wody, powierzchni podłogi czy całego pomieszczenia. Najpierw sprawdzam moc, straty i przepływy, a dopiero później oceniam czas.</p></blockquote>
              <div class="rk-pg-author-cards">
                <div class="rk-pg-author-card"><b>Praktyka projektowa</b><p>Analiza OZC, powierzchni czynnej, temperatur, pętli, przepływów, rozdzielaczy, źródeł ciepła i automatyki.</p></div>
                <div class="rk-pg-author-card"><b>Metoda</b><p>Obliczona energia warstwy jest oddzielona od edukacyjnych przedziałów reakcji oraz od procedury technologicznej jastrychu.</p></div>
                <div class="rk-pg-author-card"><b>Zakres aktualizacji</b><p>Usunięto uniwersalne obietnice godzinowe i stałe reguły dotyczące wylewki, przepływów, COP oraz kosztów.</p></div>
              </div>
              <div class="rk-pg-mini-label">Portale autora</div>
              <div class="rk-pg-portals"><a href="https://projekt-ogrzewania.pl/">Projekt-Ogrzewania.pl</a><a href="https://remont.biz.pl/" target="_blank" rel="nofollow noopener noreferrer">Remont.biz.pl</a><a href="https://sobir.pl/" target="_blank" rel="nofollow noopener noreferrer">Sobir.pl</a></div>
            </div>
          </div>
        </div>
      </section>
    </div>
  </div>
</article>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "WebSite",
      "@id": "https://projekt-ogrzewania.pl/#website",
      "url": "https://projekt-ogrzewania.pl/",
      "name": "Projekt Ogrzewania",
      "inLanguage": "pl-PL",
      "publisher": {"@id": "https://projekt-ogrzewania.pl/#organization"}
    },
    {
      "@type": "Organization",
      "@id": "https://projekt-ogrzewania.pl/#organization",
      "name": "Projekt Ogrzewania",
      "url": "https://projekt-ogrzewania.pl/",
      "logo": {"@id": "https://projekt-ogrzewania.pl/#logo"},
      "founder": {"@id": "https://projekt-ogrzewania.pl/#robert-kucharski"},
      "sameAs": [
        "https://www.facebook.com/projektogrzewaniapl",
        "https://x.com/Projekt_HVAC"
      ]
    },
    {
      "@type": "Organization",
      "@id": "https://remont.biz.pl/#organization",
      "name": "Remont.biz.pl",
      "url": "https://remont.biz.pl/",
      "founder": {"@id": "https://projekt-ogrzewania.pl/#robert-kucharski"}
    },
    {
      "@type": "Organization",
      "@id": "https://sobir.pl/#organization",
      "name": "Sobir.pl",
      "url": "https://sobir.pl/",
      "founder": {"@id": "https://projekt-ogrzewania.pl/#robert-kucharski"}
    },
    {
      "@type": "ImageObject",
      "@id": "https://projekt-ogrzewania.pl/#logo",
      "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
      "contentUrl": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
      "caption": "Projekt Ogrzewania — Robert Kucharski",
      "inLanguage": "pl-PL"
    },
    {
      "@type": "Person",
      "@id": "https://projekt-ogrzewania.pl/#robert-kucharski",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/author/admin3399/",
      "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
      "jobTitle": "Projektant instalacji sanitarnych i specjalista HVAC",
      "worksFor": {"@id": "https://projekt-ogrzewania.pl/#organization"},
      "knowsAbout": [
        "wodne ogrzewanie podłogowe",
        "obliczenia zapotrzebowania cieplnego",
        "hydraulika instalacji grzewczych",
        "pompy ciepła",
        "automatyka ogrzewania"
      ],
      "sameAs": [
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://www.facebook.com/projektogrzewaniapl",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    {
      "@type": "ImageObject",
      "@id": "https://projekt-ogrzewania.pl/ile-czasu-nagrzewa-sie-podlogowka/#primaryimage",
      "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Ile-czasu-nagrzewa-sie-podlogowka.webp",
      "contentUrl": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Ile-czasu-nagrzewa-sie-podlogowka.webp",
      "caption": "Ile czasu nagrzewa się podłogówka — etapy reakcji systemu",
      "inLanguage": "pl-PL"
    },
    {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-czasu-nagrzewa-sie-podlogowka/#webpage",
      "url": "https://projekt-ogrzewania.pl/ile-czasu-nagrzewa-sie-podlogowka/",
      "name": "Ile czasu nagrzewa się podłogówka? Kalkulator i wykres",
      "description": "Ile czasu nagrzewa się podłogówka? Sprawdź kalkulator czasu reakcji oraz wpływ wylewki, posadzki, mocy, strat budynku i nocnego obniżenia temperatury.",
      "isPartOf": {"@id": "https://projekt-ogrzewania.pl/#website"},
      "primaryImageOfPage": {"@id": "https://projekt-ogrzewania.pl/ile-czasu-nagrzewa-sie-podlogowka/#primaryimage"},
      "breadcrumb": {"@id": "https://projekt-ogrzewania.pl/ile-czasu-nagrzewa-sie-podlogowka/#breadcrumb"},
      "dateModified": "2026-09-13",
      "inLanguage": "pl-PL",
      "mainEntity": [
        {"@id": "https://projekt-ogrzewania.pl/ile-czasu-nagrzewa-sie-podlogowka/#article"},
        {"@id": "https://projekt-ogrzewania.pl/ile-czasu-nagrzewa-sie-podlogowka/#calculator"},
        {"@id": "https://projekt-ogrzewania.pl/ile-czasu-nagrzewa-sie-podlogowka/#diagnostic"},
        {"@id": "https://projekt-ogrzewania.pl/ile-czasu-nagrzewa-sie-podlogowka/#faq"}
      ]
    },
    {
      "@type": "BreadcrumbList",
      "@id": "https://projekt-ogrzewania.pl/ile-czasu-nagrzewa-sie-podlogowka/#breadcrumb",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Projekt Ogrzewania",
          "item": "https://projekt-ogrzewania.pl/"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Ile czasu nagrzewa się podłogówka?",
          "item": "https://projekt-ogrzewania.pl/ile-czasu-nagrzewa-sie-podlogowka/"
        }
      ]
    },
    {
      "@type": "TechArticle",
      "@id": "https://projekt-ogrzewania.pl/ile-czasu-nagrzewa-sie-podlogowka/#article",
      "headline": "Ile czasu nagrzewa się podłogówka?",
      "alternativeHeadline": "Czas nagrzewania ogrzewania podłogowego — kalkulator, etapy i diagnostyka",
      "description": "Poradnik wyjaśnia czas reakcji wody, powierzchni podłogi i pomieszczenia oraz pokazuje wpływ wylewki, mocy, strat, okładziny, hydrauliki i sterowania.",
      "url": "https://projekt-ogrzewania.pl/ile-czasu-nagrzewa-sie-podlogowka/",
      "mainEntityOfPage": {"@id": "https://projekt-ogrzewania.pl/ile-czasu-nagrzewa-sie-podlogowka/#webpage"},
      "image": {"@id": "https://projekt-ogrzewania.pl/ile-czasu-nagrzewa-sie-podlogowka/#primaryimage"},
      "author": {"@id": "https://projekt-ogrzewania.pl/#robert-kucharski"},
      "publisher": {"@id": "https://projekt-ogrzewania.pl/#organization"},
      "dateModified": "2026-09-13",
      "inLanguage": "pl-PL",
      "isAccessibleForFree": true,
      "articleSection": [
        "czas nagrzewania podłogówki",
        "bilans energii",
        "diagnostyka ogrzewania podłogowego",
        "sterowanie",
        "hydraulika"
      ],
      "keywords": [
        "ile czasu nagrzewa się podłogówka",
        "ile nagrzewa się ogrzewanie podłogowe",
        "podłogówka długo się nagrzewa",
        "czas nagrzewania podłogówki po włączeniu",
        "podłogówka po nocnym obniżeniu",
        "kalkulator czasu nagrzewania podłogówki"
      ],
      "citation": [
        "https://www.iso.org/standard/65711.html",
        "https://www.iso.org/standard/65696.html",
        "https://sklep.pkn.pl/pn-en-1264-2-2021-10e.html",
        "https://www.energy.gov/energysaver/radiant-heating",
        "https://pure.etsmtl.ca/en/publications/semi-analytical-model-for-thermal-response-of-anhydrite-radiant-s/",
        "https://www.iso.org/standard/59635.html"
      ]
    },
    {
      "@type": "WebApplication",
      "@id": "https://projekt-ogrzewania.pl/ile-czasu-nagrzewa-sie-podlogowka/#calculator",
      "name": "Kalkulator czasu nagrzewania podłogówki i kosztu jednego uruchomienia",
      "url": "https://projekt-ogrzewania.pl/ile-czasu-nagrzewa-sie-podlogowka/#rk-hu-kalkulator",
      "applicationCategory": "UtilitiesApplication",
      "operatingSystem": "Dowolny system z przeglądarką internetową",
      "browserRequirements": "JavaScript",
      "description": "Edukacyjne narzędzie obliczające objętość i pojemność cieplną aktywnej warstwy, energię dla zadanej zmiany temperatury, moc netto, skalę etapów reakcji oraz koszt pojedynczego uruchomienia.",
      "isAccessibleForFree": true,
      "provider": {"@id": "https://projekt-ogrzewania.pl/#organization"},
      "offers": {"@type": "Offer", "price": "0", "priceCurrency": "PLN"},
      "featureList": [
        "trzy scenariusze uruchomienia",
        "presety konstrukcji mokrej i suchej",
        "responsywna oś czasu",
        "koszt pojedynczego zdarzenia",
        "wyniki aktualizowane po zmianie danych"
      ]
    },
    {
      "@type": "WebApplication",
      "@id": "https://projekt-ogrzewania.pl/ile-czasu-nagrzewa-sie-podlogowka/#diagnostic",
      "name": "Diagnostyka: podłogówka długo się nagrzewa",
      "url": "https://projekt-ogrzewania.pl/ile-czasu-nagrzewa-sie-podlogowka/#rk-hu-diagnostyka",
      "applicationCategory": "UtilitiesApplication",
      "operatingSystem": "Dowolny system z przeglądarką internetową",
      "browserRequirements": "JavaScript",
      "description": "Interaktywny moduł porządkujący diagnostykę drogi energii od źródła przez przepływ i powierzchnię podłogi do pomieszczenia.",
      "isAccessibleForFree": true,
      "provider": {"@id": "https://projekt-ogrzewania.pl/#organization"},
      "offers": {"@type": "Offer", "price": "0", "priceCurrency": "PLN"}
    },
    {
      "@type": "HowTo",
      "@id": "https://projekt-ogrzewania.pl/ile-czasu-nagrzewa-sie-podlogowka/#measurement-howto",
      "name": "Jak zmierzyć rzeczywisty czas reakcji własnej podłogówki?",
      "description": "Sześć kroków pomagających oddzielnie zmierzyć reakcję obiegu, powierzchni i pomieszczenia.",
      "inLanguage": "pl-PL",
      "step": [
        {"@type": "HowToStep", "position": 1, "name": "Wybierz spokojny dzień", "text": "Unikaj testu podczas gwałtownego ocieplenia, silnego słońca, długiego wietrzenia albo działania kominka."},
        {"@type": "HowToStep", "position": 2, "name": "Zapisz punkt startowy", "text": "Zanotuj temperaturę zewnętrzną, pokojową, zasilania, powrotu oraz powierzchni w kilku oznaczonych miejscach."},
        {"@type": "HowToStep", "position": 3, "name": "Zmień jeden parametr", "text": "Wprowadź niewielką, kontrolowaną zmianę nastawy i nie zmieniaj równocześnie innych parametrów."},
        {"@type": "HowToStep", "position": 4, "name": "Mierz tę samą powierzchnię", "text": "Oznacz stałe punkty pomiaru i porównuj podobne powierzchnie o znanej emisyjności."},
        {"@type": "HowToStep", "position": 5, "name": "Obserwuj kilka etapów", "text": "Zapisuj osobno reakcję wody, pierwszą zmianę powierzchni i późniejszą odpowiedź termometru pokojowego."},
        {"@type": "HowToStep", "position": 6, "name": "Porównuj podobne warunki", "text": "Porównaj kilka dni o zbliżonej temperaturze zewnętrznej zamiast wyciągać wnioski z jednego testu."}
      ]
    },
    {
      "@type": "ItemList",
      "@id": "https://projekt-ogrzewania.pl/ile-czasu-nagrzewa-sie-podlogowka/#reaction-stages",
      "name": "Cztery etapy nagrzewania ogrzewania podłogowego",
      "numberOfItems": 4,
      "itemListOrder": "https://schema.org/ItemListOrderAscending",
      "itemListElement": [
        {"@type": "ListItem", "position": 1, "name": "Źródło i woda", "description": "Źródło oraz regulacja budują temperaturę wody i przekazują energię do obiegu."},
        {"@type": "ListItem", "position": 2, "name": "Rura i jastrych", "description": "Ciepło rozchodzi się od przewodów przez aktywną masę konstrukcji."},
        {"@type": "ListItem", "position": 3, "name": "Powierzchnia podłogi", "description": "Energia przechodzi przez okładzinę i podkład do powierzchni."},
        {"@type": "ListItem", "position": 4, "name": "Pomieszczenie i budynek", "description": "Podłoga ogrzewa pomieszczenie, przegrody i wyposażenie, pokrywając jednocześnie straty."}
      ]
    },
    {
      "@type": "FAQPage",
      "@id": "https://projekt-ogrzewania.pl/ile-czasu-nagrzewa-sie-podlogowka/#faq",
      "mainEntity": [
        {
          "@type": "Question",
          "name": "Po jakim czasie od włączenia podłoga powinna być ciepła?",
          "acceptedAnswer": {"@type": "Answer", "text": "W lekkich systemach zmiana powierzchni może być zauważalna stosunkowo szybko, a w systemach mokrych zwykle wymaga kilku godzin. Trzeba jednak odróżnić pierwszą zmianę temperatury od ogrzania całego pomieszczenia i osiągnięcia nowej równowagi."}
        },
        {
          "@type": "Question",
          "name": "Ile nagrzewa się podłogówka po raz pierwszy?",
          "acceptedAnswer": {"@type": "Answer", "text": "Jeżeli chodzi o wychłodzony, ale użytkowany budynek, czas może wynosić od wielu godzin do kilku dób. Jeżeli chodzi o nową wylewkę, obowiązuje osobna procedura technologiczna zależna od jej rodzaju, wieku i dokumentacji systemu."}
        },
        {
          "@type": "Question",
          "name": "Ile czasu nagrzewa się podłogówka z wylewką 7 cm?",
          "acceptedAnswer": {"@type": "Answer", "text": "Nie można wyznaczyć czasu z samej grubości. Potrzebne są co najmniej właściwości materiału, aktywna powierzchnia, położenie rur, temperatura wody, przepływ, moc przekazywana do podłogi, opór okładziny i straty pomieszczenia."}
        },
        {
          "@type": "Question",
          "name": "Czy podłogówka z pompą ciepła nagrzewa się wolniej niż z kotłem gazowym?",
          "acceptedAnswer": {"@type": "Answer", "text": "Przy takiej samej mocy przekazywanej do podłogi oraz takich samych temperaturach i przepływach konstrukcja reaguje podobnie. Różnice wynikają z dostępnej mocy, automatyki, modulacji i przyjętych parametrów pracy źródła, a nie wyłącznie z jego nazwy."}
        },
        {
          "@type": "Question",
          "name": "Czy wyższa temperatura zasilania zawsze przyspieszy nagrzewanie?",
          "acceptedAnswer": {"@type": "Answer", "text": "Może zwiększyć chwilową moc, ale nie usuwa pojemności podłogi ani problemów hydraulicznych. Trzeba zachować ograniczenia powierzchni, okładziny i źródła. Zbyt duża korekta może doprowadzić do późniejszego przegrzania lub pogorszyć sprawność pompy ciepła."}
        },
        {
          "@type": "Question",
          "name": "Czy warto wyłączać ogrzewanie podłogowe na noc?",
          "acceptedAnswer": {"@type": "Answer", "text": "Nie ma jednej odpowiedzi dla wszystkich budynków. Trzeba ocenić rzeczywisty spadek temperatury, czas odrabiania, pogodę, taryfę i pracę źródła. Ciężka podłoga zwykle słabo nadaje się do gwałtownych zmian w krótkim cyklu."}
        },
        {
          "@type": "Question",
          "name": "Czy system suchy nagrzewa się szybciej od mokrego?",
          "acceptedAnswer": {"@type": "Answer", "text": "System o mniejszej aktywnej masie zwykle szybciej zmienia temperaturę powierzchni. Nadal trzeba sprawdzić jego moc, równomierność, okładzinę, izolację oraz reakcję całego pomieszczenia."}
        },
        {
          "@type": "Question",
          "name": "Czy drewno mocno wydłuża czas nagrzewania podłogówki?",
          "acceptedAnswer": {"@type": "Answer", "text": "Wpływ zależy od łącznego oporu cieplnego drewna, kleju lub podkładu, grubości, sposobu montażu i limitu temperatury. Sama nazwa gatunku nie pozwala podać liczby godzin."}
        },
        {
          "@type": "Question",
          "name": "Po dwóch godzinach podłoga nadal jest chłodna — czy to awaria?",
          "acceptedAnswer": {"@type": "Answer", "text": "Niekoniecznie. Najpierw sprawdź temperaturę zasilania, widoczny przepływ, stopniową zmianę powrotu i powierzchni. Brak ciepłego zasilania albo brak przepływu wskazuje inny problem niż naturalna bezwładność."}
        },
        {
          "@type": "Question",
          "name": "Ile kosztuje ponowne nagrzanie podłogówki?",
          "acceptedAnswer": {"@type": "Answer", "text": "Koszt zależy od energii dostarczonej do warstw i budynku, bieżących strat, sprawności źródła oraz ceny energii. Energia zgromadzona w podłodze nie jest automatycznie stratą — po wyłączeniu może być dalej oddawana do pomieszczenia."}
        },
        {
          "@type": "Question",
          "name": "Czy kalkulator wyznacza harmonogram wygrzewania nowej wylewki?",
          "acceptedAnswer": {"@type": "Answer", "text": "Nie. Kalkulator służy wyłącznie do edukacyjnego bilansu energii i skali czasu. Procedurę nowej wylewki należy prowadzić zgodnie z wymaganiami konkretnego materiału, systemu i wykonawcy."}
        },
        {
          "@type": "Question",
          "name": "Czy rekuperacja skraca czas nagrzewania podłogówki?",
          "acceptedAnswer": {"@type": "Answer", "text": "Rekuperacja może zmniejszyć straty wentylacyjne w porównaniu z wentylacją bez odzysku, ale nie daje uniwersalnego procentu skrócenia czasu. Wynik zależy od bilansu całego budynku, temperatur, wydatku powietrza i sposobu użytkowania."}
        }
      ]
    }
  ]
}
</script>

<script>
(function () {
  "use strict";

  var root = document.getElementById("rk-heatup-guide");
  if (!root) {
    return;
  }

  function byId(id) {
    return document.getElementById(id);
  }

  function readNumber(id) {
    var field = byId(id);
    if (!field) {
      return NaN;
    }
    return parseFloat(String(field.value).replace(",", "."));
  }

  function writeText(id, value) {
    var element = byId(id);
    if (element) {
      element.textContent = value;
    }
  }

  function writeValue(id, value) {
    var element = byId(id);
    if (element) {
      element.value = value;
    }
  }

  function clamp(value, minimum, maximum) {
    return Math.min(Math.max(value, minimum), maximum);
  }

  function formatNumber(value, digits) {
    if (!Number.isFinite(value)) {
      return "—";
    }
    return value.toLocaleString("pl-PL", {
      minimumFractionDigits: digits,
      maximumFractionDigits: digits
    });
  }

  function formatHours(value) {
    if (!Number.isFinite(value)) {
      return "—";
    }
    var totalMinutes = Math.max(0, Math.round(value * 60));
    if (totalMinutes < 60) {
      return totalMinutes + " min";
    }
    var hours = Math.floor(totalMinutes / 60);
    var minutes = totalMinutes % 60;
    if (minutes === 0) {
      return hours + " godz.";
    }
    return hours + " godz. " + minutes + " min";
  }

  function formatRange(low, high) {
    if (!Number.isFinite(low)) {
      return "—";
    }
    if (!Number.isFinite(high)) {
      return "—";
    }
    if (high <= 1) {
      return Math.round(low * 60) + "–" + Math.round(high * 60) + " min";
    }
    return formatNumber(low, 1) + "–" + formatNumber(high, 1) + " godz.";
  }

  var systems = {
    cement: {thickness: 65, capacity: 2.00, response: 1.00, waterLow: 0.17, waterHigh: 0.75},
    anhydrite: {thickness: 50, capacity: 1.90, response: 0.82, waterLow: 0.15, waterHigh: 0.67},
    dry: {thickness: 25, capacity: 0.90, response: 0.50, waterLow: 0.08, waterHigh: 0.50},
    custom: {thickness: 65, capacity: 2.00, response: 1.00, waterLow: 0.17, waterHigh: 0.75}
  };

  var scenarios = {
    correction: {factor: 1.00, delta: 2},
    restart: {factor: 1.35, delta: 5},
    cold: {factor: 1.80, delta: 10}
  };

  var sourcePresets = {
    heatpump: {
      factor: 3.80,
      label: "COP dla punktu pracy",
      help: "Współczynnik dla analizowanego okresu, nie wartość z etykiety urządzenia."
    },
    gas: {
      factor: 0.94,
      label: "Sprawność w analizowanym okresie",
      help: "Uproszczona sprawność dostarczenia ciepła w analizowanym zdarzeniu."
    },
    electric: {
      factor: 0.99,
      label: "Sprawność dostarczenia ciepła",
      help: "Dla oporowego ogrzewania elektrycznego wartość jest zwykle bliska jedności."
    },
    solid: {
      factor: 0.80,
      label: "Sprawność w analizowanym okresie",
      help: "Wpisz sprawność odpowiadającą paliwu, obciążeniu i sposobowi pracy kotła."
    }
  };

  var activeScenario = "correction";

  function updateRangeLabels() {
    writeText("rk-hu-area-output", formatNumber(readNumber("rk-hu-area"), 0) + " m²");
    writeText("rk-hu-thickness-output", formatNumber(readNumber("rk-hu-thickness"), 0) + " mm");
    writeText("rk-hu-delta-output", formatNumber(readNumber("rk-hu-delta"), 1) + " K");
    writeText("rk-hu-resistance-output", formatNumber(readNumber("rk-hu-resistance"), 3) + " m²·K/W");
  }

  function clearCalculator(message) {
    var outputIds = [
      "rk-hu-result-volume",
      "rk-hu-result-capacity",
      "rk-hu-result-energy",
      "rk-hu-result-net",
      "rk-hu-result-minimum",
      "rk-hu-result-surface",
      "rk-hu-result-room",
      "rk-hu-result-stable",
      "rk-hu-time-water",
      "rk-hu-time-surface",
      "rk-hu-time-room",
      "rk-hu-time-stable",
      "rk-hu-source-energy",
      "rk-hu-event-cost"
    ];
    outputIds.forEach(function (id) {
      writeText(id, "—");
    });
    writeText("rk-hu-timeline-scale", "brak skali");
    writeText("rk-hu-calculator-status", message);
    ["rk-hu-fill-water", "rk-hu-fill-surface", "rk-hu-fill-room", "rk-hu-fill-stable"].forEach(function (id) {
      var bar = byId(id);
      if (bar) {
        bar.style.width = "0%";
      }
    });
  }

  function setBarWidth(id, endValue, scale) {
    var bar = byId(id);
    if (!bar) {
      return;
    }
    var width = clamp(endValue / scale * 100, 4, 100);
    bar.style.width = formatNumber(width, 1).replace(",", ".") + "%";
  }

  function updateCost(deliveredEnergy) {
    var factor = readNumber("rk-hu-factor");
    var price = readNumber("rk-hu-price");
    var valid = Number.isFinite(deliveredEnergy);
    if (valid) {
      valid = Number.isFinite(factor);
    }
    if (valid) {
      valid = Number.isFinite(price);
    }
    if (valid) {
      valid = factor > 0;
    }
    if (valid) {
      valid = price >= 0;
    }
    if (!valid) {
      writeText("rk-hu-source-energy", "—");
      writeText("rk-hu-event-cost", "—");
      return;
    }
    var sourceEnergy = deliveredEnergy / factor;
    var eventCost = sourceEnergy * price;
    writeText("rk-hu-source-energy", formatNumber(sourceEnergy, 2) + " kWh");
    writeText("rk-hu-event-cost", formatNumber(eventCost, 2) + " zł");
  }

  function calculate() {
    updateRangeLabels();

    var area = readNumber("rk-hu-area");
    var thickness = readNumber("rk-hu-thickness");
    var volumetricCapacity = readNumber("rk-hu-cv");
    var delta = readNumber("rk-hu-delta");
    var power = readNumber("rk-hu-power");
    var losses = readNumber("rk-hu-loss");
    var resistance = readNumber("rk-hu-resistance");
    var values = [area, thickness, volumetricCapacity, delta, power, losses, resistance];
    var valid = values.every(function (value) {
      return Number.isFinite(value);
    });

    if (valid) {
      valid = area > 0;
    }
    if (valid) {
      valid = thickness > 0;
    }
    if (valid) {
      valid = volumetricCapacity > 0;
    }
    if (valid) {
      valid = delta > 0;
    }
    if (valid) {
      valid = power > 0;
    }
    if (valid) {
      valid = losses >= 0;
    }
    if (valid) {
      valid = resistance >= 0;
    }

    if (!valid) {
      clearCalculator("Uzupełnij wszystkie pola poprawnymi, dodatnimi wartościami.");
      return;
    }

    var netPower = power - losses;
    if (netPower <= 0) {
      clearCalculator("Moc przekazywana do podłogi nie przewyższa bieżących strat. W takim punkcie pracy model nie może wyznaczyć czasu wzrostu temperatury.");
      writeText("rk-hu-result-net", formatNumber(netPower, 2) + " kW");
      return;
    }

    var systemField = byId("rk-hu-system");
    var systemKey = systemField ? systemField.value : "custom";
    var system = systems[systemKey];
    if (!system) {
      system = systems.custom;
    }
    var scenario = scenarios[activeScenario];
    if (!scenario) {
      scenario = scenarios.correction;
    }

    var volume = area * thickness / 1000;
    var capacity = volume * volumetricCapacity / 3.6;
    var storedEnergy = capacity * delta;
    var minimumTime = storedEnergy / netPower;
    var resistanceFactor = 1 + clamp((resistance - 0.02) / 0.13, 0, 1) * 0.35;
    var responseFactor = system.response * resistanceFactor;
    var scenarioFactor = scenario.factor;

    var surfaceLow = minimumTime * 0.28 * responseFactor;
    var surfaceHigh = minimumTime * 0.68 * responseFactor;
    var roomLow = minimumTime * 0.75 * scenarioFactor * responseFactor;
    var roomHigh = minimumTime * 1.55 * scenarioFactor * responseFactor;
    var stableLow = minimumTime * 1.45 * scenarioFactor * responseFactor;
    var stableHigh = minimumTime * 2.80 * scenarioFactor * responseFactor;
    var scale = Math.max(stableHigh, 1);

    writeText("rk-hu-result-volume", formatNumber(volume, 2) + " m³");
    writeText("rk-hu-result-capacity", formatNumber(capacity, 2) + " kWh/K");
    writeText("rk-hu-result-energy", formatNumber(storedEnergy, 2) + " kWh");
    writeText("rk-hu-result-net", formatNumber(netPower, 2) + " kW");
    writeText("rk-hu-result-minimum", formatHours(minimumTime));
    writeText("rk-hu-result-surface", formatRange(surfaceLow, surfaceHigh));
    writeText("rk-hu-result-room", formatRange(roomLow, roomHigh));
    writeText("rk-hu-result-stable", formatRange(stableLow, stableHigh));
    writeText("rk-hu-calculator-status", "Wynik pokazuje bilans uproszczony. Nie uwzględnia przestrzennego rozkładu temperatury, całej masy budynku, pogody zmiennej w czasie ani logiki konkretnego regulatora.");

    writeText("rk-hu-timeline-scale", "skala do " + formatNumber(scale, 1) + " godz.");
    writeText("rk-hu-time-water", "około " + formatRange(system.waterLow, system.waterHigh));
    writeText("rk-hu-time-surface", formatRange(surfaceLow, surfaceHigh));
    writeText("rk-hu-time-room", formatRange(roomLow, roomHigh));
    writeText("rk-hu-time-stable", formatRange(stableLow, stableHigh));
    setBarWidth("rk-hu-fill-water", system.waterHigh, scale);
    setBarWidth("rk-hu-fill-surface", surfaceHigh, scale);
    setBarWidth("rk-hu-fill-room", roomHigh, scale);
    setBarWidth("rk-hu-fill-stable", stableHigh, scale);

    var deliveredEnergy = power * minimumTime;
    updateCost(deliveredEnergy);
  }

  function selectScenario(name, updateDelta) {
    if (!scenarios[name]) {
      return;
    }
    activeScenario = name;
    root.querySelectorAll("[data-rk-hu-scenario]").forEach(function (button) {
      var active = button.getAttribute("data-rk-hu-scenario") === name;
      button.classList.toggle("is-active", active);
      button.setAttribute("aria-pressed", active ? "true" : "false");
    });
    if (updateDelta) {
      writeValue("rk-hu-delta", scenarios[name].delta);
    }
    calculate();
  }

  function applySystemPreset() {
    var field = byId("rk-hu-system");
    if (!field) {
      return;
    }
    var preset = systems[field.value];
    if (!preset) {
      return;
    }
    if (field.value !== "custom") {
      writeValue("rk-hu-thickness", preset.thickness);
      writeValue("rk-hu-cv", preset.capacity.toFixed(2));
    }
    calculate();
  }

  function applySourcePreset(updateFactor) {
    var source = byId("rk-hu-source");
    if (!source) {
      return;
    }
    var preset = sourcePresets[source.value];
    if (!preset) {
      return;
    }
    writeText("rk-hu-factor-label", preset.label);
    writeText("rk-hu-factor-help", preset.help);
    if (updateFactor) {
      writeValue("rk-hu-factor", preset.factor.toFixed(2));
    }
    calculate();
  }

  root.querySelectorAll("[data-rk-hu-scenario]").forEach(function (button) {
    button.addEventListener("click", function () {
      selectScenario(button.getAttribute("data-rk-hu-scenario"), true);
    });
  });

  var systemField = byId("rk-hu-system");
  if (systemField) {
    systemField.addEventListener("change", applySystemPreset);
  }

  var sourceField = byId("rk-hu-source");
  if (sourceField) {
    sourceField.addEventListener("change", function () {
      applySourcePreset(true);
    });
  }

  root.querySelectorAll("#rk-hu-calculator-tool input, #rk-hu-calculator-tool select, .rk-hu-cost-box input, .rk-hu-cost-box select").forEach(function (field) {
    field.addEventListener("input", calculate);
  });

  var resetButton = byId("rk-hu-calc-reset");
  if (resetButton) {
    resetButton.addEventListener("click", function () {
      writeValue("rk-hu-system", "cement");
      writeValue("rk-hu-area", 80);
      writeValue("rk-hu-thickness", 65);
      writeValue("rk-hu-cv", "2.00");
      writeValue("rk-hu-delta", 2);
      writeValue("rk-hu-power", "5.5");
      writeValue("rk-hu-loss", "3.0");
      writeValue("rk-hu-resistance", "0.05");
      writeValue("rk-hu-source", "heatpump");
      writeValue("rk-hu-factor", "3.80");
      writeValue("rk-hu-price", "1.00");
      applySourcePreset(false);
      selectScenario("correction", false);
    });
  }

  var diagnosticState = {};
  var diagnosticButtons = root.querySelectorAll(".rk-hu-choice");

  diagnosticButtons.forEach(function (button) {
    var question = button.getAttribute("data-rk-hu-question");
    if (button.classList.contains("is-active")) {
      diagnosticState[question] = button.getAttribute("data-rk-hu-value");
    }
  });

  function renderSteps(steps) {
    var list = byId("rk-hu-diag-steps");
    if (!list) {
      return;
    }
    while (list.firstChild) {
      list.removeChild(list.firstChild);
    }
    steps.forEach(function (step) {
      var item = document.createElement("li");
      item.textContent = step;
      list.appendChild(item);
    });
  }

  function diagnose() {
    var result = {
      state: "Najbardziej prawdopodobne: naturalna bezwładność",
      title: "Energia dociera do obiegu, ale ciężka podłoga może jeszcze nie pokazywać wyraźnej zmiany.",
      text: "Ciepłe zasilanie, widoczny przepływ i stopniowo cieplejszy powrót wskazują, że obieg przekazuje energię. Obserwuj powierzchnię w kilku stałych punktach i nie zmieniaj jednocześnie wielu nastaw.",
      steps: [
        "Zapisz temperaturę zasilania i powrotu.",
        "Sprawdź ponownie te same punkty powierzchni po 60–90 minutach.",
        "Nie podnoś gwałtownie temperatury zasilania tylko z powodu wolnej reakcji."
      ]
    };

    if (diagnosticState.supply === "no") {
      result = {
        state: "Najpierw sprawdź źródło i sterowanie",
        title: "Do rozdzielacza prawdopodobnie nie dociera wyraźnie cieplejsza woda.",
        text: "Brak reakcji zasilania nie jest cechą wylewki. Trzeba zweryfikować tryb źródła, harmonogram, krzywą grzewczą, zawór mieszający, pompę i sygnał zapotrzebowania.",
        steps: [
          "Odczytaj temperaturę zasilania przy źródle i rozdzielaczu.",
          "Sprawdź, czy sterownik rzeczywiście zgłasza grzanie.",
          "Nie zwiększaj przypadkowo nastaw bez ustalenia przyczyny."
        ]
      };
    } else if (diagnosticState.flow === "no") {
      result = {
        state: "Najpierw sprawdź hydraulikę obiegu",
        title: "Ciepło dochodzi do rozdzielacza, ale brak potwierdzonego przepływu przez pętle.",
        text: "Bez przepływu energia nie dociera skutecznie do aktywnej powierzchni. Przyczyną mogą być zamknięte siłowniki, pompa, zapowietrzenie, zawory albo błędne nastawy.",
        steps: [
          "Sprawdź położenie zaworów i siłowników.",
          "Odczytaj rotametry przy pracującej pompie.",
          "Zweryfikuj odpowietrzenie oraz punkt pracy pompy."
        ]
      };
    } else if (diagnosticState.return === "no") {
      result = {
        state: "Sprawdź ciągłość przepływu i odbiór ciepła",
        title: "Zasilanie jest ciepłe, lecz powrót nie potwierdza jeszcze prawidłowej pracy całej pętli.",
        text: "Przy krótkim czasie może to być etap przejściowy. Jeżeli stan utrzymuje się długo, trzeba sprawdzić przepływ, zapowietrzenie, długość pętli, opory i rzeczywistą temperaturę wody.",
        steps: [
          "Porównaj temperatury zasilania i powrotu na tej samej pętli.",
          "Zapisz przepływ i czas od uruchomienia.",
          "Przy długotrwałym braku reakcji skontroluj obieg hydraulicznie."
        ]
      };
    } else if (diagnosticState.surface === "yes") {
      if (diagnosticState.room === "yes") {
        result = {
          state: "Układ wykazuje prawidłową kolejność reakcji",
          title: "Reagują woda, powierzchnia i pomieszczenie.",
          text: "To wskazuje na przekazywanie energii przez wszystkie obserwowane etapy. Oceniaj komfort i stabilność przez dłuższy okres zamiast przyspieszać układ kolejnymi korektami.",
          steps: [
            "Pozostaw ustawienia bez zmian przez reprezentatywny okres.",
            "Porównaj wynik przy podobnej temperaturze zewnętrznej.",
            "Koryguj tylko jeden parametr naraz."
          ]
        };
      } else {
        result = {
          state: "Podłoga reaguje, sprawdź bilans pomieszczenia",
          title: "Powierzchnia jest cieplejsza, ale temperatura pokoju jeszcze nie rośnie.",
          text: "Przy krótkim czasie może to być naturalne. Gdy sytuacja trwa długo, porównaj moc oddawaną przez czynną powierzchnię ze stratami pomieszczenia oraz uwzględnij ściany, okna, wentylację i otwarte strefy.",
          steps: [
            "Sprawdź temperaturę powierzchni w kilku miejscach.",
            "Porównaj aktywną powierzchnię z obciążeniem cieplnym pokoju.",
            "Zweryfikuj wietrzenie, zyski i stan pozostałych stref."
          ]
        };
      }
    } else if (diagnosticState.time === "long") {
      result = {
        state: "Warto sprawdzić drogę ciepła do powierzchni",
        title: "Obieg pracuje, lecz po ponad czterech godzinach nie widać zmiany powierzchni.",
        text: "Możliwa jest bardzo ciężka konstrukcja, mała nadwyżka mocy lub duży opór okładziny, ale trzeba też wykluczyć zbyt niską temperaturę wody, błędne przepływy i niewystarczającą moc.",
        steps: [
          "Zmierz zasilanie, powrót i przepływy zamiast oceniać dotykiem.",
          "Sprawdź dokumentację warstw oraz opór okładziny.",
          "Porównaj moc podłogi z aktualnymi stratami pomieszczenia."
        ]
      };
    } else if (diagnosticState.time === "short") {
      result = {
        state: "Na tym etapie zwykle potrzebna jest obserwacja",
        title: "Mniej niż godzina to często za krótko, aby oceniać powierzchnię i cały pokój.",
        text: "Najpierw powinna pojawić się reakcja obiegu. Ciężka warstwa i pomieszczenie odpowiadają później, dlatego szybkie, kolejne zmiany nastaw utrudniają ocenę.",
        steps: [
          "Potwierdź temperaturę zasilania i przepływ.",
          "Zapisz punkt startowy pomiaru.",
          "Wróć do tych samych punktów po 60–90 minutach."
        ]
      };
    }

    writeText("rk-hu-diag-state", result.state);
    writeText("rk-hu-diag-title", result.title);
    writeText("rk-hu-diag-text", result.text);
    renderSteps(result.steps);
  }

  diagnosticButtons.forEach(function (button) {
    button.addEventListener("click", function () {
      var question = button.getAttribute("data-rk-hu-question");
      var value = button.getAttribute("data-rk-hu-value");
      diagnosticState[question] = value;
      root.querySelectorAll("[data-rk-hu-question='" + question + "']").forEach(function (choice) {
        var active = choice === button;
        choice.classList.toggle("is-active", active);
        choice.setAttribute("aria-pressed", active ? "true" : "false");
      });
      diagnose();
    });
  });

  applySourcePreset(false);
  selectScenario("correction", false);
  diagnose();
}());
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/ile-czasu-nagrzewa-sie-podlogowka/">Ile czasu nagrzewa się podłogówka?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Czy warto montować sterowniki do ogrzewania podłogowego?</title>
		<link>https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Thu, 11 Dec 2025 10:36:22 +0000</pubDate>
				<category><![CDATA[Automatyka domowa]]></category>
		<category><![CDATA[Energooszczędność]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Komfort w domu]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradniki techniczne]]></category>
		<category><![CDATA[Projekty instalacji]]></category>
		<category><![CDATA[Smart home]]></category>
		<category><![CDATA[Sterowanie ogrzewaniem]]></category>
		<category><![CDATA[Sterowniki do podłogówki]]></category>
		<category><![CDATA[Technika grzewcza]]></category>
		<category><![CDATA[automatyka grzewcza]]></category>
		<category><![CDATA[instalacje grzewcze]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[oszczędność energii]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[regulacja temperatury]]></category>
		<category><![CDATA[smart home]]></category>
		<category><![CDATA[sterownik pogodowy]]></category>
		<category><![CDATA[sterownik pokojowy]]></category>
		<category><![CDATA[sterowniki do podłogówki]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2934</guid>

					<description><![CDATA[<p>Czy warto montować sterowniki do ogrzewania podłogowego? To pytanie zadaje sobie dziś większość osób planujących nowoczesny system grzewczy w swoim domu. Podłogówka sama w sobie daje komfort, ale dopiero odpowiednia automatyka pozwala realnie oszczędzać, podnosić wygodę i wykorzystać pełen potencjał instalacji. W zajawce wyjaśniamy, dlaczego sterowniki stają się nieodłącznym elementem współczesnych systemów grzewczych i jak wpływają na ich efektywność, trwałość oraz codzienną eksploatację.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/">Czy warto montować sterowniki do ogrzewania podłogowego?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
  #rk-controls-guide {
    --rk-dark: #102536;
    --rk-navy: #14384d;
    --rk-blue: #078fbe;
    --rk-cyan: #25c7d8;
    --rk-cyan-soft: #e8fbff;
    --rk-orange: #ff6a3d;
    --rk-orange-soft: #fff1eb;
    --rk-green: #16836b;
    --rk-green-soft: #eaf8f3;
    --rk-yellow: #d89c19;
    --rk-yellow-soft: #fff8df;
    --rk-red: #d94b3d;
    --rk-red-soft: #fff0ee;
    --rk-purple: #695ac9;
    --rk-purple-soft: #f1efff;
    --rk-ink: #1f2c37;
    --rk-text: #475967;
    --rk-muted: #6b7e8a;
    --rk-line: #d5e4eb;
    --rk-soft: #f4f9fb;
    --rk-white: #ffffff;
    width: 100%;
    max-width: 1180px;
    margin: 34px auto 72px;
    color: var(--rk-ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 18px;
    line-height: 1.75;
  }

  #rk-controls-guide,
  #rk-controls-guide * { box-sizing: border-box; }
  #rk-controls-guide img,
  #rk-controls-guide svg,
  #rk-controls-guide canvas { max-width: 100%; }
  #rk-controls-guide button,
  #rk-controls-guide input,
  #rk-controls-guide select,
  #rk-controls-guide label,
  #rk-controls-guide summary,
  #rk-controls-guide a { font: inherit; -webkit-tap-highlight-color: transparent; }
  #rk-controls-guide button,
  #rk-controls-guide input,
  #rk-controls-guide select { max-width: 100%; }
  #rk-controls-guide a {
    color: var(--rk-blue);
    font-weight: 780;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
  }
  #rk-controls-guide a:hover,
  #rk-controls-guide a:focus-visible { color: var(--rk-red); }
  #rk-controls-guide p,
  #rk-controls-guide ul,
  #rk-controls-guide ol { margin-top: 0; margin-bottom: 1.08em; }
  #rk-controls-guide h2,
  #rk-controls-guide h3,
  #rk-controls-guide h4 {
    margin-top: 0;
    color: var(--rk-dark);
    font-weight: 920;
    letter-spacing: -.035em;
    line-height: 1.15;
  }
  #rk-controls-guide h2 { margin-bottom: 18px; font-size: clamp(1.72rem, 4vw, 2.68rem); }
  #rk-controls-guide h3 { margin-bottom: 11px; font-size: clamp(1.12rem, 2.35vw, 1.46rem); }
  #rk-controls-guide h4 { margin-bottom: 8px; font-size: 1.02rem; }
  #rk-controls-guide strong { color: var(--rk-dark); }

  #rk-controls-guide .rk-controls-progress {
    position: fixed;
    z-index: 9999;
    top: 0;
    left: 0;
    width: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--rk-cyan), var(--rk-orange));
    box-shadow: 0 0 12px rgba(37, 199, 216, .5);
    pointer-events: none;
  }

  #rk-controls-guide .rk-controls-shell {
    overflow: hidden;
    border: 1px solid var(--rk-line);
    border-radius: 26px;
    background: var(--rk-white);
    box-shadow: 0 24px 70px rgba(16, 37, 54, .11);
  }

  #rk-controls-guide .rk-controls-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(38px, 7vw, 78px) clamp(25px, 6vw, 76px) 42px;
    color: var(--rk-white);
    background:
      radial-gradient(circle at 91% 4%, rgba(37, 199, 216, .3), transparent 28%),
      radial-gradient(circle at 8% 100%, rgba(255, 106, 61, .24), transparent 30%),
      linear-gradient(135deg, #0d2332 0%, #143e53 55%, #175b62 100%);
  }
  #rk-controls-guide .rk-controls-hero::after {
    position: absolute;
    right: -55px;
    bottom: -120px;
    width: 350px;
    height: 350px;
    border: 46px solid rgba(255, 255, 255, .05);
    border-radius: 50%;
    content: "";
  }
  #rk-controls-guide .rk-controls-kicker {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 15px;
    color: #78efff;
    font-size: .69rem;
    font-weight: 950;
    letter-spacing: .09em;
    line-height: 1.2;
    text-transform: uppercase;
  }
  #rk-controls-guide .rk-controls-kicker::before {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--rk-orange);
    box-shadow: 0 0 0 6px rgba(255, 106, 61, .14);
    content: "";
  }
  #rk-controls-guide .rk-controls-hero-title {
    position: relative;
    z-index: 1;
    max-width: 970px;
    margin: 0 0 19px;
    color: var(--rk-white);
    font-size: clamp(2.05rem, 5.4vw, 4.35rem);
    font-weight: 950;
    letter-spacing: -.055em;
    line-height: 1.01;
  }
  #rk-controls-guide .rk-controls-hero-title span { color: #78efff; }
  #rk-controls-guide .rk-controls-lead {
    position: relative;
    z-index: 1;
    max-width: 920px;
    margin-bottom: 25px;
    color: #d8e9ef;
    font-size: clamp(1.02rem, 2vw, 1.24rem);
    line-height: 1.68;
  }
  #rk-controls-guide .rk-controls-hero-tags {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-bottom: 28px;
  }
  #rk-controls-guide .rk-controls-hero-tag {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 8px 13px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 999px;
    color: #eefcff;
    background: rgba(255, 255, 255, .075);
    font-size: .72rem;
    font-weight: 850;
    line-height: 1.3;
  }
  #rk-controls-guide .rk-controls-byline {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    color: #bad3dc;
    font-size: .72rem;
    font-weight: 720;
  }
  #rk-controls-guide .rk-controls-byline strong { color: var(--rk-white); }
  #rk-controls-guide .rk-controls-hero-metrics {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 34px;
  }
  #rk-controls-guide .rk-controls-hero-metric {
    padding: 17px 18px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 16px;
    background: rgba(5, 24, 36, .28);
    backdrop-filter: blur(6px);
  }
  #rk-controls-guide .rk-controls-hero-metric b {
    display: block;
    margin-bottom: 4px;
    color: #7af0ff;
    font-size: 1.04rem;
    font-weight: 950;
  }
  #rk-controls-guide .rk-controls-hero-metric span {
    display: block;
    color: #d5e7ec;
    font-size: .7rem;
    line-height: 1.45;
  }

  #rk-controls-guide .rk-controls-nav {
    position: relative;
    z-index: 5;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 10px;
    padding: 11px clamp(14px, 3vw, 28px);
    border-bottom: 1px solid var(--rk-line);
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 8px 24px rgba(16, 37, 54, .07);
  }
  #rk-controls-guide .rk-controls-nav-label {
    padding-top: 9px;
    color: var(--rk-dark);
    font-size: .62rem;
    font-weight: 950;
    letter-spacing: .06em;
    text-transform: uppercase;
    white-space: nowrap;
  }
  #rk-controls-guide .rk-controls-nav-track {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    overflow: visible;
    padding: 2px;
  }
  #rk-controls-guide .rk-controls-nav-track a {
    flex: 0 0 auto;
    padding: 7px 11px;
    border-radius: 999px;
    color: var(--rk-navy);
    background: var(--rk-soft);
    font-size: .64rem;
    font-weight: 900;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
  }
  #rk-controls-guide .rk-controls-nav-track a:hover,
  #rk-controls-guide .rk-controls-nav-track a:focus-visible { color: var(--rk-white); background: var(--rk-blue); }

  #rk-controls-guide .rk-controls-content { padding: clamp(26px, 5.5vw, 64px); }
  #rk-controls-guide .rk-controls-section {
    margin-bottom: clamp(48px, 8vw, 86px);
    scroll-margin-top: 24px;
  }
  #rk-controls-guide .rk-controls-section:last-child { margin-bottom: 0; }
  #rk-controls-guide .rk-controls-section-head { max-width: 930px; margin-bottom: 24px; }
  #rk-controls-guide .rk-controls-section-head > p:last-child { margin-bottom: 0; color: var(--rk-text); font-size: 1.02rem; }
  #rk-controls-guide .rk-controls-eyebrow {
    display: block;
    margin-bottom: 9px;
    color: var(--rk-blue);
    font-size: .67rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
  }
  #rk-controls-guide .rk-controls-grid-2,
  #rk-controls-guide .rk-controls-grid-3,
  #rk-controls-guide .rk-controls-grid-4 { display: grid; gap: 18px; }
  #rk-controls-guide .rk-controls-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #rk-controls-guide .rk-controls-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #rk-controls-guide .rk-controls-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  #rk-controls-guide .rk-controls-card {
    padding: clamp(21px, 3.5vw, 31px);
    border: 1px solid var(--rk-line);
    border-radius: 18px;
    background: var(--rk-white);
    box-shadow: 0 10px 28px rgba(16, 37, 54, .065);
  }
  #rk-controls-guide .rk-controls-card p:last-child,
  #rk-controls-guide .rk-controls-card ul:last-child,
  #rk-controls-guide .rk-controls-card ol:last-child { margin-bottom: 0; }
  #rk-controls-guide .rk-controls-card-blue { border-top: 5px solid var(--rk-cyan); }
  #rk-controls-guide .rk-controls-card-orange { border-top: 5px solid var(--rk-orange); }
  #rk-controls-guide .rk-controls-card-green { border-top: 5px solid var(--rk-green); }
  #rk-controls-guide .rk-controls-card-purple { border-top: 5px solid var(--rk-purple); }
  #rk-controls-guide .rk-controls-number {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    margin-bottom: 15px;
    border-radius: 13px;
    color: var(--rk-white);
    background: var(--rk-blue);
    font-size: .85rem;
    font-weight: 950;
  }
  #rk-controls-guide .rk-controls-answer {
    position: relative;
    overflow: hidden;
    padding: clamp(27px, 5vw, 45px);
    border-radius: 22px;
    color: var(--rk-white);
    background: linear-gradient(135deg, var(--rk-dark), #18516a);
  }
  #rk-controls-guide .rk-controls-answer::after {
    position: absolute;
    right: -72px;
    bottom: -86px;
    width: 225px;
    height: 225px;
    border: 32px solid rgba(255,255,255,.05);
    border-radius: 50%;
    content: "";
  }
  #rk-controls-guide .rk-controls-answer h3 { position: relative; z-index: 1; color: var(--rk-white); }
  #rk-controls-guide .rk-controls-answer p { position: relative; z-index: 1; color: #d9ebf0; }
  #rk-controls-guide .rk-controls-answer strong { color: #8ef5ff; }
  #rk-controls-guide .rk-controls-answer p:last-child { margin-bottom: 0; }

  #rk-controls-guide .rk-controls-note,
  #rk-controls-guide .rk-controls-warning,
  #rk-controls-guide .rk-controls-good {
    padding: 20px 22px;
    border-left: 5px solid;
    border-radius: 14px;
  }
  #rk-controls-guide .rk-controls-note { border-color: var(--rk-blue); background: var(--rk-cyan-soft); }
  #rk-controls-guide .rk-controls-warning { border-color: var(--rk-orange); background: var(--rk-orange-soft); }
  #rk-controls-guide .rk-controls-good { border-color: var(--rk-green); background: var(--rk-green-soft); }
  #rk-controls-guide .rk-controls-note p:last-child,
  #rk-controls-guide .rk-controls-warning p:last-child,
  #rk-controls-guide .rk-controls-good p:last-child { margin-bottom: 0; }

  #rk-controls-guide .rk-controls-pill-list {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  #rk-controls-guide .rk-controls-pill-list li {
    padding: 8px 12px;
    border: 1px solid var(--rk-line);
    border-radius: 999px;
    background: var(--rk-soft);
    color: var(--rk-navy);
    font-size: .77rem;
    font-weight: 800;
    line-height: 1.3;
  }

  #rk-controls-guide .rk-controls-flow {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 38px;
    margin-top: 28px;
  }
  #rk-controls-guide .rk-controls-flow-item {
    position: relative;
    padding: 23px;
    border: 1px solid var(--rk-line);
    border-radius: 18px;
    background: var(--rk-soft);
  }
  #rk-controls-guide .rk-controls-flow-item:not(:last-child)::after {
    position: absolute;
    top: 50%;
    right: -31px;
    color: var(--rk-orange);
    content: "→";
    font-size: 1.7rem;
    font-weight: 950;
    transform: translateY(-50%);
  }
  #rk-controls-guide .rk-controls-flow-item p:last-child { margin-bottom: 0; }

  #rk-controls-guide .rk-controls-table-wrap {
    overflow: hidden;
    border: 1px solid var(--rk-line);
    border-radius: 18px;
    background: var(--rk-white);
    box-shadow: 0 10px 28px rgba(16, 37, 54, .055);
  }
  #rk-controls-guide .rk-controls-table { width: 100%; border-collapse: collapse; }
  #rk-controls-guide .rk-controls-table th,
  #rk-controls-guide .rk-controls-table td { padding: 16px 17px; border-bottom: 1px solid var(--rk-line); vertical-align: top; text-align: left; }
  #rk-controls-guide .rk-controls-table th {
    color: var(--rk-white);
    background: var(--rk-navy);
    font-size: .73rem;
    font-weight: 900;
    letter-spacing: .035em;
    line-height: 1.35;
    text-transform: uppercase;
  }
  #rk-controls-guide .rk-controls-table td { color: var(--rk-text); font-size: .88rem; line-height: 1.55; }
  #rk-controls-guide .rk-controls-table tr:last-child td { border-bottom: 0; }
  #rk-controls-guide .rk-controls-table tbody tr:nth-child(even) { background: var(--rk-soft); }

  #rk-controls-guide .rk-controls-analyzer {
    overflow: hidden;
    border: 1px solid #315769;
    border-radius: 24px;
    color: #eaf6f9;
    background: #102c3c;
    box-shadow: 0 26px 65px rgba(16, 37, 54, .18);
  }
  #rk-controls-guide .rk-controls-analyzer-head {
    padding: clamp(27px, 5vw, 48px);
    background:
      radial-gradient(circle at 92% 15%, rgba(37, 199, 216, .22), transparent 30%),
      linear-gradient(135deg, #13394d, #174d5c);
  }
  #rk-controls-guide .rk-controls-analyzer-head .rk-controls-eyebrow { color: #76efff; }
  #rk-controls-guide .rk-controls-analyzer-head h3 { max-width: 900px; color: var(--rk-white); font-size: clamp(1.6rem, 4vw, 2.6rem); }
  #rk-controls-guide .rk-controls-analyzer-head p { max-width: 900px; margin-bottom: 0; color: #d0e4ea; }
  #rk-controls-guide .rk-controls-analyzer-body { padding: clamp(21px, 4.5vw, 42px); }
  #rk-controls-guide .rk-controls-input-group,
  #rk-controls-guide .rk-controls-result-block {
    margin-bottom: 22px;
    padding: clamp(20px, 3.5vw, 31px);
    border: 1px solid #345a6d;
    border-radius: 18px;
    background: #173447;
  }
  #rk-controls-guide .rk-controls-input-group h4,
  #rk-controls-guide .rk-controls-result-block h4 { color: var(--rk-white); }
  #rk-controls-guide .rk-controls-input-group > p,
  #rk-controls-guide .rk-controls-result-block > p { color: #bad2dc; font-size: .82rem; }
  #rk-controls-guide .rk-controls-fields {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 17px;
  }
  #rk-controls-guide .rk-controls-field { min-width: 0; }
  #rk-controls-guide .rk-controls-field label {
    display: block;
    margin-bottom: 7px;
    color: #f1fbfd;
    font-size: .74rem;
    font-weight: 850;
    line-height: 1.35;
  }
  #rk-controls-guide .rk-controls-field select,
  #rk-controls-guide .rk-controls-field input {
    width: 100%;
    min-height: 48px;
    padding: 10px 12px;
    border: 1px solid #8eabb7;
    border-radius: 10px;
    outline: none;
    color: var(--rk-dark);
    background: var(--rk-white);
    font-size: .82rem;
  }
  #rk-controls-guide .rk-controls-field select:focus,
  #rk-controls-guide .rk-controls-field input:focus { border-color: var(--rk-cyan); box-shadow: 0 0 0 3px rgba(37,199,216,.22); }
  #rk-controls-guide .rk-controls-help { display: block; margin-top: 6px; color: #9ebac5; font-size: .64rem; line-height: 1.45; }
  #rk-controls-guide .rk-controls-actions { display: flex; flex-wrap: wrap; gap: 11px; margin: 6px 0 25px; }
  #rk-controls-guide .rk-controls-button {
    min-height: 48px;
    padding: 11px 18px;
    border: 0;
    border-radius: 12px;
    color: var(--rk-dark);
    background: var(--rk-cyan);
    cursor: pointer;
    font-size: .78rem;
    font-weight: 950;
  }
  #rk-controls-guide .rk-controls-button:hover,
  #rk-controls-guide .rk-controls-button:focus-visible { color: var(--rk-white); background: var(--rk-orange); }
  #rk-controls-guide .rk-controls-button-secondary { border: 1px solid #58798a; color: #dceef2; background: transparent; }
  #rk-controls-guide .rk-controls-error {
    display: none;
    margin-bottom: 18px;
    padding: 13px 15px;
    border-left: 4px solid #ff8060;
    border-radius: 9px;
    color: #ffe7df;
    background: rgba(217, 75, 61, .18);
    font-size: .78rem;
    font-weight: 760;
  }
  #rk-controls-guide .rk-controls-error.is-visible { display: block; }

  #rk-controls-guide .rk-controls-result-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(24px, 4vw, 38px);
    border: 1px solid #3d6678;
    border-radius: 19px;
    background: linear-gradient(135deg, #123c50, #176071);
  }
  #rk-controls-guide .rk-controls-result-hero.is-central { background: linear-gradient(135deg, #173b55, #315aa4); }
  #rk-controls-guide .rk-controls-result-hero.is-selective { background: linear-gradient(135deg, #123d4f, #157b79); }
  #rk-controls-guide .rk-controls-result-hero.is-zoned { background: linear-gradient(135deg, #18463f, #16836b); }
  #rk-controls-guide .rk-controls-result-hero.is-foundation { background: linear-gradient(135deg, #563828, #a34f32); }
  #rk-controls-guide .rk-controls-result-badge {
    display: inline-flex;
    margin-bottom: 12px;
    padding: 6px 10px;
    border-radius: 999px;
    color: #e8fbff;
    background: rgba(255,255,255,.13);
    font-size: .64rem;
    font-weight: 950;
    letter-spacing: .06em;
    text-transform: uppercase;
  }
  #rk-controls-guide .rk-controls-result-hero h4 { margin-bottom: 12px; color: var(--rk-white); font-size: clamp(1.35rem, 3.2vw, 2rem); }
  #rk-controls-guide .rk-controls-result-hero p { max-width: 920px; margin-bottom: 0; color: #e0f0f4; }
  #rk-controls-guide .rk-controls-score-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 13px;
    margin-top: 19px;
  }
  #rk-controls-guide .rk-controls-score-card {
    padding: 17px;
    border: 1px solid #365e70;
    border-radius: 15px;
    background: #112f41;
  }
  #rk-controls-guide .rk-controls-score-card span { display: block; margin-bottom: 7px; color: #b7ced7; font-size: .65rem; font-weight: 850; line-height: 1.35; text-transform: uppercase; }
  #rk-controls-guide .rk-controls-score-card strong { display: block; margin-bottom: 9px; color: var(--rk-white); font-size: 1.14rem; font-weight: 950; }
  #rk-controls-guide .rk-controls-score-track { overflow: hidden; height: 8px; border-radius: 999px; background: #284b5e; }
  #rk-controls-guide .rk-controls-score-fill { width: 0; height: 100%; border-radius: inherit; background: var(--rk-cyan); transition: width .35s ease; }
  #rk-controls-guide .rk-controls-score-fill.is-orange { background: var(--rk-orange); }
  #rk-controls-guide .rk-controls-score-fill.is-purple { background: #8d80ee; }
  #rk-controls-guide .rk-controls-score-fill.is-green { background: #43d1a9; }

  #rk-controls-guide .rk-controls-result-columns {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 15px;
    margin-top: 19px;
  }
  #rk-controls-guide .rk-controls-result-list {
    padding: 20px;
    border: 1px solid #365e70;
    border-radius: 16px;
    background: #112f41;
  }
  #rk-controls-guide .rk-controls-result-list h4 { font-size: 1rem; }
  #rk-controls-guide .rk-controls-result-list ul { margin: 0; padding-left: 19px; }
  #rk-controls-guide .rk-controls-result-list li { margin-bottom: 8px; color: #c9dde4; font-size: .75rem; line-height: 1.5; }
  #rk-controls-guide .rk-controls-result-list li:last-child { margin-bottom: 0; }

  #rk-controls-guide .rk-controls-system-path {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 34px;
    margin-top: 20px;
  }
  #rk-controls-guide .rk-controls-system-node {
    position: relative;
    min-height: 126px;
    padding: 19px 16px;
    border: 1px solid #43697a;
    border-radius: 15px;
    background: #102d3f;
  }
  #rk-controls-guide .rk-controls-system-node:not(:last-child)::after {
    position: absolute;
    top: 50%;
    right: -27px;
    color: #62ddec;
    content: "→";
    font-size: 1.45rem;
    font-weight: 950;
    transform: translateY(-50%);
  }
  #rk-controls-guide .rk-controls-system-node b { display: block; margin-bottom: 6px; color: var(--rk-white); font-size: .87rem; }
  #rk-controls-guide .rk-controls-system-node span { display: block; color: #a9c4ce; font-size: .67rem; line-height: 1.45; }
  #rk-controls-guide .rk-controls-system-state {
    display: inline-flex;
    margin-top: 11px;
    padding: 4px 8px;
    border-radius: 999px;
    color: #89f5df;
    background: rgba(22, 131, 107, .24);
    font-size: .58rem;
    font-weight: 900;
    line-height: 1.3;
  }
  #rk-controls-guide .rk-controls-system-state.is-warn { color: #ffd8cc; background: rgba(255, 106, 61, .23); }

  #rk-controls-guide .rk-controls-chart-box {
    margin-top: 20px;
    padding: 20px;
    border: 1px solid #365e70;
    border-radius: 16px;
    background: #f7fbfc;
  }
  #rk-controls-guide .rk-controls-chart-box h4 { margin-bottom: 6px; color: var(--rk-dark); }
  #rk-controls-guide .rk-controls-chart-box p { color: var(--rk-text); font-size: .76rem; }
  #rk-controls-guide .rk-controls-chart-wrap { position: relative; width: 100%; min-height: 295px; }
  #rk-controls-guide .rk-controls-chart-wrap canvas { display: block; width: 100%; height: 295px; }
  #rk-controls-guide .rk-controls-chart-legend { display: flex; flex-wrap: wrap; gap: 12px 18px; margin-top: 9px; color: var(--rk-text); font-size: .66rem; font-weight: 800; }
  #rk-controls-guide .rk-controls-chart-key { display: inline-flex; align-items: center; gap: 7px; }
  #rk-controls-guide .rk-controls-chart-key::before { width: 22px; height: 4px; border-radius: 999px; background: var(--rk-blue); content: ""; }
  #rk-controls-guide .rk-controls-chart-key.is-orange::before { background: var(--rk-orange); }

  #rk-controls-guide .rk-controls-diagnostics { display: grid; gap: 10px; margin-top: 18px; }
  #rk-controls-guide .rk-controls-diagnostic {
    padding: 13px 15px;
    border-left: 4px solid #32ccb0;
    border-radius: 10px;
    color: #d4e8ed;
    background: #173c4f;
    font-size: .74rem;
    line-height: 1.55;
  }
  #rk-controls-guide .rk-controls-diagnostic.is-warn { border-color: var(--rk-orange); background: #403642; }
  #rk-controls-guide .rk-controls-analyzer-disclaimer { margin: 7px 0 0; color: #9ebac5; font-size: .65rem; line-height: 1.5; }

  #rk-controls-guide .rk-controls-cta {
    position: relative;
    overflow: hidden;
    padding: clamp(28px, 5vw, 48px);
    border-radius: 22px;
    color: var(--rk-white);
    background: linear-gradient(135deg, #0d2b3c, #145269);
    box-shadow: 0 18px 48px rgba(16, 37, 54, .14);
  }
  #rk-controls-guide .rk-controls-cta::after {
    position: absolute;
    right: -55px;
    bottom: -80px;
    width: 220px;
    height: 220px;
    border: 34px solid rgba(255,255,255,.055);
    border-radius: 50%;
    content: "";
  }
  #rk-controls-guide .rk-controls-cta-title { position: relative; z-index: 1; max-width: 900px; margin-bottom: 10px; color: var(--rk-white); font-size: clamp(1.35rem, 3vw, 2.05rem); font-weight: 950; letter-spacing: -.035em; line-height: 1.16; }
  #rk-controls-guide .rk-controls-cta p { position: relative; z-index: 1; max-width: 900px; color: #d1e5eb; }
  #rk-controls-guide .rk-controls-cta-button {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 12px 20px;
    border-radius: 12px;
    color: var(--rk-dark);
    background: var(--rk-cyan);
    box-shadow: 0 10px 26px rgba(37,199,216,.23);
    font-size: .79rem;
    font-weight: 950;
    line-height: 1.3;
    text-align: center;
    text-decoration: none;
  }
  #rk-controls-guide .rk-controls-cta-button:hover,
  #rk-controls-guide .rk-controls-cta-button:focus-visible { color: var(--rk-white); background: var(--rk-orange); }
  #rk-controls-guide .rk-controls-mid-cta { margin: -35px 0 clamp(52px, 8vw, 88px); }
  #rk-controls-guide .rk-controls-final-cta { margin-top: 35px; }

  #rk-controls-guide .rk-controls-steps { counter-reset: rk-controls-step; display: grid; gap: 14px; }
  #rk-controls-guide .rk-controls-step {
    position: relative;
    padding: 21px 22px 21px 76px;
    border: 1px solid var(--rk-line);
    border-radius: 16px;
    background: var(--rk-white);
  }
  #rk-controls-guide .rk-controls-step::before {
    position: absolute;
    top: 20px;
    left: 20px;
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    color: var(--rk-white);
    background: var(--rk-blue);
    content: counter(rk-controls-step);
    counter-increment: rk-controls-step;
    font-size: .8rem;
    font-weight: 950;
  }
  #rk-controls-guide .rk-controls-step p:last-child { margin-bottom: 0; }

  #rk-controls-guide .rk-controls-checklist { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; margin: 0; padding: 0; list-style: none; }
  #rk-controls-guide .rk-controls-checklist li {
    position: relative;
    padding: 17px 17px 17px 50px;
    border: 1px solid var(--rk-line);
    border-radius: 14px;
    background: var(--rk-soft);
    color: var(--rk-text);
    font-size: .84rem;
    line-height: 1.5;
  }
  #rk-controls-guide .rk-controls-checklist li::before {
    position: absolute;
    top: 16px;
    left: 16px;
    display: grid;
    place-items: center;
    width: 24px;
    height: 24px;
    border-radius: 7px;
    color: var(--rk-white);
    background: var(--rk-green);
    content: "✓";
    font-size: .7rem;
    font-weight: 950;
  }

  #rk-controls-guide .rk-controls-faq { display: grid; gap: 11px; }
  #rk-controls-guide .rk-controls-faq details { overflow: hidden; border: 1px solid var(--rk-line); border-radius: 14px; background: var(--rk-white); }
  #rk-controls-guide .rk-controls-faq summary { position: relative; padding: 18px 54px 18px 20px; color: var(--rk-dark); cursor: pointer; font-weight: 880; line-height: 1.4; list-style: none; }
  #rk-controls-guide .rk-controls-faq summary::-webkit-details-marker { display: none; }
  #rk-controls-guide .rk-controls-faq summary::after { position: absolute; top: 50%; right: 20px; color: var(--rk-blue); content: "+"; font-size: 1.4rem; font-weight: 950; transform: translateY(-50%); }
  #rk-controls-guide .rk-controls-faq details[open] summary::after { content: "−"; }
  #rk-controls-guide .rk-controls-faq-answer { padding: 0 20px 19px; color: var(--rk-text); }
  #rk-controls-guide .rk-controls-faq-answer p:last-child { margin-bottom: 0; }
  #rk-controls-guide .rk-controls-sources { margin-bottom: 20px; padding-left: 25px; }
  #rk-controls-guide .rk-controls-sources li { margin-bottom: 9px; color: var(--rk-text); }

  #rk-controls-guide .rk-controls-author {
    overflow: hidden;
    margin-top: clamp(55px, 8vw, 90px);
    border: 1px solid var(--rk-line);
    border-radius: 22px;
    background: #f3f8fa;
  }
  #rk-controls-guide .rk-controls-author > input { position: absolute; opacity: 0; pointer-events: none; }
  #rk-controls-guide .rk-controls-author-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    padding: 27px clamp(24px, 4vw, 42px);
    color: var(--rk-white);
    background: linear-gradient(135deg, #102536, #194e63);
  }
  #rk-controls-guide .rk-controls-author-head h2 { margin-bottom: 5px; color: var(--rk-white); }
  #rk-controls-guide .rk-controls-author-head p { margin-bottom: 0; color: #c7dce4; font-size: .8rem; }
  #rk-controls-guide .rk-controls-author-mark { max-width: 310px; color: #7ceeff; font-size: .61rem; font-weight: 900; letter-spacing: .055em; line-height: 1.45; text-align: right; text-transform: uppercase; }
  #rk-controls-guide .rk-controls-author-layout { display: grid; grid-template-columns: 290px minmax(0, 1fr); }
  #rk-controls-guide .rk-controls-author-side { padding: 34px 27px; color: #dbeaf0; background: #10293a; text-align: center; }
  #rk-controls-guide .rk-controls-author-photo { overflow: hidden; width: 154px; height: 154px; margin: 0 auto 20px; border: 6px solid #365366; border-radius: 50%; background: var(--rk-white); }
  #rk-controls-guide .rk-controls-author-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
  #rk-controls-guide .rk-controls-author-name { color: var(--rk-white); font-size: 1.16rem; font-weight: 950; }
  #rk-controls-guide .rk-controls-author-role { margin-top: 7px; color: #bfd5de; font-size: .7rem; line-height: 1.45; }
  #rk-controls-guide .rk-controls-author-social-label { margin: 27px 0 10px; color: #8daab6; font-size: .58rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
  #rk-controls-guide .rk-controls-author-social { display: flex; justify-content: center; gap: 10px; }
  #rk-controls-guide .rk-controls-author-social a { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid #496b7c; border-radius: 50%; color: #d8ebf1; }
  #rk-controls-guide .rk-controls-author-social a:hover,
  #rk-controls-guide .rk-controls-author-social a:focus-visible { color: var(--rk-white); border-color: var(--rk-cyan); background: var(--rk-blue); }
  #rk-controls-guide .rk-controls-author-social svg { width: 20px; height: 20px; fill: currentColor; }
  #rk-controls-guide .rk-controls-author-main { padding: clamp(27px, 4.5vw, 45px); }
  #rk-controls-guide .rk-controls-author-quote { position: relative; margin: 0 0 25px; padding: 23px 25px 23px 68px; border: 1px solid var(--rk-line); border-radius: 16px; background: var(--rk-white); }
  #rk-controls-guide .rk-controls-author-quote::before { position: absolute; top: 13px; left: 24px; color: var(--rk-cyan); content: "“"; font-family: Georgia, serif; font-size: 3.8rem; font-weight: 900; line-height: 1; }
  #rk-controls-guide .rk-controls-author-quote p { margin-bottom: 0; color: var(--rk-dark); font-weight: 780; }
  #rk-controls-guide .rk-controls-author-tabs { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 22px; }
  #rk-controls-guide .rk-controls-author-tab { padding: 8px 13px; border-radius: 999px; color: var(--rk-muted); background: #e3edf1; cursor: pointer; font-size: .67rem; font-weight: 900; }
  #rk-controls-guide .rk-controls-author-panel { display: none; color: var(--rk-text); }
  #rk-controls-guide #rk-controls-author-about:checked ~ .rk-controls-author-layout .rk-controls-author-panel-about,
  #rk-controls-guide #rk-controls-author-exp:checked ~ .rk-controls-author-layout .rk-controls-author-panel-exp,
  #rk-controls-guide #rk-controls-author-method:checked ~ .rk-controls-author-layout .rk-controls-author-panel-method { display: block; }
  #rk-controls-guide #rk-controls-author-about:checked ~ .rk-controls-author-layout label[for="rk-controls-author-about"],
  #rk-controls-guide #rk-controls-author-exp:checked ~ .rk-controls-author-layout label[for="rk-controls-author-exp"],
  #rk-controls-guide #rk-controls-author-method:checked ~ .rk-controls-author-layout label[for="rk-controls-author-method"] { color: var(--rk-white); background: var(--rk-blue); }
  #rk-controls-guide .rk-controls-site-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 13px; }
  #rk-controls-guide .rk-controls-site-links a { padding: 7px 10px; border-radius: 999px; background: #e5f3f7; font-size: .68rem; text-decoration: none; }

  @media (max-width: 900px) {
    #rk-controls-guide .rk-controls-hero-metrics,
    #rk-controls-guide .rk-controls-grid-3,
    #rk-controls-guide .rk-controls-grid-4,
    #rk-controls-guide .rk-controls-flow,
    #rk-controls-guide .rk-controls-score-grid,
    #rk-controls-guide .rk-controls-result-columns,
    #rk-controls-guide .rk-controls-system-path { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #rk-controls-guide .rk-controls-flow-item:not(:last-child)::after,
    #rk-controls-guide .rk-controls-system-node:not(:last-child)::after { display: none; }
    #rk-controls-guide .rk-controls-author-layout { grid-template-columns: 240px minmax(0, 1fr); }
  }

  @media (max-width: 680px) {
    #rk-controls-guide { margin: 18px auto 44px; font-size: 16px; }
    #rk-controls-guide .rk-controls-shell { border-radius: 18px; }
    #rk-controls-guide .rk-controls-hero { padding: 34px 22px 31px; }
    #rk-controls-guide .rk-controls-hero-metrics,
    #rk-controls-guide .rk-controls-grid-2,
    #rk-controls-guide .rk-controls-grid-3,
    #rk-controls-guide .rk-controls-grid-4,
    #rk-controls-guide .rk-controls-flow,
    #rk-controls-guide .rk-controls-score-grid,
    #rk-controls-guide .rk-controls-result-columns,
    #rk-controls-guide .rk-controls-system-path,
    #rk-controls-guide .rk-controls-checklist { grid-template-columns: 1fr; }
    #rk-controls-guide .rk-controls-nav { grid-template-columns: 1fr; gap: 5px; }
    #rk-controls-guide .rk-controls-nav-label { padding: 0 0 4px 2px; }
    #rk-controls-guide .rk-controls-content { padding: 27px 19px; }
    #rk-controls-guide .rk-controls-table-wrap { overflow: visible; border: 0; box-shadow: none; background: transparent; }
    #rk-controls-guide .rk-controls-table,
    #rk-controls-guide .rk-controls-table tbody,
    #rk-controls-guide .rk-controls-table tr,
    #rk-controls-guide .rk-controls-table td { display: block; width: 100%; }
    #rk-controls-guide .rk-controls-table thead { display: none; }
    #rk-controls-guide .rk-controls-table tr { overflow: hidden; margin-bottom: 12px; border: 1px solid var(--rk-line); border-radius: 14px; background: var(--rk-white); box-shadow: 0 8px 22px rgba(16,37,54,.055); }
    #rk-controls-guide .rk-controls-table td { display: grid; grid-template-columns: minmax(112px, .85fr) minmax(0, 1.15fr); gap: 12px; padding: 13px 14px; border-bottom: 1px solid var(--rk-line); font-size: .8rem; }
    #rk-controls-guide .rk-controls-table td::before { color: var(--rk-dark); content: attr(data-label); font-size: .68rem; font-weight: 900; line-height: 1.35; }
    #rk-controls-guide .rk-controls-table tr:last-child td:last-child,
    #rk-controls-guide .rk-controls-table td:last-child { border-bottom: 0; }
    #rk-controls-guide .rk-controls-author-head { display: block; }
    #rk-controls-guide .rk-controls-author-mark { margin-top: 12px; text-align: left; }
    #rk-controls-guide .rk-controls-author-layout { grid-template-columns: 1fr; }
    #rk-controls-guide .rk-controls-author-quote { padding-left: 58px; }
    #rk-controls-guide .rk-controls-chart-wrap,
    #rk-controls-guide .rk-controls-chart-wrap canvas { min-height: 255px; height: 255px; }
  }

  @media (prefers-reduced-motion: reduce) {
    #rk-controls-guide *,
    #rk-controls-guide *::before,
    #rk-controls-guide *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
  }
</style>

<article id="rk-controls-guide" aria-label="Sterowniki do ogrzewania podłogowego — poradnik i analizator">
  <div class="rk-controls-progress" aria-hidden="true"></div>
  <div class="rk-controls-shell">
    <header class="rk-controls-hero">
      <span class="rk-controls-kicker">Automatyka bez obietnic z sufitu</span>
      <div class="rk-controls-hero-title">Sterowniki do podłogówki: <span>kiedy pomagają, a kiedy komplikują instalację?</span></div>
      <p class="rk-controls-lead">Termostat w każdym pokoju nie jest automatycznie najlepszym rozwiązaniem. Najpierw trzeba rozdzielić regulację temperatury wody, hydraulikę oraz sterowanie pomieszczeniami, a przy pompie ciepła dodatkowo zabezpieczyć minimalny przepływ i stabilną pracę źródła.</p>
      <div class="rk-controls-hero-tags" aria-label="Zakres artykułu">
        <span class="rk-controls-hero-tag">sterowanie pogodowe</span>
        <span class="rk-controls-hero-tag">termostaty pokojowe</span>
        <span class="rk-controls-hero-tag">siłowniki na rozdzielaczu</span>
        <span class="rk-controls-hero-tag">pompa ciepła i przepływ</span>
        <span class="rk-controls-hero-tag">bezwładność podłogi</span>
      </div>
      <div class="rk-controls-byline">
        <span><strong>Autor:</strong> Robert Kucharski</span>
        <span><strong>Aktualizacja techniczna:</strong> 31 sierpnia 2026 r.</span>
        <span><strong>Charakter narzędzia:</strong> analiza koncepcji, nie projekt wykonawczy</span>
      </div>
      <div class="rk-controls-hero-metrics" aria-label="Najważniejsze zasady">
        <div class="rk-controls-hero-metric"><b>Najpierw przepływy</b><span>Automatyka nie zastępuje regulacji hydraulicznej pętli.</span></div>
        <div class="rk-controls-hero-metric"><b>Potem strefy</b><span>Strefa ma sens wtedy, gdy ma własną funkcję albo inne zyski ciepła.</span></div>
        <div class="rk-controls-hero-metric"><b>Bez obietnicy procentów</b><span>Oszczędność zależy od stanu wyjściowego i sposobu użytkowania.</span></div>
      </div>
    </header>

    <nav class="rk-controls-nav" aria-label="Skróty do wszystkich części artykułu">
      <span class="rk-controls-nav-label">Na skróty</span>
      <div class="rk-controls-nav-track">
        <a href="#rk-controls-szybka">Szybka odpowiedź</a>
        <a href="#rk-controls-warstwy">Trzy warstwy</a>
        <a href="#rk-controls-podstawy">Najpierw podstawy</a>
        <a href="#rk-controls-analizator">Analizator</a>
        <a href="#rk-controls-kiedy-warto">Kiedy warto</a>
        <a href="#rk-controls-kiedy-nie">Kiedy nie</a>
        <a href="#rk-controls-hybryda">Hybryda</a>
        <a href="#rk-controls-pompa-ciepla">Pompa ciepła</a>
        <a href="#rk-controls-kotly">Inne źródła</a>
        <a href="#rk-controls-bezwladnosc">Bezwładność</a>
        <a href="#rk-controls-elementy">Elementy systemu</a>
        <a href="#rk-controls-czujnik">Czujnik podłogi</a>
        <a href="#rk-controls-przewodowe">Przewodowe czy radio</a>
        <a href="#rk-controls-strefy">Podział stref</a>
        <a href="#rk-controls-hydraulika">Hydraulika</a>
        <a href="#rk-controls-uruchomienie">Uruchomienie</a>
        <a href="#rk-controls-koszty">Koszty</a>
        <a href="#rk-controls-bledy">Błędy</a>
        <a href="#rk-controls-checklista">Checklista</a>
        <a href="#rk-controls-faq">FAQ</a>
        <a href="#rk-controls-zrodla">Źródła</a>
        <a href="#rk-controls-autor">Autor</a>
      </div>
    </nav>

    <div class="rk-controls-content">
      <section class="rk-controls-section" id="rk-controls-szybka">
        <div class="rk-controls-section-head">
          <span class="rk-controls-eyebrow">Werdykt bez skrótów myślowych</span>
          <h2>Czy warto montować sterowniki do ogrzewania podłogowego?</h2>
          <p>Warto wtedy, gdy automatyka rozwiązuje konkretny problem: różne temperatury, odmienne godziny użytkowania, duże zyski słoneczne, kominek albo konieczność ograniczenia temperatury posadzki. Nie warto traktować termostatów jako zamiennika projektu i regulacji przepływów.</p>
        </div>
        <div class="rk-controls-answer">
          <h3>Najczęściej najlepszy jest układ hybrydowy</h3>
          <p><strong>Regulacja pogodowa</strong> prowadzi temperaturę wody, <strong>nastawy hydrauliczne</strong> rozdzielają przepływ, a <strong>termostaty pokojowe</strong> ograniczają tylko te strefy, które rzeczywiście tego wymagają. W wielu domach nie trzeba zamykać każdej pętli w każdym pokoju.</p>
          <p>Przy pompie ciepła logika stref nie może powodować utraty minimalnego przepływu ani częstego taktowania. Przy ciężkiej, akumulacyjnej podłodze nie należy oczekiwać reakcji podobnej do grzejnika.</p>
        </div>
        <div class="rk-controls-grid-3" style="margin-top:18px">
          <div class="rk-controls-card rk-controls-card-green"><h3>Tak — pełne lub szerokie strefowanie</h3><p>Gdy pomieszczenia mają wyraźnie różne nastawy, harmonogramy i zyski ciepła, a hydraulika została do tego przygotowana.</p></div>
          <div class="rk-controls-card rk-controls-card-blue"><h3>Tak — ale selektywnie</h3><p>Gdy problem dotyczy kilku pomieszczeń: salonu z przeszkleniami, sypialni, łazienki albo pokoju gościnnego.</p></div>
          <div class="rk-controls-card rk-controls-card-orange"><h3>Najpierw nie</h3><p>Gdy nie znamy przepływów, krzywa grzewcza jest źle ustawiona, a termostaty mają jedynie maskować przegrzewanie całej instalacji.</p></div>
        </div>
      </section>

      <section class="rk-controls-section" id="rk-controls-warstwy">
        <div class="rk-controls-section-head">
          <span class="rk-controls-eyebrow">Jedno słowo, trzy różne zadania</span>
          <h2>Sterownik pogodowy, hydraulika i termostat pokojowy</h2>
          <p>Hasło „sterownik do podłogówki” bywa używane dla elementów, które wykonują zupełnie inne zadania. Dopiero ich właściwa kolejność daje stabilną instalację.</p>
        </div>
        <div class="rk-controls-flow">
          <div class="rk-controls-flow-item">
            <div class="rk-controls-number">1</div>
            <h3>Temperatura wody</h3>
            <p>Automatyka źródła lub mieszacza dobiera temperaturę zasilania do warunków zewnętrznych. To ona ustala poziom energii dostępnej dla całej podłogi.</p>
          </div>
          <div class="rk-controls-flow-item">
            <div class="rk-controls-number">2</div>
            <h3>Przepływy w pętlach</h3>
            <p>Pompa, średnice, długości obwodów i nastawy rotametrów rozdzielają wodę zgodnie z wymaganiami pomieszczeń.</p>
          </div>
          <div class="rk-controls-flow-item">
            <div class="rk-controls-number">3</div>
            <h3>Ograniczanie stref</h3>
            <p>Termostat wysyła sygnał do listwy, a siłownik otwiera albo zamyka przypisane pętle. Nie wyznacza jednak ich prawidłowego przepływu.</p>
          </div>
        </div>
        <div class="rk-controls-note" style="margin-top:18px"><p><strong>Ważne:</strong> sterowanie pokojowe działa na końcu łańcucha. Jeśli temperatura zasilania jest za wysoka albo przepływy są przypadkowe, częste zamykanie pętli nie usuwa przyczyny problemu.</p></div>
      </section>

      <section class="rk-controls-section" id="rk-controls-podstawy">
        <div class="rk-controls-section-head">
          <span class="rk-controls-eyebrow">Warunki wejściowe</span>
          <h2>Co powinno działać przed montażem termostatów i siłowników?</h2>
          <p>Automatyka powinna zarządzać poprawnie przygotowaną instalacją, a nie pełnić funkcję awaryjnego regulatora źle dobranych parametrów.</p>
        </div>
        <div class="rk-controls-grid-2">
          <div class="rk-controls-card rk-controls-card-blue">
            <h3>Obliczenia i wykonanie</h3>
            <ul>
              <li>straty ciepła obliczone dla pomieszczeń,</li>
              <li>rozstaw rur wynikający z wymaganej mocy,</li>
              <li>długości pętli i dobiegów,</li>
              <li>projektowe przepływy oraz nastawy rozdzielacza,</li>
              <li>jednoznaczne przypisanie pętli do pomieszczeń.</li>
            </ul>
          </div>
          <div class="rk-controls-card rk-controls-card-orange">
            <h3>Źródło i hydraulika</h3>
            <ul>
              <li>ustalona temperatura lub krzywa grzewcza,</li>
              <li>dobrana pompa obiegowa,</li>
              <li>zapewniony minimalny przepływ i wymagana objętość,</li>
              <li>określona reakcja źródła na zamykanie stref,</li>
              <li>zweryfikowane ograniczenia temperatury posadzki.</li>
            </ul>
          </div>
        </div>
        <p style="margin-top:19px">Jeżeli nie znasz przepływów, zacznij od opracowania o <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/">odczycie i ustawianiu rotametrów</a>. Sama liczba termostatów nie odpowie też na pytanie, czy pompa poradzi sobie po zamknięciu części obwodów — do tego służą obliczenia opisane w <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/">kalkulatorze doboru pompy obiegowej</a>.</p>
      </section>

      <section class="rk-controls-section" id="rk-controls-analizator">
        <div class="rk-controls-section-head">
          <span class="rk-controls-eyebrow">Narzędzie decyzyjne</span>
          <h2>Interaktywny analizator sterowania ogrzewaniem podłogowym</h2>
          <p>Wybierz warunki swojej instalacji. Analizator nie liczy fikcyjnego ROI. Oddzielnie ocenia korzyść z podziału na strefy, bezwładność, ryzyko hydrauliczne i pilność uporządkowania podstaw.</p>
        </div>

        <div class="rk-controls-analyzer" data-rk-controls-analyzer="">
          <div class="rk-controls-analyzer-head">
            <span class="rk-controls-eyebrow">Sterowanie centralne, selektywne czy pełne strefowanie?</span>
            <h3>Sprawdź koncepcję, zanim kupisz termostaty i siłowniki</h3>
            <p>Wynik jest modelem kwalifikacyjnym. Nie zastępuje minimalnego przepływu z dokumentacji źródła, obliczeń oporów pętli ani projektu automatyki.</p>
          </div>
          <div class="rk-controls-analyzer-body">
            <div class="rk-controls-input-group">
              <h4>1. Źródło ciepła i układ hydrauliczny</h4>
              <p>Te dane decydują, jak groźne może być jednoczesne zamknięcie wielu pętli.</p>
              <div class="rk-controls-fields">
                <div class="rk-controls-field">
                  <label for="rk-controls-source">Źródło ciepła</label>
                  <select id="rk-controls-source">
                    <option value="heat-pump" selected="">Pompa ciepła</option>
                    <option value="gas">Kocioł gazowy kondensacyjny</option>
                    <option value="pellet">Kocioł na pellet lub paliwo stałe</option>
                    <option value="electric">Kocioł elektryczny</option>
                    <option value="other">Inne lub jeszcze nie wybrane</option>
                  </select>
                </div>
                <div class="rk-controls-field">
                  <label for="rk-controls-weather">Sterowanie temperaturą zasilania</label>
                  <select id="rk-controls-weather">
                    <option value="yes" selected="">Regulacja pogodowa jest lub będzie</option>
                    <option value="no">Stała temperatura bez pogodówki</option>
                    <option value="unknown">Nie wiem</option>
                  </select>
                </div>
                <div class="rk-controls-field">
                  <label for="rk-controls-layout">Połączenie źródła z podłogówką</label>
                  <select id="rk-controls-layout">
                    <option value="direct" selected="">Układ bezpośredni</option>
                    <option value="buffer">Bufor lub układ zapewniający objętość</option>
                    <option value="separated">Rozdzielenie hydrauliczne obiegów</option>
                    <option value="unknown">Nie wiem</option>
                  </select>
                </div>
                <div class="rk-controls-field">
                  <label for="rk-controls-min-flow">Minimalny przepływ źródła</label>
                  <select id="rk-controls-min-flow">
                    <option value="secured">Znany i zapewniony po zamknięciu stref</option>
                    <option value="not-secured">Znany, ale może nie być zapewniony</option>
                    <option value="unknown" selected="">Nie znam tej wartości</option>
                    <option value="not-applicable">Nie dotyczy bezpośrednio obiegu podłogi</option>
                  </select>
                  <span class="rk-controls-help">Nie wpisujemy uniwersalnej wartości — wynika ona z wymagań źródła i hydrauliki.</span>
                </div>
              </div>
            </div>

            <div class="rk-controls-input-group">
              <h4>2. Budynek, podłoga i sposób użytkowania</h4>
              <p>Strefowanie jest bardziej uzasadnione, gdy pomieszczenia naprawdę różnią się funkcją albo zyskami ciepła.</p>
              <div class="rk-controls-fields">
                <div class="rk-controls-field">
                  <label for="rk-controls-building">Charakter budynku</label>
                  <select id="rk-controls-building">
                    <option value="low">Bardzo energooszczędny, stabilny cieplnie</option>
                    <option value="standard" selected="">Nowy lub dobrze ocieplony dom</option>
                    <option value="renovation">Modernizowany budynek o większych stratach</option>
                  </select>
                </div>
                <div class="rk-controls-field">
                  <label for="rk-controls-mass">Konstrukcja ogrzewanej podłogi</label>
                  <select id="rk-controls-mass">
                    <option value="light">Lekki lub suchy system</option>
                    <option value="standard" selected="">Standardowy jastrych mokry</option>
                    <option value="heavy">Gruba płyta lub bardzo duża akumulacja</option>
                  </select>
                </div>
                <div class="rk-controls-field">
                  <label for="rk-controls-temperature-diversity">Różnice wymaganych temperatur</label>
                  <select id="rk-controls-temperature-diversity">
                    <option value="same">Prawie wszędzie ta sama temperatura</option>
                    <option value="moderate" selected="">Kilka pomieszczeń ma inną nastawę</option>
                    <option value="different">Wyraźnie różne temperatury i funkcje</option>
                  </select>
                </div>
                <div class="rk-controls-field">
                  <label for="rk-controls-gains">Zyski słoneczne, kominek i urządzenia</label>
                  <select id="rk-controls-gains">
                    <option value="low">Małe i równomierne</option>
                    <option value="medium" selected="">Umiarkowane lub okresowe</option>
                    <option value="high">Duże przeszklenia, kominek albo silne zyski</option>
                  </select>
                </div>
                <div class="rk-controls-field">
                  <label for="rk-controls-usage">Sposób użytkowania pomieszczeń</label>
                  <select id="rk-controls-usage">
                    <option value="constant">Stałe użytkowanie i jeden profil dobowy</option>
                    <option value="variable" selected="">Różne godziny użytkowania</option>
                    <option value="seasonal">Pokoje gościnne lub strefy okresowe</option>
                  </select>
                </div>
                <div class="rk-controls-field">
                  <label for="rk-controls-floor">Okładzina i potrzeba ogranicznika podłogi</label>
                  <select id="rk-controls-floor">
                    <option value="insensitive" selected="">Płytki lub brak szczególnego limitu</option>
                    <option value="sensitive">Drewno, winyl lub zadeklarowany limit</option>
                    <option value="unknown">Nie znam wymagań okładziny</option>
                  </select>
                </div>
              </div>
            </div>

            <div class="rk-controls-input-group">
              <h4>3. Pętle, regulacja i możliwość montażu</h4>
              <p>Duża liczba pętli sterowanych siłownikami zwiększa zakres kontroli, ale może też zwiększać ryzyko utraty przepływu.</p>
              <div class="rk-controls-fields">
                <div class="rk-controls-field">
                  <label for="rk-controls-loops">Łączna liczba pętli</label>
                  <input id="rk-controls-loops" type="number" min="1" max="60" step="1" value="12" inputmode="numeric">
                </div>
                <div class="rk-controls-field">
                  <label for="rk-controls-controlled-loops">Pętle planowane do sterowania siłownikami</label>
                  <input id="rk-controls-controlled-loops" type="number" min="0" max="60" step="1" value="8" inputmode="numeric">
                  <span class="rk-controls-help">To nie znaczy, że wszystkie zamkną się jednocześnie — analizator pokazuje wariant ostrożnościowy.</span>
                </div>
                <div class="rk-controls-field">
                  <label for="rk-controls-balance">Regulacja hydrauliczna pętli</label>
                  <select id="rk-controls-balance">
                    <option value="documented">Mam projektowe przepływy i nastawy</option>
                    <option value="adjusted" selected="">Przepływy zostały wyregulowane w praktyce</option>
                    <option value="unknown">Nie wiem, jakie powinny być przepływy</option>
                    <option value="none">Nie wykonano regulacji</option>
                  </select>
                </div>
                <div class="rk-controls-field">
                  <label for="rk-controls-wiring">Etap instalacji</label>
                  <select id="rk-controls-wiring">
                    <option value="wired" selected="">Budowa — można ułożyć przewody</option>
                    <option value="retrofit">Dom wykończony — bez kucia ścian</option>
                    <option value="flexible">Oba rozwiązania są możliwe</option>
                  </select>
                </div>
              </div>
            </div>

            <div id="rk-controls-error" class="rk-controls-error" role="alert"></div>
            <div class="rk-controls-actions">
              <button id="rk-controls-calculate" class="rk-controls-button" type="button">Przeanalizuj koncepcję</button>
              <button id="rk-controls-reset" class="rk-controls-button rk-controls-button-secondary" type="button">Przywróć dane przykładowe</button>
            </div>

            <div class="rk-controls-result-hero is-selective" id="rk-controls-result-hero" aria-live="polite">
              <span class="rk-controls-result-badge" id="rk-controls-result-badge">Wynik analizatora</span>
              <h4 id="rk-controls-result-title">Hybryda: sterowanie tylko tam, gdzie jest potrzebne</h4>
              <p id="rk-controls-result-lead">Regulacja pogodowa i wyregulowane przepływy powinny prowadzić instalację, a termostaty mogą ograniczać wybrane pomieszczenia o innych zyskach lub harmonogramach.</p>
            </div>

            <div class="rk-controls-score-grid" aria-label="Cztery niezależne oceny analizatora">
              <div class="rk-controls-score-card">
                <span>Korzyść z różnicowania stref</span>
                <strong id="rk-controls-benefit-label">Umiarkowana</strong>
                <div class="rk-controls-score-track"><div id="rk-controls-benefit-bar" class="rk-controls-score-fill"></div></div>
              </div>
              <div class="rk-controls-score-card">
                <span>Bezwładność podłogi</span>
                <strong id="rk-controls-inertia-label">Średnia</strong>
                <div class="rk-controls-score-track"><div id="rk-controls-inertia-bar" class="rk-controls-score-fill is-purple"></div></div>
              </div>
              <div class="rk-controls-score-card">
                <span>Ryzyko hydrauliczne</span>
                <strong id="rk-controls-hydraulic-label">Podwyższone</strong>
                <div class="rk-controls-score-track"><div id="rk-controls-hydraulic-bar" class="rk-controls-score-fill is-orange"></div></div>
              </div>
              <div class="rk-controls-score-card">
                <span>Priorytet uporządkowania podstaw</span>
                <strong id="rk-controls-foundation-label">Do sprawdzenia</strong>
                <div class="rk-controls-score-track"><div id="rk-controls-foundation-bar" class="rk-controls-score-fill is-green"></div></div>
              </div>
            </div>

            <div class="rk-controls-result-columns">
              <div class="rk-controls-result-list"><h4>Co zrobić</h4><ul id="rk-controls-recommendations"></ul></div>
              <div class="rk-controls-result-list"><h4>Co może być potrzebne</h4><ul id="rk-controls-components"></ul></div>
              <div class="rk-controls-result-list"><h4>Co koniecznie sprawdzić</h4><ul id="rk-controls-risks"></ul></div>
            </div>

            <div class="rk-controls-result-block">
              <h4>Jak powinna wyglądać kolejność sterowania?</h4>
              <p>Kolory i opisy zmieniają się wraz z wynikiem. Schemat pokazuje logikę funkcjonalną, a nie połączenia elektryczne.</p>
              <div class="rk-controls-system-path" aria-label="Dynamiczna ścieżka sterowania instalacją">
                <div class="rk-controls-system-node"><b>Źródło ciepła</b><span id="rk-controls-path-source">Pompa ciepła prowadzona pogodowo</span><em class="rk-controls-system-state" id="rk-controls-state-source">baza systemu</em></div>
                <div class="rk-controls-system-node"><b>Hydraulika</b><span id="rk-controls-path-hydraulic">Minimalny przepływ wymaga potwierdzenia</span><em class="rk-controls-system-state is-warn" id="rk-controls-state-hydraulic">sprawdź przepływ</em></div>
                <div class="rk-controls-system-node"><b>Rozdzielacz</b><span id="rk-controls-path-distribution">Projektowe lub wyregulowane przepływy pętli</span><em class="rk-controls-system-state" id="rk-controls-state-distribution">nie zastępuj automatyką</em></div>
                <div class="rk-controls-system-node"><b>Pomieszczenia</b><span id="rk-controls-path-zones">Wybrane strefy z termostatami i siłownikami</span><em class="rk-controls-system-state" id="rk-controls-state-zones">sterowanie selektywne</em></div>
              </div>
            </div>

            <div class="rk-controls-chart-box">
              <h4>Co dzieje się po zamknięciu siłownika?</h4>
              <p id="rk-controls-chart-description">W modelu referencyjnym przepływ zostaje odcięty po 2 godzinach, ale standardowy jastrych nadal oddaje wcześniej zgromadzone ciepło. Wykres pokazuje względną reakcję, a nie temperaturę konkretnego domu.</p>
              <div class="rk-controls-chart-wrap"><canvas id="rk-controls-response-chart" aria-label="Referencyjny wykres sygnału siłownika i opóźnionej emisji ciepła podłogi"></canvas></div>
              <div class="rk-controls-chart-legend"><span class="rk-controls-chart-key">sygnał grzania i przepływu</span><span class="rk-controls-chart-key is-orange">względna emisja podłogi</span></div>
            </div>

            <div id="rk-controls-diagnostics" class="rk-controls-diagnostics" aria-live="polite"></div>
            <p class="rk-controls-analyzer-disclaimer">Analizator nie oblicza oszczędności energii, nie dobiera liczby siłowników i nie potwierdza zgodności z konkretnym źródłem. Wynik służy do uporządkowania decyzji przed projektem i doborem automatyki.</p>
          </div>
        </div>
      </section>

      <aside class="rk-controls-cta rk-controls-mid-cta" aria-label="Zamówienie projektu przygotowanego pod sterowanie">
        <div class="rk-controls-cta-title">Analizator wskazuje kierunek, ale nie zna oporów i przepływów Twoich pętli</div>
        <p>Jeżeli termostaty mają sterować siłownikami, ich podział trzeba powiązać z długościami obwodów, nastawami rozdzielacza, pompą obiegową i wymaganiami źródła. Projekt określa również, które pętle mogą się zamykać i jak zachować stabilny przepływ.</p>
        <a class="rk-controls-cta-button rk-controls-sales-cta" href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Zamów projekt podłogówki przygotowany pod sterowanie</a>
      </aside>

      <section class="rk-controls-section" id="rk-controls-kiedy-warto">
        <div class="rk-controls-section-head">
          <span class="rk-controls-eyebrow">Rzeczywiste powody</span>
          <h2>Kiedy pełne sterowanie strefowe ma sens?</h2>
          <p>Najmocniejszym argumentem nie jest sama powierzchnia domu, lecz różnica między wymaganiami poszczególnych pomieszczeń.</p>
        </div>
        <div class="rk-controls-table-wrap">
          <table class="rk-controls-table">
            <thead><tr><th>Sytuacja</th><th>Dlaczego sterowanie może pomóc</th><th>Na co uważać</th></tr></thead>
            <tbody>
              <tr><td data-label="Sytuacja"><strong>Łazienka i sypialnie</strong></td><td data-label="Możliwa korzyść">Pomieszczenia mogą mieć odmienne temperatury komfortu i różny rytm użytkowania.</td><td data-label="Na co uważać">Wspólna pętla dla kilku pomieszczeń uniemożliwi ich niezależne sterowanie.</td></tr>
              <tr><td data-label="Sytuacja"><strong>Salon z dużym przeszkleniem</strong></td><td data-label="Możliwa korzyść">Termostat może ograniczyć dalsze zasilanie strefy podczas silnych zysków słonecznych.</td><td data-label="Na co uważać">Jastrych nadal oddaje ciepło po zamknięciu przepływu.</td></tr>
              <tr><td data-label="Sytuacja"><strong>Kominek lub inne źródło miejscowe</strong></td><td data-label="Możliwa korzyść">Ograniczenie podłogi w ogrzanej części domu zmniejsza nakładanie się źródeł.</td><td data-label="Na co uważać">Ciepło może przemieszczać się do sąsiednich stref i zakłócać odczyty.</td></tr>
              <tr><td data-label="Sytuacja"><strong>Pokój gościnny i pomieszczenia okresowe</strong></td><td data-label="Możliwa korzyść">Można utrzymywać inną temperaturę przez dłuższy okres, a nie tylko przez kilka godzin.</td><td data-label="Na co uważać">Powrót do komfortu jest wolniejszy niż przy grzejniku.</td></tr>
              <tr><td data-label="Sytuacja"><strong>Różne kondygnacje i ekspozycje</strong></td><td data-label="Możliwa korzyść">Strefy mogą mieć inne zyski i inną dynamikę cieplną.</td><td data-label="Na co uważać">Najpierw trzeba wykluczyć błąd przepływów między rozdzielaczami.</td></tr>
            </tbody>
          </table>
        </div>
      </section>

      <section class="rk-controls-section" id="rk-controls-kiedy-nie">
        <div class="rk-controls-section-head">
          <span class="rk-controls-eyebrow">Mniej elektroniki może działać lepiej</span>
          <h2>Kiedy sterowniki pokojowe mogą niewiele zmienić?</h2>
          <p>Nie każda pętla potrzebuje cyklicznego zamykania. W stabilnym budynku dobrze ustawiona temperatura wody i przepływy często wykonują większość pracy.</p>
        </div>
        <div class="rk-controls-grid-2">
          <div class="rk-controls-card rk-controls-card-blue"><h3>Jedna strefa funkcjonalna</h3><p>Mały dom, mieszkanie albo otwarty parter z podobną temperaturą we wszystkich częściach nie zawsze uzasadnia osobny termostat dla każdej pętli.</p></div>
          <div class="rk-controls-card rk-controls-card-purple"><h3>Ciężka płyta grzewcza</h3><p>Duża masa akumulacyjna reaguje wolno. Krótkie harmonogramy i szybkie przełączanie mogą nie zdążyć wpłynąć na komfort w oczekiwanym czasie.</p></div>
          <div class="rk-controls-card rk-controls-card-green"><h3>Dobrze ustawiona pogodówka</h3><p>Jeżeli źródło dostarcza dokładnie tyle ciepła, ile aktualnie potrzebuje budynek, termostaty mogą pełnić głównie funkcję ograniczników.</p></div>
          <div class="rk-controls-card rk-controls-card-orange"><h3>Niewyregulowana instalacja</h3><p>Gdy jedne pomieszczenia są zimne, a inne gorące z powodu błędnych przepływów, siłowniki mogą ukryć objaw bez usunięcia przyczyny.</p></div>
        </div>
        <div class="rk-controls-warning" style="margin-top:18px"><p><strong>Brak pełnego strefowania nie oznacza braku regulacji.</strong> Instalacja nadal potrzebuje kontroli temperatury zasilania, prawidłowej pracy pompy i wyważenia przepływów.</p></div>
      </section>

      <section class="rk-controls-section" id="rk-controls-hybryda">
        <div class="rk-controls-section-head">
          <span class="rk-controls-eyebrow">Rozwiązanie pośrednie</span>
          <h2>Sterowanie selektywne: termostaty tylko w wybranych strefach</h2>
          <p>Układ hybrydowy zachowuje stabilną bazę hydrauliczną i dodaje automatykę tam, gdzie pomieszczenie rzeczywiście zachowuje się inaczej.</p>
        </div>
        <div class="rk-controls-grid-3">
          <div class="rk-controls-card rk-controls-card-blue"><h3>Pętle referencyjne</h3><p>Część prawidłowo wyregulowanych obwodów może pozostać otwarta, jeśli jest to zgodne z koncepcją hydrauliki i wymaganiami źródła.</p></div>
          <div class="rk-controls-card rk-controls-card-green"><h3>Strefy problematyczne</h3><p>Siłowniki obsługują salon z dużymi zyskami, sypialnie o niższej nastawie, łazienkę albo rzadko używane pokoje.</p></div>
          <div class="rk-controls-card rk-controls-card-purple"><h3>Pogodówka jako baza</h3><p>Źródło nadal reguluje temperaturę wody według warunków zewnętrznych, zamiast czekać wyłącznie na sygnał jednego termostatu.</p></div>
        </div>
        <p style="margin-top:18px">Szczegółową budowę listwy, termostatów i siłowników opisuje osobny poradnik o tym, <a href="https://projekt-ogrzewania.pl/sterowanie-strefowe-ogrzewaniem-czy-warto/">jak działa sterowanie strefowe ogrzewaniem</a>. Ten artykuł pozostaje przewodnikiem decyzyjnym i nie dubluje instrukcji podłączania.</p>
      </section>

      <section class="rk-controls-section" id="rk-controls-pompa-ciepla">
        <div class="rk-controls-section-head">
          <span class="rk-controls-eyebrow">Najczęstszy punkt sporny</span>
          <h2>Sterowniki do podłogówki przy pompie ciepła</h2>
          <p>Pompa ciepła może współpracować ze strefami, ale zamykanie obwodów musi być podporządkowane minimalnemu przepływowi, objętości instalacji i logice modulacji urządzenia.</p>
        </div>
        <div class="rk-controls-grid-2">
          <div class="rk-controls-card rk-controls-card-green">
            <h3>Co zwykle sprzyja efektywności?</h3>
            <ul>
              <li>możliwie niska temperatura zasilania,</li>
              <li>długa i spokojna praca zamiast częstych startów,</li>
              <li>regulacja pogodowa dopasowana do budynku,</li>
              <li>stabilny przepływ przez wymiennik i instalację,</li>
              <li>łagodne ograniczanie wybranych pomieszczeń.</li>
            </ul>
          </div>
          <div class="rk-controls-card rk-controls-card-orange">
            <h3>Co może pogorszyć pracę?</h3>
            <ul>
              <li>zamknięcie większości pętli jednocześnie,</li>
              <li>brak odbioru minimalnej mocy źródła,</li>
              <li>agresywne obniżenia i szybkie dogrzewanie,</li>
              <li>sterowanie typu włącz–wyłącz całym domem,</li>
              <li>próba naprawienia złych przepływów siłownikami.</li>
            </ul>
          </div>
        </div>
        <div class="rk-controls-note" style="margin-top:18px"><p><strong>Bufor nie jest automatyczną odpowiedzią.</strong> Czasem wystarczą prawidłowo otwarte obwody i zachowanie wymaganej objętości, a czasem potrzebny jest bufor, obejście lub rozdzielenie obiegów. Decyzję podejmuje się na podstawie hydrauliki oraz wymagań źródła, a nie jednej liczby litrów na kW.</p></div>
      </section>

      <section class="rk-controls-section" id="rk-controls-kotly">
        <div class="rk-controls-section-head">
          <span class="rk-controls-eyebrow">Kocioł gazowy, pelletowy i elektryczny</span>
          <h2>Czy rodzaj źródła zmienia sposób sterowania strefami?</h2>
          <p>Termostat nadal otwiera albo zamyka obwód, ale źródła różnią się modulacją, temperaturą roboczą, bezwładnością i reakcją na utratę odbioru ciepła.</p>
        </div>
        <div class="rk-controls-table-wrap">
          <table class="rk-controls-table">
            <thead><tr><th>Źródło</th><th>Najważniejsza zasada</th><th>Typowe ryzyko</th></tr></thead>
            <tbody>
              <tr><td data-label="Źródło"><strong>Kocioł gazowy kondensacyjny</strong></td><td data-label="Najważniejsza zasada">Wykorzystać modulację i pogodowe prowadzenie niskiej temperatury wody.</td><td data-label="Typowe ryzyko">Mały odbiór po zamknięciu stref może prowadzić do częstych startów.</td></tr>
              <tr><td data-label="Źródło"><strong>Kocioł na pellet</strong></td><td data-label="Najważniejsza zasada">Oddzielić wymagania obiegu kotłowego od niskotemperaturowej podłogówki.</td><td data-label="Typowe ryzyko">Źródło o większej bezwładności nie powinno tracić odbioru w sposób przypadkowy.</td></tr>
              <tr><td data-label="Źródło"><strong>Kocioł elektryczny</strong></td><td data-label="Najważniejsza zasada">Koordynować sygnał zapotrzebowania z pompą i liczbą otwartych obwodów.</td><td data-label="Typowe ryzyko">Proste sterowanie włącz–wyłącz może zwiększać liczbę cykli.</td></tr>
              <tr><td data-label="Źródło"><strong>Sieć lub inne źródło</strong></td><td data-label="Najważniejsza zasada">Sprawdzić warunki temperaturowe i hydrauliczne konkretnego węzła.</td><td data-label="Typowe ryzyko">Brak jednej uniwersalnej logiki dla wszystkich układów.</td></tr>
            </tbody>
          </table>
        </div>
      </section>

      <section class="rk-controls-section" id="rk-controls-bezwladnosc">
        <div class="rk-controls-section-head">
          <span class="rk-controls-eyebrow">Siłownik zamyka wodę, nie energię w jastrychu</span>
          <h2>Bezwładność ogrzewania podłogowego a termostat</h2>
          <p>Po odcięciu przepływu ciepła podłoga nadal oddaje energię zmagazynowaną w konstrukcji. Im cięższa płyta, tym ostrożniej należy podchodzić do harmonogramów i dużych obniżeń temperatury.</p>
        </div>
        <div class="rk-controls-grid-3">
          <div class="rk-controls-card rk-controls-card-green"><h3>System lekki lub suchy</h3><p>Mniejsza masa może szybciej reagować na zmianę zasilania, ale dokładna dynamika zależy od całej konstrukcji i okładziny.</p></div>
          <div class="rk-controls-card rk-controls-card-blue"><h3>Standardowy jastrych</h3><p>Regulator powinien uwzględniać opóźnienie. Krótkie wyłączenia nie muszą powodować zauważalnej zmiany temperatury pokoju.</p></div>
          <div class="rk-controls-card rk-controls-card-purple"><h3>Gruba płyta akumulacyjna</h3><p>Najważniejsze jest łagodne prowadzenie temperatury. Duże obniżenia dobowe mogą działać zbyt późno względem planu użytkownika.</p></div>
        </div>
        <div class="rk-controls-warning" style="margin-top:18px"><p><strong>Nie ustawiamy z artykułu uniwersalnego cyklu PWM, TPI ani histerezy.</strong> Parametry regulatora trzeba dopasować do instrukcji automatyki, czasu pracy siłownika oraz obserwowanej reakcji konkretnej podłogi.</p></div>
      </section>

      <section class="rk-controls-section" id="rk-controls-elementy">
        <div class="rk-controls-section-head">
          <span class="rk-controls-eyebrow">Co rzeczywiście kupujesz?</span>
          <h2>Termostat, listwa, siłownik i sygnał do źródła</h2>
          <p>Kompletny system to nie sam panel na ścianie. Wszystkie elementy muszą mieć zgodne napięcie, sposób komunikacji i logikę działania.</p>
        </div>
        <div class="rk-controls-grid-4">
          <div class="rk-controls-card rk-controls-card-blue"><h3>Termostat</h3><p>Mierzy temperaturę w reprezentatywnym miejscu i przekazuje zapotrzebowanie strefy. Może także obsługiwać czujnik podłogowy.</p></div>
          <div class="rk-controls-card rk-controls-card-purple"><h3>Listwa sterująca</h3><p>Zbiera sygnały z pomieszczeń, zasila siłowniki i może sterować pompą lub przekazywać żądanie grzania.</p></div>
          <div class="rk-controls-card rk-controls-card-green"><h3>Siłownik</h3><p>Zmienia położenie zaworu na belce rozdzielacza. Typ NC albo NO musi być zgodny z projektem i logiką listwy.</p></div>
          <div class="rk-controls-card rk-controls-card-orange"><h3>Źródło i pompa</h3><p>Muszą otrzymać właściwy sygnał oraz zachować dopuszczalny czas pracy, przepływ i odbiór energii.</p></div>
        </div>
        <h3 style="margin-top:27px">NC czy NO?</h3>
        <p>Siłownik NC jest zamknięty bez zasilania, a NO pozostaje wtedy otwarty. Nie ma jednej odpowiedzi odpowiedniej dla każdej instalacji. Trzeba ocenić stan bezpieczny przy zaniku napięcia, zgodność listwy, pobór energii i oczekiwaną pracę zaworów. NC jest często spotykany, ale sama popularność nie zastępuje sprawdzenia kompatybilności.</p>
      </section>

      <section class="rk-controls-section" id="rk-controls-czujnik">
        <div class="rk-controls-section-head">
          <span class="rk-controls-eyebrow">Temperatura powietrza i powierzchni to dwa różne pomiary</span>
          <h2>Czy potrzebny jest czujnik temperatury podłogi?</h2>
          <p>Czujnik podłogowy może pełnić funkcję ogranicznika albo wspomagać komfort. Nie jest jednak automatycznie obowiązkowy przy każdej okładzinie i nie zastępuje prawidłowego ograniczenia temperatury wody.</p>
        </div>
        <div class="rk-controls-grid-2">
          <div class="rk-controls-card rk-controls-card-green">
            <h3>Kiedy jest szczególnie przydatny?</h3>
            <ul>
              <li>gdy dokumentacja okładziny podaje maksymalną temperaturę,</li>
              <li>w pomieszczeniu, gdzie ważna jest minimalna temperatura komfortowa podłogi,</li>
              <li>gdy regulator obsługuje jednocześnie czujnik powietrza i ograniczenie podłogi,</li>
              <li>w układzie wymagającym dodatkowej kontroli lokalnej.</li>
            </ul>
          </div>
          <div class="rk-controls-card rk-controls-card-orange">
            <h3>Czego czujnik nie gwarantuje?</h3>
            <ul>
              <li>nie mierzy najwyższej temperatury całej powierzchni,</li>
              <li>nie naprawia zbyt wysokiej temperatury zasilania,</li>
              <li>nie zastępuje ograniczeń konstrukcji podłogi,</li>
              <li>nie powinien być zabetonowany bez możliwości wymiany.</li>
            </ul>
          </div>
        </div>
        <div class="rk-controls-note" style="margin-top:18px"><p>Czujnik umieszcza się zgodnie z instrukcją systemu, zwykle w wymiennym peszlu i w reprezentatywnym miejscu między przewodami. Limit należy przyjąć z dokumentacji konkretnej okładziny, a nie z jednej wartości powtarzanej dla wszystkich paneli i podłóg drewnianych. Więcej o granicach pracy znajdziesz w opracowaniu o <a href="https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/">maksymalnej temperaturze zasilania podłogówki</a>.</p></div>
      </section>

      <section class="rk-controls-section" id="rk-controls-przewodowe">
        <div class="rk-controls-section-head">
          <span class="rk-controls-eyebrow">Nowa budowa i modernizacja</span>
          <h2>Sterowanie przewodowe czy bezprzewodowe?</h2>
          <p>Nie będziemy przypisywać systemom fikcyjnych procentów niezawodności. Wybór zależy od etapu inwestycji, możliwości prowadzenia przewodów i akceptowanej obsługi.</p>
        </div>
        <div class="rk-controls-table-wrap">
          <table class="rk-controls-table">
            <thead><tr><th>Kryterium</th><th>System przewodowy</th><th>System bezprzewodowy</th></tr></thead>
            <tbody>
              <tr><td data-label="Kryterium"><strong>Najlepszy etap</strong></td><td data-label="Przewodowy">Budowa lub generalny remont przed wykonaniem tynków.</td><td data-label="Bezprzewodowy">Wykończony dom albo modernizacja bez bruzdowania ścian.</td></tr>
              <tr><td data-label="Kryterium"><strong>Zasilanie</strong></td><td data-label="Przewodowy">Zależne od architektury 24 V, 230 V albo magistrali.</td><td data-label="Bezprzewodowy">Termostaty mogą wymagać baterii lub lokalnego zasilania.</td></tr>
              <tr><td data-label="Kryterium"><strong>Łączność</strong></td><td data-label="Przewodowy">Brak zależności od zasięgu radiowego, ale konieczne prawidłowe okablowanie.</td><td data-label="Bezprzewodowy">Zasięg trzeba sprawdzić w rzeczywistym budynku, szczególnie przez stropy i grube ściany.</td></tr>
              <tr><td data-label="Kryterium"><strong>Serwis</strong></td><td data-label="Przewodowy">Warto opisać przewody i zostawić dokumentację połączeń.</td><td data-label="Bezprzewodowy">Trzeba kontrolować baterie, parowanie urządzeń i dostępność komunikacji.</td></tr>
              <tr><td data-label="Kryterium"><strong>Rozbudowa</strong></td><td data-label="Przewodowy">Łatwa, jeśli wcześniej pozostawiono przewody i rezerwę w listwie.</td><td data-label="Bezprzewodowy">Zwykle prostsza bez prac budowlanych, ale zależna od kompatybilności systemu.</td></tr>
            </tbody>
          </table>
        </div>
      </section>

      <section class="rk-controls-section" id="rk-controls-strefy">
        <div class="rk-controls-section-head">
          <span class="rk-controls-eyebrow">Podział zaczyna się na rzucie</span>
          <h2>Jak prawidłowo podzielić podłogówkę na strefy?</h2>
          <p>Termostat powinien sterować grupą pętli obsługujących obszar o podobnej funkcji, ekspozycji i oczekiwanej temperaturze.</p>
        </div>
        <div class="rk-controls-steps">
          <div class="rk-controls-step"><h3>Zaznacz funkcje pomieszczeń</h3><p>Oddziel łazienki, sypialnie, strefę dzienną, pokoje okresowe oraz pomieszczenia o innych temperaturach projektowych.</p></div>
          <div class="rk-controls-step"><h3>Sprawdź zyski ciepła</h3><p>Duże przeszklenia, kominek, sprzęt i liczba użytkowników mogą uzasadniać osobną regulację części budynku.</p></div>
          <div class="rk-controls-step"><h3>Przypisz pętle do pomieszczeń</h3><p>Wszystkie obwody jednego dużego pokoju powinny otrzymywać spójny sygnał, jeżeli pracują jako jedna strefa.</p></div>
          <div class="rk-controls-step"><h3>Nie prowadź jednej pętli przez różne strefy</h3><p>Jeżeli jedna pętla ogrzewa dwa pomieszczenia o innych nastawach, żaden termostat nie rozdzieli ich fizycznie po wykonaniu posadzki.</p></div>
          <div class="rk-controls-step"><h3>Policz udział zamykanych obwodów</h3><p>Sprawdź wariant, w którym wiele stref osiąga temperaturę jednocześnie. Pompa i źródło nadal muszą pracować w bezpiecznym zakresie.</p></div>
          <div class="rk-controls-step"><h3>Zaplanuj przewody i czujniki</h3><p>Na etapie budowy zdecyduj o trasach, napięciu, miejscu listwy, sygnale do pompy oraz wymiennych peszlach czujników.</p></div>
        </div>
        <p style="margin-top:18px">Podział pętli salonu powinien wynikać z geometrii i długości obwodów. Pomocne będzie opracowanie <a href="https://projekt-ogrzewania.pl/salon-ile-petli-podlogowki/">ile pętli podłogówki zaplanować w salonie</a> oraz poradnik o <a href="https://projekt-ogrzewania.pl/ile-metrow-podlogowki-na-jednej-petli/">dopuszczalnej długości jednej pętli</a>.</p>
      </section>

      <section class="rk-controls-section" id="rk-controls-hydraulika">
        <div class="rk-controls-section-head">
          <span class="rk-controls-eyebrow">Najważniejsza część, której nie widać na termostacie</span>
          <h2>Zamykanie pętli, minimalny przepływ, pompa i bufor</h2>
          <p>Każdy zamknięty zawór zmienia sieć hydrauliczną. Przepływ całkowity oraz punkt pracy pompy nie pozostają wtedy takie same.</p>
        </div>
        <div class="rk-controls-grid-2">
          <div class="rk-controls-card rk-controls-card-orange">
            <h3>Scenariusz krytyczny</h3>
            <p>Większość termostatów osiąga temperaturę, siłowniki zamykają pętle, a źródło nadal zgłasza pracę. Trzeba przewidzieć, gdzie popłynie woda i gdzie zostanie odebrana minimalna moc.</p>
            <ul>
              <li>minimalny przepływ źródła,</li>
              <li>minimalna objętość instalacji,</li>
              <li>minimalny czas pracy,</li>
              <li>reakcja pompy na wzrost różnicy ciśnień.</li>
            </ul>
          </div>
          <div class="rk-controls-card rk-controls-card-green">
            <h3>Możliwe rozwiązania</h3>
            <p>Projekt może wykorzystywać właściwie dobrane obwody stale otwarte, regulację pompy, obejście, dodatkową objętość, bufor lub rozdzielenie hydrauliczne. Nie każde rozwiązanie pasuje do każdego źródła.</p>
            <p>Przeczytaj także o <a href="https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/">sprzęgle hydraulicznym w podłogówce</a>.</p>
          </div>
        </div>
        <div class="rk-controls-warning" style="margin-top:18px"><p><strong>Trybu pompy nie wybieramy z jednego zdania w internecie.</strong> Charakterystykę należy dopasować do instalacji, zaworów i wymaganego punktu pracy. Automatyczna regulacja różnicy ciśnień może pomagać po zamykaniu pętli, ale nie tworzy brakującego przepływu przez źródło.</p></div>
      </section>

      <section class="rk-controls-section" id="rk-controls-uruchomienie">
        <div class="rk-controls-section-head">
          <span class="rk-controls-eyebrow">Kolejność uruchomienia</span>
          <h2>Jak skonfigurować automatykę bez uniwersalnych nastaw?</h2>
          <p>Nie podajemy jednego czasu PWM ani jednej histerezy. Zamiast tego stosujemy procedurę, która pozwala ocenić zachowanie całej instalacji.</p>
        </div>
        <div class="rk-controls-steps">
          <div class="rk-controls-step"><h3>Uruchom instalację z otwartymi pętlami</h3><p>Sprawdź odpowietrzenie, przepływy, temperaturę zasilania i powrotu oraz pracę pompy.</p></div>
          <div class="rk-controls-step"><h3>Ustaw przepływy przed automatyką</h3><p>Wprowadź nastawy z projektu albo wykonaj świadomą regulację. Termostat nie powinien dusić stale przewymiarowanej pętli.</p></div>
          <div class="rk-controls-step"><h3>Dopasuj krzywą grzewczą</h3><p>W stabilnych warunkach obniżaj temperaturę wody do poziomu zapewniającego komfort bez nadmiernego przegrzewania.</p></div>
          <div class="rk-controls-step"><h3>Sprawdź przypisanie wyjść</h3><p>Każdy termostat musi uruchamiać właściwe siłowniki, a typ NC lub NO powinien odpowiadać konfiguracji listwy.</p></div>
          <div class="rk-controls-step"><h3>Zweryfikuj opóźnienia i sygnał źródła</h3><p>Uwzględnij czas otwarcia siłowników, start pompy i warunki przekazania zapotrzebowania na ciepło.</p></div>
          <div class="rk-controls-step"><h3>Obserwuj pełne cykle cieplne</h3><p>Nie oceniaj podłogówki po kilkunastu minutach. Zapisuj temperaturę, liczbę startów źródła i zachowanie stref przez kilka dni.</p></div>
          <div class="rk-controls-step"><h3>Koryguj małymi krokami</h3><p>Zmieniając wiele parametrów jednocześnie, nie ustalisz, która korekta poprawiła albo pogorszyła pracę.</p></div>
        </div>
      </section>

      <section class="rk-controls-section" id="rk-controls-koszty">
        <div class="rk-controls-section-head">
          <span class="rk-controls-eyebrow">Bez kalkulatora fikcyjnego zwrotu</span>
          <h2>Ile kosztuje sterowanie ogrzewaniem podłogowym?</h2>
          <p>Nie podajemy jednej ceny za punkt ani procentu oszczędności. Koszt zależy od liczby stref, napięcia, komunikacji, funkcji listwy, czujników, okablowania i robocizny.</p>
        </div>
        <div class="rk-controls-table-wrap">
          <table class="rk-controls-table">
            <thead><tr><th>Pozycja budżetu</th><th>Co policzyć</th><th>Co może zmienić koszt</th></tr></thead>
            <tbody>
              <tr><td data-label="Pozycja"><strong>Termostaty</strong></td><td data-label="Co policzyć">Liczbę rzeczywiście niezależnych stref, a nie automatycznie liczbę pomieszczeń.</td><td data-label="Co zmienia koszt">Ekran, programowanie, czujnik podłogi, komunikacja i zasilanie.</td></tr>
              <tr><td data-label="Pozycja"><strong>Siłowniki</strong></td><td data-label="Co policzyć">Liczbę zaworów obsługujących pętle przypisane do stref.</td><td data-label="Co zmienia koszt">Napięcie, NC lub NO, skok i zgodność z zaworem.</td></tr>
              <tr><td data-label="Pozycja"><strong>Listwa lub moduły</strong></td><td data-label="Co policzyć">Liczbę wejść termostatów, wyjść siłowników i sygnałów do pompy lub źródła.</td><td data-label="Co zmienia koszt">Rozbudowa, komunikacja, opóźnienia, integracja i liczba rozdzielaczy.</td></tr>
              <tr><td data-label="Pozycja"><strong>Instalacja elektryczna</strong></td><td data-label="Co policzyć">Przewody, zabezpieczenia, puszki, zasilanie rozdzielacza i opis obwodów.</td><td data-label="Co zmienia koszt">Etap budowy, długość tras oraz konieczność prac wykończeniowych.</td></tr>
              <tr><td data-label="Pozycja"><strong>Uruchomienie</strong></td><td data-label="Co policzyć">Przypisanie stref, test siłowników, konfigurację pompy i sprawdzenie źródła.</td><td data-label="Co zmienia koszt">Liczba stref, brak dokumentacji i konieczność poprawiania hydrauliki.</td></tr>
            </tbody>
          </table>
        </div>
        <div class="rk-controls-note" style="margin-top:18px"><p><strong>Oszczędność nie wynika z zakupu urządzeń.</strong> Pojawia się tylko wtedy, gdy automatyka obniża średnią temperaturę tam, gdzie wcześniej była zbyt wysoka, ogranicza zbędne grzanie albo poprawia wykorzystanie zysków bez pogarszania pracy źródła.</p></div>
      </section>

      <section class="rk-controls-section" id="rk-controls-bledy">
        <div class="rk-controls-section-head">
          <span class="rk-controls-eyebrow">Błędy powtarzające się na budowach</span>
          <h2>Najczęstsze błędy przy sterownikach do podłogówki</h2>
          <p>Najdroższe problemy zwykle nie wynikają z braku funkcji aplikacji, lecz z niewłaściwego podziału stref i pominięcia hydrauliki.</p>
        </div>
        <div class="rk-controls-grid-2">
          <div class="rk-controls-card rk-controls-card-orange"><h3>Automatyka zamiast regulacji</h3><p>Siłowniki zamykają przegrzewane pętle, ale po ich ponownym otwarciu nadal płynie przez nie za dużo wody.</p></div>
          <div class="rk-controls-card rk-controls-card-orange"><h3>Termostat w złym miejscu</h3><p>Słońce, przeciąg, telewizor, kuchnia albo zimna ściana zafałszowują pomiar reprezentujący całą strefę.</p></div>
          <div class="rk-controls-card rk-controls-card-orange"><h3>Jedna pętla w dwóch pomieszczeniach</h3><p>Po wykonaniu posadzki nie można niezależnie sterować częściami jednego obwodu.</p></div>
          <div class="rk-controls-card rk-controls-card-orange"><h3>Zamykanie prawie całej instalacji</h3><p>Brak analizy minimalnego przepływu może prowadzić do alarmów, szumów, krótkich cykli albo niestabilnej pracy.</p></div>
          <div class="rk-controls-card rk-controls-card-orange"><h3>Niezgodne napięcie i logika</h3><p>Listwa, termostaty i siłowniki 24 V lub 230 V oraz typ NC albo NO muszą tworzyć jeden zgodny system.</p></div>
          <div class="rk-controls-card rk-controls-card-orange"><h3>Duże obniżenie na kilka godzin</h3><p>Podłoga może zacząć stygnąć dopiero pod koniec nieobecności, a późniejsze odzyskanie komfortu będzie opóźnione.</p></div>
          <div class="rk-controls-card rk-controls-card-orange"><h3>Czujnik zatopiony bez peszla</h3><p>Awaria czujnika może wymagać ingerencji w wykończoną podłogę, jeśli wcześniej nie zapewniono możliwości jego wymiany.</p></div>
          <div class="rk-controls-card rk-controls-card-orange"><h3>Brak dokumentacji przypisania pętli</h3><p>Podczas uruchomienia nie wiadomo, który termostat ma sterować konkretnym zaworem na rozdzielaczu.</p></div>
        </div>
      </section>

      <section class="rk-controls-section" id="rk-controls-checklista">
        <div class="rk-controls-section-head">
          <span class="rk-controls-eyebrow">Przed zakupem i przed tynkami</span>
          <h2>Checklista planowania sterowania podłogówką</h2>
          <p>Jeśli na większość punktów nie potrafisz jeszcze odpowiedzieć, zacznij od koncepcji instalacji, a nie od wyboru aplikacji i wyglądu termostatu.</p>
        </div>
        <ul class="rk-controls-checklist">
          <li>Znam projektową stratę ciepła każdego pomieszczenia.</li>
          <li>Każda pętla jest jednoznacznie przypisana do strefy.</li>
          <li>Mam długości obwodów i wymagane przepływy.</li>
          <li>Wiem, które pomieszczenia rzeczywiście potrzebują innej temperatury.</li>
          <li>Znam sposób regulacji temperatury zasilania.</li>
          <li>Znam minimalny przepływ i wymaganą objętość źródła.</li>
          <li>Sprawdziłem wariant jednoczesnego zamknięcia wielu pętli.</li>
          <li>Wybrałem typ przewodowy albo radiowy odpowiedni do etapu budowy.</li>
          <li>Napięcie listwy i siłowników jest zgodne.</li>
          <li>Typ NC albo NO odpowiada logice układu.</li>
          <li>Termostaty mają reprezentatywne miejsca montażu.</li>
          <li>Czujniki podłogowe można wymienić bez kucia.</li>
          <li>Znam ograniczenia temperaturowe okładziny.</li>
          <li>Dokumentacja opisuje przewody, wyjścia i strefy.</li>
        </ul>
      </section>

      <section class="rk-controls-section" id="rk-controls-faq">
        <div class="rk-controls-section-head">
          <span class="rk-controls-eyebrow">Szybkie odpowiedzi</span>
          <h2>Sterowniki do ogrzewania podłogowego — FAQ</h2>
          <p>Odpowiedzi celowo unikają uniwersalnych procentów oszczędności i ustawień oderwanych od konkretnego systemu.</p>
        </div>
        <div class="rk-controls-faq">
          <details><summary>Czy podłogówka może działać bez sterowników pokojowych?</summary><div class="rk-controls-faq-answer"><p>Tak. Prawidłowo zaprojektowana i wyregulowana instalacja może pracować na regulacji pogodowej źródła z otwartymi pętlami. Termostaty są wtedy opcjonalnym ograniczeniem wybranych pomieszczeń, a nie warunkiem działania podłogi.</p></div></details>
          <details><summary>Czy trzeba montować termostat w każdym pomieszczeniu?</summary><div class="rk-controls-faq-answer"><p>Nie. Osobny termostat ma sens dla rzeczywiście niezależnej strefy. Otwarta część dzienna o podobnej temperaturze może tworzyć jedną strefę, natomiast łazienka, sypialnie lub pokój okresowy mogą wymagać oddzielnego sterowania.</p></div></details>
          <details><summary>Czy sterowniki zawsze obniżają rachunki?</summary><div class="rk-controls-faq-answer"><p>Nie. Oszczędność zależy od tego, czy wcześniej dochodziło do przegrzewania lub zbędnego ogrzewania. W dobrze ustawionej instalacji dodatkowa redukcja zużycia może być niewielka, a źle zaprojektowane strefy mogą pogorszyć pracę źródła.</p></div></details>
          <details><summary>Czy pompa ciepła potrzebuje siłowników na wszystkich pętlach?</summary><div class="rk-controls-faq-answer"><p>Nie. Często stosuje się pogodowe prowadzenie temperatury i selektywne ograniczanie wybranych stref. Jeżeli siłowniki mogą zamknąć znaczną część instalacji, trzeba sprawdzić minimalny przepływ, objętość i sposób reakcji pompy ciepła.</p></div></details>
          <details><summary>Co jest ważniejsze: sterownik pogodowy czy pokojowy?</summary><div class="rk-controls-faq-answer"><p>Pełnią inne funkcje. Pogodówka prowadzi temperaturę wody dla całej instalacji, a termostat pokojowy ogranicza wybraną strefę na podstawie pomiaru wewnętrznego. W podłogówce często współpracują zamiast się zastępować.</p></div></details>
          <details><summary>Czy przy sterowaniu strefowym zawsze potrzebny jest bufor?</summary><div class="rk-controls-faq-answer"><p>Nie zawsze. Bufor jest jednym z możliwych rozwiązań, ale decyzja zależy od źródła, minimalnego przepływu, wymaganej objętości, liczby pozostających otwartych obwodów i hydrauliki całego układu.</p></div></details>
          <details><summary>Jaka histereza jest najlepsza do podłogówki?</summary><div class="rk-controls-faq-answer"><p>Nie ma jednej wartości dla wszystkich systemów. Ustawienie zależy od algorytmu regulatora, konstrukcji podłogi, miejsca czujnika i reakcji budynku. Należy rozpocząć od zaleceń automatyki i korygować małymi krokami po obserwacji pełnych cykli.</p></div></details>
          <details><summary>Czy PWM lub TPI jest zawsze lepsze od histerezy?</summary><div class="rk-controls-faq-answer"><p>Algorytmy czasowo-proporcjonalne mogą lepiej uwzględniać bezwładność, ale wymagają właściwej konfiguracji i zgodności z listwą, siłownikami oraz źródłem. Nie należy kopiować uniwersalnego czasu cyklu z innej instalacji.</p></div></details>
          <details><summary>Czy czujnik podłogowy jest obowiązkowy przy panelach?</summary><div class="rk-controls-faq-answer"><p>Nie można tego rozstrzygnąć dla wszystkich paneli jednym zdaniem. Trzeba sprawdzić wymagania konkretnej okładziny i systemu. Czujnik może służyć jako dodatkowy ogranicznik, ale nie zastępuje właściwej temperatury zasilania.</p></div></details>
          <details><summary>Czy po wykończeniu domu można zamontować sterowanie bezprzewodowe?</summary><div class="rk-controls-faq-answer"><p>Tak, jeśli wybrany system zapewnia odpowiedni zasięg i można zasilić listwę oraz siłowniki przy rozdzielaczu. Przed zakupem warto sprawdzić komunikację w rzeczywistym budynku i zgodność wszystkich elementów.</p></div></details>
          <details><summary>Czy siłowniki naprawią źle wyregulowane rotametry?</summary><div class="rk-controls-faq-answer"><p>Nie. Po otwarciu zaworu przez pętlę nadal powinien płynąć właściwy strumień wody. Najpierw ustala się przepływy, a dopiero później automatyka okresowo ogranicza wybrane obwody.</p></div></details>
        </div>
      </section>

      <section class="rk-controls-section" id="rk-controls-zrodla">
        <div class="rk-controls-section-head">
          <span class="rk-controls-eyebrow">Dokumenty publiczne i normalizacyjne</span>
          <h2>Źródła i podstawa techniczna opracowania</h2>
          <p>Linki zewnętrzne prowadzą wyłącznie do organizacji normalizacyjnych i instytucji publicznych. Parametry konkretnego regulatora, siłownika i źródła należy dodatkowo potwierdzić w ich dokumentacji, bez linkowania z artykułu do producentów.</p>
        </div>
        <ol class="rk-controls-sources">
          <li><a href="https://www.iso.org/standard/65883.html" target="_blank" rel="noopener nofollow">ISO 52120-1:2021</a> — funkcje automatyki, sterowania i zarządzania technicznego wpływające na charakterystykę energetyczną budynków.</li>
          <li><a href="https://www.iso.org/standard/74289.html" target="_blank" rel="noopener nofollow">ISO/TR 52120-2:2021</a> — wyjaśnienia i uzasadnienie metodyki ISO 52120-1.</li>
          <li><a href="https://eur-lex.europa.eu/legal-content/PL/TXT/?uri=CELEX:32024L1275" target="_blank" rel="noopener nofollow">Dyrektywa Parlamentu Europejskiego i Rady (UE) 2024/1275</a> — charakterystyka energetyczna budynków i rola systemów automatyki oraz sterowania.</li>
          <li><a href="https://www.iso.org/standard/74683.html" target="_blank" rel="noopener nofollow">ISO 11855-2:2021</a> — wyznaczanie mocy systemów ogrzewania i chłodzenia płaszczyznowego.</li>
          <li><a href="https://www.energy.gov/eere/buildings/articles/building-america-technology-solutions-case-study-field-performance-inverter" target="_blank" rel="noopener nofollow">U.S. Department of Energy — terenowa analiza pracy pomp ciepła</a> — między innymi wpływ strategii obniżania i odzyskiwania temperatury na eksploatację.</li>
          <li><a href="https://assets.publishing.service.gov.uk/media/5a82e1daed915d74e62381a7/heating-controls-international-evidence.pdf" target="_blank" rel="noopener nofollow">UK Government — międzynarodowy przegląd dowodów dotyczących sterowania ogrzewaniem</a>.</li>
        </ol>
        <div class="rk-controls-warning"><p><strong>Zakres opracowania:</strong> artykuł nie zastępuje projektu elektrycznego, instrukcji źródła, dokumentacji okładziny ani obliczeń hydraulicznych. Ustawienia automatyki należy sprawdzić w warunkach konkretnej instalacji.</p></div>
      </section>

      <section class="rk-controls-author" id="rk-controls-autor" aria-label="Autor opracowania">
        <input type="radio" name="rk-controls-author-tabs" id="rk-controls-author-about" checked="">
        <input type="radio" name="rk-controls-author-tabs" id="rk-controls-author-exp">
        <input type="radio" name="rk-controls-author-tabs" id="rk-controls-author-method">

        <header class="rk-controls-author-head">
          <div>
            <span class="rk-controls-kicker">Autor i odpowiedzialność merytoryczna</span>
            <h2>Robert Kucharski</h2>
            <p>Projektant instalacji sanitarnych • specjalista HVAC i ogrzewania podłogowego</p>
          </div>
          <span class="rk-controls-author-mark">AUTOMATYKA • HYDRAULIKA • OGRZEWANIE PŁASZCZYZNOWE</span>
        </header>

        <div class="rk-controls-author-layout">
          <aside class="rk-controls-author-side">
            <div class="rk-controls-author-photo"><img src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski — projektant instalacji sanitarnych i ogrzewania podłogowego" width="600" height="600" loading="lazy" decoding="async"></div>
            <div class="rk-controls-author-name">Robert Kucharski</div>
            <div class="rk-controls-author-role">Projektant instalacji sanitarnych<br>Specjalista HVAC i ogrzewania podłogowego</div>
            <div class="rk-controls-author-social-label">Profile autora</div>
            <div class="rk-controls-author-social" aria-label="Profile Roberta Kucharskiego w mediach społecznościowych">
              <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" target="_blank" rel="noopener nofollow me" aria-label="Robert Kucharski na LinkedIn"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M5.3 3.6A2.3 2.3 0 1 1 .7 3.6a2.3 2.3 0 0 1 4.6 0ZM1.1 8h4.3v13H1.1V8Zm6.9 0h4.1v1.8h.1c.6-1.1 2-2.3 4.1-2.3 4.4 0 5.2 2.9 5.2 6.7V21h-4.3v-6c0-1.4 0-3.3-2-3.3s-2.3 1.6-2.3 3.2V21H8V8Z"></path></svg></a>
              <a href="https://www.facebook.com/projektogrzewaniapl" target="_blank" rel="noopener nofollow me" aria-label="Projekt Ogrzewania na Facebooku"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M24 12.1C24 5.4 18.6 0 12 0S0 5.4 0 12.1C0 18.1 4.4 23 10.1 24v-8.4H7.1v-3.5h3V9.5c0-3 1.8-4.7 4.5-4.7 1.3 0 2.7.2 2.7.2v3h-1.5c-1.5 0-1.9.9-1.9 1.8v2.2h3.3l-.5 3.5h-2.8V24C19.6 23 24 18.1 24 12.1Z"></path></svg></a>
              <a href="https://x.com/Projekt_HVAC" target="_blank" rel="noopener nofollow me" aria-label="Projekt HVAC w serwisie X"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M18.9 2H22l-6.8 7.8L23.2 22h-6.3L12 15.6 6.4 22H3.3l7.2-8.2L.8 2h6.5l4.4 5.8L18.9 2Zm-1.1 17.9h1.7L6.4 4H4.6l13.2 15.9Z"></path></svg></a>
            </div>
          </aside>

          <div class="rk-controls-author-main">
            <blockquote class="rk-controls-author-quote"><p>„Dobry sterownik nie naprawia hydrauliki. Najpierw trzeba wiedzieć, ile wody potrzebuje każda pętla i co zrobi źródło, gdy część obwodów się zamknie. Dopiero później wybiera się liczbę stref i sposób regulacji.”</p></blockquote>
            <div class="rk-controls-author-tabs" role="tablist" aria-label="Informacje o autorze">
              <label class="rk-controls-author-tab" for="rk-controls-author-about">O autorze</label>
              <label class="rk-controls-author-tab" for="rk-controls-author-exp">Doświadczenie</label>
              <label class="rk-controls-author-tab" for="rk-controls-author-method">Metodyka</label>
            </div>
            <div class="rk-controls-author-panel rk-controls-author-panel-about">
              <p>Robert Kucharski opracowuje projekty wodnego ogrzewania podłogowego oraz instalacji grzewczych dla domów nowych i modernizowanych. Łączy obliczenia strat ciepła z doborem temperatur, rozstawów rur, długości pętli, przepływów, spadków ciśnienia oraz nastaw rozdzielaczy.</p>
              <p>W analizie automatyki traktuje termostaty, listwy i siłowniki jako element całego układu. Podział na strefy jest koordynowany z geometrią pomieszczeń, liczbą pętli, sposobem użytkowania, źródłem ciepła i minimalnym wymaganym przepływem.</p>
              <p><a href="https://projekt-ogrzewania.pl/author/robert-kucharski/">Zobacz profil autora i pozostałe opracowania</a>.</p>
            </div>
            <div class="rk-controls-author-panel rk-controls-author-panel-exp">
              <p>W praktyce projektowej Robert analizuje pętle nie tylko przy pełnym obciążeniu obliczeniowym, lecz również po częściowym zamknięciu stref. Pozwala to sprawdzić zachowanie pompy obiegowej, rozdzielacza i źródła w warunkach, które pojawiają się przez dużą część sezonu.</p>
              <p>Dokumentacja wykonawcza powinna jednoznacznie wskazywać długości obwodów, przepływy, przypisanie pomieszczeń oraz zalecenia dla automatyki. Dzięki temu instalator nie musi tworzyć logiki sterowania dopiero podczas podłączania listwy.</p>
            </div>
            <div class="rk-controls-author-panel rk-controls-author-panel-method">
              <p>Analizator w tym artykule nie wylicza oszczędności ani czasu zwrotu. Porządkuje czynniki decyzyjne i pokazuje konflikt między korzyścią z lokalnej regulacji a ryzykiem ograniczenia przepływu i opóźnioną reakcją podłogi.</p>
              <p>Robert jest właścicielem i autorem trzech serwisów branżowych, których powiązanie podaje jawnie:</p>
              <div class="rk-controls-site-links"><a href="https://projekt-ogrzewania.pl/">Projekt-Ogrzewania.pl</a><a href="https://remont.biz.pl/" target="_blank" rel="noopener nofollow">Remont.biz.pl</a><a href="https://sobir.pl/" target="_blank" rel="noopener nofollow">Sobir.pl</a></div>
            </div>
          </div>
        </div>
      </section>

      <aside class="rk-controls-cta rk-controls-final-cta" aria-label="Zamówienie projektu ogrzewania podłogowego">
        <div class="rk-controls-cta-title">Zaprojektuj pętle, przepływy i strefy jako jeden system</div>
        <p>Projekt ogrzewania podłogowego obejmuje obliczenia cieplne i hydrauliczne, rozrysowane pętle, długości rur, przepływy oraz nastawy rozdzielaczy. Koncepcja sterowania może zostać powiązana z funkcją pomieszczeń i planowanym źródłem ciepła.</p>
        <a class="rk-controls-cta-button rk-controls-sales-cta" href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Zamów kompletny projekt ogrzewania podłogowego</a>
      </aside>
    </div>
  </div>
</article>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "WebSite",
      "@id": "https://projekt-ogrzewania.pl/#website",
      "url": "https://projekt-ogrzewania.pl/",
      "name": "Projekt Ogrzewania",
      "inLanguage": "pl-PL",
      "publisher": {"@id": "https://projekt-ogrzewania.pl/#organization"}
    },
    {
      "@type": "Organization",
      "@id": "https://projekt-ogrzewania.pl/#organization",
      "name": "Projekt Ogrzewania",
      "url": "https://projekt-ogrzewania.pl/",
      "founder": {"@id": "https://projekt-ogrzewania.pl/#robert-kucharski"}
    },
    {
      "@type": "Organization",
      "@id": "https://remont.biz.pl/#organization",
      "name": "Remont.biz.pl",
      "url": "https://remont.biz.pl/",
      "founder": {"@id": "https://projekt-ogrzewania.pl/#robert-kucharski"}
    },
    {
      "@type": "Organization",
      "@id": "https://sobir.pl/#organization",
      "name": "Sobir.pl",
      "url": "https://sobir.pl/",
      "founder": {"@id": "https://projekt-ogrzewania.pl/#robert-kucharski"}
    },
    {
      "@type": "Person",
      "@id": "https://projekt-ogrzewania.pl/#robert-kucharski",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/author/robert-kucharski/",
      "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
      "jobTitle": "Projektant instalacji sanitarnych i specjalista HVAC",
      "knowsAbout": [
        "ogrzewanie podłogowe",
        "automatyka grzewcza",
        "sterowanie strefowe",
        "hydraulika instalacji grzewczych",
        "pompy ciepła",
        "obliczenia cieplne"
      ],
      "sameAs": [
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://www.facebook.com/projektogrzewaniapl",
        "https://x.com/Projekt_HVAC"
      ],
      "worksFor": [
        {"@id": "https://projekt-ogrzewania.pl/#organization"},
        {"@id": "https://remont.biz.pl/#organization"},
        {"@id": "https://sobir.pl/#organization"}
      ]
    },
    {
      "@type": "BreadcrumbList",
      "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#breadcrumb",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Strona główna",
          "item": "https://projekt-ogrzewania.pl/"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Blog",
          "item": "https://projekt-ogrzewania.pl/blog/"
        },
        {
          "@type": "ListItem",
          "position": 3,
          "name": "Sterowniki do ogrzewania podłogowego – czy warto je montować?",
          "item": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/"
        }
      ]
    },
    {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#webpage",
      "url": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/",
      "name": "Sterowniki do ogrzewania podłogowego – czy warto je montować?",
      "description": "Poradnik i analizator pomagający ocenić, czy w konkretnej instalacji warto zastosować sterowanie centralne, selektywne lub pełne sterowanie strefowe.",
      "inLanguage": "pl-PL",
      "isPartOf": {"@id": "https://projekt-ogrzewania.pl/#website"},
      "breadcrumb": {"@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#breadcrumb"},
      "dateModified": "2026-08-31",
      "mainEntity": {"@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#article"}
    },
    {
      "@type": "TechArticle",
      "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#article",
      "url": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/",
      "headline": "Sterowniki do ogrzewania podłogowego – czy warto je montować?",
      "alternativeHeadline": "Termostaty i siłowniki do podłogówki: sterowanie centralne, selektywne czy strefowe",
      "description": "Techniczny poradnik o sterownikach pokojowych, siłownikach, regulacji pogodowej, bezwładności podłogi i minimalnym przepływie źródła.",
      "inLanguage": "pl-PL",
      "dateModified": "2026-08-31",
      "author": {"@id": "https://projekt-ogrzewania.pl/#robert-kucharski"},
      "publisher": {"@id": "https://projekt-ogrzewania.pl/#organization"},
      "mainEntityOfPage": {"@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#webpage"},
      "about": [
        {"@type": "Thing", "name": "Sterowniki do ogrzewania podłogowego"},
        {"@type": "Thing", "name": "Sterowanie strefowe"},
        {"@type": "Thing", "name": "Termostaty pokojowe"},
        {"@type": "Thing", "name": "Siłowniki termoelektryczne"},
        {"@type": "Thing", "name": "Hydraulika ogrzewania podłogowego"}
      ],
      "citation": [
        "https://www.iso.org/standard/65883.html",
        "https://www.iso.org/standard/74289.html",
        "https://eur-lex.europa.eu/legal-content/PL/TXT/?uri=CELEX:32024L1275",
        "https://www.iso.org/standard/74683.html",
        "https://www.energy.gov/eere/buildings/articles/building-america-technology-solutions-case-study-field-performance-inverter"
      ]
    },
    {
      "@type": "WebApplication",
      "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#analyzer",
      "name": "Interaktywny analizator sterowania ogrzewaniem podłogowym",
      "url": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#rk-controls-analizator",
      "applicationCategory": "UtilitiesApplication",
      "operatingSystem": "Any",
      "browserRequirements": "JavaScript",
      "softwareVersion": "1.0",
      "inLanguage": "pl-PL",
      "isAccessibleForFree": true,
      "offers": {
        "@type": "Offer",
        "price": "0",
        "priceCurrency": "PLN"
      },
      "author": {"@id": "https://projekt-ogrzewania.pl/#robert-kucharski"},
      "description": "Analizator ocenia zasadność strefowania, bezwładność podłogi, ryzyko hydrauliczne i priorytet uporządkowania podstaw bez obiecywania procentowych oszczędności."
    },
    {
      "@type": "HowTo",
      "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#howto",
      "name": "Jak zaplanować sterowanie ogrzewaniem podłogowym",
      "description": "Procedura planowania i uruchamiania automatyki podłogówki bez uniwersalnych nastaw.",
      "inLanguage": "pl-PL",
      "step": [
        {"@type": "HowToStep", "position": 1, "name": "Uruchom otwarte pętle", "text": "Sprawdź odpowietrzenie, przepływy, temperaturę zasilania i powrotu oraz pracę pompy przy otwartych obwodach."},
        {"@type": "HowToStep", "position": 2, "name": "Ustaw przepływy", "text": "Wprowadź przepływy z projektu lub wykonaj świadomą regulację hydrauliczną przed aktywacją siłowników."},
        {"@type": "HowToStep", "position": 3, "name": "Dopasuj temperaturę wody", "text": "Ustaw regulację pogodową albo parametry źródła tak, aby podłoga nie otrzymywała nadmiernej temperatury."},
        {"@type": "HowToStep", "position": 4, "name": "Przypisz termostaty", "text": "Połącz każdy termostat z właściwymi pętlami i potwierdź zgodność typu NC lub NO oraz napięcia."},
        {"@type": "HowToStep", "position": 5, "name": "Sprawdź przepływ minimalny", "text": "Zweryfikuj pracę źródła i pompy po zamknięciu przewidywanej liczby obwodów."},
        {"@type": "HowToStep", "position": 6, "name": "Obserwuj pełne cykle", "text": "Oceniaj temperatury i liczbę startów źródła przez kilka dni, uwzględniając bezwładność podłogi."},
        {"@type": "HowToStep", "position": 7, "name": "Koryguj małymi krokami", "text": "Zmieniaj pojedyncze parametry i zapisuj efekt zamiast jednoczesnej zmiany wielu ustawień."}
      ]
    },
    {
      "@type": "FAQPage",
      "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#faq",
      "inLanguage": "pl-PL",
      "mainEntity": [
        {
          "@type": "Question",
          "name": "Czy podłogówka może działać bez sterowników pokojowych?",
          "acceptedAnswer": {"@type": "Answer", "text": "Tak. Prawidłowo zaprojektowana i wyregulowana instalacja może pracować na regulacji pogodowej źródła z otwartymi pętlami. Termostaty mogą być wtedy ograniczeniem wybranych pomieszczeń, a nie warunkiem działania podłogi."}
        },
        {
          "@type": "Question",
          "name": "Czy trzeba montować termostat w każdym pomieszczeniu?",
          "acceptedAnswer": {"@type": "Answer", "text": "Nie. Osobny termostat ma sens dla rzeczywiście niezależnej strefy. Otwarta część dzienna może tworzyć jedną strefę, a łazienka, sypialnie lub pokój okresowy mogą wymagać oddzielnego sterowania."}
        },
        {
          "@type": "Question",
          "name": "Czy sterowniki zawsze obniżają rachunki?",
          "acceptedAnswer": {"@type": "Answer", "text": "Nie. Oszczędność zależy od przegrzewania, wcześniejszego sposobu regulacji i użytkowania. W dobrze ustawionej instalacji dodatkowa redukcja zużycia może być niewielka."}
        },
        {
          "@type": "Question",
          "name": "Czy pompa ciepła potrzebuje siłowników na wszystkich pętlach?",
          "acceptedAnswer": {"@type": "Answer", "text": "Nie. Często stosuje się pogodowe prowadzenie temperatury i selektywne ograniczanie wybranych stref. Przy zamykaniu znacznej części instalacji trzeba sprawdzić minimalny przepływ, objętość i reakcję źródła."}
        },
        {
          "@type": "Question",
          "name": "Co jest ważniejsze: sterownik pogodowy czy pokojowy?",
          "acceptedAnswer": {"@type": "Answer", "text": "Pełnią inne funkcje. Pogodówka prowadzi temperaturę wody, a termostat pokojowy ogranicza wybraną strefę na podstawie pomiaru wewnętrznego. Często powinny współpracować."}
        },
        {
          "@type": "Question",
          "name": "Czy przy sterowaniu strefowym zawsze potrzebny jest bufor?",
          "acceptedAnswer": {"@type": "Answer", "text": "Nie zawsze. Decyzja zależy od źródła, minimalnego przepływu, wymaganej objętości, liczby pozostających otwartych obwodów i hydrauliki całego układu."}
        },
        {
          "@type": "Question",
          "name": "Jaka histereza jest najlepsza do podłogówki?",
          "acceptedAnswer": {"@type": "Answer", "text": "Nie ma jednej wartości dla wszystkich systemów. Ustawienie zależy od algorytmu regulatora, konstrukcji podłogi, czujników i reakcji budynku."}
        },
        {
          "@type": "Question",
          "name": "Czy PWM lub TPI jest zawsze lepsze od histerezy?",
          "acceptedAnswer": {"@type": "Answer", "text": "Algorytmy czasowo-proporcjonalne mogą lepiej uwzględniać bezwładność, ale wymagają właściwej konfiguracji i zgodności z listwą, siłownikami oraz źródłem."}
        },
        {
          "@type": "Question",
          "name": "Czy czujnik podłogowy jest obowiązkowy przy panelach?",
          "acceptedAnswer": {"@type": "Answer", "text": "Należy sprawdzić wymagania konkretnej okładziny i systemu. Czujnik może służyć jako dodatkowy ogranicznik, ale nie zastępuje właściwej temperatury zasilania."}
        },
        {
          "@type": "Question",
          "name": "Czy po wykończeniu domu można zamontować sterowanie bezprzewodowe?",
          "acceptedAnswer": {"@type": "Answer", "text": "Tak, jeżeli system ma odpowiedni zasięg i można zasilić listwę oraz siłowniki przy rozdzielaczu. Trzeba potwierdzić komunikację i kompatybilność elementów."}
        },
        {
          "@type": "Question",
          "name": "Czy siłowniki naprawią źle wyregulowane rotametry?",
          "acceptedAnswer": {"@type": "Answer", "text": "Nie. Po otwarciu zaworu przez pętlę nadal powinien płynąć właściwy strumień wody. Najpierw ustala się przepływy, a dopiero później automatyka ogranicza wybrane obwody."}
        }
      ]
    }
  ]
}
</script>

<script>
(function () {
  "use strict";

  var root = document.getElementById("rk-controls-guide");
  if (!root) { return; }

  var defaults = {
    "rk-controls-source": "heat-pump",
    "rk-controls-weather": "yes",
    "rk-controls-layout": "direct",
    "rk-controls-min-flow": "unknown",
    "rk-controls-building": "standard",
    "rk-controls-mass": "standard",
    "rk-controls-temperature-diversity": "moderate",
    "rk-controls-gains": "medium",
    "rk-controls-usage": "variable",
    "rk-controls-floor": "insensitive",
    "rk-controls-loops": 12,
    "rk-controls-controlled-loops": 8,
    "rk-controls-balance": "adjusted",
    "rk-controls-wiring": "wired"
  };

  function byId(id) { return document.getElementById(id); }

  function valueOf(id, fallback) {
    var element = byId(id);
    if (!element) { return fallback; }
    return String(element.value || fallback);
  }

  function numberOf(id, fallback) {
    var element = byId(id);
    if (!element) { return fallback; }
    var parsed = Number.parseFloat(String(element.value).replace(",", "."));
    if (!Number.isFinite(parsed)) { return fallback; }
    return parsed;
  }

  function clamp(value, minimum, maximum) {
    return Math.min(maximum, Math.max(minimum, value));
  }

  function setText(id, value) {
    var element = byId(id);
    if (element) { element.textContent = value; }
  }

  function setList(id, items) {
    var element = byId(id);
    if (!element) { return; }
    element.innerHTML = items.map(function (item) { return "<li>" + item + "</li>"; }).join("");
  }

  function readData() {
    return {
      source: valueOf("rk-controls-source", defaults["rk-controls-source"]),
      weather: valueOf("rk-controls-weather", defaults["rk-controls-weather"]),
      layout: valueOf("rk-controls-layout", defaults["rk-controls-layout"]),
      minFlow: valueOf("rk-controls-min-flow", defaults["rk-controls-min-flow"]),
      building: valueOf("rk-controls-building", defaults["rk-controls-building"]),
      mass: valueOf("rk-controls-mass", defaults["rk-controls-mass"]),
      temperatureDiversity: valueOf("rk-controls-temperature-diversity", defaults["rk-controls-temperature-diversity"]),
      gains: valueOf("rk-controls-gains", defaults["rk-controls-gains"]),
      usage: valueOf("rk-controls-usage", defaults["rk-controls-usage"]),
      floor: valueOf("rk-controls-floor", defaults["rk-controls-floor"]),
      loops: numberOf("rk-controls-loops", defaults["rk-controls-loops"]),
      controlledLoops: numberOf("rk-controls-controlled-loops", defaults["rk-controls-controlled-loops"]),
      balance: valueOf("rk-controls-balance", defaults["rk-controls-balance"]),
      wiring: valueOf("rk-controls-wiring", defaults["rk-controls-wiring"])
    };
  }

  function validateData(data) {
    var errors = [];
    if (!(data.loops >= 1)) { errors.push("Łączna liczba pętli musi być większa od zera."); }
    if (data.loops > 60) { errors.push("W analizatorze można podać maksymalnie 60 pętli."); }
    if (data.controlledLoops < 0) { errors.push("Liczba sterowanych pętli nie może być ujemna."); }
    if (data.controlledLoops > data.loops) { errors.push("Liczba sterowanych pętli nie może przekraczać liczby wszystkich pętli."); }
    if (data.source === "heat-pump") {
      if (data.layout === "direct") {
        if (data.minFlow === "not-applicable") { errors.push("W bezpośrednim układzie z pompą ciepła minimalnego przepływu nie można oznaczyć jako niedotyczącego instalacji."); }
      }
    }
    return errors;
  }

  function calculateScores(data) {
    var benefit = 22;
    if (data.temperatureDiversity === "moderate") { benefit += 15; }
    if (data.temperatureDiversity === "different") { benefit += 32; }
    if (data.temperatureDiversity === "same") { benefit -= 9; }
    if (data.gains === "medium") { benefit += 9; }
    if (data.gains === "high") { benefit += 22; }
    if (data.usage === "variable") { benefit += 13; }
    if (data.usage === "seasonal") { benefit += 21; }
    if (data.building === "renovation") { benefit += 8; }
    if (data.building === "low") { benefit -= 7; }
    if (data.floor === "sensitive") { benefit += 7; }
    if (data.mass === "light") { benefit += 5; }
    if (data.mass === "heavy") { benefit -= 10; }
    benefit = clamp(benefit, 0, 100);

    var inertia = 58;
    if (data.mass === "light") { inertia = 24; }
    if (data.mass === "heavy") { inertia = 90; }

    var closureRatio = data.loops > 0 ? data.controlledLoops / data.loops : 0;
    var hydraulic = 8 + closureRatio * 36;
    if (data.source === "heat-pump") { hydraulic += 19; }
    if (data.source === "gas") { hydraulic += 8; }
    if (data.source === "pellet") { hydraulic += 13; }
    if (data.source === "electric") { hydraulic += 5; }
    if (data.layout === "direct") { hydraulic += 13; }
    if (data.layout === "buffer") { hydraulic -= 17; }
    if (data.layout === "separated") { hydraulic -= 13; }
    if (data.layout === "unknown") { hydraulic += 14; }
    if (data.minFlow === "secured") { hydraulic -= 22; }
    if (data.minFlow === "not-secured") { hydraulic += 29; }
    if (data.minFlow === "unknown") { hydraulic += 16; }
    if (data.minFlow === "not-applicable") { hydraulic -= 5; }
    if (data.balance === "documented") { hydraulic -= 10; }
    if (data.balance === "adjusted") { hydraulic -= 3; }
    if (data.balance === "unknown") { hydraulic += 8; }
    if (data.balance === "none") { hydraulic += 16; }
    hydraulic = clamp(hydraulic, 0, 100);

    var foundation = 0;
    if (data.weather === "no") { foundation += 30; }
    if (data.weather === "unknown") { foundation += 14; }
    if (data.balance === "adjusted") { foundation += 5; }
    if (data.balance === "unknown") { foundation += 23; }
    if (data.balance === "none") { foundation += 42; }
    if (data.layout === "unknown") { foundation += 12; }
    if (data.source === "heat-pump") {
      if (data.minFlow === "not-secured") { foundation += 37; }
      if (data.minFlow === "unknown") { foundation += 20; }
    }
    if (closureRatio > 0.75) { foundation += 8; }
    foundation = clamp(foundation, 0, 100);

    return {
      benefit: benefit,
      inertia: inertia,
      hydraulic: hydraulic,
      foundation: foundation,
      closureRatio: clamp(closureRatio, 0, 1)
    };
  }

  function chooseCategory(data, scores) {
    var criticalFoundation = data.balance === "none";
    if (data.source === "heat-pump") {
      if (data.minFlow === "not-secured") { criticalFoundation = true; }
    }
    if (criticalFoundation || scores.foundation >= 60) { return "foundation"; }
    if (scores.benefit >= 69) {
      if (scores.hydraulic < 65) {
        if (scores.inertia < 88) { return "zoned"; }
      }
    }
    if (scores.benefit >= 39) { return "selective"; }
    return "central";
  }

  function scoreLabel(score, kind) {
    if (kind === "inertia") {
      if (score < 38) { return "Mała"; }
      if (score < 76) { return "Średnia"; }
      return "Duża";
    }
    if (kind === "risk") {
      if (score < 28) { return "Niskie"; }
      if (score < 52) { return "Umiarkowane"; }
      if (score < 76) { return "Podwyższone"; }
      return "Wysokie";
    }
    if (kind === "foundation") {
      if (score < 20) { return "Niski"; }
      if (score < 46) { return "Do sprawdzenia"; }
      if (score < 72) { return "Wysoki"; }
      return "Najpierw podstawy";
    }
    if (score < 28) { return "Mała"; }
    if (score < 54) { return "Umiarkowana"; }
    if (score < 78) { return "Duża"; }
    return "Bardzo duża";
  }

  function categoryContent(category) {
    var content = {
      central: {
        css: "is-central",
        badge: "Sterowanie centralne",
        title: "Pogodówka i przepływy mogą wykonać większość pracy",
        lead: "Warunki nie wskazują na dużą potrzebę zamykania wielu pętli. Utrzymuj stabilną temperaturę wody i wyregulowane obwody, a automatykę pokojową traktuj jako ograniczenie wybranych wyjątków."
      },
      selective: {
        css: "is-selective",
        badge: "Sterowanie selektywne",
        title: "Hybryda: sterowanie tylko tam, gdzie jest potrzebne",
        lead: "Regulacja pogodowa i wyregulowane przepływy powinny prowadzić instalację, a termostaty mogą ograniczać wybrane pomieszczenia o innych zyskach lub harmonogramach."
      },
      zoned: {
        css: "is-zoned",
        badge: "Rozbudowane strefowanie",
        title: "Pełniejsze sterowanie strefowe ma uzasadnienie funkcjonalne",
        lead: "Pomieszczenia wyraźnie różnią się temperaturami, zyskami lub sposobem użytkowania. Podział na strefy może poprawić kontrolę, jeżeli przepływ źródła i hydraulika pozostaną zabezpieczone."
      },
      foundation: {
        css: "is-foundation",
        badge: "Najpierw uporządkuj podstawy",
        title: "Nie zaczynaj od zakupu pełnego zestawu termostatów",
        lead: "Wprowadzone dane wskazują na brak regulacji, niepewny przepływ albo nieuporządkowaną pracę źródła. Automatyka mogłaby zamaskować problem lub zwiększyć ryzyko hydrauliczne."
      }
    };
    return content[category];
  }

  function sourceLabel(source) {
    if (source === "heat-pump") { return "Pompa ciepła"; }
    if (source === "gas") { return "Kocioł gazowy kondensacyjny"; }
    if (source === "pellet") { return "Kocioł na pellet lub paliwo stałe"; }
    if (source === "electric") { return "Kocioł elektryczny"; }
    return "Źródło wymagające doprecyzowania";
  }

  function buildRecommendations(data, scores, category) {
    var items = [];
    if (category === "foundation") {
      items.push("Ustal przepływy pętli i wymagania źródła przed wyborem liczby termostatów.");
      items.push("Sprawdź regulację temperatury zasilania oraz wariant zamknięcia sterowanych obwodów.");
      items.push("Zaplanuj strefy na rzucie, ale nie uruchamiaj ich jako sposobu naprawy hydrauliki.");
    }
    if (category === "central") {
      items.push("Oprzyj pracę na regulacji temperatury wody i prawidłowych przepływach.");
      items.push("Rozważ jeden czujnik referencyjny albo termostaty tylko w wyjątkowych pomieszczeniach.");
      items.push("Unikaj krótkich, agresywnych harmonogramów dla ciężkiej podłogi.");
    }
    if (category === "selective") {
      items.push("Wybierz kilka stref o innych temperaturach, zyskach lub godzinach użytkowania.");
      items.push("Pozostaw stabilną bazę hydrauliczną zgodnie z projektem i wymaganiami źródła.");
      items.push("Traktuj termostaty jako ograniczniki, a nie główny sposób ustawiania mocy podłogi.");
    }
    if (category === "zoned") {
      items.push("Przypisz wszystkie pętle do jednoznacznych stref funkcjonalnych.");
      items.push("Zaprojektuj sygnał do pompy i źródła dla sytuacji częściowego zapotrzebowania.");
      items.push("Sprawdź hydraulikę przy jednoczesnym zamknięciu planowanej liczby obwodów.");
    }
    if (data.source === "heat-pump") { items.push("Prowadź pompę ciepła możliwie niską temperaturą i ogranicz częste wyłączanie całego źródła."); }
    if (data.mass === "heavy") { items.push("Wprowadzaj tylko łagodne zmiany nastaw i oceniaj wynik po pełnym cyklu cieplnym."); }
    if (data.floor === "sensitive") { items.push("Rozważ czujnik podłogowy jako ogranicznik zgodny z wymaganiami okładziny."); }
    if (scores.closureRatio > 0.75) { items.push("Przeanalizuj wariant, w którym znaczna część planowanych siłowników zamknie się jednocześnie."); }
    return items;
  }

  function buildComponents(data, category) {
    var items = [];
    if (data.weather !== "yes") { items.push("Regulacja pogodowa źródła albo właściwie sterowany obieg mieszający."); }
    if (category === "central") { items.push("Czujnik referencyjny lub prosta kontrola centralna bez siłownika na każdej pętli."); }
    if (category === "selective") { items.push("Termostaty i siłowniki tylko dla wybranych stref funkcjonalnych."); }
    if (category === "zoned") { items.push("Listwa z odpowiednią liczbą wejść oraz termostaty i siłowniki dla zaprojektowanych stref."); }
    if (category === "foundation") { items.push("Dokumentacja przepływów, nastaw i logiki pracy przed zakupem automatyki."); }
    items.push("Pompa obiegowa dobrana do przepływu i zmian oporu po zamknięciu zaworów.");
    if (data.floor === "sensitive") { items.push("Regulator obsługujący ogranicznik podłogi oraz wymienny czujnik w peszlu."); }
    if (data.wiring === "retrofit") { items.push("System radiowy ze sprawdzonym zasięgiem i zasilaniem przy rozdzielaczu."); }
    if (data.wiring === "wired") { items.push("Opisane przewody termostatów, zasilania i sygnału źródła doprowadzone przed tynkami."); }
    if (data.wiring === "flexible") { items.push("Porównanie wersji przewodowej i radiowej pod kątem serwisu oraz rozbudowy."); }
    return items;
  }

  function buildRisks(data, scores) {
    var items = [];
    if (data.balance === "none") { items.push("Brak regulacji hydraulicznej — siłowniki nie ustalą poprawnych przepływów po otwarciu stref."); }
    if (data.balance === "unknown") { items.push("Nieznane przepływy utrudniają ocenę mocy i zachowania instalacji po otwarciu pętli."); }
    if (scores.closureRatio > 0.65) { items.push("Duży udział sterowanych pętli może istotnie zmienić przepływ całkowity i punkt pracy pompy."); }
    if (data.source === "heat-pump") {
      if (data.minFlow === "unknown") { items.push("Nieznany minimalny przepływ pompy ciepła trzeba sprawdzić przed uruchomieniem stref."); }
      if (data.minFlow === "not-secured") { items.push("Minimalny przepływ pompy ciepła może nie zostać zachowany po zamknięciu obwodów."); }
    }
    if (data.weather === "no") { items.push("Stała temperatura zasilania może powodować przegrzewanie, którego termostaty będą tylko okresowo pilnować."); }
    if (data.weather === "unknown") { items.push("Nieznany sposób regulacji temperatury wody uniemożliwia ocenę pełnej logiki systemu."); }
    if (data.mass === "heavy") { items.push("Duża bezwładność ogranicza skuteczność krótkich harmonogramów i szybkich korekt."); }
    if (data.floor === "unknown") { items.push("Nieznane wymagania okładziny należy ustalić przed wyborem limitu temperatury podłogi."); }
    if (items.length === 0) { items.push("Brak oczywistego ryzyka w podanych danych, ale nadal trzeba potwierdzić parametry urządzeń i przepływy."); }
    return items;
  }

  function setState(id, text, warning) {
    var element = byId(id);
    if (!element) { return; }
    element.textContent = text;
    element.className = "rk-controls-system-state";
    if (warning) { element.className += " is-warn"; }
  }

  function renderSystemPath(data, category) {
    var sourceText = sourceLabel(data.source);
    if (data.weather === "yes") { sourceText += " prowadzona regulacją pogodową"; }
    if (data.weather === "no") { sourceText += " ze stałą temperaturą zasilania"; }
    if (data.weather === "unknown") { sourceText += " — sposób regulacji nieznany"; }
    setText("rk-controls-path-source", sourceText);
    setState("rk-controls-state-source", data.weather === "yes" ? "baza systemu" : "ustal regulację wody", data.weather !== "yes");

    var hydraulicText = "Przepływ i objętość wymagają potwierdzenia";
    var hydraulicWarn = true;
    if (data.minFlow === "secured") {
      hydraulicText = "Minimalny przepływ został określony jako zapewniony";
      hydraulicWarn = false;
    }
    if (data.minFlow === "not-secured") { hydraulicText = "Minimalny przepływ może zostać utracony po zamknięciu stref"; }
    if (data.minFlow === "not-applicable") {
      hydraulicText = "Obieg źródła jest rozpatrywany oddzielnie od pętli";
      hydraulicWarn = false;
    }
    setText("rk-controls-path-hydraulic", hydraulicText);
    setState("rk-controls-state-hydraulic", hydraulicWarn ? "sprawdź przepływ" : "warunek zadeklarowany", hydraulicWarn);

    var distributionText = "Projektowe lub wyregulowane przepływy pętli";
    var distributionWarn = false;
    if (data.balance === "unknown") {
      distributionText = "Brak znanych przepływów dla poszczególnych pętli";
      distributionWarn = true;
    }
    if (data.balance === "none") {
      distributionText = "Pętle nie zostały wyregulowane hydraulicznie";
      distributionWarn = true;
    }
    setText("rk-controls-path-distribution", distributionText);
    setState("rk-controls-state-distribution", distributionWarn ? "najpierw wyreguluj" : "nie zastępuj automatyką", distributionWarn);

    var zoneText = "Wybrane strefy z termostatami i siłownikami";
    var zoneState = "sterowanie selektywne";
    var zoneWarn = false;
    if (category === "central") {
      zoneText = "Stabilna baza z ogranicznikami tylko w wyjątkowych pomieszczeniach";
      zoneState = "sterowanie centralne";
    }
    if (category === "zoned") {
      zoneText = "Zaprojektowane strefy funkcjonalne z przypisanymi pętlami";
      zoneState = "szersze strefowanie";
    }
    if (category === "foundation") {
      zoneText = "Podział stref odłóż do czasu uporządkowania przepływów i źródła";
      zoneState = "wstrzymaj dobór urządzeń";
      zoneWarn = true;
    }
    setText("rk-controls-path-zones", zoneText);
    setState("rk-controls-state-zones", zoneState, zoneWarn);
  }

  function drawResponseChart(data) {
    var canvas = byId("rk-controls-response-chart");
    if (!canvas) { return; }
    var context = canvas.getContext("2d");
    if (!context) { return; }
    var wrapperWidth = canvas.parentElement ? canvas.parentElement.clientWidth : 760;
    var width = Math.max(310, wrapperWidth);
    var height = 295;
    var pixelRatio = window.devicePixelRatio || 1;
    canvas.width = Math.round(width * pixelRatio);
    canvas.height = Math.round(height * pixelRatio);
    canvas.style.width = width + "px";
    canvas.style.height = height + "px";
    context.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0);
    context.clearRect(0, 0, width, height);

    var padding = {left: 55, right: 22, top: 26, bottom: 45};
    var plotWidth = width - padding.left - padding.right;
    var plotHeight = height - padding.top - padding.bottom;
    var tau = 4.5;
    var massName = "standardowy jastrych";
    if (data.mass === "light") {
      tau = 1.7;
      massName = "lekki system";
    }
    if (data.mass === "heavy") {
      tau = 8.5;
      massName = "gruba płyta akumulacyjna";
    }

    context.font = "11px system-ui, sans-serif";
    context.lineWidth = 1;
    for (var grid = 0; grid <= 4; grid += 1) {
      var y = padding.top + plotHeight * grid / 4;
      context.strokeStyle = "#d6e3e8";
      context.beginPath();
      context.moveTo(padding.left, y);
      context.lineTo(width - padding.right, y);
      context.stroke();
      context.fillStyle = "#647983";
      context.textAlign = "right";
      context.fillText(String(100 - grid * 25) + "%", padding.left - 7, y + 4);
    }
    for (var hourGrid = 0; hourGrid <= 6; hourGrid += 1) {
      var hourValue = hourGrid * 2;
      var xGrid = padding.left + plotWidth * hourValue / 12;
      context.strokeStyle = "#edf3f5";
      context.beginPath();
      context.moveTo(xGrid, padding.top);
      context.lineTo(xGrid, height - padding.bottom);
      context.stroke();
      context.fillStyle = "#647983";
      context.textAlign = "center";
      context.fillText(String(hourValue) + " h", xGrid, height - 22);
    }

    function pointX(hour) { return padding.left + plotWidth * hour / 12; }
    function pointY(percent) { return padding.top + plotHeight * (1 - percent / 100); }

    context.strokeStyle = "#078fbe";
    context.lineWidth = 3;
    context.beginPath();
    context.moveTo(pointX(0), pointY(100));
    context.lineTo(pointX(2), pointY(100));
    context.lineTo(pointX(2), pointY(0));
    context.lineTo(pointX(12), pointY(0));
    context.stroke();

    context.strokeStyle = "#ff6a3d";
    context.lineWidth = 3;
    context.beginPath();
    for (var index = 0; index <= 48; index += 1) {
      var hour = index * 0.25;
      var emission = 58 + hour / 2 * 27;
      if (hour > 2) { emission = 85 * Math.exp(-(hour - 2) / tau); }
      emission = clamp(emission, 0, 100);
      var x = pointX(hour);
      var yPoint = pointY(emission);
      if (index === 0) { context.moveTo(x, yPoint); }
      else { context.lineTo(x, yPoint); }
    }
    context.stroke();

    context.strokeStyle = "#d94b3d";
    context.lineWidth = 1.5;
    context.setLineDash([5, 5]);
    context.beginPath();
    context.moveTo(pointX(2), padding.top);
    context.lineTo(pointX(2), height - padding.bottom);
    context.stroke();
    context.setLineDash([]);
    context.fillStyle = "#a43f34";
    context.textAlign = "left";
    context.fillText("zamknięcie siłownika", pointX(2) + 7, padding.top + 14);

    context.save();
    context.translate(15, padding.top + plotHeight / 2);
    context.rotate(-Math.PI / 2);
    context.fillStyle = "#526a76";
    context.textAlign = "center";
    context.fillText("wartość względna", 0, 0);
    context.restore();

    var description = "Model referencyjny dla konstrukcji: " + massName + ". Po odcięciu przepływu emisja nie spada natychmiast, ponieważ energia pozostaje w podłodze. Wykres nie przewiduje temperatury konkretnego pomieszczenia.";
    setText("rk-controls-chart-description", description);
  }

  function renderDiagnostics(data, scores, category) {
    var diagnostics = [];
    var closurePercent = Math.round(scores.closureRatio * 100);
    diagnostics.push({warn: closurePercent > 65, text: "Siłownikami ma być objęte około " + closurePercent + "% pętli. To nie jest prognoza jednoczesnego zamknięcia, lecz wariant wymagający sprawdzenia hydraulicznego."});
    if (data.weather === "yes") {
      diagnostics.push({warn: false, text: "Zadeklarowano regulację pogodową. Termostaty mogą pełnić funkcję lokalnych ograniczników zamiast sterować temperaturą wody dla całego domu."});
    } else {
      diagnostics.push({warn: true, text: "Brak potwierdzonej regulacji pogodowej. Najpierw ustal sposób prowadzenia temperatury zasilania, aby strefy nie walczyły ze zbyt gorącą wodą."});
    }
    if (data.mass === "heavy") {
      diagnostics.push({warn: true, text: "Duża masa podłogi oznacza wolną reakcję. Krótkie obniżenia i szybkie przełączanie mogą nie przynieść oczekiwanego efektu w czasie użytkowania."});
    } else {
      diagnostics.push({warn: false, text: "Wybrana konstrukcja ma mniejszą lub standardową bezwładność, ale nadal wymaga obserwacji pełnych cykli cieplnych po zmianie nastaw."});
    }
    if (category === "foundation") {
      diagnostics.push({warn: true, text: "Wynik nie odrzuca automatyki. Wskazuje tylko, że kolejność prac powinna rozpocząć się od źródła, przepływów i przypisania pętli."});
    } else {
      diagnostics.push({warn: false, text: "Wynik opisuje koncepcję sterowania, a nie listę zakupową. Dokładna liczba urządzeń wynika z podziału pętli na strefy."});
    }
    diagnostics.push({warn: true, text: "Analizator celowo nie wyświetla procentu oszczędności ani czasu zwrotu. Bez pomiaru stanu wyjściowego takie liczby byłyby założeniem, a nie wynikiem obliczeń."});
    var container = byId("rk-controls-diagnostics");
    if (!container) { return; }
    container.innerHTML = diagnostics.map(function (item) {
      var className = item.warn ? "rk-controls-diagnostic is-warn" : "rk-controls-diagnostic";
      return "<div class=\"" + className + "\">" + item.text + "</div>";
    }).join("");
  }

  function renderResult(data, scores, category) {
    var content = categoryContent(category);
    var hero = byId("rk-controls-result-hero");
    if (hero) { hero.className = "rk-controls-result-hero " + content.css; }
    setText("rk-controls-result-badge", content.badge);
    setText("rk-controls-result-title", content.title);
    setText("rk-controls-result-lead", content.lead);

    setText("rk-controls-benefit-label", scoreLabel(scores.benefit, "benefit"));
    setText("rk-controls-inertia-label", scoreLabel(scores.inertia, "inertia"));
    setText("rk-controls-hydraulic-label", scoreLabel(scores.hydraulic, "risk"));
    setText("rk-controls-foundation-label", scoreLabel(scores.foundation, "foundation"));
    var benefitBar = byId("rk-controls-benefit-bar");
    var inertiaBar = byId("rk-controls-inertia-bar");
    var hydraulicBar = byId("rk-controls-hydraulic-bar");
    var foundationBar = byId("rk-controls-foundation-bar");
    if (benefitBar) { benefitBar.style.width = scores.benefit + "%"; }
    if (inertiaBar) { inertiaBar.style.width = scores.inertia + "%"; }
    if (hydraulicBar) { hydraulicBar.style.width = scores.hydraulic + "%"; }
    if (foundationBar) { foundationBar.style.width = scores.foundation + "%"; }

    setList("rk-controls-recommendations", buildRecommendations(data, scores, category));
    setList("rk-controls-components", buildComponents(data, category));
    setList("rk-controls-risks", buildRisks(data, scores));
    renderSystemPath(data, category);
    drawResponseChart(data);
    renderDiagnostics(data, scores, category);
  }

  function calculate() {
    var data = readData();
    var errors = validateData(data);
    var errorBox = byId("rk-controls-error");
    if (errors.length > 0) {
      if (errorBox) {
        errorBox.textContent = errors.join(" ");
        errorBox.classList.add("is-visible");
      }
      return;
    }
    if (errorBox) {
      errorBox.textContent = "";
      errorBox.classList.remove("is-visible");
    }
    var scores = calculateScores(data);
    var category = chooseCategory(data, scores);
    renderResult(data, scores, category);
  }

  function resetAnalyzer() {
    Object.keys(defaults).forEach(function (id) {
      var element = byId(id);
      if (element) { element.value = String(defaults[id]); }
    });
    calculate();
  }

  var calculateButton = byId("rk-controls-calculate");
  var resetButton = byId("rk-controls-reset");
  if (calculateButton) { calculateButton.addEventListener("click", calculate); }
  if (resetButton) { resetButton.addEventListener("click", resetAnalyzer); }

  var analyzer = root.querySelector("[data-rk-controls-analyzer]");
  if (analyzer) {
    analyzer.querySelectorAll("input, select").forEach(function (field) {
      field.addEventListener("change", calculate);
      field.addEventListener("input", function () {
        window.clearTimeout(field.rkControlsTimer);
        field.rkControlsTimer = window.setTimeout(calculate, 220);
      });
    });
  }

  var navLinks = root.querySelectorAll(".rk-controls-nav-track a[href^='#']");
  navLinks.forEach(function (link) {
    link.addEventListener("click", function (event) {
      var target = root.querySelector(link.getAttribute("href"));
      if (!target) { return; }
      event.preventDefault();
      target.scrollIntoView({behavior: "smooth", block: "start"});
    });
  });

  function updateProgress() {
    var progress = root.querySelector(".rk-controls-progress");
    if (!progress) { return; }
    var documentElement = document.documentElement;
    var scrollTop = window.pageYOffset || documentElement.scrollTop || 0;
    var scrollable = documentElement.scrollHeight - documentElement.clientHeight;
    var percentage = scrollable > 0 ? scrollTop / scrollable * 100 : 0;
    progress.style.width = clamp(percentage, 0, 100) + "%";
  }

  var resizeTimer = 0;
  window.addEventListener("scroll", updateProgress, {passive: true});
  window.addEventListener("resize", function () {
    window.clearTimeout(resizeTimer);
    resizeTimer = window.setTimeout(calculate, 140);
  });

  calculate();
  updateProgress();
}());
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/">Czy warto montować sterowniki do ogrzewania podłogowego?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
