.crs-root{--navy:#04142d;--navy900:#02091a;--navy700:#21426a;--ink:#1c2733;--ink-soft:#41525f;--muted:#5c6573;--paper:#ffffff;--bg:#f2f5fa;--bg-2:#e7ecf3;--line:#d6dde6;--grey-100:#eef2f7;--grey-300:#c4cedb;--grey-400:#8a98a8;--sage:#a4caee;--sage600:#235c99;--sage100:#d3e6f8;--sage50:#eef6fd;--clay:#b7acdf;--clay600:#9e90ce;--clay100:#ece8f6;--success:#2e7d5b;--success100:#e3f1ea;--shadow-sm:0 1px 2px rgba(4,20,45,0.06);--shadow:0 10px 30px -12px rgba(14,42,60,0.16),0 2px 6px rgba(14,42,60,0.05);--shadow-lg:0 30px 70px -24px rgba(14,42,60,0.3);--ring:0 0 0 4px var(--sage100);--r-sm:12px;--r:16px;--r-lg:24px;position:relative;color:var(--ink);background:var(--bg);font-family:var(--font-inter-tight),ui-sans-serif,system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100vh}.crs-root *{box-sizing:border-box}.crs-root ::-moz-selection{background:var(--sage100);color:var(--navy)}.crs-root ::selection{background:var(--sage100);color:var(--navy)}.crs-root :focus-visible{outline:2px solid var(--sage600);outline-offset:3px;border-radius:4px}.crs-root:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(60rem 40rem at 12% -8%,rgba(164,202,238,.2),transparent 60%),radial-gradient(50rem 36rem at 100% 6%,rgba(183,172,223,.14),transparent 58%),linear-gradient(180deg,var(--bg),var(--bg) 38%)}.crs-page,.crs-shell{position:relative;z-index:1}.crs-root .crs-eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--sage600);font-family:var(--font-jetbrains-mono),ui-monospace,monospace;font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;margin:0 0 14px}.crs-root .crs-eyebrow:before{content:"";width:22px;height:1.5px;background:linear-gradient(90deg,var(--sage),transparent)}.crs-root .crs-hero .crs-eyebrow:before{display:none}.crs-root h1,.crs-root h2,.crs-root h3{font-family:var(--font-space-grotesk),ui-sans-serif,system-ui,sans-serif;color:var(--navy);font-weight:600;letter-spacing:-.02em}.crs-root h1{font-size:clamp(34px,5.4vw,54px);line-height:1.05;margin:0 0 18px;letter-spacing:-.035em}.crs-root h2{font-size:clamp(25px,3.6vw,33px);line-height:1.14;margin:44px 0 14px;letter-spacing:-.025em}.crs-root h3{font-size:21px;line-height:1.3;margin:28px 0 9px;color:var(--navy700);font-weight:600}.crs-root p{font-size:17px;line-height:1.7;margin:0 0 16px;color:var(--ink-soft)}.crs-root .crs-lead{font-size:clamp(18px,2.1vw,21px);line-height:1.55;color:var(--navy);margin:0 0 24px;font-weight:500}.crs-root em{font-style:italic;color:var(--sage600)}.crs-root ol,.crs-root ul{margin:0 0 18px;padding-left:4px;list-style:none}.crs-root li{position:relative;font-size:17px;line-height:1.65;margin:0 0 10px;padding-left:26px;color:var(--ink-soft)}.crs-root ul>li:before{content:"";position:absolute;left:4px;top:10px;width:7px;height:7px;border-radius:50%;background:var(--sage);box-shadow:0 0 0 3px var(--sage100)}.crs-root strong{color:var(--navy);font-weight:600}.crs-root .crs-prose a:not(.crs-btn),.crs-root li a:not(.crs-btn),.crs-root p a:not(.crs-btn){color:var(--sage600);text-decoration:none;font-weight:500;background-image:linear-gradient(var(--sage),var(--sage));background-size:100% 1.5px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .2s ease,color .2s ease;padding-bottom:1px}.crs-root li a:not(.crs-btn):hover,.crs-root p a:not(.crs-btn):hover{color:var(--navy);background-size:100% 100%;background-image:linear-gradient(var(--sage100),var(--sage100))}.crs-code{background:var(--sage50);border:1px solid var(--line);border-radius:6px;padding:1px 6px;font-size:13.5px;font-family:var(--font-jetbrains-mono),ui-monospace,Menlo,Consolas,monospace;color:var(--sage600);word-break:break-word}.crs-divider{border:none;border-top:1px solid var(--line);margin:32px 0}.crs-wrap{max-width:760px;margin:0 auto;padding:0 24px}.crs-page{min-height:100vh;padding:0 0 96px}.crs-hero{position:relative;text-align:center;padding:clamp(96px,12vw,140px) 24px clamp(40px,6vw,64px);overflow:visible}.crs-hero .crs-lead{max-width:620px;margin-left:auto;margin-right:auto}.crs-hero-orb{position:absolute;top:12px;left:50%;width:min(640px,92vw);height:420px;transform:translateX(-50%);z-index:-1;pointer-events:none;background:radial-gradient(38% 50% at 38% 40%,rgba(164,202,238,.5),transparent 70%),radial-gradient(42% 52% at 70% 58%,rgba(183,172,223,.32),transparent 72%);filter:blur(50px);opacity:.9}.crs-accent{color:var(--sage600)}@keyframes crs-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.crs-hero>*{animation:crs-rise .7s cubic-bezier(.22,.61,.36,1) both}.crs-hero>:nth-child(2){animation-delay:.06s}.crs-hero>:nth-child(3){animation-delay:.12s}.crs-hero>:nth-child(4){animation-delay:.18s}.crs-hero>:nth-child(5){animation-delay:.24s}.crs-hero>:nth-child(6){animation-delay:.3s}.crs-chips{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.crs-chip{display:inline-flex;align-items:center;gap:7px;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:999px;padding:8px 15px;font-size:13.5px;color:var(--muted);font-weight:500}.crs-chip svg{color:var(--sage600)}.crs-shell{display:grid;grid-template-columns:320px 1fr;gap:0;align-items:start;min-height:100vh}.crs-sidebar{position:sticky;top:0;align-self:start;height:100vh;overflow-y:auto;background:linear-gradient(180deg,var(--paper),var(--bg-2));border-right:1px solid var(--line);padding:24px 18px 64px;scrollbar-width:thin;scrollbar-color:var(--grey-300) transparent}.crs-sidebar::-webkit-scrollbar{width:8px}.crs-sidebar::-webkit-scrollbar-thumb{background:var(--grey-300);border-radius:99px;border:2px solid transparent;background-clip:content-box}.crs-main{padding:clamp(40px,5vw,64px) 0 96px;min-width:0}.crs-topbar{display:none;position:sticky;top:0;z-index:30;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;background:var(--paper);border-bottom:1px solid var(--line)}.crs-topbar .crs-brandrow{margin:0}.crs-menu-btn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--paper);color:var(--navy);border-radius:10px;padding:8px 12px;font-size:14px;font-weight:600;cursor:pointer}.crs-menu-btn:hover{background:var(--sage50);border-color:var(--sage)}@media (max-width:920px){.crs-shell{grid-template-columns:1fr}.crs-topbar{display:flex}.crs-sidebar{position:fixed;inset:0 auto 0 0;z-index:60;height:100vh;width:min(320px,86vw);transform:translateX(-100%);transition:transform .28s cubic-bezier(.22,.61,.36,1);box-shadow:var(--shadow-lg)}.crs-sidebar.open{transform:translateX(0)}.crs-scrim{position:fixed;inset:0;z-index:55;background:rgba(4,20,45,.4);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .28s ease}.crs-scrim.open{opacity:1;pointer-events:auto}}.crs-close-mobile{display:none;background:none;border:none;cursor:pointer;color:var(--navy)}@media (max-width:920px){.crs-close-mobile{display:inline-flex}}.crs-brandrow{display:flex;align-items:center;gap:10px;margin:0 0 18px;border:none;text-decoration:none}.crs-brandrow .mark{width:32px;height:32px;border-radius:10px;flex:0 0 32px;background:linear-gradient(135deg,var(--sage),var(--clay));box-shadow:var(--shadow-sm)}.crs-brandrow b{color:var(--navy);font-weight:700;font-size:15px;font-family:var(--font-space-grotesk),sans-serif;letter-spacing:-.01em}.crs-brandrow .crs-brand-kicker{display:block;font-size:9.5px;letter-spacing:.18em;color:var(--sage600)}.crs-brandrow .crs-brand-kicker,.crs-modtitle{font-family:var(--font-jetbrains-mono),monospace;text-transform:uppercase;font-weight:600}.crs-modtitle{gap:8px;font-size:10.5px;letter-spacing:.12em;color:var(--grey-400);margin:22px 0 7px}.crs-modtitle,.crs-navlink{display:flex;align-items:center}.crs-navlink{position:relative;gap:10px;padding:8px 10px;border-radius:11px;font-size:14px;color:var(--muted);border:none;line-height:1.3;text-decoration:none;transition:background .15s ease,color .15s ease}.crs-navlink:hover{background:var(--sage50);color:var(--navy)}.crs-navlink.active{background:var(--sage100);color:var(--navy);font-weight:600}.crs-navlink.active:before{content:"";position:absolute;left:-18px;top:50%;transform:translateY(-50%);width:3px;height:20px;border-radius:0 3px 3px 0;background:var(--clay)}.crs-dot{width:17px;height:17px;flex:0 0 17px;border-radius:50%;border:1.5px solid var(--grey-300);display:inline-flex;align-items:center;justify-content:center;transition:background .2s ease,border-color .2s ease}.crs-dot.done{background:var(--success);border-color:var(--success);color:#fff}.crs-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:28px 30px;margin:0 0 18px}.crs-card,.crs-cmd{position:relative;box-shadow:var(--shadow)}.crs-cmd{margin:0 0 20px;border-radius:16px;overflow:hidden}.crs-cmd-label{display:flex;align-items:center;gap:8px;background:var(--navy900);color:#9fb6d4;font-family:var(--font-jetbrains-mono),monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;margin:0;padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.07)}.crs-cmd-label:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--clay);box-shadow:14px 0 0 #a4caee,28px 0 0 #6fd3a8;margin-right:26px}.crs-cmd pre{margin:0;background:var(--navy);color:#e9f1fb;padding:16px 56px 16px 16px;font-family:var(--font-jetbrains-mono),ui-monospace,Menlo,Consolas,monospace;font-size:13px;line-height:1.65;overflow-x:auto;white-space:pre-wrap;word-break:break-word}.crs-prompt pre{background:linear-gradient(180deg,#0a1f3d,#06152c)}.crs-copy{position:absolute;top:44px;right:10px;background:rgba(164,202,238,.16);color:#e9f1fb;border:1px solid rgba(164,202,238,.28);border-radius:8px;padding:5px 11px;font-size:12px;font-weight:500;cursor:pointer;transition:background .15s ease,transform .1s ease;backdrop-filter:blur(4px)}.crs-copy-in{display:inline-flex;align-items:center;gap:4px}.crs-copy:hover{background:rgba(164,202,238,.3)}.crs-copy:active{transform:scale(.96)}.crs-copy.copied{background:var(--success);border-color:var(--success);color:#fff}.crs-callout{position:relative;border-radius:16px;padding:16px 18px;margin:0 0 18px;border:1px solid;border-left:3px solid}.crs-note{background:var(--sage50);border-color:var(--sage100);border-left-color:var(--sage)}.crs-warn{background:var(--clay100);border-color:color-mix(in srgb,var(--clay) 30%,#fff);border-left-color:var(--clay)}.crs-check{background:var(--success100);border-color:color-mix(in srgb,var(--success) 22%,#fff);border-left-color:var(--success)}.crs-stuck{background:var(--paper);border-color:var(--line);border-left-color:var(--clay);box-shadow:var(--shadow-sm)}.crs-callout-h{display:flex;align-items:center;gap:9px;font-weight:700;color:var(--navy);font-size:13.5px;margin:0 0 7px;letter-spacing:.01em}.crs-callout-h .ic{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:8px;flex:0 0 24px;background:var(--sage100);color:var(--sage600)}.crs-warn .crs-callout-h .ic{background:var(--clay100);color:var(--clay600)}.crs-check .crs-callout-h .ic{background:#fff;color:var(--success)}.crs-stuck .crs-callout-h .ic{background:var(--clay100);color:var(--clay600)}.crs-callout p{font-size:15.5px}.crs-callout p:last-child,.crs-callout ul{margin-bottom:0}.crs-steps{counter-reset:step;list-style:none;padding:0;margin:4px 0 20px}.crs-steps>li{position:relative;padding:2px 0 18px 48px;margin:0}.crs-steps>li:before{counter-increment:step;content:counter(step);position:absolute;left:0;top:-3px;width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--navy700),var(--navy));color:#fff;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;font-family:var(--font-space-grotesk),sans-serif;box-shadow:var(--shadow-sm)}.crs-steps>li:not(:last-child):after{content:"";position:absolute;left:15px;top:30px;bottom:4px;width:2px;background:linear-gradient(var(--line),transparent)}.crs-checklist{list-style:none;padding:0;margin:4px 0 20px}.crs-checklist>li{display:flex;align-items:flex-start;gap:11px;padding:0 0 11px}.crs-checklist>li:before{display:none}.crs-checklist .tick{flex:0 0 22px;width:22px;height:22px;border-radius:7px;margin-top:1px;display:inline-flex;align-items:center;justify-content:center;background:var(--sage100);color:var(--sage600)}.crs-video{position:relative;border:1.5px dashed color-mix(in srgb,var(--sage) 55%,transparent);background:linear-gradient(135deg,var(--sage50),var(--sage100));border-radius:var(--r-lg);padding:20px 22px;margin:0 0 22px;gap:16px}.crs-video,.crs-video .play{display:flex;align-items:center}.crs-video .play{flex:0 0 48px;width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--sage),var(--clay));color:var(--navy);justify-content:center;box-shadow:0 6px 16px -4px rgba(95,151,214,.45)}.crs-video .meta{min-width:0}.crs-video .vtype{font-family:var(--font-jetbrains-mono),monospace;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:var(--navy700)}.crs-video .vtitle{font-weight:600;color:var(--navy);margin:3px 0;font-size:16.5px;font-family:var(--font-space-grotesk),sans-serif}.crs-video .vnote{font-size:12.5px;color:var(--muted);margin:0}.crs-video .badge{display:inline-block;font-size:10px;font-weight:700;padding:2px 8px;border-radius:999px;margin-left:8px;vertical-align:middle}.crs-video .badge.ai{background:var(--sage);color:var(--navy)}.crs-video .badge.loom{background:var(--clay);color:var(--navy)}.crs-video-embed{position:relative;padding-bottom:56.25%;height:0;margin:0 0 22px;border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}.crs-video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.crs-lessonmeta{display:flex;align-items:center;gap:12px;color:var(--grey-400);font-size:13px;margin:0 0 14px;font-weight:500}.crs-prevnext{display:flex;justify-content:space-between;gap:14px;margin:48px 0 0;border-top:1px solid var(--line);padding-top:26px}.crs-prevnext a{display:block;flex:1;max-width:48%;border:1px solid var(--line);border-radius:16px;padding:13px 17px;background:var(--paper);box-shadow:var(--shadow-sm);text-decoration:none;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}.crs-prevnext a:hover{border-color:var(--sage);transform:translateY(-2px);box-shadow:var(--shadow)}.crs-prevnext .nx{text-align:right;margin-left:auto}.crs-prevnext .lbl{font-family:var(--font-jetbrains-mono),monospace;font-size:10.5px;color:var(--sage600);text-transform:uppercase;letter-spacing:.1em;font-weight:600}.crs-prevnext .ttl{margin-top:2px}.crs-btn,.crs-prevnext .ttl{color:var(--navy);font-weight:600;font-size:15px}.crs-btn{position:relative;display:inline-flex;align-items:center;gap:8px;background-color:var(--sage);border:none;border-radius:999px;padding:13px 24px;cursor:pointer;text-decoration:none;font-family:var(--font-inter-tight),sans-serif;box-shadow:0 10px 24px -10px rgba(95,151,214,.55);background-size:220% 100%;background-position:0 50%;transition:transform .35s cubic-bezier(.34,1.4,.5,1),box-shadow .35s ease,background-image .3s ease,color .25s ease}.crs-btn:hover{color:#fff;background-image:linear-gradient(90deg,#a4caee,#5f97d6,#2e5c99,#5b4e94,#8e7ec6,#b7acdf,#a4caee);transform:scale(1.05) translateY(-1px);box-shadow:0 0 0 1px rgba(183,172,223,.45),0 14px 34px -8px rgba(95,151,214,.6)}.crs-btn:active{transform:scale(1)}.crs-btn:focus-visible{outline:none;box-shadow:0 0 0 4px var(--sage100),0 10px 24px -10px rgba(95,151,214,.55)}.crs-btn.ghost{background:var(--paper);color:var(--navy);border:1px solid var(--grey-300);box-shadow:var(--shadow-sm);background-image:none}.crs-btn.ghost:hover{background:var(--sage50);border-color:var(--sage);color:var(--navy);transform:translateY(-2px);box-shadow:var(--shadow)}.crs-btn.violet{background-color:var(--clay);box-shadow:0 10px 24px -10px rgba(110,93,166,.5)}.crs-btn:disabled{opacity:.6;cursor:default;transform:none}.crs-progress{height:7px;background:var(--bg-2);border-radius:999px;overflow:hidden;margin:12px 0 4px}.crs-progress>i{display:block;height:100%;background:linear-gradient(90deg,var(--sage),var(--clay));border-radius:999px;transition:width .5s cubic-bezier(.22,.61,.36,1)}.crs-progress-note{font-size:12.5px;color:var(--muted);margin:2px 0 0}.crs-input{width:100%;padding:13px 15px;border:1px solid var(--grey-300);border-radius:12px;font-size:15px;color:var(--ink);outline:none;background:var(--paper);font-family:var(--font-inter-tight),sans-serif;transition:border-color .15s ease,box-shadow .15s ease}.crs-input::-moz-placeholder{color:var(--grey-400)}.crs-input::placeholder{color:var(--grey-400)}.crs-input:focus{border-color:var(--sage);box-shadow:var(--ring)}.crs-field{display:grid;gap:6px;margin:0 0 15px}.crs-field label{font-size:13px;font-weight:600;color:var(--navy700)}.crs-download{display:flex;align-items:center;gap:15px;text-decoration:none;border:1px solid var(--line);background:var(--paper);border-radius:16px;padding:15px 17px;margin:0 0 14px;color:var(--ink);box-shadow:var(--shadow-sm);transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}.crs-download:hover{border-color:var(--sage);color:var(--ink);transform:translateY(-2px);box-shadow:var(--shadow)}.crs-download .ic{flex:0 0 46px;width:46px;height:46px;border-radius:12px;background:var(--sage100);color:var(--sage600);display:flex;align-items:center;justify-content:center}.crs-download .dl-meta{display:flex;flex-direction:column;min-width:0;flex:1}.crs-download .dl-name{font-weight:600;color:var(--navy);font-size:15.5px}.crs-download .dl-desc{font-size:13px;color:var(--muted);margin-top:2px}.crs-download .dl-btn{flex:0 0 auto;background:var(--navy);color:#fff;border-radius:10px;padding:9px 16px;font-size:14px;font-weight:600;box-shadow:var(--shadow-sm)}.crs-download:hover .dl-btn{background:var(--navy700)}.crs-download.primary{border-color:color-mix(in srgb,var(--sage) 45%,transparent);background:linear-gradient(135deg,var(--sage50),var(--sage100))}.crs-download.primary .ic{background:linear-gradient(135deg,var(--sage),var(--clay));color:var(--navy)}.crs-download.primary .dl-btn{background:linear-gradient(135deg,var(--sage600),var(--navy))}.crs-download.primary:hover{border-color:var(--sage)}.crs-modcard{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px 26px;margin:0 0 16px;box-shadow:var(--shadow-sm);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.crs-modcard:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--grey-300)}.crs-modcard h3{margin:0 0 5px;font-size:21px}.crs-modcard .summary{color:var(--muted);font-size:14.5px;margin:0 0 14px;line-height:1.55}.crs-modnum{position:absolute;top:18px;right:22px;font-family:var(--font-space-grotesk),sans-serif;font-size:42px;font-weight:700;color:var(--sage100);line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.crs-lessonrow{display:flex;align-items:center;gap:11px;padding:9px 0;border-top:1px solid var(--grey-100);font-size:15px;color:var(--ink);transition:color .12s ease;text-decoration:none}a.crs-lessonrow:hover,a.crs-lessonrow:hover span:nth-child(2){color:var(--sage600)}.crs-lessonrow .mins{margin-left:auto;color:var(--grey-400);font-size:12.5px;font-weight:500}.crs-feature{display:grid;gap:12px 28px}@media (min-width:600px){.crs-feature{grid-template-columns:1fr 1fr}}.crs-feature-item{display:flex;gap:10px;align-items:flex-start;margin:0;font-size:15.5px;color:var(--ink)}.crs-feature-item .ic{color:var(--success);flex:0 0 auto;margin-top:1px}.crs-ctaband{background:linear-gradient(135deg,var(--navy700),var(--navy));border:none;border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:44px 32px;text-align:center;position:relative;overflow:hidden}.crs-ctaband:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 80% at 80% 10%,rgba(164,202,238,.22),transparent 60%),radial-gradient(50% 70% at 10% 100%,rgba(183,172,223,.2),transparent 60%)}.crs-ctaband>*{position:relative}.crs-ctaband h2{color:#fff;margin:0 0 10px}.crs-ctaband p{color:#c6d8ee;max-width:480px;margin:0 auto 22px}@media (prefers-reduced-motion:reduce){.crs-root *,.crs-root :after,.crs-root :before{animation:none!important;transition:none!important}}