:root{font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:#193441;background:#f2f6f8;line-height:1.6;font-size:16px;--blue:#1660b2;--teal:#007b73;--border:#dbe5eb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0}a{color:#0e6196;text-underline-offset:3px;overflow-wrap:anywhere}a:hover{color:#003d70}button,.button{font:inherit;display:inline-flex;align-items:center;justify-content:center;padding:10px 15px;border:1px solid #bdcfdc;background:white;border-radius:9px;color:#163e56;cursor:pointer;text-decoration:none;line-height:1.35;min-height:44px;text-align:center}.primary{background:#0b6865;color:white;border-color:#0b6865}.primary:hover{color:white;background:#07504d}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #eaa437;outline-offset:3px}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;background:white;z-index:9;padding:10px}.top{position:sticky;top:0;z-index:5;display:flex;gap:15px;justify-content:space-between;align-items:center;background:#fffefcf5;border-bottom:1px solid var(--border);padding:12px max(20px,calc((100vw - 1160px)/2));backdrop-filter:blur(10px)}.brand{font-weight:750;text-decoration:none;color:#214756}.top-actions,.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.urgent-link{font-size:.88rem;font-weight:650;color:var(--blue)}main{max-width:1160px;margin:auto;padding:36px 20px}.intro{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:45px;align-items:center;padding:20px 0 35px}h1{font-size:clamp(2.1rem,4.7vw,3.7rem);line-height:1.08;letter-spacing:-.035em;margin:13px 0 20px}h2{font-size:clamp(1.45rem,2.5vw,1.9rem);line-height:1.22;letter-spacing:-.02em;margin:8px 0 20px}h3{font-size:1.1rem;line-height:1.35;margin:0 0 10px}p{margin:10px 0 15px}.lead{font-size:1.14rem;color:#476170;max-width:650px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:#507586;font-weight:750}.route{border:1px solid #cce0e0;background:#e5f2ef;padding:23px;border-radius:18px;text-align:center;display:flex;flex-direction:column;gap:5px;font-size:.9rem}.route b{margin-bottom:14px}.route span{background:white;padding:9px;border-radius:7px}.route i{font-style:normal;color:var(--teal)}.topics{display:flex;gap:8px;flex-wrap:wrap;padding:20px 0}.topics a{border:1px solid var(--border);border-radius:25px;background:white;padding:7px 13px;text-decoration:none;font-size:.88rem}.course-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:18px 0 26px}.course-tools label,.filter-label{font-weight:650;font-size:.9rem}input[type=search]{font:inherit;border:1px solid #b9cbd5;border-radius:9px;padding:11px 13px;min-width:0;background:white;color:#193441}#course-search{flex:1;min-width:200px}#search-results{flex-basis:100%;margin:0;padding-left:22px}#search-results:empty{display:none}#search-count{font-size:.85rem}#interaction-search{display:block;width:min(100%,500px);margin:8px 0}.subtle{font-size:.85rem;color:#5a7180}.lesson{background:white;padding:35px;margin-bottom:24px;border:1px solid var(--border);border-radius:18px;scroll-margin-top:90px;min-width:0}.lesson-heading{display:flex;align-items:flex-start;gap:20px}.number{font-size:1.5rem;font-weight:700;color:#079184;background:#e7f4f0;border-radius:12px;min-width:55px;min-height:55px;display:grid;place-items:center}.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:22px}.tinted{background:#f0f6f6;border-radius:12px;padding:21px}.two ul{padding-left:21px}.two li,.compact li{margin:7px 0}.callout{border-left:4px solid #2376b8;background:#edf5fc;border-radius:0 10px 10px 0;padding:17px 21px;margin:22px 0}.callout p:last-child{margin-bottom:0}.document-links{display:flex;flex-wrap:wrap;gap:9px 18px;margin:22px 0;font-size:.9rem}.document-links a{font-weight:600}.lesson-end{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;border-top:1px solid var(--border);padding-top:22px;margin-top:27px;font-size:.9rem}.lesson-end input{width:18px;height:18px;vertical-align:middle;accent-color:var(--teal)}.lesson-end label{cursor:pointer}.lesson-end a{font-weight:600}details{margin:22px 0;font-size:.9rem;border:1px solid var(--border);border-radius:9px;padding:12px 16px}summary{font-weight:650;cursor:pointer}details li{margin:7px 0}.table-wrap{overflow:auto;margin:22px 0}table{border-collapse:collapse;width:100%;font-size:.9rem;min-width:0}th,td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:13px}th{background:#edf3f5;color:#385565;font-size:.8rem}td:first-child{font-weight:650;width:28%}.interaction-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}.interaction{border:1px solid var(--border);padding:20px;border-radius:11px;background:#fcfdfd}.interaction p{font-size:.94rem;margin-bottom:0}.interaction[hidden]{display:none}.blue{border:2px solid #b5d0ee;background:#fbfdff}.blue .number{background:#e4effc;color:var(--blue)}.emergency-steps{padding-left:25px}.emergency-steps li{margin:15px 0;padding-left:6px}.blue .primary{background:var(--blue);border-color:var(--blue)}fieldset{border:1px solid var(--border);border-radius:10px;padding:16px 20px;margin:20px 0}legend{font-weight:650;padding:0 6px}fieldset label{display:block;margin:9px 0;cursor:pointer}fieldset input{margin-right:7px;accent-color:var(--teal)}.feedback{background:#e9f4f0;border-radius:8px;padding:12px;color:#1e534d}.feedback.wrong{background:#fff4da;color:#6c4814}.progress-box{background:#dceeea;padding:23px 30px;border-radius:14px;display:flex;justify-content:space-between;gap:18px;align-items:center}.progress-box p{font-size:.84rem;margin-bottom:0;color:#426660}footer{padding:30px 0;color:#607581;font-size:.82rem}footer p{margin:5px 0}mark{background:#fff0ba}
@media(max-width:800px){.intro{grid-template-columns:1fr;gap:20px}.route{display:none}.three{grid-template-columns:1fr}.two{gap:20px}.lesson{padding:25px}.top{padding:10px 20px}.urgent-link{max-width:140px;line-height:1.2}.interaction-list{grid-template-columns:1fr}.progress-box{flex-wrap:wrap}}
@media(max-width:540px){main{padding:20px 12px}.top{padding:9px 12px;gap:8px}.brand{font-size:.83rem;max-width:130px}.top-actions{gap:6px}.urgent-link{max-width:90px;font-size:.72rem}.top button{padding:8px 10px;font-size:.8rem}.two{grid-template-columns:1fr}.lesson{padding:20px 16px;border-radius:13px}.lesson-heading{gap:11px}.number{min-width:39px;min-height:39px;font-size:1.2rem;border-radius:8px}.topics{gap:6px}.topics a{font-size:.8rem;padding:7px 10px}.course-tools{gap:8px}.course-tools label{flex-basis:100%}#course-search{min-width:0;width:150px}.table-wrap{margin-left:-3px;margin-right:-3px}th,td{padding:8px;overflow-wrap:anywhere;font-size:.79rem}.progress-box{padding:20px}.actions>*{flex:1 1 160px}.intro{padding:7px 4px 15px}.lead{font-size:1.04rem}.lesson-end{font-size:.85rem}fieldset{padding:12px}}
@media print{@page{size:A4;margin:13mm 14mm 15mm}html{scroll-behavior:auto}body{background:white;color:#111;font:10pt/1.38 Arial,sans-serif}.top,.topics,.course-tools,.lesson-end,.progress-box,.quiz,.actions,.document-links,.filter-label,#interaction-search,#interaction-count,.skip{display:none!important}main{max-width:none;margin:0;padding:0}.intro{display:block;padding:0 0 7mm}.intro h1{font-size:25pt;line-height:1.1}.intro h1 br{display:none}.intro .lead{font-size:11pt}.route{display:none}.lesson{padding:0;border:0;border-radius:0;margin:0 0 7mm;break-before:page}#before{break-before:auto}.lesson-heading{gap:10px}.number{font-size:14pt;min-width:30px;min-height:30px;background:none;border:1px solid #777;color:#111}.eyebrow{color:#555;font-size:8pt}h2{font-size:17pt;margin:4px 0 16px}h3{font-size:11pt}p{margin:7px 0 10px}.two{gap:18px;grid-template-columns:1fr 1fr}.three{gap:12px;grid-template-columns:1fr 1fr 1fr}.tinted{padding:12px;background:#f4f4f4}.callout{padding:10px 14px;margin:16px 0;background:#f6f6f6;border-left-color:#555}.table-wrap{overflow:visible}th,td{padding:8px;font-size:9pt}.interaction-list{gap:10px;grid-template-columns:1fr 1fr}.interaction{padding:10px;break-inside:avoid}.interaction p{font-size:9.5pt}.interaction[hidden]{display:block}.blue{background:white}.emergency-steps li{margin:12px 0}details{font-size:9pt;padding:8px 10px;break-inside:avoid}a{color:#111;text-decoration:none}article,tr{break-inside:avoid}footer{font-size:8pt;padding:5mm 0}footer a{display:none}}


/* Short visual algorithm, followed by the complete original explanation. */
.algorithm-map{margin:20px 0 16px;min-width:0}
.algorithm-caption{font-size:12px!important;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#4b6c82;margin:0 0 10px!important}
.algorithm-map>ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 26px;counter-reset:algorithm}
.algorithm-map>ol>li{counter-increment:algorithm;position:relative;margin:0;padding:16px 16px 16px 49px;min-width:0;border:1px solid #c7d8e3;border-radius:12px;background:#fff;color:#19384a;font-size:15px;line-height:1.5;overflow-wrap:anywhere}
.algorithm-map>ol>li::before{content:counter(algorithm);position:absolute;left:13px;top:16px;display:grid;place-items:center;width:25px;height:25px;background:#e5eff7;color:#1b5f8c;border-radius:50%;font-size:13px;font-weight:700}
.algorithm-map>ol>li:nth-child(odd):not(:last-child)::after{content:"→";position:absolute;right:-22px;top:18px;color:#48758e;font-size:19px}
.algorithm-map>ol>li>b{display:block;font-size:16px;line-height:1.35;margin-bottom:6px;text-wrap:balance}
.algorithm-map>ol>li>span{display:block}
.algorithm-map>ol>li:last-child:nth-child(odd){grid-column:1/-1}
.algorithm-critical{font-size:15px;line-height:1.55;border-left:3px solid #367ca4;background:#e6f0f6;padding:13px 16px;margin:13px 0 0!important;border-radius:0 9px 9px 0;overflow-wrap:anywhere}
.algorithm-branches>ol>li::before{content:"•"}
.algorithm-branches>ol>li::after{display:none}
.algorithm-details{padding:0!important;margin:14px 0!important;border:1px solid #b9cddb;border-radius:12px;background:#fff;min-width:0}
.algorithm-details>summary{padding:16px 18px;min-height:52px;font-size:15px;line-height:1.45;cursor:pointer;color:#204f6b;text-wrap:pretty}
.algorithm-details>summary:focus-visible{outline:3px solid #d38b25;outline-offset:3px;border-radius:8px}
.algorithm-details[open]>summary{border-bottom:1px solid #d8e4eb}
.algorithm-body{padding:18px;min-width:0}
.algorithm-body> :first-child{margin-top:0}
.algorithm-body> :last-child{margin-bottom:0}
@media(max-width:540px){
 .algorithm-map>ol{grid-template-columns:minmax(0,1fr);gap:10px}
 .algorithm-map>ol>li{padding:14px 13px 14px 46px;font-size:14px}
 .algorithm-map>ol>li::before{left:12px;top:14px}
 .algorithm-map>ol>li>b{font-size:15px}
 .algorithm-map>ol>li::after{display:none}
 .algorithm-map>ol>li:last-child:nth-child(odd){grid-column:auto}
 .algorithm-critical{font-size:14px;padding:12px 14px}
 .algorithm-body{padding:14px}
 .algorithm-details>summary{padding:14px;font-size:14px}
}
@media print{
 .algorithm-map{display:none!important}
 .algorithm-details{border:0!important;margin:0!important;padding:0!important;break-inside:auto!important}
 .algorithm-details>summary{display:none!important}
 .algorithm-body{padding:0}
 details::details-content{display:block!important;content-visibility:visible!important;height:auto!important}
 details> :not(summary){display:block!important}
}

.lesson>.algorithm-map{margin-top:16px}.algorithm-body .two{gap:22px}.algorithm-body .three{gap:14px}.algorithm-details .algorithm-body{font-size:1rem}summary:focus-visible{outline:3px solid #eaa437;outline-offset:3px}@media(max-width:540px){.algorithm-body .three{gap:10px}.algorithm-body .tinted{padding:14px}.algorithm-body .callout{padding:13px}.algorithm-body th,.algorithm-body td{font-size:12px;padding:6px}.lesson-heading>*{min-width:0}.number{flex-shrink:0}}@media print{.algorithm-details .algorithm-body{font-size:10pt}.algorithm-body .two{display:grid!important}.algorithm-body .three{display:grid!important}.algorithm-body .interaction-list{display:grid!important}}
