:root{--canvas:#ffffff;--layer:#f4f4f4;--layer-2:#ffffff;--layer-hover:#e8e8e8;--field:#f4f4f4;--border:#e0e0e0;--border-strong:#8d8d8d;--text:#161616;--text-2:#525252;--text-3:#6f6f6f;--text-on:#ffffff;--text-disabled:#a8a8a8;--accent:#006317;--accent-hover:#004f12;--accent-active:#003a0d;--accent-text:#006317;--brand:#00d030;--accent-light:#e3f9e8;--accent-border:#9be8ad;--error:#da1e28;--error-light:#fff1f1;--warning:#8a5a00;--warning-light:#fcf4d6;--blue:#0043ce;--blue-light:#edf5ff;--navy:#002b4a;--r-sm:0;--r:0;--r-lg:0;--font-ui:"Montserrat", system-ui, -apple-system, sans-serif;--font-mono:"Montserrat", system-ui, sans-serif;--shadow-1:0 1px 2px rgba(0,0,0,.06);--shadow-2:0 10px 32px rgba(0,0,0,.18);--muted:var(--text-2)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--canvas);color:var(--text);font-family:var(--font-ui);font-size:14px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:13px}a{color:var(--accent-text)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#c6c6c6}::-webkit-scrollbar-track{background:transparent}.scroll-y{overflow-y:auto}.shell{display:grid;grid-template-columns:300px 1fr;height:100vh}.sidenav{background:var(--canvas);border-right:1px solid var(--border);display:flex;flex-direction:column;gap:14px;padding:18px 14px;min-height:0}.nav-toggle,.nav-close{display:none}.nav-scrim{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#16161673}.brand{display:flex;align-items:center;gap:12px;padding:4px 8px}.brand-mark-img{width:34px;height:34px;display:block;flex-shrink:0}.brand-word .word{font-size:18px;font-weight:600;line-height:1.1;letter-spacing:-.01em}.brand-word .word .ia{color:var(--accent-text)}.brand-word .by{font-size:9.5px;color:var(--text-3);letter-spacing:.06em;text-transform:uppercase;font-weight:500;margin-top:3px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);color:var(--text-on);border:1px solid transparent;padding:10px 16px;min-height:40px;border-radius:var(--r);font-weight:500;font-size:13px;transition:background .11s ease}.btn:hover:not(:disabled){background:var(--accent-hover)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:disabled{opacity:.4;cursor:not-allowed}.btn svg{flex-shrink:0}.btn-ghost{background:transparent;color:var(--accent-text);border:1px solid var(--accent)}.btn-ghost:hover:not(:disabled){background:var(--accent-light)}.btn-subtle{background:var(--layer);color:var(--text);border:1px solid var(--border)}.btn-subtle:hover:not(:disabled){background:var(--layer-hover)}.btn-danger{background:transparent;color:var(--error);border:1px solid var(--error)}.btn-danger:hover:not(:disabled){background:var(--error-light)}.btn-new{width:100%}.btn-sm{min-height:34px;padding:7px 12px;font-size:12.5px}.icon-btn{width:36px;height:36px;border-radius:var(--r);background:transparent;border:none;color:var(--text-2);display:inline-flex;align-items:center;justify-content:center;transition:background .12s ease;flex-shrink:0}.icon-btn:hover{background:var(--layer);color:var(--text)}.mini{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;background:transparent;color:var(--text-3);border:1px solid transparent;border-radius:var(--r);flex-shrink:0;transition:all .12s ease}.mini:hover{background:var(--layer-hover);color:var(--text);border-color:var(--border)}.mini.danger{color:var(--error)}.mini.danger:hover{background:var(--error-light);border-color:#da1e2866}.tree-search{display:flex;align-items:center;gap:8px;padding:0 10px;height:38px;background:var(--field);border:1px solid transparent;border-bottom:1px solid var(--border-strong);color:var(--text-3)}.tree-search:focus-within{border-bottom-color:var(--accent)}.tree-search input{flex:1;min-width:0;background:transparent;border:none;color:var(--text);outline:none}.tree-search-x{background:none;border:none;color:var(--text-3);display:inline-flex;padding:2px}.tree-search-x:hover{color:var(--text)}.tree{flex:1;display:flex;flex-direction:column;gap:4px;min-height:0;margin:0 -4px;padding:2px 4px 8px}.tree-course{display:flex;flex-direction:column}.tree-course+.tree-course{margin-top:16px;border-top:1px solid var(--border);padding-top:14px}.tree-row{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:var(--r);width:100%;text-align:left}.tree-ico{color:var(--text-3);flex-shrink:0}.tree-course-row{font-weight:600;font-size:13px;margin-top:0;padding:6px 8px 8px;gap:9px;letter-spacing:-.005em}.tree-course-row .tree-ico{color:var(--accent-text)}.tree-module{margin-top:6px}.tree-module-row{color:var(--text-3);font-size:10.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;padding:5px 8px 5px 16px;gap:8px}.tree-module-row .tree-ico{color:var(--text-3)}.tree-module-row span:not(.tree-ico){flex:1}.tree-module-title,.tree-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-lessons{position:relative;margin:2px 0 0;padding-left:24px;display:flex;flex-direction:column;gap:2px}.tree-lessons:before{content:"";position:absolute;left:22px;top:2px;bottom:10px;width:1px;background:var(--border)}.tree-row .mini{opacity:0}.tree-row:hover .mini,.tree-course-row .mini,.tree-module-row .mini{opacity:1}.mini-status{width:7px;height:7px;border-radius:50%;background:var(--border-strong);flex-shrink:0}.mini-status.published{background:var(--accent)}.mini-status.draft{background:var(--warning)}.mini-status.archived{background:var(--text-3)}.tree-lesson{position:relative;min-height:36px;padding:8px 8px 8px 12px;background:transparent;border:none;border-left:3px solid transparent;color:var(--text-2);cursor:pointer;font-size:13px;transition:background .11s ease,color .11s ease}.tree-lesson:hover{background:var(--layer);color:var(--text)}.tree-lesson.active{background:var(--accent-light);border-left-color:var(--accent);color:var(--accent-active);font-weight:600}.tree-lesson-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dot{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-strong);border-radius:50%;color:var(--text-3);flex-shrink:0}.dot.filled{background:var(--accent-light);border-color:var(--accent-border);color:var(--accent)}.tree-lesson.active .dot.filled{background:var(--canvas)}.lesson-flag{width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0}.group-empty{font-size:11.5px;color:var(--text-3);padding:5px 0 5px 12px;font-style:italic}.tree-empty{color:var(--text-3);font-size:12.5px;padding:16px 8px;line-height:1.5}.tree-skeleton{display:flex;flex-direction:column;gap:10px;padding:12px 8px}.sk-row{height:14px;background:linear-gradient(90deg,var(--layer) 25%,var(--layer-hover) 50%,var(--layer) 75%);background-size:200% 100%;animation:shimmer 1.3s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.side-foot{display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--border);padding-top:12px}.conn{display:flex;align-items:center;gap:10px;padding:9px 11px;background:var(--layer);border:1px solid var(--border);border-left:3px solid var(--border-strong)}.conn.ok{border-left-color:var(--accent);color:var(--accent-text)}.conn.demo{border-left-color:var(--brand);color:var(--accent-text);background:var(--accent-light)}.conn.off{border-left-color:var(--error);color:var(--error)}.conn svg{flex-shrink:0}.conn-text{display:flex;flex-direction:column;min-width:0;flex:1}.conn-state{font-size:12px;font-weight:600;color:var(--text)}.conn-detail{font-size:10px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conn-count{font-size:10px;color:var(--text-3);font-variant-numeric:tabular-nums;white-space:nowrap}.powered{display:flex;align-items:center;gap:8px;padding:0 4px;opacity:.7}.powered img{height:15px;width:auto}.powered span{font-size:9px;color:var(--text-3);letter-spacing:.07em;text-transform:uppercase;font-weight:500}.workspace{display:flex;flex-direction:column;min-width:0;overflow:hidden}.topbar{height:56px;flex-shrink:0;display:flex;align-items:center;gap:14px;padding:0 28px;border-bottom:1px solid var(--border);background:var(--canvas)}.crumb{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text-3);min-width:0}.crumb .seg-c{color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crumb .seg-c.now{color:var(--text);font-weight:600}.crumb svg{flex-shrink:0;opacity:.6}.top-spacer{flex:1}.demo-badge{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:600;color:var(--accent-active);background:var(--accent-light);border:1px solid var(--accent-border);padding:5px 11px;letter-spacing:.02em}.demo-badge .pulse{width:7px;height:7px;border-radius:50%;background:var(--brand)}.view{flex:1;overflow-y:auto;padding:26px 28px 56px;animation:fade .3s ease}@keyframes fade{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.banner{display:flex;align-items:flex-start;gap:12px;padding:13px 16px;border:1px solid var(--border);margin-bottom:20px;font-size:13px;line-height:1.5}.banner.error{background:var(--error-light);border-color:#da1e2866;border-left:3px solid var(--error);color:#6f0e14}.banner .banner-ico{color:var(--error);flex-shrink:0;margin-top:1px}.banner .banner-body{flex:1}.banner .banner-actions{display:flex;gap:8px;margin-top:10px}.page-head{border-left:3px solid var(--accent);padding-left:16px;margin-bottom:22px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.page-head h1{font-size:clamp(20px,2.2vw,26px);font-weight:300;letter-spacing:-.01em;margin:0}.status-pill{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:4px 10px;border:1px solid var(--border-strong);color:var(--text-2);display:inline-flex;align-items:center;gap:6px}.status-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.status-pill.published{color:var(--accent-active);border-color:var(--accent-border);background:var(--accent-light)}.status-pill.draft{color:var(--warning);border-color:#b2860066;background:var(--warning-light)}.status-pill.archived{color:var(--text-3)}.page-head .lesson-meta{color:var(--text-3);font-size:12px;font-variant-numeric:tabular-nums;display:inline-flex;align-items:center;gap:6px}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);margin-bottom:22px}.tabs button{display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--text-2);border:none;border-bottom:2px solid transparent;padding:12px 18px;font-size:13.5px;font-weight:500;transition:color .11s ease,background .11s ease}.tabs button:hover{color:var(--text);background:var(--layer)}.tabs button.active{color:var(--accent-active);border-bottom-color:var(--accent)}.tabs button svg{flex-shrink:0}.tabs .tab-count{font-size:11px;font-variant-numeric:tabular-nums;background:var(--layer-hover);color:var(--text-2);padding:1px 7px;border-radius:99px;min-width:20px;text-align:center}.tabs button.active .tab-count{background:var(--accent);color:var(--text-on)}.panel{background:var(--layer);border:1px solid var(--border);border-radius:var(--r);padding:20px 22px;display:flex;flex-direction:column;gap:16px}.panel-2{background:var(--canvas)}.panel-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.panel-head h3{font-size:14px;font-weight:600;margin:0;letter-spacing:-.01em}.panel-head .sub{font-size:11px;color:var(--text-3)}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.row.end{justify-content:flex-end}.spacer{flex:1}.muted{color:var(--text-2)}.small{font-size:12px}.hint{color:var(--text-3);font-size:12px;line-height:1.55}.hint b{color:var(--text-2);font-weight:600}.dropzone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:150px;border:1px dashed var(--border-strong);background:var(--canvas);padding:24px;text-align:center;color:var(--text-2);transition:border-color .12s ease,background .12s ease}.dropzone:hover,.dropzone.drag{border-color:var(--accent);background:var(--accent-light)}.dropzone input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.dropzone .dz-ico{width:46px;height:46px;display:flex;align-items:center;justify-content:center;background:var(--layer);border:1px solid var(--border);color:var(--accent-text)}.dropzone.drag .dz-ico{background:var(--canvas)}.dropzone .dz-title{font-size:14px;font-weight:600;color:var(--text)}.dropzone .dz-sub{font-size:12px;color:var(--text-3)}.dz-file{display:flex;align-items:center;gap:12px}.dz-file .dz-ico{color:var(--accent-text)}.dz-file .nm{font-weight:600;color:var(--text)}.dz-file .sz{font-size:12px;color:var(--text-3);font-variant-numeric:tabular-nums}.progress{position:relative;height:28px;background:var(--field);border:1px solid var(--border);overflow:hidden}.progress-fill{height:100%;background:var(--accent);transition:width .2s ease}.progress-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.proc-pill{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:600;padding:5px 11px;border:1px solid var(--border-strong);color:var(--text-2);text-transform:lowercase;letter-spacing:.02em}.proc-pill .spin{width:12px;height:12px;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.proc-pill.ready{color:var(--accent-active);border-color:var(--accent-border);background:var(--accent-light)}.proc-pill.error,.proc-pill.failed{color:var(--error);border-color:#da1e2866;background:var(--error-light)}.note{display:flex;align-items:flex-start;gap:9px;padding:11px 14px;font-size:13px;line-height:1.5;background:var(--canvas);border:1px solid var(--border);border-left:3px solid var(--border-strong)}.note svg{flex-shrink:0;margin-top:1px}.note.ok{color:var(--accent-active);border-left-color:var(--accent);background:var(--accent-light)}.note.err{color:#6f0e14;border-left-color:var(--error);background:var(--error-light)}.note.info{color:var(--blue);border-left-color:var(--navy);background:var(--blue-light)}.mat-list{display:flex;flex-direction:column;gap:0;border:1px solid var(--border);background:var(--canvas)}.mat-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid var(--border)}.mat-row:last-child{border-bottom:none}.mat-row:hover{background:var(--layer)}.mat-ico{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:var(--layer);border:1px solid var(--border);color:var(--text-2);flex-shrink:0}.mat-main{flex:1;min-width:0}.mat-name{font-weight:600;font-size:13.5px}.mat-uri{display:inline-flex;align-items:center;gap:5px;color:var(--text-3);font-size:12px;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.mat-uri:hover{color:var(--accent-text);text-decoration:underline}.tag{font-size:10px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;padding:3px 8px;background:var(--layer);border:1px solid var(--border);color:var(--text-2);white-space:nowrap}.tag.mcq{color:var(--accent-active);border-color:var(--accent-border);background:var(--accent-light)}.tag.reflection{color:var(--blue);border-color:#0043ce4d;background:var(--blue-light)}.tag.checkpoint{color:var(--warning);border-color:#b2860066;background:var(--warning-light)}.tag.blk{color:var(--error);border-color:#da1e2866;background:var(--error-light)}.field-input,.cue-form input,.cue-form select,.cue-form textarea,.dialog-form input{width:100%;background:var(--field);border:1px solid transparent;border-bottom:1px solid var(--border-strong);color:var(--text);padding:10px 12px;border-radius:0;transition:border-color .12s ease,background .12s ease}.field-input:focus,.cue-form input:focus,.cue-form select:focus,.cue-form textarea:focus,.dialog-form input:focus{outline:none;border-bottom-color:var(--accent);background:var(--layer-hover)}.cue-form textarea{resize:vertical;min-height:64px;line-height:1.5}.mat-composer{display:flex;flex-direction:column;gap:16px}.kind-seg.kind-seg-5{grid-template-columns:repeat(5,1fr)}.mat-desc{display:flex;flex-direction:column;gap:3px;padding:12px 14px;background:var(--canvas);border:1px solid var(--border);border-left:3px solid var(--accent)}.mat-desc .md-title{font-size:13px;font-weight:600;color:var(--text)}.mat-desc .md-text{font-size:12px;color:var(--text-2);line-height:1.5}.mat-body{display:flex;flex-direction:column;gap:14px}.mat-body .field{display:flex;flex-direction:column;gap:6px}.mat-dz{min-height:130px}.code-bar{display:flex;align-items:center;justify-content:space-between;gap:12px}.code-lang{width:auto;min-width:160px}.code-editor{width:100%;min-height:200px;resize:vertical;background:var(--field);border:1px solid transparent;border-bottom:1px solid var(--border-strong);color:var(--text);padding:12px 14px;border-radius:0;font-family:SFMono-Regular,Consolas,Menlo,monospace;font-size:12.5px;line-height:1.55;-moz-tab-size:2;tab-size:2;white-space:pre;overflow:auto;transition:border-color .12s ease,background .12s ease}.code-editor:focus{outline:none;border-bottom-color:var(--accent);background:var(--layer-hover)}.code-meta{align-self:flex-end;font-size:11px;color:var(--text-3);font-variant-numeric:tabular-nums}.code-meta.over{color:var(--error);font-weight:600}.mat-foot{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;padding-top:14px;border-top:1px solid var(--border)}.mat-foot .btn{min-height:40px;align-self:end}.empty{max-width:640px;margin:4vh auto 0;text-align:center}.empty .empty-mark{width:60px;height:60px;margin:0 auto 20px;display:flex;align-items:center;justify-content:center;background:var(--accent-light);border:1px solid var(--accent-border);color:var(--accent-text)}.empty h1{font-size:26px;font-weight:300;letter-spacing:-.01em;margin:0 0 10px}.empty p{color:var(--text-2);font-size:14px;line-height:1.6;margin:0 0 26px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border);text-align:left}.step{background:var(--layer);padding:18px;display:flex;flex-direction:column;gap:8px}.step .step-n{width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:var(--accent);color:var(--text-on);font-size:12px;font-weight:600}.step .step-t{font-size:13.5px;font-weight:600}.step .step-d{font-size:12px;color:var(--text-3);line-height:1.5}.tab-empty{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;color:var(--text-3);padding:30px 16px}.tab-empty .te-ico{color:var(--border-strong)}.tab-empty .te-title{font-size:13.5px;font-weight:600;color:var(--text-2)}.q-panel{display:grid;grid-template-columns:1.5fr 1fr;gap:0;padding:0;overflow:hidden}.q-left{display:flex;flex-direction:column;gap:14px;min-width:0;padding:20px 22px}.q-video{width:100%;max-height:320px;background:#000;border:1px solid var(--border);display:block}.timeline-wrap{display:flex;flex-direction:column;gap:4px}.timeline{position:relative;height:38px;background:var(--field);border:1px solid var(--border);cursor:pointer}.tl-marker{position:absolute;top:6px;width:14px;height:26px;transform:translate(-50%);border:1px solid var(--canvas);background:var(--accent);transition:transform .1s ease;padding:0}.tl-marker:hover{transform:translate(-50%) scaleY(1.1)}.tl-marker.reflection{background:var(--navy)}.tl-marker.checkpoint{background:var(--warning)}.tl-marker.blk{box-shadow:0 0 0 2px var(--error)}.tl-marker.sel{box-shadow:0 0 0 2px var(--text);z-index:2}.tl-marker.blk.sel{box-shadow:0 0 0 2px var(--error),0 0 0 4px var(--text)}.tl-playhead{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--accent);pointer-events:none}.tl-playhead:before{content:"";position:absolute;top:-4px;left:-3px;border:4px solid transparent;border-top-color:var(--accent)}.tl-ruler{display:flex;justify-content:space-between;font-size:10px;color:var(--text-3);font-variant-numeric:tabular-nums}.cue-list{display:flex;flex-direction:column;gap:0;border:1px solid var(--border);background:var(--canvas)}.cue-li{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--border);border-left:3px solid transparent;cursor:pointer;width:100%;text-align:left;background:transparent;transition:background .11s ease}.cue-li:last-child{border-bottom:none}.cue-li:hover{background:var(--layer)}.cue-li.active{background:var(--accent-light);border-left-color:var(--accent)}.cue-at{font-variant-numeric:tabular-nums;color:var(--text-2);font-size:12px;font-weight:600;min-width:38px}.cue-q{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.cue-q i{color:var(--text-3)}.issues{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.issues li{display:flex;align-items:flex-start;gap:8px;font-size:12px;padding:7px 11px;border-left:3px solid}.issues li.error{color:#6f0e14;background:var(--error-light);border-left-color:var(--error)}.issues li.warning{color:var(--warning);background:var(--warning-light);border-left-color:var(--warning)}.q-right{border-left:1px solid var(--border);background:var(--layer-2);padding:20px 22px;min-width:0}.q-right-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;height:100%;min-height:260px;text-align:center;color:var(--text-3)}.cue-form{display:flex;flex-direction:column;gap:16px}.cue-form-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:14px;border-bottom:1px solid var(--border)}.cue-form-head .cf-at{font-size:18px;font-weight:300;font-variant-numeric:tabular-nums;display:inline-flex;align-items:center;gap:8px}.cue-form-head .cf-at svg{color:var(--text-3)}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:11px;color:var(--text-3);font-weight:600;letter-spacing:.02em;text-transform:uppercase}.field-label .req{color:var(--error)}.field-hint{font-size:11px;color:var(--text-3)}.field label.inline,label.inline{display:flex;flex-direction:row;align-items:center;gap:9px;color:var(--text);font-size:13px;cursor:pointer}.kind-seg{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border-strong)}.kind-seg button{display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px 6px;background:var(--canvas);border:none;border-right:1px solid var(--border-strong);color:var(--text-2);font-size:11px;font-weight:500;transition:all .11s ease}.kind-seg button:last-child{border-right:none}.kind-seg button:hover{background:var(--layer);color:var(--text)}.kind-seg button.active{background:var(--accent);color:var(--text-on)}.kind-seg button svg{flex-shrink:0}.opt-row{display:flex;align-items:center;gap:10px}.opt-check{width:36px;height:36px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-strong);background:var(--canvas);color:var(--text-3)}.opt-check.on{background:var(--accent);border-color:var(--accent);color:var(--text-on)}.opt-check input{position:absolute;opacity:0;width:0;height:0}.opt-text{flex:1}.opt-add{align-self:flex-start}.toggle-card{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--canvas);border:1px solid var(--border)}.toggle-card.on{border-color:var(--accent-border);background:var(--accent-light)}.toggle-card .tc-body{flex:1}.toggle-card .tc-title{font-size:13px;font-weight:600}.toggle-card .tc-sub{font-size:11.5px;color:var(--text-3)}.switch{position:relative;width:40px;height:22px;flex-shrink:0}.switch input{position:absolute;opacity:0;width:0;height:0}.switch .track{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--border-strong);transition:background .14s ease}.switch .thumb{position:absolute;top:3px;left:3px;width:16px;height:16px;background:var(--text-on);transition:transform .14s ease}.switch input:checked+.track{background:var(--accent)}.switch input:checked+.track+.thumb{transform:translate(18px)}.switch input:disabled+.track{opacity:.4}.timeline.seekable{cursor:pointer}.tl-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--text-3)}.tl-marker.err{outline:2px solid var(--error);outline-offset:1px}.cue-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.limit-count{font-size:11px;color:var(--text-3);font-variant-numeric:tabular-nums;white-space:nowrap}.limit-count.over{color:var(--error);font-weight:600}.dirty-dot{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--warning);background:var(--warning-light);border:1px solid rgba(178,134,0,.4);padding:4px 9px;white-space:nowrap}.dirty-dot:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--warning)}.val-summary{display:flex;align-items:center;gap:8px;font-size:12.5px;padding:9px 12px;border-left:3px solid}.val-summary svg{flex-shrink:0}.val-summary.has-err{color:#6f0e14;background:var(--error-light);border-left-color:var(--error)}.val-summary.has-err svg{color:var(--error)}.val-summary.has-warn{color:var(--warning);background:var(--warning-light);border-left-color:var(--warning)}.val-summary .vs-tail{color:inherit;opacity:.85;font-weight:400}.issues.compact li{font-size:11.5px;padding:6px 9px}.cue-flag{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-left:auto}.cue-flag.err{background:var(--error)}.cue-flag.warn{background:var(--warning)}.cue-li .cue-q{margin-right:4px}.cf-at-input{width:96px;background:var(--field);border:1px solid transparent;border-bottom:1px solid var(--border-strong);color:var(--text);font-size:18px;font-weight:300;font-variant-numeric:tabular-nums;padding:4px 8px}.cf-at-input:focus{outline:none;border-bottom-color:var(--accent);background:var(--layer-hover)}.cue-list-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.clh-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-2)}.clh-count{font-size:11px;font-variant-numeric:tabular-nums;background:var(--layer-hover);color:var(--text-2);padding:1px 8px;border-radius:99px;margin-left:4px}.clh-actions{display:flex;gap:8px}.cue-form-foot{display:flex;align-items:center;gap:10px;padding-top:6px;border-top:1px solid var(--border)}.tab-dot{width:7px;height:7px;border-radius:50%;background:var(--warning)}.tl-marker{cursor:grab;touch-action:none}.tl-marker:active{cursor:grabbing}.lesson-picker{display:flex;flex-direction:column;gap:0;border:1px solid var(--border);max-height:56vh;overflow-y:auto}.lp-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border:none;border-bottom:1px solid var(--border);border-left:3px solid transparent;background:var(--canvas);text-align:left;width:100%;color:var(--text-2);transition:background .11s ease,border-color .11s ease}.lp-row:last-child{border-bottom:none}.lp-row:hover{background:var(--accent-light);border-left-color:var(--accent)}.lp-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.lp-title{font-size:13.5px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lp-row:hover .lp-title{color:var(--accent-active)}.lp-path{font-size:11px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lp-row svg{flex-shrink:0;opacity:.55}.sp-card{display:flex;flex-direction:column;gap:14px;background:var(--layer);border:1px solid var(--border);border-left:3px solid var(--accent);padding:18px 20px}.sp-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.sp-kind{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-text)}.sp-blocking{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:600;color:var(--error);background:var(--error-light);border:1px solid rgba(218,30,40,.3);padding:3px 8px}.sp-question{font-size:16px;font-weight:600;line-height:1.45;margin:0;color:var(--text)}.sp-options{display:flex;flex-direction:column;gap:8px}.sp-opt{display:flex;align-items:center;gap:11px;padding:12px 14px;background:var(--canvas);border:1px solid var(--border-strong);color:var(--text);font-size:13.5px;text-align:left;width:100%;transition:border-color .11s ease,background .11s ease}.sp-opt:hover:not(:disabled){border-color:var(--accent);background:var(--accent-light)}.sp-opt.picked{border-color:var(--accent)}.sp-opt:disabled{cursor:default}.sp-opt.correct{border-color:var(--accent);background:var(--accent-light);color:var(--accent-active)}.sp-opt.wrong{border-color:var(--error);background:var(--error-light);color:#6f0e14}.sp-opt-text{flex:1}.sp-opt-ico{color:var(--accent);flex-shrink:0}.sp-mark{width:20px;height:20px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-strong);color:var(--text-on)}.sp-mark.radio{border-radius:50%}.sp-mark.on{background:var(--accent);border-color:var(--accent)}.sp-mark.radio.on{background:var(--canvas);position:relative}.sp-mark.radio.on:after{content:"";width:10px;height:10px;border-radius:50%;background:var(--accent)}.sp-result{display:flex;flex-direction:column;gap:8px;padding:13px 15px;border-left:3px solid}.sp-result.ok{background:var(--accent-light);border-left-color:var(--accent)}.sp-result.no{background:var(--error-light);border-left-color:var(--error)}.sp-verdict{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600}.sp-result.ok .sp-verdict{color:var(--accent-active)}.sp-result.no .sp-verdict{color:#6f0e14}.sp-feedback{font-size:13px;line-height:1.5;color:var(--text-2)}.sp-redo{align-self:flex-start}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#1616168c;display:flex;align-items:center;justify-content:center;padding:24px;animation:fade .16s ease}.modal{background:var(--canvas);border:1px solid var(--border);box-shadow:var(--shadow-2);width:100%;max-width:460px;display:flex;flex-direction:column;max-height:90vh}.modal-md{max-width:620px}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 22px 14px;border-bottom:1px solid var(--border)}.modal-head h2{font-size:17px;font-weight:600;margin:0;letter-spacing:-.01em}.modal-sub{font-size:12.5px;color:var(--text-3);margin:5px 0 0;line-height:1.5}.modal-body{padding:20px 22px;overflow-y:auto}.modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:14px 22px;border-top:1px solid var(--border);background:var(--layer)}.confirm-msg{margin:0;font-size:13.5px;line-height:1.6;color:var(--text-2)}.btn-danger-solid{background:var(--error);color:#fff;border:1px solid transparent}.btn-danger-solid:hover:not(:disabled){background:#b81922}.dialog-form{display:flex;flex-direction:column;gap:16px}.dialog-form .field-label{text-transform:none;letter-spacing:0;font-size:12.5px;color:var(--text-2)}.toast-host{position:fixed;top:18px;right:18px;z-index:300;display:flex;flex-direction:column;gap:10px;max-width:380px}.toast{display:flex;align-items:flex-start;gap:10px;padding:13px 14px;background:var(--canvas);border:1px solid var(--border);border-left:3px solid var(--border-strong);box-shadow:var(--shadow-2);animation:toastIn .2s cubic-bezier(.2,0,.38,.9)}@keyframes toastIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:none}}.toast.ok{border-left-color:var(--accent)}.toast.ok .toast-ico{color:var(--accent)}.toast.err{border-left-color:var(--error)}.toast.err .toast-ico{color:var(--error)}.toast.info{border-left-color:var(--navy)}.toast.info .toast-ico{color:var(--navy)}.toast-ico{flex-shrink:0;margin-top:1px}.toast-msg{flex:1;font-size:13px;line-height:1.45;color:var(--text)}.toast-x{background:none;border:none;color:var(--text-3);display:inline-flex;padding:2px;flex-shrink:0}.toast-x:hover{color:var(--text)}@media (max-width: 1080px){.q-panel{grid-template-columns:1fr}.q-right{border-left:none;border-top:1px solid var(--border)}}@media (max-width: 860px){.shell{grid-template-columns:1fr}.sidenav{position:fixed;top:0;left:0;z-index:100;width:min(320px,86vw);height:100vh;transform:translate(-100%);transition:transform .22s cubic-bezier(.2,0,.38,.9)}.sidenav.open{transform:translate(0);box-shadow:var(--shadow-2)}.nav-scrim.show{display:block}.nav-close{display:inline-flex;align-items:center;justify-content:center;position:absolute;top:14px;right:12px;width:34px;height:34px;background:transparent;border:1px solid var(--border);color:var(--text-2)}.nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;background:var(--layer);border:1px solid var(--border);color:var(--text)}.topbar{padding:0 16px}.view{padding:22px 16px 44px}}@media (max-width: 560px){.mat-foot{grid-template-columns:1fr}.mat-foot .btn{width:100%}.kind-seg.kind-seg-5 button{font-size:10px;padding:9px 4px}.steps{grid-template-columns:1fr}.tabs button{padding:11px 12px;font-size:12.5px}.toast-host{left:14px;right:14px;max-width:none}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.opt-check:focus-within{outline:2px solid var(--accent);outline-offset:2px}.switch:focus-within .track{box-shadow:0 0 0 2px var(--canvas),0 0 0 4px var(--accent)}.tl-marker:focus-visible{outline:2px solid var(--text);outline-offset:2px;z-index:3}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
