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