.sidebar-root{display:flex;flex-direction:row;background:#fff;border-right:1px solid #ece6fa;z-index:2;position:relative;height:100%}.sidebar-modules{display:flex;flex-direction:column;align-items:center;width:64px;background:#fff;border-right:1px solid #ece6fa;padding:8px 0;gap:8px;overflow-y:auto;flex-shrink:0}.sidebar-module-icon{width:36px;height:36px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-bottom:2px;transition:box-shadow .2s;cursor:pointer;outline:2.5px solid transparent;outline-offset:3px;box-shadow:none;padding:4px}.sidebar-module-icon.active{box-shadow:0 2px 8px #00000014}.module-icon-img{width:18px;height:18px;-o-object-fit:contain;object-fit:contain}.sidebar-submodules{display:flex;flex-direction:column;text-align:left;min-width:200px;min-height:0;background:#fff;border-right:1px solid #ece6fa}.sidebar-submodules-list{display:flex;flex-direction:column;padding:8px 12px;gap:4px;flex:1 1 0;min-height:0;overflow-y:auto}.sidebar-submodules-list::-webkit-scrollbar{width:4px}.sidebar-submodules-list::-webkit-scrollbar-track{background:transparent}.sidebar-submodules-list::-webkit-scrollbar-thumb{background:#d8b4fe;border-radius:4px}.sidebar-submodules-list::-webkit-scrollbar-thumb:hover{background:#a78bfa}.sidebar-submodule-link{display:block;padding:10px 12px;border-radius:6px;color:#374151;font-size:.875rem;font-weight:500;text-decoration:none;background:transparent;transition:background .15s,color .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}.sidebar-submodule-link:hover,.sidebar-submodule-link.active{background:#f3e8ff;color:#7c3aed}.sidebar-collapse-btn{position:absolute;right:-11px;top:6px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e5e7eb;border-radius:50%;cursor:pointer;color:#9ca3af;transition:all .15s ease;padding:0;outline:none;z-index:10;box-shadow:0 1px 3px #00000014;flex-shrink:0}.sidebar-collapse-btn:hover{background:#f3e8ff;color:#7c3aed;border-color:#c4b5fd}.sidebar-collapse-btn svg{width:12px;height:12px;flex-shrink:0}@media (max-width: 1024px) and (min-width: 768px){.sidebar-submodules{min-width:140px}.sidebar-submodule-link{padding:9px 10px;font-size:.85rem}}@media (max-width: 767px){.sidebar-root{min-width:220px;max-width:280px;width:70vw;height:100%}.sidebar-modules{width:56px;padding:8px 0;gap:6px}.sidebar-module-icon{width:34px;height:34px;outline-width:2px;outline-offset:2px}.module-icon-img{width:17px;height:17px}.sidebar-submodules{min-width:140px}.sidebar-submodule-link{padding:11px 12px;font-size:.875rem;border-radius:6px}}@media (max-width: 479px){.sidebar-root{width:75vw;max-width:260px;min-width:200px}.sidebar-modules{width:50px;padding:6px 0;gap:4px}.sidebar-module-icon{width:32px;height:32px;outline-width:2px;outline-offset:2px}.module-icon-img{width:16px;height:16px}.sidebar-submodules{min-width:120px}.sidebar-submodule-link{padding:10px;font-size:.825rem;border-radius:5px}}.program-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease-out}.program-modal{background:#fff;border-radius:16px;width:100%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease-out}.program-modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 24px 16px;border-bottom:1px solid #e5e7eb}.program-modal-title{font-size:1.25rem;font-weight:600;color:#111827;margin:0}.program-modal-close{background:none;border:none;cursor:pointer;padding:4px;color:#6b7280;transition:color .2s;border-radius:4px}.program-modal-close:hover{color:#111827;background:#f3f4f6}.program-modal-body{padding:20px 24px;overflow-y:auto;flex:1}.program-card{display:flex;align-items:center;gap:12px;padding:16px;border:2px solid #e5e7eb;border-radius:12px;margin-bottom:12px;cursor:pointer;transition:all .2s ease;position:relative}.program-card:hover{border-color:#7c3aed;background:#faf8ff;box-shadow:0 2px 8px #7c3aed1a}.program-card.selected{border-color:#7c3aed;background:#faf8ff;box-shadow:0 0 0 3px #7c3aed1a}.program-radio{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border:2px solid #d1d5db;border-radius:50%;cursor:pointer;position:relative;transition:all .2s;flex-shrink:0}.program-radio:checked{border-color:#7c3aed;background:#7c3aed}.program-radio:checked:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;border-radius:50%;background:#fff}.program-card-content{flex:1}.program-card-name{font-size:1rem;font-weight:600;color:#111827;text-align:left}.program-card-check{width:20px;height:20px;flex-shrink:0}.program-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e5e7eb}.program-modal-btn{padding:10px 24px;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;border:none}.program-modal-btn-cancel{background:#f3f4f6;color:#374151}.program-modal-btn-cancel:hover:not(:disabled){background:#e5e7eb}.program-modal-btn-select{background:#7c3aed;color:#fff}.program-modal-btn-select:hover:not(:disabled){background:#6d28d9;box-shadow:0 4px 12px #7c3aed4d}.program-modal-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 767px){.program-modal-overlay{padding:0;align-items:flex-end}.program-modal{max-width:100%;max-height:85vh;border-radius:16px 16px 0 0;animation:slideUpMobile .3s ease-out}@keyframes slideUpMobile{0%{transform:translateY(100%)}to{transform:translateY(0)}}.program-modal-header{padding:20px 16px 12px}.program-modal-title{font-size:1.125rem}.program-modal-body{padding:16px}.program-card{padding:12px;margin-bottom:10px}.program-card-name{font-size:.9rem}.program-modal-footer{padding:12px 16px;flex-direction:column-reverse;gap:8px}.program-modal-btn{width:100%;padding:12px 24px}}@media (max-width: 479px){.program-modal{max-height:90vh}.program-modal-header{padding:16px 12px 10px}.program-modal-title{font-size:1rem}.program-modal-body{padding:12px}.program-card{padding:10px;gap:10px}.program-card-name{font-size:.85rem}.program-radio,.program-card-check{width:18px;height:18px}}.main-layout{display:flex;flex-direction:column;min-height:100vh;background:#f8fafc}.main-layout-header{display:flex;align-items:center;justify-content:center;height:64px;background:#fff;border-bottom:1px solid #ece6fa;padding:0 32px 0 16px;box-sizing:border-box;z-index:10;position:relative;gap:0}.header-left{display:flex;align-items:center;gap:1.25rem;flex:.25rem;min-width:0}.mobile-menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;color:#333;transition:color .2s}.mobile-menu-toggle:hover{color:#7c3aed}.mobile-menu-toggle:focus{outline:2px solid #7c3aed;outline-offset:2px}.tgm-logo{height:48px;width:auto;max-width:160px;-o-object-fit:contain;object-fit:contain}.header-center{flex:1 1 auto;display:flex;align-items:center;justify-content:center;min-width:0}.header-title{font-size:1.3rem;font-weight:600;color:#222;transition:opacity .3s ease-in-out;white-space:nowrap}.header-spacer{flex:1}.header-title.fade-out{opacity:0}.header-title.fade-in{opacity:1}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.header-right{display:flex;align-items:center;gap:12px;flex:0 0 auto;justify-content:flex-end;min-width:-moz-fit-content;min-width:fit-content}.program-selector{display:flex;align-items:center;gap:8px;padding:7px 12px 7px 10px;background:#fff;border:1px solid #e9d5ff;border-radius:10px;cursor:pointer;transition:all .2s;font-family:inherit;max-width:260px}.program-selector:hover:not(:disabled){border-color:#c084fc;background:#faf5ff;box-shadow:0 2px 8px #7c3aed14}.program-selector:disabled{opacity:.6;cursor:not-allowed}.program-selector-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;flex-shrink:0}.program-selector-name{font-size:13px;font-weight:600;color:#6d28d9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.program-selector-chevron{color:#a78bfa;flex-shrink:0}.profile-container{position:relative}.profile-trigger{display:flex;align-items:center;gap:10px;padding:5px 10px 5px 5px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer;transition:all .2s;font-family:inherit}.profile-trigger:hover{border-color:#c084fc;background:#faf5ff;box-shadow:0 2px 8px #7c3aed14}.profile-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#7c3aed,#a78bfa);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;letter-spacing:.5px;flex-shrink:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.profile-text{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.profile-name{font-size:13px;font-weight:600;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px;line-height:1.2}.profile-role{font-size:11px;color:#9ca3af;line-height:1.2}.profile-chevron{color:#9ca3af;flex-shrink:0;transition:transform .2s}.profile-chevron.open{transform:rotate(180deg)}.profile-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 10px 40px #0000001f,0 2px 6px #0000000a;min-width:240px;z-index:100;overflow:hidden;animation:profileDropdownIn .15s ease-out}@keyframes profileDropdownIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.profile-dropdown-header{display:flex;align-items:center;gap:12px;padding:16px}.profile-dropdown-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#7c3aed,#a78bfa);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;letter-spacing:.5px;flex-shrink:0}.profile-dropdown-name{font-size:14px;font-weight:600;color:#1f2937;line-height:1.3}.profile-dropdown-email{font-size:12px;color:#9ca3af;line-height:1.3}.profile-dropdown-divider{height:1px;background:#f3f4f6;margin:0}.profile-dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;background:none;border:none;cursor:pointer;font-size:14px;font-family:inherit;color:#6b7280;transition:all .15s;text-align:left}.profile-dropdown-item:hover{background:#fef2f2;color:#dc2626}.profile-dropdown-item svg{flex-shrink:0}.main-layout-body{display:flex;flex:1 1 auto;min-height:0;position:relative}.sidebar-wrapper{display:flex;position:relative;z-index:5;height:calc(100vh - 64px);transition:width .3s ease,min-width .3s ease}.sidebar-wrapper.collapsed{width:64px;min-width:64px}.mobile-sidebar-overlay{display:none;position:fixed;top:64px;left:0;right:0;bottom:0;background:#00000080;z-index:4}.main-layout-content{padding:2rem;flex:1 1 auto;min-width:0;background:#f7eeff;overflow-x:auto;overflow-y:auto;height:calc(100vh - 64px);transition:flex .3s ease}.main-layout-content.sidebar-collapsed{flex:1 1 auto}@media (max-width: 1024px) and (min-width: 768px){.main-layout-header{padding:0 20px 0 12px}.header-title{font-size:1.1rem}.tgm-logo{height:42px}.program-selector{max-width:180px}.profile-text,.profile-chevron{display:none}.main-layout-content{padding:1.5rem}}@media (max-width: 767px){.main-layout-header{height:56px;padding:0 12px 0 8px}.header-left{gap:8px}.mobile-menu-toggle{display:block}.tgm-logo{height:36px;max-width:100px}.header-center{display:none}.header-title{font-size:1rem}.header-right{gap:8px;flex:1}.program-selector{flex:1;max-width:none}.profile-container{display:none}.sidebar-wrapper{position:fixed;top:56px;left:-100%;height:calc(100vh - 56px);transition:left .3s ease-in-out;background:#fff;box-shadow:2px 0 8px #0000001a}.sidebar-wrapper.mobile-open{left:0}.mobile-sidebar-overlay{display:block}.main-layout-content{padding:1rem;width:100%}}@media (max-width: 479px){.main-layout-header{padding:0 8px}.tgm-logo{height:32px;max-width:80px}.program-selector{max-width:none;flex:1}.program-selector-name{font-size:12px}.header-right{gap:6px;flex:1}.main-layout-content{padding:.75rem}}@media (min-width: 1025px){.mobile-menu-toggle{display:none!important}.sidebar-wrapper{position:relative;left:0}.mobile-sidebar-overlay{display:none!important}}.learn-page{padding:.2rem;max-width:1200px;margin:0 auto}.learn-header{margin-bottom:20px}.learn-header h1{font-size:20px;color:#111827;margin:0;font-weight:600}.learn-header .subtitle{color:#6b7280;font-size:13px;margin:4px 0 0;font-weight:400}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px}.spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top:3px solid #7c3aed;border-radius:50%;animation:spin 1s linear infinite}.access-denied{text-align:center;padding:24px;background-color:#fef3c7;border:1px solid #fcd34d;border-radius:10px;margin-top:16px}.access-denied h2{color:#92400e;margin:0 0 12px;font-size:16px;font-weight:600}.access-denied p{color:#92400e;margin:6px 0;font-size:13px;font-weight:400}.content-viewer{background:#fff;border-radius:10px;box-shadow:0 1px 3px #00000014;padding:16px}.content-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e5e7eb;gap:10px}.content-header h2{font-size:15px;color:#111827;margin:0;font-weight:600;text-align:left;flex:1}.content-category{background-color:#7c3aed;color:#fff;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;flex-shrink:0}.content-body{line-height:1.6;color:#374151;margin-bottom:16px;min-height:auto;font-size:13px;font-weight:400}.content-actions{display:flex;gap:10px;padding:12px 0;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;margin-bottom:16px;flex-wrap:wrap}.btn{padding:8px 14px;border:none;border-radius:6px;font-size:12px;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:6px;font-weight:500}.btn-primary{background-color:#7c3aed;color:#fff}.btn-primary:hover{background-color:#6d28d9;box-shadow:0 2px 6px #7c3aed33}.btn-secondary{background-color:#d1d5db;color:#374151}.btn-secondary:hover{background-color:#c1c3ca;box-shadow:0 2px 4px #0000001a}.btn-link{background-color:transparent;color:#7c3aed;border:1px solid #7c3aed}.btn-link:hover{background-color:#f3e8ff;color:#6d28d9}.permission-info{background-color:#f0f4ff;padding:12px;border-radius:8px;border-left:3px solid #7c3aed}.permission-info h4{margin:0 0 8px;color:#111827;font-size:13px;font-weight:600}.permission-info ul{list-style:none;padding:0;margin:0}.permission-info li{padding:4px 0;font-size:12px;font-weight:400}.permission-granted{color:#059669}.permission-denied{color:#dc2626;opacity:.8}.no-content{text-align:center;padding:24px;color:#9ca3af;font-size:13px;font-weight:400}.test-grid{display:flex;flex-direction:column;gap:12px}.learn-chapter-card{background:#fff;border-radius:10px;border:1px solid #e5e7eb;box-shadow:0 1px 2px #0000000a;overflow:hidden}.learn-chapter-header{width:100%;background:transparent;border:none;display:flex;justify-content:space-between;align-items:center;padding:12px 16px;cursor:pointer;border-radius:10px 10px 0 0;transition:all .2s ease}.learn-chapter-header:hover{background:#f9fafb}.learn-chapter-title{color:#7c3aed;font-weight:600;font-size:.95rem;text-align:left;flex:1;margin:0}.learn-chapter-caret{color:#6b7280;font-weight:700;font-size:13px;flex-shrink:0}.learn-topic-list{padding:8px 14px 12px}.learn-topic-card.horizontal{margin:0}.icon-play{display:inline-block;margin-right:6px;font-size:12px}.subject-tabs{display:flex;gap:10px;margin-bottom:20px;overflow-x:auto;padding:0 0 8px;scrollbar-width:none}.subject-tabs::-webkit-scrollbar{display:none}.subject-tabs button{padding:8px 18px;background:#fff;border-radius:20px;font-size:13px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s ease;white-space:nowrap;border:1px solid #e5e7eb;flex-shrink:0}.subject-tabs button:hover{color:#7c3aed;border-color:#7c3aed;background:#f9fafb}.subject-tabs button.active{background-color:#7c3aed;color:#fff;border-color:#7c3aed}.test-chapter-group{margin-bottom:16px}.test-chapter-heading{text-align:left;font-size:14px;font-weight:600;color:#7c3aed;margin:0 0 10px;display:flex;align-items:center;justify-content:space-between}.chapter-toggle{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.chapter-toggle .caret{color:#6b7280;font-weight:700;font-size:14px}.learn-topic-list{display:flex;flex-direction:column;gap:10px}.learn-topic-card.horizontal{background:#f3e8ff;border-radius:10px;border:1px solid #e5e7eb;box-shadow:0 1px 2px #0000000a;display:flex;align-items:center;padding:14px 16px;min-height:50px;transition:all .2s ease}.learn-topic-card.horizontal:hover{box-shadow:0 3px 8px #7c3aed1a;border-color:#7c3aed}.learn-topic-content{display:flex;align-items:center;justify-content:space-between;width:100%;gap:12px}.learn-topic-title{font-size:.9rem;color:#111827;font-weight:500;flex:1;text-align:left}.learn-topic-actions{display:flex;gap:8px;flex-shrink:0}.btn-open-topic{padding:6px 14px;background:#7c3aed;color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-open-topic:hover{background:#6d28d9;box-shadow:0 2px 6px #7c3aed33}.btn-open-topic:disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed;box-shadow:none}.viewer-section{margin-top:20px}@media (max-width: 768px){.learn-page{padding:.2rem}.learn-header h1{font-size:18px}.learn-header .subtitle{font-size:12px}.subject-tabs button{font-size:14px;padding:6px 14px}.test-chapter-heading{font-size:13px}.learn-topic-title{font-size:.9rem}.btn-open-topic{padding:5px 12px;font-size:11px}.content-actions{flex-direction:column;gap:8px}.btn{width:auto;justify-content:center}.content-header{flex-direction:column;align-items:flex-start}.content-header h2{font-size:14px}}.tc-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#0f0a1eb8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:tc-fade-in .35s ease}@keyframes tc-fade-in{0%{opacity:0}to{opacity:1}}.tc-card{background:#fff;border-radius:20px;padding:40px 36px 32px;width:min(480px,92vw);text-align:center;box-shadow:0 24px 64px #00000040;animation:tc-pop .4s cubic-bezier(.34,1.56,.64,1)}@keyframes tc-pop{0%{transform:scale(.75);opacity:0}to{transform:scale(1);opacity:1}}.tc-medal{font-size:72px;line-height:1;margin-bottom:12px;filter:drop-shadow(0 4px 12px rgba(0,0,0,.15))}.tc-title{font-size:26px;font-weight:800;color:#1e1b4b;margin:0 0 4px;letter-spacing:-.5px}.tc-subtitle{font-size:14px;color:#6b7280;margin:0 0 24px}.tc-stats{display:flex;justify-content:center;gap:32px;margin-bottom:24px}.tc-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.tc-stat-value{font-size:32px;font-weight:800;color:#7c3aed;line-height:1}.tc-stat-denom{font-size:18px;font-weight:600;color:#a78bfa}.tc-stat-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#9ca3af}.tc-score-bar-wrap{margin-bottom:24px}.tc-score-bar{height:8px;border-radius:99px;background:#f3f4f6;overflow:hidden;margin-bottom:6px}.tc-score-bar-fill{height:100%;border-radius:99px;transition:width .8s cubic-bezier(.4,0,.2,1)}.tc-score-bar-label{font-size:12px;color:#6b7280;font-weight:500}.tc-bloom-wrap{margin-bottom:28px}.tc-bloom-heading{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#9ca3af;margin:0 0 8px}.tc-bloom-pills{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.tc-bloom-pill{padding:3px 10px;border-radius:99px;font-size:11px;font-weight:700;color:#fff;letter-spacing:.03em}.tc-actions{display:flex;gap:12px;justify-content:center}.tc-btn{padding:10px 24px;border-radius:10px;font-size:14px;font-weight:700;border:none;cursor:pointer;transition:transform .15s,box-shadow .15s}.tc-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000001f}.tc-btn:active{transform:translateY(0)}.tc-btn--restart{background:#f3f4f6;color:#374151}.tc-btn--done{background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;box-shadow:0 4px 14px #7c3aed59}.content-viewer-container{background:linear-gradient(to bottom,#c29eff,#efe6ff);min-height:100vh}.content-viewer-topbar{height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:#fffffff7;border-bottom:1px solid #e5e7eb;gap:12px;flex-shrink:0}.slide-counter{font-size:12px;color:#9ca3af;font-weight:500;letter-spacing:.5px;white-space:nowrap;flex-shrink:0;min-width:80px}.topbar-center{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;min-width:0;overflow:hidden}.topbar-title{font-size:15px;font-weight:700;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-bloom{flex-shrink:0;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:#7c3aed;color:#fff;padding:3px 8px;border-radius:20px;white-space:nowrap}.close-button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:transparent;border:none;cursor:pointer;color:#6b7280;transition:all .2s ease;font-size:18px}.close-button:hover{background:#f3f4f6;color:#111827}.progress-bar-container{height:2px;background:#e5e7eb;margin:0 16px;border-radius:1px;overflow:hidden}.progress-bar-fill{height:100%;background:#7c3aed;transition:width .3s ease}.content-area{flex:1;overflow-y:auto;padding:16px 16px 100px;display:flex;align-items:flex-start;justify-content:center}.content-area--fullscreen{padding:0;overflow:hidden}.slide-card{position:relative;width:100%;max-width:90%;background:#fff;border-radius:12px;box-shadow:0 4px 12px #7c3aed26;padding:16px}.slide-card--fullscreen{max-width:100%;height:100%;border-radius:0;box-shadow:none;padding:0;background:#000;display:flex;flex-direction:column}.slide-content--fullscreen{flex:1;display:flex;flex-direction:column;overflow:hidden}.slide-content{font-size:14px;line-height:1.6;color:#374151;text-align:left;margin-bottom:12px}.slide-content h2{font-size:16px;font-weight:600;margin:12px 0 8px;color:#111827}.slide-content h3{font-size:15px;font-weight:600;margin:10px 0 6px;color:#1f2937}.slide-content p{margin:8px 0}.slide-content ul,.slide-content ol{margin:8px 0;padding-left:20px}.slide-content li{margin:4px 0}.ve-wrap{width:100%;display:flex;flex-direction:column;gap:10px}.ve-iframe-ratio{position:relative;width:100%;padding-top:56.25%;border-radius:10px;overflow:hidden;background:#000}.ve-iframe-ratio iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%!important;height:100%!important;border:none;border-radius:10px}.ve-native{width:100%;border-radius:10px;background:#000;max-height:480px}.ve-thumbnail-wrap{position:relative;width:100%;border-radius:10px;overflow:hidden;cursor:pointer;aspect-ratio:16/9;background:#000}.ve-thumbnail{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;transition:opacity .2s}.ve-thumbnail-wrap:hover .ve-thumbnail{opacity:.8}.ve-play-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.ve-play-btn{width:64px;height:64px;background:#7c3aede6;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;color:#fff;padding-left:4px;box-shadow:0 4px 20px #0006;transition:transform .15s,background .15s}.ve-thumbnail-wrap:hover .ve-play-btn{transform:scale(1.08);background:#7c3aed}.ve-duration{position:absolute;bottom:10px;right:12px;background:#000000b3;color:#fff;font-size:12px;font-weight:600;padding:2px 8px;border-radius:4px}.ve-autoplay-badge{position:absolute;top:10px;left:12px;background:#7c3aed;color:#fff;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:4px}.ve-caption{font-size:13px;color:#9ca3af;text-align:center;margin:0;line-height:1.5}.ae-wrap{width:100%;max-width:500px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:14px;padding:24px;background:linear-gradient(135deg,#1e1b4b,#312e81);border-radius:20px;box-shadow:0 8px 32px #00000040;color:#fff}.ae-cover{width:140px;height:140px;border-radius:16px;overflow:hidden;background:#ffffff1a;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px #0000004d}.ae-cover-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.ae-cover-placeholder{font-size:56px}.ae-caption{font-size:14px;font-weight:600;color:#ffffffe6;text-align:center;margin:0;line-height:1.4}.ae-progress-wrap{width:100%;cursor:pointer;padding:8px 0}.ae-progress-bar{position:relative;width:100%;height:4px;background:#fff3;border-radius:2px}.ae-progress-fill{height:100%;background:#a78bfa;border-radius:2px;transition:width .1s linear}.ae-progress-thumb{position:absolute;top:50%;transform:translate(-50%,-50%);width:14px;height:14px;background:#fff;border-radius:50%;box-shadow:0 2px 4px #0000004d;transition:left .1s linear}.ae-times{width:100%;display:flex;justify-content:space-between;font-size:11px;color:#ffffff80;font-weight:600}.ae-controls{display:flex;align-items:center;justify-content:center}.ae-play-btn{width:56px;height:56px;border-radius:50%;border:none;background:#7c3aed;color:#fff;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #7c3aed80;transition:transform .15s,background .15s}.ae-play-btn:hover{background:#6d28d9;transform:scale(1.08)}.de-wrap{width:100%;display:flex;flex-direction:column;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.de-wrap--fullscreen{height:100%;border:none;border-radius:0}.de-header{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#f9fafb;border-bottom:1px solid #e5e7eb;flex-shrink:0}.de-icon{font-size:16px}.de-name{flex:1;font-size:13px;font-weight:600;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.de-pages{font-size:11px;color:#9ca3af;white-space:nowrap}.de-open-btn{padding:4px 12px;background:#7c3aed;color:#fff;border-radius:6px;font-size:12px;font-weight:600;text-decoration:none;white-space:nowrap;transition:background .15s}.de-open-btn:hover{background:#6d28d9}.de-open-btn--lg{padding:8px 20px;font-size:14px}.de-loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:40px;font-size:13px;color:#6b7280}@keyframes de-spin{to{transform:rotate(360deg)}}.de-loading-spinner{width:18px;height:18px;border:2px solid #e5e7eb;border-top-color:#7c3aed;border-radius:50%;animation:de-spin .7s linear infinite}.de-error{padding:40px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px;font-size:13px;color:#6b7280}.ve-fullscreen-wrap{width:100%;height:100%;display:flex;flex-direction:column;background:#000}.ve-fullscreen-iframe{flex:1;position:relative}.ve-fullscreen-iframe iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%!important;height:100%!important;border:none}.ve-fullscreen-video{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;background:#000;flex:1}.ve-caption--fs{position:absolute;bottom:56px;left:50%;transform:translate(-50%);background:#0009;color:#fff;padding:4px 14px;border-radius:20px;font-size:12px;white-space:nowrap}.slide-card--dark{background:#0f0f0f!important}.slide-card--dark .slide-title{color:#f9fafb}.slide-card--dark .bloom-badge{background:#7c3aedcc}.slide-card--dark .nav-hint{color:#6b7280}.mcq-wrap{width:100%;max-width:640px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.mcq-question{font-size:18px;font-weight:700;color:#111827;line-height:1.5;text-align:left;padding:0 4px}.mcq-hint{font-size:13px;color:#4f46e5;background:#eef2ff;border-radius:8px;padding:8px 14px;text-align:center}.mcq-options{display:flex;flex-direction:column;gap:10px}.mcq-opt{display:flex;align-items:center;gap:12px;width:100%;padding:14px 18px;background:#fff;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;text-align:left;transition:border-color .15s,background .15s,box-shadow .15s;font-family:inherit}.mcq-opt:not(:disabled):hover{border-color:#7c3aed;background:#faf5ff;box-shadow:0 2px 8px #7c3aed1f}.mcq-opt:disabled{cursor:not-allowed}.mcq-opt--correct{border-color:#16a34a!important;background:#f0fdf4!important}.mcq-opt--wrong{border-color:#dc2626!important;background:#fef2f2!important}.mcq-letter{width:32px;height:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#f3f4f6;color:#374151;font-size:13px;font-weight:700;transition:background .15s,color .15s}.mcq-opt:not(:disabled):hover .mcq-letter{background:#7c3aed;color:#fff}.mcq-letter--correct{background:#16a34a!important;color:#fff!important}.mcq-letter--wrong{background:#dc2626!important;color:#fff!important}.mcq-opt-text{flex:1;font-size:15px;color:#111827;line-height:1.4}.mcq-tick{color:#16a34a;font-size:18px;font-weight:700;margin-left:auto}.mcq-cross{color:#dc2626;font-size:18px;font-weight:700;margin-left:auto}.mcq-feedback{border-radius:12px;padding:14px 18px;display:flex;flex-direction:column;gap:8px}.mcq-feedback--correct{background:#f0fdf4;border:1px solid #bbf7d0}.mcq-feedback--wrong{background:#fef2f2;border:1px solid #fecaca}.mcq-feedback-badge{font-size:15px;font-weight:700}.mcq-feedback--correct .mcq-feedback-badge{color:#15803d}.mcq-feedback--wrong .mcq-feedback-badge{color:#b91c1c}.mcq-explanation{font-size:14px;color:#374151;line-height:1.6;margin:0}.mcq-correct-ans{font-size:14px;color:#374151;margin:0}.mcq-footer-hint{text-align:center;font-size:12px;color:#9ca3af;margin:0}.slide-content .quiz-card{margin:12px 0;border-radius:10px;border:1px solid #e5e7eb;background:#f9fafb;padding:12px;box-shadow:0 1px 2px #0000000a}.slide-content .quiz-card p{font-size:13px;font-weight:500;color:#111827;margin:0 0 8px;line-height:1.5}.slide-content button{font-size:13px;border-radius:8px;padding:8px 16px;font-weight:600;cursor:pointer;transition:all .2s ease}.slide-content .flex.gap-4{gap:10px;margin:10px 0;display:flex;flex-wrap:wrap}.slide-content .flex.gap-4 button{flex:1;min-width:100px;padding:8px 14px;font-size:12px;border-radius:8px;border-width:1.5px;font-weight:600;cursor:pointer;transition:all .2s ease}.slide-content .flex.gap-4 button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.slide-content .flex.gap-4 button:disabled{opacity:.5;cursor:not-allowed}.slide-content .rounded-full{padding:4px 10px;font-size:11px;font-weight:600;letter-spacing:.3px;white-space:nowrap}.slide-content .text-xs.text-indigo-600{font-size:12px;margin:8px 0;padding:6px 8px;background:#eef2ff;border-radius:6px;display:block}.slide-content .inline-flex.rounded-full{padding:6px 12px;font-size:12px;margin:8px 0;display:inline-block}.slide-content .text-slate-600{font-size:12px;margin:6px 0;line-height:1.5;color:#4b5563}.slide-content input[type=text],.slide-content input[type=email],.slide-content input[type=password],.slide-content input[type=number]{font-size:13px;padding:8px 12px;border-radius:8px;border:1px solid #d1d5db}.nav-button{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e5e7eb;border-radius:50%;cursor:pointer;transition:all .2s ease;font-size:16px;color:#6b7280;box-shadow:0 2px 4px #0000000d;display:none}.nav-button:hover:not(:disabled){background:#f9fafb;border-color:#7c3aed;color:#7c3aed;box-shadow:0 4px 8px #7c3aed1a}.nav-button:disabled{opacity:.3;cursor:not-allowed}.nav-button.prev{left:-50px}.nav-button.next{right:-50px}.nav-pill-wrap{position:fixed;bottom:28px;left:50%;transform:translate(-50%);z-index:50;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.nav-pill-gating{pointer-events:none;background:#dc2626eb;color:#fff;font-size:12px;font-weight:600;padding:5px 14px;border-radius:20px;box-shadow:0 2px 8px #0000002e;white-space:nowrap;animation:pill-gating-in .2s ease}@keyframes pill-gating-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.nav-pill{pointer-events:all;display:flex;align-items:center;gap:0;background:#fffffff5;border-radius:999px;box-shadow:0 4px 24px #7c3aed2e,0 1px 6px #0000001a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(124,58,237,.12);padding:5px;gap:2px}.nav-pill-btn{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:999px;border:none;background:transparent;color:#7c3aed;font-size:14px;cursor:pointer;transition:background .15s,color .15s,transform .1s}.nav-pill-btn:hover:not(:disabled){background:#7c3aed;color:#fff;transform:scale(1.08)}.nav-pill-btn:disabled{color:#d1d5db;cursor:not-allowed}.nav-pill-btn--finish{background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;width:auto;padding:0 14px;font-size:16px;font-weight:700;box-shadow:0 0 0 3px #7c3aed40}.nav-pill-btn--finish:hover:not(:disabled){background:linear-gradient(135deg,#6d28d9,#5b21b6);transform:scale(1.06)}.nav-pill-counter{min-width:56px;text-align:center;font-size:13px;font-weight:700;color:#374151;letter-spacing:.3px;padding:0 4px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.gating-message{margin-top:12px;text-align:center;font-size:12px;font-weight:500;color:#dc2626}.nav-hint{margin-top:12px;text-align:center;font-size:11px;color:#9ca3af}.loading-text,.error-text,.no-slides-text{text-align:center;padding:20px;font-size:14px;color:#6b7280}.error-text{background:#fee2e2;color:#991b1b;border:1px solid #fecaca;border-radius:8px;padding:12px;margin-bottom:12px}@media (max-width: 768px){.content-viewer-topbar{height:44px;padding:0 12px}.slide-counter{font-size:11px;left:12px}.close-button{width:28px;height:28px;font-size:16px}.progress-bar-container{margin:0 8px;height:1.5px}.content-area{padding:8px 8px 70px}.slide-card{max-width:100%;padding:12px;border-radius:10px}.slide-title{font-size:17px;margin-bottom:10px}.bloom-badge{padding:3px 8px;font-size:10px}.slide-content{font-size:14px;line-height:1.5;margin-bottom:10px}.slide-content h2{font-size:15px;margin:10px 0 6px}.slide-content h3{font-size:14px;margin:8px 0 5px}.slide-content p{margin:6px 0}.slide-content ul,.slide-content ol{margin:6px 0;padding-left:16px}.slide-content li{margin:3px 0}.slide-content .quiz-card{margin:10px 0;padding:10px;font-size:12px}.slide-content .quiz-card p{font-size:12px}.slide-content .flex.gap-4{gap:8px}.slide-content .flex.gap-4 button{padding:7px 12px;font-size:11px;min-width:90px}.slide-content .rounded-full{padding:3px 8px;font-size:10px}.nav-pill-wrap{bottom:20px}.nav-pill-btn{width:34px;height:34px;font-size:13px}.gating-message{margin-top:10px;font-size:11px}.nav-hint{margin-top:10px;font-size:10px}}@media (max-width: 480px){.slide-card{padding:10px}.slide-title{font-size:16px;margin-bottom:8px}.slide-content{font-size:13px}.slide-content h2{font-size:14px;margin:8px 0 5px}.slide-content h3{font-size:13px}.slide-content ul,.slide-content ol{padding-left:14px}.slide-content .quiz-card{margin:8px 0;padding:8px;font-size:11px}.slide-content .quiz-card p{font-size:11px;margin:0 0 6px}.slide-content .flex.gap-4{gap:6px}.slide-content .flex.gap-4 button{padding:6px 10px;font-size:10px;min-width:80px}.slide-content .rounded-full{padding:2px 6px;font-size:9px}.slide-content .text-xs.text-indigo-600{font-size:10px;margin:6px 0;padding:4px 6px}.slide-content .inline-flex.rounded-full{padding:4px 8px;font-size:10px}.slide-content .text-slate-600{font-size:11px;margin:4px 0}.nav-pill-wrap{bottom:16px}.nav-pill-btn{width:32px;height:32px;font-size:12px}.nav-pill-counter{min-width:48px;font-size:12px}.content-area{padding:8px 8px 65px}}.tlp-shell{display:flex;flex-direction:column;gap:0;padding:0;max-width:1200px;margin:0 auto;width:100%}.tlp-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:100px 24px;color:#6b7280;font-size:14px}.tlp-spinner{width:30px;height:30px;border:3px solid #e5e7eb;border-top-color:#7c3aed;border-radius:50%;animation:tlp-spin .7s linear infinite}@keyframes tlp-spin{to{transform:rotate(360deg)}}.tlp-error{display:flex;flex-direction:column;align-items:center;gap:14px;padding:80px 24px;color:#ef4444;font-size:14px}.tlp-retry-btn{padding:10px 24px;background:#7c3aed;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer}.tlp-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:80px 24px;color:#9ca3af;text-align:center}.tlp-empty h3{font-size:16px;font-weight:600;color:#374151;margin:0}.tlp-empty p{font-size:13px;color:#6b7280;margin:0}.tlp-subject-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:16px;margin-bottom:4px}.tlp-subject-tab{padding:8px 22px;border-radius:999px;border:none;font-size:13px;font-weight:500;color:#6b7280;background:transparent;cursor:pointer;white-space:nowrap;transition:all .15s}.tlp-subject-tab:hover{color:#7c3aed;background:#f5f3ff}.tlp-subject-tab.active{background:#7c3aed;color:#fff;font-weight:600}.tlp-section-tabs{display:flex;gap:0;border-bottom:2px solid #e9e8f0;margin-bottom:24px}.tlp-section-tab{display:inline-flex;align-items:center;gap:7px;padding:12px 20px;border:none;background:transparent;font-size:14px;font-weight:500;color:#6b7280;cursor:pointer;position:relative;transition:color .15s}.tlp-section-tab:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:#7c3aed;border-radius:2px 2px 0 0;opacity:0;transition:opacity .15s}.tlp-section-tab:hover{color:#7c3aed}.tlp-section-tab.active{color:#7c3aed;font-weight:700}.tlp-section-tab.active:after{opacity:1}.tlp-tab-count{background:#ede9fe;color:#7c3aed;font-size:11px;font-weight:700;padding:1px 7px;border-radius:999px}.tlp-content{min-height:300px}.tlp-chapter-groups{display:flex;flex-direction:column;gap:28px}.tlp-group-label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#7c3aed;text-transform:uppercase;margin-bottom:10px;padding:4px 0;text-align:left;width:100%}.tlp-cards-col{display:flex;flex-direction:column;gap:10px}.tlp-card{display:flex;align-items:stretch;background:#fff;border:1px solid #e9e8f0;border-radius:14px;overflow:hidden;cursor:pointer;transition:box-shadow .18s,border-color .18s,transform .1s}.tlp-card:hover{box-shadow:0 4px 18px #7c3aed1a;border-color:#c4b5fd;transform:translateY(-1px)}.tlp-card-accent{width:4px;flex-shrink:0;border-radius:0}.tlp-card-inner{flex:1;display:flex;flex-direction:row;align-items:center;gap:16px;padding:14px 16px;min-width:0}.tlp-card-left{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}.tlp-card-badges{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.tlp-scope-badge{font-size:11px;font-weight:700;padding:2px 9px;border-radius:999px}.tlp-proctored-badge{font-size:11px;font-weight:600;padding:2px 9px;border-radius:999px;background:#fee2e2;color:#991b1b}.tlp-status-pill{font-size:11px;font-weight:600;padding:2px 10px;border-radius:999px;flex-shrink:0}.tlp-card-title{font-size:14px;font-weight:600;color:#111827;margin:0;line-height:1.4;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.tlp-card-stats{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.tlp-stat{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:#6b7280}.tlp-deadline{color:#6b7280}.tlp-deadline--expired{color:#dc2626}.tlp-score-bar-wrap{display:flex;align-items:center;gap:10px;width:100%;max-width:320px}.tlp-score-bar{flex:1;height:5px;background:#e5e7eb;border-radius:999px;overflow:hidden}.tlp-score-bar-fill{height:100%;background:linear-gradient(90deg,#7c3aed,#a78bfa);border-radius:999px;transition:width .4s ease}.tlp-score-label{font-size:12px;font-weight:600;color:#7c3aed;white-space:nowrap}.tlp-card-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;padding:0}.tlp-btn-start{display:inline-flex;align-items:center;gap:4px;padding:9px 18px;background:#7c3aed;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s}.tlp-btn-start:hover:not(.tlp-btn-start--disabled){background:#6d28d9}.tlp-btn-start--disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed}.tlp-btn-start--results{background:#059669}.tlp-btn-start--results:hover{background:#047857}.tlp-btn-omr{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;background:#ecfdf5;color:#059669;border:1px solid #a7f3d0;border-radius:8px;cursor:pointer;transition:background .15s;flex-shrink:0}.tlp-btn-omr:hover{background:#d1fae5}@media (max-width: 768px){.tlp-section-tabs{margin-bottom:16px}.tlp-section-tab{flex:1;justify-content:center;padding:11px 12px;font-size:13px;gap:5px}.tlp-chapter-groups{gap:20px}.tlp-card-inner{gap:12px;padding:12px 14px}.tlp-btn-start{padding:9px 14px;font-size:12px}}@media (max-width: 480px){.tlp-subject-tabs{gap:6px;padding-bottom:12px;scrollbar-width:none}.tlp-subject-tabs::-webkit-scrollbar{display:none}.tlp-subject-tab{padding:7px 16px;font-size:12px}.tlp-section-tabs{margin-bottom:14px}.tlp-section-tab{padding:10px 8px;font-size:12px;gap:4px}.tlp-tab-count{font-size:10px;padding:1px 6px}.tlp-chapter-groups{gap:18px}.tlp-group-label{font-size:11px;margin-bottom:8px}.tlp-cards-col{gap:8px}.tlp-card{cursor:default;border-radius:12px}.tlp-card:hover{transform:none;box-shadow:none;border-color:#e9e8f0}.tlp-card-accent{width:100%;height:3px;flex-shrink:0;align-self:auto}.tlp-card{flex-direction:column}.tlp-card-inner{flex-direction:column;align-items:stretch;gap:8px;padding:12px 14px 10px}.tlp-card-left{gap:5px}.tlp-card-title{white-space:normal;font-size:13px;line-height:1.35}.tlp-card-stats{gap:10px}.tlp-stat{font-size:11px}.tlp-card-actions{justify-content:space-between;padding-bottom:4px}.tlp-btn-start{flex:1;justify-content:center;padding:10px 12px;font-size:13px;border-radius:8px}.tlp-btn-omr{width:40px;height:40px;flex-shrink:0}.tlp-score-bar-wrap{max-width:100%}.tlp-empty{padding:60px 20px}.tlp-empty h3{font-size:15px}.tlp-empty p{font-size:12px}}.tmi-shell{display:flex;flex-direction:column;min-height:100dvh;background:#f5f4f8;font-family:inherit}.tmi-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:120px 24px;color:#6b7280;font-size:14px}.tmi-spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top-color:#7c3aed;border-radius:50%;animation:tmi-spin .7s linear infinite}@keyframes tmi-spin{to{transform:rotate(360deg)}}.tmi-error-state{display:flex;flex-direction:column;align-items:center;gap:16px;padding:80px 24px;color:#ef4444;font-size:14px}.tmi-hero{background:linear-gradient(135deg,#1e1b4b,#4c1d95 60%,#7c3aed);color:#fff;padding:28px 32px 32px}.tmi-hero-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.tmi-back-btn{display:inline-flex;align-items:center;gap:6px;background:#ffffff1f;color:#ffffffe6;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:7px 14px;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s}.tmi-back-btn:hover{background:#fff3}.tmi-badges{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.tmi-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.02em}.tmi-badge--scope{background:#ffffff2e;color:#fff}.tmi-badge--chapter{background:#dbeafe;color:#1e40af}.tmi-badge--topic{background:#d1fae5;color:#065f46}.tmi-badge--unit{background:#fef3c7;color:#92400e}.tmi-badge--semester{background:#fce7f3;color:#9d174d}.tmi-badge--proctored{background:#fee2e2;color:#991b1b}.tmi-badge--standard{background:#ffffff26;color:#ffffffe6}.tmi-title{font-size:1.7rem;font-weight:700;margin:0 0 6px;line-height:1.25}.tmi-subject{font-size:.95rem;color:#ffffffb3;margin:0 0 16px}.tmi-chapter-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.tmi-chapter-pill{display:inline-flex;align-items:center;gap:5px;background:#ffffff26;border:1px solid rgba(255,255,255,.25);color:#fff;padding:5px 12px;border-radius:8px;font-size:12px;font-weight:500}.tmi-quick-stats{display:flex;align-items:center;flex-wrap:wrap;gap:0;background:#0003;border-radius:12px;padding:14px 20px;gap:12px}.tmi-stat{display:flex;align-items:center;gap:6px;color:#ffffffe6;font-size:13px}.tmi-stat strong{color:#fff}.tmi-stat-divider{width:1px;height:18px;background:#fff3}.tmi-body{display:grid;grid-template-columns:1fr 340px;gap:20px;padding:24px 32px 100px;flex:1}.tmi-card{background:#fff;border-radius:14px;border:1px solid #e9e8f0;padding:20px;margin-bottom:16px}.tmi-card:last-child{margin-bottom:0}.tmi-card-head{display:flex;align-items:center;gap:8px;margin-bottom:16px;color:#4b5563}.tmi-card-head h3{margin:0;font-size:.9rem;font-weight:700;color:#111827;text-transform:uppercase;letter-spacing:.04em;flex:1}.tmi-card-count{background:#f3e8ff;color:#7c3aed;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px}.tmi-prev-score{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #bbf7d0;border-radius:14px;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.tmi-prev-score-left{display:flex;align-items:center;gap:10px}.tmi-prev-icon{color:#16a34a;flex-shrink:0}.tmi-prev-label{display:block;font-size:11px;color:#6b7280;font-weight:500;margin-bottom:2px}.tmi-prev-score-val{font-size:14px;font-weight:700;color:#15803d}.tmi-attempt-status{font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px;text-transform:capitalize}.tmi-attempt-status--evaluated{background:#d1fae5;color:#065f46}.tmi-attempt-status--submitted{background:#dbeafe;color:#1e40af}.tmi-attempt-status--in_progress{background:#fef3c7;color:#92400e}.tmi-instructions{font-size:14px;color:#374151;line-height:1.7}.tmi-ins-header{font-weight:700;color:#111827;margin:16px 0 6px;font-size:13px}.tmi-ins-header:first-child{margin-top:0}.tmi-ins-numbered{padding-left:4px;margin:6px 0}.tmi-ins-bullet{display:flex;gap:8px;margin:6px 0;padding-left:4px}.tmi-ins-bullet:before{content:"•";color:#7c3aed;font-weight:700;flex-shrink:0}.tmi-ins-line{margin:6px 0}.tmi-ins-default{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px}.tmi-ins-default li{color:#374151}.tmi-negative-note{margin-top:12px;padding:10px 14px;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;color:#9a3412;font-size:13px;font-weight:500}.tmi-topics-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.tmi-topic-row{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;background:#fafafa;border:1px solid #f0f0f0;transition:border-color .15s}.tmi-topic-row:hover{border-color:#c4b5fd}.tmi-topic-num{width:22px;height:22px;border-radius:50%;background:#ede9fe;color:#7c3aed;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tmi-topic-name{font-size:13px;font-weight:500;color:#111827;flex:1}.tmi-topic-q{font-size:11px;font-weight:700;background:#f3e8ff;color:#7c3aed;padding:2px 8px;border-radius:999px;flex-shrink:0}.tmi-schedule-rows{display:flex;flex-direction:column;gap:10px}.tmi-schedule-row{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:8px;background:#fafafa;border:1px solid #f0f0f0}.tmi-sch-label{font-size:11px;color:#9ca3af;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.tmi-sch-val{font-size:13px;font-weight:600;color:#111827}.tmi-chapters-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.tmi-chapter-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;background:#fafafa;border:1px solid #f0f0f0}.tmi-ch-order{font-size:11px;font-weight:700;color:#7c3aed;background:#ede9fe;padding:2px 8px;border-radius:6px;flex-shrink:0}.tmi-ch-name{font-size:13px;font-weight:500;color:#111827}.tmi-footer{position:fixed;bottom:0;left:0;right:0;z-index:100;background:#fff;border-top:1px solid #e9e8f0;padding:14px 32px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 -4px 20px #00000014}.tmi-footer-err{flex:1;font-size:13px;color:#ef4444}.tmi-footer-actions{display:flex;align-items:center;gap:12px;width:100%;justify-content:space-between}.tmi-btn-back{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.tmi-btn-back:hover{background:#f9fafb;border-color:#9ca3af}.tmi-btn-start{display:inline-flex;align-items:center;gap:6px;background:#7c3aed;color:#fff;border:none;border-radius:10px;padding:12px 28px;font-size:14px;font-weight:700;cursor:pointer;transition:background .15s,transform .1s}.tmi-btn-start:hover:not(.tmi-btn-start--disabled){background:#6d28d9;transform:translateY(-1px)}.tmi-btn-start--disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed}@media (max-width: 900px){.tmi-body{grid-template-columns:1fr;padding:16px 20px 90px}.tmi-hero{padding:20px 20px 24px}.tmi-title{font-size:1.3rem}.tmi-footer{padding:14px 20px}}@media (max-width: 600px){.tmi-hero{padding:16px 16px 20px}.tmi-hero-top{flex-wrap:wrap;gap:10px}.tmi-badges{justify-content:flex-start}.tmi-title{font-size:1.15rem}.tmi-quick-stats{gap:10px}.tmi-stat-divider{display:none}.tmi-body{padding:14px 16px 90px}.tmi-footer{padding:12px 16px}.tmi-footer-actions{gap:8px}.tmi-btn-start,.tmi-btn-back{font-size:13px;padding:10px 16px}}.test-player-header{position:fixed;top:0;left:0;right:0;height:70px;background:#fff;border-bottom:2px solid #e5e7eb;z-index:100;box-shadow:0 2px 4px #0000001a}.header-content{max-width:1400px;margin:0 auto;height:100%;padding:0 24px;display:flex;align-items:center;justify-content:space-between}.test-info{flex:1}.test-name{font-size:18px;font-weight:600;color:#1f2937;margin:0 0 4px}.question-indicator{font-size:14px;color:#6b7280;margin:0}.header-actions{display:flex;align-items:center;gap:16px}.btn-close-test{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-weight:500;color:#374151;cursor:pointer;transition:all .2s ease}.btn-close-test:hover{background:#e5e7eb;border-color:#9ca3af;color:#1f2937}.btn-close-test:active{transform:scale(.98)}.timer{display:flex;align-items:center;gap:8px;padding:8px 16px;background:linear-gradient(135deg,#10b981,#059669);border-radius:8px;font-size:18px;font-weight:600;color:#fff;box-shadow:0 2px 8px #10b9814d;transition:all .5s ease}.timer-icon{font-size:20px}.timer-warning{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 2px 8px #f59e0b66;animation:pulse 2s ease-in-out infinite}.timer-critical{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 2px 8px #ef444480;animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@media (max-width: 768px){.test-player-header{height:60px}.header-content{padding:0 16px;justify-content:space-between;position:relative}.test-info{display:flex;align-items:center;flex:0}.test-name,.question-indicator{display:none}.header-actions{gap:0;justify-content:flex-end;flex:1}.btn-close-test{position:relative;right:auto;padding:8px 12px;font-size:18px;background:transparent;border:none;color:#6b7280;min-width:auto}.btn-close-test:hover{background:#f3f4f6;color:#1f2937}.timer{padding:8px 20px;font-size:18px;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:24px;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #10b9814d;color:#fff}.timer-icon{font-size:20px}.timer-warning{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 2px 8px #f59e0b66;color:#fff}.timer-critical{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 2px 8px #ef444480;color:#fff}}.question-panel{background:#fff;border-radius:8px;padding:24px;box-shadow:0 1px 3px #0000001a}.question-loading,.error-message{padding:40px;text-align:center;color:#6b7280;font-size:16px}.error-message{color:#dc2626}.question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid #e5e7eb}.question-number{font-size:14px;font-weight:600;color:#1f2937}.question-type-badge{font-size:12px;padding:4px 12px;background:#e0f2fe;color:#0369a1;border-radius:12px;font-weight:500}.question-content{margin-bottom:24px}.question-text{font-size:16px;line-height:1.6;color:#1f2937;margin-bottom:8px;text-align:left}.question-marks{font-size:14px;color:#059669;font-weight:600;text-align:left;margin-top:8px}.options-container{display:flex;flex-direction:column;gap:12px;margin-bottom:20px;text-align:left}.options-container.true-false{flex-direction:row;gap:16px}.options-container.true-false .option-item{flex:1;justify-content:center}.option-item{display:flex;align-items:center;gap:12px;padding:14px 16px;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s ease;background:#fff;position:relative}.option-item:hover:not(.disabled){border-color:#c29eff;background:#faf5ff;transform:translate(2px);box-shadow:0 2px 4px #c29eff26}.option-item.selected{border-color:#c29eff;background:#f3e8ff;box-shadow:0 0 0 3px #c29eff33}.option-item.disabled{cursor:not-allowed;opacity:.6;background:#f9fafb}.option-item input[type=radio],.option-item input[type=checkbox]{display:none}.option-letter{display:flex;align-items:center;justify-content:center;min-width:32px;width:32px;height:32px;background:#f3f4f6;border-radius:50%;font-weight:700;font-size:14px;color:#6b7280;flex-shrink:0;transition:all .2s ease}.option-item:hover:not(.disabled) .option-letter{background:#f3e8ff;color:#9333ea}.option-item.selected .option-letter{background:#c29eff;color:#fff;box-shadow:0 2px 4px #c29eff66}.option-text{flex:1;font-size:15px;line-height:1.6;color:#1f2937;word-wrap:break-word}.question-actions{display:flex;justify-content:flex-end;padding-top:16px;border-top:1px solid #e5e7eb}.btn-clear-response{padding:8px 16px;background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#6b7280;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-clear-response:hover{background:#f9fafb;border-color:#9ca3af;color:#374151}@media (max-width: 768px){.question-panel{padding:10px;border-radius:12px;box-shadow:0 2px 8px #00000014}.question-type-badge{display:none}.question-header{display:block;text-align:center;margin-bottom:16px;padding-bottom:10px;border-bottom:2px solid #f3f4f6}.question-number{font-size:13px;font-weight:700;color:#7c3aed;background:#f3e8ff;padding:6px 16px;border-radius:20px;letter-spacing:.5px;display:block;width:-moz-fit-content;width:fit-content;margin:0 auto}.question-content{margin-bottom:20px}.question-text{font-size:15px;line-height:1.6;color:#111827;font-weight:500}.question-marks{font-size:13px;margin-top:8px;color:#10b981}.options-container{gap:10px;margin-bottom:16px}.option-item{padding:12px 14px;border-radius:10px;border-width:1.5px;box-shadow:0 1px 3px #0000000d}.option-item:hover:not(.disabled){transform:translate(0);box-shadow:0 2px 6px #c29eff33}.option-item.selected{box-shadow:0 0 0 2px #c29eff4d}.option-letter{min-width:28px;width:28px;height:28px;font-size:13px;font-weight:800}.option-text{font-size:14px;line-height:1.5}.question-actions{padding-top:12px;border-top:1.5px solid #f3f4f6}.btn-clear-response{padding:8px 16px;font-size:13px;border-radius:8px;font-weight:600}.options-container.true-false{flex-direction:column}}.navigation-buttons{display:flex;align-items:center;justify-content:space-between;padding:20px 0;gap:12px}.btn-nav{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border:none;white-space:nowrap;position:relative;overflow:hidden}.btn-nav:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn-nav:hover:before{width:300px;height:300px}.btn-previous{background:linear-gradient(135deg,#f8fafc,#f1f5f9);color:#475569;border:2px solid #e2e8f0;flex:1;box-shadow:0 1px 3px #00000014}.btn-previous:hover:not(:disabled){background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.btn-previous:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 3px #00000014}.btn-clear{background:linear-gradient(135deg,#fff1f2,#ffe4e6);color:#dc2626;border:2px solid #fecaca;flex:.8;box-shadow:0 1px 3px #dc26261a}.btn-clear:hover:not(:disabled){background:linear-gradient(135deg,#ffe4e6,#fecdd3);border-color:#fca5a5;transform:translateY(-2px);box-shadow:0 4px 12px #dc262626}.btn-clear:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 3px #dc26261a}.btn-next{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:2px solid #3b82f6;flex:1;box-shadow:0 2px 8px #3b82f640}.btn-next:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);border-color:#2563eb;transform:translateY(-2px);box-shadow:0 6px 16px #3b82f659}.btn-next:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #3b82f640}.btn-submit{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:2px solid #10b981;flex:1;box-shadow:0 2px 8px #10b98140}.btn-submit:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);border-color:#059669;transform:translateY(-2px);box-shadow:0 6px 16px #10b98159}.btn-submit:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #10b98140}.btn-nav:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-nav:disabled:before{display:none}.nav-icon{font-size:18px;line-height:1;font-weight:700}.nav-center{flex:1;display:flex;justify-content:center}.answered-indicator{display:flex;align-items:center;gap:6px;color:#059669;font-size:14px;font-weight:600;padding:6px 16px;background:#d1fae5;border-radius:20px}@media (max-width: 768px){.navigation-buttons{position:fixed;bottom:0;left:0;right:0;flex-wrap:nowrap;padding:14px 16px;gap:10px;background:linear-gradient(to top,#fff,#fafafa);border-radius:0;box-shadow:0 -4px 20px #00000014;z-index:50;border-top:1px solid #e5e7eb}.btn-nav{padding:13px 18px;font-size:14px;font-weight:700;border-radius:12px;flex:1}.btn-previous{border-width:2px;flex:1}.btn-clear{flex:.7;font-size:13px;padding:12px 14px}.btn-next,.btn-submit{flex:1}.nav-center{display:none}.answered-indicator{font-size:13px;padding:6px 12px}}.question-palette{background:linear-gradient(to bottom,#fff,#fafafa);border-radius:12px;padding:16px;box-shadow:0 4px 20px #00000014,0 0 0 1px #00000005;position:sticky;top:90px;max-height:calc(100vh - 110px);overflow-y:auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.palette-header{border-bottom:2px solid #f1f5f9;background:linear-gradient(90deg,#f8fafc 0%,transparent 100%);margin:-16px -16px 16px;padding:14px 16px 12px;border-radius:12px 12px 0 0}.palette-header h3{margin:0;font-size:15px;font-weight:700;background:linear-gradient(135deg,#1f2937,#4b5563);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.3px}.palette-close-btn{display:none}.palette-summary{display:flex;flex-direction:column;gap:10px;margin-bottom:16px;padding:14px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:10px;border:1px solid #e2e8f0;box-shadow:0 2px 8px #0000000a}.summary-item{display:flex;align-items:center;gap:10px;font-size:13px;padding:2px 0;transition:all .2s ease}.summary-item:hover{transform:translate(4px)}.summary-circle{width:14px;height:14px;border-radius:50%;flex-shrink:0;box-shadow:0 2px 6px #00000026;transition:all .2s ease}.summary-item:hover .summary-circle{transform:scale(1.15)}.summary-circle.answered{background:linear-gradient(135deg,#10b981,#059669)}.summary-circle.not-answered{background:linear-gradient(135deg,#ef4444,#dc2626)}.summary-circle.not-visited{background:linear-gradient(135deg,#cbd5e1,#94a3b8)}.summary-label{flex:1;color:#475569;font-weight:500}.summary-count{font-weight:700;font-size:16px;background:linear-gradient(135deg,#1f2937,#475569);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;min-width:28px;text-align:right}.palette-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:16px}.palette-item{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:2px solid transparent;border-radius:10px;background:#fff;color:#64748b;font-size:13px;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 6px #0000000f;position:relative;overflow:hidden}.palette-item:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff6;transform:translate(-50%,-50%);transition:width .6s,height .6s}.palette-item:hover:not(:disabled):before{width:100px;height:100px}.palette-item:hover:not(:disabled){transform:translateY(-4px) scale(1.05);box-shadow:0 8px 16px #00000026}.palette-item:active:not(:disabled){transform:translateY(-2px) scale(1.02)}.palette-item:disabled{cursor:not-allowed;opacity:.5}.palette-item.answered{background:linear-gradient(135deg,#10b981,#059669);border-color:#10b981;color:#fff;box-shadow:0 4px 12px #10b9814d}.palette-item.not-answered{background:linear-gradient(135deg,#ef4444,#dc2626);border-color:#ef4444;color:#fff;box-shadow:0 4px 12px #ef44444d}.palette-item.not-visited{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-color:#cbd5e1;color:#64748b;box-shadow:0 2px 6px #0000000f}.palette-item.current{border-color:#3b82f6;border-width:3px;box-shadow:0 0 0 4px #3b82f640,0 4px 12px #3b82f666;animation:pulse-border 2s infinite}@keyframes pulse-border{0%,to{box-shadow:0 0 0 4px #3b82f640,0 4px 12px #3b82f666}50%{box-shadow:0 0 0 6px #3b82f659,0 4px 12px #3b82f680}}.palette-legend{border-top:2px solid #f1f5f9;background:linear-gradient(to bottom,transparent 0%,#fafafa 100%);margin:0 -16px -16px;padding:14px 16px 16px;border-radius:0 0 12px 12px}.legend-title{font-size:10px;font-weight:700;color:#94a3b8;margin-bottom:10px;text-transform:uppercase;letter-spacing:.8px}.legend-items{display:flex;flex-direction:column;gap:8px}.legend-item{display:flex;align-items:center;gap:8px;font-size:12px;color:#475569;font-weight:500;padding:4px 0;transition:all .2s ease}.legend-item:hover{transform:translate(4px);color:#1f2937}.legend-box{width:18px;height:18px;border-radius:6px;flex-shrink:0;box-shadow:0 2px 6px #0000001f;transition:all .2s ease}.legend-item:hover .legend-box{transform:scale(1.15)}.legend-box.answered{background:linear-gradient(135deg,#10b981,#059669)}.legend-box.not-answered{background:linear-gradient(135deg,#ef4444,#dc2626)}.legend-box.not-visited{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border:2px solid #cbd5e1}.legend-box.current{background:#fff;border:3px solid #3b82f6;box-shadow:0 0 0 2px #3b82f633}@media (max-width: 768px){.question-palette{position:static;max-height:none;height:100%;border-radius:0;padding:16px;background:linear-gradient(to bottom,#fafafa,#fff)}.palette-header{display:flex;justify-content:space-between;align-items:center;margin:-16px -16px 16px;padding:14px 16px 12px;border-radius:0}.palette-header h3{font-size:1rem;letter-spacing:-.3px}.palette-close-btn{display:block;background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;padding:4px 8px;line-height:1}.palette-summary{padding:12px;gap:8px;margin-bottom:14px}.summary-item{gap:8px;font-size:12px}.summary-circle{width:12px;height:12px}.summary-count{font-size:12px}.palette-grid{grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:14px}.palette-item{font-size:12px;min-height:42px;border-radius:8px;font-weight:700}.palette-legend{margin:0 -16px -16px;padding:12px 16px 16px;border-radius:0}.legend-title{font-size:9px;margin-bottom:8px}.legend-items{gap:6px}.legend-item{font-size:11px;gap:6px}.legend-box{width:16px;height:16px;border-radius:5px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:12px;max-width:500px;width:100%;box-shadow:0 20px 25px -5px #0000001a;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 24px 16px;border-bottom:1px solid #e5e7eb}.modal-header h2{margin:0;font-size:20px;font-weight:600;color:#1f2937}.modal-close{background:none;border:none;font-size:28px;color:#6b7280;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.modal-close:hover:not(:disabled){background:#f3f4f6;color:#1f2937}.modal-close:disabled{cursor:not-allowed;opacity:.5}.modal-body{padding:24px}.submission-summary{background:#f9fafb;border-radius:8px;padding:16px;margin-bottom:20px}.summary-row{display:flex;justify-content:space-between;padding:8px 0;font-size:15px}.summary-row:not(:last-child){border-bottom:1px solid #e5e7eb}.summary-label{color:#6b7280}.summary-value{font-weight:600;color:#1f2937}.summary-value.answered{color:#059669}.summary-value.unanswered{color:#dc2626}.warning-message{display:flex;gap:12px;padding:16px;background:#fef3c7;border:1px solid #fbbf24;border-radius:8px;margin-bottom:20px}.warning-icon{font-size:20px;flex-shrink:0}.warning-message p{margin:0;color:#92400e;font-size:14px;line-height:1.5}.confirmation-text{font-size:16px;color:#1f2937;margin:0;font-weight:500}.modal-footer{display:flex;gap:12px;padding:16px 24px 24px}.modal-footer button{flex:1;padding:12px 24px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;border:none}.btn-cancel{background:#fff;color:#374151;border:2px solid #d1d5db}.btn-cancel:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.btn-confirm{background:#059669;color:#fff;border:2px solid #059669}.btn-confirm:hover:not(:disabled){background:#047857;border-color:#047857}.modal-footer button:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.modal-content{max-width:100%}.modal-header h2{font-size:18px}.modal-footer{flex-direction:column}}.auto-save-indicator{display:none;position:fixed;top:80px;right:24px;z-index:99;background:#fff;border-radius:8px;padding:8px 16px;box-shadow:0 2px 8px #0000001a;align-items:center;gap:8px;font-size:14px;transition:all .3s ease;animation:slideIn .3s ease}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.auto-save-indicator.auto-save-saving{border-left:4px solid #3b82f6}.auto-save-indicator.auto-save-saved{border-left:4px solid #10b981}.auto-save-indicator.auto-save-error{border-left:4px solid #ef4444}.auto-save-icon{font-size:16px}.auto-save-text{font-weight:500}.auto-save-indicator.auto-save-saving .auto-save-icon{animation:rotate 1s linear infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.auto-save-indicator{top:60px;right:16px;padding:6px 12px;font-size:12px}}.test-player-container{min-height:100vh;background:linear-gradient(to bottom,#c29eff,#efe6ff);padding-top:70px}.test-player-content{max-width:1400px;margin:0 auto;padding:24px;display:grid;grid-template-columns:1fr 380px;gap:24px;align-items:start}.question-section{min-height:calc(100vh - 140px);display:flex;flex-direction:column;gap:20px}.test-player-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:20px}.loading-spinner{width:50px;height:50px;border:4px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}.test-player-loading p{font-size:16px;color:#6b7280}.test-player-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:40px 20px;text-align:center}.error-icon{font-size:64px;margin-bottom:20px}.test-player-error h2{font-size:24px;color:#1f2937;margin:0 0 12px}.test-player-error p{font-size:16px;color:#6b7280;margin:0 0 24px;max-width:500px}.btn-back{padding:12px 24px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.btn-back:hover{background:#2563eb}@media (max-width: 1024px){.test-player-content{grid-template-columns:1fr 320px;gap:20px}}.mobile-palette-toggle,.mobile-palette-overlay{display:none}@media (max-width: 768px){.test-player-container{padding-top:60px;padding-bottom:80px}.test-player-content{grid-template-columns:1fr;padding:12px;gap:12px;position:relative}.question-section{min-height:auto;gap:12px}.palette-section{position:fixed;top:60px;left:-100%;width:100%;max-width:400px;height:calc(100vh - 60px);background:#fff;box-shadow:2px 0 8px #00000026;z-index:100;transition:left .4s cubic-bezier(.4,0,.2,1);overflow-y:auto}.palette-section.mobile-open{left:0}.mobile-palette-toggle{display:flex;position:relative;bottom:auto;right:auto;width:40px;height:40px;border-radius:8px;background:transparent;color:#6b7280;border:none;box-shadow:none;cursor:pointer;z-index:auto;align-items:center;justify-content:center;font-size:20px;font-weight:600;transition:all .2s}.mobile-palette-toggle:hover{background:#f3f4f6;color:#1f2937}.mobile-palette-toggle:active{transform:scale(.95)}.mobile-palette-toggle .toggle-icon{display:flex;flex-direction:column;gap:3px;align-items:center}.mobile-palette-toggle .toggle-icon span{display:block;width:18px;height:2.5px;background:currentColor;border-radius:2px}.mobile-palette-overlay{display:block;position:fixed;top:60px;left:0;right:0;bottom:0;background:#00000080;z-index:99;opacity:0;visibility:hidden;transition:opacity .4s cubic-bezier(.4,0,.2,1),visibility .4s}.mobile-palette-overlay.active{opacity:1;visibility:visible}}@media print{.test-player-header,.navigation-buttons,.question-palette,.auto-save-indicator{display:none!important}.test-player-content{grid-template-columns:1fr;padding:0}.question-panel{box-shadow:none;border:1px solid #e5e7eb}}.test-player-container :focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.test-player-container{-webkit-user-select:none;-moz-user-select:none;user-select:none}.test-player-container input,.test-player-container textarea{-webkit-user-select:text;-moz-user-select:text;user-select:text}.performance-chart-section.modern{background:linear-gradient(135deg,#fff,#f8f9ff);border-radius:16px;padding:24px;box-shadow:0 4px 16px #0000000f;border:1px solid rgba(99,102,241,.1);margin-bottom:24px}.performance-header-row{display:flex;align-items:center;justify-content:flex-start;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid rgba(99,102,241,.1)}.performance-header-row .section-title{font-size:22px;font-weight:700;color:#0f172a;margin:0;letter-spacing:-.3px}.bloom-progress-grid{display:flex;flex-direction:column;gap:24px}.bloom-progress-header{margin-bottom:4px}.bloom-progress-title{font-size:14px;font-weight:700;color:#374151;text-transform:uppercase;letter-spacing:.5px}.bloom-progress-list{display:flex;flex-direction:column;gap:16px}.bloom-progress-item{display:flex;flex-direction:column;gap:6px;padding:0}.bloom-progress-label{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:600;color:#1f2937;margin-bottom:4px}.bloom-level-name{color:#1f2937;font-weight:600}.bloom-level-stats{color:#6b7280;font-size:13px;font-weight:600}.bloom-progress-bar-track{height:12px;background:linear-gradient(90deg,#f0f4ff,#e8edff);border-radius:8px;overflow:hidden;box-shadow:inset 0 1px 3px #0000000d}.bloom-progress-bar-fill{height:100%;border-radius:8px;transition:width .6s cubic-bezier(.34,1.56,.64,1);box-shadow:0 2px 8px #0000001f}.no-data{color:#9ca3af;font-size:14px;text-align:center;padding:20px}.distribution-summary.modern{margin-top:32px;padding-top:32px;border-top:2px solid rgba(99,102,241,.12)}.distribution-summary.modern .summary-card{background:transparent;padding:0;box-shadow:none;border:none}.distribution-summary.modern h4{font-size:13px;font-weight:800;color:#374151;text-transform:uppercase;letter-spacing:.6px;margin:0 0 20px}.distribution-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;width:100%}.distribution-item{background:linear-gradient(135deg,#fff,#fafbff);border:1.5px solid rgba(99,102,241,.14);border-radius:14px;padding:24px 18px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 4px 14px #3b82f614;transition:all .3s cubic-bezier(.4,0,.2,1);min-height:110px;cursor:pointer}.distribution-item:hover{border-color:#6366f159;box-shadow:0 8px 24px #3b82f626;transform:translateY(-4px);background:linear-gradient(135deg,#fff,#f0f4ff)}.dist-label{font-size:11px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.4px;margin-bottom:10px}.dist-value{font-size:24px;font-weight:700;color:#1f2937;line-height:1.1;margin-bottom:4px}@media (min-width: 1024px){.performance-chart-section.modern{padding:32px}.distribution-grid{grid-template-columns:repeat(3,1fr);gap:16px}}@media (min-width: 768px) and (max-width: 1023px){.performance-chart-section.modern{padding:24px}.distribution-grid{grid-template-columns:repeat(3,1fr);gap:14px}.distribution-item{padding:20px 14px;min-height:100px}.dist-value{font-size:24px}}@media (max-width: 767px){.performance-chart-section.modern{padding:16px;border-radius:12px}.distribution-summary.modern{margin-top:24px;padding-top:24px}.distribution-summary.modern h4{font-size:12px;margin-bottom:16px}.distribution-grid{grid-template-columns:repeat(3,1fr);gap:12px}.distribution-item{padding:16px 10px;min-height:90px;border-radius:12px}.dist-label{font-size:10px;margin-bottom:6px}.dist-value{font-size:22px}}@media (max-width: 480px){.performance-chart-section.modern{padding:14px;border-radius:12px}.distribution-summary.modern{margin-top:20px;padding-top:20px}.distribution-summary.modern h4{font-size:11px;margin-bottom:14px}.distribution-grid{grid-template-columns:repeat(3,1fr);gap:10px}.distribution-item{padding:14px 8px;min-height:80px;border-radius:10px;min-width:0}.dist-label{font-size:9px;margin-bottom:4px}.dist-value{font-size:20px}}.pdbta-analysis-container{max-width:1200px;margin:0 auto;padding:2rem}.pdbta-no-data{text-align:center;padding:4rem 2rem;color:#6b7280}.pdbta-no-data svg{color:#9ca3af;margin-bottom:1rem}.pdbta-no-data h3{font-size:1.5rem;margin-bottom:.5rem;color:#374151}.pdbta-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;padding:1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff}.pdbta-header-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;background:#fff3;border-radius:50%}.pdbta-header-text h2{margin:0;font-size:1.75rem;font-weight:700}.pdbta-header-text p{margin:.25rem 0 0;opacity:.9;font-size:.95rem}.pdbta-section{margin-bottom:2.5rem}.section-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;color:#1f2937}.section-header svg{color:#667eea}.section-header h3{margin:0;font-size:1.5rem;font-weight:600}.occs-section .occs-card{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.occs-main{display:flex;align-items:center;gap:2rem;margin-bottom:2rem}.occs-score{font-size:4rem;font-weight:700;line-height:1}.occs-label{flex:1}.clarity-badge{display:inline-block;padding:.5rem 1rem;border-radius:9999px;color:#fff;font-weight:600;font-size:.95rem;margin-bottom:.5rem}.risk-badge{display:inline-block;font-weight:600;font-size:.9rem}.occs-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;padding:1.5rem;background:#f9fafb;border-radius:8px;margin-bottom:1.5rem}.occs-stat{display:flex;flex-direction:column;gap:.25rem}.stat-label{color:#6b7280;font-size:.875rem}.stat-value{color:#1f2937;font-size:1.25rem;font-weight:600}.occs-explanation{padding:1rem;background:#eff6ff;border-left:4px solid #3b82f6;border-radius:4px;color:#1e40af;font-size:.9rem;line-height:1.6}.occs-explanation strong{color:#1e3a8a}.tbpa-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.tag-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transition:transform .2s}.tag-card:hover{transform:translateY(-4px)}.tag-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;margin-bottom:1rem}.cc-card .tag-icon{background:#d1fae5;color:#10b981}.pu-card .tag-icon{background:#fef3c7;color:#f59e0b}.mc-card .tag-icon{background:#fee2e2;color:#ef4444}.g-card .tag-icon{background:#fef3c7;color:#f97316}.tag-count{font-size:2rem;font-weight:700;color:#1f2937;margin-bottom:.25rem}.tag-label{font-size:1.1rem;font-weight:600;color:#4b5563;margin-bottom:.5rem}.tag-percentage{font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.cc-card .tag-percentage{color:#10b981}.pu-card .tag-percentage{color:#f59e0b}.mc-card .tag-percentage{color:#ef4444}.g-card .tag-percentage{color:#f97316}.tag-description{color:#6b7280;font-size:.875rem;line-height:1.4}.topic-list{display:flex;flex-direction:column;gap:1rem}.topic-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 4px #0000001a}.topic-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.topic-name{font-size:1.1rem;font-weight:600;color:#1f2937}.topic-mastery{font-size:1.25rem;font-weight:700}.topic-stats{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;color:#6b7280;font-size:.875rem}.mastery-bar{width:100%;height:8px;background:#e5e7eb;border-radius:9999px;overflow:hidden;margin-bottom:1rem}.mastery-fill{height:100%;transition:width .3s ease}.topic-tags{display:flex;gap:.5rem;margin-bottom:1rem}.mini-tag{padding:.25rem .75rem;border-radius:9999px;font-size:.8rem;font-weight:600}.mini-tag.cc{background:#d1fae5;color:#059669}.mini-tag.pu{background:#fef3c7;color:#d97706}.mini-tag.mc{background:#fee2e2;color:#dc2626}.mini-tag.g{background:#fef3c7;color:#ea580c}.topic-recommendations{display:flex;gap:.75rem;padding:1rem;background:#fffbeb;border-radius:8px;font-size:.875rem;color:#92400e}.topic-recommendations svg{flex-shrink:0;color:#f59e0b;margin-top:.25rem}.topic-recommendations ul{margin:0;padding-left:1.25rem}.topic-recommendations li{margin-bottom:.25rem}.bloom-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.bloom-item{background:#fff;border-radius:8px;padding:1rem 1.5rem;box-shadow:0 2px 4px #0000001a}.bloom-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.bloom-level{font-weight:600;color:#1f2937}.bloom-accuracy{font-size:1.25rem;font-weight:700;color:#667eea}.bloom-bar{width:100%;height:6px;background:#e5e7eb;border-radius:9999px;overflow:hidden;margin-bottom:.5rem}.bloom-fill{height:100%;transition:width .3s ease}.bloom-stats{color:#6b7280;font-size:.875rem}.bloom-explanation{background:#f9fafb;border-radius:8px;padding:1.5rem;color:#374151;font-size:.9rem;line-height:1.6}.bloom-explanation strong{color:#1f2937;display:block;margin-bottom:.75rem;font-size:1rem}.bloom-explanation ul{margin:0;padding-left:1.5rem}.bloom-explanation li{margin-bottom:.5rem}.gaps-alert{display:flex;gap:1rem;padding:1rem 1.5rem;background:#fffbeb;border-left:4px solid #f59e0b;border-radius:4px;margin-bottom:1.5rem;color:#92400e;font-size:.9rem;line-height:1.6}.gaps-alert svg{flex-shrink:0;color:#f59e0b;margin-top:.25rem}.gaps-list{display:flex;flex-direction:column;gap:1rem}.gap-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 4px #0000001a}.gap-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.gap-type{font-weight:600;color:#1f2937}.gap-severity{font-weight:600;font-size:.9rem}.gap-description{color:#4b5563;margin-bottom:1rem;line-height:1.6}.gap-recommendation{display:flex;gap:.75rem;padding:1rem;background:#eff6ff;border-radius:8px;color:#1e40af;font-size:.9rem}.gap-recommendation svg{flex-shrink:0;color:#3b82f6;margin-top:.25rem}.feedback-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.feedback-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 4px #0000001a}.feedback-card h4{display:flex;align-items:center;gap:.5rem;margin:0 0 1rem;font-size:1.1rem;font-weight:600}.strengths-card h4{color:#10b981}.weaknesses-card h4{color:#ef4444}.feedback-card ul{margin:0;padding-left:1.5rem;color:#4b5563;font-size:.9rem;line-height:1.8}.overall-comment{display:flex;gap:1rem;padding:1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;margin-bottom:2rem;font-size:1.05rem;line-height:1.6}.overall-comment svg{flex-shrink:0;margin-top:.25rem}.overall-comment p{margin:0}.focus-areas h4{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;color:#667eea;font-weight:600}.focus-tags{display:flex;flex-wrap:wrap;gap:.75rem}.focus-tag{padding:.5rem 1rem;background:#eff6ff;color:#1e40af;border-radius:9999px;font-weight:600;font-size:.9rem}.pdbta-footer{display:flex;gap:1rem;padding:1.5rem;background:#f9fafb;border-radius:12px;margin-top:3rem}.footer-icon{flex-shrink:0;color:#667eea}.footer-text{color:#4b5563;font-size:.9rem;line-height:1.6}.footer-text strong{color:#1f2937}@media (max-width: 768px){.pdbta-analysis-container{padding:1rem}.pdbta-header{flex-direction:column;text-align:center}.occs-main{flex-direction:column;align-items:center;text-align:center}.occs-breakdown,.tbpa-grid,.feedback-grid{grid-template-columns:1fr}.topic-header{flex-direction:column;align-items:flex-start;gap:.5rem}}.version-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:#ffffff40;border-radius:9999px;font-size:.8rem;font-weight:600;margin-top:.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.lms-metrics-section{margin-bottom:2.5rem}.lms-explanation{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;background:#eff6ff;border-left:4px solid #3b82f6;border-radius:8px;margin-bottom:1.5rem}.lms-explanation svg{color:#3b82f6;flex-shrink:0;margin-top:2px}.lms-explanation p{margin:0;color:#1e40af;font-size:.9rem;line-height:1.5}.lms-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem;margin-bottom:1.5rem}.lms-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #00000014;transition:transform .2s,box-shadow .2s}.lms-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.lms-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.lms-card-header h4{margin:0;font-size:1.1rem;font-weight:700}.lms-badge{padding:.5rem 1rem;border-radius:9999px;color:#fff;font-weight:700;font-size:1.1rem}.lms-progress-container{margin-bottom:1.25rem}.lms-progress-bar{position:relative;height:12px;background:#e5e7eb;border-radius:9999px;overflow:visible}.lms-progress-fill{height:100%;border-radius:9999px;transition:width .8s ease}.lms-threshold-marker{position:absolute;top:-28px;transform:translate(-50%)}.threshold-label{font-size:.75rem;color:#6b7280;font-weight:600;white-space:nowrap}.lms-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:1rem;background:#f9fafb;border-radius:8px;margin-bottom:.75rem}.lms-stat{display:flex;flex-direction:column;gap:.25rem}.lms-achievement{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#d1fae5;border-radius:8px;color:#065f46;font-weight:600;font-size:.9rem}.lms-achievement svg{color:#10b981}.lms-legend{display:flex;flex-wrap:wrap;gap:1.5rem;padding:1rem;background:#fff;border-radius:8px;justify-content:center}.lms-legend .legend-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.legend-dot{width:16px;height:16px;border-radius:50%}.tier-assignment-section{margin-bottom:2.5rem}.tier-explanation{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;background:#fef3c7;border-left:4px solid #f59e0b;border-radius:8px;margin-bottom:1.5rem}.tier-explanation svg{color:#f59e0b;flex-shrink:0;margin-top:2px}.tier-explanation p{margin:0;color:#92400e;font-size:.9rem;line-height:1.5}.tier-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;margin-bottom:2rem}.summary-card{background:#fff;border-radius:12px;padding:1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:0 2px 8px #00000014}.summary-icon{flex-shrink:0}.summary-content{flex:1}.summary-count{font-size:1.5rem;font-weight:700;color:#1f2937;line-height:1}.summary-label{font-size:.875rem;color:#6b7280;margin-top:.25rem}.tier-details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.tier-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #00000014}.tier-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.tier-card-header h4{margin:0;font-size:1.1rem;font-weight:700}.tier-badge{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:9999px;font-weight:600;font-size:.875rem}.tier-status{font-size:1.1rem;font-weight:700;margin-bottom:.75rem}.tier-description{color:#6b7280;font-size:.9rem;line-height:1.5;margin-bottom:1rem}.tier-reason{padding:.75rem;background:#f9fafb;border-radius:8px;font-size:.875rem;color:#374151;line-height:1.5}.learning-path-recommendation{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #00000014}.recommendation-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem;color:#1f2937}.recommendation-header h4{margin:0;font-size:1.2rem;font-weight:700}.recommendation-content{display:flex;flex-direction:column;gap:1rem}.path-step{display:flex;gap:1rem;padding:1rem;background:#f9fafb;border-radius:8px;border-left:4px solid}.tier-3-step{border-left-color:#ef4444}.tier-2-step{border-left-color:#f59e0b}.tier-1-step{border-left-color:#10b981}.step-number{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#3b82f6;color:#fff;border-radius:50%;font-weight:700;flex-shrink:0}.step-content{flex:1}.step-content strong{display:block;color:#1f2937;margin-bottom:.25rem}.step-content p{margin:0;color:#6b7280;font-size:.875rem;line-height:1.5}.prerequisite-analysis-section{margin-bottom:2.5rem}.prerequisite-explanation{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;background:#f0fdf4;border-left:4px solid #10b981;border-radius:8px;margin-bottom:1.5rem}.prerequisite-explanation svg{color:#10b981;flex-shrink:0;margin-top:2px}.prerequisite-explanation p{margin:0;color:#065f46;font-size:.9rem;line-height:1.5}.prerequisite-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;margin-bottom:2rem}.prerequisite-details{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:2rem}.prerequisite-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #00000014}.prerequisite-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.prerequisite-card-header h4{margin:0;font-size:1.1rem;font-weight:700}.prerequisite-badge{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:9999px;font-weight:600;font-size:.875rem}.prerequisite-message{font-size:1rem;font-weight:600;margin-bottom:1rem}.prerequisite-gaps{padding:1rem;background:#fef3c7;border-radius:8px;margin-top:1rem}.gaps-header{display:flex;align-items:center;gap:.5rem;color:#92400e;font-weight:600;margin-bottom:.75rem}.gaps-list{margin:0;padding-left:1.5rem;color:#92400e}.gaps-list li{margin-bottom:.5rem;line-height:1.5}.prerequisite-success{padding:.75rem;background:#d1fae5;border-radius:8px;color:#065f46;font-size:.875rem;line-height:1.5}.prerequisite-recommendations{background:#fee2e2;border:2px solid #ef4444;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.prerequisite-recommendations .recommendation-header{display:flex;align-items:center;gap:.75rem;color:#991b1b;margin-bottom:1rem}.prerequisite-recommendations .recommendation-header h4{margin:0;font-size:1.1rem;font-weight:700}.prerequisite-recommendations .recommendation-content{color:#7f1d1d}.prerequisite-recommendations .recommendation-content p{margin:0 0 .75rem;line-height:1.6}.learning-sequence{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #00000014}.learning-sequence h4{margin:0 0 1.25rem;font-size:1.1rem;font-weight:700;color:#1f2937}.sequence-flow{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:center}.sequence-step{display:flex;flex-direction:column;align-items:center;gap:.5rem}.sequence-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#fff;font-weight:700}.sequence-label{font-size:.75rem;color:#6b7280;font-weight:600;text-align:center;max-width:80px}.sequence-arrow{font-size:1.5rem;color:#d1d5db;font-weight:700;margin:0 .25rem}.progressive-gaps-section,.progressive-gaps-section.no-gaps{margin-bottom:2.5rem}.no-gaps-card{background:#fff;border-radius:12px;padding:3rem 2rem;text-align:center;box-shadow:0 2px 8px #00000014}.success-icon{display:flex;justify-content:center;margin-bottom:1rem}.no-gaps-card h4{margin:0 0 .75rem;font-size:1.5rem;color:#065f46;font-weight:700}.no-gaps-card p{color:#6b7280;line-height:1.6;max-width:600px;margin:0 auto}.gaps-explanation{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;background:#fef3c7;border-left:4px solid #f59e0b;border-radius:8px;margin-bottom:1.5rem}.gaps-explanation svg{flex-shrink:0;margin-top:2px}.gaps-explanation p{margin:0;color:#92400e;font-size:.9rem;line-height:1.5}.gaps-alert{display:flex;align-items:flex-start;gap:1rem;padding:1.5rem;background:#fee2e2;border:2px solid #ef4444;border-radius:12px;margin-bottom:2rem}.gaps-alert svg{flex-shrink:0;margin-top:2px}.alert-content h4{margin:0 0 .5rem;color:#991b1b;font-size:1.1rem;font-weight:700}.alert-content p{margin:0;color:#7f1d1d;line-height:1.6}.gaps-list{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:2rem}.gap-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #00000014}.gap-card-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.gap-bloom-badge{padding:.5rem 1rem;border-radius:9999px;color:#fff;font-weight:600;font-size:.875rem}.gap-severity-badge{padding:.5rem 1rem;border-radius:9999px;font-weight:600;font-size:.875rem}.gap-type{color:#374151;margin-bottom:.75rem;font-size:.9rem}.gap-description{color:#1f2937;line-height:1.6;margin-bottom:1rem}.gap-pattern{padding:1rem;background:#f9fafb;border-radius:8px;margin-bottom:1rem}.pattern-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0}.pattern-label{font-weight:600;color:#6b7280}.pattern-value{font-weight:600;padding:.375rem .75rem;border-radius:4px;font-size:.875rem}.pattern-value.failed{background:#fee2e2;color:#991b1b}.pattern-value.passed{background:#d1fae5;color:#065f46}.pattern-arrow{text-align:center;font-size:1.5rem;color:#d1d5db;margin:.25rem 0}.gap-recommendation{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:#fffbeb;border-radius:8px}.gap-recommendation svg{flex-shrink:0;margin-top:2px}.recommendation-text{flex:1;color:#78350f;line-height:1.5}.recommendation-text strong{display:block;margin-bottom:.25rem}.gaps-action-plan{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #00000014;margin-bottom:1.5rem}.action-plan-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem;color:#1f2937}.action-plan-header h4{margin:0;font-size:1.2rem;font-weight:700}.action-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.action-step{display:flex;gap:.75rem;padding:1rem;background:#f9fafb;border-radius:8px}.gaps-importance{background:#eff6ff;border-left:4px solid #3b82f6;border-radius:8px;padding:1.25rem}.gaps-importance h4{margin:0 0 .75rem;color:#1e40af;font-size:1.1rem;font-weight:700}.gaps-importance p{margin:0;color:#1e40af;line-height:1.6}@media (max-width: 768px){.lms-metrics-grid,.tier-details-grid,.tier-summary,.prerequisite-summary,.lms-stats{grid-template-columns:1fr}.sequence-flow{flex-direction:column}.sequence-arrow{transform:rotate(90deg)}.action-steps{grid-template-columns:1fr}.gap-card-header{flex-direction:column;align-items:flex-start}}.topic-wise-analysis-table{padding:20px;background:#f9fafb;min-height:400px}.analysis-header{display:flex;align-items:center;gap:16px;padding:20px 24px;background:#fff;border-radius:12px;margin-bottom:20px;box-shadow:0 1px 3px #0000001a}.header-icon{color:#3b82f6;flex-shrink:0}.header-text h2{margin:0 0 4px;font-size:22px;color:#1f2937;font-weight:700}.header-text p{margin:0;color:#6b7280;font-size:14px}.topics-table-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow-x:auto;overflow-y:hidden;margin-bottom:20px}.topics-table{width:100%;min-width:1400px;border-collapse:collapse;font-size:14px}.topics-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.topics-table th{padding:16px 12px;text-align:left;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.5px;border-right:1px solid rgba(255,255,255,.2);color:#fff!important}.topics-table th:last-child{border-right:none}.col-topic-no{width:60px;text-align:center!important}.col-topic-name{width:180px;min-width:160px}.col-bloom{width:262px;min-width:240px;text-align:center!important}.col-expand{width:60px;text-align:center!important}.topics-table tbody tr.topic-row{border-bottom:1px solid #e5e7eb;transition:background-color .2s}.topics-table tbody tr.topic-row:hover{background-color:#f9fafb}.topics-table td{padding:8px 12px;vertical-align:top;border-right:1px solid #f3f4f6}.topics-table td:last-child{border-right:none}.cell-topic-no{text-align:center;font-weight:700;font-size:16px;color:#6b7280}.cell-topic-name strong{color:#1f2937;font-size:15px}.cell-bloom{text-align:center;padding:8px;vertical-align:top}.cell-bloom-mastery-perfect{background:#f0fdf4!important;vertical-align:top}.cell-bloom-mastery-good{background:#fffbeb!important;vertical-align:top}.cell-bloom-mastery-poor{background:#fef2f2!important;vertical-align:top}.cell-empty{color:#d1d5db;font-size:18px;font-weight:300}.bloom-cell-content{display:flex;flex-direction:column;align-items:stretch;gap:8px;width:100%;padding:0}.mastery-analysis-full{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border-radius:6px;border:2px solid;background:#fff}.mastery-analysis-full.mastery-perfect{background:#ecfdf5;border-color:#10b981;color:#065f46}.mastery-analysis-full.mastery-good{background:#fffbeb;border-color:#f59e0b;color:#92400e}.mastery-analysis-full.mastery-poor{background:#fef2f2;border-color:#ef4444;color:#991b1b}.mastery-icon{flex-shrink:0;margin-top:2px}.mastery-icon.perfect{color:#10b981}.mastery-icon.good{color:#f59e0b}.mastery-icon.poor{color:#ef4444}.mastery-message{flex:1;display:flex;flex-direction:column;gap:4px;text-align:left}.mastery-title{font-size:13px;font-weight:700;line-height:1.3}.mastery-description{font-size:12px;line-height:1.4;font-weight:500;opacity:.9}.learning-outcome-text{font-size:11px;margin-top:4px;color:#374151;background:#f3f4f6;padding:4px 6px;border-radius:4px}.bloom-progress-wrapper{margin-top:8px;display:flex;flex-direction:column;gap:4px}.bloom-progress-bar{position:relative;height:6px;background:#e5e7eb;border-radius:4px;overflow:hidden}.bloom-progress-fill{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,#10b981,#3b82f6,#f59e0b);transition:width .4s ease}.bloom-progress-label{font-size:10px;font-weight:600;color:#4b5563;text-align:right}.performance-chart-section .bloom-progress-list .bloom-progress-label{text-align:left}.full-questions-list{display:flex;flex-direction:column;gap:6px;width:100%}.full-question-item{padding:6px 0;border-radius:0;border:none;background:transparent;transition:none}.full-question-item:hover{box-shadow:none;transform:none}.full-question-item.question-correct,.full-question-item.question-incorrect{border:none;background:transparent}.question-merged-content{display:flex;align-items:flex-start;gap:8px}.question-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid #e5e7eb}.question-label{font-size:11px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.question-status-icon{flex-shrink:0;margin-top:2px}.question-status-icon.correct{color:#10b981}.question-status-icon.incorrect{color:#ef4444}.question-full-text{flex:1;font-size:13px;line-height:1.6;color:#1f2937;font-weight:400;text-align:left}.question-full-text strong{font-weight:700;color:#374151}.cell-expand{text-align:center}.expand-button{background:transparent;border:1px solid #d1d5db;border-radius:6px;padding:6px;cursor:pointer;transition:all .2s;color:#6b7280;display:inline-flex;align-items:center;justify-content:center}.expand-button:hover{background:#f3f4f6;border-color:#9ca3af;color:#374151}.expanded-row{background:#fafbfc;border-bottom:2px solid #e5e7eb}.expanded-cell{padding:0!important}.expanded-content{padding:24px;display:flex;flex-direction:column;gap:24px}.bloom-detail-section{border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;background:#fff}.bloom-detail-header{padding:16px 20px;background:#f9fafb;border-left:5px solid #3b82f6}.bloom-detail-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;flex-wrap:wrap;gap:12px}.bloom-detail-title h4{margin:0;font-size:17px;font-weight:700}.bloom-detail-stats{font-size:13px;color:#6b7280;font-weight:600}.mastery-analysis-detail{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:8px;font-size:13px}.mastery-analysis-detail.mastery-perfect{background:#d1fae5;border:1px solid #6ee7b7;color:#065f46}.mastery-analysis-detail.mastery-good{background:#fef3c7;border:1px solid #fcd34d;color:#92400e}.mastery-analysis-detail.mastery-poor{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b}.mastery-analysis-detail strong{font-weight:700}.bloom-questions-list{padding:16px;display:flex;flex-direction:column;gap:12px;background:#fff}.question-item{display:flex;gap:14px;padding:14px;border:1px solid #e5e7eb;border-radius:8px;transition:all .2s;background:#fafbfc}.question-item:hover{box-shadow:0 2px 4px #0000000f;transform:translateY(-1px)}.question-item.correct{border-left:4px solid #10b981}.question-item.incorrect{border-left:4px solid #ef4444}.question-number{flex-shrink:0;height:38px;display:flex;align-items:center;justify-content:center;background:#fff;border:2px solid #e5e7eb;border-radius:8px;font-weight:700;font-size:13px;color:#374151}.question-details{flex:1}.question-text{color:#1f2937;font-size:14px;line-height:1.5;margin-bottom:8px;font-weight:500}.question-meta{display:flex;gap:12px;flex-wrap:wrap}.meta-tag{display:inline-flex;padding:4px 10px;background:#fff;border:1px solid #e5e7eb;border-radius:4px;font-size:12px;color:#6b7280;font-weight:500}.question-status{flex-shrink:0;display:flex;align-items:center}.status-correct,.status-incorrect{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:6px 12px;border-radius:6px}.status-correct{background:#d1fae5;color:#065f46}.status-incorrect{background:#fee2e2;color:#991b1b}.legend-section{background:#fff;padding:16px 24px;border-radius:12px;box-shadow:0 1px 3px #0000001a}.legend-section h4{margin:0 0 12px;font-size:14px;color:#374151;font-weight:700}.legend-items{display:flex;gap:24px;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:8px;font-size:13px;color:#6b7280}.legend-icon.perfect{color:#059669}.legend-icon.good{color:#d97706}.legend-icon.poor{color:#dc2626}@media (max-width: 1400px){.topics-table{font-size:13px}.col-bloom{width:240px;min-width:225px}.bloom-detail-title{flex-direction:column;align-items:flex-start}.mastery-description{font-size:11px}.question-full-text{font-size:12px}}@media (max-width: 768px){.topic-wise-analysis-table{padding:12px}.analysis-header{padding:16px}.header-text h2{font-size:18px}.topics-table-container{overflow-x:auto}.topics-table{min-width:2000px}.question-item{flex-direction:column;align-items:flex-start}.question-status{align-self:flex-start}.mastery-description{font-size:11px}.question-full-text{font-size:12px}}.empty-tab-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;background:#fff;border-radius:12px;margin:20px}.empty-icon{font-size:64px;margin-bottom:16px;opacity:.5}.empty-tab-state h3{font-size:20px;color:#1f2937;margin-bottom:8px}.empty-tab-state p{color:#6b7280;font-size:14px}.test-result-container{margin:0 auto;padding:2rem 10rem;background-color:#f7eeff;min-height:100vh}.test-result-container.loading,.test-result-container.error{display:flex;align-items:center;justify-content:center;min-height:60vh}.spinner{width:60px;height:60px;border:4px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.error-message{text-align:center;padding:2rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.error-icon{font-size:4rem;margin-bottom:1rem}.error-message h2{color:#ef4444;margin-bottom:1rem}.modern-result-header{background:#fff;border-radius:14px;padding:2rem;margin-bottom:2rem;box-shadow:0 4px 20px #00000014;border:1px solid #f3f4f6}.header-back-row{margin-bottom:1.5rem}.back-button{width:40px;height:40px;border-radius:12px;border:1px solid #e5e7eb;background:#f9fafb;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);flex-shrink:0}.back-button:hover{background:#f3f4f6;border-color:#d1d5db;transform:translate(-2px)}.back-button:active{transform:translate(-4px)}.back-icon{width:20px;height:20px;stroke-width:2.5;color:#6b7280}.header-title-section{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:1.5rem}.modern-result-title{font-size:2rem;font-weight:700;color:#111827;margin-bottom:.75rem;line-height:1.2;letter-spacing:-.02em}.submission-date-inline{display:inline-flex;align-items:center;gap:.5rem;background:#6366f10f;padding:.375rem .875rem;border-radius:10px;color:#374151;font-weight:600;font-size:.875rem}.date-icon{width:16px;height:16px;stroke-width:2;color:#6366f1}.submission-text{text-transform:uppercase;color:#6b7280;font-size:.68rem;font-weight:700;letter-spacing:.05em}.submission-date{color:#111827;font-weight:700}.header-meta-row{margin-bottom:1rem;display:flex;flex-direction:column;gap:.5rem}.header-subtitle{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.subtitle-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6b7280}.subtitle-item{font-size:.875rem;font-weight:600;color:#374151}.subtitle-icon{width:16px;height:16px;stroke-width:2;color:#6b7280}.subtitle-separator{color:#d1d5db;font-weight:300}.header-right{flex-shrink:0}.submission-date-badge{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.25rem;background:linear-gradient(135deg,#f9fafb,#f3f4f6);border:1px solid #e5e7eb;border-radius:12px;transition:all .2s}.submission-date-badge:hover{border-color:#d1d5db;box-shadow:0 2px 8px #0000000d}.date-icon{width:20px;height:20px;stroke-width:2;color:#667eea;flex-shrink:0}.date-content{display:flex;flex-direction:column;gap:.125rem}.date-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#9ca3af}.date-value{font-size:.875rem;font-weight:600;color:#374151;white-space:nowrap}.header-topics-row{padding-top:1.5rem;border-top:1px solid #f3f4f6;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.topics-label{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;flex-shrink:0}.topics-icon{width:16px;height:16px;stroke-width:2;color:#9ca3af}.topics-list{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap;flex:1}.topic-badge{display:inline-flex;align-items:center;gap:.625rem;padding:.5rem .875rem;background:linear-gradient(135deg,#667eea08,#764ba208);border:1px solid #667eea20;border-radius:10px;transition:all .2s cubic-bezier(.4,0,.2,1);width:auto}.topic-badge:hover{background:linear-gradient(135deg,#667eea15,#764ba215);border-color:#667eea40;transform:translateY(-1px);box-shadow:0 2px 8px #667eea26}.topic-number{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#667eea;background:#667eea15;padding:.25rem .5rem;border-radius:6px}.topic-name{font-size:.875rem;font-weight:600;color:#374151}.topic-count{font-size:.75rem;font-weight:700;color:#667eea;background:#667eea15;padding:.125rem .5rem;border-radius:6px}@media (max-width: 768px){.modern-result-header{padding:1.5rem}.header-main-row{flex-direction:column;gap:1rem}.header-left{width:100%}.modern-result-title{font-size:1.5rem}.header-right{width:100%}.submission-date-badge{width:100%;justify-content:flex-start}.subtitle-label{font-size:.6875rem}.subtitle-item{font-size:.8125rem;font-weight:600}.subtitle-icon{width:14px;height:14px}.header-meta-row{gap:.625rem}.header-subtitle{gap:.5rem}.header-topics-row{flex-direction:column;align-items:flex-start;gap:.75rem;padding-top:1.25rem}.topics-label{font-size:.6875rem;color:#6b7280}.topics-icon{width:14px;height:14px}.topics-list{width:100%;flex-direction:column;gap:.625rem}.topic-badge{width:100%;justify-content:space-between;padding:.875rem 1rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1.5px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 6px #0000000d}.topic-badge:hover{background:linear-gradient(135deg,#667eea10,#764ba210);border-color:#667eea;transform:translateY(-2px);box-shadow:0 4px 12px #667eea26}.topic-number{font-size:.6875rem;padding:.375rem .625rem;border-radius:8px;font-weight:700}.topic-name{flex:1;font-size:.8125rem;font-weight:600;color:#374151}.topic-count{font-size:.6875rem;padding:.375rem .625rem;border-radius:8px;font-weight:700}}.result-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding:1.5rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.header-content{flex:1}.result-title{font-size:1.875rem;font-weight:700;color:#1f2937;margin-bottom:.75rem}.test-metadata{display:flex;gap:1.5rem;flex-wrap:wrap}.metadata-item{color:#6b7280;font-size:.875rem}.metadata-item strong{color:#374151;margin-right:.25rem}.result-tabs{display:flex;gap:.5rem;margin-bottom:2rem;background:#fff;padding:.5rem;border-radius:12px;box-shadow:0 2px 8px #0000001a}.tab-button{flex:1;padding:.875rem 1.5rem;background:transparent;border:none;border-radius:8px;font-size:1rem;font-weight:600;color:#6b7280;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.tab-button:hover{background:#f3f4f6;color:#374151}.tab-button.active{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 2px 8px #3b82f64d}.tab-button.pdbta-tab{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:700}.tab-button.pdbta-tab:hover{background:linear-gradient(135deg,#5568d3,#6a3f8f);color:#fff}.tab-button.pdbta-tab.active{background:linear-gradient(135deg,#4c5fd9,#5d367a);transform:scale(1.02);box-shadow:0 4px 12px #667eea66}.tab-content{min-height:400px}.overview-tab,.topicwise-tab,.questionwise-tab,.pdbta-tab{animation:fadeIn .3s ease-in}.empty-tab-state{background:#fff;border-radius:12px;padding:4rem 2rem;text-align:center;box-shadow:0 2px 8px #0000001a}.empty-tab-state .empty-icon{font-size:4rem;margin-bottom:1rem}.empty-tab-state h3{font-size:1.5rem;font-weight:600;color:#374151;margin-bottom:.5rem}.empty-tab-state p{color:#6b7280;font-size:1rem}.score-summary-card{background:#fff;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 2px 8px #0000001a}.modern-score-summary{display:flex;flex-direction:column;gap:1.5rem}.hero-score-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;padding:3rem 2rem;box-shadow:0 10px 40px #667eea4d;position:relative;overflow:hidden}.score-hero-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.modern-status-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:#ffffff40;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:100px;font-weight:600;font-size:.875rem;color:#fff;text-transform:uppercase;letter-spacing:.05em}.badge-icon{width:1.25rem;height:1.25rem}.hero-score-display{display:flex;flex-direction:column;align-items:center;gap:.5rem}.score-main{display:flex;align-items:baseline;gap:.5rem;color:#fff}.score-obtained{font-size:4.5rem;font-weight:800;line-height:1;letter-spacing:-.02em}.score-divider{font-size:3rem;font-weight:300;opacity:.7}.score-total{font-size:3rem;font-weight:600;opacity:.9}.score-percentage{font-size:1.5rem;font-weight:600;color:#ffffffe6}.passing-threshold{width:100%;max-width:400px}.threshold-bar{position:relative;height:8px;background:#fff3;border-radius:100px;overflow:visible}.threshold-fill{position:absolute;top:0;left:0;height:100%;background:#fff;border-radius:100px;transition:width .8s cubic-bezier(.4,0,.2,1);box-shadow:0 0 20px #ffffff80}.threshold-marker{position:absolute;top:-8px;transform:translate(-50%);z-index:2}.threshold-marker:before{content:"";position:absolute;top:8px;left:50%;transform:translate(-50%);width:3px;height:24px;background:#ffffff80;border-radius:100px}.marker-label{position:absolute;top:-24px;left:50%;transform:translate(-50%);white-space:nowrap;font-size:.75rem;font-weight:600;color:#ffffffe6;background:#0003;padding:.25rem .625rem;border-radius:6px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modern-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.modern-stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:1rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.modern-stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2);transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.4,0,.2,1)}.modern-stat-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001a;border-color:#667eea}.modern-stat-card:hover:before{transform:scaleX(1)}.modern-stat-card.success:before{background:linear-gradient(90deg,#10b981,#059669)}.modern-stat-card.error:before{background:linear-gradient(90deg,#ef4444,#dc2626)}.stat-card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.stat-icon-wrapper{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;transition:all .3s}.stat-icon-wrapper.questions{background:linear-gradient(135deg,#667eea15,#764ba215);color:#667eea}.stat-icon-wrapper.correct{background:linear-gradient(135deg,#10b98115,#05966915);color:#10b981}.stat-icon-wrapper.incorrect{background:linear-gradient(135deg,#ef444415,#dc262615);color:#ef4444}.stat-icon-wrapper.time{background:linear-gradient(135deg,#f59e0b15,#d9770615);color:#f59e0b}.modern-stat-card:hover .stat-icon-wrapper{transform:scale(1.1) rotate(5deg)}.stat-icon-svg{width:24px;height:24px;stroke-width:2.5}.stat-card-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6b7280}.stat-card-value{font-size:1.75rem;font-weight:700;color:#1f2937;line-height:1;margin-bottom:.5rem}.stat-card-footer{font-size:.875rem;color:#9ca3af;font-weight:500}.submission-info-card{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;color:#6b7280;font-size:.875rem;font-weight:500}.info-icon{width:20px;height:20px;stroke-width:2;color:#9ca3af}.info-text{color:#374151}@media (max-width: 768px){.modern-stats-grid{grid-template-columns:1fr}.score-obtained{font-size:3.5rem}.score-divider,.score-total{font-size:2.5rem}.hero-score-card{padding:2rem 1.5rem}}.score-display{text-align:center;padding:2rem;border-radius:12px;margin-bottom:2rem}.score-display.passed{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.score-display.failed{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.status-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#fff3;border-radius:50px;font-weight:600;font-size:.875rem;margin-bottom:1rem}.status-icon{font-size:1.25rem}.score-value{margin:1.5rem 0}.marks{font-size:3rem;font-weight:700;display:flex;align-items:center;justify-content:center;gap:.5rem}.percentage{font-size:2rem;font-weight:600;margin-top:.5rem;opacity:.9}.passing-info{font-size:.875rem;opacity:.85}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.stat-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.stat-card.correct{background:#f0fdf4;border-color:#86efac}.stat-card.incorrect{background:#fef2f2;border-color:#fca5a5}.stat-icon{font-size:2rem}.stat-content{flex:1}.stat-label{font-size:.75rem;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.stat-value{font-size:1.5rem;font-weight:700;color:#1f2937}.stat-value-small{font-size:.875rem;font-weight:600;color:#1f2937}.stat-subtitle{font-size:.75rem;color:#9ca3af;margin-top:.25rem}.performance-chart-section{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 2px 8px #0000001a}.section-title{font-size:1.5rem;font-weight:700;color:#1f2937;margin-bottom:1.5rem}.chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem;margin-bottom:2rem}.chart-card{background:#f9fafb;border-radius:8px;padding:1.5rem;border:1px solid #e5e7eb}.chart-title{display:flex;align-items:center;gap:.5rem;font-size:1.125rem;font-weight:600;color:#374151;margin-bottom:1rem}.chart-icon{font-size:1.5rem}.progress-bars{display:flex;flex-direction:column;gap:1rem}.progress-bar-item{display:flex;flex-direction:column;gap:.5rem}.progress-label{display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.label-text{font-weight:600;color:#374151}.label-stats{color:#6b7280}.progress-bar-track{height:24px;background:#e5e7eb;border-radius:12px;overflow:hidden}.progress-bar-fill{height:100%;border-radius:12px;transition:width .5s ease-in-out;display:flex;align-items:center;justify-content:flex-end;padding-right:.5rem;color:#fff;font-weight:600;font-size:.75rem}.no-data{text-align:center;color:#9ca3af;font-style:italic;padding:1rem}.distribution-summary{margin-top:1.5rem}.summary-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.summary-card h4{font-size:1rem;font-weight:600;color:#374151;margin-bottom:1rem}.distribution-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.distribution-item{display:flex;justify-content:space-between;padding:.75rem;background:#fff;border-radius:6px}.dist-label{font-weight:600;color:#6b7280}.dist-value{color:#1f2937}.question-review-section{background:linear-gradient(135deg,#fff,#f8f9ff);border-radius:16px;padding:28px;margin-bottom:28px;box-shadow:0 4px 16px #3b82f614;border:1px solid rgba(99,102,241,.12)}.question-list{display:flex;flex-direction:column;gap:14px}.question-card{background:#fff;border:1.5px solid #e5e7eb;border-radius:12px;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #0000000d}.question-card.correct{border-color:#d1fae5;background:linear-gradient(135deg,#f0fdf4,#fbfef9)}.question-card.correct:hover{border-color:#a7f3d0;box-shadow:0 8px 16px #10b98114;transform:translateY(-1px)}.question-card.incorrect{border-color:#fee2e2;background:linear-gradient(135deg,#fef2f2,#fffbfb)}.question-card.incorrect:hover{border-color:#fecaca;box-shadow:0 8px 16px #ef444414;transform:translateY(-1px)}.question-header{display:flex;align-items:center;gap:14px;padding:16px 18px;cursor:pointer;background:transparent;transition:all .3s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.question-header:hover{background:#6366f10a}.question-number-badge{display:flex;align-items:center;justify-content:center;gap:8px;min-width:-moz-fit-content;min-width:fit-content}.result-icon{font-size:12px;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0;order:-1}.result-icon.correct{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 2px 8px #10b98140}.result-icon.incorrect{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 2px 8px #ef444440}.question-number-badge .number{font-size:16px;font-weight:800;color:#111827;line-height:1}.question-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.question-meta{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.meta-badge{font-size:10px;padding:4px 10px;border-radius:6px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.meta-badge.difficulty{background:#e0f2fe;color:#0369a1}.meta-badge.taxonomy{background:#ece9ff;color:#6330a7}.meta-badge.marks{background:#fdedff;color:#6d28d9;font-size:8px;padding:3px 7px}.question-preview{color:#6b7280;font-size:14px;line-height:1.5;font-weight:500;text-align:left}.expand-icon{font-size:12px;color:#9ca3af;flex-shrink:0;transition:transform .3s ease;font-weight:700}.question-card:hover .expand-icon{transform:scale(1.2)}.question-details{padding:20px;border-top:1px solid #e5e7eb;background:#fff;display:flex;flex-direction:column;gap:16px}.question-full-text h4{font-size:13px;font-weight:700;color:#374151;text-transform:uppercase;letter-spacing:.4px;margin:0 0 8px}.question-full-text p{color:#1f2937;line-height:1.7;font-size:15px;font-weight:500}.options-section{display:flex;flex-direction:column;gap:10px}.options-section h4{font-size:13px;font-weight:700;color:#374151;text-transform:uppercase;letter-spacing:.4px;margin:0}.options-list{display:flex;flex-direction:column;gap:10px;text-align:left}.option-item{display:flex;align-items:flex-start;gap:12px;padding:12px;border:1.5px solid #e5e7eb;border-radius:10px;background:#f9fafb;transition:all .3s cubic-bezier(.4,0,.2,1)}.option-item.correct-option{background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border-color:#10b9814d}.option-item.wrong-option{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-color:#ef44444d}.option-item.user-correct-option{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-color:#10b981;border-width:2px;box-shadow:0 4px 12px #10b98126}.option-marker{width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.correct-marker{color:#10b981;font-weight:700}.wrong-marker{color:#ef4444;font-weight:700}.option-text{flex:1;color:#1f2937;line-height:1.6;font-size:14px;font-weight:500}.option-labels{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;flex-shrink:0}.label-badge{font-size:8px;padding:2px 6px;border-radius:5px;font-weight:700;text-transform:uppercase;letter-spacing:.2px;white-space:nowrap}.label-badge.user{background:#dbeafe;color:#0c4a6e}.label-badge.correct{background:#d1fae5;color:#065f46}@media (max-width: 768px){.question-review-section{padding:16px;margin-bottom:20px;border-radius:12px}.question-list{gap:10px}.question-header{gap:10px;padding:12px;flex-wrap:wrap}.question-number-badge{gap:6px;order:1}.question-number-badge .number{font-size:13px}.result-icon{width:28px;height:28px;font-size:10px}.question-info{order:2;width:100%;gap:6px}.question-meta{gap:4px;margin-bottom:2px}.meta-badge{font-size:8px;padding:2px 6px}.question-preview{font-size:12px}.expand-icon{font-size:10px;order:3;align-self:center}.question-details{padding:14px;gap:12px}.question-full-text h4,.options-section h4{font-size:12px;margin-bottom:6px;text-align:left}.question-full-text p{font-size:13px}.option-item{gap:10px;padding:10px}.option-text{font-size:13px}}@media (max-width: 480px){.question-review-section{padding:12px;margin-bottom:16px;border-radius:10px}.question-list{gap:8px}.question-header{gap:10px;padding:10px;flex-wrap:wrap}.question-number-badge{gap:6px;order:1}.question-number-badge .number{font-size:13px}.result-icon{width:28px;height:28px;font-size:10px}.question-info{order:2;width:100%;gap:6px}.question-meta{gap:4px;margin-bottom:2px}.meta-badge{font-size:8px;padding:2px 5px}.expand-icon{font-size:10px;order:3;align-self:center}.question-preview{font-size:12px}.expand-icon{font-size:10px}.question-details{padding:12px;gap:10px}.options-list{gap:8px}.option-item{gap:8px;padding:8px}.option-marker{width:24px;height:24px;font-size:12px}.option-text{font-size:12px}.option-labels{gap:4px}.label-badge{font-size:7px;padding:2px 4px}}.result-footer{display:flex;justify-content:center;gap:1rem;padding:2rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.btn-primary,.btn-secondary,.btn-outline{padding:.75rem 1.5rem;border-radius:8px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s;border:none}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover{background:#2563eb}.btn-secondary{background:#6b7280;color:#fff}.btn-secondary:hover{background:#4b5563}.btn-outline{background:#fff;color:#374151;border:2px solid #d1d5db}.btn-outline:hover{background:#f9fafb;border-color:#9ca3af}@media (max-width: 768px){.test-result-container{padding:.75rem}.result-header{flex-direction:column;gap:1rem}.result-title{font-size:1.5rem}.test-metadata{flex-direction:column;gap:.5rem}.result-tabs{flex-direction:column;gap:.5rem;padding:.75rem;background:linear-gradient(to bottom,#fafafa,#fff);border-radius:16px;box-shadow:0 2px 12px #00000014;margin-bottom:1.5rem}.tab-button{padding:.875rem 1rem;font-size:.875rem;border-radius:10px;font-weight:600;text-align:center;position:relative}.tab-button:not(.active){background:linear-gradient(135deg,#f8fafc,#f1f5f9);color:#64748b;border:1px solid #e2e8f0}.tab-button:not(.active):hover{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);color:#475569;border-color:#cbd5e1;transform:translateY(-1px)}.tab-button.active{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 4px 12px #3b82f659;border:1px solid transparent;transform:translateY(-1px)}.tab-button.pdbta-tab:not(.active){background:linear-gradient(135deg,#ede9fe,#ddd6fe);color:#7c3aed;border:1px solid #e9d5ff}.tab-button.pdbta-tab:not(.active):hover{background:linear-gradient(135deg,#ddd6fe,#c4b5fd);color:#6d28d9;border-color:#d8b4fe}.stats-grid,.chart-grid{grid-template-columns:1fr}.marks{font-size:2rem}.percentage{font-size:1.5rem}.result-footer{flex-direction:column}.question-header{flex-wrap:wrap}.question-number-badge{min-width:50px}}@media print{.result-header button,.result-tabs,.result-footer,.expand-icon{display:none!important}.tab-content,.overview-tab,.questionwise-tab{display:block!important}.question-card{page-break-inside:avoid}.question-details{display:block!important}}.overview-top-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:1rem;margin-bottom:1.5rem}.hero-score-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;padding:2rem;box-shadow:0 10px 40px #667eea4d;position:relative;overflow:hidden}.hero-score-card.passed{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 10px 40px #10b9814d}.hero-score-card.failed{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 10px 40px #ef44444d}.hero-score-card:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);pointer-events:none}.score-hero-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:1rem}.modern-status-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#ffffff40;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:100px;font-weight:600;font-size:.75rem;color:#fff;text-transform:uppercase;letter-spacing:.05em}.badge-icon{width:1.125rem;height:1.125rem}.hero-score-display{display:flex;flex-direction:column;align-items:center;gap:.25rem}.score-main{display:flex;align-items:baseline;gap:.375rem;color:#fff}.score-obtained{font-size:3rem;font-weight:800;line-height:1;letter-spacing:-.02em}.score-divider{font-size:2rem;font-weight:300;opacity:.7}.score-total{font-size:2rem;font-weight:600;opacity:.9}.score-percentage{font-size:1.25rem;font-weight:600;color:#ffffffe6}.passing-threshold{width:100%;margin-top:.5rem}.threshold-bar{position:relative;height:6px;background:#fff3;border-radius:100px;overflow:visible}.threshold-fill{position:absolute;top:0;left:0;height:100%;background:#fff;border-radius:100px;transition:width .8s cubic-bezier(.4,0,.2,1);box-shadow:0 0 12px #ffffff80}.threshold-marker{position:absolute;top:-6px;transform:translate(-50%);z-index:2}.threshold-marker:before{content:"";position:absolute;top:6px;left:50%;transform:translate(-50%);width:2px;height:18px;background:#fff9;border-radius:100px}.marker-label{position:absolute;top:-20px;left:50%;transform:translate(-50%);white-space:nowrap;font-size:.625rem;font-weight:600;color:#fffffff2;background:#0003;padding:.25rem .5rem;border-radius:4px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.overview-mini-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:1.5rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.75rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.overview-mini-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#667eea,#764ba2);transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.4,0,.2,1)}.overview-mini-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001a;border-color:#667eea}.overview-mini-card:hover:before{transform:scaleX(1)}.overview-mini-card.occs:before{background:linear-gradient(90deg,#f59e0b,#d97706)}.overview-mini-card.percentage:before{background:linear-gradient(90deg,#3b82f6,#2563eb)}.overview-mini-card.rank:before{background:linear-gradient(90deg,#8b5cf6,#7c3aed)}.mini-card-header{display:flex;align-items:center;gap:.5rem;color:#6b7280;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.mini-card-icon{width:18px;height:18px;stroke-width:2.5}.mini-card-title{flex:1}.mini-card-value{font-size:2.5rem;font-weight:800;line-height:1;margin:.25rem 0}.mini-card-badge{padding:.375rem .875rem;border-radius:6px;color:#fff;font-size:.75rem;font-weight:600;text-align:center}.mini-card-badge.excellent{background:linear-gradient(135deg,#10b981,#059669)}.mini-card-badge.good{background:linear-gradient(135deg,#3b82f6,#2563eb)}.mini-card-badge.moderate{background:linear-gradient(135deg,#f59e0b,#d97706)}.mini-card-badge.poor{background:linear-gradient(135deg,#ef4444,#dc2626)}.mini-card-badge.blue{background:linear-gradient(135deg,#3b82f6,#2563eb)}.mini-card-badge.coming-soon{background:linear-gradient(135deg,#6b7280,#4b5563)}.mini-card-footer{font-size:.75rem;color:#9ca3af;font-weight:500}.modern-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.hero-compact-badge .badge-icon{width:1rem;height:1rem}.hero-compact-score{display:flex;align-items:baseline;gap:.5rem;color:#fff;z-index:1}.hero-compact-score .score-obtained{font-size:2.5rem;font-weight:800;line-height:1}.hero-compact-score .score-divider{font-size:1.75rem;font-weight:300;opacity:.7}.hero-compact-score .score-total{font-size:1.75rem;font-weight:600;opacity:.9}.hero-compact-percentage{font-size:1.125rem;font-weight:600;color:#ffffffe6;z-index:1}.hero-compact-threshold{width:100%;z-index:1}.threshold-bar-compact{position:relative;height:6px;background:#fff3;border-radius:100px;overflow:visible}.threshold-fill-compact{position:absolute;top:0;left:0;height:100%;background:#fff;border-radius:100px;transition:width .8s cubic-bezier(.4,0,.2,1);box-shadow:0 0 15px #ffffff80}.threshold-marker-compact{position:absolute;top:-6px;transform:translate(-50%);z-index:2}.threshold-marker-compact:before{content:"";position:absolute;top:6px;left:50%;transform:translate(-50%);width:2px;height:18px;background:#ffffff80;border-radius:100px}.marker-label-compact{position:absolute;top:-20px;left:50%;transform:translate(-50%);white-space:nowrap;font-size:.65rem;font-weight:600;color:#ffffffe6;background:#0003;padding:.2rem .5rem;border-radius:4px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.occs-mini-card,.percentage-mini-card,.rank-mini-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 2px 8px #00000014;border:1px solid #e5e7eb;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem;transition:all .3s cubic-bezier(.4,0,.2,1);min-height:240px;justify-content:space-between}.occs-mini-card:hover,.percentage-mini-card:hover,.rank-mini-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001f}.mini-card-header{display:flex;align-items:center;gap:.5rem;color:#6b7280;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.mini-card-icon{width:20px;height:20px;stroke-width:2.5}.mini-card-value{font-size:3rem;font-weight:800;line-height:1;color:#1f2937;margin:.5rem 0}.mini-card-label{display:inline-block;padding:.5rem 1rem;border-radius:8px;color:#fff;font-size:.875rem;font-weight:600;text-align:center;min-width:120px}.mini-card-footer{font-size:.875rem;color:#9ca3af;font-weight:500}.tbpa-section{background:#fff;border-radius:16px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 8px #00000014}.section-header-minimal{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.section-icon{width:24px;height:24px;stroke-width:2;color:#667eea}.section-header-minimal h3{font-size:1.25rem;font-weight:700;color:#1f2937;margin:0}.tbpa-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.tbpa-card{background:#f9fafb;border-radius:12px;padding:1.5rem;display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center;transition:all .3s;border:2px solid transparent}.tbpa-card:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0000001a}.tbpa-card.cc-card{border-color:#10b98130;background:linear-gradient(135deg,#f0fdf4,#dcfce7)}.tbpa-card.cc-card:hover{border-color:#10b981}.tbpa-card.pu-card{border-color:#3b82f630;background:linear-gradient(135deg,#eff6ff,#dbeafe)}.tbpa-card.pu-card:hover{border-color:#3b82f6}.tbpa-card.mc-card{border-color:#f59e0b30;background:linear-gradient(135deg,#fffbeb,#fef3c7)}.tbpa-card.mc-card:hover{border-color:#f59e0b}.tbpa-card.g-card{border-color:#ef444430;background:linear-gradient(135deg,#fef2f2,#fee2e2)}.tbpa-card.g-card:hover{border-color:#ef4444}.tbpa-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:12px}.cc-card .tbpa-icon{background:#10b98120;color:#10b981}.pu-card .tbpa-icon{background:#3b82f620;color:#3b82f6}.mc-card .tbpa-icon{background:#f59e0b20;color:#f59e0b}.g-card .tbpa-icon{background:#ef444420;color:#ef4444}.tbpa-icon svg{width:28px;height:28px;stroke-width:2}.tbpa-count{font-size:2rem;font-weight:800;color:#1f2937}.tbpa-label{font-size:.875rem;font-weight:600;color:#374151}.tbpa-percentage{font-size:1rem;font-weight:700;color:#6b7280}.topic-mastery-section{background:#fff;border-radius:16px;padding:2rem;margin-bottom:1.5rem;box-shadow:0 2px 8px #00000014}.topic-mastery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.topic-mastery-card{background:#f9fafb;border-radius:12px;padding:1.25rem;border:1px solid #e5e7eb;transition:all .3s}.topic-mastery-card:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea26}.topic-mastery-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.topic-mastery-header h4{font-size:1rem;font-weight:600;color:#1f2937;margin:0;flex:1}.mastery-percent{font-size:1.25rem;font-weight:800}.mastery-bar-container{height:6px;background:#e5e7eb;border-radius:100px;overflow:hidden;margin-bottom:.75rem}.mastery-bar-fill{height:100%;border-radius:100px;transition:width .8s cubic-bezier(.4,0,.2,1)}.topic-bloom-tags{display:flex;gap:.5rem;flex-wrap:wrap}.bloom-tag{padding:.25rem .625rem;border-radius:6px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.bloom-tag.tier-1{background:#d1fae5;color:#065f46}.bloom-tag.tier-2{background:#fed7aa;color:#92400e}.bloom-tag.tier-3{background:#fecaca;color:#991b1b}.feedback-section-minimal{background:linear-gradient(135deg,#fff,#f8f9ff);border-radius:16px;padding:28px;margin-bottom:24px;box-shadow:0 4px 16px #3b82f614;border:1px solid rgba(99,102,241,.12)}.section-header-minimal{display:flex;align-items:center;gap:12px;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid rgba(99,102,241,.12)}.section-icon{width:28px;height:28px;stroke-width:1.5;color:#4f46e5;min-width:28px;flex-shrink:0}.section-header-minimal h3{font-size:20px;font-weight:700;color:#0f172a;margin:0;letter-spacing:-.3px}.overall-insight{display:flex;gap:16px;padding:20px;background:linear-gradient(135deg,#e0e7ff,#f3e8ff);border-radius:14px;border-left:5px solid #4f46e5;margin-bottom:24px;align-items:flex-start}.insight-icon{width:24px;height:24px;min-width:24px;stroke-width:2;color:#4f46e5;flex-shrink:0;margin-top:2px}.overall-insight p{font-size:15px;line-height:1.7;color:#1f2937;margin:0;font-weight:500;text-align:left}.feedback-grid-minimal{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px}.feedback-box{background:#fff;border-radius:14px;padding:20px;border:1.5px solid #e5e7eb;box-shadow:0 2px 8px #0000000a;transition:all .3s cubic-bezier(.4,0,.2,1)}.feedback-box:hover{box-shadow:0 8px 16px #00000014;border-color:#6366f133;transform:translateY(-2px)}.feedback-box.strengths{border-left:5px solid #10b981;background:linear-gradient(135deg,#f0fdf4,#ecfdf5)}.feedback-box.strengths:hover{border-color:#10b9814d}.feedback-box.weaknesses{border-left:5px solid #f59e0b;background:linear-gradient(135deg,#fffbeb,#fef3c7)}.feedback-box.weaknesses:hover{border-color:#f59e0b4d}.feedback-box-header{display:flex;align-items:center;gap:10px;margin-bottom:14px;font-weight:700;color:#1f2937;font-size:15px}.feedback-box-header svg{width:20px;height:20px;stroke-width:2;flex-shrink:0}.feedback-box.strengths .feedback-box-header{color:#059669}.feedback-box.weaknesses .feedback-box-header{color:#d97706}.feedback-box ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.feedback-box ul li{padding-left:20px;position:relative;font-size:14px;line-height:1.6;color:#374151;font-weight:500;text-align:left}.feedback-box ul li:before{content:"•";position:absolute;left:6px;font-weight:800;font-size:16px}.feedback-box.strengths ul li:before{color:#10b981}.feedback-box.weaknesses ul li:before{color:#f59e0b}.focus-areas-minimal{background:linear-gradient(135deg,#fff,#f9fafb);border-radius:14px;padding:20px;border:1.5px solid #e5e7eb;box-shadow:0 2px 8px #0000000a}.focus-label{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700;color:#1f2937;margin-bottom:12px;text-transform:uppercase;letter-spacing:.3px}.focus-label svg{width:18px;height:18px;stroke-width:2;color:#f59e0b;flex-shrink:0}.focus-tags-minimal{display:flex;flex-wrap:wrap;gap:8px}.focus-tag-minimal{padding:6px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;font-size:13px;font-weight:600;color:#6b7280;transition:all .3s cubic-bezier(.4,0,.2,1)}.focus-tag-minimal:hover{border-color:#f59e0b;background:#fffbeb;color:#d97706;transform:translateY(-1px);box-shadow:0 2px 8px #f59e0b1f}@media (max-width: 768px){.feedback-section-minimal{padding:20px;margin-bottom:20px;border-radius:14px}.section-header-minimal{gap:10px;margin-bottom:16px;padding-bottom:12px}.section-icon{width:24px;height:24px}.section-header-minimal h3{font-size:18px}.overall-insight{padding:16px;gap:12px;margin-bottom:16px}.overall-insight p{font-size:14px;line-height:1.6}.feedback-grid-minimal{grid-template-columns:1fr;gap:14px;margin-bottom:16px}.feedback-box{padding:16px;border-radius:12px}.feedback-box-header{font-size:14px;margin-bottom:12px}.feedback-box ul{gap:8px}.feedback-box ul li{font-size:13px;padding-left:18px}.focus-areas-minimal{padding:16px;border-radius:12px}.focus-label{font-size:12px;margin-bottom:10px}.focus-tags-minimal{gap:6px}.focus-tag-minimal{padding:5px 10px;font-size:12px}}@media (max-width: 480px){.feedback-section-minimal{padding:16px;margin-bottom:16px;border-radius:12px}.section-header-minimal{gap:8px;margin-bottom:14px}.section-icon{width:22px;height:22px}.section-header-minimal h3{font-size:16px}.overall-insight{padding:14px;gap:10px;margin-bottom:14px;border-left:4px solid #4f46e5}.overall-insight p{font-size:13px}.feedback-grid-minimal{gap:12px}.feedback-box{padding:14px}.feedback-box-header{font-size:13px}.feedback-box ul li{font-size:12px;padding-left:16px}.focus-areas-minimal{padding:14px}.focus-label{font-size:11px}.focus-tag-minimal{font-size:11px;padding:4px 8px}}.pdbta-footer-minimal{display:flex;align-items:flex-start;gap:1rem;padding:1.5rem;background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-radius:12px;border:1px solid #e5e7eb;margin-top:2rem}.footer-icon-minimal{width:20px;height:20px;min-width:20px;stroke-width:2;color:#667eea}.pdbta-footer-minimal p{font-size:.875rem;line-height:1.6;color:#6b7280;margin:0}.pdbta-footer-minimal strong{color:#374151}@media (max-width: 1024px){.overview-two-column{grid-template-columns:1fr;gap:1.5rem}.mini-cards-column{flex-direction:row;flex-wrap:wrap;gap:1rem}.hero-score-card-compact,.occs-mini-card,.percentage-mini-card,.rank-mini-card{flex:1;min-width:200px}.tbpa-grid{grid-template-columns:repeat(2,1fr)}.feedback-grid-minimal{grid-template-columns:1fr}}@media (max-width: 768px){.overview-top-row{grid-template-columns:1fr}.modern-stats-grid{grid-template-columns:1fr 1fr}.hero-score-card{padding:1.5rem}.score-obtained{font-size:2.5rem}.score-divider,.score-total{font-size:1.75rem}.mini-card-value{font-size:2rem}.tbpa-grid,.topic-mastery-grid{grid-template-columns:1fr}}.projects-page{display:flex;flex-direction:column;gap:2rem;min-height:100vh}.projects-hero{position:relative;background:url(/assets/images/crid-hero-image.jpeg) center/cover no-repeat;border-radius:20px;padding:0;color:#fff;overflow:hidden;box-shadow:0 10px 40px #0000004d;min-height:350px;display:flex;align-items:flex-end;justify-content:center}.projects-hero:before{content:"";position:absolute;bottom:0;left:0;right:0;height:60%;background:linear-gradient(to bottom,#0000,#0000008c 40%,#000000e6);border-radius:0 0 20px 20px;z-index:1}.hero-decoration{display:none}.hero-content{position:relative;z-index:2;max-width:600px;text-align:center;width:100%;padding:3rem 3rem .5rem}.hero-title{font-size:2.5rem;font-weight:700;margin-bottom:.5rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.gradient-text{color:#fff;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:1.1rem;margin-bottom:1.5rem;opacity:.95}.btn-create-project-hero{padding:12px 28px;background:#fff;color:#667eea;border:none;border-radius:50px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0003}.btn-create-project-hero:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000004d}.category-tabs-container{display:flex;gap:1rem;padding:2rem 0;border-bottom:1px solid #e5e7eb;margin-top:1rem}.tier-filter-bar{display:flex;align-items:center;gap:1rem;padding:.75rem 1.25rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px}.tier-filter-label{font-size:.82rem;font-weight:600;color:#6b7280;white-space:nowrap}.tier-filter-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.tier-filter-btn{padding:.35rem .9rem;border:1.5px solid #e5e7eb;border-radius:20px;background:#fff;font-size:.78rem;font-weight:500;color:#374151;cursor:pointer;transition:all .2s ease}.tier-filter-btn:hover{border-color:#a5b4fc;background:#eef2ff;color:#4338ca}.tier-filter-btn--active{border-color:#6366f1;background:#eef2ff;color:#4338ca;font-weight:700}.category-tab{padding:.75rem 1.5rem;background:none;border:none;font-size:1rem;font-weight:500;color:#6b7280;cursor:pointer;transition:all .3s ease;position:relative;white-space:nowrap}.category-tab:hover{color:#374151}.category-tab.active{color:#667eea;font-weight:600}.category-tab.active:after{content:"";position:absolute;bottom:-2rem;left:0;right:0;height:3px;background:#667eea;border-radius:2px}.projects-container{display:flex;flex-direction:column;gap:4rem}.project-group{display:flex;flex-direction:column;gap:2rem;overflow:visible}.group-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:1rem;border-bottom:2px solid #e5e7eb}.group-title{font-size:1.5rem;font-weight:700;color:#1f2937;margin:0}.group-count{font-size:.875rem;color:#6b7280;margin:0}.projects-controls{display:flex;justify-content:space-between;align-items:center;gap:2rem;background:#fff;padding:1.5rem;border-radius:15px;box-shadow:0 2px 10px #0000000d;flex-wrap:wrap}.controls-left{display:flex;gap:1.5rem;align-items:center;flex:1;min-width:300px;flex-wrap:wrap}.controls-right{display:flex;gap:1rem;align-items:center}.view-mode-toggle{display:flex;gap:.5rem;background:#f3f4f6;padding:.3rem;border-radius:10px}.toggle-btn{padding:.6rem 1.2rem;background:transparent;border:none;border-radius:8px;color:#6b7280;font-weight:500;cursor:pointer;transition:all .3s ease;white-space:nowrap}.toggle-btn:hover{background:#fff;color:#667eea}.toggle-btn.active{background:#fff;color:#667eea;box-shadow:0 2px 8px #667eea33}.search-bar{display:flex;align-items:center;gap:.75rem;flex:1;min-width:250px;background:#f3f4f6;padding:.75rem 1rem;border-radius:10px;border:2px solid transparent;transition:all .3s ease}.search-bar:focus-within{background:#fff;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.search-bar svg{color:#9ca3af;flex-shrink:0}.search-bar input{flex:1;border:none;background:transparent;outline:none;font-size:.95rem;color:#1f2937}.search-bar input::-moz-placeholder{color:#9ca3af}.search-bar input::placeholder{color:#9ca3af}.sort-dropdown{padding:.75rem 1rem;background:#f3f4f6;border:2px solid transparent;border-radius:10px;color:#1f2937;font-weight:500;cursor:pointer;transition:all .3s ease}.sort-dropdown:hover{background:#fff;border-color:#667eea}.sort-dropdown:focus{outline:none;background:#fff;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.btn-create-project{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:10px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 10px #667eea33}.btn-create-project:hover{transform:translateY(-2px);box-shadow:0 4px 15px #667eea4d}.projects-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.stat-item{display:flex;flex-direction:column;align-items:center;background:#fff;padding:1.5rem;border-radius:15px;box-shadow:0 2px 10px #0000000d;transition:all .3s ease}.stat-item:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0000001a}.stat-number{font-size:2rem;font-weight:700;color:#667eea}.stat-label{font-size:.85rem;color:#6b7280;margin-top:.5rem}.projects-content{min-height:400px}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:500px;background:#fff;border-radius:15px;box-shadow:0 2px 10px #0000000d}.spinner{width:50px;height:50px;border:4px solid #f0f0f0;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}.loading-state p{color:#6b7280;font-size:1rem}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;min-height:500px;background:#fff;border-radius:15px;padding:2rem;box-shadow:0 2px 10px #0000000d}.error-state svg{color:#ef4444;stroke-width:1.5}.error-state p{color:#6b7280;font-size:1rem;text-align:center;max-width:400px}.btn-retry{padding:.75rem 1.5rem;background:#ef4444;color:#fff;border:none;border-radius:10px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-retry:hover{background:#dc2626;transform:translateY(-2px)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:#fff;border-radius:15px;box-shadow:0 2px 10px #0000000d}.empty-icon{width:4rem;height:4rem;-o-object-fit:contain;object-fit:contain;margin-bottom:.5rem}.empty-state h3{font-size:1.5rem;color:#1f2937;margin:0}.empty-state p{color:#6b7280;text-align:center;max-width:400px}.btn-create-first{padding:.75rem 1.5rem;background-color:#7c3aed;color:#fff;border:none;border-radius:10px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:.5rem}.btn-create-first:hover{transform:translateY(-2px);box-shadow:0 4px 15px #667eea4d}@media (max-width: 768px){.projects-page{padding:1rem;gap:1.5rem}.projects-hero{padding:2rem}.hero-title{font-size:1.8rem}.hero-subtitle{font-size:.95rem}.projects-controls{flex-direction:column;gap:1rem}.controls-left,.controls-right{width:100%;flex-direction:column}.view-mode-toggle{width:100%}.toggle-btn{flex:1}.search-bar{width:100%}.projects-stats{grid-template-columns:1fr}.btn-create-project{width:100%;justify-content:center}.sort-dropdown{width:100%}}@media (max-width: 480px){.hero-title{font-size:1.5rem}.hero-content{max-width:100%}.view-mode-toggle{flex-wrap:wrap}.toggle-btn{flex:1;min-width:100px}}.project-tabs-grid{display:flex;gap:1rem;flex-wrap:wrap;padding:0;justify-content:flex-start}.project-tab-container{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:.6rem;padding:.75rem 1.5rem;background:#fff;border:none;border-radius:50px;color:#6b7280;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #00000014;white-space:nowrap}.project-tab-container:hover{color:#1f2937;box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.project-tab-container.active{color:#fff;background-color:#7c3aed!important;border:none;box-shadow:0 4px 15px #0003}.tab-icon-img{width:1.5rem;height:1.5rem;-o-object-fit:contain;object-fit:contain;display:flex;align-items:center}.tab-label{font-weight:600;text-align:center}@media (max-width: 768px){.project-tabs-grid{gap:.8rem}.project-tab-container{padding:.65rem 1.2rem;font-size:.85rem}.tab-icon{font-size:1.1rem}}@media (max-width: 480px){.project-tabs-grid{gap:.6rem}.project-tab-container{padding:.6rem 1rem;font-size:.8rem}.tab-icon{font-size:1rem}}@media (max-width: 768px){.project-tabs{gap:1rem}.project-tab{padding:1rem;font-size:.95rem;gap:.5rem}.tab-label{display:none}.tab-icon{font-size:1.25rem}}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.5rem;padding:.5rem .5rem 1rem;overflow:visible;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1024px){.project-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.2rem}}@media (max-width: 768px){.project-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}}@media (max-width: 480px){.project-grid{grid-template-columns:1fr;gap:1rem;justify-items:stretch}}.pc-card{display:flex;flex-direction:column;background:#fff;border-radius:16px;border:1.5px solid #e5e7eb;overflow:hidden;box-shadow:0 2px 10px #0000000f;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;position:relative;width:100%;height:100%}.pc-card--hovered,.pc-card:hover{transform:translateY(-5px);box-shadow:0 14px 32px #6d28d921;border-color:#c4b5fd}.pc-card--locked{border-color:#e2e8f0}.pc-card--locked:hover{border-color:#94a3b8;box-shadow:0 10px 24px #00000017}.pc-featured-badge{position:absolute;top:.7rem;right:.7rem;z-index:20;padding:.25rem .55rem;background:#fb923ceb;color:#fff;font-size:.6rem;font-weight:700;border-radius:20px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);white-space:nowrap}.pc-thumb{position:relative;aspect-ratio:16 / 9;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.pc-thumb-img.pc-thumb-cover{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .3s ease}.pc-card--hovered .pc-thumb-img.pc-thumb-cover{transform:scale(1.04)}.pc-thumb-img.pc-thumb-icon{width:72px;height:72px;-o-object-fit:contain;object-fit:contain;transition:transform .3s ease}.pc-card--hovered .pc-thumb-img.pc-thumb-icon{transform:scale(1.08)}.pc-thumb-emoji{font-size:68px;line-height:1;transition:transform .3s ease}.pc-card--hovered .pc-thumb-emoji{transform:scale(1.08)}.pc-diff-pill{position:absolute;bottom:10px;left:10px;z-index:10;display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;border:1px solid transparent;font-size:.65rem;font-weight:700;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap}.pc-lock-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:15;background:#0f172a8c;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.pc-lock-box{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 20px;background:#fffffff2;border-radius:12px;box-shadow:0 4px 20px #00000040;color:#1e293b;max-width:80%}.pc-lock-box svg{color:#7c3aed}.pc-lock-box>span:first-of-type{font-size:.82rem;font-weight:700;color:#1e293b}.pc-lock-date{display:flex;align-items:center;gap:5px;font-size:.7rem;font-weight:500;color:#475569;text-align:center;line-height:1.4}.pc-lock-date svg{flex-shrink:0;color:#64748b}.pc-stats-overlay{position:absolute;bottom:10px;left:10px;display:flex;gap:8px;z-index:10}.pc-stat-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:none;border-radius:20px;cursor:pointer;font-size:.7rem;font-weight:700;color:#1f2937;box-shadow:0 2px 8px #0000001f;transition:transform .15s ease,box-shadow .15s ease}.pc-stat-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px #00000029}.pc-body{flex:1;display:flex;flex-direction:column;padding:.85rem 1rem .6rem;gap:.4rem}.pc-badges{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.pc-tier{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:6px;font-size:.62rem;font-weight:700;letter-spacing:.03em;white-space:nowrap}.pc-tier--foundation{background:#ede9fe;color:#5b21b6;border:1px solid #c4b5fd}.pc-tier--smart_ai{background:#d1fae5;color:#065f46;border:1px solid #6ee7b7}.pc-level-badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:6px;font-size:.62rem;font-weight:700;letter-spacing:.02em;white-space:nowrap}.pc-level-badge--level_1,.pc-level-badge--beginner{background:#dcfce7;color:#15803d;border:1px solid #bbf7d0}.pc-level-badge--level_2,.pc-level-badge--intermediate{background:#fef3c7;color:#b45309;border:1px solid #fde68a}.pc-level-badge--level_3,.pc-level-badge--advanced{background:#fff1f2;color:#be123c;border:1px solid #fecdd3}.pc-forks{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:6px;font-size:.62rem;font-weight:600;background:#f0f9ff;color:#0369a1;border:1px solid #bae6fd;white-space:nowrap}.pc-title{font-size:.95rem;font-weight:700;color:#111827;margin:0;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.pc-desc{font-size:.78rem;color:#6b7280;margin:0;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pc-user-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px;padding:6px 8px;background:#f8fafc;border-radius:7px;font-size:.72rem}.pc-user-name{color:#374151;font-weight:600}.pc-user-grade{padding:2px 7px;border-radius:5px;background:#dbeafe;color:#1e40af;font-weight:600}.pc-actions{display:flex;flex-direction:column;gap:.5rem;padding:.65rem .9rem .85rem;border-top:1px solid #f3f4f6;background:#fafafa}.pc-btn-row{display:flex;gap:.45rem}.pc-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.44rem .7rem;border:none;border-radius:8px;font-size:.76rem;font-weight:600;cursor:pointer;transition:background .18s ease,transform .14s ease;white-space:nowrap}.pc-btn:hover{transform:translateY(-1px)}.pc-btn:active{transform:translateY(0)}.pc-btn--view{background:#dbeafe;color:#1e40af}.pc-btn--view:hover{background:#bfdbfe}.pc-btn--fork{background:#dcfce7;color:#166534}.pc-btn--fork:hover{background:#bbf7d0}.pc-btn--code{background:#f3e8ff;color:#6d28d9}.pc-btn--code:hover{background:#ede9fe}.pc-btn--like{background:#fce7f3;color:#be185d}.pc-btn--like:hover{background:#fbcfe8}.pc-btn--like-active{background:#fce7f3;color:#be185d}.pc-btn--like:disabled{opacity:.7;cursor:default;transform:none}.pc-btn--comment{background:#eff6ff;color:#1d4ed8}.pc-btn--comment:hover{background:#dbeafe}.pc-btn--comment-active{background:#dbeafe;color:#1d4ed8}.pc-comments-section{border-top:1.5px solid #e5e7eb;background:#f9fafb;border-radius:0 0 14px 14px;display:flex;flex-direction:column}.pc-comments-loading,.pc-comments-empty{font-size:.72rem;color:#9ca3af;text-align:center;padding:.8rem 1rem}.pc-comments-list{max-height:200px;overflow-y:auto;display:flex;flex-direction:column;gap:0}.pc-comments-list::-webkit-scrollbar{width:4px}.pc-comments-list::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.pc-comment-item{display:flex;align-items:flex-start;gap:8px;padding:.55rem .75rem;border-bottom:1px solid #f3f4f6;transition:background .15s}.pc-comment-item:last-child{border-bottom:none}.pc-comment-item:hover{background:#f3f4f6}.pc-comment-avatar{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#6d28d9,#3b82f6);color:#fff;font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center}.pc-comment-content{flex:1;min-width:0}.pc-comment-meta{display:flex;align-items:center;gap:.4rem;margin-bottom:.15rem}.pc-comment-author{font-size:.7rem;font-weight:700;color:#1f2937}.pc-comment-time{font-size:.62rem;color:#9ca3af}.pc-comment-text{font-size:.73rem;color:#374151;line-height:1.4;word-break:break-word;margin:0}.pc-comment-delete{flex-shrink:0;background:none;border:none;cursor:pointer;color:#d1d5db;padding:2px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:color .15s,background .15s;opacity:0}.pc-comment-item:hover .pc-comment-delete{opacity:1}.pc-comment-delete:hover{color:#ef4444;background:#fee2e2}.pc-comment-input-row{display:flex;align-items:flex-end;gap:.4rem;padding:.5rem .75rem .65rem;border-top:1px solid #e5e7eb}.pc-comment-textarea{flex:1;resize:none;border:1.5px solid #d1d5db;border-radius:8px;padding:.4rem .55rem;font-size:.73rem;color:#1f2937;background:#fff;outline:none;font-family:inherit;line-height:1.4;transition:border-color .15s}.pc-comment-textarea:focus{border-color:#6d28d9}.pc-comment-submit{flex-shrink:0;width:32px;height:32px;border:none;border-radius:8px;cursor:pointer;background:linear-gradient(135deg,#6d28d9,#3b82f6);color:#fff;display:flex;align-items:center;justify-content:center;transition:opacity .15s,transform .15s}.pc-comment-submit:hover:not(:disabled){opacity:.9;transform:scale(1.05)}.pc-comment-submit:disabled{opacity:.4;cursor:default}.pc-assign-btn{display:flex;align-items:center;gap:.7rem;width:100%;padding:.7rem .9rem;background:linear-gradient(135deg,#7c3aed,#6d28d9);border:none;border-radius:10px;cursor:pointer;transition:box-shadow .2s ease,transform .2s ease;text-align:left;position:relative;overflow:hidden}.pc-assign-btn:hover{box-shadow:0 6px 20px #6d28d966;transform:translateY(-2px)}.pc-assign-btn:active{transform:translateY(0)}.pc-assign-icon{flex-shrink:0;width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:#ffffff2e;border-radius:50%;color:#fff}.pc-assign-text{flex:1;display:flex;flex-direction:column;gap:1px}.pc-assign-label{font-size:.8rem;font-weight:700;color:#fff;line-height:1.2}.pc-assign-sub{font-size:.67rem;color:#ffffffbf;line-height:1.3}.pdm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#080c1eb8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:flex-start;justify-content:center;padding:2rem 1rem 3rem;overflow-y:auto;animation:pdm-fade-in .2s ease}@keyframes pdm-fade-in{0%{opacity:0}to{opacity:1}}.pdm-modal{position:relative;width:100%;max-width:680px;background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 40px 100px #00000061,0 0 0 1px #ffffff0f;animation:pdm-slide-up .3s cubic-bezier(.34,1.5,.64,1);margin:auto}@keyframes pdm-slide-up{0%{transform:translateY(40px) scale(.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.pdm-hero{position:relative;height:220px;width:100%;overflow:hidden;flex-shrink:0}.pdm-hero-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.pdm-hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#00000014,#00000073)}.pdm-hero--placeholder{display:flex;align-items:center;justify-content:center}.pdm-hero-decor{position:absolute;border-radius:50%;background:#ffffff1a}.pdm-hero-decor--1{width:300px;height:300px;top:-100px;right:-80px}.pdm-hero-decor--2{width:200px;height:200px;bottom:-70px;left:-50px}.pdm-hero-icon-wrap{position:relative;z-index:2;background:#ffffff2e;border-radius:32px;padding:22px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:2px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center}.pdm-hero-type-icon{width:80px;height:80px;-o-object-fit:contain;object-fit:contain;display:block}.pdm-close{position:absolute;top:1rem;right:1rem;z-index:50;width:36px;height:36px;border-radius:50%;background:#fffffff0;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 12px #00000040;color:#374151;transition:background .15s,transform .2s}.pdm-close:hover{background:#fff;transform:scale(1.1) rotate(90deg)}.pdm-scroll{display:flex;flex-direction:column;max-height:calc(100vh - 4rem - 220px);overflow-y:auto}.pdm-scroll::-webkit-scrollbar{width:4px}.pdm-scroll::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:4px}.pdm-title-section{padding:1.5rem 1.75rem 0;display:flex;flex-direction:column;gap:.9rem}.pdm-type-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border-radius:100px;color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.04em;align-self:flex-start;box-shadow:0 2px 10px #0003}.pdm-pill-icon{width:14px;height:14px;-o-object-fit:contain;object-fit:contain;filter:brightness(0) invert(1)}.pdm-title{font-size:1.5rem;font-weight:800;color:#0f172a;margin:0;line-height:1.22;letter-spacing:-.02em}.pdm-meta-row{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.pdm-diff-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:100px;font-size:.72rem;font-weight:700}.pdm-stars{display:inline-flex;gap:2px;align-items:center}.pdm-status-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:100px;font-size:.72rem;font-weight:700;background:#f3f4f6;color:#374151}.pdm-status--published{background:#dcfce7;color:#15803d}.pdm-status--draft{background:#fef9c3;color:#92400e}.pdm-status--submitted{background:#dbeafe;color:#1e40af}.pdm-tier-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:100px;font-size:.72rem;font-weight:700}.pdm-tier--ai{background:#d1fae5;color:#065f46;border:1px solid #6ee7b7}.pdm-tier--featured{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa}.pdm-stats-bar{display:flex;align-items:center;padding:0;background:#f8fafc;border-radius:16px;border:1.5px solid #f1f5f9;overflow:hidden}.pdm-stat{display:flex;align-items:center;gap:6px;flex:1;justify-content:center;padding:.75rem .5rem}.pdm-stat-val{font-size:1rem;font-weight:800;color:#0f172a;line-height:1}.pdm-stat-lbl{font-size:.66rem;color:#94a3b8;font-weight:500}.pdm-stat-div{width:1.5px;height:28px;background:#e2e8f0;flex-shrink:0}.pdm-creator{display:flex;align-items:center;gap:.85rem;padding:.85rem 1.1rem;background:linear-gradient(135deg,#f5f3ff,#ede9fe);border-radius:16px;border:1.5px solid #ddd6fe}.pdm-avatar{border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;flex-shrink:0}.pdm-creator-info{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}.pdm-creator-name{font-size:.92rem;font-weight:800;color:#3730a3;line-height:1}.pdm-creator-meta{display:inline-flex;align-items:center;gap:4px;font-size:.71rem;color:#6d28d9;font-weight:500}.pdm-created-at{font-size:.68rem;color:#a5b4fc;white-space:nowrap;flex-shrink:0;font-weight:500}.pdm-tabs{display:flex;padding:1rem 1.75rem 0;gap:4px;overflow-x:auto;flex-shrink:0}.pdm-tabs::-webkit-scrollbar{display:none}.pdm-tab{display:inline-flex;align-items:center;gap:6px;padding:.5rem 1rem;background:transparent;border:none;cursor:pointer;font-size:.78rem;font-weight:600;color:#94a3b8;white-space:nowrap;border-radius:100px;transition:background .15s,color .15s}.pdm-tab:hover{background:#f1f5f9;color:#475569}.pdm-tab--active{background:#7c3aed;color:#fff;box-shadow:0 2px 10px #7c3aed59}.pdm-tab--active:hover{background:#6d28d9;color:#fff}.pdm-tab svg{flex-shrink:0}.pdm-tabs-divider{height:1.5px;background:#f1f5f9;margin:.6rem 0 0}.pdm-body{padding:1.25rem 1.75rem .5rem;min-height:160px}.pdm-tab-content{display:flex;flex-direction:column;gap:1.25rem}.pdm-section{display:flex;flex-direction:column;gap:.55rem}.pdm-section--highlight{background:linear-gradient(135deg,#fdf4ff,#faf5ff);border-left:3px solid #a855f7;padding:.9rem 1.1rem;border-radius:0 14px 14px 0}.pdm-section-head{display:flex;align-items:center;gap:8px}.pdm-section-icon{width:28px;height:28px;border-radius:8px;background:#f3f0ff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pdm-section-icon svg{color:#7c3aed}.pdm-section-head h3{font-size:.93rem;font-weight:800;color:#1e293b;margin:0}.pdm-text{font-size:.87rem;color:#475569;line-height:1.7;margin:0}.pdm-details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}.pdm-detail-card{display:flex;flex-direction:column;align-items:center;gap:5px;padding:.9rem .6rem;border-radius:16px;background:#f8fafc;border:1.5px solid #f1f5f9;text-align:center;transition:border-color .15s}.pdm-detail-card:hover{border-color:#ddd6fe}.pdm-detail-icon{width:32px;height:32px;border-radius:10px;background:#ede9fe;display:flex;align-items:center;justify-content:center}.pdm-detail-icon svg{color:#7c3aed}.pdm-detail-label{font-size:.62rem;color:#94a3b8;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.pdm-detail-val{font-size:.82rem;font-weight:800;color:#0f172a}.pdm-people-list{display:flex;flex-direction:column;gap:.6rem}.pdm-person-row{display:flex;align-items:center;gap:.85rem;padding:.8rem 1rem;border-radius:16px;background:#fafafa;border:1.5px solid #f1f5f9;transition:border-color .15s,background .15s}.pdm-person-row:hover{background:#f5f3ff;border-color:#ddd6fe}.pdm-person-info{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}.pdm-person-name{font-size:.9rem;font-weight:800;color:#0f172a}.pdm-person-role{font-size:.7rem;color:#94a3b8;font-weight:500;text-transform:capitalize}.pdm-heart-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:100px;background:#fff0f0;border:1.5px solid #fecdd3;font-size:.7rem;font-weight:700;color:#e11d48;flex-shrink:0}.pdm-heart-chip svg{width:12px!important;height:12px!important}.pdm-comments-list{display:flex;flex-direction:column;gap:.75rem}.pdm-comment{display:flex;gap:.85rem;align-items:flex-start;padding:.9rem 1rem;border-radius:16px;background:#f8fafc;border:1.5px solid #f1f5f9;transition:border-color .15s}.pdm-comment:hover{border-color:#c7d2fe}.pdm-comment-body{flex:1;min-width:0}.pdm-comment-header{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:.4rem}.pdm-comment-author{font-size:.87rem;font-weight:800;color:#0f172a}.pdm-comment-time{font-size:.67rem;color:#94a3b8;font-weight:500;padding:2px 8px;background:#f1f5f9;border-radius:100px}.pdm-comment-text{font-size:.86rem;color:#334155;line-height:1.65;margin:0}.pdm-empty{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:3rem 1.5rem;text-align:center;background:#f8fafc;border-radius:20px;border:2px dashed #e2e8f0}.pdm-empty-icon{width:52px;height:52px;border-radius:16px;background:#f1f5f9;display:flex;align-items:center;justify-content:center}.pdm-empty-icon svg{width:24px;height:24px;color:#cbd5e1}.pdm-empty p{font-size:.85rem;color:#94a3b8;margin:0;font-weight:500;max-width:260px}.pdm-footer{display:flex;gap:.75rem;justify-content:flex-end;padding:1.1rem 1.75rem 1.5rem;border-top:1.5px solid #f1f5f9;margin-top:1rem;flex-shrink:0}.pdm-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.35rem;border-radius:14px;border:none;cursor:pointer;font-size:.85rem;font-weight:700;transition:transform .15s,opacity .15s,box-shadow .15s}.pdm-btn:hover{transform:translateY(-2px)}.pdm-btn--ghost{background:#f1f5f9;color:#475569;border:1.5px solid #e2e8f0}.pdm-btn--ghost:hover{background:#e2e8f0}.pdm-btn--primary{color:#fff;box-shadow:0 4px 16px #6d28d94d}.pdm-btn--primary:hover{opacity:.92;box-shadow:0 6px 22px #6d28d966}.pdm-loading{display:flex;align-items:center;gap:.75rem;padding:2.5rem 1rem;color:#64748b;font-size:.88rem;font-weight:500}.pdm-spinner{width:22px;height:22px;border:2.5px solid #e2e8f0;border-top-color:#7c3aed;border-radius:50%;animation:pdm-spin .75s linear infinite;flex-shrink:0}@keyframes pdm-spin{to{transform:rotate(360deg)}}@media (max-width: 640px){.pdm-overlay{padding:0;align-items:flex-end}.pdm-modal{border-radius:28px 28px 0 0;max-width:100%}.pdm-hero{height:175px}.pdm-title{font-size:1.25rem}.pdm-details-grid{grid-template-columns:repeat(2,1fr)}.pdm-footer{flex-direction:column-reverse;padding:1rem 1.25rem 1.5rem}.pdm-btn{width:100%;justify-content:center}.pdm-scroll{max-height:calc(100vh - 175px)}.pdm-title-section{padding:1.25rem 1.25rem 0}.pdm-tabs{padding:.75rem 1.25rem 0}.pdm-body{padding:1rem 1.25rem .5rem}}.cpm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f0f1ea6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:cpm-fade-in .2s ease}@keyframes cpm-fade-in{0%{opacity:0}to{opacity:1}}.cpm-modal{background:#fff;border-radius:24px;width:100%;max-width:500px;max-height:92vh;overflow-y:auto;box-shadow:0 32px 80px #00000047;position:relative;animation:cpm-slide-up .28s cubic-bezier(.34,1.56,.64,1)}@keyframes cpm-slide-up{0%{opacity:0;transform:translateY(40px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.cpm-close{position:absolute;top:1rem;right:1rem;width:36px;height:36px;border-radius:50%;border:none;background:#ffffff40;color:#fff;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;z-index:2;font-weight:700}.cpm-close:hover{background:#fff6}.cpm-modal::-webkit-scrollbar{width:5px}.cpm-modal::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.cpm-fork-hero{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:24px 24px 0 0;padding:2.5rem 2rem 2rem;text-align:center;position:relative;overflow:hidden}.cpm-fork-hero:before{content:"";position:absolute;top:-40px;right:-40px;width:120px;height:120px;border-radius:50%;background:#ffffff14}.cpm-fork-emoji{font-size:3.5rem;margin-bottom:.75rem;display:block;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2))}.cpm-fork-heading{font-size:1.8rem;font-weight:800;color:#fff;margin:0 0 .5rem;letter-spacing:-.02em}.cpm-fork-sub{font-size:1rem;color:#ffffffe0;margin:0;line-height:1.55}.cpm-fork-sub strong{color:#fff}.cpm-steps{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1.1rem 2rem;background:#f5f3ff;border-bottom:1px solid #ede9fe}.cpm-step{display:flex;align-items:center;gap:.5rem}.cpm-step-num{width:28px;height:28px;border-radius:50%;background:#6366f1;color:#fff;font-size:.85rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.cpm-step-text{font-size:.9rem;font-weight:600;color:#4b5563}.cpm-step-arrow{font-size:1.2rem;color:#9ca3af;font-weight:700}.cpm-create-hero{background:linear-gradient(135deg,#f59e0b,#f97316);border-radius:24px 24px 0 0;padding:2.5rem 2rem 2rem;text-align:center}.cpm-create-emoji{font-size:3.5rem;margin-bottom:.75rem;display:block}.cpm-create-heading{font-size:1.8rem;font-weight:800;color:#fff;margin:0 0 .4rem}.cpm-create-sub{font-size:1rem;color:#ffffffe6;margin:0}.cpm-create-sub strong{color:#fff}.cpm-form{padding:1.75rem 2rem 2rem;display:flex;flex-direction:column;gap:1.1rem}.cpm-label{font-size:1rem;font-weight:700;color:#1f2937;display:block}.cpm-required{color:#ef4444;margin-left:2px}.cpm-input,.cpm-textarea{width:100%;padding:.85rem 1.1rem;border:2.5px solid #e5e7eb;border-radius:14px;font-size:1rem;font-family:inherit;color:#111827;background:#f9fafb;transition:border-color .2s,box-shadow .2s,background .2s;box-sizing:border-box}.cpm-input--big{font-size:1.15rem;padding:1rem 1.2rem}.cpm-input:focus,.cpm-textarea:focus{outline:none;border-color:#6366f1;background:#fff;box-shadow:0 0 0 4px #6366f11f}.cpm-textarea{resize:vertical;min-height:90px}.cpm-hint{font-size:.82rem;color:#9ca3af;margin:-.4rem 0 0}.cpm-tier-row{display:flex;gap:.85rem}.cpm-tier-card{flex:1;display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:1.1rem .75rem;border:2.5px solid #e5e7eb;border-radius:16px;background:#f9fafb;cursor:pointer;transition:all .2s ease;text-align:center;font-family:inherit}.cpm-tier-card:hover{border-color:#a5b4fc;background:#eef2ff}.cpm-tier-card--active{border-color:#6366f1;background:#eef2ff;box-shadow:0 0 0 4px #6366f11f}.cpm-tier-card--ai:hover{border-color:#6ee7b7;background:#ecfdf5}.cpm-tier-card--active-ai{border-color:#10b981;background:#ecfdf5;box-shadow:0 0 0 4px #10b9811f}.cpm-tier-icon{font-size:2rem;display:block;line-height:1}.cpm-tier-card strong{font-size:.95rem;font-weight:700;color:#111827}.cpm-tier-card small{font-size:.75rem;color:#6b7280;line-height:1.4}.cpm-error{display:flex;align-items:flex-start;gap:.5rem;padding:.9rem 1.1rem;background:#fef2f2;border:1.5px solid #fca5a5;border-radius:12px;color:#b91c1c;font-size:.95rem;font-weight:500}.cpm-fork-actions,.cpm-create-actions{display:flex;gap:.85rem;margin-top:.5rem}.cpm-btn-ghost{flex:0 0 auto;padding:.85rem 1.4rem;border:2px solid #e5e7eb;border-radius:14px;background:transparent;color:#6b7280;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit;white-space:nowrap}.cpm-btn-ghost:hover:not(:disabled){background:#f3f4f6;color:#374151}.cpm-btn-launch{flex:1;padding:.95rem 1.5rem;border:none;border-radius:14px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;font-size:1.05rem;font-weight:700;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem;font-family:inherit;box-shadow:0 4px 14px #6366f159}.cpm-btn-launch:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #6366f173}.cpm-btn-launch:active:not(:disabled){transform:translateY(0)}.cpm-btn-launch:disabled,.cpm-btn-ghost:disabled{opacity:.5;cursor:not-allowed}.cpm-spinner{display:inline-block;width:18px;height:18px;border:2.5px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:cpm-spin .7s linear infinite;flex-shrink:0}@keyframes cpm-spin{to{transform:rotate(360deg)}}.cpm-launched{text-align:center;padding:3.5rem 2rem;border-radius:24px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.cpm-launch-rocket{font-size:4.5rem;margin-bottom:1rem;display:block;animation:cpm-rocket 1.2s ease infinite}@keyframes cpm-rocket{0%,to{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-12px) rotate(5deg)}}.cpm-launch-title{font-size:1.8rem;font-weight:800;margin:0 0 .5rem;color:#fff}.cpm-launch-sub{font-size:1rem;color:#ffffffd9;margin:0 0 1.75rem}.cpm-launch-bar{height:8px;background:#fff3;border-radius:99px;overflow:hidden;max-width:280px;margin:0 auto}.cpm-launch-bar-fill{height:100%;background:#fff;border-radius:99px;animation:cpm-bar-fill 1.4s ease forwards;width:0%}@keyframes cpm-bar-fill{0%{width:0%}60%{width:75%}to{width:100%}}@media (max-width: 540px){.cpm-modal{border-radius:20px}.cpm-fork-hero,.cpm-create-hero{padding:2rem 1.5rem 1.5rem;border-radius:20px 20px 0 0}.cpm-fork-heading,.cpm-create-heading{font-size:1.5rem}.cpm-form{padding:1.5rem}.cpm-fork-actions,.cpm-create-actions{flex-direction:column-reverse}.cpm-btn-ghost{flex:unset}.cpm-tier-row{flex-direction:column}.cpm-steps{flex-wrap:wrap}}.users-page{padding:16px;min-height:100%}.uh-page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.uh-header-left{display:flex;align-items:center;gap:14px}.uh-header-icon{width:46px;height:46px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#7c3aed,#a78bfa);color:#fff;border-radius:12px;flex-shrink:0}.uh-title{font-size:22px;font-weight:700;color:#1f2937;margin:0;line-height:1.3;text-align:left}.uh-subtitle{font-size:13px;color:#9ca3af;margin:2px 0 0;text-align:left}.uh-header-actions{display:flex;gap:12px}.users-page .btn{display:flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:10px;font-weight:600;font-size:13px;cursor:pointer;transition:all .2s;font-family:inherit}.users-page .btn-primary{background:linear-gradient(135deg,#6d28d9,#7c3aed);color:#fff;box-shadow:0 4px 14px #6d28d940}.users-page .btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6d28d959}.uh-stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:16px}.uh-stat-card{display:flex;align-items:center;gap:14px;padding:16px 20px;background:#fff;border:1px solid #f3f4f6;border-radius:14px;transition:all .2s}.uh-stat-card:hover{box-shadow:0 4px 16px #0000000f;border-color:#e5e7eb}.uh-stat-icon{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:12px;flex-shrink:0}.uh-stat-icon--total{background:#f3e8ff;color:#7c3aed}.uh-stat-icon--admin{background:#dbeafe;color:#2563eb}.uh-stat-icon--teacher{background:#fef3c7;color:#d97706}.uh-stat-icon--student{background:#dcfce7;color:#16a34a}.uh-stat-body{display:flex;flex-direction:column;flex:1;align-items:flex-start}.uh-stat-value{font-size:24px;font-weight:800;color:#1f2937;line-height:1.2}.uh-stat-label{font-size:12px;color:#9ca3af;margin-top:2px;font-weight:500}.uh-stat-sub{font-size:11px;color:#b0b5be;margin-top:2px;display:flex;align-items:center;gap:4px}.uh-stat-dot{width:6px;height:6px;border-radius:50%;display:inline-block;flex-shrink:0}.uh-stat-dot--active{background:#22c55e}.uh-stat-dot--inactive{background:#ef4444;margin-left:6px}.users-page .toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px;flex-wrap:wrap}.users-page .search-box{display:flex;align-items:center;gap:10px;padding:10px 16px;background:#fff;border-radius:12px;border:1px solid #e5e7eb;min-width:280px;flex:1;max-width:420px;transition:border-color .2s,box-shadow .2s}.users-page .search-box:focus-within{border-color:#c4b5fd;box-shadow:0 0 0 3px #7c3aed14}.users-page .search-box input{border:none;outline:none;font-size:13px;flex:1;font-family:inherit;color:#1f2937;background:transparent}.users-page .search-box input::-moz-placeholder{color:#d1d5db}.users-page .search-box input::placeholder{color:#d1d5db}.users-page .search-box svg{color:#d1d5db}.users-page .uh-filter-btn{display:flex;align-items:center;gap:8px;padding:10px 18px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;color:#6b7280;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;font-family:inherit}.users-page .uh-filter-btn:hover{border-color:#c4b5fd;color:#7c3aed;background:#faf5ff}.users-page .uh-filter-btn.has-filters{border-color:#7c3aed;color:#7c3aed;background:#f3e8ff}.uh-filter-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:linear-gradient(135deg,#6d28d9,#7c3aed);color:#fff;border-radius:9px;font-size:11px;font-weight:600;line-height:1}.users-table-wrapper{background:#fff;border-radius:14px;border:1px solid #e5e7eb;overflow-x:auto;box-shadow:0 1px 3px #0000000a}.users-table-wrapper::-webkit-scrollbar{width:6px;height:6px}.users-table-wrapper::-webkit-scrollbar-track{background:#faf5ff;border-radius:3px}.users-table-wrapper::-webkit-scrollbar-thumb{background:#d8b4fe;border-radius:3px}.users-table-wrapper::-webkit-scrollbar-thumb:hover{background:#c084fc}.ut-table{min-width:1250px;width:100%;border-collapse:separate;border-spacing:0}.ut-table thead tr{background:#faf8ff}.ut-table th{padding:12px 16px;text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#9ca3af;border-bottom:1px solid #f3f4f6;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ut-table th.ut-sortable{cursor:pointer;transition:color .15s}.ut-table th.ut-sortable:hover{color:#7c3aed}.ut-th-inner{display:inline-flex;align-items:center;gap:4px}.ut-sort-placeholder{width:13px;display:inline-block}.ut-table tbody tr{transition:background .15s;cursor:pointer}.ut-table tbody tr:hover{background:#faf5ff}.ut-table td{padding:12px 16px;border-bottom:1px solid #f9fafb;font-size:13px;color:#4b5563;vertical-align:middle}.ut-table tbody tr:last-child td{border-bottom:none}.ut-col-sr{width:48px;text-align:center!important;color:#d1d5db;font-size:12px;font-weight:500}.ut-col-programs{min-width:180px}.ut-col-actions{width:80px;text-align:right!important}.ut-user-cell{display:flex;align-items:center;gap:12px}.ut-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:700;letter-spacing:.5px;flex-shrink:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ut-avatar-img{width:36px;height:36px;border-radius:50%;-o-object-fit:cover;object-fit:cover;flex-shrink:0}.ut-user-info{display:flex;flex-direction:column;min-width:0}.ut-user-name{font-size:13px;font-weight:600;color:#1f2937;white-space:nowrap;line-height:1.3}.ut-user-meta{font-size:12px;color:#9ca3af;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px;line-height:1.3}.ut-badges{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.ut-role-badge{display:inline-block;padding:3px 10px;background:#eff6ff;color:#2563eb;border-radius:6px;font-size:11px;font-weight:600;white-space:nowrap}.ut-program-badge{display:inline-block;padding:3px 10px;background:#f3e8ff;color:#7c3aed;border-radius:6px;font-size:11px;font-weight:600;white-space:nowrap}.ut-school-badge{display:inline-block;padding:3px 10px;background:#fef3c7;color:#92400e;border-radius:6px;font-size:11px;font-weight:600;white-space:nowrap}.ut-badge-more{position:relative;display:inline-block;padding:3px 8px;background:#ede9fe;color:#7c3aed;border-radius:6px;font-size:10px;font-weight:700;cursor:pointer;white-space:nowrap}.ut-badge-tooltip{display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#1e1b4b;color:#e0e7ff;border-radius:10px;padding:8px 14px;font-size:12px;font-weight:400;white-space:nowrap;z-index:20;box-shadow:0 8px 24px #0003}.ut-badge-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#1e1b4b}.ut-badge-more:hover .ut-badge-tooltip{display:block}.ut-badge-tooltip-row{padding:3px 0;border-bottom:1px solid rgba(255,255,255,.08)}.ut-badge-tooltip-row:last-child{border-bottom:none}.ut-mobile{font-size:12px;color:#6b7280;font-variant-numeric:tabular-nums;white-space:nowrap}.ut-created-cell{display:flex;flex-direction:column;gap:1px;white-space:nowrap}.ut-text-primary{font-size:12px;color:#4b5563;font-weight:500;white-space:nowrap}.ut-text-sub{font-size:11px;color:#d1d5db;white-space:nowrap}.ut-muted{color:#e5e7eb}.ut-status{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:8px;font-size:12px;font-weight:600;white-space:nowrap}.ut-status svg{flex-shrink:0}.ut-status-active{background:#ecfdf5;color:#059669}.ut-status-inactive{background:#fef2f2;color:#dc2626}.ut-actions{display:flex;justify-content:flex-end;gap:4px}.ut-action-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:8px;cursor:pointer;color:#9ca3af;transition:all .15s}.ut-action-btn:hover{background:#f3e8ff;border-color:#e9d5ff;color:#7c3aed}.ut-action-danger:hover{background:#fef2f2;border-color:#fecaca;color:#dc2626}.users-page .loading-state,.users-table-wrapper .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px}.users-page .loading-state{background:#fff;border-radius:14px;border:1px solid #f3f4f6}.users-page .spinner{width:40px;height:40px;border:4px solid #f3f4f6;border-top-color:#7c3aed;border-radius:50%;animation:ut-spin .8s linear infinite;margin-bottom:16px}@keyframes ut-spin{to{transform:rotate(360deg)}}.users-page .loading-text{font-size:14px;color:#9ca3af}.users-table-wrapper .empty-state svg{color:#e5e7eb;margin-bottom:16px}.users-table-wrapper .empty-state h3{font-size:18px;color:#374151;margin:0 0 8px}.users-table-wrapper .empty-state p{color:#9ca3af;margin:0;font-size:14px}.users-pagination{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 4px;margin-top:8px}.users-pagination .pagination-info{font-size:12px;color:#9ca3af;margin-right:4px;font-weight:500}.users-pagination .pagination-page{font-size:12px;color:#374151;font-weight:600}.users-pagination button{display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid #f3f4f6;background:#fff;border-radius:8px;cursor:pointer;color:#6b7280;transition:all .15s}.users-pagination button:hover:not(:disabled){background:#f3e8ff;border-color:#c4b5fd;color:#7c3aed}.users-pagination button:disabled{opacity:.3;cursor:not-allowed}.users-page .error-message{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fef2f2;color:#dc2626;border-radius:12px;margin-bottom:16px;font-size:13px;border:1px solid #fecaca}.uh-filter-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172a66;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.uh-filter-modal{background:#fff;border-radius:16px;width:100%;max-width:600px;height:420px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 24px 48px #00000029;animation:uh-modal-in .2s ease-out}@keyframes uh-modal-in{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.uh-filter-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #f3f4f6;background:#faf8ff}.uh-filter-header-left{display:flex;align-items:center;gap:8px;color:#1f2937}.uh-filter-header-left h3{margin:0;font-size:15px;font-weight:600}.uh-filter-header-left svg{color:#7c3aed}.uh-filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:linear-gradient(135deg,#6d28d9,#7c3aed);color:#fff;border-radius:10px;font-size:11px;font-weight:600}.uh-filter-close{padding:6px;border:none;background:transparent;cursor:pointer;color:#9ca3af;border-radius:8px;transition:all .15s}.uh-filter-close:hover{background:#f3e8ff;color:#7c3aed}.uh-filter-split{display:flex;flex:1;min-height:0;overflow:hidden}.uh-filter-sidebar{width:170px;flex-shrink:0;border-right:1px solid #f3f4f6;background:#faf8ff;padding:8px;display:flex;flex-direction:column;gap:2px}.uh-filter-cat{display:flex;align-items:center;gap:10px;padding:10px 12px;border:none;background:transparent;border-radius:10px;cursor:pointer;transition:all .15s;font-family:inherit;font-size:13px;font-weight:500;color:#6b7280;text-align:left}.uh-filter-cat:hover{background:#f3e8ff;color:#6d28d9}.uh-filter-cat.active{background:#f3e8ff;color:#6d28d9;font-weight:600}.uh-filter-cat svg{flex-shrink:0}.uh-filter-cat-label{flex:1}.uh-filter-cat-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:linear-gradient(135deg,#6d28d9,#7c3aed);color:#fff;border-radius:9px;font-size:10px;font-weight:600;line-height:1}.uh-filter-options{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.uh-filter-search{display:flex;align-items:center;gap:8px;padding:8px 12px;margin:12px 16px 0;border:1px solid #f3f4f6;border-radius:10px;background:#fff}.uh-filter-search svg{color:#d1d5db;flex-shrink:0}.uh-filter-search input{border:none;outline:none;font-size:13px;flex:1;font-family:inherit;color:#1f2937;background:transparent}.uh-filter-search input::-moz-placeholder{color:#d1d5db}.uh-filter-search input::placeholder{color:#d1d5db}.uh-filter-select-all{padding:10px 16px 6px;border-bottom:1px solid #f3f4f6}.uh-filter-option-list{flex:1;overflow-y:auto;padding:4px 16px 12px}.uh-filter-option-list::-webkit-scrollbar{width:5px}.uh-filter-option-list::-webkit-scrollbar-track{background:#faf5ff;border-radius:3px}.uh-filter-option-list::-webkit-scrollbar-thumb{background:#d8b4fe;border-radius:3px}.uh-filter-checkbox-row{display:flex;align-items:center;gap:10px;padding:8px 4px;cursor:pointer;border-radius:8px;transition:background .1s}.uh-filter-checkbox-row:hover{background:#faf5ff}.uh-filter-check{width:16px;height:16px;border:2px solid #d1d5db;border-radius:5px;flex-shrink:0;transition:all .15s;position:relative}.uh-filter-check.checked{background:#7c3aed;border-color:#7c3aed}.uh-filter-check.checked:after{content:"";position:absolute;top:1px;left:4px;width:4px;height:8px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.uh-filter-check-label{font-size:13px;color:#374151;font-weight:500}.uh-filter-empty{padding:24px 0;text-align:center;color:#d1d5db;font-size:13px}.uh-filter-footer{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-top:1px solid #f3f4f6;background:#faf8ff}.uh-filter-reset{display:flex;align-items:center;gap:6px;padding:8px 14px;border:none;background:transparent;color:#6b7280;font-size:13px;font-weight:500;cursor:pointer;border-radius:8px;transition:all .15s;font-family:inherit}.uh-filter-reset:hover{background:#fef2f2;color:#dc2626}.uh-filter-apply{padding:9px 22px;border:none;background:linear-gradient(135deg,#6d28d9,#7c3aed);color:#fff;font-size:13px;font-weight:600;border-radius:10px;cursor:pointer;transition:all .2s;font-family:inherit;box-shadow:0 2px 8px #6d28d940}.uh-filter-apply:hover{transform:translateY(-1px);box-shadow:0 4px 14px #6d28d959}@media (max-width: 768px){.uh-page-header{flex-direction:column;gap:16px}.users-page .toolbar{flex-direction:column;align-items:stretch}.users-page .search-box{max-width:100%;min-width:100%}.uh-filter-modal{max-width:95vw;margin:0 10px;height:80vh}.uh-filter-sidebar{width:130px}.uh-stats-row{grid-template-columns:1fr}}.user-form-page{padding:16px;min-height:100%}.uf-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.uf-back{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #e5e7eb;background:#fff;border-radius:10px;cursor:pointer;color:#6b7280;transition:all .15s}.uf-back:hover{border-color:#7c3aed;color:#7c3aed;background:#faf8ff}.uf-header-icon{width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:#f3e8ff;color:#6d28d9;border-radius:10px;flex-shrink:0}.uf-title{font-size:22px;font-weight:700;color:#1f2937;margin:0;line-height:1.3}.uf-subtitle{font-size:13px;color:#6b7280;margin:2px 0 0}.uf-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px;margin-bottom:16px}.uf-section-title{font-size:15px;font-weight:700;color:#1f2937;margin:0 0 18px;text-align:left}.uf-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.uf-section-header .uf-section-title{margin-bottom:0}.uf-error-banner{padding:10px 14px;background:#fee2e2;color:#dc2626;border:1px solid #fecaca;border-radius:8px;font-size:13px;margin-bottom:16px}.uf-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.uf-field-full{grid-column:1 / -1}.uf-grid-3col{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}.uf-field{display:flex;flex-direction:column;gap:6px}.uf-label{font-size:12px;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.03em;text-align:left}.uf-label-sm{font-size:11px;font-weight:600;color:#6b7280;text-align:left}.uf-required{color:#dc2626}.uf-input,.uf-select{padding:10px 14px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;font-family:inherit;color:#1f2937;transition:border-color .15s;background:#fff}.uf-input:focus,.uf-select:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.uf-input-error{border-color:#dc2626}.uf-input:disabled,.uf-select:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.uf-field-error{font-size:12px;color:#dc2626}.uf-field-hint{font-size:11px;color:#9ca3af}.uf-mb-12{margin-bottom:12px}.uf-phone-input{display:flex;align-items:stretch}.uf-phone-prefix{display:flex;align-items:center;padding:0 12px;background:#f9fafb;border:1px solid #e5e7eb;border-right:none;border-radius:8px 0 0 8px;font-size:14px;color:#6b7280;font-weight:500}.uf-input-phone{border-radius:0 8px 8px 0;flex:1}.uf-password-row{display:flex;gap:8px;align-items:flex-start}.uf-password-input-wrap{position:relative;flex:1}.uf-password-input-wrap .uf-input{width:100%;padding-right:36px;box-sizing:border-box}.uf-password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#9ca3af;padding:2px}.uf-password-toggle:hover{color:#7c3aed}.uf-toggle-row{display:flex;align-items:center;gap:10px;padding-top:4px}.uf-toggle{position:relative;width:44px;height:24px;border-radius:12px;border:none;background:#d1d5db;cursor:pointer;transition:background .2s;padding:0}.uf-toggle.active{background:#7c3aed}.uf-toggle-knob{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s}.uf-toggle.active .uf-toggle-knob{transform:translate(20px)}.uf-toggle:disabled{opacity:.5;cursor:not-allowed}.uf-toggle-text{font-size:13px;font-weight:500}.uf-toggle-text.text-active{color:#16a34a}.uf-toggle-text.text-inactive{color:#dc2626}.uf-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s}.uf-btn-cancel{background:#fff;color:#6b7280;border:1px solid #e5e7eb}.uf-btn-cancel:hover{background:#f3f4f6;color:#374151}.uf-btn-save{background:linear-gradient(135deg,#6d28d9,#7c3aed);color:#fff;box-shadow:0 2px 8px #6d28d940}.uf-btn-save:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #6d28d959}.uf-btn-save:disabled{opacity:.7;cursor:not-allowed}.uf-btn-outline{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;font-size:13px;font-weight:500;font-family:inherit;color:#6b7280;cursor:pointer;transition:all .15s;white-space:nowrap}.uf-btn-outline:hover{border-color:#7c3aed;color:#7c3aed;background:#faf8ff}.uf-mappings{display:flex;flex-direction:column;gap:12px}.uf-mapping-card{border:1px solid #e9d5ff;border-radius:10px;padding:16px;background:#fdfbff;transition:all .15s}.uf-mapping-card.inactive{background:#f9fafb;border-color:#e5e7eb;opacity:.7}.uf-mapping-header{display:flex;align-items:center;gap:8px;margin-bottom:14px}.uf-mapping-num{font-size:12px;font-weight:700;color:#7c3aed;background:#f3e8ff;padding:2px 8px;border-radius:4px}.uf-mapping-status-btn{font-size:11px;font-weight:500;padding:2px 8px;border-radius:4px;border:none;cursor:pointer;transition:all .15s}.uf-mapping-status-btn.active{background:#dcfce7;color:#16a34a}.uf-mapping-status-btn.inactive{background:#fee2e2;color:#dc2626}.uf-mapping-remove{margin-left:auto;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;border-radius:6px;cursor:pointer;color:#9ca3af;transition:all .15s}.uf-mapping-remove:hover{background:#fee2e2;color:#dc2626}.uf-mapping-fields{display:flex;flex-direction:column;gap:12px}.uf-mapping-row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.uf-mapping-row-4{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:12px}.uf-footer{display:flex;justify-content:flex-end;gap:10px;padding-top:4px}.uf-spin{animation:uf-spin .8s linear infinite}@keyframes uf-spin{to{transform:rotate(360deg)}}.uf-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;background:#fff;border-radius:12px;border:1px solid #e5e7eb}.uf-loading .spinner{width:40px;height:40px;border:4px solid #e5e7eb;border-top-color:#6d28d9;border-radius:50%;animation:uf-spin .8s linear infinite;margin-bottom:16px}.uf-loading span{font-size:14px;color:#6b7280}.uf-success-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:40px;max-width:500px;margin:40px auto;text-align:center}.uf-success-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:#dcfce7;color:#16a34a;border-radius:50%;margin:0 auto 16px}.uf-success-card h2{font-size:20px;font-weight:700;color:#1f2937;margin:0 0 20px}.uf-success-details{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px;margin-bottom:16px;text-align:left}.uf-success-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.uf-success-row+.uf-success-row{border-top:1px solid #e5e7eb}.uf-success-label{font-size:13px;color:#6b7280;font-weight:500}.uf-success-value{font-size:14px;font-weight:600;color:#1f2937}.uf-mono{font-family:Courier New,monospace;background:#fef3c7;padding:2px 8px;border-radius:4px;color:#92400e}.uf-success-note{font-size:13px;color:#6b7280;margin:0 0 20px;line-height:1.5}@media (max-width: 768px){.uf-grid,.uf-grid-3col,.uf-mapping-row-2{grid-template-columns:1fr}.uf-mapping-row-4{grid-template-columns:1fr 1fr}.uf-password-row{flex-direction:column}.uf-header{flex-wrap:wrap}}@media (max-width: 480px){.uf-mapping-row-4{grid-template-columns:1fr}}.roles-page{padding:16px;min-height:100%}.roles-page .btn{display:flex;align-items:center;gap:8px;padding:12px 20px;border:none;border-radius:10px;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s;font-family:inherit}.roles-page .btn-primary{background:linear-gradient(135deg,#6d28d9,#7c3aed);color:#fff;box-shadow:0 4px 12px #6d28d940}.roles-page .btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #6d28d959}.roles-page .toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px;flex-wrap:wrap}.roles-page .search-box{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;border-radius:10px;border:1px solid #e5e7eb;min-width:280px;flex:1;max-width:420px}.roles-page .search-box input{border:none;outline:none;font-size:14px;flex:1;font-family:inherit;color:#1f2937;background:transparent}.roles-page .search-box input::-moz-placeholder{color:#9ca3af}.roles-page .search-box input::placeholder{color:#9ca3af}.roles-page .search-box svg{color:#9ca3af}.roles-page .uh-filter-btn{display:flex;align-items:center;gap:8px;padding:10px 18px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;color:#6b7280;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;font-family:inherit}.roles-page .uh-filter-btn:hover{border-color:#7c3aed;color:#7c3aed;background:#faf8ff}.roles-page .uh-filter-btn.has-filters{border-color:#7c3aed;color:#7c3aed;background:#f3e8ff}.roles-table-wrapper{background:#fff;border-radius:12px;border:1px solid #e5e7eb;overflow-x:auto}.roles-table-wrapper::-webkit-scrollbar{width:6px;height:6px}.roles-table-wrapper::-webkit-scrollbar-track{background:#f5f3ff;border-radius:3px}.roles-table-wrapper::-webkit-scrollbar-thumb{background:#d8b4fe;border-radius:3px}.roles-table-wrapper::-webkit-scrollbar-thumb:hover{background:#c084fc}.roles-table{width:100%;border-collapse:collapse}.roles-table th{padding:10px 16px;text-align:center;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;background:#faf8ff;border-bottom:1px solid #ece6fa;cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.roles-table th.sortable{cursor:pointer}.roles-table th.sortable:hover{color:#7c3aed}.roles-table th .th-content{display:inline-flex;align-items:center;gap:3px}.roles-table td{padding:10px 16px;border-bottom:1px solid #f3f4f6;color:#6b7280;font-size:12px;text-align:center;white-space:nowrap}.roles-table .sr-cell{color:#9ca3af;font-size:12px}.roles-table tbody tr{transition:background .15s}.roles-table tbody tr:hover{background:#faf8ff}.roles-table tbody tr:last-child td{border-bottom:none}.roles-table .role-name-text{font-weight:600;font-size:13px;color:#1f2937}.roles-table .role-code{font-size:12px;color:#6b7280}.roles-table .col-desc{text-align:left}.roles-table .role-desc{font-size:12px;color:#6b7280;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block}.roles-table .role-type-badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:6px;font-size:12px;font-weight:500;text-transform:capitalize}.roles-table .role-type-internal{background:#dbeafe;color:#2563eb}.roles-table .role-type-external{background:#fef3c7;color:#d97706}.roles-table .role-user-count{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:#6b7280}.roles-table .role-user-count svg{color:#9ca3af}.roles-table .uh-created-cell{display:flex;flex-direction:column;align-items:center;gap:2px}.roles-table .uh-meta-text{font-size:12px;color:#6b7280;white-space:nowrap}.roles-table .uh-meta-sub{font-size:10px;color:#9ca3af;white-space:nowrap}.roles-table .role-status{display:inline-flex;flex-direction:row;align-items:center;gap:4px;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:500;white-space:nowrap;line-height:1}.roles-table .role-status svg{flex-shrink:0;width:10px;height:10px}.roles-table .role-status-active{background:#dcfce7;color:#16a34a}.roles-table .role-status-inactive{background:#fee2e2;color:#dc2626}.roles-table .action-buttons{display:flex;justify-content:center;gap:2px}.roles-table .btn-icon{padding:5px;background:transparent;border:none;border-radius:6px;cursor:pointer;color:#9ca3af;transition:all .15s}.roles-table .btn-icon:hover{background:#f3e8ff;color:#7c3aed}.roles-table .btn-icon-danger:hover{background:#fee2e2;color:#dc2626}.roles-page .loading-state,.roles-table-wrapper .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px}.roles-page .loading-state{background:#fff;border-radius:12px;border:1px solid #e5e7eb}.roles-page .spinner{width:40px;height:40px;border:4px solid #e5e7eb;border-top-color:#6d28d9;border-radius:50%;animation:roles-spin .8s linear infinite;margin-bottom:16px}@keyframes roles-spin{to{transform:rotate(360deg)}}.roles-page .loading-text{font-size:14px;color:#6b7280}.roles-table-wrapper .empty-state svg{color:#d1d5db;margin-bottom:16px}.roles-table-wrapper .empty-state h3{font-size:18px;color:#374151;margin:0 0 8px}.roles-table-wrapper .empty-state p{color:#9ca3af;margin:0;font-size:14px}.roles-pagination{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:10px 4px;margin-top:10px}.roles-pagination .pagination-info{font-size:12px;color:#6b7280;margin-right:4px}.roles-pagination .pagination-page{font-size:12px;color:#374151;font-weight:500}.roles-pagination button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid #e5e7eb;background:#fff;border-radius:6px;cursor:pointer;color:#6b7280;transition:all .15s}.roles-pagination button:hover:not(:disabled){background:#f3e8ff;border-color:#7c3aed;color:#7c3aed}.roles-pagination button:disabled{opacity:.35;cursor:not-allowed}.roles-page .error-message{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fee2e2;color:#dc2626;border-radius:10px;margin-bottom:16px;font-size:14px;border:1px solid #fecaca}@media (max-width: 768px){.roles-page{padding:16px}.roles-page .toolbar{flex-direction:column;align-items:stretch}.roles-page .search-box{max-width:100%;min-width:100%}}.role-form-page{padding:16px;min-height:100%}.rf-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.rf-back{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #e5e7eb;background:#fff;border-radius:10px;cursor:pointer;color:#6b7280;transition:all .15s}.rf-back:hover{border-color:#7c3aed;color:#7c3aed;background:#faf8ff}.rf-header-icon{width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:#f3e8ff;color:#6d28d9;border-radius:10px;flex-shrink:0}.rf-title{font-size:22px;font-weight:700;color:#1f2937;margin:0;line-height:1.3}.rf-subtitle{font-size:13px;color:#6b7280;margin:2px 0 0}.rf-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px}.rf-error-banner{padding:10px 14px;background:#fee2e2;color:#dc2626;border:1px solid #fecaca;border-radius:8px;font-size:13px;margin-bottom:20px}.rf-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.rf-field-full{grid-column:1 / -1}.rf-field{display:flex;flex-direction:column;gap:6px}.rf-label{font-size:12px;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.03em;text-align:left}.rf-required{color:#dc2626}.rf-input{padding:10px 14px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;font-family:inherit;color:#1f2937;transition:border-color .15s;background:#fff}.rf-input:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.rf-input-mono{font-family:Courier New,monospace;font-size:13px}.rf-input-error{border-color:#dc2626}.rf-input:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.rf-field-error{font-size:12px;color:#dc2626}.rf-textarea{padding:10px 14px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;font-family:inherit;color:#1f2937;resize:vertical;min-height:60px;transition:border-color .15s}.rf-textarea:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.rf-textarea:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.rf-radio-group{display:flex;gap:10px}.rf-radio-card{flex:1;display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer;transition:all .15s;background:#fff}.rf-radio-card:hover{border-color:#c4b5fd;background:#faf8ff}.rf-radio-card.selected{border-color:#7c3aed;background:#f3e8ff}.rf-radio-card input[type=radio]{display:none}.rf-radio-label{font-size:14px;font-weight:600;color:#1f2937}.rf-radio-desc{font-size:11px;color:#6b7280}.rf-radio-card.selected .rf-radio-label{color:#6d28d9}.rf-toggle-row{display:flex;align-items:center;gap:10px;padding-top:4px}.rf-toggle{position:relative;width:44px;height:24px;border-radius:12px;border:none;background:#d1d5db;cursor:pointer;transition:background .2s;padding:0}.rf-toggle.active{background:#7c3aed}.rf-toggle-knob{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s}.rf-toggle.active .rf-toggle-knob{transform:translate(20px)}.rf-toggle:disabled{opacity:.5;cursor:not-allowed}.rf-toggle-text{font-size:13px;font-weight:500}.rf-toggle-text.text-active{color:#16a34a}.rf-toggle-text.text-inactive{color:#dc2626}.rf-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;padding-top:20px;border-top:1px solid #f3f4f6}.rf-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s}.rf-btn-cancel{background:#fff;color:#6b7280;border:1px solid #e5e7eb}.rf-btn-cancel:hover{background:#f3f4f6;color:#374151}.rf-btn-save{background:linear-gradient(135deg,#6d28d9,#7c3aed);color:#fff;box-shadow:0 2px 8px #6d28d940}.rf-btn-save:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #6d28d959}.rf-btn-save:disabled{opacity:.7;cursor:not-allowed}.rf-spin{animation:rf-spin .8s linear infinite}@keyframes rf-spin{to{transform:rotate(360deg)}}.rf-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;background:#fff;border-radius:12px;border:1px solid #e5e7eb}.rf-loading .spinner{width:40px;height:40px;border:4px solid #e5e7eb;border-top-color:#6d28d9;border-radius:50%;animation:rf-spin .8s linear infinite;margin-bottom:16px}.rf-loading span{font-size:14px;color:#6b7280}@media (max-width: 600px){.rf-grid{grid-template-columns:1fr}.rf-radio-group{flex-direction:column}.rf-header{flex-wrap:wrap}}.programs-page{padding:16px;min-height:100%}.programs-page .btn{display:flex;align-items:center;gap:8px;padding:12px 20px;border:none;border-radius:10px;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s;font-family:inherit}.programs-page .btn-primary{background:linear-gradient(135deg,#6d28d9,#7c3aed);color:#fff;box-shadow:0 4px 12px #6d28d940}.programs-page .btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #6d28d959}.programs-page .toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px;flex-wrap:wrap}.programs-page .search-box{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;border-radius:10px;border:1px solid #e5e7eb;min-width:280px;flex:1;max-width:420px}.programs-page .search-box input{border:none;outline:none;font-size:14px;flex:1;font-family:inherit;color:#1f2937;background:transparent}.programs-page .search-box input::-moz-placeholder{color:#9ca3af}.programs-page .search-box input::placeholder{color:#9ca3af}.programs-page .search-box svg{color:#9ca3af}.programs-page .uh-filter-btn{display:flex;align-items:center;gap:8px;padding:10px 18px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;color:#6b7280;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;font-family:inherit}.programs-page .uh-filter-btn:hover{border-color:#7c3aed;color:#7c3aed;background:#faf8ff}.programs-page .uh-filter-btn.has-filters{border-color:#7c3aed;color:#7c3aed;background:#f3e8ff}.programs-table-wrapper{background:#fff;border-radius:12px;border:1px solid #e5e7eb;overflow-x:auto}.programs-table-wrapper::-webkit-scrollbar{width:6px;height:6px}.programs-table-wrapper::-webkit-scrollbar-track{background:#f5f3ff;border-radius:3px}.programs-table-wrapper::-webkit-scrollbar-thumb{background:#d8b4fe;border-radius:3px}.programs-table-wrapper::-webkit-scrollbar-thumb:hover{background:#c084fc}.programs-table{width:100%;border-collapse:collapse}.programs-table th{padding:10px 16px;text-align:center;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;background:#faf8ff;border-bottom:1px solid #ece6fa;cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.programs-table th.sortable{cursor:pointer}.programs-table th.sortable:hover{color:#7c3aed}.programs-table th .th-content{display:inline-flex;align-items:center;gap:3px}.programs-table td{padding:10px 16px;border-bottom:1px solid #f3f4f6;color:#6b7280;font-size:12px;text-align:center;white-space:nowrap}.programs-table .sr-cell{color:#9ca3af;font-size:12px}.programs-table tbody tr{transition:background .15s}.programs-table tbody tr:hover{background:#faf8ff}.programs-table tbody tr:last-child td{border-bottom:none}.programs-table .program-name-text{font-weight:600;font-size:13px;color:#1f2937}.programs-table .program-code{font-size:12px;color:#6b7280}.programs-table .col-desc{text-align:left}.programs-table .program-desc{font-size:12px;color:#6b7280;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block}.programs-table .program-user-count{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:#6b7280}.programs-table .program-user-count svg{color:#9ca3af}.programs-table .uh-created-cell{display:flex;flex-direction:column;align-items:center;gap:2px}.programs-table .uh-meta-text{font-size:12px;color:#6b7280;white-space:nowrap}.programs-table .uh-meta-sub{font-size:10px;color:#9ca3af;white-space:nowrap}.programs-table .program-status{display:inline-flex;flex-direction:row;align-items:center;gap:4px;padding:2px 8px;border-radius:6px;font-size:12px;font-weight:500;white-space:nowrap;line-height:1}.programs-table .program-status svg{flex-shrink:0;width:10px;height:10px}.programs-table .program-status-active{background:#dcfce7;color:#16a34a}.programs-table .program-status-inactive{background:#fee2e2;color:#dc2626}.programs-table .action-buttons{display:flex;justify-content:center;gap:2px}.programs-table .btn-icon{padding:5px;background:transparent;border:none;border-radius:6px;cursor:pointer;color:#9ca3af;transition:all .15s}.programs-table .btn-icon:hover{background:#f3e8ff;color:#7c3aed}.programs-page .loading-state,.programs-table-wrapper .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px}.programs-page .loading-state{background:#fff;border-radius:12px;border:1px solid #e5e7eb}.programs-page .spinner{width:40px;height:40px;border:4px solid #e5e7eb;border-top-color:#6d28d9;border-radius:50%;animation:programs-spin .8s linear infinite;margin-bottom:16px}@keyframes programs-spin{to{transform:rotate(360deg)}}.programs-page .loading-text{font-size:14px;color:#6b7280}.programs-table-wrapper .empty-state svg{color:#d1d5db;margin-bottom:16px}.programs-table-wrapper .empty-state h3{font-size:18px;color:#374151;margin:0 0 8px}.programs-table-wrapper .empty-state p{color:#9ca3af;margin:0;font-size:14px}.programs-pagination{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:10px 4px;margin-top:10px}.programs-pagination .pagination-info{font-size:12px;color:#6b7280;margin-right:4px}.programs-pagination .pagination-page{font-size:12px;color:#374151;font-weight:500}.programs-pagination button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid #e5e7eb;background:#fff;border-radius:6px;cursor:pointer;color:#6b7280;transition:all .15s}.programs-pagination button:hover:not(:disabled){background:#f3e8ff;border-color:#7c3aed;color:#7c3aed}.programs-pagination button:disabled{opacity:.35;cursor:not-allowed}.programs-page .error-message{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fee2e2;color:#dc2626;border-radius:10px;margin-bottom:16px;font-size:14px;border:1px solid #fecaca}@media (max-width: 768px){.programs-page .toolbar{flex-direction:column;align-items:stretch}.programs-page .search-box{max-width:100%;min-width:100%}}.ace-container{border:1px solid #e5e7eb;border-radius:12px;background:#fff;overflow:hidden}.ace-header{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid #f3f4f6;background:#faf8ff;color:#6d28d9}.ace-header-title{font-size:15px;font-weight:700;color:#1f2937;margin:0;line-height:1.3}.ace-header-sub{font-size:12px;color:#6b7280;margin:0}.ace-body{display:flex;min-height:400px}.ace-modules{width:260px;min-width:260px;border-right:1px solid #f3f4f6;overflow-y:auto;background:#fdfcff}.ace-module-item{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;cursor:pointer;border-bottom:1px solid #f9fafb;transition:all .15s}.ace-module-item:hover{background:#f5f3ff}.ace-module-item.active{background:#f3e8ff;border-right:3px solid #7c3aed}.ace-module-left{display:flex;align-items:center;gap:10px;min-width:0}.ace-module-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#f3f4f6;color:#9ca3af;flex-shrink:0;transition:all .15s}.ace-module-icon.on{background:#f3e8ff;color:#6d28d9}.ace-module-name{display:block;font-size:13px;font-weight:600;color:#374151;line-height:1.3}.ace-module-stat{display:block;font-size:11px;color:#9ca3af}.ace-module-item.enabled .ace-module-name{color:#1f2937}.ace-module-right{display:flex;align-items:center;gap:4px;flex-shrink:0}.ace-toggle-mini{display:flex;align-items:center;background:none;border:none;cursor:pointer;color:#d1d5db;padding:2px;transition:color .15s}.ace-toggle-mini.on{color:#7c3aed}.ace-toggle-mini:disabled{opacity:.5;cursor:not-allowed}.ace-chevron{color:#d1d5db}.ace-module-item.active .ace-chevron{color:#7c3aed}.ace-detail{flex:1;padding:16px 20px;overflow-y:auto}.ace-detail-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.ace-detail-title{font-size:15px;font-weight:700;color:#1f2937;margin:0}.ace-select-all-btn{font-size:12px;font-weight:500;color:#7c3aed;background:none;border:1px solid #e5e7eb;border-radius:6px;padding:4px 12px;cursor:pointer;transition:all .15s;font-family:inherit}.ace-select-all-btn:hover{background:#f3e8ff;border-color:#7c3aed}.ace-select-all-btn:disabled{opacity:.5;cursor:not-allowed}.ace-disabled-msg{display:flex;align-items:center;justify-content:center;min-height:200px;color:#9ca3af;font-size:14px}.ace-submodules{display:flex;flex-direction:column;gap:10px}.ace-sub-card{border:1px solid #f3f4f6;border-radius:10px;padding:12px 14px;background:#fafafa;transition:all .15s}.ace-sub-card.enabled{border-color:#e9d5ff;background:#fdfbff}.ace-sub-header{display:flex;align-items:center;justify-content:space-between}.ace-sub-left{display:flex;align-items:center;gap:8px}.ace-checkbox{width:18px;height:18px;border:2px solid #d1d5db;border-radius:4px;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s;padding:0;flex-shrink:0}.ace-checkbox.checked{background:#7c3aed;border-color:#7c3aed;color:#fff}.ace-checkbox:disabled{opacity:.5;cursor:not-allowed}.ace-sub-name{font-size:13px;font-weight:600;color:#374151}.ace-perm-toggle-all{display:flex;align-items:center;gap:4px;font-size:11px;font-weight:500;color:#6b7280;background:none;border:none;cursor:pointer;padding:2px 6px;border-radius:4px;transition:all .15s;font-family:inherit}.ace-perm-toggle-all:hover{background:#f3e8ff;color:#7c3aed}.ace-perm-toggle-icon{width:14px;height:14px;border:1.5px solid #d1d5db;border-radius:3px;display:flex;align-items:center;justify-content:center;background:#fff;transition:all .15s}.ace-perm-toggle-icon.all{background:#7c3aed;border-color:#7c3aed;color:#fff}.ace-perm-toggle-icon.some{background:#ede9fe;border-color:#7c3aed;color:#7c3aed}.ace-perms{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid #f3f4f6}.ace-perm-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:500;border:1px solid #e5e7eb;border-radius:6px;background:#fff;color:#6b7280;cursor:pointer;transition:all .15s;font-family:inherit}.ace-perm-chip:hover{border-color:#c4b5fd;color:#7c3aed;background:#faf8ff}.ace-perm-chip.on{background:#f3e8ff;border-color:#c4b5fd;color:#6d28d9;font-weight:600}.ace-perm-chip:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.ace-body{flex-direction:column;min-height:auto}.ace-modules{width:100%;min-width:100%;border-right:none;border-bottom:1px solid #f3f4f6;max-height:200px}.ace-module-item.active{border-right:none;border-left:3px solid #7c3aed}}.program-form-page{padding:16px;min-height:100%}.pf-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.pf-back{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #e5e7eb;background:#fff;border-radius:10px;cursor:pointer;color:#6b7280;transition:all .15s}.pf-back:hover{border-color:#7c3aed;color:#7c3aed;background:#faf8ff}.pf-header-icon{width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:#f3e8ff;color:#6d28d9;border-radius:10px;flex-shrink:0}.pf-title{font-size:22px;font-weight:700;color:#1f2937;margin:0;line-height:1.3}.pf-subtitle{font-size:13px;color:#6b7280;margin:2px 0 0}.pf-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px}.pf-error-banner{padding:10px 14px;background:#fee2e2;color:#dc2626;border:1px solid #fecaca;border-radius:8px;font-size:13px;margin-bottom:20px}.pf-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.pf-field-full{grid-column:1 / -1}.pf-field{display:flex;flex-direction:column;gap:6px}.pf-label{font-size:12px;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.03em;text-align:left}.pf-required{color:#dc2626}.pf-input{padding:10px 14px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;font-family:inherit;color:#1f2937;transition:border-color .15s;background:#fff}.pf-input:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.pf-input-error{border-color:#dc2626}.pf-input:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.pf-field-error{font-size:12px;color:#dc2626}.pf-textarea{padding:10px 14px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;font-family:inherit;color:#1f2937;resize:vertical;min-height:60px;transition:border-color .15s}.pf-textarea:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.pf-textarea:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.pf-toggle-row{display:flex;align-items:center;gap:10px;padding-top:4px}.pf-toggle{position:relative;width:44px;height:24px;border-radius:12px;border:none;background:#d1d5db;cursor:pointer;transition:background .2s;padding:0}.pf-toggle.active{background:#7c3aed}.pf-toggle-knob{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s}.pf-toggle.active .pf-toggle-knob{transform:translate(20px)}.pf-toggle:disabled{opacity:.5;cursor:not-allowed}.pf-toggle-text{font-size:13px;font-weight:500}.pf-toggle-text.text-active{color:#16a34a}.pf-toggle-text.text-inactive{color:#dc2626}.pf-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;padding-top:20px;border-top:1px solid #f3f4f6}.pf-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s}.pf-btn-cancel{background:#fff;color:#6b7280;border:1px solid #e5e7eb}.pf-btn-cancel:hover{background:#f3f4f6;color:#374151}.pf-btn-save{background:linear-gradient(135deg,#6d28d9,#7c3aed);color:#fff;box-shadow:0 2px 8px #6d28d940}.pf-btn-save:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #6d28d959}.pf-btn-save:disabled{opacity:.7;cursor:not-allowed}.pf-spin{animation:pf-spin .8s linear infinite}.pf-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;background:#fff;border-radius:12px;border:1px solid #e5e7eb}.pf-loading .spinner{width:40px;height:40px;border:4px solid #e5e7eb;border-top-color:#6d28d9;border-radius:50%;animation:pf-spin .8s linear infinite;margin-bottom:16px}.pf-loading span{font-size:14px;color:#6b7280}.pf-access-control{margin-top:24px}@media (max-width: 600px){.pf-grid{grid-template-columns:1fr}.pf-header{flex-wrap:wrap}}.modules-page{padding:16px;min-height:100%}.modules-page .btn{display:flex;align-items:center;gap:8px;padding:12px 20px;border:none;border-radius:10px;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s;font-family:inherit}.modules-page .btn-primary{background:linear-gradient(135deg,#6d28d9,#7c3aed);color:#fff;box-shadow:0 4px 12px #6d28d940}.modules-page .btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #6d28d959}.modules-page .toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px;flex-wrap:wrap}.modules-page .search-box{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;border-radius:10px;border:1px solid #e5e7eb;min-width:280px;flex:1;max-width:420px}.modules-page .search-box input{border:none;outline:none;font-size:14px;flex:1;font-family:inherit;color:#1f2937;background:transparent}.modules-page .search-box input::-moz-placeholder{color:#9ca3af}.modules-page .search-box input::placeholder{color:#9ca3af}.modules-page .search-box svg{color:#9ca3af}.modules-page .uh-filter-btn{display:flex;align-items:center;gap:8px;padding:10px 18px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;color:#6b7280;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;font-family:inherit}.modules-page .uh-filter-btn:hover{border-color:#7c3aed;color:#7c3aed;background:#faf8ff}.modules-page .uh-filter-btn.has-filters{border-color:#7c3aed;color:#7c3aed;background:#f3e8ff}.modules-table-wrapper{background:#fff;border-radius:12px;border:1px solid #e5e7eb;overflow-x:auto}.modules-table-wrapper::-webkit-scrollbar{width:6px;height:6px}.modules-table-wrapper::-webkit-scrollbar-track{background:#f5f3ff;border-radius:3px}.modules-table-wrapper::-webkit-scrollbar-thumb{background:#d8b4fe;border-radius:3px}.modules-table-wrapper::-webkit-scrollbar-thumb:hover{background:#c084fc}.modules-table{width:100%;border-collapse:collapse}.modules-table th{padding:10px 16px;text-align:center;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;background:#faf8ff;border-bottom:1px solid #ece6fa;cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.modules-table th.sortable{cursor:pointer}.modules-table th.sortable:hover{color:#7c3aed}.modules-table th .th-content{display:inline-flex;align-items:center;gap:3px}.modules-table td{padding:10px 16px;border-bottom:1px solid #f3f4f6;color:#6b7280;font-size:12px;text-align:center;white-space:nowrap}.modules-table .sr-cell{color:#9ca3af;font-size:12px}.modules-table tbody tr{transition:background .15s}.modules-table tbody tr:hover{background:#faf8ff}.modules-table tbody tr:last-child td{border-bottom:none}.mt-module-cell{display:flex;align-items:center;gap:10px}.mt-module-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.mt-module-icon-img{width:18px;height:18px;-o-object-fit:contain;object-fit:contain;filter:brightness(0) invert(1)}.mt-module-icon-letter{font-size:14px;font-weight:700;color:#fff;line-height:1}.modules-table .module-name-text{font-weight:600;font-size:13px;color:#1f2937}.modules-table .module-code{font-size:12px;color:#6b7280}.modules-table .col-desc{text-align:left}.modules-table .module-desc{font-size:12px;color:#6b7280;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block}.modules-table .uh-created-cell{display:flex;flex-direction:column;align-items:center;gap:2px}.modules-table .uh-meta-text{font-size:12px;color:#6b7280;white-space:nowrap}.modules-table .uh-meta-sub{font-size:10px;color:#9ca3af;white-space:nowrap}.modules-table .module-status{display:inline-flex;flex-direction:row;align-items:center;gap:4px;padding:2px 8px;border-radius:6px;font-size:12px;font-weight:500;white-space:nowrap;line-height:1}.modules-table .module-status svg{flex-shrink:0;width:10px;height:10px}.modules-table .module-status-active{background:#dcfce7;color:#16a34a}.modules-table .module-status-inactive{background:#fee2e2;color:#dc2626}.modules-table .action-buttons{display:flex;justify-content:center;gap:2px}.modules-table .btn-icon{padding:5px;background:transparent;border:none;border-radius:6px;cursor:pointer;color:#9ca3af;transition:all .15s}.modules-table .btn-icon:hover{background:#f3e8ff;color:#7c3aed}.modules-page .loading-state,.modules-table-wrapper .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px}.modules-page .loading-state{background:#fff;border-radius:12px;border:1px solid #e5e7eb}.modules-page .spinner{width:40px;height:40px;border:4px solid #e5e7eb;border-top-color:#6d28d9;border-radius:50%;animation:modules-spin .8s linear infinite;margin-bottom:16px}@keyframes modules-spin{to{transform:rotate(360deg)}}.modules-page .loading-text{font-size:14px;color:#6b7280}.modules-table-wrapper .empty-state svg{color:#d1d5db;margin-bottom:16px}.modules-table-wrapper .empty-state h3{font-size:18px;color:#374151;margin:0 0 8px}.modules-table-wrapper .empty-state p{color:#9ca3af;margin:0;font-size:14px}.modules-pagination{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:10px 4px;margin-top:10px}.modules-pagination .pagination-info{font-size:12px;color:#6b7280;margin-right:4px}.modules-pagination .pagination-page{font-size:12px;color:#374151;font-weight:500}.modules-pagination button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid #e5e7eb;background:#fff;border-radius:6px;cursor:pointer;color:#6b7280;transition:all .15s}.modules-pagination button:hover:not(:disabled){background:#f3e8ff;border-color:#7c3aed;color:#7c3aed}.modules-pagination button:disabled{opacity:.35;cursor:not-allowed}.modules-page .error-message{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fee2e2;color:#dc2626;border-radius:10px;margin-bottom:16px;font-size:14px;border:1px solid #fecaca}@media (max-width: 768px){.modules-page .toolbar{flex-direction:column;align-items:stretch}.modules-page .search-box{max-width:100%;min-width:100%}}.module-form-page{padding:16px;min-height:100%}.mf-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.mf-back{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #e5e7eb;background:#fff;border-radius:10px;cursor:pointer;color:#6b7280;transition:all .15s}.mf-back:hover{border-color:#7c3aed;color:#7c3aed;background:#faf8ff}.mf-header-icon{width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:#f3e8ff;color:#6d28d9;border-radius:10px;flex-shrink:0}.mf-title{font-size:22px;font-weight:700;color:#1f2937;margin:0;line-height:1.3}.mf-subtitle{font-size:13px;color:#6b7280;margin:2px 0 0}.mf-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px}.mf-error-banner{padding:10px 14px;background:#fee2e2;color:#dc2626;border:1px solid #fecaca;border-radius:8px;font-size:13px;margin-bottom:20px}.mf-section-title{font-size:15px;font-weight:700;color:#1f2937;margin-bottom:16px}.mf-section-divider{border-top:1px solid #f3f4f6;margin:24px 0}.mf-section-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.mf-section-desc{font-size:12px;color:#9ca3af;margin:4px 0 0}.mf-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.mf-field-full{grid-column:1 / -1}.mf-field{display:flex;flex-direction:column;gap:6px}.mf-label{font-size:12px;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.03em;text-align:left}.mf-required{color:#dc2626}.mf-input{padding:10px 14px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;font-family:inherit;color:#1f2937;transition:border-color .15s;background:#fff}.mf-input:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.mf-input-error{border-color:#dc2626}.mf-input:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.mf-field-error{font-size:12px;color:#dc2626}.mf-textarea{padding:10px 14px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;font-family:inherit;color:#1f2937;resize:vertical;min-height:60px;transition:border-color .15s}.mf-textarea:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.mf-textarea:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.mf-color-row{display:flex;align-items:center;gap:10px}.mf-color-picker{width:40px;height:40px;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;padding:2px;background:#fff;flex-shrink:0}.mf-color-picker:disabled{opacity:.5;cursor:not-allowed}.mf-color-text{flex:1}.mf-toggle-row{display:flex;align-items:center;gap:10px;padding-top:4px}.mf-toggle{position:relative;width:44px;height:24px;border-radius:12px;border:none;background:#d1d5db;cursor:pointer;transition:background .2s;padding:0}.mf-toggle.active{background:#7c3aed}.mf-toggle-knob{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s}.mf-toggle.active .mf-toggle-knob{transform:translate(20px)}.mf-toggle:disabled{opacity:.5;cursor:not-allowed}.mf-toggle-text{font-size:13px;font-weight:500}.mf-toggle-text.text-active{color:#16a34a}.mf-toggle-text.text-inactive{color:#dc2626}.mf-add-sub-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#f3e8ff;color:#7c3aed;border:1px solid #e9d5ff;border-radius:8px;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s}.mf-add-sub-btn:hover{background:#ede9fe;border-color:#c4b5fd}.mf-empty-subs{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 20px;background:#faf8ff;border:2px dashed #e9d5ff;border-radius:10px;color:#9ca3af}.mf-empty-subs p{margin:0;font-size:14px;color:#9ca3af}.mf-subs-list{display:flex;flex-direction:column;gap:12px}.mf-sub-card{background:#faf8ff;border:1px solid #ece6fa;border-radius:10px;padding:16px}.mf-sub-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.mf-sub-number{font-size:12px;font-weight:700;color:#7c3aed;background:#ede9fe;padding:2px 10px;border-radius:6px}.mf-sub-remove{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;border-radius:6px;color:#9ca3af;cursor:pointer;transition:all .15s}.mf-sub-remove:hover{background:#fee2e2;color:#dc2626}.mf-sub-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mf-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;padding-top:20px;border-top:1px solid #f3f4f6}.mf-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s}.mf-btn-cancel{background:#fff;color:#6b7280;border:1px solid #e5e7eb}.mf-btn-cancel:hover{background:#f3f4f6;color:#374151}.mf-btn-save{background:linear-gradient(135deg,#6d28d9,#7c3aed);color:#fff;box-shadow:0 2px 8px #6d28d940}.mf-btn-save:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #6d28d959}.mf-btn-save:disabled{opacity:.7;cursor:not-allowed}.mf-spin{animation:mf-spin .8s linear infinite}@keyframes mf-spin{to{transform:rotate(360deg)}}.mf-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;background:#fff;border-radius:12px;border:1px solid #e5e7eb}.mf-loading .spinner{width:40px;height:40px;border:4px solid #e5e7eb;border-top-color:#6d28d9;border-radius:50%;animation:mf-spin .8s linear infinite;margin-bottom:16px}.mf-loading span{font-size:14px;color:#6b7280}@media (max-width: 600px){.mf-grid,.mf-sub-grid{grid-template-columns:1fr}.mf-header{flex-wrap:wrap}.mf-section-header{flex-direction:column;gap:12px}}.masters-container{min-height:100vh;background:#fff;border-radius:8px;padding:2rem 1.5rem}.masters-header{margin-bottom:3rem;animation:slideDown .6s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.header-content{display:flex;justify-content:space-between;align-items:flex-start;gap:3rem;flex-wrap:wrap;padding:0;margin:0 auto;max-width:100%}.header-title h1{font-size:2rem;font-weight:600;color:#7c3aed;margin:0 0 .5rem;letter-spacing:-.5px}.header-subtitle{font-size:1rem;color:var(--color-text-light);margin:0;font-weight:500}.header-stats{display:flex;gap:1.5rem;flex-wrap:wrap}.stat-card{display:flex;align-items:center;gap:1rem;background:#fff;padding:1.5rem;border-radius:12px;box-shadow:var(--shadow-sm);border:1px solid var(--color-border);transition:var(--transition-base)}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:#cbd5e0}.stat-icon{color:var(--color-primary);flex-shrink:0}.stat-info{display:flex;flex-direction:column;gap:.25rem}.stat-label{font-size:.875rem;color:#94a3b8;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:1.75rem;font-weight:700;color:var(--color-text-dark)}.masters-search-section{margin-bottom:3rem;display:flex;flex-direction:column;gap:1rem}.search-container{position:relative;display:flex;align-items:center;background:#fff;border-radius:12px;border:2px solid var(--color-border);box-shadow:var(--shadow-sm);transition:var(--transition-base);overflow:hidden}.search-container:focus-within{border-color:var(--color-primary);box-shadow:0 4px 16px #667eea26}.search-icon{width:20px;height:20px;color:#94a3b8;margin-left:1rem;flex-shrink:0;stroke-width:2.5}.masters-search-input{flex:1;padding:1rem;border:none;background:transparent;font-size:1rem;color:var(--color-text-dark);outline:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.masters-search-input::-moz-placeholder{color:#cbd5e0;font-weight:500}.masters-search-input::placeholder{color:#cbd5e0;font-weight:500}.clear-search{width:40px;height:40px;background:transparent;border:none;color:#94a3b8;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition-base);margin-right:.5rem}.clear-search:hover{color:#64748b;background:#f1f5f9;border-radius:8px}.search-results-count{font-size:.875rem;color:var(--color-text-light);margin:0;padding:0 1rem}.search-results-count strong{color:var(--color-primary);font-weight:600}.masters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem;margin-bottom:3rem;animation:fadeIn .6s ease .2s both}@media (max-width: 1200px){.masters-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}}@media (max-width: 768px){.masters-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}}@media (max-width: 480px){.masters-grid{grid-template-columns:1fr;gap:1rem}}.masters-no-results{grid-column:1 / -1;text-align:center;padding:4rem 2rem;background:#fff;border-radius:16px;border:2px dashed var(--color-border)}.no-results-icon{color:var(--color-primary);margin-bottom:1rem;display:inline-block;animation:float 3s ease-in-out infinite}.no-results-text{font-size:1.5rem;font-weight:700;color:var(--color-text-dark);margin:0 0 .5rem}.no-results-subtext{font-size:1rem;color:var(--color-text-light);margin:0}.masters-loading{grid-column:1 / -1;display:flex;justify-content:center;padding:3rem}.masters-error{grid-column:1 / -1;background:#fed7d7;border:1px solid #fc8181;border-radius:8px;padding:1.5rem;color:#c53030;margin-bottom:1rem}.masters-error-icon{margin-right:.5rem;font-weight:700}@media (max-width: 1200px){.masters-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}}@media (max-width: 768px){.header-content{flex-direction:column;gap:1.5rem}.header-title h1{font-size:2rem}.header-stats{width:100%;justify-content:space-between}.masters-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}.masters-container{padding:1.5rem}}@media (max-width: 480px){.masters-container{padding:1rem}.masters-header{margin-bottom:2rem}.header-title h1{font-size:1.25rem}.header-stats{flex-direction:column;width:100%}.masters-grid{grid-template-columns:1fr;gap:1rem}.masters-no-results{padding:2.5rem 1.5rem}.no-results-icon{font-size:2.5rem}.no-results-text{font-size:1.25rem}.no-results-subtext{font-size:.9rem}}.masters-card{background:#fff;border-radius:14px;overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--color-border);transition:var(--transition-base);cursor:pointer;display:flex;flex-direction:column;height:100%;position:relative;animation:cardEnter .5s ease forwards}.masters-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);border-color:#cbd5e0}.masters-card:active{transform:translateY(-4px)}.card-header{background:var(--gradient-primary);padding:1.25rem 1rem;display:flex;align-items:flex-start;justify-content:flex-start;gap:1rem;min-height:auto;position:relative;overflow:hidden}.card-header:before{content:"";position:absolute;top:-50%;right:-50%;width:200px;height:200px;background:#ffffff1a;border-radius:50%;opacity:0;transition:all .3s ease;pointer-events:none}.masters-card:hover .card-header:before{opacity:1;transform:scale(1.5)}.card-icon-wrapper{display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;z-index:1;color:#ffffff96}.card-header-content{display:flex;flex-direction:column;gap:.25rem;flex:1;align-items:flex-start;text-align:left;height:60px}.card-icon{color:#fff;flex-shrink:0}.default-icon{width:50px;height:50px;background:#fff3;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.75rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.card-error-badge{position:absolute;top:1rem;right:1rem;background:#ef4444;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;box-shadow:0 4px 12px #ef444466;z-index:10}.card-content{padding:1rem;flex-grow:1;display:flex;flex-direction:column}.card-title{font-size:1rem;font-weight:700;color:#fff;margin:0;line-height:1.3}.card-description{font-size:.75rem;color:#ffffffd9;margin:0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-stats{display:grid;grid-template-columns:1fr;gap:.75rem}.stat-item{display:flex;flex-direction:column}.stat-label{font-size:.65rem;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.4px;margin-bottom:.25rem;display:none}.stat-value{font-size:2rem;font-weight:600;color:var(--color-primary)}.stat-value.active{color:#10b981}.card-progress{margin-top:.25rem}.progress-bar{width:100%;height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden;margin-bottom:.35rem}.progress-fill{height:100%;background:linear-gradient(90deg,#10b981,#059669);border-radius:3px;transition:width .4s ease}.progress-text{font-size:.7rem;color:#6b7280;font-weight:600}.card-footer{padding:.75rem 1rem;background:#f9fafb;border-top:1px solid var(--color-border);display:flex;align-items:center;justify-content:flex-end;transition:var(--transition-base)}.masters-card:hover .card-footer{background:#f1f5f9}.card-action{display:flex;align-items:center;gap:.5rem;color:var(--color-text-dark);font-weight:700;font-size:.8rem;transition:var(--transition-base);cursor:pointer}.masters-card:hover .card-action{gap:.75rem}.action-icon{width:16px;height:16px;transition:var(--transition-base)}.masters-card:hover .action-icon{transform:translate(3px)}.action-text{font-weight:700}.card-error-message{position:absolute;bottom:0;left:0;right:0;background:#fee2e2;color:#dc2626;padding:.75rem;font-size:.8rem;text-align:center;border-top:2px solid #fca5a5;font-weight:600}@media (max-width: 768px){.card-header{padding:1.5rem 1rem;min-height:120px}.card-icon-wrapper,.card-icon{width:60px;height:60px}.default-icon{width:60px;height:60px;font-size:2rem}.card-content{padding:1.25rem}.card-title{font-size:1.1rem}.card-description{font-size:.85rem}}@media (max-width: 480px){.card-header{min-height:100px;padding:1rem}.card-icon-wrapper,.card-icon{width:50px;height:50px}.default-icon{width:50px;height:50px;font-size:1.75rem}.card-content{padding:1rem}.card-title{font-size:1rem}.card-footer{padding:1rem}}@keyframes cardEnter{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.masters-card:nth-child(1){animation-delay:0s}.masters-card:nth-child(2){animation-delay:.05s}.masters-card:nth-child(3){animation-delay:.1s}.masters-card:nth-child(n+4){animation-delay:.15s}.loading-spinner-container{display:flex;justify-content:center;align-items:center;min-height:200px;width:100%}.loading-spinner{text-align:center}.spinner{border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:0 auto 16px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-message{color:#666;font-size:14px;margin:8px 0 0}.error-alert{margin-bottom:16px;padding:0}.error-alert-content{background-color:#fee;border:1px solid #fcc;border-radius:4px;padding:12px 16px;display:flex;align-items:center;gap:12px;color:#c33}.error-icon{font-size:20px;flex-shrink:0}.error-message{flex:1;font-size:14px}.error-close{background:none;border:none;color:#c33;font-size:20px;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.error-close:hover{opacity:.7}.form-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease}.form-modal{background:#fff;border-radius:14px;box-shadow:0 20px 25px #00000026;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.form-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #e5e7eb;position:sticky;top:0;background:#fff;border-radius:14px 14px 0 0}.form-modal-title{font-size:1.25rem;font-weight:700;color:#1f2937;margin:0}.form-modal-close{background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.form-modal-close:hover{background:#f3f4f6;color:#1f2937}.form-error-alert{margin:1rem;padding:1rem;background:#fee2e2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;gap:.75rem;align-items:center;font-size:.9rem;font-weight:500}.master-form{padding:1.5rem}.form-fields{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-size:.85rem;font-weight:600;color:#1f2937;text-transform:capitalize;letter-spacing:.2px}.form-optional{font-size:.75rem;color:#9ca3af;font-weight:400;text-transform:none;margin-left:.25rem}.form-input{padding:.7rem .9rem;border:1px solid #e5e7eb;border-radius:8px;font-size:.9rem;font-family:inherit;transition:all .2s ease;background:#f9fafb}.form-input:focus{outline:none;background:#fff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-input:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.form-textarea{resize:vertical;min-height:100px;font-family:inherit;font-size:.9rem;line-height:1.5}.form-textarea:focus{outline:none;background:#fff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%234b5563' d='M0 0l6 8 6-8'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .7rem center;padding-right:2.2rem;cursor:pointer}.form-select:hover{border-color:#b0bec5}.form-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-checkbox-wrapper{display:flex;align-items:center;gap:.75rem;padding:.7rem .9rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s ease}.form-checkbox-wrapper:hover{border-color:#d1d5db;background:#fff}.form-checkbox{width:18px;height:18px;cursor:pointer;accent-color:#3b82f6}.checkbox-label{font-size:.9rem;color:#374151;font-weight:500;cursor:pointer}.form-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid #e5e7eb}.form-btn{padding:.65rem 1.25rem;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:inherit}.cancel-btn{background:#f3f4f6;color:#374151}.cancel-btn:hover:not(:disabled){background:#e5e7eb}.submit-btn{background:#3b82f6;color:#fff}.submit-btn:hover:not(:disabled){background:#2563eb;box-shadow:0 4px 12px #3b82f64d}.form-btn:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 600px){.form-modal{max-width:95vw;max-height:95vh;border-radius:12px}.form-modal-header{padding:1.25rem}.form-modal-title{font-size:1.1rem}.master-form{padding:1.25rem}.form-fields{gap:1rem}.form-actions{flex-wrap:wrap}.form-btn{flex:1;min-width:100px}}.import-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;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.import-modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;width:90%;max-width:500px;overflow:hidden;animation:slideUp .4s cubic-bezier(.4,0,.2,1)}.import-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.import-modal-header h3{font-size:1.25rem;font-weight:700;color:#1f2937;margin:0}.close-modal:hover{background:linear-gradient(135deg,#e0e7ff,#ddd6fe);color:#1f2937}.import-modal-body{padding:2rem}.import-instructions{margin-bottom:2rem;background:#f0f1ff;padding:1rem;border-radius:10px;border-left:4px solid #7c3aed}.import-instructions h4{font-size:.95rem;font-weight:600;color:#1f2937;margin:0 0 .75rem}.import-instructions ol{margin:0;padding-left:1.5rem;font-size:.85rem;color:#6b7280;line-height:1.6}.import-instructions li{margin-bottom:.5rem}.download-template-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;border:none;border-radius:10px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 15px #7c3aed4d}.download-template-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #7c3aed66}.download-template-btn:active{transform:translateY(0)}.import-divider{text-align:center;margin:1.5rem 0;color:#d1d5db;font-size:.85rem;font-weight:500}.file-upload-section{margin-bottom:1.5rem}.file-input-label{display:block;position:relative;padding:2rem;border:2px dashed #7c3aed;border-radius:10px;background:#fafbff;text-align:center;cursor:pointer;transition:all .3s ease}.file-input-label:hover{background:#f0f1ff;border-color:#6d28d9}.file-input-label input{display:none}.file-input-label input:disabled+.file-input-text{opacity:.6;cursor:not-allowed}.file-input-text{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.9rem;color:#7c3aed;font-weight:500}.import-alert{display:flex;gap:1rem;padding:1rem;border-radius:10px;margin-bottom:1.5rem;font-size:.9rem}.import-alert.error-alert{background:#fee2e2;border-left:4px solid #dc2626;color:#7f1d1d}.import-alert.error-alert svg{color:#dc2626;flex-shrink:0}.import-alert.success-alert{background:#d1fae5;border-left:4px solid #10b981;color:#065f46}.import-alert.success-alert svg{color:#10b981;flex-shrink:0}.alert-title{font-weight:600;margin:0 0 .25rem}.alert-message{margin:0;font-size:.85rem}.import-modal-footer{display:flex;gap:1rem;padding:1.5rem;border-top:1px solid #e5e7eb;background:linear-gradient(135deg,#f8fafc,#f1f5f9);justify-content:flex-end}.modal-btn:disabled{opacity:.5;cursor:not-allowed}.cancel-btn{background:#fff;color:#1f2937;border:2px solid #e5e7eb}.cancel-btn:hover:not(:disabled){background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-color:#7c3aed;transform:translateY(-2px);box-shadow:0 4px 12px #7c3aed1a}.import-btn{background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;box-shadow:0 4px 15px #7c3aed4d}.import-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #7c3aed66}.import-btn:active:not(:disabled){transform:translateY(0)}:root{--font-family: "Noto Sans Gujarati", system-ui, Avenir, Helvetica, Arial, sans-serif;--gradient-primary: linear-gradient(135deg, #7c3aed 0%, #7c3aed 100%);--color-primary: #7c3aed;--color-secondary: #7c3aed;--color-text-dark: #1f2937;--color-text-light: #6b7280;--color-accent: #7c3aed;--color-border: #e5e7eb;--color-bg-light: #f9fafb;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--transition-base: all .3s cubic-bezier(.4, 0, .2, 1)}.master-detail-container{min-height:100vh}.detail-header{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-bottom:1.5rem;padding:2rem;background:#fff;border-radius:14px;box-shadow:0 2px 12px #0000000f;border:1px solid var(--color-border);margin-left:0;margin-right:0}.header-left{display:flex;align-items:center;gap:1.5rem;flex:1;min-width:0}.header-right{display:flex;align-items:center;gap:1.5rem;flex-shrink:0;justify-content:flex-end}.back-button{display:flex;align-items:center;gap:.5rem;background:#fff;border:1.5px solid var(--color-border);padding:.6rem 1rem;border-radius:8px;font-size:.9rem;font-weight:500;color:var(--color-text-dark);cursor:pointer;transition:var(--transition-base);white-space:nowrap;flex-shrink:0;font-family:var(--font-family)}.back-button:hover{background:var(--color-bg-light);border-color:var(--color-primary);color:var(--color-primary)}.header-title h1{font-size:1.75rem;font-weight:700;color:var(--color-text-dark);margin:0;text-align:left;letter-spacing:-.3px}.header-title{display:flex;flex-direction:column;gap:.3rem}.header-subtitle{font-size:.9rem;color:var(--color-text-light);margin:0;font-weight:400;letter-spacing:.2px}.meta-item{display:flex;flex-direction:column;gap:.25rem;background:#f0f1ff;padding:.75rem 1.25rem;border-radius:10px;border:1px solid #e0e4ff;text-align:center;min-width:-moz-fit-content;min-width:fit-content}.meta-label{font-size:.7rem;color:#8b5cf6;font-weight:700;text-transform:uppercase;letter-spacing:.4px}.meta-value{font-size:1.5rem;font-weight:700;color:var(--color-primary)}.add-record-button{display:flex;align-items:center;gap:.6rem;background:var(--gradient-primary);color:#fff;border:none;padding:.65rem 1.25rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:var(--transition-base);white-space:nowrap;flex-shrink:0;box-shadow:0 4px 12px #7c3aed40;font-family:var(--font-family)}.add-record-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #7c3aed59}.add-record-button:active{transform:translateY(0)}.detail-search-filters-section{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap;align-items:center}.search-wrapper{position:relative;display:flex;align-items:center;background:#fff;border-radius:8px;border:1.5px solid var(--color-border);box-shadow:0 1px 4px #0000000a;transition:var(--transition-base);overflow:hidden;flex:1;min-width:250px}.search-wrapper:focus-within{border-color:var(--color-primary);box-shadow:0 2px 12px #7c3aed26}.search-icon{width:18px;height:18px;color:#94a3b8;margin-left:.75rem;flex-shrink:0;stroke-width:2}.detail-search-input{flex:1;padding:.65rem .75rem;border:none;background:transparent;font-size:.95rem;color:var(--color-text-dark);outline:none;font-family:var(--font-family)}.detail-search-input::-moz-placeholder{color:#cbd5e0;font-weight:400}.detail-search-input::placeholder{color:#cbd5e0;font-weight:400}.clear-search{width:36px;height:36px;background:transparent;border:none;color:#94a3b8;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition-base);margin-right:.25rem;flex-shrink:0}.clear-search:hover{color:#64748b;background:#f1f5f9;border-radius:6px}.filters-wrapper{display:flex;gap:.75rem;align-items:center}.import-button{display:flex;align-items:center;gap:.5rem;padding:.65rem 1rem;background:#7c3aed;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:var(--font-family);white-space:nowrap}.import-button:hover{background:#6d28d9;transform:translateY(-2px);box-shadow:0 4px 12px #7c3aed4d}.import-button:active{transform:translateY(0)}.import-button svg{stroke-width:2}.filter-item{display:flex}.filter-select{padding:.65rem 2rem .65rem 1rem;background:#fff;border:1.5px solid var(--color-border);border-radius:8px;font-size:.9rem;font-weight:500;color:var(--color-text-dark);cursor:pointer;transition:var(--transition-base);font-family:var(--font-family);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%234b5563' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}.filter-select:hover{border-color:var(--color-primary);background-color:#fafbff}.filter-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 2px 8px #7c3aed1a}.filter-select option{padding:.5rem;font-family:var(--font-family)}.records-table-section{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 20px #00000014;border:1px solid var(--color-border);transition:var(--transition-base)}.table-wrapper{overflow-x:auto}.records-table{width:100%;border-collapse:collapse;font-size:.85rem;font-family:var(--font-family)}.records-table thead{background:#fff;text-align:center!important;border-bottom:1px solid var(--color-border)}.records-table th{padding:1rem;text-align:center!important;font-weight:600;color:var(--color-text-dark);white-space:nowrap;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:all .3s ease;letter-spacing:.2px;font-size:.9rem;display:table-cell}.records-table th.sortable:hover{background:var(--color-bg-light);color:var(--color-primary)}.records-table th.sortable.active{color:var(--color-primary)}.records-table th.actions-column{cursor:default;text-align:center;width:80px;min-width:80px}.th-content{display:flex;align-items:center;justify-content:center!important;text-align:center!important;gap:.5rem;width:100%}.sort-indicator{font-size:.8rem;opacity:.6}.records-table tbody tr{border-bottom:1px solid var(--color-border);transition:all .2s ease}.records-table tbody tr:hover{background:#fafbff}.records-table tbody tr.record-row:last-child{border-bottom:none}.records-table td{padding:1rem;color:var(--color-text-dark);font-size:.9rem}.record-cell{max-width:250px;overflow:hidden}.cell-value{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-family)}.status-badge{display:inline-block;padding:.35rem .75rem;border-radius:6px;font-size:.85rem;font-weight:500;font-family:var(--font-family)}.status-badge.active{background:#d1fae5;color:#047857}.status-badge.inactive{background:#fee2e2;color:#dc2626}.actions-cell{text-align:center;width:80px;min-width:80px}.sr-column{text-align:center;width:50px;min-width:50px;font-weight:500;color:var(--color-text-light);padding:1rem .5rem}.sr-cell{text-align:center;width:50px;min-width:60px;padding:1rem .5rem;background:#fafbfc;font-weight:600;color:#7c3aed}.action-buttons{display:flex;gap:.5rem;justify-content:center}.action-btn{background:none;border:none;cursor:pointer;padding:.5rem;border-radius:6px;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--color-text-light)}.action-btn.edit-btn{color:#f59e0b}.action-btn.edit-btn:hover{background:#fef3c7;color:#d97706}.action-btn.delete-btn{color:#ef4444}.action-btn.delete-btn:hover{background:#fee2e2;color:#dc2626}.no-records{padding:4rem 2rem;text-align:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:14px;box-shadow:0 2px 12px #0000000a;border:2px dashed var(--color-border)}.no-records-icon{color:var(--color-primary);margin-bottom:1rem;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.no-records h3{font-size:1.5rem;font-weight:700;color:var(--color-text-dark);margin:0 0 .5rem}.no-records p{color:var(--color-text-light);margin:0 0 1.5rem;line-height:1.6;font-size:.95rem}.reset-search-btn{background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:10px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 15px #7c3aed4d;font-size:.95rem}.reset-search-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #7c3aed66}.reset-search-btn:active{transform:translateY(0);box-shadow:0 2px 8px #7c3aed33}.table-footer{padding:1rem;border-top:1px solid var(--color-border);text-align:right;background:#fafbfc}.records-count{font-size:.9rem;color:var(--color-text-light);font-weight:500}.records-count strong{color:var(--color-text-dark);font-weight:600}.pagination{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem;background:#fff;border-top:1px solid var(--color-border);flex-wrap:wrap;border-radius:0 0 14px 14px}.page-btn{background:#fff;border:1px solid var(--color-border);padding:.5rem .75rem;border-radius:6px;font-weight:500;color:var(--color-text-dark);cursor:pointer;transition:all .2s ease;white-space:nowrap;font-size:.85rem}.page-btn:hover:not(:disabled){background:var(--color-bg-light);border-color:var(--color-primary);color:var(--color-primary)}.page-btn:disabled{opacity:.5;cursor:not-allowed}.page-numbers{display:flex;align-items:center;gap:.4rem}.page-num{background:#fff;border:1px solid var(--color-border);width:36px;height:36px;border-radius:6px;font-weight:500;color:var(--color-text-dark);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-size:.85rem}.page-num:hover{background:var(--color-bg-light);border-color:var(--color-primary);color:var(--color-primary)}.page-num.active{background:var(--gradient-primary);border-color:var(--color-primary);color:#fff}.page-numbers>span{color:var(--color-text-light);font-weight:500;padding:0 .5rem}.delete-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;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.delete-modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;width:90%;max-width:420px;overflow:hidden;animation:slideUp .4s cubic-bezier(.4,0,.2,1)}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid var(--color-border);background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.modal-header h3{font-size:1.25rem;font-weight:700;color:var(--color-text-dark);margin:0}.close-modal{background:none;border:none;font-size:1.5rem;color:#7c3aed;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .3s ease}.close-modal:hover{background:linear-gradient(135deg,#e0e7ff,#ddd6fe);color:var(--color-text-dark)}.modal-body{padding:1.5rem}.modal-body p{font-size:.95rem;color:var(--color-text-dark);margin:0 0 .75rem;line-height:1.6}.modal-body p.warning-text{color:#dc2626;font-weight:600;margin:0}.modal-footer{display:flex;gap:1rem;padding:1.5rem;border-top:1px solid var(--color-border);background:linear-gradient(135deg,#f8fafc,#f1f5f9);justify-content:flex-end}.modal-btn{padding:.75rem 1.5rem;border-radius:10px;font-weight:600;cursor:pointer;border:none;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:.95rem}.cancel-btn{background:#fff;color:var(--color-text-dark);border:2px solid var(--color-border)}.cancel-btn:hover{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 4px 12px #7c3aed1a}.delete-confirm-btn{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 4px 15px #ef44444d}.delete-confirm-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ef444466}.delete-confirm-btn:active{transform:translateY(0)}.delete-confirm-btn:hover{background:#b91c1c;transform:translateY(-1px);box-shadow:0 6px 16px #dc262666}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 1024px){.detail-header{flex-direction:column;align-items:flex-start;gap:1.5rem}.header-content{flex-direction:column;width:100%;gap:1.5rem}.header-meta{width:100%}.add-record-button{width:100%;justify-content:center}}@media (max-width: 768px){.master-detail-container{padding:1.5rem}.detail-header{flex-direction:column;align-items:stretch;gap:1rem}.header-title h1{font-size:1.75rem}.header-meta{width:100%;justify-content:space-between}.back-button,.add-record-button{width:100%;justify-content:center}.detail-search-section{flex-direction:column;align-items:stretch;gap:1rem}.search-wrapper{min-width:unset}.filter-info{text-align:center}.records-table{font-size:.8rem}.records-table th,.records-table td{padding:.75rem .5rem}.record-cell{max-width:150px}.cell-value{font-size:.75rem}.pagination{padding:1rem}.page-btn{padding:.4rem .8rem;font-size:.85rem}.page-num{width:36px;height:36px;font-size:.85rem}}@media (max-width: 480px){.master-detail-container{padding:1rem}.detail-header{gap:.75rem}.back-button,.add-record-button{width:100%}.back-button span,.add-record-button span{display:none}.back-button svg,.add-record-button svg{margin:0}.header-title h1{font-size:1.5rem}.header-subtitle{font-size:.85rem}.header-meta{flex-direction:column;width:100%}.detail-search-input{padding:.75rem 1rem .75rem 2.5rem}.records-table{font-size:.7rem}.records-table th,.records-table td{padding:.5rem .25rem}.record-cell{max-width:100px}.cell-value{font-size:.65rem}.action-buttons{gap:.25rem}.action-btn{font-size:1rem;padding:.25rem}.modal-header h3{font-size:1rem}.modal-body,.modal-footer{padding:1rem}.modal-footer{flex-direction:column-reverse}.modal-btn{width:100%}}.hs-bar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:0;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:14px 20px;box-shadow:0 1px 3px #0000000f}.hs-field{display:flex;align-items:center;gap:8px;min-width:100px;position:relative}.hs-field--disabled .hs-select-wrap{opacity:.45;pointer-events:none}.hs-label{display:block;font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;white-space:nowrap}.hs-optional{font-weight:400;text-transform:none;color:#9ca3af}.hs-select-wrap{position:relative;width:100%;display:flex;flex-direction:column}.hs-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:100%;padding:7px 30px 7px 10px;font-size:13px;font-weight:500;color:#1f2937;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s;outline:none}.hs-select:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1f;background:#fff}.hs-field--selected .hs-select{border-color:#7c3aed;background:#faf5ff;color:#5b21b6;font-weight:600}.hs-chevron{position:absolute;right:9px;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none}.hs-loading{display:flex;align-items:center;gap:6px;padding:7px 10px;font-size:13px;color:#9ca3af;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px}.hs-spinner{animation:hs-spin .8s linear infinite;color:#7c3aed;flex-shrink:0}@keyframes hs-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hs-connector{flex-shrink:0;font-size:18px;color:#d1d5db;line-height:1;margin:16px 6px 0;align-self:flex-end;padding-bottom:8px}@media (max-width: 900px){.hs-bar{flex-direction:column;align-items:stretch;gap:10px;padding:16px}.hs-field{flex-direction:column;align-items:stretch;gap:4px}.hs-connector{display:none}}.ctt-wrap{position:relative;display:flex;align-items:stretch;border-bottom:2px solid #e5e7eb;background:#fff}.ctt-tab:disabled{opacity:.4;cursor:not-allowed}.ctt-bar{display:flex;align-items:center;gap:2px;padding:0 4px;overflow-x:auto;scrollbar-width:none;flex:1;min-width:0}.ctt-bar::-webkit-scrollbar{display:none}.ctt-wrap:before,.ctt-wrap:after{content:"";position:absolute;top:0;bottom:2px;width:40px;pointer-events:none;z-index:1;transition:opacity .15s}.ctt-wrap:before{left:0;background:linear-gradient(to right,#fff 40%,transparent)}.ctt-wrap:after{right:0;background:linear-gradient(to left,#fff 40%,transparent)}.ctt-arrow{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:100%;border:none;background:#fff;color:#6b7280;cursor:pointer;z-index:2;transition:color .15s,background .15s;padding-bottom:2px}.ctt-arrow:hover{color:#7c3aed;background:#faf5ff}.ctt-arrow--left{border-right:1px solid #f3f4f6}.ctt-arrow--right{border-left:1px solid #f3f4f6}.ctt-tab{display:flex;align-items:center;gap:6px;padding:10px 16px;font-size:13px;font-weight:500;color:#6b7280;background:transparent;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;white-space:nowrap;border-radius:6px 6px 0 0;transition:color .15s,border-color .15s,background .15s;outline:none}.ctt-tab:hover:not(:disabled){color:#7c3aed;background:#faf5ff}.ctt-tab--active{color:#7c3aed;font-weight:600;border-bottom-color:#7c3aed;background:#faf5ff}.rp-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1200;display:flex;align-items:flex-end;justify-content:flex-end}.rp-panel{background:#fff;width:460px;max-width:100vw;height:100vh;display:flex;flex-direction:column;box-shadow:-8px 0 40px #0000002e;animation:rp-slide-in .24s cubic-bezier(.4,0,.2,1)}@keyframes rp-slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.rp-header{display:flex;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid #e5e7eb;background:#fff;flex-shrink:0;text-align:left}.rp-header-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:#ede9fe;color:#4f46e5;flex-shrink:0}.rp-header-text{flex:1;min-width:0}.rp-title{font-size:14px;font-weight:700;color:#111827;margin:0;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rp-subtitle{font-size:11px;color:#6b7280;margin:3px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rp-close-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;background:#f3f4f6;border-radius:7px;cursor:pointer;color:#6b7280;flex-shrink:0;transition:background .15s,color .15s}.rp-close-btn:hover{background:#e5e7eb;color:#111827}.rp-body{flex:1;overflow-y:auto;padding:20px;background:#f8fafc;display:flex;flex-direction:column;gap:14px}.rp-loading,.rp-error{display:flex;align-items:center;justify-content:center;padding:40px;font-size:13px;color:#6b7280;gap:8px}.rp-error{color:#dc2626}.rp-level-card{border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 1px 4px #0000000f;transition:box-shadow .15s}.rp-level-card:hover{box-shadow:0 4px 14px #00000017}.rp-level-header{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid #f1f5f9}.rp-level-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 2px #00000014}.rp-level-name{flex:1;font-size:13px;font-weight:700;color:#1e293b;letter-spacing:.01em}.rp-status-badge{font-size:10px;font-weight:700;padding:3px 10px;border-radius:20px;text-transform:uppercase;letter-spacing:.06em}.rp-status-badge--approved{background:#dcfce7;color:#166534;border:1px solid #86efac}.rp-status-badge--rejected{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.rp-status-badge--pending{background:#fef3c7;color:#92400e;border:1px solid #fcd34d}.rp-level-body{padding:14px 16px;display:flex;flex-direction:column;gap:12px}.rp-existing-comment{background:#f1f5f9;border:1px solid #e2e8f0;border-left:3px solid #94a3b8;border-radius:8px;padding:9px 11px}.rp-existing-comment-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;margin-bottom:5px}.rp-existing-comment-text{font-size:12px;color:#334155;line-height:1.55;margin:0;text-align:left}.rp-existing-comment-meta{font-size:10px;color:#94a3b8;margin-top:5px;text-align:left}.rp-review-form{display:flex;flex-direction:column;gap:8px}.rp-comment-label{font-size:11px;font-weight:600;color:#475569;letter-spacing:.02em}.rp-comment-input{width:100%;min-height:76px;padding:9px 11px;border:1.5px solid #e2e8f0;border-radius:9px;font-size:12.5px;color:#1e293b;resize:vertical;font-family:inherit;line-height:1.55;box-sizing:border-box;background:#f8fafc;transition:border-color .15s,box-shadow .15s,background .15s}.rp-comment-input:focus{outline:none;border-color:#6366f1;background:#fff;box-shadow:0 0 0 3px #6366f11f}.rp-comment-input::-moz-placeholder{color:#b0bac7}.rp-comment-input::placeholder{color:#b0bac7}.rp-action-row{display:flex;gap:8px}.rp-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 12px;border-radius:9px;font-size:12.5px;font-weight:600;cursor:pointer;border:none;transition:all .15s;letter-spacing:.01em}.rp-btn:disabled{opacity:.45;cursor:not-allowed}.rp-btn--approve{background:#16a34a;color:#fff;box-shadow:0 2px 8px #16a34a4d}.rp-btn--approve:hover:not(:disabled){background:#15803d;box-shadow:0 4px 12px #16a34a66;transform:translateY(-1px)}.rp-btn--approve:active:not(:disabled){transform:translateY(0)}.rp-btn--reject{background:#dc2626;color:#fff;box-shadow:0 2px 8px #dc262647}.rp-btn--reject:hover:not(:disabled){background:#b91c1c;box-shadow:0 4px 12px #dc262661;transform:translateY(-1px)}.rp-btn--reject:active:not(:disabled){transform:translateY(0)}.rp-btn--reset{flex:0 0 auto;background:#f1f5f9;color:#64748b;border:1.5px solid #e2e8f0;padding:9px 12px}.rp-btn--reset:hover:not(:disabled){background:#e2e8f0;color:#334155}.rp-decision-banner{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:10px;border:1.5px solid}.rp-decision-banner--approved{background:#f0fdf4;border-color:#86efac;color:#166534}.rp-decision-banner--rejected{background:#fef2f2;border-color:#fca5a5;color:#991b1b}.rp-decision-banner svg{flex-shrink:0;margin-top:1px}.rp-decision-banner-text{display:flex;flex-direction:column;gap:2px}.rp-decision-banner-title{font-size:13px;font-weight:700}.rp-decision-banner-meta{font-size:11px;opacity:.75;font-weight:400}.rp-waiting-note{display:flex;align-items:center;gap:7px;font-size:11.5px;color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:8px 11px}.rp-waiting-note svg{flex-shrink:0;color:#d97706}.rp-btn--reset-full{flex:1 1 100%;width:100%;justify-content:center;font-size:11.5px;color:#64748b;background:#f8fafc;border:1.5px dashed #cbd5e1;border-radius:8px;padding:7px 12px}.rp-btn--reset-full:hover:not(:disabled){background:#f1f5f9;border-color:#94a3b8;color:#334155}.rp-no-levels{text-align:center;padding:40px 20px;color:#94a3b8;font-size:13px;line-height:1.7}.rp-no-levels strong{color:#475569}.rp-footer{padding:13px 20px;border-top:1px solid #e5e7eb;background:#fff;flex-shrink:0;display:flex;align-items:center;justify-content:space-between}.rp-footer-note{font-size:11px;color:#b0bac7}.rp-footer-close{padding:7px 18px;font-size:12.5px;font-weight:600;border:1.5px solid #e2e8f0;border-radius:8px;background:#f8fafc;color:#334155;cursor:pointer;transition:all .15s}.rp-footer-close:hover{background:#f1f5f9;border-color:#cbd5e1;color:#1e293b}.rp-tabs{display:flex;border-bottom:1px solid #e5e7eb;background:#fff;flex-shrink:0}.rp-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:10px 0;font-size:12px;font-weight:600;color:#6b7280;border:none;border-bottom:2px solid transparent;background:transparent;cursor:pointer;transition:color .15s,border-color .15s}.rp-tab:hover{color:#374151}.rp-tab--active{color:#7c3aed;border-bottom-color:#7c3aed}.rp-level-header-right{display:flex;align-items:center;gap:6px;margin-left:auto}.rp-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700;padding:2px 7px;border-radius:10px}.rp-badge--updated{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.rp-badge--needs-review{background:#fffbeb;color:#92400e;border:1px solid #fde68a}.rp-history-timeline{display:flex;flex-direction:column;padding:4px 0}.rp-history-entry{display:flex;gap:10px;padding:10px 4px;position:relative}.rp-history-entry:not(:last-child):after{content:"";position:absolute;left:16px;top:38px;bottom:-4px;width:1px;background:#e5e7eb}.rp-history-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.rp-history-connector{display:none}.rp-history-content{flex:1;min-width:0;padding-bottom:4px;text-align:left}.rp-history-top{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-start}.rp-history-event{font-size:12px;font-weight:700;text-align:left}.rp-history-level{font-size:10px;font-weight:700;padding:2px 8px;border-radius:10px}.rp-history-comment{font-size:11.5px;color:#374151;font-style:italic;margin:4px 0 2px;line-height:1.45;text-align:left}.rp-history-meta{font-size:10.5px;color:#9ca3af;margin-top:3px;text-align:left}.vhp-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1200;display:flex;align-items:flex-end;justify-content:flex-end}.vhp-panel{background:#fff;width:520px;max-width:100vw;height:100vh;display:flex;flex-direction:column;box-shadow:-8px 0 40px #0000002e;animation:vhp-slide-in .24s cubic-bezier(.4,0,.2,1)}@keyframes vhp-slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.vhp-header{display:flex;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid #e5e7eb;background:#fff;flex-shrink:0}.vhp-header-icon{width:36px;height:36px;border-radius:10px;background:#f0fdf4;color:#16a34a;display:flex;align-items:center;justify-content:center;flex-shrink:0}.vhp-header-text{flex:1;min-width:0}.vhp-title{font-size:14px;font-weight:700;color:#111827;margin:0}.vhp-subtitle{font-size:11px;color:#6b7280;margin:3px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vhp-close-btn{width:30px;height:30px;border:none;background:#f3f4f6;border-radius:7px;cursor:pointer;color:#6b7280;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,color .15s}.vhp-close-btn:hover{background:#e5e7eb;color:#111827}.vhp-body{flex:1;overflow-y:auto;padding:20px;background:#f8fafc}.vhp-loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:60px 20px;font-size:13px;color:#6b7280}.vhp-error{text-align:center;padding:40px 20px;font-size:13px;color:#dc2626}.vhp-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:60px 20px;text-align:center;color:#9ca3af}.vhp-empty p{font-size:14px;font-weight:600;color:#6b7280;margin:4px 0 0}.vhp-empty span{font-size:12px;max-width:280px;line-height:1.55}.vhp-timeline{display:flex;flex-direction:column;gap:0}.vhp-timeline-row{display:flex;gap:12px;align-items:flex-start}.vhp-connector{display:flex;flex-direction:column;align-items:center;width:20px;flex-shrink:0;padding-top:14px}.vhp-connector-dot{width:12px;height:12px;border-radius:50%;border:2px solid;flex-shrink:0;z-index:1}.vhp-connector-dot--create{background:#dcfce7;border-color:#16a34a}.vhp-connector-dot--update{background:#ede9fe;border-color:#7c3aed}.vhp-connector-line{width:2px;flex:1;min-height:16px;background:#e5e7eb;margin-top:4px}.vhp-card{flex:1;min-width:0;background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;margin-bottom:12px;box-shadow:0 1px 3px #0000000d;transition:box-shadow .15s}.vhp-card:hover{box-shadow:0 3px 10px #00000014}.vhp-card--latest{border-color:#c4b5fd;box-shadow:0 0 0 1px #ede9fe}.vhp-card-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .12s}.vhp-card-header:hover{background:#fafbff}.vhp-card-left{display:flex;align-items:center;gap:10px;min-width:0}.vhp-version-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;padding:3px 9px;border-radius:20px;white-space:nowrap;flex-shrink:0;letter-spacing:.02em}.vhp-version-badge--create{background:#dcfce7;color:#166534;border:1px solid #86efac}.vhp-version-badge--update{background:#ede9fe;color:#5b21b6;border:1px solid #c4b5fd}.vhp-card-meta{display:flex;align-items:center;gap:6px;min-width:0}.vhp-action-label{font-size:12px;color:#374151;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vhp-latest-pill{font-size:10px;font-weight:700;padding:2px 7px;background:#7c3aed;color:#fff;border-radius:10px;white-space:nowrap;flex-shrink:0}.vhp-card-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.vhp-actor{display:flex;flex-direction:column;align-items:flex-end;gap:1px}.vhp-actor-name{font-size:11.5px;font-weight:600;color:#374151}.vhp-actor-ts{font-size:10px;color:#9ca3af}.vhp-expand-btn{width:24px;height:24px;border:none;background:#f3f4f6;border-radius:5px;cursor:pointer;color:#6b7280;display:flex;align-items:center;justify-content:center;flex-shrink:0}.vhp-card-body{border-top:1px solid #f1f5f9;padding:12px 14px;background:#fafbff}.vhp-create-note{display:flex;align-items:center;gap:8px;font-size:12px;color:#6b7280;font-style:italic}.vhp-create-note svg{flex-shrink:0;color:#9ca3af}.vhp-changes-list{display:flex;flex-direction:column;gap:10px}.vhp-change{background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.vhp-change-label{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#475569;padding:6px 10px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.vhp-change-values{display:flex;align-items:flex-start;gap:0}.vhp-change-before,.vhp-change-after{flex:1;padding:8px 10px;display:flex;flex-direction:column;gap:4px;min-width:0}.vhp-change-before{border-right:1px solid #e2e8f0}.vhp-change-arrow{padding:10px 6px;font-size:12px;color:#9ca3af;flex-shrink:0;align-self:center}.vhp-change-tag{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:1px 6px;border-radius:4px;display:inline-block;width:-moz-fit-content;width:fit-content}.vhp-change-tag--before{background:#fee2e2;color:#991b1b}.vhp-change-tag--after{background:#dcfce7;color:#166534}.vhp-change-text{font-size:11.5px;color:#374151;line-height:1.5;word-break:break-word;text-align:left;font-family:inherit}.vhp-val-empty{font-size:11px;color:#9ca3af;font-style:italic}.vhp-val-html{font-size:11.5px;color:#374151;line-height:1.55;word-break:break-word;max-height:200px;overflow-y:auto}.vhp-val-html h1,.vhp-val-html h2,.vhp-val-html h3,.vhp-val-html h4,.vhp-val-html h5,.vhp-val-html h6{font-size:12px;font-weight:700;margin:4px 0 2px}.vhp-val-html p{margin:2px 0}.vhp-val-html ul,.vhp-val-html ol{margin:2px 0;padding-left:16px}.vhp-val-html li{margin:1px 0}.vhp-val-html strong{font-weight:700}.vhp-val-html em{font-style:italic}.vhp-val-html a{color:#2563eb;text-decoration:underline}.vhp-footer{padding:13px 20px;border-top:1px solid #e5e7eb;background:#fff;flex-shrink:0;display:flex;align-items:center;justify-content:space-between}.vhp-footer-note{font-size:11px;color:#b0bac7}.vhp-footer-close{padding:7px 18px;font-size:12.5px;font-weight:600;border:1.5px solid #e2e8f0;border-radius:8px;background:#f8fafc;color:#334155;cursor:pointer;transition:all .15s}.vhp-footer-close:hover{background:#f1f5f9;border-color:#cbd5e1;color:#1e293b}.ta-root{display:flex;flex-direction:column;gap:10px}.ta-status{display:flex;align-items:center;gap:8px;padding:20px;font-size:13px;color:#9ca3af;background:#f8f7ff;border:1px solid #ede9fe;border-radius:10px}.ta-status--empty{color:#a78bfa}.ta-spinner{animation:ta-spin .8s linear infinite;flex-shrink:0}@keyframes ta-spin{to{transform:rotate(360deg)}}.ta-item{border:1.5px solid #e5e7eb;border-radius:12px;overflow:hidden;background:#fff;transition:border-color .15s,box-shadow .15s}.ta-item--open{border-color:#c4b5fd;box-shadow:0 2px 12px #7c3aed14}.ta-header{width:100%;display:flex;align-items:center;gap:12px;padding:13px 16px;background:#fafafa;border:none;cursor:pointer;text-align:left;transition:background .15s}.ta-item--open .ta-header{background:#f5f3ff}.ta-header:hover{background:#f0ebff}.ta-header-index{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#ede9fe;color:#6d28d9;font-size:11px;font-weight:700;flex-shrink:0}.ta-item--open .ta-header-index{background:#7c3aed;color:#fff}.ta-header-title{flex:1;font-size:13.5px;font-weight:600;color:#1e293b;letter-spacing:.01em}.ta-header-chevron{color:#9ca3af;flex-shrink:0;display:flex;align-items:center;transition:color .15s}.ta-item--open .ta-header-chevron{color:#7c3aed}.ta-body{border-top:1.5px solid #ede9fe;padding:16px;background:#fff}.ql-root{display:flex;flex-direction:column;gap:0}.ql-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:14px 0 12px;row-gap:8px}.ql-toolbar .ql-add-btn{margin-left:auto;flex-shrink:0}.ql-search-wrap{position:relative;flex:1;min-width:200px}.ql-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none}.ql-search{width:100%;padding:8px 32px;border:1px solid #e5e7eb;border-radius:7px;font-size:13px;outline:none;background:#f9fafb;transition:border-color .15s}.ql-search:focus{border-color:#7c3aed;background:#fff}.ql-search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#9ca3af;padding:2px}.ql-filters{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.ql-filter-select{padding:7px 10px;border:1px solid #e5e7eb;border-radius:6px;font-size:12px;color:#374151;background:#f9fafb;cursor:pointer;outline:none}.ql-filter-select:focus{border-color:#7c3aed}.ql-clear-filters{display:flex;align-items:center;gap:4px;padding:6px 10px;border:1px solid #fca5a5;border-radius:6px;font-size:12px;color:#ef4444;background:#fff5f5;cursor:pointer}.ql-add-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#7c3aed;color:#fff;border:none;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s}.ql-add-btn:hover{background:#6d28d9}.ql-count{font-size:12px;color:#6b7280;padding:0 0 10px}.ql-count-filtered{color:#7c3aed}.ql-loading,.ql-empty{padding:48px 20px;text-align:center;color:#9ca3af;font-size:14px}.ql-list{display:flex;flex-direction:column;gap:8px}.ql-row{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;transition:box-shadow .15s,border-color .15s}.ql-row:hover{box-shadow:0 2px 8px #00000012;border-color:#d1d5db}.ql-row-num{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:#f3f4f6;color:#6b7280;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;margin-top:2px}.ql-row-body{flex:1;min-width:0}.ql-question-text{margin:0 0 6px;font-size:13px;font-weight:500;color:#111827;line-height:1.5;text-align:left;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ql-badges{display:flex;flex-wrap:wrap;gap:4px}.ql-badge{display:inline-flex;align-items:center;padding:2px 7px;border-radius:10px;font-size:11px;font-weight:500;background:#f3f4f6;color:#374151;white-space:nowrap}.ql-badge--type{background:#ede9fe;color:#5b21b6}.ql-badge--bloom{background:#e0f2fe;color:#0369a1}.ql-badge--scope{background:#f0fdf4;color:#15803d}.ql-badge--diff.ql-badge--green{background:#dcfce7;color:#166534}.ql-badge--diff.ql-badge--amber{background:#fef9c3;color:#92400e}.ql-badge--diff.ql-badge--red{background:#fee2e2;color:#991b1b}.ql-row-actions{display:flex;flex-direction:row;align-items:center;gap:4px;flex-shrink:0;align-self:center}.ql-action-btn{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;border-radius:6px;background:#fff;color:#6b7280;cursor:pointer;transition:all .15s}.ql-action-btn:hover{border-color:#7c3aed;color:#7c3aed;background:#faf5ff}.ql-action-btn--review:hover{border-color:#c4b5fd;color:#7c3aed;background:#faf5ff}.ql-action-btn--danger:hover{border-color:#fca5a5;color:#ef4444;background:#fff5f5}.ql-action-btn:disabled{opacity:.4;cursor:not-allowed}@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;position:relative;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.45"}.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:-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 .smash{display:inline;line-height:0}.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;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{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}.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}.rte-wrap{display:flex;flex-direction:column;border:1.5px solid #e5e7eb;border-radius:10px;overflow:hidden;background:#fafafa;flex:1;transition:border-color .15s,box-shadow .15s}.rte-wrap:focus-within{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a;background:#fff}.rte-toolbar{display:flex;align-items:center;gap:2px;padding:6px 10px;background:#f5f3ff;border-bottom:1.5px solid #ede9fe;flex-wrap:wrap;flex-shrink:0}.rte-btn{display:flex;align-items:center;justify-content:center;width:30px;height:28px;border:none;border-radius:6px;background:transparent;color:#6b7280;cursor:pointer;transition:background .12s,color .12s;flex-shrink:0}.rte-btn:hover:not(:disabled){background:#ede9fe;color:#7c3aed}.rte-btn--active{background:#ddd6fe;color:#7c3aed}.rte-btn:disabled{opacity:.35;cursor:not-allowed}.rte-divider{width:1px;height:20px;background:#d1d5db;margin:0 4px;flex-shrink:0}.rte-content{flex:1;overflow-y:auto;min-height:0}.rte-content .ProseMirror{outline:none;min-height:calc(100vh - 260px);padding:18px 22px;font-size:14.5px;line-height:1.85;color:#1f2937;font-family:inherit;text-align:left}.rte-content .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:#9ca3af;pointer-events:none;float:left;height:0}.rte-content .ProseMirror h2{font-size:18px;font-weight:700;color:#111827;margin:20px 0 8px;border-bottom:1.5px solid #e5e7eb;padding-bottom:4px}.rte-content .ProseMirror h3{font-size:15.5px;font-weight:600;color:#1f2937;margin:16px 0 6px}.rte-content .ProseMirror p{margin:0 0 10px}.rte-content .ProseMirror p:last-child{margin-bottom:0}.rte-content .ProseMirror ul,.rte-content .ProseMirror ol{padding-left:28px;margin:8px 0}.rte-content .ProseMirror ul{list-style-type:disc}.rte-content .ProseMirror ol{list-style-type:decimal}.rte-content .ProseMirror ul ul{list-style-type:circle}.rte-content .ProseMirror ul ul ul{list-style-type:square}.rte-content .ProseMirror li{margin:4px 0}.rte-content .ProseMirror li p{margin:0}.rte-content .ProseMirror blockquote{border-left:3px solid #7c3aed;margin:12px 0;padding:8px 16px;background:#f5f3ff;border-radius:0 8px 8px 0;color:#4b5563;font-style:italic}.rte-content .ProseMirror hr{border:none;border-top:1.5px solid #e5e7eb;margin:16px 0}.rte-content .ProseMirror strong{font-weight:700}.rte-content .ProseMirror em{font-style:italic}.rte-content .ProseMirror u{text-decoration:underline}.rte-content .ProseMirror code{background:#f3f4f6;color:#7c3aed;border-radius:4px;padding:1px 5px;font-size:13px;font-family:Fira Mono,Consolas,monospace}.rte-wrap--readonly{border-color:transparent;box-shadow:none;background:transparent}.rte-wrap--readonly .rte-content .ProseMirror{padding:0;min-height:unset}.rte-wrap--compact .rte-content .ProseMirror{min-height:80px;padding:10px 14px;font-size:13.5px}.rte-math-wrap{position:relative;display:inline-flex}.rte-btn--math{font-size:16px;font-weight:700;width:32px;letter-spacing:-.5px}.rte-math-popover{position:fixed;min-width:320px;max-width:400px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 10px 30px #00000024;z-index:9999;padding:14px;display:flex;flex-direction:column;gap:10px}.rte-math-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.rte-math-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#111827}.rte-math-type-row{display:flex;gap:4px}.rte-math-type-btn{padding:3px 9px;font-size:11px;border:1.5px solid #e2e8f0;border-radius:6px;background:#f8fafc;color:#6b7280;cursor:pointer;display:flex;align-items:center;gap:3px;transition:all .12s}.rte-math-type-btn code{font-size:10px;font-family:Courier New,monospace;opacity:.8}.rte-math-type-btn--on{border-color:#7c3aed;background:#f5f3ff;color:#7c3aed}.rte-math-input{width:100%;box-sizing:border-box;font-family:Courier New,monospace;font-size:12.5px;border:1.5px solid #e2e8f0;border-radius:8px;padding:8px 10px;resize:vertical;min-height:40px;outline:none;color:#1e293b;background:#fafbff;transition:border-color .15s;line-height:1.5}.rte-math-input:focus{border-color:#7c3aed;background:#fff}.rte-math-preview{min-height:32px;padding:8px 12px;background:#f8f9fc;border:1px solid #e5e7eb;border-radius:8px;font-size:15px;overflow-x:auto;text-align:left}.rte-math-preview--block{text-align:center}.rte-math-footer{display:flex;align-items:center;gap:8px}.rte-math-hint{flex:1;font-size:10px;color:#9ca3af}.rte-math-cancel{padding:5px 12px;font-size:12px;border:1.5px solid #e2e8f0;border-radius:6px;background:#f8fafc;color:#6b7280;cursor:pointer;transition:all .12s}.rte-math-insert{padding:5px 14px;font-size:12px;font-weight:600;border:none;border-radius:6px;background:#7c3aed;color:#fff;cursor:pointer;transition:background .12s}.rte-math-insert:hover:not(:disabled){background:#6d28d9}.rte-math-insert:disabled{opacity:.4;cursor:not-allowed}.math-node--inline{display:inline;cursor:pointer}.math-node--block{display:block;text-align:center;margin:16px 0}.math-node--selected .math-rendered{outline:2px solid #7c3aed;border-radius:4px}.math-rendered{display:inline;cursor:pointer;padding:1px 3px;border-radius:3px;transition:background .12s}.math-rendered:hover{background:#7c3aed14}.math-node--block .math-rendered{display:block}.math-placeholder{color:#9ca3af;font-style:italic;font-size:12px}.math-error{color:#dc2626;font-size:12px;font-family:monospace}.math-editor{display:inline-flex;flex-direction:column;gap:6px;border:1.5px solid #7c3aed;border-radius:8px;padding:8px;background:#fafbff;box-shadow:0 4px 16px #7c3aed1f;min-width:280px;max-width:400px;vertical-align:middle}.math-node--block .math-editor{display:flex;max-width:100%}.math-editor-row{display:flex;gap:8px;align-items:flex-start}.math-editor-input{flex:1;font-family:Courier New,monospace;font-size:12.5px;border:1px solid #e2e8f0;border-radius:6px;padding:6px 8px;resize:none;outline:none;color:#1e293b;background:#fff;line-height:1.5;min-width:0}.math-editor-input:focus{border-color:#7c3aed}.math-editor-preview{flex:1;min-height:32px;padding:6px 8px;background:#f8f9fc;border:1px solid #e5e7eb;border-radius:6px;font-size:14px;overflow-x:auto;display:flex;align-items:center;justify-content:center}.math-node--block .math-editor-preview{text-align:center}.math-editor-preview-hint{font-size:11px;color:#9ca3af;font-style:italic}.math-editor-actions{display:flex;align-items:center;gap:6px}.math-editor-btn{padding:4px 10px;font-size:12px;font-weight:600;border:none;border-radius:6px;cursor:pointer;transition:background .12s}.math-editor-btn--ok{background:#7c3aed;color:#fff}.math-editor-btn--ok:hover{background:#6d28d9}.math-editor-btn--cancel{background:#f3f4f6;color:#6b7280;border:1px solid #e5e7eb}.math-editor-btn--cancel:hover{background:#e5e7eb}.math-editor-hint{font-size:10px;color:#9ca3af;flex:1;text-align:right}.mb-wrap{position:relative;display:inline-flex;align-items:center;flex-shrink:0}.mb-btn{width:28px;height:28px;border:1.5px solid #d1d5db;border-radius:6px;background:#f9fafb;color:#374151;font-size:15px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:border-color .15s,background .15s,color .15s;line-height:1;padding:0}.mb-btn:hover,.mb-btn--open{border-color:#7c3aed;background:#f5f3ff;color:#7c3aed}.mb-popover{position:fixed;min-width:300px;max-width:380px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 10px 30px #00000021;z-index:9999;padding:14px;display:flex;flex-direction:column;gap:10px}.mb-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.mb-title{font-size:11px;font-weight:700;color:#111827;text-transform:uppercase;letter-spacing:.07em}.mb-type-row{display:flex;gap:4px}.mb-type-btn{padding:3px 9px;font-size:11px;border:1.5px solid #e2e8f0;border-radius:6px;background:#f8fafc;color:#6b7280;cursor:pointer;transition:all .12s;display:flex;align-items:center;gap:3px}.mb-type-btn code{font-size:10px;font-family:Courier New,monospace;opacity:.8}.mb-type-btn--on{border-color:#7c3aed;background:#f5f3ff;color:#7c3aed}.mb-input{width:100%;box-sizing:border-box;font-family:Courier New,monospace;font-size:12.5px;border:1.5px solid #e2e8f0;border-radius:8px;padding:8px 10px;resize:vertical;min-height:40px;outline:none;color:#1e293b;background:#fafbff;transition:border-color .15s;line-height:1.5}.mb-input:focus{border-color:#7c3aed;background:#fff}.mb-preview{min-height:32px;padding:8px 12px;background:#f8f9fc;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;text-align:left;overflow-x:auto}.mb-preview--block{text-align:center}.mb-footer{display:flex;align-items:center;gap:8px}.mb-hint{flex:1;font-size:10px;color:#9ca3af}.mb-cancel{padding:5px 12px;font-size:12px;border:1.5px solid #e2e8f0;border-radius:6px;background:#f8fafc;color:#6b7280;cursor:pointer;transition:all .12s}.mb-cancel:hover{border-color:#d1d5db;background:#f1f5f9}.mb-insert{padding:5px 14px;font-size:12px;font-weight:600;border:none;border-radius:6px;background:#7c3aed;color:#fff;cursor:pointer;transition:background .12s}.mb-insert:hover:not(:disabled){background:#6d28d9}.mb-insert:disabled{opacity:.4;cursor:not-allowed}.qf-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:200;display:flex;align-items:flex-start;justify-content:flex-end;padding:0}.qf-panel{width:100vw;height:100vh;background:#fff;display:flex;flex-direction:column;box-shadow:-4px 0 24px #0000001f;animation:qf-slide-in .22s ease}@keyframes qf-slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.qf-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid #e5e7eb;flex-shrink:0}.qf-title{font-size:16px;font-weight:700;color:#111827;margin:0}.qf-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;border-radius:6px;background:#fff;cursor:pointer;color:#6b7280;transition:all .15s}.qf-close:hover{border-color:#ef4444;color:#ef4444}.qf-body{flex:1;overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:14px}.qf-row-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.qf-row-4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.qf-row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.qf-mt{margin-top:10px}.qf-mt-sm{margin-top:6px}.qf-field{display:flex;flex-direction:column;gap:4px}.qf-label{font-size:12px;font-weight:600;color:#374151}.qf-req{color:#ef4444}.qf-input,.qf-select,.qf-textarea{padding:8px 10px;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;color:#111827;background:#f9fafb;outline:none;transition:border-color .15s,background .15s;font-family:inherit}.qf-input:focus,.qf-select:focus,.qf-textarea:focus{border-color:#7c3aed;background:#fff;box-shadow:0 0 0 3px #7c3aed1a}.qf-input--error{border-color:#ef4444!important}.qf-textarea{resize:vertical;min-height:60px}.qf-error{font-size:11px;color:#ef4444}.qf-rte-error .rte-wrap{border-color:#ef4444}.qf-section{border:1px solid #e5e7eb;border-radius:8px;padding:14px;display:flex;flex-direction:column;gap:10px;background:#fafafa}.qf-section-header{display:flex;align-items:center;justify-content:space-between}.qf-section-title{font-size:13px;font-weight:600;color:#374151}.qf-add-option-btn{display:flex;align-items:center;gap:4px;padding:5px 10px;border:1px solid #7c3aed;border-radius:5px;font-size:12px;font-weight:600;color:#7c3aed;background:#fff;cursor:pointer;transition:background .15s}.qf-add-option-btn:hover{background:#faf5ff}.qf-options{display:flex;flex-direction:column;gap:8px}.qf-option-row{border:1px solid #e5e7eb;border-radius:7px;padding:8px 10px;display:flex;flex-direction:column;gap:6px;background:#fff;transition:border-color .15s}.qf-option-row--correct{border-color:#86efac;background:#f0fdf4}.qf-option-top{display:flex;align-items:center;gap:6px}.qf-correct-btn{width:26px;height:26px;flex-shrink:0;border-radius:50%;border:2px solid #d1d5db;background:#fff;font-size:11px;font-weight:700;color:#6b7280;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center}.qf-correct-btn.on{border-color:#16a34a;background:#16a34a;color:#fff}.qf-correct-btn:hover:not(.on){border-color:#7c3aed;color:#7c3aed}.qf-option-text{flex:1}.qf-option-cat{width:56px;flex-shrink:0;font-size:12px}.qf-option-weight{width:48px;flex-shrink:0}.qf-option-hint{font-size:12px;color:#6b7280}.qf-remove-option{width:26px;height:26px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;border-radius:5px;background:#fff;color:#9ca3af;cursor:pointer;transition:all .15s}.qf-remove-option:hover{border-color:#fca5a5;color:#ef4444}.qf-step-row{display:flex;align-items:center;gap:8px;margin-top:6px}.qf-step-num{width:22px;height:22px;flex-shrink:0;border-radius:50%;background:#ede9fe;color:#5b21b6;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}.qf-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid #e5e7eb;flex-shrink:0;background:#fff}.qf-cancel-btn{padding:8px 18px;border:1px solid #e5e7eb;border-radius:7px;font-size:13px;color:#374151;background:#fff;cursor:pointer}.qf-cancel-btn:hover{background:#f9fafb}.qf-save-btn{display:flex;align-items:center;gap:6px;padding:8px 20px;background:#7c3aed;color:#fff;border:none;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.qf-save-btn:hover:not(:disabled){background:#6d28d9}.qf-save-btn:disabled{opacity:.6;cursor:not-allowed}.qf-spinner{animation:qf-spin .8s linear infinite}@keyframes qf-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.qf-type-badge{display:inline-block;margin-top:3px;padding:2px 8px;border-radius:99px;background:#ede9fe;color:#5b21b6;font-size:11px;font-weight:600}.qf-section-sub{font-weight:400;color:#6b7280;font-size:12px;margin-left:4px}.qf-section-hint{font-size:11px;color:#6b7280;margin:-4px 0 0}.qf-hint-inline{font-size:11px;color:#6b7280;font-weight:400;margin-left:4px}.qf-tf-row{display:flex;gap:12px}.qf-tf-btn{flex:1;padding:12px;border-radius:8px;border:2px solid #e5e7eb;background:#fff;font-size:15px;font-weight:700;color:#6b7280;cursor:pointer;transition:all .15s}.qf-tf-btn:hover{border-color:#a78bfa;color:#7c3aed}.qf-tf-btn--true{border-color:#16a34a;background:#f0fdf4;color:#15803d}.qf-tf-btn--false{border-color:#dc2626;background:#fef2f2;color:#b91c1c}.qf-list{display:flex;flex-direction:column;gap:6px;margin-top:4px}.qf-list-row{display:flex;align-items:center;gap:6px}.qf-checkbox-label{display:flex;align-items:center;gap:6px;font-size:12px;color:#374151;cursor:pointer;margin-top:4px}.qf-checkbox-label input{width:14px;height:14px;accent-color:#7c3aed;cursor:pointer}.qf-match-header{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:0 32px 0 30px;font-size:11px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.qf-match-row{display:flex;align-items:center;gap:6px}.qf-match-arrow{color:#9ca3af;font-size:14px;flex-shrink:0}.qf-testcase-header{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:0 32px 0 30px;font-size:11px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin-top:6px}.qf-testcase-row{display:flex;align-items:center;gap:6px;margin-top:4px}.qf-code-input{font-family:Courier New,Courier,monospace;font-size:12px}.qf-textarea--code{font-family:Courier New,Courier,monospace;font-size:12px;min-height:120px}.qf-submit-error{padding:10px 14px;background:#fef2f2;border:1px solid #fca5a5;border-radius:6px;font-size:13px;color:#b91c1c}.qf-img-upload{display:flex;align-items:center;gap:6px;margin-top:6px}.qf-img-upload--small{margin-top:0}.qf-img-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px dashed #a78bfa;border-radius:6px;background:#f5f3ff;color:#6d28d9;font-size:12px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.qf-img-btn:hover:not(:disabled){background:#ede9fe;border-color:#7c3aed}.qf-img-btn:disabled{opacity:.6;cursor:not-allowed}.qf-img-upload--small .qf-img-btn{padding:4px 7px;border-radius:6px}.qf-img-preview{position:relative;display:inline-flex;align-items:flex-start;margin-top:6px}.qf-img-preview--small{margin-top:0}.qf-img-preview img{max-height:80px;max-width:160px;border-radius:6px;border:1px solid #e5e7eb;-o-object-fit:cover;object-fit:cover}.qf-img-preview--small img{max-height:36px;max-width:60px}.qf-img-remove{position:absolute;top:-6px;right:-6px;background:#fff;border:none;cursor:pointer;padding:0;color:#ef4444;line-height:1;border-radius:50%}.qf-img-remove:hover{color:#b91c1c}.qpm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f0f198c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:500;display:flex;align-items:center;justify-content:center;padding:20px}.qpm-modal{width:720px;max-width:100%;max-height:92vh;background:#fff;border-radius:16px;display:flex;flex-direction:column;box-shadow:0 32px 80px #00000038,0 0 0 1px #0000000f;overflow:hidden;animation:qpm-in .18s cubic-bezier(.4,0,.2,1)}@keyframes qpm-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.qpm-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid #f1f5f9;flex-shrink:0}.qpm-header-title{font-size:14px;font-weight:700;color:#0f172a;letter-spacing:-.01em}.qpm-close{width:30px;height:30px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#64748b;transition:background .15s,color .15s,border-color .15s}.qpm-close:hover{background:#fef2f2;border-color:#fca5a5;color:#dc2626}.qpm-meta-bar{display:flex;align-items:stretch;background:#f8fafc;border-bottom:1px solid #e2e8f0;flex-shrink:0;overflow-x:auto}.qpm-meta-chip{display:flex;flex-direction:column;gap:3px;padding:10px 18px;flex-shrink:0;min-width:90px}.qpm-meta-chip--type{min-width:130px}.qpm-chip-label{font-size:9px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.07em;white-space:nowrap}.qpm-chip-value{font-size:12px;font-weight:600;color:#0f172a;white-space:nowrap}.qpm-meta-divider{width:1px;background:#e2e8f0;flex-shrink:0;align-self:stretch;margin:8px 0}.qpm-body{flex:1;overflow-y:auto;padding:20px 24px 32px;display:flex;flex-direction:column;gap:18px}.qpm-topic{font-size:12px;color:#64748b;margin:0;text-align:left}.qpm-topic strong{color:#334155;font-weight:600}.qpm-question-block{display:flex;flex-direction:column;gap:12px;text-align:left}.qpm-question-text{font-size:16px;font-weight:700;color:#0f172a;line-height:1.6;margin:0;text-align:left;letter-spacing:-.01em}.qpm-question-img{max-width:100%;max-height:220px;-o-object-fit:contain;object-fit:contain;border-radius:10px;border:1px solid #e2e8f0;align-self:flex-start}.qpm-section{display:flex;flex-direction:column;gap:8px;text-align:left}.qpm-section-label{font-size:10px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.07em;margin:0;text-align:left}.qpm-options{display:flex;flex-direction:column;gap:6px}.qpm-opt{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;border-radius:10px;border:1.5px solid #e2e8f0;background:#fff;transition:border-color .15s;text-align:left}.qpm-opt--correct{border-color:#86efac;background:#f0fdf4}.qpm-opt-badge{width:26px;height:26px;border-radius:8px;background:#f1f5f9;color:#475569;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.qpm-opt-badge--correct{background:#16a34a;color:#fff}.qpm-opt-content{flex:1;display:flex;flex-direction:column;gap:4px;text-align:left;min-width:0}.qpm-opt-text{font-size:13.5px;color:#1e293b;line-height:1.5;text-align:left;margin:0}.qpm-opt-img{max-width:100%;max-height:100px;-o-object-fit:contain;object-fit:contain;border-radius:6px}.qpm-opt-hint{font-size:11px;color:#94a3b8;font-style:italic;text-align:left}.qpm-opt-right{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex-shrink:0}.qpm-opt-cat{padding:2px 6px;border-radius:5px;font-size:10px;font-weight:700;background:#ede9fe;color:#5b21b6}.qpm-opt-wt{font-size:10px;color:#94a3b8}.qpm-tf{display:inline-flex;align-items:center;padding:6px 20px;border-radius:20px;font-size:13px;font-weight:700;border:1.5px solid;width:-moz-fit-content;width:fit-content}.qpm-tf--true{background:#f0fdf4;border-color:#86efac;color:#15803d}.qpm-tf--false{background:#fef2f2;border-color:#fca5a5;color:#dc2626}.qpm-chips{display:flex;flex-wrap:wrap;gap:8px}.qpm-chip{padding:4px 12px;border-radius:6px;font-size:13px;font-weight:500;border:1px solid}.qpm-chip--green{background:#f0fdf4;border-color:#86efac;color:#15803d}.qpm-chip--blue{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.qpm-note{font-size:11px;color:#94a3b8;font-style:italic;margin:0;text-align:left}.qpm-match{border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;text-align:left}.qpm-match-head{display:grid;grid-template-columns:1fr 1fr;background:#f8fafc;padding:8px 14px;font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.qpm-match-row{display:grid;grid-template-columns:1fr 1fr;padding:9px 14px;font-size:13px;color:#1e293b;border-top:1px solid #e2e8f0}.qpm-match-row:nth-child(2n){background:#f8fafc}.qpm-answer-card{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;padding:12px 16px;display:flex;flex-direction:column;gap:6px;text-align:left}.qpm-answer-text{font-size:13px;color:#1e293b;margin:0;line-height:1.65;text-align:left}.qpm-list{font-size:13px;color:#1e293b;margin:0;padding-left:18px;line-height:1.8;text-align:left}.qpm-code{background:#0f172a;color:#e2e8f0;border-radius:10px;padding:14px 16px;font-size:12px;font-family:Cascadia Code,Fira Mono,monospace;white-space:pre-wrap;overflow-x:auto;margin:0;line-height:1.6}.qpm-test-case{display:grid;grid-template-columns:60px 1fr 70px 1fr;align-items:center;gap:8px;padding:7px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;font-size:12px}.qpm-tc-lbl{font-weight:700;color:#64748b;font-size:10px;text-transform:uppercase}.qpm-explanation{background:#fffbeb;border:1px solid #fde68a;border-radius:10px;padding:12px 16px;display:flex;flex-direction:column;gap:6px;text-align:left}.qpm-ccr{background:#fefce8;border:1px solid #fde68a;border-radius:10px;padding:12px 16px;display:flex;flex-direction:column;gap:6px;text-align:left}.qpm-review{border-top:1px solid #f1f5f9;padding-top:16px;display:flex;flex-direction:column;gap:8px;text-align:left}.qpm-review-loading{display:flex;align-items:center;gap:8px;font-size:12px;color:#94a3b8}.qpm-spin{animation:spin 1s linear infinite}.qpm-review-row{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:10px;border:1px solid #e2e8f0}.qpm-review-row.approved{background:#f0fdf4;border-color:#bbf7d0}.qpm-review-row.pending{background:#fff7ed;border-color:#fed7aa}.qpm-review-level{font-size:13px;font-weight:700;color:#0f172a}.qpm-review-status{font-size:11px;font-weight:600;padding:2px 9px;border-radius:20px}.qpm-review-status.approved{background:#dcfce7;color:#15803d}.qpm-review-status.pending{background:#ffedd5;color:#c2410c}.qpm-review-by{font-size:11px;color:#64748b;margin:0;text-align:right}.qpm-review-ts{font-size:11px;color:#94a3b8;margin:0;text-align:right}.sl-wrap{display:flex;flex-direction:column;gap:14px}.sl-toolbar{display:flex;align-items:center;justify-content:space-between}.sl-count{font-size:13px;color:#6b7280}.sl-add-btn{display:flex;align-items:center;gap:6px;padding:7px 16px;background:#7c3aed;color:#fff;border:none;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.sl-add-btn:hover{background:#6d28d9}.sl-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:60px 20px;color:#9ca3af;font-size:14px}.sl-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:48px 20px;color:#6b7280;font-size:14px}@keyframes sl-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sl-spinner{animation:sl-spin .8s linear infinite}.sl-error{padding:12px 16px;background:#fef2f2;border:1px solid #fca5a5;border-radius:7px;color:#b91c1c;font-size:13px}.sl-list{display:flex;flex-direction:column;gap:6px}.sl-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;cursor:grab;transition:box-shadow .15s,border-color .15s}.sl-item:hover{box-shadow:0 2px 8px #00000012;border-color:#d1d5db}.sl-item:active{cursor:grabbing}.sl-item--draft{background:#fafafa;border-color:#e5e7eb;opacity:.85}.sl-drag{color:#d1d5db;flex-shrink:0;cursor:grab}.sl-drag:hover{color:#9ca3af}.sl-order{width:24px;height:24px;border-radius:50%;background:#f3f4f6;color:#374151;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sl-type-icon{width:32px;height:32px;border-radius:7px;background:#ede9fe;color:#7c3aed;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sl-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.sl-title{font-size:14px;font-weight:600;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.sl-badges{display:flex;flex-wrap:wrap;gap:5px}.sl-badge{padding:2px 7px;border-radius:8px;border:1px solid #e5e7eb;font-size:10px;font-weight:600;color:#374151;display:flex;align-items:center;gap:3px}.sl-badge--type{background:#ede9fe;border-color:#c4b5fd;color:#5b21b6}.sl-badge--bloom{background:#e0f2fe;border-color:#7dd3fc;color:#0369a1}.sl-badge--dur{background:#f3f4f6;color:#6b7280}.sl-status{flex-shrink:0}.sl-pub{padding:3px 8px;border-radius:8px;font-size:11px;font-weight:600}.sl-pub--live{background:#f0fdf4;color:#15803d;border:1px solid #86efac}.sl-pub--draft{background:#f9fafb;color:#9ca3af;border:1px solid #e5e7eb}.sl-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.sl-act-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;border-radius:5px;background:#fff;color:#6b7280;cursor:pointer;transition:all .15s}.sl-act-btn:hover{border-color:#7c3aed;color:#7c3aed;background:#faf5ff}.sl-act-btn--pub.active{border-color:#86efac;color:#16a34a;background:#f0fdf4}.sl-act-btn--pub.active:hover{border-color:#d97706;color:#d97706;background:#fffbeb}.sl-act-btn--del:hover{border-color:#fca5a5;color:#ef4444;background:#fef2f2}.lo-wrap{display:flex;flex-direction:column;gap:14px}.lo-toolbar{display:flex;align-items:center;justify-content:space-between}.lo-count{font-size:13px;color:#6b7280}.lo-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:48px 20px;color:#6b7280;font-size:14px}@keyframes lo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.lo-spin{animation:lo-spin .8s linear infinite}.lo-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:60px 20px;color:#9ca3af;font-size:14px}.lo-list{display:flex;flex-direction:column;gap:6px}.lo-item{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;transition:box-shadow .15s,border-color .15s}.lo-item:hover{box-shadow:0 2px 8px #00000012;border-color:#d1d5db}.lo-item--filled{border-left:3px solid #7c3aed}.lo-item--rejected{border-left:3px solid #ef4444;background:#fff8f8;border-color:#fecaca}.lo-item--rejected:hover{border-color:#f87171;box-shadow:0 2px 8px #ef44441a}.lo-item--rejected .lo-icon-wrap{background:#fee2e2;color:#dc2626}.lo-item--rejected .lo-index{background:#fee2e2;color:#b91c1c}.lo-item--approved{border-left:3px solid #22c55e;background:#f9fffe;border-color:#bbf7d0}.lo-item--approved:hover{border-color:#86efac;box-shadow:0 2px 8px #22c55e1a}.lo-item--approved .lo-icon-wrap{background:#dcfce7;color:#16a34a}.lo-item--approved .lo-index{background:#dcfce7;color:#15803d}.lo-index{width:24px;height:24px;border-radius:50%;background:#f3f4f6;color:#374151;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.lo-icon-wrap{width:32px;height:32px;border-radius:7px;background:#ede9fe;color:#7c3aed;display:flex;align-items:center;justify-content:center;flex-shrink:0}.lo-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.lo-outcome-text{font-size:14px;font-weight:700;color:#111827;text-align:left;line-height:1.5;white-space:pre-wrap}.lo-level-chip{display:inline-flex;align-items:center;gap:4px;margin-top:2px;font-size:11px;color:#7c3aed;font-weight:600}.lo-level-chip-desc{color:#6b7280;font-weight:400}.lo-level-name{font-size:14px;font-weight:700;color:#111827;text-align:left}.lo-level-desc{font-size:12px;color:#6b7280;text-align:left}.lo-status{flex-shrink:0}.lo-badges{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:flex-end}.lo-badge{display:inline-flex;align-items:center;gap:3px;padding:3px 9px;border-radius:9px;font-size:11px;font-weight:600}.lo-badge--set{background:#f0fdf4;color:#15803d;border:1px solid #86efac}.lo-badge--empty{background:#f9fafb;color:#9ca3af;border:1px solid #e5e7eb}.lo-badge--rejected{background:#fee2e2;color:#b91c1c;border:1px solid #fca5a5}.lo-badge--approved{background:#dcfce7;color:#15803d;border:1px solid #86efac}.lo-badge--needs-review{background:#fffbeb;color:#92400e;border:1px solid #fde68a}.lo-item--needs-review{border-color:#fde68a;background:#fffdf0}.lo-item--needs-review .lo-icon-wrap,.lo-item--needs-review .lo-index{background:#fef9c3;color:#a16207}.lo-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.lo-act-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;border-radius:5px;background:#fff;color:#6b7280;cursor:pointer;transition:all .15s}.lo-act-btn:hover{border-color:#7c3aed;color:#7c3aed;background:#faf5ff}.lo-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:200;display:flex;align-items:flex-start;justify-content:flex-end}.lo-panel{width:100vw;height:100vh;background:#fff;display:flex;flex-direction:column;box-shadow:-4px 0 24px #0000001f;animation:lo-slide-in .22s ease}@keyframes lo-slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.lo-panel-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid #e5e7eb;flex-shrink:0}.lo-panel-header-left{display:flex;align-items:center;gap:12px}.lo-panel-icon{width:36px;height:36px;border-radius:8px;background:#ede9fe;color:#7c3aed;display:flex;align-items:center;justify-content:center;flex-shrink:0}.lo-panel-title{font-size:16px;font-weight:700;color:#111827}.lo-panel-sub{font-size:12px;color:#6b7280;margin-top:1px}.lo-panel-actions{display:flex;align-items:center;gap:8px}.lo-btn-cancel{padding:7px 14px;border:1px solid #e5e7eb;border-radius:7px;background:#fff;font-size:13px;font-weight:600;color:#374151;cursor:pointer;transition:all .15s}.lo-btn-cancel:hover:not(:disabled){border-color:#d1d5db;background:#f9fafb}.lo-btn-save{display:flex;align-items:center;gap:6px;padding:7px 16px;background:#7c3aed;color:#fff;border:none;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.lo-btn-save:hover:not(:disabled){background:#6d28d9}.lo-btn-save:disabled{opacity:.55;cursor:not-allowed}.lo-panel-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;border-radius:6px;background:#fff;cursor:pointer;color:#6b7280}.lo-panel-close:hover{border-color:#ef4444;color:#ef4444}.lo-panel-body{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:20px;max-width:720px}.lo-field{display:flex;flex-direction:column;gap:6px}.lo-label{font-size:12px;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.04em}.lo-req{color:#ef4444}.lo-hint{margin:0;font-size:12px;color:#6b7280;line-height:1.5}.lo-bloom-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;background:#ede9fe;color:#5b21b6;border-radius:20px;font-size:13px;font-weight:700;align-self:flex-start}.lo-textarea{padding:10px 12px;border:1px solid #e5e7eb;border-radius:7px;font-size:14px;color:#111827;background:#f9fafb;outline:none;resize:vertical;font-family:inherit;line-height:1.6;transition:border-color .15s,background .15s,box-shadow .15s}.lo-textarea:focus{border-color:#7c3aed;background:#fff;box-shadow:0 0 0 3px #7c3aed1a}.tc-root{display:flex;flex-direction:column;gap:0}.tc-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 24px;color:#a0aec0;text-align:center}.tc-empty-state p{font-size:14px;margin:0}.tc-spinner{animation:tc-spin .9s linear infinite}@keyframes tc-spin{to{transform:rotate(360deg)}}.tc-status{display:flex;align-items:center;gap:8px;padding:24px;color:#6b7280;font-size:13.5px}.tc-status--sm{padding:10px 0}.tc-subtab-bar{display:flex;gap:4px;padding:14px 20px 0;border-bottom:1.5px solid #ede9fe;background:#faf5ff}.tc-subtab{display:flex;align-items:center;gap:6px;padding:8px 18px;font-size:13px;font-weight:500;color:#6b7280;background:transparent;border:none;border-bottom:2.5px solid transparent;margin-bottom:-1.5px;cursor:pointer;border-radius:6px 6px 0 0;transition:color .15s,border-color .15s,background .15s}.tc-subtab:hover{color:#7c3aed;background:#f5f0ff}.tc-subtab--active{color:#7c3aed;border-bottom-color:#7c3aed;background:#fff;font-weight:600}.tc-subtab-body{padding:20px}.tc-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 32px;border:2px dashed #c4b5fd;border-radius:16px;background:#faf5ff;cursor:pointer;transition:border-color .2s,background .2s;text-align:center}.tc-dropzone:hover,.tc-dropzone--over{border-color:#7c3aed;background:#f3e8ff}.tc-drop-icon{color:#a78bfa}.tc-drop-title{font-size:15px;font-weight:500;color:#374151;margin:0}.tc-drop-link{color:#7c3aed;text-decoration:underline}.tc-drop-hint{font-size:12.5px;color:#9ca3af;margin:0}.tc-viewer-wrap{display:flex;flex-direction:column;border:1.5px solid #e5e7eb;border-radius:14px;overflow:hidden;background:#fff}.tc-viewer-toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:#faf5ff;border-bottom:1.5px solid #ede9fe;gap:12px;flex-wrap:wrap}.tc-viewer-info{display:flex;align-items:center;gap:8px;color:#374151;font-size:13.5px;font-weight:500;min-width:0}.tc-viewer-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:320px}.tc-viewer-size{font-size:12px;color:#9ca3af;flex-shrink:0}.tc-viewer-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.tc-viewer-btn{display:flex;align-items:center;gap:5px;padding:6px 12px;font-size:12.5px;font-weight:500;border-radius:7px;border:1.5px solid #e5e7eb;background:#fff;color:#374151;cursor:pointer;text-decoration:none;transition:border-color .15s,background .15s,color .15s}.tc-viewer-btn:hover{border-color:#7c3aed;color:#7c3aed;background:#faf5ff}.tc-viewer-btn--replace:hover{border-color:#7c3aed;color:#7c3aed}.tc-viewer-btn--del{border-color:#fee2e2;color:#ef4444}.tc-viewer-btn--del:hover{background:#fef2f2;border-color:#ef4444}.tc-viewer-btn:disabled{opacity:.5;cursor:not-allowed}.tc-pdf-iframe{width:100%;height:calc(100vh - 340px);min-height:500px;border:none;display:block;background:#f3f4f6}.tc-content-row{display:flex;align-items:flex-start;gap:16px;padding:4px 0}.tc-content-preview{flex:1;min-width:0}.tc-content-html{font-size:13.5px;color:#374151;line-height:1.7;max-height:88px;overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,black 50%,transparent 100%);mask-image:linear-gradient(to bottom,black 50%,transparent 100%);word-break:break-word}.tc-content-html p,.tc-content-html h2,.tc-content-html h3,.tc-content-html ul,.tc-content-html ol,.tc-content-html blockquote{margin:0 0 4px;text-align:left!important}.tc-content-html strong{font-weight:600}.tc-content-html em{font-style:italic}.tc-content-empty{font-size:13px;color:#9ca3af;margin:0;flex:1}.tc-content-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.tc-edit-btn{display:flex;align-items:center;gap:6px;padding:7px 14px;font-size:12.5px;font-weight:500;border-radius:8px;border:1.5px solid #c4b5fd;background:#faf5ff;color:#7c3aed;cursor:pointer;flex-shrink:0;transition:background .15s,border-color .15s}.tc-edit-btn:hover{background:#f3e8ff;border-color:#7c3aed}.tc-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:200;display:flex;align-items:flex-start;justify-content:flex-end}.tc-modal{width:100vw;height:100vh;background:#fff;display:flex;flex-direction:column;box-shadow:-4px 0 24px #0000001f;animation:tc-slide-in .22s ease}@keyframes tc-slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.tc-modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1.5px solid #e5e7eb;flex-shrink:0;gap:12px;flex-wrap:wrap}.tc-modal-header-left{display:flex;align-items:center;gap:12px}.tc-modal-icon{width:36px;height:36px;border-radius:10px;background:#ede9fe;color:#7c3aed;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tc-modal-title{font-size:16px;font-weight:700;color:#111827;margin:0}.tc-modal-sub{font-size:13px;color:#6b7280;margin-top:2px}.tc-modal-actions{display:flex;align-items:center;gap:8px}.tc-modal-cancel{padding:7px 16px;font-size:13px;font-weight:500;border-radius:8px;border:1.5px solid #e5e7eb;background:#fff;color:#374151;cursor:pointer}.tc-modal-cancel:hover{background:#f9fafb}.tc-modal-cancel:disabled{opacity:.5;cursor:not-allowed}.tc-modal-save{display:flex;align-items:center;gap:6px;padding:7px 18px;font-size:13px;font-weight:600;border-radius:8px;border:none;background:#7c3aed;color:#fff;cursor:pointer;transition:background .15s}.tc-modal-save:hover:not(:disabled){background:#6d28d9}.tc-modal-save:disabled{opacity:.5;cursor:not-allowed}.tc-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1px solid #e5e7eb;background:#fff;color:#6b7280;cursor:pointer;flex-shrink:0}.tc-modal-close:hover{border-color:#ef4444;color:#ef4444}.tc-modal-body{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:10px}.tc-modal-label{font-size:13px;font-weight:600;color:#374151}.tc-req{color:#ef4444;margin-left:2px}.tc-modal-hint{font-size:12px;color:#9ca3af;margin:0}.ts-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:64px 24px;color:#9ca3af;text-align:center}.ts-empty-state p{font-size:14px;margin:0}.ts-status{display:flex;align-items:center;gap:8px;padding:24px;color:#9ca3af;font-size:13.5px}.ts-status--sm{padding:4px 0;font-size:13px}@keyframes ts-spin{to{transform:rotate(360deg)}}.ts-spinner{animation:ts-spin .8s linear infinite}.ts-row{display:flex;align-items:flex-start;gap:16px;padding:4px 0}.ts-preview{flex:1;min-width:0}.ts-preview-html{font-size:13.5px;color:#374151;line-height:1.7;max-height:88px;overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,black 50%,transparent 100%);mask-image:linear-gradient(to bottom,black 50%,transparent 100%);word-break:break-word;text-align:left}.ts-preview-html p,.ts-preview-html h2,.ts-preview-html h3,.ts-preview-html ul,.ts-preview-html ol,.ts-preview-html blockquote{margin:0 0 4px;text-align:left!important}.ts-preview-html strong{font-weight:600}.ts-preview-html em{font-style:italic}.ts-empty{font-size:13px;color:#9ca3af;margin:0;flex:1}.ts-row-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.ts-edit-btn{display:flex;align-items:center;gap:6px;padding:7px 14px;font-size:12.5px;font-weight:500;border-radius:8px;border:1.5px solid #c4b5fd;background:#faf5ff;color:#7c3aed;cursor:pointer;flex-shrink:0;transition:background .15s,border-color .15s}.ts-edit-btn:hover{background:#f3e8ff;border-color:#7c3aed}.ts-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:200;display:flex;align-items:flex-start;justify-content:flex-end}.ts-modal{width:100vw;height:100vh;background:#fff;display:flex;flex-direction:column;box-shadow:-4px 0 24px #0000001f;animation:ts-slide-in .22s ease}@keyframes ts-slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.ts-modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1.5px solid #e5e7eb;flex-shrink:0;gap:12px;flex-wrap:wrap}.ts-modal-header-left{display:flex;align-items:center;gap:12px}.ts-modal-icon{width:36px;height:36px;border-radius:10px;background:#ede9fe;color:#7c3aed;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ts-modal-title{font-size:16px;font-weight:700;color:#111827;margin:0}.ts-modal-sub{font-size:13px;color:#6b7280;margin-top:2px}.ts-modal-actions{display:flex;align-items:center;gap:8px}.ts-modal-cancel{padding:7px 16px;font-size:13px;font-weight:500;border-radius:8px;border:1.5px solid #e5e7eb;background:#fff;color:#374151;cursor:pointer}.ts-modal-cancel:hover{background:#f9fafb}.ts-modal-cancel:disabled{opacity:.5;cursor:not-allowed}.ts-modal-save{display:flex;align-items:center;gap:6px;padding:7px 18px;font-size:13px;font-weight:600;border-radius:8px;border:none;background:#7c3aed;color:#fff;cursor:pointer;transition:background .15s}.ts-modal-save:hover:not(:disabled){background:#6d28d9}.ts-modal-save:disabled{opacity:.5;cursor:not-allowed}.ts-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1px solid #e5e7eb;background:#fff;color:#6b7280;cursor:pointer;flex-shrink:0}.ts-modal-close:hover{border-color:#ef4444;color:#ef4444}.ts-modal-body{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:10px}.ts-modal-label{font-size:13px;font-weight:600;color:#374151}.ts-req{color:#ef4444;margin-left:2px}.ts-modal-hint{font-size:12px;color:#9ca3af;margin:0}.se-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:200;display:flex;align-items:flex-start;justify-content:flex-end}.se-panel{width:100vw;height:100vh;background:#fff;display:flex;flex-direction:column;box-shadow:-4px 0 24px #0000001f;animation:se-slide-in .22s ease}@keyframes se-slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.se-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid #e5e7eb;flex-shrink:0}.se-title{font-size:16px;font-weight:700;color:#111827;margin:0}.se-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;border-radius:6px;background:#fff;cursor:pointer;color:#6b7280}.se-close:hover{border-color:#ef4444;color:#ef4444}.se-body{flex:1;overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:14px}.se-split{flex:1;display:flex;flex-direction:row;min-height:0;overflow:hidden}.se-form-pane{flex:0 0 56%;overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:14px;border-right:1px solid #e5e7eb}.se-preview-pane{flex:1;background:#f3f4f6;overflow-y:auto;display:flex;flex-direction:column}.se-loading{display:flex;align-items:center;justify-content:center;gap:10px;flex:1;color:#6b7280}@keyframes se-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.se-spinner{animation:se-spin .8s linear infinite}.se-row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.se-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.se-col-2{grid-column:span 2}.se-field{display:flex;flex-direction:column;gap:4px}.se-field--check{flex-direction:row;align-items:center;gap:8px;padding-top:20px}.se-label{font-size:12px;font-weight:600;color:#374151}.se-req{color:#ef4444}.se-input,.se-select,.se-textarea{padding:8px 10px;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;color:#111827;background:#f9fafb;outline:none;transition:border-color .15s,background .15s;font-family:inherit}.se-input:focus,.se-select:focus,.se-textarea:focus{border-color:#7c3aed;background:#fff;box-shadow:0 0 0 3px #7c3aed1a}.se-input--error{border-color:#ef4444!important}.se-textarea{resize:vertical;min-height:72px}.se-hint{margin:4px 0 0;font-size:11px;color:#6b7280;line-height:1.4}.se-textarea--lg{min-height:120px}.se-textarea--code{font-family:Courier New,Courier,monospace;font-size:12px}.se-error{font-size:11px;color:#ef4444}.se-rte-error .rte-wrap{border-color:#ef4444}.se-section{border:1px solid #e5e7eb;border-radius:8px;padding:14px;display:flex;flex-direction:column;gap:10px;background:#fafafa}.se-section-title{font-size:13px;font-weight:600;color:#374151;margin:0 0 4px}.se-section-header{display:flex;align-items:center;justify-content:space-between}.se-subsection{border:1px solid #e5e7eb;border-radius:7px;padding:10px 12px;display:flex;flex-direction:column;gap:8px;background:#fff}.se-subsection-title{font-size:12px;font-weight:600;color:#6b7280;margin:0 0 2px}.se-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.se-type-card{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;cursor:pointer;text-align:left;transition:all .15s}.se-type-card:hover{border-color:#7c3aed;background:#faf5ff}.se-type-card.selected{border-color:#7c3aed;background:#ede9fe}.se-type-label{font-size:13px;font-weight:600;color:#111827}.se-type-desc{font-size:11px;color:#6b7280;line-height:1.4}.se-type-card.selected .se-type-label{color:#5b21b6}.se-options{display:flex;flex-direction:column;gap:6px}.se-opt-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid #e5e7eb;border-radius:7px;background:#fff}.se-opt-row--correct{border-color:#86efac;background:#f0fdf4}.se-correct-btn{width:26px;height:26px;border-radius:50%;border:2px solid #d1d5db;background:#fff;font-size:11px;font-weight:700;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.se-correct-btn.on{border-color:#16a34a;background:#16a34a;color:#fff}.se-correct-btn:hover:not(.on){border-color:#7c3aed;color:#7c3aed}.se-opt-text{flex:1}.se-remove-opt{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;border-radius:4px;background:#fff;color:#9ca3af;cursor:pointer;transition:all .15s;flex-shrink:0}.se-remove-opt:hover{border-color:#fca5a5;color:#ef4444}.se-add-opt-btn{display:flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid #7c3aed;border-radius:5px;font-size:11px;font-weight:600;color:#7c3aed;background:#fff;cursor:pointer}.se-add-opt-btn:hover{background:#faf5ff}.se-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid #e5e7eb;flex-shrink:0;background:#fff}.se-cancel-btn{padding:8px 18px;border:1px solid #e5e7eb;border-radius:7px;font-size:13px;color:#374151;background:#fff;cursor:pointer}.se-cancel-btn:hover{background:#f9fafb}.se-save-btn{display:flex;align-items:center;gap:6px;padding:8px 20px;background:#7c3aed;color:#fff;border:none;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.se-save-btn:hover:not(:disabled){background:#6d28d9}.se-save-btn:disabled{opacity:.6;cursor:not-allowed}.se-submit-error{padding:10px 14px;background:#fef2f2;border:1px solid #fca5a5;border-radius:6px;font-size:13px;color:#b91c1c}.se-autoplay-row{display:flex;flex-direction:column;gap:4px;padding:10px 14px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px}.se-autoplay-label{display:flex;align-items:flex-start;gap:8px;cursor:pointer}.se-autoplay-check{margin-top:2px;accent-color:#7c3aed;width:15px;height:15px;flex-shrink:0;cursor:pointer}.se-autoplay-text{font-size:13px;font-weight:600;color:#374151;line-height:1.4}.se-autoplay-note{font-size:11px;font-weight:400;color:#9ca3af}.se-bg-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.se-bg-swatch{width:24px;height:24px;border-radius:4px;border:2px solid transparent;cursor:pointer;padding:0;transition:transform .1s}.se-bg-swatch:hover{transform:scale(1.15)}.se-bg-swatch--active{border-color:#7c3aed}.se-bg-picker{width:28px;height:28px;border:1px solid #e5e7eb;border-radius:4px;padding:0;cursor:pointer;background:none}.se-elements{display:flex;flex-direction:column;gap:8px}.se-el-card{border:1px solid #e5e7eb;border-radius:8px;background:#fafafa;overflow:hidden;transition:box-shadow .12s}.se-el-card:hover{box-shadow:0 2px 8px #0000000f}.se-el-card--drag-over{border-color:#7c3aed;box-shadow:0 0 0 2px #7c3aed26}.se-el-header{display:flex;align-items:center;gap:6px;padding:6px 10px;background:#f3f4f6;border-bottom:1px solid #e5e7eb}.se-el-drag{color:#9ca3af;cursor:grab;flex-shrink:0}.se-el-drag:active{cursor:grabbing}.se-el-type-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#5b21b6;background:#ede9fe;padding:2px 6px;border-radius:4px;flex-shrink:0}.se-el-style{display:flex;align-items:center;gap:4px;flex:1}.se-input-xs{padding:3px 6px;border:1px solid #e5e7eb;border-radius:4px;font-size:11px;background:#fff;color:#374151;outline:none}.se-input-xs:focus{border-color:#7c3aed}.se-align-btns{display:flex;gap:2px}.se-align-btn{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;border-radius:3px;background:#fff;cursor:pointer;color:#6b7280}.se-align-btn:hover{border-color:#7c3aed;color:#7c3aed}.se-align-btn--active{background:#7c3aed;border-color:#7c3aed;color:#fff}.se-el-remove{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;border-radius:4px;background:#fff;cursor:pointer;color:#9ca3af;flex-shrink:0;transition:all .12s}.se-el-remove:hover:not(:disabled){border-color:#fca5a5;color:#ef4444}.se-el-remove:disabled{opacity:.4;cursor:not-allowed}.se-el-textarea{width:100%;box-sizing:border-box;padding:10px 12px;border:none;background:transparent;resize:vertical;outline:none;font-family:inherit;line-height:1.6;color:#111827;min-height:72px}.se-el-textarea:focus{background:#fff}.se-el-bullets{padding:8px 12px;display:flex;flex-direction:column;gap:5px}.se-bullet-row{display:flex;align-items:center;gap:6px}.se-bullet-dot{color:#7c3aed;font-size:16px;flex-shrink:0}.se-bullet-input{flex:1}.se-add-bullet-btn{display:flex;align-items:center;gap:4px;margin-top:4px;padding:4px 10px;border:1px dashed #7c3aed;border-radius:5px;font-size:11px;font-weight:600;color:#7c3aed;background:#faf5ff;cursor:pointer;width:-moz-fit-content;width:fit-content}.se-add-bullet-btn:hover{background:#ede9fe}.se-el-image-fields{padding:10px 12px;display:flex;flex-direction:column;gap:6px}.se-add-el-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.se-add-el-btn{display:flex;align-items:center;gap:5px;padding:6px 14px;border:1px dashed #7c3aed;border-radius:7px;font-size:12px;font-weight:600;color:#7c3aed;background:#faf5ff;cursor:pointer;transition:background .12s}.se-add-el-btn:hover{background:#ede9fe}.elp-wrap{display:flex;flex-direction:column;gap:12px;padding:20px;height:100%;box-sizing:border-box}.elp-label{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.06em;flex-shrink:0}.elp-label-dot{width:7px;height:7px;border-radius:50%;background:#7c3aed;flex-shrink:0;animation:elp-pulse 1.8s ease-in-out infinite}@keyframes elp-pulse{0%,to{opacity:1}50%{opacity:.35}}.elp-canvas-outer{position:relative;width:100%;padding-bottom:56.25%;border-radius:10px;overflow:hidden;box-shadow:0 4px 20px #00000021;flex-shrink:0}.elp-canvas{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;display:flex;flex-direction:column;overflow:hidden}.elp-slide-name{font-size:12px;color:#9ca3af;text-align:center;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.elp-empty{flex:1;display:flex;align-items:center;justify-content:center}.elp-empty-inner{text-align:center;color:#9ca3af;display:flex;flex-direction:column;align-items:center;gap:12px}.elp-empty-icon{font-size:40px;opacity:.35}.elp-empty-text{font-size:13px;line-height:1.6;margin:0}.elp-placeholder-msg{flex:1;display:flex;align-items:center;justify-content:center;font-size:12px;color:#9ca3af;font-style:italic;text-align:center;padding:12px}.elp-no-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#9ca3af;text-align:center;padding:16px}.elp-no-icon{font-size:32px;opacity:.5}.elp-no-content p{font-size:12px;line-height:1.6;margin:0}.elp-frame{width:100%;height:100%;flex:1;border:none;display:block}.elp-iframe-scaler{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.elp-learning{flex:1;padding:4% 5%;display:flex;flex-direction:column;gap:6px;overflow:hidden}.elp-el-text{margin:0;line-height:1.5;color:#111827;word-break:break-word}.elp-el-bullets{margin:0;padding-left:20px;list-style-type:disc}.elp-el-bullets li{margin:2px 0;line-height:1.4;color:#111827}.elp-el-empty{color:#d1d5db;font-style:italic}.elp-el-image-wrap{display:flex;flex-direction:column;gap:3px}.elp-el-image{max-width:100%;max-height:38%;-o-object-fit:contain;object-fit:contain;border-radius:4px}.elp-el-image-placeholder{font-size:10px;color:#9ca3af;background:#f3f4f6;border:1px dashed #d1d5db;border-radius:4px;padding:6px 10px;text-align:center}.elp-el-caption{font-size:9px;color:#6b7280;font-style:italic;margin:0}.elp-quiz{flex:1;padding:4% 5%;display:flex;flex-direction:column;gap:8px;overflow:hidden}.elp-quiz-q{font-size:11px;font-weight:600;color:#111827;line-height:1.5}.elp-quiz-q p{margin:0}.elp-quiz-opts{display:flex;flex-direction:column;gap:4px}.elp-quiz-opt{display:flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid #e5e7eb;border-radius:5px;background:#f9fafb;font-size:10px}.elp-quiz-opt--correct{border-color:#86efac;background:#f0fdf4}.elp-quiz-opt-id{width:18px;height:18px;border-radius:50%;background:#e5e7eb;color:#374151;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.elp-quiz-opt--correct .elp-quiz-opt-id{background:#16a34a;color:#fff}.elp-quiz-opt-text{flex:1;color:#374151}.elp-quiz-exp{font-size:9px;color:#374151;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:5px;padding:5px 8px;line-height:1.5;overflow:hidden}.elp-quiz-exp p{margin:0}.elp-video-thumb{flex:1;background:#000 center/cover no-repeat;display:flex;align-items:center;justify-content:center}.elp-play-btn{width:48px;height:48px;border-radius:50%;background:#ffffffd9;font-size:18px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 12px #0000004d}.elp-audio{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:12px;background:#f9fafb;overflow:hidden}.elp-audio-cover{max-width:120px;border-radius:8px;-o-object-fit:cover;object-fit:cover}.elp-audio-player{width:100%;max-width:280px}.elp-audio-transcript{width:100%;font-size:10px;color:#6b7280;line-height:1.5;max-height:60px;overflow:hidden;text-overflow:ellipsis;padding:6px 8px;background:#fff;border:1px solid #e5e7eb;border-radius:5px;box-sizing:border-box}.elp-audio-transcript p{margin:0}.elp-doc{display:flex;flex-direction:column;width:100%;height:100%}.elp-doc-header{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:#374151;padding:6px 10px;background:#f9fafb;border-bottom:1px solid #e5e7eb;flex-shrink:0}.elp-doc-pages{font-size:10px;font-weight:400;color:#9ca3af}.sp-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:300;display:flex;align-items:stretch;justify-content:stretch}.sp-panel{width:100vw;height:100vh;background:#fff;display:flex;flex-direction:column;animation:sp-slide-in .22s ease;overflow:hidden}@keyframes sp-slide-in{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.sp-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1.5px solid #e5e7eb;flex-shrink:0;background:#fff;gap:16px;min-height:52px}.sp-header-title{font-size:16px;font-weight:700;color:#111827;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sp-close{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;border-radius:7px;background:#fff;cursor:pointer;color:#6b7280;transition:border-color .15s,color .15s}.sp-close:hover{border-color:#ef4444;color:#ef4444}.sp-body{flex:1;overflow-y:auto;width:100%;box-sizing:border-box;padding:24px 32px;display:flex;flex-direction:column;gap:20px}.sp-body--learning_slide,.sp-body--quiz_slide,.sp-body--audio{max-width:860px;margin:0 auto}.sp-body--video,.sp-body--interactive,.sp-body--document{padding:0;overflow:hidden}.sp-no-media{padding:32px;background:#f9fafb;border:1px dashed #d1d5db;border-radius:10px;color:#9ca3af;text-align:center;font-size:14px}.sp-section-label{font-size:11px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.sp-learning{display:flex;flex-direction:column;gap:16px;width:100%}.sp-slide-title{font-size:24px;font-weight:700;color:#111827;margin:0 0 12px;line-height:1.3}.sp-body-html{font-size:16px;color:#374151;line-height:1.8}.sp-body-html p{margin:0 0 10px}.sp-body-html h2{font-size:20px;font-weight:700;margin:20px 0 8px}.sp-body-html h3{font-size:17px;font-weight:600;margin:16px 0 6px}.sp-body-html ul,.sp-body-html ol{padding-left:24px;margin:8px 0}.sp-body-html ul{list-style-type:disc}.sp-body-html ol{list-style-type:decimal}.sp-body-html li{margin:4px 0}.sp-body-html blockquote{border-left:3px solid #7c3aed;margin:12px 0;padding:8px 16px;background:#f5f3ff;border-radius:0 8px 8px 0;color:#4b5563;font-style:italic}.sp-body-html strong{font-weight:700}.sp-body-html em{font-style:italic}.sp-empty-text{color:#9ca3af;font-size:14px;font-style:italic}.sp-media{display:flex;flex-direction:column;gap:8px}.sp-media-img,.sp-media-video{max-width:100%;border-radius:10px}.sp-media-caption{font-size:12px;color:#6b7280;font-style:italic}.sp-speaker-notes{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:12px 16px;font-size:14px;color:#92400e;display:flex;flex-direction:column;gap:6px}.sp-quiz{display:flex;flex-direction:column;gap:16px;width:100%}.sp-question-text{font-size:20px;font-weight:600;color:#111827;margin:0;line-height:1.5}.sp-options{display:flex;flex-direction:column;gap:10px}.sp-option{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1.5px solid #e5e7eb;border-radius:10px;background:#f9fafb;font-size:15px}.sp-option--correct{border-color:#86efac;background:#f0fdf4}.sp-option-id{width:28px;height:28px;border-radius:50%;background:#e5e7eb;color:#374151;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sp-option--correct .sp-option-id{background:#16a34a;color:#fff}.sp-option-text{flex:1;color:#111827}.sp-correct-icon{color:#16a34a;flex-shrink:0}.sp-explanation{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:14px 16px;display:flex;flex-direction:column;gap:6px;font-size:14px;color:#111827}.sp-video{display:flex;flex-direction:column;width:100%;height:100%;background:#000}.sp-video-frame{width:100%;height:100%;flex:1;border:none;display:block}.sp-video-player{width:100%;height:100%;flex:1;background:#000;display:block}.sp-interactive{width:100%;height:100%;display:flex;flex-direction:column}.sp-interactive-frame{width:100%;flex:1;border:none;display:block}.sp-audio{display:flex;flex-direction:column;align-items:center;gap:20px;padding:16px 0;width:100%}.sp-audio-cover{max-width:280px;border-radius:12px}.sp-audio-player{width:100%;max-width:560px}.sp-document{display:flex;flex-direction:column;width:100%;height:100%}.sp-doc-meta{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#374151;flex-shrink:0;padding:10px 16px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.sp-doc-pages{font-size:13px;font-weight:400;color:#6b7280}.sp-doc-frame{width:100%;flex:1;border:none;display:block}.sp-transcript{font-size:14px;color:#374151;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:10px 14px;flex-shrink:0}.sp-transcript summary{cursor:pointer;font-weight:600;color:#6b7280}.sp-transcript p{margin:8px 0 0;line-height:1.7}.tl-wrap{display:flex;flex-direction:column;gap:14px}.tl-toolbar{display:flex;align-items:center;justify-content:space-between}.tl-count{font-size:13px;color:#6b7280}.tl-add-btn{display:flex;align-items:center;gap:6px;padding:7px 16px;background:#7c3aed;color:#fff;border:none;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.tl-add-btn:hover{background:#6d28d9}.tl-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:60px 20px;color:#9ca3af;font-size:14px}.tl-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:48px 20px;color:#6b7280;font-size:14px}@keyframes tl-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tl-spinner{animation:tl-spin .8s linear infinite}.tl-error{padding:12px 16px;background:#fef2f2;border:1px solid #fca5a5;border-radius:7px;color:#b91c1c;font-size:13px}.tl-list{display:flex;flex-direction:column;gap:8px}.tl-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;transition:box-shadow .15s}.tl-item:hover{box-shadow:0 2px 8px #00000012;border-color:#d1d5db}.tl-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.tl-top-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.tl-name{font-size:14px;font-weight:600;color:#111827;text-align:left;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tl-status{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:8px;font-size:11px;font-weight:600;flex-shrink:0}.tl-status--draft{background:#f9fafb;color:#9ca3af;border:1px solid #e5e7eb}.tl-status--scheduled{background:#fffbeb;color:#d97706;border:1px solid #fde68a}.tl-status--live{background:#f0fdf4;color:#15803d;border:1px solid #86efac}.tl-status--expired{background:#fef2f2;color:#b91c1c;border:1px solid #fca5a5}.tl-badges{display:flex;flex-wrap:wrap;gap:5px}.tl-badge{padding:2px 7px;border-radius:8px;border:1px solid #e5e7eb;font-size:10px;font-weight:600;color:#374151;display:flex;align-items:center;gap:3px}.tl-badge--type{background:#ede9fe;border-color:#c4b5fd;color:#5b21b6}.tl-badge--dur{background:#f3f4f6;color:#6b7280}.tl-badge--q{background:#e0f2fe;border-color:#7dd3fc;color:#0369a1}.tl-schedule{display:flex;align-items:center;gap:8px;font-size:11px;color:#6b7280}.tl-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.tl-act-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;border-radius:5px;background:#fff;color:#6b7280;cursor:pointer;transition:all .15s}.tl-act-btn:hover{border-color:#7c3aed;color:#7c3aed;background:#faf5ff}.tl-act-btn--pub.active{border-color:#86efac;color:#16a34a;background:#f0fdf4}.tl-act-btn--pub.active:hover{border-color:#d97706;color:#d97706;background:#fffbeb}.tl-act-btn--del:hover{border-color:#fca5a5;color:#ef4444;background:#fef2f2}.qpk-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:400;display:flex;align-items:center;justify-content:center;padding:24px}.qpk-panel{width:900px;max-width:98vw;height:80vh;background:#fff;border-radius:12px;display:flex;flex-direction:column;box-shadow:0 24px 56px #0003;animation:qpk-pop .18s ease;overflow:hidden}@keyframes qpk-pop{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.qpk-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid #e5e7eb;flex-shrink:0}.qpk-title{font-size:15px;font-weight:700;color:#111827}.qpk-close-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;border-radius:5px;background:#fff;cursor:pointer;color:#6b7280;font-size:13px}.qpk-close-btn:hover{border-color:#ef4444;color:#ef4444}.qpk-filters{display:flex;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid #f3f4f6;flex-shrink:0}.qpk-search{display:flex;align-items:center;gap:6px;flex:1;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:6px 10px}.qpk-search-icon{color:#9ca3af;flex-shrink:0}.qpk-search-input{border:none;background:transparent;outline:none;font-size:13px;color:#111827;width:100%}.qpk-filter-sel{padding:6px 8px;border:1px solid #e5e7eb;border-radius:6px;font-size:12px;color:#374151;background:#f9fafb;outline:none;cursor:pointer}.qpk-filter-sel:focus{border-color:#7c3aed}.qpk-body{display:flex;flex:1;overflow:hidden}.qpk-list-pane{flex:1;overflow-y:auto;border-right:1px solid #f3f4f6}.qpk-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;height:100%;color:#9ca3af;font-size:13px}@keyframes qpk-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.qpk-spinner{animation:qpk-spin .8s linear infinite}.qpk-row{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;border-bottom:1px solid #f9fafb;cursor:pointer;transition:background .1s}.qpk-row:hover{background:#f9fafb}.qpk-row--active{background:#faf5ff}.qpk-row--added{opacity:.55}.qpk-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.qpk-q-text{font-size:13px;color:#111827;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0}.qpk-q-badges{display:flex;flex-wrap:wrap;gap:4px}.qpk-badge{padding:2px 6px;border-radius:8px;border:1px solid #e5e7eb;font-size:10px;font-weight:600;color:#374151}.qpk-badge--type{background:#ede9fe;border-color:#c4b5fd;color:#5b21b6}.qpk-badge--bloom{background:#e0f2fe;border-color:#7dd3fc;color:#0369a1}.qpk-badge--usage{background:#fef9c3;border-color:#fde68a;color:#92400e}.qpk-add-btn{width:26px;height:26px;border-radius:50%;border:1px solid #7c3aed;background:#fff;color:#7c3aed;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:all .15s}.qpk-add-btn:hover:not(:disabled){background:#7c3aed;color:#fff}.qpk-add-btn.added{border-color:#86efac;color:#16a34a;cursor:default}.qpk-preview-pane{width:280px;flex-shrink:0;padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.qpk-preview-hint{color:#9ca3af;text-align:center}.qpk-preview-title{font-size:12px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.04em;margin:0}.qpk-preview-text{font-size:14px;font-weight:600;color:#111827;line-height:1.5;margin:0}.qpk-preview-meta{display:flex;flex-wrap:wrap;gap:5px}.qpk-preview-topic{font-size:11px;color:#6b7280;margin:0}.qpk-add-from-preview{display:flex;align-items:center;gap:6px;padding:7px 14px;background:#7c3aed;color:#fff;border:none;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer;margin-top:auto}.qpk-add-from-preview:hover{background:#6d28d9}.tf-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:200;display:flex;align-items:flex-start;justify-content:flex-end}.tf-panel{width:100vw;height:100vh;background:#fff;display:flex;flex-direction:column;box-shadow:-4px 0 24px #0000001f;animation:tf-slide-in .22s ease}@keyframes tf-slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.tf-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid #e5e7eb;flex-shrink:0}.tf-title{font-size:16px;font-weight:700;color:#111827;margin:0}.tf-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;border-radius:6px;background:#fff;cursor:pointer;color:#6b7280}.tf-close:hover{border-color:#ef4444;color:#ef4444}.tf-tabs{display:flex;border-bottom:1px solid #e5e7eb;flex-shrink:0}.tf-tab{padding:10px 20px;font-size:13px;font-weight:600;color:#6b7280;background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .15s}.tf-tab:hover{color:#111827}.tf-tab.active{color:#7c3aed;border-bottom-color:#7c3aed}.tf-body{flex:1;overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:14px}.tf-details{display:flex;flex-direction:column;gap:14px}.tf-row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tf-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.tf-col-full{grid-column:1 / -1}.tf-field{display:flex;flex-direction:column;gap:4px}.tf-label{font-size:12px;font-weight:600;color:#374151}.tf-req{color:#ef4444}.tf-input,.tf-select,.tf-textarea{padding:8px 10px;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;color:#111827;background:#f9fafb;outline:none;transition:border-color .15s,background .15s;font-family:inherit}.tf-input:focus,.tf-select:focus,.tf-textarea:focus{border-color:#7c3aed;background:#fff;box-shadow:0 0 0 3px #7c3aed1a}.tf-input--error{border-color:#ef4444!important}.tf-textarea{resize:vertical}.tf-error{font-size:11px;color:#ef4444}.tf-chapter-static{font-size:13px;color:#6b7280;padding:8px 0;display:flex;align-items:center;gap:6px}.tf-chapter-checklist{display:flex;flex-direction:column;gap:6px;max-height:160px;overflow-y:auto;padding:8px;border:1px solid #e5e7eb;border-radius:6px;background:#fafafa}.tf-chapter-check{display:flex;align-items:center;gap:8px;font-size:13px;color:#374151;cursor:pointer}.tf-chapter-check input[type=checkbox]{accent-color:#7c3aed;width:14px;height:14px}.tf-hint{font-size:11px;color:#9ca3af;margin-top:2px}.tf-section-head{font-size:12px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.04em;padding-top:4px}.tf-questions{display:flex;flex-direction:column;gap:12px;flex:1}.tf-q-toolbar{display:flex;align-items:center;justify-content:space-between}.tf-q-summary{display:flex;align-items:center;gap:12px;font-size:13px;color:#6b7280}.tf-total-marks{font-weight:700;color:#111827}.tf-add-q-btn{display:flex;align-items:center;gap:6px;padding:7px 14px;background:#7c3aed;color:#fff;border:none;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer}.tf-add-q-btn:hover{background:#6d28d9}.tf-q-loading{display:flex;align-items:center;justify-content:center;padding:40px;color:#9ca3af}@keyframes tf-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tf-spinner{animation:tf-spin .8s linear infinite}.tf-q-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:48px 20px;color:#9ca3af;font-size:13px;text-align:center}.tf-q-list{display:flex;flex-direction:column;gap:6px}.tf-q-row{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;cursor:grab;transition:box-shadow .15s}.tf-q-row:hover{box-shadow:0 2px 6px #00000012}.tf-q-row:active{cursor:grabbing}.tf-q-drag{color:#d1d5db;flex-shrink:0}.tf-q-num{width:22px;height:22px;border-radius:50%;background:#f3f4f6;color:#374151;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tf-q-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.tf-q-text{font-size:13px;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.tf-q-meta{display:flex;gap:4px}.tf-q-badge{padding:2px 6px;border-radius:6px;border:1px solid #e5e7eb;font-size:10px;font-weight:600;color:#374151}.tf-q-badge--type{background:#ede9fe;border-color:#c4b5fd;color:#5b21b6}.tf-q-marks{display:flex;flex-direction:column;align-items:center;gap:2px;flex-shrink:0}.tf-q-marks-label{font-size:10px;color:#9ca3af}.tf-q-marks-input{width:52px;padding:4px 6px;border:1px solid #e5e7eb;border-radius:5px;font-size:12px;color:#111827;text-align:center;background:#f9fafb;outline:none}.tf-q-marks-input:focus{border-color:#7c3aed;background:#fff}.tf-q-remove{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;border-radius:5px;background:#fff;color:#9ca3af;cursor:pointer;flex-shrink:0;transition:all .15s}.tf-q-remove:hover{border-color:#fca5a5;color:#ef4444;background:#fef2f2}.tf-save-err{padding:10px 14px;background:#fef2f2;border:1px solid #fca5a5;border-radius:6px;font-size:13px;color:#b91c1c}.tf-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid #e5e7eb;flex-shrink:0;background:#fff}.tf-cancel-btn{padding:8px 18px;border:1px solid #e5e7eb;border-radius:7px;font-size:13px;color:#374151;background:#fff;cursor:pointer}.tf-cancel-btn:hover{background:#f9fafb}.tf-save-btn{display:flex;align-items:center;gap:6px;padding:8px 20px;background:#7c3aed;color:#fff;border:none;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer}.tf-save-btn:hover:not(:disabled){background:#6d28d9}.tf-save-btn:disabled{opacity:.6;cursor:not-allowed}.tp-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:300;display:flex;align-items:center;justify-content:center;padding:24px}.tp-panel{width:680px;max-width:100%;max-height:88vh;background:#fff;border-radius:12px;display:flex;flex-direction:column;box-shadow:0 20px 48px #0000002e;animation:tp-pop .18s ease;overflow:hidden}@keyframes tp-pop{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.tp-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid #e5e7eb;flex-shrink:0}.tp-label{font-size:13px;font-weight:600;color:#6b7280}.tp-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;border-radius:5px;background:#fff;cursor:pointer;color:#6b7280}.tp-close:hover{border-color:#ef4444;color:#ef4444}.tp-body{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:14px}.tp-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.tp-status{display:flex;align-items:center;gap:4px;padding:3px 8px;border-radius:8px;font-size:11px;font-weight:600}.tp-status--draft{background:#f9fafb;color:#9ca3af;border:1px solid #e5e7eb}.tp-status--scheduled{background:#fffbeb;color:#d97706;border:1px solid #fde68a}.tp-status--live{background:#f0fdf4;color:#15803d;border:1px solid #86efac}.tp-status--expired{background:#fef2f2;color:#b91c1c;border:1px solid #fca5a5}.tp-badge{padding:3px 8px;border-radius:10px;border:1px solid #e5e7eb;font-size:11px;font-weight:500;color:#374151;display:flex;align-items:center;gap:3px}.tp-badge--type{background:#ede9fe;border-color:#c4b5fd;color:#5b21b6}.tp-badge--bloom{background:#e0f2fe;border-color:#7dd3fc;color:#0369a1}.tp-badge--dur{background:#f3f4f6;color:#6b7280}.tp-name{font-size:20px;font-weight:700;color:#111827;margin:0}.tp-schedule{display:flex;align-items:center;gap:10px;font-size:12px;color:#6b7280;background:#f9fafb;border:1px solid #e5e7eb;border-radius:7px;padding:8px 12px}.tp-instructions{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;padding:12px 14px}.tp-section-title{font-size:12px;font-weight:700;color:#0369a1;text-transform:uppercase;letter-spacing:.04em;margin:0 0 6px}.tp-instructions-text{font-size:13px;color:#374151;margin:0;line-height:1.6}.tp-questions-section{display:flex;flex-direction:column;gap:8px}.tp-questions-section .tp-section-title{color:#374151}.tp-loading{display:flex;align-items:center;justify-content:center;padding:24px;color:#9ca3af}@keyframes tp-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tp-spinner{animation:tp-spin .8s linear infinite}.tp-empty{font-size:13px;color:#9ca3af;font-style:italic;margin:0}.tp-q-list{display:flex;flex-direction:column;gap:6px}.tp-q-row{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px}.tp-q-num{width:22px;height:22px;border-radius:50%;background:#e5e7eb;color:#374151;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}.tp-q-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.tp-q-text{font-size:13px;color:#111827;margin:0;line-height:1.5}.tp-q-badges{display:flex;flex-wrap:wrap;gap:4px}.tp-q-marks{font-size:12px;font-weight:700;color:#5b21b6;flex-shrink:0;white-space:nowrap;margin-top:2px}.pl-wrap{display:flex;flex-direction:column;gap:16px}.pl-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.pl-filters{display:flex;align-items:center;gap:8px}.pl-filter-sel{padding:6px 10px;border:1px solid #e5e7eb;border-radius:6px;font-size:12px;color:#374151;background:#f9fafb;outline:none;cursor:pointer}.pl-filter-sel:focus{border-color:#7c3aed}.pl-status-pills{display:flex;align-items:center;gap:0;border:1px solid #e5e7eb;border-radius:7px;overflow:hidden;background:#f9fafb}.pl-status-pill{display:flex;align-items:center;gap:5px;padding:5px 11px;font-size:11px;font-weight:600;border:none;border-right:1px solid #e5e7eb;background:transparent;color:#6b7280;cursor:pointer;white-space:nowrap;transition:background .13s,color .13s;line-height:1}.pl-status-pill:last-child{border-right:none}.pl-status-pill:hover{background:#f3f4f6;color:#374151}.pl-status-pill--all.pl-status-pill--on{background:#ede9fe;color:#6d28d9}.pl-status-pill--active.pl-status-pill--on{background:#dcfce7;color:#15803d}.pl-status-pill--scheduled.pl-status-pill--on{background:#fef3c7;color:#b45309}.pl-status-pill--draft.pl-status-pill--on{background:#f1f5f9;color:#475569}.pl-add-btn{display:flex;align-items:center;gap:6px;padding:7px 16px;background:#7c3aed;color:#fff;border:none;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.pl-add-btn:hover{background:#6d28d9}.pl-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:60px 20px;color:#9ca3af;font-size:14px}.pl-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:48px;color:#6b7280}@keyframes pl-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pl-spinner{animation:pl-spin .8s linear infinite}.pl-error{padding:12px 16px;background:#fef2f2;border:1px solid #fca5a5;border-radius:7px;color:#b91c1c;font-size:13px}.pl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.pl-card{border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;background:#fff;display:flex;flex-direction:column;transition:box-shadow .15s,border-color .15s}.pl-card:hover{box-shadow:0 4px 16px #00000017;border-color:#d1d5db}.pl-card--draft{opacity:.82}.pl-status-strip{display:flex;align-items:center;gap:5px;padding:5px 10px;font-size:10px;font-weight:700;letter-spacing:.03em}.pl-status--live{background:#f0fdf4;color:#15803d;border-bottom:1px solid #bbf7d0}.pl-status--scheduled{background:#fffbeb;color:#b45309;border-bottom:1px solid #fde68a}.pl-status--draft{background:#f9fafb;color:#6b7280;border-bottom:1px solid #e5e7eb}.pl-status-label{text-transform:uppercase;letter-spacing:.06em}.pl-status-when{font-weight:500;margin-left:2px;font-size:10px;opacity:.85}.pl-status-offline-hint{font-size:10px;opacity:.7;margin-left:2px;font-style:italic}.pl-card-header{height:160px;display:flex;align-items:center;justify-content:center;position:relative}.pl-thumb{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.pl-type-icon{display:flex;align-items:center;justify-content:center}.pl-type-badge{position:absolute;top:8px;left:8px;padding:3px 7px;border-radius:8px;font-size:10px;font-weight:700;border:1px solid currentColor;background:#ffffffd9}.pl-draft-badge{position:absolute;top:8px;right:8px;padding:3px 7px;border-radius:8px;font-size:10px;font-weight:700;background:#0000008c;color:#fff}.pl-card-body{padding:12px 14px;flex:1;display:flex;flex-direction:column;gap:6px}.pl-project-name{font-size:14px;font-weight:700;color:#111827;margin:0;line-height:1.3}.pl-project-desc{font-size:12px;color:#6b7280;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5}.pl-meta{display:flex;flex-wrap:wrap;gap:4px}.pl-badge{padding:2px 7px;border-radius:8px;border:1px solid #e5e7eb;font-size:10px;font-weight:600;color:#374151;display:flex;align-items:center;gap:3px}.pl-badge--template{background:#ede9fe;border-color:#c4b5fd;color:#5b21b6}.pl-badge--vis{background:#f0fdf4;border-color:#86efac;color:#15803d}.pl-badge--forks{background:#fef9c3;border-color:#fde68a;color:#92400e}.pl-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px;padding:8px 10px;border-top:1px solid #f3f4f6}.pl-act-btn{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;border-radius:5px;background:#fff;color:#6b7280;cursor:pointer;transition:all .15s}.pl-act-btn:hover{border-color:#7c3aed;color:#7c3aed;background:#faf5ff}.pl-act-btn--pub.active{border-color:#86efac;color:#16a34a;background:#f0fdf4}.pl-act-btn--pub.active:hover{border-color:#d97706;color:#d97706;background:#fffbeb}.pl-act-btn--del:hover{border-color:#fca5a5;color:#ef4444;background:#fef2f2}*,*:before,*:after{box-sizing:border-box}.pf-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172aa6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:stretch;justify-content:center;z-index:1000;padding:0}.pf-panel{width:100%;height:100%;background:#f8fafc;display:flex;flex-direction:column;overflow:hidden;animation:pf-slide-up .22s cubic-bezier(.16,1,.3,1)}@keyframes pf-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.pf-topbar{display:flex;align-items:center;justify-content:space-between;padding:0 28px;height:56px;background:#fff;border-bottom:1px solid #e2e8f0;flex-shrink:0;gap:16px;z-index:2}.pf-topbar-left{display:flex;align-items:center;gap:10px;min-width:0}.pf-topbar-logo{width:28px;height:28px;background:linear-gradient(135deg,#7c3aed,#a855f7);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.pf-topbar-title{font-size:.9rem;font-weight:700;color:#1e293b;white-space:nowrap}.pf-topbar-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:999px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}.pf-topbar-right{display:flex;align-items:center;gap:8px}.pf-close{width:32px;height:32px;border:none;background:#f1f5f9;color:#64748b;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s;flex-shrink:0}.pf-close:hover{background:#fee2e2;color:#dc2626}.pf-layout{display:flex;flex:1;overflow:hidden}.pf-sidebar{width:240px;background:#fff;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;flex-shrink:0;padding:24px 0;overflow-y:auto}.pf-sidebar-label{font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#94a3b8;padding:0 20px 10px}.pf-step-btn{display:flex;align-items:center;gap:12px;padding:12px 20px;width:100%;background:none;border:none;cursor:pointer;transition:background .15s;text-align:left;position:relative}.pf-step-btn:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:transparent;border-radius:0 4px 4px 0;transition:background .15s}.pf-step-btn:hover{background:#f8fafc}.pf-step-btn--active{background:#faf5ff}.pf-step-btn--active:before{background:#7c3aed}.pf-step-num{width:28px;height:28px;border-radius:50%;border:2px solid #e2e8f0;background:#f8fafc;color:#94a3b8;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;flex-shrink:0;transition:all .15s}.pf-step-btn--active .pf-step-num{background:#7c3aed;border-color:#7c3aed;color:#fff;box-shadow:0 0 0 3px #7c3aed26}.pf-step-btn--done .pf-step-num{background:#059669;border-color:#059669;color:#fff}.pf-step-info{flex:1;min-width:0}.pf-step-name{display:block;font-size:.82rem;font-weight:600;color:#374151;line-height:1.2}.pf-step-btn--active .pf-step-name{color:#7c3aed}.pf-step-btn--done .pf-step-name{color:#059669}.pf-step-desc{display:block;font-size:.7rem;color:#94a3b8;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pf-step-line{width:2px;height:20px;background:#e2e8f0;margin:0 20px 0 33px;border-radius:2px}.pf-step-line--done{background:#059669}.pf-main{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#f8fafc}.pf-body{flex:1;overflow-y:auto;padding:0}.pf-step-content{max-width:860px;margin:0 auto;padding:36px 40px 40px;text-align:left}.pf-step-intro{margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid #e2e8f0;text-align:left}.pf-step-heading{font-size:1.4rem;font-weight:800;color:#0f172a;margin:0 0 6px;letter-spacing:-.02em;text-align:left}.pf-step-sub{font-size:.88rem;color:#64748b;margin:0;line-height:1.6;text-align:left}.pf-step-intro--ai{display:flex;align-items:flex-start;gap:14px;background:linear-gradient(135deg,#faf5ff,#f5f3ff);border:1px solid #e9d5ff;border-radius:14px;padding:20px;margin-bottom:28px}.pf-step-intro--ai .pf-step-heading,.pf-step-intro--ai .pf-step-sub{margin:0}.pf-step-intro-icon{width:40px;height:40px;background:linear-gradient(135deg,#7c3aed,#a855f7);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.pf-field{margin-bottom:24px}.pf-field:last-child{margin-bottom:0}.pf-label{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;font-size:.82rem;font-weight:700;color:#374151;margin-bottom:8px}.pf-req{color:#ef4444}.pf-label-hint{font-size:.74rem;font-weight:400;color:#94a3b8}.pf-input,.pf-textarea,.pf-select{width:100%;padding:10px 14px;border:1.5px solid #e2e8f0;border-radius:10px;font-size:.875rem;color:#1e293b;background:#fff;outline:none;transition:border-color .15s,box-shadow .15s}.pf-input:focus,.pf-textarea:focus,.pf-select:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.pf-input--lg{font-size:1rem;padding:12px 14px}.pf-input--error{border-color:#ef4444!important}.pf-error{display:flex;align-items:center;gap:4px;font-size:.78rem;color:#ef4444;margin-top:5px}.pf-textarea{resize:vertical;min-height:100px;line-height:1.6}.pf-textarea--xl{min-height:160px}.pf-textarea--code{font-family:Fira Code,Cascadia Code,Consolas,monospace;font-size:.82rem;background:#0f172a;color:#e2e8f0;border-color:#1e293b;border-radius:10px;line-height:1.6}.pf-textarea--code:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed26}.pf-row-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.pf-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.pf-type-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.pf-type-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:18px 10px;border:2px solid #e2e8f0;border-radius:14px;background:#fff;cursor:pointer;transition:all .15s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pf-type-card:hover{border-color:#c4b5fd;transform:translateY(-2px);box-shadow:0 4px 12px #7c3aed14}.pf-type-card--active{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.pf-type-icon{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center}.pf-type-label{font-size:.78rem;font-weight:700;color:#374151;text-align:center}.pf-type-desc{font-size:.66rem;color:#94a3b8;text-align:center;line-height:1.3}.pf-tier-selector{display:grid;grid-template-columns:1fr 1fr;gap:14px}.pf-tier-option{display:flex;align-items:center;gap:14px;padding:18px 20px;border:2px solid #e2e8f0;border-radius:14px;background:#fff;cursor:pointer;transition:all .15s;position:relative;text-align:left}.pf-tier-option:hover{border-color:#c4b5fd}.pf-tier-option--active{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.pf-tier-option--ai-active{border-color:#a855f7;background:linear-gradient(135deg,#faf5ff,#f5f3ff);box-shadow:0 0 0 3px #a855f71a}.pf-tier-icon-wrap{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pf-tier-icon-wrap--foundation{background:#dbeafe;color:#2563eb}.pf-tier-icon-wrap--ai{background:linear-gradient(135deg,#ede9fe,#fce7f3);color:#7c3aed}.pf-tier-text{flex:1;min-width:0}.pf-tier-text strong{display:block;font-size:.88rem;font-weight:700;color:#1e293b;margin-bottom:3px}.pf-tier-text small{font-size:.75rem;color:#64748b;line-height:1.4}.pf-tier-check{width:22px;height:22px;border-radius:50%;border:2px solid #e2e8f0;background:#f8fafc;color:transparent;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.pf-tier-check--on{background:#7c3aed;border-color:#7c3aed;color:#fff}.pf-tier-check--ai.pf-tier-check--on{background:#a855f7;border-color:#a855f7}.pf-tier-ai-note{display:flex;align-items:center;gap:6px;margin-top:10px;padding:10px 14px;background:#faf5ff;border:1px solid #e9d5ff;border-radius:10px;font-size:.78rem;color:#7c3aed;line-height:1.5}.pf-diff-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.pf-diff-option{padding:14px 10px;border:2px solid #e2e8f0;border-radius:12px;background:#fff;cursor:pointer;text-align:center;transition:all .15s;display:flex;flex-direction:column;align-items:center;gap:3px}.pf-diff-option:hover{border-color:#c4b5fd}.pf-diff-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.pf-diff-label{display:block;font-size:.85rem;font-weight:700;color:#374151}.pf-diff-desc{display:block;font-size:.72rem;color:#94a3b8;line-height:1.3}.pf-section{margin-bottom:28px}.pf-section-head{font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#475569;margin-bottom:4px}.pf-section-hint{font-size:.78rem;color:#94a3b8;margin:0 0 10px;line-height:1.5}.pf-inline-code{background:#f1f5f9;border-radius:4px;padding:1px 5px;font-size:.8em;color:#7c3aed;font-family:monospace}.pf-code-tabs{display:flex;gap:6px;margin-bottom:8px}.pf-code-tab{padding:5px 14px;border:1.5px solid #e2e8f0;border-radius:8px;background:#f8fafc;font-size:.75rem;font-weight:700;color:#64748b;cursor:pointer;transition:all .15s;letter-spacing:.05em}.pf-code-tab.active,.pf-code-tab:hover{border-color:#7c3aed;background:#f5f3ff;color:#7c3aed}.pf-build-notice{display:flex;align-items:center;gap:10px;padding:20px;background:#f8fafc;border:2px dashed #e2e8f0;border-radius:12px;color:#94a3b8;font-size:.85rem;margin-bottom:28px}.pf-link-row{display:flex;gap:8px;margin-bottom:8px}.pf-link-input{flex:1}.pf-add-link-btn{width:38px;height:38px;background:#7c3aed;color:#fff;border:none;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s}.pf-add-link-btn:hover{background:#6d28d9}.pf-link-item,.pf-comp-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:9px;margin-bottom:6px;font-size:.82rem;color:#334155}.pf-link-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#3b82f6;text-decoration:none;font-size:.8rem}.pf-link-text:hover{text-decoration:underline}.pf-remove-link{background:none;border:none;color:#94a3b8;cursor:pointer;padding:3px;border-radius:5px;display:flex;align-items:center;flex-shrink:0}.pf-remove-link:hover{color:#ef4444;background:#fef2f2}.pf-ai-section{background:#fff;border:1.5px solid #e9d5ff;border-radius:14px;padding:24px}.pf-ai-prompt{font-family:monospace;font-size:.82rem;line-height:1.7;background:#0f172a;color:#e2e8f0;border-color:#1e293b;border-radius:10px}.pf-schema-builder{display:flex;flex-direction:column;gap:10px}.pf-schema-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:8px 0 4px}.pf-schema-toolbar-title{display:flex;flex-direction:column;gap:3px;font-size:.82rem;font-weight:600;color:#374151}.pf-schema-toolbar-hint{font-size:.74rem;color:#94a3b8;font-weight:400;line-height:1.4}.pf-schema-toolbar-hint code{background:#f1f5f9;padding:1px 5px;border-radius:4px;font-size:.78rem}.pf-schema-detect-btn{display:flex;align-items:center;gap:5px;padding:7px 13px;background:#faf5ff;border:1.5px solid #c4b5fd;color:#7c3aed;border-radius:8px;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap;flex-shrink:0}.pf-schema-detect-btn:hover{background:#f5f3ff;border-color:#7c3aed}.pf-schema-empty{padding:18px;text-align:center;background:#f8fafc;border:2px dashed #e2e8f0;border-radius:10px;font-size:.82rem;color:#94a3b8;line-height:1.5}.pf-add-schema-field{display:flex;align-items:center;gap:6px;padding:9px 14px;background:none;border:1.5px dashed #c4b5fd;color:#7c3aed;border-radius:10px;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .15s;align-self:flex-start}.pf-add-schema-field:hover{background:#f5f3ff;border-color:#7c3aed}.pf-svc{border:1.5px solid #e2e8f0;border-radius:10px;background:#fff;overflow:hidden}.pf-svc--fixed{border-color:#fde68a;background:#fffbeb}.pf-svc-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;cursor:pointer;gap:10px;background:#f8fafc;border-bottom:1.5px solid transparent;transition:background .12s}.pf-svc--fixed .pf-svc-header{background:#fef9c3;border-bottom-color:transparent}.pf-svc-header:hover{background:#f1f5f9}.pf-svc--fixed .pf-svc-header:hover{background:#fef3c7}.pf-svc-header-left{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.pf-svc-varname{font-size:.8rem;font-family:monospace;color:#7c3aed;background:#f5f3ff;padding:3px 8px;border-radius:5px;border:1px solid #ede9fe;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}.pf-svc--fixed .pf-svc-varname{color:#92400e;background:#fef3c7;border-color:#fde68a}.pf-svc-fixed-badge{font-size:.7rem;font-weight:700;color:#92400e;background:#fde68a;padding:2px 8px;border-radius:20px}.pf-svc-opts-badge{font-size:.7rem;font-weight:600;color:#5b21b6;background:#ede9fe;padding:2px 8px;border-radius:20px}.pf-svc-header-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.pf-svc-expand-btn{background:none;border:none;color:#94a3b8;cursor:pointer;padding:2px;display:flex;align-items:center}.pf-svc-fixed-toggle{display:flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pf-svc-fixed-toggle input[type=checkbox]{display:none}.pf-svc-toggle-track{width:32px;height:18px;background:#e2e8f0;border-radius:20px;position:relative;transition:background .2s;flex-shrink:0}.pf-svc-fixed-toggle input:checked+.pf-svc-toggle-track{background:#f59e0b}.pf-svc-toggle-thumb{position:absolute;top:2px;left:2px;width:14px;height:14px;background:#fff;border-radius:50%;transition:left .2s;box-shadow:0 1px 2px #0003}.pf-svc-fixed-toggle input:checked+.pf-svc-toggle-track .pf-svc-toggle-thumb{left:16px}.pf-svc-toggle-label{font-size:.73rem;font-weight:600;color:#64748b;white-space:nowrap}.pf-svc-body{padding:14px 16px;display:flex;flex-direction:column;gap:10px;border-top:1.5px solid #f1f5f9}.pf-svc--fixed .pf-svc-body{border-top-color:#fde68a}.pf-svc-field-row{display:flex;flex-direction:column;gap:4px}.pf-svc-field-row--inline{flex-direction:row;align-items:center;gap:12px}.pf-svc-label{font-size:.74rem;font-weight:600;color:#64748b;display:flex;align-items:center;gap:4px}.pf-svc-required{color:#ef4444}.pf-svc-optional{font-weight:400;color:#94a3b8;font-size:.71rem}.pf-svc-varname-input{font-family:monospace;font-size:.8rem;text-transform:uppercase}.pf-svc-varname-preview{font-size:.75rem;color:#94a3b8;white-space:nowrap;align-self:center}.pf-svc-varname-preview code{background:#f5f3ff;padding:2px 6px;border-radius:4px;color:#7c3aed}.pf-svc-question-input{resize:vertical;font-size:.82rem;line-height:1.5}.pf-svc-type-select{width:auto;min-width:160px}.pf-svc-fixed-val{font-family:monospace;font-size:.82rem}.pf-svc-options-section{background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.pf-svc-options-header{display:flex;align-items:baseline;gap:8px}.pf-svc-opts-empty{font-size:.76rem;color:#94a3b8;font-style:italic}.pf-svc-opts-list{display:flex;flex-direction:column;gap:6px}.pf-svc-opts-list-header{display:grid;grid-template-columns:1fr 1fr 24px;gap:6px;font-size:.72rem;font-weight:600;color:#94a3b8;padding:0 0 2px}.pf-svc-opt-row{display:grid;grid-template-columns:1fr 1fr 24px;gap:6px;align-items:center}.pf-svc-opt-label,.pf-svc-opt-value{font-size:.8rem}.pf-svc-opts-actions{display:flex;gap:8px;flex-wrap:wrap}.pf-svc-add-opt-btn{display:flex;align-items:center;gap:4px;padding:5px 11px;background:none;border:1.5px dashed #c4b5fd;color:#7c3aed;border-radius:7px;font-size:.76rem;font-weight:600;cursor:pointer;transition:all .12s}.pf-svc-add-opt-btn:hover{background:#f5f3ff}.pf-svc-add-custom-btn{display:flex;align-items:center;gap:4px;padding:5px 11px;background:none;border:1.5px dashed #d1d5db;color:#6b7280;border-radius:7px;font-size:.76rem;font-weight:600;cursor:pointer;transition:all .12s}.pf-svc-add-custom-btn:hover{background:#f9fafb;border-color:#9ca3af}.pf-svc-fixed-note{display:flex;align-items:flex-start;gap:8px;padding:8px 12px;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;font-size:.76rem;color:#92400e;line-height:1.5}.pf-schema-row,.pf-schema-row-top,.pf-schema-key,.pf-schema-label,.pf-schema-type,.pf-schema-options-row,.pf-schema-options-label,.pf-schema-options-input{display:none}.pf-publish-box{background:#fff;border:1.5px solid #e2e8f0;border-radius:14px;padding:24px;margin-bottom:24px}.pf-vis-selector{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pf-vis-option{display:flex;align-items:center;gap:14px;padding:16px;border:2px solid #e2e8f0;border-radius:12px;background:#fafafa;cursor:pointer;transition:all .15s;text-align:left}.pf-vis-option:hover{border-color:#c4b5fd}.pf-vis-option--active{border-color:#7c3aed;background:#faf5ff;box-shadow:0 0 0 3px #7c3aed14}.pf-vis-icon{color:#64748b;flex-shrink:0}.pf-vis-option--active .pf-vis-icon{color:#7c3aed}.pf-vis-option strong{display:block;font-size:.85rem;font-weight:700;color:#1e293b}.pf-vis-option small{font-size:.75rem;color:#64748b}.pf-toggle-row{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:border-color .15s}.pf-toggle-row:hover{border-color:#c4b5fd}.pf-toggle{width:44px;height:25px;border-radius:999px;background:#e2e8f0;position:relative;transition:background .2s;flex-shrink:0;border:none;cursor:pointer}.pf-toggle--on{background:#7c3aed}.pf-toggle-thumb{position:absolute;top:3px;left:3px;width:19px;height:19px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 4px #0003}.pf-toggle--on .pf-toggle-thumb{transform:translate(19px)}.pf-toggle-label{display:flex;align-items:center;gap:6px;font-size:.85rem;font-weight:600;color:#374151;flex:1}.pf-review-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:14px;overflow:hidden}.pf-review-header{display:flex;align-items:center;gap:14px;padding:20px;border-bottom:1px solid #f1f5f9;background:#fafafa}.pf-review-type-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.1rem;font-weight:700}.pf-review-type-icon--empty{background:#f1f5f9;color:#94a3b8;font-size:1.2rem}.pf-review-meta{flex:1;min-width:0}.pf-review-name{font-size:1rem;font-weight:700;color:#1e293b;margin:0 0 6px}.pf-review-empty{color:#94a3b8;font-weight:400;font-style:italic}.pf-review-chips{display:flex;flex-wrap:wrap;gap:6px}.pf-review-thumb{width:72px;height:54px;-o-object-fit:cover;object-fit:cover;border-radius:8px;flex-shrink:0}.pf-review-checklist{padding:16px 20px;display:flex;flex-direction:column;gap:8px}.pf-review-item{display:flex;align-items:center;gap:8px;font-size:.82rem;color:#64748b;padding:7px 10px;border-radius:8px;background:#f8fafc}.pf-review-item--ok{color:#059669;background:#f0fdf4}.pf-review-item--warn{color:#d97706;background:#fffbeb}.pf-review-item-check{margin-left:auto;flex-shrink:0}.pf-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;font-size:.7rem;font-weight:700}.pf-chip--foundation{background:#dbeafe;color:#1d4ed8}.pf-chip--ai{background:#f3e8ff;color:#7c3aed}.pf-chip--neutral{background:#f1f5f9;color:#475569}.pf-save-err{margin-top:16px;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;color:#dc2626;border-radius:10px;font-size:.85rem}.pf-footer{display:flex;align-items:center;justify-content:space-between;padding:14px 32px;background:#fff;border-top:1px solid #e2e8f0;flex-shrink:0}.pf-nav-btns{display:flex;gap:10px}.pf-cancel-btn{padding:9px 18px;background:none;border:none;font-size:.85rem;font-weight:600;color:#64748b;cursor:pointer;border-radius:9px;transition:all .15s}.pf-cancel-btn:hover{background:#f1f5f9;color:#1e293b}.pf-back-btn{display:flex;align-items:center;gap:5px;padding:9px 18px;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:9px;font-size:.85rem;font-weight:600;color:#374151;cursor:pointer;transition:all .15s}.pf-back-btn:hover{background:#f1f5f9}.pf-next-btn,.pf-save-btn{display:flex;align-items:center;gap:6px;padding:10px 24px;border:none;border-radius:9px;font-size:.875rem;font-weight:700;cursor:pointer;transition:all .15s;letter-spacing:.01em}.pf-next-btn{background:#7c3aed;color:#fff}.pf-next-btn:hover:not(:disabled){background:#6d28d9}.pf-save-btn{background:#059669;color:#fff}.pf-save-btn:hover:not(:disabled){background:#047857}.pf-next-btn:disabled,.pf-save-btn:disabled{opacity:.5;cursor:not-allowed}@keyframes pf-spin{to{transform:rotate(360deg)}}.pf-spinner{animation:pf-spin .8s linear infinite}.pf-thumb-picker{display:flex;flex-direction:column;gap:10px}.pf-thumb-current{border:1.5px solid #e2e8f0;border-radius:10px;overflow:hidden}.pf-thumb-empty{display:flex;align-items:center;gap:10px;padding:20px;color:#94a3b8;font-size:.85rem;background:#f8fafc}.pf-thumb-set{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#f8fafc}.pf-thumb-img{width:80px;height:56px;-o-object-fit:cover;object-fit:cover;border-radius:8px;border:1.5px solid #e2e8f0;flex-shrink:0}.pf-thumb-url{flex:1;font-size:.75rem;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:monospace}.pf-thumb-clear{display:flex;align-items:center;gap:4px;padding:5px 10px;background:none;border:1.5px solid #fca5a5;color:#ef4444;border-radius:7px;font-size:.75rem;font-weight:600;cursor:pointer;flex-shrink:0;transition:all .15s}.pf-thumb-clear:hover{background:#fef2f2}.pf-thumb-actions{display:flex;gap:8px}.pf-thumb-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#7c3aed;color:#fff;border:none;border-radius:9px;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .15s}.pf-thumb-btn:hover{background:#6d28d9}.pf-thumb-btn--secondary{background:#f8fafc;color:#374151;border:1.5px solid #e2e8f0}.pf-thumb-btn--secondary:hover{background:#f1f5f9;border-color:#cbd5e1}.pf-thumb-uploading{display:flex;align-items:center;gap:12px;padding:10px 0}.pf-upload-bar{flex:1;height:6px;background:#e2e8f0;border-radius:999px;overflow:hidden}.pf-upload-fill{height:100%;background:linear-gradient(90deg,#7c3aed,#a855f7);border-radius:999px;transition:width .2s}.pf-upload-pct{font-size:.78rem;font-weight:700;color:#7c3aed;flex-shrink:0}.pf-thumb-gallery{border:1.5px solid #e2e8f0;border-radius:12px;overflow:hidden;background:#fff}.pf-gallery-toolbar{display:flex;gap:8px;padding:12px;border-bottom:1px solid #f1f5f9;background:#f8fafc}.pf-gallery-search{flex:1}.pf-gallery-loading,.pf-gallery-empty{display:flex;align-items:center;gap:8px;padding:28px;color:#94a3b8;font-size:.85rem;justify-content:center}.pf-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;padding:12px;max-height:320px;overflow-y:auto}.pf-gallery-item{display:flex;flex-direction:column;align-items:center;gap:5px;padding:6px;border:2px solid transparent;border-radius:10px;background:#f8fafc;cursor:pointer;transition:all .15s}.pf-gallery-item:hover{border-color:#7c3aed;background:#faf5ff;transform:translateY(-1px);box-shadow:0 4px 10px #7c3aed1a}.pf-gallery-item img{width:100%;height:80px;-o-object-fit:cover;object-fit:cover;border-radius:7px}.pf-gallery-name{font-size:.65rem;color:#64748b;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.pf-cpe{border:1px solid rgba(255,255,255,.07);border-radius:14px;overflow:hidden;background:#07101f;box-shadow:0 0 0 1px #7c3aed14,0 8px 32px #0006}.pf-cpe-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:linear-gradient(135deg,#0d1a2e,#111827);border-bottom:1px solid rgba(255,255,255,.06)}.pf-cpe-header-label{display:flex;align-items:center;gap:7px;font-size:.65rem;font-weight:700;color:#3b4f6b;text-transform:uppercase;letter-spacing:.1em}.pf-cpe-header-actions{display:flex;align-items:center;gap:8px}.pf-cpe-add-btn{display:flex;align-items:center;gap:6px;padding:5px 14px;background:#7c3aed1f;border:1px solid rgba(124,58,237,.3);border-radius:20px;color:#a78bfa;font-size:.72rem;font-weight:700;cursor:pointer;transition:all .18s;letter-spacing:.02em}.pf-cpe-add-btn:hover,.pf-cpe-add-btn--active{background:#7c3aed40;border-color:#7c3aed;color:#c4b5fd;box-shadow:0 0 12px #7c3aed40}.pf-cpe-preview-btn{display:flex;align-items:center;gap:5px;padding:5px 14px;background:#4ade8014;border:1px solid rgba(74,222,128,.25);border-radius:20px;color:#4ade80;font-size:.72rem;font-weight:700;cursor:pointer;transition:all .18s;letter-spacing:.02em}.pf-cpe-preview-btn:hover{background:#4ade802e;border-color:#4ade80;box-shadow:0 0 12px #4ade8033}.pf-cpe-preview-btn--active{background:#4ade8033;border-color:#4ade80;color:#86efac;box-shadow:0 0 10px #4ade8026}.pf-cpe-body{display:flex;min-height:420px}.pf-cpe-sidebar{width:190px;flex-shrink:0;background:linear-gradient(180deg,#08111f,#060d1a);border-right:1px solid rgba(255,255,255,.05);overflow-y:auto;padding:6px 0}.pf-cpe-empty{font-size:.7rem;color:#2d3f58;padding:28px 14px;line-height:1.8;text-align:center}.pf-cpe-file{display:flex;align-items:center;gap:8px;padding:8px 10px 8px 12px;cursor:pointer;border-left:2px solid transparent;transition:all .14s;position:relative}.pf-cpe-file:hover{background:#ffffff08}.pf-cpe-file--active{background:#7c3aed1a;border-left-color:#7c3aed;box-shadow:inset 0 0 20px #7c3aed0a}.pf-cpe-file--hidden{opacity:.55}.pf-cpe-file-badge{font-size:.55rem;font-weight:800;padding:2px 6px;border-radius:4px;letter-spacing:.05em;flex-shrink:0;border:1px solid currentColor;opacity:.85}.pf-cpe-file-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.pf-cpe-file-name{font-size:.7rem;color:#4a6080;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;transition:color .12s}.pf-cpe-file--active .pf-cpe-file-name{color:#cbd5e1}.pf-cpe-file:hover .pf-cpe-file-name{color:#8ea3be}.pf-cpe-file-name-input{font-size:.7rem;color:#e2e8f0;background:#1e293bcc;border:1px solid rgba(124,58,237,.5);border-radius:4px;padding:1px 6px;width:100%;outline:none}.pf-cpe-file-hidden-chip{font-size:.52rem;font-weight:700;letter-spacing:.05em;color:#7c3aed;background:#7c3aed1f;border:1px solid rgba(124,58,237,.2);border-radius:3px;padding:1px 5px;width:-moz-fit-content;width:fit-content;text-transform:uppercase}.pf-cpe-file-actions{display:flex;flex-direction:column;gap:2px;opacity:0;transition:opacity .12s;flex-shrink:0}.pf-cpe-file:hover .pf-cpe-file-actions{opacity:1}.pf-cpe-file-actions button{background:none;border:none;color:#2d3f58;cursor:pointer;padding:2px;border-radius:3px;display:flex;align-items:center;transition:all .12s}.pf-cpe-file-actions button:hover{color:#94a3b8;background:#ffffff0f}.pf-cpe-main{flex:1;min-width:0;display:flex;flex-direction:column}.pf-cpe-main--split{flex-direction:row}.pf-cpe-editor-pane{display:flex;flex-direction:column;flex:1;min-width:0;border-right:1px solid rgba(255,255,255,.05)}.pf-cpe-backend-notice{display:flex;align-items:center;gap:8px;padding:7px 16px;background:#34d39912;border-bottom:1px solid rgba(52,211,153,.15);font-size:.7rem;color:#6ee7b7;flex-shrink:0}.pf-cpe-backend-notice strong{color:#34d399;font-weight:700}.pf-cpe-preview-pane{display:flex;flex-direction:column;flex:1;min-width:0;background:#fff}.pf-cpe-preview-bar{display:flex;align-items:center;justify-content:space-between;padding:6px 14px;background:#07101f;border-bottom:1px solid rgba(255,255,255,.05);flex-shrink:0}.pf-cpe-preview-label{display:flex;align-items:center;gap:5px;font-size:.62rem;font-weight:700;color:#4ade80;text-transform:uppercase;letter-spacing:.08em}.pf-cpe-preview-hint{font-size:.6rem;color:#1e3a2a}.pf-cpe-preview-iframe{flex:1;width:100%;border:none;background:#fff;min-height:360px}.pf-cpe-add-panel{padding:32px 28px;display:flex;flex-direction:column;gap:20px;flex:1;background:#060d1a}.pf-cpe-add-panel-title{font-size:.65rem;font-weight:700;color:#2d3f58;text-transform:uppercase;letter-spacing:.1em;margin:0}.pf-cpe-type-grid{display:flex;flex-wrap:wrap;gap:12px}.pf-cpe-type-card{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 26px;background:#ffffff05;border:1px solid rgba(255,255,255,.07);border-radius:12px;cursor:pointer;transition:all .18s;min-width:100px}.pf-cpe-type-card:hover{border-color:#7c3aed80;background:#7c3aed14;transform:translateY(-3px);box-shadow:0 8px 24px #7c3aed26,0 0 0 1px #7c3aed33}.pf-cpe-type-card-badge{font-size:.68rem;font-weight:800;padding:4px 12px;border-radius:6px;letter-spacing:.05em;border:1px solid currentColor}.pf-cpe-type-card-name{font-size:.8rem;font-weight:700;color:#94a3b8}.pf-cpe-type-card-ext{font-size:.65rem;color:#2d3f58}.pf-cpe-no-file{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;flex:1;color:#1e293b;padding:40px;text-align:center}.pf-cpe-no-file p{font-size:.8rem;color:#2d3f58;margin:0}.pf-cpe-no-file strong{color:#7c3aed}.pf-cpe-textarea{flex:1;resize:none;border:none!important;border-radius:0!important;background:#060d1a;color:#cdd5e0;font-family:Fira Code,JetBrains Mono,Cascadia Code,monospace;font-size:.83rem;line-height:1.85;letter-spacing:.01em;padding:18px 22px;outline:none;width:100%;box-sizing:border-box;min-height:360px}.pf-cpe-editor-pane .pf-cpe-textarea{min-height:unset;height:100%}.pf-cpe-textarea::-moz-placeholder{color:#192435}.pf-cpe-textarea::placeholder{color:#192435}.pf-cpe-backend-notice--admin{background:#7c3aed14;border-bottom-color:#7c3aed33;color:#c084fc}.pf-cpe-backend-notice--admin strong{color:#a855f7}.pf-cpe-ai-notice{display:flex;align-items:flex-start;gap:8px;padding:7px 16px;background:#8b5cf612;border-bottom:1px solid rgba(139,92,246,.2);font-size:.7rem;color:#a78bfa;flex-shrink:0}.pf-cpe-ai-notice strong{color:#c4b5fd;font-weight:700}.pf-cpe-ai-notice code{background:#8b5cf626;border-radius:3px;padding:0 4px;color:#ddd6fe}.pf-ai-section{background:#ffffff03;border:1px solid rgba(255,255,255,.06);border-radius:12px;overflow:hidden;margin-bottom:20px}.pf-bs{padding:20px 0 16px;border-top:1px solid #eef2f7}.pf-bs:first-child{border-top:none;padding-top:4px}.pf-bs--admin{margin:8px -18px -14px;padding:18px;background:#f8fafc;border-top:1px solid #eef2f7;border-radius:0 0 14px 14px}.pf-bs-header{display:flex;align-items:center;gap:7px;margin-bottom:14px;flex-wrap:wrap}.pf-bs-num{width:20px;height:20px;border-radius:50%;font-size:.62rem;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1}.pf-bs-num--1{background:#dbeafe;color:#1d4ed8}.pf-bs-num--2{background:#fef9c3;color:#a16207}.pf-bs-num--3{background:#dcfce7;color:#15803d}.pf-bs-num--4{background:#fee2e2;color:#b91c1c}.pf-bs-header>span:nth-child(2),.pf-bs-header>svg+span{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:#1e293b}.pf-bs-header svg{color:#94a3b8;flex-shrink:0}.pf-bs-hint{font-size:.7rem;font-weight:400;text-transform:none;letter-spacing:0;color:#94a3b8;line-height:1.5;margin-left:2px}.pf-bs-hint code{background:#f1f5f9;padding:1px 6px;border-radius:4px;font-size:.67rem;color:#475569;font-family:Menlo,Consolas,monospace}.pf-bs-badge-admin{font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:#92400e;background:#fffbeb;border:1px solid #fde68a;padding:2px 9px;border-radius:20px;line-height:1.8}.pf-bs-sub-header{display:flex;align-items:center;gap:8px;margin:20px 0 12px;padding-top:16px;border-top:1.5px dashed #e2e8f0;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:#1e293b}.pf-bs-sub-header .pf-bs-hint{font-weight:400;text-transform:none;letter-spacing:0;margin-left:0}.pf-bs-two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 700px){.pf-bs-two-col{grid-template-columns:1fr}}.pf-bs-field{display:flex;flex-direction:column;gap:6px}.pf-bs-label{font-size:.72rem;font-weight:700;color:#374151;display:flex;align-items:baseline;gap:6px;line-height:1.4}.pf-bs-label-sub{font-size:.65rem;font-weight:400;color:#9ca3af;font-style:italic}.pf-bs-textarea{font-size:.8rem!important;line-height:1.65!important;color:#1e293b!important;background:#f8fafc!important;border:1.5px solid #e2e8f0!important;border-radius:8px!important;padding:10px 12px!important;resize:vertical;transition:border-color .15s,box-shadow .15s,background .15s!important}.pf-bs-textarea:focus{background:#fff!important;border-color:#a5b4fc!important;box-shadow:0 0 0 3px #6366f112!important;outline:none!important}.pf-bs-textarea::-moz-placeholder{color:#bcc4cf!important;font-style:italic;line-height:1.6}.pf-bs-textarea::placeholder{color:#bcc4cf!important;font-style:italic;line-height:1.6}.pf-bs-textarea--tall{min-height:130px}.pf-ai-backend-req{border-color:#ef444433!important}.pf-ai-backend-req:focus{border-color:#ef444473!important;box-shadow:0 0 0 3px #ef444414!important}.pf-ai-part-b-note{display:flex;align-items:flex-start;gap:7px;margin:0 20px 16px;padding:8px 12px;background:#ef44440d;border:1px solid rgba(239,68,68,.12);border-radius:8px;font-size:.67rem;color:#7f1d1d;line-height:1.6;color:#f87171}.pf-ai-part-b-note span{flex:1}.pf-ai-step-intro{display:flex;align-items:flex-start;gap:14px;text-align:left}.pf-ai-step-intro .pf-step-heading,.pf-ai-step-intro .pf-step-sub{text-align:left}.pf-ai-step-intro-icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#7c3aed1f,#a855f72e);border:1px solid rgba(124,58,237,.2);display:flex;align-items:center;justify-content:center;color:#7c3aed;flex-shrink:0;margin-top:2px}.pf-project-context-card{border:1.5px solid rgba(239,68,68,.2);border-radius:12px;overflow:hidden;background:#fff;margin-bottom:20px}.pf-project-context-header{display:flex;flex-direction:column;gap:5px;padding:11px 16px;background:#ef44440a;border-bottom:1px solid rgba(239,68,68,.12)}.pf-project-context-badge{display:inline-flex;align-items:center;gap:5px;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#dc2626;background:#ef44441a;border:1px solid rgba(239,68,68,.2);padding:3px 10px;border-radius:20px;width:-moz-fit-content;width:fit-content}.pf-project-context-hint{font-size:.7rem;color:#64748b;line-height:1.55}.pf-project-context-hint strong{color:#1e293b}.pf-project-context-hint em{font-style:normal;color:#475569;font-weight:600}.pf-project-context-textarea{border:none!important;border-radius:0!important;box-shadow:none!important;resize:vertical;background:#fff!important;padding:14px 16px!important;font-size:.82rem!important;color:#1e293b!important;width:100%}.pf-project-context-textarea:focus{outline:none!important;box-shadow:none!important;background:#fffbf5!important}.pf-batch-list{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.pf-batch-empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:40px 24px;border:2px dashed #e2e8f0;border-radius:14px;text-align:center;color:#94a3b8}.pf-batch-empty svg{color:#c4b5fd;margin-bottom:4px}.pf-batch-empty p{margin:0;font-size:.9rem;font-weight:600;color:#64748b}.pf-batch-empty span{font-size:.78rem;color:#94a3b8;max-width:420px}.pf-batch-card{display:flex;border:1.5px solid #e2e8f0;border-radius:14px;background:#fff;overflow:hidden;transition:box-shadow .15s,border-color .15s}.pf-batch-card:hover{border-color:#c4b5fd;box-shadow:0 2px 12px #7c3aed12}.pf-batch-card--open{border-color:#ddd6fe}.pf-batch-strip{width:48px;background:linear-gradient(180deg,#f5f3ff,#ede9fe);border-right:1.5px solid #ddd6fe;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;padding:14px 0 12px;flex-shrink:0}.pf-batch-num{width:26px;height:26px;border-radius:50%;background:#7c3aed;color:#fff;font-size:.72rem;font-weight:800;display:flex;align-items:center;justify-content:center;line-height:1;flex-shrink:0;box-shadow:0 2px 6px #7c3aed4d}.pf-batch-order-btns{display:flex;flex-direction:column;gap:2px;margin-top:4px}.pf-batch-order-btn{width:24px;height:22px;border:1px solid #ddd6fe;background:#fff;border-radius:6px;color:#7c3aed;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .12s;padding:0}.pf-batch-order-btn:hover:not(:disabled){background:#7c3aed;color:#fff;border-color:#7c3aed}.pf-batch-order-btn:disabled{opacity:.3;cursor:not-allowed}.pf-batch-right{flex:1;min-width:0;display:flex;flex-direction:column}.pf-batch-header{display:flex;align-items:center;gap:10px;padding:12px 14px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;background:#fafafa;border-bottom:1px solid #f1f5f9;transition:background .12s}.pf-batch-card--open .pf-batch-header{background:#faf8ff;border-bottom-color:#ede9fe}.pf-batch-header:hover{background:#f5f3ff}.pf-batch-label-input{flex:1;min-width:0;font-size:.84rem!important;font-weight:600!important;background:transparent!important;border-color:transparent!important;box-shadow:none!important;padding:6px 8px!important;color:#1e293b!important}.pf-batch-label-input:focus{background:#fff!important;border-color:#c4b5fd!important;box-shadow:0 0 0 3px #7c3aed14!important}.pf-batch-label-input::-moz-placeholder{color:#94a3b8!important;font-weight:400!important}.pf-batch-label-input::placeholder{color:#94a3b8!important;font-weight:400!important}.pf-batch-header-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.pf-batch-toggle-btn{width:30px;height:30px;border:1px solid #e2e8f0;background:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#64748b;transition:all .12s;padding:0}.pf-batch-toggle-btn:hover{background:#f1f5f9;color:#7c3aed;border-color:#c4b5fd}.pf-batch-chevron{transition:transform .18s ease;transform:rotate(-90deg)}.pf-batch-chevron--open{transform:rotate(0)}.pf-batch-delete-btn{width:30px;height:30px;border:1px solid #fee2e2;background:#fff5f5;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#ef4444;transition:all .12s;padding:0}.pf-batch-delete-btn:hover{background:#ef4444;color:#fff;border-color:#ef4444}.pf-batch-body{padding:18px 18px 6px;display:flex;flex-direction:column;gap:0}.pf-target-files{display:flex;flex-direction:column;gap:8px}.pf-target-files-list{display:flex;flex-wrap:wrap;gap:6px;min-height:32px;align-items:center}.pf-target-file-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px 4px 8px;background:#ede9fe;border:1px solid #c4b5fd;border-radius:20px;font-size:.73rem;font-weight:600;color:#5b21b6;white-space:nowrap}.pf-target-file-chip svg{color:#7c3aed;flex-shrink:0}.pf-target-file-remove{border:none;background:none;color:#a78bfa;cursor:pointer;font-size:1rem;line-height:1;padding:0 0 0 2px;transition:color .12s}.pf-target-file-remove:hover{color:#ef4444}.pf-target-files-add-row{display:flex;gap:6px;align-items:center}.pf-target-files-add-row .pf-input{flex:1;font-size:.8rem!important}.pf-target-files-add-btn{width:32px;height:32px;border:none;background:#7c3aed;color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .12s;padding:0}.pf-target-files-add-btn:hover{background:#6d28d9}.pf-add-batch-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:13px 20px;border:2px dashed #c4b5fd;background:transparent;color:#7c3aed;font-size:.85rem;font-weight:700;border-radius:12px;cursor:pointer;transition:all .15s;margin-top:4px}.pf-add-batch-btn:hover{background:#7c3aed0d;border-color:#7c3aed;box-shadow:0 2px 8px #7c3aed1a}.pf-batch-body .pf-ai-section{margin-bottom:0}.pf-batch-body .pf-ai-section .pf-textarea{margin:0}.pf-overlay *::-webkit-scrollbar{width:5px;height:5px}.pf-overlay *::-webkit-scrollbar-track{background:transparent}.pf-overlay *::-webkit-scrollbar-thumb{background:#dde3ec;border-radius:99px}.pf-overlay *::-webkit-scrollbar-thumb:hover{background:#b8c2d0}.pf-overlay *::-webkit-scrollbar-corner{background:transparent}.pf-overlay *{scrollbar-width:thin;scrollbar-color:#dde3ec transparent}.pf-scheduler-selector{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}.pf-scheduler-option{display:flex;align-items:center;gap:12px;padding:13px 16px;border:1.5px solid #e2e8f0;border-radius:12px;background:#fff;cursor:pointer;text-align:left;transition:border-color .15s,background .15s,box-shadow .15s}.pf-scheduler-option:hover{border-color:#94a3b8;box-shadow:0 2px 8px #0000000f}.pf-scheduler-option--active{border-color:#22c55e;background:#f0fdf4;box-shadow:0 0 0 3px #22c55e1a}.pf-scheduler-option--scheduled.pf-scheduler-option--active{border-color:#f59e0b;background:#fffbeb;box-shadow:0 0 0 3px #f59e0b1a}.pf-scheduler-option-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pf-scheduler-option-icon--instant{background:#dcfce7;color:#16a34a}.pf-scheduler-option-icon--scheduled{background:#fef3c7;color:#d97706}.pf-scheduler-option-body{flex:1;min-width:0}.pf-scheduler-option-body strong{display:block;font-size:.83rem;font-weight:600;color:#1e293b}.pf-scheduler-option-body small{display:block;font-size:.71rem;color:#64748b;margin-top:2px;line-height:1.4}.pf-tier-check--schedule{background:#fef3c7;color:#d97706;border-color:#fde68a}.pf-tier-check--schedule.pf-tier-check--on{background:#f59e0b;color:#fff;border-color:#f59e0b}.pf-sched-picker{margin-top:14px;border:1.5px solid #e2e8f0;border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 2px 12px #0000000d}.pf-sched-presets{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:12px 16px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.pf-sched-presets-label{font-size:.71rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin-right:4px;flex-shrink:0}.pf-sched-preset-btn{padding:4px 11px;border-radius:20px;border:1.5px solid #e2e8f0;background:#fff;font-size:.74rem;font-weight:500;color:#475569;cursor:pointer;transition:all .13s;white-space:nowrap}.pf-sched-preset-btn:hover{border-color:#f59e0b;color:#d97706;background:#fffbeb}.pf-sched-preset-btn--active{border-color:#f59e0b;background:#fef3c7;color:#b45309}.pf-sched-fields{display:grid;grid-template-columns:1fr 1fr;gap:0;border-bottom:1px solid #e2e8f0}.pf-sched-field{padding:14px 16px}.pf-sched-field+.pf-sched-field{border-left:1px solid #e2e8f0}.pf-sched-field-label{display:flex;align-items:center;gap:5px;font-size:.7rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.pf-sched-input{width:100%;padding:9px 12px;border:1.5px solid #e2e8f0;border-radius:9px;font-size:.85rem;font-family:inherit;color:#1e293b;background:#f8fafc;cursor:pointer;transition:border-color .14s,box-shadow .14s;outline:none;-moz-appearance:none;appearance:none;-webkit-appearance:none}.pf-sched-input:hover:not(:disabled){border-color:#94a3b8}.pf-sched-input:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1f;background:#fff}.pf-sched-input:disabled{opacity:.45;cursor:not-allowed;background:#f1f5f9}.pf-sched-input::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer;filter:invert(.3)}.pf-sched-input::-webkit-datetime-edit{color:#1e293b}.pf-sched-input::-webkit-datetime-edit-fields-wrapper{padding:0}.pf-sched-banner{display:flex;align-items:center;gap:12px;padding:13px 16px}.pf-sched-banner--set{background:linear-gradient(90deg,#fffbeb,#fff 60%)}.pf-sched-banner--empty{gap:8px;color:#94a3b8;font-size:.78rem;font-style:italic}.pf-sched-banner-icon{width:36px;height:36px;border-radius:9px;background:#fef3c7;color:#d97706;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pf-sched-banner-body{flex:1;display:flex;flex-direction:column;gap:2px}.pf-sched-banner-title{font-size:.69rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#d97706}.pf-sched-banner-date{font-size:.82rem;font-weight:600;color:#1e293b}.pf-sched-banner-pill{padding:4px 12px;border-radius:20px;background:#fef3c7;color:#b45309;font-size:.73rem;font-weight:600;border:1px solid #fde68a;white-space:nowrap;flex-shrink:0}.pf-offline-section{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:20px;margin-top:16px;display:flex;flex-direction:column;gap:14px}.pf-offline-section-header{display:flex;align-items:flex-start;gap:12px}.pf-offline-section-icon{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,#ffe4e6,#fecdd3);color:#e11d48;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 1px 4px #e11d4826}.pf-offline-section-title{display:flex;flex-direction:column;gap:2px}.pf-offline-section-title strong{font-size:.88rem;font-weight:700;color:#1e293b;line-height:1.3}.pf-offline-section-title span{font-size:.77rem;color:#64748b}.pf-scheduler-option--offline{border-color:#fda4af!important;background:linear-gradient(135deg,#fff1f2,#fff)!important}.pf-scheduler-option-icon--offline{background:linear-gradient(135deg,#ffe4e6,#fecdd3);color:#e11d48}.pf-tier-check--offline.pf-tier-check--on{background:#e11d48;border-color:#e11d48}.pf-sched-picker--offline .pf-sched-banner--set{background:linear-gradient(90deg,#fff1f2,#fff 60%)}.pf-sched-picker--offline .pf-sched-banner-icon{background:#ffe4e6;color:#e11d48}.pf-sched-picker--offline .pf-sched-banner-title{color:#e11d48}.pf-sched-picker--offline .pf-sched-banner-pill{background:#ffe4e6;color:#9f1239;border-color:#fecdd3}.pf-sched-picker--offline .pf-sched-preset-btn--active{background:#ffe4e6;color:#e11d48;border-color:#fda4af}.pf-offline-conflict-err{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;background:#fff1f2;border:1.5px solid #fda4af;border-radius:10px;color:#9f1239;font-size:.82rem;line-height:1.5;margin-top:10px;animation:pf-shake .35s ease}.pf-offline-conflict-err svg{flex-shrink:0;margin-top:1px;color:#e11d48}.pf-offline-conflict-err strong{font-weight:700;color:#e11d48}@keyframes pf-shake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@media (max-width: 900px){.pf-type-grid{grid-template-columns:repeat(3,1fr)}.pf-sidebar{width:200px}.pf-step-content{padding:24px 24px 32px}}@media (max-width: 640px){.pf-sidebar{display:none}.pf-type-grid{grid-template-columns:repeat(2,1fr)}.pf-tier-selector,.pf-row-2,.pf-row-3,.pf-vis-selector,.pf-scheduler-selector{grid-template-columns:1fr}.pf-footer{padding:12px 16px}.pf-step-content{padding:20px 16px 28px}}.pp-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:300;display:flex;align-items:center;justify-content:center;padding:24px}.pp-panel{width:680px;max-width:100%;max-height:90vh;background:#fff;border-radius:12px;display:flex;flex-direction:column;box-shadow:0 20px 48px #0003;animation:pp-pop .18s ease;overflow:hidden}@keyframes pp-pop{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.pp-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid #e5e7eb;flex-shrink:0}.pp-label{font-size:13px;font-weight:600;color:#6b7280}.pp-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;border-radius:5px;background:#fff;cursor:pointer;color:#6b7280}.pp-close:hover{border-color:#ef4444;color:#ef4444}.pp-body{flex:1;overflow-y:auto;padding:0 0 20px;display:flex;flex-direction:column;gap:14px}.pp-hero{width:100%;height:140px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pp-hero-thumb{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.pp-hero-icon{display:flex;align-items:center;justify-content:center}.pp-meta{display:flex;flex-wrap:wrap;gap:6px;padding:0 20px}.pp-badge{padding:3px 8px;border-radius:10px;border:1px solid #e5e7eb;font-size:11px;font-weight:500;color:#374151;display:flex;align-items:center;gap:3px}.pp-badge--type{font-weight:700;border-width:1.5px;background:#ffffffb3}.pp-badge--dur{background:#f3f4f6;color:#6b7280}.pp-badge--template{background:#ede9fe;border-color:#c4b5fd;color:#5b21b6}.pp-badge--forks{background:#fef9c3;border-color:#fde68a;color:#92400e}.pp-badge--pub{background:#f0fdf4;border-color:#86efac;color:#15803d}.pp-badge--draft{background:#f9fafb;color:#9ca3af}.pp-name{font-size:20px;font-weight:700;color:#111827;margin:0;padding:0 20px;line-height:1.3}.pp-desc{font-size:14px;color:#4b5563;margin:0;padding:0 20px;line-height:1.6}.pp-section{display:flex;flex-direction:column;gap:8px;padding:0 20px}.pp-section-title{font-size:12px;font-weight:700;color:#374151;text-transform:uppercase;letter-spacing:.04em;margin:0}.pp-text{font-size:13px;color:#374151;margin:0;line-height:1.7;white-space:pre-line}.pp-code-tabs{display:flex;gap:4px}.pp-code-tab{padding:4px 10px;font-size:11px;font-weight:700;border:1px solid #e5e7eb;border-radius:5px;background:#f9fafb;color:#6b7280;cursor:pointer}.pp-code-tab.active{background:#ede9fe;border-color:#c4b5fd;color:#5b21b6}.pp-code-block{background:#1e1e2e;color:#cdd6f4;border-radius:8px;padding:14px;font-family:Courier New,Courier,monospace;font-size:12px;line-height:1.6;overflow-x:auto;white-space:pre;margin:0}.pp-subsection{display:flex;flex-direction:column;gap:4px}.pp-subsection-title{font-size:11px;font-weight:700;color:#6b7280}.pp-comp-list{margin:0;padding-left:18px;font-size:13px;color:#374151;line-height:1.8}.pp-links{display:flex;flex-direction:column;gap:4px}.pp-link{display:flex;align-items:center;gap:5px;font-size:12px;color:#2563eb;text-decoration:none;padding:4px 8px;background:#eff6ff;border-radius:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pp-link:hover{text-decoration:underline}.lpl-wrap{display:flex;flex-direction:column;gap:14px}.lpl-toolbar{display:flex;align-items:center;justify-content:space-between}.lpl-count{font-size:13px;color:#6b7280}.lpl-add-btn{display:flex;align-items:center;gap:6px;padding:7px 16px;background:#7c3aed;color:#fff;border:none;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer}.lpl-add-btn:hover{background:#6d28d9}.lpl-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:60px 20px;color:#9ca3af;font-size:14px}.lpl-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:48px;color:#6b7280;font-size:14px}@keyframes lpl-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.lpl-spinner{animation:lpl-spin .8s linear infinite}.lpl-error{padding:12px 16px;background:#fef2f2;border:1px solid #fca5a5;border-radius:7px;color:#b91c1c;font-size:13px}.lpl-list{display:flex;flex-direction:column;gap:8px}.lpl-item{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;transition:box-shadow .15s}.lpl-item:hover{box-shadow:0 2px 8px #00000012;border-color:#d1d5db}.lpl-item-icon{width:36px;height:36px;border-radius:8px;background:#fef9c3;color:#92400e;display:flex;align-items:center;justify-content:center;flex-shrink:0}.lpl-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.lpl-title{font-size:14px;font-weight:600;color:#111827}.lpl-badges{display:flex;flex-wrap:wrap;gap:5px}.lpl-badge{padding:2px 7px;border-radius:8px;border:1px solid #e5e7eb;font-size:10px;font-weight:600;color:#374151;display:flex;align-items:center;gap:3px}.lpl-badge--sections{background:#ede9fe;border-color:#c4b5fd;color:#5b21b6}.lpl-badge--dur{background:#f3f4f6;color:#6b7280}.lpl-badge--teachers{background:#e0f2fe;border-color:#7dd3fc;color:#0369a1}.lpl-modified{font-size:11px;color:#9ca3af}.lpl-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.lpl-act-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;border-radius:5px;background:#fff;color:#6b7280;cursor:pointer;transition:all .15s}.lpl-act-btn:hover{border-color:#7c3aed;color:#7c3aed;background:#faf5ff}.lpl-act-btn--del:hover{border-color:#fca5a5;color:#ef4444;background:#fef2f2}.lpf-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:200;display:flex;align-items:flex-start;justify-content:flex-end}.lpf-panel{width:100vw;height:100vh;background:#fff;display:flex;flex-direction:column;box-shadow:-4px 0 24px #0000001f;animation:lpf-slide-in .22s ease}@keyframes lpf-slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.lpf-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid #e5e7eb;flex-shrink:0}.lpf-title{font-size:16px;font-weight:700;color:#111827;margin:0}.lpf-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;border-radius:6px;background:#fff;cursor:pointer;color:#6b7280}.lpf-close:hover{border-color:#ef4444;color:#ef4444}.lpf-body{flex:1;overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:14px}.lpf-section-head{font-size:12px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.04em;padding-top:4px;display:flex;align-items:center;gap:6px}.lpf-total-dur{font-weight:400;color:#9ca3af;text-transform:none;letter-spacing:0;font-size:12px}.lpf-row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.lpf-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.lpf-col-2{grid-column:span 2}.lpf-field{display:flex;flex-direction:column;gap:4px}.lpf-label{font-size:12px;font-weight:600;color:#374151}.lpf-label-sm{font-size:11px;font-weight:600;color:#6b7280}.lpf-req{color:#ef4444}.lpf-input,.lpf-input-sm{padding:7px 10px;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;color:#111827;background:#f9fafb;outline:none;font-family:inherit;transition:border-color .15s,background .15s}.lpf-input-sm{font-size:12px;padding:6px 8px}.lpf-input:focus,.lpf-input-sm:focus{border-color:#7c3aed;background:#fff;box-shadow:0 0 0 3px #7c3aed1a}.lpf-input--error{border-color:#ef4444!important}.lpf-textarea,.lpf-textarea-sm{padding:7px 10px;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;color:#111827;background:#f9fafb;outline:none;font-family:inherit;resize:vertical;transition:border-color .15s,background .15s}.lpf-textarea-sm{font-size:12px}.lpf-textarea:focus,.lpf-textarea-sm:focus{border-color:#7c3aed;background:#fff;box-shadow:0 0 0 3px #7c3aed1a}.lpf-error{font-size:11px;color:#ef4444}.lpf-sections{display:flex;flex-direction:column;gap:8px}.lpf-sec-row{display:flex;align-items:flex-start;gap:8px;background:#fafafa;border:1px solid #e5e7eb;border-radius:8px;padding:10px 12px;cursor:grab;transition:box-shadow .12s}.lpf-sec-row:hover{box-shadow:0 2px 6px #00000012}.lpf-sec-row:active{cursor:grabbing}.lpf-sec-drag{color:#d1d5db;flex-shrink:0;padding-top:2px}.lpf-sec-num{width:22px;height:22px;flex-shrink:0;border-radius:50%;background:#ede9fe;color:#5b21b6;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:2px}.lpf-sec-fields{flex:1;display:flex;flex-direction:column;gap:8px;min-width:0}.lpf-remove-sec{width:24px;height:24px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;border-radius:4px;background:#fff;color:#9ca3af;cursor:pointer;margin-top:2px;transition:all .12s}.lpf-remove-sec:hover{border-color:#fca5a5;color:#ef4444}.lpf-add-sec-btn{display:flex;align-items:center;gap:5px;padding:7px 12px;border:1px dashed #7c3aed;border-radius:7px;font-size:12px;font-weight:600;color:#7c3aed;background:#faf5ff;cursor:pointer;transition:background .12s}.lpf-add-sec-btn:hover{background:#ede9fe}.lpf-save-err{padding:10px 14px;background:#fef2f2;border:1px solid #fca5a5;border-radius:6px;font-size:13px;color:#b91c1c}.lpf-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid #e5e7eb;flex-shrink:0;background:#fff}.lpf-cancel-btn{padding:8px 18px;border:1px solid #e5e7eb;border-radius:7px;font-size:13px;color:#374151;background:#fff;cursor:pointer}.lpf-cancel-btn:hover{background:#f9fafb}.lpf-save-btn{display:flex;align-items:center;gap:6px;padding:8px 20px;background:#7c3aed;color:#fff;border:none;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer}.lpf-save-btn:hover:not(:disabled){background:#6d28d9}.lpf-save-btn:disabled{opacity:.6;cursor:not-allowed}@keyframes lpf-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.lpf-spinner{animation:lpf-spin .8s linear infinite}.lpf-field-math{display:flex;align-items:flex-start;gap:6px}.lpf-field-math .lpf-textarea-sm{flex:1;min-width:0}.lpp-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:300;display:flex;align-items:center;justify-content:center;padding:24px}.lpp-panel{width:800px;max-width:98vw;max-height:92vh;background:#fff;border-radius:10px;display:flex;flex-direction:column;box-shadow:0 20px 48px #0003;overflow:hidden}.lpp-toolbar{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid #e5e7eb;flex-shrink:0;background:#fff}.lpp-toolbar-title{font-size:13px;font-weight:600;color:#6b7280}.lpp-toolbar-actions{display:flex;align-items:center;gap:8px}.lpp-print-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;background:#7c3aed;color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer}.lpp-print-btn:hover{background:#6d28d9}.lpp-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;border-radius:5px;background:#fff;cursor:pointer;color:#6b7280}.lpp-close:hover{border-color:#ef4444;color:#ef4444}.lpp-loading{display:flex;align-items:center;justify-content:center;padding:48px;color:#9ca3af;flex:1}@keyframes lpp-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.lpp-spinner{animation:lpp-spin .8s linear infinite}.lpp-document{flex:1;overflow-y:auto;padding:32px 40px;font-family:Georgia,serif;color:#111827}.lpp-title-block{margin-bottom:24px;border-bottom:2px solid #111827;padding-bottom:12px}.lpp-main-title{font-size:22px;font-weight:700;margin:0 0 4px}.lpp-subtitle{font-size:13px;color:#6b7280;margin:0 0 4px;font-style:italic}.lpp-meta-line{font-size:12px;color:#9ca3af;margin:0}.lpp-section{margin-bottom:20px}.lpp-section-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#374151;border-bottom:1px solid #e5e7eb;padding-bottom:4px;margin:0 0 8px}.lpp-text{font-size:13px;line-height:1.7;margin:0;white-space:pre-line}.lpp-table{width:100%;border-collapse:collapse;font-size:12px}.lpp-table th{background:#f3f4f6;font-weight:700;text-align:left;padding:6px 8px;border:1px solid #e5e7eb;color:#374151}.lpp-table td{padding:6px 8px;border:1px solid #e5e7eb;vertical-align:top;line-height:1.5}.lpp-td-num{width:28px;text-align:center;font-weight:700;color:#6b7280}.lpp-td-title{font-weight:600;white-space:nowrap}.lpp-td-dur{white-space:nowrap;color:#6b7280}.lpp-td-bloom{white-space:nowrap}.lpp-bloom-chip{display:inline-block;padding:2px 6px;border-radius:6px;background:#ede9fe;color:#5b21b6;font-size:10px;font-weight:700}.lpp-diff-row{margin-bottom:8px}.lpp-diff-label{font-size:12px;font-weight:700;color:#374151;display:block;margin-bottom:3px}.lpp-footer-line{margin-top:32px;padding-top:8px;border-top:1px solid #e5e7eb;font-size:11px;color:#9ca3af;text-align:right}@media print{.no-print{display:none!important}.lpp-overlay{position:static;background:none;padding:0}.lpp-panel{width:100%;max-width:none;max-height:none;border-radius:0;box-shadow:none;overflow:visible}.lpp-document{padding:20mm;overflow:visible}.lpp-table,.lpp-section{page-break-inside:avoid}}.akl-wrap{display:flex;flex-direction:column;gap:16px}.akl-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.akl-filters{display:flex;gap:6px}.akl-filter-btn{padding:5px 14px;border:1px solid #e5e7eb;border-radius:20px;font-size:12px;font-weight:600;background:#fff;color:#6b7280;cursor:pointer;transition:all .12s}.akl-filter-btn:hover{border-color:#7c3aed;color:#7c3aed}.akl-filter-btn--active{background:#7c3aed;color:#fff;border-color:#7c3aed}.akl-add-btn{display:flex;align-items:center;gap:6px;padding:7px 16px;background:#7c3aed;color:#fff;border:none;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer}.akl-add-btn:hover{background:#6d28d9}.akl-loading{display:flex;align-items:center;justify-content:center;padding:60px;color:#9ca3af}@keyframes akl-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.akl-spinner{animation:akl-spin .8s linear infinite}.akl-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 20px;color:#9ca3af;text-align:center;font-size:13px}.akl-empty-icon{color:#d1d5db}.akl-groups{display:flex;flex-direction:column;gap:20px}.akl-group-header{display:flex;align-items:center;gap:8px;padding:0 0 8px 12px;border-left:3px solid;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.akl-group-count{margin-left:auto;background:#f3f4f6;color:#6b7280;font-size:11px;font-weight:700;padding:1px 7px;border-radius:10px}.akl-group-list{display:flex;flex-direction:column;gap:6px}.akl-row{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;transition:box-shadow .12s}.akl-row:hover{box-shadow:0 2px 8px #0000000f}.akl-row-badge{width:28px;height:28px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:6px}.akl-row-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.akl-row-name{font-size:13px;font-weight:600;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.akl-row-date{font-size:11px;color:#9ca3af}.akl-row-actions{display:flex;gap:4px}.akl-action-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;border-radius:5px;background:#fff;color:#6b7280;cursor:pointer;transition:all .12s}.akl-action-btn:hover{border-color:#7c3aed;color:#7c3aed}.akl-action-btn--del:hover{border-color:#fca5a5;color:#ef4444}.akl-action-btn:disabled{opacity:.5;cursor:not-allowed}.akf-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:200;display:flex;align-items:flex-start;justify-content:flex-end}.akf-panel{width:100vw;height:100vh;background:#fff;display:flex;flex-direction:column;box-shadow:-4px 0 24px #0000001f;animation:akf-slide-in .22s ease}@keyframes akf-slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.akf-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid #e5e7eb;flex-shrink:0}.akf-title{font-size:16px;font-weight:700;color:#111827;margin:0}.akf-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;border-radius:6px;background:#fff;cursor:pointer;color:#6b7280}.akf-close:hover{border-color:#ef4444;color:#ef4444}.akf-body{flex:1;overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:14px}.akf-section-head{font-size:12px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.04em;padding-top:4px}.akf-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.akf-type-card{padding:12px 14px;border:2px solid #e5e7eb;border-radius:8px;background:#fff;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:4px;transition:all .15s}.akf-type-card:hover{border-color:#7c3aed}.akf-type-card--active{border-color:#7c3aed;background:#faf5ff}.akf-type-label{font-size:13px;font-weight:700;color:#111827}.akf-type-desc{font-size:11px;color:#6b7280}.akf-field{display:flex;flex-direction:column;gap:4px}.akf-label{font-size:12px;font-weight:600;color:#374151}.akf-label-sm{font-size:11px;font-weight:600;color:#6b7280}.akf-req{color:#ef4444}.akf-error{font-size:11px;color:#ef4444}.akf-hint{font-size:12px;color:#9ca3af;font-style:italic}.akf-input,.akf-input-sm{padding:7px 10px;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;color:#111827;background:#f9fafb;outline:none;font-family:inherit;transition:border-color .15s,background .15s}.akf-input-sm{font-size:12px;padding:6px 8px}.akf-input:focus,.akf-input-sm:focus{border-color:#7c3aed;background:#fff;box-shadow:0 0 0 3px #7c3aed1a}.akf-textarea,.akf-textarea-sm{padding:7px 10px;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;color:#111827;background:#f9fafb;outline:none;font-family:inherit;resize:vertical;transition:border-color .15s,background .15s}.akf-textarea-sm{font-size:12px}.akf-textarea:focus,.akf-textarea-sm:focus{border-color:#7c3aed;background:#fff;box-shadow:0 0 0 3px #7c3aed1a}.akf-select{padding:7px 10px;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;color:#111827;background:#f9fafb;outline:none;font-family:inherit;cursor:pointer}.akf-select:focus{border-color:#7c3aed;background:#fff}.akf-row-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.akf-refs-loading{display:flex;align-items:center;gap:8px;font-size:12px;color:#9ca3af;padding:6px 0}@keyframes akf-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.akf-spinner{animation:akf-spin .8s linear infinite}.akf-q-list{display:flex;flex-direction:column;gap:12px}.akf-q-row{display:flex;gap:12px;align-items:flex-start;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:12px}.akf-q-num{width:24px;height:24px;flex-shrink:0;border-radius:50%;background:#ede9fe;color:#5b21b6;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}.akf-q-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.akf-q-text{font-size:13px;font-weight:500;color:#111827;margin:0;line-height:1.5}.akf-q-options{display:flex;flex-wrap:wrap;gap:6px}.akf-q-opt{font-size:12px;color:#374151;background:#fff;border:1px solid #e5e7eb;padding:2px 8px;border-radius:4px}.akf-steps{display:flex;flex-direction:column;gap:6px}.akf-step-row{display:flex;align-items:center;gap:8px}.akf-step-num{width:22px;height:22px;flex-shrink:0;border-radius:50%;background:#ede9fe;color:#5b21b6;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}.akf-remove-btn{width:26px;height:26px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;border-radius:4px;background:#fff;color:#9ca3af;cursor:pointer;transition:all .12s}.akf-remove-btn:hover:not(:disabled){border-color:#fca5a5;color:#ef4444}.akf-remove-btn:disabled{opacity:.4;cursor:not-allowed}.akf-add-row-btn{display:flex;align-items:center;gap:5px;padding:7px 12px;border:1px dashed #7c3aed;border-radius:7px;font-size:12px;font-weight:600;color:#7c3aed;background:#faf5ff;cursor:pointer;width:-moz-fit-content;width:fit-content;transition:background .12s}.akf-add-row-btn:hover{background:#ede9fe}.akf-rubric{display:flex;flex-direction:column;gap:12px}.akf-rubric-row{background:#fafafa;border:1px solid #e5e7eb;border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:10px}.akf-rubric-top{display:flex;align-items:center;gap:8px}.akf-rubric-bands{display:grid;grid-template-columns:1fr 1fr;gap:8px}.akf-band-label{text-transform:capitalize}.akf-save-err{padding:10px 14px;background:#fef2f2;border:1px solid #fca5a5;border-radius:6px;font-size:13px;color:#b91c1c}.akf-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid #e5e7eb;flex-shrink:0;background:#fff}.akf-cancel-btn{padding:8px 18px;border:1px solid #e5e7eb;border-radius:7px;font-size:13px;color:#374151;background:#fff;cursor:pointer}.akf-cancel-btn:hover{background:#f9fafb}.akf-save-btn{display:flex;align-items:center;gap:6px;padding:8px 20px;background:#7c3aed;color:#fff;border:none;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer}.akf-save-btn:hover:not(:disabled){background:#6d28d9}.akf-save-btn:disabled{opacity:.6;cursor:not-allowed}.akv-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:300;display:flex;align-items:center;justify-content:center;padding:24px}.akv-panel{width:760px;max-width:98vw;max-height:90vh;background:#fff;border-radius:10px;display:flex;flex-direction:column;box-shadow:0 20px 48px #0003;overflow:hidden}.akv-toolbar{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid #e5e7eb;flex-shrink:0;gap:12px}.akv-type-badge{display:inline-block;padding:2px 8px;border-radius:4px;background:#ede9fe;color:#5b21b6;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-right:8px}.akv-title{font-size:14px;font-weight:600;color:#111827}.akv-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;border-radius:5px;background:#fff;cursor:pointer;color:#6b7280;flex-shrink:0}.akv-close:hover{border-color:#ef4444;color:#ef4444}.akv-loading{display:flex;align-items:center;justify-content:center;padding:60px;color:#9ca3af;flex:1}@keyframes akv-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.akv-spinner{animation:akv-spin .8s linear infinite}.akv-body{flex:1;overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:20px}.akv-section-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#374151;border-bottom:1px solid #e5e7eb;padding-bottom:6px;margin:0 0 10px}.akv-text{font-size:13px;line-height:1.7;color:#111827;margin:0;white-space:pre-line}.akv-text--warn{color:#b45309}.akv-answer-block{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;padding:10px 14px;color:#15803d}.akv-q-list{display:flex;flex-direction:column;gap:14px}.akv-q-row{display:flex;gap:12px;align-items:flex-start;border:1px solid #e5e7eb;border-radius:8px;padding:12px}.akv-q-num{width:24px;height:24px;flex-shrink:0;border-radius:50%;background:#ede9fe;color:#5b21b6;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}.akv-q-body{flex:1;display:flex;flex-direction:column;gap:8px}.akv-q-answer{display:flex;align-items:center;gap:10px}.akv-field-label{font-size:11px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.04em}.akv-answer-chip{display:inline-block;padding:3px 10px;background:#dcfce7;color:#15803d;font-size:12px;font-weight:700;border-radius:20px}.akv-q-detail{display:flex;flex-direction:column;gap:2px}.akv-steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}.akv-step{font-size:13px;line-height:1.6;color:#111827}.akv-rubric-row{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;margin-bottom:10px}.akv-rubric-header{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.akv-rubric-num{width:22px;height:22px;flex-shrink:0;border-radius:50%;background:#ede9fe;color:#5b21b6;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}.akv-rubric-criterion{font-size:13px;font-weight:700;color:#111827;flex:1}.akv-rubric-marks{font-size:12px;font-weight:700;color:#6b7280;white-space:nowrap}.akv-rubric-bands{display:grid;grid-template-columns:repeat(2,1fr)}.akv-band{padding:8px 12px;border-right:1px solid rgba(0,0,0,.06);border-bottom:1px solid rgba(0,0,0,.06);display:flex;flex-direction:column;gap:3px}.akv-band-label{font-size:10px;font-weight:700;text-transform:capitalize}.akv-band-desc{font-size:12px;line-height:1.5}.akv-footer-line{font-size:11px;color:#9ca3af;text-align:right;border-top:1px solid #e5e7eb;padding-top:8px;margin-top:4px}.cov-page{display:flex;flex-direction:column;height:100%;overflow:hidden;background:#f5f6fa;font-family:inherit}.cov-standalone-header{display:flex;align-items:center;gap:14px;padding:18px 24px 14px;background:#fff;border-bottom:1px solid #e9eaf0;flex-shrink:0}.cov-standalone-header-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:linear-gradient(135deg,#ede9fe,#f5f3ff);border-radius:10px;color:#7c3aed;flex-shrink:0}.cov-standalone-title{font-size:16px;font-weight:700;color:#111827;margin:0 0 2px}.cov-standalone-subtitle{font-size:12px;color:#9ca3af;margin:0}.cov-filter-bar{display:flex;align-items:center;gap:10px;padding:10px 20px;background:#fff;border-bottom:1px solid #e9eaf0;flex-shrink:0;flex-wrap:wrap}.cov-filter-icon{color:#7c3aed;flex-shrink:0}.cov-filter-label{font-size:11px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px}.cov-select{height:32px;padding:0 28px 0 10px;border:1.5px solid #e5e7eb;border-radius:8px;font-size:13px;color:#1f2937;background:#fafafa url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 8px center;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none;min-width:170px;transition:border-color .15s,box-shadow .15s}.cov-select:focus{border-color:#7c3aed;background-color:#fff;box-shadow:0 0 0 3px #7c3aed14}.cov-filter-chip{display:inline-flex;align-items:center;padding:3px 10px;background:#f5f3ff;border:1px solid #ddd6fe;border-radius:20px;font-size:11px;font-weight:600;color:#7c3aed}.cov-body{flex:1;overflow-y:auto;padding:16px 20px 28px;scrollbar-width:thin;scrollbar-color:#e5e7eb transparent}.cov-body::-webkit-scrollbar{width:5px}.cov-body::-webkit-scrollbar-track{background:transparent}.cov-body::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:99px}.cov-body::-webkit-scrollbar-thumb:hover{background:#d1d5db}.cov-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:70px 20px;color:#9ca3af;text-align:center}.cov-state h3{font-size:15px;font-weight:600;color:#374151;margin:0}.cov-state p{font-size:13px;margin:0}.cov-state--error h3{color:#dc2626}.cov-empty-icon{color:#e5e7eb}@keyframes cov-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cov-spinner{animation:cov-spin .85s linear infinite;color:#7c3aed}.cov-subjects{display:flex;flex-direction:column;gap:14px}.cov-accordion{border-radius:12px;overflow:hidden;background:#fff;border:1px solid #e9eaf0;box-shadow:0 1px 6px #0000000d}.cov-accordion-header{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;background:#fff;border:none;cursor:pointer;text-align:left;border-bottom:1px solid #e9eaf0;transition:background .12s}.cov-accordion-header:hover{background:#faf8ff}.cov-accordion-icon{color:#a78bfa;flex-shrink:0}.cov-accordion-title{font-size:13px;font-weight:700;color:#111827;flex:1}.cov-accordion-chip{font-size:11px;font-weight:600;color:#7c3aed;background:#f5f3ff;border:1px solid #ddd6fe;border-radius:20px;padding:2px 10px}.cov-table-wrap{overflow-x:auto;scrollbar-width:thin;scrollbar-color:#e5e7eb transparent}.cov-table-wrap::-webkit-scrollbar{height:5px}.cov-table-wrap::-webkit-scrollbar-track{background:transparent}.cov-table-wrap::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:99px}.cov-table-wrap::-webkit-scrollbar-thumb:hover{background:#d1d5db}.cov-table{width:100%;border-collapse:collapse;font-size:12px}.cov-th{background:#fafafa;padding:9px 12px;font-size:10px;font-weight:800;color:#9ca3af;text-align:center;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;letter-spacing:.6px;text-transform:uppercase;border-bottom:1px solid #e9eaf0;vertical-align:bottom}.cov-th+.cov-th{border-left:1px solid #f3f4f6}.cov-th--sr{width:32px}.cov-th--chapter{text-align:left;min-width:200px;width:auto}.cov-th--bool{width:62px}.cov-th--progress{width:140px}.cov-th--count{width:68px}.cov-th--proj{width:34px}.cov-th--projects-group{background:#f5f3ff;color:#6d28d9;font-weight:800;letter-spacing:.8px;border-bottom:2px solid #c4b5fd;border-left:1px solid #e9d8fd;border-right:1px solid #e9d8fd;padding:7px 8px}.cov-th--proj-sub{background:#faf8ff;color:#7c3aed;border-left:1px solid #ede9fe;padding:7px 4px;vertical-align:middle}.cov-row{border-bottom:1px solid #f3f4f6;transition:background .1s}.cov-row:last-child{border-bottom:none}.cov-row:hover{background:#faf8ff}.cov-td{padding:10px 12px;vertical-align:middle;color:#374151}.cov-td+.cov-td{border-left:1px solid #f3f4f6}.cov-td--sr{text-align:center;color:#d1d5db;font-size:11px;font-weight:600}.cov-td--chapter{font-size:12.5px;font-weight:500;color:#111827;text-align:left;line-height:1.4}.cov-td--center{text-align:center}.cov-td--proj{text-align:center;border-left:1px solid #f0edfc}.cov-badge{display:inline-flex;align-items:center;justify-content:center;padding:3px 9px;border-radius:6px;font-size:11px;font-weight:700;letter-spacing:.2px;min-width:36px}.cov-badge--yes{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.cov-badge--no{background:#fff1f2;color:#be123c;border:1px solid #fda4af}.cov-progress-wrap{display:flex;align-items:center;gap:6px;width:100%}.cov-progress-numbers{font-size:11px;font-weight:700;color:#374151;white-space:nowrap;flex-shrink:0;min-width:28px}.cov-progress-denom{font-weight:400;color:#9ca3af}.cov-progress-track{flex:1;height:8px;background:#eef0f5;border-radius:99px;overflow:hidden;min-width:40px}.cov-progress-fill{height:100%;background:linear-gradient(90deg,#7c3aed,#a78bfa);border-radius:99px;transition:width .4s ease}.cov-progress-pct{font-size:10.5px;font-weight:700;color:#7c3aed;white-space:nowrap;flex-shrink:0;min-width:30px;text-align:right}.cov-count{display:inline-block;font-size:13px;font-weight:700;color:#1f2937}.cov-count--tip{cursor:pointer;color:#6d28d9;border-bottom:1.5px dashed #c4b5fd;padding-bottom:1px;transition:color .12s}.cov-count--tip:hover{color:#4c1d95;border-bottom-color:#7c3aed}.cov-zero{color:#d1d5db;font-size:13px}.cov-tooltip-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center}.cov-tooltip-popup{position:fixed;z-index:9999;transform:translate(-50%);background:#1c1c1e;color:#f5f5f7;border-radius:10px;padding:10px 14px;font-size:12px;line-height:1.6;box-shadow:0 8px 32px #0000003d,0 2px 8px #0000001a;pointer-events:none;white-space:nowrap;min-width:150px;max-width:300px}.cov-tooltip-popup:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-bottom-color:#1c1c1e}.cov-tip-table{display:flex;flex-direction:column;gap:8px}.cov-tip-section{display:flex;flex-direction:column;gap:2px}.cov-tip-topic{font-size:10px;font-weight:800;color:#a78bfa;text-transform:uppercase;letter-spacing:.6px;padding-bottom:4px;border-bottom:1px solid rgba(255,255,255,.07);margin-bottom:2px;max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cov-tip-row{display:flex;justify-content:space-between;align-items:baseline;gap:20px}.cov-tip-key{color:#8e8e93;font-size:11.5px;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:170px}.cov-tip-val{font-weight:700;color:#f5f5f7;font-size:12px;white-space:nowrap}.cm-page{min-height:100vh;background:#f9fafb;display:flex;flex-direction:column;gap:0}.cm-header{display:flex;align-items:center;justify-content:flex-start;padding:20px 28px 14px;background:#fff;border-bottom:1px solid #e5e7eb}.cm-header-left{display:flex;align-items:center;gap:14px}.cm-header-icon{width:40px;height:40px;border-radius:10px;background:#f3f0ff;color:#7c3aed;display:flex;align-items:center;justify-content:center;flex-shrink:0}.cm-title{font-size:18px;font-weight:700;color:#111827;margin:0}.cm-subtitle{font-size:13px;color:#6b7280;margin:2px 0 0}.cm-hierarchy-wrap{padding:16px 28px;background:#fff;border-bottom:1px solid #e5e7eb}.cm-context-strip{display:flex;align-items:center;gap:6px;padding:8px 28px;background:#faf5ff;border-bottom:1px solid #ede9fe;font-size:12px;color:#5b21b6}.cm-context-path{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cm-tabs-wrap{background:#fff;padding:0 24px;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:10}.cm-content{flex:1;padding:28px}.cm-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 20px;color:#9ca3af}.cm-empty-icon{margin-bottom:16px;color:#d1d5db}.cm-empty-title{font-size:16px;font-weight:600;color:#374151;margin:0 0 8px}.cm-empty-desc{font-size:14px;color:#6b7280;margin:0;max-width:380px}.cm-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 20px;background:#fff;border:1px dashed #d1d5db;border-radius:12px;color:#9ca3af}.cm-placeholder-icon{color:#c4b5fd;margin-bottom:16px}.cm-placeholder-title{font-size:16px;font-weight:600;color:#374151;margin:0 0 8px}.cm-placeholder-desc{font-size:14px;color:#6b7280;margin:0;line-height:1.6}.qbfm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.qbfm-modal{background:#fff;border-radius:16px;width:100%;max-width:520px;max-height:88vh;display:flex;flex-direction:column;box-shadow:0 24px 48px #00000029;animation:qbfm-in .18s ease-out}@keyframes qbfm-in{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.qbfm-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #f3f4f6;background:#faf8ff;border-radius:16px 16px 0 0;flex-shrink:0}.qbfm-header-left{display:flex;align-items:center;gap:8px;color:#1f2937}.qbfm-header-left h3{margin:0;font-size:15px;font-weight:700}.qbfm-badge{background:#6366f1;color:#fff;font-size:11px;font-weight:700;padding:1px 7px;border-radius:20px}.qbfm-close{background:none;border:none;cursor:pointer;color:#9ca3af;padding:4px;border-radius:6px;display:flex}.qbfm-close:hover{background:#f3f4f6;color:#374151}.qbfm-body{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:14px}.qbfm-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#9ca3af;margin-bottom:-4px}.qbfm-divider{height:1px;background:#f3f4f6;margin:4px 0}.qbfm-row{display:flex;align-items:center;gap:12px}.qbfm-label{font-size:13px;font-weight:600;color:#374151;width:90px;flex-shrink:0}.qbfm-select-wrap{position:relative;flex:1}.qbfm-select{width:100%;height:34px;border:1px solid #d1d5db;border-radius:7px;padding:0 32px 0 10px;font-size:13px;color:#374151;background:#fff;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none}.qbfm-select:focus{border-color:#6366f1}.qbfm-select:disabled{opacity:.45;cursor:not-allowed;background:#f9fafb}.qbfm-chevron{position:absolute;right:8px;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none}.qbfm-chips{display:flex;flex-wrap:wrap;gap:6px;flex:1}.qbfm-chip{padding:4px 12px;border-radius:20px;border:1px solid #d1d5db;background:#fff;font-size:12px;font-weight:500;color:#6b7280;cursor:pointer}.qbfm-chip:hover{border-color:#6366f1;color:#6366f1}.qbfm-chip.active{border-color:#6366f1;background:#eef2ff;color:#4338ca;font-weight:600}.qbfm-footer{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-top:1px solid #f3f4f6;flex-shrink:0}.qbfm-reset{display:flex;align-items:center;gap:6px;background:none;border:none;font-size:13px;color:#9ca3af;cursor:pointer;padding:6px 8px;border-radius:6px}.qbfm-reset:hover{color:#dc2626;background:#fee2e2}.qbfm-apply{background:#6366f1;color:#fff;border:none;border-radius:8px;padding:8px 20px;font-size:13px;font-weight:600;cursor:pointer}.qbfm-apply:hover{background:#4f46e5}.qb-shell{display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid #f1f5f9;border-radius:10px;overflow-y:auto}.qb-header{display:flex;align-items:center;padding:20px 24px 0;flex-shrink:0}.qb-header-left{display:flex;align-items:center;gap:12px}.qb-header-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#ede9fe;border-radius:9px;color:#7c3aed;flex-shrink:0}.qb-title{font-size:18px;font-weight:700;color:#111827;margin:0;text-align:left}.qb-subtitle{font-size:12px;color:#9ca3af;margin:2px 0 0}.qb-stats-cards{display:flex;gap:10px;padding:14px 24px;flex-shrink:0;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#e5e7eb transparent;align-items:flex-start}.qb-stats-cards::-webkit-scrollbar{height:4px}.qb-stats-cards::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:4px}.qb-stats-loading{display:flex;align-items:center;gap:6px;font-size:13px;color:#9ca3af}.qb-scard{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:12px 14px;flex-shrink:0;min-width:160px;max-width:220px;display:flex;flex-direction:column;gap:8px}.qb-scard--total{min-width:200px}.qb-scard--review{border-top:3px solid #6366f1;min-width:170px}.qb-scard-header{display:flex;flex-direction:column;gap:2px}.qb-scard-val{font-size:28px;font-weight:800;line-height:1}.qb-scard-label{font-size:11px;color:#6b7280;font-weight:500}.qb-scard-label--title{font-size:12px;font-weight:700;color:#374151;margin-bottom:2px}.qb-board-rows{display:flex;flex-direction:column;gap:4px;border-top:1px solid #f1f5f9;padding-top:8px}.qb-board-row{display:flex;align-items:center;gap:4px;position:relative;font-size:11px}.qb-board-name{flex:1;color:#374151;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qb-board-cnt{font-weight:700;color:#7c3aed;min-width:24px;text-align:right}.qb-board-info{background:none;border:none;cursor:pointer;color:#9ca3af;padding:1px 2px;display:flex;align-items:center;border-radius:3px;flex-shrink:0}.qb-board-info:hover,.qb-board-info.active{color:#6366f1}.qb-grade-tip{position:absolute;top:calc(100% + 4px);right:0;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 8px 24px #0000001f;padding:10px 12px;z-index:20;min-width:160px;display:flex;flex-direction:column;gap:5px}.qb-grade-tip-title{font-size:11px;font-weight:700;color:#374151;padding-bottom:5px;border-bottom:1px solid #f1f5f9;margin-bottom:2px}.qb-grade-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px}.qb-grade-name{color:#6b7280;font-weight:500}.qb-grade-cnt{color:#374151;font-weight:700}.qb-breakdown-rows{display:flex;flex-direction:column;gap:5px}.qb-breakdown-row{display:flex;align-items:center;gap:6px;font-size:11px}.qb-breakdown-name{width:72px;flex-shrink:0;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qb-breakdown-bar-wrap{flex:1;height:5px;background:#f3f4f6;border-radius:3px;overflow:hidden}.qb-breakdown-bar{height:100%;border-radius:3px;min-width:2px;transition:width .4s ease}.qb-breakdown-cnt{width:28px;text-align:right;font-weight:700;color:#374151;font-size:11px}.qb-breakdown-empty{font-size:11px;color:#9ca3af;font-style:italic}.qb-review-progress{display:flex;align-items:center;gap:6px}.qb-review-bar-wrap{flex:1;height:6px;background:#f3f4f6;border-radius:4px;overflow:hidden}.qb-review-bar{height:100%;border-radius:4px;min-width:2px;transition:width .4s ease}.qb-review-pct{font-size:12px;font-weight:700;min-width:30px;text-align:right}.qb-review-counts{display:flex;flex-direction:column;gap:3px}.qb-review-count-row{display:flex;align-items:center;gap:5px;font-size:11px}.qb-review-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.qb-review-count-label{flex:1;color:#6b7280}.qb-review-count-val{font-weight:700;min-width:24px;text-align:right}.qb-toolbar{display:flex;align-items:center;gap:8px;padding:0 24px 14px;flex-shrink:0}.qb-search-wrap{display:flex;align-items:center;gap:6px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:0 10px;height:36px;flex:1}.qb-search-wrap:focus-within{border-color:#6366f1;background:#fff}.qb-search-icon{color:#9ca3af;flex-shrink:0}.qb-search{border:none;outline:none;font-size:13px;color:#374151;background:transparent;flex:1;min-width:0}.qb-search::-moz-placeholder{color:#9ca3af}.qb-search::placeholder{color:#9ca3af}.qb-search-clear{background:none;border:none;cursor:pointer;color:#9ca3af;padding:0;display:flex;align-items:center}.qb-search-clear:hover{color:#374151}.qb-filter-btn{display:flex;align-items:center;gap:7px;height:36px;padding:0 14px;border:1px solid #d1d5db;border-radius:8px;background:#fff;font-size:13px;font-weight:600;color:#374151;cursor:pointer;flex-shrink:0}.qb-filter-btn:hover{border-color:#6366f1;color:#6366f1}.qb-filter-btn.active{border-color:#6366f1;background:#eef2ff;color:#4338ca}.qb-filter-count{background:#6366f1;color:#fff;font-size:11px;font-weight:700;padding:1px 6px;border-radius:20px}.qb-reset-btn{display:flex;align-items:center;gap:5px;height:36px;padding:0 12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;font-size:12px;color:#9ca3af;cursor:pointer;flex-shrink:0}.qb-reset-btn:hover{border-color:#dc2626;color:#dc2626}.qb-bulk-bar{display:flex;align-items:center;gap:10px;padding:8px 24px;background:#eef2ff;border-top:1px solid #c7d2fe;border-bottom:1px solid #c7d2fe;flex-shrink:0;flex-wrap:wrap}.qb-bulk-count{font-size:13px;font-weight:600;color:#4338ca}.qb-bulk-error{display:flex;align-items:center;gap:4px;font-size:12px;color:#dc2626}.qb-bulk-actions{display:flex;gap:6px;margin-left:auto;flex-wrap:wrap}.qb-bulk-btn{display:flex;align-items:center;gap:5px;height:28px;padding:0 10px;border-radius:6px;border:none;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.qb-bulk-btn:disabled{opacity:.6;cursor:not-allowed}.qb-bulk-btn--l1{background:#dcfce7;color:#16a34a}.qb-bulk-btn--l2{background:#dbeafe;color:#1d4ed8}.qb-bulk-btn--del{background:#fee2e2;color:#dc2626}.qb-bulk-btn--cancel{background:#f3f4f6;color:#6b7280}.qb-table-header{display:flex;align-items:center;gap:0;padding:8px 24px;background:#f8fafc;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;flex-shrink:0}.qb-th-check{width:36px;flex-shrink:0}.qb-th-num{width:36px;flex-shrink:0;font-size:11px;font-weight:700;color:#9ca3af;text-transform:uppercase}.qb-th-question{flex:1;font-size:11px;font-weight:700;color:#9ca3af;text-transform:uppercase;padding-right:12px}.qb-th-meta{width:200px;flex-shrink:0;font-size:11px;font-weight:700;color:#9ca3af;text-transform:uppercase}.qb-th-review{width:90px;min-width:90px;flex-shrink:0;font-size:11px;font-weight:700;color:#9ca3af;text-transform:uppercase}.qb-th-actions{width:90px;flex-shrink:0;font-size:11px;font-weight:700;color:#9ca3af;text-transform:uppercase}.qb-list-wrap{flex:1;display:flex;flex-direction:column}.qb-row{display:flex;align-items:flex-start;gap:0;padding:12px 24px;border-bottom:1px solid #f1f5f9;background:#fff;transition:background .1s}.qb-row:hover{background:#fafafa}.qb-row--selected{background:#f5f3ff}.qb-row--selected:hover{background:#ede9fe}.qb-td-check{width:36px;flex-shrink:0;padding-top:2px}.qb-td-num{width:36px;flex-shrink:0;font-size:12px;color:#9ca3af;font-weight:600;padding-top:2px}.qb-td-question{flex:1;display:flex;flex-direction:column;gap:5px;padding-right:12px;min-width:0;align-items:flex-start}.qb-td-meta{width:200px;flex-shrink:0;display:flex;flex-wrap:wrap;gap:4px;align-content:flex-start}.qb-td-review{width:90px;min-width:90px;flex-shrink:0;display:flex;flex-direction:column;gap:4px}.qb-td-actions{width:90px;flex-shrink:0;display:flex;gap:4px;align-items:flex-start}.qb-checkbox-btn{background:none;border:none;padding:0;cursor:pointer;color:#d1d5db;display:flex;align-items:center}.qb-check-on{color:#6366f1}.qb-check-partial{color:#a5b4fc}.qb-checkbox-btn:hover{color:#6366f1}.qb-location{display:flex;align-items:center;flex-wrap:wrap;gap:3px;font-size:10px;line-height:1.4;opacity:.75;width:100%;justify-content:flex-start}.qb-loc-key{color:#9ca3af;font-weight:500}.qb-loc-val{color:#6b7280;font-weight:600;background:#f3f4f6;padding:0 4px;border-radius:3px}.qb-loc-sep{color:#d1d5db;font-size:9px;margin:0 1px}.qb-q-text{font-size:14px;color:#111827;font-weight:600;line-height:1.55;margin:2px 0 0;text-align:left;width:100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;padding-top:2px;border-top:1px solid #f1f5f9}.qb-badge{font-size:10px;font-weight:600;padding:2px 7px;border-radius:20px;background:#f3f4f6;color:#6b7280;white-space:nowrap}.qb-badge--type{background:#ede9fe;color:#7c3aed}.qb-badge--bloom{background:#dbeafe;color:#1e40af}.qb-badge--scope{background:#f0fdf4;color:#166534}.qb-badge--used{background:#fef9c3;color:#854d0e}.qb-rev-btn{display:flex;align-items:center;gap:4px;padding:3px 8px;border-radius:5px;border:1px solid #e5e7eb;font-size:11px;font-weight:600;cursor:pointer;background:#fff;color:#9ca3af;white-space:nowrap;width:100%;text-align:left}.qb-rev-btn.on{border-color:currentColor}.qb-rev-btn.locked{opacity:.35;cursor:not-allowed}.qb-rev-btn:not(.locked):not(.on):hover{border-color:#6366f1;color:#6366f1}.qb-act-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:1px solid #e5e7eb;background:#fff;cursor:pointer;color:#6b7280;flex-shrink:0}.qb-act-btn:hover{border-color:#6366f1;color:#6366f1}.qb-act-btn--del:hover{border-color:#dc2626;color:#dc2626}.qb-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px;color:#9ca3af;gap:10px;text-align:center}.qb-empty h3{margin:0;font-size:15px;color:#6b7280}.qb-empty p{margin:0;font-size:13px}.qb-loading{display:flex;align-items:center;justify-content:center;padding:64px 24px;gap:10px;color:#6366f1;font-size:14px}.qb-spinner{animation:qb-spin 1s linear infinite}@keyframes qb-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.qb-pagination{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 24px;border-top:1px solid #f1f5f9;flex-shrink:0}.qb-pagination-info{font-size:12px;color:#9ca3af;font-weight:500;margin-right:4px}.qb-pagination-page{font-size:12px;color:#374151;font-weight:600}.qb-pagination-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid #e5e7eb;background:#fff;border-radius:8px;cursor:pointer;color:#6b7280;transition:all .15s}.qb-pagination-btn:hover:not(:disabled){background:#ede9fe;border-color:#c4b5fd;color:#7c3aed}.qb-pagination-btn:disabled{opacity:.3;cursor:not-allowed}@media (max-width: 900px){.qb-th-meta,.qb-td-meta{width:160px}.qb-th-review,.qb-td-review{display:none}}@media (max-width: 680px){.qb-header,.qb-stats-bar,.qb-toolbar,.qb-bulk-bar,.qb-table-header,.qb-row{padding-left:16px;padding-right:16px}.qb-th-meta,.qb-td-meta{display:none}.qb-th-actions,.qb-td-actions{width:70px}}.ra-shell{display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid #f1f5f9;border-radius:10px;overflow-y:auto;text-align:left}.ra-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;flex-shrink:0}.ra-header-left{display:flex;align-items:center;gap:12px}.ra-header-icon{width:36px;height:36px;background:#ede9fe;border-radius:9px;display:flex;align-items:center;justify-content:center;color:#7c3aed;flex-shrink:0}.ra-title{font-size:18px;font-weight:700;color:#111827;margin:0;text-align:left}.ra-subtitle{font-size:12px;color:#9ca3af;margin:2px 0 0;text-align:left}.ra-add-btn{display:flex;align-items:center;gap:7px;background:#6366f1;color:#fff;border:none;border-radius:8px;padding:9px 16px;font-size:13px;font-weight:600;cursor:pointer;flex-shrink:0}.ra-add-btn:hover:not(:disabled){background:#4f46e5}.ra-add-btn:disabled{opacity:.5;cursor:not-allowed}.ra-add-btn--sm{padding:7px 14px;font-size:12px}.ra-info-bar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:10px 24px;background:#f8fafc;border-top:1px solid #f1f5f9;border-bottom:1px solid #f1f5f9;flex-shrink:0}.ra-info-item{display:flex;align-items:center;gap:8px;font-size:12px;color:#6b7280}.ra-info-sep{width:1px;height:20px;background:#e5e7eb}.ra-info-badge{font-size:11px;font-weight:700;padding:2px 8px;border-radius:20px;white-space:nowrap}.ra-info-note{font-size:11px;color:#9ca3af;font-style:italic}.ra-tabs{display:flex;gap:0;padding:0 24px;border-bottom:1px solid #e5e7eb;flex-shrink:0}.ra-tab{display:flex;align-items:center;gap:6px;padding:10px 16px;border:none;background:none;font-size:13px;font-weight:500;color:#6b7280;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s}.ra-tab:hover{color:#374151}.ra-tab.active{color:#6366f1;font-weight:600;border-bottom-color:#6366f1}.ra-tab-count{background:#f3f4f6;color:#6b7280;font-size:11px;font-weight:700;padding:1px 6px;border-radius:20px;margin-left:2px}.ra-tab.active .ra-tab-count{background:#eef2ff;color:#4f46e5}.ra-assignments-tab{display:flex;flex-direction:column;flex:1}.ra-assign-action-row{display:flex;align-items:center;justify-content:space-between;padding:12px 24px 8px}.ra-assign-count{font-size:12px;color:#9ca3af;font-weight:500}.ra-filters{display:flex;flex-wrap:wrap;gap:12px;padding:12px 24px 4px;flex-shrink:0}.ra-filter-group{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ra-filter-label{font-size:12px;font-weight:600;color:#6b7280}.ra-chip{padding:3px 12px;border-radius:20px;border:1px solid #e5e7eb;background:#fff;font-size:12px;font-weight:500;color:#6b7280;cursor:pointer}.ra-chip:hover{border-color:#6366f1;color:#6366f1}.ra-chip.active{background:#eef2ff;border-color:#6366f1;color:#4338ca;font-weight:600}.ra-table-wrap{flex:1;display:flex;flex-direction:column;margin-top:4px}.ra-table-header{display:flex;align-items:center;padding:8px 24px;background:#f8fafc;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;flex-shrink:0}.ra-th{font-size:11px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.04em;text-align:left}.ra-th--level{width:120px;flex-shrink:0}.ra-th--reviewer{flex:1}.ra-th--scope{width:110px;flex-shrink:0}.ra-th--details{width:200px;flex-shrink:0}.ra-th--status,.ra-th--actions{width:80px;flex-shrink:0}.ra-row{display:flex;align-items:center;padding:12px 24px;border-bottom:1px solid #f1f5f9;background:#fff;transition:background .1s}.ra-row:hover{background:#fafafa}.ra-row.inactive{opacity:.55}.ra-td{display:flex;flex-direction:column;gap:2px;text-align:left}.ra-td--level{width:120px;flex-shrink:0}.ra-td--reviewer{flex:1}.ra-td--scope{width:110px;flex-shrink:0}.ra-td--details{width:200px;flex-shrink:0}.ra-td--status{width:80px;flex-shrink:0;flex-direction:row;align-items:center;gap:6px;font-size:12px;color:#6b7280}.ra-td--actions{width:80px;flex-shrink:0;flex-direction:row;gap:4px}.ra-level-badge{font-size:12px;font-weight:700;padding:3px 10px;border-radius:20px;display:inline-block;white-space:nowrap}.ra-reviewer-name{font-size:13px;font-weight:600;color:#111827}.ra-reviewer-pin{font-size:11px;color:#6b7280;font-family:monospace}.ra-reviewer-email{font-size:11px;color:#9ca3af}.ra-scope-badge{font-size:11px;font-weight:600;padding:3px 10px;border-radius:20px;display:inline-block;width:-moz-fit-content;width:fit-content}.ra-scope-details{font-size:13px;font-weight:500;color:#1f2937}.ra-scope-parent{font-size:11px;color:#9ca3af}.ra-status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.ra-status-dot.active{background:#16a34a}.ra-status-dot.inactive{background:#d1d5db}.ra-act-btn{width:30px;height:30px;border-radius:6px;border:1px solid #e5e7eb;background:#fff;cursor:pointer;color:#6b7280;display:flex;align-items:center;justify-content:center}.ra-act-btn:hover{border-color:#6366f1;color:#6366f1}.ra-act-btn--del:hover{border-color:#dc2626;color:#dc2626}.ra-empty{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:64px 24px;color:#9ca3af;gap:10px;flex:1}.ra-empty h3{margin:0;font-size:15px;color:#6b7280}.ra-empty p{margin:0;font-size:13px}.ra-loading{display:flex;align-items:center;justify-content:flex-start;padding:64px 24px;gap:10px;color:#6366f1;font-size:14px}.ra-spinner{animation:ra-spin 1s linear infinite}@keyframes ra-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ra-levels-tab{display:flex;flex-direction:column;flex:1;padding:20px 24px;gap:16px}.ra-levels-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ra-levels-title{font-size:14px;font-weight:700;color:#111827;margin-bottom:4px}.ra-levels-sub{font-size:12px;color:#6b7280;max-width:520px;line-height:1.5}.ra-levels-list{display:flex;flex-direction:column;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.ra-levels-list-header{display:flex;align-items:center;gap:12px;padding:8px 16px;background:#f8fafc;border-bottom:1px solid #e5e7eb;font-size:11px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.04em}.ra-level-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #f1f5f9;background:#fff;transition:background .1s}.ra-level-row:last-child{border-bottom:none}.ra-level-row:hover{background:#fafafa}.ra-level-row.inactive{opacity:.55}.ra-level-order{width:60px;flex-shrink:0;font-size:13px;color:#9ca3af;font-weight:600}.ra-level-info{flex:1;display:flex;align-items:center;gap:8px}.ra-level-code{font-size:11px;color:#9ca3af;font-family:monospace;background:#f3f4f6;padding:2px 6px;border-radius:4px}.ra-level-desc{width:200px;font-size:12px;color:#6b7280}.ra-level-status{width:80px;display:flex;align-items:center;gap:6px;font-size:12px;color:#6b7280}.ra-level-actions{width:80px;display:flex;gap:4px}.ra-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ra-modal{background:#fff;border-radius:16px;width:100%;max-width:520px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 24px 48px #0000002e;animation:ra-in .18s ease-out}@keyframes ra-in{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.ra-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #f3f4f6;background:#faf8ff;border-radius:16px 16px 0 0}.ra-modal-header h3{margin:0;font-size:15px;font-weight:700;color:#111827;text-align:left}.ra-modal-close{background:none;border:none;cursor:pointer;color:#9ca3af;padding:4px;border-radius:6px;display:flex}.ra-modal-close:hover{background:#f3f4f6;color:#374151}.ra-modal-body{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px}.ra-form-error{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#fee2e2;color:#dc2626;border-radius:8px;font-size:13px}.ra-form-row{display:flex;flex-direction:column;gap:6px;text-align:left}.ra-form-label{font-size:13px;font-weight:600;color:#374151;text-align:left}.ra-form-hint{font-size:11px;color:#9ca3af;font-weight:400}.ra-required{color:#dc2626}.ra-text-input{height:36px;border:1px solid #d1d5db;border-radius:7px;padding:0 10px;font-size:13px;color:#374151;background:#fff;outline:none;width:100%;box-sizing:border-box}.ra-text-input:focus{border-color:#6366f1}.ra-text-input:disabled{opacity:.5;cursor:not-allowed;background:#f9fafb}.ra-text-input--sm{width:100px}.ra-level-chips{display:flex;gap:8px;flex-wrap:wrap}.ra-level-chip{padding:6px 16px;border-radius:8px;border:1.5px solid #e5e7eb;background:#fff;font-size:13px;font-weight:600;color:#6b7280;cursor:pointer;white-space:nowrap}.ra-level-chip:hover{border-color:#6366f1;color:#6366f1}.ra-color-swatches{display:flex;gap:8px;flex-wrap:wrap}.ra-swatch{width:44px;height:28px;border-radius:6px;border:2px solid transparent;cursor:pointer;display:flex;align-items:center;justify-content:center}.ra-swatch.selected{border-width:2px;box-shadow:0 0 0 2px #6366f1}.ra-level-preview{font-size:12px;color:#6b7280;display:flex;align-items:center;gap:8px;margin-top:4px}.ra-scope-grid{display:flex;flex-wrap:wrap;gap:6px}.ra-scope-btn{display:flex;align-items:center;gap:5px;padding:5px 12px;border-radius:7px;border:1.5px solid #e5e7eb;background:#fff;font-size:12px;font-weight:500;color:#6b7280;cursor:pointer}.ra-scope-btn:hover{border-color:#6366f1;color:#6366f1}.ra-select{height:36px;border:1px solid #d1d5db;border-radius:7px;padding:0 10px;font-size:13px;color:#374151;background:#fff;outline:none;cursor:pointer;width:100%}.ra-select:focus{border-color:#6366f1}.ra-select:disabled{opacity:.5;cursor:not-allowed;background:#f9fafb}.ra-toggle{display:flex;align-items:center;gap:10px;cursor:pointer}.ra-toggle input{display:none}.ra-toggle-slider{width:36px;height:20px;border-radius:20px;background:#d1d5db;position:relative;transition:background .2s;flex-shrink:0}.ra-toggle-slider:after{content:"";position:absolute;width:16px;height:16px;border-radius:50%;background:#fff;top:2px;left:2px;transition:left .2s;box-shadow:0 1px 3px #0003}.ra-toggle input:checked+.ra-toggle-slider{background:#6366f1}.ra-toggle input:checked+.ra-toggle-slider:after{left:18px}.ra-toggle-label{font-size:13px;color:#374151}.ra-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid #f3f4f6;flex-shrink:0}.ra-btn-cancel{padding:8px 16px;border-radius:8px;border:1px solid #e5e7eb;background:#fff;font-size:13px;color:#6b7280;cursor:pointer}.ra-btn-cancel:hover{border-color:#6366f1;color:#6366f1}.ra-btn-save{display:flex;align-items:center;gap:6px;padding:8px 18px;border-radius:8px;background:#6366f1;color:#fff;border:none;font-size:13px;font-weight:600;cursor:pointer}.ra-btn-save:disabled{opacity:.6;cursor:not-allowed}.ra-btn-save:hover:not(:disabled){background:#4f46e5}.ra-user-search{position:relative}.ra-user-input-wrap{display:flex;align-items:center;gap:6px;border:1px solid #d1d5db;border-radius:7px;padding:0 10px;height:36px;background:#fff}.ra-user-input-wrap:focus-within{border-color:#6366f1}.ra-user-icon{color:#9ca3af;flex-shrink:0}.ra-user-input{flex:1;border:none;outline:none;font-size:13px;color:#374151;background:transparent}.ra-user-clear{background:none;border:none;cursor:pointer;color:#9ca3af;display:flex;align-items:center}.ra-user-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 8px 24px #0000001a;z-index:10;max-height:200px;overflow-y:auto}.ra-user-option{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:none;border:none;border-bottom:1px solid #f3f4f6;cursor:pointer;text-align:left}.ra-user-option:hover{background:#f5f3ff}.ra-user-option:last-child{border-bottom:none}.ra-user-pin{font-size:11px;color:#6b7280;font-family:monospace;min-width:100px}.ra-user-name{font-size:13px;font-weight:600;color:#111827;flex:1}.ra-user-email{font-size:11px;color:#9ca3af}.ra-user-empty{padding:12px 14px;font-size:13px;color:#9ca3af}.ra-confirm{background:#fff;border-radius:14px;padding:28px;max-width:380px;width:100%;text-align:left;display:flex;flex-direction:column;gap:12px;box-shadow:0 24px 48px #0000002e}.ra-confirm-icon{color:#f59e0b}.ra-confirm h3{margin:0;font-size:16px;color:#111827}.ra-confirm p{margin:0;font-size:13px;color:#6b7280;line-height:1.5}.ra-confirm-actions{display:flex;gap:10px;margin-top:4px}.ra-btn-del{padding:8px 20px;border-radius:8px;background:#dc2626;color:#fff;border:none;font-size:13px;font-weight:600;cursor:pointer}.ra-btn-del:hover{background:#b91c1c}@media (max-width: 768px){.ra-header,.ra-filters,.ra-info-bar,.ra-table-header,.ra-row,.ra-tabs{padding-left:16px;padding-right:16px}.ra-th--details,.ra-td--details,.ra-th--status,.ra-td--status{display:none}}.ml-page{display:flex;flex-direction:column;height:100%;background:#fff;border-radius:10px;border:1px solid #ffffff;overflow:hidden}.ml-header{display:flex;align-items:center;justify-content:space-between;padding:20px 28px 0;flex-shrink:0}.ml-header-left{display:flex;align-items:center;gap:14px}.ml-header-icon{width:42px;height:42px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.ml-title{font-size:20px;font-weight:800;color:#0f172a;margin:0;letter-spacing:-.02em}.ml-subtitle{font-size:13px;color:#64748b;margin:2px 0 0}.ml-upload-btn{display:flex;align-items:center;gap:7px;padding:9px 18px;border-radius:10px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;font-size:13px;font-weight:600;border:none;cursor:pointer;transition:opacity .15s,transform .1s;box-shadow:0 2px 8px #6366f159}.ml-upload-btn:hover{opacity:.9;transform:translateY(-1px)}.ml-upload-btn:active{transform:translateY(0)}.ml-upload-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.ml-stats{display:flex;gap:12px;padding:16px 28px;flex-shrink:0}.ml-stat-card{flex:1;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px 16px;display:flex;align-items:center;gap:12px;min-width:0}.ml-stat-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ml-stat-icon--total{background:#ede9fe;color:#7c3aed}.ml-stat-icon--size{background:#e0f2fe;color:#0284c7}.ml-stat-icon--image{background:#dcfce7;color:#16a34a}.ml-stat-icon--document{background:#fff7ed;color:#ea580c}.ml-stat-icon--video{background:#f3e8ff;color:#9333ea}.ml-stat-icon--other{background:#f1f5f9;color:#64748b}.ml-stat-value{font-size:20px;font-weight:800;color:#0f172a;line-height:1}.ml-stat-label{font-size:11px;color:#64748b;margin-top:2px}.ml-toolbar{display:flex;align-items:center;gap:10px;padding:0 28px 14px;flex-shrink:0;flex-wrap:wrap}.ml-search-wrap{position:relative;flex:1;min-width:200px;max-width:320px}.ml-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none}.ml-search{width:100%;padding:8px 10px 8px 34px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;color:#0f172a;background:#fff;outline:none;transition:border-color .15s;box-sizing:border-box}.ml-search:focus{border-color:#6366f1}.ml-search::-moz-placeholder{color:#94a3b8}.ml-search::placeholder{color:#94a3b8}.ml-filter-group{display:flex;align-items:center;gap:6px}.ml-filter-label{font-size:12px;color:#64748b;white-space:nowrap}.ml-select{padding:7px 10px;border:1px solid #e2e8f0;border-radius:8px;font-size:12px;color:#334155;background:#fff;cursor:pointer;outline:none;transition:border-color .15s}.ml-select:focus{border-color:#6366f1}.ml-view-toggle{display:flex;gap:4px;margin-left:auto}.ml-view-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid #e2e8f0;border-radius:7px;background:#fff;cursor:pointer;color:#94a3b8;transition:all .12s}.ml-view-btn.active{background:#6366f1;border-color:#6366f1;color:#fff}.ml-view-btn:hover:not(.active){border-color:#6366f1;color:#6366f1}.ml-cat-tabs{display:flex;gap:4px;padding:0 28px 12px;flex-shrink:0;overflow-x:auto}.ml-cat-tab{display:flex;align-items:center;gap:5px;padding:5px 12px;border-radius:20px;font-size:12px;font-weight:600;border:1.5px solid #e2e8f0;background:#fff;color:#64748b;cursor:pointer;white-space:nowrap;transition:all .12s}.ml-cat-tab:hover{border-color:#6366f1;color:#6366f1}.ml-cat-tab.active{background:#6366f1;border-color:#6366f1;color:#fff}.ml-cat-tab .ml-cat-count{background:#0000001f;border-radius:10px;padding:1px 6px;font-size:10px;font-weight:700}.ml-cat-tab.active .ml-cat-count{background:#ffffff40}.ml-content{flex:1;display:flex;overflow:hidden}.ml-main{flex:1;overflow-y:auto;padding:0 28px 28px}.ml-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;gap:12px;color:#94a3b8}.ml-empty-icon{opacity:.4}.ml-empty h3{font-size:16px;font-weight:700;color:#475569;margin:0}.ml-empty p{font-size:13px;margin:0}.ml-loading{display:flex;align-items:center;justify-content:center;padding:80px 20px}.ml-spinner{animation:ml-spin 1s linear infinite;color:#6366f1}@keyframes ml-spin{to{transform:rotate(360deg)}}.ml-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.ml-card{background:#fff;border:2px solid #e2e8f0;border-radius:12px;overflow:hidden;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .1s;position:relative}.ml-card:hover{border-color:#6366f1;box-shadow:0 4px 16px #6366f11f;transform:translateY(-2px)}.ml-card.selected{border-color:#6366f1;box-shadow:0 0 0 3px #6366f133}.ml-card-thumb{width:100%;height:120px;display:flex;align-items:center;justify-content:center;background:#f8fafc;overflow:hidden;position:relative}.ml-card-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.ml-card-icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px}.ml-card-source{position:absolute;top:6px;right:6px;font-size:9px;font-weight:700;text-transform:uppercase;padding:2px 6px;border-radius:4px;letter-spacing:.04em}.ml-card-source--uploads{background:#ede9fe;color:#7c3aed}.ml-card-source--public{background:#dcfce7;color:#15803d}.ml-card-body{padding:8px 10px 10px}.ml-card-name{font-size:12px;font-weight:600;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0 0 3px}.ml-card-meta{font-size:10px;color:#94a3b8}.ml-card-actions{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:flex-end;gap:4px;padding:8px;background:linear-gradient(to top,rgba(15,23,42,.55),transparent);opacity:0;transition:opacity .15s}.ml-card:hover .ml-card-actions{opacity:1}.ml-card-act{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:6px;border:none;cursor:pointer;background:#ffffffe6;color:#334155;transition:background .1s,color .1s}.ml-card-act:hover{background:#fff;color:#6366f1}.ml-card-act.delete:hover{background:#fef2f2;color:#dc2626}.ml-list-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.ml-list-table th{padding:10px 14px;text-align:left;font-size:10px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;background:#f8fafc;border-bottom:1px solid #e2e8f0}.ml-list-table td{padding:10px 14px;border-bottom:1px solid #f1f5f9;font-size:12.5px;color:#334155;vertical-align:middle}.ml-list-table tr:last-child td{border-bottom:none}.ml-list-table tr:hover td{background:#f8fafc}.ml-list-table tr.selected td{background:#f5f3ff}.ml-list-thumb{width:36px;height:36px;border-radius:8px;-o-object-fit:cover;object-fit:cover;background:#f1f5f9}.ml-list-icon-wrap{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center}.ml-list-name{font-weight:600;color:#1e293b;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ml-list-source{display:inline-block;padding:2px 8px;border-radius:12px;font-size:10px;font-weight:700;text-transform:uppercase}.ml-list-source--uploads{background:#ede9fe;color:#7c3aed}.ml-list-source--public{background:#dcfce7;color:#15803d}.ml-list-actions{display:flex;align-items:center;gap:4px}.ml-list-act{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid #e2e8f0;background:#fff;color:#64748b;cursor:pointer;transition:all .12s}.ml-list-act:hover{border-color:#6366f1;color:#6366f1;background:#f5f3ff}.ml-list-act.delete:hover{border-color:#fca5a5;color:#dc2626;background:#fef2f2}.ml-detail{width:300px;flex-shrink:0;background:#fff;border-left:1px solid #e2e8f0;display:flex;flex-direction:column;overflow:hidden;animation:ml-detail-in .18s ease}@keyframes ml-detail-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.ml-detail-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #f1f5f9;flex-shrink:0}.ml-detail-title{font-size:13px;font-weight:700;color:#0f172a;margin:0}.ml-detail-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid #e2e8f0;background:#fff;color:#64748b;cursor:pointer;transition:all .12s}.ml-detail-close:hover{border-color:#fca5a5;color:#dc2626}.ml-detail-preview{height:180px;display:flex;align-items:center;justify-content:center;background:#f8fafc;border-bottom:1px solid #f1f5f9;flex-shrink:0;overflow:hidden}.ml-detail-preview-img{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.ml-detail-preview-icon{display:flex;flex-direction:column;align-items:center;gap:8px;color:#94a3b8}.ml-detail-preview-icon span{font-size:11px;font-weight:600;text-transform:uppercase}.ml-detail-body{flex:1;overflow-y:auto;padding:14px 16px}.ml-detail-meta{display:flex;flex-direction:column;gap:10px}.ml-detail-row{display:flex;flex-direction:column;gap:2px}.ml-detail-key{font-size:10px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.06em}.ml-detail-val{font-size:12.5px;color:#1e293b;font-weight:500;word-break:break-all}.ml-detail-url-row{display:flex;align-items:center;gap:6px}.ml-detail-url-input{flex:1;padding:6px 8px;border:1px solid #e2e8f0;border-radius:6px;font-size:11px;color:#475569;background:#f8fafc;outline:none;overflow:hidden;text-overflow:ellipsis}.ml-copy-btn{padding:6px 10px;border-radius:6px;border:1px solid #e2e8f0;background:#fff;font-size:11px;font-weight:600;color:#6366f1;cursor:pointer;white-space:nowrap;transition:all .12s;flex-shrink:0}.ml-copy-btn:hover{background:#f5f3ff;border-color:#6366f1}.ml-copy-btn.copied{background:#dcfce7;border-color:#86efac;color:#15803d}.ml-detail-divider{border:none;border-top:1px solid #f1f5f9;margin:4px 0}.ml-detail-actions{display:flex;flex-direction:column;gap:8px;padding-top:4px}.ml-detail-action-btn{display:flex;align-items:center;justify-content:center;gap:7px;padding:9px 14px;border-radius:8px;font-size:13px;font-weight:600;border:1.5px solid #e2e8f0;background:#fff;color:#334155;cursor:pointer;transition:all .12s;width:100%}.ml-detail-action-btn:hover{border-color:#6366f1;color:#6366f1;background:#f5f3ff}.ml-detail-action-btn.danger:hover{border-color:#fca5a5;color:#dc2626;background:#fef2f2}.ml-detail-action-btn:disabled{opacity:.4;cursor:not-allowed}.ml-upload-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:500;display:flex;align-items:center;justify-content:center;padding:20px;animation:ml-fade .15s ease}@keyframes ml-fade{0%{opacity:0}to{opacity:1}}.ml-upload-modal{width:560px;max-width:100%;background:#fff;border-radius:16px;display:flex;flex-direction:column;box-shadow:0 24px 64px #0003,0 0 0 1px #0000000f;animation:ml-modal-in .18s cubic-bezier(.4,0,.2,1);overflow:hidden}@keyframes ml-modal-in{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.ml-upload-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #f1f5f9}.ml-upload-modal-title{font-size:15px;font-weight:700;color:#0f172a;margin:0}.ml-upload-modal-close{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:7px;border:1px solid #e2e8f0;background:#fff;color:#64748b;cursor:pointer;transition:all .12s}.ml-upload-modal-close:hover{border-color:#fca5a5;color:#dc2626}.ml-drop-zone{margin:20px;border:2px dashed #c7d2fe;border-radius:14px;padding:40px 20px;display:flex;flex-direction:column;align-items:center;gap:10px;cursor:pointer;transition:all .15s;background:#fafafe}.ml-drop-zone:hover,.ml-drop-zone.drag-over{border-color:#6366f1;background:#f0f0ff}.ml-drop-icon{color:#a5b4fc}.ml-drop-text{font-size:14px;font-weight:600;color:#475569;margin:0}.ml-drop-sub{font-size:12px;color:#94a3b8;margin:0}.ml-browse-btn{padding:7px 18px;border-radius:8px;background:#6366f1;color:#fff;font-size:12px;font-weight:600;border:none;cursor:pointer;margin-top:4px}.ml-browse-btn:hover{background:#4f46e5}.ml-upload-list{margin:0 20px 20px;display:flex;flex-direction:column;gap:8px;max-height:240px;overflow-y:auto}.ml-upload-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.ml-upload-item-name{flex:1;font-size:12px;font-weight:600;color:#1e293b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ml-upload-item-size{font-size:11px;color:#94a3b8;flex-shrink:0}.ml-upload-item-status{font-size:10px;font-weight:700;flex-shrink:0;padding:2px 7px;border-radius:10px}.ml-upload-item-status.pending{background:#f1f5f9;color:#64748b}.ml-upload-item-status.uploading{background:#ede9fe;color:#7c3aed}.ml-upload-item-status.done{background:#dcfce7;color:#15803d}.ml-upload-item-status.error{background:#fef2f2;color:#dc2626}.ml-upload-progress-bar{width:100%;height:3px;background:#e2e8f0;border-radius:2px;margin-top:4px}.ml-upload-progress-fill{height:100%;background:#6366f1;border-radius:2px;transition:width .2s}.ml-upload-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid #f1f5f9}.ml-modal-cancel-btn{padding:8px 18px;border-radius:8px;border:1.5px solid #e2e8f0;background:#fff;font-size:13px;font-weight:600;color:#475569;cursor:pointer;transition:all .12s}.ml-modal-cancel-btn:hover{border-color:#94a3b8}.ml-modal-upload-btn{padding:8px 18px;border-radius:8px;background:#6366f1;color:#fff;font-size:13px;font-weight:600;border:none;cursor:pointer;transition:opacity .12s}.ml-modal-upload-btn:hover{opacity:.9}.ml-modal-upload-btn:disabled{opacity:.5;cursor:not-allowed}.ml-rename-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:600;display:flex;align-items:center;justify-content:center}.ml-rename-modal{width:400px;max-width:calc(100vw - 40px);background:#fff;border-radius:14px;padding:22px 24px;box-shadow:0 16px 48px #0000002e;animation:ml-modal-in .15s ease}.ml-rename-title{font-size:15px;font-weight:700;color:#0f172a;margin:0 0 16px}.ml-rename-input{width:100%;padding:9px 12px;border:1.5px solid #e2e8f0;border-radius:8px;font-size:13px;color:#0f172a;outline:none;transition:border-color .15s;box-sizing:border-box}.ml-rename-input:focus{border-color:#6366f1}.ml-rename-hint{font-size:11px;color:#f59e0b;margin:6px 0 0}.ml-rename-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.ml-rename-cancel{padding:8px 16px;border-radius:7px;border:1.5px solid #e2e8f0;background:#fff;font-size:13px;font-weight:600;color:#475569;cursor:pointer}.ml-rename-save{padding:8px 16px;border-radius:7px;background:#6366f1;color:#fff;font-size:13px;font-weight:600;border:none;cursor:pointer;transition:opacity .12s}.ml-rename-save:disabled{opacity:.5;cursor:not-allowed}.ml-delete-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:600;display:flex;align-items:center;justify-content:center}.ml-delete-modal{width:380px;max-width:calc(100vw - 40px);background:#fff;border-radius:14px;padding:22px 24px;box-shadow:0 16px 48px #0000002e;animation:ml-modal-in .15s ease}.ml-delete-title{font-size:15px;font-weight:700;color:#dc2626;margin:0 0 8px}.ml-delete-msg{font-size:13px;color:#475569;margin:0 0 18px;line-height:1.5}.ml-delete-footer{display:flex;justify-content:flex-end;gap:10px}.ml-delete-cancel{padding:8px 16px;border-radius:7px;border:1.5px solid #e2e8f0;background:#fff;font-size:13px;font-weight:600;color:#475569;cursor:pointer}.ml-delete-confirm{padding:8px 16px;border-radius:7px;background:#dc2626;color:#fff;font-size:13px;font-weight:600;border:none;cursor:pointer;transition:opacity .12s}.ml-delete-confirm:disabled{opacity:.5;cursor:not-allowed}.ml-page.drag-over-global:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;border:3px dashed #6366f1;border-radius:0;background:#6366f10a;pointer-events:none;z-index:400}._studioContainer_nr4x5_4{width:100%;height:100vh;display:flex;flex-direction:column;background:#1e1e1e;color:#e0e0e0;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}._loadingContainer_nr4x5_16{width:100%;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#1e1e1e;color:#e0e0e0}._spinnerIcon_nr4x5_27{animation:_spin_nr4x5_27 1s linear infinite;color:#7c3aed;margin-bottom:1rem}@keyframes _spin_nr4x5_27{0%{transform:rotate(0)}to{transform:rotate(360deg)}}._loadingText_nr4x5_38{font-size:1rem;color:#a0a0a0;margin:0}._errorContainer_nr4x5_45{width:100%;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#1e1e1e;color:#e0e0e0;padding:2rem}._errorTitle_nr4x5_57{display:flex;align-items:center;gap:.5rem;color:#ef4444;font-size:1.5rem;margin-bottom:1rem}._errorIcon_nr4x5_66{color:#ef4444}._errorMessage_nr4x5_70{color:#a0a0a0;margin-bottom:1.5rem;text-align:center;max-width:500px}._btnReload_nr4x5_77{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#7c3aed;color:#fff;border:none;border-radius:6px;font-size:.95rem;cursor:pointer;transition:background .2s}._btnReload_nr4x5_77:hover{background:#6d28d9}._toastContainer_nr4x5_96{position:fixed;top:1rem;right:1rem;z-index:1000;display:flex;flex-direction:column;gap:.5rem}._toast_nr4x5_96{padding:.875rem 1.25rem;border-radius:8px;background:#2d2d2d;color:#fff;font-size:.9rem;box-shadow:0 4px 12px #0000004d;animation:_slideIn_nr4x5_1 .3s ease-out;max-width:400px}@keyframes _slideIn_nr4x5_1{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}._toast_nr4x5_96._success_nr4x5_128{background:#10b981;color:#fff}._toast_nr4x5_96._error_nr4x5_45{background:#ef4444;color:#fff}._toast_nr4x5_96._info_nr4x5_138{background:#3b82f6;color:#fff}._header_nr4x5_144{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background:#2d2d2d;border-bottom:1px solid #3d3d3d;gap:1rem;flex-shrink:0}._headerLeft_nr4x5_155{display:flex;align-items:center;gap:.75rem;min-width:250px}._logo_nr4x5_162{color:#7c3aed;flex-shrink:0}._projectInfo_nr4x5_167{display:flex;flex-direction:column;gap:.125rem}._projectName_nr4x5_173{font-size:1rem;font-weight:600;color:#fff;margin:0}._projectType_nr4x5_180{font-size:.75rem;color:#a0a0a0}._headerCenter_nr4x5_185{display:flex;align-items:center;gap:1rem;flex:1;justify-content:center}._boardSelector_nr4x5_193{display:flex;align-items:center;gap:.5rem;background:#1e1e1e;padding:.5rem 1rem;border-radius:6px;border:1px solid #3d3d3d}._boardSelect_nr4x5_193{background:transparent;color:#e0e0e0;border:none;outline:none;font-size:.9rem;cursor:pointer;padding:.25rem}._boardSelect_nr4x5_193 option{background:#2d2d2d;color:#e0e0e0}._connectionStatus_nr4x5_218{display:flex;align-items:center;gap:.5rem}._connectionButton_nr4x5_224{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid #3d3d3d;border-radius:6px;font-size:.875rem;cursor:pointer;transition:all .2s;background:#1e1e1e;color:#e0e0e0}._connectionButton_nr4x5_224:hover{background:#2d2d2d}._connectionButton_nr4x5_224._connected_nr4x5_242{border-color:#10b981;background:#10b9811a;color:#10b981}._connectionButton_nr4x5_224._disconnected_nr4x5_248{border-color:#6b7280;color:#9ca3af}._statusDot_nr4x5_253{width:8px;height:8px;border-radius:50%;background:#6b7280}._connected_nr4x5_242 ._statusDot_nr4x5_253{background:#10b981;animation:_pulse_nr4x5_1 2s ease-in-out infinite}@keyframes _pulse_nr4x5_1{0%,to{opacity:1}50%{opacity:.5}}._headerRight_nr4x5_270{display:flex;align-items:center;gap:.5rem}._btn_nr4x5_77{display:flex;align-items:center;gap:.375rem;padding:.5rem 1rem;border:1px solid #3d3d3d;border-radius:6px;background:#2d2d2d;color:#e0e0e0;font-size:.875rem;cursor:pointer;transition:all .2s;white-space:nowrap}._btn_nr4x5_77:hover:not(:disabled){background:#3d3d3d;border-color:#4d4d4d}._btn_nr4x5_77:disabled{opacity:.5;cursor:not-allowed}._btnDiagnose_nr4x5_302{background:#1e3a8a;border-color:#1e40af}._btnDiagnose_nr4x5_302:hover:not(:disabled){background:#1e40af}._btnFormat_nr4x5_311{background:#7c3aed;border-color:#7c3aed}._btnFormat_nr4x5_311:hover:not(:disabled){background:#6d28d9}._btnDashboard_nr4x5_320{background:#0891b2;border-color:#0891b2}._btnDashboard_nr4x5_320:hover:not(:disabled){background:#0e7490}._btnSimulate_nr4x5_329{background:#f59e0b;border-color:#f59e0b}._btnSimulate_nr4x5_329:hover:not(:disabled){background:#d97706}._btnUpload_nr4x5_338{background:#10b981;border-color:#10b981}._btnUpload_nr4x5_338:hover:not(:disabled){background:#059669}._btnSave_nr4x5_347{background:#3b82f6;border-color:#3b82f6}._btnSave_nr4x5_347:hover:not(:disabled){background:#2563eb}._btnPublish_nr4x5_356{background:#8b5cf6;border-color:#8b5cf6}._btnPublish_nr4x5_356:hover:not(:disabled){background:#7c3aed}._btnRetry_nr4x5_365{padding:.5rem .75rem}._spinning_nr4x5_369{animation:_spin_nr4x5_27 1s linear infinite}._mainContent_nr4x5_374{flex:1;display:flex;overflow:hidden;background:#1e1e1e}._editorPanel_nr4x5_382{flex:1;display:flex;text-align:left;flex-direction:column;background:#1e1e1e;border-right:1px solid #3d3d3d;overflow:hidden;max-width:100%;min-width:0}._panelHeader_nr4x5_394{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:#2d2d2d;border-bottom:1px solid #3d3d3d;flex-shrink:0}._panelTitle_nr4x5_404{font-size:.875rem;font-weight:600;color:#e0e0e0}._panelSubtitle_nr4x5_410{font-size:.75rem;color:#a0a0a0;background:#1e1e1e;padding:.25rem .625rem;border-radius:4px}._codeWrapper_nr4x5_418{flex:1;overflow:hidden;position:relative}._editorLayer_nr4x5_424{width:100%;height:100%;position:relative}._editorLayer_nr4x5_424 .CodeMirror{height:100%!important;font-size:14px;font-family:Fira Code,Consolas,Monaco,Courier New,monospace;background:#1e1e1e;color:#e0e0e0}._editorLayer_nr4x5_424 .CodeMirror-gutters{background:#1e1e1e;border-right:1px solid #3d3d3d}._editorLayer_nr4x5_424 .CodeMirror-linenumber{color:#6b7280}._editorLayer_nr4x5_424 .CodeMirror-cursor{border-left:2px solid #7c3aed}._editorLayer_nr4x5_424 .CodeMirror-selected{background:#7c3aed33}._editorLayer_nr4x5_424 .CodeMirror-line{padding-left:.5rem}._rightPanel_nr4x5_461{width:400px;display:flex;text-align:left;flex-direction:column;background:#1e1e1e;overflow:hidden}._dashboardPanel_nr4x5_471{flex-shrink:0;display:flex;flex-direction:column;background:#2d2d2d;border-bottom:1px solid #3d3d3d}._widgetsGrid_nr4x5_479{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;padding:1rem}._widget_nr4x5_479{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#1e1e1e;border-radius:8px;border:1px solid #3d3d3d}._widgetIcon_nr4x5_496{color:#7c3aed;flex-shrink:0}._widgetContent_nr4x5_501{display:flex;flex-direction:column;gap:.25rem;flex:1}._widgetLabel_nr4x5_508{font-size:.75rem;color:#a0a0a0}._widgetValue_nr4x5_513{font-size:1.125rem;font-weight:600;color:#fff}._serialPanel_nr4x5_520{flex:1;display:flex;flex-direction:column;overflow:hidden}._serialControls_nr4x5_527{display:flex;align-items:center;gap:.5rem}._baudRateSelect_nr4x5_533{padding:.25rem .5rem;background:#2d2d2d;color:#e0e0e0;border:1px solid #4d4d4d;border-radius:4px;font-size:.75rem;cursor:pointer;transition:background .2s}._baudRateSelect_nr4x5_533:hover{background:#3d3d3d}._baudRateSelect_nr4x5_533:disabled{opacity:.5;cursor:not-allowed}._btnMonitor_nr4x5_553{display:flex;align-items:center;gap:.375rem;padding:.25rem .75rem;border:1px solid;border-radius:4px;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s}._btnStart_nr4x5_566{background:#10b981;color:#fff;border-color:#10b981}._btnStart_nr4x5_566:hover{background:#059669;border-color:#059669}._btnStop_nr4x5_577{background:#ef4444;color:#fff;border-color:#ef4444}._btnStop_nr4x5_577:hover{background:#dc2626;border-color:#dc2626}._btnClear_nr4x5_588{padding:.25rem .75rem;background:#3d3d3d;color:#e0e0e0;border:1px solid #4d4d4d;border-radius:4px;font-size:.75rem;cursor:pointer;transition:background .2s}._btnClear_nr4x5_588:hover{background:#4d4d4d}._serialOutput_nr4x5_603{flex:1;overflow-y:auto;padding:.75rem;background:#1e1e1e;font-family:Fira Code,Consolas,Monaco,monospace;font-size:.8125rem;line-height:1.5}._serialOutput_nr4x5_603::-webkit-scrollbar{width:8px}._serialOutput_nr4x5_603::-webkit-scrollbar-track{background:#1e1e1e}._serialOutput_nr4x5_603::-webkit-scrollbar-thumb{background:#3d3d3d;border-radius:4px}._serialOutput_nr4x5_603::-webkit-scrollbar-thumb:hover{background:#4d4d4d}._emptySerial_nr4x5_630{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#6b7280;text-align:center;padding:2rem}._emptySerial_nr4x5_630 p{margin-top:.75rem;font-size:.875rem;line-height:1.5}._serialLog_nr4x5_647{display:flex;align-items:center;gap:.5rem;color:#e0e0e0;padding:.25rem .5rem;word-wrap:break-word;font-family:Consolas,Monaco,Courier New,monospace;font-size:.875rem;line-height:1.4}._serialLog_nr4x5_647:hover{background:#7c3aed0d}._serialLogIcon_nr4x5_663{flex-shrink:0;display:flex;align-items:center}._serialLogTimestamp_nr4x5_669{color:#64748b;font-size:.75rem;flex-shrink:0}._serialLogMessage_nr4x5_675{flex:1}._serialLogArduino_nr4x5_680{color:#10b981}._serialLogArduino_nr4x5_680 ._serialLogTimestamp_nr4x5_669{color:#059669}._serialLogError_nr4x5_689{color:#ef4444}._serialLogError_nr4x5_689 ._serialLogTimestamp_nr4x5_669{color:#dc2626}._serialLogSuccess_nr4x5_698{color:#10b981}._serialLogInfo_nr4x5_703{color:#3b82f6}._serialLogSystem_nr4x5_708{color:#94a3b8}._filterToggle_nr4x5_713{display:flex;align-items:center;gap:.5rem;color:#94a3b8;font-size:.875rem;cursor:pointer;padding:.25rem .5rem;border-radius:.25rem;transition:all .2s ease}._filterToggle_nr4x5_713:hover{color:#e0e0e0;background:#7c3aed1a}._filterToggle_nr4x5_713 input[type=checkbox]{cursor:pointer}._dashboardView_nr4x5_735{flex:1;display:flex;flex-direction:column;background:#1e1e1e;border-right:1px solid #3d3d3d;overflow:hidden;width:100%;max-width:100%;min-width:0}._dashboardCanvas_nr4x5_747{flex:1;position:relative;overflow:auto;background:#1e1e1e}._gridBackground_nr4x5_755{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;gap:20px;padding:20px;pointer-events:none}._gridRow_nr4x5_765{display:flex;gap:20px}._gridDot_nr4x5_770{width:2px;height:2px;background:#7c3aed4d;border-radius:50%}._emptyDashboard_nr4x5_778{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#6b7280;text-align:center;padding:2rem;z-index:1}._emptyDashboardText_nr4x5_791{margin-top:1rem;font-size:1.125rem;font-weight:600;color:#e0e0e0}._emptyDashboardHint_nr4x5_798{margin-top:.5rem;font-size:.875rem;color:#a0a0a0;max-width:400px}@media (min-width: 1920px){._editorPanel_nr4x5_382,._dashboardView_nr4x5_735{flex:1;max-width:100%}._rightPanel_nr4x5_461{width:450px;flex-shrink:0}}@media (min-width: 1200px) and (max-width: 1919px){._editorPanel_nr4x5_382,._dashboardView_nr4x5_735{flex:1;max-width:100%}._rightPanel_nr4x5_461{width:400px}}@media (max-width: 1200px){._rightPanel_nr4x5_461{width:350px}._widgetsGrid_nr4x5_479{grid-template-columns:1fr}._editorPanel_nr4x5_382,._dashboardView_nr4x5_735{flex:1;max-width:100%}}@media (max-width: 768px){._header_nr4x5_144{flex-wrap:wrap;padding:.5rem 1rem}._headerCenter_nr4x5_185{order:3;width:100%;justify-content:flex-start}._mainContent_nr4x5_374{flex-direction:column}._rightPanel_nr4x5_461{width:100%;max-height:40vh}._btn_nr4x5_77{padding:.5rem .75rem;font-size:.8125rem}._editorPanel_nr4x5_382,._dashboardView_nr4x5_735{flex:1;max-width:100%;border-right:none}}._modalOverlay_nr4x5_886{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}._boardManagerModal_nr4x5_897{background:#252526;border-radius:12px;width:90%;max-width:900px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080;border:1px solid #3c3c3c;overflow:hidden}._modalHeader_nr4x5_910{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid #3c3c3c;background:#2d2d2d}._modalHeader_nr4x5_910 h2{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1.25rem;font-weight:600;color:#fff}._modalClose_nr4x5_929{background:transparent;border:none;color:gray;cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}._modalClose_nr4x5_929:hover{background:#3c3c3c;color:#fff}._managerTabs_nr4x5_948{display:flex;gap:0;padding:0;background:#2d2d2d;border-bottom:1px solid #3c3c3c}._managerTab_nr4x5_948{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1rem;background:transparent;border:none;color:gray;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s;border-bottom:2px solid transparent}._managerTab_nr4x5_948:hover{background:#ffffff0d;color:silver}._managerTab_nr4x5_948._active_nr4x5_978{color:#7c3aed;border-bottom-color:#7c3aed;background:#7c3aed1a}._managerContent_nr4x5_984{flex:1;overflow-y:auto;padding:1.5rem}._boardsTab_nr4x5_991{display:flex;flex-direction:column;gap:2rem}._quickInstallSection_nr4x5_997 h3,._installedSection_nr4x5_998 h3,._popularLibraries_nr4x5_999 h3,._searchResults_nr4x5_1000 h3{margin:0 0 1rem;font-size:1rem;font-weight:600;color:#e0e0e0;display:flex;align-items:center;gap:.5rem}._quickInstallGrid_nr4x5_1010{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}._boardCard_nr4x5_1016{background:#1e1e1e;border:1px solid #3c3c3c;border-radius:8px;padding:1.25rem;display:flex;flex-direction:column;gap:.75rem;transition:all .2s}._boardCard_nr4x5_1016:hover{border-color:#505050;background:#242424}._boardCardHeader_nr4x5_1032{display:flex;align-items:flex-start;gap:.75rem}._boardCardHeader_nr4x5_1032 svg{color:#7c3aed;flex-shrink:0}._boardCardHeader_nr4x5_1032 h4{margin:0;font-size:1rem;font-weight:600;color:#fff}._boardCardHeader_nr4x5_1032 p{margin:.25rem 0 0;font-size:.8125rem;color:gray}._boardDesc_nr4x5_1056{margin:0;font-size:.875rem;color:#a0a0a0;line-height:1.5}._installedList_nr4x5_1064{display:flex;flex-direction:column;gap:.5rem;max-height:200px;overflow-y:auto}._installedItem_nr4x5_1072{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#1e1e1e;border:1px solid #3c3c3c;border-radius:6px}._installedItem_nr4x5_1072 svg{color:gray}._coreName_nr4x5_1086,._libName_nr4x5_1087{flex:1;font-weight:500;color:#e0e0e0}._coreVersion_nr4x5_1093,._libVersion_nr4x5_1094{font-size:.8125rem;color:gray;background:#2d2d2d;padding:.25rem .5rem;border-radius:4px}._checkIcon_nr4x5_1102{color:#10b981!important}._emptyState_nr4x5_1106{color:gray;font-style:italic;text-align:center;padding:2rem}._librariesTab_nr4x5_1114{display:flex;flex-direction:column;gap:2rem}._librarySearch_nr4x5_1120{background:#1e1e1e;border:1px solid #3c3c3c;border-radius:8px;padding:1rem}._searchInputGroup_nr4x5_1127{display:flex;align-items:center;gap:.75rem;background:#2d2d2d;border:1px solid #404040;border-radius:6px;padding:.5rem 1rem}._searchInputGroup_nr4x5_1127 svg{color:gray;flex-shrink:0}._searchInputGroup_nr4x5_1127 input{flex:1;background:transparent;border:none;color:#e0e0e0;font-size:.9375rem;outline:none}._searchInputGroup_nr4x5_1127 input::-moz-placeholder{color:#606060}._searchInputGroup_nr4x5_1127 input::placeholder{color:#606060}._searchBtn_nr4x5_1155{background:#7c3aed;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;font-weight:500;cursor:pointer;transition:all .2s}._searchBtn_nr4x5_1155:hover{background:#6d28d9}._libraryGrid_nr4x5_1171{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}._libraryCard_nr4x5_1177{background:#1e1e1e;border:1px solid #3c3c3c;border-radius:8px;padding:1rem;display:flex;flex-direction:column;gap:.5rem}._libraryCard_nr4x5_1177:hover{border-color:#505050}._libraryHeader_nr4x5_1191{display:flex;align-items:center;justify-content:space-between;gap:.5rem}._libraryHeader_nr4x5_1191 h4{margin:0;font-size:.9375rem;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._libraryVersion_nr4x5_1208{font-size:.75rem;color:gray;background:#2d2d2d;padding:.125rem .375rem;border-radius:3px;flex-shrink:0}._libraryDesc_nr4x5_1217{margin:0;font-size:.8125rem;color:#a0a0a0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}._libraryAuthor_nr4x5_1228{font-size:.75rem;color:#606060}._popularGrid_nr4x5_1234{display:flex;flex-direction:column;gap:.5rem}._popularItem_nr4x5_1240{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;background:#1e1e1e;border:1px solid #3c3c3c;border-radius:6px;transition:all .2s}._popularItem_nr4x5_1240:hover{border-color:#505050}._popularItem_nr4x5_1240 strong{font-size:.9375rem;color:#e0e0e0;font-weight:500}._popularItem_nr4x5_1240 p{margin:.25rem 0 0;font-size:.8125rem;color:gray}._btnSmall_nr4x5_1269{padding:.375rem .75rem!important;font-size:.8125rem!important}._btnOutline_nr4x5_1274{background:transparent!important;border:1px solid #505050!important;color:silver!important}._btnOutline_nr4x5_1274:hover{background:#3c3c3c!important;border-color:#606060!important}._btnSuccess_nr4x5_1285{background:#10b981!important;color:#fff!important}._btnSuccess_nr4x5_1285:disabled{opacity:.8;cursor:default}._spin_nr4x5_27{animation:_spin_nr4x5_27 1s linear infinite}._managerContent_nr4x5_984::-webkit-scrollbar{width:8px}._managerContent_nr4x5_984::-webkit-scrollbar-track{background:#1e1e1e}._managerContent_nr4x5_984::-webkit-scrollbar-thumb{background:#505050;border-radius:4px}._managerContent_nr4x5_984::-webkit-scrollbar-thumb:hover{background:#606060}._installedList_nr4x5_1064::-webkit-scrollbar{width:6px}._installedList_nr4x5_1064::-webkit-scrollbar-track{background:transparent}._installedList_nr4x5_1064::-webkit-scrollbar-thumb{background:#404040;border-radius:3px}._btnSecondary_nr4x5_1331{background:#3c3c3c!important;color:#e0e0e0!important}._btnSecondary_nr4x5_1331:hover{background:#4a4a4a!important}:root{--bg-dark: #1e1e2e;--bg-panel: #282a36;--primary: #bd93f9;--accent: #ff79c6;--text-main: #f8f8f2;--text-dim: #6272a4}._previewContainer_10g41_12{width:100vw;height:100vh;display:flex;flex-direction:column;background:#fff;overflow:hidden}._header_10g41_22{height:50px;background:linear-gradient(90deg,#282a36,#1e1e2e);display:flex;justify-content:space-between;align-items:center;padding:0 20px;border-bottom:1px solid #44475a;color:var(--text-main)}._projectInfo_10g41_33{display:flex;align-items:center;gap:10px}._projectIcon_10g41_39{color:var(--primary)}._projectName_10g41_43{font-size:1rem;font-weight:600;color:var(--text-main)}._badge_10g41_49{font-size:.75rem;padding:4px 12px;background:#bd93f933;color:var(--primary);border-radius:20px;border:1px solid rgba(189,147,249,.3)}._previewFrame_10g41_59{flex:1;width:100%;border:none;background:#fff}._loadingContainer_10g41_67{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background:var(--bg-dark);color:var(--text-main)}._spinnerIcon_10g41_77{color:var(--primary);animation:_spin_10g41_77 1s linear infinite;margin-bottom:20px}@keyframes _spin_10g41_77{to{transform:rotate(360deg)}}._loadingText_10g41_87{font-size:1.1rem;color:var(--primary)}._errorContainer_10g41_93{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background:var(--bg-dark);color:var(--text-main);text-align:center;padding:40px}._errorIcon_10g41_105{color:#f55;margin-bottom:20px}._errorTitle_10g41_110{font-size:1.5rem;color:#f55;margin-bottom:10px}._errorMessage_10g41_116{color:var(--text-dim);max-width:400px}._dashboardContainer_i4owj_4{width:100%;height:100vh;display:flex;flex-direction:column;background:#1e1e1e;color:#e0e0e0;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}._toastContainer_i4owj_16{position:fixed;top:1rem;right:1rem;z-index:2000;display:flex;flex-direction:column;gap:.5rem}._toast_i4owj_16{padding:.875rem 1.25rem;border-radius:8px;background:#2d2d2d;color:#fff;font-size:.9rem;box-shadow:0 4px 12px #0000004d;animation:_slideIn_i4owj_1 .3s ease-out}@keyframes _slideIn_i4owj_1{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}._toast_i4owj_16._success_i4owj_47{background:#10b981}._toast_i4owj_16._error_i4owj_51{background:#ef4444}._toast_i4owj_16._info_i4owj_55{background:#3b82f6}._header_i4owj_60{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background:#2d2d2d;border-bottom:1px solid #3d3d3d;gap:1rem;flex-shrink:0}._headerLeft_i4owj_71{display:flex;align-items:center;gap:.75rem}._logo_i4owj_77{color:#7c3aed;flex-shrink:0}._projectInfo_i4owj_82{display:flex;flex-direction:column;gap:.125rem}._projectName_i4owj_88{font-size:1rem;font-weight:600;color:#fff;margin:0}._projectType_i4owj_95{font-size:.75rem;color:#a0a0a0}._headerCenter_i4owj_100{display:flex;align-items:center;gap:1.5rem;flex:1;justify-content:center}._connectionStatus_i4owj_108{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#1e1e1e;border-radius:6px;border:1px solid #3d3d3d}._statusDot_i4owj_118{width:10px;height:10px;border-radius:50%;background:#6b7280}._statusDot_i4owj_118._connected_i4owj_125{background:#10b981;animation:_pulse_i4owj_1 2s ease-in-out infinite}@keyframes _pulse_i4owj_1{0%,to{opacity:1}50%{opacity:.5}}._widgetCount_i4owj_135{font-size:.875rem;color:#9ca3af}._headerRight_i4owj_140{display:flex;align-items:center;gap:.5rem}._btn_i4owj_147{display:flex;align-items:center;gap:.375rem;padding:.5rem 1rem;border:1px solid #3d3d3d;border-radius:6px;background:#2d2d2d;color:#e0e0e0;font-size:.875rem;cursor:pointer;transition:all .2s;white-space:nowrap}._btn_i4owj_147:hover{background:#3d3d3d;border-color:#4d4d4d}._btnAddWidget_i4owj_167{background:#7c3aed;border-color:#7c3aed;color:#fff}._btnAddWidget_i4owj_167:hover{background:#6d28d9}._btnSave_i4owj_177{background:#3b82f6;border-color:#3b82f6;color:#fff}._btnSave_i4owj_177:hover{background:#2563eb}._dashboardCanvas_i4owj_188{flex:1;position:relative;overflow:auto;background:#1e1e1e}._gridBackground_i4owj_196{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;gap:20px;padding:20px;pointer-events:none;z-index:0}._gridRow_i4owj_207{display:flex;gap:20px}._gridDot_i4owj_212{width:2px;height:2px;background:#7c3aed33;border-radius:50%}._emptyState_i4owj_220{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#6b7280;text-align:center;z-index:1}._emptyState_i4owj_220 h2{margin-top:1rem;font-size:1.5rem;color:#e0e0e0}._emptyState_i4owj_220 p{margin-top:.5rem;font-size:1rem;color:#9ca3af}._widgetContainer_i4owj_245{position:absolute;background:#2d2d2d;border:1px solid #3d3d3d;border-radius:8px;box-shadow:0 4px 12px #0003;cursor:move;transition:box-shadow .2s;z-index:10;display:flex;flex-direction:column}._widgetContainer_i4owj_245:hover{box-shadow:0 8px 24px #7c3aed4d;border-color:#7c3aed}._widgetHeader_i4owj_263{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:#3d3d3d;border-bottom:1px solid #4d4d4d;border-radius:8px 8px 0 0}._widgetTitle_i4owj_273{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:#e0e0e0}._dragHandle_i4owj_282{color:#9ca3af;cursor:grab}._dragHandle_i4owj_282:active{cursor:grabbing}._btnRemoveWidget_i4owj_291{padding:.25rem;background:transparent;border:none;color:#ef4444;cursor:pointer;border-radius:4px;transition:background .2s}._btnRemoveWidget_i4owj_291:hover{background:#ef44441a}._widgetContent_i4owj_305{flex:1;padding:1rem;overflow:auto}._gaugeWidget_i4owj_314{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:1rem}._gaugeValue_i4owj_323{font-size:2.5rem;font-weight:700;color:#7c3aed}._gaugeBar_i4owj_329{width:100%;height:20px;background:#3d3d3d;border-radius:10px;overflow:hidden;position:relative}._gaugeFill_i4owj_338{height:100%;background:linear-gradient(90deg,#7c3aed,#a855f7);transition:width .3s ease}._gaugeRange_i4owj_344{width:100%;display:flex;justify-content:space-between;font-size:.75rem;color:#9ca3af}._statusWidget_i4owj_353{display:flex;align-items:center;justify-content:center;height:100%}._statusIndicator_i4owj_360{padding:1rem 2rem;border-radius:8px;font-size:1.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}._statusOn_i4owj_369{background:#10b98133;color:#10b981;border:2px solid #10b981}._statusOff_i4owj_375{background:#6b728033;color:#9ca3af;border:2px solid #6b7280}._chartWidget_i4owj_382{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:1rem;gap:1rem;color:#9ca3af}._chartWidget_i4owj_382 canvas{width:100%!important;height:100%!important;max-height:250px}._textWidget_i4owj_400{height:100%;overflow:auto}._textOutput_i4owj_405{font-family:Fira Code,Consolas,monospace;font-size:.875rem;line-height:1.5;color:#e0e0e0;white-space:pre-wrap}._sliderWidget_i4owj_414{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:1.5rem}._sliderValue_i4owj_423{font-size:2rem;font-weight:600;color:#06b6d4}._slider_i4owj_414{width:80%;height:8px;border-radius:4px;background:#3d3d3d;outline:none;-webkit-appearance:none}._slider_i4owj_414::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:#06b6d4;cursor:pointer}._slider_i4owj_414::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#06b6d4;cursor:pointer;border:none}._buttonWidget_i4owj_457{display:flex;align-items:center;justify-content:center;height:100%}._actionButton_i4owj_464{padding:1rem 2rem;background:#ec4899;color:#fff;border:none;border-radius:8px;font-size:1.125rem;font-weight:600;cursor:pointer;transition:background .2s}._actionButton_i4owj_464:hover{background:#db2777}._actionButton_i4owj_464:active{transform:scale(.95)}._switchWidget_i4owj_485{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:1.5rem;padding:1rem}._toggleSwitch_i4owj_495{width:100px;height:50px;border-radius:25px;cursor:pointer;position:relative;transition:all .3s ease;box-shadow:inset 0 2px 8px #0000004d}._toggleSwitch_i4owj_495._off_i4owj_505{background:linear-gradient(180deg,#4b5563,#374151)}._toggleSwitch_i4owj_495._on_i4owj_509{background:linear-gradient(180deg,#10b981,#059669)}._toggleSlider_i4owj_513{width:100%;height:100%;position:relative;border-radius:25px}._toggleKnob_i4owj_520{width:42px;height:42px;background:#fff;border-radius:50%;position:absolute;top:4px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0003}._toggleSwitch_i4owj_495._on_i4owj_509 ._toggleKnob_i4owj_520{left:calc(100% - 46px)}._toggleSwitch_i4owj_495._off_i4owj_505 ._toggleKnob_i4owj_520{left:4px}._switchStatus_i4owj_539{display:flex;flex-direction:column;align-items:center;gap:.5rem}._powerIcon_i4owj_546{transition:color .3s ease}._statusText_i4owj_550{font-size:1.25rem;font-weight:600;color:#e0e0e0;text-transform:uppercase;letter-spacing:.05em}._switchDescription_i4owj_558{font-size:.875rem;color:#9ca3af;text-align:center;margin:0}._cameraWidget_i4owj_566{height:100%;position:relative;display:flex;flex-direction:column}._cameraFeed_i4owj_573{width:100%;flex:1;-o-object-fit:cover;object-fit:cover;border-radius:4px;background:#1a1a1a}._cameraPlaceholder_i4owj_581{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;color:#9ca3af;background:#1a1a1a;border-radius:4px}._cameraPlaceholder_i4owj_581 p{margin-top:8px;font-size:12px}._cameraControls_i4owj_597{padding:8px;display:flex;justify-content:center;gap:8px;background:#252525;border-radius:0 0 4px 4px}._btnCameraConnect_i4owj_606{padding:6px 12px;border:none;border-radius:4px;background:#3b82f6;color:#fff;font-size:12px;cursor:pointer;transition:background .2s}._btnCameraConnect_i4owj_606:hover{background:#2563eb}._btnCameraDisconnect_i4owj_621{padding:6px 12px;border:none;border-radius:4px;background:#ef4444;color:#fff;font-size:12px;cursor:pointer;transition:background .2s}._btnCameraDisconnect_i4owj_621:hover{background:#dc2626}._cameraInfo_i4owj_636{padding:4px 8px;background:#0009;position:absolute;bottom:40px;left:0;right:0;text-align:center;font-size:10px;color:#9ca3af}._modalOverlay_i4owj_649{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:_fadeIn_i4owj_1 .2s ease-out}@keyframes _fadeIn_i4owj_1{0%{opacity:0}to{opacity:1}}._modalContent_i4owj_666{background:#2d2d2d;border:1px solid #3d3d3d;border-radius:12px;width:90%;max-width:900px;max-height:80vh;overflow:auto;box-shadow:0 20px 40px #00000080;animation:_slideUp_i4owj_1 .3s ease-out}@keyframes _slideUp_i4owj_1{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}._modalHeader_i4owj_689{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #3d3d3d}._modalHeader_i4owj_689 h2{margin:0;font-size:1.5rem;color:#fff}._btnCloseModal_i4owj_703{padding:.5rem;background:transparent;border:none;color:#9ca3af;cursor:pointer;border-radius:6px;transition:all .2s}._btnCloseModal_i4owj_703:hover{background:#3d3d3d;color:#fff}._widgetGrid_i4owj_718{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;padding:1.5rem}._widgetCard_i4owj_725{padding:1.5rem;background:#1e1e1e;border:2px solid #3d3d3d;border-radius:8px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;gap:.75rem}._widgetCard_i4owj_725:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0000004d}._widgetIcon_i4owj_742{width:60px;height:60px;border-radius:12px;display:flex;align-items:center;justify-content:center}._widgetCard_i4owj_725 h3{margin:0;font-size:1.125rem;color:#fff}._widgetCard_i4owj_725 p{margin:0;font-size:.875rem;color:#9ca3af;line-height:1.5}._configForm_i4owj_765{padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem;max-height:60vh;overflow-y:auto}._formGroup_i4owj_774{display:flex;flex-direction:column;gap:.5rem}._formLabel_i4owj_780{font-size:.875rem;font-weight:600;color:#e0e0e0}._formInput_i4owj_786,._formSelect_i4owj_787{padding:.625rem .875rem;background:#1e1e1e;border:1px solid #3d3d3d;border-radius:6px;color:#e0e0e0;font-size:.875rem;transition:border-color .2s}._formInput_i4owj_786:focus,._formSelect_i4owj_787:focus{outline:none;border-color:#7c3aed}._formInput_i4owj_786::-moz-placeholder{color:#6b7280}._formInput_i4owj_786::placeholder{color:#6b7280}._formHint_i4owj_807{display:block;font-size:11px;color:#9ca3af;margin-top:4px}._formRow_i4owj_814{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem}._formActions_i4owj_820{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1rem;padding-top:1rem;border-top:1px solid #3d3d3d}._btnCancel_i4owj_829{padding:.625rem 1.25rem;background:transparent;border:1px solid #3d3d3d;border-radius:6px;color:#e0e0e0;font-size:.875rem;cursor:pointer;transition:all .2s}._btnCancel_i4owj_829:hover{background:#3d3d3d}._btnSubmit_i4owj_844{padding:.625rem 1.25rem;background:#7c3aed;border:1px solid #7c3aed;border-radius:6px;color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}._btnSubmit_i4owj_844:hover{background:#6d28d9}._btnSubmit_i4owj_844:disabled{opacity:.5;cursor:not-allowed}._noDataWarning_i4owj_865{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:6px;color:#f59e0b;font-size:.875rem}._noDataWarning_i4owj_865 p{margin:0;line-height:1.5}@media (max-width: 768px){._header_i4owj_60{flex-wrap:wrap;padding:.5rem 1rem}._headerCenter_i4owj_100{order:3;width:100%;justify-content:flex-start;margin-top:.5rem}._widgetGrid_i4owj_718{grid-template-columns:1fr}._widgetContainer_i4owj_245{min-width:250px!important}._configForm_i4owj_765{max-height:70vh}._formRow_i4owj_814{grid-template-columns:1fr}}#root{text-align:left}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:1em}.read-the-docs{color:#888}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Noto Sans Gujarati,system-ui,Avenir,Helvetica,Arial,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.left-0{left:0}.left-3\.5{left:.875rem}.right-0{right:0}.right-3{right:.75rem}.top-0{top:0}.top-1\/2{top:50%}.z-50{z-index:50}.order-1{order:1}.order-2{order:2}.mx-auto{margin-left:auto;margin-right:auto}.-ml-1{margin-left:-.25rem}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-20{margin-bottom:5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.\!block{display:block!important}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.table-row{display:table-row}.grid{display:grid}.\!contents{display:contents!important}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-20{height:5rem}.h-3{height:.75rem}.h-32{height:8rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[70vh\]{max-height:70vh}.max-h-none{max-height:none}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-20{width:5rem}.w-3{width:.75rem}.w-32{width:8rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-full{max-width:100%}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.flex-grow,.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-3{--tw-rotate: -3deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-90{--tw-rotate: -90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-3{--tw-rotate: 3deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-disc{list-style-type:disc}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-12{gap:3rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-b-4{border-bottom-width:4px}.border-t{border-top-width:1px}.border-amber-200{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity, 1))}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-gray-100{--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-gray-800{--tw-border-opacity: 1;border-color:rgb(31 41 55 / var(--tw-border-opacity, 1))}.border-green-500{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity, 1))}.border-purple-200{--tw-border-opacity: 1;border-color:rgb(233 213 255 / var(--tw-border-opacity, 1))}.border-purple-600{--tw-border-opacity: 1;border-color:rgb(147 51 234 / var(--tw-border-opacity, 1))}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.border-red-300{--tw-border-opacity: 1;border-color:rgb(252 165 165 / var(--tw-border-opacity, 1))}.border-red-400{--tw-border-opacity: 1;border-color:rgb(248 113 113 / var(--tw-border-opacity, 1))}.border-red-500{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.border-slate-100{--tw-border-opacity: 1;border-color:rgb(241 245 249 / var(--tw-border-opacity, 1))}.border-slate-200{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}.border-slate-300{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-indigo-100{--tw-bg-opacity: 1;background-color:rgb(224 231 255 / var(--tw-bg-opacity, 1))}.bg-indigo-600{--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity, 1))}.bg-orange-100{--tw-bg-opacity: 1;background-color:rgb(255 237 213 / var(--tw-bg-opacity, 1))}.bg-pink-100{--tw-bg-opacity: 1;background-color:rgb(252 231 243 / var(--tw-bg-opacity, 1))}.bg-purple-100{--tw-bg-opacity: 1;background-color:rgb(243 232 255 / var(--tw-bg-opacity, 1))}.bg-purple-400{--tw-bg-opacity: 1;background-color:rgb(192 132 252 / var(--tw-bg-opacity, 1))}.bg-purple-600{--tw-bg-opacity: 1;background-color:rgb(147 51 234 / var(--tw-bg-opacity, 1))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-slate-100{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.bg-slate-200{--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/60{background-color:#fff9}.bg-white\/80{background-color:#fffc}.bg-white\/90{background-color:#ffffffe6}.bg-yellow-100{--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity, 1))}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-blue-100{--tw-gradient-from: #dbeafe var(--tw-gradient-from-position);--tw-gradient-to: rgb(219 234 254 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-400{--tw-gradient-from: #60a5fa var(--tw-gradient-from-position);--tw-gradient-to: rgb(96 165 250 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-50{--tw-gradient-from: #eff6ff var(--tw-gradient-from-position);--tw-gradient-to: rgb(239 246 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-500{--tw-gradient-from: #3b82f6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-600{--tw-gradient-from: #2563eb var(--tw-gradient-from-position);--tw-gradient-to: rgb(37 99 235 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-50{--tw-gradient-from: #f0fdf4 var(--tw-gradient-from-position);--tw-gradient-to: rgb(240 253 244 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-orange-100{--tw-gradient-from: #ffedd5 var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 237 213 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-orange-400{--tw-gradient-from: #fb923c var(--tw-gradient-from-position);--tw-gradient-to: rgb(251 146 60 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-orange-50{--tw-gradient-from: #fff7ed var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 247 237 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-orange-500{--tw-gradient-from: #f97316 var(--tw-gradient-from-position);--tw-gradient-to: rgb(249 115 22 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-50{--tw-gradient-from: #faf5ff var(--tw-gradient-from-position);--tw-gradient-to: rgb(250 245 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-500{--tw-gradient-from: #a855f7 var(--tw-gradient-from-position);--tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-700{--tw-gradient-from: #7e22ce var(--tw-gradient-from-position);--tw-gradient-to: rgb(126 34 206 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-slate-50{--tw-gradient-from: #f8fafc var(--tw-gradient-from-position);--tw-gradient-to: rgb(248 250 252 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-white{--tw-gradient-from: #fff var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-blue-100{--tw-gradient-to: #dbeafe var(--tw-gradient-to-position)}.to-blue-50{--tw-gradient-to: #eff6ff var(--tw-gradient-to-position)}.to-blue-600{--tw-gradient-to: #2563eb var(--tw-gradient-to-position)}.to-green-100{--tw-gradient-to: #dcfce7 var(--tw-gradient-to-position)}.to-indigo-800{--tw-gradient-to: #3730a3 var(--tw-gradient-to-position)}.to-orange-100{--tw-gradient-to: #ffedd5 var(--tw-gradient-to-position)}.to-orange-600{--tw-gradient-to: #ea580c var(--tw-gradient-to-position)}.to-pink-100{--tw-gradient-to: #fce7f3 var(--tw-gradient-to-position)}.to-pink-500{--tw-gradient-to: #ec4899 var(--tw-gradient-to-position)}.to-purple-100{--tw-gradient-to: #f3e8ff var(--tw-gradient-to-position)}.to-purple-500{--tw-gradient-to: #a855f7 var(--tw-gradient-to-position)}.to-purple-600{--tw-gradient-to: #9333ea var(--tw-gradient-to-position)}.to-violet-100{--tw-gradient-to: #ede9fe var(--tw-gradient-to-position)}.to-white{--tw-gradient-to: #fff var(--tw-gradient-to-position)}.bg-cover{background-size:cover}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.bg-center{background-position:center}.object-contain{-o-object-fit:contain;object-fit:contain}.p-12{padding:3rem}.p-16{padding:4rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-16{padding-bottom:4rem}.pl-10{padding-left:2.5rem}.pl-5{padding-left:1.25rem}.pr-12{padding-right:3rem}.pr-4{padding-right:1rem}.pt-24{padding-top:6rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-wide{letter-spacing:.025em}.text-amber-500{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity, 1))}.text-amber-700{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.text-amber-800{--tw-text-opacity: 1;color:rgb(146 64 14 / var(--tw-text-opacity, 1))}.text-amber-900{--tw-text-opacity: 1;color:rgb(120 53 15 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-blue-800{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-green-800{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.text-indigo-600{--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity, 1))}.text-indigo-700{--tw-text-opacity: 1;color:rgb(67 56 202 / var(--tw-text-opacity, 1))}.text-orange-500{--tw-text-opacity: 1;color:rgb(249 115 22 / var(--tw-text-opacity, 1))}.text-orange-600{--tw-text-opacity: 1;color:rgb(234 88 12 / var(--tw-text-opacity, 1))}.text-orange-700{--tw-text-opacity: 1;color:rgb(194 65 12 / var(--tw-text-opacity, 1))}.text-pink-600{--tw-text-opacity: 1;color:rgb(219 39 119 / var(--tw-text-opacity, 1))}.text-purple-100{--tw-text-opacity: 1;color:rgb(243 232 255 / var(--tw-text-opacity, 1))}.text-purple-200{--tw-text-opacity: 1;color:rgb(233 213 255 / var(--tw-text-opacity, 1))}.text-purple-500{--tw-text-opacity: 1;color:rgb(168 85 247 / var(--tw-text-opacity, 1))}.text-purple-600{--tw-text-opacity: 1;color:rgb(147 51 234 / var(--tw-text-opacity, 1))}.text-purple-700{--tw-text-opacity: 1;color:rgb(126 34 206 / var(--tw-text-opacity, 1))}.text-purple-800{--tw-text-opacity: 1;color:rgb(107 33 168 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.text-red-800{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.text-slate-800{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}.text-transparent{color:transparent}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-700{--tw-text-opacity: 1;color:rgb(161 98 7 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.placeholder-gray-400::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity, 1))}.placeholder-gray-400::placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity, 1))}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-20{opacity:.2}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-purple-200{--tw-shadow-color: #e9d5ff;--tw-shadow: var(--tw-shadow-colored)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-4{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-purple-100{--tw-ring-opacity: 1;--tw-ring-color: rgb(243 232 255 / var(--tw-ring-opacity, 1))}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.invert{--tw-invert: invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\!filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}html,body,#root{height:100%}.hover\:-translate-y-2:hover{--tw-translate-y: -.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-indigo-400:hover{--tw-border-opacity: 1;border-color:rgb(129 140 248 / var(--tw-border-opacity, 1))}.hover\:bg-blue-50:hover{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.hover\:bg-green-600:hover{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.hover\:bg-indigo-50:hover{--tw-bg-opacity: 1;background-color:rgb(238 242 255 / var(--tw-bg-opacity, 1))}.hover\:bg-indigo-500:hover{--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity, 1))}.hover\:bg-purple-700:hover{--tw-bg-opacity: 1;background-color:rgb(126 34 206 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-300:hover{--tw-bg-opacity: 1;background-color:rgb(203 213 225 / var(--tw-bg-opacity, 1))}.hover\:text-amber-700:hover{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.hover\:text-blue-400:hover{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.hover\:text-blue-700:hover{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.hover\:text-gray-700:hover{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.hover\:text-purple-700:hover{--tw-text-opacity: 1;color:rgb(126 34 206 / var(--tw-text-opacity, 1))}.hover\:shadow-2xl:hover{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-lg:hover{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-purple-300:hover{--tw-shadow-color: #d8b4fe;--tw-shadow: var(--tw-shadow-colored)}.focus\:border-transparent:focus{border-color:transparent}.focus\:bg-white:focus{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-indigo-400\/40:focus{--tw-ring-color: rgb(129 140 248 / .4)}.focus\:ring-purple-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(168 85 247 / var(--tw-ring-opacity, 1))}.focus\:ring-red-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity, 1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.active\:bg-purple-800:active{--tw-bg-opacity: 1;background-color:rgb(107 33 168 / var(--tw-bg-opacity, 1))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-slate-100:disabled{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@media (min-width: 640px){.sm\:mb-6{margin-bottom:1.5rem}.sm\:mt-8{margin-top:2rem}.sm\:flex{display:flex}.sm\:h-12{height:3rem}.sm\:h-16{height:4rem}.sm\:h-4{height:1rem}.sm\:w-1\/3{width:33.333333%}.sm\:w-4{width:1rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:gap-2{gap:.5rem}.sm\:gap-3{gap:.75rem}.sm\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.sm\:p-6{padding:1.5rem}.sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-2{padding-top:.5rem;padding-bottom:.5rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width: 768px){.md\:mt-12{margin-top:3rem}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:p-8{padding:2rem}}@media (min-width: 1024px){.lg\:order-1{order:1}.lg\:order-2{order:2}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:w-1\/2{width:50%}.lg\:w-1\/3{width:33.333333%}.lg\:w-2\/3{width:66.666667%}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:justify-start{justify-content:flex-start}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:text-left{text-align:left}.lg\:text-6xl{font-size:3.75rem;line-height:1}}
