.cvm-shell{max-width:1100px;min-height:100vh;margin:0 auto;padding:48px 32px}.cvm-header{font-family:var(--portal-mono);align-items:baseline;gap:16px;margin-bottom:32px;font-size:12px;display:flex}.cvm-back{color:var(--portal-text-muted)}.cvm-back:hover{color:var(--portal-text)}.cvm-title{letter-spacing:-.02em;margin:0 0 8px;font-size:clamp(32px,4.5vw,48px);font-weight:700}.cvm-sub{font-family:var(--portal-mono);color:var(--portal-text-muted);margin:0 0 40px;font-size:12px}.cvm-toolbar{font-family:var(--portal-mono);align-items:center;gap:8px;margin-bottom:24px;font-size:11px;display:flex}.cvm-filter-btn{border:1px solid var(--portal-border);color:var(--portal-text-muted);cursor:pointer;letter-spacing:.06em;text-transform:uppercase;background:0 0;border-radius:4px;padding:4px 10px}.cvm-filter-btn-active{border-color:var(--portal-accent);color:var(--portal-accent)}.cvm-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.cvm-course{border:1px solid var(--portal-border);background:var(--portal-bg-elevated);border-radius:8px;flex-direction:column;gap:12px;padding:20px;transition:border-color .15s;display:flex}.cvm-course:hover{border-color:var(--portal-border-strong)}.cvm-course-status{font-family:var(--portal-mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--portal-border);border-radius:3px;align-self:flex-start;padding:3px 8px;font-size:10px}.cvm-course-status-draft{color:var(--portal-text-dim)}.cvm-course-status-review{color:#fbbf24;border-color:#fbbf2466}.cvm-course-status-live{color:var(--portal-accent);border-color:var(--portal-accent)}.cvm-course-status-archived{color:var(--portal-text-dim);border-color:var(--portal-border);opacity:.7}.cvm-course-cell{margin:0;padding:0;list-style:none}.cvm-course-cell .cvm-course{color:inherit;height:100%;text-decoration:none}.cvm-course-cell .cvm-course:hover{border-color:var(--portal-accent)}.cvm-quick-link{color:var(--portal-accent);margin-left:auto}.cvm-quick-link:hover{opacity:.85}.cvm-detail-meta{font-family:var(--portal-mono);color:var(--portal-text-dim);align-items:center;gap:12px;margin:0 0 32px;font-size:12px;display:flex}.cvm-empty{font-family:var(--portal-mono);color:var(--portal-text-dim);text-align:center;border:1px dashed var(--portal-border);border-radius:8px;padding:32px 0;font-size:12px}.cvm-clips{border:1px solid var(--portal-border);border-radius:8px;flex-direction:column;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.cvm-clip{border-bottom:1px solid var(--portal-border);background:var(--portal-bg-elevated);grid-template-columns:48px 1fr auto;align-items:center;gap:16px;padding:14px 18px;display:grid}.cvm-clip:last-child{border-bottom:0}.cvm-clip:hover{background:#a78bfa0a}.cvm-clip-order{font-family:var(--portal-mono);color:var(--portal-accent);letter-spacing:.04em;font-size:12px}.cvm-clip-body{flex-direction:column;gap:4px;min-width:0;display:flex}.cvm-clip-title{letter-spacing:-.01em;font-size:14px}.cvm-clip-note{font-family:var(--portal-mono);color:var(--portal-text-dim);font-size:11px}.cvm-clip-dur{font-family:var(--portal-mono);color:var(--portal-text-muted);font-size:12px}.cvm-videos{border:1px solid var(--portal-border);border-radius:8px;flex-direction:column;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.cvm-video{border-bottom:1px solid var(--portal-border);background:var(--portal-bg-elevated);grid-template-columns:110px 1fr;align-items:center;gap:16px;padding:14px 18px;display:grid}.cvm-video:last-child{border-bottom:0}.cvm-video-state{font-family:var(--portal-mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--portal-border);text-align:center;color:var(--portal-text-muted);border-radius:3px;padding:3px 8px;font-size:10px}.cvm-video-state-raw{color:var(--portal-text-dim)}.cvm-video-state-trimmed{color:#fbbf24;border-color:#fbbf2466}.cvm-video-state-concatenated{color:var(--portal-accent);border-color:var(--portal-accent)}.cvm-video-body{flex-direction:column;gap:4px;min-width:0;display:flex}.cvm-video-title{font-family:var(--portal-mono);letter-spacing:-.01em;font-size:13px}.cvm-video-meta{font-family:var(--portal-mono);color:var(--portal-text-dim);font-size:11px}.cvm-video-course{color:var(--portal-accent)}.cvm-video-course:hover{text-decoration:underline}.cvm-course-title{letter-spacing:-.01em;margin:0;font-size:17px;font-weight:600}.cvm-course-desc{color:var(--portal-text-muted);flex-grow:1;margin:0;font-size:13px;line-height:1.5}.cvm-course-meta{font-family:var(--portal-mono);color:var(--portal-text-dim);border-top:1px solid var(--portal-border);justify-content:space-between;padding-top:12px;font-size:11px;display:flex}.cvm-track-wrap{flex-direction:column;gap:8px;margin-bottom:24px;display:flex}.cvm-track{background:var(--portal-bg-elevated);border:1px solid var(--portal-border);cursor:pointer;outline-offset:2px;border-radius:7px;height:14px;position:relative}.cvm-track:focus{outline:2px solid var(--portal-accent)}.cvm-track-marker{background:var(--portal-border-strong);pointer-events:none;width:1px;position:absolute;top:2px;bottom:2px}.cvm-track-cursor{background:var(--portal-accent);pointer-events:none;border-radius:2px;width:3px;position:absolute;top:-3px;bottom:-3px}.cvm-track-row{font-family:var(--portal-mono);color:var(--portal-text-dim);justify-content:space-between;font-size:11px;display:flex}.cvm-concat{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=800px){.cvm-concat{grid-template-columns:1fr}}.cvm-concat-pane{border:1px solid var(--portal-border);background:var(--portal-bg-elevated);border-radius:8px;flex-direction:column;display:flex}.cvm-concat-pane-head{border-bottom:1px solid var(--portal-border);justify-content:space-between;align-items:baseline;padding:14px 18px;display:flex}.cvm-concat-pane-head h2{font-size:13px;font-family:var(--portal-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--portal-text-muted);margin:0}.cvm-concat-count{font-family:var(--portal-mono);color:var(--portal-accent);font-size:11px}.cvm-concat-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.cvm-concat-row{border-bottom:1px solid var(--portal-border);grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 16px;display:grid}.cvm-concat-row:last-child{border-bottom:0}.cvm-concat-body{flex-direction:column;gap:4px;min-width:0;display:flex}.cvm-concat-title{font-family:var(--portal-mono);font-size:13px}.cvm-concat-controls{gap:4px;display:flex}.cvm-concat-btn{border:1px solid var(--portal-border);color:var(--portal-text);cursor:pointer;font-family:var(--portal-mono);background:0 0;border-radius:4px;padding:4px 8px;font-size:11px}.cvm-concat-btn:hover:not(:disabled){border-color:var(--portal-accent);color:var(--portal-accent)}.cvm-concat-btn:disabled{opacity:.4;cursor:not-allowed}.cvm-concat-render{border:1px solid var(--portal-accent);color:var(--portal-accent);font-family:var(--portal-mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:6px;margin:14px 18px 18px;padding:10px 14px;font-size:12px}.cvm-concat-render:hover:not(:disabled){background:var(--portal-accent);color:var(--portal-bg)}.cvm-concat-render:disabled{opacity:.4;cursor:not-allowed}.cvm-proto-bullets{flex-direction:column;gap:8px;margin:0 0 32px;padding:0;list-style:none;display:flex}.cvm-proto-bullets li{border:1px solid var(--portal-border);border-left:3px solid var(--portal-accent);background:var(--portal-bg-elevated);border-radius:0 6px 6px 0;padding:12px 16px;font-size:13px;line-height:1.5}.cvm-proto-nav{font-family:var(--portal-mono);flex-wrap:wrap;gap:12px;font-size:12px;display:flex}.cvm-proto-link{color:var(--portal-text-muted);border:1px solid var(--portal-border);border-radius:4px;padding:6px 10px}.cvm-proto-link:hover{color:var(--portal-accent);border-color:var(--portal-accent)}.cvm-form{border:1px solid var(--portal-border);background:var(--portal-bg-elevated);border-radius:8px;flex-direction:column;gap:12px;margin-bottom:32px;padding:20px;display:flex}.cvm-form label{font-family:var(--portal-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--portal-text-muted);flex-direction:column;gap:6px;font-size:11px;display:flex}.cvm-form input,.cvm-form textarea,.cvm-form-inline input,.cvm-form-clip input,.cvm-form-clip textarea{border:1px solid var(--portal-border);background:var(--portal-bg);color:var(--portal-text);text-transform:none;letter-spacing:0;border-radius:4px;padding:8px 12px;font-family:inherit;font-size:13px}.cvm-form input:focus,.cvm-form textarea:focus,.cvm-form-inline input:focus,.cvm-form-clip input:focus,.cvm-form-clip textarea:focus{outline:2px solid var(--portal-accent);outline-offset:-1px}.cvm-form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.cvm-form-hint{font-family:var(--portal-mono);color:var(--portal-text-dim);margin:0 0 12px;font-size:11px}.cvm-form-inline{align-items:center;gap:8px;margin-bottom:16px;display:flex}.cvm-form-inline input{flex:1}.cvm-form-nested{margin:8px 0 8px 40px}.cvm-form-clip{border:1px solid var(--portal-border);background:var(--portal-bg-elevated);border-radius:8px;flex-direction:column;gap:10px;padding:16px;display:flex}.cvm-form-clip h3{font-family:var(--portal-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--portal-text-muted);margin:0;font-size:12px}.cvm-form-clip label{font-family:var(--portal-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--portal-text-muted);flex-direction:column;gap:4px;font-size:10px;display:flex}.cvm-btn-primary{border:1px solid var(--portal-accent);background:var(--portal-accent);color:var(--portal-bg);font-family:var(--portal-mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border-radius:4px;align-self:flex-start;padding:8px 16px;font-size:12px}.cvm-btn-primary:hover{filter:brightness(1.1)}.cvm-mini-btn{border:1px solid var(--portal-border);color:var(--portal-text-muted);font-family:var(--portal-mono);cursor:pointer;background:0 0;border-radius:3px;padding:3px 8px;font-size:11px}.cvm-mini-btn:hover:not(:disabled){color:var(--portal-accent);border-color:var(--portal-accent)}.cvm-mini-btn:disabled{opacity:.4;cursor:not-allowed}.cvm-tree{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.cvm-tree-row{border:1px solid var(--portal-border);background:var(--portal-bg-elevated);border-radius:8px;padding:14px 18px}.cvm-tree-head{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.cvm-tree-meta{font-family:var(--portal-mono);color:var(--portal-text-dim);font-size:11px}.cvm-tree-actions{gap:4px;margin-left:auto;display:flex}.cvm-lesson-list{flex-direction:column;gap:4px;margin:12px 0 0 24px;padding:0;list-style:none;display:flex}.cvm-lesson-row{padding:6px 0}.cvm-lesson-link{color:inherit;align-items:center;gap:12px;text-decoration:none;display:flex}.cvm-lesson-link:hover .cvm-lesson-title{color:var(--portal-accent)}.cvm-lesson-title{font-size:13px}.cvm-lesson-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.cvm-pill{font-family:var(--portal-mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--portal-border);border-radius:3px;padding:2px 6px;font-size:10px}.cvm-pill-real{color:var(--portal-accent);border-color:var(--portal-accent)}.cvm-pill-ghost{color:var(--portal-text-dim);border-style:dashed}.cvm-pill-planned{color:var(--portal-text-muted)}.cvm-pill-done{color:var(--portal-accent);border-color:var(--portal-accent)}.cvm-pill-cancelled{color:var(--portal-text-dim);text-decoration:line-through}.cvm-todo{font-family:var(--portal-mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--portal-border);color:var(--portal-text-muted);background:0 0;border-radius:3px;padding:2px 6px;font-size:10px}.cvm-todo-done{color:var(--portal-accent);border-color:var(--portal-accent)}.cvm-todo-todo{color:#fbbf24;border-color:#fbbf2466}.cvm-todo-btn,.cvm-title-editable{cursor:pointer}.cvm-title-editable:hover{color:var(--portal-accent)}.cvm-timeline{border:1px solid var(--portal-border);border-radius:8px;flex-direction:column;margin:0 0 32px;padding:0;list-style:none;display:flex;overflow:hidden}.cvm-timeline-clip,.cvm-timeline-section{border-bottom:1px solid var(--portal-border);background:var(--portal-bg-elevated);grid-template-columns:90px 1fr auto;align-items:center;gap:12px;padding:12px 16px;display:grid}.cvm-timeline-clip:last-child,.cvm-timeline-section:last-child{border-bottom:0}.cvm-timeline-section{background:#a78bfa14}.cvm-section-marker{color:var(--portal-accent);font-family:var(--portal-mono);font-weight:700}.cvm-section-name{font-family:var(--portal-mono);cursor:pointer;font-size:13px}.cvm-section-name:hover{color:var(--portal-accent)}.cvm-clip-text{color:var(--portal-text);cursor:pointer;margin-top:4px;font-size:13px;line-height:1.5}.cvm-clip-text:hover{color:var(--portal-accent)}.cvm-clip-actions{gap:4px;display:flex}.cvm-untranscribed{color:#fbbf24;font-family:var(--portal-mono);text-transform:uppercase;font-size:10px}.cvm-add-row{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:32px;display:grid}@media (width<=800px){.cvm-add-row{grid-template-columns:1fr}}.cvm-transcript-pre{background:var(--portal-bg-elevated);border:1px solid var(--portal-border);font-family:var(--portal-mono);white-space:pre-wrap;border-radius:8px;margin:0;padding:20px;font-size:13px}.cvm-warnings{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.cvm-warning{background:var(--portal-bg-elevated);border:1px solid #fbbf2466;border-left:3px solid #fbbf24;border-radius:0 6px 6px 0;padding:14px 18px}.cvm-warning strong{color:#fbbf24;font-family:var(--portal-mono);letter-spacing:.06em;font-size:12px;display:block}.cvm-warning p{color:var(--portal-text-muted);margin:6px 0 0;font-size:13px}.cvm-kanban{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.cvm-kanban-col{border:1px solid var(--portal-border);background:var(--portal-bg-elevated);border-radius:8px;flex-direction:column;min-height:120px;display:flex}.cvm-ffmpeg{border:1px solid var(--portal-border);background:var(--portal-bg-elevated);border-radius:8px;margin-top:16px;padding:16px}.cvm-meter{background:var(--portal-bg-elevated);border:1px solid var(--portal-border);border-radius:4px;height:8px;margin:12px 0 4px;overflow:hidden}.cvm-meter-fill{display:block}.cvm-ffmpeg summary{cursor:pointer;font-family:var(--portal-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--portal-text-muted);margin-bottom:12px;font-size:12px}
