.course-legend-container{display:flex;flex-wrap:wrap;justify-content:center}.course-legend-inner{display:flex;flex:1 1;justify-content:center;margin-bottom:2rem}.rowcontent.roadmap{position:relative;font-size:1.1rem}.rowcontent.roadmap .roadmap{margin-bottom:2rem}.rowcontent.roadmap header img{margin:4rem auto 2rem;width:200px;height:140px}.rowcontent.roadmap header{font-size:1rem;margin-bottom:5px}.rowcontent.roadmap header h1{margin:auto;display:block;font-size:2.5rem;line-height:1.5em;text-align:center;font-weight:700;font-style:normal;color:var(--text-color-dark);width:80%}.rowcontent.roadmap header p{color:var(--text-secondary);font-size:1.2rem;text-align:center;font-weight:400;margin-bottom:2rem}.rowcontent.roadmap .divider{--svg-color:var( --divider-color-darker);margin-top:3rem;position:relative;overflow:hidden;text-align:center}.rowcontent.roadmap .divider:before,.rowcontent.roadmap .divider:after{background-color:var(--divider-color-darker);content:"";display:inline-block;height:1px;position:relative;vertical-align:middle;top:-5px;width:50%}.divider svg{display:inline-block;width:32px;height:32px;fill:none}.rowcontent.roadmap .divider:before{right:1em;margin-left:-50%}.rowcontent.roadmap .divider:after{left:1em;margin-right:-50%}.rowcontent.roadmap .divider span:before,.rowcontent.roadmap .divider span:after{position:relative;border:solid;border-width:.15em .15em 0 0;content:"";display:inline-block;height:.45em;width:.45em;right:.5rem;top:-2px;transform:rotate(135deg);color:var(--text-color)}.rowcontent.roadmap .divider span:after{left:.5rem;top:-2px}.roadmap-section .tobedone{--s-background:#555}.roadmap-section .tobedone img{opacity:.6}.roadmap-section{padding:0;grid-template-columns:auto 1fr;display:grid;border-bottom:1px dashed #2e2d2d}.roadmap-section:last-child{border-bottom:1px solid var(--divider-color-darker);margin-bottom:3rem}.roadmap-section .roadmapsection-title{display:flex;flex-direction:column;justify-content:flex-start;margin-right:2rem;position:relative;margin-top:.5rem}.roadmap-section .roadmapsection-title>span{font-size:1.2rem;letter-spacing:-1px;color:var(--main-color)}.roadmap .easy,.tippy-box .easy{--s-background:#00776b}.roadmap .medium,.tippy-box .medium{--s-background:#987018}.roadmap .hard,.tippy-box .hard{--s-background:#ab064d}.roadmap-section .roadmapsection-title>div{align-content:center;justify-content:space-around;background:var(--s-background);height:32px;width:32px;font-weight:700;font-size:1.4rem;margin-top:12px;border-radius:16px;text-align:center;color:#fff;position:relative;transition:all .5s}.roadmap-section:hover .roadmapsection-title>span{color:var(--accent-strong-color)}.roadmap-section:hover .roadmapsection-title>div{box-shadow:inset 0 0 1px 1px var(--text-color-dark);transform:scale(1.2)}.roadmap-section .roadmap-group:hover ul{box-shadow:inset 0 0 1px 1px #45444b}.roadmap-section .roadmapsection-title>div:after{position:absolute;border:solid;border-width:.15em .15em 0 0;content:"";display:block;height:.45em;width:.45em;left:10px;top:1.8em;transform:rotate(135deg);color:var(--text-color-light)}.roadmap-section>div{display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:0 3.5rem}.roadmap-section-1>div{gap:0 5rem}.roadmap-section-2>div{gap:0 6rem}.roadmap-section-3>div{gap:0 5rem}.roadmap-section-1>div .article-title{max-width:200px}.roadmap-section-2>div .article-title{max-width:200px}.roadmap-section-3>div .article-title{max-width:200px}.roadmap-groups{padding:3.5rem 0}.roadmap-group{align-items:center;border-radius:8px;display:flex;flex-direction:column;color:var(--text-color)}.roadmap-group>div{display:flex;flex-direction:row;align-items:center;margin-bottom:.5rem}.roadmap-group .roadmap-group-name{margin-left:6px;text-align:left;font-size:1.1em;font-weight:500;letter-spacing:.5px;color:var(--text-color);text-shadow:0 0 3px var(--card-background);position:relative;z-index:10;transition:all .4s}.roadmap-group .roadmap-group-icon{--icon-size:1.25rem;content:"";width:var(--icon-size);height:var(--icon-size);background:var(--text-color-light);mask:var(--group-icon) no-repeat center;mask-size:var(--icon-size);transition:all .5s;position:relative;opacity:.8}.roadmap-group:hover span:after{background:var(--text-color-dark);color:var(--text-color-dark)}.roadmap-group>ul{display:flex;flex-wrap:wrap;flex-direction:column;margin:0;padding:0;list-style:none;background:var(--card-background);border:var(--card-border);border-radius:16px;overflow:hidden}.roadmap-group>ul>li{border-bottom:var(--card-border);display:list-item}.roadmap-group>ul>li a{padding:2px 16px 2px 8px}.roadmap-group>ul>li:first-child{padding-top:4px}.roadmap-group>ul>li:last-child{padding-bottom:4px;border-bottom:none}.roadmap-group:hover .roadmap-group-name{color:var(--accent-strong-color)}.roadmap-group:hover .roadmap-group-icon{background:var(--accent-strong-color)}.roadmap-article{display:flex;margin:2px 3px;align-items:center;position:relative;transition:all .4s}.roadmap-article>div{position:absolute;inset:0;overflow:hidden;display:flex;margin:2px 1px;align-items:center;position:relative;transition:all .4s;border-radius:8px;background:color-mix(in srgb,var(--s-background),black 30%);height:2rem;width:2rem;transition:all .5s;box-shadow:inset 0 0 3px 1px #222}.roadmap-article .article-title{font-size:.8rem;opacity:.8;color:var(--text-selectable);margin-left:.5rem;transition:all .5s;transform-origin:0;max-width:120px}.roadmap-article:hover .article-title{transform:scale(1.1);opacity:1;color:var(--text-selectable-selected)}img.article-icon{padding:5px;margin:auto;transition:all .5s;position:absolute;transform:translateY(0)}.roadmap-group>ul>li:hover{background-color:#6664}.article-badge{inset:2px;transition:all .5s;display:block;place-items:center;place-content:center;display:flex;position:absolute;transform:translateY(-2rem)}.roadmap-article:hover>div{box-shadow:inset 0 0 2px 2px var(--accent-color)}#figure-diagram{position:absolute;inset:0;pointer-events:none}#figure-diagram svg{position:absolute;inset:0;stroke-dasharray:4 4;stroke:#555;fill:none;opacity:.8;stroke-width:3px;z-index:-1;animation:stroke-animation .8s infinite linear}#figure-diagram svg path{mask-image:linear-gradient(to bottom,transparent,#000 30%,#000 65%,transparent);mask-size:max(100%,5px) max(100%,5px)}#figure-diagram svg.L_R:not(.B_T):not(.T_B) path{mask-image:linear-gradient(to right,transparent,#000 30%,#000 80%,transparent)}#figure-diagram svg.R_L:not(.B_T):not(.T_B) path{mask-image:linear-gradient(to left,transparent,#000 30%,#000 80%,transparent)}@keyframes stroke-animation{0%{stroke-dashoffset:0}to{stroke-dashoffset:-8px}}:root[data-theme=light] #figure-diagram svg{opacity:.2}@media screen and (max-width:1571px){.roadmap-section-1>div{gap:0 2rem}.roadmap-section>div .article-title{max-width:80px}.roadmap-section-1>div{gap:0 3rem}.roadmap-section-2>div{gap:0 3rem}.roadmap-section-3>div{gap:0 3rem}.roadmap-section-1>div .article-title{max-width:120px}.roadmap-section-2>div .article-title{max-width:120px}.roadmap-section-3>div .article-title{max-width:120px}}@media screen and (max-width:991px){.roadmap-section{grid-template-columns:1fr;padding-top:0}.roadmap-section .roadmapsection-title{flex-direction:row;justify-content:flex-start;align-items:flex-end;gap:0;margin-bottom:1.5rem}.roadmap-section .roadmapsection-title>span{writing-mode:horizontal-tb;text-orientation:sideways;letter-spacing:0}.roadmap-section .roadmapsection-title>div{margin-left:12px}.roadmap-section .roadmapsection-title>div:after{display:none}.roadmap-section>div{flex-direction:column}.roadmap-groups{padding:0}.roadmap-group{width:100%;margin:0 0 20px;max-width:500px;align-items:flex-start}.roadmap-group>ul{display:block;align-items:flex-start;width:100%;padding:0}.roadmap-article:hover{box-shadow:none;color:var(--accent-color)}.roadmap-article:after{content:none}.roadmap-article .article-title{font-size:.95rem;opacity:.8;max-width:400px}#figure-diagram{display:none}}