:root{color:#e6e6eb;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;--border:#292a30;--muted:#8b8c98;--accent:#b7a6ee;background:#101113;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{flex-direction:column;height:100dvh;margin:0;display:flex;overflow:hidden}:is(html:has(.course-detail[open]),body:has(.course-detail[open])){overscroll-behavior:none}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline-offset:3px;outline:2px solid #a69bea}.topbar{z-index:1;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#1a1b20de;border:1px solid #36373f;border-radius:999px;flex-shrink:0;align-items:center;gap:20px;width:max-content;max-width:calc(100% - 32px);height:48px;margin:12px auto 0;padding:0 16px;display:flex;position:relative;box-shadow:0 10px 32px #00000040,inset 0 1px #ffffff0a}h1{letter-spacing:-.4px;border-right:1px solid #33343b;margin:0;padding-right:24px;font-size:14px;font-weight:650}.brand-logo{object-fit:contain;width:78.4px;height:24px;display:block}.stats{color:var(--muted);white-space:nowrap;align-items:center;gap:18px;font-size:11px;display:flex}.stats strong{color:#d2d2da;font-variant-numeric:tabular-nums;margin-right:5px;font-size:11px;font-weight:500}.projects-toggle{color:#cec2ef;background:#24202f;border:1px solid #514361;border-radius:999px;flex-shrink:0;align-items:center;gap:7px;margin-left:auto;padding:6px 10px;font-size:11px;transition:background .15s,border-color .15s;display:inline-flex;box-shadow:inset 0 1px #ffffff05}.projects-toggle:before{content:"";border:1px solid #b3a0da;border-radius:2px;width:7px;height:7px}.projects-toggle:hover{background:#30283e;border-color:#66537e}.projects-toggle[aria-expanded=true]:before{background:#b3a0da}.board{scrollbar-width:thin;scrollbar-color:#35363e transparent;overscroll-behavior-x:contain;flex:1;align-items:stretch;gap:14px;min-height:0;padding:18px 16px 14px;display:flex;overflow:auto hidden}.lane{background:linear-gradient(#17181c,#131416);border:1px solid #292a30;border-radius:20px;flex-direction:column;flex:0 0 300px;width:300px;min-height:0;display:flex;overflow:hidden}.lane-header{border-bottom:1px solid #24252b;flex-shrink:0;align-items:center;gap:9px;height:47px;padding:0 12px;display:flex}.path-avatar{color:#a3a3b2;background:#292a30;border-radius:8px;flex-shrink:0;place-items:center;width:24px;height:24px;font-size:10px;font-weight:500;display:grid;overflow:hidden}.path-avatar img{object-fit:cover;width:100%;height:100%}.lane-header h2{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:12px;font-weight:550;overflow:hidden}.lane-header h2 a:hover{color:#c9bcf2}.lane-total{color:#92939e;font-variant-numeric:tabular-nums;background:#292a31;border-radius:999px;margin-left:auto;padding:2px 6px;font-size:10px}.lane-body{scrollbar-width:thin;scrollbar-color:#35363e transparent;flex:1;min-height:0;padding:0 8px 10px;overflow-y:auto}.section-label{color:#9899a4;align-items:center;gap:7px;margin:15px 4px 9px;font-size:10px;font-weight:500;display:flex}.section-label:before{content:"";border:1px solid #777985;border-radius:50%;width:6px;height:6px}.section-label.projects{color:#b09bce}.section-label.projects:before{border-color:#ad94d3;border-radius:2px}.section-label span{color:#666873;font-variant-numeric:tabular-nums;margin-left:auto;font-size:10px;font-weight:400}.course-card{text-align:left;background:linear-gradient(145deg,#25262d,#1b1c21);border:1px solid #373840;border-radius:16px;align-items:center;gap:10px;width:100%;height:72px;margin-bottom:6px;padding:10px;transition:background .15s,border-color .15s,box-shadow .15s;display:flex;box-shadow:0 3px 10px #00000024,inset 0 1px #ffffff08}.course-card:hover{background:linear-gradient(145deg,#30313a,#25262d);border-color:#62616f;box-shadow:0 5px 16px #00000036,inset 0 1px #ffffff10}.project-card{background:linear-gradient(145deg,#352b42,#27212f);border-color:#51405f}.project-card:hover{background:linear-gradient(145deg,#443450,#32283d);border-color:#87679f}.project-card .course-title{color:#e0d4ed}.project-card .course-meta,.project-card .lab-count{color:#ab97bf}.project-card .meta-divider{color:#655474}.course-cover{color:#a6a7b3;background:#303139;border-radius:10px;flex-shrink:0;place-items:center;width:48px;height:48px;font-size:15px;font-weight:500;display:grid;position:relative;overflow:hidden}.course-cover img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.course-info{flex:1;min-width:0}.course-title{-webkit-line-clamp:2;color:#dedee5;-webkit-box-orient:vertical;font-size:11px;font-weight:500;line-height:1.45;display:-webkit-box;overflow:hidden}.course-meta{color:#92939f;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;margin-top:5px;font-size:9px;line-height:1.3;display:block;overflow:hidden}.lab-count{color:#b1b1be}.meta-divider{color:#50515d;margin:0 5px}.warning-dot{vertical-align:1px;background:#d9ad6f;border-radius:50%;width:5px;height:5px;margin-right:5px;display:inline-block}.course-card.warning{border-color:#75603f}.state{width:100%;color:var(--muted);text-align:center;margin:auto;padding:40px;font-size:12px}.course-detail{color:#e6e6eb;overscroll-behavior:none;resize:none;background:#191a1e;border:1px solid #484752;border-radius:24px;width:min(900px,100vw - 48px);max-width:none;max-height:min(860px,100dvh - 64px);padding:0;overflow:hidden;box-shadow:0 32px 120px #00000080,0 0 0 1px #00000050}.course-detail::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#050609aa}.detail-close{z-index:3;color:#dedee7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1b1c24cc;border:1px solid #ffffff38;border-radius:999px;place-items:center;width:32px;height:32px;padding:0;line-height:1;display:grid;position:absolute;top:12px;right:12px}.detail-close svg{pointer-events:none;flex-shrink:0;display:block}.detail-close:hover{background:#393a45}.detail-content{overscroll-behavior:none;touch-action:pan-y;scrollbar-width:none;max-height:min(858px,100dvh - 66px);overflow:hidden auto}.detail-content::-webkit-scrollbar{width:0;height:0;display:none}.detail-header{border-bottom:1px solid var(--border);background:#202127;padding:26px}.detail-header.has-cover{background:#14151c;padding:0;position:relative;overflow:hidden}.detail-header.has-cover:after{content:"";pointer-events:none;background:linear-gradient(#1112180a 5%,#11121833 30%,#15161ad9 72%,#191a1efa 100%);position:absolute;inset:0}.detail-summary{min-width:0}.has-cover .detail-summary{z-index:1;color:#fff;padding:24px 28px;position:absolute;bottom:0;left:0;right:0}.detail-cover{aspect-ratio:1400/720;cursor:zoom-in;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;display:block;position:relative}.detail-cover img{object-fit:contain;-webkit-user-drag:none;width:100%;height:auto;display:block}.detail-cover img[hidden]{display:none}.has-cover .detail-eyebrow{color:#d4cceb}.detail-header.has-cover h2{letter-spacing:-.6px;font-size:25px}.has-cover .detail-actions{color:#b9b8c8;justify-content:space-between}.has-cover .course-link{color:#f0edf9;background:#ffffff12;border-color:#ffffff30}.has-cover .course-link:hover{background:#ffffff24;border-color:#ffffff60}.cover-fallback{color:#b3b3c2;place-items:center;font-size:11px;display:none;position:absolute;inset:0}.cover-failed .cover-fallback{display:grid}.detail-eyebrow{color:#b3a5d7;letter-spacing:1.4px;padding-right:32px;font-size:9px;font-weight:550;display:block}.detail-header h2{letter-spacing:-.5px;overflow-wrap:anywhere;margin:9px 28px 10px 0;font-size:23px;font-weight:600;line-height:1.25}.detail-actions{color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px;font-size:11px;display:flex}.course-link{color:#dacbf6;background:#2a2437;border:1px solid #4c425f;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:7px 11px;font-size:11px;line-height:16px;transition:background .15s;display:inline-flex}.external-icon{flex-shrink:0;display:block}.course-link:hover{background:#3b304c}.detail-labs{padding:20px 26px 24px}.detail-labs h3{align-items:center;gap:8px;margin:0 0 14px;font-size:12px;font-weight:550;display:flex}.detail-labs h3 span{color:#aaaab8;border:1px solid #3a3b44;border-radius:999px;padding:1px 5px;font-size:10px;font-weight:400}.lab-list{margin:0;padding:0;list-style:none}.lab-stage{color:#aaa4ba;padding:18px 0 9px;font-size:10px;font-weight:500}.lab-stage:first-child{padding-top:10px}.lab-table-head,.lab-row{grid-template-columns:24px minmax(0,1fr) 76px 84px 40px 40px 118px;align-items:center;gap:12px;display:grid}.lab-metadata{display:contents}.lab-table-head{color:#7e7f8e;border-bottom:1px solid #34353e;padding:8px 0 10px;font-size:9px}.lab-row{border-bottom:1px solid #282930;padding:11px 0}.lab-row:last-child{border-bottom:0}.lab-index{color:#686a79;font-variant-numeric:tabular-nums;font-size:10px}.lab-row-title{color:#dddde6;overflow-wrap:anywhere;font-size:12px;font-weight:450;line-height:1.5}.lab-row-title a:hover{color:#cab9ff}.lab-kind,.lab-level,.lab-time,.lab-access{color:#999aaa;white-space:nowrap;min-width:0;font-size:10px}.lab-time{font-variant-numeric:tabular-nums}.lab-kind{color:#b0c2c9;background:#252a2e;border:1px solid #3a3e46;border-radius:999px;justify-self:start;padding:3px 6px;font-size:9px;line-height:1.25}.challenge-kind{color:#c7afd9;background:#302838;border-color:#4b3c59}.lab-links{align-items:center;gap:6px;display:flex}.lab-link{color:#c7c7d3;white-space:nowrap;background:#222329;border:1px solid #3b3c46;border-radius:999px;justify-content:center;align-items:center;gap:3px;min-width:42px;height:24px;padding:0 5px;font-size:9px;display:inline-flex}.tutorial-link{color:#c7b5e7;background:#2a2434;border-color:#493e5b;min-width:70px}.lab-link:hover{color:#fff;background:#32333d;border-color:#696a7b}.tutorial-link:hover{background:#392f48;border-color:#7d639d}.lab-link .external-icon{width:10px;height:10px}.lab-link.unavailable{color:#777885;background:0 0;border-color:#30313a}.project-detail .detail-header:not(.has-cover){background:#272232}@media (width<=700px){.topbar{gap:14px;max-width:calc(100% - 20px);height:46px;margin:10px auto 0;padding:0 12px}h1{padding-right:14px;font-size:13px}.brand-logo{width:65.333px;height:20px}.stats{gap:10px;font-size:9px}.stats strong{margin-right:3px;font-size:10px}.projects-toggle{padding:5px 8px;font-size:10px}.board{gap:10px;padding:12px 10px}.lane{flex-basis:288px;width:288px}.course-detail{border-radius:20px;width:calc(100vw - 24px);max-height:calc(100dvh - 32px)}.detail-content{max-height:calc(100dvh - 34px)}.lab-table-head{display:none}.lab-row{grid-template-columns:20px minmax(0,1fr) 118px;gap:6px;padding:11px 0}.lab-index{grid-row:1;align-self:start;padding-top:3px}.lab-row-title{grid-column:2/-1}.lab-metadata{grid-column:2;grid-template-columns:64px minmax(0,1fr) 36px 28px;align-items:center;gap:6px;display:grid}.lab-links{grid-column:3}.lab-level{text-overflow:ellipsis;overflow:hidden}.detail-header{padding:22px 18px 16px}.detail-header h2,.detail-header.has-cover h2{font-size:21px}.detail-labs{padding:18px}.has-cover .detail-summary{padding:20px 18px}}@media (width<=480px){.topbar{gap:10px;padding:0 8px}h1{padding-right:10px}.stats{gap:7px}.stats .courses-stat{display:none}.projects-toggle{gap:5px}.has-cover .detail-summary{margin-top:-70px;position:relative}.detail-labs{padding:16px 14px}.detail-header.has-cover h2{font-size:20px}.lab-metadata{grid-template-columns:64px minmax(0,1fr)}}@media (width<=380px){.topbar{gap:4px;padding:0 6px}h1{border-right:0;padding-right:0;font-size:12px}.brand-logo{width:49px;height:15px}.stats{gap:5px;font-size:8px}.stats strong{font-size:9px}.projects-toggle{padding:5px 6px;font-size:9px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
