.FullStackNodejsExpressWorkspace-module__o-yK0a__container{color:#f1f5f9;max-width:1200px;font-family:var(--font-sans,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);margin:0 auto;padding:32px 20px 80px;line-height:1.6}.FullStackNodejsExpressWorkspace-module__o-yK0a__breadcrumb{color:#94a3b8;align-items:center;gap:8px;margin-bottom:24px;font-size:.85rem;display:flex}.FullStackNodejsExpressWorkspace-module__o-yK0a__breadLink{color:#94a3b8;text-decoration:none;transition:color .2s}.FullStackNodejsExpressWorkspace-module__o-yK0a__breadLink:hover{color:#38bdf8}.FullStackNodejsExpressWorkspace-module__o-yK0a__breadSep{color:#475569}.FullStackNodejsExpressWorkspace-module__o-yK0a__breadCurrent{color:#38bdf8;font-weight:600}.FullStackNodejsExpressWorkspace-module__o-yK0a__hero{background:radial-gradient(circle at 10% 20%,#22c55e29 0%,#0000 60%),radial-gradient(circle at 90% 80%,#38bdf829 0%,#0000 60%),#07101e;border:1px solid #22c55e4d;border-radius:20px;margin-bottom:32px;padding:40px 32px;box-shadow:0 10px 35px #0006}.FullStackNodejsExpressWorkspace-module__o-yK0a__heroBadges{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.FullStackNodejsExpressWorkspace-module__o-yK0a__badge{color:#86efac;background:#22c55e1f;border:1px solid #22c55e4d;border-radius:9999px;align-items:center;gap:6px;padding:4px 12px;font-size:.78rem;font-weight:700;display:inline-flex}.FullStackNodejsExpressWorkspace-module__o-yK0a__badgeBlue{color:#38bdf8;background:#38bdf81f;border:1px solid #38bdf84d;border-radius:9999px;padding:4px 12px;font-size:.78rem;font-weight:700}.FullStackNodejsExpressWorkspace-module__o-yK0a__badgePurple{color:#c084fc;background:#a855f71f;border:1px solid #a855f74d;border-radius:9999px;padding:4px 12px;font-size:.78rem;font-weight:700}.FullStackNodejsExpressWorkspace-module__o-yK0a__heroTitle{background:linear-gradient(135deg,#fff 30%,#86efac 70%,#38bdf8 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0 0 16px;font-size:2.2rem;font-weight:800;line-height:1.25}.FullStackNodejsExpressWorkspace-module__o-yK0a__heroSubtitle{color:#cbd5e1;max-width:950px;margin:0 0 24px;font-size:1.05rem}.FullStackNodejsExpressWorkspace-module__o-yK0a__heroPipelineBox{background:#0f172ad9;border:1px solid #22c55e40;border-radius:14px;margin-bottom:24px;padding:16px 20px}.FullStackNodejsExpressWorkspace-module__o-yK0a__heroPipelineTitle{text-transform:uppercase;letter-spacing:.08em;color:#86efac;margin-bottom:12px;font-size:.82rem;font-weight:800}.FullStackNodejsExpressWorkspace-module__o-yK0a__pipelineFlow{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.FullStackNodejsExpressWorkspace-module__o-yK0a__pipelineNode{color:#e2e8f0;background:#1e293be6;border:1px solid #94a3b833;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:.85rem;font-weight:700;display:flex}.FullStackNodejsExpressWorkspace-module__o-yK0a__pipelineArrow{color:#64748b;font-size:.9rem}.FullStackNodejsExpressWorkspace-module__o-yK0a__heroMeta{color:#94a3b8;border-top:1px solid #94a3b81f;flex-wrap:wrap;gap:24px;padding-top:16px;font-size:.85rem;display:flex}.FullStackNodejsExpressWorkspace-module__o-yK0a__heroMetaItem{align-items:center;gap:6px;display:flex}.FullStackNodejsExpressWorkspace-module__o-yK0a__tocCard{background:#0f172ab3;border:1px solid #94a3b826;border-radius:16px;margin-bottom:40px;padding:24px 28px}.FullStackNodejsExpressWorkspace-module__o-yK0a__tocHeader{color:#86efac;align-items:center;gap:10px;margin-bottom:16px;font-size:1.05rem;font-weight:700;display:flex}.FullStackNodejsExpressWorkspace-module__o-yK0a__tocGrid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px 16px;display:grid}.FullStackNodejsExpressWorkspace-module__o-yK0a__tocLink{color:#94a3b8;border-radius:8px;align-items:center;gap:8px;padding:6px 10px;font-size:.88rem;text-decoration:none;transition:all .2s;display:flex}.FullStackNodejsExpressWorkspace-module__o-yK0a__tocLink:hover{color:#86efac;background:#22c55e1a}.FullStackNodejsExpressWorkspace-module__o-yK0a__tocNum{color:#86efac;background:#22c55e26;border-radius:6px;padding:2px 7px;font-size:.75rem;font-weight:800}.FullStackNodejsExpressWorkspace-module__o-yK0a__section{background:#09101d;border:1px solid #94a3b826;border-radius:18px;margin-bottom:36px;padding:36px 32px;scroll-margin-top:80px;transition:border-color .2s}.FullStackNodejsExpressWorkspace-module__o-yK0a__section:hover{border-color:#22c55e40}.FullStackNodejsExpressWorkspace-module__o-yK0a__sectionHeader{align-items:center;gap:14px;margin-bottom:20px;display:flex}.FullStackNodejsExpressWorkspace-module__o-yK0a__sectionNumber{color:#86efac;background:linear-gradient(135deg,#22c55e33,#38bdf826);border:1px solid #22c55e59;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:.95rem;font-weight:800;display:inline-flex}.FullStackNodejsExpressWorkspace-module__o-yK0a__sectionTitle{color:#f8fafc;margin:0;font-size:1.55rem;font-weight:800}.FullStackNodejsExpressWorkspace-module__o-yK0a__para{color:#cbd5e1;margin-bottom:20px;font-size:.98rem;line-height:1.7}.FullStackNodejsExpressWorkspace-module__o-yK0a__para code{color:#86efac;background:#0f172acc;border:1px solid #94a3b833;border-radius:4px;padding:2px 6px;font-size:.9em}.FullStackNodejsExpressWorkspace-module__o-yK0a__codeCard{background:#040813;border:1px solid #94a3b826;border-radius:12px;margin:18px 0;overflow:hidden}.FullStackNodejsExpressWorkspace-module__o-yK0a__codeCardHeader{color:#94a3b8;background:#0f172af2;border-bottom:1px solid #94a3b81f;justify-content:space-between;align-items:center;padding:10px 16px;font-size:.8rem;font-weight:600;display:flex}.FullStackNodejsExpressWorkspace-module__o-yK0a__codeBadge{border-radius:4px;align-items:center;gap:6px;padding:2px 8px;font-size:.75rem;font-weight:700;display:inline-flex}.FullStackNodejsExpressWorkspace-module__o-yK0a__codePre{font-family:var(--font-mono,"Fira Code", Consolas, monospace);color:#f1f5f9;margin:0;padding:18px;font-size:.88rem;line-height:1.6;overflow-x:auto}.FullStackNodejsExpressWorkspace-module__o-yK0a__playgroundWorkbench{background:#060d19;border:1px solid #22c55e59;border-radius:16px;margin:24px 0;padding:24px;box-shadow:0 12px 30px #0006}.FullStackNodejsExpressWorkspace-module__o-yK0a__splitTop{grid-template-columns:1.15fr .85fr;gap:16px;margin-bottom:16px;display:grid}@media (max-width:860px){.FullStackNodejsExpressWorkspace-module__o-yK0a__splitTop{grid-template-columns:1fr}}.FullStackNodejsExpressWorkspace-module__o-yK0a__serverCodePane{background:#030712;border:1px solid #94a3b833;border-radius:10px;flex-direction:column;padding:14px;display:flex}.FullStackNodejsExpressWorkspace-module__o-yK0a__apiClientPane{background:#030712;border:1px solid #38bdf840;border-radius:10px;flex-direction:column;padding:14px;display:flex}.FullStackNodejsExpressWorkspace-module__o-yK0a__paneHeader{color:#94a3b8;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:.8rem;font-weight:700;display:flex}.FullStackNodejsExpressWorkspace-module__o-yK0a__serverStatusPill{border-radius:9999px;align-items:center;gap:6px;padding:2px 8px;font-size:.75rem;font-weight:700;display:inline-flex}.FullStackNodejsExpressWorkspace-module__o-yK0a__statusRunning{color:#86efac;background:#22c55e26;border:1px solid #22c55e59}.FullStackNodejsExpressWorkspace-module__o-yK0a__statusStopped{color:#fca5a5;background:#ef444426;border:1px solid #ef444459}.FullStackNodejsExpressWorkspace-module__o-yK0a__codeTextarea{color:#86efac;width:100%;height:240px;font-family:var(--font-mono,monospace);resize:none;background:#040813;border:1px solid #94a3b82e;border-radius:8px;outline:none;padding:10px;font-size:.84rem;line-height:1.5}.FullStackNodejsExpressWorkspace-module__o-yK0a__codeTextarea:focus{border-color:#22c55e}.FullStackNodejsExpressWorkspace-module__o-yK0a__clientInputRow{gap:8px;margin-bottom:10px;display:flex}.FullStackNodejsExpressWorkspace-module__o-yK0a__clientMethodSelect{color:#38bdf8;background:#050a14;border:1px solid #94a3b840;border-radius:6px;outline:none;padding:8px 10px;font-size:.84rem;font-weight:700}.FullStackNodejsExpressWorkspace-module__o-yK0a__clientUrlInput{color:#f1f5f9;font-family:var(--font-mono,monospace);background:#050a14;border:1px solid #94a3b840;border-radius:6px;outline:none;flex:1;padding:8px 12px;font-size:.84rem}.FullStackNodejsExpressWorkspace-module__o-yK0a__clientUrlInput:focus{border-color:#38bdf8}.FullStackNodejsExpressWorkspace-module__o-yK0a__clientBodyTextarea{color:#cbd5e1;width:100%;height:120px;font-family:var(--font-mono,monospace);resize:none;background:#050a14;border:1px solid #94a3b833;border-radius:6px;outline:none;margin-bottom:10px;padding:8px;font-size:.8rem}.FullStackNodejsExpressWorkspace-module__o-yK0a__bottomLogsSplit{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (max-width:860px){.FullStackNodejsExpressWorkspace-module__o-yK0a__bottomLogsSplit{grid-template-columns:1fr}}.FullStackNodejsExpressWorkspace-module__o-yK0a__terminalPane{height:200px;font-family:var(--font-mono,monospace);background:#02050c;border:1px solid #94a3b833;border-radius:10px;padding:14px;font-size:.78rem;line-height:1.6;overflow-y:auto}.FullStackNodejsExpressWorkspace-module__o-yK0a__responsePane{height:200px;font-family:var(--font-mono,monospace);background:#02050c;border:1px solid #94a3b833;border-radius:10px;padding:14px;font-size:.8rem;overflow-y:auto}.FullStackNodejsExpressWorkspace-module__o-yK0a__btnRow{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.FullStackNodejsExpressWorkspace-module__o-yK0a__actionBtnGreen{color:#fff;cursor:pointer;background:linear-gradient(135deg,#16a34a,#15803d);border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:.86rem;font-weight:700;transition:all .2s;display:inline-flex}.FullStackNodejsExpressWorkspace-module__o-yK0a__actionBtnGreen:hover{background:linear-gradient(135deg,#15803d,#166534)}.FullStackNodejsExpressWorkspace-module__o-yK0a__actionBtnBlue{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0284c7,#0369a1);border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:.86rem;font-weight:700;transition:all .2s;display:inline-flex}.FullStackNodejsExpressWorkspace-module__o-yK0a__actionBtnBlue:hover{background:linear-gradient(135deg,#0369a1,#075985)}.FullStackNodejsExpressWorkspace-module__o-yK0a__secondaryBtn{color:#cbd5e1;cursor:pointer;background:#1e293bb3;border:1px solid #94a3b833;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:.84rem;font-weight:600;transition:all .2s;display:inline-flex}.FullStackNodejsExpressWorkspace-module__o-yK0a__secondaryBtn:hover{color:#86efac;background:#22c55e26;border-color:#22c55e}.FullStackNodejsExpressWorkspace-module__o-yK0a__debugGrid{flex-direction:column;gap:18px;margin:24px 0;display:flex}.FullStackNodejsExpressWorkspace-module__o-yK0a__debugCard{background:#0f172ad9;border:1px solid #94a3b833;border-radius:14px;padding:20px 24px}.FullStackNodejsExpressWorkspace-module__o-yK0a__debugErrorBox{font-family:var(--font-mono,monospace);color:#fca5a5;background:#040813;border:1px solid #ef44444d;border-left:4px solid #ef4444;border-radius:8px;margin-bottom:14px;padding:12px 16px;font-size:.84rem}.FullStackNodejsExpressWorkspace-module__o-yK0a__debugOptions{grid-template-columns:1fr 1fr;gap:10px;display:grid}@media (max-width:640px){.FullStackNodejsExpressWorkspace-module__o-yK0a__debugOptions{grid-template-columns:1fr}}.FullStackNodejsExpressWorkspace-module__o-yK0a__debugBtn{color:#cbd5e1;text-align:left;cursor:pointer;background:#1e293bb3;border:1px solid #94a3b833;border-radius:8px;padding:10px 14px;font-size:.85rem;transition:all .2s}.FullStackNodejsExpressWorkspace-module__o-yK0a__debugBtn:hover{background:#22c55e1a;border-color:#22c55e66}.FullStackNodejsExpressWorkspace-module__o-yK0a__debugCorrect{color:#86efac!important;background:#22c55e33!important;border-color:#22c55e!important}.FullStackNodejsExpressWorkspace-module__o-yK0a__debugWrong{color:#fca5a5!important;background:#ef444433!important;border-color:#ef4444!important}.FullStackNodejsExpressWorkspace-module__o-yK0a__debugExplanation{color:#cbd5e1;background:#1e293b80;border-left:3px solid #22c55e;border-radius:8px;margin-top:12px;padding:12px 14px;font-size:.85rem;line-height:1.5}.FullStackNodejsExpressWorkspace-module__o-yK0a__challengeCard{background:#07101e;border:1px solid #22c55e59;border-radius:18px;margin-top:24px;padding:28px}.FullStackNodejsExpressWorkspace-module__o-yK0a__challengeProgress{color:#94a3b8;border-bottom:1px solid #94a3b826;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:14px;font-size:.85rem;display:flex}.FullStackNodejsExpressWorkspace-module__o-yK0a__challengeQuestionBox{margin-bottom:24px}.FullStackNodejsExpressWorkspace-module__o-yK0a__challengeQNum{color:#86efac;text-transform:uppercase;margin-bottom:6px;font-size:.85rem;font-weight:800}.FullStackNodejsExpressWorkspace-module__o-yK0a__challengeQText{color:#f8fafc;margin-bottom:18px;font-size:1.15rem;font-weight:700;line-height:1.45}.FullStackNodejsExpressWorkspace-module__o-yK0a__challengeOptionList{flex-direction:column;gap:10px;display:flex}.FullStackNodejsExpressWorkspace-module__o-yK0a__challengeOptionBtn{color:#e2e8f0;text-align:left;cursor:pointer;background:#0f172acc;border:1px solid #94a3b833;border-radius:10px;align-items:flex-start;gap:12px;padding:14px 18px;font-size:.92rem;transition:all .2s;display:flex}.FullStackNodejsExpressWorkspace-module__o-yK0a__challengeOptionBtn:hover{background:#22c55e1a;border-color:#22c55e66}.FullStackNodejsExpressWorkspace-module__o-yK0a__challengeOptionBtnActive{background:#22c55e26;border-color:#22c55e}.FullStackNodejsExpressWorkspace-module__o-yK0a__challengeCorrect{color:#86efac!important;background:#22c55e26!important;border-color:#22c55e!important}.FullStackNodejsExpressWorkspace-module__o-yK0a__challengeWrong{color:#fca5a5!important;background:#ef444426!important;border-color:#ef4444!important}.FullStackNodejsExpressWorkspace-module__o-yK0a__feedbackBox{border-radius:10px;margin-top:18px;padding:16px 20px;font-size:.9rem;line-height:1.6}.FullStackNodejsExpressWorkspace-module__o-yK0a__feedbackCorrect{color:#86efac;background:#22c55e1a;border:1px solid #22c55e4d}.FullStackNodejsExpressWorkspace-module__o-yK0a__feedbackWrong{color:#fca5a5;background:#ef44441a;border:1px solid #ef44444d}.FullStackNodejsExpressWorkspace-module__o-yK0a__navRow{justify-content:space-between;align-items:center;margin-top:24px;display:flex}.FullStackNodejsExpressWorkspace-module__o-yK0a__nextBtn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#16a34a,#15803d);border:none;border-radius:8px;padding:10px 22px;font-size:.88rem;font-weight:700;transition:all .2s}.FullStackNodejsExpressWorkspace-module__o-yK0a__nextBtn:hover{background:linear-gradient(135deg,#15803d,#166534)}.FullStackNodejsExpressWorkspace-module__o-yK0a__resultsSummary{text-align:center;padding:24px}.FullStackNodejsExpressWorkspace-module__o-yK0a__scoreCircle{color:#86efac;background:#22c55e33;border:3px solid #22c55e;border-radius:50%;justify-content:center;align-items:center;width:90px;height:90px;margin-bottom:16px;font-size:1.8rem;font-weight:800;display:inline-flex}.FullStackNodejsExpressWorkspace-module__o-yK0a__mentalModelBox{background:linear-gradient(135deg,#22c55e2e 0%,#38bdf82e 100%);border:1px solid #22c55e59;border-radius:18px;margin-top:40px;padding:32px;box-shadow:0 10px 30px #00000059}.FullStackNodejsExpressWorkspace-module__o-yK0a__mentalModelTitle{color:#f8fafc;align-items:center;gap:10px;margin-bottom:18px;font-size:1.3rem;font-weight:800;display:flex}.FullStackNodejsExpressWorkspace-module__o-yK0a__mentalModelGrid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:18px;display:grid}.FullStackNodejsExpressWorkspace-module__o-yK0a__mentalModelItem{background:#0f172ad9;border:1px solid #94a3b82e;border-radius:12px;padding:16px}.FullStackNodejsExpressWorkspace-module__o-yK0a__mentalModelItemTitle{text-transform:uppercase;color:#86efac;margin-bottom:8px;font-size:.85rem;font-weight:800}.FullStackNodejsExpressWorkspace-module__o-yK0a__mentalModelItemDesc{color:#cbd5e1;margin:0;font-size:.88rem;line-height:1.5}
