:root{
  --bg:#f5f6f4;--paper:#fff;--ink:#1d2321;--muted:#5b6662;--line:#d9dedb;
  --fire:#c8321e;--fire-soft:#fbe9e5;--exit:#13804a;--exit-soft:#e3f3ea;--water:#2c6fb0;--amber:#a86a10;
  --accent:var(--fire);
  --display:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
  --body:"Source Sans 3","Segoe UI",Arial,sans-serif;
  --cds-text-primary:var(--ink);--cds-text-secondary:var(--muted);
  --cds-chart-axis:#7f8a86;--cds-chart-grid:#d9dedb;--cds-chart-muted:#aab3af;--cds-chart-reference-tint:#eceeec;
  --cds-chart-status-good:#13804a;--cds-chart-status-warning:#b7791f;--cds-chart-status-critical:#c8321e;
  --cds-chart-categorical-1:#2c6fb0;--cds-chart-categorical-2:#c8321e;--cds-chart-categorical-3:#13804a;--cds-chart-categorical-4:#a86a10;
  --cds-chart-categorical-5:#6b4fa3;--cds-chart-categorical-6:#0f7f86;--cds-chart-categorical-7:#b0477e;--cds-chart-categorical-8:#5b6662;
  color-scheme:light dark;
}
@media (prefers-color-scheme:dark){:root{
  --bg:#141817;--paper:#1d2321;--ink:#e8ecea;--muted:#a2ada9;--line:#323a37;
  --fire:#ff6b52;--fire-soft:#3a201b;--exit:#3ccf80;--exit-soft:#16301f;--water:#6aa8e8;--amber:#e0a84a;
  --cds-chart-axis:#8f9a96;--cds-chart-grid:#323a37;--cds-chart-muted:#5f6a66;--cds-chart-reference-tint:#252c2a;
  --cds-chart-status-good:#3ccf80;--cds-chart-status-warning:#e0a84a;--cds-chart-status-critical:#ff6b52;
  --cds-chart-categorical-1:#6aa8e8;--cds-chart-categorical-2:#ff6b52;--cds-chart-categorical-3:#3ccf80;--cds-chart-categorical-4:#e0a84a;
  --cds-chart-categorical-5:#a892e0;--cds-chart-categorical-6:#4fc3ca;--cds-chart-categorical-7:#e58ab8;--cds-chart-categorical-8:#a2ada9;
}}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:16px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.6 var(--body)}
a{color:var(--water);text-underline-offset:2px}
a:focus-visible,.btn:focus-visible{outline:3px solid var(--water);outline-offset:2px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:var(--paper);padding:8px 12px;z-index:9}
h1,h2,h3,h4{font-family:var(--display);line-height:1.1;margin:0;text-wrap:balance}
.tone-fire{--accent:var(--fire)}.tone-road{--accent:var(--water)}.tone-alert{--accent:var(--amber)}.tone-power{--accent:var(--exit)}

.top{background:var(--paper);border-bottom:1px solid var(--line)}
.topin{max-width:1080px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;gap:8px 28px;flex-wrap:wrap}
.brand{font:700 1.6rem var(--display);color:var(--ink);text-decoration:none;letter-spacing:.01em}
.brand span{color:var(--fire)}
.brand em{font:700 .68rem var(--body);font-style:normal;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:2px 6px;vertical-align:middle;margin-left:6px}
.top nav{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:.95rem}
.top nav a{color:var(--ink);text-decoration:none;padding:4px 0;border-bottom:2px solid transparent}
.top nav a span{font:700 .95rem var(--display);color:var(--muted);margin-right:2px}
.top nav a:hover,.top nav a[aria-current]{border-bottom-color:var(--fire)}
.sos{background:var(--ink);color:var(--bg);font-size:.86rem;padding:6px 20px;text-align:center;line-height:1.5}
.sos b{font:700 1.05rem var(--display);letter-spacing:.03em;margin-right:3px}
.sos i{display:inline-block;width:1px;height:.9em;background:currentColor;opacity:.35;margin:0 10px;vertical-align:-1px}

