.course-stats { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; margin:22px 0; }
.course-stats>div { background:var(--surface); border:1px solid var(--line); padding:18px 20px; border-radius:16px; display:flex; flex-direction:column; }
.course-stats strong { font-size:29px; color:var(--green); line-height:1.3; }
.course-stats span { color:var(--muted); font-size:12px; }
.course-controls { display:flex; gap:16px; align-items:end; flex-wrap:wrap; }
.course-controls label { flex:1; min-width:150px; font-size:12px; color:var(--muted); }
.course-controls select,.course-controls input { width:100%; display:block; margin-top:7px; }
.course-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.course-card { display:flex; flex-direction:column; padding:22px; }
.course-card-top { justify-content:space-between; gap:8px; flex-wrap:wrap; margin-bottom:16px; }
.course-card h3 { font-size:19px; line-height:1.45; }
.course-card .question-actions { margin-top:auto; padding-top:14px; }
.course-card .small { font-size:12px; }
.course-meta { color:var(--muted); padding-top:10px; }
.course-recommend { margin:0 0 24px; }
.course-layout { display:grid; grid-template-columns:minmax(0,2.4fr) minmax(250px,1fr); gap:24px; align-items:start; }
.course-layout>*,.dependency-column,.course-card,.course-next { min-width:0; }
.course-video { width:100%; display:block; aspect-ratio:16/9; background:var(--green-deep); border-radius:14px; }
.course-video-card { overflow:hidden; }
.course-video-card .card-header { margin-top:26px; }
.video-caption { margin:12px 0 20px; }
.video-placeholder { border-radius:14px; aspect-ratio:16/9; background:var(--green-pale); display:flex; flex-direction:column; align-items:center; justify-content:center; }
.video-placeholder span { font-size:48px; }
.course-script { margin-top:24px; border-top:1px solid var(--line); padding-top:18px; }
.course-script summary { cursor:pointer; font-weight:650; padding-bottom:18px; }
.course-script .math-line { white-space:pre-line; overflow-wrap:anywhere; }
.course-script .lesson-step h3 { font-size:16px; margin-bottom:6px; }
.dependency-list>div { display:flex; flex-direction:column; align-items:start; gap:9px; padding:15px 0; border-bottom:1px solid var(--line); }
.dependency-map { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,1fr); gap:24px; align-items:start; }
.dependency-node { position:relative; border:1px solid var(--line); border-radius:15px; padding:18px; margin-bottom:28px; background:var(--surface-soft); }
.dependency-node h3 { font-size:16px; margin:8px 0; }
.dependency-node .skill-status { margin-bottom:12px; }
.dependency-node .small { overflow-wrap:anywhere; }
.dependency-node.target { background:var(--green-pale); border:2px solid var(--green-bright); }
.dependency-arrow { position:absolute; left:50%; bottom:-27px; font-size:22px; color:var(--muted); }
.course-next { background:var(--green-pale); border-radius:14px; padding:20px; margin-top:22px; }
.course-next h3 { margin-bottom:8px; }
.course-xp { font-size:48px; color:var(--green); }
.legacy-video { margin-bottom:24px; }
.legacy-video video { max-height:480px; }
@media(min-width:769px) and (max-height:850px) { .sidebar { padding-top:20px; padding-bottom:16px; } .nav-list { margin-top:22px; gap:3px; } .nav-button { min-height:40px; padding-top:8px; padding-bottom:8px; } }
@media(max-width:1150px) { .course-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .course-layout { grid-template-columns:minmax(0,1fr); } .dependency-map { gap:14px; } .course-stats>div { padding:16px 12px; } }
@media(max-width:768px) { .course-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .dependency-map { grid-template-columns:minmax(0,1fr); } .course-stats { grid-template-columns:repeat(3,minmax(0,1fr)); } .course-controls { gap:12px; } .course-controls label { min-width:130px; } .course-card { padding:18px; } }
@media(max-width:520px) { .course-grid { grid-template-columns:minmax(0,1fr); } .course-stats { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; } .course-stats strong { font-size:24px; } .course-stats>div { padding:12px; } .course-stats span { font-size:10px; } .course-controls label { min-width:100%; } .course-layout { gap:16px; } .course-video-card { padding:16px; } .course-recommend .task-row { flex-wrap:wrap; } }

.graph-section { margin:22px 0; }
.graph-scroll { max-width:100%; overflow:auto; overscroll-behavior:contain; }
.graph-scroll svg { max-width:none; }
.graph-scroll a:hover rect,.graph-scroll a:focus-visible rect { stroke:var(--green-bright); stroke-width:3; }
