.course-wrap{max-width:840px; padding:64px 32px;}
.inline-btn{display:inline-block; margin-top:16px;}
.underline-link{text-decoration:underline;}
.course-tabs{display:flex; gap:6px; background:var(--ink-2); border:1px solid var(--line); border-radius:9px; padding:4px; margin:24px 0; width:fit-content;}
.course-tab{padding:9px 18px; border-radius:6px; font-size:0.86rem; font-weight:600; color:var(--muted); background:none; border:none; cursor:pointer; font-family:'Inter',sans-serif;}
.course-tab.active{background:var(--gold); color:var(--ink);}
.course-tab-panel{display:none;}
.course-tab-panel.active{display:block;}

.module-card{border:1px solid var(--line); border-radius:var(--radius); background:var(--ink-2); padding:22px 24px; margin-bottom:14px;}
.module-card-head{display:flex; justify-content:space-between; align-items:center; gap:16px;}
.module-num{font-family:'IBM Plex Mono',monospace; color:var(--gold); font-size:0.85rem; margin-right:14px;}
.module-title{font-family:'Inter',sans-serif; font-weight:600; font-size:1rem; display:inline;}
.module-desc{color:var(--muted); font-size:0.86rem; margin-top:6px;}
.module-lock{font-size:0.72rem; color:var(--muted); background:var(--ink); border:1px solid var(--line); padding:4px 10px; border-radius:100px; white-space:nowrap;}
.module-lessons{margin-top:18px; padding-top:18px; border-top:1px solid var(--line);}
.lesson-item{margin-bottom:14px;}
.lesson-item.locked{opacity:0.55;}
.lesson-item-head{display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:6px;}
.lesson-item-head h4{font-size:0.92rem;}
.lesson-item p{color:var(--muted); font-size:0.86rem; line-height:1.6;}
.lesson-locked-msg{font-size:0.82rem; font-style:italic;}
.lesson-badge{font-size:0.68rem; padding:3px 9px; border-radius:100px; white-space:nowrap; border:1px solid var(--line); color:var(--muted);}
.lesson-badge.locked{color:var(--muted);}
.lesson-badge.completed{color:var(--emerald); border-color:var(--emerald);}
.lesson-video{border:1px dashed var(--line); border-radius:8px; padding:10px 12px; margin:10px 0 4px; text-align:center; color:var(--muted); font-size:0.8rem;}
.lesson-video a{color:var(--gold);}
.lesson-video-locked{border-color:rgba(199,162,92,0.4); background:rgba(199,162,92,0.06);}

.chapter-list{margin-top:16px; display:flex; flex-direction:column; gap:10px;}
.chapter-item{border:1px solid var(--line); border-radius:10px; background:var(--ink); padding:14px 16px;}
.chapter-item.locked{opacity:0.55;}
.chapter-item.current{border-color:var(--gold);}
.chapter-head{display:flex; align-items:center; gap:10px; flex-wrap:wrap;}
.chapter-num{font-family:'IBM Plex Mono',monospace; color:var(--gold); font-size:0.8rem;}
.chapter-title{font-family:'Inter',sans-serif; font-weight:600; font-size:0.9rem; flex:1;}
.chapter-badge{font-size:0.68rem; padding:3px 9px; border-radius:100px; white-space:nowrap; border:1px solid var(--line); color:var(--muted);}
.chapter-badge.locked{color:var(--muted);}
.chapter-badge.completed{color:var(--emerald); border-color:var(--emerald);}
.chapter-badge.current{color:var(--gold); border-color:var(--gold);}
.chapter-content{white-space:pre-wrap; color:var(--muted); font-size:0.86rem; line-height:1.6; margin-top:12px;}
.chapter-exercise{border-left:2px solid var(--gold); padding:8px 12px; margin-top:12px; font-size:0.84rem; color:var(--paper);}
.chapter-item .btn-primary.sm{padding:8px 16px; font-size:0.8rem; margin-top:12px;}
.chapter-item .form-error{margin-top:8px;}
.btn-primary.sm{padding:8px 16px; font-size:0.8rem;}
.lesson-item .form-error{margin-top:8px;}

.prompt-card{border:1px solid var(--line); border-radius:var(--radius); background:var(--ink-2); padding:20px 22px; margin-bottom:14px;}
.prompt-card .mono{font-size:0.68rem; color:var(--emerald); display:block; margin-bottom:8px;}
.prompt-card h3{font-size:0.98rem; margin-bottom:8px; font-family:'Inter',sans-serif; font-weight:600;}
.prompt-text{background:var(--ink); border:1px solid var(--line); border-radius:8px; padding:12px 14px; font-size:0.84rem; color:var(--paper); font-family:'IBM Plex Mono',monospace; white-space:pre-wrap; margin-bottom:10px;}
.prompt-copy-btn{background:transparent; border:1px solid var(--line); color:var(--paper); padding:7px 14px; border-radius:8px; font-size:0.78rem; cursor:pointer; font-family:'Inter',sans-serif;}
.prompt-copy-btn:hover{border-color:var(--gold); color:var(--gold);}
