*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--clr-primary: #6D28D9;--clr-primary-lt: #7C3AED;--clr-primary-dark: #5B21B6;--clr-primary-bg: #EDE9FE;--clr-secondary: #0891B2;--clr-secondary-bg: #CFFAFE;--clr-accent: #059669;--clr-accent-bg: #D1FAE5;--clr-danger: #DC2626;--clr-danger-bg: #FEE2E2;--clr-warning: #D97706;--clr-warning-bg: #FEF3C7;--clr-bg: #F8F7FF;--clr-surface: #FFFFFF;--clr-surface-2: #F3F0FF;--clr-surface-3: #EDE9FE;--clr-border: #E4E0F5;--clr-border-dark: #C4B9F0;--clr-text: #1E1B4B;--clr-text-muted: #6B7280;--clr-text-faint: #9CA3AF;--clr-header-bg: #1E1B4B;--clr-header-text: #EDE9FE;--shadow-sm: 0 1px 2px rgba(109,40,217,.08);--shadow-md: 0 4px 12px rgba(109,40,217,.12);--shadow-lg: 0 8px 24px rgba(109,40,217,.16);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--ease: cubic-bezier(.4,0,.2,1);--dur: .18s;--font-sans: "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", monospace}html{font-size:14px}body{font-family:var(--font-sans);background:var(--clr-bg);color:var(--clr-text);line-height:1.6;overflow:hidden;height:100dvh}#root{height:100dvh;display:flex;flex-direction:column}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--clr-border-dark);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--clr-primary)}:focus-visible{outline:2px solid var(--clr-primary);outline-offset:2px;border-radius:var(--radius-sm)}::selection{background:var(--clr-primary-bg);color:var(--clr-primary-dark)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.pdf-viewer{display:flex;flex-direction:column;height:100%;background:#525659}.pdf-toolbar{display:flex;align-items:center;gap:4px;padding:6px 12px;background:#3c3f41;border-bottom:1px solid #2a2c2e;flex-shrink:0;height:40px}.pdf-toolbar__group{display:flex;align-items:center;gap:2px}.pdf-toolbar__sep{width:1px;height:18px;background:#ffffff26;margin:0 6px}.pdf-toolbar__btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--radius-sm);background:transparent;color:#d4d4d4;cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.pdf-toolbar__btn:hover:not(:disabled){background:#ffffff1a;color:#fff}.pdf-toolbar__btn:disabled{opacity:.3;cursor:not-allowed}.pdf-toolbar__page{display:flex;align-items:center;gap:4px;padding:0 6px}.pdf-toolbar__page-input{width:40px;height:26px;background:#ffffff1a;border:1px solid rgba(255,255,255,.15);border-radius:4px;color:#fff;font-size:.78rem;text-align:center;font-family:var(--font-mono);padding:0 4px;outline:none;transition:border-color var(--dur) var(--ease)}.pdf-toolbar__page-input:focus{border-color:var(--clr-primary-lt);background:#7c3aed33}.pdf-toolbar__page-sep{color:#fff6;font-size:.78rem}.pdf-toolbar__page-total{color:#bbb;font-size:.78rem;font-family:var(--font-mono);min-width:24px}.pdf-toolbar__zoom-label{background:transparent;border:none;color:#d4d4d4;font-size:.75rem;font-family:var(--font-mono);cursor:pointer;padding:0 6px;height:28px;border-radius:4px;transition:background var(--dur) var(--ease),color var(--dur) var(--ease);min-width:44px;text-align:center}.pdf-toolbar__zoom-label:hover{background:#ffffff1a;color:#fff}.pdf-canvas-area{flex:1;overflow:auto;display:flex;flex-direction:column;align-items:center;padding:20px 12px;gap:12px}.pdf-canvas-wrapper{display:inline-block;box-shadow:0 4px 20px #00000080;flex-shrink:0}.pdf-canvas{display:block;background:#fff}.pdf-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#fff9;font-size:.875rem;text-align:center;padding:40px;width:100%}.pdf-state p{font-size:.9rem;color:#fffc;font-weight:500}.pdf-state span{font-size:.75rem;opacity:.6;max-width:280px}.pdf-state--error{color:#f87171}.pdf-state--error svg{color:#f87171}@keyframes pdf-spin{to{transform:rotate(360deg)}}.pdf-spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.15);border-top-color:var(--clr-primary-lt);border-radius:50%;animation:pdf-spin .8s linear infinite}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f0c28b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:modal-backdrop-in .15s var(--ease)}@keyframes modal-backdrop-in{0%{opacity:0}to{opacity:1}}.modal{background:var(--clr-surface);border-radius:var(--radius-lg);box-shadow:0 20px 60px #6d28d933,0 0 0 1px #6d28d91a;width:100%;max-width:520px;max-height:85vh;display:flex;flex-direction:column;animation:modal-in .2s var(--ease);overflow:hidden}.modal--lg{max-width:680px}@keyframes modal-in{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}.modal__header{display:flex;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid var(--clr-border);flex-shrink:0}.modal__header-icon{width:36px;height:36px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.modal__header-icon--split{background:var(--clr-primary-bg);color:var(--clr-primary)}.modal__header-icon--merge{background:var(--clr-secondary-bg);color:var(--clr-secondary)}.modal__header-icon--edit{background:var(--clr-accent-bg);color:var(--clr-accent)}.modal__header-icon--delete{background:var(--clr-danger-bg);color:var(--clr-danger)}.modal__title{font-size:.95rem;font-weight:700;color:var(--clr-text);line-height:1.3}.modal__subtitle{font-size:.75rem;color:var(--clr-text-muted);margin-top:1px}.modal__subtitle strong{color:var(--clr-primary)}.modal__close{margin-left:auto;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--clr-text-muted);cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease);flex-shrink:0}.modal__close:hover{background:var(--clr-danger-bg);color:var(--clr-danger)}.modal__body{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:14px}.modal__hint{display:flex;align-items:flex-start;gap:8px;font-size:.8rem;color:var(--clr-text-muted);background:var(--clr-surface-2);border-radius:var(--radius-sm);padding:10px 12px;border-left:3px solid var(--clr-primary);line-height:1.5}.modal__hint svg{color:var(--clr-primary);flex-shrink:0;margin-top:1px}.modal__textarea{width:100%;min-height:180px;padding:12px;border:1.5px solid var(--clr-border);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:.82rem;line-height:1.7;color:var(--clr-text);background:var(--clr-surface);resize:vertical;outline:none;transition:border-color var(--dur) var(--ease)}.modal__textarea:focus{border-color:var(--clr-primary)}.split-preview{display:flex;flex-direction:column;gap:0;border:1.5px solid var(--clr-border);border-radius:var(--radius-md);overflow:hidden}.split-preview__part{padding:10px 14px;background:var(--clr-surface)}.split-preview__label{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.4px;text-transform:uppercase;padding:2px 8px;border-radius:99px;margin-bottom:6px}.split-preview__label--1{background:var(--clr-primary-bg);color:var(--clr-primary)}.split-preview__label--2{background:var(--clr-secondary-bg);color:var(--clr-secondary)}.split-preview__text{font-size:.8rem;line-height:1.5;color:var(--clr-text)}.split-preview__divider{display:flex;align-items:center;gap:8px;padding:6px 14px;background:var(--clr-surface-3);font-size:.72rem;font-weight:600;color:var(--clr-primary);border-top:1px dashed var(--clr-border-dark);border-bottom:1px dashed var(--clr-border-dark)}.merge-list{display:flex;flex-direction:column;gap:8px;max-height:360px;overflow-y:auto}.merge-option{position:relative;text-align:left;border:1.5px solid var(--clr-border);border-radius:var(--radius-md);padding:12px 14px;background:var(--clr-surface);cursor:pointer;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease),transform var(--dur) var(--ease);width:100%}.merge-option:hover{border-color:var(--clr-primary);background:var(--clr-surface-2);transform:translateY(-1px)}.merge-option--selected{border-color:var(--clr-primary)!important;background:var(--clr-primary-bg)!important;box-shadow:0 0 0 2px #6d28d926}.merge-option__header{display:flex;align-items:center;gap:8px;margin-bottom:4px;flex-wrap:wrap}.merge-option__id{font-size:.72rem;font-weight:700;font-family:var(--font-mono);color:var(--clr-primary)}.merge-option__location{font-size:.68rem;color:var(--clr-text-faint);margin-left:auto}.merge-option__name{font-size:.82rem;font-weight:600;color:var(--clr-text);margin-bottom:4px}.merge-option__snippet{font-size:.75rem;color:var(--clr-text-muted);line-height:1.5}.merge-option__check{position:absolute;top:12px;right:12px;width:22px;height:22px;border-radius:50%;background:var(--clr-primary);color:#fff;display:flex;align-items:center;justify-content:center}.merge-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px;color:var(--clr-text-faint);font-size:.85rem;text-align:center}.modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:16px 20px;border-top:1px solid var(--clr-border);flex-shrink:0;background:var(--clr-surface-2)}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;border-radius:var(--radius-md);font-size:.82rem;font-weight:600;cursor:pointer;border:1.5px solid transparent;transition:all var(--dur) var(--ease);line-height:1}.btn--primary{background:var(--clr-primary);color:#fff;border-color:var(--clr-primary)}.btn--primary:hover:not(:disabled){background:var(--clr-primary-dark);border-color:var(--clr-primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #6d28d959}.btn--primary:disabled{opacity:.45;cursor:not-allowed}.btn--danger{background:var(--clr-danger);color:#fff;border-color:var(--clr-danger)}.btn--danger:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c;transform:translateY(-1px)}.btn--ghost{background:transparent;color:var(--clr-text-muted);border-color:var(--clr-border)}.btn--ghost:hover{background:var(--clr-surface-2);border-color:var(--clr-border-dark);color:var(--clr-text)}.topic-type-badge{display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:.3px;text-transform:uppercase;padding:2px 7px;border-radius:99px}.topic-type-badge--concept{background:var(--clr-primary-bg);color:var(--clr-primary)}.topic-type-badge--activity{background:var(--clr-accent-bg);color:var(--clr-accent)}.topic-type-badge--application{background:var(--clr-secondary-bg);color:var(--clr-secondary)}.topic-type-badge--assessment{background:var(--clr-warning-bg);color:var(--clr-warning)}.topic-type-badge--summary{background:#f0fdf4;color:#16a34a}.modal--xl{max-width:820px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group--flex{flex:1;min-width:0}.form-group--sm{gap:4px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-label{font-size:.75rem;font-weight:700;color:var(--clr-text-muted);display:flex;align-items:center;gap:5px}.form-required{color:var(--clr-danger)}.form-input{height:36px;padding:0 12px;border:1.5px solid var(--clr-border);border-radius:var(--radius-md);font-size:.82rem;font-family:var(--font-sans);color:var(--clr-text);background:var(--clr-surface);outline:none;transition:border-color var(--dur) var(--ease);width:100%}.form-input:focus{border-color:var(--clr-primary);box-shadow:0 0 0 3px #6d28d91a}.form-textarea{padding:10px 12px;border:1.5px solid var(--clr-border);border-radius:var(--radius-md);font-size:.82rem;font-family:var(--font-sans);line-height:1.6;color:var(--clr-text);background:var(--clr-surface);outline:none;transition:border-color var(--dur) var(--ease);resize:vertical;min-height:80px;width:100%}.form-textarea:focus{border-color:var(--clr-primary);box-shadow:0 0 0 3px #6d28d91a}.form-select{height:36px;padding:0 10px;border:1.5px solid var(--clr-border);border-radius:var(--radius-md);font-size:.82rem;font-family:var(--font-sans);color:var(--clr-text);background:var(--clr-surface);outline:none;cursor:pointer;transition:border-color var(--dur) var(--ease);width:100%}.form-select:focus{border-color:var(--clr-primary)}.form-hint{font-size:.72rem;color:var(--clr-text-faint);line-height:1.4}.form-empty{font-size:.8rem;color:var(--clr-text-faint);font-style:italic;padding:8px 0}.bloom-picker{display:flex;flex-wrap:wrap;gap:6px}.bloom-pill{padding:5px 12px;border-radius:99px;font-size:.73rem;font-weight:700;border:2px solid transparent;cursor:pointer;transition:all var(--dur) var(--ease);text-transform:capitalize}.bloom-pill:hover{transform:translateY(-1px)}.bloom-pill--active{box-shadow:0 0 0 3px #6d28d933}.type-pills{display:flex;gap:6px;flex-wrap:wrap}.type-pill{padding:5px 14px;border-radius:99px;font-size:.72rem;font-weight:700;border:1.5px solid var(--clr-border);background:var(--clr-surface);color:var(--clr-text-muted);cursor:pointer;transition:all var(--dur) var(--ease);text-transform:uppercase;letter-spacing:.3px}.type-pill:hover{border-color:var(--clr-primary);color:var(--clr-primary);background:var(--clr-primary-bg)}.type-pill--active{background:var(--clr-primary)!important;border-color:var(--clr-primary)!important;color:#fff!important}.objective-preview{background:var(--clr-surface-2);border:1px solid var(--clr-border);border-radius:var(--radius-sm);padding:10px 12px;font-size:.8rem;color:var(--clr-text-muted);line-height:1.5;font-style:italic}.assign-list{display:flex;flex-direction:column;gap:5px;max-height:220px;overflow-y:auto}.assign-row{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;background:var(--clr-surface-2);border:1px solid var(--clr-border);border-radius:var(--radius-sm)}.assign-row__text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;font-size:.78rem}.assign-row__text code{font-family:var(--font-mono);font-size:.7rem;color:var(--clr-primary)}.assign-row__text span{font-size:.7rem;color:var(--clr-text-muted)}.assign-row__text p{color:var(--clr-text);line-height:1.4}.assign-row__btns{display:flex;gap:4px;flex-shrink:0;margin-top:1px}.assign-btn{width:28px;height:28px;border-radius:var(--radius-sm);font-size:.75rem;font-weight:800;border:1.5px solid var(--clr-border);background:var(--clr-surface);color:var(--clr-text-muted);cursor:pointer;transition:all var(--dur) var(--ease)}.assign-btn--a.assign-btn--active{background:var(--clr-primary);border-color:var(--clr-primary);color:#fff}.assign-btn--b.assign-btn--active{background:var(--clr-secondary);border-color:var(--clr-secondary);color:#fff}.assign-btn:hover:not(.assign-btn--active){border-color:var(--clr-border-dark);background:var(--clr-surface-3);color:var(--clr-text)}.assign-check-row{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--clr-surface-2);border:1px solid var(--clr-border);border-radius:var(--radius-sm);font-size:.78rem;color:var(--clr-text);cursor:pointer;transition:background var(--dur) var(--ease)}.assign-check-row--checked{background:var(--clr-primary-bg);border-color:#6d28d94d}.assign-check-row input[type=checkbox]{width:15px;height:15px;accent-color:var(--clr-primary);flex-shrink:0;cursor:pointer}.assign-src{font-size:.65rem;font-weight:800;padding:1px 6px;border-radius:99px;flex-shrink:0}.assign-src--a{background:var(--clr-primary-bg);color:var(--clr-primary)}.assign-src--b{background:var(--clr-secondary-bg);color:var(--clr-secondary)}.obj-bloom-small{font-size:.68rem;color:var(--clr-text-faint);flex-shrink:0}.merge-option--same-seg{border-color:#6d28d940}.merge-same-seg-badge{font-size:.62rem;font-weight:700;background:var(--clr-primary-bg);color:var(--clr-primary);border:1px solid rgba(109,40,217,.25);padding:1px 7px;border-radius:99px}.split-paragraphs{display:flex;flex-direction:column;gap:0}.split-para{position:relative;padding:10px 12px;border:1.5px solid var(--clr-border);border-radius:var(--radius-sm);background:var(--clr-surface);margin-bottom:4px;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.split-para--a{background:#6d28d90d;border-color:#6d28d94d}.split-para--b{background:#d946ef0d;border-color:#d946ef4d}.split-para p{font-size:.78rem;line-height:1.6;color:var(--clr-text)}.split-para__badge{position:absolute;top:8px;right:8px;font-size:.65rem;font-weight:800;padding:1px 7px;border-radius:99px}.split-para__badge--a{background:var(--clr-primary-bg);color:var(--clr-primary)}.split-para__badge--b{background:var(--clr-secondary-bg);color:var(--clr-secondary)}.split-divider-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:5px;border:1.5px dashed var(--clr-border);border-radius:var(--radius-sm);background:var(--clr-surface-2);color:var(--clr-text-faint);font-size:.72rem;font-weight:600;cursor:pointer;transition:all var(--dur) var(--ease);margin-bottom:4px}.split-divider-btn:hover{border-color:var(--clr-primary);color:var(--clr-primary);background:var(--clr-primary-bg)}.split-divider-btn--active{border-color:var(--clr-primary);border-style:solid;background:var(--clr-primary-bg);color:var(--clr-primary)}.split-label-a{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;font-size:.65rem;font-weight:800;border-radius:50%;background:var(--clr-primary);color:#fff;margin-right:4px}.split-label-b{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;font-size:.65rem;font-weight:800;border-radius:50%;background:var(--clr-secondary);color:#fff;margin-right:4px}.move-list{display:flex;flex-direction:column;gap:6px;max-height:260px;overflow-y:auto}.move-option{position:relative;display:flex;flex-direction:column;gap:2px;padding:10px 14px;border:1.5px solid var(--clr-border);border-radius:var(--radius-md);background:var(--clr-surface);cursor:pointer;text-align:left;transition:all var(--dur) var(--ease);width:100%}.move-option:hover{border-color:var(--clr-primary);background:var(--clr-primary-bg)}.move-option--selected{border-color:var(--clr-primary)!important;background:var(--clr-primary-bg)!important;box-shadow:0 0 0 2px #6d28d926}.move-option__id{font-size:.68rem;font-family:var(--font-mono);color:var(--clr-primary);font-weight:700}.move-option__label{font-size:.82rem;font-weight:600;color:var(--clr-text)}.move-option__sub{font-size:.72rem;color:var(--clr-text-muted)}.move-option__check{position:absolute;top:50%;right:12px;transform:translateY(-50%);width:20px;height:20px;border-radius:50%;background:var(--clr-primary);color:#fff;display:flex;align-items:center;justify-content:center}.val-summary{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px}.val-summary-card{border-radius:var(--radius-md);padding:12px;display:flex;align-items:center;gap:10px;border:1.5px solid transparent}.val-summary-card--pass{background:#f0fdf4;border-color:#86efac}.val-summary-card--fail{background:var(--clr-danger-bg);border-color:#fca5a5}.val-summary-card--warn{background:var(--clr-warning-bg);border-color:#fde68a}.val-summary-card--info{background:var(--clr-surface-2);border-color:var(--clr-border)}.val-summary-card__icon{flex-shrink:0;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center}.val-summary-card--pass .val-summary-card__icon{background:#86efac;color:#15803d}.val-summary-card--fail .val-summary-card__icon{background:#fca5a5;color:#dc2626}.val-summary-card--warn .val-summary-card__icon{background:#fde68a;color:#b45309}.val-summary-card__body{display:flex;flex-direction:column;gap:1px}.val-summary-card__val{font-size:1.25rem;font-weight:800;line-height:1;font-family:var(--font-mono);color:var(--clr-text)}.val-summary-card__lbl{font-size:.65rem;font-weight:600;color:var(--clr-text-muted);text-transform:uppercase;letter-spacing:.3px}.val-issues{display:flex;flex-direction:column;gap:6px}.val-issue{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--clr-border);background:var(--clr-surface)}.val-issue--error{border-left:3px solid #EF4444;background:#fef2f2}.val-issue--warning{border-left:3px solid #F59E0B;background:#fffbeb}.val-issue__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:5px}.val-issue__body{flex:1;min-width:0}.val-issue__path{display:flex;align-items:center;gap:6px;margin-bottom:3px}.val-issue__path code{font-family:var(--font-mono);font-size:.72rem;color:var(--clr-text-muted);background:var(--clr-surface-3);padding:1px 6px;border-radius:3px}.val-issue__path span{font-size:.72rem;color:var(--clr-text-muted)}.val-issue__msg{font-size:.8rem;color:var(--clr-text);line-height:1.4}.val-issue__badge{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.3px;padding:2px 8px;border-radius:99px;flex-shrink:0}.val-issue__badge--error{background:#fee2e2;color:#991b1b}.val-issue__badge--warning{background:#fef3c7;color:#92400e}.val-distributions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.val-dist{background:var(--clr-surface-2);border:1px solid var(--clr-border);border-radius:var(--radius-md);padding:12px}.val-dist__title{font-size:.72rem;font-weight:700;color:var(--clr-text-muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:10px}.val-pass-msg{display:flex;flex-direction:column;align-items:center;gap:10px;padding:32px;text-align:center;color:#059669;font-size:.88rem;font-weight:600}.stat-bar{display:flex;flex-direction:column;gap:3px;margin-bottom:6px}.stat-bar__label{display:flex;align-items:center;justify-content:space-between;font-size:.72rem;color:var(--clr-text-muted);text-transform:capitalize}.stat-bar__val{font-family:var(--font-mono);font-weight:700;color:var(--clr-text)}.stat-bar__track{height:5px;background:var(--clr-border);border-radius:99px;overflow:hidden}.stat-bar__fill{height:100%;background:linear-gradient(90deg,var(--clr-primary),var(--clr-secondary));border-radius:99px;transition:width .4s ease}.version-list{display:flex;flex-direction:column;gap:8px}.version-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 14px;border:1.5px solid var(--clr-border);border-radius:var(--radius-md);background:var(--clr-surface);transition:border-color var(--dur) var(--ease)}.version-item--current{border-color:var(--clr-primary);background:var(--clr-primary-bg)}.version-item__left{display:flex;align-items:flex-start;gap:10px;flex:1;min-width:0}.version-item__right{flex-shrink:0}.version-item__num{font-size:.72rem;font-family:var(--font-mono);font-weight:800;color:var(--clr-primary);background:var(--clr-primary-bg);padding:2px 8px;border-radius:4px;flex-shrink:0}.version-item__info{display:flex;flex-direction:column;gap:3px;min-width:0}.version-item__summary{font-size:.82rem;font-weight:600;color:var(--clr-text);line-height:1.3}.version-item__time{font-size:.7rem;color:var(--clr-text-faint)}.version-item__stats{display:flex;gap:8px;font-size:.68rem;color:var(--clr-text-faint);font-family:var(--font-mono)}.version-current-badge{font-size:.65rem;font-weight:700;background:var(--clr-primary);color:#fff;padding:3px 9px;border-radius:99px}.topic-multi-select{display:flex;flex-wrap:wrap;gap:5px;padding:8px;border:1.5px solid var(--clr-border);border-radius:var(--radius-md);background:var(--clr-surface);max-height:140px;overflow-y:auto}.topic-multi-option{padding:4px 10px;border-radius:99px;font-size:.7rem;font-weight:600;font-family:var(--font-mono);border:1.5px solid var(--clr-border);background:var(--clr-surface-2);color:var(--clr-text-muted);cursor:pointer;transition:all var(--dur) var(--ease)}.topic-multi-option:hover{border-color:var(--clr-primary);color:var(--clr-primary)}.topic-multi-option--checked{background:var(--clr-primary);border-color:var(--clr-primary);color:#fff}.dv-toolbar__sep{width:1px;height:20px;background:var(--clr-border);flex-shrink:0}.toolbar-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:99px;font-size:.65rem;font-weight:800;font-family:var(--font-mono);line-height:1}.toolbar-badge--error{background:var(--clr-danger);color:#fff}.toolbar-badge--pass{background:#059669;color:#fff}.toolbar-badge--info{background:var(--clr-primary);color:#fff}.toolbar-badge--comment{background:var(--clr-accent);color:#fff}.dv-toolbar__btn--error{border-color:#fca5a5;color:var(--clr-danger)}.dv-toolbar__btn--warn{border-color:#fde68a;color:var(--clr-warning)}.dv-toolbar__btn--pass{border-color:#86efac;color:#15803d}.dv-toolbar__btn--comment{border-color:#d946ef4d;color:var(--clr-secondary)}.dv-toolbar__btn--export{border-color:#6d28d940;color:var(--clr-primary)}.topic-comments{border-top:1px solid var(--clr-border);padding-top:8px;display:flex;flex-direction:column;gap:8px}.topic-comments__header{font-size:.68rem;font-weight:700;color:var(--clr-text-muted);text-transform:uppercase;letter-spacing:.4px;display:flex;align-items:center;gap:5px}.comment-list{display:flex;flex-direction:column;gap:6px}.comment-item{padding:8px 10px;background:var(--clr-surface-2);border:1px solid var(--clr-border);border-radius:var(--radius-sm);border-left:3px solid var(--clr-primary)}.comment-item--resolved{opacity:.55;border-left-color:var(--clr-text-faint)}.comment-item__header{display:flex;align-items:center;gap:6px;margin-bottom:4px}.comment-item__author{font-size:.7rem;font-weight:700;color:var(--clr-primary)}.comment-item__time{font-size:.65rem;color:var(--clr-text-faint)}.comment-item__text{font-size:.78rem;color:var(--clr-text);line-height:1.5}.comment-resolved-badge{font-size:.62rem;font-weight:700;background:#f0fdf4;color:#16a34a;padding:1px 7px;border-radius:99px;margin-left:auto}.comment-resolve-btn{font-size:.65rem;padding:2px 8px;border-radius:99px;border:1px solid var(--clr-border);background:var(--clr-surface);color:var(--clr-text-muted);cursor:pointer;transition:all var(--dur) var(--ease);margin-left:auto;white-space:nowrap}.comment-resolve-btn:hover{background:#f0fdf4;border-color:#86efac;color:#15803d}.comment-compose{display:flex;flex-direction:column;gap:6px}.comment-reply-indicator{font-size:.68rem;color:var(--clr-primary);background:var(--clr-primary-bg);padding:3px 10px;border-radius:4px;border-left:2px solid var(--clr-primary)}.comment-input{width:100%;padding:8px 10px;border:1.5px solid var(--clr-border);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:.78rem;line-height:1.5;color:var(--clr-text);background:var(--clr-surface);resize:none;outline:none;min-height:60px;transition:border-color var(--dur) var(--ease)}.comment-input:focus{border-color:var(--clr-primary)}.comment-count{font-size:.65rem;font-weight:700;color:var(--clr-primary);background:var(--clr-primary-bg);padding:1px 6px;border-radius:99px;margin-left:4px}.add-inline-btn{display:flex;align-items:center;gap:5px;font-size:.72rem;font-weight:600;color:var(--clr-primary);background:var(--clr-primary-bg);border:1px dashed rgba(109,40,217,.35);border-radius:var(--radius-sm);padding:5px 10px;cursor:pointer;transition:all var(--dur) var(--ease);width:100%;justify-content:center}.add-inline-btn:hover{background:var(--clr-primary);color:#fff;border-style:solid}.link-btn{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;font-weight:600;color:var(--clr-primary);background:transparent;border:none;padding:2px 0;cursor:pointer;text-decoration:underline;text-decoration-style:dotted;transition:color var(--dur) var(--ease)}.link-btn:hover{color:var(--clr-primary-dark)}.section-empty{font-size:.75rem;color:var(--clr-text-faint);font-style:italic;padding:4px 0}.objective-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.media-cat-badge{font-size:.62rem;background:var(--clr-surface-3);color:var(--clr-text-muted);border:1px solid var(--clr-border);padding:1px 6px;border-radius:99px;font-weight:600}.media-item__actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.media-badge--interactive{background:#ede9fe;color:#6d28d9}.icon-btn--comment-active{color:var(--clr-secondary)}.topic-type-dropdown{position:relative;display:inline-block}.topic-type-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:200;background:var(--clr-surface);border:1.5px solid var(--clr-border);border-radius:var(--radius-md);box-shadow:0 8px 24px #00000026;overflow:hidden;min-width:140px;animation:modal-in .15s var(--ease)}.topic-type-menu__item{display:block;width:100%;padding:7px 14px;text-align:left;font-size:.75rem;font-weight:600;background:transparent;border:none;cursor:pointer;text-transform:uppercase;letter-spacing:.3px;transition:background var(--dur) var(--ease);color:var(--clr-text-muted)}.topic-type-menu__item:hover{background:var(--clr-surface-2);color:var(--clr-text)}.topic-type-menu__item--active{background:var(--clr-primary-bg);color:var(--clr-primary)}.example-scope-select{display:flex;gap:6px;flex-wrap:wrap}.example-scope-select button{padding:5px 14px;border-radius:99px;font-size:.72rem;font-weight:700;border:1.5px solid var(--clr-border);background:var(--clr-surface);color:var(--clr-text-muted);cursor:pointer;transition:all var(--dur) var(--ease);text-transform:uppercase;letter-spacing:.3px}.example-scope-select button:hover{border-color:var(--clr-primary);color:var(--clr-primary)}.example-scope-select button.active{background:var(--clr-primary);border-color:var(--clr-primary);color:#fff}.dv{display:flex;flex-direction:column;min-width:0}.dv-fixed-top{position:sticky;top:0;z-index:20;background:var(--clr-bg)}.dv-plan-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--clr-surface);border-bottom:1px solid var(--clr-border);flex-shrink:0}.dv-plan-header__info{flex:1;min-width:0}.dv-plan-header__title{display:flex;align-items:center;gap:7px;font-size:.88rem;font-weight:700;color:var(--clr-text);margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dv-plan-header__title svg{color:var(--clr-primary);flex-shrink:0}.dv-plan-header__meta{display:flex;align-items:center;gap:5px;font-size:.72rem;color:var(--clr-text-muted);flex-wrap:wrap}.dv-dot{color:var(--clr-border-dark)}.dv-cap{text-transform:capitalize}.dv-plan-header__stats{display:flex;gap:12px;flex-shrink:0}.dv-stat{display:flex;flex-direction:column;align-items:center;gap:1px}.dv-stat__val{font-size:.95rem;font-weight:800;color:var(--clr-primary);line-height:1;font-family:var(--font-mono)}.dv-stat__lbl{font-size:.62rem;color:var(--clr-text-faint);text-transform:uppercase;letter-spacing:.3px;font-weight:600}.dv-toolbar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--clr-surface-2);border-bottom:1px solid var(--clr-border);flex-shrink:0}.dv-search{position:relative;flex:1;display:flex;align-items:center}.dv-search svg{position:absolute;left:9px;color:var(--clr-text-faint);pointer-events:none}.dv-search__input{width:100%;height:30px;padding:0 28px 0 30px;border:1.5px solid var(--clr-border);border-radius:var(--radius-md);font-size:.8rem;font-family:var(--font-sans);background:var(--clr-surface);color:var(--clr-text);outline:none;transition:border-color var(--dur) var(--ease)}.dv-search__input:focus{border-color:var(--clr-primary)}.dv-search__input::placeholder{color:var(--clr-text-faint)}.dv-search__clear{position:absolute;right:7px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border:none;background:var(--clr-border);border-radius:50%;cursor:pointer;color:var(--clr-text-muted);transition:background var(--dur) var(--ease)}.dv-search__clear:hover{background:var(--clr-danger-bg);color:var(--clr-danger)}.dv-toolbar__btn{display:flex;align-items:center;gap:5px;padding:5px 12px;border:1.5px solid var(--clr-border);border-radius:var(--radius-md);background:var(--clr-surface);color:var(--clr-text-muted);font-size:.75rem;font-weight:600;cursor:pointer;transition:all var(--dur) var(--ease);white-space:nowrap}.dv-toolbar__btn:hover:not(:disabled){border-color:var(--clr-primary);color:var(--clr-primary)}.dv-toolbar__btn--active{background:var(--clr-primary-bg);border-color:var(--clr-primary);color:var(--clr-primary)}.dv-toolbar__btn:disabled{opacity:.35;cursor:not-allowed}.dv-examples{flex-shrink:0;border-bottom:1px solid var(--clr-border);background:var(--clr-surface);max-height:260px;display:flex;flex-direction:column}.dv-examples__header{display:flex;align-items:center;gap:7px;padding:8px 14px;font-size:.72rem;font-weight:700;color:var(--clr-text-muted);text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid var(--clr-border);background:var(--clr-surface-2);flex-shrink:0}.dv-examples__header svg{color:var(--clr-primary)}.dv-examples__list{overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:6px}.example-card{border:1.5px solid var(--clr-border);border-radius:var(--radius-md);padding:10px 12px;background:var(--clr-surface)}.example-card__header{display:flex;align-items:center;gap:8px;margin-bottom:5px;flex-wrap:wrap}.example-card__id{font-size:.68rem;color:var(--clr-primary);font-family:var(--font-mono);font-weight:700}.example-card__scope{font-size:.65rem;font-weight:700;letter-spacing:.3px;text-transform:uppercase;padding:2px 7px;border-radius:99px}.example-card__scope--chapter{background:var(--clr-primary-bg);color:var(--clr-primary)}.example-card__scope--module{background:var(--clr-secondary-bg);color:var(--clr-secondary)}.example-card__scope--segment{background:var(--clr-accent-bg);color:var(--clr-accent)}.example-card__title{font-size:.8rem;font-weight:600;color:var(--clr-text)}.example-card__desc{font-size:.75rem;color:var(--clr-text-muted);line-height:1.5;margin-bottom:6px}.example-card__topics{display:flex;flex-wrap:wrap;gap:4px}.example-card__topic-id{font-size:.65rem;font-family:var(--font-mono);color:var(--clr-text-muted);background:var(--clr-surface-2);border:1px solid var(--clr-border);padding:1px 6px;border-radius:4px}.dv-content{padding:16px;display:flex;flex-direction:column;gap:14px}.dv-no-results{display:flex;flex-direction:column;align-items:center;gap:8px;padding:48px;color:var(--clr-text-faint);text-align:center}.dv-no-results p{font-size:.875rem;color:var(--clr-text-muted)}.module-block{border:2px solid var(--clr-border);border-radius:var(--radius-lg);background:var(--clr-surface);overflow:hidden;transition:border-color var(--dur) var(--ease)}.module-block:hover{border-color:var(--clr-border-dark)}.module-header{display:flex;align-items:center;gap:14px;padding:18px 22px;background:linear-gradient(135deg,var(--clr-header-bg),#2D2A5A);color:#ede9fe}.module-header__left{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.module-collapse-btn{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border:none;border-radius:4px;background:#ffffff1a;color:#ffffffb3;cursor:pointer;transition:all var(--dur) var(--ease);flex-shrink:0}.module-collapse-btn:hover{background:#fff3;color:#fff}.module-collapse-btn--collapsed svg{transform:rotate(-90deg)}.module-number{font-size:.85rem;font-weight:800;background:#a78bfa4d;color:#ddd6fe;padding:4px 12px;border-radius:99px;letter-spacing:.3px;font-family:var(--font-mono);flex-shrink:0}.module-name{font-size:1.15rem;font-weight:700;color:#ede9fe;flex:1;min-width:0;cursor:pointer}.module-header__stats{display:flex;gap:8px;flex-shrink:0}.module-stat{font-size:.68rem;color:#ddd6feb3;font-weight:500}.module-header__actions{display:flex;align-items:center;gap:3px;flex-shrink:0}.module-body{padding:16px;display:flex;flex-direction:column;gap:12px;background:var(--clr-surface-2)}.module-empty{padding:20px;text-align:center;color:var(--clr-text-faint);font-size:.8rem}.segment-block{border:1.5px solid var(--clr-border);border-radius:var(--radius-md);background:var(--clr-surface);overflow:hidden}.segment-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:linear-gradient(90deg,var(--clr-surface-3),var(--clr-surface-2));border-bottom:1px solid var(--clr-border)}.segment-header__left{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.segment-collapse-btn{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border:none;border-radius:4px;background:transparent;color:var(--clr-text-muted);cursor:pointer;transition:all var(--dur) var(--ease);flex-shrink:0}.segment-collapse-btn:hover{background:var(--clr-surface-3);color:var(--clr-primary)}.segment-collapse-btn--collapsed svg{transform:rotate(-90deg)}.segment-id{font-size:.8rem;font-family:var(--font-mono);color:var(--clr-primary);background:var(--clr-primary-bg);padding:3px 11px;border-radius:4px;font-weight:700;flex-shrink:0}.segment-name{font-size:1rem;font-weight:600;color:var(--clr-text);cursor:pointer;flex:1;min-width:0}.segment-count{font-size:.68rem;color:var(--clr-text-faint);flex-shrink:0;white-space:nowrap}.segment-header__right{display:flex;align-items:center;gap:3px;flex-shrink:0}.segment-body{padding:14px 16px;display:flex;flex-direction:column;gap:12px}.segment-empty{padding:16px;text-align:center;color:var(--clr-text-faint);font-size:.78rem}.topic-drop-zone{border-radius:var(--radius-md);transition:all var(--dur) var(--ease)}.topic-drop-zone--over{outline:2px dashed var(--clr-primary);outline-offset:2px;background:var(--clr-primary-bg)}.topic-card{border:1.5px solid var(--clr-border);border-radius:var(--radius-md);background:var(--clr-surface);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),opacity var(--dur) var(--ease)}.topic-card:hover{border-color:var(--clr-border-dark);box-shadow:var(--shadow-sm)}.topic-card--dragging{opacity:.4}.topic-card__header{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--clr-border);background:var(--clr-surface);flex-wrap:nowrap;min-height:56px}.topic-card__drag-handle{cursor:grab;color:var(--clr-text-faint);padding:2px 3px;border-radius:3px;transition:color var(--dur) var(--ease);flex-shrink:0;display:flex;align-items:center}.topic-card__drag-handle:hover{color:var(--clr-text-muted)}.topic-card__drag-handle:active{cursor:grabbing}.topic-card__meta{display:flex;align-items:center;gap:5px;flex-shrink:0}.topic-card__id{font-size:.8rem;font-family:var(--font-mono);color:var(--clr-primary);background:var(--clr-primary-bg);padding:4px 10px;border-radius:4px;font-weight:700;white-space:nowrap}.topic-card__name-wrap{flex:1;min-width:0}.topic-card__name{font-size:1.05rem;font-weight:600;color:var(--clr-text);cursor:pointer;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topic-card__actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.topic-card__body{padding:18px 20px;display:flex;flex-direction:column;gap:18px}.topic-section{display:flex;flex-direction:column;gap:10px}.topic-section__label{display:flex;align-items:center;gap:6px;font-size:.75rem;font-weight:700;color:var(--clr-text-muted);text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}.topic-section__label svg{color:var(--clr-primary)}.topic-section__label-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.topic-section__label-row .add-inline-btn{width:auto;flex-shrink:0;padding:4px 14px;font-size:.75rem}.objectives-list{list-style:none;display:flex;flex-direction:column;gap:5px}.objective-item{display:flex;align-items:flex-start;gap:12px;padding:14px 18px;background:var(--clr-surface-2);border-radius:var(--radius-sm);border:1px solid var(--clr-border)}.objective-bloom{font-size:.78rem;font-weight:700;text-transform:capitalize;padding:4px 12px;border-radius:99px;flex-shrink:0;letter-spacing:.2px;margin-top:2px}.objective-text{font-size:.95rem;color:var(--clr-text);line-height:1.6;flex:1;cursor:pointer}.chunk-columns{display:grid;grid-template-columns:1fr 1fr;gap:10px}.chunk-col{display:flex;flex-direction:column;gap:5px;min-width:0}.chunk-col__label{display:flex;align-items:center;gap:6px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.4px}.chunk-col__label--modified{color:var(--clr-primary)}.chunk-col__label--modified svg{color:var(--clr-primary)}.chunk-col__label--original{color:var(--clr-text-muted)}.chunk-col__label--original svg{color:var(--clr-text-faint)}.chunk-text{font-size:.78rem;line-height:1.7;color:var(--clr-text);background:var(--clr-surface-2);border:1px solid var(--clr-border);border-radius:var(--radius-sm);padding:10px 12px;white-space:pre-wrap;max-height:240px;overflow-y:auto}.chunk-text--original{color:var(--clr-text-muted);background:#fafafa;font-style:italic}.chunk-empty{color:var(--clr-text-faint);font-style:normal}.chunk-textarea{width:100%;flex:1;padding:12px 14px;border:1.5px solid var(--clr-border);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:.88rem;line-height:1.75;color:var(--clr-text);background:var(--clr-surface);resize:none;outline:none;min-height:160px;overflow-y:auto;transition:border-color var(--dur) var(--ease)}.chunk-textarea:focus{border-color:var(--clr-primary)}.chunk-textarea--original{color:var(--clr-text-muted);background:#fafafa;border-color:var(--clr-border);border-style:dashed;font-style:italic}.chunk-textarea--original:focus{border-color:var(--clr-border-dark);border-style:solid}.toggle-btn{font-size:.68rem;font-weight:600;color:var(--clr-primary);background:var(--clr-primary-bg);border:1px solid rgba(109,40,217,.2);border-radius:99px;padding:2px 10px;cursor:pointer;transition:all var(--dur) var(--ease)}.toggle-btn:hover{background:var(--clr-primary);color:#fff}.media-list{display:flex;flex-direction:column;gap:6px}.media-item{border:1px solid var(--clr-border);border-radius:var(--radius-sm);padding:8px 10px;background:var(--clr-surface)}.media-item__header{display:flex;align-items:center;gap:6px;margin-bottom:4px}.media-badge{display:inline-flex;align-items:center;gap:4px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.3px;padding:2px 8px;border-radius:99px}.media-badge--image{background:var(--clr-secondary-bg);color:var(--clr-secondary)}.media-badge--video{background:var(--clr-danger-bg);color:var(--clr-danger)}.media-item__priority{font-size:.65rem;color:var(--clr-text-faint);margin-left:2px}.media-item__title{font-size:.78rem;font-weight:600;color:var(--clr-text);margin-bottom:3px}.media-item__desc{font-size:.73rem;color:var(--clr-text-muted);line-height:1.5;margin-bottom:3px}.media-item__purpose{font-size:.72rem;color:var(--clr-text-muted);line-height:1.5;font-style:italic}.media-item__purpose strong{font-style:normal}.icon-btn{display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 7px;border:none;border-radius:var(--radius-sm);font-size:.72rem;font-weight:600;cursor:pointer;transition:all var(--dur) var(--ease);background:transparent;color:var(--clr-text-muted);white-space:nowrap}.icon-btn--xs{height:20px;padding:0 5px}.icon-btn--muted:hover:not(:disabled){background:var(--clr-surface-3);color:var(--clr-text)}.icon-btn:disabled{opacity:.3;cursor:not-allowed}.icon-btn--split{color:var(--clr-primary);font-size:.78rem}.icon-btn--split:hover{background:var(--clr-primary-bg)}.icon-btn--merge{color:var(--clr-secondary);font-size:.78rem}.icon-btn--merge:hover{background:var(--clr-secondary-bg)}.icon-btn--danger:hover:not(:disabled){background:var(--clr-danger-bg);color:var(--clr-danger)}.icon-btn--expand svg{transition:transform var(--dur) var(--ease)}.icon-btn--expanded svg{transform:rotate(0)}.icon-btn--expand:not(.icon-btn--expanded) svg{transform:rotate(-90deg)}.icon-btn__sep{width:1px;height:16px;background:var(--clr-border);margin:0 2px}.inline-edit{cursor:pointer;border-radius:3px;padding:1px 3px;transition:background var(--dur) var(--ease);display:inline-block}.inline-edit:hover{background:var(--clr-surface-3)}.inline-edit__placeholder{color:var(--clr-text-faint);font-style:italic;font-weight:400}.inline-edit__input{border:1.5px solid var(--clr-primary);border-radius:var(--radius-sm);padding:2px 6px;font-family:var(--font-sans);font-size:inherit;font-weight:inherit;color:var(--clr-text);background:var(--clr-surface);outline:none;width:100%;box-shadow:0 0 0 3px #6d28d91f}.inline-edit__input--multiline{resize:vertical;min-height:60px;line-height:1.5}.topic-card__actions .icon-btn--muted:first-child,.topic-card__actions .icon-btn--muted:nth-child(2){opacity:0;pointer-events:none;transition:opacity var(--dur) var(--ease)}.topic-card:hover .topic-card__actions .icon-btn--muted:first-child,.topic-card:hover .topic-card__actions .icon-btn--muted:nth-child(2){opacity:1;pointer-events:auto}.example-card__actions{display:flex;gap:4px;margin-top:6px}.topic-card .topic-type-dropdown{display:inline-block}.topic-card .topic-type-badge{cursor:pointer}.topic-card .topic-type-badge:hover{opacity:.8}.add-segment-btn,.add-module-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:7px;font-size:.75rem;font-weight:600;color:var(--clr-text-faint);background:transparent;border:1.5px dashed var(--clr-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--dur) var(--ease)}.add-segment-btn:hover{border-color:var(--clr-primary);color:var(--clr-primary);background:var(--clr-primary-bg)}.add-module-btn{margin-top:8px}.add-module-btn:hover{border-color:var(--clr-primary);color:var(--clr-primary);background:var(--clr-primary-bg)}.chunk-label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:3px}.chunk-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:var(--clr-text-faint)}.media-badge--2d_tool{background:var(--clr-accent-bg);color:var(--clr-accent)}.media-badge--3d_tool{background:var(--clr-primary-bg);color:var(--clr-primary)}.media-badge--simulation{background:#fef3c7;color:#b45309}.objective-item__actions{display:flex;align-items:center;gap:2px;flex-shrink:0;margin-left:auto}.media-item__footer{display:flex;align-items:center;justify-content:space-between;margin-top:4px}.media-item__linked{font-size:.65rem;color:var(--clr-text-faint);font-family:var(--font-mono)}.segment-body[data-drag-over=true]{outline:2px dashed var(--clr-primary);outline-offset:2px;background:var(--clr-primary-bg);border-radius:var(--radius-md)}.dv-diff--added{background:#ecfdf5;border-left:3px solid #10B981}.dv-diff--added>.module-header,.dv-diff--added>.segment-header,.dv-diff--added>.topic-card__header{background:#d1fae5}.dv-diff--deleted{background:#fef2f2;border-left:3px solid #EF4444;opacity:.75}.dv-diff--deleted>.module-header,.dv-diff--deleted>.segment-header,.dv-diff--deleted>.topic-card__header{background:#fee2e2}.dv-diff--deleted .module-name,.dv-diff--deleted .segment-name,.dv-diff--deleted .topic-card__name,.dv-diff--deleted .chunk-textarea,.dv-diff--deleted .objective-text{text-decoration:line-through;color:#991b1b}.dv-diff--deleted button,.dv-diff--deleted textarea,.dv-diff--deleted input,.dv-diff--deleted select{pointer-events:none}.dv-diff--deleted textarea{background:#fef2f2}.dv-diff--modified{border-left:3px solid #F59E0B}.dv-diff-badge{display:inline-flex;align-items:center;font-size:.64rem;font-weight:700;padding:2px 6px;border-radius:4px;letter-spacing:.04em;margin-left:6px;text-transform:uppercase}.dv-diff-badge--added{background:#10b981;color:#fff}.dv-diff-badge--deleted{background:#ef4444;color:#fff}.dv-diff-badge--modified{background:#f59e0b;color:#1f2937}.dv-diff-field{background:#fffbeb;border-radius:6px;padding:4px 6px}.dv-diff-inline-tag{margin-left:6px;font-size:.66rem;font-weight:600;background:#fef3c7;color:#92400e;padding:1px 6px;border-radius:10px;text-transform:uppercase;letter-spacing:.04em}.dv-diff-old{font-size:.72rem;color:#94a3b8;margin-top:2px}.dv-diff-prev{margin-top:4px;font-size:.75rem}.dv-diff-prev summary{cursor:pointer;color:#92400e;font-weight:600}.dv-diff-prev__text{margin:4px 0 0;background:#fef3c7;color:#78350f;padding:6px 8px;border-radius:4px;white-space:pre-wrap;font-family:inherit;font-size:.78rem;text-decoration:line-through}.media-item__preview{display:block;margin:8px 0 6px;border-radius:6px;overflow:hidden;background:#f1f5f9;text-decoration:none}.media-item__preview--image{max-width:320px;border:1px solid #E2E8F0}.media-item__preview--image img{display:block;width:100%;height:auto;max-height:240px;object-fit:cover}.media-item__preview--broken:after{content:"Image failed to load";display:block;padding:12px;color:#b91c1c;font-size:.75rem;text-align:center;background:#fef2f2}.media-item__preview--video{max-width:420px;width:100%;background:#000;border:1px solid #E2E8F0}.media-item__preview--link{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:.78rem;font-weight:600;color:#4f46e5;background:#eef2ff;border:1px solid #C7D2FE;border-radius:6px;text-transform:capitalize}.media-item__preview--link:hover{background:#e0e7ff}.content-priority-row{display:flex;align-items:center;gap:16px;padding:6px 0 2px;flex-wrap:wrap}.cp-field{display:flex;align-items:center;gap:6px}.cp-label{font-size:.68rem;font-weight:700;color:#4f46e5;letter-spacing:.06em;text-transform:uppercase}.cp-select{padding:5px 24px 5px 10px;border:1px solid #CBD5E1;border-radius:6px;background:#fff;font-size:.78rem;color:#0f172a;min-width:120px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;text-transform:capitalize}.cp-select:hover{border-color:#94a3b8}.login-page{display:flex;align-items:center;justify-content:center;min-height:100dvh;background:var(--clr-header-bg);background-image:radial-gradient(ellipse at 20% 50%,rgba(109,40,217,.25) 0%,transparent 60%),radial-gradient(ellipse at 80% 20%,rgba(8,145,178,.15) 0%,transparent 50%);padding:24px}.login-card{background:var(--clr-surface);border-radius:var(--radius-lg);box-shadow:0 24px 64px #00000059;padding:40px 36px;width:100%;max-width:400px}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:6px}.login-brand__icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--clr-primary);border-radius:var(--radius-md);color:#fff;flex-shrink:0}.login-brand__title{font-size:1.3rem;font-weight:800;color:var(--clr-text);letter-spacing:-.4px}.login-subtitle{font-size:.82rem;color:var(--clr-text-muted);margin-bottom:28px;padding-left:56px}.login-form{display:flex;flex-direction:column;gap:18px}.login-field{display:flex;flex-direction:column;gap:6px}.login-label{font-size:.78rem;font-weight:600;color:var(--clr-text);letter-spacing:.1px}.login-input-wrap{position:relative;display:flex;align-items:center}.login-input-icon{position:absolute;left:12px;display:flex;color:var(--clr-text-muted);pointer-events:none}.login-input{width:100%;padding:10px 12px 10px 38px;border:1.5px solid var(--clr-border);border-radius:var(--radius-sm);font-size:.88rem;font-family:var(--font-sans);color:var(--clr-text);background:var(--clr-bg);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease);outline:none}.login-input:focus{border-color:var(--clr-primary);box-shadow:0 0 0 3px #6d28d91f}.login-input::placeholder{color:var(--clr-text-faint)}.login-pwd-toggle{position:absolute;right:10px;background:none;border:none;cursor:pointer;color:var(--clr-text-muted);padding:4px;display:flex;align-items:center;border-radius:4px;transition:color var(--dur) var(--ease)}.login-pwd-toggle:hover{color:var(--clr-text)}.login-error{display:flex;align-items:center;gap:7px;padding:10px 12px;background:var(--clr-danger-bg);border:1px solid rgba(220,38,38,.25);border-radius:var(--radius-sm);color:var(--clr-danger);font-size:.8rem;font-weight:500}.login-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;background:var(--clr-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.9rem;font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:background var(--dur) var(--ease),opacity var(--dur) var(--ease);margin-top:4px}.login-btn:hover:not(:disabled){background:var(--clr-primary-lt)}.login-btn:disabled{opacity:.5;cursor:not-allowed}.sel-page{display:flex;flex-direction:column;min-height:100dvh;background:var(--clr-bg)}.sel-header{display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:52px;background:var(--clr-header-bg);flex-shrink:0;box-shadow:0 1px #ffffff0f}.sel-header__brand{display:flex;align-items:center;gap:10px;color:#a78bfa}.sel-header__icon{display:flex;align-items:center}.sel-header__title{font-size:1rem;font-weight:700;color:#ede9fe;letter-spacing:-.3px}.sel-header__user{display:flex;align-items:center;gap:10px}.sel-avatar{width:32px;height:32px;border-radius:50%;background:var(--clr-primary);color:#fff;font-size:.78rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sel-user-info{display:flex;flex-direction:column;line-height:1.2}.sel-user-name{font-size:.82rem;font-weight:600;color:#ede9fe}.sel-user-role{font-size:.7rem;color:#a78bfa;text-transform:capitalize}.sel-logout{background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-sm);color:#c4b5fd;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--dur) var(--ease)}.sel-logout:hover{background:#ffffff24;color:#fff}.sel-body{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 24px}.sel-card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:32px 36px;width:100%;max-width:520px;display:flex;flex-direction:column;gap:24px}.sel-card__heading{display:flex;align-items:flex-start;gap:14px;color:var(--clr-primary)}.sel-card__heading svg{flex-shrink:0;margin-top:2px}.sel-card__title{font-size:1.1rem;font-weight:700;color:var(--clr-text);margin-bottom:4px;letter-spacing:-.3px}.sel-card__desc{font-size:.8rem;color:var(--clr-text-muted);line-height:1.5}.sel-error{display:flex;align-items:center;gap:7px;padding:10px 12px;background:var(--clr-danger-bg);border:1px solid rgba(220,38,38,.25);border-radius:var(--radius-sm);color:var(--clr-danger);font-size:.8rem;font-weight:500}.sel-fields{display:flex;flex-direction:column;gap:14px}.sel-field{display:flex;flex-direction:column;gap:6px}.sel-label{font-size:.78rem;font-weight:600;color:var(--clr-text);letter-spacing:.1px}.sel-select-wrap{position:relative;display:flex;align-items:center}.sel-select{width:100%;padding:9px 36px 9px 12px;border:1.5px solid var(--clr-border);border-radius:var(--radius-sm);font-size:.88rem;font-family:var(--font-sans);color:var(--clr-text);background:var(--clr-bg);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease);outline:none}.sel-select:focus{border-color:var(--clr-primary);box-shadow:0 0 0 3px #6d28d91f}.sel-select:disabled{opacity:.45;cursor:not-allowed}.sel-drop-icon{position:absolute;right:10px;pointer-events:none;color:var(--clr-text-muted);display:flex}.sel-spinner{position:absolute;right:10px;width:14px;height:14px;border:2px solid var(--clr-border);border-top-color:var(--clr-primary);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}.sel-open-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;background:var(--clr-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.9rem;font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:background var(--dur) var(--ease),opacity var(--dur) var(--ease);margin-top:4px}.sel-open-btn:hover:not(:disabled){background:var(--clr-primary-lt)}.sel-open-btn:disabled{opacity:.45;cursor:not-allowed}.login-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.fr-page{display:flex;flex-direction:column;height:100vh;background:#f8fafc}.fr-header{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;background:#fff;border-bottom:1px solid #E2E8F0;flex:0 0 auto}.fr-header__brand{display:flex;align-items:center;gap:10px;color:#1e293b;font-weight:600}.fr-header__title{font-size:.95rem}.fr-header__user{display:flex;align-items:center;gap:10px}.fr-avatar{width:30px;height:30px;border-radius:50%;background:#4f46e5;color:#fff;display:grid;place-items:center;font-size:.75rem;font-weight:700}.fr-user-info{display:flex;flex-direction:column;line-height:1.2}.fr-user-name{font-size:.82rem;font-weight:600;color:#0f172a}.fr-user-role{font-size:.68rem;color:#64748b}.fr-logout{background:transparent;border:1px solid #E2E8F0;border-radius:6px;padding:6px 8px;cursor:pointer;color:#475569}.fr-logout:hover{background:#f1f5f9}.fr-body{display:flex;flex:1 1 auto;min-height:0}.fr-panel{height:100%;min-height:0;overflow:auto}.fr-panel--selection{flex:0 0 40%;padding:18px;border-right:1px solid #E2E8F0;background:#fff;display:flex;flex-direction:column;gap:14px}.fr-panel--plan{flex:1 1 60%;padding:0;background:#fff}.fr-panel__heading h2{margin:0 0 4px;font-size:1rem;color:#0f172a}.fr-panel__heading p{margin:0;font-size:.78rem;color:#64748b}.fr-error{background:#fee2e2;color:#991b1b;padding:8px 10px;border-radius:6px;font-size:.8rem}.fr-fields{display:flex;flex-direction:column;gap:10px}.fr-field{display:flex;flex-direction:column;gap:4px}.fr-field label{font-size:.72rem;font-weight:600;color:#475569}.fr-field select{padding:8px 10px;border:1px solid #CBD5E1;border-radius:6px;font-size:.83rem;background:#fff;color:#0f172a}.fr-field select:disabled{background:#f1f5f9;color:#94a3b8;cursor:not-allowed}.fr-approve-box{margin-top:6px;padding:12px;background:#f8fafc;border:1px solid #E2E8F0;border-radius:8px;display:flex;flex-direction:column;gap:10px}.fr-approve-meta{font-size:.78rem;color:#334155;line-height:1.6}.fr-approve-btn{background:#10b981;color:#fff;border:none;border-radius:6px;padding:9px 14px;font-size:.85rem;font-weight:600;cursor:pointer}.fr-approve-btn:hover:not(:disabled){background:#059669}.fr-approve-btn:disabled{background:#94a3b8;cursor:not-allowed}.fr-approve-hint{margin:0;font-size:.75rem;color:#64748b;font-style:italic}.fr-msg{padding:6px 10px;border-radius:6px;font-size:.78rem}.fr-msg--success{background:#d1fae5;color:#065f46}.fr-msg--error{background:#fee2e2;color:#991b1b}.fr-empty{display:grid;place-items:center;height:100%;color:#94a3b8;font-size:.88rem;padding:24px;text-align:center}.help-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.help-modal{background:var(--clr-surface);border-radius:var(--radius-lg);box-shadow:0 24px 64px #0000004d;display:flex;flex-direction:column;width:100%;max-width:860px;height:80dvh;max-height:700px;overflow:hidden}.help-modal__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--clr-border);flex-shrink:0;background:var(--clr-header-bg);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.help-modal__title{display:flex;align-items:center;gap:9px;font-size:.95rem;font-weight:700;color:#ede9fe;letter-spacing:-.2px}.help-modal__title svg{color:#a78bfa}.help-modal__close{background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:6px;color:#c4b5fd;width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--dur) var(--ease)}.help-modal__close:hover{background:#ffffff29;color:#fff}.help-modal__body{display:flex;flex:1;min-height:0}.help-nav{width:190px;flex-shrink:0;border-right:1px solid var(--clr-border);overflow-y:auto;padding:12px 8px;background:var(--clr-bg);display:flex;flex-direction:column;gap:2px}.help-nav__item{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:var(--radius-sm);font-size:.78rem;font-weight:500;color:var(--clr-text-muted);text-decoration:none;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.help-nav__item svg{color:var(--clr-text-faint);flex-shrink:0}.help-nav__item:hover{background:var(--clr-surface-3);color:var(--clr-primary)}.help-nav__item:hover svg{color:var(--clr-primary)}.help-content{flex:1;overflow-y:auto;padding:24px 28px;display:flex;flex-direction:column;gap:0}.help-section{padding-bottom:28px;margin-bottom:28px;border-bottom:1px solid var(--clr-border)}.help-section:last-of-type{border-bottom:none}.help-section__heading{display:flex;align-items:center;gap:9px;margin-bottom:14px}.help-section__heading svg{color:var(--clr-primary);flex-shrink:0}.help-section__heading h2{font-size:1rem;font-weight:700;color:var(--clr-text);letter-spacing:-.2px}.help-section__body{display:flex;flex-direction:column;gap:10px;padding-left:25px}.help-section__body p{font-size:.83rem;line-height:1.7;color:var(--clr-text)}.help-list{padding-left:18px;display:flex;flex-direction:column;gap:5px}.help-list li{font-size:.83rem;line-height:1.65;color:var(--clr-text)}.help-steps{padding-left:20px;display:flex;flex-direction:column;gap:6px;counter-reset:steps}.help-steps li{font-size:.83rem;line-height:1.65;color:var(--clr-text);padding-left:4px}.help-table{width:100%;border-collapse:collapse;font-size:.82rem}.help-table tr{border-bottom:1px solid var(--clr-border)}.help-table tr:last-child{border-bottom:none}.help-table__term{padding:7px 12px 7px 0;font-weight:600;color:var(--clr-text);white-space:nowrap;vertical-align:top;width:38%}.help-table__desc{padding:7px 0;color:var(--clr-text-muted);line-height:1.55;vertical-align:top}.help-note{display:flex;align-items:flex-start;gap:7px;padding:9px 12px;background:var(--clr-surface-3);border:1px solid var(--clr-border);border-left:3px solid var(--clr-primary);border-radius:var(--radius-sm);font-size:.8rem;color:var(--clr-text-muted);line-height:1.55}.help-note svg{color:var(--clr-primary);flex-shrink:0;margin-top:1px}.help-badge{display:inline-flex;align-items:center;padding:1px 8px;background:var(--clr-primary-bg);border:1px solid rgba(109,40,217,.2);border-radius:99px;font-size:.75rem;font-weight:600;color:var(--clr-primary);white-space:nowrap}.help-footer{padding:16px 0 4px;font-size:.72rem;color:var(--clr-text-faint);text-align:center;letter-spacing:.3px}.help-content::-webkit-scrollbar,.help-nav::-webkit-scrollbar{width:4px}.help-content::-webkit-scrollbar-thumb,.help-nav::-webkit-scrollbar-thumb{background:var(--clr-border-dark);border-radius:99px}.app{display:flex;flex-direction:column;height:100dvh;overflow:hidden}.app-header{display:flex;align-items:center;justify-content:space-between;padding:0 20px;height:52px;background:var(--clr-header-bg);color:var(--clr-header-text);flex-shrink:0;z-index:100;box-shadow:0 1px #ffffff0f}.app-header__brand{display:flex;align-items:center;gap:10px}.app-header__logo{display:flex;align-items:center;color:#a78bfa}.app-header__title{font-size:1rem;font-weight:700;letter-spacing:-.3px;color:#ede9fe}.app-header__divider{width:1px;height:18px;background:#ffffff26}.app-header__sub{font-size:.75rem;color:#a78bfa;font-weight:500;letter-spacing:.2px}.app-header__actions{display:flex;align-items:center;gap:8px}.app-header__badge{font-size:.7rem;font-weight:600;padding:3px 10px;border-radius:99px;letter-spacing:.3px;text-transform:uppercase}.app-header__badge--draft{background:#a78bfa33;color:#c4b5fd;border:1px solid rgba(167,139,250,.3)}.app-header__badge--stage{background:#06b6d426;color:#67e8f9;border:1px solid rgba(6,182,212,.25)}.app-header__back-btn{display:flex;align-items:center;gap:5px;padding:4px 10px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:6px;color:#c4b5fd;font-size:.75rem;font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:background var(--dur) var(--ease)}.app-header__back-btn:hover{background:#ffffff24;color:#fff}.app-header__back-btn--logout{padding:4px 8px}.app-panel-labels{display:flex;height:32px;flex-shrink:0;background:var(--clr-surface);border-bottom:1px solid var(--clr-border)}.app-panel-label{display:flex;align-items:center;gap:6px;padding:0 16px;font-size:.72rem;font-weight:600;color:var(--clr-text-muted);letter-spacing:.4px;text-transform:uppercase;border-right:1px solid var(--clr-border);flex-shrink:0;transition:background var(--dur) var(--ease)}.app-panel-label svg{color:var(--clr-primary);opacity:.7}.app-main{display:flex;height:calc(100dvh - 84px);overflow:hidden}.app-main--resizing *{pointer-events:none}.app-panel{display:flex;flex-direction:column;overflow:hidden;flex-shrink:0}.app-panel--pdf{background:#525659}.app-panel--plan{background:var(--clr-bg);overflow-y:auto;overflow-x:hidden}.app-panel--plan::-webkit-scrollbar{width:5px}.app-panel--plan::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:99px}.app-resizer{width:8px;flex-shrink:0;background:var(--clr-border);cursor:col-resize;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;position:relative;transition:background var(--dur) var(--ease);z-index:10}.app-resizer:hover,.app-resizer--active{background:var(--clr-primary)}.app-resizer__dots{display:flex;flex-direction:column;gap:3px;align-items:center}.app-resizer__dots span{width:3px;height:3px;border-radius:50%;background:#ffffff80;display:block}.app-resizer:hover .app-resizer__dots span,.app-resizer--active .app-resizer__dots span{background:#ffffffe6}
