.FullStackNodejsExpressWorkspace_container__fkt17{max-width:1200px;margin:0 auto;padding:32px 20px 80px;color:#f1f5f9;font-family:var(--font-sans,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif);line-height:1.6}.FullStackNodejsExpressWorkspace_breadcrumb__NaGEZ{display:flex;align-items:center;gap:8px;font-size:.85rem;color:#94a3b8;margin-bottom:24px}.FullStackNodejsExpressWorkspace_breadLink__KO6mz{color:#94a3b8;text-decoration:none;transition:color .2s}.FullStackNodejsExpressWorkspace_breadLink__KO6mz:hover{color:#38bdf8}.FullStackNodejsExpressWorkspace_breadSep__CbW1g{color:#475569}.FullStackNodejsExpressWorkspace_breadCurrent__Tzgcj{color:#38bdf8;font-weight:600}.FullStackNodejsExpressWorkspace_hero__VcC3F{background:radial-gradient(circle at 10% 20%,rgba(34,197,94,.16) 0,transparent 60%),radial-gradient(circle at 90% 80%,rgba(56,189,248,.16) 0,transparent 60%),#07101e;border:1px solid rgba(34,197,94,.3);border-radius:20px;padding:40px 32px;margin-bottom:32px;box-shadow:0 10px 35px rgba(0,0,0,.4)}.FullStackNodejsExpressWorkspace_heroBadges__eWCVh{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.FullStackNodejsExpressWorkspace_badge__0ZJ2E{display:inline-flex;align-items:center;gap:6px;background:rgba(34,197,94,.12);color:#86efac;border:1px solid rgba(34,197,94,.3);padding:4px 12px;border-radius:9999px;font-size:.78rem;font-weight:700}.FullStackNodejsExpressWorkspace_badgeBlue__4Ro_c{background:rgba(56,189,248,.12);color:#38bdf8;border:1px solid rgba(56,189,248,.3);padding:4px 12px;border-radius:9999px;font-size:.78rem;font-weight:700}.FullStackNodejsExpressWorkspace_badgePurple__TkcY4{background:rgba(168,85,247,.12);color:#c084fc;border:1px solid rgba(168,85,247,.3);padding:4px 12px;border-radius:9999px;font-size:.78rem;font-weight:700}.FullStackNodejsExpressWorkspace_heroTitle__AHArp{font-size:2.2rem;font-weight:800;line-height:1.25;margin:0 0 16px;background:linear-gradient(135deg,#ffffff 30%,#86efac 70%,#38bdf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.FullStackNodejsExpressWorkspace_heroSubtitle__2Yumy{font-size:1.05rem;color:#cbd5e1;max-width:950px;margin:0 0 24px}.FullStackNodejsExpressWorkspace_heroPipelineBox__iTfQc{background:rgba(15,23,42,.85);border:1px solid rgba(34,197,94,.25);border-radius:14px;padding:16px 20px;margin-bottom:24px}.FullStackNodejsExpressWorkspace_heroPipelineTitle__MVE8W{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#86efac;margin-bottom:12px}.FullStackNodejsExpressWorkspace_pipelineFlow__XHfyG{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.FullStackNodejsExpressWorkspace_pipelineNode__dyV1H{background:rgba(30,41,59,.9);border:1px solid rgba(148,163,184,.2);padding:8px 14px;border-radius:8px;font-size:.85rem;font-weight:700;color:#e2e8f0;display:flex;align-items:center;gap:6px}.FullStackNodejsExpressWorkspace_pipelineArrow__e6hnw{color:#64748b;font-size:.9rem}.FullStackNodejsExpressWorkspace_heroMeta__ZZOj_{display:flex;gap:24px;flex-wrap:wrap;font-size:.85rem;color:#94a3b8;border-top:1px solid rgba(148,163,184,.12);padding-top:16px}.FullStackNodejsExpressWorkspace_heroMetaItem__bHp74{display:flex;align-items:center;gap:6px}.FullStackNodejsExpressWorkspace_tocCard__x9xS_{background:rgba(15,23,42,.7);border:1px solid rgba(148,163,184,.15);border-radius:16px;padding:24px 28px;margin-bottom:40px}.FullStackNodejsExpressWorkspace_tocHeader__RisjM{display:flex;align-items:center;gap:10px;font-size:1.05rem;font-weight:700;color:#86efac;margin-bottom:16px}.FullStackNodejsExpressWorkspace_tocGrid__6bNlx{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px 16px}.FullStackNodejsExpressWorkspace_tocLink__pi_E6{display:flex;align-items:center;gap:8px;color:#94a3b8;text-decoration:none;font-size:.88rem;padding:6px 10px;border-radius:8px;transition:all .2s ease}.FullStackNodejsExpressWorkspace_tocLink__pi_E6:hover{background:rgba(34,197,94,.1);color:#86efac}.FullStackNodejsExpressWorkspace_tocNum__vyetz{font-weight:800;font-size:.75rem;color:#86efac;background:rgba(34,197,94,.15);padding:2px 7px;border-radius:6px}.FullStackNodejsExpressWorkspace_section__Metg7{background:#09101d;border:1px solid rgba(148,163,184,.15);border-radius:18px;padding:36px 32px;margin-bottom:36px;scroll-margin-top:80px;transition:border-color .2s}.FullStackNodejsExpressWorkspace_section__Metg7:hover{border-color:rgba(34,197,94,.25)}.FullStackNodejsExpressWorkspace_sectionHeader__x2m2g{display:flex;align-items:center;gap:14px;margin-bottom:20px}.FullStackNodejsExpressWorkspace_sectionNumber__aXkXM{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,rgba(34,197,94,.2),rgba(56,189,248,.15));border:1px solid rgba(34,197,94,.35);color:#86efac;font-weight:800;font-size:.95rem}.FullStackNodejsExpressWorkspace_sectionTitle__mb346{font-size:1.55rem;font-weight:800;color:#f8fafc;margin:0}.FullStackNodejsExpressWorkspace_para__PC8_N{color:#cbd5e1;font-size:.98rem;line-height:1.7;margin-bottom:20px}.FullStackNodejsExpressWorkspace_para__PC8_N code{background:rgba(15,23,42,.8);border:1px solid rgba(148,163,184,.2);padding:2px 6px;border-radius:4px;color:#86efac;font-size:.9em}.FullStackNodejsExpressWorkspace_codeCard__BFXoB{background:#040813;border:1px solid rgba(148,163,184,.15);border-radius:12px;overflow:hidden;margin:18px 0}.FullStackNodejsExpressWorkspace_codeCardHeader__Gkdeo{display:flex;align-items:center;justify-content:space-between;background:rgba(15,23,42,.95);border-bottom:1px solid rgba(148,163,184,.12);padding:10px 16px;font-size:.8rem;color:#94a3b8;font-weight:600}.FullStackNodejsExpressWorkspace_codeBadge__R93cH{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:700;padding:2px 8px;border-radius:4px}.FullStackNodejsExpressWorkspace_codePre__Zi1l1{margin:0;padding:18px;font-family:var(--font-mono,"Fira Code",Consolas,monospace);font-size:.88rem;line-height:1.6;color:#f1f5f9;overflow-x:auto}.FullStackNodejsExpressWorkspace_playgroundWorkbench__QH8d3{background:#060d19;border:1px solid rgba(34,197,94,.35);border-radius:16px;padding:24px;margin:24px 0;box-shadow:0 12px 30px rgba(0,0,0,.4)}.FullStackNodejsExpressWorkspace_splitTop__fDLyi{display:grid;grid-template-columns:1.15fr .85fr;gap:16px;margin-bottom:16px}@media (max-width:860px){.FullStackNodejsExpressWorkspace_splitTop__fDLyi{grid-template-columns:1fr}}.FullStackNodejsExpressWorkspace_serverCodePane__LHiEa{background:#030712;border:1px solid rgba(148,163,184,.2);border-radius:10px;padding:14px;display:flex;flex-direction:column}.FullStackNodejsExpressWorkspace_apiClientPane__PFMta{background:#030712;border:1px solid rgba(56,189,248,.25);border-radius:10px;padding:14px;display:flex;flex-direction:column}.FullStackNodejsExpressWorkspace_paneHeader__lggTk{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:#94a3b8;font-weight:700;margin-bottom:10px}.FullStackNodejsExpressWorkspace_serverStatusPill__GCwZr{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:700;padding:2px 8px;border-radius:9999px}.FullStackNodejsExpressWorkspace_statusRunning__q_Jx4{background:rgba(34,197,94,.15);color:#86efac;border:1px solid rgba(34,197,94,.35)}.FullStackNodejsExpressWorkspace_statusStopped__aJ5Vo{background:rgba(239,68,68,.15);color:#fca5a5;border:1px solid rgba(239,68,68,.35)}.FullStackNodejsExpressWorkspace_codeTextarea__gl7r_{width:100%;height:240px;background:#040813;border:1px solid rgba(148,163,184,.18);border-radius:8px;color:#86efac;font-family:var(--font-mono,monospace);font-size:.84rem;padding:10px;resize:none;outline:none;line-height:1.5}.FullStackNodejsExpressWorkspace_codeTextarea__gl7r_:focus{border-color:#22c55e}.FullStackNodejsExpressWorkspace_clientInputRow__n4oWP{display:flex;gap:8px;margin-bottom:10px}.FullStackNodejsExpressWorkspace_clientMethodSelect__uhUYP{background:#050a14;border:1px solid rgba(148,163,184,.25);color:#38bdf8;font-weight:700;font-size:.84rem;padding:8px 10px;border-radius:6px;outline:none}.FullStackNodejsExpressWorkspace_clientUrlInput__QYKfc{flex:1 1;background:#050a14;border:1px solid rgba(148,163,184,.25);color:#f1f5f9;font-family:var(--font-mono,monospace);font-size:.84rem;padding:8px 12px;border-radius:6px;outline:none}.FullStackNodejsExpressWorkspace_clientUrlInput__QYKfc:focus{border-color:#38bdf8}.FullStackNodejsExpressWorkspace_clientBodyTextarea__cKEVh{width:100%;height:120px;background:#050a14;border:1px solid rgba(148,163,184,.2);border-radius:6px;color:#cbd5e1;font-family:var(--font-mono,monospace);font-size:.8rem;padding:8px;resize:none;outline:none;margin-bottom:10px}.FullStackNodejsExpressWorkspace_bottomLogsSplit__EstGQ{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width:860px){.FullStackNodejsExpressWorkspace_bottomLogsSplit__EstGQ{grid-template-columns:1fr}}.FullStackNodejsExpressWorkspace_terminalPane__5MOlk{font-size:.78rem;line-height:1.6}.FullStackNodejsExpressWorkspace_responsePane__5ZHsb,.FullStackNodejsExpressWorkspace_terminalPane__5MOlk{background:#02050c;border:1px solid rgba(148,163,184,.2);border-radius:10px;padding:14px;height:200px;overflow-y:auto;font-family:var(--font-mono,monospace)}.FullStackNodejsExpressWorkspace_responsePane__5ZHsb{font-size:.8rem}.FullStackNodejsExpressWorkspace_btnRow__5jLIG{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}.FullStackNodejsExpressWorkspace_actionBtnGreen__aaFfx{background:linear-gradient(135deg,#16a34a,#15803d);color:#ffffff;border:none;border-radius:8px;padding:8px 16px;font-weight:700;font-size:.86rem;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .2s}.FullStackNodejsExpressWorkspace_actionBtnGreen__aaFfx:hover{background:linear-gradient(135deg,#15803d,#166534)}.FullStackNodejsExpressWorkspace_actionBtnBlue__3gTLQ{background:linear-gradient(135deg,#0284c7,#0369a1);color:#ffffff;border:none;border-radius:8px;padding:8px 16px;font-weight:700;font-size:.86rem;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .2s}.FullStackNodejsExpressWorkspace_actionBtnBlue__3gTLQ:hover{background:linear-gradient(135deg,#0369a1,#075985)}.FullStackNodejsExpressWorkspace_secondaryBtn__wSx6n{background:rgba(30,41,59,.7);border:1px solid rgba(148,163,184,.2);color:#cbd5e1;border-radius:8px;padding:8px 14px;font-weight:600;font-size:.84rem;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .2s}.FullStackNodejsExpressWorkspace_secondaryBtn__wSx6n:hover{background:rgba(34,197,94,.15);border-color:#22c55e;color:#86efac}.FullStackNodejsExpressWorkspace_debugGrid__J4Lxs{display:flex;flex-direction:column;gap:18px;margin:24px 0}.FullStackNodejsExpressWorkspace_debugCard__HIPYz{background:rgba(15,23,42,.85);border:1px solid rgba(148,163,184,.2);border-radius:14px;padding:20px 24px}.FullStackNodejsExpressWorkspace_debugErrorBox__MGVZ0{background:#040813;border:1px solid rgba(239,68,68,.3);border-left:4px solid #ef4444;padding:12px 16px;border-radius:8px;font-family:var(--font-mono,monospace);font-size:.84rem;color:#fca5a5;margin-bottom:14px}.FullStackNodejsExpressWorkspace_debugOptions__6TiDD{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media (max-width:640px){.FullStackNodejsExpressWorkspace_debugOptions__6TiDD{grid-template-columns:1fr}}.FullStackNodejsExpressWorkspace_debugBtn__vc3BZ{background:rgba(30,41,59,.7);border:1px solid rgba(148,163,184,.2);color:#cbd5e1;padding:10px 14px;border-radius:8px;text-align:left;font-size:.85rem;cursor:pointer;transition:all .2s}.FullStackNodejsExpressWorkspace_debugBtn__vc3BZ:hover{background:rgba(34,197,94,.1);border-color:rgba(34,197,94,.4)}.FullStackNodejsExpressWorkspace_debugCorrect__JDWrS{background:rgba(34,197,94,.2)!important;border-color:#22c55e!important;color:#86efac!important}.FullStackNodejsExpressWorkspace_debugWrong__Nh6DU{background:rgba(239,68,68,.2)!important;border-color:#ef4444!important;color:#fca5a5!important}.FullStackNodejsExpressWorkspace_debugExplanation__Z05_v{margin-top:12px;padding:12px 14px;border-radius:8px;font-size:.85rem;line-height:1.5;background:rgba(30,41,59,.5);color:#cbd5e1;border-left:3px solid #22c55e}.FullStackNodejsExpressWorkspace_challengeCard__gT2k_{background:#07101e;border:1px solid rgba(34,197,94,.35);border-radius:18px;padding:28px;margin-top:24px}.FullStackNodejsExpressWorkspace_challengeProgress__7gxFR{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;font-size:.85rem;color:#94a3b8;border-bottom:1px solid rgba(148,163,184,.15);padding-bottom:14px}.FullStackNodejsExpressWorkspace_challengeQuestionBox__IOu0L{margin-bottom:24px}.FullStackNodejsExpressWorkspace_challengeQNum__9wDs8{color:#86efac;font-weight:800;font-size:.85rem;text-transform:uppercase;margin-bottom:6px}.FullStackNodejsExpressWorkspace_challengeQText__392ux{font-size:1.15rem;font-weight:700;color:#f8fafc;margin-bottom:18px;line-height:1.45}.FullStackNodejsExpressWorkspace_challengeOptionList__qfKor{display:flex;flex-direction:column;gap:10px}.FullStackNodejsExpressWorkspace_challengeOptionBtn__QSjDS{background:rgba(15,23,42,.8);border:1px solid rgba(148,163,184,.2);border-radius:10px;padding:14px 18px;color:#e2e8f0;font-size:.92rem;text-align:left;cursor:pointer;transition:all .2s;display:flex;align-items:flex-start;gap:12px}.FullStackNodejsExpressWorkspace_challengeOptionBtn__QSjDS:hover{background:rgba(34,197,94,.1);border-color:rgba(34,197,94,.4)}.FullStackNodejsExpressWorkspace_challengeOptionBtnActive__baLtg{background:rgba(34,197,94,.15);border-color:#22c55e}.FullStackNodejsExpressWorkspace_challengeCorrect__hOD9m{background:rgba(34,197,94,.15)!important;border-color:#22c55e!important;color:#86efac!important}.FullStackNodejsExpressWorkspace_challengeWrong__GX6eK{background:rgba(239,68,68,.15)!important;border-color:#ef4444!important;color:#fca5a5!important}.FullStackNodejsExpressWorkspace_feedbackBox__KtamF{margin-top:18px;padding:16px 20px;border-radius:10px;font-size:.9rem;line-height:1.6}.FullStackNodejsExpressWorkspace_feedbackCorrect__pWBWl{background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.3);color:#86efac}.FullStackNodejsExpressWorkspace_feedbackWrong__ZFDwN{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);color:#fca5a5}.FullStackNodejsExpressWorkspace_navRow__gnChZ{display:flex;justify-content:space-between;align-items:center;margin-top:24px}.FullStackNodejsExpressWorkspace_nextBtn__4ZSvM{background:linear-gradient(135deg,#16a34a,#15803d);color:#ffffff;border:none;border-radius:8px;padding:10px 22px;font-weight:700;font-size:.88rem;cursor:pointer;transition:all .2s}.FullStackNodejsExpressWorkspace_nextBtn__4ZSvM:hover{background:linear-gradient(135deg,#15803d,#166534)}.FullStackNodejsExpressWorkspace_resultsSummary__KNXah{text-align:center;padding:24px}.FullStackNodejsExpressWorkspace_scoreCircle__VpSmH{display:inline-flex;align-items:center;justify-content:center;width:90px;height:90px;border-radius:50%;background:rgba(34,197,94,.2);border:3px solid #22c55e;font-size:1.8rem;font-weight:800;color:#86efac;margin-bottom:16px}.FullStackNodejsExpressWorkspace_mentalModelBox__bbGpf{background:linear-gradient(135deg,rgba(34,197,94,.18),rgba(56,189,248,.18));border:1px solid rgba(34,197,94,.35);border-radius:18px;padding:32px;margin-top:40px;box-shadow:0 10px 30px rgba(0,0,0,.35)}.FullStackNodejsExpressWorkspace_mentalModelTitle__ndHI7{display:flex;align-items:center;gap:10px;font-size:1.3rem;font-weight:800;color:#f8fafc;margin-bottom:18px}.FullStackNodejsExpressWorkspace_mentalModelGrid__qWkfa{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:18px}.FullStackNodejsExpressWorkspace_mentalModelItem__9vTUh{background:rgba(15,23,42,.85);border:1px solid rgba(148,163,184,.18);border-radius:12px;padding:16px}.FullStackNodejsExpressWorkspace_mentalModelItemTitle__obvEi{font-size:.85rem;font-weight:800;text-transform:uppercase;color:#86efac;margin-bottom:8px}.FullStackNodejsExpressWorkspace_mentalModelItemDesc__nqjWR{font-size:.88rem;color:#cbd5e1;line-height:1.5;margin:0}