:root{color:#ededed;font-synthesis:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--border:#252525;--muted:#909090;--surface:#101010;--pink:#f45197;background:#080808;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,.button{color:#ededed;cursor:pointer;white-space:nowrap;background:#151515;border:1px solid #343434;border-radius:7px;justify-content:center;align-items:center;gap:9px;min-height:38px;padding:8px 14px;font-size:13px;font-weight:500;display:inline-flex}button:hover,.button:hover{background:#222;border-color:#555}button.primary,.button.primary{color:#171717;background:#ededed;border-color:#ededed}button.primary:hover,.button.primary:hover{background:#fff}button:disabled{opacity:.45;cursor:not-allowed}button.quiet{background:0 0;border-color:#0000}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:4px;outline:2px solid #70b7ff}svg{flex-shrink:0}h1,h2,p{margin-top:0}h1{letter-spacing:-1px;margin-bottom:9px;font-size:28px;font-weight:600;line-height:1.3}h2{font-size:15px;font-weight:550;line-height:1.5}code,pre{font-family:SFMono-Regular,Consolas,monospace}.muted{color:var(--muted);font-size:13px}.lede{color:#999;margin:0;font-size:14px}.eyebrow{letter-spacing:1.6px;color:#777;margin-bottom:12px;font-size:10px;font-weight:600}.app-shell{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--border);background:#090909;flex-direction:column;width:228px;padding:26px 14px 16px;display:flex;position:fixed;inset:0 auto 0 0}.brand{letter-spacing:-.35px;align-items:center;gap:10px;padding:0 9px;font-size:15px;font-weight:600;display:flex}.brand-mark{background:var(--pink);color:#fff;border-radius:8px;place-items:center;width:29px;height:29px;display:grid}.team-tag{color:#a3a3a3;letter-spacing:.5px;border:1px solid #353535;border-radius:4px;padding:1px 4px;font-size:8px}.workspace-label{color:#aaa;padding:31px 12px 18px;font-size:11px}.workspace-label span{float:right;color:#5c5c5c;font-size:10px}.sidebar nav{gap:5px;display:grid}.nav-item{color:#929292;border-radius:6px;align-items:center;gap:12px;padding:10px 12px;font-size:13px;display:flex}.nav-item:hover{color:#ddd;background:#151515}.nav-item.selected{color:#eee;background:#202020}.sidebar-note{border-top:1px solid var(--border);margin:40px 9px 24px;padding:19px 0;font-size:12px}.note-icon{color:#848484;margin-bottom:12px;display:block}.sidebar-note strong{color:#c7c7c7;font-weight:500}.sidebar-note p{color:#727272;margin:9px 0 18px;font-size:12px;line-height:1.8}.sidebar-note .muted{font-size:10px}.profile{border-top:1px solid var(--border);align-items:center;gap:10px;margin-top:auto;padding:18px 4px 0;display:flex}.avatar{background:#292929;border:1px solid #454545;border-radius:50%;place-items:center;width:29px;height:29px;font-size:11px;display:grid}.profile strong{text-overflow:ellipsis;white-space:nowrap;max-width:98px;font-size:11px;font-weight:500;display:block;overflow:hidden}.profile div>span{color:#727272;font-size:9px}.profile .logout{margin-left:auto;padding:0;font-size:10px}.workspace{flex-direction:column;flex:1;min-width:0;margin-left:228px;display:flex}.topbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:15px;height:69px;padding:0 38px;display:flex}.breadcrumbs{color:#d0d0d0;align-items:center;gap:18px;font-size:12px;display:flex}.breadcrumbs>span:first-of-type{color:#444}.breadcrumbs>span:last-child{color:#777}.platform-label{color:#858585;align-items:center;gap:7px;font-size:10px;display:flex}.status-dot{background:#666;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.page{flex:1;width:100%;max-width:1480px;margin:0 auto;padding:42px 38px 36px}.page-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:32px;display:flex}.count{vertical-align:middle;letter-spacing:0;color:#aaa;background:#151515;border:1px solid #303030;border-radius:5px;margin-left:13px;padding:2px 7px;font-size:11px;display:inline-block}.overview-strip{border-bottom:1px solid var(--border);align-items:center;gap:27px;margin-bottom:27px;padding:0 0 23px;display:flex}.overview-strip>div{color:#787878;align-items:center;gap:8px;font-size:11px;display:flex}.overview-strip strong{color:#d8d8d8;margin-right:2px;font-weight:500}.overview-strip svg{width:14px;height:14px}.overview-strip p{color:#646464;align-items:center;gap:7px;margin:0 0 0 auto;font-size:10px;display:flex}.running-dot,.running .status-dot{background:#4dc493;box-shadow:0 0 7px #4dc49320}.toolbar{gap:10px;margin-bottom:24px;display:flex}.search{color:#787878;background:#0f0f0f;border:1px solid #2b2b2b;border-radius:7px;flex:1;align-items:center;gap:11px;padding:0 12px;display:flex}.search input{color:#eee;background:0 0;border:0;outline:none;width:100%;min-width:0;padding:10px 0;font-size:12px}.search:focus-within{border-color:#777}.search input:focus-visible{outline:none}.search input::placeholder{color:#707070}select{color:#aaa;background:#111;border:1px solid #303030;border-radius:7px;padding:0 12px;font-size:12px}.view-toggle{background:#111;border:1px solid #303030;border-radius:7px;gap:2px;padding:3px;display:flex}.view-toggle button{color:#777;background:0 0;border:0;border-radius:4px;min-height:28px;padding:5px 8px}.view-toggle button[aria-pressed=true]{color:#eee;background:#272727}.sandbox-collection.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.sandbox-card{background:#101010;border:1px solid #2b2b2b;border-radius:9px;flex-direction:column;min-width:0;padding:21px 20px 0;transition:border-color .15s,background .15s;display:flex}.sandbox-card:hover{background:#141414;border-color:#5a5a5a}.card-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:20px;display:flex}.project-icon{color:#979797;background:#1b1b1b;border:1px solid #323232;border-radius:9px;place-items:center;width:37px;height:37px;display:grid}.project-icon.live{color:#e78eb6;background:#24131d;border-color:#54253d}.badge{color:#929292;white-space:nowrap;border:1px solid #323232;border-radius:5px;align-items:center;gap:6px;padding:3px 7px;font-size:10px;display:inline-flex}.badge.running{color:#71caaa;background:#10251b;border-color:#234335}.badge.creating,.badge.stopping{color:#e9b56a;background:#221c12;border-color:#5a4224}.badge.creating .status-dot,.badge.stopping .status-dot{background:#dba54c}.badge.failed{color:#f08383;border-color:#653333}.badge.failed .status-dot{background:#ee7373}.sandbox-card h2{-webkit-line-clamp:2;overflow-wrap:anywhere;letter-spacing:-.15px;-webkit-box-orient:vertical;min-height:42px;margin-bottom:7px;font-size:14px;display:-webkit-box;overflow:hidden}.sandbox-id{color:#6f6f6f;overflow-wrap:anywhere;font-size:10px}.card-services{flex-wrap:wrap;gap:5px;min-height:18px;margin:20px 0 22px;display:flex}.card-services span{color:#909090;background:#141414;border:1px solid #2c2c2c;border-radius:4px;padding:2px 6px;font-size:9px}.card-bottom{color:#787878;border-top:1px solid #252525;justify-content:space-between;gap:10px;margin-top:auto;padding:14px 0;font-size:10px;display:flex}.card-bottom>span{align-items:center;gap:7px;display:flex}.sandbox-collection.list{flex-direction:column;gap:10px;display:flex}.list .sandbox-card{grid-template-columns:155px 1fr 140px;align-items:center;gap:10px 20px;padding:15px 20px;display:grid}.list .card-top{grid-row:1/3;margin:0}.list .sandbox-card h2{-webkit-line-clamp:1;min-height:0;margin:0;font-size:13px}.list .sandbox-id{grid-column:2}.list .card-services{display:none}.list .card-bottom{border:0;grid-area:1/3/3;justify-content:flex-end;margin:0;padding:0}.keep-work{border-top:1px solid var(--border);color:#737373;align-items:flex-start;gap:14px;margin-top:36px;padding:23px 0;display:flex}.keep-work>svg{margin-top:3px}.keep-work strong{color:#a8a8a8;font-size:12px;font-weight:500}.keep-work p{max-width:660px;margin:6px 0 0;font-size:11px;line-height:1.8}footer{color:#515151;border-top:1px solid #202020;justify-content:space-between;gap:14px;margin:0 38px;padding:19px 0;font-size:10px;display:flex}.loading{color:#888;justify-content:center;align-items:center;gap:12px;min-height:200px;font-size:13px;display:flex}.spinner{border:1px solid #444;border-top-color:#ddd;border-radius:50%;width:17px;height:17px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;border:1px dashed #333;border-radius:9px;padding:60px 24px}.empty-icon{color:#aaa;background:#171717;border:1px solid #333;border-radius:15px;place-items:center;width:64px;height:64px;margin:0 auto 21px;display:grid}.empty-state h2{margin-bottom:8px;font-size:19px;font-weight:500}.empty-state p{color:#888;margin-bottom:24px;font-size:13px}.error-notice{color:#f0a2a2;background:#241313;border:1px solid #633333;border-radius:7px;margin:16px 0;padding:14px 16px;font-size:13px}.info-notice{color:#a3cce9;background:#101f29;border:1px solid #294355;border-radius:7px;margin-bottom:20px;padding:14px;font-size:13px}.welcome{max-width:690px;padding:65px 0 30px}.welcome h1{letter-spacing:-2px;margin-bottom:24px;font-size:48px;line-height:1.15}.welcome .lede{margin-bottom:28px;line-height:1.9}.welcome .button{margin-top:5px}.welcome-features{color:#888;flex-wrap:wrap;gap:22px;margin-top:65px;font-size:11px;display:flex}.welcome-features>span{align-items:center;gap:8px;display:flex}.welcome details{color:#777;margin-top:35px;font-size:11px}.welcome summary{cursor:pointer;margin-bottom:12px}.back-link{color:#929292;align-items:center;gap:9px;margin-bottom:27px;font-size:12px;display:inline-flex}.back-link:hover{color:#eee}.detail-heading{align-items:center;gap:18px;margin-bottom:24px;display:flex}.project-icon.large{border-radius:12px;width:56px;height:56px}.detail-heading>div{flex:1;min-width:0}.detail-heading .eyebrow{margin-bottom:7px}.detail-heading h1{overflow-wrap:anywhere;letter-spacing:-.5px;max-width:850px;font-size:23px}.detail-actions{border-bottom:1px solid #292929;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:28px;padding-bottom:28px;display:flex}.detail-actions>.muted{margin-left:auto;font-size:11px}.detail-grid{grid-template-columns:minmax(0,1fr) 280px;gap:23px;display:grid}.detail-main,.detail-aside{flex-direction:column;gap:20px;min-width:0;display:flex}.panel{background:#101010;border:1px solid #2b2b2b;border-radius:9px;padding:23px}.panel>h2{margin-bottom:20px;font-size:13px}.panel p{font-size:12px;line-height:1.85}.panel p:last-child{margin:0}.panel .prompt{margin:18px 0 14px}.prompt{white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;background:#080808;border:1px solid #2c2c2c;border-radius:6px;padding:17px;font-size:12px;line-height:1.8}.saved-message{color:#999;border-top:1px solid #282828;align-items:center;gap:10px;padding-top:20px;font-size:11px;display:flex}.panel dl{grid-template-columns:1fr auto;gap:18px 12px;margin:0;font-size:11px;display:grid}.panel dt{color:#777}.panel dd{text-align:right;overflow-wrap:anywhere;margin:0}.panel dl .badge{margin-top:-4px}.detail-aside .panel>svg{color:#828282;margin-bottom:13px}.detail-aside small{font-size:10px;line-height:1.7;display:block}.service-list>div{border-top:1px solid #282828;align-items:center;gap:12px;padding:13px 0;display:flex}.service-list>div:first-child{border:0;padding-top:0}.service-icon{color:#999;border:1px solid #333;border-radius:6px;place-items:center;width:31px;height:31px;display:grid}.service-list strong,.preview-links strong{font-size:12px;font-weight:500;display:block}.service-list small,.preview-links small{color:#777;overflow-wrap:anywhere;margin-top:3px;font-size:10px;display:block}.service-list .badge{margin-left:auto}.preview-links a{border-top:1px solid #262626;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.preview-links a:first-child{border:0}.preview-links a:hover{color:#8bc2f7}.preview-links a>span{min-width:0}.load-more{text-align:center;padding:24px}.load-more p{margin-top:10px;font-size:10px}dialog{color:#eee;background:#101010;border:1px solid #383838;border-radius:12px;width:min(500px,100% - 32px);padding:28px;box-shadow:0 24px 100px #0009}dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000a}.dialog-heading{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}dialog h2{letter-spacing:-.6px;margin-bottom:8px;font-size:24px}dialog label{margin:25px 0 10px;font-size:12px;font-weight:500;display:block}textarea{resize:vertical;color:#eee;background:#080808;border:1px solid #383838;border-radius:7px;width:100%;min-height:100px;padding:12px;font-size:13px;line-height:1.7;display:block}.form-hint{color:#686868;justify-content:space-between;gap:16px;margin-top:8px;font-size:10px;display:flex}.dialog-actions{border-top:1px solid #292929;justify-content:flex-end;gap:10px;margin-top:25px;padding-top:22px;display:flex}@media (width>=1700px){.sandbox-collection.grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=1200px){.sandbox-collection.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid{grid-template-columns:minmax(0,1fr) 250px}.overview-strip p{display:none}.detail-actions>.muted{width:100%;margin:7px 0 0}.sidebar{width:210px}.workspace{margin-left:210px}.page{padding:32px 27px}.topbar{padding:0 27px}.list .sandbox-card{grid-template-columns:140px 1fr}.list .card-bottom{display:none}}@media (width<=900px){.detail-grid{grid-template-columns:1fr}.detail-aside{grid-template-columns:1fr 1fr;display:grid}.platform-label{display:none}.sidebar{width:190px}.workspace{margin-left:190px}.brand{gap:7px;padding:0 3px;font-size:13px}.team-tag{display:none}.workspace-label{padding-left:9px}.sidebar-note{margin-left:5px;margin-right:5px}.sidebar-note .muted{font-size:9px}.profile{flex-wrap:wrap}.page-heading{align-items:flex-start}.page-heading h1{font-size:25px}.page-heading .lede{font-size:12px}.page-heading>.primary{padding:8px 10px;font-size:11px}.overview-strip{gap:20px}}@media (width<=680px){.app-shell{display:block}.sidebar{border-bottom:1px solid #292929;border-right:0;width:100%;height:auto;padding:16px 18px 0;position:relative;inset:auto}.brand{font-size:15px}.brand-mark{width:27px;height:27px}.team-tag{display:block}.workspace-label,.sidebar-note,.profile{display:none}.sidebar nav{gap:16px;margin-top:17px;display:flex}.nav-item{border-bottom:2px solid #0000;border-radius:0;padding:10px 4px;font-size:12px}.nav-item.selected{background:0 0;border-color:#eee}.workspace{margin-left:0}.topbar{height:44px;padding:0 20px}.breadcrumbs{gap:13px;font-size:10px}.page{padding:27px 20px}.page-heading{flex-wrap:wrap;gap:13px;margin-bottom:24px}.page-heading .eyebrow{font-size:9px}.page-heading h1{font-size:26px}.page-heading>.primary{min-height:40px;font-size:12px}.overview-strip{gap:25px;margin-bottom:20px;padding-bottom:20px}.toolbar{flex-wrap:wrap;margin-bottom:20px}.search{min-width:150px}.view-toggle{display:none}.toolbar select{max-width:125px;padding:0 7px;font-size:11px}.sandbox-collection.grid{grid-template-columns:1fr;gap:13px}.sandbox-card{padding:18px 18px 0}.card-top{margin-bottom:15px}.sandbox-card h2{min-height:0;font-size:15px}.card-services{margin:15px 0 18px}.list .sandbox-card{grid-template-columns:130px 1fr;gap:6px 14px;padding:14px 12px}.list .sandbox-card h2{font-size:12px}.keep-work{margin-top:25px}.keep-work p{font-size:11px}.detail-heading{flex-wrap:wrap;gap:12px}.detail-heading h1{font-size:22px}.detail-heading .badge{margin-left:68px}.detail-aside{display:flex}.detail-actions{margin-bottom:23px;padding-bottom:23px}.panel{padding:20px}.welcome{padding:32px 0}.welcome h1{letter-spacing:-1.4px;font-size:36px}.welcome-features{gap:18px;margin-top:40px}.welcome .lede{font-size:13px}.welcome .button{width:100%}.service-list small{max-width:185px}.service-list .badge{font-size:9px}footer{flex-wrap:wrap;margin:0 20px;padding:18px 0;font-size:9px}.empty-state{padding:40px 20px}dialog{padding:22px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.platform-label.local-development{color:#bba38b;display:flex}@media (width<=680px){.platform-label.local-development{font-size:9px}.topbar:has(.local-development) .breadcrumbs>a{display:none}.topbar:has(.local-development) .breadcrumbs>span:first-of-type{display:none}.detail-heading>div{flex:1 0 calc(100% - 68px)}.sidebar .profile{border:0;margin:0;padding:0;display:flex;position:absolute;top:15px;right:18px}.sidebar .profile .avatar,.sidebar .profile>div{display:none}.sidebar .profile .logout{min-height:30px;font-size:11px}}.academy-catalog,.lesson-overview{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:24px;margin:28px 0;display:grid}.lesson-card{flex-direction:column;align-items:flex-start;display:flex}.lesson-card .button{margin-top:auto}.lesson-card p,.lesson-markdown p,.lesson-progress p{line-height:1.65}.lesson-card li,.lesson-overview li,.lesson-progress li,.lesson-markdown li{margin-bottom:10px;line-height:1.6}.lesson-markdown{overflow-wrap:anywhere}.lesson-markdown pre{padding:16px;overflow-x:auto}.lesson-markdown h3,.lesson-progress h3{margin-top:24px}.lesson-progress details{margin:16px 0}.lesson-progress summary{cursor:pointer}.learning-panel{min-width:0}.learning-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.learning-next,.change-explanation,.change-question{border:1px solid var(--border,#38404c);border-radius:10px;margin:1rem 0;padding:1rem}.change-list{padding:0;list-style:none}.change-list li{margin:1rem 0}.change-list button{text-align:left;justify-content:space-between;gap:1rem;width:100%;display:flex}.change-list button[aria-pressed=true]{outline:2px solid #7cb7e8}.change-list span{font-size:.8rem}.change-viewer{border-top:1px solid var(--border,#38404c);min-width:0;margin-top:1.5rem;padding-top:1rem}.change-viewer summary{cursor:pointer;overflow-wrap:anywhere;padding:.6rem 0}.change-viewer pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:24rem;overflow:auto}.snapshot-reference{overflow-wrap:anywhere}.change-pagination{justify-content:space-between;gap:.75rem;margin:1rem 0;display:flex}.unified-diff{color:#e3eaf3;background:#111923;border:1px solid #38404c;border-radius:6px;max-height:36rem;font-size:.8rem;overflow:auto;container-type:inline-size}.diff-line{grid-template-columns:3.5em 3.5em minmax(0,1fr);width:max-content;min-width:100%;display:grid}.diff-line code{white-space:pre;padding:0 .5rem}.line-number{color:#9aa7b8;text-align:right;-webkit-user-select:none;user-select:none;border-right:1px solid #38404c;padding:0 .5rem}.diff-line.added{background:#15392c}.diff-line.removed{background:#49262b}.diff-line.header{color:#99c9ed;background:#202c3a}.code-note{white-space:normal;color:#d5e8fa;overflow-wrap:anywhere;grid-column:1/-1;max-width:min(65ch,100cqw - 2rem);margin:.5rem 1rem}.code-selection{flex-wrap:wrap;gap:.8rem;margin:1rem 0;display:flex}.code-selection input{border:1px solid var(--border,#38404c);max-width:7rem;color:inherit;background:#111;border-radius:6px;padding:.5rem}.change-question label{gap:.3rem;display:grid}.change-question textarea{width:100%}.tutoring-choice{align-items:center;gap:.5rem;margin-top:1rem;display:flex}.tutoring-choice input{width:auto}@media (width<=600px){.change-list button{flex-direction:column;gap:.3rem}.learning-next,.change-explanation,.change-question{padding:.7rem}}
