*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #0d0d0d;--bg-secondary: #141414;--bg-tertiary: #1a1a1a;--bg-hover: #242424;--bg-active: #2a3a4a;--border-color: #2a2a2a;--border-light: #333;--text-primary: #e8e8e8;--text-secondary: #999;--text-muted: #666;--text-placeholder: #555;--accent: #3FB2FF;--accent-hover: #5bc0ff;--accent-subtle: rgba(63, 178, 255, .15);--badge-assignment: #22c55e;--badge-discussion: #06b6d4;--badge-quiz: #a855f7;--badge-resource: #3b82f6;--font-sans: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "IBM Plex Mono", monospace;--font-ai: "JetBrains Mono", "SF Mono", "Fira Code", monospace;--ai-gradient: linear-gradient(135deg, #00d9a5 0%, #ff6bb3 50%, #00d9a5 100%);--ai-gradient-subtle: linear-gradient(135deg, rgba(0, 217, 165, .15) 0%, rgba(255, 107, 179, .15) 100%);--ai-accent-1: #00d9a5;--ai-accent-2: #ff6bb3;--ai-bg: rgba(0, 217, 165, .08);--nav-width: 280px;--nav-collapsed-width: 48px;--ai-panel-width: 360px;--panel-header-height: 49px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--logo-filter: none}[data-theme=light]{--bg-primary: #f5f5f5;--bg-secondary: #ffffff;--bg-tertiary: #fafafa;--bg-hover: #ebebeb;--bg-active: #e0eef8;--border-color: #e0e0e0;--border-light: #d0d0d0;--text-primary: #1a1a1a;--text-secondary: #666666;--text-muted: #888888;--text-placeholder: #aaaaaa;--accent: #0088dd;--accent-hover: #0077cc;--accent-subtle: rgba(0, 136, 221, .1);--badge-assignment: #16a34a;--badge-discussion: #0891b2;--badge-quiz: #9333ea;--badge-resource: #2563eb;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--logo-filter: invert(1);--ai-gradient: linear-gradient(135deg, #00c896 0%, #e85da0 50%, #00c896 100%);--ai-gradient-subtle: linear-gradient(135deg, rgba(0, 200, 150, .12) 0%, rgba(232, 93, 160, .12) 100%);--ai-accent-1: #00c896;--ai-accent-2: #e85da0;--ai-bg: rgba(0, 200, 150, .06)}body{font-family:var(--font-sans);font-size:13px;line-height:1.5;background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased}.app{display:flex;height:100vh;overflow:hidden}.resize-handle{width:4px;background:transparent;cursor:col-resize;flex-shrink:0;position:relative;z-index:10;transition:background .15s ease}.resize-handle:hover,.resize-handle:active{background:var(--accent)}.resize-handle:before{content:"";position:absolute;top:0;bottom:0;width:8px;left:-2px}.resize-handle-left{margin-left:-4px}.resize-handle-right{margin-right:-4px}.nav-panel{width:var(--nav-width);min-width:var(--nav-width);background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;transition:width .2s ease,min-width .2s ease}.nav-panel.resizing{transition:none}.nav-main{flex:1;display:flex;flex-direction:column;overflow:hidden}.nav-account{border-top:1px solid var(--border-color);position:relative}.nav-account-button{display:flex;align-items:center;gap:10px;padding:12px;cursor:pointer;transition:background .15s}.nav-account-button:hover{background:var(--bg-hover)}.nav-account-button.active{background:var(--bg-tertiary)}.account-avatar{width:32px;height:32px;border-radius:50%;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);flex-shrink:0}.account-info-compact{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.account-name-compact{font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.role-badge-small{display:inline-block;width:fit-content;padding:1px 6px;border-radius:3px;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.role-badge-small.designer{background:#3b82f633;color:#3b82f6}.role-badge-small.admin{background:#ef444433;color:#ef4444}.account-chevron{width:14px;height:14px;color:var(--text-muted);flex-shrink:0}.account-dropdown-bottom{position:absolute;bottom:100%;left:8px;right:8px;margin-bottom:4px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 -8px 24px #0000004d;z-index:1000;overflow:hidden}.account-dropdown-header{padding:12px 16px}.account-full-name{font-size:14px;font-weight:600;color:var(--text-primary)}.account-dropdown-bottom .account-email{font-size:12px;color:var(--text-muted);margin-top:2px}.account-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 16px;background:none;border:none;text-align:left;font-size:13px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.account-menu-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.account-menu-item.logout:hover{color:var(--error)}.account-menu-item .menu-icon{width:14px;height:14px}.nav-panel.collapsed .nav-account-button{justify-content:center;padding:12px 8px}.nav-panel.collapsed .account-info-compact,.nav-panel.collapsed .account-chevron{display:none}.nav-panel.collapsed{width:var(--nav-collapsed-width);min-width:var(--nav-collapsed-width)}.nav-panel.collapsed .nav-item{justify-content:center;padding:8px 0}.nav-panel.collapsed .nav-toggle{display:none}.nav-panel.collapsed .nav-icon{margin:0}.nav-panel.collapsed .nav-item.nav-universal,.nav-panel.collapsed .nav-item.nav-setup{padding-left:0;padding-right:0}.nav-panel.collapsed .nav-item.nav-universal .nav-toggle,.nav-panel.collapsed .nav-item.nav-setup .nav-toggle{display:none}.nav-header{display:flex;align-items:center;gap:8px;padding:0 12px;border-bottom:1px solid var(--border-color);height:var(--panel-header-height);min-height:var(--panel-header-height);box-sizing:border-box}.nav-header-divider{width:1px;height:24px;background:var(--border-color);margin:0 4px}.nav-collapse-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:6px;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.nav-collapse-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-title{font-weight:500;color:var(--text-secondary);font-size:11px;text-transform:uppercase;letter-spacing:.5px}.nav-logo{height:28px;width:auto;opacity:.9;filter:var(--logo-filter)}.beta-tag{display:inline-flex;align-items:center;padding:2px 6px;margin-left:6px;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--warning);background:#ffc10726;border:1px solid rgba(255,193,7,.3);border-radius:4px}.bug-report-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-left:6px;padding:0;border:none;background:#9333ea26;border:1px solid rgba(147,51,234,.3);border-radius:4px;color:#9333ea;cursor:pointer;transition:background-color .15s,border-color .15s;text-decoration:none}.bug-report-btn:hover{background:#9333ea40;border-color:#9333ea80}.bug-report-btn svg{flex-shrink:0}.course-selector{padding:8px 12px;border-bottom:1px solid var(--border-color);position:relative}.course-selector.collapsed{padding:8px;display:flex;justify-content:center}.course-selector-badge{width:32px;height:32px;background:var(--accent);border-radius:6px;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:11px;color:#000}.course-selector-trigger{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:border-color .15s}.course-selector-trigger:hover{border-color:var(--border-light)}.course-selector-trigger .course-code{font-weight:600;color:var(--accent);font-size:12px}.course-selector-trigger .course-title{flex:1;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.course-placeholder{color:var(--text-muted)}.selector-chevron{color:var(--text-muted);transition:transform .15s}.selector-chevron.open{transform:rotate(180deg)}.course-selector-dropdown{position:absolute;top:100%;left:12px;right:12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;margin-top:4px;z-index:100;box-shadow:0 8px 24px #0006}.course-search{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border-color)}.course-search .search-icon{color:var(--text-muted)}.course-search input{flex:1;background:none;border:none;color:var(--text-primary);font-size:13px;outline:none}.course-search input::placeholder{color:var(--text-placeholder)}.course-list{max-height:240px;overflow-y:auto;padding:4px}.course-option{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:4px;cursor:pointer}.course-option:hover{background:var(--bg-hover)}.course-option.selected{background:var(--accent-subtle)}.course-option.highlighted{background:var(--bg-hover)}.course-option .course-code{font-weight:600;color:var(--accent);font-size:12px;min-width:60px}.course-option .course-title{color:var(--text-primary)}.course-option .course-info{display:flex;flex-direction:column;gap:2px;flex:1}.course-option .course-units{font-size:11px;color:var(--text-muted)}.course-option .course-meta{display:flex;align-items:center;gap:6px;margin-top:2px}.schedule-badge{font-size:10px;color:var(--text-muted);background:var(--bg-hover);padding:1px 5px;border-radius:3px}.course-option.create-new{display:flex;align-items:center;gap:8px;padding:10px 12px;margin-top:4px;border-top:1px dashed var(--border-subtle);color:var(--accent);font-weight:500}.course-option.create-new:hover{background:var(--accent-subtle)}.course-option.create-new .create-icon{width:14px;height:14px;flex-shrink:0}.course-option.create-new .create-text{font-size:13px}.course-empty{padding:16px 12px;text-align:center;color:var(--text-muted);font-size:13px}.new-course-modal{width:480px;max-width:90vw}.new-course-modal .modal-body{display:flex;flex-direction:column;gap:16px}.form-error-banner{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:#ef4444;font-size:13px}.form-field{display:flex;flex-direction:column;gap:6px}.form-field label{font-size:13px;font-weight:500;color:var(--text-primary)}.form-field input[type=text],.form-field select{padding:8px 12px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-primary);font-size:14px}.form-field input[type=text]:focus,.form-field select:focus{outline:none;border-color:var(--accent)}.form-field.has-error input,.form-field.has-error select{border-color:#ef4444}.field-error{font-size:12px;color:#ef4444}.field-hint{font-size:12px;color:var(--text-muted)}.schedule-options{display:flex;gap:8px}.schedule-option{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;background:var(--bg-secondary);border:2px solid var(--border-subtle);border-radius:8px;cursor:pointer;transition:border-color .15s,background .15s}.schedule-option:hover{border-color:var(--border-primary)}.schedule-option.selected{border-color:var(--accent);background:var(--accent-subtle)}.schedule-option input[type=radio]{display:none}.schedule-weeks{font-size:14px;font-weight:600;color:var(--text-primary)}.schedule-badge{font-size:10px;color:var(--accent);background:var(--accent-subtle);padding:2px 6px;border-radius:4px}.legacy-course-banner{background:#fbbf241a;border:1px solid rgba(251,191,36,.3);border-radius:6px;padding:12px 16px;margin-bottom:20px;display:flex;gap:12px;align-items:flex-start}.legacy-course-banner .banner-icon{width:20px;height:20px;border-radius:50%;background:#fbbf2433;color:#fbbf24;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0}.legacy-course-banner .banner-content{flex:1}.legacy-course-banner strong{color:#fbbf24;font-size:13px;font-weight:600;display:block;margin-bottom:4px}.legacy-course-banner p{color:var(--text-secondary);font-size:12px;line-height:1.5;margin:0}.nav-course-items{padding:8px 0;border-bottom:1px solid var(--border-color)}.nav-tree{flex:1;overflow-y:auto;padding:0}.nav-tree-header{padding:12px 12px 6px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.nav-tree::-webkit-scrollbar{width:6px}.nav-tree::-webkit-scrollbar-track{background:transparent}.nav-tree::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.nav-group{margin:0}.nav-item{display:flex;align-items:center;gap:6px;padding:6px 12px;cursor:pointer;color:var(--text-secondary);transition:background .1s,color .1s;min-height:32px}.nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-item.selected{background:var(--accent-subtle);color:var(--accent)}.nav-toggle{display:flex;align-items:center;justify-content:center;width:16px;height:16px;color:var(--text-muted);flex-shrink:0}.nav-toggle.no-children{visibility:hidden}.nav-toggle.has-children{cursor:pointer}.nav-toggle.has-children:hover{color:var(--text-primary)}.nav-children .nav-item{padding-left:28px}.nav-children .nav-children .nav-item{padding-left:44px}.nav-children .nav-children .nav-children .nav-item{padding-left:60px}.nav-icon{width:16px;height:16px;flex-shrink:0}.nav-label{flex:1;display:flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.unit-number{font-weight:600;color:var(--text-muted);min-width:16px}.resource-number{font-size:11px;color:var(--text-muted);font-family:var(--font-mono)}.type-badge{font-size:9px;font-weight:700;padding:2px 4px;border-radius:3px;text-transform:uppercase}.type-badge.assignment{background:var(--badge-assignment);color:#fff}.type-badge.discussion{background:var(--badge-discussion);color:#fff}.type-badge.quiz{background:var(--badge-quiz);color:#fff}.type-badge.resource{background:var(--badge-resource);color:#fff}.nav-children{margin-left:0}.nav-divider{height:1px;background:var(--border-color);margin:8px 12px}.editor-panel{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--bg-primary)}.editor-toolbar{display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);height:var(--panel-header-height);min-height:var(--panel-header-height);box-sizing:border-box}.toolbar-left,.toolbar-center,.toolbar-right{display:flex;align-items:center;gap:8px}.toolbar-center{flex:1;justify-content:center}.toolbar-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s}.toolbar-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-light)}.toolbar-btn.active{background:var(--accent-subtle);border-color:var(--accent);color:var(--accent)}.toolbar-btn.ai-toggle.active{background:linear-gradient(135deg,#00d9a51f,#ff6bb31f);border-color:var(--ai-accent-1);color:var(--ai-accent-1)}.toolbar-btn.ai-toggle .ai-toggle-text{font-family:var(--font-ai);font-size:11px;font-weight:500;background:linear-gradient(90deg,var(--ai-accent-1) 0%,var(--ai-accent-2) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.toolbar-btn.ai-toggle:hover .ai-toggle-text{background:linear-gradient(90deg,#00f5bb,#ff85c5);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.account-menu-wrapper{position:relative}.account-toggle{display:flex;align-items:center;gap:8px}.account-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-badge{padding:2px 6px;border-radius:4px;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.role-badge.designer{background:#3b82f633;color:#3b82f6}.role-badge.admin{background:#ef444433;color:#ef4444}.account-dropdown{position:absolute;top:100%;right:0;margin-top:8px;width:240px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 8px 24px #0000004d;z-index:1000;overflow:hidden}.account-info{padding:12px 16px}.account-email{font-size:13px;color:var(--text-primary);font-weight:500}.account-role-label{font-size:11px;color:var(--text-muted);margin-top:4px}.account-divider{height:1px;background:var(--border-color)}.role-toggle-section{padding:12px 16px}.toggle-label{display:block;font-size:11px;color:var(--text-muted);margin-bottom:8px}.role-toggle-buttons{display:flex;gap:8px}.role-btn{flex:1;padding:6px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s}.role-btn:hover{background:var(--bg-hover);border-color:var(--border-light)}.role-btn.active{background:var(--accent-subtle);border-color:var(--accent);color:var(--accent)}.account-logout{width:100%;padding:10px 16px;background:none;border:none;text-align:left;font-size:12px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.account-logout:hover{background:var(--bg-tertiary);color:var(--error)}.admin-badge{padding:4px 10px;background:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:4px;color:#ef4444;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.admin-section{background:#ef44440d;border:1px solid rgba(239,68,68,.2);border-radius:8px;padding:20px;margin-bottom:24px}.admin-section-title{display:flex;align-items:center;gap:8px;margin:0 0 16px;font-size:14px;font-weight:600;color:#ef4444}.section-icon{width:16px;height:16px}.template-upload-area{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.file-input-hidden{display:none}.template-upload-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:#ef4444;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.template-upload-btn:hover{background:#ef444426;border-color:#ef444480}.upload-hint{margin:0;font-size:12px;color:var(--text-muted)}.universal-library .editor-type-badge{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,#8b5cf6,#3b82f6);color:#fff}.universal-library .badge-icon{width:14px;height:14px}.universal-description{margin:0 0 24px;font-size:14px;color:var(--text-secondary);line-height:1.5}.universal-section-title{display:flex;align-items:center;gap:12px;margin:0 0 16px}.section-count{font-size:12px;color:var(--text-muted);font-weight:400}.nav-universal{margin-bottom:8px;border-bottom:1px solid var(--border-color);padding-bottom:8px}.nav-universal .nav-icon{color:#8b5cf6}.nav-universal.selected .nav-icon{color:var(--accent)}.editor-scroll{flex:1;overflow-y:auto;padding:24px}.editor-scroll::-webkit-scrollbar{width:8px}.editor-scroll::-webkit-scrollbar-track{background:transparent}.editor-scroll::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.editor-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-muted);gap:24px}.editor-empty-logo{width:360px;height:auto;opacity:.25;filter:grayscale(100%);-webkit-user-select:none;user-select:none;pointer-events:none;mix-blend-mode:screen}[data-theme=light] .editor-empty-logo{filter:invert(1) grayscale(100%);mix-blend-mode:multiply}.entity-editor{max-width:800px;margin:0 auto}.editor-header{display:flex;align-items:center;gap:12px;margin-bottom:24px}.editor-type-badge{padding:4px 10px;background:var(--badge-assignment);color:#000;font-size:11px;font-weight:700;text-transform:uppercase;border-radius:4px}.unpublished-badge{padding:4px 10px;background:#f97316;color:#fff;font-size:11px;font-weight:700;text-transform:uppercase;border-radius:4px;display:flex;align-items:center;gap:4px}.discussion-editor .editor-type-badge{background:var(--badge-discussion);color:#000}.quiz-editor .editor-type-badge{background:var(--badge-quiz);color:#fff}.unit-editor .editor-type-badge{background:var(--accent);color:#000}.editor-id{font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}.quiz-stats{margin-left:auto;font-size:12px;color:var(--text-secondary)}.quiz-stats .planned-points{margin-left:4px}.quiz-stats .planned-points.match{color:var(--success)}.quiz-stats .planned-points.mismatch{color:var(--warning);font-weight:500}.quiz-points-warning{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:6px;padding:12px 16px;font-size:13px;color:var(--warning);margin:-8px 0 8px}.category-badge-header{padding:3px 10px;border-radius:10px;font-size:10px;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.3px}.template-field-banner{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;padding:12px 16px;margin-bottom:16px;font-size:13px;color:var(--text-secondary)}.template-field-banner span{display:block}.template-requirements{margin-top:8px;padding-top:8px;border-top:1px solid var(--border-color);font-size:12px;color:var(--text-muted)}.lock-badge{margin-left:8px;font-size:11px;color:var(--text-muted);font-weight:400}.locked-field-display{padding:10px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:14px}.universal-placeholder-editor .editor-content{display:flex;justify-content:center;align-items:center;min-height:100%;padding:40px}.universal-placeholder-card{display:flex;flex-direction:column;align-items:center;text-align:center;width:100%;max-width:800px}.placeholder-image{width:100%;max-width:700px;aspect-ratio:2.1 / 1;object-fit:cover;object-position:center 35%;margin-bottom:40px;border-radius:12px;filter:var(--logo-filter)}.placeholder-title{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.placeholder-description{font-size:13px;color:var(--text-muted);line-height:1.5;margin-bottom:24px}.placeholder-meta{display:inline-flex;justify-content:center;gap:32px;padding:16px 32px;background:var(--bg-tertiary);border-radius:8px}.meta-item{display:flex;flex-direction:column;align-items:center;flex-shrink:0}.meta-label{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:4px;white-space:nowrap}.meta-value{font-size:14px;font-weight:600;color:var(--text-primary);white-space:nowrap}.meta-value--key{font-family:var(--font-mono);font-size:11px;font-weight:500;color:var(--accent)}.editor-content{display:flex;flex-direction:column;gap:20px}.editor-divider{height:1px;background:var(--border-color);margin:8px 0}.field{display:flex;flex-direction:column;gap:12px}.field-row{display:flex;gap:16px}.field-row .field{flex:1}.field-label{font-size:12px;font-weight:500;color:var(--text-secondary)}.field-hint{font-size:11px;color:var(--text-muted);margin-top:-2px}.field-validation-error{background:#f59e0b26;border:1px solid rgba(245,158,11,.3);border-radius:4px;padding:8px 10px;margin-bottom:8px}.validation-error-item{font-size:12px;color:#b45309;line-height:1.4}.validation-error-item+.validation-error-item{margin-top:4px}.field-validation-warning{background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:4px;padding:8px 10px;margin-bottom:8px;font-size:12px;color:#2563eb}.validation-badge{font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;margin-left:6px;background:#f59e0b33;color:#b45309}.validation-badge.placeholder-badge{background:#3b82f626;color:#2563eb}.editor-validation-warning{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:4px;padding:6px 10px;margin:0 0 8px}.validation-warning-item{font-size:12px;color:#b45309;line-height:1.4}.validation-warning-item+.validation-warning-item{margin-top:4px}.rich-editor.has-validation-warning{border-color:#f59e0b66}.field-input,.field-textarea,.field-select{width:100%;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;padding:10px 12px;color:var(--text-primary);font-size:13px;font-family:inherit;transition:border-color .15s,box-shadow .15s}.field-input:focus,.field-textarea:focus,.field-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-subtle)}.field-input::placeholder,.field-textarea::placeholder{color:var(--text-placeholder)}.title-input{font-size:20px;font-weight:600;padding:14px 16px;letter-spacing:-.01em}.field-textarea{resize:vertical;min-height:80px}.field-select{cursor:pointer}.field-section{display:flex;flex-direction:column;gap:16px}.section-title{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:12px}.section-header{display:flex;align-items:center;justify-content:space-between}.section-action-btn{padding:6px 12px;background:var(--accent);border:none;border-radius:4px;color:#000;font-size:12px;font-weight:600;cursor:pointer}.section-action-btn:hover{background:var(--accent-hover)}.section-hint{font-size:12px;color:var(--text-muted);margin-bottom:12px}.section-hint strong{color:var(--accent)}.field-section.collapsible{gap:0}.section-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .15s}.section-toggle:hover{background:var(--bg-hover);color:var(--text-primary)}.toggle-icon{font-family:var(--font-mono);font-weight:700}.section-content{padding:16px;border:1px solid var(--border-color);border-top:none;border-radius:0 0 6px 6px;display:flex;flex-direction:column;gap:16px}.advanced-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .15s}.advanced-content{padding:16px;border:1px solid var(--border-color);border-top:none;border-radius:0 0 6px 6px;background:var(--bg-primary);display:flex;flex-direction:column;gap:16px;margin-top:-1px}.checkbox-group{display:flex;gap:16px}.checkbox-label{display:flex;align-items:center;gap:6px;color:var(--text-primary);cursor:pointer}.checkbox-label input{accent-color:var(--accent)}.input-with-toggle{display:flex;align-items:center;gap:8px}.time-input{width:80px}.input-suffix{color:var(--text-muted);font-size:12px}.content-list{border:1px solid var(--border-color);border-radius:6px;overflow:hidden}.content-list-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.content-list-title{font-weight:500;font-size:12px;color:var(--text-secondary)}.content-list-add{padding:4px 10px;background:transparent;border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);font-size:11px;cursor:pointer}.content-list-add:hover{background:var(--bg-hover);color:var(--text-primary)}.content-list-empty{padding:16px;text-align:center;color:var(--text-muted);font-size:12px}.content-list-items{padding:4px}.content-list-item{display:flex;align-items:center;gap:8px;padding:8px;border-radius:4px;cursor:pointer}.content-list-item:hover{background:var(--bg-hover)}.content-list-item .item-title{flex:1;color:var(--text-primary)}.content-list-item .item-points,.content-list-item .item-type{font-size:11px;color:var(--text-muted)}.unified-content-list{border:1px solid var(--border-color);border-radius:6px;overflow:hidden}.content-item-wrapper{border-bottom:1px solid var(--border-color)}.content-item-wrapper:last-child{border-bottom:none}.content-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-tertiary)}.content-item:hover{background:var(--bg-hover)}.content-item.child{padding-left:44px;background:var(--bg-secondary)}.content-children{border-top:1px solid var(--border-color)}.content-item .item-expand-btn{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-muted);cursor:pointer;border-radius:4px;flex-shrink:0}.content-item .item-expand-btn:hover:not(:disabled){background:var(--bg-primary);color:var(--text-primary)}.content-item .item-expand-btn:disabled{cursor:default}.content-item .item-expand-btn.no-children{color:transparent}.expand-placeholder{width:20px;flex-shrink:0}.content-item .item-title{flex:1;color:var(--text-primary);cursor:pointer}.content-item .item-title:hover{color:var(--accent)}.content-item .item-points{font-size:11px;color:var(--text-muted);margin-right:8px}.item-add-child{position:relative}.add-child-btn{padding:2px 6px;background:none;border:1px solid var(--border-color);border-radius:3px;color:var(--text-muted);font-size:10px;font-weight:600;cursor:pointer;transition:all .15s}.add-child-btn:hover{border-color:var(--badge-resource);color:var(--badge-resource)}.add-child-menu{position:absolute;right:0;top:100%;margin-top:4px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;padding:4px;z-index:100;box-shadow:0 4px 12px #0000004d}.add-child-menu button{display:block;width:100%;padding:6px 12px;background:none;border:none;color:var(--text-primary);font-size:12px;cursor:pointer;border-radius:4px;text-align:left;white-space:nowrap}.add-child-menu button:hover{background:var(--bg-hover)}.unlink-btn{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-muted);cursor:pointer;border-radius:4px;font-size:12px;opacity:0;transition:opacity .15s}.content-item:hover .unlink-btn{opacity:1}.unlink-btn:hover{background:var(--bg-primary);color:var(--text-primary)}.add-content-wrapper{position:relative}.add-content-menu{position:absolute;right:0;top:100%;margin-top:4px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;padding:4px;z-index:100;box-shadow:0 4px 12px #0000004d}.add-content-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;background:none;border:none;color:var(--text-primary);font-size:12px;cursor:pointer;border-radius:4px;text-align:left;white-space:nowrap}.add-content-menu button:hover{background:var(--bg-hover)}.add-content-menu .type-badge{width:18px;text-align:center}.rich-editor{border:1px solid var(--border-color);border-radius:6px;overflow:hidden;background:var(--bg-tertiary)}.rich-editor:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-subtle)}.rich-editor.disabled{opacity:.6;pointer-events:none}.rich-editor.compact{border-radius:4px}.rich-editor-toolbar{display:flex;align-items:center;gap:4px;padding:6px 8px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);flex-wrap:wrap}.rich-editor-toolbar.compact{padding:4px 6px}.toolbar-group{display:flex;align-items:center;gap:2px}.toolbar-divider{width:1px;height:20px;background:var(--border-color);margin:0 4px}.toolbar-btn{display:flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 6px;background:none;border:none;border-radius:4px;color:var(--text-muted);font-size:12px;cursor:pointer;transition:all .1s}.toolbar-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.toolbar-btn.active{background:var(--accent-subtle);color:var(--accent)}.toolbar-spacer{flex:1}.toolbar-hint{font-size:11px;color:var(--text-muted);font-family:SF Mono,Monaco,Cascadia Code,monospace;padding:2px 6px;background:var(--bg-secondary);border-radius:3px;cursor:help}.toolbar-hint-small{font-size:10px;color:var(--text-muted);font-family:SF Mono,Monaco,Cascadia Code,monospace;padding:1px 4px;background:var(--bg-secondary);border-radius:2px;cursor:help}.latex-preview{padding:16px;background:var(--bg-secondary);border-radius:0 0 6px 6px;min-height:150px;font-size:14px;line-height:1.6;color:var(--text-primary);white-space:pre-wrap}.rich-editor.compact .latex-preview{padding:12px;min-height:80px;font-size:13px}.latex-preview .katex-display{margin:16px 0;text-align:center}.latex-preview .katex{font-size:1.1em}.ProseMirror{min-height:150px;padding:12px;outline:none;color:var(--text-primary);font-size:13px;line-height:1.6}.ProseMirror p{margin:0 0 .75em}.ProseMirror p:last-child{margin-bottom:0}.ProseMirror h2,.ProseMirror h3{font-weight:600;margin:1.5em 0 .5em;color:var(--text-primary)}.ProseMirror h2{font-size:16px}.ProseMirror h3{font-size:14px}.ProseMirror h2:first-child,.ProseMirror h3:first-child{margin-top:0}.ProseMirror ul,.ProseMirror ol{margin:.5em 0;padding-left:1.5em}.ProseMirror ul ul,.ProseMirror ol ol,.ProseMirror ul ol,.ProseMirror ol ul{margin:.25em 0;padding-left:2em}.ProseMirror li{margin:.25em 0}.ProseMirror strong{font-weight:600;color:inherit}.ProseMirror a{color:var(--accent);text-decoration:underline;cursor:pointer;position:relative}.ProseMirror a:hover{color:var(--accent-hover)}.ProseMirror a:after{content:attr(href) " — Ctrl+Click to open";position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);padding:4px 8px;border-radius:4px;font-size:11px;white-space:nowrap;max-width:350px;overflow:hidden;text-overflow:ellipsis;opacity:0;visibility:hidden;transition:opacity .15s,visibility .15s;pointer-events:none;z-index:10;box-shadow:0 2px 8px #0000004d}.ProseMirror a:hover:after{opacity:1;visibility:visible}.ProseMirror table{width:100%;border-collapse:collapse;margin:1em 0;font-size:12px}.ProseMirror th,.ProseMirror td{border:1px solid var(--border-light);padding:8px 10px;text-align:left;vertical-align:top;min-width:80px}.ProseMirror th{background:var(--bg-hover);font-weight:600;color:var(--text-secondary)}.ProseMirror td{background:var(--bg-tertiary)}.ProseMirror .selectedCell{background:var(--accent-subtle)!important}.table-caption-wrapper{display:inline-block;margin:1rem 0}.table-caption-wrapper.is-selected{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.table-caption-wrapper table{margin:0}.table-caption{border:1px solid var(--border-light);border-top:none;border-radius:0 0 4px 4px;overflow:hidden}.table-caption-button{display:flex;align-items:center;gap:.5rem;width:100%;padding:6px 10px;font-size:11px;text-align:left;cursor:pointer;transition:all .15s ease;border:none;border-radius:0;background:transparent}.table-caption.has-caption{background:var(--bg-tertiary)}.table-caption.has-caption .table-caption-button{color:var(--text-secondary)}.table-caption.has-caption .table-caption-button:hover{background:var(--bg-hover)}.table-caption.has-caption .caption-icon{color:var(--text-muted);flex-shrink:0}.table-caption.has-caption .caption-text{flex:1}.table-caption.no-caption{background:#f59e0b14;border-color:#f59e0b4d;border-style:dashed;border-top:1px dashed rgba(245,158,11,.3)}.table-caption.no-caption .table-caption-button{color:#b45309}.table-caption.no-caption .table-caption-button:hover{background:#f59e0b1f}.table-caption.no-caption .warning-icon{color:#d97706;flex-shrink:0}.table-caption.no-caption .caption-placeholder{font-style:italic}.table-caption-input{width:100%;padding:6px 10px;font-size:11px;border:none;border-radius:0;outline:none;background:var(--bg-primary);color:var(--text-primary);box-shadow:inset 0 0 0 2px var(--accent)}.table-caption-input:focus{box-shadow:inset 0 0 0 2px var(--accent)}.table-caption-input::placeholder{color:var(--text-muted)}.ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--text-placeholder);pointer-events:none;height:0;float:left}.instruction-steps-editor{border:1px solid var(--border-color);border-radius:6px;overflow:hidden}.steps-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.steps-title{font-weight:500;font-size:12px;color:var(--text-secondary)}.steps-actions{display:flex;gap:4px}.steps-expand-btn{padding:4px 8px;background:none;border:none;color:var(--text-muted);font-size:11px;cursor:pointer}.steps-expand-btn:hover{color:var(--text-primary)}.steps-list{padding:8px}.steps-empty{padding:16px;text-align:center;color:var(--text-muted);font-size:12px}.instruction-step{border:1px solid var(--border-color);border-radius:6px;margin-bottom:8px;overflow:hidden}.instruction-step:last-child{margin-bottom:0}.step-header{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-tertiary);cursor:pointer}.step-header:hover{background:var(--bg-hover)}.step-grip{color:var(--text-muted);cursor:grab}.step-number{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:var(--accent);color:#000;font-size:11px;font-weight:700;border-radius:50%}.step-expand-icon{color:var(--text-muted)}.step-title-input{flex:1;background:none;border:none;color:var(--text-primary);font-size:14px;font-weight:600;outline:none}.step-title-input::placeholder{color:var(--text-placeholder)}.step-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s}.step-header:hover .step-actions{opacity:1}.step-action-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-muted);font-size:12px;cursor:pointer;border-radius:4px}.step-action-btn:hover{background:var(--bg-primary);color:var(--text-primary)}.step-action-btn.delete:hover{background:#7f1d1d;color:#fca5a5}.step-content{padding:12px;border-top:1px solid var(--border-color)}.step-content ol,.step-content .ProseMirror ol{list-style-type:lower-alpha;padding-left:24px}.step-content ol li,.step-content .ProseMirror ol li{padding-left:4px}.step-description-label{display:block;font-size:11px;font-weight:500;color:var(--text-muted);margin-bottom:6px}.steps-add-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px;background:none;border:1px dashed var(--border-color);border-radius:6px;color:var(--text-muted);font-size:12px;cursor:pointer;margin:8px 8px 12px;width:calc(100% - 16px)}.steps-add-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-light)}.questions-list{display:flex;flex-direction:column;gap:12px}.questions-empty{padding:24px;text-align:center;color:var(--text-muted);background:var(--bg-tertiary);border:1px dashed var(--border-color);border-radius:6px}.question-editor{border:1px solid var(--border-color);border-radius:6px;overflow:hidden}.question-editor.has-validation-errors{border-color:#f59e0b;box-shadow:0 0 0 1px #f59e0b33}.question-validation-badge{font-size:14px;cursor:help}.question-header{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg-tertiary);cursor:pointer}.question-header:hover{background:var(--bg-hover)}.question-grip{color:var(--text-muted);cursor:grab}.question-number{font-weight:700;color:var(--accent);font-size:12px}.question-title-preview{flex:1;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.question-type-badge{font-size:10px;padding:2px 6px;background:var(--bg-hover);border-radius:3px;color:var(--text-muted)}.question-points{font-size:11px;color:var(--text-muted)}.question-actions{display:flex;gap:4px}.question-actions button{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-muted);cursor:pointer;border-radius:4px}.question-actions button:hover{background:var(--bg-primary);color:var(--text-primary)}.question-actions button.delete:hover{background:#7f1d1d;color:#fca5a5}.expand-icon{color:var(--text-muted);font-weight:700}.question-content{padding:16px;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:16px}.answers-list{display:flex;flex-direction:column;gap:8px}.answer-editor{border:1px solid var(--border-color);border-radius:6px;padding:10px;background:var(--bg-tertiary)}.answer-editor.correct{border-color:var(--badge-assignment);background:#22c55e1a}.answer-header{display:flex;align-items:center;gap:8px}.answer-correct-toggle{display:flex;align-items:center;gap:6px;cursor:pointer}.answer-radio{width:18px;height:18px;border:2px solid var(--border-light);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.answer-radio.checked{border-color:var(--badge-assignment);background:var(--badge-assignment)}.answer-radio .radio-dot{width:8px;height:8px;background:#000;border-radius:50%}.answer-letter{font-weight:700;color:var(--text-muted);font-size:12px}.answer-editor.correct .answer-letter{color:var(--badge-assignment)}.answer-text-input{flex:1;background:none;border:none;color:var(--text-primary);font-size:13px;outline:none}.answer-delete-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-muted);cursor:pointer;border-radius:4px;font-size:16px}.answer-delete-btn:hover{background:var(--bg-primary);color:var(--text-primary)}.answer-delete-btn.disabled{opacity:.3;cursor:not-allowed}.answer-delete-btn.disabled:hover{background:none;color:var(--text-muted)}.answer-editor.last-correct{position:relative}.answer-correct-toggle.locked{cursor:not-allowed}.answer-correct-toggle.locked .answer-radio{opacity:.7}.answer-radio.checkbox{border-radius:4px}.answer-radio.checkbox .radio-dot{border-radius:2px;width:10px;height:10px}.answer-feedback{margin-top:8px;padding-top:8px;border-top:1px solid var(--border-color)}.answer-feedback-input{width:100%;background:none;border:none;color:var(--text-secondary);font-size:12px;outline:none}.add-answer-btn{padding:8px;background:none;border:1px dashed var(--border-color);border-radius:6px;color:var(--text-muted);font-size:12px;cursor:pointer;width:100%}.add-answer-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.add-question-btn{padding:12px 16px;margin-top:12px;background:var(--bg-tertiary);border:1px dashed var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:13px;cursor:pointer;width:100%;text-align:center;transition:all .15s ease}.add-question-btn:hover{background:var(--bg-hover);border-color:var(--accent);color:var(--accent)}.course-plan{max-width:1000px;margin:0 auto}.course-plan-header{margin-bottom:24px}.course-plan-title{font-size:20px;font-weight:600;margin-bottom:4px}.course-plan-subtitle{color:var(--text-secondary);font-size:14px}.course-plan-tabs{display:flex;gap:4px;margin-bottom:24px;border-bottom:1px solid var(--border-color);padding-bottom:4px}.tab-btn{padding:8px 16px;background:none;border:none;border-radius:6px 6px 0 0;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .15s}.tab-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.tab-btn.active{background:var(--accent-subtle);color:var(--accent)}.tab-content{display:flex;flex-direction:column;gap:20px}.tab-description{color:var(--text-secondary);font-size:13px;margin-bottom:8px}.research-tab{gap:32px}.research-section{border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.research-section-header{background:var(--bg-tertiary);padding:16px;display:flex;flex-direction:column;gap:4px}.research-section-header .section-title{margin:0;font-size:14px;font-weight:600}.research-section-header .field-hint{margin:0 0 8px}.research-section-header .add-row-btn{align-self:flex-start}.research-items{padding:16px;display:flex;flex-direction:column;gap:16px}.research-empty{color:var(--text-muted);font-style:italic;font-size:13px;text-align:center;padding:12px}.research-item{border:1px solid var(--border-color);border-radius:6px;padding:12px;display:flex;flex-direction:column;gap:8px;background:var(--bg-secondary)}.research-item-row{display:flex;gap:8px;align-items:center}.research-title-input{flex:1;padding:8px 12px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:14px;font-weight:500}.research-title-input:focus{outline:none;border-color:var(--accent)}.research-url-input,.research-citation-input,.research-desc-input{width:100%;padding:8px 12px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:13px}.research-url-input:focus,.research-citation-input:focus,.research-desc-input:focus{outline:none;border-color:var(--accent)}.research-citation-input{font-style:italic}.research-desc-input{resize:vertical;min-height:60px}.research-delete-btn{background:none;border:1px solid transparent;border-radius:4px;padding:4px 8px;color:var(--text-muted);cursor:pointer;font-size:16px;transition:all .15s}.research-delete-btn:hover{color:var(--error);background:#ef44441a;border-color:#ef44444d}.skills-table-wrapper{overflow-x:auto}.skills-table{width:100%;border-collapse:collapse;font-size:13px}.skills-table th,.skills-table td{padding:10px 12px;border:1px solid var(--border-color);text-align:left}.skills-table th{background:var(--bg-tertiary);font-weight:500;color:var(--text-secondary)}.skills-table td{background:var(--bg-primary)}.empty-row{text-align:center;color:var(--text-muted);font-style:italic}.table-input,.table-select{width:100%;background:none;border:none;color:var(--text-primary);font-size:13px;padding:4px;outline:none}.table-input:focus,.table-select:focus{background:var(--bg-tertiary);border-radius:4px}.table-delete-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:16px}.table-delete-btn:hover{color:#fca5a5}.add-row-btn{margin-top:12px;padding:8px 16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:12px;cursor:pointer}.add-row-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.outcomes-tree{display:flex;flex-direction:column;gap:16px}.outcome-group{border:1px solid var(--border-color);border-radius:6px;padding:12px}.outcome-badge{padding:4px 8px;background:var(--accent);color:#000;font-size:10px;font-weight:700;border-radius:4px;white-space:nowrap}.outcome-item.clo .outcome-badge{background:var(--badge-discussion)}.outcome-item.klo .outcome-badge{background:var(--badge-resource)}.outcome-input{flex:1;background:none;border:none;color:var(--text-primary);font-size:13px;outline:none}.outcome-children{margin-left:24px;padding-left:16px;border-left:2px solid var(--border-color)}.clo-skills{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-left:58px;margin-bottom:8px;padding:6px 10px;background:var(--bg-tertiary);border-radius:4px}.clo-skills-label{font-size:11px;color:var(--text-muted);font-weight:500}.clo-skill-tag{display:inline-flex;align-items:center;padding:2px 8px;font-size:11px;font-weight:500;border-radius:10px;background:var(--accent-subtle);color:var(--accent);white-space:nowrap}.clo-skill-tag.tool{background:#3b82f626;color:#3b82f6}.clo-skill-tag.specialized{background:#a855f726;color:#a855f7}.skills-matrix-tab .empty-state{padding:40px;text-align:center;color:var(--text-muted)}.skills-matrix-table{width:100%;border-collapse:collapse;font-size:13px}.skills-matrix-table th{text-align:left;padding:12px 16px;background:var(--bg-tertiary);color:var(--text-secondary);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-color)}.skills-matrix-table td{padding:12px 16px;border-bottom:1px solid var(--border-color);vertical-align:top}.skills-matrix-table tr:hover td{background:var(--bg-hover)}.skill-name-cell{font-weight:500;color:var(--text-primary)}.skill-type-cell .skill-type-badge{display:inline-block;padding:2px 8px;font-size:10px;font-weight:600;border-radius:10px;text-transform:capitalize}.skill-type-badge.tool{background:#3b82f626;color:#3b82f6}.skill-type-badge.specialized{background:#a855f726;color:#a855f7}.skill-clos-cell .clo-tags{display:flex;flex-wrap:wrap;gap:4px}.skill-clos-cell .clo-tag{display:inline-block;padding:2px 8px;font-size:11px;font-weight:500;background:#06b6d426;color:var(--badge-discussion);border-radius:4px;cursor:help}.skill-clos-cell .no-clos{color:var(--text-muted);font-style:italic}.skill-benchmark-cell .not-benchmarked{color:var(--text-muted)}.skills-sub-tabs{display:inline-flex;border:1px solid var(--border-color);border-radius:6px;overflow:hidden;margin-bottom:20px}.skills-sub-tab{padding:8px 20px;background:var(--bg-secondary);border:none;border-right:1px solid var(--border-color);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.skills-sub-tab:last-child{border-right:none}.skills-sub-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.skills-sub-tab.active{background:var(--accent);color:#fff}.skills-matrix-content{display:flex;flex-direction:column;gap:16px}.skills-matrix-content .empty-state,.skills-matrix-content .loading-state{padding:40px;text-align:center;color:var(--text-muted)}.skills-matrix-table.editable td{padding:8px 12px}.skills-matrix-table .table-input,.skills-matrix-table .table-select{width:100%;background:transparent;border:1px solid transparent;border-radius:4px;color:var(--text-primary);font-size:13px;padding:6px 8px;outline:none;transition:border-color .15s}.skills-matrix-table .table-input:hover,.skills-matrix-table .table-select:hover{border-color:var(--border-color)}.skills-matrix-table .table-input:focus,.skills-matrix-table .table-select:focus{border-color:var(--accent);background:var(--bg-tertiary)}.skills-matrix-table .skill-name-readonly{color:var(--text-primary);font-weight:500}.skills-matrix-table .no-future,.skills-matrix-table .no-clos{color:var(--text-muted)}.benchmark-tags{display:flex;flex-wrap:wrap;gap:4px}.benchmark-tag{display:inline-block;padding:2px 8px;font-size:11px;font-weight:500;background:#22c55e26;color:#22c55e;border-radius:4px;text-decoration:none}.benchmark-tag.clickable{cursor:pointer;transition:all .15s}.benchmark-tag.clickable:hover{background:#22c55e4d;text-decoration:underline}.benchmark-control{display:flex;align-items:center;gap:6px}.skill-benchmark-cell.unbenchmarked{background:#fb923c14}.unbenchmarked-select{color:var(--text-muted)!important;font-style:italic}.unbenchmarked-select option{font-style:normal;color:var(--text-primary)}.skill-benchmark-cell.duplicate-warning{background:#ef444414}.duplicate-badge{display:inline-flex;align-items:center;justify-content:center;font-size:14px;cursor:help}.skills-matrix-table tr:has(.duplicate-warning){border-left:3px solid #ef4444}.benchmark-skills-display .skills-badges.readonly{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.benchmark-skills-display .skill-badge.readonly{display:inline-block;padding:4px 10px;font-size:12px;font-weight:500;background:var(--bg-tertiary);color:var(--text-primary);border-radius:4px;cursor:default}.benchmark-skills-display .edit-hint{font-size:11px;color:var(--text-muted);margin-top:8px;font-style:italic}.act-section{margin-bottom:32px;padding-bottom:24px;border-bottom:2px solid var(--border-color)}.act-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.act-header{margin-bottom:16px;padding:12px 16px;background:linear-gradient(135deg,var(--accent-subtle) 0%,transparent 100%);border-radius:8px;border-left:4px solid var(--accent)}.act-title{font-size:18px;font-weight:700;margin-bottom:4px;color:var(--text-primary)}.act-rize-goal-locked{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;padding:12px;margin:12px 0}.act-rize-goal-locked .locked-label{display:block;font-size:10px;font-weight:600;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px}.act-rize-goal-locked .locked-content{margin:0;font-size:13px;line-height:1.5;color:var(--text-secondary)}.locked-row{background:var(--bg-tertiary)}.locked-row .field-label-cell{background:var(--bg-secondary)}.lock-icon{margin-right:6px;font-size:10px}.locked-field-value{padding:6px 8px;font-size:13px;color:var(--text-secondary);line-height:1.4}.act-narrative-readonly{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;padding:12px;margin-top:12px}.act-narrative-readonly .narrative-label{display:block;font-size:10px;font-weight:600;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px}.act-narrative-readonly .narrative-content{margin:0;font-size:13px;line-height:1.6;color:var(--text-secondary);font-style:italic}.unit-number-badge{padding:4px 10px;background:var(--accent);border-radius:4px;font-size:11px;font-weight:700;color:#fff;white-space:nowrap}.unit-title-input-large{flex:1;background:transparent;border:none;color:var(--text-primary);font-weight:600;font-size:16px;outline:none;padding:4px 8px;margin-left:4px}.unit-title-input-large:focus{background:var(--bg-primary);border-radius:4px}.unit-title-input-large::placeholder{color:var(--text-muted);font-weight:400}.act-narrative{color:var(--text-secondary);font-size:13px;font-style:italic}.act-units{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.unit-card{border:1px solid var(--border-color);border-radius:6px;overflow:hidden}.unit-card-header{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.unit-card-header .unit-number{font-weight:600;color:var(--accent)}.unit-card-header .unit-title{color:var(--text-primary);font-weight:500}.unit-card-fields{padding:12px;display:flex;flex-direction:column;gap:12px}.mini-field label{display:block;font-size:10px;font-weight:500;color:var(--text-muted);text-transform:uppercase;margin-bottom:4px}.mini-field textarea{width:100%;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;padding:6px 8px;color:var(--text-primary);font-size:12px;font-family:inherit;resize:none}.mini-field textarea:focus{outline:none;border-color:var(--accent)}.assignment-mapping-table-wrapper{overflow-x:auto}.assignment-mapping-table{width:100%;border-collapse:collapse;font-size:12px}.assignment-mapping-table th,.assignment-mapping-table td{padding:8px 10px;border:1px solid var(--border-color);text-align:left}.assignment-mapping-table th{background:var(--bg-tertiary);font-weight:500;color:var(--text-secondary)}.assignment-mapping-table .unit-cell{background:var(--bg-secondary);font-weight:600;color:var(--accent);vertical-align:top;min-width:100px}.assignment-mapping-table .title-cell{min-width:200px}.assignment-mapping-table .points-cell{text-align:center;font-weight:500}.assignment-mapping-table .actions-cell{text-align:center;width:60px}.assignment-mapping-table .empty-unit-cell{color:var(--text-muted);text-align:center}.table-edit-btn{background:none;border:1px solid var(--border-color);border-radius:4px;padding:4px 8px;cursor:pointer;color:var(--text-muted);font-size:12px;transition:all .15s}.table-edit-btn:hover{border-color:var(--accent);color:var(--accent)}.unit-actions{display:flex;gap:4px;margin-top:8px}.unit-add-btn{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;padding:2px 6px;font-size:10px;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all .15s}.unit-add-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-subtle)}.inline-title-input,.inline-points-input,.inline-due-input{background:transparent;border:1px solid transparent;border-radius:4px;padding:4px 8px;font-size:12px;color:var(--text-primary);width:100%;transition:all .15s}.inline-title-input:hover,.inline-points-input:hover,.inline-due-input:hover{background:var(--bg-tertiary);border-color:var(--border-color)}.inline-title-input:focus,.inline-points-input:focus,.inline-due-input:focus{background:var(--bg-primary);border-color:var(--accent);outline:none}.inline-title-input{min-width:180px}.inline-points-input{width:60px;text-align:center;font-weight:500}.inline-due-input{width:80px;text-align:center}.inline-due-select{background:transparent;border:1px solid transparent;border-radius:4px;padding:4px 6px;font-size:12px;color:var(--text-primary);cursor:pointer;transition:all .15s}.inline-due-select:hover{background:var(--bg-tertiary);border-color:var(--border-color)}.inline-due-select:focus{background:var(--bg-primary);border-color:var(--accent);outline:none}.quiz-points-readonly{color:var(--text-muted);font-style:italic}.table-delete-btn{background:none;border:1px solid transparent;border-radius:4px;padding:4px 8px;cursor:pointer;color:var(--text-muted);font-size:14px;font-weight:700;transition:all .15s;margin-left:4px}.table-delete-btn:hover{border-color:var(--error);color:var(--error);background:#f443361a}.template-info-banner{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;margin-bottom:16px}.template-badge{font-size:12px;font-weight:600;color:var(--accent)}.template-hint{font-size:11px;color:var(--text-muted)}.template-row{background:var(--bg-tertiary)}.template-row.category-onboarding{background:#8b5cf614}.template-row.category-milestone{background:#f59e0b14}.template-row.category-subject-specific{background:#10b98114}.template-row.category-quiz{background:#3b82f614}.template-row.category-final-project{background:#ef444414}.category-cell{width:120px}.category-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.3px}.locked-title{color:var(--text-secondary)}.locked-points{color:var(--text-muted);font-weight:500}.locked-indicator{font-size:12px;color:var(--text-muted)}.universal-placeholder-row{background:#8b5cf60d!important}.universal-placeholder{padding:12px!important}.universal-content{display:flex;flex-direction:column;gap:4px}.universal-title{font-weight:500;color:var(--text-primary)}.universal-key{font-size:11px;color:#8b5cf6;font-weight:500}.universal-note{font-size:10px;color:var(--text-muted);font-style:italic;margin-top:4px}.requirements-hint{font-size:10px;color:var(--text-muted);margin-top:4px;padding:4px 6px;background:var(--bg-secondary);border-radius:4px;cursor:help}.assignment-mapping-table .actions-cell{text-align:center;width:80px;white-space:nowrap}.assignment-mapping-table .type-cell{width:50px;text-align:center}.assignment-mapping-table .points-cell{width:80px}.assignment-mapping-table .due-cell{width:100px}.points-summary{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:16px;margin-bottom:20px}.points-summary.unbalanced{border-color:#f59e0b;background:#f59e0b0d}.points-breakdown{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.points-item{display:flex;flex-direction:column;gap:2px}.points-item.subtotal,.points-item.total{padding-left:12px}.points-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.points-value{font-size:14px;font-weight:600;color:var(--text-primary)}.points-value.warning{color:#f59e0b}.points-value.error{color:#ef4444}.points-value.success{color:#22c55e}.points-diff{font-size:11px;font-weight:500;margin-left:4px;color:#f59e0b}.points-divider{width:1px;height:30px;background:var(--border-color)}.points-warning{margin-top:12px;padding:8px 12px;background:#f59e0b1a;border-radius:4px;font-size:12px;color:#f59e0b}.universal-tab{padding:24px 0}.universal-content-header{margin-bottom:32px}.universal-content-header h2{margin:0 0 8px;font-size:20px;font-weight:600;color:var(--text-primary)}.universal-description{margin:0;font-size:14px;color:var(--text-secondary);line-height:1.5}.universal-section{margin-bottom:32px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:20px}.universal-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.universal-section-title{margin:0;font-size:14px;font-weight:500;display:flex;align-items:center;gap:12px}.loading-indicator{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);font-weight:400}.loading-indicator .spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.milestone-search{position:relative;margin-bottom:16px}.milestone-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-tertiary);pointer-events:none}.milestone-search-input{width:100%;max-width:400px;padding:12px 40px;border:2px solid var(--border-color);border-radius:8px;font-size:14px;background:var(--bg-primary);color:var(--text-primary);transition:border-color .15s,box-shadow .15s}.milestone-search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #3b82f626}.milestone-search-input::placeholder{color:var(--text-tertiary)}.milestone-search-clear{position:absolute;right:calc(100% - 388px);top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;background:var(--gray-300);border-radius:50%;cursor:pointer;color:var(--gray-600);transition:background .15s}@media (max-width: 500px){.milestone-search-clear{right:12px}}.milestone-search-clear:hover{background:var(--gray-400);color:var(--gray-700)}.milestone-table-container{max-height:450px;overflow-y:auto;border:1px solid var(--border-color);border-radius:8px}.milestone-table-container .universal-content-table{margin:0;border:none;border-radius:0}.milestone-table-container .universal-content-table thead{position:sticky;top:0;z-index:1;background:var(--bg-secondary)}.milestone-table-container .universal-content-table thead th{border-top:none}.ready-toggle-cell{text-align:center}.ready-toggle{position:relative;width:40px;height:22px;background:var(--gray-300);border-radius:11px;border:none;cursor:pointer;transition:background .2s;padding:0}.ready-toggle.active{background:#10b981}.ready-toggle.disabled{opacity:.4;cursor:not-allowed}.ready-toggle .toggle-track{display:block;width:100%;height:100%;position:relative}.ready-toggle .toggle-thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #0003}.ready-toggle.active .toggle-thumb{transform:translate(18px)}.status-text{font-size:12px;color:var(--gray-600);white-space:nowrap}.status-text.draft{color:var(--gray-500)}.status-text.needs-publish{color:#f59e0b;font-weight:500}.status-text.needs-push{color:var(--gray-600)}.status-text.synced{color:#10b981}.status-text.ready{color:#10b981;font-weight:500}.section-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.section-badge.milestone{background:#f59e0b;color:#000}.section-badge.onboarding{background:#8b5cf6;color:#fff}.section-badge.resources,.section-badge.quiz{background:#3b82f6;color:#fff}.section-badge.final-project{background:#ef4444;color:#fff}.section-description{margin:0 0 16px;font-size:13px;color:var(--text-muted)}.universal-content-table{width:100%;border-collapse:collapse;font-size:13px}.universal-content-table th,.universal-content-table td{padding:10px 12px;border:1px solid var(--border-color);text-align:left}.universal-content-table th{background:var(--bg-tertiary);font-weight:600;color:var(--text-primary);font-size:11px;text-transform:uppercase}.universal-content-table td{background:var(--bg-primary)}.universal-content-table .resource-key{font-family:var(--font-mono);font-size:11px;color:#8b5cf6}.empty-section{text-align:center;color:var(--text-muted);font-size:13px;font-style:italic;padding:16px;margin:0}.template-versions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-bottom:20px}.template-type-card{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;padding:16px}.template-type-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.template-type-name{font-weight:600;font-size:14px;color:var(--text-primary);text-transform:capitalize}.version-badge{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.version-badge.published{background:#22c55e33;color:#22c55e}.version-badge.draft{background:#f59e0b33;color:#f59e0b}.template-type-meta{font-size:12px;color:var(--text-muted);margin-bottom:12px}.draft-indicator{color:#f59e0b}.template-type-actions{display:flex;gap:8px}.template-action-btn{flex:1;padding:6px 12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s}.template-action-btn:hover{background:var(--bg-hover);border-color:var(--border-light)}.template-action-btn.primary{background:var(--accent-subtle);border-color:var(--accent);color:var(--accent)}.template-action-btn.primary:hover{background:var(--accent);color:#fff}.customizable-count{display:inline-block;padding:2px 8px;background:#f59e0b26;border:1px solid rgba(245,158,11,.3);border-radius:4px;font-size:11px;color:#f59e0b}.no-customization{color:var(--text-muted);font-size:12px}.table-edit-btn{padding:4px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s}.table-edit-btn:hover{background:var(--accent-subtle);border-color:var(--accent);color:var(--accent)}.table-edit-btn.view-only{background:var(--bg-secondary)}.table-edit-btn.view-only:hover{background:var(--bg-tertiary);border-color:var(--border-light);color:var(--text-primary)}.universal-edit-editor .resource-key-badge{padding:4px 12px;background:#8b5cf626;border:1px solid rgba(139,92,246,.3);border-radius:4px;font-family:var(--font-mono);font-size:12px;color:#8b5cf6}.universal-edit-editor .view-only-badge{padding:4px 12px;background:#6b728026;border:1px solid rgba(107,114,128,.3);border-radius:4px;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px}.back-to-library-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 0;background:none;border:none;color:var(--accent);font-size:13px;cursor:pointer;margin-bottom:20px}.back-to-library-btn:hover{text-decoration:underline}.universal-meta-section{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;padding:16px;margin-bottom:24px}.meta-row{display:flex;align-items:center;padding:6px 0}.meta-row:not(:last-child){border-bottom:1px solid var(--border-color)}.meta-label{width:140px;font-size:12px;color:var(--text-muted)}.meta-value{font-size:13px;color:var(--text-primary)}.meta-value.resource-key{font-family:var(--font-mono);color:#8b5cf6}.universal-status-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:16px;margin-bottom:24px}.status-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.status-label{font-size:13px;font-weight:500;color:var(--text-secondary)}.universal-status-section .status-badge{padding:4px 12px;border-radius:4px;font-size:12px;font-weight:600;text-transform:capitalize}.universal-status-section .status-badge.draft{background:#6b728026;color:#6b7280}.universal-status-section .status-badge.published{background:#3b82f626;color:#3b82f6}.universal-status-section .status-badge.ready-to-push{background:#10b98126;color:#10b981}.universal-status-section .status-badge.pushed{background:#8b5cf626;color:#8b5cf6}.status-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.status-action-btn{padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;border:none;transition:all .15s}.status-action-btn.publish{background:#3b82f6;color:#fff}.status-action-btn.publish:hover{background:#2563eb}.status-action-btn.ready{background:#10b981;color:#fff}.status-action-btn.ready:hover{background:#059669}.status-action-btn.draft{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color)}.status-action-btn.draft:hover{background:var(--bg-hover)}.status-action-btn.unready{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.status-action-btn.unready:hover{background:#ef444433}.status-hint{font-size:12px;color:#10b981;font-style:italic}.status-push-info{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-color);font-size:12px;color:var(--text-muted);display:flex;align-items:center;gap:8px}.push-label{color:var(--text-secondary)}.push-value{color:var(--text-primary)}.push-courses{color:#8b5cf6}.status-warning{margin-top:12px;padding:10px 12px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:6px;font-size:13px;color:#f59e0b}.status-publish-info{margin-top:12px;font-size:12px;color:var(--text-muted);display:flex;align-items:center;gap:8px}.publish-label{color:var(--text-secondary)}.publish-value{color:var(--text-primary)}.status-ready-info{margin-top:12px;padding:10px 12px;background:#10b9811a;border:1px solid rgba(16,185,129,.3);border-radius:6px;font-size:12px;color:#10b981}.universal-status-section .status-badge.needs-publish{background:#f59e0b26;color:#f59e0b}.universal-status-section .status-badge.needs-push{background:#3b82f626;color:#3b82f6}.universal-status-section .status-badge.synced,.universal-status-section .status-badge.ready{background:#10b98126;color:#10b981}.customization-required-badge{display:inline-flex;align-items:center;margin-left:8px;padding:2px 8px;background:#f59e0b26;border:1px solid rgba(245,158,11,.3);border-radius:4px;font-size:10px;font-weight:600;color:#f59e0b;text-transform:uppercase;letter-spacing:.3px}.field-readonly{padding:10px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:14px}.customizable-fields-section{margin-top:24px;padding:20px;background:#f59e0b0d;border:1px solid rgba(245,158,11,.2);border-radius:8px}.customizable-fields-section h3{margin:0 0 8px;font-size:14px;font-weight:600;color:#f59e0b}.customizable-fields-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.customizable-field-toggle{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all .15s}.customizable-field-toggle:hover{background:var(--bg-tertiary)}.customizable-field-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.customizable-field-toggle span{font-size:13px;color:var(--text-primary)}.required-tag{margin-left:auto;padding:2px 6px;background:#f59e0b33;border-radius:3px;font-size:10px;font-weight:600;color:#f59e0b;text-transform:uppercase}.content-preview-section{margin-top:24px}.content-preview-section h3{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--text-primary)}.content-preview-placeholder{padding:40px;background:var(--bg-tertiary);border:2px dashed var(--border-color);border-radius:8px;text-align:center;color:var(--text-muted)}.unit-card-header .unit-title-input{flex:1;background:none;border:none;color:var(--text-primary);font-weight:500;font-size:13px;outline:none}.unit-card-header .unit-title-input:focus{background:var(--bg-primary);padding:4px 8px;border-radius:4px}.unit-card-header .unit-title-input:placeholder-shown{background:#f59e0b1a;padding:4px 8px;border-radius:4px}.unit-delete-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-muted);cursor:pointer;border-radius:4px;font-size:16px;opacity:0;transition:opacity .15s}.unit-card-header:hover .unit-delete-btn{opacity:1}.unit-delete-btn:hover{background:#ef444433;color:#fca5a5}.learning-outcomes-row .field-value-cell{padding:0!important}.fip-section{margin-top:12px;border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.fip-section-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.fip-section-title{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-muted)}.fip-badge{padding:2px 6px;background:linear-gradient(135deg,#3b82f6,#f59e0b,#10b981);border-radius:4px;font-size:9px;font-weight:700;color:#fff;letter-spacing:.5px}.add-fip-btn{padding:5px 10px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);font-size:11px;cursor:pointer;transition:all .15s}.add-fip-btn:hover{background:var(--accent-subtle);border-color:var(--accent);color:var(--accent)}.fip-empty{padding:20px;text-align:center;font-size:12px;color:var(--text-muted);font-style:italic}.fip-items-list{display:flex;flex-direction:column}.fip-item{border-bottom:1px solid var(--border-color)}.fip-item:last-child{border-bottom:none}.fip-item-header{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;transition:background .15s}.fip-item-header:hover{background:var(--bg-tertiary)}.fip-item-number{width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:var(--accent);border-radius:50%;font-size:11px;font-weight:700;color:#fff;flex-shrink:0}.fip-framework-input{flex:1;padding:6px 10px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:13px;font-weight:500}.fip-framework-input:focus{outline:none;border-color:var(--accent)}.fip-item-actions{display:flex;align-items:center;gap:8px}.fip-expand-icon{font-size:10px;color:var(--text-muted)}.fip-delete-btn{width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:4px;color:var(--text-muted);font-size:16px;cursor:pointer;opacity:0;transition:all .15s}.fip-item-header:hover .fip-delete-btn{opacity:1}.fip-delete-btn:hover{background:#ef444426;color:#ef4444}.fip-item-details{padding:0 14px 14px 46px;display:flex;flex-direction:column;gap:12px;animation:slideDown .15s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.fip-field{display:flex;flex-direction:column;gap:6px}.fip-field-label{display:flex;align-items:center;font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-muted)}.fip-field textarea{width:100%;padding:10px 12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:13px;font-family:inherit;line-height:1.5;resize:vertical}.fip-field textarea:focus{outline:none;border-color:var(--accent)}.fip-field textarea::placeholder{color:var(--text-muted);font-style:italic}.lo-section{margin-top:12px;border:1px solid var(--border-color);border-radius:8px;overflow:visible;position:relative;z-index:500}.lo-section-header{padding:10px 14px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.lo-section-title{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-muted)}.lo-selector-container{position:relative;z-index:600}.lo-tags-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 10px;min-height:38px;cursor:pointer;border:1px solid transparent;border-radius:4px;transition:all .15s}.lo-tags-row:hover{background:var(--bg-tertiary);border-color:var(--border-color)}.lo-tag{display:inline-flex;align-items:center;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;letter-spacing:.3px}.lo-tag.clo{background:#3b82f626;color:#3b82f6}.lo-tag.klo{background:#8b5cf626;color:#8b5cf6}.lo-tag.plo{background:#22c55e26;color:#22c55e}.lo-edit-hint{font-size:10px;color:var(--text-muted);margin-left:auto}.lo-placeholder{font-size:12px;color:var(--text-muted);font-style:italic}.lo-selector-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 8px 24px #0006;z-index:1000;max-height:280px;overflow:hidden;display:flex;flex-direction:column}.lo-selector-header{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.lo-search-input{flex:1;padding:8px 12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:13px}.lo-search-input:focus{outline:none;border-color:var(--accent)}.lo-search-input::placeholder{color:var(--text-muted)}.lo-selector-close{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:4px;color:var(--text-muted);cursor:pointer;font-size:16px}.lo-selector-close:hover{background:var(--bg-hover);color:var(--text-primary)}.lo-selector-list{flex:1;overflow-y:auto;padding:8px}.lo-selector-empty{padding:20px;text-align:center;font-size:12px;color:var(--text-muted)}.lo-selector-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:6px;cursor:pointer;transition:background .15s}.lo-selector-item:hover{background:var(--bg-tertiary)}.lo-selector-item.selected{background:var(--accent-subtle)}.lo-selector-item input[type=checkbox]{margin-top:2px;accent-color:var(--accent)}.lo-item-badge{flex-shrink:0;padding:2px 6px;border-radius:3px;font-size:10px;font-weight:700}.lo-item-badge.clo{background:#3b82f633;color:#3b82f6}.lo-item-badge.klo{background:#8b5cf633;color:#8b5cf6}.lo-item-badge.plo{background:#22c55e33;color:#22c55e}.lo-item-desc{flex:1;font-size:12px;color:var(--text-secondary);line-height:1.4}.unit-content-summary{padding:12px;border-top:1px solid var(--border-color);background:var(--bg-primary);position:relative;z-index:1}.unit-content-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.unit-content-label{font-size:10px;font-weight:500;color:var(--text-muted);text-transform:uppercase}.unit-add-content{display:flex;gap:4px}.add-content-btn{width:24px;height:20px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-muted);font-size:10px;font-weight:700;cursor:pointer;transition:all .15s}.add-content-btn:hover{border-color:var(--accent);color:var(--accent)}.add-content-btn.assignment:hover{border-color:var(--badge-assignment);color:var(--badge-assignment)}.add-content-btn.discussion:hover{border-color:var(--badge-discussion);color:var(--badge-discussion)}.add-content-btn.quiz:hover{border-color:var(--badge-quiz);color:var(--badge-quiz)}.unit-content-items{display:flex;flex-wrap:wrap;gap:6px}.content-pill{padding:3px 8px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;font-size:11px;color:var(--text-secondary);white-space:nowrap}.content-pill.assignment{border-color:var(--badge-assignment);color:var(--badge-assignment)}.content-pill.discussion{border-color:var(--badge-discussion);color:var(--badge-discussion)}.content-pill.quiz{border-color:var(--badge-quiz);color:var(--badge-quiz)}.no-content{font-size:11px;color:var(--text-muted);font-style:italic}.add-unit-btn{width:100%;padding:12px;margin-top:12px;background:var(--bg-tertiary);border:1px dashed var(--border-color);border-radius:6px;color:var(--text-muted);font-size:12px;cursor:pointer;transition:all .15s}.add-unit-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-subtle)}.ai-panel{width:var(--ai-panel-width);min-width:var(--ai-panel-width);background:var(--bg-secondary);border-left:1px solid var(--border-color);display:flex;flex-direction:column}.ai-header{display:flex;align-items:center;gap:8px;padding:0 16px;border-bottom:1px solid var(--border-color);background:var(--ai-gradient-subtle);height:var(--panel-header-height);min-height:var(--panel-header-height);box-sizing:border-box}.ai-icon{background:var(--ai-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.ai-title{flex:1;font-weight:500;font-family:var(--font-ai);background:var(--ai-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.ai-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-muted);font-size:18px;cursor:pointer;border-radius:4px}.ai-close:hover{background:var(--bg-hover);color:var(--text-primary)}.ai-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.ai-message{padding:10px 12px;border-radius:8px;font-size:12px;line-height:1.6}.ai-message.assistant{background:var(--ai-bg);color:var(--text-primary);font-family:var(--font-ai);border-left:2px solid var(--ai-accent-1)}.ai-message.user{background:var(--bg-tertiary);color:var(--text-primary);align-self:flex-end;max-width:85%;font-family:var(--font-sans);border-right:2px solid var(--ai-accent-2)}.message-context-badge{font-size:10px;color:#0009;margin-bottom:4px;display:flex;align-items:center;gap:4px}.message-context-badge:before{content:"📍";font-size:9px}.ai-input-area{padding:12px;border-top:1px solid var(--border-color);display:flex;gap:8px}.ai-input-area textarea{flex:1;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;padding:10px;color:var(--text-primary);font-size:12px;font-family:var(--font-sans);resize:none;min-height:60px;max-height:120px}.ai-input-area textarea:focus{outline:none;border-color:var(--ai-accent-1);box-shadow:0 0 0 2px #00d9a526}.ai-send-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#00d9a5,#00c896 60%,#7dd9c0);border:none;border-radius:6px;color:#000;cursor:pointer;align-self:flex-end;transition:transform .15s ease,box-shadow .15s ease}.ai-send-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00d9a54d}.ai-send-btn:disabled{background:var(--bg-tertiary);color:var(--text-muted);cursor:not-allowed}.ai-header{justify-content:space-between}.ai-header-left{display:flex;align-items:center;gap:8px}.ai-header-left svg{color:var(--ai-accent-1)}.ai-header-actions{display:flex;align-items:center;gap:4px}.ai-header-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-muted);cursor:pointer;border-radius:4px}.ai-header-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.ai-header-btn:disabled{opacity:.5;cursor:not-allowed}.ai-demo-mode-notice{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#8b5cf61a;border-bottom:1px solid rgba(139,92,246,.2);font-size:12px;color:#a78bfa}.ai-demo-mode-notice svg{flex-shrink:0}.ai-demo-mode-notice span{flex:1}.ai-demo-mode-notice button{background:#8b5cf633;border:none;padding:4px 8px;border-radius:4px;color:#a78bfa;font-size:11px;cursor:pointer}.ai-demo-mode-notice button:hover{background:#8b5cf64d}.ai-context-indicator{padding:8px 12px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);font-size:11px;display:flex;gap:6px}.context-label{color:var(--text-muted)}.context-value{color:var(--text-secondary)}.ai-quick-actions{padding:8px 12px;border-bottom:1px solid var(--border-color)}.quick-actions-label{font-size:11px;color:var(--text-muted);margin-bottom:6px}.quick-actions-list{display:flex;flex-wrap:wrap;gap:6px}.quick-action-btn{padding:4px 10px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;color:var(--text-secondary);font-size:11px;cursor:pointer;transition:all .15s ease}.quick-action-btn:hover{background:var(--bg-hover);border-color:var(--accent);color:var(--text-primary)}.ai-empty-state{text-align:center;padding:40px 20px;color:var(--text-muted)}.ai-empty-state svg{width:32px;height:32px;margin-bottom:12px;opacity:.5}.ai-empty-state p{margin-bottom:8px}.ai-empty-state .hint{font-size:12px;color:var(--text-placeholder)}.ai-message.loading{padding:16px}.loading-text{display:flex;align-items:center;font-family:var(--font-ai);font-size:13px;color:var(--ai-accent-1);min-height:20px}.loading-phrase{background:linear-gradient(90deg,var(--ai-accent-1) 0%,var(--ai-accent-2) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.loading-cursor{color:var(--ai-accent-1);animation:blink .8s ease-in-out infinite;margin-left:1px;font-weight:300}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.loading-dots{display:flex;gap:4px}.loading-dots span{width:8px;height:8px;background:var(--text-muted);border-radius:50%;animation:pulse 1.4s ease-in-out infinite}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes pulse{0%,to{opacity:.3}50%{opacity:1}}.ai-message.error{background:#ef44441a;border:1px solid rgba(239,68,68,.2)}.ai-message.error .error-content{display:flex;align-items:flex-start;gap:8px;color:#ef4444}.ai-message.error svg{flex-shrink:0;margin-top:2px}.retry-btn{margin-top:8px;display:flex;align-items:center;gap:4px;padding:4px 10px;background:#ef444433;border:none;border-radius:4px;color:#ef4444;font-size:12px;cursor:pointer}.retry-btn:hover{background:#ef44444d}.message-content p{margin:0}.message-content p+p{margin-top:8px}.message-content .md-h2{font-size:15px;font-weight:600;margin:12px 0 6px;color:var(--text-primary)}.message-content .md-h3{font-size:14px;font-weight:600;margin:10px 0 4px;color:var(--text-primary)}.message-content .md-h4{font-size:13px;font-weight:600;margin:8px 0 4px;color:var(--text-primary)}.message-content .md-ul,.message-content .md-ol{margin:8px 0;padding-left:24px}.message-content .md-ul{list-style-type:disc}.message-content .md-ol{list-style-type:decimal}.message-content .md-ul li,.message-content .md-ol li{margin-bottom:4px;line-height:1.5}.message-content .md-code{background:#0003;padding:1px 5px;border-radius:3px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:12px}.ai-message.user .message-content .md-code{background:#00000026}.message-content strong{font-weight:600}.message-content em{font-style:italic}.message-content .web-sources-inline{display:inline-flex;flex-wrap:wrap;gap:6px;margin-top:4px}.message-content .source-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:14px;font-size:12px;color:var(--text-secondary);text-decoration:none;transition:all .15s ease;white-space:nowrap}.message-content .source-chip:hover{background:#ffffff26;border-color:#ffffff40;color:var(--text-primary)}.message-content .source-favicon{width:14px;height:14px;border-radius:2px;flex-shrink:0}.importable-content-list{margin-top:12px;display:flex;flex-direction:column;gap:8px}.importable-card{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px}.importable-card.imported{opacity:.7}.importable-info{display:flex;flex-direction:column;gap:2px}.importable-summary{font-weight:500;font-size:12px}.importable-target{font-size:11px;color:var(--text-muted)}.import-btn{display:flex;align-items:center;gap:4px;padding:5px 10px;background:var(--accent);border:none;border-radius:4px;color:#000;font-size:11px;font-weight:500;cursor:pointer}.import-btn:hover{background:var(--accent-hover)}.view-btn{display:flex;align-items:center;gap:4px;padding:5px 10px;background:transparent;border:1px solid #22c55e;border-radius:4px;color:#22c55e;font-size:11px;font-weight:500;cursor:pointer}.view-btn:hover{background:#22c55e1a}.imported-badge{display:flex;align-items:center;gap:4px;color:#22c55e;font-size:11px}.imported-at{font-size:11px;color:var(--text-muted);margin-left:8px}.sketch-settings-modal{width:720px;max-width:95vw;max-height:85vh;background:var(--bg-primary);border-radius:16px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 25px 50px -12px #00000080;border:1px solid var(--border-color);font-family:var(--font-ai)}.sketch-settings-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:linear-gradient(135deg,#00d9a51a,#ff6bb31a);border-bottom:1px solid var(--border-color)}.sketch-settings-title{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:600;color:var(--text-primary)}.sketch-close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.sketch-close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.sketch-tabs{display:flex;gap:2px;padding:0 24px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.sketch-tab{display:flex;align-items:center;gap:8px;padding:14px 20px;background:none;border:none;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .15s ease}.sketch-tab:hover{color:var(--text-primary);background:#ffffff08}.sketch-tab.active{color:var(--ai-accent-1);border-bottom-color:var(--ai-accent-1)}.sketch-tab svg{width:15px;height:15px}.sketch-settings-body{flex:1;overflow-y:auto;padding:24px}.sketch-general-settings{display:flex;flex-direction:column;gap:20px}.sketch-usage-bar{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;padding:14px 18px}.sketch-usage-header{margin-bottom:10px}.sketch-usage-title{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.sketch-usage-title svg{color:var(--ai-accent-1)}.sketch-usage-stats{display:flex;align-items:center;gap:16px}.sketch-usage-item{display:flex;align-items:baseline;gap:6px}.sketch-usage-value{font-size:16px;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.sketch-usage-label{font-size:11px;color:var(--text-muted)}.sketch-usage-divider{width:1px;height:20px;background:var(--border-color)}.sketch-usage-total .sketch-usage-value{background:var(--ai-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sketch-usage-loading,.sketch-usage-empty{font-size:13px;color:var(--text-muted)}.sketch-setting-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:20px}.sketch-setting-card h4{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 6px}.sketch-setting-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.sketch-setting-badge{font-size:11px;font-weight:600;padding:3px 8px;border-radius:4px;background:var(--ai-gradient-subtle);color:var(--ai-accent-1)}.sketch-setting-description{font-size:13px;color:var(--text-secondary);margin:0 0 16px;line-height:1.5}.sketch-model-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.sketch-model-option{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;cursor:pointer;transition:all .15s ease;text-align:left}.sketch-model-option:hover{border-color:var(--text-muted);background:var(--bg-tertiary)}.sketch-model-option.selected{border-color:var(--ai-accent-1);background:#00d9a514;box-shadow:0 0 0 1px var(--ai-accent-1)}.sketch-model-name{font-size:13px;font-weight:600;color:var(--text-primary)}.sketch-model-option.selected .sketch-model-name{color:var(--ai-accent-1)}.sketch-model-desc{font-size:11px;color:var(--text-muted);line-height:1.4}.sketch-advanced h4{margin-bottom:16px}.sketch-advanced-grid{display:flex;flex-direction:column;gap:20px}.sketch-advanced-item label{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.sketch-advanced-label{font-size:13px;color:var(--text-secondary)}.sketch-advanced-value{font-size:12px;font-weight:500;color:var(--ai-accent-1);background:#00d9a51a;padding:2px 8px;border-radius:4px}.sketch-setting-hint{margin:8px 0 0;font-size:11px;color:var(--text-muted)}.sketch-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;background:var(--bg-tertiary);border-radius:3px;outline:none;cursor:pointer}.sketch-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--ai-accent-1);cursor:pointer;border:2px solid var(--bg-primary);box-shadow:0 2px 6px #0000004d;transition:transform .1s ease}.sketch-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.sketch-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--ai-accent-1);cursor:pointer;border:2px solid var(--bg-primary);box-shadow:0 2px 6px #0000004d}.sketch-reset-link{align-self:flex-start;background:none;border:none;color:var(--text-muted);font-size:12px;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}.sketch-reset-link:hover{color:var(--text-secondary)}.sketch-settings-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;background:var(--bg-secondary);border-top:1px solid var(--border-color)}.sketch-btn-secondary{padding:10px 20px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.sketch-btn-secondary:hover{background:var(--bg-primary);color:var(--text-primary)}.sketch-btn-primary{padding:10px 24px;background:var(--ai-accent-1);border:none;border-radius:8px;color:#000;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease}.sketch-btn-primary:hover{background:#00c896;transform:translateY(-1px)}.design-preferences-editor{display:flex;flex-direction:column;gap:16px;min-height:380px}.preferences-info{display:flex;gap:12px;padding:14px 16px;background:linear-gradient(135deg,#00d9a514,#ff6bb314);border:1px solid rgba(0,217,165,.15);border-radius:10px;font-size:13px;color:var(--text-secondary);line-height:1.5}.preferences-info svg{flex-shrink:0;margin-top:2px;color:var(--ai-accent-1)}.preferences-info p{margin:0}.preferences-toolbar{display:flex;align-items:center;gap:12px}.preferences-toolbar .btn-text{display:flex;align-items:center;gap:4px;padding:6px 10px;background:none;border:none;color:var(--text-secondary);font-size:12px;cursor:pointer;border-radius:4px;transition:all .15s ease}.preferences-toolbar .btn-text:hover:not(:disabled){color:var(--text-primary);background:var(--bg-tertiary)}.preferences-toolbar .btn-text:disabled{opacity:.5;cursor:not-allowed}.preferences-toolbar .btn-text svg{width:14px;height:14px}.preferences-status{margin-left:auto;display:flex;align-items:center;gap:12px;font-size:12px}.preferences-status .last-saved{color:var(--text-muted)}.preferences-status .unsaved-indicator{color:var(--accent-orange)}.preferences-textarea{flex:1;min-height:280px;padding:16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;color:var(--text-primary);font-family:SF Mono,Monaco,Menlo,monospace;font-size:13px;line-height:1.7;resize:vertical}.preferences-textarea:focus{outline:none;border-color:var(--ai-accent-1);box-shadow:0 0 0 3px #00d9a526}.preferences-textarea::placeholder{color:var(--text-muted)}.preferences-footer{display:flex;justify-content:flex-end;gap:10px;padding-top:16px;border-top:1px solid var(--border-color)}.preferences-footer .btn-primary{display:flex;align-items:center;gap:6px;padding:10px 20px;background:var(--ai-accent-1);border:none;border-radius:8px;color:#000;font-weight:600;cursor:pointer;transition:all .15s ease}.preferences-footer .btn-primary:hover{background:#00c896}.preferences-footer .btn-secondary{display:flex;align-items:center;gap:6px;padding:10px 16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer}.preferences-footer .btn-secondary:hover{color:var(--text-primary)}.preferences-footer .btn-primary svg,.preferences-footer .btn-secondary svg{width:14px;height:14px}.system-prompts-editor{display:flex;flex-direction:column;gap:16px;min-height:380px}.prompt-warning-banner{display:flex;gap:12px;padding:14px 16px;background:linear-gradient(135deg,#00d9a514,#ff6bb314);border:1px solid rgba(0,217,165,.15);border-radius:10px;font-size:13px;color:var(--text-secondary);line-height:1.5}.prompt-warning-banner.unlocked{background:linear-gradient(135deg,#ff9f431f,#ff6b6b1f);border-color:#ff9f434d}.prompt-warning-banner svg{flex-shrink:0;margin-top:2px;color:var(--ai-accent-1)}.prompt-warning-banner.unlocked svg{color:#ff9f43}.prompt-warning-banner p{margin:0}.prompt-warning-banner strong{color:var(--text-primary)}.prompt-selector-row{display:flex;align-items:center;gap:12px}.prompt-dropdown-wrapper{display:flex;align-items:center;gap:10px;flex:1}.prompt-dropdown-wrapper label{font-size:13px;color:var(--text-secondary);font-weight:500}.prompt-dropdown-container{position:relative;flex:1}.prompt-dropdown{width:100%;padding:10px 36px 10px 14px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:13px;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none}.prompt-dropdown:focus{outline:none;border-color:var(--ai-accent-1);box-shadow:0 0 0 3px #00d9a526}.prompt-dropdown-container svg{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.prompt-download-btn{display:flex;align-items:center;gap:6px;padding:10px 14px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .15s ease;white-space:nowrap}.prompt-download-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.prompt-download-btn svg{width:14px;height:14px}.prompt-card{display:flex;flex-direction:column;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;flex:1}.prompt-card-header{display:flex;flex-direction:column;gap:8px;padding:16px 20px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.prompt-card-info{display:flex;align-items:center;gap:10px}.prompt-card-info h4{margin:0;font-size:15px;font-weight:600;color:var(--text-primary)}.prompt-version{padding:3px 8px;background:#00d9a51f;border-radius:4px;font-size:11px;font-weight:500;color:var(--ai-accent-1)}.prompt-description{margin:0;font-size:13px;color:var(--text-muted)}.prompt-lock-btn{display:flex;align-items:center;align-self:flex-start;gap:6px;padding:8px 12px;margin-top:4px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s ease}.prompt-lock-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.prompt-lock-btn.unlocked{background:#ff9f431f;border-color:#ff9f434d;color:#ff9f43}.prompt-lock-btn.unlocked:hover{background:#ff9f4333}.prompt-lock-btn svg{width:14px;height:14px}.prompt-textarea{flex:1;min-height:300px;padding:16px 20px;background:transparent;border:none;color:var(--text-primary);font-family:SF Mono,Monaco,Menlo,monospace;font-size:12px;line-height:1.7;resize:none}.prompt-textarea:focus{outline:none}.prompt-textarea.locked{color:var(--text-secondary);cursor:not-allowed;-webkit-user-select:text;user-select:text}.prompt-textarea::placeholder{color:var(--text-muted)}.prompt-unsaved-indicator{padding:8px 20px;background:#ff9f4314;border-top:1px solid rgba(255,159,67,.2);font-size:12px;color:#ff9f43}.prompt-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:16px;border-top:1px solid var(--border-color)}.prompt-reset-btn{display:flex;align-items:center;gap:6px;padding:10px 14px;background:transparent;border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .15s ease}.prompt-reset-btn:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.prompt-reset-btn:disabled{opacity:.4;cursor:not-allowed}.prompt-reset-btn svg{width:14px;height:14px}.prompt-save-btn{padding:10px 24px;background:var(--ai-accent-1);border:none;border-radius:8px;color:#000;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease}.prompt-save-btn:hover:not(:disabled){background:#00c896;transform:translateY(-1px)}.prompt-save-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.prompt-confirm-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1100;animation:fadeIn .15s ease}.prompt-confirm-dialog{width:400px;max-width:90vw;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;padding:24px;box-shadow:0 25px 50px -12px #00000080;animation:slideUp .2s ease}.prompt-confirm-dialog h3{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--text-primary)}.prompt-confirm-dialog p{margin:0 0 12px;font-size:14px;color:var(--text-secondary);line-height:1.5}.prompt-confirm-dialog .confirm-warning{color:#ff9f43}.confirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.confirm-cancel{padding:10px 16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .15s ease}.confirm-cancel:hover{background:var(--bg-hover);color:var(--text-primary)}.confirm-save,.confirm-reset{padding:10px 20px;background:var(--ai-accent-1);border:none;border-radius:8px;color:#000;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease}.confirm-save:hover:not(:disabled),.confirm-reset:hover:not(:disabled){background:#00c896}.confirm-save:disabled,.confirm-reset:disabled{opacity:.5;cursor:not-allowed}.confirm-reset{background:#ff6b6b}.confirm-reset:hover:not(:disabled){background:#ff5252}.api-key-input-wrapper{display:flex;gap:8px}.api-key-input-wrapper input{flex:1}.toggle-visibility-btn{padding:0 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:12px;cursor:pointer}.toggle-visibility-btn:hover{background:var(--bg-hover)}.field-range{width:calc(100% - 50px);cursor:pointer}.range-value{display:inline-block;width:40px;text-align:right;color:var(--text-secondary);font-size:12px}.import-confirm-modal{width:400px}.import-warning{margin-top:12px;padding:10px;background:#fbbf241a;border-radius:4px;color:#fbbf24;font-size:12px}.import-preview-modal{width:650px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column}.import-preview-modal .modal-body{flex:1;overflow:hidden;display:flex;flex-direction:column;gap:12px}.import-target-info{padding:8px 12px;background:var(--bg-tertiary);border-radius:4px;font-size:13px;color:var(--text-secondary)}.import-target-info .imported-at{color:var(--accent-green)}.import-preview-content{flex:1;overflow:auto;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;padding:16px;max-height:400px}.import-preview-content pre,.import-preview-content .preview-text,.import-preview-content .preview-json{white-space:pre-wrap;word-wrap:break-word;font-family:inherit;font-size:13px;line-height:1.6;margin:0;color:var(--text-primary)}.preview-empty{color:var(--text-muted);font-style:italic}.rubric-preview{display:flex;flex-direction:column;gap:16px}.rubric-criterion-preview{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:12px}.criterion-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.criterion-header strong{color:var(--text-primary)}.criterion-points{background:var(--accent-blue);color:#fff;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.criterion-description{color:var(--text-secondary);font-size:13px;margin:0 0 8px}.criterion-levels{display:flex;flex-direction:column;gap:6px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border-color)}.level-item{display:flex;flex-wrap:wrap;gap:6px;font-size:12px;color:var(--text-secondary)}.level-title{font-weight:500;color:var(--text-primary)}.level-percentage{color:var(--accent-blue)}.level-description{flex:1;min-width:200px}.steps-preview{display:flex;flex-direction:column;gap:12px}.step-item{background:var(--bg-secondary);border-radius:6px;padding:12px}.step-header{font-weight:500;color:var(--text-primary);margin-bottom:6px}.step-description{margin:0;color:var(--text-secondary);font-size:13px}.questions-preview{display:flex;flex-direction:column;gap:12px}.question-item{background:var(--bg-secondary);border-radius:6px;padding:12px}.question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.question-meta{font-size:12px;color:var(--text-muted)}.overview-preview{display:flex;flex-direction:column;gap:16px}.preview-section h4{margin:0 0 8px;color:var(--text-primary);font-size:14px}.preview-section p{margin:0;color:var(--text-secondary);font-size:13px}.skills-preview,.los-preview{margin:0;padding-left:20px}.skills-preview li,.los-preview li{margin-bottom:6px;color:var(--text-secondary)}.units-preview{display:flex;flex-direction:column;gap:12px}.unit-item{background:var(--bg-secondary);border-radius:6px;padding:12px}.unit-item strong{color:var(--text-primary)}.unit-item p{margin:6px 0 0;color:var(--text-secondary);font-size:13px}.modal-actions .import-action-btn{display:inline-flex;align-items:center;gap:6px}.modal.preference-confirm-modal{width:700px;max-width:95vw;max-height:85vh;display:flex;flex-direction:column}.preference-confirm-modal .modal-body{flex:1;overflow:auto;display:flex;flex-direction:column;gap:16px}.preference-modal-intro{margin:0;color:var(--text-secondary)}.preference-diff{display:flex;gap:16px;align-items:stretch}.diff-section{flex:1;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:12px;min-height:150px;max-height:350px;overflow:auto}.diff-section h4{margin:0 0 10px;font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.diff-section pre{margin:0;font-size:13px;white-space:pre-wrap;word-wrap:break-word;color:var(--text-primary);font-family:inherit;line-height:1.5}.diff-section.current{opacity:.7}.diff-section.updated{border-color:var(--ai-accent-1);background:#00d9a50d}.diff-arrow{display:flex;align-items:center;padding:0 4px;color:var(--text-muted);font-size:20px}.preference-new-preview{background:var(--bg-secondary);border:1px solid var(--ai-accent-1);border-radius:8px;padding:16px}.preference-new-preview h4{margin:0 0 12px;font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.preference-new-preview pre{margin:0;font-size:13px;white-space:pre-wrap;word-wrap:break-word;color:var(--text-primary);font-family:inherit;line-height:1.5}.design-preference-preview{padding:8px 0}.preference-category-badge{display:inline-block;font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--ai-accent-1);background:#00d9a51a;padding:3px 8px;border-radius:4px;margin-bottom:8px}.preference-text-content{margin:0;font-size:14px;line-height:1.5;color:var(--text-primary)}.modal-actions .import-action-btn svg{width:14px;height:14px}.importable-card .view-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:var(--accent-green);color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer;opacity:.9}.importable-card .view-btn:hover{opacity:1}.link-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.link-modal{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:16px;width:420px;max-width:90vw;box-shadow:0 8px 32px #0006}.link-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;font-weight:500}.link-modal-header button{background:none;border:none;color:var(--text-muted);font-size:18px;cursor:pointer;padding:4px}.link-modal-header button:hover{color:var(--text-primary)}.link-modal-field{margin-bottom:12px}.link-modal-field label{display:block;font-size:12px;font-weight:500;color:var(--text-muted);margin-bottom:4px}.link-modal-field input{width:100%;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;padding:10px 12px;color:var(--text-primary);font-size:13px;box-sizing:border-box}.link-modal-field input:disabled{opacity:.6;cursor:not-allowed}.link-modal-field input:focus{outline:none;border-color:var(--accent)}.link-field-hint{display:block;font-size:11px;color:var(--text-muted);margin-top:4px;font-style:italic}.link-current-url{margin-bottom:12px;padding:8px 10px;background:var(--bg-tertiary);border-radius:4px;font-size:12px;display:flex;align-items:center;gap:8px;overflow:hidden}.link-current-label{color:var(--text-muted);flex-shrink:0}.link-current-value{color:var(--accent);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.link-current-value:hover{text-decoration:underline}.link-modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.link-modal-actions button{padding:8px 16px;border-radius:6px;font-size:13px;cursor:pointer;border:none}.link-modal-actions button:disabled{opacity:.5;cursor:not-allowed}.link-cancel-btn{background:var(--bg-tertiary);color:var(--text-secondary)}.link-cancel-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.link-submit-btn{background:var(--accent);color:#000;font-weight:500}.link-submit-btn:hover:not(:disabled){background:var(--accent-hover)}.link-remove-btn{background:#7f1d1d;color:#fca5a5;margin-right:auto}.link-remove-btn:hover{background:#991b1b}.plan-reminder{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;padding:16px}.plan-reminder .section-title{display:flex;align-items:center;gap:8px}.section-badge{font-size:10px;font-weight:500;padding:2px 6px;background:var(--bg-hover);color:var(--text-muted);border-radius:4px;text-transform:uppercase}.readonly-field{margin-top:12px}.readonly-field label{display:block;font-size:11px;font-weight:500;color:var(--text-muted);margin-bottom:4px;text-transform:uppercase}.readonly-value{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;padding:8px 10px;color:var(--text-secondary);font-size:13px;min-height:36px}.readonly-value .empty-value{color:var(--text-muted);font-style:italic}.fip-readonly-list{display:flex;flex-direction:column;gap:12px}.fip-readonly-item{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;padding:12px}.fip-readonly-header{display:flex;align-items:center;gap:10px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.fip-readonly-number{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:var(--accent);border-radius:50%;font-size:10px;font-weight:700;color:#fff;flex-shrink:0}.fip-readonly-framework{font-size:13px;font-weight:600;color:var(--text-primary)}.fip-readonly-row{display:flex;align-items:flex-start;gap:8px;margin-top:8px}.fip-readonly-text{font-size:12px;color:var(--text-secondary);line-height:1.5}.lo-readonly-tags{display:flex;flex-wrap:wrap;gap:6px;padding:8px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px}.lo-readonly-tag{padding:4px 10px;background:var(--bg-tertiary);border-radius:4px;font-size:11px;font-weight:600;color:var(--text-secondary)}.lo-readonly-tag--with-tooltip{position:relative;cursor:pointer;transition:background-color .15s ease}.lo-readonly-tag--with-tooltip:hover,.lo-readonly-tag--with-tooltip:focus{background:var(--primary-muted);color:var(--primary);outline:none}.lo-tooltip{position:absolute;bottom:calc(100% + 8px);left:0;width:max-content;max-width:320px;padding:10px 12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:1000;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s ease,visibility .15s ease}.lo-readonly-tag--with-tooltip:hover .lo-tooltip,.lo-readonly-tag--with-tooltip:focus .lo-tooltip{opacity:1;visibility:visible}.lo-tooltip:after{content:"";position:absolute;top:100%;left:16px;border:6px solid transparent;border-top-color:var(--border-color)}.lo-tooltip:before{content:"";position:absolute;top:100%;left:17px;border:5px solid transparent;border-top-color:var(--bg-primary);z-index:1}.lo-tooltip-label{display:block;font-size:12px;font-weight:600;color:var(--primary);margin-bottom:4px}.lo-tooltip-description{display:block;font-size:12px;font-weight:400;color:var(--text-primary);line-height:1.4}.benchmark-skills-field{margin-top:16px}.skills-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.skill-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 8px 4px 10px;background:var(--primary-muted);color:var(--primary);border-radius:14px;font-size:12px;font-weight:500}.skill-badge-remove{display:flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:none;background:transparent;color:var(--primary);font-size:14px;line-height:1;cursor:pointer;border-radius:50%;opacity:.7;transition:opacity .15s,background-color .15s}.skill-badge-remove:hover{opacity:1;background:#0000001a}.skills-search-container{position:relative}.skills-search-input{width:100%;padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;font-size:13px;background:var(--bg-primary);color:var(--text-primary);transition:border-color .15s,box-shadow .15s}.skills-search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-muted)}.skills-search-input::placeholder{color:var(--text-tertiary)}.skills-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 12px #00000026;max-height:200px;overflow-y:auto;z-index:100}.skills-dropdown-item{display:block;width:100%;padding:8px 12px;border:none;background:transparent;text-align:left;font-size:13px;color:var(--text-primary);cursor:pointer;transition:background-color .1s}.skills-dropdown-item:hover{background:var(--bg-secondary)}.skills-dropdown-item:first-child{border-radius:5px 5px 0 0}.skills-dropdown-item:last-child{border-radius:0 0 5px 5px}.skills-dropdown-item:only-child{border-radius:5px}.skills-dropdown-empty{padding:12px;text-align:center;font-size:13px;color:var(--text-tertiary)}.item-reorder{display:flex;flex-direction:column;gap:2px;margin-right:8px}.reorder-btn{width:20px;height:16px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:3px;color:var(--text-muted);font-size:10px;cursor:pointer;padding:0}.reorder-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.reorder-btn:disabled{opacity:.3;cursor:not-allowed}.content-list-item .item-title{cursor:pointer}.content-list-item .item-title:hover{color:var(--accent)}.act-units-vertical{display:flex;flex-direction:column;gap:16px}.unit-card-vertical{border:1px solid var(--border-color);border-radius:8px;overflow:visible;background:var(--bg-secondary);position:relative}.unit-card-vertical .unit-card-header{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.unit-card-vertical .unit-number{font-weight:600;color:var(--accent);font-size:13px;min-width:50px}.unit-card-vertical .unit-title{font-weight:500;color:var(--text-primary)}.unit-fields-table{width:100%;border-collapse:collapse}.unit-fields-table tr{border-bottom:1px solid var(--border-color)}.unit-fields-table tr:last-child{border-bottom:none}.unit-fields-table .field-label-cell{width:130px;padding:8px 12px;font-size:11px;font-weight:500;color:var(--text-muted);text-transform:uppercase;vertical-align:top;background:var(--bg-tertiary);border-right:1px solid var(--border-color)}.field-marker{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;font-size:10px;font-weight:700;margin-right:6px;color:#fff;vertical-align:middle}.field-marker.f{background:#3b82f6}.field-marker.i{background:#f59e0b}.field-marker.p{background:#10b981}.field-marker-inline{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:3px;font-size:9px;font-weight:700;margin-right:6px;color:#fff;vertical-align:middle}.field-marker-inline.f{background:#3b82f6}.field-marker-inline.i{background:#f59e0b}.field-marker-inline.p{background:#10b981}.unit-fields-table .field-value-cell{padding:4px 8px}.unit-fields-table textarea{width:100%;background:transparent;border:1px solid transparent;border-radius:4px;padding:6px 8px;color:var(--text-primary);font-size:13px;font-family:inherit;resize:none;min-height:32px;line-height:1.4}.unit-fields-table textarea:hover{background:var(--bg-tertiary)}.unit-fields-table textarea:focus{outline:none;border-color:var(--accent);background:var(--bg-tertiary)}.unit-fields-table textarea:placeholder-shown{background:#f59e0b1a;border-color:#f59e0b4d}.unit-fields-table textarea:placeholder-shown:hover{background:#f59e0b26}.unit-fields-table tr:has(textarea:placeholder-shown) .field-label-cell{background:#f59e0b26;color:#b45309}.unit-card-fields-vertical{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:16px}.unit-field{display:flex;flex-direction:column}.unit-field label{font-size:11px;font-weight:500;color:var(--text-muted);text-transform:uppercase;margin-bottom:6px}.unit-field textarea{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;padding:10px;color:var(--text-primary);font-size:13px;font-family:inherit;resize:vertical;min-height:60px}.unit-field textarea:focus{outline:none;border-color:var(--accent)}.act-narrative-input{width:100%;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;padding:10px;color:var(--text-secondary);font-size:13px;font-family:inherit;font-style:italic;resize:none;margin-top:8px}.act-narrative-input:focus{outline:none;border-color:var(--accent)}.outcome-item{display:flex;align-items:center;gap:10px;margin-bottom:8px}.outcome-add-child{padding:4px 8px;background:var(--bg-hover);border:1px solid var(--border-color);border-radius:4px;color:var(--text-muted);font-size:10px;cursor:pointer;white-space:nowrap}.outcome-add-child:hover{background:var(--accent-subtle);border-color:var(--accent);color:var(--accent)}.outcome-delete{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-muted);font-size:16px;cursor:pointer;border-radius:4px}.outcome-delete:hover{background:#7f1d1d;color:#fca5a5}.course-setup-editor .section-title{font-size:14px;font-weight:600;margin:0 0 12px;color:var(--text-primary)}.course-setup-editor .section-hint{font-size:12px;color:var(--text-muted);margin:0 0 16px}.course-setup-editor .field-unit{font-size:13px;color:var(--text-secondary)}.prerequisites-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.prerequisite-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px}.prereq-code{font-weight:600;color:var(--text-primary);font-size:13px}.prereq-name{flex:1;color:var(--text-secondary);font-size:13px}.prereq-remove{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid transparent;border-radius:4px;color:var(--text-muted);font-size:16px;cursor:pointer;transition:all .15s}.prereq-remove:hover{background:#dc26261a;border-color:#dc26264d;color:#dc2626}.prereq-recommended{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);cursor:pointer;margin-left:auto;margin-right:8px}.prereq-recommended input[type=checkbox]{width:14px;height:14px;cursor:pointer}.prereq-recommended span{white-space:nowrap}.add-prerequisite .field-select{width:100%}.thumbnail-upload-area{margin-top:12px}.thumbnail-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px;border:2px dashed var(--border-color);border-radius:8px;background:var(--bg-tertiary);cursor:pointer;transition:all .15s ease}.thumbnail-dropzone:hover{border-color:var(--accent);background:rgba(var(--accent-rgb),.05)}.thumbnail-dropzone svg{width:32px;height:32px;color:var(--text-tertiary)}.thumbnail-dropzone span{color:var(--text-secondary);font-size:14px}.thumbnail-hint{font-size:12px!important;color:var(--text-tertiary)!important}.thumbnail-preview{position:relative;display:inline-block;max-width:300px}.thumbnail-image{display:block;max-width:100%;border-radius:8px;border:1px solid var(--border-color)}.thumbnail-remove{position:absolute;top:8px;right:8px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#0009;border:none;border-radius:6px;color:#fff;cursor:pointer;opacity:0;transition:all .15s ease}.thumbnail-preview:hover .thumbnail-remove{opacity:1}.thumbnail-remove:hover{background:#dc2626e6}.resource-editor .editor-type-badge{background:var(--badge-resource);color:#fff}.undo-btn,.redo-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.undo-btn:hover:not(:disabled),.redo-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary);border-color:var(--accent)}.undo-btn:disabled,.redo-btn:disabled{opacity:.4;cursor:not-allowed}.undo-btn svg,.redo-btn svg{width:14px;height:14px}.toolbar-left{display:flex;align-items:center;gap:4px}.unpublished-dot{width:8px;height:8px;background:#f59e0b;border-radius:50%;flex-shrink:0;margin-left:8px;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.nav-item.has-unpublished .nav-label{color:#f59e0b}.publish-section{display:flex;align-items:center;gap:12px;margin-left:auto}.unpublished-badge{padding:4px 10px;background:#f59e0b33;border:1px solid #f59e0b;border-radius:12px;color:#f59e0b;font-size:11px;font-weight:500}.published-badge{padding:4px 10px;background:#22c55e33;border:1px solid var(--badge-assignment);border-radius:12px;color:var(--badge-assignment);font-size:11px;font-weight:500}.publishing-badge{padding:4px 10px;background:#3b82f633;border:1px solid #3b82f6;border-radius:12px;color:#3b82f6;font-size:11px;font-weight:500;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.publish-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s}.publish-btn:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:#000}.publish-btn:disabled{opacity:.4;cursor:not-allowed}.publish-btn.has-changes{background:#f59e0b33;border-color:#f59e0b;color:#f59e0b}.publish-btn.has-changes:hover{background:#f59e0b;color:#000}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:24px;max-width:400px;width:90%;box-shadow:0 20px 40px #0006}.modal-content h3{margin:0 0 12px;font-size:16px;font-weight:600}.modal-content p{margin:0 0 24px;color:var(--text-secondary);font-size:13px}.modal-actions{display:flex;gap:12px;justify-content:flex-end}.modal-btn{padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.modal-btn.cancel{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary)}.modal-btn.cancel:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-btn.confirm{background:var(--accent);border:1px solid var(--accent);color:#000}.modal-btn.confirm:hover{background:var(--accent-hover)}.modal-close{display:block;width:100%;padding:10px;margin-top:16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:13px;cursor:pointer}.modal.delete-modal{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;max-width:420px;width:90%;box-shadow:0 20px 40px #0006}.modal.delete-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color)}.modal.delete-modal .modal-header h3{margin:0;font-size:15px;font-weight:600;color:var(--text-primary)}.modal.delete-modal .modal-header .modal-close{width:auto;padding:4px 8px;margin:0;background:none;border:none;font-size:18px;color:var(--text-muted);cursor:pointer}.modal.delete-modal .modal-header .modal-close:hover{color:var(--text-primary)}.modal.delete-modal .modal-body{padding:20px}.modal.delete-modal .delete-warning{margin:0 0 12px;font-size:14px;color:var(--text-primary)}.modal.delete-modal .delete-note{margin:0;font-size:12px;color:var(--text-muted)}.modal.delete-modal .modal-actions{display:flex;gap:12px;justify-content:flex-end;padding:16px 20px;border-top:1px solid var(--border-color);background:var(--bg-tertiary);border-radius:0 0 12px 12px}.btn-secondary{padding:8px 16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .15s}.btn-danger{padding:8px 16px;background:#dc2626;border:1px solid #dc2626;border-radius:6px;color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.btn-danger:hover{background:#b91c1c;border-color:#b91c1c}.item-delete-btn{width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid transparent;border-radius:4px;color:var(--text-muted);font-size:14px;cursor:pointer;opacity:0;transition:all .15s;margin-left:auto}.item-delete-btn:hover{background:#dc26261a;border-color:#dc26264d;color:#dc2626}.modal-content.universal-picker{max-width:500px}.universal-list{max-height:300px;overflow-y:auto;margin:0 -24px;padding:0 24px}.universal-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;background:none;border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:13px;cursor:pointer;margin-bottom:8px;text-align:left;transition:all .15s}.universal-item:hover{background:var(--bg-hover);border-color:var(--accent)}.universal-empty{padding:24px;text-align:center;color:var(--text-muted);font-size:13px}.nav-item.nav-universal{color:var(--text-secondary);margin:4px 0}.nav-item.nav-universal.selected{background:var(--accent-subtle);color:var(--accent)}.nav-item.nav-universal .nav-icon{color:#64748b}.nav-item.nav-universal.selected .nav-icon{color:var(--accent)}.universal-library .editor-type-badge.universal{background:#64748b;color:#fff}.universal-section{margin-bottom:24px}.universal-section .section-title{font-size:14px;font-weight:600;margin-bottom:12px;color:var(--text-secondary)}.universal-items{border:1px solid var(--border-color);border-radius:6px;overflow:hidden}.universal-item-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--border-color);cursor:pointer;transition:background .15s}.universal-item-row:last-child{border-bottom:none}.universal-item-row:hover{background:var(--bg-hover)}.universal-item-row .item-title{flex:1;color:var(--text-primary)}.universal-empty{padding:16px;color:var(--text-muted);font-size:12px;text-align:center;font-style:italic}.menu-section-label{padding:6px 12px;color:var(--text-muted);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.menu-divider{height:1px;background:var(--border-color);margin:4px 0}.field-input.readonly{background:var(--bg-primary);border-color:var(--border-color);color:var(--text-muted);cursor:not-allowed}.resource-index{font-size:11px;color:var(--text-muted);font-family:var(--font-mono);min-width:28px}.nav-item.has-unpublished .nav-icon,.nav-icon.unpublished{color:#f59e0b}.nav-item.has-unpublished .type-badge,.type-badge.dirty{background:#f59e0b;color:#000}.nav-label.unit-label{font-weight:500}.nav-label-collapsed{font-size:11px;font-weight:600;color:var(--text-secondary)}.toolbar-divider{width:1px;height:20px;background:var(--border-color);margin:0 8px}.toolbar-btn.nav-btn{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.toolbar-btn.nav-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary);border-color:var(--accent)}.toolbar-btn.nav-btn:disabled{opacity:.4;cursor:not-allowed}.flat-content-list{border:1px solid var(--border-color);border-radius:6px;overflow:hidden}.flat-content-item{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);transition:background .15s}.flat-content-item:last-child{border-bottom:none}.flat-content-item:hover{background:var(--bg-hover)}.flat-content-item.nested{padding-left:48px;background:var(--bg-secondary)}.flat-content-item .item-reorder{display:flex;flex-direction:column;gap:2px}.flat-content-item .reorder-btn{width:20px;height:16px;padding:0;display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--border-color);border-radius:3px;color:var(--text-muted);font-size:10px;cursor:pointer;transition:all .15s}.flat-content-item .reorder-btn:hover:not(:disabled){background:var(--bg-primary);border-color:var(--accent);color:var(--accent)}.flat-content-item .reorder-btn:disabled{opacity:.3;cursor:not-allowed}.flat-content-item .item-title{flex:1;color:var(--text-primary);cursor:pointer}.flat-content-item .item-title:hover{color:var(--accent)}.flat-content-item .item-points{font-size:11px;color:var(--text-muted);padding:2px 6px;background:var(--bg-primary);border-radius:4px}.flat-content-item .resource-number{font-size:11px;color:var(--text-muted);font-family:var(--font-mono);min-width:32px}.flat-content-item .nested-indicator{font-size:11px;color:var(--text-muted);font-style:italic}.flat-content-item .reorder-placeholder{width:20px;height:34px}.assign-parent-wrapper{position:relative}.assign-parent-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--border-color);border-radius:4px;color:var(--text-muted);font-size:12px;cursor:pointer;transition:all .15s}.assign-parent-btn:hover{background:var(--bg-primary);border-color:var(--accent);color:var(--accent)}.assign-parent-menu{position:absolute;right:0;top:100%;margin-top:4px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;padding:4px;z-index:100;box-shadow:0 8px 24px #0006;min-width:200px}.assign-parent-menu.position-above{top:auto;bottom:100%;margin-top:0;margin-bottom:4px}.assign-parent-menu button{display:block;width:100%;padding:8px 12px;background:none;border:none;color:var(--text-primary);font-size:12px;cursor:pointer;border-radius:4px;text-align:left}.assign-parent-menu button:hover{background:var(--bg-hover)}.assign-parent-menu button.active{background:var(--accent-subtle);color:var(--accent)}.assign-parent-menu button em{color:var(--text-muted)}.rubric-editor{background:var(--bg-secondary);border-radius:8px;padding:16px}.rubric-header{margin-bottom:16px}.rubric-title{font-size:14px;font-weight:600;margin:0 0 4px;display:flex;align-items:center;gap:12px}.rubric-total-points{font-size:12px;font-weight:500;color:var(--accent);background:var(--accent-subtle);padding:2px 8px;border-radius:4px}.rubric-total-points.error{color:#ef4444;background:#ef44441a}.rubric-points-diff{font-weight:400;margin-left:6px}.rubric-points-warning{font-size:12px;color:#f59e0b;background:#f59e0b1a;padding:8px 12px;border-radius:4px;margin:8px 0}.rubric-editor.points-mismatch{border:1px solid rgba(245,158,11,.3)}.rubric-hint{font-size:12px;color:var(--text-muted);margin:0}.rubric-empty{text-align:center;padding:24px;color:var(--text-muted)}.rubric-empty p{margin:0 0 12px}.add-criterion-btn{background:var(--bg-primary);border:1px dashed var(--border-color);color:var(--text-secondary);padding:8px 16px;border-radius:6px;cursor:pointer;font-size:13px;margin-top:12px;transition:all .15s}.add-criterion-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-subtle)}.rubric-table-wrapper{overflow-x:auto;margin-bottom:8px;position:relative;border:1px solid var(--border-color);border-radius:8px}.rubric-table{width:100%;border-collapse:separate;border-spacing:0;font-size:12px;min-width:900px}.rubric-table th{background:var(--bg-tertiary);font-weight:600;font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px;padding:10px 12px;text-align:left;vertical-align:bottom;border-bottom:2px solid var(--border-color);position:sticky;top:0;z-index:2}.rubric-table td{padding:0;vertical-align:top;border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-color)}.rubric-table td:last-child{border-right:none}.rubric-table .actions-header,.rubric-table .actions-cell{width:48px;min-width:48px;position:sticky;left:0;z-index:3;background:var(--bg-secondary);border-left:1px solid var(--border-color);border-right:1px solid var(--border-color)}.rubric-table .actions-header{background:var(--bg-tertiary);z-index:5}.rubric-table .criterion-header,.rubric-table .criterion-cell{width:200px;min-width:200px;position:sticky;left:48px;z-index:3;background:var(--bg-secondary);border-right:2px solid var(--border-color)}.rubric-table.readonly .criterion-header,.rubric-table.readonly .criterion-cell{left:0}.rubric-table .criterion-header{background:var(--bg-tertiary);z-index:5;display:table-cell;margin-bottom:0}.rubric-table .points-header,.rubric-table .points-cell{width:60px;min-width:60px;text-align:center}.rubric-table .los-header,.rubric-table .los-cell{width:90px;min-width:90px}.rubric-table .level-header,.rubric-table .level-cell{min-width:150px}.level-percentage{display:block;font-size:10px;font-weight:400;color:var(--text-muted);text-transform:none;letter-spacing:0}.criterion-row{background:var(--bg-primary)}.criterion-row:hover .level-cell,.criterion-row:hover .points-cell,.criterion-row:hover .los-cell{background:var(--bg-hover)}.criterion-row.warning-yellow .actions-cell{border-left:3px solid #eab308}.criterion-row.warning-orange .actions-cell{border-left:3px solid #f97316}.criterion-warning-tag{position:absolute;bottom:4px;left:8px;right:8px;font-size:9px;font-weight:500;padding:2px 6px;border-radius:3px;line-height:1.3}.criterion-warning-tag.yellow{background:#fef3c7;color:#92400e;border:1px solid #fcd34d}.criterion-warning-tag.orange{background:#ffedd5;color:#9a3412;border:1px solid #fdba74}[data-theme=dark] .criterion-warning-tag.yellow{background:#eab30826;color:#fbbf24;border:1px solid rgba(234,179,8,.3)}[data-theme=dark] .criterion-warning-tag.orange{background:#f9731626;color:#fb923c;border:1px solid rgba(249,115,22,.3)}.criterion-cell{background:var(--bg-secondary);padding:8px 8px 24px!important;position:relative;overflow:hidden}.criterion-title-input{display:block;width:100%;border:none;padding:4px 0;font-size:13px;font-weight:600;margin-bottom:4px;background:transparent;color:var(--text-primary);box-sizing:border-box}.criterion-title-input:focus{outline:none;background:var(--bg-hover);margin:0 -4px 4px;padding:4px;width:calc(100% + 8px);border-radius:4px}.criterion-title-input::placeholder{color:var(--text-muted)}.criterion-desc-input{display:block;width:100%;border:none;padding:4px 0;font-size:11px;resize:vertical;min-height:48px;background:transparent;color:var(--text-secondary);font-family:inherit;line-height:1.4;box-sizing:border-box}.criterion-desc-input:focus{outline:none;background:var(--bg-hover);margin:0 -4px;padding:4px;width:calc(100% + 8px);border-radius:4px}.criterion-desc-input::placeholder{color:var(--text-muted)}.points-cell{background:var(--bg-primary);padding:8px!important;text-align:center;vertical-align:middle!important}.criterion-points-input{display:block;width:100%;border:none;padding:8px 4px;font-size:14px;font-weight:600;text-align:center;background:transparent;color:var(--text-primary);box-sizing:border-box;-moz-appearance:textfield}.criterion-points-input::-webkit-outer-spin-button,.criterion-points-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.criterion-points-input:focus{outline:none;background:var(--bg-hover);border-radius:4px}.criterion-points-input.zero-points{color:#f59e0b;background:#f59e0b1a;border-radius:4px}.zero-points-warning{display:block;font-size:12px;cursor:help;text-align:center}.los-cell{background:var(--bg-primary);padding:8px!important;vertical-align:middle!important}.criterion-los-input{display:block;width:100%;border:1px solid var(--border-color);border-radius:4px;padding:6px 8px;font-size:10px;background:var(--bg-secondary);color:var(--text-primary);box-sizing:border-box}.criterion-los-input:focus{outline:none;border-color:var(--accent);background:var(--bg-primary)}.criterion-los-input::placeholder{color:var(--text-muted)}.level-cell{background:var(--bg-primary);padding:0!important}.level-desc-input{display:block;width:100%;height:100%;min-height:100px;border:none;padding:10px 12px;font-size:11px;resize:none;background:transparent;color:var(--text-primary);font-family:inherit;line-height:1.5;box-sizing:border-box}.level-desc-input:focus{outline:2px solid var(--accent);outline-offset:-2px;background:var(--bg-hover)}.level-desc-input::placeholder{color:var(--text-muted)}.legacy-rubric-cell{background:var(--bg-secondary);padding:20px!important;text-align:center;vertical-align:middle}.legacy-rubric-notice{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--text-secondary);font-size:13px}.legacy-rubric-icon{font-size:18px}.legacy-rubric-text{font-style:italic}.legacy-rubric-banner{display:flex;align-items:flex-start;gap:12px;padding:16px;margin-bottom:16px;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;border-radius:8px}.legacy-rubric-banner-icon{font-size:24px;flex-shrink:0}.legacy-rubric-banner-content{flex:1;font-size:13px;color:#92400e}.legacy-rubric-banner-content strong{display:block;margin-bottom:4px;font-size:14px;color:#78350f}.legacy-rubric-banner-content p{margin:0;line-height:1.5}.convert-rubric-btn{flex-shrink:0;padding:8px 16px;background:#f59e0b;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease;white-space:nowrap}.convert-rubric-btn:hover{background:#d97706;transform:translateY(-1px)}.legacy-rubric-table{border:1px solid var(--border-color)}.legacy-rubric-table .criterion-cell{background:var(--bg-secondary)}.criterion-title-readonly{font-weight:600;color:var(--text-primary);margin-bottom:4px}.criterion-desc-readonly{font-size:12px;color:var(--text-secondary);line-height:1.4}.criterion-points-readonly{font-weight:600;color:var(--text-primary)}.criterion-los-readonly{font-size:12px;color:var(--text-secondary)}.legacy-levels-cell{background:var(--bg-secondary);padding:12px!important}.legacy-levels-list{display:flex;flex-direction:column;gap:8px}.legacy-level-item{padding:8px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;font-size:12px}.legacy-level-title{font-weight:600;color:var(--text-primary);display:block;margin-bottom:4px}.legacy-level-pct{font-weight:400;color:var(--text-muted)}.legacy-level-desc{display:block;color:var(--text-secondary);line-height:1.4}.legacy-no-levels{color:var(--text-muted);font-style:italic;font-size:12px}.actions-cell{padding:8px 4px!important;vertical-align:middle!important;text-align:center}.actions-cell-buttons{display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;width:100%;height:100%}.criterion-action-btn{width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;color:var(--text-muted);transition:all .15s ease}.criterion-action-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--accent-subtle)}.criterion-action-btn:disabled{opacity:.25;cursor:not-allowed}.criterion-action-btn.delete:hover:not(:disabled){border-color:#ef4444;color:#ef4444;background:#ef44441a}.field-badge{font-size:10px;font-weight:500;color:var(--accent);background:var(--accent-subtle);padding:2px 6px;border-radius:4px;margin-left:8px}.field-input.readonly{background:var(--bg-secondary);color:var(--text-muted);cursor:not-allowed}.advanced-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:13px;font-family:var(--font-sans);cursor:pointer;transition:all .15s}.advanced-toggle:hover{background:var(--bg-hover);color:var(--text-primary)}.advanced-content{padding:16px;border:1px solid var(--border-color);border-top:none;border-radius:0 0 6px 6px;background:var(--bg-primary);display:flex;flex-direction:column;gap:16px}.item-delete-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:none;border:none;border-radius:4px;color:var(--text-muted);font-size:16px;cursor:pointer;opacity:0;transition:all .15s;margin-left:auto;flex-shrink:0}.flat-content-item:hover .item-delete-btn{opacity:1}.item-delete-btn:hover{background:#ef44441a;color:#ef4444}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 20px 60px #00000080;max-width:400px;width:90%;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color)}.modal-header h3,.modal-header h2{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.modal-close{background:none;border:none;color:var(--text-muted);font-size:20px;cursor:pointer;padding:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .15s}.modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-body{padding:20px}.modal-footer{display:flex;gap:12px;justify-content:flex-end;padding:16px 20px;border-top:1px solid var(--border-color)}.delete-warning{margin:0 0 12px;color:var(--text-primary);font-size:14px}.delete-note{margin:0;color:var(--text-muted);font-size:13px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;padding:16px 20px;border-top:1px solid var(--border-color);background:var(--bg-secondary)}.btn-secondary{padding:8px 16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:13px;font-family:var(--font-sans);cursor:pointer;transition:all .15s}.btn-danger{padding:8px 16px;background:#dc2626;border:1px solid #b91c1c;border-radius:6px;color:#fff;font-size:13px;font-weight:500;font-family:var(--font-sans);cursor:pointer;transition:all .15s}.btn-danger:hover{background:#b91c1c}.btn-primary{padding:8px 16px;background:var(--accent);border:1px solid var(--accent);border-radius:6px;color:#000;font-size:13px;font-weight:500;font-family:var(--font-sans);cursor:pointer;transition:all .15s}.btn-primary:hover{background:#a3e635}.template-confirm-modal{max-width:500px}.template-confirm-modal .modal-content{padding:20px}.template-confirm-modal .modal-content p{margin:0 0 16px;color:var(--text-primary);font-size:14px;line-height:1.5}.template-summary{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;padding:16px}.template-summary h4{margin:0 0 12px;font-size:13px;font-weight:600;color:var(--text-primary)}.template-summary ul{margin:0;padding-left:20px}.template-summary li{margin-bottom:8px;color:var(--text-secondary);font-size:13px}.template-note{margin-top:12px!important;padding-top:12px;border-top:1px solid var(--border-color);font-size:12px!important;color:var(--text-muted)!important}.template-info{color:var(--accent)!important;font-size:12px}.video-preview{margin-top:12px;border-radius:8px;overflow:hidden;background:var(--bg-secondary);border:1px solid var(--border-color)}.video-preview iframe{display:block;width:100%;aspect-ratio:16/9;border:none}.video-preview-placeholder{display:flex;align-items:center;justify-content:center;padding:40px;color:var(--text-muted);font-size:13px}.comment-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:#f59e0b;color:#fff;font-size:10px;font-weight:600;border-radius:9px;margin-left:auto;flex-shrink:0}.nav-item .comment-badge{margin-left:8px}.toolbar-badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;background:#ef4444;color:#fff;font-size:9px;font-weight:600;border-radius:8px;display:flex;align-items:center;justify-content:center}.comments-toggle{position:relative}.comments-panel{width:360px;min-width:360px;background:var(--bg-primary);border-left:1px solid var(--border-color);display:flex;flex-direction:column}.comments-header{display:flex;align-items:center;gap:10px;padding:0 16px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);height:var(--panel-header-height);min-height:var(--panel-header-height);box-sizing:border-box}.comments-icon{color:var(--accent-color)}.comments-title{font-weight:600;font-size:14px;color:var(--text-primary)}.comments-count{font-size:12px;color:var(--text-muted);background:var(--bg-tertiary);padding:2px 8px;border-radius:10px}.comments-close{margin-left:auto;background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:18px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:4px}.comments-close:hover{background:var(--bg-hover);color:var(--text-primary)}.comments-list{flex:1;overflow-y:auto;padding:16px}.comments-empty{text-align:center;color:var(--text-muted);font-size:13px;padding:40px 20px}.comment-item{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:12px;margin-bottom:12px}.comment-item.resolved{opacity:.6}.comment-meta{display:flex;align-items:center;gap:8px;margin-bottom:8px}.comment-author{font-weight:500;font-size:13px;color:var(--text-primary)}.comment-date{font-size:11px;color:var(--text-muted)}.comment-content{font-size:13px;color:var(--text-secondary);line-height:1.5;white-space:pre-wrap}.comment-resolve-btn{margin-top:10px;padding:4px 10px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;font-size:12px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.comment-resolve-btn:hover{background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.comments-resolved-section{margin-top:20px;padding-top:16px;border-top:1px solid var(--border-color)}.comments-resolved-header{font-size:12px;font-weight:500;color:var(--text-muted);margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.comments-input-area{display:flex;gap:10px;padding:16px;border-top:1px solid var(--border-color);background:var(--bg-secondary)}.comments-input-area textarea{flex:1;padding:10px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-family:var(--font-sans);font-size:13px;resize:none;min-height:60px}.comments-input-area textarea:focus{outline:none;border-color:var(--accent-color)}.comments-send-btn{padding:0 14px;background:var(--accent-color);border:none;border-radius:6px;color:#fff;cursor:pointer;transition:all .15s}.comments-send-btn:hover{background:var(--accent-hover)}.comments-send-btn:disabled{opacity:.5;cursor:not-allowed}.settings-editor .editor-type-badge{background:var(--text-muted)}.theme-toggle{display:flex;gap:8px}.theme-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .15s ease}.theme-btn:hover{background:var(--bg-hover);border-color:var(--border-light);color:var(--text-primary)}.theme-btn.active{background:var(--accent-subtle);border-color:var(--accent);color:var(--accent)}.theme-btn svg{width:14px;height:14px}.audit-dashboard .editor-type-badge.audit{background:linear-gradient(135deg,#6366f1,#8b5cf6);display:flex;align-items:center;gap:6px}.audit-dashboard .badge-icon{width:14px;height:14px}.audit-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:32px}@media (max-width: 1200px){.audit-summary-grid{grid-template-columns:repeat(2,1fr)}}.audit-card{display:flex;align-items:center;gap:16px;padding:20px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px}.audit-card.warning{border-color:#f59e0b;background:linear-gradient(135deg,rgba(245,158,11,.1),transparent)}.audit-card.success{border-color:#22c55e;background:linear-gradient(135deg,rgba(34,197,94,.1),transparent)}.audit-card.neutral{border-color:var(--border-color)}.audit-card-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:var(--bg-tertiary)}.audit-card.warning .audit-card-icon{color:#f59e0b;background:#f59e0b26}.audit-card.success .audit-card-icon{color:#22c55e;background:#22c55e26}.audit-card.neutral .audit-card-icon{color:var(--accent-color);background:#6366f126}.audit-card-icon svg{width:20px;height:20px}.audit-card-content{flex:1}.audit-card-value{font-size:28px;font-weight:600;color:var(--text-primary);line-height:1;margin-bottom:4px}.audit-card-label{font-size:13px;color:var(--text-muted)}.audit-section{margin-bottom:32px;padding:20px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px}.audit-section-title{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600;color:var(--text-primary);margin:0 0 16px}.section-icon{width:18px;height:18px}.section-icon.warning{color:#f59e0b}.audit-section-description{color:var(--text-muted);font-size:13px;margin:0 0 16px}.audit-list{display:flex;flex-direction:column;gap:8px}.audit-list-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;font-size:13px}.audit-list-item.clickable{cursor:pointer;transition:all .15s}.audit-list-item.clickable:hover{background:var(--bg-hover);border-color:var(--accent-color)}.audit-item-type{padding:2px 8px;background:var(--bg-secondary);border-radius:4px;font-size:11px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.audit-item-title{flex:1;color:var(--text-primary);font-weight:500}.audit-item-detail,.audit-item-issue{color:var(--text-muted);font-size:12px}.audit-item-issue{color:#f59e0b}.audit-section-hint{font-size:13px;color:var(--text-muted);margin:-8px 0 16px}.audit-section-hint strong{color:var(--accent)}.audit-item-fix{font-size:11px;color:var(--accent);opacity:.8}.audit-all-clear{text-align:center;padding:60px 40px;background:linear-gradient(135deg,rgba(34,197,94,.1),transparent);border:1px solid rgba(34,197,94,.3);border-radius:12px;margin-bottom:32px}.all-clear-icon{width:48px;height:48px;color:#22c55e;margin-bottom:16px}.audit-all-clear h3{font-size:20px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.audit-all-clear p{color:var(--text-muted);font-size:14px;margin:0}.audit-ai-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;font-family:var(--font-sans);cursor:pointer;transition:all .2s}.audit-ai-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #6366f166}.audit-ai-btn:disabled{opacity:.5;cursor:not-allowed}.audit-ai-btn svg{width:16px;height:16px}.nav-item.nav-audit{color:var(--text-secondary)}.nav-item.nav-audit:hover{background:var(--bg-hover)}.nav-item.nav-audit.selected{background:var(--bg-selected);color:var(--text-primary)}.view-deployed-btn{display:flex;align-items:center;gap:8px;margin:8px 12px;padding:8px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:12px;text-decoration:none;transition:all .15s}.view-deployed-btn:hover{background:var(--bg-hover);border-color:var(--accent-color);color:var(--text-primary)}.view-deployed-icon{width:14px;height:14px}.publish-course-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;margin:4px 12px;width:calc(100% - 24px);padding:5px 10px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .15s}.publish-course-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--text-tertiary);color:var(--text-primary)}.publish-course-btn:disabled{opacity:.5;cursor:not-allowed}.publish-course-btn svg{width:16px;height:16px;flex-shrink:0}.publish-course-btn .spinner{width:16px;height:16px;border:2px solid var(--border-color);border-top-color:var(--text-secondary);border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}.publish-course-btn.has-changes{border-color:#f59e0b}.publish-course-btn .unpublished-dot{width:6px;height:6px;background:#f59e0b;border-radius:50%;flex-shrink:0}.publish-modal{width:480px;max-width:95vw}.publish-modal .modal-body{display:flex;flex-direction:column;gap:16px}.publish-modal .modal-body p{margin:0;color:var(--text-secondary);line-height:1.5}.publish-includes-list{margin:0;padding-left:24px;color:var(--text-secondary);font-size:13px;line-height:1.8}.publish-checkbox-label{display:flex;align-items:center;gap:10px;padding:12px;background:var(--bg-tertiary);border-radius:6px;cursor:pointer;font-size:13px;color:var(--text-primary)}.publish-checkbox-label:hover{background:var(--bg-hover)}.publish-checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent-color);cursor:pointer}.publish-note{font-size:12px;color:var(--text-tertiary);font-style:italic;margin-top:-8px;padding-left:12px}.publish-modal .modal-footer{display:flex;gap:12px;justify-content:flex-end;padding:16px 20px;border-top:1px solid var(--border-color)}.publish-modal .btn-secondary{padding:10px 16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.publish-modal .btn-secondary:hover{background:var(--bg-hover);color:var(--text-primary)}.publish-modal .btn-primary{padding:10px 20px;background:var(--accent-color);border:none;border-radius:6px;color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.publish-modal .btn-primary:hover{background:var(--accent-hover)}.publish-error-modal{width:560px;max-width:95vw;max-height:80vh;display:flex;flex-direction:column}.publish-error-modal .modal-body{flex:1;overflow:hidden;display:flex;flex-direction:column;gap:12px}.publish-error-modal .modal-body p{margin:0;color:var(--text-secondary);font-size:13px}.publish-error-list{flex:1;overflow-y:auto;max-height:300px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;padding:12px}.publish-error-item{padding:8px 12px;margin-bottom:8px;background:var(--bg-primary);border-left:3px solid var(--error-color, #ef4444);border-radius:4px;font-size:13px;font-family:var(--font-mono, monospace);color:var(--text-primary);white-space:pre-wrap;word-break:break-word}.publish-error-item:last-child{margin-bottom:0}.publish-error-modal .modal-footer{display:flex;justify-content:flex-end;padding:16px 20px;border-top:1px solid var(--border-color)}.publish-error-modal .btn-primary{padding:10px 20px;background:var(--accent-color);border:none;border-radius:6px;color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.publish-error-modal .btn-primary:hover{background:var(--accent-hover)}.template-management{margin-bottom:32px}.admin-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.template-management-table{width:100%;border-collapse:collapse;font-size:13px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.template-management-table th{background:var(--bg-tertiary);padding:12px 16px;text-align:left;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.3px;color:var(--text-primary);border-bottom:1px solid var(--border-color)}.template-management-table td{padding:12px 16px;border-bottom:1px solid var(--border-color)}.template-management-table tr:last-child td{border-bottom:none}.template-management-table tr:hover td{background:var(--bg-tertiary)}.template-type-cell strong{color:var(--text-primary)}.no-version{color:var(--text-muted);font-style:italic}.status-badge{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600}.status-badge.published{background:#22c55e26;color:#22c55e}.status-badge.draft{background:#f59e0b26;color:#f59e0b}.actions-cell{text-align:right}.table-action-btn{padding:6px 12px;background:var(--accent-subtle);border:1px solid var(--accent);border-radius:4px;color:var(--accent);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s}.table-action-btn:hover{background:var(--accent);color:#fff}.add-template-type{margin-top:16px;padding:16px;background:var(--bg-tertiary);border:1px dashed var(--border-color);border-radius:8px}.add-template-input-group{display:flex;gap:12px}.add-template-input{flex:1;max-width:300px;padding:8px 12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:13px;font-family:var(--font-mono)}.add-template-input:focus{outline:none;border-color:var(--accent)}.add-template-btn{padding:8px 16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .15s}.add-template-btn:hover:not(:disabled){background:var(--accent-subtle);border-color:var(--accent);color:var(--accent)}.add-template-btn:disabled{opacity:.5;cursor:not-allowed}.add-template-hint{margin:8px 0 0;font-size:12px;color:var(--text-muted)}.template-upload-modal{width:90%;max-width:560px;max-height:85vh;display:flex;flex-direction:column;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;overflow:hidden}.template-upload-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary)}.template-upload-modal .modal-header h2{margin:0;font-size:15px;font-weight:600}.modal-close-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:4px;color:var(--text-muted);font-size:18px;cursor:pointer;transition:all .15s}.modal-close-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.template-upload-modal .modal-content{flex:1;overflow-y:auto;padding:20px;max-width:none;width:auto;border:none;border-radius:0;box-shadow:none}.template-upload-modal .modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:12px 20px;border-top:1px solid var(--border-color);background:var(--bg-tertiary)}.upload-progress{display:flex;align-items:center;margin-bottom:32px}.progress-step{display:flex;align-items:center;gap:8px}.step-number{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:50%;font-size:12px;font-weight:600;color:var(--text-muted)}.progress-step.active .step-number{background:var(--accent);border-color:var(--accent);color:#fff}.progress-step.complete .step-number{background:#22c55e;border-color:#22c55e;color:#fff}.step-label{font-size:13px;color:var(--text-muted)}.progress-step.active .step-label{color:var(--text-primary);font-weight:500}.progress-line{flex:1;height:2px;background:var(--border-color);margin:0 12px}.upload-step{animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.version-info-step{display:flex;flex-direction:column;gap:16px}.template-type-header-card{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px}.template-type-icon{font-size:24px}.template-type-info{display:flex;flex-direction:column;gap:1px}.template-type-label{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.template-type-value{font-size:16px;font-weight:600;color:var(--text-primary)}.version-details-card,.metadata-card{padding:16px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px}.version-details-card h4,.metadata-card h4{margin:0 0 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--text-muted);padding-bottom:10px;border-bottom:1px solid var(--border-color)}.version-input-row{display:flex;align-items:flex-start;gap:12px}.version-field{flex:1}.version-input-wrapper{display:flex;align-items:center}.version-prefix{padding:8px 10px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-right:none;border-radius:4px 0 0 4px;color:var(--text-muted);font-weight:600;font-size:13px}.version-input{border-radius:0 4px 4px 0!important;font-family:var(--font-mono);font-size:14px!important;font-weight:600;letter-spacing:.5px;padding:8px 10px!important}.version-input.invalid{border-color:#ef4444!important;background:#ef44441a}.field-error{margin:6px 0 0;font-size:12px;color:#ef4444}.suggested-version{display:flex;flex-direction:column;align-items:center;gap:3px;padding-top:20px}.suggested-label{font-size:9px;text-transform:uppercase;color:var(--text-muted)}.suggested-btn{padding:6px 12px;background:var(--accent-subtle);border:1px solid var(--accent);border-radius:4px;color:var(--accent);font-family:var(--font-mono);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.suggested-btn:hover{background:var(--accent);color:#fff}.existing-versions-row{display:flex;align-items:center;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border-color)}.existing-label{font-size:11px;text-transform:uppercase;color:var(--text-muted)}.version-tags{display:flex;flex-wrap:wrap;gap:6px}.version-tag{padding:3px 8px;background:var(--bg-tertiary);border-radius:4px;font-family:var(--font-mono);font-size:11px;color:var(--text-secondary)}.description-input{font-size:13px;line-height:1.6;resize:vertical}.required{color:#ef4444}.template-upload-modal .field-group{margin-bottom:14px}.template-upload-modal .field-group:last-child{margin-bottom:0}.template-upload-modal .field-label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--text-muted);margin-bottom:6px}.template-upload-modal .field-input{width:100%;padding:8px 10px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:13px;font-family:inherit}.template-upload-modal .field-input:focus{outline:none;border-color:var(--accent)}.template-upload-modal .field-input::placeholder{color:var(--text-muted)}.template-upload-modal textarea.field-input{min-height:80px;line-height:1.5;resize:vertical}.template-upload-modal .field-hint{margin:4px 0 0;font-size:11px;color:var(--text-muted)}.template-type-display{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-tertiary);border-radius:8px;margin-bottom:24px}.template-type-display .label{font-size:12px;color:var(--text-muted)}.template-type-display .value{font-size:14px;font-weight:600;color:var(--text-primary)}.existing-versions{margin-top:4px;font-size:11px;color:var(--text-muted)}.csv-upload-section{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}.csv-upload-card{padding:20px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px}.csv-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.csv-card-header h3{margin:0;font-size:14px;font-weight:600}.sample-btn{padding:4px 10px;background:none;border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);font-size:11px;cursor:pointer;transition:all .15s}.sample-btn:hover{background:var(--bg-tertiary);border-color:var(--accent);color:var(--accent)}.csv-description{margin:0 0 12px;font-size:12px;color:var(--text-muted)}.csv-columns{margin-bottom:16px;padding:12px;background:var(--bg-tertiary);border-radius:4px;font-size:11px;color:var(--text-secondary);line-height:1.6}.file-upload-label{display:block;padding:16px;background:var(--bg-tertiary);border:2px dashed var(--border-color);border-radius:6px;text-align:center;color:var(--text-muted);font-size:13px;cursor:pointer;transition:all .15s}.file-upload-label:hover{border-color:var(--accent);background:var(--accent-subtle)}.file-selected{color:#22c55e;font-weight:500}.validation-errors{padding:16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px}.validation-errors h4{margin:0 0 12px;color:#ef4444;font-size:13px}.validation-errors ul{margin:0;padding-left:20px}.validation-errors li{margin-bottom:4px;font-size:12px;color:var(--text-secondary)}.preview-step .preview-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.preview-header h3{margin:0;font-size:16px}.preview-meta{display:flex;align-items:center;gap:12px}.preview-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat-card{padding:16px;background:var(--bg-tertiary);border-radius:8px;text-align:center}.stat-value{display:block;font-size:28px;font-weight:700;color:var(--accent)}.stat-label{font-size:12px;color:var(--text-muted);text-transform:uppercase}.preview-sections{display:grid;grid-template-columns:1fr 1fr;gap:24px}.preview-section h4{margin:0 0 12px;font-size:13px;font-weight:600;text-transform:uppercase;color:var(--text-muted)}.structure-preview{display:flex;flex-direction:column;gap:8px}.act-preview{display:flex;justify-content:space-between;padding:8px 12px;background:var(--bg-tertiary);border-radius:4px;font-size:12px}.act-label{font-weight:600}.units-list{color:var(--text-muted)}.category-breakdown{display:flex;flex-direction:column;gap:8px}.category-row{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--bg-tertiary);border-radius:4px;font-size:12px}.category-badge{padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase}.category-badge.onboarding{background:#8b5cf633;color:#8b5cf6}.category-badge.milestone{background:#f59e0b33;color:#f59e0b}.category-badge.subject-specific{background:#22c55e33;color:#22c55e}.category-badge.quiz{background:#3b82f633;color:#3b82f6}.category-badge.final-project{background:#ef444433;color:#ef4444}.category-count{flex:1}.category-points{font-weight:600;color:var(--text-primary)}.universal-content-analysis{margin-top:24px;padding-top:20px;border-top:1px solid var(--border-color)}.universal-content-analysis h4{margin:0 0 16px;font-size:13px;font-weight:600;text-transform:uppercase;color:var(--text-muted)}.analysis-section{margin-bottom:16px}.analysis-section:last-child{margin-bottom:0}.analysis-header{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:12px;font-weight:600}.analysis-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;font-size:12px;font-weight:700}.matched-section .analysis-icon{background:#22c55e33;color:#22c55e}.create-section .analysis-icon{background:#3b82f633;color:#3b82f6}.analysis-title{color:var(--text-primary)}.analysis-items{display:flex;flex-direction:column;gap:6px}.analysis-item{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--bg-tertiary);border-radius:6px;font-size:12px}.analysis-item.matched{border-left:3px solid #22c55e}.analysis-item.will-create{border-left:3px solid #3b82f6}.resource-key{font-family:SF Mono,Monaco,Consolas,monospace;font-weight:600;color:var(--text-primary);min-width:120px}.resource-title{flex:1;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resource-status{padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase}.resource-status.status-draft{background:#f59e0b33;color:#f59e0b}.resource-status.status-published{background:#22c55e33;color:#22c55e}.resource-status.status-ready{background:#3b82f633;color:#3b82f6}.resource-type{padding:2px 8px;background:var(--bg-secondary);border-radius:4px;font-size:10px;color:var(--text-muted);text-transform:capitalize}.btn-primary{padding:10px 20px;background:var(--accent);border:none;border-radius:6px;color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.btn-primary:hover:not(:disabled){filter:brightness(1.1)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{padding:10px 20px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.btn-secondary:hover{background:var(--bg-hover);color:var(--text-primary)}.universal-field-wrapper{position:relative;margin-bottom:16px;border:1px solid var(--border-color);border-radius:6px;overflow:hidden}.universal-field-wrapper.editable{border-color:#facc1580}.universal-field-toggle{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.universal-field-wrapper.locked .universal-field-toggle{background:var(--bg-tertiary)}.universal-field-wrapper.editable .universal-field-toggle{background:#facc151a;border-bottom-color:#facc154d}.universal-toggle-btn{display:flex;align-items:center;gap:10px;background:none;border:none;padding:0;cursor:pointer;font-family:inherit}.universal-toggle-btn .toggle-track{position:relative;width:36px;height:20px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;transition:all .2s ease;flex-shrink:0}.universal-toggle-btn .toggle-thumb{position:absolute;top:2px;left:2px;width:14px;height:14px;background:var(--text-muted);border-radius:50%;transition:all .2s ease}.universal-toggle-btn.active .toggle-track{background:#facc15;border-color:#eab308}.universal-toggle-btn.active .toggle-thumb{left:18px;background:#fff}.universal-toggle-btn .toggle-label-text{font-size:11px;font-weight:500;color:var(--text-secondary)}.universal-toggle-btn.active .toggle-label-text{color:#ca8a04}.universal-toggle-status{font-size:10px;font-weight:500;padding:2px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.universal-field-wrapper.locked .universal-toggle-status{background:var(--bg-primary);color:var(--text-muted)}.universal-field-wrapper.editable .universal-toggle-status{background:#facc1533;color:#ca8a04}.universal-field-content{padding:12px;background:var(--bg-secondary)}.universal-field-wrapper.editable .universal-field-content{background:#facc1508}.universal-field-content .field-input,.universal-field-content textarea,.universal-field-content .editor-container{margin-top:0}.universal-edit-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;background:linear-gradient(135deg,#8b5cf626,#3b82f626);border:1px solid rgba(139,92,246,.3);border-radius:8px;margin-bottom:20px}.universal-edit-banner-icon{font-size:20px}.universal-edit-banner-content{flex:1}.universal-edit-banner-title{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:2px}.universal-edit-banner-desc{font-size:11px;color:var(--text-secondary)}.universal-step-wrapper{position:relative;border:1px solid var(--border-color);border-radius:8px;margin-bottom:12px;overflow:hidden}.universal-step-wrapper.locked{border-color:var(--border-color)}.universal-step-wrapper.editable{border-color:#facc1566}.universal-step-toggle{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.universal-step-wrapper.locked .universal-step-toggle{background:var(--bg-tertiary)}.universal-step-wrapper.editable .universal-step-toggle{background:#facc151a;border-bottom-color:#facc154d}.universal-step-wrapper.locked .universal-toggle-status{background:var(--bg-primary);color:var(--text-muted)}.universal-step-wrapper.editable .universal-toggle-status{background:#facc1533;color:#ca8a04}.universal-step-content{padding:12px}.field.view-only,.instruction-step.readonly{opacity:.8}.step-title-readonly{flex:1;font-size:14px;font-weight:600;color:var(--text-primary)}.step-description-readonly,.locked-field-display.portable-text-preview{padding:12px;background:var(--bg-tertiary);border-radius:6px;color:var(--text-secondary);font-size:12px;font-style:italic}.course-copy-banner{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;background:linear-gradient(135deg,#facc151a,#22c55e1a);border:1px solid rgba(250,204,21,.3);border-radius:8px;margin-bottom:20px}.course-copy-banner-icon{font-size:20px}.course-copy-banner-content{flex:1}.course-copy-banner-title{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.course-copy-banner-desc{font-size:11px;color:var(--text-secondary);line-height:1.5}.course-copy-banner-desc .highlight-yellow{display:inline-block;padding:1px 6px;background:#facc154d;border-radius:3px;color:#ca8a04;font-weight:500}.course-copy-banner-desc .highlight-green{display:inline-block;padding:1px 6px;background:#22c55e4d;border-radius:3px;color:#16a34a;font-weight:500}.course-copy-field{position:relative;border-radius:6px;margin-bottom:16px;transition:all .2s ease}.course-copy-field.locked{background:var(--bg-tertiary);border:1px solid var(--border-color);padding:12px;opacity:.7}.course-copy-field.locked .field-input,.course-copy-field.locked .editor-container,.course-copy-field.locked textarea{background:var(--bg-tertiary);cursor:not-allowed}.course-copy-field.needs-customization{background:#facc1514;border:2px solid rgba(250,204,21,.5);padding:12px;border-radius:8px}.course-copy-field.needs-customization .field-label{color:#ca8a04}.course-copy-field.edited{background:#22c55e14;border:2px solid rgba(34,197,94,.5);padding:12px;border-radius:8px}.course-copy-field.edited .field-label{color:#16a34a}.customize-badge{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:2px 8px;background:#facc1533;color:#ca8a04;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.edited-badge{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:2px 8px;background:#22c55e33;color:#16a34a;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.course-copy-section.locked{position:relative;background:var(--bg-tertiary);border-radius:8px;padding:16px;opacity:.8}.course-copy-section.locked:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;pointer-events:none;border-radius:8px}.section-lock-badge{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:2px 8px;background:var(--bg-tertiary);color:var(--text-secondary);border-radius:4px;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.3px}.section-header-locked{display:flex;align-items:center;margin-bottom:12px}.section-header-locked .section-title{margin-bottom:0}.course-copy-step{margin-bottom:8px;border-radius:8px;transition:all .2s ease}.course-copy-step.locked{background:var(--bg-tertiary);border:1px solid var(--border-color);padding:4px;opacity:.7}.course-copy-step.locked .instruction-step{background:transparent}.course-copy-step.needs-customization{background:#facc1514;border:2px solid rgba(250,204,21,.5);padding:4px}.course-copy-step.needs-customization .instruction-step{background:transparent}.course-copy-step.edited{background:#22c55e14;border:2px solid rgba(34,197,94,.5);padding:4px}.course-copy-step.edited .instruction-step{background:transparent}.course-copy-step-label{padding:4px 12px 0;display:flex;gap:8px}.rubric-table.readonly input,.rubric-table.readonly textarea{background:var(--bg-tertiary);cursor:not-allowed;opacity:.7}.push-resources-section{background:linear-gradient(135deg,#22c55e1a,#10b9811a);border:1px solid rgba(34,197,94,.3);border-radius:8px;padding:16px 20px;margin-bottom:24px}.push-resources-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.push-resources-info h3{margin:0 0 4px;font-size:14px;font-weight:600;color:var(--text-primary)}.push-resources-description{margin:0;font-size:13px;color:var(--text-secondary)}.push-all-btn{padding:10px 20px;background:#22c55e;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s ease}.push-all-btn:hover:not(:disabled){background:#16a34a}.push-all-btn:disabled{background:var(--bg-tertiary);color:var(--text-muted);cursor:not-allowed}.status-summary{display:flex;gap:16px}.status-count{font-size:12px;font-weight:500;padding:4px 10px;border-radius:12px}.status-count.draft{background:#9ca3af33;color:#9ca3af}.status-count.published{background:#3b82f633;color:#3b82f6}.status-count.ready{background:#f59e0b33;color:#f59e0b}.status-count.pushed{background:#22c55e33;color:#22c55e}.status-badge-small{display:inline-block;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600;text-transform:uppercase}.status-badge-small.draft{background:#9ca3af33;color:#9ca3af}.status-badge-small.published{background:#3b82f633;color:#3b82f6}.status-badge-small.ready-to-push{background:#f59e0b33;color:#f59e0b}.status-badge-small.pushed{background:#22c55e33;color:#22c55e}.version-badge{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);background:var(--bg-tertiary);padding:2px 6px;border-radius:4px}.actions-cell{display:flex;gap:6px;flex-wrap:wrap}.table-action-btn{padding:4px 10px;font-size:11px;font-weight:500;border:none;border-radius:4px;cursor:pointer;transition:all .15s ease}.table-action-btn.publish{background:#3b82f626;color:#3b82f6}.table-action-btn.publish:hover{background:#3b82f640}.table-action-btn.ready{background:#f59e0b26;color:#f59e0b}.table-action-btn.ready:hover{background:#f59e0b40}.table-action-btn.unready{background:#9ca3af26;color:#9ca3af}.table-action-btn.unready:hover{background:#9ca3af40}.push-modal{max-width:700px;max-height:85vh;display:flex;flex-direction:column}.push-modal .modal-body{flex:1;overflow-y:auto;padding:24px}.push-section-title{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 16px}.push-preview-list{display:flex;flex-direction:column;gap:16px}.push-preview-item{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.push-preview-header{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.push-preview-key{font-family:var(--font-mono);font-size:11px;color:#8b5cf6;background:#8b5cf626;padding:4px 8px;border-radius:4px;font-weight:600}.push-preview-title{flex:1;font-size:14px;font-weight:500;color:var(--text-primary)}.push-preview-version{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);background:var(--bg-tertiary);padding:2px 8px;border-radius:4px}.push-preview-courses{padding:12px 16px}.push-preview-courses-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.push-preview-label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.push-preview-count{font-size:12px;font-weight:600;color:#22c55e;background:#22c55e26;padding:4px 10px;border-radius:12px}.push-preview-courses-list{max-height:180px;overflow-y:auto;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px}.push-preview-course-item{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid var(--border-light);font-size:13px}.push-preview-course-item:last-child{border-bottom:none}.push-preview-course-item .course-name{color:var(--text-primary);font-weight:500}.push-preview-course-item .push-counts{display:flex;gap:8px}.push-preview-course-item .placeholder-count{color:#16a34a;font-size:12px;background:#dcfce7;padding:2px 8px;border-radius:4px}.push-preview-course-item .existing-count{color:#ea580c;font-size:12px;background:#fed7aa;padding:2px 8px;border-radius:4px}.push-preview-course-item .existing-count.skipped{color:var(--text-muted);background:var(--bg-tertiary);text-decoration:line-through}.push-overwrite-section{margin:16px 0;padding:16px;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-light)}.push-overwrite-toggle{display:flex;align-items:center;gap:12px;cursor:pointer;font-weight:500}.push-overwrite-toggle input[type=checkbox]{display:none}.push-overwrite-toggle .toggle-track{width:44px;height:24px;background:var(--border-medium);border-radius:12px;position:relative;transition:background .2s ease}.push-overwrite-toggle input:checked+.toggle-track{background:#ea580c}.push-overwrite-toggle .toggle-thumb{width:20px;height:20px;background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;transition:transform .2s ease;box-shadow:0 1px 3px #0003}.push-overwrite-toggle input:checked+.toggle-track .toggle-thumb{transform:translate(20px)}.push-overwrite-toggle .toggle-text{color:var(--text-primary)}.push-warning-overwrite{margin-top:12px;background:#fff7ed;border-color:#fed7aa}.push-warning-overwrite strong{color:#ea580c}.push-preview-no-match{padding:16px;text-align:center}.push-preview-no-match .no-match-warning{font-size:13px;color:var(--text-muted);font-style:italic}.push-results{display:flex;flex-direction:column;gap:20px}.push-success-banner{display:flex;align-items:flex-start;gap:16px;padding:20px;background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:8px}.push-success-banner .success-icon{font-size:28px;color:#22c55e;flex-shrink:0}.push-success-banner strong{display:block;font-size:16px;color:#22c55e;margin-bottom:4px}.push-success-banner p{margin:0;font-size:14px;color:var(--text-secondary)}.push-results-list{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;max-height:300px;overflow-y:auto}.push-result-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border-color)}.push-result-item:last-child{border-bottom:none}.push-result-key{font-family:var(--font-mono);font-size:11px;color:#8b5cf6;background:#8b5cf626;padding:4px 8px;border-radius:4px;font-weight:600}.push-result-title{flex:1;font-size:13px;color:var(--text-primary)}.push-result-courses{font-size:12px;color:#22c55e;font-weight:500}.push-warning{display:flex;gap:12px;padding:16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;margin-bottom:20px}.push-warning .warning-icon{font-size:24px;flex-shrink:0}.push-warning strong{display:block;color:#ef4444;margin-bottom:4px}.push-warning p{margin:0;font-size:13px;color:var(--text-secondary)}.push-resources-list,.push-courses-list{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;max-height:150px;overflow-y:auto;margin-bottom:16px}.push-resource-item,.push-course-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-bottom:1px solid var(--border-color)}.push-resource-item:last-child,.push-course-item:last-child{border-bottom:none}.push-resource-key{font-family:var(--font-mono);font-size:11px;color:#8b5cf6;background:var(--bg-tertiary);padding:2px 6px;border-radius:4px}.push-resource-title,.push-course-name{flex:1;font-size:13px;color:var(--text-primary)}.push-resource-version{font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}.push-course-template{font-size:11px;color:var(--text-muted);background:var(--bg-tertiary);padding:2px 8px;border-radius:4px}.push-courses-info{font-size:13px;color:var(--text-secondary);margin:0 0 12px}.modal-body h3{font-size:13px;font-weight:600;color:var(--text-primary);margin:0 0 12px}.btn-danger{padding:10px 20px;background:#ef4444;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s ease}.btn-danger:hover{background:#dc2626}.btn-secondary{padding:10px 20px;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:var(--bg-hover)}.ProseMirror [data-type=image-block],.ProseMirror [data-type=video-block]{padding:12px;background:var(--bg-hover);border-radius:6px;margin:1em 0;border:1px solid var(--border-color)}.ProseMirror [data-type=image-block]:hover,.ProseMirror [data-type=video-block]:hover{border-color:var(--accent);cursor:pointer}.ProseMirror [data-type=image-block] img{max-width:100%;height:auto;border-radius:4px;display:block}.ProseMirror [data-type=video-block] iframe{width:100%;aspect-ratio:16/9;border-radius:4px;border:none}.image-accessible-info,.video-accessible-info{font-size:11px;color:var(--text-secondary);margin-top:8px;padding:6px 8px;background:var(--bg-secondary);border-radius:3px;font-style:italic}.image-accessible-info:before,.video-accessible-info:before{content:"♿ "}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--bg-primary);padding:24px;border-radius:8px;max-width:500px;width:90%;box-shadow:0 4px 24px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-header h3{margin:0;font-size:18px;color:var(--text-primary)}.modal-header button{background:none;border:none;font-size:24px;color:var(--text-muted);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .15s ease}.modal-header button:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-content label{display:block;margin-bottom:16px;font-size:13px;color:var(--text-secondary);font-weight:500}.modal-content input{width:100%;margin-top:6px;padding:10px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-tertiary);color:var(--text-primary);font-size:14px;transition:all .15s ease}.modal-content input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a}.modal-content input::placeholder{color:var(--text-muted)}.modal-content label .field-hint{display:block;margin-top:4px;font-size:11px;font-weight:400;color:var(--text-muted)}.modal-actions{display:flex;gap:10px;margin-top:24px;justify-content:flex-end}.modal-actions button{padding:10px 20px;border-radius:6px;border:none;cursor:pointer;font-size:14px;font-weight:500;transition:all .15s ease}.modal-actions button:first-child{background:var(--bg-secondary);color:var(--text-primary)}.modal-actions button:first-child:hover{background:var(--bg-hover)}.modal-actions button:last-child{background:var(--accent);color:#fff}.modal-actions button:last-child:hover{background:#5558e3}.modal-actions button:last-child:disabled{opacity:.5;cursor:not-allowed;background:var(--accent)}.modal-actions button:last-child:disabled:hover{background:var(--accent)}.image-upload-zone{border:2px dashed var(--border-color);border-radius:8px;padding:32px;text-align:center;cursor:pointer;transition:all .2s ease;background:var(--bg-tertiary);margin-bottom:20px}.image-upload-zone:hover{border-color:var(--accent);background:var(--bg-hover)}.image-upload-zone.dragging{border-color:var(--accent);background:#6366f11a;border-style:solid}.upload-icon{font-size:48px;margin-bottom:12px}.image-upload-zone p{margin:8px 0;color:var(--text-primary);font-size:14px}.upload-hint{font-size:12px!important;color:var(--text-muted)!important}.upload-loading{display:flex;flex-direction:column;align-items:center;gap:12px}.spinner{width:32px;height:32px;border:3px solid var(--border-color);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.upload-error{background:#ef44441a;border:1px solid #ef4444;border-radius:6px;padding:12px;color:#ef4444;font-size:13px;margin-bottom:16px}.modal-divider{text-align:center;margin:20px 0;color:var(--text-muted);font-size:12px;position:relative}.modal-divider:before,.modal-divider:after{content:"";position:absolute;top:50%;width:40%;height:1px;background:var(--border-color)}.modal-divider:before{left:0}.modal-divider:after{right:0}.data-source-toggle{display:flex;gap:12px;padding:6px 10px;background:var(--bg-secondary);border-radius:6px;font-size:13px;border:1px solid var(--border-color)}.data-source-toggle label{display:flex;align-items:center;gap:6px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background .2s ease}.data-source-toggle label:hover:not(:has(input:disabled)){background:var(--bg-hover)}.data-source-toggle label:has(input:checked){background:var(--bg-tertiary);font-weight:500}.data-source-toggle label:has(input:disabled){opacity:.5;cursor:not-allowed}.sanity-option{color:var(--text-primary)}.mock-option{color:var(--text-muted)}.dev-badge{font-size:9px;font-weight:600;background:#f59e0b;color:#000;padding:2px 6px;border-radius:3px;letter-spacing:.5px;margin-left:4px}.unavailable-badge{font-size:10px;color:var(--text-muted);font-style:italic}.loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;z-index:10000;color:#fff;font-size:14px}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);padding:20px}.login-card{display:flex;flex-direction:column;align-items:center;gap:32px;padding:48px}.login-logo-container{display:flex;align-items:center;gap:8px}.login-logo-container .beta-tag{font-size:11px;padding:3px 8px}.login-logo{height:48px;width:auto;filter:var(--logo-filter)}.login-error{padding:12px 20px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#ef4444;font-size:13px;text-align:center}.login-button{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 24px;background:#fff;border:1px solid var(--border);border-radius:8px;font-size:14px;font-weight:500;color:#1f2937;cursor:pointer;transition:all .15s ease}.login-button:hover{background:#f9fafb;border-color:var(--border-hover);box-shadow:0 2px 4px #0000000d}.login-button:active{transform:scale(.98)}.login-loading{display:flex;flex-direction:column;align-items:center;gap:16px;padding:40px 0}.login-spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.login-loading p{color:var(--text-muted);font-size:14px;margin:0}.app-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:16px;color:var(--text-muted)}.app-loading .loading-spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.dev-role-toggle{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#eab3081a;border-radius:4px;margin:0 8px}.dev-label{font-size:10px;font-weight:600;color:#ca8a04;letter-spacing:.5px}.dev-toggle-btn{font-size:11px;padding:4px 8px;background:#eab30833;border:1px solid rgba(234,179,8,.4);border-radius:4px;color:#ca8a04;cursor:pointer;transition:all .15s ease}.dev-toggle-btn:hover{background:#eab3084d}.account-dropdown-header .role-badge{display:inline-block;margin-top:8px;padding:4px 10px;font-size:11px;font-weight:500;border-radius:12px;text-transform:capitalize}.account-dropdown-header .role-badge.admin{background:#a855f726;color:#a855f7}.account-dropdown-header .role-badge.designer{background:#3b82f626;color:#3b82f6}.history-btn-container{position:relative}.toolbar-btn.history-btn{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center}.toolbar-btn.history-btn svg{width:14px;height:14px}.history-panel{position:absolute;top:100%;right:0;margin-top:8px;width:280px;max-height:400px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 8px 32px #0006;z-index:1000;display:flex;flex-direction:column;overflow:hidden}.history-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary)}.history-panel-title{font-size:12px;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px}.history-panel-close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:none;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.history-panel-close:hover{background:var(--bg-hover);color:var(--text-primary)}.history-panel-list{flex:1;overflow-y:auto;padding:8px}.history-panel-empty{padding:24px;text-align:center;color:var(--text-muted);font-size:13px}.history-entry{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;background:none;border:none;border-radius:6px;cursor:pointer;text-align:left;transition:all .15s ease}.history-entry:hover{background:var(--bg-hover)}.history-entry.current{background:var(--accent-subtle)}.history-entry.future{opacity:.5}.history-entry.initial{border-top:1px solid var(--border-color);margin-top:8px;padding-top:14px}.history-entry-description{flex:1;font-size:13px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-entry.future .history-entry-description{color:var(--text-secondary)}.history-entry-time{font-size:11px;color:var(--text-muted);white-space:nowrap}.history-entry-current-marker{font-size:10px;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.5px;padding:2px 6px;background:var(--accent-subtle);border-radius:4px}.keyboard-shortcuts-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.keyboard-shortcuts-modal{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;width:520px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 40px #0006}.keyboard-shortcuts-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color);flex-shrink:0}.keyboard-shortcuts-modal .modal-header h2{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.keyboard-shortcuts-modal .modal-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:6px;color:var(--text-muted);cursor:pointer;transition:all .15s}.keyboard-shortcuts-modal .modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.keyboard-shortcuts-content{padding:16px 20px;overflow-y:auto;flex:1}.shortcut-group{margin-bottom:20px}.shortcut-group:last-child{margin-bottom:0}.shortcut-group-title{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.shortcut-list{display:flex;flex-direction:column;gap:4px}.shortcut-row{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;border-radius:6px;background:var(--bg-tertiary)}.shortcut-description{font-size:13px;color:var(--text-primary)}.shortcut-keys{display:flex;align-items:center;gap:4px}.shortcut-keys kbd,.keyboard-shortcuts-footer kbd{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:5px;font-family:var(--font-sans);font-size:12px;font-weight:500;color:var(--text-secondary);box-shadow:0 1px 0 var(--border-color)}.keyboard-shortcuts-footer{padding:12px 20px;border-top:1px solid var(--border-color);flex-shrink:0}.shortcut-note{font-size:12px;color:var(--text-muted);text-align:center;margin:0}.shortcut-note kbd{font-size:11px;padding:0 4px;height:20px;min-width:20px}.account-menu-item .menu-shortcut{margin-left:auto;font-size:11px;color:var(--text-muted);font-family:var(--font-sans)}.go-to-overlay{z-index:1200}.go-to-palette{position:fixed;top:15%;left:50%;transform:translate(-50%);width:560px;max-width:calc(100vw - 40px);max-height:70vh;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 20px 60px #00000080;display:flex;flex-direction:column;overflow:hidden}.go-to-search{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--border-color)}.go-to-search-icon{flex-shrink:0;color:var(--text-muted)}.go-to-search input{flex:1;background:transparent;border:none;outline:none;font-size:16px;color:var(--text-primary)}.go-to-search input::placeholder{color:var(--text-placeholder)}.go-to-shortcut{flex-shrink:0;display:inline-flex;align-items:center;padding:2px 6px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;font-size:11px;font-family:var(--font-sans);color:var(--text-muted)}.go-to-results{flex:1;overflow-y:auto;padding:8px;max-height:400px}.go-to-empty{padding:32px 16px;text-align:center;color:var(--text-muted);font-size:14px}.go-to-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;cursor:pointer;transition:background-color .1s}.go-to-item:hover,.go-to-item.highlighted{background:var(--bg-hover)}.go-to-item.highlighted{background:var(--accent-subtle)}.go-to-item-icon{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px;font-size:12px;font-weight:600;color:#fff}.go-to-item-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.go-to-item-title{font-size:14px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.go-to-item-subtitle{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.go-to-item-type{flex-shrink:0;font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.go-to-footer{display:flex;align-items:center;justify-content:center;gap:16px;padding:12px 16px;border-top:1px solid var(--border-color);background:var(--bg-tertiary)}.go-to-hint{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted)}.go-to-hint kbd{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;font-family:var(--font-sans);font-size:11px;font-weight:500;color:var(--text-secondary)}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2) format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff) format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff) format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff) format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2) format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff) format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2) format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff) format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2) format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff) format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2) format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff) format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2) format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff) format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2) format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff) format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff) format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff) format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff) format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2) format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff) format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2) format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff) format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2) format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff) format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC) format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff) format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2) format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff) format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2) format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff) format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.27"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}
