/* 10 · timeline: osa s pěti body (čára se při vstupu nakreslí zleva, body po 140 ms), krok 1 přiblížení 6 týdnů, krok 2 smyčka iterací */
#s-pilot .t-osa { position: absolute; left: var(--okraj-x); right: var(--okraj-x); top: var(--obsah-y); margin: 0; padding: 46px 0 0; list-style: none; display: grid; grid-template-columns: repeat(5, 1fr); gap: 24px; }
#s-pilot .t-osa::before { content: ""; position: absolute; left: 14px; right: 14px; top: 14px; height: 4px; border-radius: 999px; background: var(--linka2); transform-origin: left center; }
#s-pilot.kresli .t-osa::before { animation: s10-cara 1100ms var(--ven) both; }
@keyframes s10-cara { from { transform: scaleX(0); } to { transform: none; } }
#s-pilot .t-osa li { position: relative; }
#s-pilot .t-bod { position: absolute; left: 0; top: -46px; width: 32px; height: 32px; border-radius: 50%; background: var(--karta); box-shadow: inset 0 0 0 4px var(--linka2); }
#s-pilot .t-hlavni .t-bod { box-shadow: inset 0 0 0 4px var(--zelena); background: var(--zelena-svetla); }
#s-pilot .t-gala { box-shadow: inset 0 0 0 4px var(--oranz) !important; }
#s-pilot.kresli .t-bod { animation: s10-bod 500ms var(--ven) calc(300ms + var(--n) * 140ms) both; }
@keyframes s10-bod { from { transform: scale(0); } to { transform: none; } }
#s-pilot .t-kdy { font-size: 22px; font-weight: 700; color: var(--text3); text-transform: uppercase; letter-spacing: 0.04em; }
#s-pilot .t-hlavni .t-kdy { color: var(--zelena); }
#s-pilot .t-osa h3 { margin: 6px 0 6px; font-size: 34px; }
#s-pilot .t-osa p:not(.t-kdy) { font-size: 23px; line-height: 1.35; color: var(--text2); }

#s-pilot .t-tydny { position: absolute; left: var(--okraj-x); right: var(--okraj-x); top: 590px; padding: 26px 32px 24px; border-radius: var(--r); background: var(--karta); box-shadow: var(--stin); }
#s-pilot .t-pas { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; margin-top: 14px; }
#s-pilot .t-tyden { height: 110px; border-radius: var(--r2); display: flex; flex-direction: column; justify-content: center; padding: 0 20px; transform-origin: left center; }
#s-pilot .t-tyden b { font-size: 40px; line-height: 1; font-weight: 800; }
#s-pilot .t-tyden span { font-size: 22px; margin-top: 6px; }
#s-pilot .t-mereni { background: var(--linka); color: var(--text); }
#s-pilot .t-uprava { background: var(--zelena); color: #fff; }
#s-pilot .t-po { background: var(--zelena-svetla); color: var(--zelena); }
#s-pilot .t-tydny.je .t-tyden { animation: s10-tyden 600ms var(--ven) calc(var(--n) * 110ms) both; }
#s-pilot.hned .t-tyden { animation: none; }
@keyframes s10-tyden { from { opacity: 0; transform: scaleX(0.4); } to { opacity: 1; transform: none; } }
#s-pilot .t-legenda { margin-top: 16px; font-size: 22px; color: var(--text2); display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
#s-pilot .t-legenda span { width: 18px; height: 18px; border-radius: 5px; margin-left: 12px; }
#s-pilot .t-legenda span:first-child { margin-left: 0; }
#s-pilot .l-mereni { background: var(--linka); }
#s-pilot .l-uprava { background: var(--zelena); }
#s-pilot .l-po { background: var(--zelena-svetla); }

#s-pilot .t-smycka { position: absolute; left: var(--okraj-x); right: var(--okraj-x); bottom: 52px; display: flex; align-items: center; gap: 22px; }
#s-pilot .t-smycka svg { width: 56px; height: 56px; color: var(--zelena); flex: none; }
#s-pilot .t-smycka.je svg { animation: s10-toc 1.2s var(--ven) both; }
@keyframes s10-toc { from { transform: rotate(-180deg); } to { transform: none; } }
#s-pilot .t-smycka p { font-size: 28px; line-height: 1.35; }