main{max-width:1080px;margin:0 auto;padding:0 20px 64px}
.eyebrow{font:700 .8rem var(--body);text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin:0 0 10px}
.btn{display:inline-block;font:600 .95rem var(--body);background:var(--ink);color:var(--bg);text-decoration:none;border:1px solid var(--ink);border-radius:6px;padding:9px 16px}
.btn.ghost{background:transparent;color:var(--ink)}
.btn:hover{opacity:.88}

.hero{padding:56px 0 40px;border-left:6px solid var(--fire);padding-left:24px;margin-top:40px}
.hero h1{font-size:clamp(2.4rem,7vw,4.2rem);text-transform:uppercase;letter-spacing:.01em;max-width:16ch}
.lead{font-size:1.2rem;max-width:58ch;color:var(--muted);margin:18px 0 24px}
.herolinks{display:flex;gap:10px;flex-wrap:wrap;margin:0}
.block{margin-top:56px}
.block>h2{font-size:1.5rem;text-transform:uppercase;letter-spacing:.05em;padding-bottom:10px;border-bottom:2px solid var(--ink);margin-bottom:20px}
.sub{color:var(--muted);margin:-6px 0 20px;max-width:65ch}
.chgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.chcard{background:var(--paper);border:1px solid var(--line);border-top:5px solid var(--accent);border-radius:10px;padding:18px;display:flex;flex-direction:column}
.chcard .num{font:700 2.6rem/1 var(--display);color:var(--accent)}
.chcard h3{font-size:1.45rem;margin:8px 0 8px}
.chcard h3 a{color:var(--ink);text-decoration:none}
.chcard h3 a:hover{text-decoration:underline}
.chcard p{margin:0 0 14px;color:var(--muted);font-size:.98rem}
.chcard .links{margin:auto 0 0;display:flex;gap:16px;font-weight:600;font-size:.95rem}
.exgroup{margin-top:28px}
.exgroup h3{font-size:1.2rem;margin-bottom:12px}
.exgroup h3 span{color:var(--muted);margin-right:4px}
.exgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.ex{display:flex;flex-direction:column;gap:4px;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:14px 16px;color:var(--ink);text-decoration:none}
.ex:hover{border-color:var(--ink)}
.ex strong{font:700 1.2rem/1.15 var(--display)}
.ex>span:last-child{color:var(--muted);font-size:.92rem;line-height:1.4}
.tag{align-self:flex-start;font:700 .68rem var(--body);text-transform:uppercase;letter-spacing:.1em;border-radius:4px;padding:2px 7px;margin-bottom:4px;background:var(--fire-soft);color:var(--fire)}
.tag-test{background:var(--exit-soft);color:var(--exit)}
.tag-skladacka{background:var(--line);color:var(--ink)}

