.crypto-masters li[id] { scroll-margin-top:28px; }
.crypto-masters li[id]:target { background:#f0f6f8; outline:1px solid #c5d9e1; outline-offset:5px; }
.crypto-masters .cm-backlinks { display:flex; flex-wrap:wrap; align-items:baseline; gap:2px 14px; margin:5px 0 14px; font:400 11px/1.8 Verdana,sans-serif; }
.crypto-masters li > .cm-backlinks { margin:6px 0 4px; font-size:10px; }
.cm-backlinks > span { color:#64737d; }
.cm-backlinks a { color:#285c75; text-decoration:underline; text-decoration-color:#c2d5df; text-underline-offset:3px; }
.cm-backlinks a:hover { color:#163f58; text-decoration-color:currentColor; }
.cm-backlinks a:focus-visible { outline:1px solid #347588; outline-offset:3px; }
.crypto-syllabus .course-layout { display:block; }
.crypto-syllabus .course-toc { display:none; }
.crypto-syllabus .course-body { font-size:12px; }
.crypto-syllabus .course-body > section { margin-bottom:32px; }
.crypto-syllabus .course-body > section > h2 { font-size:16px; }
.crypto-syllabus .course-body p { line-height:1.75; }
.cm-map { container-type:inline-size; }
.cm-map [hidden] { display:none!important; }
.crypto-syllabus .cm-summary { color:#54666f; font-size:11px; margin:0 0 18px; }
.cm-index { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; padding:0 0 18px; border-bottom:1px solid #d7e0e4; }
.crypto-syllabus .cm-index h3 { font:600 11px/1.6 Verdana,sans-serif; color:#334955; margin:0 0 8px; }
.crypto-syllabus .cm-index ul { list-style:none; padding:0; margin:0; }
.crypto-syllabus .cm-index li { margin:0 0 3px; }
.cm-index a { display:block; padding:5px 7px; font-size:11px; line-height:1.6; color:#435a66; text-decoration:none; border-radius:4px; border-left:2px solid transparent; }
.cm-index a:hover { background:#f1f5f7; }
.cm-index a[aria-current] { background:#eaf2f6; color:#174d6a; border-left-color:#357891; }
.cm-map a:focus-visible { outline:1px solid #347588; outline-offset:3px; }
.crypto-syllabus .cm-legend { font-size:11px; color:#586a75; margin:14px 0 24px; }
.crypto-syllabus .cm-path { scroll-margin-top:18px; padding:0 0 20px; margin:0 0 28px; border-bottom:1px solid #d7e0e4; }
.cm-path-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.crypto-syllabus .cm-path h3 { font-size:15px; font-weight:500; margin:2px 0 0; color:#263f4d; }
.crypto-syllabus .cm-path h3:focus { outline:none; }
.crypto-syllabus .cm-scope { font-size:10px; margin:0; color:#6f5b77; }
.cm-position { font-size:11px; color:#65757e; font-variant-numeric:tabular-nums; white-space:nowrap; }
.crypto-syllabus .cm-goal { margin:10px 0 14px; }
.crypto-syllabus .cm-context { margin:12px 0; padding:8px 12px; border-left:2px solid #357891; background:#f1f6f8; font-size:11px; }
.cm-context > span { color:#50636f; }
.cm-context a { color:#244e66; text-underline-offset:3px; }
.cm-resource.cm-current { background:#eaf2f6; box-shadow:inset 2px 0 #357891; padding-inline:8px; border-radius:3px; }
.cm-resource.cm-current > span:last-child { font-weight:600; }
.cm-before,.cm-next { display:flex; flex-wrap:wrap; align-items:baseline; gap:5px 15px; font-size:11px; line-height:1.7; }
.cm-before strong,.cm-next strong { font-weight:500; color:#596c76; }
.cm-before a,.cm-next a { color:#285c75; text-decoration:underline; text-decoration-color:#c2d5df; text-underline-offset:3px; }
.cm-next { padding-top:16px; border-top:1px solid #e1e8ec; }
.crypto-syllabus .cm-rows { padding:0; margin:20px 0 18px; list-style:none; }
.crypto-syllabus .cm-row { margin:0 0 24px; padding:0 0 18px; border-bottom:1px solid #e8edef; }
.crypto-syllabus .cm-row:last-child { border-bottom:0; margin-bottom:0; padding-bottom:0; }
.crypto-syllabus .cm-row h4 { font:600 12px/1.7 Verdana,sans-serif; color:#344b58; margin:0 0 10px; }
.cm-flow { position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:56px; }
.cm-edges { position:absolute; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; }
.cm-edges [data-cm-routes] path { fill:none; stroke:#91a9b6; stroke-width:1.3; }
.cm-edges marker path { fill:#718e9e; }
.cm-row:hover .cm-edges [data-cm-routes] path,.cm-row:focus-within .cm-edges [data-cm-routes] path { stroke:#3e7189; }
.cm-cell { position:relative; min-width:0; background:#fafcfd; border:1px solid #dce5e9; border-top:2px solid #8fa9b8; border-radius:4px; padding:10px 12px 12px; }
.cm-cell[data-cm-node="1"] { border-top-color:#9d96ae; }
.cm-cell[data-cm-node="2"] { border-top-color:#bda275; }
.cm-cell[data-cm-empty] { background:transparent; border-color:transparent; }
.cm-lane { display:block; font-size:10px; line-height:1.7; color:#596e7a; padding-bottom:8px; margin-bottom:7px; border-bottom:1px solid #e1e8ed; }
.cm-lane > svg { display:inline-block; width:13px; height:13px; margin-right:6px; vertical-align:-2px; stroke-width:1.7; }
.cm-resource { display:grid; grid-template-columns:auto 1fr; align-items:baseline; gap:9px; font-size:11px; line-height:1.65; text-decoration:none; color:#2d5369; padding:5px 0; }
.cm-resource:hover { color:#153d52; text-decoration:underline; text-underline-offset:3px; }
.cm-code { font-size:10px; color:#5b6e7a; font-variant-numeric:tabular-nums; white-space:nowrap; }
.crypto-syllabus .cm-no-lab { font-size:11px; color:#657782; margin:10px 0; }
.crypto-syllabus .cm-outcome { margin:10px 0 0; font-size:11px; color:#395c6e; }
.cm-outcome strong { font-weight:600; }
.crypto-syllabus .cm-note { font-size:11px; color:#697780; margin:5px 0 0; }
.crypto-syllabus #organizacja table { max-width:100%; min-width:0; }
@container (max-width:1050px) { .cm-index { grid-template-columns:repeat(3,minmax(0,1fr)); } .cm-flow { gap:40px; } }
@container (max-width:760px) { .cm-flow { grid-template-columns:1fr; gap:44px; } .cm-index { grid-template-columns:repeat(2,minmax(0,1fr)); } .cm-cell { padding:10px 12px 12px; } }
@container (max-width:400px) { .cm-index { gap:16px 8px; } .cm-index a { padding-inline:3px; } }
@media print { .cm-map .cm-path[hidden] { display:block!important; } .cm-path { break-before:page; } .cm-index { display:none; } .cm-row { break-inside:avoid; } .cm-edges { display:none; } }
