:root{color-scheme:dark;--bg:#090f19;--panel:#111d2c;--line:#28384d;--text:#ecf3ff;--muted:#a6b7ce;--mint:#b3ddeb;--orange:#c4c8ff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.65 system-ui,-apple-system,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}button{cursor:pointer;background:#1a2a40;color:var(--text);border:1px solid #3a4d65;border-radius:8px;padding:9px 13px}button:hover{border-color:var(--mint)}button:disabled{opacity:.45;cursor:default}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--mint);outline-offset:3px}[hidden]{display:none!important}.primary{background:var(--mint);color:#082d23;border-color:var(--mint);font-weight:800}.wrap{width:min(1180px,calc(100% - 48px));margin:auto}.sitebar{border-bottom:1px solid var(--line);background:#101b2a}.sitebar .wrap{display:flex;align-items:center;gap:30px;padding:15px 0}.brand{font-size:25px;font-weight:900;letter-spacing:-1px;line-height:1.15}.brand span{color:var(--mint)}.brand small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:2px;margin-top:4px;color:var(--muted)}.sitebar nav{display:flex;gap:24px;margin-left:auto;font-size:13px}.sitebar nav a:hover{color:var(--mint)}.crumb{font-size:12px;color:var(--muted);padding:20px 0}.crumb a{color:var(--mint)}.hero{padding:36px 0 52px;display:grid;grid-template-columns:1.5fr 1fr;gap:50px;align-items:center}.eyebrow{color:var(--mint);letter-spacing:2px;font-size:10px;font-weight:800}.hero h1{font-size:clamp(36px,5vw,64px);line-height:1.08;letter-spacing:-2px;margin:14px 0 20px}.hero h1 em{font-style:normal;color:var(--mint)}.hero p{color:var(--muted);max-width:650px}.hero .actions{margin-top:26px;display:flex;gap:12px}.button{display:inline-flex;align-items:center;padding:11px 18px;border:1px solid #3b5269;border-radius:9px;font-size:13px;font-weight:750}.hero-card{border:1px solid #335043;background:linear-gradient(145deg,#102c29,#131e30);border-radius:22px;padding:28px;box-shadow:0 25px 80px #0004}.hero-card .code{font:14px/1.9 ui-monospace,monospace;color:#bbe9d6;white-space:pre-wrap}.hero-card .steps{display:flex;gap:9px;margin-top:24px}.hero-card .steps span{padding:7px 10px;background:#fff1;border-radius:7px;font-size:11px}.section-title{display:flex;align-items:end;justify-content:space-between;margin:0 0 24px;gap:24px}.section-title h2{font-size:30px;letter-spacing:-1px;margin:0}.section-title p{color:var(--muted);margin:6px 0 0}.search{background:#152338;border:1px solid #3a4d65;color:white;border-radius:9px;padding:12px 14px;max-width:100%;width:280px}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.course-card{display:flex;flex-direction:column;border:1px solid var(--line);background:#101b2b;border-radius:16px;padding:25px;transition:border-color .2s,transform .2s}.course-card:hover{border-color:#548575;transform:translateY(-3px)}.course-card .symbol{width:48px;height:48px;display:grid;place-items:center;border-radius:12px;background:#203b39;color:var(--mint);font-weight:900;font-size:20px;margin-bottom:25px}.course-card h3{font-size:21px;margin:0 0 10px;letter-spacing:-.5px}.course-card p{font-size:13px;color:var(--muted);margin:0 0 22px}.course-card .card-foot{display:flex;justify-content:space-between;gap:10px;margin-top:auto;font-size:11px;color:var(--mint)}.runtime{font-size:10px;border:1px solid #385e53;border-radius:20px;padding:3px 8px;display:inline-block;align-self:start;margin-bottom:16px;color:#a7e6cb}.runtime.local{border-color:#715844;color:#ffd1a8}.section{padding-bottom:56px}.learning-path{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:30px;border:1px solid var(--line);border-radius:18px;margin:48px 0}.learning-path h3{margin:8px 0}.learning-path p{font-size:13px;color:var(--muted)}.learning-path strong{font-size:12px;color:var(--mint)}footer{padding:28px 0;border-top:1px solid var(--line);color:var(--muted);font-size:12px}footer .wrap{display:flex;justify-content:space-between;gap:20px}.studio-intro{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:25px 28px;background:linear-gradient(120deg,#11202d,#15192e)}.studio-intro h1{font-size:27px;margin:7px 0}.studio-intro p{font-size:13px;color:var(--muted);max-width:750px;margin:0}.stats{display:flex;gap:26px}.stats strong{font-size:26px;color:var(--mint);display:block}.stats span{font-size:9px;color:var(--muted);white-space:nowrap}.workspace{display:grid;grid-template-columns:265px minmax(0,1fr);border-top:1px solid var(--line)}.sidebar{background:#0f1928;border-right:1px solid var(--line);padding:18px}.sidebar .search{width:100%;font-size:12px}.catalog{max-height:770px;overflow:auto;margin-top:18px}.group-label{font-size:10px;letter-spacing:1px;color:#acbad1;text-transform:uppercase;margin:22px 6px 10px}.lab-link{display:flex;gap:10px;padding:10px 8px;font-size:12px;border:1px solid transparent;border-radius:7px;margin:3px 0}.lab-link span{min-width:24px;color:var(--mint);font:12px/1.65 monospace}.lab-link:hover{background:#17263b}.lab-link.active{background:#1a3b38;border-color:#3f7467}.sidebar-note{font-size:11px;color:var(--muted);padding-top:20px}.main{min-width:0}.toolbar{padding:17px 20px;border-bottom:1px solid var(--line);display:flex;gap:15px;align-items:center;justify-content:space-between;flex-wrap:wrap}.toolbar h2{font-size:18px;margin:4px 0 0;letter-spacing:-.4px}.toolbar .actions{display:flex;gap:6px;flex-wrap:wrap}.toolbar button{font-size:11px;padding:8px 10px}.description{padding:12px 20px;background:#122033;border-bottom:1px solid var(--line);max-height:230px;overflow:auto}.description summary{font-size:12px;cursor:pointer;color:var(--muted)}.description pre{white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.7 system-ui}.panes{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:600px}.pane{min-width:0;display:flex;flex-direction:column}.pane:first-child{border-right:1px solid var(--line)}.pane-head{background:#152337;border-bottom:1px solid var(--line);height:44px;display:flex;align-items:center;gap:12px;justify-content:space-between;padding:0 14px;font-size:10px;font-weight:800;letter-spacing:.7px}.pane-head button{font-size:10px;padding:3px 7px}.pane-head .view-widths{display:flex;gap:5px}.editor-wrap{display:flex;min-height:560px;flex:1;background:#0a121e;overflow:hidden}#lines{flex:0 0 42px;white-space:pre;text-align:right;color:#63758f;font:13px/1.85 ui-monospace,Consolas,monospace;padding:16px 8px;border-right:1px solid #1b2a3d;overflow:hidden;max-height:650px;user-select:none}#editor{min-width:0;flex:1;width:100%;min-height:560px;max-height:650px;resize:vertical;border:0;background:#0a121e;color:#d1e7ff;font:13px/1.85 ui-monospace,Consolas,monospace;padding:16px 14px;tab-size:2;white-space:pre;outline-offset:-3px}.output-wrap{background:#0a111c;padding:15px;min-height:560px;overflow:auto;max-height:760px}#output{font:12px/1.8 ui-monospace,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;color:#c9e1ef;margin:0 0 16px}#preview{display:block;width:100%;max-width:100%;min-height:500px;resize:vertical;background:white;border:1px solid #526078;border-radius:7px;margin:auto}.statusbar{border-top:1px solid var(--line);padding:11px 18px;display:flex;justify-content:space-between;gap:15px;font-size:11px;color:var(--muted)}.lesson-nav{padding:20px;display:flex;justify-content:space-between}.course-notes{padding:34px 28px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}.course-notes h2{color:var(--text)}.course-notes a{color:var(--mint)}.empty{padding:30px;color:var(--muted)}@media(max-width:1000px){.course-grid{grid-template-columns:repeat(2,1fr)}.workspace{grid-template-columns:220px minmax(0,1fr)}.panes{grid-template-columns:1fr}.pane:first-child{border-right:0;border-bottom:1px solid var(--line)}.editor-wrap,#editor{min-height:400px}.hero{gap:24px}.stats{gap:14px}}@media(max-width:650px){.wrap{width:calc(100% - 32px)}.sitebar .wrap{gap:15px}.sitebar nav{gap:12px;font-size:11px}.brand{font-size:23px}.hero{grid-template-columns:1fr;padding-top:20px;gap:24px}.hero h1{font-size:42px}.course-grid{grid-template-columns:1fr}.section-title{align-items:stretch;flex-direction:column}.section-title .search{width:100%}.learning-path{grid-template-columns:1fr;padding:22px;gap:14px}.studio-intro{align-items:start;flex-direction:column;padding:20px}.workspace{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line)}.catalog{max-height:210px}.sidebar-note{display:none}.toolbar{padding:15px}.toolbar h2{font-size:17px}.statusbar{flex-wrap:wrap}footer .wrap{flex-direction:column}.hero-card{padding:22px}.output-wrap{padding:10px}.studio-intro h1{font-size:25px}.stats strong{font-size:22px}}

.lab{min-width:0}.code-pane,.output-pane{min-width:0;overflow:hidden}.output-pane #output{padding:18px}.description h2{margin:8px 0}.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}#status{font-size:12px;margin-left:auto}.code-pane{border-right:1px solid var(--line)}

/* MERN keeps source files, execution limits and the local setup guide explicit. */
.mern-studio .description{max-height:340px}.mern-studio #description,.mern-studio #expected{white-space:pre-line;font-size:13px;line-height:1.8}.runtime-note{padding:12px 20px;margin:0;background:#182b3c;color:#c6d9eb;font-size:12px;border-bottom:1px solid #34475e}.file-tabs{display:flex;gap:6px;flex-wrap:wrap;padding:10px 20px;background:#101c2d;border-bottom:1px solid #34475e}.file-tabs button[aria-pressed=true]{background:#b3ddeb;color:#142142;border-color:#b3ddeb}.mern-setup{padding-top:48px;padding-bottom:70px;scroll-margin-top:24px}.mern-setup section{padding:18px 0;border-bottom:1px solid #d3d9e9}.mern-setup pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#0a121e;color:#cde7fa;padding:22px;border-radius:10px;font:13px/1.8 ui-monospace,Consolas,monospace}.mern-setup summary{cursor:pointer;font-weight:700;padding:15px 0}.mern-setup .button{margin-top:20px}.setup-link{display:inline-block;margin-top:12px;font-size:12px;text-decoration:underline}.mern-studio #preview[hidden]{display:none}.mern-studio .panes{min-height:620px}.mern-studio .output-pane #output{max-height:360px;overflow:auto}.mern-studio #preview{min-height:500px}@media(max-width:650px){.mern-studio .pane-head{height:auto;min-height:44px;flex-wrap:wrap;padding:10px;gap:8px}.mern-studio .description{max-height:380px}}

.cpp-studio .description p{white-space:pre-line}.cpp-studio .description ol{padding-left:24px;line-height:1.8}.cpp-output-label{font:600 12px/1.5 system-ui;letter-spacing:.06em;text-transform:uppercase;color:#a7c6e4;padding:12px 18px;margin:0}.cpp-studio #stdin{margin:0;padding:0 18px 16px;color:#d6e6fa;white-space:pre-wrap}.cpp-studio #output{white-space:pre-wrap}.cpp-studio .panes .output-pane>pre{overflow-wrap:anywhere;white-space:pre-wrap;padding:12px 18px}.cpp-studio .editor-wrap{min-height:480px}.cpp-studio .runtime-note{padding:14px 18px;background:#172638;color:#c7daf0;border-left:3px solid #83c5d9}.cpp-studio .description ol li{margin:6px 0}
.java-quiz fieldset{border:1px solid #34475e;border-radius:12px;margin:20px 0;padding:18px}.java-quiz legend{font-weight:700;padding:0 8px;max-width:100%;white-space:pre-wrap}.java-quiz .quiz-option{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;margin:6px 0;border-radius:8px;background:#111e30;cursor:pointer}.java-quiz input[type=radio]{width:18px;min-width:18px;height:18px;margin:4px 0;accent-color:#b3ddeb}.java-quiz .quiz-option:focus-within{outline:2px solid #b3ddeb}.java-quiz fieldset[data-result=correct]{border-color:#6fc4a1}.java-quiz fieldset[data-result=incorrect]{border-color:#e3a174}.java-quiz .quiz-feedback{line-height:1.8;color:#d2e4f1}.java-quiz #quiz-result{padding:16px;background:#142438;border-radius:10px;font-weight:700;white-space:pre-wrap}.java-studio .stats{flex-wrap:wrap}.java-studio .file-tabs button{max-width:100%;overflow-wrap:anywhere}.java-studio #compile-command,.java-studio #run-command{font-size:12px}.java-studio #topic-filter{margin-bottom:18px}

.java-topic-lecture{padding:20px;margin:18px 0;border:1px solid #34465d;border-radius:12px;background:#172332;color:#e4ecf8}.java-topic-lecture[hidden]{display:none}.java-topic-lecture p,.java-topic-lecture li{color:#d3deec;line-height:1.85}.java-topic-lecture h3,.java-topic-lecture h4{color:#fff}.java-topic-lecture .eyebrow{color:#b3ddeb}