.chapter{max-width:820px;margin:0 auto}
.chead{padding:44px 0 8px 22px;border-left:6px solid var(--accent);margin-top:36px}
.chead h1{font-size:clamp(2rem,6vw,3.1rem)}
.meta{color:var(--muted);font-size:.95rem;display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:14px 0 0}
.toc{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:16px 20px;margin:28px 0 8px}
.toc h2{font:700 .8rem var(--body);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:8px}
.toc ol{margin:0;padding-left:1.3em;columns:2;column-gap:32px;font-size:.97rem}
.toc li{break-inside:avoid;margin:2px 0}
.prose section{margin-top:44px}
.prose h2{font-size:1.75rem;padding-bottom:8px;border-bottom:2px solid var(--ink);margin-bottom:16px}
.prose h3{font-size:1.3rem;margin:28px 0 10px}
.prose h4{font-size:1.1rem;margin:22px 0 8px}
.prose p{margin:0 0 14px}
.prose ul,.prose ol{margin:0 0 16px;padding-left:1.4em}
.prose li{margin:5px 0}
.prose li::marker{color:var(--accent);font-weight:700}
.fig{margin:22px 0;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:14px}
.figscroll{overflow-x:auto}
.fig svg{display:block;width:100%;min-width:600px;height:auto;font-family:var(--body)}
.fig figcaption{font-size:.85rem;color:var(--muted);margin-top:8px}
.tablewrap{overflow-x:auto;margin:18px 0 22px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}
table{border-collapse:collapse;width:100%;font-size:.95rem;line-height:1.45}
table.wide{min-width:620px}
th,td{text-align:left;vertical-align:top;padding:10px 14px;border-bottom:1px solid var(--line)}
tr:last-child td{border-bottom:0}
th{font:700 .78rem var(--body);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:var(--bg)}
td+td,th+th{border-left:1px solid var(--line)}
table.dodont{table-layout:fixed}
table.dodont th:first-child{color:var(--exit);background:var(--exit-soft)}
table.dodont th:last-child{color:var(--fire);background:var(--fire-soft)}
table.dodont td{position:relative;padding-left:38px}
table.dodont td::before{position:absolute;left:13px;top:10px;font-weight:700}
table.dodont td:first-child::before{content:"✓";color:var(--exit)}
table.dodont td:last-child::before{content:"✕";color:var(--fire)}
.sources{font-size:.9rem;color:var(--muted)}
.sources ul{columns:2;column-gap:32px;padding-left:1.1em}
.sources li{break-inside:avoid;overflow-wrap:anywhere}
.sources p{margin:16px 0 6px;color:var(--ink)}
.practice{margin-top:56px;padding-top:8px}
.practice h2{font-size:1.5rem;text-transform:uppercase;letter-spacing:.05em;padding-bottom:10px;border-bottom:2px solid var(--ink);margin-bottom:16px}
.pn{display:flex;justify-content:space-between;gap:16px;margin-top:44px}
.pn a{flex:1;max-width:48%;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:12px 16px;text-decoration:none;color:var(--ink);font:700 1.15rem/1.2 var(--display)}
.pn a.r{text-align:right}
.pn small{display:block;font:600 .78rem var(--body);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}
.foot{border-top:1px solid var(--line);color:var(--muted);font-size:.88rem;padding:20px;max-width:1080px;margin:0 auto;display:flex;justify-content:space-between;gap:8px 24px;flex-wrap:wrap}
@media (max-width:640px){
  body{font-size:16px}
  .topin{padding:10px 16px}main{padding:0 16px 48px}
  .sos{font-size:.78rem;padding:6px 10px}.sos i{margin:0 6px}
  .hero{padding:32px 0 24px 16px;margin-top:24px}
  .toc ol,.sources ul{columns:1}
  table.dodont,table.dodont tbody,table.dodont tr,table.dodont td{display:block;width:100%}
  table.dodont thead{display:none}
  table.dodont td+td{border-left:0}
  table.dodont tr{border-bottom:3px solid var(--line)}
  table.dodont tr:last-child{border-bottom:0}
  table.dodont tr:last-child td:first-child{border-bottom:1px solid var(--line)}
  .pn{flex-direction:column}.pn a{max-width:none}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{
  :root{--bg:#fff;--paper:#fff;--ink:#000;--muted:#444;--line:#bbb;color-scheme:light}
  :root{--body:Arial,"Liberation Sans",Helvetica,sans-serif;--display:Arial,"Liberation Sans",Helvetica,sans-serif}
  body{font-size:10.5pt;background:#fff}
  .top,.foot,.noprint,.skip{display:none!important}
  main{max-width:none;padding:0}.chapter{max-width:none}
  .chead{margin-top:0;padding-top:0}
  .fig{break-inside:avoid;border:0;padding:0}.fig svg{min-width:0}
  .figscroll,.tablewrap{overflow:visible}
  table.wide{min-width:0}
  tr,li{break-inside:avoid}h2,h3{break-after:avoid}
  .prose section{margin-top:22pt}
  a{color:inherit;text-decoration:none}
  .sources a{overflow-wrap:anywhere}
}
