.robot-scene:where(.astro-ttnb4mkl){--scene-ink:#122b39;--scene-muted:#58727e;--scene-teal:#087f82;width:100%;min-width:0;color:var(--scene-ink);isolation:isolate;background:#f7fafb;border:1px solid #dce7eb;border-radius:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;display:block;overflow:hidden}.scene-heading:where(.astro-ttnb4mkl){justify-content:space-between;align-items:center;gap:12px;padding:22px 24px 0;display:flex}.scene-title:where(.astro-ttnb4mkl){color:#365563;letter-spacing:.04em;font-size:12px;font-weight:550}.scene-caption:where(.astro-ttnb4mkl){color:#69818d;letter-spacing:.03em;flex-shrink:0;align-items:center;gap:6px;font-size:10px;display:inline-flex}.scene-caption:where(.astro-ttnb4mkl)>span:where(.astro-ttnb4mkl){background:#78a6aa;border-radius:50%;width:5px;height:5px}.scene-canvas:where(.astro-ttnb4mkl){width:100%;height:auto;margin-top:-2px;display:block;overflow:visible}.annotation:where(.astro-ttnb4mkl){fill:#3e6b76;letter-spacing:.04em;font-size:10px;font-weight:450}.teaching-layer:where(.astro-ttnb4mkl){opacity:0;transition:opacity .26s}.scene-camera:where(.astro-ttnb4mkl){opacity:.4;transition:opacity .26s}.robot-scene:where(.astro-ttnb4mkl)[data-mode=see] .vision-layer:where(.astro-ttnb4mkl),.robot-scene:where(.astro-ttnb4mkl)[data-mode=see] .scene-camera:where(.astro-ttnb4mkl),.robot-scene:where(.astro-ttnb4mkl)[data-mode=locate] .position-layer:where(.astro-ttnb4mkl),.robot-scene:where(.astro-ttnb4mkl)[data-mode=act] .action-layer:where(.astro-ttnb4mkl){opacity:1}.robot-scene:where(.astro-ttnb4mkl)[data-mode=act] .action-path:where(.astro-ttnb4mkl){animation:9s linear infinite trajectory}.scene-bottom:where(.astro-ttnb4mkl){padding:5px 24px 19px}.scene-controls:where(.astro-ttnb4mkl){background:#edf3f5;border:1px solid #dfe8ec;border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:4px;display:grid}.scene-controls:where(.astro-ttnb4mkl) button:where(.astro-ttnb4mkl){appearance:none;color:#5a7380;min-width:0;min-height:41px;font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:9px;padding:8px 12px;font-size:12px;font-weight:550;transition:color .18s,background .18s,box-shadow .18s;display:inline-flex}.scene-controls:where(.astro-ttnb4mkl) button:where(.astro-ttnb4mkl):hover{color:#086e72;background:#e0edef}.scene-controls:where(.astro-ttnb4mkl) button:where(.astro-ttnb4mkl)[aria-pressed=true]{color:#066d70;background:#fff;border-color:#d9e6e9;box-shadow:0 1px 3px #193c4b0b}.scene-controls:where(.astro-ttnb4mkl) button:where(.astro-ttnb4mkl):focus-visible{outline-offset:2px;outline:2px solid #087f82}.step-number:where(.astro-ttnb4mkl){opacity:.65;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:10px;font-weight:400}.scene-explanation:where(.astro-ttnb4mkl){color:#58727e;text-align:center;letter-spacing:.015em;min-height:1.8em;margin:12px 0 0;font-size:11px;line-height:1.8}@keyframes trajectory{to{stroke-dashoffset:-66px}}@media (width<=480px){.robot-scene:where(.astro-ttnb4mkl){border-radius:15px}.scene-heading:where(.astro-ttnb4mkl){padding:17px 16px 0}.scene-title:where(.astro-ttnb4mkl){letter-spacing:0;font-size:11px}.scene-caption:where(.astro-ttnb4mkl){font-size:9px}.scene-bottom:where(.astro-ttnb4mkl){padding:7px 14px 15px}.scene-controls:where(.astro-ttnb4mkl) button:where(.astro-ttnb4mkl){gap:6px;min-height:42px;padding-inline:8px}.scene-explanation:where(.astro-ttnb4mkl){margin-top:10px;font-size:10px}}@media (prefers-reduced-motion:reduce){.teaching-layer:where(.astro-ttnb4mkl),.scene-camera:where(.astro-ttnb4mkl),.scene-controls:where(.astro-ttnb4mkl) button:where(.astro-ttnb4mkl){transition:none}.robot-scene:where(.astro-ttnb4mkl)[data-mode=act] .action-path:where(.astro-ttnb4mkl){animation:none}}:root{--ink:#142f3b;--muted:#60737d;--teal:#087b7e;--line:#dce5e8;--paper:#fff;--soft:#f4f8f9;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline-offset:5px;outline:3px solid #0a9296}::selection{color:#103b44;background:#cce9e8}html{scroll-behavior:smooth;scroll-padding-top:100px}.section-shell{width:min(1180px,100% - 80px);margin-inline:auto}.skip-link{background:var(--ink);color:#fff;z-index:20;padding:12px 20px;position:fixed;top:10px;left:16px;transform:translateY(-200%)}.skip-link:focus{transform:none}.home-header{z-index:5;background:#ffffffed;border-bottom:1px solid #eaf0f2;height:88px;position:relative}.header-inner{justify-content:space-between;align-items:center;gap:30px;max-width:1360px;height:100%;margin:auto;padding:0 40px;display:flex}.home-header nav{align-items:center;gap:30px;font-size:13px;font-weight:550;display:flex}.home-header nav a{padding:12px 0;transition:color .2s}.home-header nav a:hover,.button-text:hover{color:var(--teal)}.header-actions{align-items:center;gap:20px;display:flex}.github-link{justify-content:center;align-items:center;width:28px;height:36px;display:flex}.home-search-trigger{border:1px solid var(--line);color:#637580;background:#f9fbfc;border-radius:7px;align-items:center;gap:9px;padding:9px 11px;font-size:12px;display:flex}.home-search-trigger kbd{color:#82929a;padding-left:15px;font-family:inherit;font-size:10px}.hero{grid-template-columns:1fr 1.14fr;align-items:center;gap:55px;padding-block:76px 70px;display:grid}.eyebrow{letter-spacing:.12em;color:var(--teal);align-items:center;gap:9px;margin:0 0 18px;font-size:11px;font-weight:600;line-height:1.6;display:flex}.hero .eyebrow{letter-spacing:.055em;font-size:12px}.live-dot{background:var(--teal);border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 4px #e9f3f2}.hero h1{letter-spacing:-.05em;margin:22px 0;font-size:clamp(36px,3.8vw,52px);font-weight:700;line-height:1.42}.hero h1 span{color:var(--teal)}.hero-deck{color:var(--muted);margin:0;font-size:16px;line-height:1.95}.hero-actions{align-items:center;gap:24px;margin-top:29px;display:flex}.button-primary{background:var(--teal);color:#fff;border:1px solid var(--teal);white-space:nowrap;border-radius:7px;justify-content:center;align-items:center;gap:22px;min-height:48px;padding:13px 21px;font-size:13px;font-weight:600;transition:background .2s,transform .2s;display:inline-flex}.button-primary:hover{background:#096569;transform:translateY(-2px)}.button-primary span{font-size:20px;line-height:1}.button-text{align-items:center;gap:13px;font-size:13px;font-weight:550;line-height:1.7;display:inline-flex}.button-text span{font-size:18px}.hero-note{color:#7b8b93;flex-wrap:wrap;gap:17px;margin-top:23px;font-size:10px;display:flex}.hero-note span+span:before{content:"·";margin-right:17px}.hero-visual{min-width:0}.subject-strip{background:#fafcfc;border-block:1px solid #e4ecee}.subject-strip>.section-shell{letter-spacing:.04em;justify-content:space-between;align-items:center;gap:24px;min-height:73px;font-size:13px;display:flex}.strip-label{color:#7b8c94;font-size:11px}.subject-strip i{color:#a0b3ba;padding-inline:23px;font-style:normal}.subject-strip a{color:var(--teal);font-size:11px}.subject-strip b{margin-left:12px;font-size:16px;font-weight:400}.courses-section{padding-block:75px 82px}.section-heading{justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:30px;display:flex}.section-heading .eyebrow{letter-spacing:.13em;margin-bottom:10px;font-size:10px}.section-heading h2,.explore-intro h2{letter-spacing:-.025em;margin:0;font-size:29px;font-weight:650;line-height:1.55}.section-heading>p{color:var(--muted);margin:0 0 4px;font-size:12px;line-height:1.9}.course-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.course-card{border:1px solid var(--line);border-radius:13px;padding:27px 30px 22px;transition:border-color .22s,transform .22s,box-shadow .22s;display:block;overflow:hidden}.course-card:hover{border-color:#83b9bc;transform:translateY(-4px);box-shadow:0 12px 25px #193d4b08}.course-topline{justify-content:space-between;align-items:center;display:flex}.course-number{letter-spacing:.1em;color:#70868f;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px}.published-badge{color:#137e76;background:#edf7f3;border-radius:4px;padding:2px 8px;font-size:10px;line-height:1.8}.course-mini{background:#f3f8f8;border-radius:8px;justify-content:center;align-items:center;height:120px;margin:18px 0 15px;display:flex}.course-mini svg{fill:none;stroke:#73a4a5;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;width:75%;max-height:80px}.course-card-2 .course-mini{background:#f5f7fb}.course-card-2 .course-mini svg{stroke:#849eb5}.mini-arrow{stroke:#b8cbd0;stroke-dasharray:3 4}.course-card h3{letter-spacing:-.02em;max-width:25em;margin:12px 0 10px;font-size:21px;font-weight:650;line-height:1.65}.course-card>p{color:var(--muted);min-height:3.8em;margin:0;font-size:12px;line-height:1.9}.course-bottom{color:#6d828d;border-top:1px solid #e8eef0;justify-content:space-between;align-items:center;margin-top:24px;padding-top:18px;font-size:11px;display:flex}.course-bottom i{color:#aab7bd;margin-inline:10px;font-style:normal}.circle-arrow{width:30px;height:30px;color:var(--teal);border:1px solid #d9e4e8;border-radius:50%;place-items:center;font-size:19px;transition:background .2s;display:grid}.course-card:hover .circle-arrow{background:var(--teal);border-color:var(--teal);color:#fff}.journey-section{background:#f5f8f9;border-block:1px solid #e7edef;padding-block:63px 45px}.journey-section .section-heading{margin-bottom:40px}.journey-grid{grid-template-columns:repeat(4,1fr);gap:26px;display:grid}.journey-step>.step-number{color:#8ea3ad;align-items:center;gap:17px;font:13px ui-monospace,SFMono-Regular,Consolas,monospace;display:flex}.journey-step>.step-number span{background:#d8e3e7;flex:1;height:1px}.journey-step.active>.step-number{color:var(--teal)}.journey-step.active>.step-number span{background:#75b3b5}.step-state{color:#7c8e97;border:1px solid #dce5e9;border-radius:3px;margin:22px 0 11px;padding:3px 7px;font-size:10px;display:inline-block}.active .step-state{color:#0a7b79;background:#e5f2ee;border-color:#b4dad7}.journey-step h3{letter-spacing:-.01em;margin:0 0 8px;font-size:17px;font-weight:600}.step-subtitle{color:#526f7b;margin:0 0 13px;font-size:12px}.step-topics{color:#8999a1;margin:0;font-size:10px;line-height:1.7}.journey-footnote{color:#82939c;border-top:1px solid #dfe8eb;margin:32px 0 0;padding-top:20px;font-size:10px;line-height:1.8}.explore-section{grid-template-columns:1fr 1.6fr;gap:100px;padding-block:80px;display:grid}.explore-intro .eyebrow{margin-bottom:15px;font-size:10px}.explore-intro h2{font-size:28px;line-height:1.6}.explore-intro>p:not(.eyebrow){color:var(--muted);margin:16px 0 19px;font-size:12px;line-height:1.9}.explore-intro .button-text{color:var(--teal);font-size:12px}.family-list>a{border-top:1px solid var(--line);align-items:center;gap:26px;min-height:134px;padding:24px 0;display:flex}.family-list>a:last-child{border-bottom:1px solid var(--line)}.family-monogram{color:#337e82;background:#eff5f5;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:80px;height:80px;font-family:Georgia,serif;font-size:21px;display:flex}.family-monogram span{padding-inline:3px;font-family:inherit;font-size:15px}.pi-mark{color:#5a7698;background:#f2f4f8;font-size:48px;font-style:italic}.family-type{color:#84959e;letter-spacing:.04em;font-size:10px}.family-list h3{letter-spacing:-.03em;margin:3px 0 4px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:21px;font-weight:600;line-height:1.5}.family-list p{color:var(--muted);margin:0;font-size:12px}.family-arrow{color:#6b8995;margin-left:auto;font-size:25px;transition:transform .2s,color .2s}.family-list a:hover .family-arrow{color:var(--teal);transform:translate(3px,-3px)}.family-list a:hover h3{color:var(--teal)}.closing-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:30px;padding-block:35px;display:flex}.closing-section>div{padding-left:43px;position:relative}.closing-icon{color:#82aaa8;font-size:30px;position:absolute;top:0;left:0}.closing-section h2{letter-spacing:-.015em;margin:0 0 9px;font-size:19px;font-weight:600}.closing-section p{color:var(--muted);margin:0;font-size:11px;line-height:1.8}.closing-section .button-primary{min-height:44px;font-size:12px}.home-footer{color:#8999a1;justify-content:space-between;align-items:center;gap:30px;padding-block:37px 45px;font-size:10px;display:flex}.home-footer>div{align-items:center;gap:20px;display:flex}.home-footer strong{color:#4d6874;font-size:12px;font-weight:550}.home-footer a{color:#5f7c89}.home-footer a:hover{color:var(--teal)}.search-dialog{width:min(620px,100% - 32px);color:var(--ink);border:1px solid #d9e5e8;border-radius:15px;max-height:75vh;margin:14vh auto auto;padding:25px;overflow-y:auto;box-shadow:0 25px 100px #14334030}.search-dialog::backdrop{backdrop-filter:blur(5px);background:#0f29365c}.search-dialog-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;font-size:15px;font-weight:600;display:flex}.search-close{color:#5d7581;background:#f2f6f7;border:0;border-radius:6px;width:30px;height:30px;font-size:24px;line-height:1}.search-dialog input{width:100%;color:var(--ink);background:#f9fbfc;border:1px solid #cbdcde;border-radius:7px;padding:13px 15px;font-size:14px}.search-status{color:#708793;margin-block:18px 12px;font-size:12px}.search-results{margin:0;padding:0;list-style:none}.search-results li{border-top:1px solid #e4ebed}.search-results a{border-radius:5px;padding:14px 10px;display:block}.search-results a:hover{background:#eff7f6}.search-results strong{color:#126f73;font-size:14px;font-weight:600;line-height:1.7;display:block}.search-results span{color:#6c808c;margin-top:6px;font-size:12px;line-height:1.8;display:block}.search-route{border-top:1px solid var(--line);color:var(--teal);margin-top:20px;padding-top:17px;font-size:12px;display:block}@media (width>=1500px){.hero{padding-block:92px 86px}}@media (width<=1100px){.header-inner{gap:24px;padding-inline:28px}.home-header nav{gap:20px}.home-search-trigger kbd{display:none}.hero{gap:28px}.hero-actions{gap:18px}.hero h1{font-size:42px}.hero-deck{font-size:14px}.hero-note{gap:10px}.hero-note span+span:before{margin-right:10px}.subject-strip i{padding-inline:15px}.explore-section{gap:60px}.course-card{padding-inline:24px}.course-card h3{font-size:19px}.home-footer>div{gap:14px}.home-footer>div:first-child>span{display:none}}@media (width<=850px){.home-header{height:77px}.home-header nav{display:none}.section-shell{width:calc(100% - 48px)}.hero{gap:28px;padding-block:50px}.hero h1{font-size:34px}.hero-deck{font-size:13px}.hero-actions{flex-direction:column;align-items:flex-start;gap:12px;margin-top:21px}.hero-note{gap:7px;margin-top:18px;font-size:9px}.hero-note span+span:before{margin-right:7px}.hero .eyebrow{font-size:10px}.subject-strip>.section-shell{gap:12px;font-size:11px}.subject-strip i{padding-inline:10px}.strip-label{font-size:10px}.subject-strip a{display:none}.courses-section{padding-block:48px 55px}.section-heading h2{font-size:25px}.section-heading>p{font-size:11px}.course-grid{gap:16px}.course-card{padding:22px 20px 19px}.course-mini{height:100px}.course-card h3{font-size:18px}.journey-section{padding-block:46px 32px}.journey-grid{gap:18px}.journey-step h3{font-size:15px}.step-subtitle{font-size:11px}.step-topics{font-size:9px}.explore-section{gap:40px;padding-block:55px}.explore-intro h2{font-size:24px}.family-list>a{gap:19px}.family-monogram{width:65px;height:65px}.closing-section{gap:20px}.closing-section h2{font-size:16px}.closing-section>div{padding-left:33px}.closing-section p{font-size:10px}.closing-section .button-primary{gap:12px;padding-inline:15px}.home-footer{padding-block:28px;font-size:9px}}@media (width<=600px){.section-shell{width:calc(100% - 40px)}.header-inner{gap:16px;padding-inline:20px}.header-actions{gap:13px}.home-search-trigger{background:0 0;border-color:#0000;padding:8px}.home-search-trigger span{display:none}.github-link{width:22px}.hero{grid-template-columns:1fr;gap:32px;padding-block:39px 34px}.hero h1{letter-spacing:-.04em;margin-block:20px 18px;font-size:40px;line-height:1.4}.hero .eyebrow{margin:0;font-size:11px}.hero-deck{font-size:14px;line-height:1.9}.desktop-break{display:none}.hero-copy{max-width:460px}.hero-actions{flex-direction:row;align-items:center;gap:20px;margin-top:23px}.button-primary{gap:14px;min-height:45px;padding:12px 16px;font-size:12px}.button-text{gap:8px;font-size:12px}.hero-note{gap:12px;font-size:10px}.hero-note span+span:before{margin-right:12px}.subject-strip>.section-shell{flex-direction:column;justify-content:center;gap:8px;min-height:74px;padding-block:13px;font-size:11px}.strip-label{font-size:9px}.subject-strip i{padding-inline:14px}.section-heading{margin-bottom:23px;display:block}.section-heading h2{font-size:25px}.section-heading .eyebrow{font-size:9px}.section-heading>p{margin-top:12px;font-size:12px}.section-heading>p br{display:none}.course-grid{grid-template-columns:1fr;gap:19px}.course-card{padding:23px}.course-mini{height:104px;margin-block:17px 18px}.course-card h3{max-width:18em;font-size:20px}.course-card>p{min-height:0;font-size:12px}.course-bottom{margin-top:20px}.journey-section .section-heading{margin-bottom:28px}.journey-section .section-heading>.button-text{margin-top:13px}.journey-grid{grid-template-columns:1fr 1fr;gap:29px 23px}.journey-step h3{font-size:16px}.step-state{margin-top:17px}.step-subtitle{font-size:11px}.step-topics{font-size:10px}.journey-footnote{margin-top:26px;line-height:1.9}.explore-section{grid-template-columns:1fr;gap:25px;padding-block:45px}.explore-intro h2{font-size:27px}.explore-intro h2 br{display:none}.explore-intro>p:not(.eyebrow){margin:12px 0}.explore-intro>p br{display:none}.family-list>a{gap:20px;min-height:125px;padding-block:20px}.family-monogram{width:67px;height:67px}.closing-section{flex-direction:column;align-items:flex-start;gap:20px;padding-block:30px}.closing-section>div{padding-left:31px}.closing-section h2{font-size:17px}.closing-section p{max-width:28em;font-size:11px}.closing-section .button-primary{margin-left:31px}.home-footer{flex-direction:column;align-items:flex-start;gap:18px;padding-block:28px 32px}.home-footer>div:first-child>span{display:inline}.home-footer>div{gap:17px}.search-dialog{max-height:81vh;margin-top:9vh;padding:20px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}
