:root{--ink:#142139;--body:#43536f;--muted:#8290a8;--line:#dfe5ed;--coral:#ff5e62;--blue:#0b65c4;--pale-blue:#e7f5ff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);-webkit-font-smoothing:antialiased;background:#fff;margin:0;font-family:Inter,Arial,Helvetica,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,summary:focus-visible{outline-offset:4px;outline:3px solid #52a7ff}.arrow-icon{vertical-align:middle;flex:none;width:20px;height:20px;display:inline-block}.arrow-left{transform:rotate(180deg)}.site-header{border-bottom:1px solid #f2f3f6;align-items:center;gap:24px;height:80px;padding:0 max(54px,50vw - 720px);display:flex}.brand{white-space:nowrap;align-items:center;gap:14px;display:inline-flex}.brand-icon{object-fit:cover;border-radius:12px;flex:none;width:52px;height:52px;display:block}.brand-mark{color:var(--coral);letter-spacing:-2px;font-size:40px;font-style:italic;font-weight:850;line-height:1}.brand-name{letter-spacing:-1.5px;font-size:33px;font-weight:800;line-height:1}.brand-name-accent{color:var(--coral)}.brand-subtitle{color:#62718c;margin-top:7px;font-size:16px}.header-lab-link{color:#0b65c4;white-space:nowrap;border-radius:9px;margin-left:auto;padding:9px 13px;font-size:16px;font-weight:700}.header-lab-link:hover{background:#e7f5ff}.header-install-link{color:#0b65c4;white-space:nowrap;cursor:pointer;background:#f3f9ff;border:1px solid #d6e6f7;border-radius:9px;align-items:center;gap:8px;margin-left:auto;padding:9px 13px;font-size:15px;font-weight:700;display:inline-flex}.header-install-link:hover{background:#e7f5ff}.install-button-icon{flex:none;width:20px;height:20px}.header-install-link+.header-lab-link{margin-left:0}.underlined-title{letter-spacing:-.065em;width:fit-content;margin:0;font-size:clamp(44px,5vw,66px);font-weight:800;line-height:1.08;position:relative}.underlined-title:after{content:"";z-index:-1;background:#ffdc78;border-radius:100%;height:9px;position:absolute;bottom:-9px;left:0;right:0;transform:rotate(-1deg)}.home-page{max-width:1536px;margin:0 auto;padding:26px 58px 80px}.home-page:has(.home-hero){padding-top:0}.home-hero{grid-template-columns:53% 47%;align-items:center;min-height:455px;display:grid;position:relative}.home-hero-copy{z-index:1;padding:45px 0 48px;position:relative}.home-hero h1{letter-spacing:-.06em;max-width:820px;margin:0;font-size:clamp(43px,4.45vw,68px);font-weight:800;line-height:1.08}.home-hero-highlight{white-space:nowrap;position:relative}.home-hero-highlight:after{content:"";background:#ffca50;border-radius:50%;height:.1em;position:absolute;bottom:-.12em;left:0;right:0;transform:rotate(-1deg)}.home-hero p{color:#526486;max-width:650px;margin:23px 0 30px;font-size:clamp(21px,2vw,27px);line-height:1.35}.home-hero-button{min-height:62px;padding:0 33px}.home-hero-art{align-self:end;min-width:0;position:relative}.home-hero-art:before{content:"";z-index:0;background:radial-gradient(at 60% 65%,#e7f4ff 0%,#f1f9ff 51%,#0000 72%);position:absolute;inset:7% -2% 2% 0}.home-hero-art img{z-index:1;width:115%;max-width:none;height:auto;margin-left:-6%;display:block;position:relative}.home-page:has(.home-hero) .project-card{min-height:360px}.home-page:has(.home-hero) .project-card-copy{padding:30px 34px}.home-page:has(.home-hero) .subject-card h2{margin-top:20px}.home-page:has(.home-hero) .subject-card p{margin-top:5px}.home-intro p{color:#4a5b7a;margin:20px 0;font-size:clamp(20px,2.2vw,27px);line-height:1.35}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.project-card{isolation:isolate;border-radius:15px;min-height:396px;position:relative;overflow:hidden}.castle-card{background:#e9f7ff}.project-card-copy{z-index:2;flex-direction:column;align-items:flex-start;height:100%;padding:40px 35px;display:flex;position:relative}.project-card h2{letter-spacing:-.055em;max-width:390px;margin:0 0 16px;font-size:clamp(35px,3.1vw,45px);font-weight:800;line-height:1.05}.project-chip{white-space:nowrap;border-radius:99px;padding:7px 14px;font-size:17px;line-height:1.2;display:inline-block}.blue-chip{color:#0867cb;background:#d5ebff}.gray-chip{color:#61718b;background:#e4e8ee}.project-card p{color:#405575;max-width:290px;margin:23px 0 0;font-size:21px;line-height:1.36}.primary-button{color:#fff;background:var(--coral);border:1px solid var(--coral);border-radius:11px;justify-content:center;align-items:center;gap:9px;min-height:54px;padding:0 24px;font-size:18px;font-weight:650;transition:transform .18s,background .18s;display:inline-flex}.primary-button:hover{background:#f14d54;transform:translateY(-2px)}.project-card .primary-button{margin-top:auto}.soon-button{color:#687791;background:#e6e9ef;border-radius:11px;justify-content:center;align-items:center;min-height:54px;margin-top:auto;padding:0 26px;font-size:18px;font-weight:600;display:inline-flex}.project-art{pointer-events:none;z-index:1;object-fit:contain;width:64%;height:90%;position:absolute;bottom:-6%;right:-2%}.rocket-art{width:65%;height:95%;bottom:-10%;right:-5%}.space-card{background:#eef1ff}.roblox-card{background:#eaf5f2}.roblox-chip{color:#087767;background:#d5f1e8}.door-art{width:64%;height:90%;bottom:-9%;right:-7%}.obby-art{width:74%;height:86%;bottom:-8%;right:-12%}.subject-card{min-height:420px}.subject-card .project-card-copy{gap:0}.subject-card h2{margin-top:22px}.subject-card p{max-width:300px;margin-top:6px}.subject-footnote{color:#71819c;margin:27px 0 0;font-size:17px;line-height:1.5}.catalog-breadcrumbs{margin:0 0 23px}.how-section{border-top:1px solid var(--line);margin-top:48px;padding-top:34px}.small-title{font-size:43px}.small-title:after{height:6px;bottom:-7px}.how-grid{grid-template-columns:repeat(3,1fr);gap:44px;margin-top:40px;display:grid}.how-item{align-items:flex-start;gap:23px;display:flex}.how-number{color:#0866c4;background:#e3f4ff;border-radius:50%;flex:none;place-items:center;width:58px;height:58px;font-size:27px;font-weight:700;display:grid}.learn-icon{width:54px;height:54px;margin-bottom:6px;display:block}.how-item h3{letter-spacing:-.03em;margin:7px 0;font-size:24px;line-height:1.2}.how-item p{color:#71819c;margin:0;font-size:17px;line-height:1.4}.breadcrumbs{color:#687791;align-items:center;gap:14px;font-size:15px;display:flex}.breadcrumbs a:hover{color:var(--blue)}.overview-page{max-width:1440px;margin:0 auto;padding:24px 54px 80px}.overview-hero{isolation:isolate;background:#ebf7ff;border-radius:18px;min-height:355px;margin-top:26px;position:relative;overflow:hidden}.overview-copy{z-index:2;width:min(65%,750px);padding:49px 52px;position:relative}.overview-copy .underlined-title{font-size:clamp(42px,4.8vw,62px)}.overview-lead{color:#435675;max-width:680px;margin:29px 0 27px;font-size:20px;line-height:1.5}.overview-actions{flex-wrap:wrap;align-items:center;gap:27px;display:flex}.text-link{color:var(--blue);align-items:center;gap:7px;font-size:17px;font-weight:600;display:inline-flex}.text-link:hover{text-decoration:underline}.overview-art{z-index:1;object-fit:contain;width:42%;height:104%;position:absolute;bottom:-11%;right:-3%}.space-overview-hero{background:#eef1ff}.space-overview-art{width:45%;bottom:-13%;right:-5%}.mission-route{background:#f8fbff;border:1px solid #dfe7f0;border-radius:16px;max-width:780px;margin-top:45px;padding:27px 30px}.mission-route h2{letter-spacing:-.03em;margin:0 0 10px;font-size:25px}.mission-route p{color:#4a5b78;font-size:16px;line-height:1.5}.mission-route pre{color:#e6edf6;background:#202934;border-radius:10px;width:fit-content;margin:18px 0;padding:17px 25px;font:15px/1.5 SFMono-Regular,Consolas,monospace}.roblox-overview-hero{background:#eaf5f2}.overview-duration{color:#60738a;font-size:15px}.course-outline{margin-top:55px}.outline-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:17px;display:flex}.outline-heading h2{letter-spacing:-.04em;margin:0 0 6px;font-size:34px;line-height:1.15}.outline-heading p{color:#6a7a96;margin:0;font-size:17px}.outline-heading>span{color:#0a68c9;white-space:nowrap;background:#e4f3ff;border-radius:99px;padding:8px 14px;font-size:14px}.outline-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.outline-list li{border-bottom:1px solid var(--line)}.outline-list a{align-items:center;gap:24px;min-height:84px;padding:15px 10px;transition:background .15s;display:flex}.outline-list a:hover{background:#f5faff}.outline-number{color:var(--coral);flex:none;width:42px;font-size:23px;font-weight:700}.outline-text{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.outline-text strong{font-size:21px;line-height:1.2}.outline-text small{color:#74819a;font-size:15px;line-height:1.35}.outline-concept{color:#667895;margin-left:12px;font-size:15px}.outline-list .arrow-icon{color:#8999af;margin-left:18px}.outline-locked>div{color:#728098;align-items:center;gap:24px;min-height:84px;padding:15px 10px;display:flex}.outline-soon{color:#71819a;background:#eef1f5;border-radius:99px;padding:7px 12px;font-size:14px}.source-note{color:#8491a7;max-width:890px;margin:30px 0 0;font-size:15px;line-height:1.55}.lesson-layout{grid-template-columns:405px minmax(0,1fr);min-height:calc(100vh - 80px);display:grid}.lesson-sidebar{background:linear-gradient(120deg,#faf9f7,#f9f9f8);border-right:1px solid #f0f0f0}.sidebar-inner{flex-direction:column;height:calc(100vh - 80px);min-height:600px;padding:30px 37px 24px 44px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-project-link{color:var(--blue);margin-bottom:30px;font-size:15px}.sidebar-project-link:hover{text-decoration:underline}.lesson-sidebar h2{letter-spacing:-.04em;margin:0 0 16px;font-size:25px}.sidebar-lessons{flex-direction:column;gap:3px;display:flex}.sidebar-lesson{color:#77869f;border-radius:8px;margin-left:-10px;padding:9px 10px;font-size:16px;line-height:1.35;display:block}.sidebar-lesson:hover{color:var(--ink);background:#eff4f8}.sidebar-lesson.active{color:var(--coral);background:#fff0ef;font-weight:700}.sidebar-divider{background:#d8dde5;height:1px;margin:22px 0 20px}.lesson-sidebar h3{letter-spacing:-.03em;margin:0 0 12px;font-size:20px}.sidebar-steps{flex-direction:column;gap:1px;display:flex}.sidebar-steps a{color:#4d5e7a;border-radius:7px;margin-left:-8px;padding:9px 8px;font-size:15px;line-height:1.35;display:block}.sidebar-steps a:hover{color:var(--blue);background:#eaf3fb}.sidebar-footer{color:#8795ad;border-top:1px solid #d8dde5;align-items:center;gap:11px;margin-top:auto;padding-top:17px;font-size:13px;line-height:1.35;display:flex}.sidebar-footer span{font-size:22px}.roblox-sidebar-copy{color:#687a94;margin:0;font-size:15px;line-height:1.5}.lesson-content{width:100%;min-width:0;max-width:1190px;padding:24px 50px 90px}.lesson-hero{margin-bottom:25px;padding-top:23px;position:relative}.lesson-hero>div{min-width:0;padding-right:300px}.lesson-hero h1{font-size:clamp(42px,4.4vw,60px)}.lesson-hero p{color:#4a5b78;margin:30px 0 0;font-size:22px;line-height:1.4}.lesson-hero img{object-fit:contain;width:300px;height:170px;position:absolute;top:-23px;right:0}.space-lesson-hero img{height:190px}.lesson-goal{color:#3c5170;background:#fff9e9;border-left:4px solid #ffca63;margin:0 0 30px;padding:13px 17px;font-size:17px;line-height:1.45}.install-page{max-width:1180px;margin:0 auto;padding:28px 42px 90px}.install-hero{align-items:center;gap:34px;padding:58px 0 42px;display:flex}.install-icon{object-fit:cover;border-radius:28px;flex:none;width:132px;height:132px;display:block}.install-eyebrow{color:#0b65c4;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px;font-size:15px;font-weight:800;display:block}.install-hero h1{font-size:clamp(38px,5vw,60px)}.install-hero p{color:#4a5b78;max-width:720px;margin:27px 0 0;font-size:19px;line-height:1.5}.install-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:10px 0 22px;display:grid}.install-card{background:#fff;border:1px solid #dfe7f0;border-radius:15px;padding:28px 30px}.install-step{color:#0b65c4;font-size:14px;font-weight:800}.install-card h2{letter-spacing:-.04em;margin:13px 0 18px;font-size:27px}.install-card ol{color:#43536f;margin:0;padding-left:24px;line-height:1.55}.install-card li{margin-bottom:12px;padding-left:3px}.install-card li::marker{color:#ff5e62;font-weight:800}.install-card p{color:#73829b;margin:16px 0 0;line-height:1.45}.install-tip{color:#245b8d;background:#e7f5ff;border-radius:11px;margin:0 0 25px;padding:17px 20px;line-height:1.5}.roblox-lesson-hero img{height:210px;top:-16px}.lesson-step{margin:0 0 42px;scroll-margin-top:22px}.lesson-step h2{letter-spacing:-.04em;margin:0 0 10px;font-size:30px;line-height:1.2}.lesson-step>p{color:#4a5974;margin:0 0 17px;font-size:20px;line-height:1.55}.lesson-step :not(pre)>code,.practice-box code,.connection-box code{color:#1c4e7c;background:#eef3f8;border-radius:4px;padding:1px 4px;font-size:.88em}.instruction-box{background:#f6fbfe;border:1px solid #d6e4ed;border-radius:12px;padding:20px 24px}.instruction-box h3{margin:0 0 10px;font-size:19px}.instruction-box ol{color:#4a5f7a;margin:0;padding-left:23px;line-height:1.6}.instruction-box li{padding:3px 0}.lesson-step>.lesson-check{color:#246251;background:#eaf7f2;border-radius:9px;margin-top:20px;padding:15px 18px;font-size:17px}.code-block{background:#242b34;border-radius:10px;overflow:hidden;box-shadow:0 2px 5px #13203318}.code-toolbar{color:#f5f6f8;background:#323a45;justify-content:space-between;align-items:center;height:44px;padding:0 20px;font-size:14px;display:flex}.code-toolbar button{color:#e5eaf2;cursor:pointer;background:0 0;border:0;border-radius:5px;padding:5px 7px;font-size:13px}.code-toolbar button:hover{background:#475362}.code-toolbar-actions{align-items:center;gap:12px;display:flex}.code-toolbar-actions a{color:#a8d7ff;border-radius:5px;padding:5px 7px;font-size:13px;font-weight:600}.code-toolbar-actions a:hover{background:#475362}.code-block pre{color:#d6e8ee;tab-size:4;margin:0;padding:16px 24px 16px 0;font-size:16px;line-height:1.65;overflow-x:auto}.code-block code,.result-block pre{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.code-line{white-space:pre;min-height:1.65em;display:block}.code-line:before{content:attr(data-line);color:#7a899a;text-align:right;-webkit-user-select:none;user-select:none;width:47px;margin-right:20px;padding-right:15px;display:inline-block}.code-string{color:#b5e679}.code-keyword{color:#e2a5d6}.code-function{color:#6bd4ff}.code-number{color:#ffca83}.code-comment{color:#8fa1b7}.result-block{border:1px solid #d5deea;border-radius:8px;margin-top:14px;overflow:hidden}.result-block strong{background:#f6f8fa;padding:8px 18px;font-size:14px;font-weight:600;display:block}.result-block pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:9px 18px;font-size:15px;line-height:1.5}.explanation{margin-top:17px}.explanation h3{margin:0 0 7px;font-size:17px}.explanation ol{color:#5b6b84;margin:0;padding-left:24px;font-size:16px;line-height:1.55}.explanation li{padding:2px 0 2px 4px}.practice-box{background:#e7f5ff;border-radius:13px;padding:22px 26px 21px;scroll-margin-top:24px}.practice-heading{color:#075daa;align-items:center;gap:14px;display:flex}.practice-heading span{font-size:27px}.practice-heading h2{letter-spacing:-.03em;margin:0;font-size:25px}.practice-box ol{counter-reset:practice;margin:14px 0 0;padding:0;list-style:none}.practice-box li{counter-increment:practice;color:#334765;align-items:baseline;gap:15px;padding:5px 0;font-size:17px;line-height:1.4;display:flex}.practice-box li:before{content:counter(practice);color:#0a5ba9;background:#cce8ff;border-radius:50%;flex:none;place-items:center;width:27px;height:27px;font-size:15px;font-weight:700;display:grid}.practice-box p{color:#8594aa;margin:13px 0 0 42px;font-size:14px}.connection-box{border-bottom:1px solid var(--line);padding:28px 0 20px;scroll-margin-top:24px}.connection-box h2{letter-spacing:-.03em;margin:0 0 7px;font-size:25px}.connection-box p{color:#586a85;margin:0 0 12px;font-size:17px;line-height:1.5}.teacher-note{border-bottom:1px solid var(--line);color:#566985;padding:16px 0}.teacher-note summary{cursor:pointer;color:#586b89;font-size:16px;font-weight:650}.teacher-note p{max-width:800px;margin:11px 0 0;line-height:1.55}.lesson-footer-actions{flex-wrap:wrap;justify-content:space-between;gap:14px;padding:23px 0 17px;display:flex}.complete-button{color:#0a62bb;cursor:pointer;background:#fff;border:1px solid #bed2e6;border-radius:10px;padding:12px 17px;font-size:16px;font-weight:650}.complete-button:hover,.complete-button.is-complete{background:#e7f5ff}.lesson-pager{border-top:1px solid var(--line);color:var(--blue);justify-content:space-between;gap:25px;padding:20px 0;font-size:15px;display:flex}.lesson-pager a{align-items:center;gap:7px;display:inline-flex}.lesson-pager a:hover{text-decoration:underline}.lesson-pager span{color:#7b8ba4}.roblox-full-lesson .roblox-eyebrow{color:#25806f;letter-spacing:.1em;margin:0 0 10px;font-size:13px;font-weight:800}.roblox-full-lesson .lesson-hero{min-height:178px}.roblox-full-lesson .lesson-goal{margin-top:8px}.roblox-download{background:#f0faf6;border:1px solid #bbdfd3;border-radius:12px;justify-content:space-between;align-items:center;gap:24px;margin:0 0 38px;padding:20px 22px;display:flex}.roblox-download strong{color:#164b40;font-size:18px;display:block}.roblox-download p{color:#496b62;margin:5px 0 0;line-height:1.45}.roblox-download .primary-button{white-space:nowrap;flex:none}.roblox-action-list{color:#425673;margin:10px 0 19px;padding-left:29px;font-size:18px;line-height:1.6}.roblox-action-list li{padding:5px 0 5px 4px}.roblox-action-list li::marker{color:#0a77ae;font-weight:800}.studio-shot{background:#f5f8fb;border:1px solid #d6e1ea;border-radius:12px;margin:20px 0 26px;overflow:hidden}.studio-shot>a{line-height:0;display:block}.studio-shot img{width:100%;height:auto;display:block}.studio-shot figcaption{color:#526784;justify-content:space-between;align-items:baseline;gap:14px;padding:11px 15px;font-size:14px;line-height:1.45;display:flex}.studio-shot figcaption a{color:#0964b7;flex:none;font-weight:700}.studio-shot figcaption a:hover{text-decoration:underline}.obby-overview-hero{overflow:hidden}.obby-overview-art{object-fit:cover;object-position:center;aspect-ratio:1.35;border-radius:12px}.obby-project-links{color:#0964b7;flex-wrap:wrap;gap:18px 32px;margin:22px 0 0;font-weight:750;display:flex}.obby-project-links a:hover{text-decoration:underline}.obby-lesson-hero{background:linear-gradient(110deg,#e9f8f3,#edf6ff)}.obby-first-note{color:#65512e;background:#fff8e9;border-radius:10px;margin:0 0 23px;padding:15px 18px;font-size:17px;line-height:1.5}.obby-step{scroll-margin-top:22px}.obby-step .roblox-action-list{margin-bottom:10px}.obby-expect{color:#2b605b;background:#eef9f5;border-left:4px solid #30a9a0;border-radius:7px;margin:14px 0 16px;padding:13px 16px;font-size:16px;line-height:1.5}.obby-code-meaning{margin:18px 0}.obby-code-meaning h3{margin:0 0 8px}.obby-teacher-page .teacher-hero{background:linear-gradient(110deg,#e9f8f3,#eaf3ff)}.roblox-parts{margin:20px 0 28px}.roblox-parts h3{margin:0 0 6px;font-size:21px}.roblox-parts p{color:#566a86;margin:0 0 12px;line-height:1.5}.roblox-table-wrap{border:1px solid #d8e3ec;border-radius:9px;overflow-x:auto}.roblox-table-wrap table{border-collapse:collapse;width:100%;min-width:600px;font-size:14px}.roblox-table-wrap th{text-align:left;color:#294660;background:#edf5fa;font-weight:700}.roblox-table-wrap th,.roblox-table-wrap td{vertical-align:top;border-bottom:1px solid #e5edf3;padding:10px 11px}.roblox-table-wrap tbody tr:last-child td{border-bottom:0}.roblox-table-wrap code{white-space:nowrap}.roblox-full-lesson .explanation{background:#f4f8fc;border-radius:10px;padding:18px 20px}.roblox-full-lesson .explanation ul{color:#526681;margin:0;padding-left:20px;line-height:1.55}.roblox-full-lesson .practice-box ul{counter-reset:practice;margin:14px 0 0;padding:0;list-style:none}.roblox-full-lesson .practice-box p{color:#45627d;margin-left:0;font-size:16px;line-height:1.5}.roblox-full-lesson .connection-box ul{color:#586a85;margin:0;padding-left:23px;font-size:16px;line-height:1.6}.roblox-full-lesson .connection-box li{padding:4px 0}@media (max-width:700px){.roblox-download{display:block}.roblox-download .primary-button{margin-top:15px;display:inline-flex}.roblox-action-list{font-size:16px}.studio-shot figcaption{display:block}.studio-shot figcaption a{margin-top:6px;display:block}.roblox-full-lesson .lesson-hero{min-height:0}}.lab-page{max-width:1536px;margin:0 auto;padding:26px 58px 70px}.lab-heading{justify-content:space-between;align-items:end;gap:20px;margin:28px 0 29px;display:flex}.lab-heading .underlined-title{font-size:clamp(43px,5vw,62px)}.lab-heading p{color:#4a5b78;margin:24px 0 0;font-size:20px}.lab-runtime{color:#516480;white-space:nowrap;background:#f3f7fb;border-radius:99px;align-items:center;gap:9px;padding:10px 13px;font-size:14px;display:flex}.lab-status-dot{background:#34a861;border-radius:50%;width:9px;height:9px}.lab-status-dot.loading{background:#f2ac41}.lab-status-dot.running{background:#2689e5}.lab-status-dot.error{background:#e25858}.lab-grid{grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);align-items:start;gap:18px;display:grid}.lab-panel{background:#fff;border:1px solid #dce5ef;border-radius:12px;overflow:hidden}.lab-panel-title{color:#6e7f98;background:#f6f8fb;justify-content:space-between;align-items:center;gap:12px;min-height:47px;padding:0 17px;font-size:14px;display:flex}.lab-panel-title strong{color:var(--ink);font-size:15px}.lab-file-name{color:#17263d;font-weight:700}.lab-editor{color:#e6edf6;background:#202934;min-height:402px;overflow:hidden}.lab-editor .cm-editor{height:480px}.lab-editor .cm-scroller{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;overflow:auto}.lab-editor .cm-focused{outline:none}.lab-controls{background:#f6f8fb;justify-content:space-between;align-items:center;gap:15px;padding:12px 15px;display:flex}.lab-controls-main{gap:9px;display:flex}.lab-controls .primary-button{cursor:pointer;min-height:43px;padding:0 16px;font-size:15px}.lab-controls .primary-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.lab-stop-button,.lab-reset-button{color:#344b68;cursor:pointer;background:#fff;border:1px solid #cbd8e7;border-radius:8px;min-height:43px;padding:0 13px;font-size:14px;font-weight:600}.lab-stop-button:hover:not(:disabled),.lab-reset-button:hover{background:#e9f4ff}.lab-stop-button:disabled{opacity:.45;cursor:not-allowed}.lab-side{gap:18px;display:grid}.lab-input-panel p{color:#60718e;margin:14px 17px 11px;font-size:14px;line-height:1.45}.lab-input-panel textarea{resize:vertical;width:calc(100% - 34px);min-height:105px;color:var(--ink);border:1px solid #cbd8e7;border-radius:8px;outline:none;margin:0 17px 17px;padding:11px 12px;font:14px/1.5 SFMono-Regular,Consolas,monospace;display:block}.lab-input-panel textarea:focus{border-color:#2583dc;box-shadow:0 0 0 3px #d8ecff}.lab-input-panel textarea::placeholder{color:#a3afbf}.lab-output-panel .lab-panel-title button{color:#0b65c4;cursor:pointer;background:0 0;border:0;font-size:13px;font-weight:600}.lab-output-panel pre{color:#e6edf6;white-space:pre-wrap;overflow-wrap:anywhere;background:#202934;min-height:190px;max-height:410px;margin:0;padding:17px;font:14px/1.6 SFMono-Regular,Consolas,Liberation Mono,monospace;overflow:auto}.lab-footnote{color:#7a8aa2;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin-top:18px;font-size:14px;display:flex}.lab-footnote p{max-width:730px;margin:0;line-height:1.45}.lab-footnote .text-link{font-size:14px}@media (max-width:1100px){.home-hero{grid-template-columns:55% 45%;min-height:390px}.home-hero h1{font-size:clamp(42px,4.7vw,54px)}.home-hero-art img{width:125%;margin-left:-10%}.lab-page{padding-left:36px;padding-right:36px}.lab-grid{grid-template-columns:minmax(0,1fr)}.lab-side{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card{min-height:360px}.project-card h2{font-size:36px}.project-card p{max-width:240px;font-size:18px}.project-art{opacity:.9;width:67%;right:-8%}.door-art{width:69%;right:-13%}.obby-art{width:79%;right:-13%}.lesson-layout{grid-template-columns:292px minmax(0,1fr)}.sidebar-inner{padding-left:28px;padding-right:22px}.lesson-content{padding-left:36px;padding-right:36px}.lesson-hero>div{padding-right:210px}.lesson-hero img{width:210px}}@media (max-width:760px){.home-hero{flex-direction:column;align-items:stretch;min-height:0;display:flex}.home-hero-copy{padding:30px 0 6px}.home-hero h1{font-size:clamp(38px,9vw,52px)}.home-hero h1 br{display:none}.home-hero p{margin:19px 0 24px;font-size:18px}.home-hero-button{min-height:50px;padding:0 22px}.home-hero-art{align-self:center;width:min(100%,560px)}.home-hero-art img{width:110%;margin-left:-5%}.home-page:has(.home-hero) .project-card{min-height:340px}.home-page:has(.home-hero) .project-card-copy{padding:27px 25px}.header-install-link{padding:7px 8px;font-size:12px}.install-page{padding:22px 18px 55px}.install-hero{align-items:flex-start;gap:16px;padding:35px 0 25px}.install-icon{letter-spacing:-5px;border-radius:18px;width:70px;height:70px;padding-right:4px;font-size:40px}.install-hero h1{font-size:34px}.install-hero p{margin-top:20px;font-size:16px}.install-grid{grid-template-columns:1fr}.install-card{padding:23px 22px}.mission-route{padding:22px 20px}.space-overview-art{width:77%;right:-12%}.header-lab-link{padding:7px 8px;font-size:13px}.lab-page{padding:20px 18px 54px}.lab-heading{margin:28px 0 22px;display:block}.lab-heading .underlined-title{font-size:44px}.lab-heading p{margin-top:20px;font-size:16px}.lab-runtime{width:fit-content;margin-top:16px}.lab-side{grid-template-columns:1fr}.lab-editor .cm-editor{height:420px}.lab-controls{flex-wrap:wrap;align-items:stretch}.lab-controls-main,.lab-controls-main button{flex:1}.lab-reset-button{width:100%}.code-toolbar-actions{gap:4px}.site-header{gap:12px;height:66px;padding:0 20px}.brand-icon{border-radius:10px;width:42px;height:42px}.brand-mark{font-size:30px}.brand-name{letter-spacing:-1.4px;font-size:24px}.brand-subtitle{display:none}.home-page{padding:34px 18px 60px}.underlined-title{font-size:46px}.home-intro p{margin:22px 0 20px;font-size:19px}.project-grid{grid-template-columns:1fr;gap:16px}.project-card{min-height:320px}.project-card-copy{padding:27px 25px}.project-card h2{max-width:260px;font-size:34px}.project-card p{max-width:215px;margin-top:19px;font-size:16px}.project-chip{font-size:14px}.project-art{opacity:.82;width:61%;height:84%;bottom:-5%;right:-11%}.subject-card{min-height:340px}.subject-card h2{margin-top:16px}.subject-card p{max-width:230px}.door-art{width:62%;bottom:-7%;right:-14%}.obby-art{width:74%;bottom:-8%;right:-16%}.subject-footnote{font-size:14px}.rocket-art{width:67%;right:-14%}.primary-button,.soon-button{min-height:47px;padding:0 17px;font-size:15px}.how-section{margin-top:34px;padding-top:28px}.small-title{font-size:35px}.how-grid{grid-template-columns:1fr;gap:23px;margin-top:30px}.how-item h3{margin-top:4px;font-size:20px}.learn-icon{width:42px;height:42px;margin-bottom:4px}.how-item p{font-size:15px}.how-number{width:46px;height:46px;font-size:21px}.overview-page{padding:20px 18px 50px}.overview-hero{min-height:470px;margin-top:20px}.overview-copy{width:100%;padding:31px 25px}.overview-copy .underlined-title{font-size:43px}.overview-lead{max-width:480px;margin:24px 0 21px;font-size:16px;line-height:1.45}.overview-art{width:80%;height:46%;bottom:-4%;right:-12%}.overview-actions{gap:16px}.overview-actions .text-link{font-size:14px}.course-outline{margin-top:37px}.outline-heading{align-items:start}.outline-heading h2{font-size:27px}.outline-heading p{font-size:14px}.outline-heading>span{display:none}.outline-list a{gap:13px;min-height:80px;padding:12px 3px}.outline-number{width:31px;font-size:19px}.outline-text strong{font-size:17px}.outline-text small{font-size:13px}.outline-concept{display:none}.outline-list .arrow-icon{width:17px;margin-left:0}.outline-locked>div{gap:13px;min-height:80px;padding:12px 3px}.outline-soon{padding:5px 8px;font-size:12px}.source-note{font-size:13px}.lesson-layout{display:block}.lesson-sidebar{border-right:0;border-bottom:1px solid var(--line)}.sidebar-inner{height:auto;min-height:0;padding:18px 18px 16px;position:static}.sidebar-project-link{margin-bottom:14px;font-size:14px}.lesson-sidebar h2{margin-bottom:8px;font-size:20px}.sidebar-lessons{scrollbar-width:thin;flex-direction:row;gap:7px;margin-right:-18px;padding-bottom:3px;padding-right:18px;overflow-x:auto}.sidebar-lesson{background:#eef0f4;flex:none;margin-left:0;padding:7px 10px;font-size:13px}.sidebar-divider,.lesson-sidebar h3,.sidebar-steps,.sidebar-footer{display:none}.lesson-content{padding:21px 18px 60px}.breadcrumbs{flex-wrap:wrap;gap:8px;font-size:13px}.lesson-hero{margin:25px 0 28px;padding-top:0}.lesson-hero>div{padding-right:0}.lesson-hero h1{font-size:42px}.lesson-hero p{margin-top:25px;font-size:18px}.lesson-hero img{width:80px;height:90px;top:-29px;right:0}.roblox-lesson-hero img{width:100px;height:110px;top:-25px}.lesson-step{margin-bottom:34px}.lesson-step h2{font-size:25px}.lesson-step>p{font-size:17px}.instruction-box{padding:17px 18px}.code-block pre{padding:14px 16px 14px 0;font-size:13px}.code-line:before{width:28px;margin-right:12px;padding-right:7px}.explanation ol{font-size:14px}.practice-box{padding:19px 17px}.practice-heading h2{font-size:22px}.practice-box li{gap:10px;font-size:14px}.practice-box p{margin-left:0;line-height:1.5}.connection-box h2{font-size:22px}.connection-box p{font-size:15px}.lesson-footer-actions{align-items:stretch}.lesson-footer-actions>*{text-align:center;flex:1}.lesson-pager{font-size:13px}}@media (max-width:420px){.site-header{flex-wrap:wrap;row-gap:8px;height:auto;min-height:66px;padding:12px 18px}.brand{width:100%}.header-install-link{margin-left:0}.header-lab-link{margin-left:auto}.project-card{min-height:335px}.project-art{opacity:.63;width:78%;right:-28%}.project-card-copy{padding:25px 20px}.project-card p{max-width:190px}.overview-hero{min-height:520px}.overview-art{width:94%;right:-18%}.lesson-hero img{width:70px}.lesson-hero h1{font-size:37px}}@media (max-width:350px){.lesson-hero img{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.primary-button{transition:none}}.teacher-page{max-width:1200px;margin:0 auto;padding:26px 54px 90px}.teacher-hero{background:linear-gradient(110deg,#ecf4ff 0%,#f5f4ff 100%);border-radius:18px;margin-top:28px;padding:45px 50px 40px}.teacher-eyebrow,.arcade-eyebrow,.arcade-about-kicker{color:#0b65c4;letter-spacing:.06em;text-transform:uppercase;font-size:14px;font-weight:800;display:block}.teacher-hero h1{max-width:820px;margin-top:13px;font-size:clamp(40px,5vw,62px)}.teacher-hero>p{color:#435675;max-width:830px;margin:30px 0 25px;font-size:20px;line-height:1.52}.teacher-hero-actions,.teacher-bottom{flex-wrap:wrap;align-items:center;gap:22px;display:flex}.teacher-anchor-nav{border-bottom:1px solid var(--line);white-space:nowrap;gap:8px;margin:24px 0 0;padding:0 0 13px;display:flex;overflow-x:auto}.teacher-anchor-nav a{color:#355b87;background:#eff6ff;border-radius:8px;padding:8px 13px;font-size:14px;font-weight:700}.teacher-anchor-nav a:hover{background:#dbefff}.teacher-section{margin-top:48px;scroll-margin-top:24px}.teacher-section-heading{align-items:flex-start;gap:15px;margin-bottom:21px;display:flex}.teacher-section-heading>span{color:#0b65c4;background:#dff1ff;border-radius:50%;flex:none;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.teacher-section-heading h2{letter-spacing:-.04em;margin:0;font-size:clamp(27px,3vw,36px)}.teacher-section-heading p{color:#73829a;margin:7px 0 0;font-size:16px}.teacher-facts,.teacher-pitfall-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.teacher-facts article,.teacher-pitfall-grid article{background:#fff;border:1px solid #e1e9f2;border-radius:13px;padding:21px 24px}.teacher-facts small{color:#0b65c4;letter-spacing:.05em;text-transform:uppercase;font-size:13px;font-weight:800}.teacher-facts p,.teacher-pitfall-grid p{color:#455673;margin:9px 0 0;font-size:16px;line-height:1.5}.teacher-script{background:#fff8e9;border-left:5px solid #ffbf5b;border-radius:10px;margin-top:17px;padding:23px 27px}.teacher-script strong{font-size:17px}.teacher-script p{color:#4b5870;margin:9px 0 0;font-size:18px;line-height:1.55}.teacher-subheading{margin:30px 0 12px;font-size:22px}.teacher-check-list,.teacher-prep ul{color:#40516d;margin:0;padding-left:24px;font-size:16px;line-height:1.55}.teacher-check-list li,.teacher-prep li{margin:8px 0}.teacher-check-list li::marker{color:#ff5e62}.teacher-prep li::marker{color:#ff5e62}.teacher-prep{background:#eaf5ff;border-radius:14px;padding:25px 28px}.teacher-prep h3{margin:0 0 13px;font-size:22px}.teacher-timeline{margin:24px 0 21px;padding:0;list-style:none}.teacher-timeline li{border-bottom:1px solid #e4eaf0;grid-template-columns:92px 1fr;gap:19px;padding:15px 0;display:grid}.teacher-timeline li>span{color:#ff5e62;white-space:nowrap;font-size:15px;font-weight:800}.teacher-timeline strong{font-size:17px}.teacher-timeline p{color:#52617c;margin:5px 0 0;font-size:15px;line-height:1.5}.teacher-lesson-list{gap:12px;display:grid}.teacher-lesson-list article{background:#fff;border:1px solid #e1e9f2;border-radius:13px;padding:21px 24px}.teacher-lesson-top{align-items:flex-start;gap:15px;display:flex}.teacher-lesson-top>span{color:#ff5e62;flex:none;font-size:22px;font-weight:800}.teacher-lesson-top>div{flex:1;min-width:0}.teacher-lesson-top h3{letter-spacing:-.03em;margin:0;font-size:21px}.teacher-lesson-top h3 a{align-items:center;gap:5px;display:inline-flex}.teacher-lesson-top h3 a:hover{color:#0b65c4}.teacher-lesson-top h3 .arrow-icon{color:#0b65c4;width:17px;height:17px}.teacher-lesson-top p{color:#7a8aa2;margin:5px 0 0;font-size:14px}.teacher-lesson-top small{color:#0b65c4;white-space:nowrap;background:#e7f5ff;border-radius:99px;padding:6px 9px;font-size:12px}.teacher-lesson-body{border-top:1px solid #edf0f4;grid-template-columns:1fr 1fr;gap:7px 22px;margin-top:15px;padding-top:14px;display:grid}.teacher-lesson-body p{color:#53637b;margin:0;font-size:14px;line-height:1.48}.teacher-lesson-body strong{color:#253a58}.teacher-pitfall-grid h3{margin:0;font-size:19px}.teacher-bottom{border-top:1px solid var(--line);margin-top:43px;padding-top:25px}.arcade-card{background:#152346;grid-column:1/-1;min-height:350px}.arcade-card h2,.arcade-card p{color:#f4f7ff}.arcade-chip{color:#b9d8ff;background:#314a75}.arcade-art{object-fit:cover;border:7px solid #b2c6f9;border-radius:11px;width:44%;height:79%;bottom:8%;right:4%;transform:rotate(-4deg);box-shadow:-10px 10px #243965}.arcade-overview-hero{background:#e9eeff}.arcade-overview-hero .overview-copy{width:min(56%,730px)}.arcade-overview-hero .underlined-title{margin-top:13px}.arcade-overview-art{object-fit:cover;border:8px solid #fff;border-radius:16px;width:43%;height:78%;bottom:11%;right:3%;transform:rotate(3deg);box-shadow:0 18px 40px #273e7544}.arcade-about{background:#f9fbff;border:1px solid #e0e7f0;border-radius:15px;grid-template-columns:minmax(0,1fr) minmax(0,.93fr);align-items:center;gap:35px;margin-top:47px;padding:32px;display:grid}.arcade-about h2,.arcade-setup h2{letter-spacing:-.04em;margin:10px 0 16px;font-size:clamp(28px,3vw,36px)}.arcade-about p,.arcade-setup p{color:#4f607c;font-size:16px;line-height:1.55}.arcade-about img{border-radius:12px;width:100%;height:auto;box-shadow:0 13px 28px #15234621}.arcade-setup{background:#eaf5ff;border-radius:15px;justify-content:space-between;align-items:flex-end;gap:25px;margin-top:20px;padding:29px 32px;display:flex}.arcade-setup>div{max-width:690px}.arcade-setup p{margin-bottom:0}.arcade-setup code{color:#e6edf6;overflow-wrap:anywhere;background:#202934;border-radius:9px;max-width:450px;padding:14px 16px;font:13px/1.5 SFMono-Regular,Consolas,monospace;display:block}.arcade-lesson-hero img{object-fit:cover;border-radius:10px;height:150px}.arcade-lesson-notice{color:#315578;background:#eaf5ff;border-radius:10px;margin:-8px 0 34px;padding:16px 20px}.arcade-lesson-notice p{margin:6px 0 0;font-size:15px;line-height:1.5}.arcade-lesson-notice a{color:#0b65c4;font-weight:700;text-decoration:underline}@media (max-width:760px){.teacher-page{padding:20px 18px 60px}.teacher-hero{margin-top:20px;padding:28px 23px}.teacher-hero h1{font-size:38px}.teacher-hero>p{margin-top:24px;font-size:16px}.teacher-hero-actions{gap:14px}.teacher-hero-actions .text-link{font-size:14px}.teacher-section{margin-top:35px}.teacher-section-heading h2{font-size:27px}.teacher-section-heading p{font-size:14px}.teacher-facts,.teacher-pitfall-grid,.teacher-lesson-body{grid-template-columns:1fr}.teacher-facts article,.teacher-pitfall-grid article{padding:19px 20px}.teacher-script{padding:20px}.teacher-script p{font-size:16px}.teacher-lesson-list article{padding:17px 18px}.teacher-lesson-top small{display:none}.teacher-timeline li{grid-template-columns:75px 1fr;gap:13px}.teacher-timeline li>span{font-size:13px}.arcade-card{grid-column:auto;min-height:345px}.arcade-card .project-card-copy{padding:25px 22px}.arcade-card h2{max-width:320px;font-size:31px}.arcade-card p{max-width:205px}.arcade-art{opacity:.75;width:63%;height:52%;bottom:13%;right:-13%}.arcade-overview-hero{min-height:540px}.arcade-overview-hero .overview-copy{width:100%}.arcade-overview-art{width:79%;height:34%;bottom:3%;right:4%}.arcade-about{grid-template-columns:1fr;gap:15px;margin-top:30px;padding:23px 20px}.arcade-setup{padding:23px 20px;display:block}.arcade-setup code{margin-top:18px}.arcade-lesson-hero img{display:none}}
