.course-section{background:#071219}.course-head-actions{display:flex;align-items:center;gap:18px}.course-head-actions b{font:12px "DM Mono";color:var(--cyan)}.course-catalog{display:grid;gap:14px}.course-summary{display:flex;align-items:center;gap:18px;padding:18px 20px;border:1px solid var(--line);background:var(--panel);border-radius:8px}.course-summary span{font:10px "DM Mono";color:var(--muted)}.course-summary em{flex:1;height:6px;background:#173140;border-radius:9px;overflow:hidden}.course-summary em i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--blue),var(--cyan));transition:.35s}.course-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.course-card{display:flex;flex-direction:column;min-height:265px;padding:22px;border:1px solid var(--line);background:var(--panel);border-radius:8px;color:inherit;text-decoration:none;transition:.2s}.course-card:hover{transform:translateY(-3px);border-color:#2c6276;background:#0d202b}.course-card.done{border-color:#27616c}.course-card-top{display:flex;justify-content:space-between;gap:10px;font:9px "DM Mono";color:#638496}.course-card-top b{color:var(--cyan)}.course-card h3{margin:24px 0 10px;font-size:18px}.course-card p{margin:0;color:#7d9aaa;font-size:11px;line-height:1.75}.course-card footer{margin-top:auto;padding:20px 0 0;border:0;justify-content:space-between;font:9px "DM Mono";color:#5a7d8f}.course-card footer strong{color:var(--cyan)}
.lesson-view{position:fixed;inset:0;z-index:50;background:var(--bg);overflow:auto}.lesson-view[hidden]{display:none}.lesson-header{position:sticky;top:0;z-index:3;display:flex;align-items:center;gap:16px;min-height:68px;padding:12px 5vw;background:rgba(7,16,24,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.lesson-header a,.lesson-header button{border:1px solid var(--line);background:var(--panel);color:#91aebb;padding:10px 13px;border-radius:5px;text-decoration:none;cursor:pointer}.lesson-header div{flex:1}.lesson-header small,.lesson-header b{display:block}.lesson-header small{font:9px "DM Mono";color:var(--cyan);margin-bottom:4px}.lesson-header b{font-size:13px}.lesson-content{width:min(900px,90vw);margin:auto;padding:62px 0 90px}.lesson-hero{padding-bottom:42px;border-bottom:1px solid var(--line)}.lesson-hero span{font:10px "DM Mono";color:var(--cyan);letter-spacing:.14em}.lesson-hero h1{font-size:clamp(36px,6vw,62px);letter-spacing:-.05em;margin:15px 0}.lesson-hero p{max-width:720px;color:#8da7b5;line-height:1.8}.objectives{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:27px}.objectives div{padding:15px;border:1px solid var(--line);background:var(--panel);font-size:11px;line-height:1.6}.objectives b{font:9px "DM Mono";color:var(--cyan);margin-right:8px}.lesson-block{padding:38px 0;border-bottom:1px solid var(--line)}.lesson-block>h2{font-size:23px;margin:0 0 20px}.lesson-block>p,.theory-card p,.lab-block li,.lesson-finish li{color:#91aab7;font-size:13px;line-height:1.85}.theory-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.theory-card,.lab-block,.quiz-block,.lesson-finish{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:23px}.theory-card h3{font-size:15px;margin:0 0 12px}.theory-card p{margin:0}.code-block{border:1px solid #1d3b4c;background:#061016;border-radius:8px;overflow:hidden}.code-head{display:flex;align-items:center;padding:11px 15px;border-bottom:1px solid var(--line);font:9px "DM Mono";color:#658697}.code-head button{margin-left:auto;border:0;background:none;color:var(--cyan);cursor:pointer}.code-block pre{margin:0;padding:22px;overflow:auto;color:#bfd6df;font:12px/1.8 "DM Mono"}.lab-block ol,.lesson-finish ul{padding-left:20px}.expected{margin-top:18px;padding:14px;border-left:2px solid var(--cyan);background:#0b2029;color:#b6d2da;font-size:12px;line-height:1.7}.split-block{display:grid;grid-template-columns:1fr 1fr;gap:12px}.split-block ul{margin:0;padding-left:18px;color:#8da6b4;font-size:12px;line-height:1.9}.quiz-block h3{margin:0 0 17px;font-size:16px}.lesson-options{display:grid;gap:8px}.lesson-options button{padding:13px;text-align:left;border:1px solid var(--line);background:#091720;color:#9ab3bf;border-radius:5px;cursor:pointer}.lesson-options button:hover{border-color:var(--cyan)}.lesson-options button.correct{border-color:var(--cyan);background:#10313a;color:#d9fbff}.lesson-options button.wrong{border-color:#9c5960;background:#2b1c22}.quiz-result{min-height:24px;margin:14px 0 0;color:#8daab7;font-size:12px;line-height:1.7}.lesson-finish{margin-top:38px}.lesson-finish button{width:100%;margin-top:15px;padding:14px;border:0;border-radius:5px;background:var(--cyan);color:#06151b;font-weight:800;cursor:pointer}.lesson-finish button.done{background:#163943;color:var(--cyan);border:1px solid #2a6972}.lesson-pager{display:flex;justify-content:space-between;gap:12px;margin-top:28px}.lesson-pager a{flex:1;padding:15px;border:1px solid var(--line);border-radius:6px;color:#8fabba;text-decoration:none}.lesson-pager a:last-child{text-align:right}.lesson-pager a.disabled{visibility:hidden}
@media(max-width:980px){.course-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.course-list,.objectives,.theory-grid,.split-block{grid-template-columns:1fr}.course-head-actions{display:none}.lesson-header{padding:10px 4vw}.lesson-header button{font-size:0}.lesson-header button:after{content:"关闭";font-size:12px}.lesson-content{width:92vw;padding-top:36px}.lesson-hero h1{font-size:38px}.lesson-pager{flex-direction:column}.lesson-pager a:last-child{text-align:left}}
