.csharp-course{--purple:#512BD4;--purple-l:#7c5cff;--purple-d:#3a1ea0;--purple-soft:#eee9fb;--bg:#f5f4fa;--surface:#ffffff;--ink:#211c33;--muted:#6b6680;--line:#e7e3f1;--code-bg:#1c1930;--code-fg:#e8e6f5;--ok:#0f9d6b;--err:#e0455e;--warn:#d98a00;--radius:14px;--shadow:0 1px 2px rgba(33,28,51,.06),0 8px 24px rgba(33,28,51,.06);box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--ink);line-height:1.7;-webkit-font-smoothing:antialiased;height:100vh;overflow-y:auto}.csharp-course *{box-sizing:border-box}.csharp-course a{color:var(--purple);text-decoration:none}.csharp-course code,.csharp-course pre,.csharp-course .mono{font-family:SF Mono,JetBrains Mono,Fira Code,Menlo,Consolas,monospace}.csharp-course .cs-header{position:sticky;top:0;z-index:40;background:#ffffffd9;backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--line)}.csharp-course .cs-header-inner{display:flex;align-items:center;gap:16px;padding:12px 22px;max-width:1180px;margin:0 auto}.csharp-course .cs-brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.3px}.csharp-course .cs-logo{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,var(--purple),var(--purple-l));display:grid;place-items:center;color:#fff;font-weight:800;font-size:15px;box-shadow:0 4px 10px #512bd459}.csharp-course .cs-brand small{font-weight:600;color:var(--muted);font-size:12px}.csharp-course .cs-progress-wrap{flex:1;display:flex;align-items:center;gap:10px}.csharp-course .cs-progress-track{flex:1;height:8px;background:var(--line);border-radius:99px;overflow:hidden}.csharp-course .cs-progress-bar{height:100%;width:0;background:linear-gradient(90deg,var(--purple),var(--purple-l));border-radius:99px;transition:width .4s ease}.csharp-course .cs-progress-pct{font-size:12px;color:var(--muted);font-weight:700;min-width:44px;text-align:right}.csharp-course .cs-menu-btn{display:none;background:none;border:1px solid var(--line);border-radius:9px;padding:7px 10px;cursor:pointer}.csharp-course .cs-app{display:grid;grid-template-columns:264px 1fr;max-width:1180px;margin:0 auto;min-height:calc(100vh - 57px)}.csharp-course aside.cs-side{border-right:1px solid var(--line);padding:22px 14px;position:sticky;top:57px;height:calc(100vh - 57px);overflow-y:auto;scrollbar-width:none}.csharp-course aside.cs-side::-webkit-scrollbar{display:none}.csharp-course aside.cs-side:after{content:"";position:sticky;bottom:0;left:0;right:0;display:block;height:28px;margin:0 -14px -22px;background:linear-gradient(to bottom,transparent,var(--surface));pointer-events:none}.csharp-course .cs-side h3{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted);margin:14px 10px 8px}.csharp-course .cs-nav-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;cursor:pointer;color:var(--ink);font-size:14px;font-weight:500;transition:.15s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.csharp-course .cs-nav-item:hover{background:var(--purple-soft)}.csharp-course .cs-nav-item.active{background:var(--purple-soft);color:var(--purple-d);font-weight:700}.csharp-course .cs-nav-item.active .cs-nav-num{border-color:var(--purple)}.csharp-course .cs-nav-num{width:22px;height:22px;border-radius:7px;background:var(--surface);border:1px solid var(--line);display:grid;place-items:center;font-size:11px;font-weight:800;color:var(--muted);flex:none}.csharp-course .cs-nav-item.active .cs-nav-num{background:var(--purple);color:#fff;border-color:var(--purple)}.csharp-course .cs-nav-item.done .cs-nav-num{background:var(--ok);color:#fff;border-color:var(--ok)}.csharp-course .cs-nav-item.done .cs-nav-num:before{content:"✓";font-size:13px}.csharp-course .cs-nav-item.done .cs-nav-num span{display:none}.csharp-course .cs-nav-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.csharp-course .cs-side-foot{margin-top:18px;padding:0 10px}.csharp-course .cs-reset-btn{width:100%;background:none;border:1px solid var(--line);color:var(--muted);padding:8px;border-radius:9px;cursor:pointer;font-size:12px;font-weight:600}.csharp-course .cs-reset-btn:hover{border-color:var(--err);color:var(--err)}.csharp-course main.cs-content{padding:30px 38px 90px;max-width:820px}.csharp-course .lesson{display:none;animation:cs-fade .35s ease}.csharp-course .lesson.show{display:block}@keyframes cs-fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.csharp-course .lesson-head{margin-bottom:8px}.csharp-course .day-tag{display:inline-block;background:var(--purple);color:#fff;font-size:11px;font-weight:800;padding:3px 10px;border-radius:99px;letter-spacing:.5px}.csharp-course .lesson-head h2{font-size:27px;margin:12px 0 4px;letter-spacing:-.3px}.csharp-course .lesson-head .sub{color:var(--muted);margin:0;font-size:15px}.csharp-course .prose{margin:18px 0}.csharp-course .prose p{margin:12px 0}.csharp-course .prose ul{margin:12px 0;padding-left:22px}.csharp-course .prose li{margin:6px 0}.csharp-course .prose code{background:var(--purple-soft);color:var(--purple-d);padding:1.5px 6px;border-radius:6px;font-size:13px}.csharp-course .blk-title{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:var(--purple-d);margin:26px 0 10px;display:flex;align-items:center;gap:8px}.csharp-course .blk-title:before{content:"";width:14px;height:3px;background:var(--purple);border-radius:2px;display:inline-block}.csharp-course pre.code{background:var(--code-bg);color:var(--code-fg);padding:16px 18px;border-radius:12px;overflow-x:auto;margin:10px 0;font-size:13.5px;line-height:1.65;box-shadow:var(--shadow);position:relative}.csharp-course pre.code code{font-family:SF Mono,JetBrains Mono,Fira Code,Menlo,Consolas,monospace;background:none}.csharp-course pre.code .line{display:block}.csharp-course pre.code .copy{position:absolute;top:8px;right:8px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:#cfcbe6;font-size:11px;padding:3px 9px;border-radius:7px;cursor:pointer;opacity:0;transition:.2s}.csharp-course pre.code:hover .copy{opacity:1}.csharp-course pre.code .copy:hover{background:#ffffff29}.csharp-course .blank{background:#fff3b0;color:#5a4a00;border-radius:4px;padding:0 3px;font-weight:800;letter-spacing:1px}.csharp-course .out{background:#15121f;border:1px solid #2c2742;color:#a8e6cf;padding:10px 14px;border-radius:10px;font-size:12.5px;margin:-4px 0 14px;font-family:SF Mono,JetBrains Mono,Fira Code,Menlo,Consolas,monospace}.csharp-course .out:before{content:"▶输出：";color:#6c6786;font-weight:700;margin-right:6px}.csharp-course .note{background:#fff8e9;border-left:3px solid var(--warn);padding:11px 15px;border-radius:0 10px 10px 0;font-size:13.5px;margin:14px 0}.csharp-course .note b{color:#a86a00}.csharp-course .tip{background:var(--purple-soft);border-left:3px solid var(--purple);padding:11px 15px;border-radius:0 10px 10px 0;font-size:13.5px;margin:14px 0}.csharp-course .quiz-item{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:15px 17px;margin:12px 0;box-shadow:var(--shadow)}.csharp-course .quiz-q{font-weight:700;margin:0 0 11px;font-size:14.5px}.csharp-course .quiz-q .qn{color:var(--purple);margin-right:6px}.csharp-course .opts{list-style:none;padding:0;margin:0}.csharp-course .opts li{padding:9px 12px;border:1px solid var(--line);border-radius:9px;margin:7px 0;cursor:pointer;font-size:13.5px;transition:.15s;display:flex;gap:9px;align-items:flex-start}.csharp-course .opts li:hover{border-color:var(--purple-l);background:var(--purple-soft)}.csharp-course .opts li .opt-k{font-weight:800;color:var(--muted);min-width:16px}.csharp-course .opts li.correct{border-color:var(--ok);background:#e7f7f0;color:#0a6b48}.csharp-course .opts li.correct .opt-k{color:var(--ok)}.csharp-course .opts li.wrong{border-color:var(--err);background:#fdecef;color:#a32a3e}.csharp-course .opts li.wrong .opt-k{color:var(--err)}.csharp-course .opts li.disabled{cursor:default}.csharp-course .opts li.disabled:hover{border-color:var(--line);background:transparent}.csharp-course .qfb{margin-top:9px;font-size:13px;padding:8px 11px;border-radius:8px;display:none}.csharp-course .qfb.show{display:block}.csharp-course .qfb.ok{background:#e7f7f0;color:#0a6b48}.csharp-course .qfb.no{background:#fdecef;color:#a32a3e}.csharp-course .ex{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin:12px 0;box-shadow:var(--shadow)}.csharp-course .ex-prompt{font-weight:700;margin:0 0 10px;font-size:14.5px}.csharp-course .ex pre.code{margin:6px 0 12px}.csharp-course .ex-row{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.csharp-course .ex-row input{flex:1;min-width:180px;padding:10px 13px;border:1.5px solid var(--line);border-radius:9px;font-family:inherit;font-size:14px;outline:none;transition:.15s}.csharp-course .ex-row input:focus{border-color:var(--purple);box-shadow:0 0 0 3px var(--purple-soft)}.csharp-course .btn{padding:10px 16px;border:none;border-radius:9px;font-weight:700;font-size:13.5px;cursor:pointer;transition:.15s}.csharp-course .btn-p{background:var(--purple);color:#fff}.csharp-course .btn-p:hover{background:var(--purple-d)}.csharp-course .btn-g{background:var(--surface);border:1px solid var(--line);color:var(--muted)}.csharp-course .btn-g:hover{border-color:var(--purple-l);color:var(--purple-d)}.csharp-course .ex-fb{margin-top:11px;font-size:13px;padding:9px 12px;border-radius:8px;display:none}.csharp-course .ex-fb.show{display:block}.csharp-course .ex-fb.ok{background:#e7f7f0;color:#0a6b48}.csharp-course .ex-fb.no{background:#fdecef;color:#a32a3e}.csharp-course .ex-hint-text{margin-top:9px;font-size:13px;color:var(--muted);background:#f6f5fb;padding:8px 12px;border-radius:8px;display:none}.csharp-course .ex-hint-text.show{display:block}.csharp-course .lesson-foot{margin-top:30px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.csharp-course .complete-btn{background:linear-gradient(135deg,var(--purple),var(--purple-l));color:#fff;border:none;padding:12px 22px;border-radius:11px;font-weight:800;font-size:14px;cursor:pointer;box-shadow:0 6px 16px #512bd44d;transition:.15s}.csharp-course .complete-btn:hover{transform:translateY(-1px);box-shadow:0 9px 22px #512bd466}.csharp-course .complete-btn.done{background:var(--ok);box-shadow:0 6px 16px #0f9d6b4d}.csharp-course .prev-btn{background:none;border:1px solid var(--line);color:var(--muted);padding:11px 16px;border-radius:11px;font-weight:700;cursor:pointer;font-size:13px}.csharp-course .prev-btn:hover{border-color:var(--purple-l);color:var(--purple-d)}.csharp-course .hero{text-align:center;padding:30px 10px 10px}.csharp-course .hero h1{font-size:33px;margin:6px 0;letter-spacing:-.5px}.csharp-course .hero p{color:var(--muted);font-size:15.5px;max-width:560px;margin:8px auto}.csharp-course .start-btn{display:inline-block;margin-top:18px;background:var(--purple);color:#fff;padding:13px 30px;border-radius:12px;font-weight:800;cursor:pointer;border:none;font-size:15px;box-shadow:0 8px 20px #512bd452}.csharp-course .badges{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:18px}.csharp-course .badges span{background:var(--surface);border:1px solid var(--line);padding:5px 12px;border-radius:99px;font-size:12px;color:var(--muted);font-weight:600}.csharp-course .finish{text-align:center;padding:40px 10px}.csharp-course .finish .trophy{font-size:56px}.csharp-course .finish h2{font-size:27px;margin:10px 0}.csharp-course .stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:440px;margin:20px auto}.csharp-course .stat{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px}.csharp-course .stat .n{font-size:24px;font-weight:800;color:var(--purple)}.csharp-course .stat .l{font-size:12px;color:var(--muted)}@media(max-width:820px){.csharp-course .cs-app{grid-template-columns:1fr}.csharp-course aside.cs-side{position:fixed;top:57px;left:0;width:280px;background:var(--surface);z-index:30;transform:translate(-100%);transition:.25s;box-shadow:var(--shadow);height:calc(100vh - 57px)}.csharp-course aside.cs-side.open{transform:none}.csharp-course .cs-menu-btn{display:block}.csharp-course main.cs-content{padding:22px 18px 80px}}.csharp-course .hero-emoji{font-size:46px}.csharp-course .cert-suggestion{color:var(--muted);font-size:13.5px}
