*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scrollbar-gutter:stable}body{color:#1f2937;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.5}img,svg{max-width:100%;display:block}button,input,select,textarea{font:inherit}a{color:#3b82f6;text-decoration:none}a:hover{text-decoration:underline}.loading-container{justify-content:center;align-items:center;min-height:200px;display:flex}.table-action-btn{color:#374151;cursor:pointer;white-space:nowrap;background-color:#fff;border:1px solid #d1d5db;border-radius:5px;justify-content:center;align-items:center;padding:.25rem .625rem;font-size:.8125rem;font-weight:500;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.table-action-btn:disabled{opacity:.5;cursor:not-allowed}.table-action-btn--edit{color:#1d4ed8;border-color:#bfdbfe}.table-action-btn--edit:hover:not(:disabled){background-color:#eff6ff;border-color:#93c5fd}.table-action-btn--delete{color:#991b1b;border-color:#fecaca}.table-action-btn--delete:hover:not(:disabled){background-color:#fef2f2;border-color:#fca5a5}.table-action-btn.table-action-btn--edit,.table-action-btn.table-action-btn--delete{background-color:#fff}.hc-btn.table-action-btn--edit{color:#1d4ed8;border-color:#bfdbfe}.hc-btn.table-action-btn--edit:hover:not(:disabled){background-color:#eff6ff;border-color:#93c5fd}.hc-btn.table-action-btn--delete{color:#991b1b;border-color:#fecaca}.hc-btn.table-action-btn--delete:hover:not(:disabled){background-color:#fef2f2;border-color:#fca5a5}@keyframes spin{to{transform:rotate(360deg)}}:focus-visible{outline-offset:2px;outline:2px solid #3b82f6}:root{--accessibility-font-size:16px}body{font-size:var(--accessibility-font-size)}html.high-contrast body{color:#fff;background-color:#000}html.high-contrast a{color:#66b3ff}html.high-contrast a:hover{color:#9cf}html.high-contrast input,html.high-contrast select,html.high-contrast textarea{color:#fff;background-color:#1a1a1a;border-color:#fff}html.high-contrast button{border-color:#fff}html.high-contrast .app-header{background-color:#000;border-bottom-color:#fff}html.high-contrast :focus-visible{outline-color:#ff0}html.reduced-motion *,html.reduced-motion :before,html.reduced-motion :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.btn-primary{color:#3b82f6;cursor:pointer;white-space:nowrap;background-color:#0000;border:1px solid #3b82f6;border-radius:6px;padding:.5rem 1rem;font-size:.8125rem;font-weight:500;transition:background-color .15s,color .15s}.btn-primary:hover:not(:disabled){color:#fff;background-color:#3b82f6}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{color:#374151;cursor:pointer;white-space:nowrap;background-color:#0000;border:1px solid #d1d5db;border-radius:6px;padding:.5rem 1rem;font-size:.8125rem;font-weight:500;transition:background-color .15s,border-color .15s,color .15s}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-danger{color:#ef4444;cursor:pointer;white-space:nowrap;background-color:#0000;border:1px solid #ef4444;border-radius:6px;padding:.5rem 1rem;font-size:.8125rem;font-weight:500;transition:background-color .15s,color .15s}.btn-danger:hover:not(:disabled){color:#fff;background-color:#ef4444}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.consent-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.consent-modal{background-color:#fff;border-radius:12px;flex-direction:column;width:100%;max-width:560px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 8px 32px #0003}.consent-modal-header{border-bottom:1px solid #e5e7eb;padding:1.5rem 1.5rem .75rem}.consent-modal-header h2{color:#1f2937;margin:0;font-size:1.25rem;font-weight:600}.consent-modal-header p{color:#4b5563;margin:.5rem 0 0;font-size:.875rem;line-height:1.5}.consent-modal-body{flex:1;padding:1rem 1.5rem;overflow-y:auto}.consent-categories-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.consent-category-item{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:.75rem 1rem}.consent-category-name{color:#1f2937;margin-bottom:.25rem;font-size:.875rem;font-weight:600;display:block}.consent-category-purpose{color:#6b7280;font-size:.8125rem;line-height:1.4;display:block}.consent-modal-footer{background-color:#f9fafb;border-top:1px solid #e5e7eb;justify-content:flex-end;align-items:center;gap:.75rem;padding:1rem 1.5rem;display:flex}.consent-btn{cursor:pointer;border:1px solid #0000;border-radius:6px;padding:.5rem 1.25rem;font-size:.875rem;font-weight:500;transition:background-color .15s,border-color .15s}.consent-btn:focus-visible{outline-offset:2px;outline:2px solid #3b82f6}.consent-btn-decline{color:#374151;background-color:#fff;border-color:#d1d5db}.consent-btn-decline:hover{background-color:#f3f4f6;border-color:#9ca3af}.consent-btn-accept{color:#fff;background-color:#3b82f6;border-color:#3b82f6}.consent-btn-accept:hover{background-color:#2563eb;border-color:#2563eb}.consent-btn:disabled{opacity:.6;cursor:not-allowed}.app-layout{background-color:#fff;flex-direction:column;width:100vw;min-height:100vh;display:flex}.app-header{z-index:100;background-color:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0}.app-nav{align-items:center;width:100%;max-width:1340px;height:56px;margin:0 auto;padding:0 1.5rem;display:flex}.app-logo{color:#1f2937;flex-shrink:0;align-items:center;gap:1px;width:calc(240px - 1.5rem);text-decoration:none;display:flex}.app-logo-icon{width:28px;height:28px;margin-right:.375rem}.app-section-title{color:#6b7280;text-transform:uppercase;letter-spacing:.06em;border-left:1px solid #e5e7eb;padding-left:.75rem;font-size:.8125rem;font-weight:600}.logo-text{color:#1c1d1f;letter-spacing:-.02em;font-size:1.5rem;font-weight:800}.logo-dot{color:#5624d0;font-size:1.75rem;font-weight:800;line-height:1}.nav-actions{align-items:center;gap:.75rem;margin-left:auto;display:flex}.nav-link{color:#374151;border-radius:6px;padding:.375rem .75rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background-color .15s,color .15s}.nav-link:hover{color:#1f2937;background-color:#f3f4f6}.nav-link:focus-visible{outline-offset:2px;outline:2px solid #3b82f6}.nav-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;transition:background-color .15s,color .15s;display:flex}.nav-btn:hover{color:#1f2937;background-color:#f3f4f6}.nav-btn:focus-visible{outline-offset:2px;outline:2px solid #3b82f6}.app-main{background-color:#fff;flex:1;width:100%;max-width:1340px;margin:0 auto;padding:2rem 1.5rem}.app-gradient-strip{background:#fff;border-bottom:1px solid #e5e7eb;flex-shrink:0;height:56px}.app-gradient-strip-inner{align-items:center;max-width:1340px;height:100%;margin:0 auto;padding:0 1.5rem;display:flex}.app-gradient-strip-title{color:#6b7280;text-transform:uppercase;letter-spacing:.06em;font-size:.8125rem;font-weight:600}.accessibility-link{text-decoration:none}.app-nav .hp-btn{padding:.3rem .875rem;font-size:.8125rem}.hp-root{color:#1c1d1f;background:#fff;flex-direction:column;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;display:flex}.hp-root *,.hp-root :before,.hp-root :after{box-sizing:border-box}:root{--tuto-teal:#005f73;--tuto-dark-teal:#002e3b;--tuto-gold:#d4af37;--tuto-light-gold:#f4e8c1;--tuto-purple:#5624d0}.hp-container{max-width:1340px;margin:0 auto;padding:0 1.5rem}.hp-section{padding:3.5rem 0}.hp-section-header{margin-bottom:1.75rem}.hp-section-title{color:#1c1d1f;margin:0 0 .375rem;font-size:1.625rem;font-weight:700}.hp-section-subtitle{color:#6b7280;margin:0;font-size:.9375rem}.hp-btn{cursor:pointer;white-space:nowrap;border:2px solid #0000;border-radius:4px;justify-content:center;align-items:center;gap:.375rem;padding:.625rem 1.25rem;font-size:.9375rem;font-weight:700;line-height:1.4;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.hp-btn:focus-visible{outline-offset:2px;outline:2px solid #1c1d1f}.hp-btn-dark{color:#fff;background:#1c1d1f;border-color:#1c1d1f}.hp-btn-dark:hover{background:#3e4143;border-color:#3e4143}.hp-btn-outline{color:#1c1d1f;background:0 0;border-color:#1c1d1f}.hp-btn-outline:hover{background:#f7f9fa}.hp-btn-purple{background:var(--tuto-purple);color:#fff;border-color:var(--tuto-purple)}.hp-btn-purple:hover{background:#401b9c;border-color:#401b9c}.hp-btn-gold{background:var(--tuto-gold);color:#1c1d1f;border-color:var(--tuto-gold);font-weight:700}.hp-btn-gold:hover{background:#b8961e;border-color:#b8961e}.hp-btn-lg{padding:.75rem 1.5rem;font-size:1rem}.hp-btn-sm{padding:.375rem .875rem;font-size:.8125rem;font-weight:600}.hp-nav{z-index:50;background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0}.hp-nav-inner{align-items:center;gap:1rem;height:56px;display:flex}.hp-logo{flex-shrink:0;align-items:center;gap:.125rem;text-decoration:none;display:flex}.hp-logo:hover{text-decoration:none}.hp-logo-word{color:#1c1d1f;letter-spacing:-.02em;font-size:1.5rem;font-weight:800}.hp-logo-tld{color:var(--tuto-purple);font-size:1.75rem;font-weight:800}.hp-logo-icon{width:28px;height:28px;margin-right:.375rem}.hp-lang-switcher{border:1px solid #d1d5db;border-radius:4px;flex-shrink:0;align-items:center;display:none;overflow:hidden}@media (width>=900px){.hp-lang-switcher{display:flex}}.hp-lang-btn{cursor:pointer;color:#4b5563;background:0 0;border:none;border-right:1px solid #d1d5db;padding:.25rem .625rem;font-size:.75rem;font-weight:500;line-height:1.8;transition:background .12s}.hp-lang-btn:last-child{border-right:none}.hp-lang-btn:hover{background:#f3f4f6}.hp-lang-btn--active{color:#fff;background:#1c1d1f}.hp-lang-btn--active:hover{background:#3e4143}.hp-nav-search{flex:1;max-width:560px;display:none;position:relative}@media (width>=640px){.hp-nav-search{display:block}}.hp-nav-search-input{color:#1c1d1f;background:#fff;border:1px solid #1c1d1f;border-radius:9999px;outline:none;width:100%;padding:.5625rem 1rem .5625rem 2.75rem;font-size:.875rem;transition:box-shadow .15s}.hp-nav-search-input::placeholder{color:#9ca3af}.hp-nav-search-input:focus{box-shadow:0 0 0 3px #1c1d1f26}.hp-nav-search-icon{color:#6b7280;pointer-events:none;font-size:.875rem;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.hp-nav-links{align-items:center;gap:1.25rem;font-size:.875rem;font-weight:500;display:none}@media (width>=1024px){.hp-nav-links{display:flex}}.hp-nav-link{color:#1c1d1f;text-decoration:none;transition:color .12s}.hp-nav-link:hover{color:var(--tuto-purple);text-decoration:none}.hp-nav-actions{align-items:center;gap:.625rem;margin-left:auto;display:flex}.hp-nav-signin{color:#1c1d1f;cursor:pointer;background:0 0;border:1px solid #1c1d1f;border-radius:4px;padding:.4375rem .875rem;font-size:.875rem;font-weight:700;transition:background .12s}.hp-nav-signin:hover{background:#f7f9fa}.hp-hero-section{background:#fff;padding:1.5rem 0 2rem}.hp-hero-carousel{-webkit-user-select:none;user-select:none;border-radius:8px;height:420px;position:relative;overflow:hidden}.hp-hero-slide{border-radius:8px;align-items:center;height:100%;padding:2rem 2.5rem;display:none;position:absolute;inset:0;overflow:hidden}.hp-hero-slide--active{display:flex}.hp-hero-slide--amber{background:linear-gradient(135deg,#f97316 0%,#fbbf24 100%)}.hp-hero-slide--teal{background:linear-gradient(135deg,#0e7490 0%,#06b6d4 100%)}.hp-hero-slide--violet{background:linear-gradient(135deg,#7c3aed 0%,#a78bfa 100%)}.hp-hero-slide--green{background:linear-gradient(135deg,#059669 0%,#34d399 100%)}.hp-hero-slide:after{content:"";pointer-events:none;background:#ffffff1a;border-radius:50%;width:320px;height:320px;position:absolute;top:-60px;right:-60px}.hp-hero-card{z-index:1;background:#fff;border-radius:6px;flex-shrink:0;max-width:340px;margin-left:1rem;padding:1.25rem 1.5rem;position:relative;box-shadow:0 4px 20px #00000026}.hp-hero-card-eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--tuto-purple);margin-bottom:.375rem;font-size:.75rem;font-weight:700}.hp-hero-card-title{color:#1c1d1f;margin:0 0 .5rem;font-size:1.375rem;font-weight:800;line-height:1.2}.hp-hero-card-sub{color:#4b5563;margin:0 0 1.125rem;font-size:.875rem;line-height:1.55}.hp-finder{flex-direction:column;gap:.5rem;display:flex}.hp-finder-row{gap:.5rem;display:flex}.hp-finder-label{color:#374151;margin-bottom:.2rem;font-size:.75rem;font-weight:600;display:block}.hp-finder-select{color:#1c1d1f;cursor:pointer;appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24'%3E%3Cpath fill='%236b7280' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E") right .5rem center no-repeat;border:1px solid #d1d5db;border-radius:4px;outline:none;flex:1;padding:.4375rem 1.5rem .4375rem .625rem;font-size:.8125rem;transition:border-color .15s}.hp-finder-select:focus{border-color:#1c1d1f}.hp-hero-visual{z-index:1;flex:1;justify-content:flex-end;align-items:center;padding-right:1rem;display:flex;position:relative}.hp-hero-visual-card{color:#fff;text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff2e;border:1px solid #ffffff59;border-radius:10px;max-width:200px;padding:1.25rem 1.5rem}.hp-hero-visual-emoji{margin-bottom:.5rem;font-size:2.75rem;display:block}.hp-hero-visual-label{font-size:.9375rem;font-weight:700;line-height:1.3}.hp-hero-visual-sub{color:#fffc;margin-top:.25rem;font-size:.8125rem}.hp-carousel-btn{z-index:10;cursor:pointer;color:#1c1d1f;background:#fff;border:1px solid #e5e7eb;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:.875rem;transition:box-shadow .15s,background .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 2px 8px #0000001f}.hp-carousel-btn:hover{background:#f3f4f6;box-shadow:0 4px 12px #00000029}.hp-carousel-btn--prev{left:12px}.hp-carousel-btn--next{right:12px}.hp-carousel-dots{justify-content:center;gap:.5rem;margin-top:.875rem;display:flex}.hp-carousel-dot{cursor:pointer;background:#d1d5db;border:none;border-radius:50%;width:8px;height:8px;padding:0;transition:background .15s,width .2s}.hp-carousel-dot--active{background:#1c1d1f;border-radius:9999px;width:24px}@media (width<=640px){.hp-hero-visual{display:none}.hp-hero-card{max-width:100%}.hp-hero-slide{padding:1.75rem 1.25rem}}.hp-features-bar{background:#f7f9fa;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;padding:1.25rem 0}.hp-features-bar-grid{grid-template-columns:repeat(4,1fr);gap:1rem;margin:0;padding:0;list-style:none;display:grid}.hp-features-bar-item{align-items:center;gap:.625rem;display:flex}.hp-features-bar-icon{flex-shrink:0;font-size:1.25rem}.hp-features-bar-label{color:#1c1d1f;font-size:.875rem;font-weight:700;line-height:1.3}.hp-features-bar-sub{color:#6b7280;font-size:.75rem}@media (width<=768px){.hp-features-bar-grid{grid-template-columns:repeat(2,1fr);gap:1rem 1.5rem}}@media (width<=480px){.hp-features-bar-grid{grid-template-columns:1fr}}.hp-matrix{background:#fff}.hp-matrix-tabs{scrollbar-width:none;border-bottom:1px solid #e5e7eb;gap:0;margin-bottom:2rem;display:flex;overflow-x:auto}.hp-matrix-tabs::-webkit-scrollbar{display:none}.hp-matrix-tab{color:#6b7280;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:3px solid #0000;flex-shrink:0;margin-bottom:-1px;padding:.75rem 1.25rem;font-size:.9375rem;font-weight:600;transition:color .12s,border-color .12s}.hp-matrix-tab:hover{color:#1c1d1f}.hp-matrix-tab--active{color:#1c1d1f;border-bottom-color:#1c1d1f}.hp-matrix-grid{grid-template-columns:repeat(4,1fr);gap:1.25rem;display:grid}@media (width<=900px){.hp-matrix-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.hp-matrix-grid{grid-template-columns:1fr}}.hp-resource-card{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:4px;flex-direction:column;transition:box-shadow .15s,transform .15s;display:flex;overflow:hidden}.hp-resource-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.hp-resource-card-top{justify-content:space-between;align-items:flex-start;padding:.875rem 1rem 0;display:flex}.hp-resource-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:3px;padding:.2rem .5rem;font-size:.6875rem;font-weight:700}.hp-resource-badge--pack{background:var(--tuto-light-gold);color:#7a5c00}.hp-resource-badge--free{color:#166534;background:#dcfce7}.hp-resource-card-body{flex-direction:column;flex:1;padding:.625rem 1rem 1rem;display:flex}.hp-resource-card-title{color:#1c1d1f;margin:0 0 .375rem;font-size:.9rem;font-weight:700;line-height:1.4}.hp-resource-card-author{color:#6b7280;margin-bottom:.5rem;font-size:.8125rem}.hp-resource-card-stat{color:#374151;align-items:center;gap:.25rem;margin-bottom:.875rem;font-size:.8125rem;display:flex}.hp-resource-card-footer{border-top:1px solid #f3f4f6;justify-content:space-between;align-items:center;margin-top:auto;padding-top:.625rem;display:flex}.hp-resource-price{color:#1c1d1f;font-size:1rem;font-weight:700}.hp-resource-price--free{color:#16a34a}.hp-secure{background:#f7f9fa;border-top:1px solid #e5e7eb}.hp-secure-inner{grid-template-columns:1fr 1fr;align-items:center;gap:4rem;display:grid}@media (width<=768px){.hp-secure-inner{grid-template-columns:1fr;gap:2rem}.hp-secure-visual{order:-1}}.hp-secure-visual{flex-direction:column;gap:.75rem;display:flex}.hp-secure-mockup{background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:1.25rem;box-shadow:0 2px 12px #0000000f}.hp-secure-mockup-header{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.hp-secure-mockup-brand{color:#1c1d1f;letter-spacing:.03em;font-size:.8125rem;font-weight:800}.hp-secure-mockup-chip{color:#fff;background:var(--tuto-purple);text-transform:uppercase;letter-spacing:.04em;border-radius:3px;padding:.2rem .625rem;font-size:.6875rem;font-weight:700}.hp-secure-mockup-lines{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.hp-secure-mockup-line{background:#e5e7eb;border-radius:9999px;height:10px}.hp-secure-mockup-line--wide{width:85%}.hp-secure-mockup-line--mid{width:65%}.hp-secure-mockup-line--short{width:45%}.hp-secure-mockup-stamp{color:#5624d059;letter-spacing:.06em;border:2px solid #5624d033;border-radius:4px;padding:.3rem .75rem;font-size:.6875rem;font-weight:700;display:inline-block;transform:rotate(-3deg)}.hp-secure-label{color:#6b7280;align-items:center;gap:.375rem;font-size:.8125rem;font-weight:600;display:flex}.hp-secure-content-title{color:#1c1d1f;margin:0 0 .875rem;font-size:1.5rem;font-weight:800;line-height:1.25}.hp-secure-description{color:#4b5563;margin:0 0 1.5rem;font-size:.9375rem;line-height:1.7}.hp-secure-bullets{flex-direction:column;gap:.625rem;margin:0 0 1.75rem;padding:0;list-style:none;display:flex}.hp-secure-bullets li{color:#374151;align-items:flex-start;gap:.625rem;font-size:.9375rem;display:flex}.hp-secure-cta-note{color:#9ca3af;margin-top:.5rem;font-size:.8125rem}.hp-tutors{background:#fff;border-top:1px solid #e5e7eb}.hp-tutors-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}@media (width<=768px){.hp-tutors-grid{grid-template-columns:1fr;max-width:400px}}.hp-tutor-card{text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:4px;flex-direction:column;align-items:center;gap:.375rem;padding:1.5rem;transition:box-shadow .15s;display:flex}.hp-tutor-card:hover{box-shadow:0 4px 16px #00000014}.hp-tutor-avatar{background:#f3f4f6;border:2px solid #e5e7eb;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin-bottom:.5rem;font-size:1.875rem;display:flex}.hp-tutor-name{color:#1c1d1f;margin:0;font-size:1rem;font-weight:700}.hp-tutor-subject{color:var(--tuto-purple);margin:0;font-size:.875rem;font-weight:600}.hp-tutor-bio{color:#6b7280;margin:.25rem 0 .875rem;font-size:.8125rem;line-height:1.5}.hp-footer{color:#ffffffa6;background:#1c1d1f;margin-top:auto;padding:3rem 0 0}.hp-footer-inner{border-bottom:1px solid #ffffff1a;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2.5rem;padding-bottom:2.5rem;display:grid}@media (width<=900px){.hp-footer-inner{grid-template-columns:1fr 1fr;gap:2rem}}@media (width<=560px){.hp-footer-inner{grid-template-columns:1fr}}.hp-footer-brand-name{color:#fff;font-size:1.25rem;font-weight:800}.hp-footer-brand-tld{color:var(--tuto-purple)}.hp-footer-tagline{color:#ffffff73;margin:.625rem 0 0;font-size:.875rem;line-height:1.65}.hp-footer-col h4{color:#fff;text-transform:uppercase;letter-spacing:.07em;margin:0 0 1rem;font-size:.8125rem;font-weight:700}.hp-footer-col ul{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.hp-footer-col a{color:#ffffff80;font-size:.875rem;text-decoration:none;transition:color .12s}.hp-footer-col a:hover{color:#fff;text-decoration:none}.hp-footer-bottom{text-align:center;padding:1.25rem 0}.hp-footer-bottom p{color:#ffffff4d;margin:0;font-size:.8125rem}.email-password-form{flex-direction:column;gap:1rem;width:100%;display:flex}.epf-field{flex-direction:column;gap:.25rem;display:flex}.epf-label{color:#1c1d1f;font-size:.8125rem;font-weight:600}.epf-input{color:#1c1d1f;background:#fff;border:1px solid #d1d5db;border-radius:4px;outline:none;width:100%;padding:.75rem .875rem;font-size:.9375rem;transition:border-color .15s,box-shadow .15s}.epf-input::placeholder{color:#9ca3af}.epf-input:focus{border-color:#5624d0;box-shadow:0 0 0 2px #5624d01f}.epf-input:disabled{color:#6b7280;cursor:not-allowed;background:#f9fafb}.epf-input--error{border-color:#dc2626}.epf-input--error:focus{border-color:#dc2626;box-shadow:0 0 0 2px #dc26261f}.epf-error{color:#dc2626;margin-top:.125rem;font-size:.75rem;line-height:1.4}.epf-server-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:4px;padding:.625rem .875rem;font-size:.8125rem;line-height:1.4}.epf-submit-btn{color:#fff;cursor:pointer;background:#5624d0;border:none;border-radius:4px;justify-content:center;align-items:center;width:100%;min-height:44px;padding:.875rem 1.5rem;font-size:.9375rem;font-weight:600;transition:background .15s,opacity .15s;display:flex}.epf-submit-btn:hover:not(:disabled){background:#401b9c}.epf-submit-btn:focus-visible{outline-offset:2px;outline:2px solid #5624d0}.epf-submit-btn:disabled{opacity:.7;cursor:not-allowed}.epf-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.6s linear infinite epf-spin;display:inline-block}@keyframes epf-spin{to{transform:rotate(360deg)}}.epf-otp-info{color:#4b5563;margin:0 0 1rem;font-size:.875rem;line-height:1.5}.epf-otp-info strong{color:#1c1d1f}.epf-input--otp{letter-spacing:.5em;text-align:center;padding:.75rem 1rem;font-family:SF Mono,Fira Code,Roboto Mono,Courier New,monospace;font-size:1.5rem}.epf-forgot-link{text-align:center;color:#5624d0;cursor:pointer;background:0 0;border:none;margin-top:.25rem;padding:0;font-size:.8125rem;font-weight:600;transition:color .12s;display:block}.epf-forgot-link:hover{color:#401b9c;text-decoration:underline}@media (width<=768px){.email-password-form{gap:.875rem}.epf-input{padding:.875rem;font-size:1rem}.epf-submit-btn{padding:1rem 1.5rem;font-size:1rem}}.phone-auth-form{flex-direction:column;gap:1rem;width:100%;display:flex}.phone-auth-field{flex-direction:column;gap:.25rem;display:flex}.phone-auth-label{color:#1c1d1f;font-size:.8125rem;font-weight:600}.phone-auth-hint{color:#6b7280;font-size:.75rem}.phone-auth-input{color:#1c1d1f;box-sizing:border-box;background:#fff;border:1px solid #d1d5db;border-radius:4px;outline:none;width:100%;padding:.75rem .875rem;font-size:.9375rem;transition:border-color .15s,box-shadow .15s}.phone-auth-input::placeholder{color:#9ca3af}.phone-auth-input:focus{border-color:#5624d0;outline:none;box-shadow:0 0 0 2px #5624d01f}.phone-auth-input:disabled{color:#6b7280;cursor:not-allowed;background:#f9fafb}.phone-auth-input--otp{letter-spacing:.5em;text-align:center;min-height:52px;padding:.75rem 1rem;font-family:SF Mono,Fira Code,Fira Mono,Roboto Mono,Courier New,monospace;font-size:1.5rem}.phone-auth-submit{color:#fff;cursor:pointer;background:#5624d0;border:none;border-radius:4px;justify-content:center;align-items:center;width:100%;min-height:44px;padding:.875rem 1.5rem;font-size:.9375rem;font-weight:600;transition:background .15s,opacity .15s;display:flex}.phone-auth-submit:hover:not(:disabled){background:#401b9c}.phone-auth-submit:focus-visible{outline-offset:2px;outline:2px solid #5624d0}.phone-auth-submit:disabled{opacity:.7;cursor:not-allowed}.phone-auth-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.6s linear infinite phone-auth-spin;display:inline-block}@keyframes phone-auth-spin{to{transform:rotate(360deg)}}.phone-auth-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:4px;padding:.5rem .75rem;font-size:.8125rem;line-height:1.4}.phone-auth-otp-info{color:#4b5563;margin:0;font-size:.875rem;line-height:1.5}.phone-auth-otp-info strong{color:#1c1d1f}.phone-auth-timer{color:#6b7280;text-align:center;font-size:.8125rem}.phone-auth-resend-link{color:#5624d0;cursor:pointer;background:0 0;border:none;padding:0;font-size:.8125rem;font-weight:600;text-decoration:none;transition:color .12s}.phone-auth-resend-link:hover{color:#401b9c;text-decoration:underline}.phone-auth-resend-link:disabled{opacity:.5;cursor:not-allowed}.phone-auth-forgot-link{text-align:center;color:#5624d0;cursor:pointer;background:0 0;border:none;margin-top:.25rem;padding:0;font-size:.8125rem;font-weight:600;transition:color .12s;display:block}.phone-auth-forgot-link:hover{color:#401b9c;text-decoration:underline}@media (width>=480px){.phone-auth-input--otp{max-width:280px;margin:0 auto}}.password-reset-form{flex-direction:column;width:100%;max-width:400px;padding:2rem 0;display:flex}.password-reset-title{color:#1c1d1f;text-align:center;margin:0 0 .75rem;font-size:1.75rem;font-weight:800;line-height:1.2}.password-reset-message{color:#4b5563;text-align:center;margin:0 0 1.5rem;font-size:.875rem;line-height:1.55}.password-reset-confirmation{color:#065f46;text-align:center;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:6px;margin:0 0 1.5rem;padding:.75rem 1rem;font-size:.875rem;line-height:1.45}.password-reset-channel-hint{color:#6b7280;margin:.375rem 0 0;font-size:.75rem}.password-reset-field{margin-bottom:1.25rem}.password-reset-label{color:#1c1d1f;margin-bottom:.375rem;font-size:.8125rem;font-weight:600;display:block}.password-reset-input{color:#1c1d1f;box-sizing:border-box;background:#fff;border:1px solid #d1d5db;border-radius:4px;width:100%;padding:.75rem .875rem;font-size:.9375rem;transition:border-color .15s,box-shadow .15s;display:block}.password-reset-input::placeholder{color:#9ca3af}.password-reset-input:focus{border-color:#5624d0;outline:none;box-shadow:0 0 0 3px #5624d01a}.password-reset-input[aria-invalid=true]{border-color:#dc2626}.password-reset-input[aria-invalid=true]:focus{box-shadow:0 0 0 3px #dc26261a}.password-reset-error{color:#dc2626;margin:0 0 1rem;font-size:.8125rem;line-height:1.45}.password-reset-btn{cursor:pointer;border:none;border-radius:4px;justify-content:center;align-items:center;width:100%;padding:.875rem 1.5rem;font-size:.9375rem;font-weight:600;transition:background .15s,box-shadow .15s,opacity .15s;display:flex}.password-reset-btn-primary{color:#fff;background:#5624d0}.password-reset-btn-primary:hover{background:#401b9c}.password-reset-btn-primary:focus-visible{outline-offset:2px;outline:2px solid #5624d0}.password-reset-btn-primary:disabled{opacity:.5;cursor:not-allowed}.password-reset-back-link{text-align:center;color:#5624d0;cursor:pointer;background:0 0;border:none;margin-top:1.5rem;padding:.5rem;font-size:.875rem;font-weight:600;transition:color .12s;display:block}.password-reset-back-link:hover{color:#401b9c;text-decoration:underline}.password-reset-success{text-align:center;flex-direction:column;align-items:center;gap:.75rem;display:flex}.password-reset-success-icon{color:#059669;background:#ecfdf5;border-radius:50%;justify-content:center;align-items:center;width:3rem;height:3rem;margin-bottom:.5rem;font-size:1.5rem;font-weight:700;display:flex}.password-reset-success .password-reset-message{margin-bottom:1.5rem}@media (width<=768px){.password-reset-form{max-width:100%;padding:1.5rem 1rem}.password-reset-title{font-size:1.5rem}}.login-page{background:#fff;flex-direction:column;min-height:100vh;display:flex}.login-body{flex:1;grid-template-columns:1fr 480px;align-items:center;gap:2rem;width:100%;max-width:1340px;min-height:calc(100vh - 56px);margin:0 auto;padding:0 1.5rem;display:grid}.login-illustration{justify-content:center;align-items:center;padding:3rem 2rem;display:flex}.login-illustration-inner{aspect-ratio:1;background:linear-gradient(135deg,#f0f9f9 0%,#f5f3ff 100%);border-radius:50%;justify-content:center;align-items:center;width:100%;max-width:420px;display:flex;position:relative;overflow:hidden}.login-illustration-emoji{font-size:6rem;line-height:1}.login-illustration-tagline{color:#005f73;white-space:nowrap;text-align:center;font-size:.9375rem;font-weight:700;position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.login-form-side{flex-direction:column;justify-content:center;justify-self:start;width:100%;max-width:400px;padding:2rem 0;display:flex}.login-card-title{color:#1c1d1f;text-align:center;margin:0 0 2rem;font-size:1.75rem;font-weight:800;line-height:1.2}.google-signin-btn{color:#1c1d1f;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:4px;justify-content:center;align-items:center;gap:.75rem;width:100%;margin-bottom:.875rem;padding:.875rem 1.5rem;font-size:.9375rem;font-weight:600;transition:background .15s,border-color .15s,box-shadow .15s;display:flex}.google-signin-btn:hover{background:#f9fafb;border-color:#9ca3af;box-shadow:0 1px 4px #00000014}.google-signin-btn:focus-visible{outline-offset:2px;outline:2px solid #5624d0}.login-destination-badge{color:#5624d0;text-align:left;background:#f5f3ff;border:1px solid #ddd6fe;border-radius:6px;align-items:center;gap:.375rem;margin-bottom:1.5rem;padding:.5rem .875rem;font-size:.8125rem;font-weight:600;display:flex}.login-divider{color:#9ca3af;align-items:center;gap:.75rem;margin:1rem 0;font-size:.8125rem;display:flex}.login-divider:before,.login-divider:after{content:"";background:#e5e7eb;flex:1;height:1px}.login-auth-tabs{border:1px solid #e5e7eb;border-radius:6px;gap:0;margin-bottom:1.25rem;display:flex;overflow:hidden}.login-auth-tab{color:#6b7280;cursor:pointer;background:#f9fafb;border:none;flex:1;padding:.625rem 1rem;font-size:.875rem;font-weight:600;transition:background .15s,color .15s}.login-auth-tab:hover{color:#374151;background:#f3f4f6}.login-auth-tab--active{color:#5624d0;background:#fff;box-shadow:inset 0 -2px #5624d0}.login-auth-tab:focus-visible{outline-offset:-2px;z-index:1;outline:2px solid #5624d0}.login-toggle{text-align:center;color:#4b5563;border-top:1px solid #f3f4f6;margin-top:1.5rem;padding-top:1.5rem;font-size:.875rem}.login-toggle-link{color:#5624d0;cursor:pointer;font-weight:700;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:none;transition:color .12s}.login-toggle-link:hover{color:#401b9c;text-decoration:underline}.login-terms{color:#9ca3af;text-align:center;margin-top:1.25rem;font-size:.75rem;line-height:1.55}.login-terms a{color:#6b7280;text-decoration:underline}@media (width<=768px){.login-body{grid-template-columns:1fr;min-height:auto;padding:2rem 1rem}.login-illustration{display:none}.login-form-side{justify-self:center;max-width:100%}.login-card-title{font-size:1.5rem}.login-auth-tabs{margin-bottom:1rem}.login-auth-tab{min-height:44px;padding:.75rem .5rem}}.dashboard{flex-direction:column;gap:2rem;display:flex}.dashboard-header{justify-content:space-between;align-items:center;display:flex}.dashboard-header h1{color:#1f2937;font-size:1.5rem;font-weight:600}.search-section{flex-direction:column;gap:1rem;display:flex}.search-input-wrapper{align-items:center;display:flex;position:relative}.search-icon{color:#9ca3af;pointer-events:none;position:absolute;left:.75rem}.search-input{color:#1f2937;background-color:#fff;border:1px solid #d1d5db;border-radius:8px;width:100%;padding:.625rem .75rem .625rem 2.5rem;font-size:.9375rem;transition:border-color .15s,box-shadow .15s}.search-input::placeholder{color:#9ca3af}.search-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.search-suggestions{z-index:50;background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;max-height:320px;margin-top:4px;padding:.25rem 0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #0000001a}.search-suggestion-item{justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .75rem;display:flex}.search-suggestion-item:not(:last-child){border-bottom:1px solid #f3f4f6}.search-suggestion-title{color:#1f2937;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.875rem;font-weight:500;overflow:hidden}.search-suggestion-view-link{color:#3b82f6;flex-shrink:0;font-size:.8125rem;text-decoration:none}.search-suggestion-view-link:hover{color:#2563eb;text-decoration:underline}.search-suggestion-loading,.search-suggestion-empty{color:#6b7280;justify-content:center;padding:.75rem;font-size:.8125rem}.search-message{color:#6b7280;padding:.25rem 0;font-size:.875rem}.section-title{color:#374151;margin-bottom:.75rem;font-size:1.125rem;font-weight:600}.course-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;display:grid}.course-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:.5rem;padding:1.25rem;transition:border-color .15s,box-shadow .15s;display:flex}.course-card:hover{border-color:#d1d5db;box-shadow:0 1px 3px #0000000d}.course-card-link{color:inherit;text-decoration:none}.course-card-title{color:#1f2937;font-size:1rem;font-weight:600;line-height:1.4}.course-card-description{color:#6b7280;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.875rem;line-height:1.5;display:-webkit-box;overflow:hidden}.course-card-dates{color:#9ca3af;align-items:center;gap:.375rem;margin-top:.25rem;font-size:.8125rem;display:flex}.request-enrollment-btn{align-self:flex-start;margin-top:.5rem}.request-message{color:#6b7280;background-color:#f3f4f6;border-radius:4px;margin-top:.5rem;padding:.375rem .5rem;font-size:.8125rem}.empty-state{color:#6b7280;text-align:center;background-color:#fff;border:1px dashed #d1d5db;border-radius:8px;padding:2rem 1rem;font-size:.9375rem}.enrolled-section{flex-direction:column;display:flex}.dashboard-role-section{flex-direction:column;gap:2rem;display:flex}.dashboard-greeting{color:#1f2937;margin:0;font-size:1.5rem;font-weight:600}.stat-row{flex-wrap:wrap;gap:1rem;display:flex}.stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex:1;min-width:140px;padding:1.25rem 1.5rem}.stat-card-value{color:#2563eb;font-size:2rem;font-weight:700}.stat-card-label{color:#6b7280;margin-top:.25rem;font-size:.875rem}.quick-actions-row{flex-wrap:wrap;gap:1rem;display:flex}.quick-action-card{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;align-items:center;gap:.625rem;padding:.875rem 1.25rem;font-size:.9375rem;font-weight:500;text-decoration:none;transition:background-color .15s,border-color .15s;display:flex}.quick-action-card:hover{background:#dbeafe;border-color:#93c5fd}.admin-console-card{color:#fff;background:linear-gradient(135deg,#1e3a5f 0%,#1d4ed8 100%);border-radius:10px;justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex}.admin-console-card-title{font-size:1.125rem;font-weight:700}.admin-console-card-cta{color:#1d4ed8;background:#fff;border:none;border-radius:6px;padding:.5rem 1.125rem;font-size:.875rem;font-weight:600;text-decoration:none}.admin-console-card-cta:hover{background:#dbeafe}.org-admin-card-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;display:grid}.org-admin-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:.875rem;padding:1.25rem;display:flex}.org-admin-card-name{color:#1f2937;font-size:1rem;font-weight:600}.org-admin-card-cta{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;align-self:flex-start;padding:.375rem .875rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background-color .15s}.org-admin-card-cta:hover{background:#dbeafe}.stat-card-skeleton{background:#f3f4f6;border-radius:8px;flex:1;min-width:140px;height:88px;animation:1.4s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.pathways-progress-section{flex-direction:column;gap:1rem;margin-top:1rem;margin-bottom:1rem;display:flex}.pathways-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:1.5rem;display:grid}.pathway-progress-card{background:#fff;border:1px solid #3b82f626;border-radius:12px;flex-direction:column;gap:1.25rem;padding:1.5rem;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 10px 15px -3px #0000000d,0 4px 6px -2px #00000005}.pathway-progress-card:hover{transform:translateY(-2px);box-shadow:0 20px 25px -5px #00000014,0 10px 10px -5px #0000000a}.pathway-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.pathway-info-main{flex-direction:column;gap:.5rem;display:flex}.pathway-tag{color:#fff;text-transform:uppercase;letter-spacing:.05em;background:linear-gradient(135deg,#3b82f6 0%,#1d4ed8 100%);border-radius:9999px;align-self:flex-start;padding:.25rem .625rem;font-size:.72rem;font-weight:700}.pathway-name{color:#1e293b;margin:0;font-size:1.2rem;font-weight:700}.countdown-badge-container{flex-shrink:0}.countdown-badge{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;padding:.5rem .75rem;display:flex;box-shadow:0 1px 2px #0000000d}.countdown-days{color:#d97706;font-size:1.5rem;font-weight:800;line-height:1}.countdown-label{color:#b45309;text-transform:uppercase;margin-top:.25rem;font-size:.6875rem;font-weight:600}.pathway-body{flex-direction:column;gap:1rem;display:flex}.progress-section{flex-direction:column;gap:.5rem;display:flex}.progress-label-row{color:#64748b;justify-content:space-between;font-size:.875rem;font-weight:600;display:flex}.progress-percentage{color:#2563eb;font-weight:700}.pathway-progress-bar-container{background-color:#f1f5f9;border-radius:9999px;width:100%;height:8px;overflow:hidden}.pathway-progress-bar-fill{background:linear-gradient(90deg,#3b82f6 0%,#6366f1 100%);border-radius:9999px;height:100%}.courses-count-label{color:#94a3b8;font-size:.75rem}.pathway-quote-box{background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;align-items:flex-start;gap:.5rem;padding:.75rem;display:flex}.quote-icon{font-size:1.125rem;line-height:1.25}.quote-text{color:#166534;margin:0;font-size:.8125rem;font-weight:500;line-height:1.4}.my-orgs-section{flex-direction:column;display:flex}.my-orgs-error{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:.75rem 1rem;font-size:.875rem}.org-card-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;display:grid}.org-card{color:inherit;background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:.75rem;padding:1.25rem;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:flex}.org-card:hover{border-color:#d1d5db;text-decoration:none;box-shadow:0 1px 3px #0000000d}.org-card-name{color:#1f2937;font-size:1rem;font-weight:600;line-height:1.4}.role-badge{border-radius:4px;align-self:flex-start;align-items:center;padding:.25rem .5rem;font-size:.75rem;font-weight:500;display:inline-flex}.role-badge--admin{color:#6d28d9;background-color:#ede9fe}.role-badge--instructor{color:#1d4ed8;background-color:#dbeafe}.role-badge--student{color:#065f46;background-color:#d1fae5}.home-content{flex-direction:column;gap:2rem;display:flex}.home-content-loading{justify-content:center;padding:2rem;display:flex}.home-banners{flex-direction:column;gap:.75rem;display:flex}.home-banner{background:linear-gradient(135deg,#eff6ff 0%,#f0f9ff 100%);border:1px solid #bfdbfe;border-radius:8px;flex-direction:column;gap:.5rem;padding:1.25rem;display:flex}.home-banner-title{color:#1e40af;margin:0;font-size:1rem;font-weight:600}.home-banner-body{color:#374151;margin:0;font-size:.875rem;line-height:1.5}.home-banner-cta{color:#2563eb;border:1px solid #93c5fd;border-radius:6px;align-self:flex-start;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;text-decoration:none;transition:background-color .15s,border-color .15s}.home-banner-cta:hover{background-color:#dbeafe;border-color:#60a5fa}.home-section{flex-direction:column;display:flex}.home-section-description{color:#6b7280;margin-bottom:.75rem;font-size:.875rem}.home-section-empty{color:#9ca3af;font-size:.875rem;font-style:italic}.vimeo-embed-player{border-radius:8px;width:100%;overflow:hidden}.vimeo-embed-container{aspect-ratio:16/9;background-color:#000;width:100%;position:relative}.vimeo-embed-iframe{border:none;width:100%;height:100%;position:absolute;top:0;left:0}.vimeo-embed-player--loading{background-color:#f8fafc;border:1px solid #e2e8f0;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;min-height:120px;padding:2rem;display:flex}.vimeo-embed-spinner{border:3px solid #e2e8f0;border-top-color:#4a90d9;border-radius:50%;width:2rem;height:2rem;animation:.8s linear infinite vimeo-spin}@keyframes vimeo-spin{to{transform:rotate(360deg)}}.vimeo-embed-loading-text{color:#718096;font-size:.9rem}.vimeo-embed-player--error,.vimeo-embed-player--auth-error{text-align:center;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:1.5rem;display:flex}.vimeo-embed-player--error{background-color:#fff5f5;border:1px solid #fed7d7}.vimeo-embed-player--auth-error{background-color:#fffbeb;border:1px solid #fef3c7}.vimeo-embed-error-icon{font-size:1.5rem;line-height:1}.vimeo-embed-error-message{color:#4a5568;max-width:320px;margin:0;font-size:.9rem}.vimeo-embed-player--auth-error .vimeo-embed-error-message{color:#92400e}.vimeo-embed-retry-btn{color:#fff;cursor:pointer;background-color:#4a90d9;border:none;border-radius:6px;margin-top:.25rem;padding:.375rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s}.vimeo-embed-retry-btn:hover{background-color:#357abd}.vimeo-embed-retry-btn:focus-visible{outline-offset:2px;outline:2px solid #4a90d9}.vimeo-watermark{color:#ffffff4d;letter-spacing:.02em;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;text-shadow:0 1px 3px #00000080;z-index:1;font-family:monospace;font-size:.75rem;position:absolute;bottom:52px;right:14px}@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{text-indent:0;text-rendering:auto;font:1.21em/1.2 KaTeX_Main,Times New Roman,serif;position:relative}.katex *{border-color:currentColor;-ms-high-contrast-adjust:none!important}.katex .katex-version:after{content:"0.17.0"}.katex .katex-mathml{clip-path:inset(50%);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.katex .katex-html>.newline{display:block}.katex .base{white-space:nowrap;width:min-content;position:relative}.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;table-layout:fixed;display:inline-table}.katex .vlist-r{display:table-row}.katex .vlist{vertical-align:bottom;display:table-cell;position:relative}.katex .vlist>span{height:0;display:block;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{width:0;overflow:hidden}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{vertical-align:bottom;width:2px;min-width:2px;font-size:1px;display:table-cell}.katex .vbox{flex-direction:column;align-items:baseline;display:inline-flex}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{flex-direction:row;display:inline-flex}.katex .thinbox{width:0;max-width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;width:100%;display:inline-block}.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{line-height:0;display:inline}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.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;width:100%;display:inline-block}.katex .hdashline{border-bottom-style:dashed;width:100%;display:inline-block}.katex .sqrt>.root{margin-left:.277778em;margin-right:-.555556em}.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:.833333em}.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.16667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333em}.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.66667em}.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.45667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.714286em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.857143em}.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.14286em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71429em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96286em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55429em}.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:.555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.888889em}.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.11111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333em}.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.30444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444em}.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:.416667em}.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:.583333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.666667em}.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:.833333em}.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.72833em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.347222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.416667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.486111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.555556em}.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:.694444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.833333em}.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.44028em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.289352em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.347222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.405093em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.520833em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.578704em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.694444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.833333em}.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.20023em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.289296em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.385728em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.433944em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.578592em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.694311em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.833173em}.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.19961em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.200965em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.241158em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.281351em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.321543em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.361736em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.401929em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.482315em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.694534em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.833601em}.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{width:.12em;display:inline-block}.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{min-width:1px;display:inline-block}.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;height:inherit;width:100%;display:block;position:absolute}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;min-width:0;max-width:none;min-height:0;max-height:none}.katex .stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{width:50.2%;position:absolute;left:0;overflow:hidden}.katex .halfarrow-right{width:50.2%;position:absolute;right:0;overflow:hidden}.katex .brace-left{width:25.1%;position:absolute;left:0;overflow:hidden}.katex .brace-center{width:50%;position:absolute;left:25%;overflow:hidden}.katex .brace-right{width:25.1%;position:absolute;right:0;overflow:hidden}.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{box-sizing:border-box;border:.04em solid}.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{box-sizing:border-box;border-top:.049em solid;border-right:.049em solid;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{text-align:left;display:inline-block;position:absolute;right:calc(50% + .3em)}.katex .cd-label-right{text-align:right;display:inline-block;position:absolute;left:calc(50% + .3em)}.katex-display{text-align:center;margin:1em 0;display:block}.katex-display>.katex{text-align:center;white-space:nowrap;display:block}.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{text-align:left;padding-left:2em}body{counter-reset:katexEqnNo mmlEqnNo}.rtdv-loading{color:#4a5568;align-items:center;gap:.75rem;padding:2rem 1.5rem;font-size:.9375rem;display:flex}.rtdv-spinner{border:2px solid #e2e8f0;border-top-color:#3182ce;border-radius:50%;flex-shrink:0;width:1.25rem;height:1.25rem;animation:.75s linear infinite rtdv-spin}@keyframes rtdv-spin{to{transform:rotate(360deg)}}.rtdv-loading-text{color:#718096}.rtdv-error{background:#fff5f5;border:1px solid #fed7d7;border-radius:8px;flex-direction:column;gap:.75rem;padding:1.5rem;display:flex}.rtdv-error-message{color:#c53030;margin:0;font-size:.9375rem;line-height:1.5}.rtdv-retry-btn{color:#fff;cursor:pointer;background:#3182ce;border:none;border-radius:5px;align-self:flex-start;padding:.375rem 1rem;font-size:.875rem;transition:background .15s}.rtdv-retry-btn:hover{background:#2b6cb0}.rtdv-retry-btn:focus-visible{outline-offset:2px;outline:2px solid #3182ce}.rtdv-document{background:#fff}.rtdv-content{color:#1a202c;padding:1.25rem 1.5rem;font-size:1rem;line-height:1.75}.rtdv-content .tiptap{outline:none}.rtdv-content .tiptap h1{color:#1a202c;margin:1.5rem 0 .75rem;font-size:1.75rem;font-weight:700}.rtdv-content .tiptap h2{color:#2d3748;margin:1.25rem 0 .5rem;font-size:1.375rem;font-weight:600}.rtdv-content .tiptap h3{color:#2d3748;margin:1rem 0 .5rem;font-size:1.125rem;font-weight:600}.rtdv-content .tiptap h4{color:#4a5568;margin:.75rem 0 .5rem;font-size:1rem;font-weight:600}.rtdv-content .tiptap p{margin:.5rem 0}.rtdv-content .tiptap ul,.rtdv-content .tiptap ol{margin:.5rem 0;padding-left:1.5rem}.rtdv-content .tiptap blockquote{color:#4a5568;border-left:3px solid #e2e8f0;margin:.75rem 0;padding-left:1rem}.rtdv-content .tiptap pre{color:#e2e8f0;background:#1a202c;border-radius:6px;margin:.75rem 0;padding:1rem;font-family:Fira Code,Consolas,monospace;font-size:.875rem;overflow-x:auto}.rtdv-content .tiptap code{background:#edf2f7;border-radius:3px;padding:.125rem .375rem;font-family:Fira Code,Consolas,monospace;font-size:.875rem}.rtdv-content .tiptap pre code{background:0 0;padding:0}.rtdv-content .tiptap img,.rtdv-content .tiptap .rtdv-image{border-radius:4px;max-width:100%;height:auto;margin:.75rem 0}.rtdv-content .tiptap a{color:#3182ce;text-decoration:underline}.rtdv-content .tiptap hr{border:none;border-top:1px solid #e2e8f0;margin:1.5rem 0}.rtdv-content .tiptap table{border-collapse:collapse;table-layout:fixed;width:100%;margin:.75rem 0}.rtdv-content .tiptap table td,.rtdv-content .tiptap table th{vertical-align:top;border:1px solid #e2e8f0;min-width:80px;padding:.5rem .75rem}.rtdv-content .tiptap table th{text-align:left;background-color:#f7fafc;font-weight:600}.rtdv-content .tiptap .math-inline-node{padding:0 2px;display:inline}.rtdv-content .tiptap .math-display-node{text-align:center;margin:.75rem 0;padding:1rem 0;display:block}.rtdv-content .tiptap .math-error{color:#e53e3e;background:#fff5f5;border-radius:3px;padding:.125rem .375rem;font-family:monospace;font-size:.875rem}.rtdv-content .tiptap pre .hljs-keyword{color:#c792ea}.rtdv-content .tiptap pre .hljs-string{color:#c3e88d}.rtdv-content .tiptap pre .hljs-comment{color:#676e95}.rtdv-content .tiptap pre .hljs-number{color:#f78c6c}.rtdv-content .tiptap pre .hljs-function,.rtdv-content .tiptap pre .hljs-title{color:#82aaff}.rtdv-content .tiptap pre .hljs-built_in,.rtdv-content .tiptap pre .hljs-type{color:#ffcb6b}.rtdv-content .tiptap pre .hljs-attr{color:#f78c6c}.rtdv-content .tiptap pre .hljs-tag,.rtdv-content .tiptap pre .hljs-name{color:#f07178}.rtdv-content .tiptap pre .hljs-selector-class{color:#ffcb6b}.rtdv-content .tiptap pre .hljs-selector-id{color:#82aaff}.rtsv-root{color:#d1d7dc;background:#1c1d1f;flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.rtsv-progress{display:none}.rtsv-progress-text{color:#9ca3af;font-size:.9rem}.rtsv-slide-region{flex-direction:column;flex:1;min-height:0;padding:3.5rem 4rem;display:flex;overflow:hidden}.rtsv-editor-wrap{width:100%}.rtsv-slide-content .ProseMirror{color:#d1d7dc;outline:none;line-height:1.65}.rtsv-slide-content .ProseMirror h1,.rtsv-slide-content .ProseMirror h2,.rtsv-slide-content .ProseMirror h3,.rtsv-slide-content .ProseMirror h4{color:#fff;margin-top:0;margin-bottom:1.125rem;line-height:1.2}.rtsv-slide-content .ProseMirror h1{font-size:clamp(2rem,4vw,3.5rem);font-weight:700}.rtsv-slide-content .ProseMirror h2{font-size:clamp(1.75rem,3.25vw,2.75rem);font-weight:600}.rtsv-slide-content .ProseMirror h3{font-size:clamp(1.5rem,2.75vw,2.25rem);font-weight:600}.rtsv-slide-content .ProseMirror p{margin:0 0 1.25em;line-height:1.7}.rtsv-slide-content .ProseMirror p:last-child{margin-bottom:0}.rtsv-slide-content .ProseMirror ul,.rtsv-slide-content .ProseMirror ol{margin-bottom:1.25em;padding-left:2em}.rtsv-slide-content .ProseMirror li{margin-bottom:.5em;line-height:1.65}.rtsv-slide-content .ProseMirror blockquote{color:#9ca3af;border-left:4px solid #2563eb;margin:0 0 1.25em;padding-left:1.25em;font-style:italic}.rtsv-slide-content .ProseMirror pre{background:#2d2f31;border:1px solid #3e4143;border-radius:6px;margin-bottom:1.25em;padding:1.25em 1.5em;font-size:.85em;line-height:1.6;overflow-x:auto}.rtsv-slide-content .ProseMirror code{background:#2d2f31;border-radius:4px;padding:.2em .45em;font-size:.9em}.rtsv-slide-content .ProseMirror table{border-collapse:collapse;width:100%;margin-bottom:1.25em}.rtsv-slide-content .ProseMirror th,.rtsv-slide-content .ProseMirror td{text-align:left;border:1px solid #3e4143;padding:.6em 1em}.rtsv-slide-content .ProseMirror th{color:#fff;background:#2d2f31;font-weight:600}.rtsv-slide-content .ProseMirror img,.rtdv-image{border-radius:6px;max-width:100%;margin-bottom:1.25em;display:block}.rtsv-slide-content .ProseMirror a{color:#93c5fd;text-decoration:underline}.rtsv-empty{color:#6a6f73;margin:0;font-size:1.5rem;font-style:italic}.rtsv-nav{-webkit-backdrop-filter:blur(4px);z-index:10;opacity:1;pointer-events:auto;background:#1c1d1f59;border-top:1px solid #3e414340;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;transition:opacity .4s,transform .4s;display:flex;position:absolute;bottom:0;left:0;right:0;transform:translateY(0)}.rtsv-nav--hidden{opacity:0;pointer-events:none;transform:translateY(100%)}.rtsv-nav-btn{color:#d1d7dc;cursor:pointer;background:#2d2f3180;border:1px solid #3e414380;border-radius:50%;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;padding:0;font-size:1.25rem;line-height:1;transition:background-color .15s,border-color .15s,color .15s,opacity .15s;display:flex}.rtsv-nav-btn:hover{color:#fff;background:#2563ebd9;border-color:#2563eb}.rtsv-nav-btn:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.rtsv-nav-btn:disabled{opacity:.2;cursor:not-allowed}.rtsv-nav-btn:disabled:hover{color:#d1d7dc;background:#2d2f3180;border-color:#3e414380}.rtsv-nav-item-label{text-align:left;flex-direction:column;min-width:0;max-width:200px;display:flex}.rtsv-nav-next .rtsv-nav-item-label{text-align:right}.rtsv-nav-item-hint{text-transform:uppercase;letter-spacing:.06em;color:#6a6f73;margin-bottom:.1rem;font-size:.6875rem}.rtsv-nav-item-title{color:#d1d7dc;text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;font-weight:500;overflow:hidden}@media (width<=767px){.rtsv-slide-region{padding:2rem 1.25rem 5.5rem}.rtsv-slide-content{font-size:1.25rem}.rtsv-slide-content .ProseMirror h1{font-size:2.125rem}.rtsv-slide-content .ProseMirror h2{font-size:1.75rem}.rtsv-slide-content .ProseMirror h3{font-size:1.5rem}.rtsv-nav{padding:.75rem 1rem}}.rtsv-shimmer,.rtsv-measure-container,.rtsv-measure-editor{display:none}.slide-viewer{background:#1a202c;border-radius:8px;outline:none;flex-direction:column;display:flex;overflow:hidden}.slide-viewer:focus-visible{outline-offset:2px;outline:2px solid #63b3ed}.slide-viewer-fullscreen{z-index:9999;background:#000;border-radius:0;position:fixed;inset:0}.slide-viewer-empty{background:#2d3748;justify-content:center;align-items:center;min-height:200px;display:flex}.sv-empty-message{color:#a0aec0;margin:0;font-size:.95rem}.sv-stage{flex:1;justify-content:center;align-items:center;min-height:0;padding:1.5rem;display:flex;overflow:hidden}.slide-viewer-fullscreen .sv-stage{flex:1;padding:2rem}.sv-canvas{background:#fff;border-radius:2px;position:relative;overflow:hidden;box-shadow:0 4px 16px #0006}.sv-page-image-wrapper{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.sv-page-image{object-fit:contain;border-radius:2px;max-width:100%;max-height:100%;box-shadow:0 4px 16px #0006}.slide-viewer-fullscreen .sv-page-image{max-height:calc(100vh - 80px)}.sv-element{position:absolute;overflow:hidden}.sv-text-content,.sv-list-content{width:100%;height:100%;overflow:hidden}.sv-nav-bar{background:#2d3748;border-top:1px solid #4a5568;flex-shrink:0;justify-content:center;align-items:center;gap:1rem;padding:.625rem 1rem;display:flex}.sv-nav-btn{color:#e2e8f0;cursor:pointer;background:0 0;border:1px solid #4a5568;border-radius:4px;min-width:2.5rem;padding:.25rem .875rem;font-size:1.125rem;line-height:1.4;transition:background-color .15s,border-color .15s}.sv-nav-btn:hover:not(:disabled){background:#4a5568;border-color:#718096}.sv-nav-btn:focus-visible{outline-offset:2px;outline:2px solid #63b3ed}.sv-nav-btn:disabled{opacity:.3;cursor:not-allowed}.sv-slide-counter{color:#e2e8f0;text-align:center;-webkit-user-select:none;user-select:none;min-width:5rem;font-size:.875rem}.sv-fullscreen-btn{color:#a0aec0;cursor:pointer;background:0 0;border:1px solid #4a5568;border-radius:4px;margin-left:.5rem;padding:.25rem .625rem;font-size:1rem;line-height:1.4;transition:background-color .15s,border-color .15s,color .15s}.sv-fullscreen-btn:hover{color:#e2e8f0;background:#4a5568;border-color:#718096}.sv-fullscreen-btn:focus-visible{outline-offset:2px;outline:2px solid #63b3ed}.ev-root{color:#d1d7dc;background:#1c1d1f;flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.ev-slide-region{box-sizing:border-box;flex-direction:column;flex:1;align-items:center;width:100%;min-height:0;padding:2rem 2.5rem 6rem;display:flex;overflow-y:auto}.ev-slide-region>*{width:100%;max-width:960px}.ev-empty{color:#6a6f73;text-align:center;margin:auto;font-size:1.25rem;font-style:italic}.ev-intro-slide{flex-direction:column;align-items:flex-start;gap:1.25rem;width:100%;max-width:960px;display:flex}.ev-intro-icon{font-size:2.5rem;line-height:1}.ev-intro-title{color:#fff;margin:0;font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:700;line-height:1.2}.ev-intro-desc{color:#9ca3af;margin:0;font-size:1rem;line-height:1.65}.ev-intro-meta{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem;width:100%;display:grid}.ev-intro-meta-item{background:#2d2f31;border:1px solid #3e4143;border-radius:8px;flex-direction:column;gap:.25rem;padding:.75rem 1rem;display:flex}.ev-intro-meta-label{text-transform:uppercase;letter-spacing:.06em;color:#6a6f73;font-size:.6875rem}.ev-intro-meta-value{color:#fff;font-size:1.25rem;font-weight:700}.ev-intro-progress-note{color:#93c5fd;background:#2563eb26;border:1px solid #2563eb4d;border-radius:6px;margin:0;padding:.625rem .875rem;font-size:.875rem}.ev-start-btn{color:#3b82f6;cursor:pointer;background:0 0;border:1px solid #3b82f6;border-radius:6px;padding:.625rem 1.5rem;font-size:.875rem;font-weight:500;transition:background-color .15s,color .15s}.ev-start-btn:hover{color:#fff;background:#3b82f6}.ev-start-btn:active{transform:scale(.98)}.ev-start-btn:focus-visible{outline-offset:2px;outline:2px solid #93c5fd}.ev-content-wrap{width:100%}.ev-question-slide{width:100%;max-width:960px}.ev-back-to-intro-btn{color:#3b82f6;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #3b82f6;border-radius:6px;padding:.5rem 1rem;font-size:.8125rem;font-weight:500;transition:background-color .15s,color .15s}.ev-back-to-intro-btn:hover{color:#fff;background:#3b82f6}.ev-slide-top-nav{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75em;display:flex}.ev-slide-top-nav-right{gap:.5rem;display:flex}.ev-slide-bottom-nav{justify-content:flex-end;gap:.5rem;margin-top:1em;display:flex}.ev-inline-nav-btn{color:#3b82f6;cursor:pointer;background:0 0;border:1px solid #3b82f6;border-radius:6px;padding:.5rem 1.25rem;font-size:.875rem;font-weight:500;transition:background-color .15s,color .15s}.ev-inline-nav-btn--primary{color:#3b82f6;background:0 0;border-color:#3b82f6;font-weight:500}.ev-inline-nav-btn--primary:hover:not(:disabled){color:#fff;background:#3b82f6;border-color:#3b82f6}.ev-inline-nav-btn:hover:not(:disabled){color:#fff;background:#3b82f6}.ev-inline-nav-btn:disabled{opacity:.4;cursor:not-allowed}.ev-inline-submit-btn{color:#3b82f6;background:0 0;border-color:#3b82f6;font-weight:500}.ev-inline-submit-btn:hover:not(:disabled){color:#fff;background:#3b82f6;border-color:#3b82f6}.ev-answer-review-cards{flex-direction:column;gap:.75rem;margin:1em 0;display:flex}.ev-answer-review-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:1rem 1.25rem}.ev-answer-review-card--unanswered{border-left:4px solid #eab308}.ev-answer-review-card__header{align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.ev-answer-review-card__number{color:#6b7280;font-size:.875rem;font-weight:700}.ev-answer-review-card__badge{color:#d97706;background:#fef3c7;border-radius:4px;padding:.2rem .5rem;font-size:.75rem;font-weight:600}.ev-answer-review-card__question{color:#1f2937;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:.5rem;padding:.75rem 1rem;font-size:.95rem;line-height:1.5}.ev-answer-review-card__question .le-content-editable{min-height:unset;padding:0}.ev-answer-review-card__question .le-container{background:0 0;border:none}.ev-answer-review-card__row{border:1px solid #f3f4f6;border-radius:6px;align-items:flex-start;gap:.75rem;padding:.5rem 1rem;font-size:.875rem;display:flex}.ev-answer-review-card__label{color:#6b7280;flex-shrink:0;min-width:90px;font-weight:600}.ev-answer-review-card__value{color:#1f2937;word-break:break-word;flex:1}.ev-answer-review-card__value .le-content-editable{min-height:unset;padding:0}.ev-answer-review-card__value .le-container{background:0 0;border:none}.ev-answer-review-table-wrap{border:1px solid #3e4143;border-radius:8px;margin:1em 0;overflow-x:auto}.ev-answer-review-table{border-collapse:collapse;width:100%;font-size:.875em}.ev-answer-review-table th{text-align:left;color:#9ca3af;white-space:nowrap;background:#2d2f31;border-bottom:1px solid #3e4143;padding:.625em .875em;font-weight:600}.ev-answer-review-table td{vertical-align:middle;color:#d1d7dc;border-bottom:1px solid #2d2f31;padding:.625em .875em}.ev-answer-review-table tbody tr:last-child td{border-bottom:none}.ev-answer-review-unanswered{background:#eab30814}.ev-answer-review-num{text-align:center;width:40px;font-weight:600}.ev-answer-review-answer{word-break:break-word;max-width:200px}.ev-answer-review-status{text-align:center;width:50px}.ev-answer-review-badge{border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.8rem;font-weight:700;display:inline-flex}.ev-answer-review-badge--answered{color:#68d391;background:#1a2e1a}.ev-answer-review-badge--unanswered{color:#eab308;background:#2e2a16}.ev-q-header{align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.ev-q-number{text-transform:uppercase;letter-spacing:.06em;color:#9ca3af;font-size:.8125rem;font-weight:700}.ev-q-points{color:#6a6f73;background:#2d2f31;border:1px solid #3e4143;border-radius:9999px;padding:.15rem .5rem;font-size:.75rem}.ev-q-result-badge{border-radius:9999px;margin-left:auto;padding:.2rem .625rem;font-size:.8125rem;font-weight:700}.ev-q-result-badge--correct{color:#16a34a;background:#dcfce7;border:1px solid #86efac}.ev-q-result-badge--incorrect{color:#dc2626;background:#fee2e2;border:1px solid #fca5a5}.ev-root .ev-q-result-badge--correct{color:#68d391;background:#1a2e1a;border-color:#48bb78}.ev-root .ev-q-result-badge--incorrect{color:#fc8181;background:#2e1a1a;border-color:#e53e3e}.ev-q-text{color:#fff;margin:0 0 1.25em;font-size:1.25em;line-height:1.55}.ev-options{flex-direction:column;gap:.5em;display:flex}.ev-option{cursor:pointer;color:#d1d7dc;background:#2d2f31;border:1px solid #3e4143;border-radius:6px;align-items:center;gap:.75em;padding:.625em .875em;font-size:1em;line-height:1.4;transition:background-color .1s,border-color .1s;display:flex}.ev-option:hover:not(:has(input:disabled)){background:#3e4143;border-color:#6a6f73}.ev-option input[type=radio]{accent-color:#2563eb;cursor:pointer;flex-shrink:0;width:1.125rem;height:1.125rem}.ev-option input[type=radio]:disabled{cursor:not-allowed}.ev-option--selected{background:#1e3a5f;border-color:#2563eb}.ev-option--correct-answer{background:#4ade8040;border-color:#4ade80}.ev-option--wrong-pick{background:#f8717140;border-color:#f87171}.ev-root .ev-option--correct-answer{background:#48bb7840;border-color:#48bb78}.ev-root .ev-option--wrong-pick{background:#e53e3e40;border-color:#fc8181}.ev-option-text{flex:1}.ev-q-text .le-content-editable,.ev-option-text .le-content-editable,.ev-explanation .le-content-editable{min-height:unset;padding:0}.ev-q-text .le-container,.ev-option-text .le-container,.ev-explanation .le-container{background:0 0;border:none}.ev-short-answer-input{color:#d1d7dc;box-sizing:border-box;background:#2d2f31;border:1px solid #3e4143;border-radius:6px;width:100%;padding:.75rem 1rem;font-size:1rem;transition:border-color .15s,box-shadow .15s}.ev-short-answer-input:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 2px #2563eb4d}.ev-short-answer-input:disabled{color:#6a6f73;cursor:not-allowed;background:#1c1d1f}.ev-short-answer-input::placeholder{color:#4a5568}.ev-explanation{color:#9ca3af;background:#2d2f31;border-left:3px solid #2563eb;border-radius:6px;margin:1.25rem 0 0;padding:.75rem 1rem;font-size:.9375rem;line-height:1.55}.ev-summary-slide{flex-direction:column;gap:1rem;width:100%;display:flex}.ev-summary-title{color:#fff;font-size:clamp(1.5rem,3vw,2.25rem);font-weight:700;line-height:1.25}.ev-summary-desc{color:#9ca3af;margin:0;font-size:1rem;line-height:1.6}.ev-summary-meta{color:#6a6f73;flex-wrap:wrap;gap:1.25rem;font-size:.8125rem;display:flex}.ev-summary-actions{flex-direction:column;align-items:flex-start;gap:.875rem;margin-top:.5rem;display:flex}.ev-summary-answered{color:#9ca3af;margin:0;font-size:.9375rem}.ev-summary-hint{color:#6a6f73;margin:0;font-size:.8125rem;font-style:italic}.ev-submit-btn{color:#3b82f6;cursor:pointer;background:0 0;border:1px solid #3b82f6;border-radius:6px;padding:.625rem 1.5rem;font-size:.875rem;font-weight:500;transition:background-color .15s,color .15s}.ev-submit-btn:hover{color:#fff;background:#3b82f6}.ev-submit-btn:focus-visible{outline-offset:2px;outline:2px solid #93c5fd}.ev-result{box-sizing:border-box;border:1px solid;border-radius:8px;flex-wrap:wrap;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.ev-result--passed{color:#68d391;background:#1a2e1a;border-color:#48bb78}.ev-result--failed{color:#f6e05e;background:#2d2416;border-color:#d69e2e}.ev-result-icon{flex-shrink:0;font-size:1.75rem}.ev-result-details{flex-direction:column;flex:1;gap:.2rem;font-size:.9375rem;display:flex}.ev-result-details strong{font-size:1.125rem;font-weight:700}.ev-retry-btn{cursor:pointer;color:inherit;background:0 0;border:1px solid;border-radius:5px;padding:.5rem 1.125rem;font-size:.9rem;transition:background-color .15s}.ev-retry-btn:hover{background:#ffffff14}.ev-retry-btn:focus-visible{outline-offset:2px;outline:2px solid}.ev-nav{-webkit-backdrop-filter:blur(4px);z-index:10;opacity:1;pointer-events:auto;background:#1c1d1f59;border-top:1px solid #3e414340;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;transition:opacity .4s,transform .4s;display:flex;position:absolute;bottom:0;left:0;right:0;transform:translateY(0)}.ev-nav--hidden{opacity:0;pointer-events:none;transform:translateY(100%)}.ev-nav-btn{color:#d1d7dc;cursor:pointer;background:#2d2f3180;border:1px solid #3e414380;border-radius:50%;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;padding:0;font-size:1.25rem;line-height:1;transition:background-color .15s,border-color .15s,color .15s,opacity .15s;display:flex}.ev-nav-btn:hover{color:#fff;background:#2563ebd9;border-color:#2563eb}.ev-nav-btn:focus:not(:focus-visible){color:#d1d7dc;background:#2d2f3180;border-color:#3e414380}.ev-nav-btn:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.ev-nav-btn:disabled{opacity:.2;cursor:not-allowed}.ev-nav-btn:disabled:hover{color:#d1d7dc;background:#2d2f3180;border-color:#3e414380}.ev-nav-progress{color:#9ca3af;-webkit-user-select:none;user-select:none;text-align:center;min-width:5rem;font-size:.9rem}.ev-nav-item-label{text-align:left;flex-direction:column;min-width:0;max-width:200px;display:flex}.ev-nav-next .ev-nav-item-label{text-align:right}.ev-nav-item-hint{text-transform:uppercase;letter-spacing:.06em;color:#6a6f73;margin-bottom:.1rem;font-size:.6875rem}.ev-nav-item-title{color:#d1d7dc;text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;font-weight:500;overflow:hidden}@media (width<=767px){.ev-slide-region{padding:2rem 1.25rem 5.5rem}.ev-q-text{font-size:1.125rem}.ev-nav{padding:.75rem 1rem}}.ev-modal-backdrop{-webkit-backdrop-filter:blur(3px);z-index:1000;background:#000000b3;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.ev-modal{background:#2d2f31;border:1px solid #3e4143;border-radius:12px;flex-direction:column;gap:1rem;width:100%;max-width:440px;padding:2rem;display:flex;box-shadow:0 20px 60px #00000080}.ev-modal-icon{font-size:2rem;line-height:1}.ev-modal-title{color:#fff;margin:0;font-size:1.25rem;font-weight:700}.ev-modal-body{color:#9ca3af;margin:0;font-size:.9375rem;line-height:1.6}.ev-modal-actions{flex-wrap:wrap;gap:.75rem;margin-top:.25rem;display:flex}.ev-modal-stay-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:6px;flex:1;padding:.75rem 1.25rem;font-size:.9375rem;font-weight:600;transition:background-color .15s}.ev-modal-stay-btn:hover{background:#1d4ed8}.ev-modal-stay-btn:focus-visible{outline-offset:2px;outline:2px solid #93c5fd}.ev-modal-leave-btn{color:#9ca3af;cursor:pointer;background:0 0;border:1px solid #3e4143;border-radius:6px;padding:.75rem 1.25rem;font-size:.9375rem;transition:background-color .15s,border-color .15s,color .15s}.ev-modal-leave-btn:hover{color:#d1d7dc;background:#3e4143;border-color:#6a6f73}.ev-modal-leave-btn:focus-visible{outline-offset:2px;outline:2px solid #6a6f73}.ev-result-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:16px;display:flex}.ev-review-btn{color:#3b82f6;cursor:pointer;background:0 0;border:1px solid #3b82f6;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s,color .15s}.ev-review-btn:hover{color:#fff;background:#3b82f6}.ev-review-overlay{color:#d1d7dc;z-index:10;border-radius:inherit;background:#1c1d1f;flex-direction:column;gap:14px;padding:20px 24px 24px;display:flex;position:absolute;inset:0;overflow-y:auto}.ev-review-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.ev-review-score-row{align-items:center;gap:12px;display:flex}.ev-review-score-badge{border-radius:20px;padding:3px 12px;font-size:.95rem;font-weight:700}.ev-review-passed{color:#bbf7d0;background:#166534}.ev-review-failed{color:#fecaca;background:#7f1d1d}.ev-review-tally{color:#9ca3af;font-size:.875rem}.ev-review-close-btn{color:#9ca3af;cursor:pointer;background:0 0;border:1px solid #4b5563;border-radius:6px;padding:4px 14px;font-size:.85rem;transition:background .15s,color .15s}.ev-review-close-btn:hover{color:#f9fafb;background:#374151}.ev-review-progress{color:#9ca3af;flex-direction:column;gap:5px;font-size:.8rem;display:flex}.ev-review-progress-bar{background:#374151;border-radius:2px;height:4px;overflow:hidden}.ev-review-progress-fill{background:#3b82f6;border-radius:2px;height:100%;transition:width .2s}.ev-review-question-card{border-radius:8px;flex-direction:column;flex:1;gap:12px;padding:16px;display:flex}.ev-review-correct{background:#052e16;border:1px solid #166534}.ev-review-incorrect{background:#450a0a;border:1px solid #7f1d1d}.ev-review-question-text{margin:0;font-size:1rem;font-weight:500;line-height:1.5}.ev-review-options{flex-direction:column;gap:8px;display:flex}.ev-review-opt{background:#1f2937;border:1px solid #374151;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;font-size:.9rem;display:flex}.ev-review-opt-indicator{flex-shrink:0;width:18px;font-weight:700}.ev-review-opt-tag{color:#ef4444;margin-left:4px;font-size:.8rem;font-style:italic}.ev-review-opt-correct-tag{color:#4ade80}.ev-review-sa{flex-direction:column;gap:8px;display:flex}.ev-review-sa-row{border-radius:6px;gap:10px;padding:8px 12px;font-size:.9rem;display:flex}.ev-review-sa-label{color:#9ca3af;min-width:110px;font-weight:600}.ev-review-explanation{color:#93c5fd;background:#1e3a5f;border-left:3px solid #3b82f6;border-radius:0 4px 4px 0;padding:8px 12px;font-size:.875rem}.ev-review-nav{justify-content:space-between;gap:10px;padding-top:4px;display:flex}.ev-review-nav-btn{color:#d1d7dc;cursor:pointer;background:#374151;border:1px solid #4b5563;border-radius:6px;padding:8px 18px;font-size:.875rem;font-weight:500;transition:background .15s}.ev-review-nav-btn:hover:not(:disabled){background:#4b5563}.ev-review-nav-btn:disabled{opacity:.4;cursor:not-allowed}.ev-review-close-nav-btn{flex:1}.ev-review-finish-btn{color:#fff;background:#2563eb;border-color:#2563eb}.ev-review-finish-btn:hover{background:#1d4ed8}.ev-review-outcomes{border-top:1px solid #374151;padding-top:10px}.ev-review-outcomes-title{color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;margin:0 0 8px;font-size:.75rem;font-weight:600}.ev-review-outcomes-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.ev-review-outcome-item{color:#bfdbfe;background:#1e3a5f;border-radius:4px;align-items:baseline;gap:8px;padding:6px 10px;font-size:.85rem;display:flex}.ev-review-outcome-ref{color:#60a5fa;flex-shrink:0;font-weight:700}.answer-area,.options-list{flex-direction:column;gap:.5rem;display:flex}@media (width<=600px){.review-score-banner{flex-wrap:wrap}.col-answer,.col-correct{display:none}}.le-container{border:none;flex-direction:column;flex:1;width:100%;max-width:120%;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;display:flex;position:relative}.le-toolbar{background:#fafafa;border-bottom:1px solid #e0e0e0;flex-wrap:wrap;align-items:center;gap:4px;padding:8px 12px;display:flex}.le-toolbar-group{border-right:1px solid #e0e0e0;align-items:center;gap:2px;padding:0 4px;display:flex}.le-toolbar-group:last-child{border-right:none}.le-btn{cursor:pointer;color:#333;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;min-width:32px;height:32px;padding:4px 8px;font-size:14px;transition:background-color .15s;display:inline-flex}.le-btn:hover{background:#e8e8e8}.le-btn:active{background:#d0d0d0}.le-btn[aria-pressed=true]{color:#1a73e8;background:#d4e4ff}.le-toolbar-btn{cursor:pointer;color:#333;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;min-width:32px;height:32px;padding:4px 8px;font-size:14px;transition:background-color .15s;display:inline-flex}.le-toolbar-btn:hover:not(:disabled){background:#e8e8e8}.le-toolbar-btn:active:not(:disabled){background:#d0d0d0}.le-toolbar-btn[aria-pressed=true],.le-toolbar-btn--active{color:#1a73e8;background:#d4e4ff}.le-toolbar-btn:disabled{opacity:.4;cursor:not-allowed}.le-toolbar-divider{background:#e0e0e0;flex-shrink:0;width:1px;height:24px;margin:0 4px}.le-toolbar-more{letter-spacing:2px;font-size:18px;font-weight:700}.le-toolbar-more-menu{z-index:200;background:#fff;border:1px solid #e0e0e0;border-radius:8px;flex-wrap:wrap;gap:4px;min-width:240px;padding:8px;display:flex;position:absolute;top:100%;right:0;box-shadow:0 4px 16px #0000001f}.le-editor-body{flex-direction:row;flex:1;width:100%;min-height:0;display:flex;overflow:hidden}.le-editor-inner{flex:1;width:100%;min-width:0;position:relative;overflow:auto}.le-content-editable{color:#1a1a1a;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;outline:none;width:100%;min-height:400px;padding:16px 20px;font-size:16px;line-height:1.6}.le-content-editable:focus{outline:none}.le-placeholder{color:#999;pointer-events:none;-webkit-user-select:none;user-select:none;text-overflow:ellipsis;white-space:nowrap;font-size:16px;line-height:1.6;position:absolute;top:16px;left:20px;right:20px;overflow:hidden}.le-save-indicator{color:#666;pointer-events:none;z-index:10;background:#ffffffe6;border:1px solid #e0e0e0;border-radius:4px;padding:4px 10px;font-size:12px;position:absolute;bottom:8px;right:12px}.le-equation-inline{vertical-align:baseline;display:inline}.le-equation-block{text-align:center;margin:16px 0;display:block;overflow-x:auto}.le-equation-loading{color:#999;display:inline}.le-chart-container{background:#fff;border:1px solid #e8e8e8;border-radius:6px;width:100%;margin:16px 0;padding:12px;display:block}.le-chart-loading{color:#999;justify-content:center;align-items:center;min-height:200px;font-size:14px;display:flex}.le-paragraph{margin:0 0 8px;line-height:1.6}.le-heading-h1{margin:24px 0 12px;font-size:2em;font-weight:700}.le-heading-h2{margin:20px 0 10px;font-size:1.5em;font-weight:700}.le-heading-h3{margin:16px 0 8px;font-size:1.25em;font-weight:600}.le-heading-h4{margin:12px 0 6px;font-size:1.1em;font-weight:600}.le-text-bold{font-weight:700}.le-text-italic{font-style:italic}.le-text-underline{text-decoration:underline}.le-text-strikethrough{text-decoration:line-through}.le-text-code{background:#f4f4f4;border-radius:3px;padding:2px 6px;font-family:Fira Code,Fira Mono,Menlo,Monaco,Consolas,monospace;font-size:.9em}.le-list-ul{margin:8px 0;padding-left:24px;list-style-type:disc}.le-list-ol{margin:8px 0;padding-left:24px;list-style-type:decimal}.le-listitem{margin:4px 0}.le-nested-listitem{list-style-type:none}.le-link{color:#1a73e8;cursor:pointer;text-decoration:underline}.le-code-block{color:#abb2bf;counter-reset:line-number;tab-size:2;white-space:pre-wrap;word-break:normal;overflow-wrap:break-word;background:#282c34;border-radius:6px;margin:12px 0;padding:16px 16px 16px 52px;font-family:Fira Code,Fira Mono,Menlo,Monaco,Consolas,monospace;font-size:14px;line-height:1.5;position:relative;overflow-x:auto}.le-code-block .le-code-block-gutter{pointer-events:none;-webkit-user-select:none;user-select:none;background:#21252b;border-right:1px solid #3e4451;border-radius:6px 0 0 6px;flex-direction:column;width:36px;padding-top:0;display:flex;position:absolute;top:16px;bottom:16px;left:0;overflow:hidden}.le-code-block .le-code-block-gutter-line{text-align:center;color:#636d83;height:21px;font-family:Fira Code,Fira Mono,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.5;display:block}.le-code-block-language{z-index:2;color:#abb2bf;cursor:pointer;appearance:auto;background:#3e4451;border:1px solid #5c6370;border-radius:4px;outline:none;padding:2px 6px;font-size:11px;position:absolute;top:4px;right:4px}.le-code-block-language:hover{background:#4b5263;border-color:#636d83}.le-code-block-language:focus{border-color:#61afef;box-shadow:0 0 0 1px #61afef}.le-code-keyword{color:#c678dd}.le-code-string{color:#98c379}.le-code-comment{color:#5c6370;font-style:italic}.le-code-function{color:#61afef}.le-code-number{color:#d19a66}.le-code-operator{color:#56b6c2}.le-code-punctuation{color:#abb2bf}.le-table{border-collapse:collapse;width:100%;margin:12px 0}.le-table-cell{text-align:left;border:1px solid #ddd;padding:8px 12px}.le-table-cell-header{text-align:left;background:#f8f8f8;border:1px solid #ddd;padding:8px 12px;font-weight:700}.le-blockquote{color:#555;background:#f9f9fb;border-left:4px solid #1a73e8;margin:12px 0;padding:8px 16px}@media (width<=767px){.le-toolbar{flex-wrap:wrap;gap:6px;padding:6px 8px}.le-toolbar-group{border-right:none;padding:0 2px}.le-toolbar-divider{display:none}.le-content-editable{padding:12px 14px;font-size:15px}.le-placeholder{font-size:15px;left:14px;right:14px}}@media (width<=599px){.le-equation-block{-webkit-overflow-scrolling:touch;max-width:100%;padding:8px 0;overflow-x:auto}.le-chart-container{width:100%;min-height:200px;padding:8px}.le-content-editable{min-height:150px;padding:10px 12px}.le-placeholder{left:12px;right:12px}}.le-modal-dialog{border:none;border-radius:12px;width:90vw;max-width:500px;max-height:85vh;margin:auto;padding:0;animation:.15s ease-out le-modal-in;overflow:visible;box-shadow:0 20px 60px #0000004d}.le-modal-dialog::backdrop{background:#00000080}.le-modal-dialog[open]{display:block}.le-modal{background:#fff;border-radius:12px;width:100%;max-height:85vh;overflow-y:auto}@keyframes le-modal-in{0%{opacity:0;transform:scale(.95)translateY(-10px)}to{opacity:1;transform:scale(1)translateY(0)}}.le-modal-header{border-bottom:1px solid #e8e8e8;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.le-modal-title{color:#1a1a1a;margin:0;font-size:16px;font-weight:600}.le-modal-close{color:#666;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:0 4px;font-size:24px;line-height:1}.le-modal-close:hover{color:#333;background:#f0f0f0}.le-modal-body{padding:20px}.le-modal-field{margin-bottom:16px}.le-modal-label{color:#444;margin-bottom:6px;font-size:13px;font-weight:500;display:block}.le-modal-input,.le-modal-textarea,.le-modal-select{color:#1a1a1a;box-sizing:border-box;background:#fff;border:1px solid #d0d0d0;border-radius:6px;width:100%;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .15s}.le-modal-input:focus,.le-modal-textarea:focus,.le-modal-select:focus{border-color:#1a73e8;outline:none;box-shadow:0 0 0 3px #1a73e81a}.le-modal-textarea{resize:vertical;font-family:Fira Code,Fira Mono,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.5}.le-modal-file-input{width:100%;padding:8px 0}.le-modal-image-preview{border:1px solid #e0e0e0;border-radius:6px;max-width:100%;max-height:150px;margin-top:8px}.le-modal-tabs{border-bottom:1px solid #e0e0e0;gap:0;margin-bottom:16px;display:flex}.le-modal-tab{color:#666;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 16px;font-size:14px;transition:color .15s,border-color .15s}.le-modal-tab:hover{color:#333}.le-modal-tab--active{color:#1a73e8;border-bottom-color:#1a73e8;font-weight:500}.le-modal-actions{border-top:1px solid #f0f0f0;justify-content:flex-end;gap:8px;margin-top:20px;padding-top:16px;display:flex}.le-modal-btn{cursor:pointer;border:1px solid #0000;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;transition:background .15s,opacity .15s}.le-modal-btn:disabled{opacity:.5;cursor:not-allowed}.le-modal-btn--primary{color:#fff;background:#1a73e8;border-color:#1a73e8}.le-modal-btn--primary:hover:not(:disabled){background:#1557b0}.le-modal-btn--secondary{color:#333;background:#f5f5f5;border-color:#d0d0d0}.le-modal-btn--secondary:hover{background:#e8e8e8}.le-modal-error{color:#d32f2f;background:#fef2f2;border-radius:4px;margin:8px 0 0;padding:8px 12px;font-size:13px}.le-modal-hint{color:#666;margin:4px 0 0;font-size:12px}.le-chart-figure{cursor:pointer;border-radius:6px;outline:none;transition:box-shadow .15s;position:relative}.le-chart-figure:focus,.le-chart-selected{box-shadow:0 0 0 2px #1a73e8}.le-chart-actions{z-index:10;gap:4px;display:flex;position:absolute;top:8px;right:8px}.le-chart-action-btn{cursor:pointer;background:#fffffff2;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;transition:background .15s,transform .1s;display:flex;box-shadow:0 2px 8px #00000026}.le-chart-action-btn:hover{background:#fff;transform:scale(1.1)}.le-chart-action-btn--danger:hover{background:#fef2f2}.le-chart-title{text-align:center;color:#333;margin:0 0 8px;font-size:14px;font-weight:600}.le-equation-editor-block,.le-equation-editor-inline{display:inline-block}.le-equation-editor-block{width:100%;margin:8px 0;display:block}.le-equation-input{resize:vertical;border:2px solid #1a73e8;border-radius:6px;outline:none;width:100%;padding:8px 12px;font-family:Fira Code,Fira Mono,Menlo,Monaco,Consolas,monospace;font-size:14px}.le-readonly .le-chart-figure{cursor:default}.le-readonly .le-content-editable{min-height:unset;padding:0}.le-readonly .le-paragraph:last-child:has(>br:only-child){margin-bottom:0}.le-readonly .le-paragraph:has(>br:only-child){margin-bottom:2px}.le-readonly--inline .le-page{box-shadow:none;aspect-ratio:unset;width:100%;height:auto;min-width:unset;background:0 0;margin:0;padding:0;overflow:visible}.le-page-viewer-inline{display:contents}.le-readonly--paginated .le-content-editable{min-height:unset;background:#e8e8e8;padding:24px 0}.le-readonly--inline .le-page-number,.le-readonly--inline .le-page-break-container{display:none}.le-excalidraw-container{justify-content:center;width:100%;max-width:100%;margin:16px 0;display:flex}.le-excalidraw-preview{cursor:pointer;border-radius:6px;transition:box-shadow .15s;position:relative}.le-excalidraw-preview:hover{box-shadow:0 0 0 2px #1a73e8}.le-excalidraw-preview:focus{outline:none;box-shadow:0 0 0 2px #1a73e8}.le-excalidraw-edit-overlay{color:#333;opacity:0;pointer-events:none;background:#0000000d;border-radius:6px;justify-content:center;align-items:center;font-size:14px;font-weight:500;transition:opacity .15s;display:flex;position:absolute;inset:0}.le-excalidraw-preview:hover .le-excalidraw-edit-overlay{opacity:1}.le-excalidraw-svg-container{max-width:100%;overflow:hidden}.le-excalidraw-svg-container svg{width:auto;max-width:100%;height:auto;max-height:300px;display:block}.le-excalidraw-dialog{border:none;border-radius:8px;width:95vw;max-width:none;height:95vh;max-height:none;margin:auto;padding:0;overflow:hidden;box-shadow:0 20px 60px #0000004d}.le-excalidraw-dialog[open]{flex-direction:column;display:flex}.le-excalidraw-dialog::backdrop{background:#0009}.le-excalidraw-actions-bar{background:#fafafa;border-bottom:1px solid #e0e0e0;flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;padding:8px 16px;display:flex}.le-excalidraw-canvas-wrapper{height:100%;min-height:0;font-size:initial;flex:1;line-height:normal;position:relative}.le-excalidraw-canvas-wrapper .excalidraw-wrapper,.le-excalidraw-canvas-wrapper .excalidraw,.le-excalidraw-canvas-wrapper>div{width:100%;height:100%}.le-excalidraw-canvas-wrapper button{min-width:unset;height:unset;padding:unset;font-size:unset;color:unset;border-radius:unset;background:unset;transition:unset}.le-excalidraw-canvas-wrapper input,.le-excalidraw-canvas-wrapper select,.le-excalidraw-canvas-wrapper textarea{width:unset;padding:unset;border:unset;border-radius:unset;font-size:unset;color:unset;background:unset;box-sizing:unset;font-family:unset}.le-excalidraw-loading{color:#999;justify-content:center;align-items:center;width:100%;height:100%;min-height:200px;font-size:14px;display:flex}.le-excalidraw-error{color:#d32f2f;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;width:100%;height:100%;min-height:200px;padding:24px;font-size:14px;display:flex}.le-excalidraw-error-detail{color:#666;font-size:12px}.le-excalidraw-error-actions{gap:8px;display:flex}.le-image-container{justify-content:center;width:100%;max-width:100%;margin:16px 0;display:flex}.le-image-wrapper{border-radius:6px;max-width:100%;transition:box-shadow .15s;display:inline-block;position:relative}.le-image-wrapper--selected{box-shadow:0 0 0 2px #1a73e8}.le-image-loading{color:#999;justify-content:center;align-items:center;min-height:100px;font-size:14px;display:flex}.le-image-resize-handle{z-index:10;cursor:nwse-resize;background:#1a73e8;border:2px solid #fff;border-radius:50%;width:10px;height:10px;position:absolute}.le-image-resize-handle--top-left{cursor:nwse-resize;top:-5px;left:-5px}.le-image-resize-handle--top-right{cursor:nesw-resize;top:-5px;right:-5px}.le-image-resize-handle--bottom-left{cursor:nesw-resize;bottom:-5px;left:-5px}.le-image-resize-handle--bottom-right{cursor:nwse-resize;bottom:-5px;right:-5px}.le-image-resize-overlay{color:#fff;pointer-events:none;white-space:nowrap;background:#000000b3;border-radius:4px;padding:2px 8px;font-size:12px;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.le-equation-preview{text-align:center;background:#f9f9fb;border:1px solid #e8e8e8;border-radius:6px;min-height:32px;padding:12px 16px;font-size:18px;overflow-x:auto}.le-equation-preview--empty{color:#999;font-size:13px;font-style:italic}.le-sticky-note-container{width:0;height:0;display:inline-block;position:relative;overflow:visible}.le-sticky-note{z-index:100;border-radius:4px;flex-direction:column;gap:4px;width:200px;min-height:120px;padding:8px;font-size:14px;display:flex;box-shadow:2px 2px 8px #00000026}.le-sticky-note--yellow{background-color:#fdfd96}.le-sticky-note--pink{background-color:#ffb3ba}.le-sticky-note--green{background-color:#baffc9}.le-sticky-note--blue{background-color:#bae1ff}.le-sticky-note__drag-handle{cursor:grab;-webkit-user-select:none;user-select:none;text-align:center;color:#0006;border-bottom:1px solid #0000001a;padding:2px 0;font-size:16px}.le-sticky-note__drag-handle:active{cursor:grabbing}.le-sticky-note__text{resize:none;color:#1a1a1a;background:0 0;border:none;outline:none;flex:1;min-height:80px;padding:4px;font-family:inherit;font-size:14px;line-height:1.4}.le-sticky-note__text::placeholder{color:#00000059}.le-format-selector{flex-direction:column;align-items:center;gap:20px;padding:24px;display:flex}.le-format-selector-title{color:#1a1a1a;margin:0;font-size:18px;font-weight:600}.le-format-selector-options{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.le-format-selector-option{cursor:pointer;background:#fff;border:2px solid #e0e0e0;border-radius:8px;flex-direction:column;align-items:center;gap:8px;min-width:120px;padding:16px;transition:border-color .15s,box-shadow .15s,background .15s;display:flex}.le-format-selector-option:hover{background:#f8fbff;border-color:#a0c4ff}.le-format-selector-option:focus-visible{outline-offset:2px;outline:2px solid #1a73e8}.le-format-selector-option--selected{background:#e8f0fe;border-color:#1a73e8;box-shadow:0 0 0 1px #1a73e8}.le-format-selector-preview{background:#fafafa;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 3px #0000001a}.le-format-selector-label{color:#333;font-size:14px;font-weight:500}.le-format-selector-dimensions{color:#666;font-size:12px}.le-format-selector-confirm{color:#fff;cursor:pointer;background:#1a73e8;border:none;border-radius:6px;padding:10px 24px;font-size:14px;font-weight:500;transition:background .15s}.le-format-selector-confirm:hover{background:#1557b0}.le-format-selector-confirm:focus-visible{outline-offset:2px;outline:2px solid #1a73e8}.le-page-status-bar{color:#666;-webkit-user-select:none;user-select:none;background:#fafafa;border-top:1px solid #e0e0e0;justify-content:center;align-items:center;padding:6px 12px;font-size:12px;display:flex}.le-horizontal-rule-container{-webkit-user-select:none;user-select:none;width:100%;margin:0;display:block}.le-horizontal-rule{cursor:pointer;border-radius:4px;width:100%;margin:12px 0;padding:8px 0;transition:background-color .15s;display:block}.le-horizontal-rule:hover{background:#1a73e80a}.le-horizontal-rule--selected{outline-offset:2px;background:#1a73e814;outline:2px solid #1a73e8}.le-horizontal-rule hr{border:none;border-top:2px solid #e0e0e0;width:100%;margin:0}.le-column-layout{gap:16px;width:100%;margin:16px 0;display:grid}.le-column-layout--2{grid-template-columns:1fr 1fr}.le-column-layout--3{grid-template-columns:1fr 1fr 1fr}.le-column-item{border:1px dashed #d0d0d0;border-radius:4px;min-height:40px;padding:8px}@media (width<=767px){.le-column-layout--2,.le-column-layout--3{grid-template-columns:1fr}}.le-inline-image{max-width:100%;position:relative}.le-inline-image--left{float:left;margin-bottom:8px;margin-right:16px}.le-inline-image--right{float:right;margin-bottom:8px;margin-left:16px}.le-inline-image--full{width:100%;display:block}.le-inline-image--none{display:inline-block}.le-inline-image--selected{border-radius:4px;box-shadow:0 0 0 2px #1a73e8}.le-inline-image__img{border-radius:4px;max-width:100%;display:block}.le-inline-image__caption{text-align:center;margin-top:4px}.le-inline-image__caption-input{color:#555;text-align:center;background:0 0;border:none;border-bottom:1px solid #e0e0e0;outline:none;width:100%;padding:4px;font-size:12px}.le-inline-image__caption-input:focus{border-bottom-color:#1a73e8}.le-inline-image__caption-text{color:#555;font-size:12px;font-style:italic}.le-inline-image-loading{color:#999;background:#f0f0f0;border-radius:4px;justify-content:center;align-items:center;min-width:100px;min-height:60px;font-size:13px;display:inline-flex}.le-inline-image__resize-handle{z-index:10;cursor:nwse-resize;background:#1a73e8;border:2px solid #fff;border-radius:50%;width:10px;height:10px;position:absolute}.le-inline-image__resize-handle--top-left{cursor:nwse-resize;top:-5px;left:-5px}.le-inline-image__resize-handle--top-right{cursor:nesw-resize;top:-5px;right:-5px}.le-inline-image__resize-handle--bottom-left{cursor:nesw-resize;bottom:-5px;left:-5px}.le-inline-image__resize-handle--bottom-right{cursor:nwse-resize;bottom:-5px;right:-5px}.le-inline-image__resize-overlay{color:#fff;pointer-events:none;white-space:nowrap;background:#000000b3;border-radius:4px;padding:2px 8px;font-size:12px;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.le-hashtag{color:#1a73e8;font-weight:500}.le-mention{color:#1a73e8;cursor:default;-webkit-user-select:all;user-select:all;background-color:#1877e81f;border-radius:3px;padding:1px 4px;font-weight:500}.le-mention-menu{z-index:1000;background:#fff;border:1px solid #e0e0e0;border-radius:8px;min-width:180px;max-height:240px;padding:4px 0;overflow-y:auto;box-shadow:0 4px 16px #0000001f}.le-mention-menu-item{cursor:pointer;color:#333;align-items:center;padding:8px 12px;font-size:14px;transition:background-color .1s;display:flex}.le-mention-menu-item:hover,.le-mention-menu-item--selected{background:#f0f4ff}.le-mention-menu-item-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.le-comment-highlight-container{pointer-events:none;z-index:1;position:absolute;inset:0}.le-comment-highlight{pointer-events:auto;cursor:pointer;mix-blend-mode:multiply;border-radius:2px;transition:opacity .15s}.le-comment-highlight:hover{opacity:.8}.le-comment-thread{z-index:1000;pointer-events:auto;background:#fff;border:1px solid #e0e0e0;border-radius:8px;min-width:240px;max-width:320px;padding:12px 16px;position:absolute;box-shadow:0 4px 16px #0000001f}.le-comment-thread-header{align-items:center;gap:8px;margin-bottom:8px;display:flex}.le-comment-thread-author{color:#1a1a1a;font-size:13px;font-weight:600}.le-comment-thread-time{color:#888;flex:1;font-size:11px}.le-comment-thread-close{color:#888;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:0 4px;font-size:18px;line-height:1}.le-comment-thread-close:hover{color:#333;background:#f0f0f0}.le-comment-thread-body{color:#333;white-space:pre-wrap;word-break:break-word;margin-bottom:12px;font-size:14px;line-height:1.5}.le-comment-thread-actions{justify-content:flex-end;gap:8px;display:flex}.le-comment-thread-resolve{color:#1a73e8;cursor:pointer;background:#fff;border:1px solid #d0d0d0;border-radius:4px;padding:4px 12px;font-size:12px;font-weight:500;transition:background .15s}.le-comment-thread-resolve:hover{background:#e8f0fe}.le-comment-sidebar{z-index:1000;pointer-events:auto;background:#fff;border:1px solid #e0e0e0;border-radius:8px;min-width:260px;max-width:320px;padding:12px 16px;position:absolute;box-shadow:0 4px 16px #0000001f}.le-comment-input{resize:vertical;box-sizing:border-box;border:1px solid #d0d0d0;border-radius:6px;outline:none;width:100%;padding:8px 12px;font-family:inherit;font-size:14px;transition:border-color .15s}.le-comment-input:focus{border-color:#1a73e8;box-shadow:0 0 0 3px #1a73e81a}.le-comment-dialog-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.le-comment-cancel-btn{color:#666;cursor:pointer;background:#fff;border:1px solid #d0d0d0;border-radius:4px;padding:6px 12px;font-size:13px;transition:background .15s}.le-comment-cancel-btn:hover{background:#f5f5f5}.le-comment-submit-btn{color:#fff;cursor:pointer;background:#1a73e8;border:none;border-radius:4px;padding:6px 12px;font-size:13px;font-weight:500;transition:background .15s}.le-comment-submit-btn:hover:not(:disabled){background:#1557b0}.le-comment-submit-btn:disabled{opacity:.5;cursor:not-allowed}.le-toc{background:#fafafa;border-right:1px solid #e0e0e0;align-self:stretch;min-width:200px;max-width:240px;padding:12px;font-size:13px;transition:min-width .2s,max-width .2s,padding .2s;position:relative;overflow-y:auto}.le-toc--collapsed{border-right:1px solid #e0e0e0;min-width:36px;max-width:36px;padding:12px 4px}.le-toc-toggle{cursor:pointer;color:#333;text-align:left;background:0 0;border:none;border-radius:4px;align-items:center;gap:6px;width:100%;margin-bottom:8px;padding:4px 6px;font-size:13px;font-weight:600;transition:background .15s;display:flex}.le-toc-toggle:hover{background:#e8e8e8}.le-toc-toggle-icon{color:#666;flex-shrink:0;font-size:10px}.le-toc-toggle-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.le-toc-list{flex-direction:column;gap:2px;display:flex}.le-toc-empty{color:#888;margin:8px 0;padding:0 6px;font-size:13px;font-style:italic}.le-toc-entry{text-align:left;cursor:pointer;color:#333;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;border-radius:4px;width:100%;padding:4px 8px;font-size:13px;transition:background .15s,color .15s;display:block;overflow:hidden}.le-toc-entry:hover{background:#e8e8e8}.le-toc-entry--active{color:#1a73e8;background:#e8f0fe;font-weight:500}.le-toc-entry--h1{padding-left:8px;font-weight:600}.le-toc-entry--h2{padding-left:20px}.le-toc-entry--h3{padding-left:32px}.le-toc-entry--h4{padding-left:44px}.le-stt-button{position:relative}.le-stt-button--recording{color:#d32f2f;background:#fef2f2}.le-stt-button--recording:after{content:"";background:#d32f2f;border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite le-stt-pulse;position:absolute;top:4px;right:4px}.le-stt-button--recording:hover{background:#fce4e4}.le-stt-button--disabled{opacity:.5;cursor:not-allowed}@keyframes le-stt-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}.le-color-picker{flex-direction:column;gap:12px;min-width:220px;padding:12px;display:flex}.le-color-picker-palette{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.le-color-picker-swatch{cursor:pointer;border:1px solid #d0d0d0;border-radius:4px;width:28px;height:28px;padding:0;transition:transform .1s,box-shadow .1s}.le-color-picker-swatch:hover{transform:scale(1.15);box-shadow:0 2px 6px #00000026}.le-color-picker-swatch:focus-visible{outline-offset:2px;outline:2px solid #1a73e8}.le-color-picker-swatch--active{border:2px solid #1a73e8;box-shadow:0 0 0 2px #1a73e84d}.le-color-picker-hex-form{align-items:center;gap:4px;display:flex}.le-color-picker-hex-prefix{color:#666;font-size:14px;font-weight:600}.le-color-picker-input{border:1px solid #d0d0d0;border-radius:4px;outline:none;flex:1;padding:6px 8px;font-family:monospace;font-size:13px;transition:border-color .15s}.le-color-picker-input:focus{border-color:#1a73e8;box-shadow:0 0 0 3px #1a73e81a}.le-color-picker-input--error{border-color:#d32f2f}.le-color-picker-input--error:focus{box-shadow:0 0 0 3px #d32f2f1a}.le-color-picker-apply{color:#fff;cursor:pointer;background:#1a73e8;border:none;border-radius:4px;padding:6px 12px;font-size:12px;font-weight:500;transition:background .15s}.le-color-picker-apply:hover{background:#1557b0}.le-color-picker-apply:focus-visible{outline-offset:2px;outline:2px solid #1a73e8}.le-color-picker-error{color:#d32f2f;margin:0;font-size:12px}.le-color-picker-clear{color:#666;cursor:pointer;text-align:center;background:#fff;border:1px solid #d0d0d0;border-radius:4px;padding:8px 12px;font-size:13px;transition:background .15s,color .15s}.le-color-picker-clear:hover{color:#333;background:#f5f5f5}.le-color-picker-clear:focus-visible{outline-offset:2px;outline:2px solid #1a73e8}.le-font-controls{align-items:center;gap:4px;display:flex}.le-font-size-selector,.le-font-family-selector{color:#333;cursor:pointer;background:#fff;border:1px solid #d0d0d0;border-radius:4px;outline:none;height:32px;padding:4px 8px;font-family:inherit;font-size:13px;transition:border-color .15s}.le-font-size-selector:hover,.le-font-family-selector:hover{border-color:#a0a0a0}.le-font-size-selector:focus,.le-font-family-selector:focus{border-color:#1a73e8;box-shadow:0 0 0 2px #1a73e81a}.le-font-size-selector{width:70px}.le-font-family-selector{width:140px}.le-special-chars{background:#fff;border:1px solid #e0e0e0;border-radius:8px;flex-direction:column;gap:8px;min-width:320px;max-width:420px;max-height:400px;padding:12px;display:flex;box-shadow:0 4px 16px #0000001f}.le-special-chars-header{justify-content:space-between;align-items:center;display:flex}.le-special-chars-header h3{color:#333;margin:0;font-size:14px;font-weight:600}.le-special-chars-close{color:#666;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:20px;line-height:1}.le-special-chars-close:hover{color:#333;background:#f0f0f0}.le-special-chars-search{box-sizing:border-box;border:1px solid #d0d0d0;border-radius:6px;outline:none;width:100%;padding:8px 12px;font-size:13px;transition:border-color .15s}.le-special-chars-search:focus{border-color:#1a73e8;box-shadow:0 0 0 3px #1a73e81a}.le-special-chars-categories{flex-wrap:wrap;gap:4px;display:flex}.le-special-chars-category{color:#555;cursor:pointer;background:#fff;border:1px solid #d0d0d0;border-radius:4px;padding:4px 8px;font-size:11px;transition:background .15s,border-color .15s}.le-special-chars-category:hover{background:#f5f5f5;border-color:#a0a0a0}.le-special-chars-category--active{color:#1a73e8;background:#e8f0fe;border-color:#1a73e8;font-weight:500}.le-special-chars-grid{grid-template-columns:repeat(auto-fill,minmax(36px,1fr));gap:4px;max-height:240px;padding:4px;display:grid;overflow-y:auto}.le-special-chars-item{cursor:pointer;background:#fff;border:1px solid #e0e0e0;border-radius:4px;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;transition:background .1s,border-color .1s,transform .1s;display:flex}.le-special-chars-item:hover{background:#e8f0fe;border-color:#1a73e8;transform:scale(1.1)}.le-special-chars-item:focus-visible{outline-offset:2px;outline:2px solid #1a73e8}.le-special-chars-empty{text-align:center;color:#888;grid-column:1/-1;padding:16px 0;font-size:13px;font-style:italic}.le-editor-paginated{background:#e5e7eb;flex:1;min-height:0;padding:24px}.le-editor-paginated .le-content-editable{min-height:0}.le-editor-readonly .le-content-editable{cursor:default;caret-color:#0000}.le-editor-readonly .le-content-editable:focus{outline:none}.le-page{padding-top:var(--le-page-padding-top,58px);padding-bottom:var(--le-page-padding-bottom,82px);padding-left:var(--le-page-padding-top,58px);padding-right:var(--le-page-padding-top,58px);width:var(--le-page-width,816px);min-width:var(--le-page-width,816px);box-sizing:border-box;height:calc(var(--le-page-width,816px) * var(--le-page-aspect-ratio,1.414));background:#fff;margin:0 auto 24px;position:relative;overflow:visible;box-shadow:0 2px 8px #0000001f}.le-page img,.le-page svg,.le-page canvas,.le-page iframe,.le-page .le-chart-container,.le-page .le-excalidraw-container,.le-page .le-equation-block,.le-page .le-inline-image,.le-page .le-media-embed-container{max-width:100%;overflow:hidden}.le-page:last-child{margin-bottom:0}.le-page-number{color:#666;-webkit-user-select:none;user-select:none;pointer-events:none;font-size:12px;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.le-page-break-container{-webkit-user-select:none;user-select:none;width:100%;margin:0;display:block}.le-page-break{cursor:pointer;border-radius:4px;align-items:center;gap:12px;padding:12px 0;transition:background-color .15s;display:flex}.le-page-break:hover{background:#1a73e80a}.le-page-break--selected{outline-offset:2px;background:#1a73e814;outline:2px solid #1a73e8}.le-page-break__line{border-top:2px dashed #bbb;flex:1;height:0}.le-page-break__label{color:#999;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;-webkit-user-select:none;user-select:none;font-size:11px;font-weight:600}.le-page-format-overlay{z-index:100;background:#fffffff2;border-radius:8px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.le-page-format-overlay__panel{background:#fff;border:1px solid #e0e0e0;border-radius:12px;width:100%;max-width:420px;padding:32px;box-shadow:0 8px 32px #0000001f}.le-page-format-overlay__title{color:#1a1a1a;margin:0 0 8px;font-size:18px;font-weight:600}.le-page-format-overlay__description{color:#666;margin:0 0 20px;font-size:14px;line-height:1.5}.le-page-format-overlay__options{border:none;flex-direction:column;gap:8px;margin:0 0 20px;padding:0;display:flex}.le-page-format-overlay__legend{color:#333;margin-bottom:8px;font-size:13px;font-weight:600}.le-page-format-overlay__option{cursor:pointer;border:1px solid #e0e0e0;border-radius:8px;align-items:center;gap:12px;padding:12px 16px;transition:border-color .15s,background .15s;display:flex}.le-page-format-overlay__option:hover{background:#f8f8f8;border-color:#a0a0a0}.le-page-format-overlay__option--selected{background:#e8f0fe;border-color:#1a73e8}.le-page-format-overlay__radio{accent-color:#1a73e8}.le-page-format-overlay__option-label{color:#333;flex:1;font-size:14px}.le-page-format-overlay__option-preview{background:#fff;border:1px solid #d0d0d0;border-radius:2px;width:32px}.le-page-format-overlay__confirm-btn{color:#fff;cursor:pointer;background:#1a73e8;border:none;border-radius:8px;width:100%;padding:12px;font-size:14px;font-weight:600;transition:background .15s;display:block}.le-page-format-overlay__confirm-btn:hover{background:#1557b0}[style*="text-align: center"]{text-align:center}[style*="text-align: right"]{text-align:right}[style*="text-align: justify"]{text-align:justify}[style*="text-align: left"],.le-align-left{text-align:left}.le-align-center{text-align:center}.le-align-right{text-align:right}.le-align-justify{text-align:justify}.le-page-mode-toggle{cursor:pointer;color:#333;background:#fff;border:1px solid #d0d0d0;border-radius:4px;align-items:center;gap:4px;padding:4px 8px;font-size:13px;transition:border-color .15s,background .15s;display:inline-flex}.le-page-mode-toggle:hover{background:#f5f5f5;border-color:#a0a0a0}.le-page-mode-toggle__icon{font-size:14px}.le-page-mode-toggle__label{font-weight:500}.le-page-mode-confirm-overlay{z-index:10000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.le-page-mode-confirm-panel{background:#fff;border-radius:12px;width:90vw;max-width:420px;padding:24px 28px;box-shadow:0 20px 60px #0000004d}.le-page-mode-confirm-panel__title{color:#1a1a1a;margin:0 0 12px;font-size:18px;font-weight:600}.le-page-mode-confirm-panel__message{color:#555;margin:0 0 20px;font-size:14px;line-height:1.6}.le-page-mode-confirm-panel__actions{justify-content:flex-end;gap:8px;display:flex}.le-page-mode-confirm-panel__cancel-btn{color:#333;cursor:pointer;background:#f5f5f5;border:1px solid #d0d0d0;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;transition:background .15s}.le-page-mode-confirm-panel__cancel-btn:hover{background:#e8e8e8}.le-page-mode-confirm-panel__confirm-btn{color:#fff;cursor:pointer;background:#d32f2f;border:1px solid #d32f2f;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;transition:background .15s}.le-page-mode-confirm-panel__confirm-btn:hover{background:#b71c1c}.le-page-format-overlay{z-index:10000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.le-editor-footer{color:#666;z-index:10;background:#fafafa;border-top:1px solid #e0e0e0;flex-shrink:0;justify-content:space-between;align-items:center;padding:4px 12px;font-size:12px;display:flex;position:sticky;bottom:0}.le-zoom-controls{align-items:center;gap:4px;display:flex}.le-zoom-btn{cursor:pointer;color:#333;background:#fff;border:1px solid #d0d0d0;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;font-size:16px;font-weight:600;line-height:1;transition:background .15s,border-color .15s;display:flex}.le-zoom-btn:hover:not(:disabled){background:#f0f0f0;border-color:#a0a0a0}.le-zoom-btn:disabled{opacity:.4;cursor:not-allowed}.le-zoom-level{cursor:pointer;color:#333;background:#fff;border:1px solid #d0d0d0;border-radius:4px;justify-content:center;align-items:center;min-width:44px;height:24px;padding:0 6px;font-size:11px;font-weight:500;transition:background .15s;display:flex}.le-zoom-level:hover{background:#f0f0f0}.cv-loading{color:#718096;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;min-height:120px;padding:2rem;display:flex}.cv-spinner{border:3px solid #e2e8f0;border-top-color:#4299e1;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite cv-spin}@keyframes cv-spin{to{transform:rotate(360deg)}}.cv-loading-text{color:#718096;font-size:.875rem}.cv-error{border:1px solid;border-radius:6px;flex-direction:column;align-items:flex-start;gap:.5rem;padding:1rem 1.25rem;display:flex}.cv-error--temporary{color:#7b341e;background:#fffbeb;border-color:#f6ad55}.cv-error--permanent{color:#742a2a;background:#fff5f5;border-color:#fc8181}.cv-error--unsupported{color:#4a5568;background:#f7fafc;border-color:#cbd5e0}.cv-error-icon{font-size:1.25rem}.cv-error-message{margin:0;font-size:.9rem;line-height:1.5}.cv-retry-btn{color:#fff;cursor:pointer;background:#ed8936;border:none;border-radius:4px;margin-top:.25rem;padding:.375rem .875rem;font-size:.875rem;transition:background-color .15s}.cv-retry-btn:hover{background:#dd6b20}.cv-retry-btn:focus-visible{outline-offset:2px;outline:2px solid #ed8936}.cv-youtube,.cv-vimeo{background:#000;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:0;padding:0 0 4rem;display:flex}.cv-video-container{aspect-ratio:16/9;background:#000;width:100%;max-height:calc(100% - 4rem);position:relative}.cv-video-iframe{border:none;width:100%;height:100%;position:absolute;top:0;left:0}.cv-legacy-google{background:#1c1d1f;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:0;padding-bottom:4rem;display:flex}.cv-open-external-btn{color:#2b6cb0;cursor:pointer;background:#ebf8ff;border:1px solid #bee3f8;border-radius:4px;align-items:center;gap:.375rem;padding:.5rem 1rem;font-size:.875rem;text-decoration:none;transition:background-color .15s,border-color .15s;display:inline-flex}.cv-open-external-btn:hover{background:#bee3f8;border-color:#90cdf4}.cv-open-external-btn:focus-visible{outline-offset:2px;outline:2px solid #4299e1}.cv-rich-text{flex-direction:column;flex:1;width:100%;min-height:0;display:flex;position:relative;overflow-y:auto}.cv-inline-content{box-sizing:border-box;background:#fff;width:100%;max-width:816px;min-height:400px;margin:24px auto;padding:58px;box-shadow:0 2px 8px #0000001f}.cv-rich-text:has(.cv-inline-content){background:#e5e7eb}.cv-paginated-content{flex:1;width:100%;padding-bottom:50px;overflow-y:auto}.cv-rich-text .le-container{padding-bottom:50px}.cv-rich-text .le-editor-body{background:#e5e7eb;padding:24px}.cv-rich-text .le-editor-inner:not(.le-editor-paginated){box-sizing:border-box;background:#fff;max-width:816px;min-height:400px;margin:0 auto;padding:58px;box-shadow:0 2px 8px #0000001f}.cv-empty-content{color:#718096;flex:1;justify-content:center;align-items:center;min-height:200px;font-size:1rem;display:flex}.cv-exam{flex-direction:column;flex:1;width:100%;min-height:0;display:flex}.cv-nav-host{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.cv-nav{-webkit-backdrop-filter:blur(4px);z-index:10;opacity:1;pointer-events:auto;background:#1c1d1f59;border-top:1px solid #3e414340;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;transition:opacity .4s,transform .4s;display:flex;position:absolute;bottom:0;left:0;right:0;transform:translateY(0)}.cv-nav--hidden{opacity:0;pointer-events:none;transform:translateY(100%)}.cv-rich-text .cv-nav{z-index:100;position:fixed;bottom:0;left:0;right:0}.cv-nav-btn{color:#d1d7dc;cursor:pointer;background:#2d2f3180;border:1px solid #3e414380;border-radius:4px;justify-content:center;align-items:center;gap:.5rem;min-width:2.5rem;height:2.5rem;padding:0 .625rem;font-size:1.25rem;line-height:1;transition:background-color .15s,border-color .15s,color .15s,opacity .15s;display:flex;overflow:hidden}.cv-nav-btn:hover{color:#fff;background:#3e4143;border-color:#6a6f73}.cv-nav-btn:focus:not(:focus-visible){color:#d1d7dc;background:#2d2f3180;border-color:#3e414380}.cv-nav-btn:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.cv-nav-btn:disabled{opacity:.2;cursor:not-allowed}.cv-nav-btn:disabled:hover{color:#d1d7dc;background:#2d2f3180;border-color:#3e414380}.cv-nav-next{flex-direction:row-reverse}.cv-nav-progress{color:#9ca3af;-webkit-user-select:none;user-select:none;text-align:center;min-width:4rem;font-size:.9rem}.cv-nav-item-label{text-align:left;flex-direction:column;justify-content:center;gap:0;min-width:0;max-width:180px;display:flex}.cv-nav-next .cv-nav-item-label{text-align:right}.cv-nav-item-hint{text-transform:uppercase;letter-spacing:.06em;color:#6a6f73;font-size:.5625rem;line-height:1.1}.cv-nav-item-title{color:#d1d7dc;text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;font-weight:500;line-height:1.2;overflow:hidden}.cv-slide-viewer{flex-direction:column;flex:1;width:100%;min-height:0;display:flex}.cv-slide-viewer .slide-viewer{flex:1;min-height:320px}.cv-slide-toggle-btn,.cv-slide-viewer-container{display:none}.cv-pdf{background:#525659;flex-direction:column;flex:1;width:100%;min-height:0;display:flex;position:relative}.cv-pdf--presentation{background:#1a1a1a}.cv-pdf-iframe{border:none;flex:1;width:100%;min-height:0}.cv-pdf-canvas-slide{background:#1a1a1a;flex:1;justify-content:center;align-items:center;min-height:0;display:flex;overflow:hidden}.pdf-canvas-wrap{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.pdf-canvas{object-fit:contain;max-width:100%;max-height:100%;box-shadow:0 4px 32px #0009}.pdf-canvas-loading{justify-content:center;align-items:center;width:100%;min-height:200px;display:flex}.pdf-canvas-error{color:#f87171;justify-content:center;align-items:center;padding:2rem;font-size:.875rem;display:flex}.cv-download-btn{z-index:11;color:#e2e8f0;cursor:pointer;-webkit-backdrop-filter:blur(4px);background:#1c1d1fbf;border:1px solid #3e414380;border-radius:6px;align-items:center;gap:.375rem;padding:.5rem .875rem;font-size:.8125rem;font-weight:500;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex;position:absolute;top:.75rem;right:.75rem}.cv-download-btn:hover{color:#fff;background:#2d2f31e6;border-color:#6a6f73}.cv-download-btn:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.cv-download-btn:disabled{opacity:.6;cursor:not-allowed}.ai-tutor-panel{background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;height:500px;display:flex;overflow:hidden}.ai-tutor-loading{color:#718096;flex-direction:column;justify-content:center;align-items:center;height:100%;display:flex}.ai-tutor-header{background:#f7fafc;border-bottom:1px solid #e2e8f0;flex-shrink:0;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.ai-tutor-header-info{align-items:center;gap:.75rem;display:flex}.ai-tutor-title{color:#1a202c;margin:0;font-size:1rem;font-weight:600}.ai-tutor-course-scope{color:#718096;background:#edf2f7;border-radius:4px;padding:.15rem .5rem;font-size:.8rem}.ai-tutor-header-actions{align-items:center;gap:.75rem;display:flex}.ai-tutor-message-count{color:#718096;font-size:.8rem}.ai-tutor-message-count.warning{color:#d69e2e;font-weight:500}.ai-tutor-message-count.at-limit{color:#e53e3e;font-weight:600}.ai-tutor-end-session-btn{color:#4a5568;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:4px;padding:.35rem .75rem;font-size:.8rem;transition:all .15s}.ai-tutor-end-session-btn:hover{background:#f7fafc;border-color:#cbd5e0}.ai-tutor-limit-warning{color:#744210;background:ivory;border-bottom:1px solid #fefcbf;flex-shrink:0;padding:.5rem 1rem;font-size:.8rem}.ai-tutor-limit-reached{color:#742a2a;background:#fff5f5;border-bottom:1px solid #fed7d7;flex-shrink:0;padding:.5rem 1rem;font-size:.8rem}.ai-tutor-messages{flex-direction:column;flex:1;gap:.75rem;padding:1rem;display:flex;overflow-y:auto}.ai-tutor-empty{text-align:center;color:#4a5568;flex-direction:column;justify-content:center;align-items:center;height:100%;display:flex}.ai-tutor-empty p{margin:.25rem 0}.ai-tutor-empty-hint{color:#718096;font-size:.85rem}.ai-tutor-message{gap:.5rem;max-width:85%;display:flex}.ai-tutor-message.student-message{flex-direction:row-reverse;align-self:flex-end}.ai-tutor-message.ai-message{align-self:flex-start}.message-avatar{flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:1rem;display:flex}.message-content{border-radius:12px;padding:.6rem .9rem;font-size:.9rem;line-height:1.5}.student-message .message-content{color:#fff;background:#3182ce;border-bottom-right-radius:4px}.ai-message .message-content{color:#1a202c;background:#f7fafc;border:1px solid #e2e8f0;border-bottom-left-radius:4px}.message-text{white-space:pre-wrap;word-break:break-word;margin:0}.message-sources{border-top:1px solid #e2e8f0;margin-top:.5rem;padding-top:.5rem}.sources-label{color:#718096;font-size:.75rem;font-weight:500}.sources-list{flex-wrap:wrap;gap:.35rem;margin:.25rem 0 0;padding:0;list-style:none;display:flex}.source-link{color:#2b6cb0;cursor:pointer;background:#ebf8ff;border:1px solid #bee3f8;border-radius:4px;padding:.2rem .5rem;font-size:.75rem;transition:all .15s}.source-link:hover{color:#2c5282;background:#bee3f8}.typing-indicator{gap:4px;padding:.25rem 0;display:flex}.typing-indicator span{background:#a0aec0;border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite typing-bounce}.typing-indicator span:first-child{animation-delay:0s}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,80%,to{opacity:.5;transform:scale(.8)}40%{opacity:1;transform:scale(1.2)}}.ai-tutor-error{background:#fff5f5;border-top:1px solid #fed7d7;flex-shrink:0;justify-content:space-between;align-items:center;padding:.5rem 1rem;display:flex}.ai-tutor-error p{color:#c53030;margin:0;font-size:.85rem}.ai-tutor-retry-btn{color:#c53030;cursor:pointer;background:#fff;border:1px solid #fed7d7;border-radius:4px;padding:.3rem .6rem;font-size:.8rem;transition:all .15s}.ai-tutor-retry-btn:hover{background:#fff5f5}.ai-tutor-scope-notice{background:ivory;border-top:1px solid #fefcbf;flex-shrink:0;padding:.5rem 1rem}.ai-tutor-scope-notice p{color:#744210;margin:0;font-size:.85rem}.ai-tutor-input-form{background:#f7fafc;border-top:1px solid #e2e8f0;flex-shrink:0;gap:.5rem;padding:.75rem 1rem;display:flex}.ai-tutor-textarea-wrapper{flex-direction:column;flex:1;display:flex}.ai-tutor-textarea{resize:none;border:1px solid #e2e8f0;border-radius:6px;outline:none;width:100%;padding:.5rem .75rem;font-family:inherit;font-size:.9rem;transition:border-color .15s}.ai-tutor-textarea:focus{border-color:#3182ce}.ai-tutor-textarea:disabled{cursor:not-allowed;background:#edf2f7}.ai-tutor-input-footer{align-items:center;gap:.5rem;margin-top:.25rem;display:flex}.ai-tutor-char-count{color:#a0aec0;font-size:.7rem}.ai-tutor-char-count.over-limit{color:#e53e3e;font-weight:500}.ai-tutor-char-count.empty{color:#a0aec0}.ai-tutor-validation{color:#e53e3e;font-size:.7rem}.ai-tutor-send-btn{color:#fff;cursor:pointer;background:#3182ce;border:none;border-radius:6px;align-self:flex-end;padding:.5rem 1rem;font-size:.9rem;font-weight:500;transition:background .15s}.ai-tutor-send-btn:hover:not(:disabled){background:#2c5282}.ai-tutor-send-btn:disabled{cursor:not-allowed;background:#a0aec0}.gamification-profile{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.gamification-profile-title{color:#1f2937;margin:0;font-size:1rem;font-weight:600}.gamification-stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;display:grid}.stat-card{background-color:#f9fafb;border-radius:6px;align-items:center;gap:.625rem;padding:.75rem;display:flex}.stat-icon{font-size:1.25rem}.stat-content{flex-direction:column;display:flex}.stat-label{color:#6b7280;text-transform:uppercase;letter-spacing:.03em;font-size:.6875rem}.gamification-progress-section{flex-direction:column;gap:.375rem;display:flex}.progress-header{justify-content:space-between;align-items:center;display:flex}.progress-label{color:#374151;font-size:.8125rem;font-weight:500}.progress-percent{color:#6b7280;font-size:.8125rem;font-weight:500}.progress-bar-wrapper{background-color:#e5e7eb;border-radius:4px;height:8px;overflow:hidden}.gamification-badges-preview{flex-direction:column;gap:.5rem;display:flex}.badges-preview-title{color:#374151;margin:0;font-size:.8125rem;font-weight:600}.badges-preview-list{align-items:center;gap:.5rem;display:flex}.badge-preview-item{background-color:#f0fdf4;border:1px solid #d1fae5;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.badge-preview-icon{object-fit:contain;width:24px;height:24px}.badge-preview-placeholder{font-size:1.125rem}.badges-more{color:#6b7280;background-color:#f3f4f6;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:500}.gamification-links{border-top:1px solid #f3f4f6;gap:1rem;padding-top:.5rem;display:flex}.gamification-link{color:#3b82f6;font-size:.8125rem;font-weight:500;text-decoration:none}.gamification-link:hover{text-decoration:underline}.gamification-error{color:#dc2626;margin:0;font-size:.875rem}.achievement-notifications{z-index:1000;flex-direction:column;gap:.75rem;max-width:360px;display:flex;position:fixed;top:1rem;right:1rem}.achievement-toast{background-color:#fff;border:1px solid #d1fae5;border-left:4px solid #10b981;border-radius:8px;align-items:flex-start;gap:.75rem;padding:1rem;animation:.3s ease-out slideIn;display:flex;box-shadow:0 4px 12px #0000001a}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.achievement-toast-icon{background-color:#f0fdf4;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.25rem;display:flex}.achievement-toast-badge-img{object-fit:contain;width:28px;height:28px}.achievement-toast-content{flex:1;min-width:0}.achievement-toast-title{color:#059669;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .125rem;font-size:.6875rem;font-weight:600}.achievement-toast-name{color:#1f2937;margin:0 0 .125rem;font-size:.9375rem;font-weight:600}.achievement-toast-xp{color:#059669;margin:0;font-size:.8125rem;font-weight:500}.achievement-toast-dismiss{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:1.25rem;line-height:1;display:flex}.achievement-toast-dismiss:hover{color:#6b7280;background-color:#f3f4f6}.course-admin-layout{gap:0;min-height:calc(100vh - 56px - 4rem);margin:-2rem -1.5rem;display:flex}.course-admin-nav{background-color:#fff;border-right:1px solid #e5e7eb;flex-direction:column;width:240px;min-width:240px;padding:0;display:flex}.course-admin-nav-header{border-bottom:1px solid #e5e7eb;padding:1.25rem 1.5rem}.course-admin-nav-course-name{color:#1f2937;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.9375rem;font-weight:600;overflow:hidden}.course-admin-nav-subtitle{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.course-admin-nav-list{flex-direction:column;gap:.125rem;margin:0;padding:.75rem 0;list-style:none;display:flex}.course-admin-nav-item{margin:0;padding:0}.course-admin-nav-link{color:#4b5563;border-left:3px solid #0000;padding:.625rem 1.5rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s;display:block}.course-admin-nav-link:hover{color:#1f2937;background-color:#f3f4f6}.course-admin-nav-link--active{color:#5624d0;background-color:#f5f3ff;border-left-color:#5624d0;font-weight:600}.course-admin-loading{color:#6b7280;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1rem;font-size:.875rem;display:flex}.course-admin-error{color:#dc2626;flex:1;padding:2rem;font-size:.875rem}.course-admin-access-denied{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1rem;padding:2rem;display:flex}.course-admin-access-denied h2{color:#dc2626;margin:0;font-size:1.25rem;font-weight:600}.course-admin-access-denied p{color:#6b7280;margin:0;font-size:.875rem}.course-admin-content{flex:1;padding:2rem}.course-admin-content-section{max-width:1340px}.course-admin-content-section h2{color:#1f2937;margin:0 0 1.5rem;font-size:1.25rem;font-weight:600}.course-admin-content-actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.course-admin-add-section-form{align-items:center;gap:.5rem;display:flex}.course-admin-add-section-input{border:1px solid #d1d5db;border-radius:.375rem;flex:1;max-width:300px;padding:.5rem .75rem;font-size:.875rem}.course-admin-add-section-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f626}.course-admin-toc-empty{color:#6b7280;padding:1rem 0;font-size:.875rem}.course-admin-enrollments-section{max-width:1340px}.course-admin-enrollments-section h2{color:#1f2937;margin:0 0 1.5rem;font-size:1.25rem;font-weight:600}.course-admin-section-heading{color:#374151;margin:1.5rem 0 .75rem;font-size:1rem;font-weight:600}.course-admin-section-heading:first-child{margin-top:0}.course-admin-requests-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.course-admin-request-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.375rem;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.course-admin-request-user-info{flex-direction:column;gap:.125rem;display:flex}.course-admin-request-email{color:#1f2937;font-size:.875rem;font-weight:500}.course-admin-request-name{color:#6b7280;font-size:.75rem}.course-admin-request-actions{gap:.5rem;display:flex}.course-admin-users-table{border-collapse:collapse;width:100%;font-size:.875rem}.course-admin-users-table th,.course-admin-users-table td{text-align:left;border-bottom:1px solid #e5e7eb;padding:.625rem .75rem}.course-admin-users-table th{color:#374151;background:#f9fafb;font-weight:600}.course-admin-users-table td{color:#1f2937}.course-admin-role-badge{border-radius:9999px;padding:.125rem .5rem;font-size:.75rem;font-weight:500;display:inline-block}.course-admin-role-instructor{color:#1d4ed8;background:#dbeafe}.course-admin-role-ta{color:#92400e;background:#fef3c7}.course-admin-role-student{color:#374151;background:#f3f4f6}.course-admin-invite-form{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.course-admin-invite-email-input{border:1px solid #d1d5db;border-radius:.375rem;min-width:220px;padding:.5rem .75rem;font-size:.875rem}.course-admin-invite-email-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f626}.course-admin-invite-role-select{background:#fff;border:1px solid #d1d5db;border-radius:.375rem;padding:.5rem .75rem;font-size:.875rem}.course-admin-invite-message{border-radius:.375rem;margin-top:.5rem;padding:.5rem .75rem;font-size:.8125rem}.course-admin-invite-success{color:#065f46;background:#ecfdf5}.course-admin-invite-error{color:#991b1b;background:#fef2f2}.course-admin-role-select{box-sizing:border-box;background:#fff;border:1px solid #d1d5db;border-radius:.375rem;height:2rem;padding:.25rem .5rem;font-size:.8125rem;line-height:1.25}.course-admin-empty-state{color:#6b7280;padding:1rem 0;font-size:.875rem}.course-admin-content-section .content-item{flex-direction:column;margin-left:1.5rem;padding:.25rem 0;display:flex}.course-admin-content-section .content-item .content-item-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.course-admin-content-section .content-item .content-item-link{flex:1;align-items:center;gap:.5rem;min-width:0;display:flex}.course-admin-content-section .content-item .toc-section-actions{opacity:1;flex-shrink:0;gap:.25rem;display:flex}.course-admin-content-header{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.course-admin-content-header h2{flex:1;margin:0}.course-admin-header-actions{flex-shrink:0;align-items:center;gap:.375rem;display:flex}.course-admin-action-btn{color:#2563eb;cursor:pointer;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.course-admin-action-btn:hover:not(:disabled){color:#1d4ed8;background:#dbeafe;border-color:#93c5fd}.course-admin-action-btn:focus-visible{outline-offset:2px;outline:2px solid #3b82f6}.course-admin-action-btn:disabled{opacity:.5;cursor:not-allowed}.course-admin-action-btn svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;width:1rem;height:1rem}.course-admin-content-section .toc-section-actions{opacity:1}.content-item-type-badge--legacy{color:#92400e;background-color:#fef3c7}.content-item-legacy{cursor:pointer;color:#4a5568;text-align:left;background:0 0;border:1px solid #0000;border-radius:4px;flex:1;align-items:center;gap:.5rem;width:100%;min-width:0;padding:.4rem .5rem;font-size:.9rem;transition:background-color .15s,border-color .15s;display:flex}.content-item-legacy:hover{background-color:#fffbeb;border-color:#fef3c7}.enrollment-confirm-overlay{z-index:1000;background-color:#00000073;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.enrollment-confirm-dialog{background:#fff;border-radius:8px;flex-direction:column;gap:1rem;width:100%;max-width:400px;padding:1.5rem;display:flex;box-shadow:0 20px 60px #00000040}.enrollment-confirm-dialog--wide{max-width:min(960px,98vw);max-height:92vh;overflow-y:auto}.enrollment-confirm-dialog--wide .course-admin-invite-email-input{width:100%;min-width:0;padding:.25rem .375rem;font-size:.8125rem}.enrollment-confirm-title{color:#111827;margin:0;font-size:1.0625rem;font-weight:600}.enrollment-confirm-body{color:#374151;margin:0;font-size:.875rem;line-height:1.5}.enrollment-confirm-actions{justify-content:flex-end;gap:.625rem;margin-top:.25rem;display:flex}.modal-form-grid{grid-template-columns:8.5rem 1fr;align-items:center;gap:.5rem .75rem;display:grid}.modal-form-grid label{color:#374151;text-align:right;white-space:nowrap;font-size:.875rem;font-weight:500}.modal-form-grid input,.modal-form-grid textarea{color:#111827;box-sizing:border-box;background:#fff;border:1px solid #d1d5db;border-radius:4px;width:100%;padding:.4rem .625rem;font-size:.875rem}.modal-form-grid input:focus,.modal-form-grid textarea:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 2px #2563eb26}.modal-form-grid input:disabled,.modal-form-grid input[readonly],.modal-form-grid textarea:disabled{color:#6b7280;cursor:default;background:#f3f4f6}.modal-form-grid textarea{resize:vertical;align-self:start}.modal-form-grid .modal-form-separator{border:none;border-top:1px solid #e5e7eb;grid-column:1/-1;margin:.25rem 0}.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.sortable-th:hover{background:#f3f4f6}.sort-indicator{color:#9ca3af;vertical-align:middle;margin-left:.3em;font-size:.7em;display:inline-block}.sortable-th[aria-sort=ascending] .sort-indicator,.sortable-th[aria-sort=descending] .sort-indicator{color:#2563eb}.table-pagination{color:#6b7280;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.625rem 0;font-size:.875rem;display:flex}.table-pagination-info{white-space:nowrap}.table-pagination-controls{align-items:center;gap:.25rem;display:flex}.table-pagination-controls button{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:4px;min-width:2rem;height:2rem;padding:0 .5rem;font-size:.8125rem;line-height:1}.table-pagination-controls button:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.table-pagination-controls button:disabled{opacity:.4;cursor:default}.table-pagination-controls button[aria-current=page]{color:#fff;background:#2563eb;border-color:#2563eb;font-weight:600}.table-pagination-page-size{align-items:center;gap:.375rem;display:flex}.table-pagination-page-size select{color:#374151;background:#fff;border:1px solid #d1d5db;border-radius:4px;height:2rem;padding:0 .375rem;font-size:.8125rem}.import-modal-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.import-modal{background:#fff;border-radius:8px;flex-direction:column;width:100%;max-width:520px;max-height:90vh;display:flex;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.import-modal-header{border-bottom:1px solid #e5e7eb;flex-shrink:0;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem 1rem;display:flex}.import-modal-title{color:#111827;margin:0;font-size:1.125rem;font-weight:600}.import-modal-close-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25rem .5rem;font-size:1.25rem;line-height:1;transition:background-color .15s,color .15s}.import-modal-close-btn:hover:not(:disabled){color:#111827;background-color:#f3f4f6}.import-modal-close-btn:disabled{opacity:.4;cursor:not-allowed}.import-modal-body{flex-direction:column;flex:1;gap:1rem;padding:1.25rem 1.5rem;display:flex}.import-modal-footer{border-top:1px solid #e5e7eb;flex-shrink:0;justify-content:flex-end;align-items:center;gap:.75rem;padding:1rem 1.5rem;display:flex}.import-modal-field{flex-direction:column;gap:.375rem;display:flex}.import-modal-label{color:#374151;font-size:.875rem;font-weight:500}.import-modal-file-input{color:#374151;font-size:.875rem}.import-modal-filename{color:#6b7280;margin:0;font-size:.8125rem}.import-modal-mode-fieldset{border:1px solid #e5e7eb;border-radius:6px;margin:0;padding:.75rem 1rem}.import-modal-mode-fieldset:disabled{opacity:.5}.import-modal-radio-label{cursor:pointer;flex-direction:column;gap:.125rem;padding:.5rem 0;display:flex}.import-modal-radio-label+.import-modal-radio-label{border-top:1px solid #f3f4f6}.import-modal-radio-label input[type=radio]{margin-right:.5rem}.import-modal-radio-title{color:#111827;font-size:.875rem;font-weight:500}.import-modal-radio-desc{color:#6b7280;margin-left:1.375rem;font-size:.8125rem;line-height:1.4}.import-modal-replace-warning{color:#92400e;background-color:#fef3c7;border:1px solid #f59e0b;border-radius:6px;padding:.75rem 1rem;font-size:.875rem}.import-modal-error{color:#b91c1c;background-color:#fef2f2;border:1px solid #fca5a5;border-radius:6px;padding:.75rem 1rem;font-size:.875rem}.import-modal-progress{color:#6b7280;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.import-success-notification{color:#166534;background-color:#f0fdf4;border:1px solid #86efac;border-radius:6px;margin-top:.5rem;padding:.625rem .875rem;font-size:.875rem}.export-button-container{flex-direction:column;align-items:flex-start;gap:.25rem;display:flex}.export-button-error{color:#b91c1c;margin:0;font-size:.8125rem}.drag-handle{cursor:grab;color:#9ca3af;-webkit-user-select:none;user-select:none;flex-shrink:0;padding:0 .25rem;font-size:1rem;line-height:1}.drag-handle:active{cursor:grabbing}.section-drag-handle{padding:0 .375rem 0 0}.toc-section--dragging,.content-item--dragging{opacity:.4}.toc-section--drag-over>.toc-section-header,.content-item--drag-over{outline-offset:2px;background-color:#eff6ff;border-radius:4px;outline:2px dashed #3b82f6}.course-admin-add-section-btn{color:#2563eb;background:#f9fafb;border:1px solid #d1d5db;border-radius:6px;align-items:center;gap:.375rem;padding:.4rem .75rem;font-size:.875rem;display:inline-flex;width:auto!important}.course-admin-add-section-btn svg{color:#2563eb;flex-shrink:0}.course-admin-add-section-btn:hover{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.toc-add-section-label{color:#374151;font-size:.875rem;font-weight:500}.delete-confirm-dialog{border:none;border-radius:8px;width:calc(100vw - 2rem);max-width:400px;margin:0;padding:0;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 20px 60px #00000040}.delete-confirm-dialog::backdrop{background-color:#00000073}.delete-confirm-dialog__content{flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.delete-confirm-dialog__title{color:#111827;margin:0;font-size:1.0625rem;font-weight:600}.delete-confirm-dialog__body{color:#374151;margin:0;font-size:.875rem;line-height:1.5}.delete-confirm-dialog__actions{justify-content:flex-end;gap:.625rem;display:flex}.btn-danger:not(.table-action-btn){color:#fff;background-color:#dc2626;border-color:#dc2626}.btn-danger:not(.table-action-btn):hover{background-color:#b91c1c;border-color:#b91c1c}.content-item-access-badge{opacity:.8;flex-shrink:0;font-size:.75rem;line-height:1}.content-item--editing{background:#f8faff;border:1px solid #bfdbfe;border-radius:6px;margin-bottom:.5rem;padding:.75rem}.toc-item-form-header{color:#374151;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:flex}.toc-section-content--item-drag-over{outline-offset:2px;background-color:#eff6ff;border-radius:4px;outline:2px dashed #3b82f6;min-height:2rem}.toc-section-content--drop-target{border:2px dashed #d1d5db;border-radius:4px;min-height:3rem;margin:.25rem .5rem}.course-admin-messaging-section{max-width:1000px}.course-admin-messaging-section h2{color:#1f2937;margin:0 0 1.5rem;font-size:1.25rem;font-weight:600}.messaging-empty-channel,.messaging-deactivated{text-align:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:3rem 2rem;display:flex}.messaging-empty-icon,.messaging-deactivated-icon{font-size:2.5rem;line-height:1}.messaging-empty-title,.messaging-deactivated-title{color:#374151;margin:0;font-size:1rem;font-weight:600}.messaging-empty-description,.messaging-deactivated-description{color:#6b7280;margin:0;font-size:.875rem}.messaging-linked-group{color:#166534;background:#f0fdf4;border:1px solid #86efac;border-radius:9999px;align-items:center;gap:.375rem;padding:.25rem .625rem;font-size:.8125rem;display:inline-flex}.messaging-linked-group-icon{font-size:.875rem;line-height:1}.messaging-linked-group-name{text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-weight:600;overflow:hidden}.messaging-linked-group-chat-id{color:#15803d;opacity:.8;font-family:ui-monospace,monospace;font-size:.75rem}.messaging-section-header{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.messaging-unlink-section{flex-direction:column;gap:.25rem;display:flex}.messaging-tab-bar{scrollbar-width:thin;border-bottom:2px solid #e5e7eb;gap:0;margin-bottom:0;display:flex;overflow-x:auto}.messaging-tab{color:#6b7280;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:.625rem 1rem;font-size:.875rem;font-weight:500;transition:color .15s,border-color .15s}.messaging-tab:hover{color:#1f2937;background:#f9fafb}.messaging-tab--active{color:#1d4ed8;border-bottom-color:#3b82f6;font-weight:600}.messaging-tab-content{background:#fff;border:1px solid #e5e7eb;border-top:none;border-radius:0 0 .5rem .5rem;flex-direction:column;min-height:400px;display:flex}.messaging-message-list{flex-direction:column;flex:1;gap:.75rem;min-height:300px;max-height:480px;padding:1rem 1.25rem;display:flex;overflow-y:auto}.messaging-load-more-spinner{justify-content:center;padding:.5rem 0;display:flex}.messaging-empty-state{color:#9ca3af;text-align:center;margin:auto;font-size:.875rem}.messaging-fetch-error{color:#dc2626;text-align:center;margin:auto;padding:1rem;font-size:.875rem}.messaging-message{flex-direction:column;gap:.25rem;display:flex}.messaging-message-header{align-items:baseline;gap:.625rem;display:flex}.messaging-message-sender{color:#374151;font-size:.8125rem;font-weight:600}.messaging-message-timestamp{color:#9ca3af;font-size:.75rem}.messaging-message-text{color:#1f2937;white-space:pre-wrap;word-break:break-word;margin:0;font-size:.875rem;line-height:1.5}.messaging-compose-form{background:#f9fafb;border-top:1px solid #e5e7eb;border-radius:0 0 .5rem .5rem;flex-direction:column;gap:.5rem;padding:.875rem 1.25rem 1rem;display:flex}.messaging-send-error{color:#b91c1c;background:#fef2f2;border:1px solid #fca5a5;border-radius:.375rem;padding:.5rem .75rem;font-size:.8125rem}.messaging-compose-field{flex-direction:column;gap:.25rem;display:flex}.messaging-compose-textarea{resize:vertical;box-sizing:border-box;border:1px solid #d1d5db;border-radius:.375rem;width:100%;padding:.5rem .75rem;font-family:inherit;font-size:.875rem;line-height:1.5;transition:border-color .15s,box-shadow .15s}.messaging-compose-textarea:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f626}.messaging-compose-textarea--error{border-color:#f87171}.messaging-compose-textarea--error:focus{border-color:#dc2626;box-shadow:0 0 0 2px #dc262626}.messaging-compose-error{color:#dc2626;margin:0;font-size:.8125rem}.messaging-compose-actions{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.messaging-char-count{color:#9ca3af;font-size:.75rem}.access-rule-panel{background:#f8faff;border:1px solid #bfdbfe;border-radius:6px;margin:.5rem 0 .5rem 1.5rem;padding:1rem}.access-rule-panel__header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.access-rule-panel__title{color:#1f2937;margin:0;font-size:.9375rem;font-weight:600}.access-rule-panel__close{flex-shrink:0}.access-rule-panel__loading,.access-rule-panel__empty{color:#6b7280;margin:0 0 .75rem;font-size:.875rem}.access-rule-panel__rules{flex-direction:column;gap:.5rem;margin-bottom:.75rem;display:flex}.access-rule-panel__form{margin-top:.75rem}.access-rule-panel__form-title{color:#374151;margin:0 0 .75rem;font-size:.875rem;font-weight:600}.access-rule-panel-add-options{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.access-rule-panel-add-option--disabled{opacity:.45;cursor:not-allowed}.rule-read-view{background:#fff;border:1px solid #e5e7eb;border-radius:6px;justify-content:space-between;align-items:center;gap:.75rem;padding:.625rem .75rem;display:flex}.rule-read-view__text{color:#374151;flex:1;font-size:.875rem}.rule-read-view__actions{flex-shrink:0;gap:.375rem;display:flex}.rule-form{flex-direction:column;gap:.75rem;display:flex}.rule-form-field{flex-direction:column;gap:.25rem;display:flex}.rule-form-label{color:#374151;font-size:.875rem;font-weight:500}.rule-form-input{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:4px;max-width:320px;padding:.5rem .625rem;font-size:.875rem}.rule-form-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f626}.rule-form-input--error{border-color:#f87171}.rule-form-error{color:#dc2626;margin:0;font-size:.8125rem}.rule-form-error--submit{background:#fef2f2;border:1px solid #fca5a5;border-radius:4px;padding:.375rem .625rem}.rule-form-actions{gap:.5rem;display:flex}.rule-form-confirmation{color:#374151;margin:0;font-size:.875rem}.rule-form-submit-error{color:#b91c1c;background:#fef2f2;border:1px solid #fca5a5;border-radius:4px;padding:.375rem .625rem;font-size:.8125rem}.rule-warning-badge{cursor:default;vertical-align:middle;margin-left:.25rem;font-size:1rem;display:inline-block}.course-admin-access-rules{max-width:1000px}.course-admin-access-rules h2{color:#1f2937;margin:0 0 1.5rem;font-size:1.25rem;font-weight:600}.access-rules-section{margin-bottom:2rem}.access-rules-section h3{color:#374151;border-bottom:1px solid #e5e7eb;margin:0 0 .75rem;padding-bottom:.375rem;font-size:1rem;font-weight:600}.access-rules-rule-list{flex-direction:column;gap:.5rem;display:flex}.access-rules-rule-row{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.access-rules-rule-row--editing{background:#f0f9ff;border-color:#7dd3fc}.access-rules-rule-item-title{color:#1f2937;text-overflow:ellipsis;white-space:nowrap;flex:none;max-width:200px;font-weight:600;overflow:hidden}.access-rules-rule-summary{color:#374151;flex:1}.access-rules-rule-meta{color:#6b7280;flex-basis:100%;font-size:.8125rem}.access-rules-status-badge{color:#1d4ed8;background:#dbeafe;border-radius:9999px;flex-shrink:0;padding:.125rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.access-rules-warning-badge{cursor:default;flex-shrink:0;font-size:1rem}.access-rules-empty-state{text-align:center;color:#6b7280;padding:2rem;font-size:.875rem}.access-rules-empty-state p{margin:0 0 .5rem}.access-rules-section-empty{color:#9ca3af;margin:0;padding:.5rem 0;font-size:.875rem}.editor-dialog{background:#fff;border:none;border-radius:10px;flex-direction:column;width:min(1340px,100vw - 2rem);max-height:calc(100vh - 4rem);margin:0;padding:0;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 24px 64px #0000004d}.editor-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#00000080}.editor-dialog--fullscreen{border-radius:0;width:100vw;height:100vh;max-height:100vh;top:0;left:0;transform:none}.editor-dialog__header{background:#f9fafb;border-bottom:1px solid #e5e7eb;border-radius:10px 10px 0 0;flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.editor-dialog--fullscreen .editor-dialog__header{border-radius:0}.editor-dialog__title{color:#111827;align-items:center;gap:.5rem;min-width:0;font-size:.9375rem;font-weight:600;display:flex;overflow:hidden}.editor-dialog__title span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.editor-dialog__title-btn{font:inherit;color:#111827;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:.25rem;align-items:center;gap:.375rem;max-width:100%;padding:.125rem .375rem;font-size:.9375rem;font-weight:600;transition:border-color .15s,background-color .15s;display:inline-flex;overflow:hidden}.editor-dialog__title-btn:hover{background-color:#f9fafb;border-color:#d1d5db}.editor-dialog__title-edit-icon{opacity:0;flex-shrink:0;transition:opacity .15s}.editor-dialog__title-btn:hover .editor-dialog__title-edit-icon{opacity:.6}.editor-dialog__title-input{font:inherit;color:#111827;border:1px solid #6366f1;border-radius:.25rem;outline:none;min-width:12rem;max-width:100%;padding:.125rem .375rem;font-size:.9375rem;font-weight:600;box-shadow:0 0 0 2px #6366f126}.editor-dialog__controls{flex-shrink:0;align-items:center;gap:.25rem;display:flex}.editor-dialog__btn{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;transition:background-color .15s,color .15s;display:flex}.editor-dialog__btn:hover{color:#111827;background-color:#f3f4f6}.editor-dialog__btn--close:hover{color:#dc2626;background-color:#fee2e2}.editor-dialog__body{flex-direction:column;flex:1;min-height:0;padding:1rem;display:flex;overflow-y:auto}.editor-dialog__body .loading-container{justify-content:center;align-items:center;min-height:200px;display:flex}.editor-dialog__body>*{flex:1;min-height:0}.editor-dialog__body .exam-editor{flex:none;overflow-y:auto}.editor-dialog__footer{border-top:1px solid #e0e0e0;flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;padding:12px 16px;display:flex}.editor-dialog__autosave-status{color:#666;margin-right:auto;font-size:13px;font-style:italic}.editor-dialog__autosave-status--saved{color:#2b8a3e}.editor-dialog__btn--primary{color:#fff;cursor:pointer;background:#1a73e8;border:1px solid #1a73e8;border-radius:6px;width:auto;height:auto;padding:8px 20px;font-size:14px;font-weight:500}.editor-dialog__btn--primary:hover{background:#1557b0}.editor-dialog__btn--secondary{color:#333;cursor:pointer;background:#f5f5f5;border:1px solid #d0d0d0;border-radius:6px;width:auto;height:auto;padding:8px 20px;font-size:14px;font-weight:500}.editor-dialog__btn--secondary:hover{background:#e8e8e8}.btn-primary:not(.table-action-btn){color:#fff;background-color:#3b82f6;border-color:#3b82f6}.btn-primary:not(.table-action-btn):hover:not(:disabled){background-color:#2563eb;border-color:#2563eb}.btn-secondary:not(.table-action-btn){color:#374151;background-color:#fff;border-color:#d1d5db}.btn-secondary:not(.table-action-btn):hover:not(:disabled){background-color:#f9fafb;border-color:#9ca3af}.btn.table-action-btn.table-action-btn--edit,.btn.table-action-btn.table-action-btn--delete{background-color:#fff}.btn.table-action-btn.table-action-btn--edit{color:#1d4ed8;border-color:#bfdbfe}.btn.table-action-btn.table-action-btn--edit:hover:not(:disabled){background-color:#eff6ff;border-color:#93c5fd}.btn.table-action-btn.table-action-btn--delete{color:#991b1b;border-color:#fecaca}.btn.table-action-btn.table-action-btn--delete:hover:not(:disabled){background-color:#fef2f2;border-color:#fca5a5}.syllabus-version-badge{color:#1e40af;background:#dbeafe;border-radius:9999px;padding:.125rem .5rem;font-size:.75rem;font-weight:500}.syllabus-tree{flex-direction:column;gap:.25rem;display:flex}.syllabus-section-node{border-radius:6px;overflow:hidden}.syllabus-section-depth-1{border:1px solid #e5e7eb;margin-bottom:.5rem}.syllabus-section-depth-2{border-left:2px solid #bfdbfe;margin:.25rem 0 .25rem 1rem}.syllabus-section-depth-3{border-left:2px solid #ddd6fe;margin:.25rem 0 .25rem 1.5rem}.syllabus-section-toggle{cursor:pointer;text-align:left;color:#111827;background:0 0;border:none;align-items:baseline;gap:.5rem;width:100%;padding:.625rem .75rem;font-size:.875rem;transition:background-color .12s;display:flex}.syllabus-section-depth-1>.syllabus-section-toggle{background:#f9fafb;font-weight:600}.syllabus-section-toggle:hover{background:#eff6ff}.syllabus-toggle-icon{color:#6b7280;flex-shrink:0;margin-top:1px;font-size:.625rem}.syllabus-section-code{color:#1d4ed8;flex-shrink:0;font-size:.8125rem;font-weight:700}.syllabus-section-title{color:#1f2937;flex:1}.syllabus-section-body{padding:.375rem .75rem .625rem}.syllabus-section-framework{background:#f0f9ff;border:1px solid #bae6fd;border-radius:5px;margin:.375rem 0;padding:.5rem .75rem;font-size:.8125rem}.syllabus-framework-row{align-items:baseline;gap:.5rem;margin-bottom:.25rem;display:flex}.syllabus-framework-row:last-child{margin-bottom:0}.syllabus-framework-ref{color:#0369a1;flex-shrink:0;font-weight:600}.syllabus-framework-statement{color:#374151}.syllabus-outcomes{margin-top:.375rem}.syllabus-outcomes-label{color:#475569;text-transform:uppercase;letter-spacing:.03em;margin-bottom:.25rem;font-size:.75rem;font-weight:600}.syllabus-outcomes-list{margin:0;padding-left:1.25rem;list-style:outside}.syllabus-outcome-item{align-items:baseline;gap:.375rem;margin-bottom:.125rem;font-size:.8125rem;display:flex}.syllabus-children{margin-top:.25rem}.pool-exam-editor{flex-direction:column;gap:1rem;padding:.25rem 0;display:flex}.pool-exam-bank-selector{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:.75rem;padding:.5rem .75rem;display:flex}.pool-exam-bank-selector .pool-exam-label{white-space:nowrap;color:#374151;margin:0;font-size:.875rem;font-weight:600}.pool-exam-bank-select{color:#111827;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;flex:1;min-width:200px;padding:.375rem .625rem;font-size:.875rem}.pool-exam-bank-select:focus{outline-offset:1px;outline:2px solid #2563eb}.pool-exam-settings{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;flex-wrap:wrap;gap:1rem;padding:.75rem;display:flex}.pool-exam-label{color:#374151;flex-direction:column;gap:.25rem;min-width:140px;font-size:.8125rem;font-weight:500;display:flex}.pool-exam-label--inline{min-width:unset;flex-direction:row;align-items:center;gap:.5rem}.pool-exam-input{color:#1f2937;background:#fff;border:1px solid #d1d5db;border-radius:5px;width:100%;max-width:120px;padding:.375rem .625rem;font-size:.875rem}.pool-exam-selection-panel{border:1px solid #e5e7eb;border-radius:6px;overflow:hidden}.pool-exam-selection-header{color:#374151;background:#f3f4f6;border-bottom:1px solid #e5e7eb;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.5rem;padding:.5rem .75rem;font-size:.8125rem;font-weight:600;display:flex}.pool-exam-selection-count{color:#6b7280;font-size:.75rem;font-weight:400}.pool-exam-selection-right{flex-direction:column;align-items:flex-end;gap:.2rem;display:flex}.pool-exam-count-loading{color:#9ca3af;font-size:.75rem;font-style:italic}.pool-exam-matching-count{border-radius:10px;padding:1px 8px;font-size:.75rem;font-weight:600}.pool-exam-matching-count--ok{color:#15803d;background:#dcfce7}.pool-exam-matching-count--low{color:#a16207;background:#fef9c3}.pool-exam-matching-count--none{color:#b91c1c;background:#fee2e2}.pool-exam-tree{max-height:360px;padding:.5rem .75rem;overflow-y:auto}.pool-exam-section-node{margin-bottom:.25rem}.pool-exam-section-label{cursor:pointer;align-items:baseline;gap:.5rem;padding:.25rem 0;font-size:.8125rem;display:flex}.pool-exam-section-code{color:#1d4ed8;flex-shrink:0;font-weight:700}.pool-exam-section-title{color:#1f2937}.pool-exam-outcomes-list{margin:0;padding:0;list-style:none}.pool-exam-outcome-label{cursor:pointer;color:#374151;align-items:baseline;gap:.375rem;padding:.2rem 0 .2rem 1.5rem;font-size:.8125rem;display:flex}.pool-exam-outcome-ref{color:#0369a1;flex-shrink:0;font-weight:600}.pool-exam-outcome-statement{color:#374151}.pool-exam-loading,.pool-exam-error,.pool-exam-empty{color:#6b7280;padding:.75rem;font-size:.8125rem}.pool-exam-error{color:#991b1b}.pool-exam-footer{align-items:center;gap:.75rem;display:flex}.pool-exam-saved-hint{color:#059669;font-size:.8125rem}.populate-syllabus-modal{background:#fff;border:none;border-radius:10px;flex-direction:column;width:calc(100vw - 100px);max-width:calc(100vw - 100px);height:calc(100vh - 100px);max-height:calc(100vh - 100px);padding:0;display:flex;position:fixed;top:50px;left:50px;transform:none;box-shadow:0 20px 60px #0003}.populate-syllabus-modal::backdrop{background-color:#00000073}.populate-syllabus-modal__header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.populate-syllabus-modal__title{color:#1f2937;margin:0;font-size:1.0625rem;font-weight:600}.populate-syllabus-modal__content{flex:1;min-height:200px;padding:1rem 1.5rem;overflow-y:auto}.populate-syllabus-modal__loading{color:#6b7280;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:3rem 1rem;font-size:.875rem;display:flex}.populate-syllabus-modal__error{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:2rem 1rem;display:flex}.populate-syllabus-modal__error-message{color:#dc2626;margin:0;font-size:.875rem}.populate-syllabus-modal__controls{border-bottom:1px solid #f3f4f6;align-items:center;gap:.75rem;margin-bottom:.75rem;padding-bottom:.75rem;display:flex}.populate-syllabus-modal__controls button{color:#4b5563;cursor:pointer;background:0 0;border:1px solid #d1d5db;border-radius:4px;padding:.25rem .625rem;font-size:.8125rem;transition:background-color .15s,border-color .15s}.populate-syllabus-modal__controls button:hover{background-color:#f3f4f6;border-color:#9ca3af}.populate-syllabus-modal__selected-count{color:#6b7280;margin-left:auto;font-size:.8125rem;font-weight:500}.populate-syllabus-modal__tree{margin:0;padding:0;list-style:none}.populate-syllabus-modal__tree-item{color:#1f2937;align-items:center;gap:.5rem;padding:.375rem 0;font-size:.875rem;display:flex}.populate-syllabus-modal__tree-item input[type=checkbox]{accent-color:#5624d0;cursor:pointer;flex-shrink:0;width:1rem;height:1rem}.populate-syllabus-modal__tree-item-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.populate-syllabus-modal__footer{border-top:1px solid #e5e7eb;justify-content:flex-end;align-items:center;gap:.75rem;padding:1rem 1.5rem;display:flex}.populate-syllabus-modal__progress{color:#4b5563;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:2rem 1rem;font-size:.875rem;display:flex}.populate-syllabus-modal__progress-bar{background-color:#e5e7eb;border-radius:3px;width:100%;max-width:300px;height:6px;overflow:hidden}.populate-syllabus-modal__progress-bar-fill{background-color:#5624d0;border-radius:3px;height:100%;transition:width .3s}.populate-syllabus-modal__banner{color:#92400e;background-color:#fef3c7;border:1px solid #f59e0b;border-radius:6px;align-items:flex-start;gap:.75rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.populate-syllabus-modal__banner-content{flex:1}.populate-syllabus-modal__banner-content p{margin:0 0 .5rem}.populate-syllabus-modal__banner-list{margin:0;padding-left:1.25rem;list-style:outside}.populate-syllabus-modal__banner-list li{margin-bottom:.25rem}.populate-syllabus-modal__banner-dismiss{color:#92400e;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:.25rem;font-size:1rem;line-height:1}.populate-syllabus-modal__banner-dismiss:hover{color:#78350f}.modal-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:12px;padding:1.5rem;position:relative;box-shadow:0 20px 60px #0000004d}.modal-close-btn{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25rem .5rem;font-size:1.5rem;line-height:1;position:absolute;top:.75rem;right:.75rem}.modal-close-btn:hover{color:#374151;background:#f3f4f6}.modal-input{box-sizing:border-box;border:1px solid #d1d5db;border-radius:6px;outline:none;width:100%;padding:.625rem .75rem;font-size:.9375rem;transition:border-color .15s}.modal-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.modal-input--error{border-color:#ef4444}.modal-input::placeholder{color:#9ca3af}.accessibility-prompts{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;margin-top:.75rem;overflow:hidden}.accessibility-prompts-header{align-items:center;display:flex}.accessibility-prompts-toggle{cursor:pointer;color:#2d3748;text-align:left;background:0 0;border:none;align-items:center;gap:.5rem;width:100%;padding:.625rem .75rem;font-size:.85rem;transition:background-color .15s;display:flex}.accessibility-prompts-toggle:hover{background-color:#edf2f7}.accessibility-prompts-icon{flex-shrink:0;font-size:1rem}.accessibility-prompts-title{flex:1;font-weight:500}.accessibility-score{border-radius:9999px;padding:.125rem .5rem;font-size:.75rem;font-weight:600}.score-complete{color:#065f46;background-color:#d1fae5}.score-incomplete{color:#92400e;background-color:#fef3c7}.accessibility-toggle-icon{color:#718096;flex-shrink:0;font-size:.65rem}.accessibility-prompts-body{border-top:1px solid #e2e8f0;padding:.75rem}.accessibility-checklist{flex-direction:column;gap:.375rem;margin:0 0 .75rem;padding:0;list-style:none;display:flex}.accessibility-check-item{align-items:center;gap:.5rem;padding:.25rem 0;font-size:.8125rem;display:flex}.check-icon{text-align:center;flex-shrink:0;width:1.25rem;font-size:.875rem}.check-complete .check-icon{color:#059669}.check-incomplete .check-icon{color:#9ca3af}.check-label{color:#374151}.check-complete .check-label{color:#065f46}.accessibility-field{border-top:1px solid #e2e8f0;margin-top:.75rem;padding-top:.75rem;position:relative}.accessibility-field-label{color:#374151;margin-bottom:.375rem;font-size:.8125rem;font-weight:500;display:block}.accessibility-field-hint{color:#6b7280;margin-left:.25rem;font-weight:400}.accessibility-field-input{resize:vertical;border:1px solid #e2e8f0;border-radius:4px;width:100%;padding:.4rem .6rem;font-family:inherit;font-size:.8125rem;transition:border-color .15s}.accessibility-field-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f61a}.accessibility-field-help{color:#6b7280;margin:.25rem 0 0;font-size:.75rem;line-height:1.4}.accessibility-char-count{color:#9ca3af;font-size:.7rem;position:absolute;bottom:0;right:0}.accessibility-warning{background-color:#fffbeb;border:1px solid #fef3c7;border-radius:6px;align-items:flex-start;gap:.5rem;margin-top:.75rem;padding:.625rem .75rem;display:flex}.accessibility-warning-content{flex:1;align-items:flex-start;gap:.375rem;display:flex}.accessibility-warning-icon{flex-shrink:0;font-size:.875rem}.accessibility-warning-text{color:#92400e;margin:0;font-size:.8rem;line-height:1.4}.accessibility-warning-dismiss{cursor:pointer;color:#92400e;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;font-size:1rem;transition:background-color .15s;display:flex}.accessibility-warning-dismiss:hover{background-color:#fef3c7}.visibility-selector{align-items:center;display:inline-flex;position:relative}.visibility-badge{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:9999px;align-items:center;gap:.25rem;padding:.2rem .55rem;font-size:.75rem;font-weight:500;line-height:1.4;transition:opacity .15s,box-shadow .15s;display:inline-flex}.visibility-badge:disabled{opacity:.6;cursor:not-allowed}.visibility-badge:focus-visible{outline-offset:2px;outline:2px solid}.visibility-badge--draft{color:#6b7280;background-color:#f3f4f6;border-color:#d1d5db}.visibility-badge--published{color:#065f46;background-color:#d1fae5;border-color:#6ee7b7}.visibility-badge--scheduled{color:#92400e;background-color:#fef3c7;border-color:#fcd34d}.visibility-badge--hidden{color:#9d174d;background-color:#fce7f3;border-color:#f9a8d4}.visibility-badge__icon{font-size:.8rem}.visibility-badge__caret{opacity:.7;font-size:.6rem}.visibility-panel{z-index:100;background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:.6rem;min-width:220px;padding:.75rem;display:flex;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 4px 12px #0000001f}.visibility-panel__field{flex-direction:column;gap:.2rem;display:flex}.visibility-panel__label{color:#374151;text-transform:uppercase;letter-spacing:.03em;font-size:.75rem;font-weight:600}.visibility-panel__select{color:#1f2937;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.4rem .6rem;font-size:.875rem;transition:border-color .15s}.visibility-panel__select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f633}.visibility-panel__select:disabled{cursor:not-allowed;background:#f9fafb}.visibility-panel__date-input{color:#1f2937;border:1px solid #d1d5db;border-radius:6px;padding:.4rem .6rem;font-size:.875rem;transition:border-color .15s}.visibility-panel__date-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f633}.visibility-panel__date-input:disabled{cursor:not-allowed;background:#f9fafb}.visibility-panel__error{color:#991b1b;background:#fef2f2;border:1px solid #fca5a5;border-radius:4px;margin:0;padding:.35rem .6rem;font-size:.8125rem;line-height:1.4}.visibility-panel__actions{border-top:1px solid #f3f4f6;justify-content:flex-end;gap:.5rem;padding-top:.25rem;display:flex}.visibility-panel__save-btn,.visibility-panel__cancel-btn{cursor:pointer;border:1px solid #0000;border-radius:5px;padding:.3rem .75rem;font-size:.8125rem;font-weight:500;transition:background-color .15s,color .15s}.visibility-panel__save-btn{color:#fff;background-color:#3b82f6;border-color:#3b82f6}.visibility-panel__save-btn:hover:not(:disabled){background-color:#2563eb;border-color:#2563eb}.visibility-panel__save-btn:disabled{opacity:.6;cursor:not-allowed}.visibility-panel__cancel-btn{color:#374151;background-color:#fff;border-color:#d1d5db}.visibility-panel__cancel-btn:hover:not(:disabled){background-color:#f3f4f6}.visibility-panel__cancel-btn:disabled{opacity:.6;cursor:not-allowed}.visibility-panel__save-btn:focus-visible,.visibility-panel__cancel-btn:focus-visible{outline-offset:2px;outline:2px solid #3b82f6}.slide-builder{background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.slide-readonly{border:none}.slide-toolbar{background:#f7fafc;border-bottom:1px solid #e2e8f0;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem;display:flex}.slide-toolbar-group{border-right:1px solid #e2e8f0;align-items:center;gap:.25rem;padding-right:.5rem;display:flex}.slide-toolbar-group:last-of-type{border-right:none}.slide-tool-btn{color:#4a5568;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.375rem .625rem;font-size:.8125rem;transition:background-color .15s}.slide-tool-btn:hover:not(:disabled){background-color:#edf2f7}.slide-tool-btn:disabled{opacity:.4;cursor:not-allowed}.slide-tool-btn-danger{color:#c53030}.slide-tool-btn-danger:hover:not(:disabled){background-color:#fff5f5}.slide-bg-label{color:#4a5568;align-items:center;gap:.375rem;font-size:.8125rem;display:flex}.slide-bg-label input[type=color]{cursor:pointer;border:1px solid #e2e8f0;border-radius:4px;width:28px;height:28px;padding:0}.slide-toolbar-status{align-items:center;gap:.5rem;margin-left:auto;font-size:.75rem;display:flex}.slide-status-saving{color:#d69e2e}.slide-status-saved{color:#38a169}.slide-autosave-warning{color:#744210;background:#fffbeb;border-bottom:1px solid #f6e05e;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.8125rem;display:flex}.slide-save-btn{color:#fff;cursor:pointer;background:#3182ce;border:none;border-radius:4px;padding:.25rem .75rem;font-size:.75rem}.slide-save-btn:hover{background:#2b6cb0}.slide-editor-body{align-items:flex-start;display:flex}.slide-canvas-wrapper{background:#2d3748;flex:1;justify-content:center;align-items:center;min-height:400px;padding:1.5rem;display:flex}.slide-canvas{border-radius:2px;display:block;box-shadow:0 4px 12px #0000004d}.slide-list-panel{background:#f7fafc;border-left:1px solid #e2e8f0;flex-direction:column;flex-shrink:0;width:220px;min-height:400px;display:flex}.slide-list-panel-header{color:#2d3748;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:.5rem .75rem;font-size:.8125rem;font-weight:600;display:flex}.slide-list-panel-header button{cursor:pointer;color:#718096;background:0 0;border:none;padding:0 .25rem;font-size:1rem;line-height:1}.slide-list-panel-header button:hover{color:#2d3748}.slide-list-panel-items{flex-direction:column;flex:1;gap:.5rem;margin:0;padding:.5rem .75rem;list-style:none;display:flex;overflow-y:auto}.slide-list-panel-items li{align-items:center;gap:.375rem;display:flex}.slide-list-panel-items input[type=text]{background:#fff;border:1px solid #e2e8f0;border-radius:4px;outline:none;flex:1;padding:.25rem .375rem;font-family:inherit;font-size:.8125rem}.slide-list-panel-items input[type=text]:focus{border-color:#3182ce;box-shadow:0 0 0 2px #3182ce33}.slide-list-panel-items button{cursor:pointer;color:#e53e3e;background:0 0;border:none;flex-shrink:0;padding:0 .25rem;font-size:.875rem}.slide-list-add-btn{color:#3182ce;cursor:pointer;text-align:center;background:0 0;border:1px dashed #cbd5e0;border-radius:4px;width:calc(100% - 1.5rem);margin:0 .75rem .75rem;padding:.375rem;font-size:.8125rem;transition:background-color .15s}.slide-list-add-btn:hover{background-color:#ebf8ff}.slide-sorter{background:#f7fafc;border-top:1px solid #e2e8f0;gap:.375rem;padding:.75rem;display:flex;overflow-x:auto}.slide-thumb{cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:28px;transition:border-color .15s;display:flex}.slide-thumb:hover{border-color:#90cdf4}.slide-thumb-active{background:#ebf8ff;border-color:#3182ce}.slide-thumb-dragging{opacity:.5}.slide-thumb-dragover{background:#f0fff4;border-color:#38a169}.slide-thumb-number{color:#4a5568;font-size:.6875rem;font-weight:600}.slide-nav-bar{color:#4a5568;border-top:1px solid #e2e8f0;justify-content:center;align-items:center;gap:1rem;padding:.75rem;font-size:.875rem;display:flex}.slide-nav-bar button{cursor:pointer;color:#4a5568;background:0 0;border:1px solid #e2e8f0;border-radius:4px;padding:.25rem .75rem}.slide-nav-bar button:hover:not(:disabled){background:#edf2f7}.slide-nav-bar button:disabled{opacity:.3;cursor:not-allowed}.slide-empty-state{color:#718096;flex-direction:column;justify-content:center;align-items:center;gap:1rem;width:100%;min-height:300px;display:flex}.slide-empty-state-message{margin:0;font-size:1rem}.slide-empty-state-add-btn{color:#fff;cursor:pointer;background:#3182ce;border:none;border-radius:6px;padding:.5rem 1.25rem;font-size:.875rem;transition:background-color .15s}.slide-empty-state-add-btn:hover{background:#2b6cb0}.file-upload-panel{flex-direction:column;gap:1rem;max-width:600px;padding:1rem;display:flex}.file-upload-existing{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:.75rem 1rem}.file-upload-existing-label{color:#6c757d;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;font-size:.75rem}.file-upload-existing-name{color:#212529;margin-bottom:.25rem;font-weight:600}.file-upload-existing-meta{color:#6c757d;font-size:.85rem}.file-upload-dropzone{text-align:center;cursor:pointer;background:#fafbfc;border:2px dashed #ced4da;border-radius:12px;padding:2.5rem 1.5rem;transition:border-color .2s,background-color .2s}.file-upload-dropzone:hover,.file-upload-dropzone:focus-visible{background:#f0f7ff;border-color:#0d6efd;outline:none}.file-upload-dropzone--active{background:#e7f1ff;border-style:solid;border-color:#0d6efd}.file-upload-dropzone-icon{margin-bottom:.75rem;font-size:2.5rem}.file-upload-dropzone-text{color:#212529;margin-bottom:.5rem;font-size:1rem}.file-upload-dropzone-hint{color:#6c757d;font-size:.8rem}.file-upload-progress{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;flex-direction:column;gap:.5rem;padding:1rem;display:flex}.file-upload-progress-filename{color:#495057;white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:500;overflow:hidden}.file-upload-progress-bar-container{background:#e9ecef;border-radius:4px;width:100%;height:8px;overflow:hidden}.file-upload-progress-bar{background:#0d6efd;border-radius:4px;height:100%;transition:width .3s}.file-upload-progress-text{color:#495057;text-align:right;font-size:.85rem;font-weight:600}.file-upload-cancel-btn{color:#dc3545;cursor:pointer;background:0 0;border:1px solid #dc3545;border-radius:4px;align-self:flex-end;padding:.375rem .75rem;font-size:.85rem;transition:background .2s,color .2s}.file-upload-cancel-btn:hover{color:#fff;background:#dc3545}.file-upload-errors{background:#fff5f5;border:1px solid #f8d7da;border-radius:8px;flex-direction:column;gap:.5rem;padding:1rem;display:flex}.file-upload-error{color:#842029;align-items:flex-start;gap:.5rem;font-size:.9rem;display:flex}.file-upload-error-icon{flex-shrink:0}.file-upload-error-message{line-height:1.4}.file-upload-retry-btn{color:#0d6efd;cursor:pointer;background:0 0;border:1px solid #0d6efd;border-radius:4px;align-self:flex-start;margin-top:.5rem;padding:.375rem .75rem;font-size:.85rem;transition:background .2s,color .2s}.file-upload-retry-btn:hover{color:#fff;background:#0d6efd}.file-upload-success{color:#0f5132;background:#d1e7dd;border:1px solid #badbcc;border-radius:8px;align-items:center;gap:.5rem;padding:1rem;font-weight:500;display:flex}.math-preview-dialog{background:#fff;border:none;border-radius:12px;flex-direction:column;width:75vw;max-width:92vw;max-height:90vh;margin:0;padding:0;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 8px 32px #00000026}.math-preview-dialog::backdrop{background:#0006}.math-preview-header{border-bottom:1px solid #e5e7eb;flex-shrink:0;align-items:center;gap:12px;padding:16px 20px;display:flex}.math-preview-title{color:#1f2937;margin:0;font-size:1.1rem;font-weight:600}.math-preview-type-badge{color:#4338ca;text-transform:capitalize;background:#e0e7ff;border-radius:4px;padding:2px 8px;font-size:.75rem;font-weight:500}.math-preview-close{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:4px;margin-left:auto;padding:4px 8px;font-size:1.2rem}.math-preview-nav{align-items:center;gap:6px;margin-left:auto;display:flex}.math-preview-nav-btn{cursor:pointer;color:#374151;background:0 0;border:1px solid #e5e7eb;border-radius:6px;padding:4px 10px;font-size:1rem;line-height:1;transition:background .15s,border-color .15s}.math-preview-nav-btn:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.math-preview-nav-btn:disabled{opacity:.35;cursor:default}.math-preview-nav-counter{color:#6b7280;text-align:center;font-variant-numeric:tabular-nums;min-width:3.5rem;font-size:.8125rem}.math-preview-close{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:4px 8px;font-size:1.2rem}.math-preview-close:hover{color:#1f2937;background:#f3f4f6}.math-preview-body{flex:1;padding:20px;overflow-y:auto}.math-preview-question{margin-bottom:16px}.math-preview-question-text{color:#1f2937;margin:0;font-size:1.05rem;line-height:1.6}.math-preview-options{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.math-preview-option{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;align-items:baseline;gap:8px;padding:10px 14px;display:flex}.math-preview-option--correct{background:#f0fdf4;border-color:#86efac}.math-preview-option-letter{color:#6b7280;flex-shrink:0;font-weight:600}.math-preview-option--correct .math-preview-option-letter{color:#15803d}.math-preview-option-text{color:#374151;flex:1;line-height:1.5}.math-preview-option--correct .math-preview-option-text{color:#15803d;font-weight:500}.math-preview-option-correct-badge{color:#15803d;flex-shrink:0;margin-left:auto;font-size:.9rem;font-weight:700}.math-preview-explanation{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;margin-top:16px;padding:12px 14px;line-height:1.5}.math-preview-outcomes{border-top:1px solid #e5e7eb;margin-top:20px;padding-top:16px}.math-preview-outcomes-title{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin:0 0 10px;font-size:.8125rem;font-weight:600}.math-preview-outcomes-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.math-preview-outcome{align-items:baseline;gap:8px;font-size:.875rem;display:flex}.math-preview-outcome-ref{color:#4338ca;flex-shrink:0;font-size:.8125rem;font-weight:600}.math-preview-outcome-statement{color:#374151;line-height:1.4}.qbd-item-options{flex-direction:column;gap:.25rem;margin:.25rem 0 0;padding:0;list-style:none;display:flex}.qbd-item-option{color:#6b7280;align-items:baseline;gap:.375rem;font-size:.8125rem;line-height:1.4;display:flex}.qbd-item-option--correct{color:#15803d;font-weight:500}.qbd-item-option-letter{flex-shrink:0;min-width:1.25rem;font-weight:600}.qbd-item-option-text{word-break:break-word;min-width:0}.qbd-back-nav-row{justify-content:space-between;align-items:center;width:100%;margin-bottom:.25rem;display:flex}.org-detail-page>.hc-btn{align-self:flex-start}.qbd-section-top-nav{align-items:center;gap:.5rem;display:flex}.qbd-section-nav-divider{background:#e5e7eb;align-self:center;width:1px;height:1.25rem;margin:0 .25rem;display:inline-block}.qbd-section-nav-counter{color:#6b7280;text-align:center;font-variant-numeric:tabular-nums;min-width:2.5rem;font-size:.8125rem}.qbd-section-nav-bottom{border-top:1px solid #e5e7eb;justify-content:flex-end;align-items:center;gap:.5rem;margin-top:1.25rem;padding-top:1rem;display:flex}.qbd-option-editor-wrapper .le-content-editable,.qbd-explanation-editor-wrapper .le-content-editable{resize:vertical;min-height:60px;overflow:auto}.exam-editor{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem}.exam-readonly{padding:1rem}.exam-header-info h3{color:#1a202c;margin:0 0 .5rem;font-size:1.125rem}.exam-description{color:#4a5568;margin:0 0 .75rem;font-size:.9rem}.exam-meta{color:#718096;gap:1rem;font-size:.8125rem;display:flex}.exam-settings{border-bottom:1px solid #e2e8f0;margin-bottom:1.5rem;padding-bottom:1rem}.exam-settings-row{flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:.75rem;display:flex}.exam-label{color:#4a5568;flex-direction:column;gap:.25rem;font-size:.8125rem;font-weight:500;display:flex}.exam-label-inline{flex-direction:row;align-items:center;gap:.5rem}.exam-input{color:#1a202c;border:1px solid #e2e8f0;border-radius:4px;width:100%;padding:.375rem .5rem;font-size:.875rem}.exam-input:focus{border-color:#3182ce;outline:none;box-shadow:0 0 0 2px #3182ce1a}.exam-input-sm{width:100px}.exam-input-xs{width:60px}.exam-stats{color:#718096;align-items:center;gap:1rem;font-size:.8125rem;display:flex}.exam-status-saving{color:#d69e2e}.exam-save-btn{color:#fff;cursor:pointer;background:#3182ce;border:none;border-radius:4px;padding:.25rem .75rem;font-size:.75rem}.exam-save-btn:hover{background:#2b6cb0}.exam-questions{flex-direction:column;gap:.75rem;margin-bottom:1rem;display:flex}.exam-question-card{border:1px solid #e2e8f0;border-radius:6px;padding:.75rem}.exam-question-header{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.exam-question-number{color:#2d3748;font-size:.875rem;font-weight:600}.exam-question-type-badge{text-transform:capitalize;color:#4a5568;background:#edf2f7;border-radius:9999px;padding:.125rem .5rem;font-size:.6875rem}.exam-question-points{color:#718096;font-size:.75rem}.exam-question-actions{gap:.25rem;margin-left:auto;display:flex}.exam-question-actions button{cursor:pointer;background:0 0;border:none;border-radius:3px;padding:.25rem;font-size:.8rem}.exam-question-actions button:hover:not(:disabled){background:#edf2f7}.exam-question-actions button:disabled{opacity:.3;cursor:not-allowed}.exam-question-preview{color:#4a5568;margin:0;font-size:.875rem}.exam-question-edit{flex-direction:column;gap:.5rem;display:flex}.exam-question-text{resize:vertical;min-height:50px}.exam-options{flex-direction:column;gap:.375rem;padding-left:.25rem;display:flex}.exam-option{align-items:center;gap:.5rem;font-size:.875rem;display:flex}.exam-option input[type=text]{flex:1}.exam-add-option-btn{color:#718096;cursor:pointer;background:0 0;border:1px dashed #cbd5e0;border-radius:4px;align-self:flex-start;padding:.25rem .5rem;font-size:.8125rem}.exam-add-option-btn:hover{color:#4a5568;border-color:#a0aec0}.exam-question-footer{border-top:1px solid #f7fafc;align-items:center;gap:1rem;padding-top:.5rem;display:flex}.exam-question-footer .exam-input{flex:1}.exam-question-nav{border-top:1px solid #e5e7eb;justify-content:center;align-items:center;gap:8px;margin-top:.75rem;padding-top:.75rem;display:flex}.exam-question-nav-counter{color:#6b7280;font-size:.8125rem;font-weight:500}.exam-add-question{flex-wrap:wrap;gap:.5rem;display:flex}.exam-add-btn{color:#4a5568;cursor:pointer;background:#f7fafc;border:1px dashed #cbd5e0;border-radius:6px;padding:.5rem 1rem;font-size:.8125rem;transition:background-color .15s,border-color .15s}.exam-add-btn:hover{background:#edf2f7;border-color:#a0aec0}.exam-import-btn{color:#2563eb;background:#eff6ff;border-color:#93c5fd}.exam-import-btn:hover{background:#dbeafe;border-color:#3b82f6}.exam-import-error{color:#991b1b;background:#fef2f2;border:1px solid #fca5a5;border-radius:6px;margin-top:.75rem;padding:.75rem 2.5rem .75rem .875rem;font-size:.8125rem;position:relative}.exam-import-error strong{margin-bottom:.25rem;display:block}.exam-import-error-detail{white-space:pre-wrap;margin:0;font-family:inherit;font-size:.8125rem;line-height:1.5}.exam-import-dismiss{color:#991b1b;cursor:pointer;background:0 0;border:none;padding:0;font-size:1.125rem;line-height:1;position:absolute;top:.5rem;right:.625rem}.exam-import-success{color:#166534;background:#f0fdf4;border:1px solid #86efac;border-radius:6px;margin-top:.75rem;padding:.625rem .875rem;font-size:.8125rem}.assignment-detail{max-width:900px;padding:24px}.assignment-detail-back-btn{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;align-items:center;gap:4px;margin-bottom:16px;padding:6px 12px;font-size:.8rem;font-weight:500;transition:background .15s;display:inline-flex}.assignment-detail-back-btn:hover{background:#f3f4f6}.assignment-detail-header{margin-bottom:24px}.assignment-detail-header-main{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.assignment-detail-header-info{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.assignment-detail-title{color:#111827;margin:0;font-size:1.25rem;font-weight:600}.assignment-detail-lifecycle-actions{flex-wrap:wrap;gap:8px;display:flex}.lifecycle-btn{cursor:pointer;border:none;border-radius:6px;padding:7px 14px;font-size:.8rem;font-weight:500;transition:background .15s,opacity .15s}.lifecycle-btn:disabled{opacity:.5;cursor:not-allowed}.lifecycle-btn--publish{color:#fff;background:#2563eb}.lifecycle-btn--publish:hover:not(:disabled){background:#1d4ed8}.lifecycle-btn--close{color:#fff;background:#f97316}.lifecycle-btn--close:hover:not(:disabled){background:#ea580c}.lifecycle-btn--warning{color:#78350f;background:#fbbf24}.lifecycle-btn--warning:hover:not(:disabled){background:#f59e0b}.lifecycle-btn--reopen{color:#fff;background:#10b981}.lifecycle-btn--reopen:hover:not(:disabled){background:#059669}.lifecycle-btn--archive{color:#fff;background:#6b7280}.lifecycle-btn--archive:hover:not(:disabled){background:#4b5563}.assignment-detail-action-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin-top:8px;padding:8px 12px;font-size:.8rem}.assignment-detail-tabs{border-bottom:1px solid #e5e7eb;gap:0;margin-bottom:24px;display:flex}.assignment-detail-tab{color:#6b7280;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 16px;font-size:.875rem;font-weight:500;transition:color .15s,border-color .15s}.assignment-detail-tab:hover{color:#374151}.assignment-detail-tab--active{color:#2563eb;border-bottom-color:#2563eb}.assignment-detail-tab-content{min-height:200px}.assignment-detail-form{max-width:600px}.assignment-detail-field{margin-bottom:16px}.assignment-detail-field label{color:#374151;margin-bottom:4px;font-size:.8rem;font-weight:500;display:block}.assignment-detail-field input,.assignment-detail-field textarea{box-sizing:border-box;background:#fff;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:8px 12px;font-size:.875rem;transition:border-color .15s}.assignment-detail-field input:focus,.assignment-detail-field textarea:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 2px #2563eb1a}.assignment-detail-field textarea{resize:vertical;min-height:120px}.field-hint{color:#9ca3af;margin-top:4px;font-size:.75rem;display:block}.assignment-detail-form-actions{align-items:center;gap:12px;margin-top:16px;display:flex}.assignment-detail-save-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:6px;padding:8px 16px;font-size:.8rem;font-weight:500;transition:background .15s}.assignment-detail-save-btn:hover:not(:disabled){background:#1d4ed8}.assignment-detail-save-btn:disabled{opacity:.6;cursor:not-allowed}.assignment-detail-save-success{color:#059669;font-size:.8rem;font-weight:500}.assignment-detail-save-error{color:#dc2626;margin-top:8px;font-size:.8rem}.assignment-detail-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:16px;padding:12px;font-size:.875rem}.assignment-detail-placeholder{text-align:center;color:#9ca3af;background:#f9fafb;border:1px dashed #e5e7eb;border-radius:8px;padding:32px}.assignment-detail-placeholder p{margin:0;font-size:.875rem}.doc-panel{width:100%}.doc-panel-loading{color:#6b7280;padding:24px 0;font-size:.875rem}.doc-panel-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.doc-panel-title{color:#111827;margin:0;font-size:1rem;font-weight:600;line-height:1}.doc-panel-add-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:6px;padding:6px 14px;font-size:.8rem;font-weight:500;transition:background .15s}.doc-panel-add-btn:hover{background:#1d4ed8}.doc-panel-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin-bottom:12px;padding:8px 12px;font-size:.8rem}.doc-upload-form{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:16px;padding:16px}.doc-upload-field{margin-bottom:12px}.doc-upload-field label{color:#374151;margin-bottom:4px;font-size:.8rem;font-weight:500;display:block}.doc-upload-field input[type=text]{box-sizing:border-box;background:#fff;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:8px 12px;font-size:.875rem}.doc-upload-field input[type=text]:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 2px #2563eb1a}.doc-upload-field input[type=file]{color:#374151;font-size:.8rem}.doc-upload-hint{color:#9ca3af;margin-top:4px;font-size:.75rem;display:block}.doc-upload-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:4px;margin-bottom:8px;padding:6px 10px;font-size:.8rem}.doc-upload-actions{gap:8px;display:flex}.doc-upload-submit-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:6px;padding:7px 14px;font-size:.8rem;font-weight:500;transition:background .15s}.doc-upload-submit-btn:hover:not(:disabled){background:#1d4ed8}.doc-upload-submit-btn:disabled{opacity:.6;cursor:not-allowed}.doc-upload-cancel-btn{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:7px 14px;font-size:.8rem;font-weight:500;transition:background .15s}.doc-upload-cancel-btn:hover:not(:disabled){background:#f3f4f6}.doc-panel-empty{text-align:center;color:#6b7280;background:#f9fafb;border:1px dashed #e5e7eb;border-radius:8px;padding:32px}.doc-panel-empty p{margin:0 0 4px;font-size:.875rem}.doc-panel-empty-hint{color:#9ca3af;font-size:.8rem}.doc-list{margin:0;padding:0;list-style:none}.doc-list-item{cursor:grab;background:#fff;border:1px solid #e5e7eb;border-radius:6px;align-items:center;gap:8px;margin-bottom:6px;padding:10px 12px;transition:box-shadow .15s,opacity .15s,border-color .15s;display:flex}.doc-list-item:active{cursor:grabbing}.doc-list-item--dragging{opacity:.5}.doc-list-item--drag-over{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb26}.doc-list-item-drag-handle{color:#9ca3af;-webkit-user-select:none;user-select:none;text-align:center;flex-shrink:0;width:20px;font-size:1rem}.doc-list-item-content{flex:1;min-width:0}.doc-list-item-info{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.doc-list-item-position{color:#6b7280;min-width:20px;font-size:.8rem;font-weight:500}.doc-list-item-name{color:#111827;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.875rem;font-weight:500;overflow:hidden}.doc-list-item-size{color:#9ca3af;flex-shrink:0;font-size:.75rem}.doc-list-item-actions{flex-shrink:0;gap:4px;margin-left:auto;display:flex}.doc-action-btn{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;padding:4px 6px;font-size:.8rem;transition:background .15s,border-color .15s}.doc-action-btn:hover{background:#f3f4f6;border-color:#e5e7eb}.doc-action-btn--danger:hover{background:#fef2f2;border-color:#fecaca}.doc-action-btn:disabled{opacity:.5;cursor:not-allowed}.doc-rename-form{flex-direction:column;gap:6px;display:flex}.doc-rename-form input{box-sizing:border-box;border:1px solid #d1d5db;border-radius:4px;width:100%;padding:6px 10px;font-size:.8rem}.doc-rename-form input:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 2px #2563eb1a}.doc-rename-actions{gap:6px;display:flex}.doc-rename-save-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:4px;padding:4px 10px;font-size:.75rem;font-weight:500}.doc-rename-save-btn:disabled{opacity:.6;cursor:not-allowed}.doc-rename-cancel-btn{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:4px;padding:4px 10px;font-size:.75rem;font-weight:500}.doc-rename-error{color:#dc2626;margin:0;font-size:.75rem}.adbp-panel{width:100%}.adbp-panel-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.adbp-panel-header h3{color:#111827;margin:0;font-size:1rem;font-weight:600;line-height:1}.adbp-count{color:#6b7280;background:#f3f4f6;border-radius:10px;padding:2px 8px;font-size:.75rem}.adbp-loading{justify-content:center;padding:32px 0;display:flex}.adbp-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin-bottom:12px;padding:10px 12px;font-size:.8rem}.adbp-add-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:6px;align-items:center;gap:4px;padding:6px 14px;font-size:.8rem;font-weight:500;transition:background .15s;display:inline-flex}.adbp-add-btn:hover{background:#1d4ed8}.adbp-limit-hint{color:#9ca3af;margin-bottom:12px;font-size:.75rem}.adbp-create-form,.adbp-edit-form{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:16px;padding:16px}.adbp-edit-form{width:100%}.adbp-form-field{margin-bottom:12px}.adbp-form-field label{color:#374151;margin-bottom:4px;font-size:.75rem;font-weight:500;display:block}.adbp-form-field input[type=text],.adbp-form-field textarea{box-sizing:border-box;background:#fff;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:7px 10px;font-size:.8rem;transition:border-color .15s}.adbp-form-field input[type=text]:focus,.adbp-form-field textarea:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 2px #2563eb1a}.adbp-form-field textarea{resize:vertical;min-height:60px}.adbp-field-hint{color:#9ca3af;margin-top:3px;font-size:.7rem;display:block}.adbp-file-type-checkboxes{flex-wrap:wrap;gap:12px;margin-top:4px;display:flex}.adbp-checkbox-label{color:#374151;cursor:pointer;align-items:center;gap:4px;font-size:.8rem;display:inline-flex}.adbp-checkbox-label input[type=checkbox]{accent-color:#2563eb;cursor:pointer;width:15px;height:15px}.adbp-size-input-row{align-items:center;gap:10px;margin-top:4px;display:flex}.adbp-range-input{accent-color:#2563eb;cursor:pointer;flex:1;height:6px}.adbp-number-input{text-align:center;border:1px solid #d1d5db;border-radius:5px;width:60px;padding:5px 8px;font-size:.8rem}.adbp-number-input:focus{border-color:#2563eb;outline:none}.adbp-size-unit{color:#6b7280;font-size:.75rem}.adbp-form-actions{gap:8px;margin-top:14px;display:flex}.adbp-form-btn{cursor:pointer;border:none;border-radius:6px;padding:7px 14px;font-size:.8rem;font-weight:500;transition:background .15s}.adbp-form-btn:disabled{opacity:.6;cursor:not-allowed}.adbp-form-btn--primary{color:#fff;background:#2563eb}.adbp-form-btn--primary:hover:not(:disabled){background:#1d4ed8}.adbp-form-btn--secondary{color:#374151;background:#fff;border:1px solid #d1d5db}.adbp-form-btn--secondary:hover:not(:disabled){background:#f3f4f6}.adbp-form-error{color:#dc2626;margin:8px 0 0;font-size:.75rem}.adbp-empty{text-align:center;color:#6b7280;background:#f9fafb;border:1px dashed #e5e7eb;border-radius:8px;padding:32px;font-size:.875rem}.adbp-empty p{margin:0}.adbp-list{flex-direction:column;gap:6px;display:flex}.adbp-item{background:#fff;border:1px solid #e5e7eb;border-radius:8px;align-items:flex-start;gap:10px;padding:12px 14px;transition:background .1s,border-color .15s,opacity .15s;display:flex}.adbp-item:hover{background:#f9fafb}.adbp-item--dragging{opacity:.5;border-color:#93c5fd}.adbp-item--drag-over{background:#eff6ff;border-color:#2563eb}.adbp-drag-handle{margin-top:2px}.adbp-item-position{color:#9ca3af;background:#f3f4f6;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;margin-top:1px;font-size:.7rem;font-weight:600;display:flex}.adbp-item-info{flex:1;min-width:0}.adbp-item-name-row{align-items:center;gap:8px;margin-bottom:4px;display:flex}.adbp-item-name{color:#111827;white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:500;overflow:hidden}.adbp-item-size{color:#6b7280;background:#f3f4f6;border-radius:8px;flex-shrink:0;padding:1px 6px;font-size:.7rem}.adbp-item-description{color:#6b7280;margin:0 0 6px;font-size:.75rem;line-height:1.4}.adbp-item-badges{flex-wrap:wrap;gap:4px;display:flex}.adbp-badge{text-transform:uppercase;letter-spacing:.02em;border-radius:4px;padding:2px 6px;font-size:.65rem;font-weight:600;display:inline-block}.adbp-badge--pdf{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}.adbp-badge--jpeg{color:#d97706;background:#fffbeb;border:1px solid #fde68a}.adbp-badge--png{color:#059669;background:#ecfdf5;border:1px solid #a7f3d0}.adbp-badge--docx{color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe}.adbp-badge--xlsx{color:#16a34a;background:#f0fdf4;border:1px solid #bbf7d0}.adbp-item-actions{flex-shrink:0;gap:4px;margin-top:1px;display:flex}.adbp-action-btn{color:#374151;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:5px;justify-content:center;align-items:center;width:26px;height:26px;font-size:.8rem;transition:background .15s;display:flex}.adbp-action-btn:hover{background:#f3f4f6}.adbp-action-btn:disabled{opacity:.4;cursor:not-allowed}.adbp-action-btn--danger{color:#dc2626;border-color:#fecaca}.adbp-action-btn--danger:hover{background:#fef2f2}.asgn-editor-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.asgn-editor-modal{background:#fff;border-radius:12px;flex-direction:column;width:100%;max-width:860px;height:80vh;transition:max-width .2s,height .2s,border-radius .2s;display:flex;overflow:hidden;box-shadow:0 20px 60px #0003}.asgn-editor-modal--maximized{border-radius:0;max-width:100%;height:100%}.asgn-editor-modal--inline{max-width:100%;height:auto;min-height:500px;box-shadow:none;border:1px solid #e5e7eb}.asgn-editor-modal--maximized .asgn-editor-modal-body{padding:32px 48px}.asgn-editor-modal-header{border-bottom:1px solid #e5e7eb;flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.asgn-editor-modal-header-left{align-items:center;gap:12px;min-width:0;display:flex}.asgn-editor-modal-title{color:#111827;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.125rem;font-weight:600;overflow:hidden}.asgn-editor-modal-header-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.asgn-editor-modal-maximize-btn,.asgn-editor-modal-close-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;transition:background .15s,color .15s;display:flex}.asgn-editor-modal-maximize-btn:hover,.asgn-editor-modal-close-btn:hover{color:#111827;background:#f3f4f6}.asgn-editor-modal-body{flex:1;min-height:0;padding:24px;overflow-y:auto}.asgn-editor-modal-loading{justify-content:center;padding:48px 0;display:flex}.asgn-editor-modal-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:12px;font-size:.875rem}.asgn-editor-modal-lifecycle{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.asgn-editor-modal-action-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin-bottom:12px;padding:8px 12px;font-size:.8rem}.asgn-editor-modal-tabs{border-bottom:1px solid #e5e7eb;flex-shrink:0;gap:0;margin-bottom:20px;display:flex}.asgn-editor-modal-tab{color:#6b7280;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 14px;font-size:.8rem;font-weight:500;transition:color .15s,border-color .15s}.asgn-editor-modal-tab:hover{color:#374151}.asgn-editor-modal-tab--active{color:#2563eb;border-bottom-color:#2563eb}.asgn-editor-modal-tab-content{flex:1;min-height:0;overflow-y:auto}.asgn-editor-modal-form{max-width:100%}.asgn-editor-modal-field{margin-bottom:14px}.asgn-editor-modal-field label{color:#374151;margin-bottom:4px;font-size:.8rem;font-weight:500;display:block}.asgn-editor-modal-field input,.asgn-editor-modal-field textarea{box-sizing:border-box;background:#fff;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:8px 12px;font-size:.875rem;transition:border-color .15s}.asgn-editor-modal-field input:focus,.asgn-editor-modal-field textarea:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 2px #2563eb1a}.asgn-editor-modal-field textarea{resize:vertical;min-height:100px}.asgn-editor-modal-form-actions{align-items:center;gap:12px;margin-top:14px;display:flex}.asgn-editor-modal-save-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:6px;padding:8px 16px;font-size:.8rem;font-weight:500;transition:background .15s}.asgn-editor-modal-save-btn:hover:not(:disabled){background:#1d4ed8}.asgn-editor-modal-save-btn:disabled{opacity:.6;cursor:not-allowed}.asgn-editor-modal-status-select{color:#374151;cursor:pointer;appearance:auto;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:7px 12px;font-size:.8rem;font-weight:500;transition:border-color .15s}.asgn-editor-modal-status-select:hover:not(:disabled){border-color:#9ca3af}.asgn-editor-modal-status-select:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 2px #2563eb1a}.asgn-editor-modal-status-select:disabled{opacity:.6;cursor:not-allowed}.asgn-editor-modal-save-success{color:#059669;font-size:.8rem;font-weight:500}.asgn-editor-modal-save-error{color:#dc2626;margin-top:8px;font-size:.8rem}.asgn-grading{max-width:900px;padding:1.5rem}.asgn-grading__loading{justify-content:center;padding:3rem 0;display:flex}.asgn-grading__error{color:var(--color-error,#ef4444);margin-bottom:1rem}.asgn-grading__header{margin-bottom:1.5rem}.asgn-grading__back-btn{border:1px solid var(--color-border,#e2e8f0);color:var(--color-primary,#3b82f6);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:.25rem;margin-bottom:.75rem;padding:.4rem .75rem;font-size:.875rem;font-weight:500;transition:background .15s;display:inline-flex}.asgn-grading__back-btn:hover{background:var(--color-surface-hover,#f1f5f9)}.asgn-grading__title{color:var(--color-text,#1e293b);margin:0 0 .25rem;font-size:1.5rem;font-weight:700}.asgn-grading__student-name{color:var(--color-text,#1e293b);margin:0;font-size:.9375rem}.asgn-grading__student-email{color:var(--color-text-secondary,#64748b);font-size:.8125rem}.asgn-grading__toast{background:var(--color-error-light,#fef2f2);border:1px solid var(--color-error,#ef4444);color:var(--color-error-dark,#991b1b);border-radius:6px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem}.asgn-grading__toast--success{color:#166534;background:#dcfce7;border-color:#22c55e}.asgn-grading__section{border-bottom:1px solid var(--color-border,#e2e8f0);margin-bottom:1.5rem;padding-bottom:1.5rem}.asgn-grading__section-title{color:var(--color-text,#1e293b);margin:0 0 .75rem;font-size:1rem;font-weight:600}.asgn-grading__empty{color:var(--color-text-secondary,#64748b);margin:0;font-style:italic}.asgn-grading__files{flex-direction:column;gap:.5rem;display:flex}.asgn-grading__file-row{border:1px solid var(--color-border,#e2e8f0);background:var(--color-surface,#fff);border-radius:6px;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.asgn-grading__file-info{flex-direction:column;gap:.125rem;display:flex}.asgn-grading__file-name{color:var(--color-text,#1e293b);font-weight:500}.asgn-grading__file-meta{color:var(--color-text-secondary,#64748b);font-size:.75rem}.asgn-grading__late-badge{color:#854d0e;background:#fef9c3;border-radius:3px;margin-left:.5rem;padding:.1rem .4rem;font-size:.6875rem;font-weight:600}.asgn-grading__download-btn{border:1px solid var(--color-primary,#3b82f6);background:var(--color-surface,#fff);color:var(--color-primary,#3b82f6);cursor:pointer;border-radius:6px;padding:.4rem .75rem;font-size:.8125rem;font-weight:500;transition:background .15s}.asgn-grading__download-btn:hover{background:#eff6ff}.asgn-grading__rubric{flex-direction:column;gap:1rem;display:flex}.asgn-grading__criterion{border:1px solid var(--color-border,#e2e8f0);background:var(--color-surface,#fff);border-radius:8px;padding:1rem}.asgn-grading__criterion-header{justify-content:space-between;align-items:center;margin-bottom:.25rem;display:flex}.asgn-grading__criterion-name{color:var(--color-text,#1e293b);font-weight:600}.asgn-grading__criterion-max{color:var(--color-text-secondary,#64748b);font-size:.875rem}.asgn-grading__criterion-desc{color:var(--color-text-secondary,#64748b);margin:.25rem 0 .5rem;font-size:.8125rem}.asgn-grading__criterion-input{border:1px solid var(--color-border,#e2e8f0);border-radius:4px;width:80px;padding:.4rem .5rem;font-size:.9375rem}.asgn-grading__criterion-input:focus{border-color:var(--color-primary,#3b82f6);outline:none;box-shadow:0 0 0 2px #3b82f626}.asgn-grading__rubric-total{border:1px solid var(--color-border,#e2e8f0);background:#f8fafc;border-radius:6px;padding:.75rem 1rem;font-size:.9375rem}.asgn-grading__score-row{align-items:center;gap:.5rem;display:flex}.asgn-grading__score-input{border:1px solid var(--color-border,#e2e8f0);border-radius:6px;width:100px;padding:.5rem;font-size:1rem}.asgn-grading__score-input:focus{border-color:var(--color-primary,#3b82f6);outline:none;box-shadow:0 0 0 2px #3b82f626}.asgn-grading__score-max{color:var(--color-text-secondary,#64748b);font-size:.9375rem}.asgn-grading__feedback{border:1px solid var(--color-border,#e2e8f0);resize:vertical;border-radius:6px;width:100%;padding:.75rem;font-family:inherit;font-size:.9375rem}.asgn-grading__feedback:focus{border-color:var(--color-primary,#3b82f6);outline:none;box-shadow:0 0 0 2px #3b82f626}.asgn-grading__footer{border-top:1px solid var(--color-border,#e2e8f0);align-items:center;gap:.5rem;margin-top:1.5rem;padding-top:1rem;display:flex}.asgn-grading__nav-btn{border:1px solid var(--color-border,#e2e8f0);background:var(--color-surface,#fff);color:var(--color-text,#1e293b);cursor:pointer;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background .15s}.asgn-grading__nav-btn:hover:not(:disabled){background:var(--color-surface-hover,#f1f5f9)}.asgn-grading__nav-btn:disabled{opacity:.4;cursor:not-allowed}.asgn-grading__nav-info{color:var(--color-text-secondary,#64748b);font-size:.875rem}.asgn-grading__save-btn{background:var(--color-primary,#3b82f6);color:#fff;cursor:pointer;border:none;border-radius:6px;margin-left:auto;padding:.5rem 1.25rem;font-size:.875rem;font-weight:600;transition:background .15s}.asgn-grading__save-btn:hover:not(:disabled){background:var(--color-primary-dark,#2563eb)}.asgn-grading__save-btn:disabled{opacity:.5;cursor:not-allowed}.asgn-sub-list{max-width:960px;padding:1.5rem}.asgn-sub-list__loading{justify-content:center;padding:3rem 0;display:flex}.asgn-sub-list__header{margin-bottom:1.5rem}.asgn-sub-list__back-btn{border:1px solid var(--color-border,#e2e8f0);color:var(--color-primary,#3b82f6);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:.25rem;margin-bottom:.75rem;padding:.4rem .75rem;font-size:.875rem;font-weight:500;transition:background .15s;display:inline-flex}.asgn-sub-list__back-btn:hover{background:var(--color-surface-hover,#f1f5f9)}.asgn-sub-list__title{color:var(--color-text,#1e293b);margin:0 0 .25rem;font-size:1.5rem;font-weight:700}.asgn-sub-list__subtitle{color:var(--color-text-secondary,#64748b);margin:0;font-size:.875rem}.asgn-sub-list__error{color:#991b1b;background:#fef2f2;border:1px solid #ef4444;border-radius:6px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem}.asgn-sub-list__empty{text-align:center;color:var(--color-text-secondary,#64748b);padding:3rem 1rem}.asgn-sub-list__table-wrap{overflow-x:auto}.asgn-sub-list__table{border-collapse:collapse;width:100%;font-size:.875rem}.asgn-sub-list__table th{text-align:left;color:var(--color-text,#1e293b);border-bottom:2px solid var(--color-border,#e2e8f0);padding:.75rem;font-weight:600}.asgn-sub-list__table td{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:.75rem}.asgn-sub-list__student{font-weight:500}.asgn-sub-list__file{flex-direction:column;gap:.125rem;display:flex}.asgn-sub-list__file-name{color:var(--color-text,#1e293b);font-weight:500}.asgn-sub-list__file-size{color:var(--color-text-secondary,#64748b);font-size:.75rem}.asgn-sub-list__date{white-space:nowrap}.asgn-sub-list__late{color:#854d0e;background:#fef9c3;border-radius:3px;margin-left:.5rem;padding:.1rem .4rem;font-size:.6875rem;font-weight:600}.asgn-sub-list__actions{gap:.5rem;display:flex}.asgn-sub-list__download-btn{border:1px solid var(--color-border,#e2e8f0);background:var(--color-surface,#fff);color:var(--color-text,#1e293b);cursor:pointer;border-radius:6px;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;transition:background .15s}.asgn-sub-list__download-btn:hover{background:var(--color-surface-hover,#f1f5f9)}.asgn-sub-list__grade-btn{border:1px solid var(--color-primary,#3b82f6);background:var(--color-primary,#3b82f6);color:#fff;cursor:pointer;border-radius:6px;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;transition:background .15s}.asgn-sub-list__grade-btn:hover{background:var(--color-primary-dark,#2563eb)}.assignment-submissions{max-width:1200px}.submissions-stats-bar{border:1px solid #e5e7eb;border-radius:8px;gap:0;margin-bottom:20px;display:flex;overflow:hidden}.submissions-stat{background:#f9fafb;border-right:1px solid #e5e7eb;flex-direction:column;flex:1;align-items:center;padding:12px 8px;display:flex}.submissions-stat:last-child{border-right:none}.submissions-stat-value{color:#111827;font-size:1.25rem;font-weight:700}.submissions-stat-label{color:#6b7280;margin-top:2px;font-size:.75rem}.submissions-stat--success .submissions-stat-value{color:#059669}.submissions-stat--warning .submissions-stat-value{color:#d97706}.submissions-stat--danger .submissions-stat-value{color:#dc2626}.submissions-stat--late .submissions-stat-value{color:#9333ea}.submissions-filters{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:16px;display:flex}.submissions-filter-group{flex-direction:column;gap:4px;display:flex}.submissions-filter-group--search{flex:1;min-width:180px}.submissions-filter-group--actions{margin-left:auto}.submissions-filter-label{color:#6b7280;font-size:.75rem;font-weight:500}.submissions-filter-select,.submissions-filter-input{color:#111827;box-sizing:border-box;background:#fff;border:1px solid #d1d5db;border-radius:6px;height:34px;padding:6px 10px;font-size:.8125rem}.submissions-filter-select:focus,.submissions-filter-input:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 2px #2563eb1a}.submissions-filter-input{width:100%}.submissions-bulk-download-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#2563eb;border:none;border-radius:6px;height:34px;padding:6px 14px;font-size:.8125rem;font-weight:500;transition:background .15s}.submissions-bulk-download-btn:hover:not(:disabled){background:#1d4ed8}.submissions-bulk-download-btn:disabled{opacity:.6;cursor:not-allowed}.submissions-bulk-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin-bottom:12px;padding:8px 12px;font-size:.8125rem}.submissions-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:12px;font-size:.875rem}.submissions-loading{color:#6b7280;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px 16px;font-size:.875rem;display:flex}.submissions-empty{text-align:center;color:#9ca3af;background:#f9fafb;border:1px dashed #e5e7eb;border-radius:8px;padding:32px}.submissions-empty p{margin:0;font-size:.875rem}.submissions-table-wrapper{overflow-x:auto}.submissions-table{border-collapse:collapse;width:100%;font-size:.8125rem}.submissions-table th,.submissions-table td{text-align:left;border-bottom:1px solid #e5e7eb;padding:10px 12px}.submissions-table th{color:#374151;white-space:nowrap;background:#f9fafb;font-weight:600}.submissions-table tbody tr:hover{background:#f9fafb}.submissions-cell-student{color:#111827;min-width:140px;font-weight:500}.submissions-cell-dropbox{color:#4b5563;min-width:120px}.submissions-cell-file{flex-direction:column;gap:2px;min-width:150px;display:flex}.submissions-file-name{color:#111827;word-break:break-all}.submissions-file-size{color:#9ca3af;font-size:.75rem}.submissions-cell-status{white-space:nowrap}.submissions-status-badge{border-radius:10px;padding:2px 8px;font-size:.6875rem;font-weight:500;display:inline-block}.submissions-status-badge--submitted{color:#166534;background:#dcfce7}.submissions-status-badge--late{color:#6b21a8;background:#f3e8ff}.submissions-cell-date{white-space:nowrap;color:#4b5563;font-size:.75rem}.submissions-cell-actions{white-space:nowrap}.submissions-action-btn{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:4px;margin-right:4px;padding:4px 10px;font-size:.75rem;font-weight:500;transition:background .15s,border-color .15s}.submissions-action-btn:last-child{margin-right:0}.submissions-action-btn--view{color:#2563eb;border-color:#bfdbfe}.submissions-action-btn--view:hover{background:#eff6ff;border-color:#93c5fd}.submissions-action-btn--download{color:#374151}.submissions-action-btn--download:hover{background:#f3f4f6;border-color:#9ca3af}.submissions-viewer-overlay{z-index:1000;background-color:#0009;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.submissions-viewer-dialog{background:#fff;border-radius:8px;flex-direction:column;width:100%;max-width:900px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #0000004d}.submissions-viewer-header{border-bottom:1px solid #e5e7eb;flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.submissions-viewer-title{color:#111827;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.875rem;font-weight:600;overflow:hidden}.submissions-viewer-close-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:1.125rem;transition:background .15s,color .15s}.submissions-viewer-close-btn:hover{color:#111827;background:#f3f4f6}.submissions-viewer-content{flex:1;min-height:400px;overflow:auto}.submissions-viewer-loading{color:#6b7280;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px 16px;font-size:.875rem;display:flex}.submissions-viewer-iframe{border:none;width:100%;height:100%;min-height:600px}.submissions-viewer-image-container{justify-content:center;align-items:center;padding:16px;display:flex;overflow:auto}.submissions-viewer-image{object-fit:contain;max-width:100%;max-height:70vh}.submissions-viewer-fallback{color:#6b7280;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px 16px;font-size:.875rem;display:flex}.submissions-viewer-fallback a{color:#2563eb;text-decoration:underline}.ca-assignments{max-width:900px;padding:24px}.ca-assignments-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.ca-assignments-header-text h2{margin:0 0 4px;font-size:1.25rem;font-weight:600}.ca-assignments-header-text p{color:#6b7280;margin:0;font-size:.875rem}.ca-assignments-create-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:.875rem;font-weight:500;transition:background .15s;display:inline-flex}.ca-assignments-create-btn:hover{background:#1d4ed8}.ca-assignments-create-btn:disabled{opacity:.6;cursor:not-allowed}.ca-assignments-create-form{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:20px;padding:18px 20px}.ca-assignments-create-form h3{margin:0 0 14px;font-size:1rem;font-weight:600}.ca-create-field{margin-bottom:12px}.ca-create-field label{color:#374151;margin-bottom:4px;font-size:.8rem;font-weight:500;display:block}.ca-create-field input,.ca-create-field textarea{box-sizing:border-box;background:#fff;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:8px 12px;font-size:.875rem}.ca-create-field textarea{resize:vertical;min-height:60px}.ca-create-actions{gap:8px;margin-top:14px;display:flex}.ca-create-submit-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:6px;padding:7px 14px;font-size:.8rem;font-weight:500}.ca-create-submit-btn:hover{background:#1d4ed8}.ca-create-submit-btn:disabled{opacity:.6;cursor:not-allowed}.ca-create-cancel-btn{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:7px 14px;font-size:.8rem;font-weight:500}.ca-create-cancel-btn:hover{background:#f3f4f6}.ca-assignments-empty{text-align:center;color:#6b7280;padding:48px 24px}.ca-assignments-empty-icon{margin-bottom:12px;font-size:2.5rem;display:block}.ca-assignments-empty-desc{margin-top:4px;font-size:.875rem}.ca-assignments-list{flex-direction:column;gap:12px;display:flex}.ca-assignment-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:18px 20px}.ca-assignment-card-main{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.ca-assignment-card-info{flex:1;min-width:0}.ca-assignment-title{color:#111827;margin:0 0 8px;font-size:1rem;font-weight:600}.ca-assignment-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ca-assignment-meta-item{color:#6b7280;background:#f3f4f6;border-radius:4px;padding:2px 8px;font-size:.8rem}.status-badge{text-transform:capitalize;border-radius:10px;padding:2px 8px;font-size:.75rem;font-weight:500;display:inline-block}.status-badge--draft{color:#6b7280;background:#f3f4f6}.status-badge--published{color:#166534;background:#dcfce7}.status-badge--closed{color:#9a3412;background:#ffedd5}.status-badge--archived{color:#94a3b8;background:#f1f5f9}.ca-assignment-actions{flex-wrap:wrap;flex-shrink:0;gap:6px;display:flex}.ca-assignment-action-btn{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:5px;padding:5px 10px;font-size:.75rem;font-weight:500;transition:background .15s}.ca-assignment-action-btn:hover{background:#f3f4f6}.ca-assignment-action-btn--danger{color:#dc2626;border-color:#fecaca}.ca-assignment-action-btn--danger:hover{background:#fef2f2}.ca-assignment-action-btn:disabled{opacity:.5;cursor:not-allowed}.ca-assignments-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:12px;font-size:.875rem}.ca-create-error{color:#dc2626;margin-top:8px;font-size:.8rem}.ca-assignment-action-btn--grade{color:#2563eb;background:#eff6ff;border-color:#2563eb;font-weight:500}.ca-assignment-action-btn--grade:hover{background:#dbeafe}.publish-dialog-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.publish-dialog{background:#fff;border-radius:12px;flex-direction:column;width:100%;max-width:480px;display:flex;overflow:hidden;box-shadow:0 20px 60px #00000026}.publish-dialog-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.publish-dialog-title{color:#111827;margin:0;font-size:1.1rem;font-weight:600}.publish-dialog-close-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:1rem;transition:background .15s;display:flex}.publish-dialog-close-btn:hover{color:#111827;background:#f3f4f6}.publish-dialog-close-btn:disabled{opacity:.5;cursor:not-allowed}.publish-dialog-api-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:16px 24px 0;padding:10px 14px;font-size:.85rem;line-height:1.4}.publish-dialog-body{flex-direction:column;gap:16px;padding:20px 24px;display:flex}.publish-dialog-field{flex-direction:column;gap:4px;display:flex}.publish-dialog-label{color:#374151;font-size:.8rem;font-weight:500}.publish-dialog-input{box-sizing:border-box;background:#fff;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:8px 12px;font-size:.875rem;transition:border-color .15s}.publish-dialog-input:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 2px #2563eb1a}.publish-dialog-input:disabled{color:#9ca3af;cursor:not-allowed;background:#f9fafb}.publish-dialog-checkbox-field{flex-direction:row;align-items:center}.publish-dialog-checkbox-label{color:#374151;cursor:pointer;align-items:center;gap:8px;font-size:.875rem;display:flex}.publish-dialog-checkbox-label input[type=checkbox]{accent-color:#2563eb;cursor:pointer;width:16px;height:16px}.publish-dialog-field-error{color:#dc2626;margin:2px 0 0;font-size:.78rem}.publish-dialog-footer{border-top:1px solid #e5e7eb;justify-content:flex-end;align-items:center;gap:8px;margin-top:4px;padding:16px 0 0;display:flex}.publish-dialog-progress{color:#6b7280;align-items:center;gap:8px;font-size:.85rem;display:inline-flex}.publish-modal-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.publish-modal{background:#fff;border-radius:8px;flex-direction:column;width:100%;max-width:520px;max-height:90vh;display:flex;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.publish-modal-header{border-bottom:1px solid #e5e7eb;flex-shrink:0;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem 1rem;display:flex}.publish-modal-title{color:#111827;margin:0;font-size:1.125rem;font-weight:600}.publish-modal-close-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25rem .5rem;font-size:1.25rem;line-height:1;transition:background-color .15s,color .15s}.publish-modal-close-btn:hover:not(:disabled){color:#111827;background-color:#f3f4f6}.publish-modal-close-btn:disabled{opacity:.4;cursor:not-allowed}.publish-modal-body{flex-direction:column;flex:1;gap:1rem;padding:1.25rem 1.5rem;display:flex}.publish-modal-footer{border-top:1px solid #e5e7eb;flex-shrink:0;justify-content:flex-end;align-items:center;gap:.75rem;padding:1rem 1.5rem;display:flex}.publish-modal-loading{color:#6b7280;align-items:center;gap:.5rem;padding:1rem 0;font-size:.875rem;display:flex}.publish-modal-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:.75rem 1rem;font-size:.875rem}.publish-modal-precondition-errors{background:#fffbeb;border:1px solid #fde68a;border-radius:6px;padding:.75rem 1rem}.publish-modal-precondition-title{color:#92400e;margin:0 0 .5rem;font-size:.875rem;font-weight:500}.publish-modal-precondition-list{color:#92400e;margin:0;padding-left:1.25rem;font-size:.8125rem}.publish-modal-precondition-list li{margin-bottom:.25rem}.publish-modal-precondition-list li:last-child{margin-bottom:0}.publish-modal-form{flex-direction:column;gap:1rem;display:flex}.publish-modal-field{flex-direction:column;gap:.25rem;display:flex}.publish-modal-label{color:#374151;font-size:.8125rem;font-weight:500}.publish-modal-input{box-sizing:border-box;background:#fff;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:8px 12px;font-size:.875rem;transition:border-color .15s}.publish-modal-input:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 2px #2563eb1a}.publish-modal-input:disabled{color:#9ca3af;cursor:not-allowed;background:#f9fafb}.publish-modal-hint{color:#9ca3af;font-size:.75rem}.publish-modal-field-error{color:#dc2626;font-size:.75rem;font-weight:500}.publish-modal-toggle-field{border-top:1px solid #f3f4f6;padding:.75rem 0}.publish-modal-toggle-label{cursor:pointer;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.publish-modal-toggle-text{color:#374151;font-weight:500}.publish-modal-late-field{border-left:3px solid #e5e7eb;padding-left:1rem}.publish-modal-progress{color:#6b7280;align-items:center;gap:.5rem;font-size:.8125rem;display:flex}.student-grade-view{max-width:900px;padding:1.5rem}.student-grade-view__header{margin-bottom:1.5rem}.student-grade-view__title{color:var(--text-primary,#1e293b);margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.student-grade-view__overall{background-color:var(--color-bg-secondary,#f8fafc);border:1px solid var(--border-color,#e2e8f0);border-radius:8px;align-items:center;gap:.5rem;margin-top:.75rem;padding:.75rem 1rem;display:inline-flex}.student-grade-view__overall-label{color:var(--text-secondary,#64748b);font-size:.875rem;font-weight:500}.student-grade-view__overall-value{color:var(--color-primary,#2563eb);font-size:1.125rem;font-weight:700}.student-grade-view__list{flex-direction:column;gap:1rem;display:flex}.student-grade-view__item{border:1px solid var(--border-color,#e2e8f0);background-color:var(--color-bg,#fff);border-radius:8px;padding:1rem 1.25rem;transition:box-shadow .15s}.student-grade-view__item:hover{box-shadow:0 1px 4px #0000000f}.student-grade-view__item-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.student-grade-view__item-name{color:var(--text-primary,#1e293b);font-size:.9375rem;font-weight:600}.student-grade-view__item-type{text-transform:capitalize;background-color:var(--color-bg-tertiary,#f1f5f9);color:var(--text-secondary,#64748b);border-radius:4px;padding:.125rem .5rem;font-size:.75rem;font-weight:500}.student-grade-view__item-scores{align-items:baseline;gap:.75rem;margin-bottom:.5rem;display:flex}.student-grade-view__item-score{color:var(--text-primary,#1e293b);font-size:1rem;font-weight:600}.student-grade-view__item-percentage{color:var(--color-primary,#2563eb);font-size:.875rem;font-weight:500}.student-grade-view__item-feedback{color:var(--text-secondary,#64748b);background-color:var(--color-bg-secondary,#f8fafc);white-space:pre-wrap;border-radius:4px;margin-top:.5rem;padding:.5rem .75rem;font-size:.8125rem;line-height:1.5}.student-grade-view__item-meta{color:var(--text-tertiary,#94a3b8);gap:1rem;margin-top:.5rem;font-size:.75rem;display:flex}.student-grade-view__loading{min-height:200px;color:var(--text-secondary,#64748b);justify-content:center;align-items:center;font-size:.875rem;display:flex}.student-grade-view__error{background-color:var(--color-error-bg,#fef2f2);color:var(--color-error,#ef4444);border-radius:8px;padding:1rem;font-size:.875rem}.student-grade-view__empty{min-height:200px;color:var(--text-secondary,#64748b);justify-content:center;align-items:center;font-size:.9375rem;display:flex}.rubric-editor-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.rubric-editor-dialog{background:var(--surface-color,#fff);border-radius:12px;flex-direction:column;width:100%;max-width:680px;max-height:85vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #00000026}.rubric-editor-header{border-bottom:1px solid var(--border-color,#e2e8f0);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.rubric-editor-title{color:var(--text-primary,#1e293b);margin:0;font-size:1.25rem;font-weight:600}.rubric-editor-close-btn{cursor:pointer;color:var(--text-muted,#64748b);background:0 0;border:none;border-radius:4px;padding:.25rem .5rem;font-size:1.5rem;line-height:1;transition:background-color .15s}.rubric-editor-close-btn:hover{background-color:var(--surface-hover,#f1f5f9);color:var(--text-primary,#1e293b)}.rubric-editor-body{flex:1;padding:1.5rem;overflow-y:auto}.rubric-editor-field{margin-bottom:1rem}.rubric-editor-field--small{max-width:140px}.rubric-editor-field--full{grid-column:1/-1}.rubric-editor-label{color:var(--text-primary,#1e293b);margin-bottom:.25rem;font-size:.8125rem;font-weight:500;display:block}.rubric-editor-required{color:var(--red-500,#ef4444)}.rubric-editor-optional{color:var(--text-muted,#94a3b8);font-weight:400}.rubric-editor-input{border:1px solid var(--border-color,#e2e8f0);width:100%;color:var(--text-primary,#1e293b);background:var(--surface-color,#fff);border-radius:6px;padding:.5rem .75rem;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.rubric-editor-input:focus{border-color:var(--focus-ring,#3b82f6);outline:none;box-shadow:0 0 0 3px #3b82f61a}.rubric-editor-input--error{border-color:var(--red-500,#ef4444)}.rubric-editor-input--error:focus{box-shadow:0 0 0 3px #ef44441a}.rubric-editor-textarea{border:1px solid var(--border-color,#e2e8f0);width:100%;color:var(--text-primary,#1e293b);background:var(--surface-color,#fff);resize:vertical;border-radius:6px;padding:.5rem .75rem;font-family:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.rubric-editor-textarea:focus{border-color:var(--focus-ring,#3b82f6);outline:none;box-shadow:0 0 0 3px #3b82f61a}.rubric-editor-hint{color:var(--text-muted,#94a3b8);text-align:right;margin-top:.25rem;font-size:.75rem;display:block}.rubric-editor-field-error{color:var(--red-500,#ef4444);margin-top:.25rem;font-size:.75rem;display:block}.rubric-editor-error{color:var(--red-500,#ef4444);background:var(--red-50,#fef2f2);border:1px solid var(--red-200,#fecaca);border-radius:6px;margin-bottom:1rem;padding:.5rem .75rem;font-size:.8125rem}.rubric-editor-error--general{margin-bottom:1rem}.rubric-editor-total{color:var(--text-secondary,#475569);background:var(--surface-muted,#f8fafc);border-radius:6px;margin-bottom:1rem;padding:.5rem .75rem;font-size:.875rem}.rubric-editor-criteria-list{flex-direction:column;gap:1rem;display:flex}.rubric-editor-criterion{border:1px solid var(--border-color,#e2e8f0);background:var(--surface-muted,#f8fafc);border-radius:8px;padding:1rem}.rubric-editor-criterion-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.rubric-editor-criterion-number{color:var(--text-secondary,#475569);font-size:.8125rem;font-weight:600}.rubric-editor-criterion-remove{color:var(--red-500,#ef4444);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25rem .5rem;font-size:.8125rem;transition:background-color .15s}.rubric-editor-criterion-remove:hover:not(:disabled){background-color:var(--red-50,#fef2f2)}.rubric-editor-criterion-remove:disabled{color:var(--text-muted,#94a3b8);cursor:not-allowed}.rubric-editor-criterion-fields{grid-template-columns:1fr auto;gap:.75rem;display:grid}.rubric-editor-add-btn{border:2px dashed var(--border-color,#e2e8f0);width:100%;color:var(--text-secondary,#475569);cursor:pointer;background:0 0;border-radius:8px;margin-top:1rem;padding:.625rem;font-size:.875rem;font-weight:500;transition:border-color .15s,color .15s}.rubric-editor-add-btn:hover:not(:disabled){border-color:var(--focus-ring,#3b82f6);color:var(--focus-ring,#3b82f6)}.rubric-editor-add-btn:disabled{color:var(--text-muted,#94a3b8);cursor:not-allowed}.rubric-editor-footer{border-top:1px solid var(--border-color,#e2e8f0);background:var(--surface-muted,#f8fafc);justify-content:flex-end;align-items:center;gap:.75rem;padding:1rem 1.5rem;display:flex}.rubric-editor-btn{cursor:pointer;border:1px solid #0000;border-radius:6px;padding:.5rem 1.25rem;font-size:.875rem;font-weight:500;transition:background-color .15s,border-color .15s}.rubric-editor-btn:disabled{opacity:.6;cursor:not-allowed}.rubric-editor-btn--secondary{background:var(--surface-color,#fff);border-color:var(--border-color,#e2e8f0);color:var(--text-secondary,#475569)}.rubric-editor-btn--secondary:hover:not(:disabled){background:var(--surface-hover,#f1f5f9)}.rubric-editor-btn--primary{background:var(--primary-600,#2563eb);color:#fff}.rubric-editor-btn--primary:hover:not(:disabled){background:var(--primary-700,#1d4ed8)}.course-detail{max-width:900px;margin:0 auto;padding:2rem 1rem}.confirmation-banner{color:#155724;background-color:#d4edda;border:1px solid #c3e6cb;border-radius:6px;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.9rem}.course-detail-header{border-bottom:1px solid #e2e8f0;margin-bottom:2rem;padding-bottom:1.5rem}.course-detail-title{color:#1a202c;margin:0 0 .75rem;font-size:1.75rem;font-weight:600}.course-detail-description{color:#4a5568;margin:0 0 1rem;line-height:1.6}.course-detail-dates{color:#718096;align-items:center;gap:.5rem;font-size:.9rem;display:flex}.date-separator{color:#a0aec0}.auth-error{text-align:center;background-color:#fff5f5;border:1px solid #fed7d7;border-radius:8px;padding:3rem 1rem}.auth-error h2{color:#c53030;margin:0 0 .75rem;font-size:1.25rem}.auth-error p{color:#742a2a;margin:0}.course-error{text-align:center;background-color:#fffbeb;border:1px solid #fef3c7;border-radius:8px;padding:2rem 1rem}.course-error p{color:#92400e;margin:0}.course-toc{margin-top:1.5rem}.toc-heading{color:#2d3748;margin:0 0 1rem;font-size:1.25rem;font-weight:600}.toc-empty{color:#718096;padding:1rem 0;font-style:italic}.toc-root-list,.toc-children-list{margin:0;padding:0;list-style:none}.toc-children-list{border-left:2px solid #e2e8f0;margin-top:.25rem;padding-left:1.25rem}.toc-section{margin-bottom:.25rem}.toc-section-header{align-items:center;display:flex}.toc-section-toggle{cursor:pointer;color:#2d3748;text-align:left;background:0 0;border:none;border-radius:4px;align-items:center;gap:.5rem;width:100%;padding:.5rem .25rem;font-size:.95rem;transition:background-color .15s;display:flex}.toc-section-toggle:hover{background-color:#edf2f7}.toc-toggle-icon{text-align:center;flex-shrink:0;width:1rem;font-size:.7rem}.toc-section-title{color:#2d3748;font-weight:500}.toc-section-title-leaf{padding:.5rem .25rem;display:block}.toc-section-content{padding-left:.5rem}.toc-items-list{margin:.25rem 0;padding:0;list-style:none}.toc-item-entry{margin-bottom:.125rem}.content-item{margin-left:1.5rem}.content-item-link{cursor:pointer;color:#4a5568;text-align:left;background:0 0;border:1px solid #0000;border-radius:4px;align-items:center;gap:.5rem;width:100%;padding:.4rem .5rem;font-size:.9rem;transition:background-color .15s,border-color .15s;display:flex}.content-item-link:hover{background-color:#edf2f7;border-color:#e2e8f0}.content-item-icon{flex-shrink:0}.content-item-title{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.content-item-type-badge{color:#718096;background-color:#edf2f7;border-radius:9999px;flex-shrink:0;padding:.125rem .5rem;font-size:.75rem}.content-item-external-icon{color:#a0aec0;flex-shrink:0;font-size:.8rem}.content-item-toggle-icon{color:#a0aec0;flex-shrink:0;font-size:.7rem}.content-item-video-container{aspect-ratio:16/9;background-color:#000;border-radius:8px;max-width:640px;margin-top:.5rem;margin-left:1.5rem;overflow:hidden}.content-item-video{border:none;width:100%;height:100%}.content-item-editor-container{max-width:900px;margin-top:.75rem;margin-left:1.5rem}.course-admin-content-section .content-item-editor-container{max-width:100%;margin-left:0}.content-item-error{color:#c53030;background-color:#fff5f5;border:1px solid #fed7d7;border-radius:4px;margin-top:.25rem;margin-left:1.5rem;padding:.5rem .75rem;font-size:.85rem}.invite-user-section{border-top:1px solid #e2e8f0;margin-top:2rem;padding-top:1.5rem}.invite-user-heading{color:#2d3748;margin:0 0 1rem;font-size:1.1rem;font-weight:600}.invite-user-form{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.invite-form-row{flex-direction:column;gap:.25rem;display:flex}.invite-form-row:first-child{flex:1;min-width:200px}.invite-label{color:#4a5568;font-size:.8rem;font-weight:500}.invite-input,.invite-select{color:#2d3748;background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:.5rem .75rem;font-size:.9rem;transition:border-color .15s}.invite-input:focus,.invite-select:focus{border-color:#4a90d9;outline:none;box-shadow:0 0 0 2px #4a90d926}.invite-input:disabled,.invite-select:disabled{cursor:not-allowed;background-color:#f7fafc}.invite-submit-btn{color:#fff;cursor:pointer;white-space:nowrap;background-color:#4a90d9;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.9rem;font-weight:500;transition:background-color .15s}.invite-submit-btn:hover:not(:disabled){background-color:#357abd}.invite-submit-btn:disabled{opacity:.6;cursor:not-allowed}.invite-success{color:#155724;background-color:#d4edda;border:1px solid #c3e6cb;border-radius:6px;margin-top:.75rem;padding:.5rem .75rem;font-size:.85rem}.invite-error{color:#c53030;background-color:#fff5f5;border:1px solid #fed7d7;border-radius:6px;margin-top:.75rem;padding:.5rem .75rem;font-size:.85rem}.course-tabs{margin-top:1.5rem}.course-tabs-nav{border-bottom:2px solid #e2e8f0;gap:0;margin-bottom:1.5rem;display:flex}.course-tab{color:#718096;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:500;transition:color .15s,border-color .15s}.course-tab-panels{min-height:200px}.content-tab-actions{margin-bottom:1rem}.add-section-form{align-items:center;gap:.5rem;display:flex}.add-section-input{border:1px solid #e2e8f0;border-radius:6px;flex:1;padding:.5rem .75rem;font-size:.9rem}.add-section-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f61a}.users-tab{flex-direction:column;gap:2rem;display:flex}.users-section-heading{color:#2d3748;margin:0 0 .75rem;font-size:1rem;font-weight:600}.enrolled-users-table{border-collapse:collapse;width:100%;font-size:.9rem}.enrolled-users-table th{text-align:left;color:#4a5568;text-transform:uppercase;letter-spacing:.025em;border-bottom:2px solid #e2e8f0;padding:.625rem .75rem;font-size:.8125rem;font-weight:500}.enrolled-users-table td{color:#2d3748;border-bottom:1px solid #f1f5f9;padding:.625rem .75rem}.enrolled-user-row:hover{background-color:#f8fafc}.user-email-cell{font-weight:500}.user-name-cell{color:#64748b}.role-badge{border-radius:9999px;padding:.125rem .5rem;font-size:.75rem;font-weight:500;display:inline-block}.role-instructor{color:#1e40af;background-color:#dbeafe}.role-ta{color:#92400e;background-color:#fef3c7}.role-student{color:#065f46;background-color:#d1fae5}.btn-danger{color:#dc2626;background-color:#fee2e2;border:1px solid #fecaca}.btn-danger:hover{background-color:#fecaca}.enrollment-requests-section{background-color:#fffbeb;border:1px solid #fef3c7;border-radius:8px;padding:1rem}.enrollment-requests-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.enrollment-request-item{background-color:#fff;border:1px solid #e5e7eb;border-radius:6px;justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.request-user-info{flex-direction:column;display:flex}.request-user-email{color:#1f2937;font-size:.9rem;font-weight:500}.request-user-name{color:#6b7280;font-size:.8rem}.request-actions{gap:.5rem;display:flex}.invite-section{border-top:1px solid #e2e8f0;padding-top:1rem}.invite-form-fields{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.invite-email-input{border:1px solid #e2e8f0;border-radius:6px;flex:1;min-width:200px;padding:.5rem .75rem;font-size:.9rem}.invite-email-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f61a}.invite-role-select{background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:.5rem .75rem;font-size:.9rem}.invite-role-select:focus{border-color:#3b82f6;outline:none}.invite-message{border-radius:6px;margin-top:.75rem;padding:.5rem .75rem;font-size:.85rem}.toc-section-header{justify-content:space-between;align-items:center;display:flex}.toc-section-actions{opacity:0;gap:.25rem;transition:opacity .15s;display:flex}.toc-section:hover>.toc-section-header>.toc-section-actions{opacity:1}.toc-action-btn{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:34px;height:34px;font-size:1rem;transition:background-color .15s,color .15s;display:flex}.toc-action-btn:hover{color:#111827;background-color:#edf2f7}.toc-action-btn-danger:hover{color:#dc2626;background-color:#fee2e2}.toc-action-btn--add-subsection{color:#2563eb}.toc-action-btn--add-subsection:hover{color:#1d4ed8;background-color:#eff6ff}.toc-action-btn--add-item{color:#059669}.toc-action-btn--add-item:hover{color:#047857;background-color:#ecfdf5}.toc-inline-form{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;flex-direction:column;gap:.5rem;margin:.5rem 0 .5rem 1.5rem;padding:.75rem;display:flex}.toc-inline-form:not(.toc-item-form){flex-direction:row;align-items:center}.toc-inline-input{border:1px solid #e2e8f0;border-radius:4px;flex:1;padding:.4rem .6rem;font-size:.85rem}.toc-inline-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f61a}.toc-inline-select{background:#fff;border:1px solid #e2e8f0;border-radius:4px;padding:.4rem .6rem;font-size:.85rem}.toc-inline-select--full{color:#2d3748;cursor:pointer;border-color:#cbd5e0;width:100%;padding:.5rem .75rem;font-size:.9rem;font-weight:500}.toc-item-form-row{gap:.5rem;display:flex}.toc-item-form-row .toc-inline-input{flex:1}.toc-item-form-actions{gap:.5rem;display:flex}.course-ai-tutor{border-top:1px solid #e2e8f0;margin-top:2rem;padding-top:1.5rem}.ai-tutor-section-heading{color:#1a202c;margin:0 0 1rem;font-size:1.25rem;font-weight:600}.collaboration-spaces,.collaboration-editor,.peer-review-page,.peer-review-detail{max-width:900px;margin:0 auto;padding:1.5rem}.spaces-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.spaces-heading{color:#1a1a2e;margin:0;font-size:1.5rem;font-weight:600}.spaces-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem}.spaces-empty{text-align:center;color:#6b7280;padding:3rem 1rem;font-size:.95rem}.create-space-form{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.create-space-input{border:1px solid #d1d5db;border-radius:6px;width:100%;margin-bottom:.75rem;padding:.5rem .75rem;font-size:.9rem}.create-space-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f633}.create-space-actions{gap:.5rem;display:flex}.spaces-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.space-card{border:1px solid #e5e7eb;border-radius:8px;transition:border-color .15s,box-shadow .15s}.space-card:hover{border-color:#3b82f6;box-shadow:0 2px 8px #3b82f61a}.space-card-button{cursor:pointer;text-align:left;width:100%;color:inherit;background:0 0;border:none;justify-content:space-between;align-items:center;padding:1rem 1.25rem;text-decoration:none;display:flex}.space-card-content{flex:1}.space-card-title{color:#1a1a2e;margin:0 0 .25rem;font-size:1rem;font-weight:500}.space-card-date{color:#6b7280;font-size:.8rem}.space-card-arrow{color:#9ca3af;font-size:1.2rem}.editor-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.editor-header-left{align-items:center;gap:.75rem;display:flex}.editor-header-right{align-items:center;gap:1rem;display:flex}.editor-back-link{color:#3b82f6;font-size:.9rem;font-weight:500;text-decoration:none}.editor-back-link:hover{text-decoration:underline}.editor-title{color:#1a1a2e;margin:0;font-size:1.25rem;font-weight:600}.connection-status{border-radius:12px;align-items:center;gap:.4rem;padding:.25rem .5rem;font-size:.8rem;display:flex}.connection-connected{color:#059669;background:#ecfdf5}.connection-disconnected{color:#dc2626;background:#fef2f2}.connection-dot{background:currentColor;border-radius:50%;width:8px;height:8px}.connection-label{font-weight:500}.presence-indicators{align-items:center;gap:.5rem;display:flex}.presence-avatars{align-items:center;display:flex}.presence-avatar{color:#fff;background:#3b82f6;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;margin-left:-6px;font-size:.7rem;font-weight:600;display:flex}.presence-avatar:first-child{margin-left:0}.presence-overflow{background:#6b7280;font-size:.65rem}.presence-count{color:#6b7280;font-size:.8rem}.ws-error-banner{color:#92400e;background:#fef3c7;border:1px solid #fcd34d;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.5rem 1rem;font-size:.85rem;display:flex}.editor-workspace{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.editor-textarea{resize:vertical;color:#1a1a2e;background:#fafafa;border:none;width:100%;min-height:400px;padding:1.25rem;font-family:SF Mono,Fira Code,Fira Mono,monospace;font-size:.9rem;line-height:1.6}.editor-textarea:focus{background:#fff;outline:none}.editor-textarea::placeholder{color:#9ca3af}.peer-review-meta{align-items:center;gap:.75rem;margin-top:.25rem;display:flex}.peer-review-status{border-radius:10px;padding:.15rem .5rem;font-size:.75rem;font-weight:500}.status-open{color:#059669;background:#ecfdf5}.status-closed{color:#6b7280;background:#f3f4f6}.peer-review-deadline{color:#6b7280;font-size:.8rem}.peer-review-tabs{border-bottom:1px solid #e5e7eb;gap:0;margin-bottom:1.5rem;display:flex}.peer-review-instructions{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:1.5rem;padding:1rem 1.25rem}.peer-review-instructions h3{color:#374151;margin:0 0 .5rem;font-size:.9rem;font-weight:600}.peer-review-instructions p{color:#4b5563;margin:0;font-size:.9rem;line-height:1.5}.create-peer-review-form{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:1.5rem;padding:1.25rem}.form-field{margin-bottom:1rem}.form-label{color:#374151;margin-bottom:.35rem;font-size:.85rem;font-weight:500;display:block}.form-input{border:1px solid #d1d5db;border-radius:6px;width:100%;padding:.5rem .75rem;font-size:.9rem}.form-textarea{resize:vertical;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:.5rem .75rem;font-family:inherit;font-size:.9rem}.form-textarea:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f633}.form-row{gap:1rem;display:flex}.form-row .form-field{flex:1}.assignments-list{flex-direction:column;gap:1rem;display:flex}.assignments-empty{text-align:center;color:#6b7280;padding:2rem 1rem}.assignment-card{border:1px solid #e5e7eb;border-radius:8px;padding:1.25rem}.assignment-completed{background:#f9fafb}.assignment-submission{border-bottom:1px solid #e5e7eb;margin-bottom:1rem;padding-bottom:1rem}.assignment-submission h4{color:#374151;margin:0 0 .5rem;font-size:.85rem;font-weight:600}.submission-content{color:#1f2937;white-space:pre-wrap;background:#fff;border:1px solid #e5e7eb;border-radius:6px;max-height:200px;padding:.75rem 1rem;font-size:.9rem;line-height:1.5;overflow-y:auto}.assignment-completed-info{align-items:center;gap:1rem;display:flex}.completed-badge{color:#059669;background:#ecfdf5;border-radius:12px;padding:.25rem .75rem;font-size:.85rem;font-weight:500}.completed-details{color:#6b7280;font-size:.85rem}.rating-input{align-items:center;gap:.25rem;display:flex}.rating-star{cursor:pointer;color:#d1d5db;background:0 0;border:none;padding:0;font-size:1.5rem;line-height:1;transition:color .1s}.rating-star-active,.rating-star:hover{color:#f59e0b}.rating-value{color:#6b7280;margin-left:.5rem;font-size:.85rem}.char-count{text-align:right;color:#9ca3af;margin-top:.25rem;font-size:.75rem;display:block}.field-error{color:#dc2626;margin-top:.25rem;font-size:.8rem;display:block}.submit-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin-bottom:.75rem;padding:.5rem .75rem;font-size:.85rem}.review-form{margin-top:.5rem}.results-empty{text-align:center;color:#6b7280;padding:2rem 1rem}.peer-review-results{padding:.5rem 0}.results-summary{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:1.5rem;margin-bottom:1.5rem;padding:1.25rem;display:flex}.results-average{flex-direction:column;align-items:center;display:flex}.results-average-label{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.results-average-value{color:#1a1a2e;font-size:2rem;font-weight:700;line-height:1.2}.results-average-stars{color:#f59e0b;font-size:1rem}.results-count{color:#6b7280;font-size:.85rem}.results-feedback-list h4{color:#1a1a2e;margin:0 0 1rem;font-size:1rem;font-weight:600}.results-feedback-item{border:1px solid #e5e7eb;border-radius:8px;margin-bottom:.75rem;padding:1rem}.feedback-rating{color:#f59e0b;margin-bottom:.5rem;font-size:.9rem}.feedback-rating-value{color:#6b7280;margin-left:.5rem;font-size:.8rem}.feedback-text{color:#374151;margin:0;font-size:.9rem;line-height:1.5}.btn{cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;padding:.5rem 1rem;font-size:.9rem;font-weight:500;transition:background .15s,opacity .15s;display:inline-flex}.btn-primary{color:#fff;background:#3b82f6}.btn-primary:hover:not(:disabled){background:#2563eb}.btn-secondary{color:#374151;background:#f3f4f6;border:1px solid #d1d5db}.btn-secondary:hover:not(:disabled){background:#e5e7eb}.course-tab{color:#6b7280;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:.6rem 1.25rem;font-size:.9rem;font-weight:500;transition:color .15s,border-color .15s}.course-tab:hover{color:#1a1a2e}.course-tab-active{color:#3b82f6;border-bottom-color:#3b82f6}.forum-page,.forum-thread-page{flex-direction:column;gap:1.5rem;max-width:900px;display:flex}.forum-header{flex-direction:column;gap:1rem;display:flex}.forum-header-top{justify-content:space-between;align-items:center;display:flex}.forum-title{color:#1f2937;font-size:1.5rem;font-weight:600}.forum-search{align-items:center;gap:.5rem;display:flex}.forum-search-input{color:#1f2937;background-color:#fff;border:1px solid #d1d5db;border-radius:8px;flex:1;padding:.5rem .75rem;font-size:.9375rem;transition:border-color .15s,box-shadow .15s}.forum-search-input::placeholder{color:#9ca3af}.forum-search-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.forum-search-message{color:#6b7280;margin:0;font-size:.875rem}.forum-actions{flex-direction:column;display:flex}.forum-create-form{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.forum-create-heading{color:#1f2937;margin:0;font-size:1.125rem;font-weight:600}.forum-form-field{flex-direction:column;gap:.375rem;display:flex}.forum-form-label{color:#374151;font-size:.8125rem;font-weight:500}.forum-form-input,.forum-form-select{color:#1f2937;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.5rem .75rem;font-size:.9375rem;transition:border-color .15s,box-shadow .15s}.forum-form-input:focus,.forum-form-select:focus,.forum-form-textarea:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.forum-form-textarea{color:#1f2937;resize:vertical;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.5rem .75rem;font-family:inherit;font-size:.9375rem;transition:border-color .15s,box-shadow .15s}.forum-reply-textarea{font-size:.875rem}.forum-form-error{color:#dc2626;background-color:#fef2f2;border-radius:4px;padding:.5rem;font-size:.8125rem}.forum-form-actions{gap:.5rem;display:flex}.forum-thread-list{flex-direction:column;display:flex}.forum-threads{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.forum-thread-item{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;justify-content:space-between;align-items:flex-start;padding:1rem 1.25rem;transition:border-color .15s;display:flex}.forum-thread-item:hover{border-color:#3b82f6}.forum-thread-pinned{background-color:#fffbeb;border-left:3px solid #f59e0b}.forum-thread-content{flex-direction:column;flex:1;gap:.375rem;min-width:0;display:flex}.forum-thread-meta{align-items:center;gap:.5rem;display:flex}.forum-pin-badge{color:#d97706;background-color:#fef3c7;border-radius:4px;padding:.125rem .5rem;font-size:.75rem;font-weight:600}.forum-answered-badge{color:#059669;background-color:#d1fae5;border-radius:4px;padding:.125rem .5rem;font-size:.75rem;font-weight:600}.forum-thread-link{color:inherit;text-decoration:none}.forum-thread-link:hover .forum-thread-title{color:#3b82f6}.forum-thread-title{color:#1f2937;margin:0;font-size:1rem;font-weight:600;transition:color .15s}.forum-thread-preview{color:#6b7280;margin:0;font-size:.875rem;line-height:1.4}.forum-thread-info{color:#9ca3af;gap:1rem;font-size:.75rem;display:flex}.forum-thread-author{color:#6b7280;font-weight:500}.forum-thread-tags{flex-wrap:wrap;gap:.375rem;margin-top:.25rem;display:flex}.forum-tag{color:#3b82f6;background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;padding:.125rem .5rem;font-size:.6875rem}.forum-thread-actions{flex-shrink:0;gap:.375rem;margin-left:1rem;display:flex}.forum-empty{text-align:center;color:#6b7280;padding:2rem;font-size:.9375rem}.forum-pagination{justify-content:center;align-items:center;gap:1rem;padding-top:1rem;display:flex}.forum-pagination-info{color:#6b7280;font-size:.875rem}.forum-breadcrumb{margin-bottom:.5rem}.forum-breadcrumb-link{color:#3b82f6;font-size:.875rem;text-decoration:none}.forum-breadcrumb-link:hover{text-decoration:underline}.forum-thread-detail{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.forum-thread-detail-header{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.forum-thread-detail-meta{gap:.5rem;display:flex}.forum-thread-detail-title{color:#1f2937;margin:0;font-size:1.375rem;font-weight:600}.forum-thread-detail-info{color:#6b7280;gap:1rem;font-size:.8125rem;display:flex}.forum-thread-detail-body{color:#374151;border-top:1px solid #f3f4f6;padding:1rem 0;font-size:.9375rem;line-height:1.6}.forum-thread-detail-body p{white-space:pre-wrap;margin:0}.forum-thread-detail-actions{border-top:1px solid #f3f4f6;gap:.5rem;padding-top:1rem;display:flex}.forum-replies-section{flex-direction:column;gap:1rem;display:flex}.forum-replies-heading,.forum-reply-heading{color:#1f2937;margin:0;font-size:1.125rem;font-weight:600}.forum-no-replies{color:#6b7280;text-align:center;padding:1.5rem;font-size:.9375rem}.forum-replies-list{flex-direction:column;gap:.75rem;display:flex}.forum-reply{background-color:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:1rem}.forum-reply-accepted{background-color:#ecfdf5;border-color:#10b981}.forum-reply-header{align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.forum-reply-author{color:#374151;font-size:.8125rem;font-weight:600}.forum-reply-date{color:#9ca3af;font-size:.75rem}.forum-accepted-badge{color:#059669;background-color:#d1fae5;border-radius:4px;padding:.125rem .5rem;font-size:.6875rem;font-weight:700}.forum-reply-content{color:#374151;font-size:.9375rem;line-height:1.5}.forum-reply-content p{white-space:pre-wrap;margin:0}.forum-reply-actions{gap:.375rem;margin-top:.5rem;display:flex}.forum-reply-children{flex-direction:column;gap:.5rem;margin-top:.75rem;display:flex}.forum-reply-form,.forum-reply-form-main{flex-direction:column;gap:.75rem;margin-top:.75rem;display:flex}.forum-reply-form-main{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.forum-reply-section{flex-direction:column;gap:1rem;display:flex}.forum-error{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:1rem;font-size:.9375rem}.loading-container{justify-content:center;align-items:center;padding:3rem;display:flex}.btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background-color .15s,border-color .15s;display:inline-flex}.btn-primary:hover:not(:disabled){background-color:#2563eb}.btn-secondary:hover:not(:disabled){background-color:#f9fafb;border-color:#9ca3af}.btn-danger{color:#dc2626;background-color:#fff;border-color:#fecaca}.btn-danger:hover:not(:disabled){background-color:#fef2f2;border-color:#dc2626}.sandbox-page{flex-direction:column;gap:1rem;display:flex}.sandbox-header{flex-direction:column;gap:.5rem;display:flex}.sandbox-header h1{color:#1f2937;font-size:1.5rem;font-weight:600}.sandbox-instructions{color:#4b5563;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:.75rem 1rem;font-size:.9375rem;line-height:1.6}.sandbox-message{border-radius:6px;padding:.625rem 1rem;font-size:.875rem}.sandbox-message--error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca}.sandbox-message--success{color:#065f46;background-color:#ecfdf5;border:1px solid #a7f3d0}.sandbox-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.sandbox-language-selector{align-items:center;gap:.5rem;display:flex}.sandbox-language-selector label{color:#374151;font-size:.875rem;font-weight:500}.sandbox-language-selector select{color:#1f2937;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.375rem .75rem;font-size:.875rem}.sandbox-language-selector select:disabled{cursor:not-allowed;background-color:#f3f4f6}.sandbox-actions{gap:.5rem;display:flex}.sandbox-run-btn{padding:.5rem 1.25rem}.sandbox-save-btn{padding:.5rem 1rem}.sandbox-editor-container{border:1px solid #d1d5db;border-radius:8px;overflow:hidden}.sandbox-editor{color:#1f2937;resize:vertical;tab-size:4;white-space:pre;overflow-wrap:normal;background-color:#fafafa;border:none;outline:none;width:100%;min-height:300px;padding:1rem;font-family:Menlo,Monaco,Courier New,monospace;font-size:.875rem;line-height:1.6;overflow-x:auto}.sandbox-editor:focus{background-color:#fff}.sandbox-output{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.sandbox-output-title{color:#1f2937;font-size:1rem;font-weight:600}.sandbox-resource-error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;align-items:center;gap:.5rem;padding:.625rem .875rem;font-size:.8125rem;display:flex}.sandbox-output-meta{align-items:center;gap:1rem;display:flex}.sandbox-execution-time{color:#6b7280;background-color:#f3f4f6;border-radius:4px;padding:.25rem .625rem;font-size:.8125rem;font-weight:500}.sandbox-output-section h3{color:#6b7280;text-transform:uppercase;letter-spacing:.025em;margin-bottom:.375rem;font-size:.8125rem;font-weight:600}.sandbox-output-content{white-space:pre-wrap;word-break:break-word;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;margin:0;padding:.75rem;font-family:Menlo,Monaco,Courier New,monospace;font-size:.8125rem;line-height:1.5;overflow-x:auto}.sandbox-output-content--stderr{color:#991b1b;background-color:#fef2f2;border-color:#fecaca}.sandbox-empty-output{color:#9ca3af;font-style:italic}.sandbox-test-results h3{color:#1f2937;margin-bottom:.5rem;font-size:.9375rem;font-weight:600}.sandbox-test-list{flex-direction:column;gap:.5rem;display:flex}.sandbox-test-item{border:1px solid #e5e7eb;border-radius:6px;padding:.75rem}.sandbox-test-item--passed{background-color:#f0fdf4;border-color:#a7f3d0}.sandbox-test-item--failed{background-color:#fef2f2;border-color:#fecaca}.sandbox-test-header{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.sandbox-test-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:4px;padding:.125rem .5rem;font-size:.6875rem;font-weight:700}.sandbox-test-badge--pass{color:#065f46;background-color:#d1fae5}.sandbox-test-badge--fail{color:#991b1b;background-color:#fecaca}.sandbox-test-label{color:#374151;font-size:.8125rem;font-weight:500}.sandbox-test-details{flex-direction:column;gap:.375rem;display:flex}.sandbox-test-field{align-items:flex-start;gap:.5rem;display:flex}.sandbox-test-field-label{color:#6b7280;flex-shrink:0;min-width:5rem;font-size:.75rem;font-weight:600}.sandbox-test-field-value{color:#1f2937;white-space:pre-wrap;word-break:break-word;background-color:#fff;border:1px solid #e5e7eb;border-radius:4px;flex:1;margin:0;padding:.25rem .5rem;font-family:Menlo,Monaco,Courier New,monospace;font-size:.75rem;line-height:1.4;overflow-x:auto}.learning-path-page{flex-direction:column;gap:1.5rem;display:flex}.learning-path-header{flex-direction:column;gap:.5rem;display:flex}.learning-path-header h1{color:#1f2937;font-size:1.5rem;font-weight:600}.learning-path-message{border-radius:6px;padding:.75rem 1rem;font-size:.875rem}.learning-path-message--error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca}.learning-path-unavailable{background-color:#fffbeb;border:1px solid #fde68a;border-radius:8px;align-items:flex-start;gap:.75rem;padding:1rem;display:flex}.unavailable-icon{color:#d97706;flex-shrink:0;margin-top:.125rem}.unavailable-title{color:#92400e;margin-bottom:.25rem;font-size:.875rem;font-weight:600}.unavailable-description{color:#78350f;font-size:.8125rem;line-height:1.5}.learning-path-empty{text-align:center;background-color:#fff;border:1px dashed #d1d5db;border-radius:8px;flex-direction:column;align-items:center;gap:1.25rem;padding:3rem 1.5rem;display:flex}.learning-path-empty .empty-state{color:#6b7280;max-width:400px;font-size:.9375rem;line-height:1.5}.generate-btn{padding:.625rem 1.5rem}.learning-path-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.engagement-adjusted-badge{color:#d97706;background-color:#fffbeb;border:1px solid #fde68a;border-radius:20px;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;display:inline-flex}.reevaluate-btn{margin-left:auto}.learning-path-items{flex-direction:column;display:flex}.learning-path-item{gap:1rem;display:flex;position:relative}.item-sequence{flex-direction:column;flex-shrink:0;align-items:center;width:2rem;display:flex}.item-number{color:#374151;background-color:#e5e7eb;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:.75rem;font-weight:600;display:flex}.learning-path-item--completed .item-number{color:#065f46;background-color:#d1fae5}.learning-path-item--skipped .item-number{color:#9ca3af;background-color:#f3f4f6}.item-connector{background-color:#e5e7eb;flex:1;width:2px;min-height:1rem}.learning-path-item--completed .item-connector{background-color:#a7f3d0}.item-content{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;flex:1;margin-bottom:.5rem;padding:1rem;transition:border-color .15s,box-shadow .15s}.item-content:hover{border-color:#d1d5db;box-shadow:0 1px 3px #0000000d}.learning-path-item--completed .item-content{background-color:#f0fdf4;border-color:#a7f3d0}.learning-path-item--skipped .item-content{opacity:.7;background-color:#f9fafb;border-color:#e5e7eb}.item-header{align-items:center;gap:.5rem;display:flex}.item-status{flex-shrink:0}.status-icon--completed{color:#059669}.status-icon--skipped{color:#9ca3af}.status-icon--pending{color:#d1d5db}.item-title{color:#1f2937;flex:1;font-size:.9375rem;font-weight:600;line-height:1.4}.learning-path-item--skipped .item-title{color:#6b7280;text-decoration:line-through}.item-time{color:#6b7280;white-space:nowrap;background-color:#f3f4f6;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:500}.item-rationale{color:#6b7280;margin-top:.5rem;font-size:.8125rem;line-height:1.5}.btn:hover{text-decoration:none}.pcp-root{max-width:1340px;margin:0 auto;padding:2rem 1.5rem}.pcp-back{color:#6b7280;align-items:center;gap:.375rem;margin-bottom:1.5rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:color .12s;display:inline-flex}.pcp-back:hover{color:#1c1d1f;text-decoration:none}.pcp-layout{grid-template-columns:1fr 320px;align-items:start;gap:2.5rem;display:grid}@media (width<=900px){.pcp-layout{grid-template-columns:1fr}.pcp-sidebar{order:-1}}.pcp-org{color:#5624d0;margin-bottom:.375rem;font-size:.8125rem;font-weight:600;text-decoration:none;display:inline-block}.pcp-org:hover{text-decoration:underline}.pcp-title{color:#1c1d1f;margin:0 0 1rem;font-size:1.875rem;font-weight:800;line-height:1.2}.pcp-description{color:#374151;white-space:pre-wrap;margin:0 0 2rem;font-size:1rem;line-height:1.7}.pcp-section-title{color:#1c1d1f;border-bottom:2px solid #e5e7eb;margin:0 0 1rem;padding-bottom:.5rem;font-size:1.125rem;font-weight:700}.pcp-toc{flex-direction:column;gap:.5rem;display:flex}.pcp-toc-section{border:1px solid #e5e7eb;border-radius:6px;overflow:hidden}.pcp-toc-section-title{color:#1c1d1f;background:#f9fafb;align-items:center;gap:.5rem;margin:0;padding:.75rem 1rem;font-size:.9375rem;font-weight:600;display:flex}.pcp-toc-items{border-top:1px solid #e5e7eb}.pcp-toc-item{color:#374151;border-bottom:1px solid #f3f4f6;align-items:center;gap:.625rem;padding:.5rem 1rem .5rem 1.75rem;font-size:.875rem;display:flex}.pcp-toc-item:last-child{border-bottom:none}.pcp-toc-item-icon{color:#9ca3af;flex-shrink:0;font-size:.875rem}.pcp-toc-empty{text-align:center;color:#9ca3af;padding:2rem;font-size:.875rem}.pcp-sidebar{position:sticky;top:80px}.pcp-sidebar-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.pcp-cta-btn{color:#fff;cursor:pointer;background:#1c1d1f;border:none;border-radius:4px;justify-content:center;align-items:center;width:100%;padding:.75rem 1.25rem;font-size:1rem;font-weight:700;text-decoration:none;transition:background .15s;display:flex}.pcp-cta-btn:hover{background:#374151;text-decoration:none}.pcp-meta-row{flex-direction:column;gap:.5rem;display:flex}.pcp-meta-item{color:#374151;gap:.5rem;font-size:.875rem;display:flex}.pcp-meta-label{color:#6b7280;min-width:80px;font-weight:600}.pcp-loading{justify-content:center;align-items:center;min-height:300px;display:flex}.pcp-error{text-align:center;color:#6b7280;padding:4rem 1.5rem}.inv-page{background:linear-gradient(135deg,#eff6ff 0%,#f0fdf4 100%);flex-direction:column;min-height:100vh;display:flex}.inv-header{background:#fff;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.inv-header-logo{color:#1f2937;letter-spacing:-.02em;font-size:1.375rem;font-weight:700}.inv-header-dot{color:#2563eb}.inv-header-org{color:#6b7280;background:#f3f4f6;border-radius:9999px;padding:.25rem .75rem;font-size:.875rem;font-weight:500}.inv-main{flex:1;justify-content:center;align-items:center;padding:2rem 1rem;display:flex}.inv-card{text-align:center;background:#fff;border-radius:16px;width:100%;max-width:440px;padding:2.5rem 2rem;box-shadow:0 8px 32px #00000014,0 2px 8px #0000000a}.inv-footer{text-align:center;color:#9ca3af;padding:1rem;font-size:.8125rem}.inv-envelope{width:72px;height:72px;margin:0 auto 1.25rem}.inv-envelope svg{width:100%;height:100%}.inv-title{color:#111827;margin:0 0 .375rem;font-size:1.625rem;font-weight:700}.inv-org-label{color:#2563eb;margin:0 0 1.25rem;font-size:.9375rem;font-weight:500}.inv-details{text-align:left;background:#f8faff;border:1px solid #dbeafe;border-radius:10px;flex-direction:column;gap:.625rem;margin-bottom:1.25rem;padding:1rem 1.25rem;display:flex}.inv-detail-row{align-items:baseline;gap:.5rem;display:flex}.inv-detail-label{color:#6b7280;flex-shrink:0;min-width:4.5rem;font-size:.8125rem;font-weight:500}.inv-detail-value{color:#111827;font-size:.9375rem;font-weight:600}.inv-role-badge{color:#1d4ed8;background:#dbeafe;border-radius:9999px;padding:.125rem .625rem;font-size:.8125rem;font-weight:600;display:inline-block}.inv-sub{color:#6b7280;margin:0 0 1.5rem;font-size:.9rem;line-height:1.6}.inv-google-btn{color:#3c4043;cursor:pointer;background:#fff;border:1px solid #dadce0;border-radius:8px;justify-content:center;align-items:center;gap:.75rem;width:100%;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:500;transition:background-color .15s,box-shadow .15s;display:inline-flex}.inv-google-btn:hover:not(:disabled){background:#f8f9fa;box-shadow:0 2px 8px #0000001a}.inv-google-btn:disabled{opacity:.6;cursor:not-allowed}.inv-status-card{padding:.5rem 0}.inv-status-icon{margin-bottom:1rem;font-size:3rem;display:block}.inv-status-title{color:#111827;margin:0 0 .75rem;font-size:1.375rem;font-weight:700}.inv-status-body{color:#6b7280;margin:0;font-size:.9375rem;line-height:1.6}.inv-spinner-wrap{justify-content:center;padding:2rem 0;display:flex}.inv-card .loading-spinner{border:3px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;width:2rem;height:2rem;animation:.8s linear infinite inv-spin}@keyframes inv-spin{to{transform:rotate(360deg)}}.inv-divider{color:#9ca3af;align-items:center;gap:.75rem;margin:1.25rem 0;font-size:.8125rem;font-weight:500;display:flex}.inv-divider:before,.inv-divider:after{content:"";background:#e5e7eb;flex:1;height:1px}.inv-auth-tabs{border-bottom:2px solid #e5e7eb;gap:0;margin-bottom:1.25rem;display:flex}.inv-auth-tab{color:#6b7280;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;margin-bottom:-2px;padding:.625rem 0;font-size:.875rem;font-weight:500;transition:color .15s,border-color .15s}.inv-auth-tab:hover{color:#374151}.inv-auth-tab--active{color:#2563eb;border-bottom-color:#2563eb}.inv-toggle{color:#6b7280;margin-top:1.25rem;font-size:.8125rem}.inv-toggle-link{color:#2563eb;cursor:pointer;font-weight:600;font-size:inherit;background:0 0;border:none;padding:0}.inv-toggle-link:hover{text-decoration:underline}.inv-accepting-overlay{color:#6b7280;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem 0;font-size:.875rem;display:flex}.security-page,.home-content-page,.study-pathways-page{flex-direction:column;gap:0;display:flex}.home-content-page,.study-pathways-page{gap:1.5rem;max-width:1340px}.security-tabs,.home-content-tabs,.study-pathways-tabs{border-bottom:2px solid #e5e7eb;gap:0;margin-bottom:1.5rem;display:flex}.home-content-tabs,.study-pathways-tabs{border-bottom-width:1px;margin-bottom:0}.security-tab,.home-content-tab,.study-pathways-tab{color:#6b7280;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:color .15s,border-color .15s}.security-tab:hover,.home-content-tab:hover,.study-pathways-tab:hover{color:#1f2937}.home-content-tab:hover,.study-pathways-tab:hover{border-bottom-color:#d1d5db}.security-tab--active,.home-content-tab--active,.study-pathways-tab--active{color:#1d4ed8;border-bottom-color:#3b82f6;font-weight:600}.security-tab-content,.home-content-tabpanel,.study-pathways-tabpanel{flex:1;padding-top:1rem}.security-tab-content{padding-top:0}.security-tab-title-row{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.security-tab-title,.security-page-title{color:#1f2937;margin:0;font-size:1.5rem;font-weight:600}.courses-page,.users-page,.syllabi-page,.org-list-page,.roles-rights-page,.roles-page,.right-detail-page,.role-detail-page{flex-direction:column;gap:1.5rem;display:flex}.roles-page,.right-detail-page,.role-detail-page{max-width:1340px}.courses-page-header,.users-page-header,.syllabi-header,.org-list-header{justify-content:space-between;align-items:center;display:flex}.courses-page h1,.users-page h1,.syllabi-page h1,.org-list-page h1,.roles-page h1,.home-content-page h1,.study-pathways-page h1{color:#1f2937;margin:0;font-size:1.5rem;font-weight:600}.courses-search-form,.users-search-form{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.courses-table-area,.users-table-area{flex-direction:column;gap:.75rem;display:flex}.org-list-controls{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.roles-rights-section-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.roles-rights-section-header h2{margin:0}.roles-results{overflow-x:auto}.roles-table th{text-align:left;color:#374151;background-color:#f9fafb;border-bottom:2px solid #e5e7eb;padding:.625rem .75rem;font-weight:600}.roles-table td{color:#4b5563;border-bottom:1px solid #e5e7eb;padding:.625rem .75rem}.roles-table-uuid code{color:#6b7280;word-break:break-all;background-color:#f3f4f6;border-radius:4px;padding:.125rem .375rem;font-size:.75rem}.roles-loading{color:#6b7280;padding:.5rem 0;font-size:.875rem}.roles-divider{border:none;border-top:1px solid #e5e7eb;margin:1rem 0}.user-detail-panel{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.user-detail-header{align-items:center;gap:.75rem;display:flex}.user-detail-header h2{color:#1f2937;margin:0;font-size:1.125rem;font-weight:600}.user-detail-header h1{color:#1f2937;margin:0;font-size:1.5rem;font-weight:600}.user-detail-info{flex-direction:column;gap:.25rem;display:flex}.user-detail-email{color:#6b7280;margin:0;font-size:.875rem}.user-detail-id{color:#9ca3af;margin:0;font-family:monospace;font-size:.75rem}.user-detail-actions{flex-wrap:wrap;gap:.5rem;display:flex}.user-detail-memberships h3{color:#374151;margin:0 0 .5rem;font-size:.9375rem;font-weight:600}.user-detail-empty{color:#9ca3af;margin:0;font-size:.875rem}.org-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.org-pagination-info{color:#6b7280;font-size:.8125rem}.org-pagination-page{color:#374151;font-size:.8125rem;font-weight:500}.courses-page h1{color:#1f2937;margin:0;font-size:1.5rem;font-weight:600}.hc-btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;padding:.5rem 1rem;font-size:.8125rem;font-weight:500;transition:background-color .15s,opacity .15s;display:inline-flex}.hc-btn:disabled{opacity:.6;cursor:not-allowed}.hc-btn--primary{color:#fff;background-color:#3b82f6;border-color:#3b82f6}.hc-btn--primary:hover:not(:disabled){background-color:#2563eb}.hc-btn--danger:not(.table-action-btn){color:#fff;background-color:#ef4444;border-color:#ef4444}.hc-btn--danger:not(.table-action-btn):hover:not(:disabled){background-color:#dc2626}.hc-btn--secondary:not(.table-action-btn){color:#374151;background-color:#fff;border-color:#d1d5db}.hc-btn--secondary:not(.table-action-btn):hover:not(:disabled){background-color:#f9fafb}.hc-btn--small{padding:.25rem .625rem;font-size:.75rem}.admin-action-btn{cursor:pointer;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;padding:.5rem 1rem;font-size:.8125rem;font-weight:500;transition:background-color .15s,opacity .15s;display:inline-flex}.admin-action-btn:disabled{opacity:.5;cursor:not-allowed}.admin-action-btn--create{color:#fff;background-color:#3b82f6;border-color:#3b82f6}.admin-action-btn--create:hover:not(:disabled){background-color:#2563eb;border-color:#2563eb}.admin-action-btn--grant{color:#92400e;background-color:#fef3c7;border-color:#fde68a}.admin-action-btn--grant:hover:not(:disabled){background-color:#fde68a}.admin-action-btn--revoke{color:#991b1b;background-color:#fef2f2;border-color:#fecaca}.admin-action-btn--revoke:hover:not(:disabled){background-color:#fecaca}.admin-action-btn--promote{color:#166534;background-color:#dcfce7;border-color:#bbf7d0}.admin-action-btn--promote:hover:not(:disabled){background-color:#bbf7d0}.admin-action-btn--demote{color:#991b1b;background-color:#fee2e2;border-color:#fecaca}.admin-action-btn--demote:hover:not(:disabled){background-color:#fecaca}.hc-reorder-btn{color:#6b7280;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;font-size:1rem;transition:background-color .15s;display:inline-flex}.hc-reorder-btn:hover:not(:disabled){background-color:#f3f4f6}.hc-reorder-btn:disabled{opacity:.3;cursor:not-allowed}.hc-badge{text-transform:uppercase;border-radius:9999px;padding:.125rem .5rem;font-size:.6875rem;font-weight:500;display:inline-block}.hc-badge--active{color:#166534;background-color:#dcfce7}.hc-badge--inactive{color:#6b7280;background-color:#f3f4f6}.hc-badge--visible{color:#1e40af;background-color:#dbeafe}.hc-badge--hidden{color:#92400e;background-color:#fef3c7}.scope-badge{text-transform:capitalize;border-radius:9999px;padding:.125rem .5rem;font-size:.75rem;font-weight:500;display:inline-block}.scope-badge--system{color:#5b21b6;background-color:#ede9fe}.scope-badge--org{color:#1e40af;background-color:#dbeafe}.scope-badge--course{color:#166534;background-color:#dcfce7}.status-badge{border-radius:9999px;padding:.125rem .5rem;font-size:.6875rem;font-weight:500;display:inline-block}.status-badge--active{color:#166534;background-color:#dcfce7}.status-badge--suspended{color:#92400e;background-color:#fef3c7}.status-badge--deleted{color:#991b1b;background-color:#fee2e2}.user-role-badge{text-transform:capitalize;border-radius:9999px;padding:.125rem .5rem;font-size:.75rem;font-weight:500;display:inline-block}.user-role-badge--sysadmin{color:#5b21b6;background-color:#ede9fe}.user-role-badge--instructor{color:#1e40af;background-color:#dbeafe}.user-role-badge--student{color:#4b5563;background-color:#f3f4f6}.org-tier-badge{text-transform:capitalize;border-radius:9999px;padding:.125rem .5rem;font-size:.75rem;font-weight:500;display:inline-block}.org-tier-badge--free{color:#4b5563;background-color:#f3f4f6}.org-tier-badge--paid{color:#1e40af;background-color:#dbeafe}.org-status-badge{border-radius:9999px;padding:.125rem .5rem;font-size:.75rem;font-weight:500;display:inline-block}.org-status--active{color:#166534;background-color:#dcfce7}.org-status--suspended{color:#92400e;background-color:#fef3c7}.org-status--deleted{color:#991b1b;background-color:#fef2f2}.course-featured-badge{border-radius:9999px;padding:.125rem .5rem;font-size:.75rem;font-weight:500;display:inline-block}.course-featured-badge--yes{color:#1e40af;background-color:#dbeafe}.course-featured-badge--no{color:#9ca3af}.crs-inv-badge{color:#374151;background:#e5e7eb;border-radius:9999px;padding:.125rem .5rem;font-size:.75rem;font-weight:500;display:inline-block}.crs-inv-badge--pending{color:#92400e;background:#fef3c7}.crs-inv-badge--accepted{color:#065f46;background:#d1fae5}.crs-inv-badge--expired{color:#991b1b;background:#fee2e2}.hc-search{gap:.5rem;display:flex}.hc-search input{color:#1f2937;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;flex:1;padding:.5rem .75rem;font-size:.875rem}.hc-search input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.roles-rights-filters{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.roles-rights-search-input,.users-search-input,.courses-search-input,.org-search-input{color:#1f2937;background-color:#fff;border:1px solid #d1d5db;border-radius:8px;flex:1;max-width:320px;padding:.625rem .75rem;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.roles-rights-search-input::placeholder,.users-search-input::placeholder,.courses-search-input::placeholder,.org-search-input::placeholder{color:#9ca3af}.roles-rights-search-input:focus,.users-search-input:focus,.courses-search-input:focus,.org-search-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.roles-rights-scope-select,.org-filter-select{color:#1f2937;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:8px;padding:.625rem .75rem;font-size:.875rem;transition:border-color .15s}.roles-rights-scope-select:focus,.org-filter-select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.courses-search-btn,.users-search-btn{color:#fff;cursor:pointer;white-space:nowrap;background-color:#3b82f6;border:none;border-radius:8px;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;transition:background-color .15s}.courses-search-btn:hover,.users-search-btn:hover{background-color:#2563eb}.roles-rights-table-wrapper,.courses-table-wrapper,.users-table-wrapper,.org-table-wrapper,.syllabi-table-wrapper,.right-detail-table-wrapper,.role-detail-table-wrapper{border:1px solid #e5e7eb;border-radius:8px;overflow-x:auto}.roles-rights-table,.courses-table,.users-table,.org-table,.syllabi-table,.right-detail-table,.role-detail-table,.memberships-table,.roles-table,.role-section-table{border-collapse:collapse;width:100%;font-size:.875rem}.roles-rights-table thead,.courses-table thead,.users-table thead,.org-table thead,.syllabi-table thead,.right-detail-table thead,.role-detail-table thead{background-color:#f9fafb}.roles-rights-table th,.courses-table th,.users-table th,.org-table th,.syllabi-table th,.right-detail-table th,.role-detail-table th,.memberships-table th,.roles-table th,.role-section-table th{text-align:left;color:#374151;white-space:nowrap;border-bottom:1px solid #e5e7eb;padding:.75rem 1rem;font-weight:600}.roles-rights-table td,.courses-table td,.users-table td,.org-table td,.syllabi-table td,.right-detail-table td,.role-detail-table td,.memberships-table td,.role-section-table td{color:#1f2937;border-bottom:1px solid #f3f4f6;padding:.75rem 1rem}.roles-rights-table tbody tr:hover,.courses-table tbody tr:hover,.users-table tbody tr:hover,.org-table tbody tr:hover,.syllabi-table tbody tr:hover,.right-detail-table tbody tr:hover,.role-detail-table tbody tr:hover{background-color:#f9fafb}.roles-rights-table tbody tr:last-child td,.courses-table tbody tr:last-child td,.users-table tbody tr:last-child td,.org-table tbody tr:last-child td,.syllabi-table tbody tr:last-child td,.right-detail-table tbody tr:last-child td,.role-detail-table tbody tr:last-child td,.memberships-table tbody tr:last-child td,.role-section-table tbody tr:last-child td{border-bottom:none}.roles-rights-table th:last-child,.roles-rights-table td:last-child{text-align:right}.users-table-row,.roles-table-row{cursor:pointer;transition:background-color .1s}.users-table-row:hover,.roles-table-row:hover{background-color:#f0f7ff}.users-table-row:focus{outline-offset:-2px;outline:2px solid #3b82f6}.roles-table-row--selected{background-color:#eff6ff}.roles-rights-name-link,.org-name-link,.syllabi-name-link{color:#2563eb;font-weight:500;text-decoration:none}.roles-rights-name-link:hover,.org-name-link:hover{color:#1d4ed8;text-decoration:underline}.syllabi-name-link{font:inherit;font-size:inherit;cursor:pointer;text-align:left;background:0 0;border:none;margin:0;padding:0;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;transition:color .15s,text-decoration-color .15s}.syllabi-name-link:hover{color:#1d4ed8;text-decoration-color:#1d4ed8}.roles-rights-pagination,.syllabi-pagination,.org-pagination-controls{align-items:center;gap:.75rem;margin-top:.75rem;padding:.5rem 0;display:flex}.roles-rights-pagination{justify-content:center}.syllabi-pagination{flex-wrap:wrap;justify-content:space-between}.roles-rights-page-btn,.syllabi-pagination-btn,.org-pagination-btn{color:#374151;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;transition:background-color .15s,border-color .15s}.roles-rights-page-btn:hover:not(:disabled),.syllabi-pagination-btn:hover:not(:disabled),.org-pagination-btn:hover:not(:disabled){background-color:#f9fafb;border-color:#9ca3af}.roles-rights-page-btn:disabled,.syllabi-pagination-btn:disabled,.org-pagination-btn:disabled{opacity:.4;cursor:not-allowed}.roles-rights-page-info,.syllabi-pagination-info,.syllabi-pagination-page,.org-pagination-info,.org-pagination-page{color:#6b7280;font-size:.8125rem}.roles-rights-loading,.courses-loading,.users-loading,.syllabi-loading,.org-list-loading{color:#6b7280;padding:1rem 0;font-size:.875rem}.roles-rights-error,.courses-error,.courses-validation-error,.users-error,.users-validation-error,.org-list-error,.hc-message--error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:.625rem .75rem;font-size:.875rem}.hc-message--success{color:#166534;background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;padding:.5rem .75rem;font-size:.8125rem}.hc-message{border-radius:6px;padding:.5rem .75rem;font-size:.8125rem}.roles-rights-empty,.courses-empty-cell,.users-empty-cell,.org-list-empty,.syllabi-empty,.hc-empty{color:#6b7280;padding:1rem 0;font-size:.875rem}.courses-empty-cell,.users-empty-cell{text-align:center;padding:2rem 1rem}.courses-idle-hint,.users-idle-hint{color:#9ca3af;margin:0;padding:.5rem 1rem;font-size:.875rem}.hc-loading{text-align:center;color:#6b7280;padding:2rem;font-size:.875rem}.hc-list{flex-direction:column;gap:.75rem;display:flex}.hc-list-item{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;padding:.875rem 1rem;display:flex}.hc-list-item-info{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.hc-list-item-title{color:#1f2937;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:600;overflow:hidden}.hc-list-item-subtitle{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.hc-list-item-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.hc-manager{flex-direction:column;gap:1.25rem;display:flex}.hc-manager-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.hc-manager-header h1,.hc-manager-header h2{color:#1f2937;margin:0;font-size:1.5rem;font-weight:600}.hc-manager-header h2{font-size:1.125rem}.hc-section-courses{flex-direction:column;gap:.375rem;margin-top:.5rem;padding-left:1rem;display:flex}.hc-section-course-item{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:4px;justify-content:space-between;align-items:center;padding:.375rem .625rem;font-size:.8125rem;display:flex}.org-admin-launch-link,.course-admin-launch-link{color:#6b7280;border-radius:4px;justify-content:center;align-items:center;padding:.25rem;transition:color .15s,background-color .15s;display:inline-flex}.org-admin-launch-link:hover,.course-admin-launch-link:hover{color:#2563eb;background-color:#eff6ff}.org-create-btn{color:#fff;cursor:pointer;background-color:#3b82f6;border:none;border-radius:8px;align-items:center;padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background-color .15s;display:inline-flex}.org-create-btn:hover{background-color:#2563eb}.org-create-btn--disabled{opacity:.5;cursor:not-allowed}.courses-uuid-cell,.users-uuid-cell,.org-code-cell{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-family:monospace;font-size:.75rem;overflow:hidden}.courses-title-cell,.users-name-cell{font-weight:500}.courses-description-cell,.users-email-cell{color:#4b5563}.courses-description-cell{text-overflow:ellipsis;white-space:nowrap;max-width:360px;overflow:hidden}.users-orgcount-cell{text-align:center}.syllabi-action-btn{color:#374151;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:5px;padding:.25rem .625rem;font-size:.8125rem;font-weight:500;transition:background-color .15s,border-color .15s}.syllabi-action-btn:hover:not(:disabled){background-color:#f9fafb;border-color:#9ca3af}.syllabi-action-btn:disabled{opacity:.5;cursor:not-allowed}.syllabi-action-btn--edit{color:#1d4ed8;border-color:#bfdbfe}.syllabi-action-btn--edit:hover:not(:disabled){background-color:#eff6ff;border-color:#93c5fd}.syllabi-action-btn--delete{color:#991b1b;border-color:#fecaca;margin-left:.375rem}.syllabi-action-btn--delete:hover:not(:disabled){background-color:#fef2f2;border-color:#fca5a5}.syllabi-edit-row td{background-color:#f0f9ff;padding:.5rem 1rem}.syllabi-edit-form{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.syllabi-edit-form input{color:#1f2937;border:1px solid #d1d5db;border-radius:6px;padding:.375rem .625rem;font-size:.875rem}.syllabi-edit-form input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.syllabi-edit-error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:.625rem .75rem;font-size:.875rem}.syllabi-sort-btn{font:inherit;font-size:inherit;color:#374151;cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:.25rem;margin:0;padding:0;font-weight:600;display:inline-flex}.syllabi-sort-btn:hover{color:#1f2937}.syllabi-sort-btn--active{color:#1f2937;font-weight:700}.syllabi-sort-indicator{color:#374151;margin-left:.25rem;font-size:.75rem;display:inline-block}.admin-layout{gap:0;min-height:calc(100vh - 56px - 4rem);margin:-2rem -1.5rem;display:flex}.admin-nav{background-color:#fff;border-right:1px solid #e5e7eb;width:240px;min-width:240px;padding:0}.admin-nav-header{border-bottom:1px solid #e5e7eb;margin-bottom:.75rem;padding:1.25rem 1.5rem}.admin-nav-subtitle{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600;display:block}.admin-nav-list{flex-direction:column;gap:.25rem;margin:0;padding:.75rem 0;list-style:none;display:flex}.admin-nav-item{margin:0;padding:0}.admin-nav-link{color:#4b5563;border-left:3px solid #0000;padding:.625rem 1.5rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s;display:block}.admin-nav-link:hover{color:#1f2937;background-color:#f3f4f6}.admin-nav-link--active{color:#5624d0;background-color:#f5f3ff;border-left-color:#5624d0;font-weight:600}.admin-content{flex:1;padding:2rem}.dialog-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog-content{background-color:#fff;border-radius:12px;width:90%;max-width:480px;padding:1.5rem;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.dialog-content h2{color:#1f2937;margin:0 0 1rem;font-size:1.125rem;font-weight:600}.dialog-body{flex-direction:column;gap:.75rem;margin-bottom:1.5rem;display:flex}.dialog-body p{color:#4b5563;margin:0;font-size:.875rem;line-height:1.5}.dialog-user-info{background-color:#f9fafb;border-radius:6px;padding:.75rem}.dialog-user-info p{margin:.25rem 0;font-size:.8125rem}.dialog-warning{font-weight:500;color:#991b1b!important}.dialog-info{color:#1d4ed8!important;font-size:.8125rem!important}.dialog-actions{justify-content:flex-end;gap:.5rem;display:flex}.dialog-btn{cursor:pointer;border:1px solid #0000;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s}.dialog-btn:disabled{opacity:.5;cursor:not-allowed}.dialog-btn--confirm{color:#fff;background-color:#3b82f6;border-color:#3b82f6}.dialog-btn--confirm:hover:not(:disabled){background-color:#2563eb}.dialog-btn--danger{color:#fff;background-color:#ef4444;border-color:#ef4444}.dialog-btn--danger:hover:not(:disabled){background-color:#dc2626}.dialog-btn--cancel{color:#374151;background-color:#fff;border-color:#d1d5db}.dialog-btn--cancel:hover{background-color:#f9fafb}.dialog-error{background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:.5rem .75rem;color:#991b1b!important;font-size:.8125rem!important}.dialog-input{color:#1f2937;box-sizing:border-box;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:.5rem .75rem;font-size:.875rem}.dialog-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.dialog-input:disabled{cursor:not-allowed;background-color:#f9fafb}.remove-dialog-overlay{z-index:1000;background-color:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.remove-dialog{background-color:#fff;border-radius:12px;width:90%;max-width:420px;padding:1.5rem;box-shadow:0 20px 25px -5px #0000001a}.remove-dialog-title{color:#1f2937;margin:0 0 .75rem;font-size:1.125rem;font-weight:600}.remove-dialog-message{color:#4b5563;margin:0 0 1.25rem;font-size:.875rem;line-height:1.5}.remove-dialog-actions{justify-content:flex-end;gap:.75rem;display:flex}.remove-dialog-btn{cursor:pointer;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s}.remove-dialog-btn:disabled{opacity:.5;cursor:not-allowed}.remove-dialog-btn--cancel{color:#374151;background-color:#fff;border:1px solid #d1d5db}.remove-dialog-btn--cancel:hover{background-color:#f9fafb}.remove-dialog-btn--confirm{color:#fff;background-color:#dc2626;border:1px solid #dc2626}.remove-dialog-btn--confirm:hover{background-color:#b91c1c}.org-detail-page,.user-detail-page,.role-detail-page,.right-detail-page{flex-direction:column;gap:1.5rem;max-width:1340px;display:flex}.org-detail-loading,.user-detail-loading,.role-detail-loading,.right-detail-loading{color:#6b7280;padding:1rem 0;font-size:.875rem}.org-detail-section,.user-detail-section,.role-detail-section,.right-detail-section{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.25rem}.org-detail-section h2,.user-detail-section h2{color:#374151;margin:0 0 .75rem;font-size:1rem;font-weight:600}.role-detail-section h2,.right-detail-section h2{color:#374151;margin:0 0 1rem;font-size:1.125rem;font-weight:600}.org-detail-page>.hc-btn,.user-detail-page>.hc-btn,.role-detail-page>.hc-btn,.right-detail-page>.hc-btn,.org-create-page>.hc-btn{align-self:flex-start}.org-detail-retry-btn,.user-detail-retry-btn,.right-detail-retry-btn,.role-detail-loading+.role-detail-retry-btn{color:#fff;cursor:pointer;background-color:#3b82f6;border:1px solid #3b82f6;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s}.org-detail-retry-btn:hover,.user-detail-retry-btn:hover,.right-detail-retry-btn:hover{background-color:#2563eb}.org-detail-error,.user-detail-error,.right-detail-error,.role-detail-error{text-align:center;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:1.5rem}.org-detail-error p,.user-detail-error p,.right-detail-error p{color:#7f1d1d;margin:0 0 1rem;font-size:.875rem}.org-detail-error-actions{justify-content:center;gap:.75rem;display:flex}.role-detail-error{text-align:left;flex-direction:column;align-items:flex-start;gap:.75rem;padding:1rem;display:flex}.role-detail-error p{color:#991b1b;margin:0;font-size:.875rem}.hc-form{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.hc-form-field{flex-direction:column;gap:.25rem;display:flex}.hc-form-field label{color:#374151;font-size:.8125rem;font-weight:500}.hc-form-field input,.hc-form-field select,.hc-form-field textarea{color:#1f2937;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.5rem .75rem;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.hc-form-field input:focus,.hc-form-field select:focus,.hc-form-field textarea:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.hc-form-field textarea{resize:vertical;min-height:80px}.hc-form-field .hc-field-error{color:#dc2626;font-size:.75rem}.hc-form-field .hc-field-hint{color:#9ca3af;font-size:.6875rem}.hc-form-actions{gap:.5rem;margin-top:.5rem;display:flex}.user-basic-info-form{flex-direction:column;gap:1rem;display:flex}.user-form-field{flex-direction:column;gap:.375rem;display:flex}.user-form-label{color:#6b7280;font-size:.8125rem;font-weight:500}.user-form-input{color:#1f2937;box-sizing:border-box;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:.5rem .75rem;font-size:.875rem}.user-form-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.user-form-input--readonly{color:#6b7280;cursor:default;background-color:#f9fafb}.user-form-input--readonly:focus{box-shadow:none;border-color:#d1d5db}.user-form-input--error{border-color:#ef4444}.user-form-input--error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.user-form-field-error{color:#dc2626;margin:0;font-size:.8125rem}.user-form-actions{align-items:center;gap:.75rem;padding-top:.25rem;display:flex}.user-form-save-btn{color:#fff;cursor:pointer;background-color:#3b82f6;border:1px solid #3b82f6;border-radius:6px;padding:.5rem 1.25rem;font-size:.875rem;font-weight:500;transition:background-color .15s}.user-form-save-btn:hover:not(:disabled){background-color:#2563eb}.user-form-save-btn:disabled{opacity:.5;cursor:not-allowed}.user-form-save-success{color:#166534;font-size:.875rem}.user-form-save-error{color:#dc2626;font-size:.875rem}.org-detail-header{flex-direction:column;gap:.25rem;display:flex}.org-detail-title-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.org-detail-title-row h1{color:#1f2937;margin:0;font-size:1.5rem;font-weight:600}.org-detail-code{align-items:center;gap:.5rem;margin:0;display:flex}.org-detail-code code{color:#6b7280;background-color:#f3f4f6;border-radius:4px;padding:.125rem .5rem;font-size:.8125rem}.org-detail-action-error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:.625rem .75rem;font-size:.875rem}.org-detail-actions{flex-wrap:wrap;gap:.5rem;display:flex}.org-detail-dl{grid-template-columns:auto 1fr;gap:.375rem 1rem;font-size:.875rem;display:grid}.org-detail-dl dt{color:#6b7280;font-weight:500}.org-detail-dl dd{color:#1f2937;margin:0}.org-detail-dl code{background-color:#f3f4f6;border-radius:4px;padding:.125rem .375rem;font-size:.75rem}.org-detail-stats{flex-wrap:wrap;gap:1rem;display:flex}.org-stat-card{background-color:#f9fafb;border-radius:8px;flex-direction:column;align-items:center;min-width:100px;padding:.75rem 1.25rem;display:flex}.org-stat-value{color:#1f2937;font-size:1.5rem;font-weight:700}.org-stat-label{color:#6b7280;margin-top:.25rem;font-size:.75rem}.org-color-swatch{align-items:center;gap:.5rem;display:inline-flex}.org-color-box{border:1px solid #d1d5db;border-radius:3px;width:16px;height:16px;display:inline-block}.org-detail-placeholder{color:#9ca3af;margin:0;font-size:.875rem;font-style:italic}.tier-select-group{align-items:center;gap:.75rem;display:flex}.tier-select-label{color:#374151;font-size:.875rem;font-weight:500}.tier-select-input{color:#1f2937;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.5rem .75rem;font-size:.875rem}.tier-select-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.org-tier-value{text-transform:capitalize;font-weight:600}.tier-info{font-size:.8125rem}.tier-limits-list{color:#4b5563;margin:.25rem 0 0 1.25rem;padding:0;font-size:.8125rem}.tier-limits-list li{margin:.125rem 0}.tier-warnings{background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:.75rem}.tier-warnings-list{color:#991b1b;margin:.25rem 0 0 1.25rem;padding:0;font-size:.8125rem}.tier-warnings-list li{margin:.125rem 0}.delete-consequences-list{color:#4b5563;margin:0 0 0 1.25rem;padding:0;font-size:.8125rem}.delete-consequences-list li{margin:.25rem 0}.delete-confirm-input-group{flex-direction:column;gap:.375rem;display:flex}.delete-confirm-label{color:#374151;font-size:.8125rem;font-weight:500}.delete-confirm-label code{color:#991b1b;background-color:#fef2f2;border-radius:4px;padding:.125rem .375rem;font-size:.75rem}.delete-confirm-input{color:#1f2937;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.5rem .75rem;font-size:.875rem}.delete-confirm-input:focus{border-color:#ef4444;outline:none;box-shadow:0 0 0 3px #ef44441a}.role-detail-assign-form,.right-detail-assign-form{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.role-detail-select,.right-detail-select{color:#1f2937;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;flex:1;max-width:400px;padding:.5rem .75rem;font-size:.875rem;transition:border-color .15s}.right-detail-select{min-width:220px}.role-detail-select:focus,.right-detail-select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.role-detail-select:disabled,.right-detail-select:disabled{cursor:not-allowed;color:#9ca3af;background-color:#f9fafb}.role-detail-assign-btn,.right-detail-assign-btn{color:#fff;cursor:pointer;white-space:nowrap;background-color:#2563eb;border:1px solid #2563eb;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s}.role-detail-assign-btn:hover:not(:disabled),.right-detail-assign-btn:hover:not(:disabled){background-color:#1d4ed8}.role-detail-assign-btn:disabled,.right-detail-assign-btn:disabled{opacity:.5;cursor:not-allowed}.role-detail-action-error,.right-detail-action-error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin-top:.5rem;padding:.5rem .75rem;font-size:.8125rem}.role-detail-remove-btn,.right-detail-remove-btn{color:#991b1b;cursor:pointer;background-color:#fef2f2;border:1px solid #fecaca;border-radius:4px;padding:.25rem .625rem;font-size:.8125rem;font-weight:500;transition:background-color .15s}.role-detail-remove-btn:hover:not(:disabled),.right-detail-remove-btn:hover:not(:disabled){background-color:#fee2e2}.role-detail-remove-btn:disabled,.right-detail-remove-btn:disabled{opacity:.5;cursor:not-allowed}.role-detail-name-row{align-items:center;gap:.5rem;display:flex}.role-detail-name-input{color:#1f2937;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;flex:1;max-width:400px;padding:.5rem .75rem;font-size:.875rem;transition:border-color .15s}.role-detail-name-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.role-detail-name-input:disabled{cursor:not-allowed;background-color:#f9fafb}.role-detail-save-error{color:#991b1b;margin:.375rem 0 0;font-size:.8125rem}.role-detail-save-success{color:#166534;margin:.375rem 0 0;font-size:.8125rem}.role-detail-danger-zone{border-color:#fecaca}.role-detail-danger-zone h2{color:#991b1b}.role-detail-danger-text{color:#4b5563;margin:0 0 .75rem;font-size:.875rem}.role-detail-empty,.right-detail-empty{color:#6b7280;margin:0;font-size:.875rem}.role-detail-field{margin-bottom:1rem}.role-detail-field:last-child{margin-bottom:0}.role-detail-label{color:#6b7280;margin-bottom:.375rem;font-size:.8125rem;font-weight:500;display:block}.right-detail-dl,.role-detail-dl{grid-template-columns:auto 1fr;gap:.375rem 1rem;font-size:.875rem;display:grid}.right-detail-dl dt,.role-detail-dl dt{color:#6b7280;font-weight:500}.right-detail-dl dd,.role-detail-dl dd{color:#1f2937;margin:0}.right-detail-header{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.right-detail-header h1{color:#1f2937;margin:0;font-size:1.5rem;font-weight:600}.role-detail-header{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.role-detail-header h1{color:#1f2937;margin:0;font-size:1.5rem;font-weight:600}.role-section-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.role-section-header h2{margin:0}.role-section-add-btn{color:#fff;cursor:pointer;background-color:#3b82f6;border:1px solid #3b82f6;border-radius:6px;padding:.375rem .875rem;font-size:.8125rem;font-weight:500;transition:background-color .15s}.role-section-add-btn:hover{background-color:#2563eb}.role-section-remove-btn{color:#ef4444;cursor:pointer;background-color:#fff;border:1px solid #ef4444;border-radius:6px;padding:.25rem .625rem;font-size:.8125rem;font-weight:500;transition:background-color .15s,color .15s}.role-section-remove-btn:hover{background-color:#fef2f2}.role-section-retry-btn{color:#fff;cursor:pointer;background-color:#3b82f6;border:1px solid #3b82f6;border-radius:6px;margin-left:.75rem;padding:.25rem .625rem;font-size:.8125rem;font-weight:500;transition:background-color .15s}.role-section-retry-btn:hover{background-color:#2563eb}.role-section-error{color:#7f1d1d;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;align-items:center;padding:.75rem 1rem;font-size:.875rem;display:flex}.role-section-empty{color:#6b7280;margin:0;font-size:.875rem}.role-section-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.role-section-list-item{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.role-section-role-name{color:#1f2937;font-size:.875rem;font-weight:500}.add-role-steps{align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.8125rem;display:flex}.add-role-step{color:#9ca3af;font-weight:500}.add-role-step--active{color:#1d4ed8;font-weight:600}.add-role-step--done{color:#6b7280}.add-role-step-divider{color:#d1d5db}.add-role-search-wrapper{margin-bottom:.5rem;position:relative}.add-role-search-loading{color:#6b7280;margin-top:.25rem;font-size:.8125rem;display:block}.add-role-results-list{background-color:#fff;border:1px solid #e5e7eb;border-radius:6px;max-height:200px;margin:0;padding:0;list-style:none;overflow-y:auto}.add-role-result-item{cursor:pointer;border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;padding:.5rem .75rem;font-size:.875rem;transition:background-color .1s;display:flex}.add-role-result-item:last-child{border-bottom:none}.add-role-result-item:hover,.add-role-result-item:focus{background-color:#eff6ff;outline:none}.add-role-result-item--selected{background-color:#dbeafe}.add-role-result-name{color:#1f2937;font-weight:500}.add-role-result-meta{color:#6b7280;background-color:#f3f4f6;border-radius:4px;padding:.125rem .375rem;font-family:monospace;font-size:.75rem}.add-role-loading{color:#6b7280;margin:.5rem 0;font-size:.875rem}.add-role-empty{color:#9ca3af;margin:.5rem 0;font-size:.875rem;font-style:italic}.add-role-select-group{flex-direction:column;gap:.375rem;display:flex}.add-role-select-label{color:#374151;font-size:.8125rem;font-weight:500}.org-create-page{flex-direction:column;gap:1.5rem;max-width:680px;display:flex}.org-create-title{color:#1f2937;margin:0;font-size:1.5rem;font-weight:600}.org-create-subtitle{color:#6b7280;margin-top:-1rem;font-size:.9375rem}.org-create-form{flex-direction:column;gap:1.25rem;display:flex}.org-create-server-error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:.625rem .75rem;font-size:.875rem}.org-create-admins-section{border:1px solid #e5e7eb;border-radius:8px;margin:0;padding:1.25rem}.org-create-admins-section legend{padding:0 .5rem;font-weight:600}.initial-admin-search{margin-bottom:.75rem;position:relative}.admin-search-status{color:#6b7280;padding:.25rem 0;font-size:.8125rem}.admin-search-error{color:#991b1b;padding:.25rem 0;font-size:.8125rem}.admin-search-results{z-index:10;background-color:#fff;border:1px solid #d1d5db;border-radius:8px;max-height:240px;margin:.25rem 0 0;padding:0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 6px -1px #0000001a}.admin-search-result-item{cursor:pointer;align-items:center;gap:.5rem;padding:.625rem .75rem;transition:background-color .1s;display:flex}.admin-search-result-item:hover,.admin-search-result-item:focus{background-color:#f3f4f6;outline:none}.admin-search-result-name{color:#1f2937;font-size:.875rem;font-weight:500}.admin-search-result-email{color:#6b7280;font-size:.8125rem}.admin-search-invite-badge{color:#92400e;background-color:#fef3c7;border-radius:9999px;margin-left:auto;padding:.125rem .5rem;font-size:.75rem;font-weight:500}.admin-search-result-item--email{border-top:1px solid #f3f4f6}.admin-search-result-empty{color:#6b7280;padding:.625rem .75rem;font-size:.8125rem}.initial-admin-list{margin-top:.5rem}.initial-admin-list-items{flex-direction:column;gap:.375rem;margin:0;padding:0;list-style:none;display:flex}.initial-admin-list-item{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.initial-admin-info{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.initial-admin-name{color:#1f2937;font-size:.875rem;font-weight:500}.initial-admin-email{color:#6b7280;font-size:.8125rem}.initial-admin-invite-badge{color:#92400e;background-color:#fef3c7;border-radius:9999px;padding:.125rem .375rem;font-size:.6875rem;font-weight:500}.initial-admin-remove-btn{color:#6b7280;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;font-size:.75rem;transition:color .15s,background-color .15s;display:flex}.initial-admin-remove-btn:hover{color:#991b1b;background-color:#fef2f2;border-color:#fecaca}.analytics-page{flex-direction:column;gap:1.5rem;display:flex}.analytics-header{flex-direction:column;gap:.5rem;display:flex}.analytics-header h1{color:#1f2937;font-size:1.5rem;font-weight:600}.stale-data-notice{color:#92400e;background-color:#fffbeb;border:1px solid #fde68a;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.stale-icon{flex-shrink:0}.privacy-notice{color:#0c4a6e;background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.privacy-icon{flex-shrink:0}.analytics-empty{text-align:center;background-color:#fff;border:1px dashed #d1d5db;border-radius:8px;padding:3rem 1.5rem}.analytics-empty .empty-icon{margin-bottom:.75rem;font-size:2rem;display:block}.analytics-empty p{color:#374151;margin:0;font-size:1rem;font-weight:500}.analytics-empty .empty-description{color:#6b7280;margin-top:.5rem;font-size:.875rem;font-weight:400}.metrics-section{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.metric-card{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:.25rem;padding:1rem;display:flex}.metric-card--large{grid-column:span 2}.metric-label{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.metric-value{color:#1f2937;font-size:1.5rem;font-weight:700}.alerts-section{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.alerts-list{flex-direction:column;gap:.75rem;display:flex}.alert-card{background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;display:flex}.alert-indicator{flex-shrink:0;font-size:1.25rem}.alert-content{flex-direction:column;gap:.25rem;display:flex}.alert-student-name{color:#991b1b;font-size:.9375rem;font-weight:600}.alert-detail{color:#7f1d1d;font-size:.8125rem}.students-section{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.students-table-wrapper{overflow-x:auto}.students-table{border-collapse:collapse;width:100%}.students-table thead{background-color:#f9fafb;border-bottom:1px solid #e5e7eb}.students-table th{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;text-align:left;padding:.75rem 1rem;font-size:.75rem;font-weight:600}.students-table td{color:#1f2937;border-bottom:1px solid #f3f4f6;padding:.75rem 1rem;font-size:.875rem}.students-table tbody tr:last-child td{border-bottom:none}.students-table tbody tr:hover{background-color:#f9fafb}.alert-row{background-color:#fef2f2}.alert-row:hover{background-color:#fee2e2}.student-name-cell{flex-direction:column;gap:.125rem;display:flex}.student-name-cell .student-name{color:#1f2937;font-weight:500}.student-name-cell .student-email{color:#6b7280;font-size:.75rem}.progress-bar-container{background-color:#e5e7eb;border-radius:4px;width:100%;height:8px;position:relative;overflow:hidden}.progress-bar--large{height:12px;margin-top:.5rem}.progress-bar-fill{background-color:#3b82f6;border-radius:4px;height:100%;transition:width .3s}.progress-text{color:#374151;font-size:.75rem;font-weight:500;position:absolute;top:-1.25rem;right:0}.engagement-score{font-weight:500}.low-engagement{color:#dc2626;font-weight:600}.last-activity-cell{color:#6b7280;font-size:.8125rem}.status-badge{border-radius:4px;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:600;display:inline-flex}.status-badge--alert{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca}.status-badge--ok{color:#16a34a;background-color:#f0fdf4;border:1px solid #bbf7d0}.content-section{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.content-analytics-list{flex-direction:column;gap:.75rem;display:flex}.content-analytics-card{cursor:pointer;text-align:left;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;justify-content:space-between;align-items:center;width:100%;padding:1rem;transition:background-color .15s;display:flex}.content-analytics-card:hover{background-color:#f3f4f6}.content-title{color:#1f2937;font-size:.9375rem;font-weight:500}.content-metrics{gap:1.5rem;display:flex}.content-metric{flex-direction:column;align-items:center;gap:.125rem;display:flex}.content-metric-value{color:#1f2937;font-size:.875rem;font-weight:600}.content-metric-label{color:#6b7280;text-transform:uppercase;font-size:.6875rem}.content-analytics-detail{flex-direction:column;gap:1rem;display:flex}.back-btn{color:#3b82f6;cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-size:.875rem}.back-btn:hover{text-decoration:underline}.content-detail-title{color:#1f2937;margin:0;font-size:1rem;font-weight:600}.content-detail-metrics{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;display:grid}.empty-state-text{color:#6b7280;font-size:.875rem;font-style:italic}.personal-overview,.time-section{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.time-list{flex-direction:column;gap:.5rem;display:flex}.time-item{background-color:#f9fafb;border-radius:6px;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.time-item-title{color:#1f2937;font-size:.875rem;font-weight:500}.time-item-value{color:#3b82f6;font-size:.875rem;font-weight:600}.assessment-section{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.assessment-list{flex-direction:column;gap:.5rem;display:flex}.assessment-item{background-color:#f9fafb;border-radius:6px;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.assessment-info{flex-direction:column;gap:.125rem;display:flex}.assessment-title{color:#1f2937;font-size:.875rem;font-weight:500}.assessment-date{color:#6b7280;font-size:.75rem}.assessment-score{border-radius:4px;padding:.25rem .75rem;font-size:1rem;font-weight:700}.score-pass{color:#16a34a;background-color:#f0fdf4}.score-fail{color:#dc2626;background-color:#fef2f2}.analytics-page .loading-container{justify-content:center;padding:3rem;display:flex}.analytics-page .loading-spinner{border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}.analytics-page .error-message{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:1rem;font-size:.9375rem}.analytics-tabs{border-bottom:2px solid #e2e8f0;gap:1rem;margin-bottom:1.5rem;display:flex}.tab-btn{color:#64748b;cursor:pointer;background:0 0;border:none;padding:.75rem 1rem;font-size:.9375rem;font-weight:600;transition:color .2s;position:relative}.tab-btn:hover,.tab-btn.active{color:#2563eb}.tab-btn.active:after{content:"";background-color:#2563eb;border-radius:9999px;height:2px;position:absolute;bottom:-2px;left:0;right:0}.clickable-row{cursor:pointer;transition:background-color .15s}.clickable-row:hover{background-color:#f1f5f9}.selected-row{border-left:3px solid #2563eb;background-color:#eff6ff!important}.student-detail-section{background-color:#fff;border:1px solid #2563eb33;border-radius:12px;margin-top:1rem;margin-bottom:1.5rem;padding:1.5rem;box-shadow:0 4px 6px -1px #0000000d}.student-detail-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:.75rem;display:flex}.student-detail-header h3{color:#1e293b;margin:0;font-size:1.125rem;font-weight:700}.close-detail-btn{color:#475569;cursor:pointer;background-color:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;padding:.375rem .75rem;font-size:.8125rem;font-weight:600;transition:all .15s}.close-detail-btn:hover{color:#1e293b;background-color:#e2e8f0}.syllabus-coverage-empty{text-align:center;color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;padding:2.5rem}.syllabus-coverage-empty .empty-icon{margin-bottom:.5rem;font-size:2.5rem;display:block}.syllabus-coverage-tracker{flex-direction:column;gap:1.5rem;display:flex}.syllabus-coverage-header-card{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;gap:.5rem;padding:1.25rem 1.5rem;display:flex}.coverage-label{color:#475569;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:700}.coverage-stat-row{flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}.coverage-value{color:#1d4ed8;font-size:2.25rem;font-weight:800;line-height:1}.coverage-bar-large{background-color:#cbd5e1;border-radius:9999px;flex:1;min-width:200px;height:12px;overflow:hidden}.coverage-bar-fill-large{background:linear-gradient(90deg,#3b82f6 0%,#10b981 100%);border-radius:9999px;height:100%}.syllabus-sections-list{flex-direction:column;gap:1rem;display:flex}.list-title{color:#334155;margin:0 0 .5rem;font-size:1rem;font-weight:700}.syllabus-rows-container{flex-direction:column;gap:.75rem;display:flex}.syllabus-section-row{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;padding:.875rem 1.25rem;display:flex}.section-meta{flex:1;align-items:center;gap:.75rem;min-width:250px;display:flex}.section-code{color:#0369a1;background-color:#e0f2fe;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:700}.section-title-text{color:#1e293b;font-size:.875rem;font-weight:600}.section-progress-col{flex-direction:column;gap:.375rem;width:220px;display:flex}.section-progress-stats{color:#64748b;justify-content:space-between;font-size:.75rem;font-weight:600;display:flex}.percent-text{color:#2563eb}.section-progress-bar-container{background-color:#e2e8f0;border-radius:9999px;width:100%;height:6px;overflow:hidden}.section-progress-bar-fill{background-color:#2563eb;border-radius:9999px;height:100%}.tutor-analytics-page{flex-direction:column;gap:1.5rem;display:flex}.tutor-analytics-header{flex-direction:column;gap:.5rem;display:flex}.tutor-analytics-header h1{color:#1f2937;font-size:1.5rem;font-weight:600}.tutor-analytics-empty{text-align:center;background-color:#fff;border:1px dashed #d1d5db;border-radius:8px;padding:3rem 1.5rem}.tutor-analytics-empty .empty-icon{margin-bottom:.75rem;font-size:2.5rem;display:block}.tutor-analytics-empty p{color:#374151;margin:0;font-size:1rem;font-weight:500}.tutor-analytics-empty .empty-description{color:#6b7280;margin-top:.5rem;font-size:.875rem;font-weight:400}.topics-section{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.section-title{color:#1f2937;margin:0 0 1rem;font-size:1.125rem;font-weight:600}.topics-table-wrapper{overflow-x:auto}.topics-table{border-collapse:collapse;width:100%;font-size:.875rem}.topics-table th{text-align:left;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid #e5e7eb;padding:.75rem 1rem;font-size:.75rem;font-weight:500}.topics-table td{color:#374151;border-bottom:1px solid #f3f4f6;padding:.75rem 1rem}.topics-table tbody tr:hover{background-color:#f9fafb}.topic-name-cell{font-weight:500}.topic-count-cell{text-align:center;font-variant-numeric:tabular-nums}.topics-table th:nth-child(2),.topics-table th:nth-child(3){text-align:center}.tutor-analytics-page .privacy-notice{color:#0c4a6e;background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.tutor-analytics-page .privacy-icon{flex-shrink:0}.tutor-analytics-page .back-link{color:#6366f1;font-size:.875rem;text-decoration:none}.tutor-analytics-page .back-link:hover{text-decoration:underline}.tutor-analytics-page .error-message{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:1rem}.tutor-analytics-page .loading-container{justify-content:center;padding:3rem;display:flex}.tutor-analytics-page .loading-spinner{border:3px solid #e5e7eb;border-top-color:#6366f1;border-radius:50%;width:2rem;height:2rem;animation:.8s linear infinite spin}.badges-page{flex-direction:column;gap:1.5rem;display:flex}.badges-header{flex-direction:column;gap:.5rem;display:flex}.badges-header h1{color:#1f2937;font-size:1.5rem;font-weight:600}.badges-section{flex-direction:column;gap:.75rem;display:flex}.badges-section-title{color:#374151;align-items:center;gap:.5rem;font-size:1.125rem;font-weight:600;display:flex}.badges-count{color:#6b7280;background-color:#f3f4f6;border-radius:10px;padding:.125rem .5rem;font-size:.75rem;font-weight:600}.badges-empty-text{color:#6b7280;background-color:#f9fafb;border-radius:8px;padding:1rem;font-size:.9375rem}.badges-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.badge-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;gap:1rem;padding:1rem;transition:border-color .15s,box-shadow .15s;display:flex}.badge-card:hover{border-color:#d1d5db;box-shadow:0 1px 3px #0000000d}.badge-card--earned{border-left:3px solid #10b981}.badge-card--available{opacity:.85}.badge-icon-wrapper{background-color:#f0fdf4;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.badge-icon-wrapper--locked{background-color:#f3f4f6}.badge-icon-img{object-fit:contain;width:36px;height:36px}.badge-icon-img--locked{filter:grayscale();opacity:.5}.badge-icon-placeholder{font-size:1.5rem}.badge-info{flex-direction:column;gap:.25rem;min-width:0;display:flex}.badge-name{color:#1f2937;margin:0;font-size:.9375rem;font-weight:600}.badge-description{color:#6b7280;margin:0;font-size:.8125rem;line-height:1.4}.badge-meta{flex-direction:column;gap:.375rem;margin-top:.25rem;display:flex}.badge-xp{color:#059669;font-size:.75rem;font-weight:600}.badge-earned-date{color:#9ca3af;font-size:.75rem}.badge-progress{align-items:center;gap:.5rem;display:flex}.badge-progress-bar{background-color:#e5e7eb;border-radius:3px;flex:1;height:6px;overflow:hidden}.badge-progress-fill{background-color:#3b82f6;border-radius:3px;height:100%;transition:width .3s}.badge-progress-text{color:#6b7280;text-align:right;min-width:2.5rem;font-size:.6875rem;font-weight:500}.badges-page .empty-state{text-align:center;background-color:#fff;border:1px dashed #d1d5db;border-radius:8px;padding:3rem 1.5rem}.badges-page .empty-state .empty-icon{margin-bottom:.75rem;font-size:2rem;display:block}.badges-page .empty-state p{color:#374151;margin:0;font-size:1rem;font-weight:500}.badges-page .empty-state .empty-description{color:#6b7280;margin-top:.5rem;font-size:.875rem;font-weight:400}.badges-page .error-message{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:1rem;font-size:.9375rem}.leaderboard-page{flex-direction:column;gap:1.5rem;display:flex}.leaderboard-header{flex-direction:column;gap:.5rem;display:flex}.leaderboard-header h1{color:#1f2937;font-size:1.5rem;font-weight:600}.back-link{color:#3b82f6;font-size:.875rem;text-decoration:none}.leaderboard-disabled{text-align:center;background-color:#fff;border:1px dashed #d1d5db;border-radius:8px;padding:3rem 1.5rem}.leaderboard-disabled .disabled-icon{margin-bottom:.75rem;font-size:2rem;display:block}.leaderboard-disabled p{color:#374151;margin:0;font-size:1rem;font-weight:500}.leaderboard-disabled .disabled-description{color:#6b7280;margin-top:.5rem;font-size:.875rem;font-weight:400}.leaderboard-page .empty-state{text-align:center;background-color:#fff;border:1px dashed #d1d5db;border-radius:8px;padding:3rem 1.5rem}.leaderboard-page .empty-state .empty-icon{margin-bottom:.75rem;font-size:2rem;display:block}.leaderboard-page .empty-state p{color:#374151;margin:0;font-size:1rem;font-weight:500}.leaderboard-page .empty-state .empty-description{color:#6b7280;margin-top:.5rem;font-size:.875rem;font-weight:400}.leaderboard-table-wrapper{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.leaderboard-table{border-collapse:collapse;width:100%}.leaderboard-table thead{background-color:#f9fafb;border-bottom:1px solid #e5e7eb}.leaderboard-table th{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;text-align:left;padding:.75rem 1rem;font-size:.75rem;font-weight:600}.leaderboard-table td{color:#1f2937;border-bottom:1px solid #f3f4f6;padding:.75rem 1rem;font-size:.9375rem}.leaderboard-table tbody tr:last-child td{border-bottom:none}.rank-col{width:60px}.xp-col{text-align:right;width:120px}.leaderboard-table th.xp-col{text-align:right}.leaderboard-row:hover{background-color:#f9fafb}.current-user-row{background-color:#eff6ff}.current-user-row:hover{background-color:#dbeafe}.rank-medal{font-size:1.25rem}.rank-number{color:#6b7280;font-weight:500}.name-cell{align-items:center;gap:.5rem;display:flex}.student-name{font-weight:500}.you-badge{color:#3b82f6;background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:4px;padding:.125rem .375rem;font-size:.6875rem;font-weight:600}.xp-cell{text-align:right}.xp-value{color:#1f2937;font-weight:600}.xp-label{color:#6b7280;font-size:.8125rem}.error-message{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:1rem;font-size:.9375rem}.microlessons-page{flex-direction:column;gap:1.5rem;display:flex}.microlessons-header{flex-direction:column;gap:.5rem;display:flex}.microlessons-header h1{color:#1f2937;font-size:1.5rem;font-weight:600}.microlessons-subtitle{color:#6b7280;font-size:.875rem}.microlessons-message{border-radius:6px;padding:.75rem 1rem;font-size:.875rem}.microlessons-message--error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca}.microlessons-empty{text-align:center;background-color:#fff;border:1px dashed #d1d5db;border-radius:8px;flex-direction:column;align-items:center;gap:1.25rem;padding:3rem 1.5rem;display:flex}.microlessons-empty .empty-state{color:#6b7280;max-width:400px;font-size:.9375rem;line-height:1.5}.microlessons-list{gap:1rem;display:grid}.microlesson-card{color:inherit;background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:.5rem;padding:1rem 1.25rem;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:flex}.microlesson-card:hover{border-color:#3b82f6;text-decoration:none;box-shadow:0 2px 8px #3b82f614}.microlesson-card-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.microlesson-card-title{color:#1f2937;flex:1;font-size:.9375rem;font-weight:600}.microlesson-card-time{color:#6b7280;white-space:nowrap;background-color:#f3f4f6;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:500}.microlesson-card-content{color:#6b7280;font-size:.8125rem;line-height:1.5}.microlesson-card-competencies{gap:.5rem;margin-top:.25rem;display:flex}.microlesson-detail-page{flex-direction:column;gap:1.5rem;display:flex}.microlesson-detail-header{flex-direction:column;gap:.75rem;display:flex}.microlesson-title-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.microlesson-title-row h1{color:#1f2937;font-size:1.5rem;font-weight:600}.microlesson-time-badge{color:#6b7280;white-space:nowrap;background-color:#f3f4f6;border-radius:4px;padding:.25rem .625rem;font-size:.75rem;font-weight:500}.microlesson-message{border-radius:6px;padding:.75rem 1rem;font-size:.875rem}.microlesson-message--error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca}.microlesson-content-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.microlesson-content-body{color:#374151;white-space:pre-wrap;font-size:.9375rem;line-height:1.7}.microlesson-competencies-section{flex-direction:column;gap:.5rem;display:flex}.section-label{color:#6b7280;text-transform:uppercase;letter-spacing:.025em;font-size:.8125rem;font-weight:600}.competency-list{flex-wrap:wrap;gap:.5rem;display:flex}.competency-badge{color:#7c3aed;background-color:#f5f3ff;border:1px solid #ede9fe;border-radius:12px;padding:.25rem .625rem;font-size:.6875rem;font-weight:500}.microlesson-actions{padding-top:.5rem}.complete-btn{padding:.625rem 1.5rem}.completion-success{background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;align-items:flex-start;gap:.75rem;padding:1rem;display:flex}.check-icon{color:#059669;flex-shrink:0;margin-top:.125rem}.completion-text{color:#065f46;font-size:.875rem;font-weight:600}.next-review-text{color:#047857;margin-top:.25rem;font-size:.8125rem}.competency-page{flex-direction:column;gap:1.5rem;display:flex}.competency-header{flex-direction:column;gap:.5rem;display:flex}.competency-header h1{color:#1f2937;font-size:1.5rem;font-weight:600}.competency-message{border-radius:6px;padding:.75rem 1rem;font-size:.875rem}.competency-message--error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca}.competency-empty{text-align:center;background-color:#fff;border:1px dashed #d1d5db;border-radius:8px;flex-direction:column;align-items:center;gap:.75rem;padding:3rem 1.5rem;display:flex}.competency-empty .empty-icon{font-size:2rem}.competency-empty p{color:#6b7280;font-size:.9375rem}.competency-empty .empty-description{color:#9ca3af;max-width:400px;font-size:.8125rem}.competency-section{flex-direction:column;gap:1rem;display:flex}.competency-section-title{color:#1f2937;font-size:1.125rem;font-weight:600}.competency-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem;display:grid}.competency-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:.75rem;padding:1.25rem;transition:border-color .15s,box-shadow .15s;display:flex}.competency-card:hover{border-color:#d1d5db;box-shadow:0 1px 3px #0000000d}.competency-card-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.competency-name{color:#1f2937;font-size:1rem;font-weight:600}.competency-badge{border-radius:12px;padding:.25rem .5rem;font-size:.75rem;font-weight:500}.competency-badge--complete{color:#065f46;background-color:#d1fae5}.competency-description{color:#6b7280;font-size:.8125rem;line-height:1.5}.competency-levels{align-items:center;gap:.5rem;display:flex}.level-indicator{flex-direction:column;flex:1;align-items:center;gap:.25rem;display:flex}.level-dot{background-color:#fff;border:2px solid #d1d5db;border-radius:50%;width:1rem;height:1rem;transition:background-color .2s,border-color .2s}.level-indicator--achieved .level-dot{background-color:#10b981;border-color:#10b981}.level-indicator--locked .level-dot{background-color:#f3f4f6;border-color:#d1d5db}.level-label{color:#6b7280;text-align:center;font-size:.6875rem}.level-indicator--achieved .level-label{color:#065f46;font-weight:500}.competency-progress-info{flex-direction:column;gap:.25rem;display:flex}.progress-text{color:#374151;font-size:.8125rem;font-weight:500}.next-level-req{color:#6b7280;font-size:.75rem;font-style:italic}.competency-prerequisites{border-top:1px solid #f3f4f6;align-items:baseline;gap:.375rem;padding-top:.5rem;font-size:.75rem;display:flex}.prereq-label{color:#6b7280;white-space:nowrap;font-weight:500}.prereq-list{color:#3b82f6}.competency-attempts{padding-top:.5rem}.content-gates-list{flex-direction:column;gap:.5rem;display:flex}.content-gate-item{background-color:#fff;border:1px solid #e5e7eb;border-radius:6px;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.content-gate-item--locked{opacity:.85;background-color:#fafafa}.content-gate-item--unlocked{background-color:#f0fdf4;border-color:#a7f3d0}.gate-icon{flex-shrink:0;font-size:1.25rem}.gate-info{flex-direction:column;flex:1;gap:.125rem;display:flex}.gate-title{color:#1f2937;font-size:.875rem;font-weight:500}.gate-requirement{color:#6b7280;font-size:.75rem}.gate-status{white-space:nowrap;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:500}.gate-status--unlocked{color:#065f46;background-color:#d1fae5}.gate-status--locked{color:#991b1b;background-color:#fef2f2}.assessment-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.assessment-modal{background-color:#fff;border-radius:12px;flex-direction:column;width:100%;max-width:600px;max-height:80vh;display:flex;box-shadow:0 20px 60px #00000026}.assessment-modal-header{border-bottom:1px solid #e5e7eb;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;display:flex}.assessment-modal-header h2{color:#1f2937;flex:1;font-size:1.125rem;font-weight:600}.assessment-target{color:#6b7280;background-color:#f3f4f6;border-radius:4px;padding:.25rem .5rem;font-size:.8125rem;font-weight:500}.assessment-close-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:1.25rem;line-height:1}.assessment-close-btn:hover{color:#1f2937}.assessment-modal-body{flex-direction:column;flex:1;gap:1rem;padding:1.5rem;display:flex;overflow-y:auto}.assessment-info{color:#6b7280;background-color:#f9fafb;border-radius:4px;padding:.5rem .75rem;font-size:.875rem}.assessment-questions{flex-direction:column;gap:1.25rem;display:flex}.assessment-question{flex-direction:column;gap:.5rem;display:flex}.question-text{color:#1f2937;font-size:.9375rem;font-weight:500;line-height:1.5}.question-options{flex-direction:column;gap:.375rem;padding-left:1rem;display:flex}.question-option{cursor:pointer;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem .75rem;transition:background-color .1s;display:flex}.question-option:hover{background-color:#f9fafb}.question-option input[type=radio]{accent-color:#3b82f6}.assessment-modal-footer{border-top:1px solid #e5e7eb;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}.result-banner{border-radius:8px;align-items:center;gap:.75rem;padding:1rem;display:flex}.result-banner--passed{background-color:#f0fdf4;border:1px solid #a7f3d0}.result-banner--failed{background-color:#fffbeb;border:1px solid #fde68a}.result-icon{font-size:1.5rem}.result-text{flex-direction:column;gap:.125rem;display:flex}.result-text strong{color:#1f2937;font-size:1rem}.result-text span{color:#6b7280;font-size:.8125rem}.result-attempts{color:#6b7280;background-color:#f9fafb;border-radius:4px;padding:.5rem .75rem;font-size:.8125rem}.result-incorrect{flex-direction:column;gap:.5rem;display:flex}.result-incorrect h3{color:#1f2937;font-size:.9375rem;font-weight:600}.incorrect-topic{background-color:#fef2f2;border-radius:4px;justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.topic-name{color:#991b1b;font-size:.8125rem;font-weight:500}.topic-count{color:#6b7280;font-size:.75rem}.result-recommendations{flex-direction:column;gap:.5rem;display:flex}.result-recommendations h3{color:#1f2937;font-size:.9375rem;font-weight:600}.recommendation-list{flex-direction:column;gap:.375rem;margin:0;padding:0;list-style:none;display:flex}.recommendation-item{color:#374151;background-color:#eff6ff;border-left:3px solid #3b82f6;border-radius:4px;padding:.5rem .75rem;font-size:.8125rem}.review-sessions-page{flex-direction:column;gap:1.5rem;display:flex}.review-sessions-header{flex-direction:column;gap:.5rem;display:flex}.review-sessions-header h1{color:#1f2937;font-size:1.5rem;font-weight:600}.review-sessions-subtitle{color:#6b7280;font-size:.875rem}.daily-limit-indicator{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.daily-limit-bar{background-color:#e5e7eb;border-radius:3px;flex:1;height:6px;overflow:hidden}.daily-limit-fill{background-color:#3b82f6;border-radius:3px;height:100%;transition:width .3s}.daily-limit-text{color:#6b7280;white-space:nowrap;font-size:.8125rem;font-weight:500}.review-message{border-radius:6px;padding:.75rem 1rem;font-size:.875rem}.review-message--error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca}.review-message--success{color:#065f46;background-color:#f0fdf4;border:1px solid #bbf7d0}.review-rating-panel{background-color:#fff;border:2px solid #3b82f6;border-radius:8px;flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.rating-title{color:#1f2937;font-size:1rem;font-weight:600}.rating-options{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.5rem;display:grid}.rating-option{cursor:pointer;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem .5rem;transition:border-color .15s,background-color .15s;display:flex}.rating-option:hover{background-color:#eff6ff;border-color:#3b82f6}.rating-option--selected{background-color:#eff6ff;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.rating-number{color:#1f2937;font-size:1.25rem;font-weight:700}.rating-label{color:#6b7280;text-align:center;font-size:.6875rem;line-height:1.3}.rating-actions{justify-content:flex-end;gap:.75rem;padding-top:.5rem;display:flex}.review-section{flex-direction:column;gap:.75rem;display:flex}.review-section-title{color:#1f2937;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;display:flex}.review-section-title--relearning{color:#dc2626}.review-section-description{color:#6b7280;margin-top:-.25rem;font-size:.8125rem}.review-count{color:#fff;background-color:#6b7280;border-radius:10px;padding:.125rem .5rem;font-size:.75rem;font-weight:600}.review-section-title--relearning .review-count{background-color:#dc2626}.review-items-list{flex-direction:column;gap:.5rem;display:flex}.review-item{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;padding:.875rem 1rem;transition:border-color .15s;display:flex}.review-item:hover{border-color:#d1d5db}.review-item--relearning{border-left:3px solid #dc2626}.review-item-info{flex:1;align-items:center;gap:.75rem;min-width:0;display:flex}.review-item-status{white-space:nowrap;text-transform:uppercase;letter-spacing:.025em;border-radius:4px;padding:.125rem .5rem;font-size:.6875rem;font-weight:600}.status--learning{color:#1d4ed8;background-color:#eff6ff}.status--review{color:#059669;background-color:#f0fdf4}.status--relearning{color:#dc2626;background-color:#fef2f2}.review-item-title{color:#1f2937;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.875rem;font-weight:500;overflow:hidden}.review-item-date{color:#6b7280;white-space:nowrap;font-size:.75rem}.schedule-list{flex-direction:column;gap:.375rem;display:flex}.schedule-item{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;justify-content:space-between;align-items:center;gap:1rem;padding:.625rem 1rem;display:flex}.schedule-item-info{flex:1;align-items:center;gap:.5rem;min-width:0;display:flex}.schedule-item-title{color:#374151;text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;overflow:hidden}.schedule-item-meta{align-items:center;gap:.75rem;display:flex}.schedule-item-interval{color:#6b7280;white-space:nowrap;font-size:.75rem}.schedule-item-date{color:#374151;white-space:nowrap;font-size:.75rem;font-weight:500}.review-empty{text-align:center;background-color:#fff;border:1px dashed #d1d5db;border-radius:8px;flex-direction:column;align-items:center;gap:1.25rem;padding:3rem 1.5rem;display:flex}.review-empty .empty-state{color:#6b7280;max-width:400px;font-size:.9375rem;line-height:1.5}.loading-container{justify-content:center;padding:3rem 0;display:flex}.loading-spinner{border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;width:2rem;height:2rem;animation:.8s linear infinite spin}.back-link{color:#3b82f6;align-self:flex-start;font-size:.875rem;text-decoration:none}.btn{cursor:pointer;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background-color .15s,border-color .15s;display:inline-flex}.btn-primary{color:#fff;background-color:#3b82f6;border-color:#3b82f6}.btn-primary:hover{background-color:#2563eb;border-color:#2563eb}.btn-secondary{color:#374151;background-color:#fff;border-color:#d1d5db}.btn-secondary:hover{background-color:#f9fafb;border-color:#9ca3af}.btn-sm{padding:.375rem .75rem;font-size:.8125rem}.btn:disabled{opacity:.6;cursor:not-allowed}.course-creation{max-width:640px;margin:0 auto}.course-creation-title{color:#1f2937;margin-bottom:1.5rem;font-size:1.5rem;font-weight:600}.course-form{flex-direction:column;gap:1.25rem;display:flex}.form-field{flex-direction:column;gap:.375rem;display:flex}.form-label{color:#374151;font-size:.875rem;font-weight:500}.form-input{color:#1f2937;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.5rem .75rem;font-size:.9375rem;transition:border-color .15s,box-shadow .15s}.form-input::placeholder{color:#9ca3af}.form-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.form-input-error{border-color:#ef4444}.form-input-error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.form-textarea{resize:vertical;min-height:100px}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=480px){.form-row{grid-template-columns:1fr}}.field-error{color:#ef4444;margin:0;font-size:.8125rem}.server-error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem}.form-actions{gap:.75rem;margin-top:.5rem;display:flex}.form-actions .btn{padding:.625rem 1.25rem}.course-creation-no-org{text-align:center;color:#6b7280;padding:2rem 1rem}.course-creation-no-org p{margin:.5rem 0 0;font-size:.9375rem;line-height:1.5}.course-creation-org-context{color:#6b7280;margin:-1rem 0 1rem;font-size:.875rem}.cad{max-width:1200px;margin:0 auto;padding:1.5rem}.cad__loading,.cad__error{text-align:center;color:var(--text-secondary,#6b7280);padding:2rem}.cad__error{color:var(--error,#dc2626)}.cad__retry-btn{border:1px solid var(--border,#d1d5db);background:var(--surface,#fff);cursor:pointer;border-radius:6px;margin:.5rem auto;padding:.5rem 1rem;display:block}.cad__header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.cad__title{margin:0;font-size:1.5rem;font-weight:600}.cad__time-range{gap:.25rem;display:flex}.cad__range-btn{border:1px solid var(--border,#d1d5db);background:var(--surface,#fff);cursor:pointer;border-radius:6px;padding:.375rem .75rem;font-size:.8125rem;transition:background .15s,border-color .15s}.cad__range-btn--active{background:var(--primary,#2563eb);color:#fff;border-color:var(--primary,#2563eb)}.cad__summary{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.cad__card{border:1px solid var(--border,#e5e7eb);background:var(--surface,#fff);border-radius:10px;flex-direction:column;align-items:center;padding:1.25rem;display:flex}.cad__card-value{color:var(--primary,#2563eb);font-size:2rem;font-weight:700}.cad__card-label{color:var(--text-secondary,#6b7280);margin-top:.25rem;font-size:.8125rem}.cad__section{margin-bottom:2rem}.cad__section-title{margin:0 0 .75rem;font-size:1.125rem;font-weight:600}.cad__events-table{overflow-x:auto}.cad__events-table table{border-collapse:collapse;width:100%;font-size:.875rem}.cad__events-table th,.cad__events-table td{text-align:left;border-bottom:1px solid var(--border,#e5e7eb);padding:.625rem .75rem}.cad__events-table th{color:var(--text-secondary,#6b7280);text-transform:uppercase;letter-spacing:.025em;font-size:.75rem;font-weight:600}.cad__item-id{font-family:monospace;font-size:.8125rem}.cad__daily-chart{align-items:flex-end;gap:2px;height:120px;padding:.5rem 0;display:flex;overflow-x:auto}.cad__bar-wrapper{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;min-width:20px;height:100%;display:flex}.cad__bar{background:var(--primary,#2563eb);border-radius:3px 3px 0 0;width:100%;max-width:24px;min-height:2px;transition:height .3s}.cad__bar-label{color:var(--text-secondary,#6b7280);white-space:nowrap;margin-top:.25rem;font-size:.625rem}.cad__empty{color:var(--text-secondary,#6b7280);font-style:italic}.cad__back-link{color:var(--primary,#2563eb);margin-bottom:.25rem;font-size:.875rem;text-decoration:none;display:inline-block}.cad__back-link:hover{text-decoration:underline}.cad__subtitle{color:var(--text-secondary,#6b7280);margin:.25rem 0 0;font-size:.875rem}.cad__timestamp{white-space:nowrap;color:var(--text-secondary,#6b7280);font-size:.8125rem}.cad__events-table a{color:var(--primary,#2563eb);text-decoration:none}.cad__events-table a:hover{text-decoration:underline}.accessibility-page{flex-direction:column;gap:2rem;max-width:700px;display:flex}.accessibility-page h1{color:#1f2937;font-size:1.5rem;font-weight:600}.accessibility-form{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:1.5rem;padding:1.5rem;display:flex}.accessibility-field{flex-direction:column;gap:.5rem;display:flex}.accessibility-label{color:#374151;font-size:.9375rem;font-weight:500}.accessibility-description{color:#6b7280;margin:0;font-size:.8125rem}.accessibility-select{color:#1f2937;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:8px;max-width:300px;padding:.625rem .75rem;font-size:.9375rem;transition:border-color .15s,box-shadow .15s}.accessibility-select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.accessibility-slider-container{align-items:center;gap:1rem;display:flex}.accessibility-slider{cursor:pointer;appearance:none;background:#e5e7eb;border-radius:3px;outline:none;flex:1;max-width:400px;height:6px}.accessibility-slider::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#3b82f6;border:2px solid #fff;border-radius:50%;width:20px;height:20px;box-shadow:0 1px 3px #0003}.accessibility-slider::-moz-range-thumb{cursor:pointer;background:#3b82f6;border:2px solid #fff;border-radius:50%;width:20px;height:20px;box-shadow:0 1px 3px #0003}.accessibility-slider:focus-visible::-webkit-slider-thumb{outline-offset:2px;outline:2px solid #3b82f6}.accessibility-slider-value{color:#3b82f6;text-align:center;min-width:48px;font-size:.9375rem;font-weight:600}.accessibility-slider-labels{color:#9ca3af;justify-content:space-between;max-width:400px;font-size:.75rem;display:flex}.accessibility-toggle-field{border-top:1px solid #f3f4f6;flex-direction:row;justify-content:space-between;align-items:center;padding:1rem 0}.accessibility-toggle-info{flex-direction:column;gap:.25rem;display:flex}.accessibility-toggle{flex-shrink:0;width:48px;height:26px;display:inline-block;position:relative}.accessibility-toggle input{opacity:0;width:0;height:0}.accessibility-toggle-slider{cursor:pointer;background-color:#d1d5db;border-radius:26px;transition:background-color .2s;position:absolute;inset:0}.accessibility-toggle-slider:before{content:"";background-color:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;bottom:3px;left:3px}.accessibility-toggle input:checked+.accessibility-toggle-slider{background-color:#3b82f6}.accessibility-toggle input:checked+.accessibility-toggle-slider:before{transform:translate(22px)}.accessibility-toggle input:focus-visible+.accessibility-toggle-slider{outline-offset:2px;outline:2px solid #3b82f6}.accessibility-message{border-radius:6px;padding:.625rem .75rem;font-size:.875rem}.accessibility-message--success{color:#166534;background-color:#f0fdf4;border:1px solid #bbf7d0}.accessibility-message--error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca}.accessibility-save-btn{color:#fff;cursor:pointer;background-color:#3b82f6;border:1px solid #3b82f6;border-radius:6px;justify-content:center;align-self:flex-start;align-items:center;padding:.625rem 1.5rem;font-size:.9375rem;font-weight:500;transition:background-color .15s;display:inline-flex}.accessibility-save-btn:hover{background-color:#2563eb}.accessibility-save-btn:disabled{opacity:.6;cursor:not-allowed}.accessibility-preview{flex-direction:column;gap:1rem;display:flex}.accessibility-preview h2{color:#1f2937;font-size:1.25rem;font-weight:600}.accessibility-preview-box{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;line-height:1.6;transition:all .2s}.accessibility-preview-box p{margin:0}.accessibility-current-settings{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1.25rem}.accessibility-current-settings h3{color:#374151;margin-bottom:.75rem;font-size:.9375rem;font-weight:600}.accessibility-current-settings ul{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.accessibility-current-settings li{color:#4b5563;font-size:.875rem}.accessibility-current-settings li strong{color:#374151}.org-branding{background:linear-gradient(135deg, var(--org-primary-color), var(--org-secondary-color));color:#fff;border-radius:12px;flex-direction:column;padding:2rem;display:flex}.org-branding-header{align-items:center;gap:1.5rem;display:flex}.org-branding-logo{object-fit:cover;background-color:#fff3;border-radius:12px;flex-shrink:0;width:80px;height:80px}.org-branding-info{flex-direction:column;gap:.5rem;min-width:0;display:flex}.org-branding-name{color:#fff;margin:0;font-size:1.75rem;font-weight:700;line-height:1.2}.org-branding-description{color:#ffffffe6;margin:0;font-size:1rem;line-height:1.5}@media (width<=640px){.org-branding-header{flex-direction:column;align-items:flex-start}.org-branding-logo{width:64px;height:64px}.org-branding-name{font-size:1.5rem}}.org-join-panel{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.org-join-prompt{color:#374151;margin:0;font-size:.9375rem;line-height:1.5}.org-join-btn{color:#fff;cursor:pointer;background-color:#4f46e5;border:none;border-radius:6px;justify-content:center;align-self:flex-start;align-items:center;padding:.625rem 1.25rem;font-size:.9375rem;font-weight:600;transition:background-color .15s;display:inline-flex}.org-join-btn:hover:not(:disabled){background-color:#4338ca}.org-join-btn:disabled{opacity:.6;cursor:not-allowed}.org-join-btn-request{background-color:#7c3aed}.org-join-btn-request:hover:not(:disabled){background-color:#6d28d9}.org-join-form{flex-direction:column;gap:.75rem;display:flex}.org-join-message{resize:vertical;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:.75rem;font-family:inherit;font-size:.875rem;line-height:1.5}.org-join-message:focus{border-color:#7c3aed;outline:none;box-shadow:0 0 0 2px #7c3aed33}.org-join-success{color:#059669;background-color:#ecfdf5;border:1px solid #a7f3d0;border-radius:6px;padding:.75rem 1rem;font-size:.9375rem}.org-join-error{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:.5rem .75rem;font-size:.875rem}.org-join-invite-only{color:#6b7280;margin:0;font-size:.9375rem;font-style:italic}.org-announcements{flex-direction:column;gap:1rem;display:flex}.org-announcements-title{color:#1f2937;margin:0;font-size:1.25rem;font-weight:600}.org-announcements-loading{color:#6b7280;padding:1rem 0;font-size:.875rem}.org-announcements-error{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:.75rem 1rem;font-size:.875rem}.org-announcements-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.org-announcement-item{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1rem}.org-announcement-item-title{color:#1f2937;margin:0 0 .5rem;font-size:1rem;font-weight:600}.org-announcement-item-body{color:#374151;white-space:pre-wrap;margin:0 0 .75rem;font-size:.9375rem;line-height:1.5}.org-announcement-item-meta{color:#6b7280;align-items:center;gap:.75rem;font-size:.8125rem;display:flex}.org-announcement-item-author{font-weight:500}.org-announcement-item-date{color:#9ca3af}.org-page{flex-direction:column;gap:2rem;display:flex}.org-page-loading{color:#6b7280;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:4rem 0;display:flex}.org-page-loading p{margin:0;font-size:.9375rem}.org-page-error{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:1rem 1.5rem;font-size:.9375rem}.org-page-content{flex-direction:column;gap:2rem;display:flex}.org-page-not-found{justify-content:center;align-items:center;min-height:50vh}.org-not-found-content{text-align:center;padding:3rem 1rem}.org-not-found-title{color:#1f2937;margin:0 0 .75rem;font-size:1.75rem;font-weight:700}.org-not-found-message{color:#6b7280;margin:0;font-size:1rem;line-height:1.5}.org-courses-section{flex-direction:column;gap:1rem;display:flex}.org-courses-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.org-section-title{color:#1f2937;margin:0;font-size:1.25rem;font-weight:600}.org-create-course-btn{white-space:nowrap}.org-courses-placeholder{color:#6b7280;text-align:center;background-color:#f9fafb;border:1px dashed #d1d5db;border-radius:8px;margin:0;padding:1rem;font-size:.9375rem}.org-courses-restricted{color:#6b7280;text-align:center;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin:0;padding:1.5rem;font-size:.9375rem;font-style:italic}.org-creation{flex-direction:column;gap:1.5rem;max-width:600px;display:flex}.org-creation-title{color:#1f2937;font-size:1.5rem;font-weight:600}.org-creation-subtitle{color:#6b7280;margin-top:-1rem;font-size:.9375rem}.org-creation-form{flex-direction:column;gap:1.25rem;display:flex}.form-label-hint{color:#6b7280;margin-left:.25rem;font-size:.8125rem;font-weight:400}.field-hint{color:#6b7280;margin-top:.25rem;font-size:.8125rem}.org-admin-layout{gap:0;min-height:calc(100vh - 56px - 4rem);margin:-2rem -1.5rem;display:flex}.org-admin-nav{background-color:#fff;border-right:1px solid #e5e7eb;flex-direction:column;width:240px;min-width:240px;padding:0;display:flex}.org-admin-nav-header{border-bottom:1px solid #e5e7eb;padding:1.25rem 1.5rem}.org-admin-nav-org-name{color:#1f2937;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.9375rem;font-weight:600;overflow:hidden}.org-admin-nav-subtitle{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.org-admin-nav-list{flex-direction:column;gap:.125rem;margin:0;padding:.75rem 0;list-style:none;display:flex}.org-admin-nav-item{margin:0;padding:0}.org-admin-nav-link{color:#4b5563;border-left:3px solid #0000;padding:.625rem 1.5rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s;display:block}.org-admin-nav-link:hover{color:#1f2937;background-color:#f3f4f6}.org-admin-nav-link--active{color:#5624d0;background-color:#f5f3ff;border-left-color:#5624d0;font-weight:600}.org-admin-loading{color:#6b7280;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1rem;font-size:.875rem;display:flex}.org-admin-error{color:#dc2626;flex:1;padding:2rem;font-size:.875rem}.org-admin-content{flex:1;padding:2rem}.org-admin-dashboard{flex-direction:column;gap:1.5rem;display:flex}.org-admin-dashboard-title{color:#1f2937;margin:0;font-size:1.5rem;font-weight:600}.org-admin-dashboard-loading{color:#6b7280;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:3rem;font-size:.875rem;display:flex}.org-admin-dashboard-loading .loading-spinner{border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite org-admin-dashboard-spin}@keyframes org-admin-dashboard-spin{to{transform:rotate(360deg)}}.org-admin-dashboard-error{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;flex-direction:column;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;font-size:.9375rem;display:flex}.org-admin-dashboard-error p{margin:0}.org-admin-dashboard-retry-btn{color:#fff;cursor:pointer;background-color:#dc2626;border:none;border-radius:6px;padding:.375rem .875rem;font-size:.875rem;font-weight:500;transition:background-color .15s}.org-admin-dashboard-retry-btn:hover{background-color:#b91c1c}.org-admin-dashboard-retry-btn:focus-visible{outline-offset:2px;outline:2px solid #dc2626}.org-admin-dashboard-cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.org-admin-dashboard-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:.375rem;padding:1.5rem 1.25rem;display:flex;box-shadow:0 1px 3px #0000000d}.org-admin-dashboard-card-value{color:#1f2937;font-size:2rem;font-weight:700;line-height:1}.org-admin-dashboard-card-label{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.org-analytics-page{flex-direction:column;gap:1.5rem;display:flex}.org-analytics-header{flex-direction:column;gap:.5rem;display:flex}.org-analytics-header h1{color:#1f2937;font-size:1.5rem;font-weight:600}.org-analytics-back-link{color:#3b82f6;font-size:.875rem;text-decoration:none}.org-analytics-back-link:hover{text-decoration:underline}.org-analytics-date-picker{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.25rem}.org-analytics-date-fields{flex-wrap:wrap;gap:1rem;display:flex}.org-analytics-date-field{flex-direction:column;gap:.375rem;display:flex}.org-analytics-date-field label{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.org-analytics-date-field input[type=date]{color:#1f2937;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.5rem .75rem;font-size:.875rem}.org-analytics-date-field input[type=date]:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f633}.org-analytics-date-error{color:#dc2626;margin:.75rem 0 0;font-size:.8125rem;font-weight:500}.org-analytics-date-hint{color:#9ca3af;margin:.5rem 0 0;font-size:.75rem}.org-analytics-cached-notice{color:#0c4a6e;background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.org-analytics-cached-icon{flex-shrink:0}.org-analytics-loading{justify-content:center;padding:3rem;display:flex}.org-analytics-loading .loading-spinner{border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite org-analytics-spin}@keyframes org-analytics-spin{to{transform:rotate(360deg)}}.org-analytics-error{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:1rem;font-size:.9375rem}.org-analytics-metrics{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.org-analytics-section-title{color:#1f2937;margin:0 0 1rem;font-size:1.125rem;font-weight:600}.org-analytics-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.org-analytics-card{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:.25rem;padding:1.25rem;display:flex}.org-analytics-card--unavailable{opacity:.75;background-color:#f3f4f6;border:1px dashed #d1d5db}.org-analytics-card-label{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.org-analytics-card-value{color:#1f2937;font-size:1.75rem;font-weight:700}.org-analytics-card-value--unavailable{color:#9ca3af;font-size:1rem;font-style:italic;font-weight:500}.org-analytics-card-hint{color:#9ca3af;font-size:.6875rem}.course-copy-page{max-width:1000px;padding:1.5rem}.course-copy-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.course-copy-title{margin:0;font-size:1.5rem;font-weight:600}.course-copy-view-tabs{background:var(--color-surface-secondary,#f1f5f9);border-radius:6px;gap:.25rem;padding:3px;display:flex}.course-copy-tab{color:var(--color-text-secondary,#64748b);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background .15s,color .15s}.course-copy-tab:hover{color:var(--color-text-primary,#1e293b)}.course-copy-tab--active{background:var(--color-surface-primary,#fff);color:var(--color-text-primary,#1e293b);box-shadow:0 1px 2px #0000000f}.course-copy-stepper{gap:.5rem;margin-bottom:2rem;padding:0;display:flex}.course-copy-step{border:1px solid var(--color-border,#e2e8f0);background:var(--color-surface-primary,#fff);color:var(--color-text-secondary,#64748b);cursor:pointer;border-radius:6px;flex:1;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;transition:border-color .15s,background .15s;display:flex}.course-copy-step:disabled{cursor:not-allowed;opacity:.6}.course-copy-step--active{border-color:var(--color-primary,#3b82f6);background:var(--color-primary-light,#eff6ff);color:var(--color-primary,#3b82f6);font-weight:500}.course-copy-step--completed{border-color:var(--color-success,#22c55e);background:var(--color-success-light,#f0fdf4);color:var(--color-success,#16a34a)}.course-copy-step-indicator{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;font-size:.75rem;font-weight:600;display:inline-flex}.course-copy-step--upcoming .course-copy-step-indicator{background:var(--color-surface-secondary,#f1f5f9);color:var(--color-text-secondary,#64748b)}.course-copy-step--active .course-copy-step-indicator{background:var(--color-primary,#3b82f6);color:#fff}.course-copy-step--completed .course-copy-step-indicator{background:var(--color-success,#22c55e);color:#fff}.course-copy-step-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.course-copy-step-content{min-height:300px}.course-copy-step-actions{border-top:1px solid var(--color-border,#e2e8f0);gap:.75rem;margin-top:1.5rem;padding-top:1rem;display:flex}.course-copy-back-btn,.course-copy-next-btn{cursor:pointer;border-radius:6px;padding:.5rem 1.25rem;font-size:.875rem;font-weight:500;transition:background .15s,opacity .15s}.course-copy-back-btn{background:var(--color-surface-secondary,#f1f5f9);border:1px solid var(--color-border,#e2e8f0);color:var(--color-text-primary,#1e293b)}.course-copy-back-btn:hover{background:var(--color-surface-tertiary,#e2e8f0)}.course-copy-next-btn{background:var(--color-primary,#3b82f6);color:#fff;border:none}.course-copy-next-btn:hover:not(:disabled){background:var(--color-primary-dark,#2563eb)}.course-copy-next-btn:disabled{opacity:.5;cursor:not-allowed}.course-copy-selected-course{background:var(--color-surface-secondary,#f8fafc);border:1px solid var(--color-border,#e2e8f0);border-radius:6px;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.course-copy-selected-label{color:var(--color-text-secondary,#64748b);font-weight:500}.course-copy-selected-title{color:var(--color-text-primary,#1e293b);font-weight:600}.course-copy-source-selector{flex-direction:column;gap:1rem;display:flex}.course-copy-search-wrapper{flex-direction:column;gap:.375rem;display:flex}.course-copy-label{color:var(--color-text-secondary,#64748b);font-size:.8125rem;font-weight:500}.course-copy-search-input{border:1px solid var(--color-border,#e2e8f0);border-radius:6px;outline:none;padding:.5rem .75rem;font-size:.875rem;transition:border-color .15s}.course-copy-search-input:focus{border-color:var(--color-primary,#3b82f6);box-shadow:0 0 0 2px var(--color-primary-light,#3b82f626)}.course-copy-course-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.course-copy-course-item{border:1px solid var(--color-border,#e2e8f0);border-radius:6px;transition:border-color .15s}.course-copy-course-item:hover{border-color:var(--color-primary,#3b82f6)}.course-copy-course-btn{text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:.75rem 1rem;display:block}.course-copy-course-info{flex-direction:column;gap:.25rem;display:flex}.course-copy-course-title{color:var(--color-text-primary,#1e293b);font-size:.9375rem;font-weight:500}.course-copy-course-desc{color:var(--color-text-secondary,#64748b);font-size:.8125rem}.course-copy-course-meta{color:var(--color-text-tertiary,#94a3b8);gap:1rem;margin-top:.25rem;font-size:.75rem;display:flex}.course-copy-content-selector{flex-direction:column;gap:1rem;display:flex}.course-copy-selection-controls{border-bottom:1px solid var(--color-border,#e2e8f0);align-items:center;gap:.75rem;padding-bottom:.75rem;display:flex}.course-copy-select-all-btn,.course-copy-deselect-all-btn{border:1px solid var(--color-border,#e2e8f0);background:var(--color-surface-primary,#fff);cursor:pointer;border-radius:4px;padding:.375rem .75rem;font-size:.8125rem;transition:background .15s}.course-copy-select-all-btn:hover,.course-copy-deselect-all-btn:hover{background:var(--color-surface-secondary,#f1f5f9)}.course-copy-selection-count{color:var(--color-text-secondary,#64748b);margin-left:auto;font-size:.8125rem}.course-copy-toc-tree{padding-left:0}.course-copy-toc-section{margin-bottom:.25rem}.course-copy-toc-section-header{border-radius:4px;align-items:center;gap:.5rem;padding:.5rem;font-size:.875rem;font-weight:500;display:flex}.course-copy-toc-section-header:hover{background:var(--color-surface-secondary,#f8fafc)}.course-copy-toc-section-title{color:var(--color-text-primary,#1e293b)}.course-copy-toc-section-content{padding-left:1.5rem}.course-copy-toc-item{border-radius:4px;align-items:center;gap:.5rem;padding:.375rem .5rem;font-size:.8125rem;display:flex}.course-copy-toc-item:hover{background:var(--color-surface-secondary,#f8fafc)}.course-copy-toc-item-type{color:var(--color-text-secondary,#64748b);white-space:nowrap;font-size:.75rem}.course-copy-toc-item-title{color:var(--color-text-primary,#1e293b)}.course-copy-toc-section-header input[type=checkbox],.course-copy-toc-item input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--color-primary,#3b82f6);cursor:pointer;flex-shrink:0}.course-copy-job-form{flex-direction:column;gap:1.25rem;display:flex}.course-copy-form-summary{background:var(--color-surface-secondary,#f8fafc);border-radius:6px;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.course-copy-form-summary-label{color:var(--color-text-secondary,#64748b)}.course-copy-form-summary-count{color:var(--color-text-primary,#1e293b);font-weight:600}.course-copy-form-field{flex-direction:column;gap:.375rem;display:flex}.course-copy-title-input{border:1px solid var(--color-border,#e2e8f0);border-radius:6px;outline:none;padding:.5rem .75rem;font-size:.875rem;transition:border-color .15s}.course-copy-title-input:focus{border-color:var(--color-primary,#3b82f6);box-shadow:0 0 0 2px var(--color-primary-light,#3b82f626)}.course-copy-title-input--error{border-color:var(--color-error,#ef4444)}.course-copy-title-input--error:focus{box-shadow:0 0 0 2px #ef444426}.course-copy-field-error{color:var(--color-error,#ef4444);font-size:.75rem}.course-copy-submit-btn{background:var(--color-primary,#3b82f6);color:#fff;cursor:pointer;border:none;border-radius:6px;justify-content:center;align-self:flex-start;align-items:center;gap:.5rem;padding:.625rem 1.5rem;font-size:.875rem;font-weight:500;transition:background .15s,opacity .15s;display:inline-flex}.course-copy-submit-btn:hover:not(:disabled){background:var(--color-primary-dark,#2563eb)}.course-copy-submit-btn:disabled{opacity:.5;cursor:not-allowed}.course-copy-jobs-list{flex-direction:column;gap:1rem;display:flex}.course-copy-jobs-table-wrapper{overflow-x:auto}.course-copy-jobs-table{border-collapse:collapse;width:100%;font-size:.875rem}.course-copy-jobs-table th{text-align:left;color:var(--color-text-secondary,#64748b);border-bottom:2px solid var(--color-border,#e2e8f0);white-space:nowrap;padding:.75rem;font-weight:500}.course-copy-jobs-table td{border-bottom:1px solid var(--color-border,#f1f5f9);vertical-align:middle;padding:.75rem}.course-copy-jobs-title-cell{max-width:200px}.course-copy-jobs-dest-title{color:var(--color-text-primary,#1e293b);font-weight:500}.course-copy-jobs-date-cell{white-space:nowrap;color:var(--color-text-secondary,#64748b);font-size:.8125rem}.course-copy-progress-wrapper{align-items:center;gap:.5rem;min-width:120px;display:flex}.course-copy-progress-bar{background:var(--color-surface-secondary,#e2e8f0);border-radius:3px;flex:1;height:6px;overflow:hidden}.course-copy-progress-fill{background:var(--color-primary,#3b82f6);border-radius:3px;height:100%;transition:width .3s}.course-copy-progress-text{color:var(--color-text-secondary,#64748b);white-space:nowrap;font-size:.75rem}.course-copy-status-badge{white-space:nowrap;border-radius:99px;padding:.25rem .625rem;font-size:.75rem;font-weight:500;display:inline-block}.course-copy-status-badge--pending{color:#a16207;background:#fef9c3}.course-copy-status-badge--in-progress{color:#1d4ed8;background:#dbeafe}.course-copy-status-badge--completed{color:#15803d;background:#dcfce7}.course-copy-status-badge--failed{color:#b91c1c;background:#fee2e2}.course-copy-status-badge--cancelled{color:#64748b;background:#f1f5f9}.course-copy-cancel-btn{border:1px solid var(--color-error,#ef4444);color:var(--color-error,#ef4444);cursor:pointer;background:0 0;border-radius:4px;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;transition:background .15s}.course-copy-cancel-btn:hover:not(:disabled){background:#fef2f2}.course-copy-cancel-btn:disabled{opacity:.5;cursor:not-allowed}.course-copy-modal-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.course-copy-modal{background:var(--color-surface-primary,#fff);border-radius:8px;width:90%;max-width:420px;padding:1.5rem;box-shadow:0 10px 25px #00000026}.course-copy-modal-title{margin:0 0 .75rem;font-size:1.125rem;font-weight:600}.course-copy-modal-body{color:var(--color-text-secondary,#64748b);margin:0 0 1.25rem;font-size:.875rem;line-height:1.5}.course-copy-modal-actions{justify-content:flex-end;gap:.75rem;display:flex}.course-copy-modal-cancel-btn{border:1px solid var(--color-border,#e2e8f0);background:var(--color-surface-primary,#fff);cursor:pointer;border-radius:6px;padding:.5rem 1rem;font-size:.875rem}.course-copy-modal-confirm-btn{background:var(--color-error,#ef4444);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:500}.course-copy-modal-confirm-btn:hover{background:#dc2626}.course-copy-loading{color:var(--color-text-secondary,#64748b);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:3rem 1rem;font-size:.875rem;display:flex}.course-copy-spinner{border:2px solid var(--color-border,#e2e8f0);border-top-color:var(--color-primary,#3b82f6);border-radius:50%;width:1.5rem;height:1.5rem;animation:.6s linear infinite course-copy-spin}.course-copy-btn-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:.875rem;height:.875rem;animation:.6s linear infinite course-copy-spin;display:inline-block}@keyframes course-copy-spin{to{transform:rotate(360deg)}}.course-copy-error{color:var(--color-error,#b91c1c);background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:1rem;font-size:.875rem}.course-copy-error p{margin:0 0 .75rem}.course-copy-retry-btn{border:1px solid var(--color-error,#ef4444);color:var(--color-error,#ef4444);cursor:pointer;background:0 0;border-radius:4px;padding:.375rem .75rem;font-size:.8125rem}.course-copy-retry-btn:hover{background:#fef2f2}.course-copy-empty{text-align:center;color:var(--color-text-secondary,#64748b);padding:2rem 1rem;font-size:.875rem}.course-copy-pagination{justify-content:center;align-items:center;gap:1rem;padding-top:1rem;display:flex}.course-copy-pagination-btn{border:1px solid var(--color-border,#e2e8f0);background:var(--color-surface-primary,#fff);cursor:pointer;border-radius:4px;padding:.375rem .75rem;font-size:.8125rem;transition:background .15s}.course-copy-pagination-btn:hover:not(:disabled){background:var(--color-surface-secondary,#f1f5f9)}.course-copy-pagination-btn:disabled{opacity:.5;cursor:not-allowed}.course-copy-pagination-info{color:var(--color-text-secondary,#64748b);font-size:.8125rem}@media (width<=768px){.course-copy-stepper{flex-direction:column}.course-copy-header{flex-direction:column;align-items:flex-start}.course-copy-jobs-table-wrapper{margin:0 -1rem;padding:0 1rem}}.course-copy-ws-progress{background:var(--color-surface-primary,#fff);border:1px solid var(--color-border,#e2e8f0);z-index:900;border-radius:8px;width:320px;padding:1rem 1.25rem;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 4px 12px #0000001a}.course-copy-ws-progress-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.course-copy-ws-progress-label{color:var(--color-text-primary,#1e293b);font-size:.875rem;font-weight:500}.course-copy-ws-disconnected{color:var(--color-warning,#d97706);font-size:.75rem;font-style:italic}.course-copy-ws-progress-bar-wrapper{align-items:center;gap:.5rem;display:flex}.course-copy-ws-progress-message{color:var(--color-text-secondary,#64748b);margin:.5rem 0 0;font-size:.8125rem}.course-copy-notification{z-index:950;border-radius:8px;flex-direction:column;gap:.5rem;width:360px;padding:1rem 1.25rem;display:flex;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 4px 12px #0000001f}.course-copy-notification--success{background:var(--color-success-light,#f0fdf4);border:1px solid var(--color-success,#22c55e)}.course-copy-notification--error{background:#fef2f2;border:1px solid #fecaca}.course-copy-notification-message{color:var(--color-text-primary,#1e293b);margin:0;font-size:.875rem;font-weight:500}.course-copy-notification--error .course-copy-notification-message{color:var(--color-error,#b91c1c)}.course-copy-notification-link{color:var(--color-primary,#3b82f6);font-size:.875rem;font-weight:500;text-decoration:underline}.course-copy-notification-link:hover{color:var(--color-primary-dark,#2563eb)}.course-copy-notification-failed-items{color:var(--color-error,#b91c1c);margin:.25rem 0 0;padding-left:1.25rem;font-size:.8125rem;list-style:outside}.course-copy-notification-failed-items li{margin-bottom:.125rem}.course-copy-notification-dismiss{color:var(--color-text-secondary,#64748b);cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:1.25rem;line-height:1;position:absolute;top:.5rem;right:.75rem}.course-copy-notification-dismiss:hover{color:var(--color-text-primary,#1e293b)}.org-courses-page{flex-direction:column;gap:1.25rem;max-width:1100px;display:flex}.org-courses-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.org-courses-title{color:#1f2937;font-size:1.5rem;font-weight:600}.org-courses-new-btn{color:#fff;background-color:#2563eb;border-radius:6px;align-items:center;padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background-color .15s;display:inline-flex}.org-courses-new-btn:hover{background-color:#1d4ed8}.org-courses-filters{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex-wrap:wrap;align-items:flex-end;gap:1rem;padding:1rem;display:flex}.org-courses-filter-group{flex-direction:column;gap:.25rem;min-width:160px;display:flex}.org-courses-filter-label{color:#374151;text-transform:uppercase;letter-spacing:.025em;font-size:.75rem;font-weight:500}.org-courses-search-input,.org-courses-select,.org-courses-date-input{color:#1f2937;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.5rem .75rem;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.org-courses-search-input{min-width:220px}.org-courses-search-input:focus,.org-courses-select:focus,.org-courses-date-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.org-courses-search-input--error{border-color:#ef4444}.org-courses-search-input--error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.org-courses-field-error{color:#dc2626;font-size:.75rem}.org-courses-clear-btn{color:#374151;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;align-self:flex-end;padding:.5rem .875rem;font-size:.8125rem;font-weight:500;transition:background-color .15s}.org-courses-clear-btn:hover{background-color:#f3f4f6}.org-courses-count{color:#6b7280;font-size:.875rem}.org-courses-error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.org-courses-retry-btn{color:#dc2626;cursor:pointer;background-color:#fff;border:1px solid #fca5a5;border-radius:4px;padding:.25rem .625rem;font-size:.8125rem;font-weight:500;transition:background-color .15s}.org-courses-retry-btn:hover{background-color:#fef2f2}.org-courses-loading{color:#6b7280;flex-direction:column;align-items:center;gap:.75rem;padding:3rem;display:flex}.org-courses-table-wrapper{overflow-x:auto}.org-courses-table{border-collapse:collapse;width:100%;font-size:.875rem}.org-courses-table thead{background-color:#f9fafb;border-bottom:1px solid #e5e7eb}.org-courses-table th{text-align:left;color:#374151;white-space:nowrap;padding:.75rem 1rem;font-weight:500}.org-courses-table td{vertical-align:middle;border-bottom:1px solid #f3f4f6;padding:.75rem 1rem}.org-courses-table tbody tr:hover{background-color:#f9fafb}.org-courses-title-cell{flex-direction:column;gap:.125rem;max-width:280px;display:flex}.org-courses-title-link{color:#2563eb;white-space:nowrap;text-overflow:ellipsis;font-weight:500;text-decoration:none;overflow:hidden}.org-courses-title-link:hover{text-decoration:underline}.org-courses-description{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;overflow:hidden}.org-courses-badge{text-transform:capitalize;white-space:nowrap;color:#374151;background-color:#f3f4f6;border-radius:9999px;padding:.2rem .5rem;font-size:.75rem;font-weight:500;display:inline-block}.org-courses-badge--active{color:#166534;background-color:#dcfce7}.org-courses-badge--upcoming{color:#1e40af;background-color:#dbeafe}.org-courses-badge--completed{color:#374151;background-color:#f3f4f6}.org-courses-badge--archived{color:#92400e;background-color:#fef3c7}.org-courses-date-cell{white-space:nowrap;color:#6b7280}.org-courses-owner-cell{color:#374151;white-space:nowrap}.org-courses-enrollment-cell{text-align:center;color:#1f2937;font-weight:500}.org-courses-edit-btn{color:#374151;white-space:nowrap;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;text-decoration:none;transition:background-color .15s;display:inline-block}.org-courses-edit-btn:hover{background-color:#f9fafb}.org-courses-empty{text-align:center;color:#6b7280;padding:3rem 1rem}.org-courses-pagination{justify-content:center;align-items:center;gap:1rem;padding-top:.5rem;display:flex}.org-courses-pagination-btn{color:#374151;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s}.org-courses-pagination-btn:hover:not(:disabled){background-color:#f9fafb}.org-courses-pagination-btn:disabled{opacity:.5;cursor:not-allowed}.org-courses-pagination-info{color:#6b7280;font-size:.875rem}.org-course-detail{max-width:1340px}.org-courses-back-link{color:#2563eb;margin-bottom:1rem;font-size:.875rem;text-decoration:none;display:inline-block}.org-courses-back-link:hover{text-decoration:underline}.org-course-detail-header{align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.org-course-detail-header h1{margin:0;font-size:1.5rem;font-weight:600}.org-course-detail-meta{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}.org-course-detail-field{margin-bottom:1rem}.org-course-detail-field:last-child{margin-bottom:0}.org-course-detail-label{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;font-size:.75rem;font-weight:600;display:block}.org-course-detail-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;display:grid}.org-course-detail-actions{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.course-actions{flex-direction:column;gap:.75rem;display:flex}.course-actions-buttons{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.course-actions-btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:.375rem;justify-content:center;align-items:center;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s,opacity .15s;display:inline-flex}.course-actions-btn:disabled{opacity:.6;cursor:not-allowed}.course-actions-btn--primary{color:#fff;background-color:#2563eb;border-color:#2563eb}.course-actions-btn--primary:not(:disabled):hover{background-color:#1d4ed8}.course-actions-btn--secondary{color:#374151;background-color:#fff;border-color:#d1d5db}.course-actions-btn--secondary:not(:disabled):hover{background-color:#f9fafb}.course-actions-btn--danger{color:#fff;background-color:#dc2626;border-color:#dc2626}.course-actions-btn--danger:not(:disabled):hover{background-color:#b91c1c}.course-actions-message{border-radius:.375rem;margin:0;padding:.5rem .75rem;font-size:.875rem}.course-actions-message--error{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca}.course-actions-message--success{color:#16a34a;background-color:#f0fdf4;border:1px solid #bbf7d0}.course-actions-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.course-actions-dialog{background:#fff;border-radius:.5rem;flex-direction:column;gap:1rem;width:100%;max-width:480px;padding:1.5rem;display:flex;box-shadow:0 20px 60px #0003}.course-actions-dialog--transfer{max-width:520px}.course-actions-dialog-title{color:#111827;margin:0;font-size:1.125rem;font-weight:600}.course-actions-dialog-body{color:#4b5563;margin:0;font-size:.875rem;line-height:1.5}.course-actions-dialog-footer{justify-content:flex-end;gap:.5rem;margin-top:.5rem;display:flex}.course-actions-transfer-search{flex-direction:column;gap:.25rem;display:flex}.course-actions-search-input{color:#111827;box-sizing:border-box;border:1px solid #d1d5db;border-radius:.375rem;width:100%;padding:.5rem .75rem;font-size:.875rem}.course-actions-search-input:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 2px #2563eb33}.course-actions-org-list{border:1px solid #e5e7eb;border-radius:.375rem;flex-direction:column;max-height:240px;display:flex;overflow-y:auto}.course-actions-org-list-loading,.course-actions-org-list-error,.course-actions-org-list-empty{color:#6b7280;text-align:center;margin:0;padding:1rem;font-size:.875rem}.course-actions-org-list-error{color:#dc2626}.course-actions-org-option{cursor:pointer;text-align:left;background:0 0;border:none;border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;gap:.5rem;width:100%;padding:.625rem .75rem;transition:background-color .1s;display:flex}.course-actions-org-option:last-child{border-bottom:none}.course-actions-org-option:hover{background-color:#f9fafb}.course-actions-org-option--selected{background-color:#eff6ff}.course-actions-org-option--selected:hover{background-color:#dbeafe}.course-actions-org-name{color:#111827;font-size:.875rem;font-weight:500}.course-actions-org-code{color:#6b7280;font-family:monospace;font-size:.75rem}.org-admin-enrollments{flex-direction:column;gap:1.25rem;max-width:1100px;display:flex}.org-admin-enrollments-header{flex-direction:column;gap:.25rem;display:flex}.org-admin-enrollments-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.org-admin-enrollments-title{color:#1f2937;margin:0;font-size:1.5rem;font-weight:600}.org-admin-enrollments-count{color:#6b7280;margin:0;font-size:.875rem}.org-admin-enrollments-enroll-btn{color:#fff;cursor:pointer;white-space:nowrap;background-color:#4f46e5;border:none;border-radius:6px;align-items:center;padding:.5rem 1rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:background-color .15s;display:inline-flex}.org-admin-enrollments-enroll-btn:hover{background-color:#4338ca}.org-admin-enrollments-filters{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1rem}.org-admin-enrollments-filter-row{flex-wrap:wrap;align-items:flex-end;gap:1rem;display:flex}.org-admin-enrollments-filter-group{flex-direction:column;flex:1;gap:.25rem;min-width:180px;display:flex}.org-admin-enrollments-filter-label{color:#374151;text-transform:uppercase;letter-spacing:.025em;font-size:.75rem;font-weight:500}.org-admin-enrollments-filter-input{color:#1f2937;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.5rem .75rem;font-family:inherit;font-size:.875rem;transition:border-color .15s}.org-admin-enrollments-filter-input:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 2px #4f46e526}.org-admin-enrollments-filter-input::placeholder{color:#9ca3af}.org-admin-enrollments-filter-select{color:#1f2937;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.5rem .75rem;font-family:inherit;font-size:.875rem;transition:border-color .15s}.org-admin-enrollments-filter-select:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 2px #4f46e526}.org-admin-enrollments-filter-actions{align-items:flex-end;gap:.5rem;padding-bottom:0;display:flex}.org-admin-enrollments-apply-btn{color:#fff;cursor:pointer;white-space:nowrap;background-color:#4f46e5;border:1px solid #4f46e5;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s}.org-admin-enrollments-apply-btn:hover{background-color:#4338ca;border-color:#4338ca}.org-admin-enrollments-clear-btn{color:#374151;cursor:pointer;white-space:nowrap;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s}.org-admin-enrollments-clear-btn:hover{background-color:#f3f4f6}.org-admin-enrollments-message{border-radius:6px;align-items:center;gap:.75rem;padding:.625rem .75rem;font-size:.875rem;display:flex}.org-admin-enrollments-message--error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca}.org-admin-enrollments-message--success{color:#166534;background-color:#f0fdf4;border:1px solid #bbf7d0}.org-admin-enrollments-retry-btn{color:#991b1b;cursor:pointer;background-color:#0000;border:1px solid #fecaca;border-radius:4px;margin-left:auto;padding:.25rem .625rem;font-size:.8125rem;font-weight:500;transition:background-color .15s}.org-admin-enrollments-retry-btn:hover{background-color:#fee2e2}.org-admin-enrollments-loading{color:#6b7280;flex-direction:column;align-items:center;gap:.75rem;padding:2rem;display:flex}.org-admin-enrollments-table-wrapper{overflow-x:auto}.org-admin-enrollments-table{border-collapse:collapse;width:100%;font-size:.875rem}.org-admin-enrollments-table thead{background-color:#f9fafb;border-bottom:1px solid #e5e7eb}.org-admin-enrollments-table th{text-align:left;color:#374151;white-space:nowrap;padding:.75rem 1rem;font-weight:500}.org-admin-enrollments-table td{vertical-align:top;border-bottom:1px solid #f3f4f6;padding:.75rem 1rem}.org-admin-enrollments-table tbody tr:hover{background-color:#f9fafb}.org-admin-enrollments-display-name{color:#1f2937;font-weight:500;display:block}.org-admin-enrollments-email{color:#6b7280;font-size:.8125rem;display:block}.org-admin-enrollments-course-title{color:#1f2937;font-weight:500;display:block}.org-admin-enrollments-course-id{color:#9ca3af;text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-family:monospace;font-size:.75rem;display:block;overflow:hidden}.org-admin-enrollments-date-cell{white-space:nowrap;color:#6b7280}.org-admin-enrollments-role-badge{white-space:nowrap;border-radius:9999px;padding:.2rem .5rem;font-size:.75rem;font-weight:500;display:inline-block}.org-admin-enrollments-role-badge--student{color:#1d4ed8;background-color:#eff6ff}.org-admin-enrollments-role-badge--teaching_assistant{color:#854d0e;background-color:#fefce8}.org-admin-enrollments-role-badge--instructor{color:#166534;background-color:#f0fdf4}.org-admin-enrollments-unenroll-btn{color:#dc2626;cursor:pointer;white-space:nowrap;background-color:#fff;border:1px solid #fecaca;border-radius:6px;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;transition:background-color .15s,border-color .15s}.org-admin-enrollments-unenroll-btn:hover:not(:disabled){background-color:#fef2f2;border-color:#f87171}.org-admin-enrollments-unenroll-btn:disabled{opacity:.5;cursor:not-allowed}.org-admin-enrollments-empty{text-align:center;color:#6b7280;padding:2rem 1rem;font-style:italic}.org-admin-enrollments-pagination{justify-content:center;align-items:center;gap:1rem;padding-top:.5rem;display:flex}.org-admin-enrollments-pagination-btn{color:#374151;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s}.org-admin-enrollments-pagination-btn:hover:not(:disabled){background-color:#f9fafb}.org-admin-enrollments-pagination-btn:disabled{opacity:.5;cursor:not-allowed}.org-admin-enrollments-pagination-info{color:#6b7280;font-size:.875rem}.org-admin-invitations{flex-direction:column;gap:2rem;display:flex}.org-admin-inv-badge{text-transform:capitalize;border-radius:9999px;padding:.2rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.org-admin-inv-badge--pending{color:#92400e;background-color:#fef3c7}.org-admin-inv-badge--accepted{color:#065f46;background-color:#d1fae5}.org-admin-inv-badge--expired{color:#6b7280;background-color:#f3f4f6}.org-admin-inv-badge--cancelled{color:#991b1b;background-color:#fee2e2}.org-admin-inv-table-wrapper{overflow-x:auto}.org-admin-inv-table{border-collapse:collapse;width:100%;min-width:700px;font-size:.875rem}.org-admin-inv-table thead{background-color:#f9fafb;border-bottom:1px solid #e5e7eb}.org-admin-inv-table th{text-align:left;color:#374151;white-space:nowrap;padding:.75rem 1rem;font-weight:500}.org-admin-inv-table td{vertical-align:middle;border-bottom:1px solid #f3f4f6;padding:.75rem 1rem}.org-admin-inv-table tbody tr:hover{background-color:#f9fafb}.org-admin-inv-resend-btn{color:#4f46e5;cursor:pointer;white-space:nowrap;background-color:#0000;border:1px solid #c7d2fe;border-radius:4px;padding:.25rem .625rem;font-size:.8125rem;font-weight:500;transition:background-color .15s}.org-admin-inv-resend-btn:hover:not(:disabled){background-color:#eef2ff}.org-admin-inv-resend-btn:disabled{opacity:.6;cursor:not-allowed}.org-admin-inv-retry-btn{color:#dc2626;cursor:pointer;background-color:#0000;border:1px solid #fecaca;border-radius:4px;margin-left:.75rem;padding:.2rem .5rem;font-size:.8125rem;font-weight:500}.org-admin-inv-retry-btn:hover{background-color:#fef2f2}.org-admin-inv-pagination{align-items:center;gap:.75rem;margin-top:.5rem;display:flex}.org-admin-inv-pagination-btn{color:#374151;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.375rem .75rem;font-size:.875rem;font-weight:500;transition:background-color .15s}.org-admin-inv-pagination-btn:hover:not(:disabled){background-color:#f9fafb}.org-admin-inv-pagination-btn:disabled{opacity:.5;cursor:not-allowed}.org-admin-inv-pagination-info{color:#6b7280;font-size:.875rem}.org-admin-inv-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.org-admin-inv-title{color:#1f2937;margin:0;font-size:1.5rem;font-weight:600}.org-admin-inv-dialog-overlay{z-index:50;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.org-admin-inv-dialog{background:#fff;border-radius:12px;width:100%;max-width:440px;padding:2rem;box-shadow:0 8px 32px #0000001f}.org-admin-inv-dialog-title{color:#1f2937;margin:0 0 1.5rem;font-size:1.25rem;font-weight:600}.org-admin-inv-dialog-field{flex-direction:column;gap:.375rem;margin-bottom:1rem;display:flex}.org-admin-inv-dialog-label{color:#374151;font-size:.875rem;font-weight:500}.org-admin-inv-dialog-input,.org-admin-inv-dialog-select{color:#1f2937;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.5rem .75rem;font-size:.9375rem;transition:border-color .15s}.org-admin-inv-dialog-input:focus,.org-admin-inv-dialog-select:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1a}.org-admin-inv-dialog-error{color:#dc2626;margin:0 0 1rem;font-size:.875rem}.org-admin-inv-dialog-actions{gap:.75rem;margin-top:1.5rem;display:flex}.org-join-requests{flex-direction:column;gap:1rem;max-width:1340px;display:flex}.org-join-requests-title{color:#1f2937;font-size:1.5rem;font-weight:600}.org-join-requests-count{color:#6b7280;font-size:.875rem}.org-join-requests-loading{color:#6b7280;flex-direction:column;align-items:center;gap:.75rem;padding:2rem;display:flex}.org-join-requests-banner{border-radius:6px;justify-content:space-between;align-items:center;gap:.75rem;padding:.625rem .75rem;font-size:.875rem;display:flex}.org-join-requests-banner--error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca}.org-join-requests-retry-btn,.org-join-requests-dismiss-btn{color:#dc2626;cursor:pointer;background-color:#fff;border:1px solid #fecaca;border-radius:4px;flex-shrink:0;padding:.25rem .625rem;font-size:.8125rem;font-weight:500;transition:background-color .15s}.org-join-requests-retry-btn:hover,.org-join-requests-dismiss-btn:hover{background-color:#fef2f2}.org-join-requests-table-wrapper{overflow-x:auto}.org-join-requests-table{border-collapse:collapse;width:100%;font-size:.875rem}.org-join-requests-table thead{background-color:#f9fafb;border-bottom:1px solid #e5e7eb}.org-join-requests-table th{text-align:left;color:#374151;white-space:nowrap;padding:.75rem 1rem;font-weight:500}.org-join-requests-table td{vertical-align:middle;border-bottom:1px solid #f3f4f6;padding:.75rem 1rem}.org-join-requests-table tbody tr:hover{background-color:#f9fafb}.org-join-requests-name-cell{color:#1f2937;font-weight:500}.org-join-requests-display-name{display:block}.org-join-requests-email-cell{color:#6b7280;font-size:.8125rem}.org-join-requests-date-cell{white-space:nowrap;color:#6b7280}.org-join-requests-actions-cell{align-items:center;gap:.5rem;display:flex}.org-join-requests-approve-btn{color:#166534;cursor:pointer;white-space:nowrap;background-color:#fff;border:1px solid #bbf7d0;border-radius:6px;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;transition:background-color .15s,border-color .15s}.org-join-requests-approve-btn:hover:not(:disabled){background-color:#f0fdf4;border-color:#86efac}.org-join-requests-approve-btn:disabled{opacity:.5;cursor:not-allowed}.org-join-requests-reject-btn{color:#dc2626;cursor:pointer;white-space:nowrap;background-color:#fff;border:1px solid #fecaca;border-radius:6px;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;transition:background-color .15s,border-color .15s}.org-join-requests-reject-btn:hover:not(:disabled){background-color:#fef2f2;border-color:#f87171}.org-join-requests-reject-btn:disabled{opacity:.5;cursor:not-allowed}.org-join-requests-empty{text-align:center;color:#6b7280;padding:2rem 1rem}.org-join-requests-pagination{justify-content:center;align-items:center;gap:1rem;padding-top:.5rem;display:flex}.org-join-requests-pagination-btn{color:#374151;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s}.org-join-requests-pagination-btn:hover:not(:disabled){background-color:#f9fafb}.org-join-requests-pagination-btn:disabled{opacity:.5;cursor:not-allowed}.org-join-requests-pagination-info{color:#6b7280;font-size:.875rem}.org-members-hub{flex-direction:column;gap:0;display:flex}.org-members-hub-tabs{border-bottom:2px solid #e5e7eb;gap:0;margin-bottom:1.5rem;display:flex}.org-members-hub-tab{color:#6b7280;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:.625rem 1.25rem;font-size:.9375rem;font-weight:500;transition:color .15s,border-color .15s}.org-members-hub-tab:hover{color:#374151}.org-members-hub-tab--active{color:#2563eb;border-bottom-color:#2563eb}.org-invitations{flex-direction:column;gap:2rem;display:flex}.org-invitations-title{color:#111827;margin:0;font-size:1.5rem;font-weight:700}.org-invite-section{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.org-invite-section-title{color:#374151;margin:0;font-size:1rem;font-weight:600}.org-invite-form{flex-direction:column;gap:.75rem;display:flex}.org-invite-form-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.org-invite-input{border:1px solid #d1d5db;border-radius:6px;flex:1;min-width:200px;padding:.5rem .75rem;font-family:inherit;font-size:.875rem}.org-invite-input:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 2px #4f46e533}.org-invite-select{cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.5rem .75rem;font-family:inherit;font-size:.875rem}.org-invite-select:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 2px #4f46e533}.org-invite-textarea{resize:vertical;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:.75rem;font-family:inherit;font-size:.875rem;line-height:1.5}.org-invite-textarea:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 2px #4f46e533}.org-invite-btn{color:#fff;cursor:pointer;white-space:nowrap;background-color:#4f46e5;border:none;border-radius:6px;justify-content:center;align-items:center;padding:.5rem 1rem;font-size:.875rem;font-weight:600;transition:background-color .15s;display:inline-flex}.org-invite-btn:hover:not(:disabled){background-color:#4338ca}.org-invite-btn:disabled{opacity:.6;cursor:not-allowed}.org-invite-hint{color:#6b7280;margin:0;font-size:.75rem}.org-invite-success{color:#059669;background-color:#ecfdf5;border:1px solid #a7f3d0;border-radius:6px;padding:.5rem .75rem;font-size:.875rem}.org-invite-error{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:.5rem .75rem;font-size:.875rem}.org-invite-loading{color:#6b7280;margin:0;font-size:.875rem}.org-invite-empty{color:#6b7280;margin:0;font-size:.875rem;font-style:italic}.org-invite-table{border-collapse:collapse;width:100%;font-size:.875rem}.org-invite-table th{text-align:left;color:#374151;border-bottom:2px solid #e5e7eb;padding:.625rem .75rem;font-weight:600}.org-invite-table td{color:#4b5563;border-bottom:1px solid #f3f4f6;padding:.625rem .75rem}.org-invite-role-cell{text-transform:capitalize}.org-invite-cancel-btn{color:#dc2626;cursor:pointer;background-color:#0000;border:1px solid #fecaca;border-radius:4px;padding:.25rem .625rem;font-size:.8125rem;font-weight:500;transition:background-color .15s}.org-invite-cancel-btn:hover:not(:disabled){background-color:#fef2f2}.org-invite-cancel-btn:disabled{opacity:.6;cursor:not-allowed}.org-members-page{flex-direction:column;gap:1rem;max-width:1340px;display:flex}.org-members-title{color:#1f2937;font-size:1.5rem;font-weight:600}.org-members-count{color:#6b7280;font-size:.875rem}.org-members-loading{color:#6b7280;flex-direction:column;align-items:center;gap:.75rem;padding:2rem;display:flex}.org-members-message{border-radius:6px;padding:.625rem .75rem;font-size:.875rem}.org-members-message--error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca}.org-members-message--success{color:#166534;background-color:#f0fdf4;border:1px solid #bbf7d0}.org-members-table-wrapper{overflow-x:auto}.org-members-table{border-collapse:collapse;width:100%;font-size:.875rem}.org-members-table thead{background-color:#f9fafb;border-bottom:1px solid #e5e7eb}.org-members-table th{text-align:left;color:#374151;white-space:nowrap;padding:.75rem 1rem;font-weight:500}.org-members-table td{vertical-align:middle;border-bottom:1px solid #f3f4f6;padding:.75rem 1rem}.org-members-table tbody tr:hover{background-color:#f9fafb}.org-members-name-cell{flex-direction:column;gap:.125rem;display:flex}.org-members-display-name{color:#1f2937;font-weight:500}.org-members-email{color:#6b7280;font-size:.8125rem}.org-members-date-cell{white-space:nowrap;color:#6b7280}.org-members-role-select{color:#1f2937;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.375rem .5rem;font-size:.8125rem;transition:border-color .15s}.org-members-role-select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.org-members-role-select:disabled{opacity:.6;cursor:not-allowed}.org-members-remove-btn{color:#dc2626;cursor:pointer;background-color:#fff;border:1px solid #fecaca;border-radius:6px;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;transition:background-color .15s,border-color .15s}.org-members-remove-btn:hover:not(:disabled){background-color:#fef2f2;border-color:#f87171}.org-members-remove-btn:disabled{opacity:.5;cursor:not-allowed}.org-members-empty{text-align:center;color:#6b7280;padding:2rem 1rem}.org-members-pagination{justify-content:center;align-items:center;gap:1rem;padding-top:.5rem;display:flex}.org-members-pagination-btn{color:#374151;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s}.org-members-pagination-btn:hover:not(:disabled){background-color:#f9fafb}.org-members-pagination-btn:disabled{opacity:.5;cursor:not-allowed}.org-members-pagination-info{color:#6b7280;font-size:.875rem}.org-members-actions-cell{white-space:nowrap;align-items:center;gap:.5rem;display:flex}.org-members-role-badge{color:#374151;background:#f3f4f6;border-radius:9999px;padding:.2rem .6rem;font-size:.8125rem;font-weight:500;display:inline-block}.org-members-dialog-overlay{z-index:50;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.org-members-dialog{background:#fff;border-radius:12px;width:100%;max-width:440px;padding:2rem;box-shadow:0 8px 32px #0000001f}.org-members-dialog-title{color:#1f2937;margin:0 0 1rem;font-size:1.25rem;font-weight:600}.org-members-dialog-member{flex-direction:column;gap:.25rem;margin-bottom:1.25rem;font-size:.9375rem;display:flex}.org-members-dialog-current-role{color:#6b7280;font-size:.8125rem}.org-members-dialog-field{flex-direction:column;gap:.375rem;margin-bottom:1rem;display:flex}.org-members-dialog-label{color:#374151;font-size:.875rem;font-weight:500}.org-members-dialog-select{color:#1f2937;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.5rem .75rem;font-size:.9375rem}.org-members-dialog-notice{color:#92400e;background:#fffbeb;border:1px solid #fcd34d;border-radius:6px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem;line-height:1.5}.org-members-dialog-error{color:#dc2626;margin-bottom:1rem;font-size:.875rem}.org-members-dialog-actions{gap:.75rem;margin-top:1.5rem;display:flex}.qb-page{flex-direction:column;gap:1.5rem;max-width:1340px;display:flex}.qb-page h1{color:#1f2937;margin:0;font-size:1.5rem;font-weight:600}.qb-filter-toolbar{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex-wrap:wrap;align-items:flex-end;gap:.75rem;padding:1rem 1.25rem;display:flex}.qb-filter-field{flex-direction:column;gap:.25rem;min-width:160px;display:flex}.qb-filter-field label{color:#6b7280;white-space:nowrap;font-size:.75rem;font-weight:500}.qb-filter-field select{color:#1f2937;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.4rem .625rem;font-size:.8125rem;transition:border-color .15s,box-shadow .15s}.qb-filter-field select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.qb-filter-clear-btn{align-self:flex-end}.qb-list{flex-direction:column;gap:.625rem;display:flex}.qb-bank-item{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px}.qb-bank-row{align-items:center;gap:1rem;padding:.875rem 1rem;display:flex}.qb-bank-info{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.qb-bank-name{color:#1d4ed8;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:600;text-decoration:none;overflow:hidden}.qb-bank-name:hover{text-decoration:underline}.qb-bank-meta{flex-wrap:wrap;align-items:center;gap:.375rem;display:flex}.qb-meta-tag{color:#374151;white-space:nowrap;background-color:#f3f4f6;border-radius:9999px;padding:.125rem .5rem;font-size:.6875rem;font-weight:500;display:inline-block}.qb-meta-tag--type{color:#1e40af;background-color:#dbeafe}.qb-meta-tag--qtype{color:#92400e;background-color:#fef3c7}.qb-meta-tag--year{color:#166534;background-color:#dcfce7}.qb-bank-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.qb-inline-edit{flex:1;align-items:center;gap:.5rem;min-width:0;display:flex}.qb-inline-edit input{color:#1f2937;background-color:#fff;border:1px solid #3b82f6;border-radius:6px;flex:1;min-width:0;padding:.375rem .625rem;font-size:.875rem}.qb-inline-edit input:focus{outline:none;box-shadow:0 0 0 3px #3b82f61a}.qb-form-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.875rem;display:grid}.qb-page-header{justify-content:space-between;align-items:center;display:flex}.qb-dialog-overlay{z-index:1000;background-color:#00000073;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.qb-dialog-overlay.question-editor-overlay{z-index:2000}.question-editor-dialog{background:#fff;border:none;border-radius:10px;flex-direction:column;width:92vw;max-width:1200px;height:88vh;padding:0;display:flex;overflow:hidden;box-shadow:0 24px 64px #0000004d}.question-editor-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#00000080}.question-editor-dialog.qb-dialog--maximized{width:calc(100vw - 2rem)!important;max-width:100vw!important;height:calc(100vh - 2rem)!important}dialog.question-editor-dialog{border:none;border-radius:10px;flex-direction:column;width:92vw;max-width:1200px;height:88vh;margin:0;padding:0;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 20px 60px #0003}dialog.question-editor-dialog::backdrop{background-color:#00000073}dialog.question-editor-dialog.qb-dialog--maximized{width:calc(100vw - 2rem);max-width:100vw;height:calc(100vh - 2rem)}.qb-dialog{background:#fff;border-radius:10px;flex-direction:column;width:100%;max-width:640px;max-height:95vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #0003}.qb-dialog--tall{min-height:85vh}.qb-dialog>form{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.qb-dialog-header{border-bottom:1px solid #e5e7eb;flex-shrink:0;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem 1rem;display:flex}.qb-dialog-header h2{color:#111827;margin:0;font-size:1.0625rem;font-weight:600}.qb-dialog-close{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25rem .5rem;font-size:1.375rem;line-height:1;transition:color .15s,background-color .15s}.qb-dialog-close:hover{color:#111827;background-color:#f3f4f6}.qb-dialog-header-actions{flex-shrink:0;align-items:center;gap:.25rem;display:flex}.qb-richtext-switch{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;margin-right:.5rem;display:flex}.qb-richtext-switch__label{color:#6b7280;white-space:nowrap;font-size:.75rem;font-weight:500}.qb-richtext-switch__input{opacity:0;width:0;height:0;position:absolute}.qb-richtext-switch__slider{background-color:#d1d5db;border-radius:20px;flex-shrink:0;width:36px;height:20px;transition:background-color .25s;display:inline-block;position:relative}.qb-richtext-switch__slider:after{content:"";background-color:#fff;border-radius:50%;width:16px;height:16px;transition:transform .25s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000026}.qb-richtext-switch__input:checked+.qb-richtext-switch__slider{background-color:#14b8a6}.qb-richtext-switch__input:checked+.qb-richtext-switch__slider:after{transform:translate(16px)}.qb-richtext-switch__input:focus-visible+.qb-richtext-switch__slider{outline-offset:2px;outline:2px solid #14b8a6}.qbd-option-editor-wrapper .le-content-editable,.qbd-explanation-editor-wrapper .le-content-editable{resize:vertical;min-height:60px;overflow:auto}.qb-dialog-nav{align-items:center;gap:8px;margin-left:auto;margin-right:12px;display:flex}.qb-dialog-nav-counter{color:#6b7280;text-align:center;min-width:3ch;font-size:.8125rem;font-weight:500}.qb-dialog-maximize{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25rem .5rem;font-size:1.1rem;line-height:1;transition:color .15s,background-color .15s}.qb-dialog-maximize:hover{color:#111827;background-color:#f3f4f6}.qb-dialog-body{flex-direction:column;flex:1;gap:1rem;padding:1.25rem 1.5rem;display:flex;overflow-y:auto}.qb-dialog-footer{background:#f9fafb;border-top:1px solid #e5e7eb;flex-shrink:0;gap:.75rem;margin-top:auto;padding:1rem 1.5rem;display:flex}.qb-form-grid-full{grid-column:1/-1}.qbd-page{flex-direction:column;gap:1.5rem;max-width:1100px;display:flex}.qbd-page-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.qbd-page-header-left{align-items:center;gap:.75rem;display:flex}.qbd-page-header h1{color:#1f2937;margin:0;font-size:1.375rem;font-weight:600}.qbd-metadata{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.qbd-form-title{color:#1f2937;margin:0 0 .5rem;font-size:1rem;font-weight:600}.qbd-form-row{grid-template-columns:1fr 1fr;gap:.875rem;display:grid}.qbd-options-list{flex-direction:column;gap:.5rem;margin-bottom:.5rem;display:flex}.qbd-option-row{align-items:center;gap:.5rem;display:flex}.qbd-option-input{color:#1f2937;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;flex:1;padding:.375rem .625rem;font-size:.875rem}.qbd-option-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.qbd-patterns-list{flex-direction:column;gap:.5rem;margin-bottom:.5rem;display:flex}.qbd-pattern-row{align-items:center;gap:.5rem;display:flex}.qbd-pattern-input{color:#1f2937;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;flex:1;padding:.375rem .625rem;font-size:.875rem}.qbd-pattern-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.qbd-item-list{flex-direction:column;gap:.625rem;display:flex}.qbd-item{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-wrap:wrap;align-items:flex-start;gap:.875rem;padding:.875rem 1rem;display:flex}.qbd-item-order{color:#9ca3af;flex-shrink:0;min-width:2rem;padding-top:.1rem;font-size:.75rem;font-weight:600}.qbd-item-body{flex-direction:column;flex:1;gap:.375rem;min-width:0;display:flex}.qbd-item-text{color:#1f2937;white-space:pre-wrap;word-break:break-word;margin:0;font-size:.875rem;line-height:1.5}.qbd-item-actions{flex-shrink:0;align-items:center;gap:.375rem;display:flex}.qbd-item-error{width:100%;margin:.25rem 0 0}.hc-reorder-btn{min-width:2rem;padding-left:.5rem;padding-right:.5rem}.qbd-links-section{flex-direction:column;gap:.5rem;display:flex}.qbd-links-section-picker{border-bottom:1px solid #f3f4f6;flex-direction:column;flex-shrink:0;gap:.25rem;padding:.75rem 1rem .5rem;display:flex}.qbd-links-section-picker-label{color:#6b7280;text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}.qbd-links-section-select{color:#111827;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:.375rem;width:100%;padding:.375rem .625rem;font-size:.8125rem}.qbd-links-section-select:focus{border-color:#6366f1;outline:none;box-shadow:0 0 0 2px #6366f126}.qbd-links-content{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;gap:.5rem;max-height:280px;padding:.75rem;overflow-y:auto}.qbd-links-loading,.qbd-links-empty{color:#6b7280;margin:0;font-size:.8125rem}.qbd-links-badge{color:#1e40af;background-color:#dbeafe;border-radius:9999px;align-self:flex-start;padding:.125rem .625rem;font-size:.75rem;font-weight:600;display:inline-block}.qbd-links-tree{flex-direction:column;gap:.25rem;display:flex}.qbd-links-section-row{flex-direction:column;gap:.125rem;display:flex}.qbd-links-section-label,.qbd-links-item-label{color:#1f2937;cursor:pointer;border-radius:4px;align-items:center;gap:.5rem;padding:.1875rem .25rem;font-size:.8125rem;display:flex}.qbd-links-section-label:hover,.qbd-links-item-label:hover{background-color:#f3f4f6}.qbd-links-section-code{color:#374151;white-space:nowrap;font-weight:600}.qbd-links-section-title{color:#4b5563;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.qbd-links-item-type{color:#374151;white-space:nowrap;background-color:#e5e7eb;border-radius:4px;padding:.0625rem .375rem;font-size:.6875rem}.qbd-links-item-name{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.qbd-links-outcomes{flex-direction:column;gap:.125rem;margin:.125rem 0 .25rem 1.5rem;padding:0;list-style:none;display:flex}.qbd-links-outcome-row{border-radius:.25rem;align-items:baseline;gap:.375rem;padding:.125rem .375rem;display:flex}.qbd-links-outcome-label{cursor:pointer;border-radius:.25rem;align-items:baseline;gap:.375rem;width:100%;padding:.125rem .25rem;display:flex}.qbd-links-outcome-label:hover{background-color:#f3f4f6}.qbd-links-outcome-label input[type=checkbox]{cursor:pointer;flex-shrink:0;margin-top:.125rem}.qbd-links-outcome-ref{color:#6366f1;white-space:nowrap;background:#eef2ff;border-radius:.25rem;flex-shrink:0;padding:.0625rem .3rem;font-size:.6875rem;font-weight:600}.qbd-links-outcome-statement{color:#4b5563;font-size:.75rem;line-height:1.4}.qb-dialog--wide{flex-direction:column;width:92vw;max-width:1200px;height:88vh;display:flex}.qb-dialog--maximized{width:calc(100vw - 2rem)!important;max-width:100vw!important;height:calc(100vh - 2rem)!important}.qb-dialog-split{flex-direction:column;flex:1;display:flex;overflow:hidden}.qb-dialog-split-body{flex:1;min-height:0;display:flex;overflow:hidden}.qb-dialog-form-pane{flex-direction:column;flex:50%;gap:1rem;min-width:0;padding:1.25rem 1.5rem;display:flex;overflow-y:auto}.qb-dialog-syllabus-pane{border-left:1px solid #e5e7eb;flex-direction:column;flex:1 0 50%;min-width:0;display:flex;overflow:hidden}.qb-dialog-syllabus-pane-header{color:#374151;background:#f9fafb;border-bottom:1px solid #f3f4f6;flex-shrink:0;padding:.875rem 1rem .5rem;font-size:.8125rem;font-weight:600}.qb-dialog-syllabus-pane-body{flex:1;padding:.75rem 1rem;overflow-y:auto}.qb-dialog-syllabus-pane-body .qbd-links-section{background:0 0;border:none;max-height:none;padding:0}.qb-import-dialog{flex-direction:column;width:90vw;max-width:720px;max-height:90vh;display:flex}.qb-import-body{flex-direction:column;flex:1;gap:.75rem;padding:1.25rem 1.5rem;display:flex;overflow-y:auto}.qb-import-hint{color:#6b7280;margin:0;font-size:.8125rem;line-height:1.5}.qb-import-hint code{color:#374151;background:#f3f4f6;border-radius:.25rem;padding:.1rem .3rem;font-size:.75rem}.qb-import-file-label{cursor:pointer;flex-direction:column;gap:.375rem;display:flex}.qb-import-file-label-text{color:#374151;font-size:.8125rem;font-weight:600}.qb-import-file-input{cursor:pointer;color:#374151;box-sizing:border-box;background:#f9fafb;border:2px dashed #d1d5db;border-radius:.5rem;width:100%;padding:.5rem .75rem;font-size:.8125rem;transition:border-color .15s,background .15s;display:block}.qb-import-file-input:hover:not(:disabled){background:#f5f3ff;border-color:#6366f1}.qb-import-file-input:disabled{opacity:.6;cursor:not-allowed}.qb-import-file-name{color:#374151;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:.375rem;margin:0;padding:.5rem .75rem;font-size:.8125rem}.qb-import-file-count{color:#15803d;font-weight:600}.qb-import-error{color:#b91c1c;white-space:pre-wrap;word-break:break-word;background:#fef2f2;border:1px solid #fecaca;border-radius:.375rem;margin:0;padding:.625rem .875rem;font-size:.8125rem}.qb-import-progress{color:#6366f1;margin:0;font-size:.8125rem;font-weight:500}.qb-delete-dialog{flex-direction:column;width:90vw;max-width:480px;display:flex}.qb-delete-body{flex-direction:column;gap:1rem;padding:1.25rem 1.5rem;display:flex}.qb-delete-warning{color:#374151;margin:0;font-size:.875rem;line-height:1.5}.qb-delete-question-preview{color:#4b5563;background:#f9fafb;border-left:3px solid #e5e7eb;border-radius:0 .375rem .375rem 0;margin:0;padding:.75rem 1rem;font-size:.875rem;font-style:italic;line-height:1.5}.hc-btn--danger:not(.table-action-btn){color:#fff;cursor:pointer;background:#dc2626;border:1px solid #dc2626;border-radius:.375rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background .15s,border-color .15s}.hc-btn--danger:not(.table-action-btn):hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}.hc-btn--danger:disabled{opacity:.6;cursor:not-allowed}.qb-sections-panel{overflow:hidden;padding:0!important}.qb-sections-header{border-bottom:1px solid #e5e7eb;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.25rem;display:flex}.qb-sections-tabs{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.qb-section-tab{color:#374151;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:.375rem;align-items:center;gap:.375rem;padding:.375rem .875rem;font-size:.875rem;font-weight:500;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.qb-section-tab:hover:not(.qb-section-tab--active){background:#f9fafb;border-color:#d1d5db}.qb-section-tab--active{color:#4338ca;background:#eef2ff;border-color:#6366f1}.qb-section-tab-type{color:inherit;background:#0000000f;border-radius:.25rem;padding:.0625rem .3rem;font-size:.6875rem;font-weight:600}.qb-section-add-btn{color:#6b7280;cursor:pointer;background:0 0;border:1px dashed #d1d5db;border-radius:.375rem;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;transition:background .12s,border-color .12s,color .12s}.qb-section-add-btn:hover{color:#4338ca;background:#f9fafb;border-color:#6366f1}.qb-section-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.qb-add-section-form{background:#f9fafb;border-bottom:1px solid #e5e7eb;flex-wrap:wrap;align-items:center;gap:.625rem;padding:.75rem 1.25rem;display:flex}.qb-section-list{border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:0;margin-top:.5rem;display:flex;overflow:hidden}.qb-section-list-item{cursor:pointer;background:#fff;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:1rem;padding:.875rem 1.25rem;transition:background .12s;display:flex}.qb-section-list-item:last-child{border-bottom:none}.qb-section-list-item:hover{background:#eef2ff}.qb-section-list-item-content{flex-direction:column;gap:.375rem;min-width:0;display:flex}.qb-section-list-item-name{color:#1f2937;font-size:.9375rem;font-weight:600}.qb-section-list-item-meta{flex-flow:wrap;align-items:center;gap:.5rem;display:flex}.qb-section-list-item-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.qb-section-rename-form{flex:1;align-items:center;gap:.5rem;padding:.25rem 0;display:flex}.qb-section-rename-form .hc-input{flex:1;min-width:0}.qb-detail-grid{grid-template-columns:1fr 1fr;gap:.375rem 2rem;display:grid}.qb-detail-cell{flex-direction:row;align-items:baseline;gap:.5rem;display:flex}.qb-detail-label{color:#6b7280;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;flex-shrink:0;font-size:.75rem;font-weight:600}.qb-detail-value{color:#111827;font-size:.9375rem;font-weight:500}.qb-import-confirm-bar{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:.5rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;padding:.625rem 1rem;display:flex}.qb-import-confirm-info{flex-wrap:wrap;flex:1;align-items:center;gap:.5rem;min-width:0;display:flex}.qb-import-confirm-icon{flex-shrink:0;font-size:1rem}.qb-import-confirm-filename{color:#374151;font-size:.875rem;font-weight:500}.qb-import-confirm-error{color:#b91c1c;flex-basis:100%;font-size:.8125rem}.qb-import-confirm-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.afc-page{flex-direction:column;gap:1.5rem;display:flex}.afc-page-header{justify-content:space-between;align-items:center;display:flex}.afc-page-header h1{color:#1f2937;margin:0;font-size:1.5rem;font-weight:600}.afc-table-wrapper{border:1px solid #e5e7eb;border-radius:8px;overflow-x:auto}.afc-table{border-collapse:collapse;background-color:#fff;width:100%;font-size:.875rem}.afc-table thead{background-color:#f9fafb}.afc-table__th{text-align:left;color:#374151;white-space:nowrap;border-bottom:1px solid #e5e7eb;padding:.75rem 1rem;font-weight:600}.afc-table__th--center{text-align:center}.afc-table__th--right{text-align:right}.afc-table__td{color:#1f2937;vertical-align:middle;border-bottom:1px solid #f3f4f6;padding:.75rem 1rem}.afc-table__td--name{font-weight:500}.afc-table__td--center{text-align:center}.afc-table__td--actions{text-align:right;white-space:nowrap}.afc-table__empty{text-align:center;color:#6b7280;padding:1.5rem 1rem;font-size:.875rem}.afc-row:hover{background-color:#f9fafb}.afc-row:last-child td{border-bottom:none}.afc-status-badge{text-transform:capitalize;white-space:nowrap;border-radius:9999px;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.afc-status-badge--published{color:#166534;background-color:#dcfce7}.afc-status-badge--unpublished{color:#6b7280;background-color:#f3f4f6}.afc-row-actions{justify-content:flex-end;align-items:center;gap:.375rem;display:inline-flex}.afc-action-btn{color:#374151;cursor:pointer;white-space:nowrap;background-color:#fff;border:1px solid #d1d5db;border-radius:5px;padding:.25rem .625rem;font-size:.8125rem;font-weight:500;transition:background-color .15s,border-color .15s,opacity .15s}.afc-action-btn:disabled{opacity:.5;cursor:not-allowed}.afc-action-btn--edit{color:#1d4ed8;border-color:#bfdbfe}.afc-action-btn--edit:hover:not(:disabled){background-color:#eff6ff;border-color:#93c5fd}.afc-action-btn--publish{color:#166534;border-color:#86efac}.afc-action-btn--publish:hover:not(:disabled){background-color:#f0fdf4;border-color:#4ade80}.afc-action-btn--unpublish{color:#6b7280;border-color:#d1d5db}.afc-action-btn--unpublish:hover:not(:disabled){background-color:#f9fafb;border-color:#9ca3af}.afc-action-btn--delete{color:#991b1b;border-color:#fecaca}.afc-action-btn--delete:hover:not(:disabled){background-color:#fef2f2;border-color:#fca5a5}.afc-action-btn--secondary{color:#374151;border-color:#d1d5db}.afc-action-btn--secondary:hover:not(:disabled){background-color:#f9fafb;border-color:#9ca3af}.afc-confirm-row td{background-color:#fffbeb;border-top:none}.afc-confirm-cell{padding:.625rem 1rem!important}.afc-confirm-prompt{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.afc-confirm-prompt__text{color:#92400e;font-size:.875rem}.afc-confirm-prompt__actions{flex-shrink:0;gap:.5rem;display:flex}.afc-error-row td{background-color:#fef2f2;border-top:none;padding:0 1rem .625rem!important}.afc-row-error{color:#991b1b;margin:0;font-size:.8125rem}.afc-name-link{font:inherit;color:#1d4ed8;cursor:pointer;text-align:left;background:0 0;border:none;margin:0;padding:0;font-weight:500;text-decoration:none}.afc-name-link:hover{text-decoration:underline}.afc-syllabus-tags{flex-wrap:wrap;gap:.25rem;margin-top:.3rem;display:flex}.afc-tag{white-space:nowrap;border-radius:9999px;padding:.1rem .45rem;font-size:.6875rem;font-weight:500;display:inline-block}.afc-tag--pathway{color:#1e40af;background-color:#dbeafe}.afc-tag--level{color:#92400e;background-color:#fef3c7}.afc-tag--subject{color:#065f46;background-color:#d1fae5}.afc-tag--medium{color:#374151;background-color:#f3f4f6}.org-admin-course-form-page{max-width:680px}.org-admin-course-form-title{color:#1f2937;margin-bottom:1.5rem;font-size:1.5rem;font-weight:600}.org-admin-course-form-loading{color:#6b7280;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:3rem 1rem;font-size:.875rem;display:flex}.org-admin-course-form-server-error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.875rem}.org-admin-course-form{flex-direction:column;gap:1.25rem;display:flex}.org-admin-form-field{flex-direction:column;gap:.375rem;display:flex}.org-admin-form-label{color:#374151;font-size:.875rem;font-weight:500}.org-admin-form-input{color:#1f2937;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.5rem .75rem;font-size:.9375rem;transition:border-color .15s,box-shadow .15s}.org-admin-form-input::placeholder{color:#9ca3af}.org-admin-form-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.org-admin-form-input:disabled{color:#6b7280;cursor:not-allowed;background-color:#f9fafb}.org-admin-form-input-error{border-color:#ef4444}.org-admin-form-input-error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.org-admin-form-textarea{resize:vertical;min-height:120px}.org-admin-form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=480px){.org-admin-form-row{grid-template-columns:1fr}}.org-admin-form-field-error{color:#ef4444;margin:0;font-size:.8125rem}.org-admin-form-actions{gap:.75rem;margin-top:.5rem;display:flex}.org-admin-form-actions .btn{padding:.625rem 1.25rem}.org-branding-editor{flex-direction:column;gap:1.5rem;padding:1.5rem;display:flex}.org-branding-editor-title{color:#111827;margin:0;font-size:1.5rem;font-weight:700}.org-branding-editor-layout{grid-template-columns:1fr 1fr;align-items:start;gap:2rem;display:grid}@media (width<=768px){.org-branding-editor-layout{grid-template-columns:1fr}}.org-branding-form{flex-direction:column;gap:1.25rem;display:flex}.org-branding-field{flex-direction:column;gap:.375rem;display:flex}.org-branding-label{color:#374151;font-size:.875rem;font-weight:600}.org-branding-input{border:1px solid #d1d5db;border-radius:6px;padding:.5rem .75rem;font-family:inherit;font-size:.875rem}.org-branding-input:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 2px #4f46e533}.org-branding-color-row{align-items:center;gap:.5rem;display:flex}.org-branding-color-picker{cursor:pointer;background:0 0;border:1px solid #d1d5db;border-radius:6px;width:40px;height:36px;padding:2px}.org-branding-color-picker:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 2px #4f46e533}.org-branding-color-text{border:1px solid #d1d5db;border-radius:6px;flex:1;padding:.5rem .75rem;font-family:monospace;font-size:.875rem}.org-branding-color-text:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 2px #4f46e533}.org-branding-textarea{resize:vertical;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:.75rem;font-family:inherit;font-size:.875rem;line-height:1.5}.org-branding-textarea:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 2px #4f46e533}.org-branding-hint{color:#6b7280;margin:0;font-size:.75rem}.org-branding-save-btn{color:#fff;cursor:pointer;background-color:#4f46e5;border:none;border-radius:6px;justify-content:center;align-self:flex-start;align-items:center;padding:.625rem 1.25rem;font-size:.9375rem;font-weight:600;transition:background-color .15s;display:inline-flex}.org-branding-save-btn:hover:not(:disabled){background-color:#4338ca}.org-branding-save-btn:disabled{opacity:.6;cursor:not-allowed}.org-branding-success{color:#059669;background-color:#ecfdf5;border:1px solid #a7f3d0;border-radius:6px;padding:.5rem .75rem;font-size:.875rem}.org-branding-error{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:.5rem .75rem;font-size:.875rem}.org-branding-preview{flex-direction:column;gap:.75rem;display:flex}.org-branding-preview-title{color:#374151;margin:0;font-size:1rem;font-weight:600}.org-branding-preview-card{border:2px solid #e5e7eb;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.org-branding-preview-header{color:#fff;align-items:center;gap:.75rem;padding:1rem 1.25rem;display:flex}.org-branding-preview-logo{object-fit:cover;background-color:#fff3;border-radius:6px;width:40px;height:40px}.org-branding-preview-org-name{font-size:1rem;font-weight:600}.org-branding-preview-body{flex-direction:column;gap:.75rem;padding:1rem 1.25rem;display:flex}.org-branding-preview-description{color:#4b5563;margin:0;font-size:.875rem;line-height:1.5}.org-branding-preview-placeholder{color:#9ca3af;font-style:italic}.org-branding-preview-accent{border-radius:4px;align-self:flex-start;align-items:center;padding:.375rem .75rem;display:inline-flex}.org-branding-preview-accent-text{color:#fff;font-size:.75rem;font-weight:500}.org-settings{flex-direction:column;gap:2rem;max-width:1340px;display:flex}.org-settings-title{color:#1f2937;font-size:1.5rem;font-weight:600}.org-settings-loading{color:#6b7280;flex-direction:column;align-items:center;gap:1rem;padding:3rem 0;display:flex}.org-settings-error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:1rem;font-size:.875rem}.org-settings-message{border-radius:6px;padding:.625rem .75rem;font-size:.875rem}.org-settings-message--error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca}.org-settings-message--success{color:#166534;background-color:#f0fdf4;border:1px solid #bbf7d0}.org-settings-form{flex-direction:column;gap:1.5rem;display:flex}.org-settings-fieldset{border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex}.org-settings-legend{color:#374151;padding:0 .5rem;font-size:1rem;font-weight:600}.org-settings-field{flex-direction:column;gap:.375rem;display:flex}.org-settings-label{color:#374151;font-size:.875rem;font-weight:500}.org-settings-select{color:#1f2937;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.625rem .75rem;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.org-settings-select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.org-settings-save-btn{color:#fff;cursor:pointer;background-color:#3b82f6;border:1px solid #3b82f6;border-radius:6px;justify-content:center;align-self:flex-start;align-items:center;padding:.625rem 1.5rem;font-size:.875rem;font-weight:500;transition:background-color .15s;display:inline-flex}.org-settings-save-btn:hover{background-color:#2563eb}.org-settings-save-btn:disabled{opacity:.6;cursor:not-allowed}.org-settings-usage{border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex}.org-settings-usage-title{color:#1f2937;margin:0;font-size:1.125rem;font-weight:600}.org-settings-tier{align-items:center;gap:.5rem;font-size:.9375rem;display:flex}.org-settings-tier-label{color:#6b7280}.org-settings-tier-value{color:#1f2937;text-transform:capitalize;font-weight:600}.org-settings-usage-grid{grid-template-columns:1fr;gap:1rem;display:grid}@media (width>=640px){.org-settings-usage-grid{grid-template-columns:repeat(3,1fr)}}.usage-meter{flex-direction:column;gap:.375rem;display:flex}.usage-meter-header{justify-content:space-between;align-items:center;display:flex}.usage-meter-label{color:#374151;font-size:.8125rem;font-weight:500}.usage-meter-count{color:#6b7280;font-size:.8125rem}.usage-meter-track{background-color:#e5e7eb;border-radius:4px;height:8px;overflow:hidden}.usage-meter-bar{background-color:#3b82f6;border-radius:4px;height:100%;transition:width .3s}.usage-meter-bar--warning{background-color:#f59e0b}.usage-meter-warning{color:#d97706;font-size:.75rem;font-weight:500}.afc-form-page{flex-direction:column;gap:1.5rem;max-width:700px;display:flex}.afc-form-page__header h1{color:#1f2937;margin:0;font-size:1.5rem;font-weight:600}.afc-loading{margin:2rem auto}.afc-form{flex-direction:column;gap:1.25rem;display:flex}.afc-form__field{flex-direction:column;gap:.375rem;display:flex}.afc-form__label{color:#374151;font-size:.875rem;font-weight:600}.afc-form__optional{color:#6b7280;font-weight:400}.afc-form__input{color:#1f2937;box-sizing:border-box;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:.5rem .75rem;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.afc-form__input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f626}.afc-form__input--error{border-color:#ef4444}.afc-form__input--error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef444426}.afc-form__select{color:#1f2937;box-sizing:border-box;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:.5rem .75rem;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.afc-form__select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f626}.afc-form__select--error{border-color:#ef4444}.afc-form__select--error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef444426}.afc-form__fieldset{border:1px solid #e5e7eb;border-radius:8px;margin:0;padding:.75rem 1rem}.afc-form__fieldset legend{padding:0 .25rem}.afc-form__checklist{flex-direction:column;gap:.5rem;max-height:240px;padding-right:.25rem;display:flex;overflow-y:auto}.afc-form__check-label{color:#1f2937;cursor:pointer;align-items:flex-start;gap:.5rem;font-size:.875rem;display:flex}.afc-form__check-label input[type=checkbox]{accent-color:#3b82f6;cursor:pointer;flex-shrink:0;margin-top:.125rem}.afc-form__empty-hint{color:#9ca3af;margin:0;font-size:.8125rem;font-style:italic}.afc-form__error{color:#dc2626;font-size:.8125rem}.afc-form__submit-error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:.75rem 1rem;font-size:.875rem}.afc-form__actions{gap:.75rem;padding-top:.5rem;display:flex}.afc-form__section-root{color:#111827;font-weight:500}.afc-form__section-child{color:#374151}.afc-form__section-code{color:#6b7280;margin-right:.25rem;font-family:monospace;font-size:.75rem;font-weight:600}.afc-form__question-count{background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;padding:.5rem .75rem;font-size:.875rem}.afc-form__question-count-value{color:#166534}.afc-form__question-count-value strong{font-weight:700}.afc-form__question-count-loading{color:#6b7280;font-style:italic}.rte-toolbar{background:#f7fafc;border-bottom:1px solid #e2e8f0;flex-wrap:wrap;align-items:center;gap:.25rem;padding:.5rem;display:flex}.rte-toolbar-group{border-right:1px solid #e2e8f0;align-items:center;gap:2px;padding-right:.5rem;display:flex}.rte-toolbar-group:last-of-type{border-right:none}.rte-btn{color:#4a5568;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;min-width:32px;height:32px;padding:0 4px;font-size:.8125rem;font-weight:600;transition:background-color .15s,color .15s;display:flex}.rte-btn:hover{color:#1a202c;background-color:#edf2f7}.rte-btn-active{color:#2b6cb0;background-color:#e2e8f0}.rte-btn-danger{color:#e53e3e}.rte-btn-danger:hover{color:#c53030;background-color:#fed7d7}.rte-btn-save{color:#fff;background-color:#3182ce;border-radius:4px;width:auto;padding:.25rem .75rem;font-size:.75rem}.rte-btn-save:hover{background-color:#2b6cb0}.rte-btn-save:disabled{opacity:.5;cursor:not-allowed}.rte-toolbar-status{align-items:center;gap:.5rem;margin-left:auto;font-size:.75rem;display:flex}.rte-status-saving{color:#718096}.rte-status-unsaved{color:#d69e2e}.rte-status-saved{color:#38a169}.rich-text-editor{background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.rte-upload-indicator{color:#2b6cb0;background:#ebf8ff;border-bottom:1px solid #bee3f8;padding:.5rem 1rem;font-size:.8125rem}.rte-content{color:#1a202c;min-height:300px;padding:1rem 1.5rem;font-size:1rem;line-height:1.7}.rte-content .tiptap{outline:none;min-height:280px}.rte-content .tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:#a0aec0;pointer-events:none;height:0}.rte-content .tiptap h1{color:#1a202c;margin:1.5rem 0 .75rem;font-size:1.75rem;font-weight:700}.rte-content .tiptap h2{color:#2d3748;margin:1.25rem 0 .5rem;font-size:1.375rem;font-weight:600}.rte-content .tiptap h3{color:#2d3748;margin:1rem 0 .5rem;font-size:1.125rem;font-weight:600}.rte-content .tiptap h4{color:#4a5568;margin:.75rem 0 .5rem;font-size:1rem;font-weight:600}.rte-content .tiptap p{margin:.5rem 0}.rte-content .tiptap ul,.rte-content .tiptap ol{margin:.5rem 0;padding-left:1.5rem}.rte-content .tiptap blockquote{color:#4a5568;border-left:3px solid #e2e8f0;margin:.75rem 0;padding-left:1rem}.rte-content .tiptap pre{color:#e2e8f0;background:#1a202c;border-radius:6px;margin:.75rem 0;padding:1rem;font-family:Fira Code,Consolas,monospace;font-size:.875rem;overflow-x:auto}.rte-content .tiptap code{background:#edf2f7;border-radius:3px;padding:.125rem .375rem;font-family:Fira Code,Consolas,monospace;font-size:.875rem}.rte-content .tiptap pre code{background:0 0;padding:0}.rte-content .tiptap img,.rte-content .tiptap .rte-image{border-radius:4px;max-width:100%;height:auto;margin:.75rem 0}.rte-content .tiptap a{color:#3182ce;text-decoration:underline}.rte-content .tiptap hr{border:none;border-top:1px solid #e2e8f0;margin:1.5rem 0}.rte-content .tiptap table{border-collapse:collapse;table-layout:fixed;width:100%;margin:.75rem 0;overflow:hidden}.rte-content .tiptap table td,.rte-content .tiptap table th{vertical-align:top;border:1px solid #e2e8f0;min-width:80px;padding:.5rem .75rem;position:relative}.rte-content .tiptap table th{text-align:left;background-color:#f7fafc;font-weight:600}.rte-content .tiptap table .selectedCell:after{content:"";pointer-events:none;background:#3182ce1a;position:absolute;inset:0}.rte-content .tiptap .math-inline-node{cursor:default;padding:0 2px;display:inline}.rte-content .tiptap .math-display-node{text-align:center;cursor:default;margin:.75rem 0;padding:1rem 0;display:block}.rte-content .tiptap .math-error{color:#e53e3e;background:#fff5f5;border-radius:3px;padding:.125rem .375rem;font-family:monospace;font-size:.875rem}.rte-content .tiptap pre .hljs-keyword{color:#c792ea}.rte-content .tiptap pre .hljs-string{color:#c3e88d}.rte-content .tiptap pre .hljs-comment{color:#676e95}.rte-content .tiptap pre .hljs-number{color:#f78c6c}.rte-content .tiptap pre .hljs-function,.rte-content .tiptap pre .hljs-title{color:#82aaff}.rte-content .tiptap pre .hljs-built_in,.rte-content .tiptap pre .hljs-type{color:#ffcb6b}.rte-content .tiptap pre .hljs-attr{color:#f78c6c}.rte-content .tiptap pre .hljs-tag,.rte-content .tiptap pre .hljs-name{color:#f07178}.rte-content .tiptap pre .hljs-selector-class{color:#ffcb6b}.rte-content .tiptap pre .hljs-selector-id{color:#82aaff}.cp-root{--cp-bg:#1c1d1f;--cp-bg-secondary:#2d2f31;--cp-bg-hover:#3e4143;--cp-border:#3e4143;--cp-text:#d1d7dc;--cp-text-muted:#9ca3af;--cp-text-dim:#6a6f73;--cp-accent:#2563eb;--cp-accent-hover:#1d4ed8;--cp-accent-subtle:#93c5fd;background:var(--cp-bg);height:100vh;color:var(--cp-text);flex-direction:column;display:flex;overflow:hidden}.cp-root--light{--cp-bg:#fff;--cp-bg-secondary:#f9fafb;--cp-bg-hover:#f3f4f6;--cp-border:#e5e7eb;--cp-text:#1f2937;--cp-text-muted:#6b7280;--cp-text-dim:#9ca3af;--cp-accent:#2563eb;--cp-accent-hover:#1d4ed8;--cp-accent-subtle:#3b82f6}.cp-header{background:var(--cp-bg);height:56px;color:var(--cp-text);border-bottom:1px solid var(--cp-border);z-index:10;flex-shrink:0;align-items:center;gap:.75rem;padding:0 1.5rem;display:flex}.cp-sidebar-toggle{color:var(--cp-text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:.25rem .375rem;font-size:1.125rem;line-height:1;transition:background-color .15s,color .15s}.cp-sidebar-toggle:hover{background:var(--cp-bg-hover);color:var(--cp-text)}.cp-sidebar-toggle:focus-visible{outline:2px solid var(--cp-accent);outline-offset:2px}.cp-theme-toggle{color:var(--cp-text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:.25rem .375rem;font-size:1.125rem;line-height:1;transition:background-color .15s,color .15s}.cp-theme-toggle:hover{background:var(--cp-bg-hover);color:var(--cp-text)}.cp-header-back{color:var(--cp-text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:.25rem .375rem;font-size:1.125rem;line-height:1;text-decoration:none;transition:background-color .15s,color .15s}.cp-header-back:hover{background:var(--cp-bg-hover);color:var(--cp-text)}.cp-header-course{flex:1;align-items:center;gap:.4rem;min-width:0;display:flex;overflow:hidden}.cp-header-title{color:var(--cp-text);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;max-width:40%;font-size:.9375rem;font-weight:600;overflow:hidden}.cp-header-sep{color:var(--cp-text-dim);flex-shrink:0;font-size:.875rem}.cp-header-unit{color:var(--cp-text-muted);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;max-width:25%;font-size:.9375rem;font-weight:400;overflow:hidden}.cp-header-lesson{color:var(--cp-text-muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.9375rem;font-weight:400;overflow:hidden}.cp-header-actions{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.cp-header-link,.cp-header-admin-link{color:var(--cp-text-muted);border:1px solid var(--cp-border);white-space:nowrap;border-radius:4px;padding:.3rem .75rem;font-size:.8125rem;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s}.cp-header-link:hover{background:var(--cp-bg-hover);color:var(--cp-text);border-color:var(--cp-text-dim)}.cp-header-admin-link{color:var(--cp-accent-subtle);border-color:var(--cp-accent)}.cp-header-admin-link:hover{background:var(--cp-accent-hover);color:var(--cp-text);border-color:var(--cp-accent-subtle)}.cp-body{flex:1;min-height:0;display:flex;overflow:hidden}.cp-sidebar-wrapper{background:var(--cp-bg);border-left:1px solid var(--cp-border);flex-shrink:0;order:2;width:360px;transition:width .2s,opacity .2s;overflow-y:auto}.cp-sidebar-hidden{opacity:0;pointer-events:none;width:0;overflow:hidden}.cp-sidebar{padding:0}.cp-sidebar-empty{color:var(--cp-text-dim);padding:1rem 1.25rem;font-size:.875rem;font-style:italic}.cp-toc-root,.cp-toc-items{margin:0;padding:0;list-style:none}.cp-toc-root{border-top:1px solid var(--cp-bg-hover);margin-top:.5rem}.cp-toc-section{border-bottom:1px solid var(--cp-bg-hover)}.cp-toc-overview-btn{background:var(--cp-bg-secondary);border:none;border-left:4px solid #0000;border-bottom:1px solid var(--cp-border);cursor:pointer;width:100%;color:var(--cp-text);text-align:left;align-items:center;gap:.5rem;padding:.875rem 1.25rem .875rem calc(1.25rem - 4px);font-size:.8125rem;font-weight:600;transition:background-color .12s;display:flex}.cp-toc-overview-btn:hover{background:var(--cp-bg-hover)}.cp-toc-overview-btn--selected{background:var(--cp-bg-hover);border-left:4px solid var(--cp-accent)}.cp-toc-section-btn{background:var(--cp-bg-secondary);cursor:pointer;width:100%;padding:.875rem 1.25rem;padding-left:calc(1.25rem + var(--depth,0) * 1rem - 4px);color:var(--cp-text);text-align:left;border:none;border-left:4px solid #0000;align-items:center;gap:.5rem;font-size:.8125rem;font-weight:700;transition:background-color .12s;display:flex}.cp-toc-section-btn:hover{background:var(--cp-bg-hover)}.cp-toc-section-btn:focus-visible{outline:2px solid var(--cp-accent);outline-offset:-2px}.cp-toc-chevron{width:.75rem;color:var(--cp-text-muted);flex-shrink:0;font-size:.625rem}.cp-toc-section-title{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.cp-toc-item-btn{cursor:pointer;width:100%;padding:.75rem 1.25rem;padding-left:calc(1.25rem + (var(--depth,0) + 1) * 1rem - 4px);color:var(--cp-text);text-align:left;background:0 0;border:none;border-left:4px solid #0000;align-items:flex-start;gap:.5rem;font-size:.8125rem;line-height:1.4;transition:background-color .12s,border-color .12s;display:flex}.cp-toc-item-btn--folder{padding-left:calc(1.25rem + (var(--depth,0) + 1) * 1rem - 4px);font-weight:600}.cp-toc-item-btn:hover{background:var(--cp-bg-hover)}.cp-toc-item-btn:focus-visible{outline:2px solid var(--cp-accent);outline-offset:-2px}.cp-toc-item-selected{background:var(--cp-bg-hover);border-left-color:var(--cp-accent);color:var(--cp-text);font-weight:600}.cp-toc-item-icon{flex-shrink:0;margin-top:.1rem;font-size:.875rem}.cp-toc-item-title{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.cp-toc-item-type{color:var(--cp-text-dim);flex-shrink:0;font-size:.6875rem}.cp-toc-assignment-docs{padding-left:1rem}.cp-toc-item-btn--doc{padding-left:calc(1.25rem + (var(--depth,0) + 2) * 1rem)}.cp-toc-assignment-doc-loading,.cp-toc-assignment-doc-empty{color:var(--cp-text-dim);padding:.5rem 1.25rem .5rem 2.5rem;font-size:.75rem;font-style:italic}.cp-assignment-details{flex-direction:column;align-items:flex-start;max-width:600px;margin:0 auto;padding:2.5rem;display:flex}.cp-assignment-details-loading{justify-content:center;align-items:center;height:100%;display:flex}.cp-assignment-details-error{color:#f87171;font-size:.9rem}.cp-assignment-details-title{color:var(--cp-text);margin:0 0 .75rem;font-size:1.5rem;font-weight:700}.cp-assignment-details-desc{color:var(--cp-text-muted);margin:0 0 1.5rem;font-size:.9rem;line-height:1.6}.cp-assignment-details-meta{flex-direction:column;gap:.5rem;width:100%;margin-bottom:2rem;display:flex}.cp-assignment-details-row{align-items:center;gap:.5rem;display:flex}.cp-assignment-details-label{color:var(--cp-text-dim);min-width:140px;font-size:.8rem;font-weight:600}.cp-assignment-details-value{color:var(--cp-text);font-size:.85rem}.cp-assignment-details-value--late{color:#fbbf24}.cp-assignment-details-submit-link{color:#fff;background:var(--cp-accent);border-radius:6px;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .15s;display:inline-flex}.cp-assignment-details-submit-link:hover{background:var(--cp-accent-hover)}.cp-viewport--assignment .assignment-page{box-sizing:border-box;width:100%;max-width:960px;margin:0 auto;padding:1.25rem 1.5rem}.cp-viewport--assignment>*{width:100%}.cp-viewport--assignment .assignment-header .back-link{display:none}.cp-assignment-doc-viewer{box-sizing:border-box;flex-direction:column;align-items:center;height:100%;display:flex}.cp-assignment-doc-canvas{flex:1;max-width:100%;max-height:calc(100% - 60px)}.cp-main{background:var(--cp-bg);flex-direction:column;flex:1;order:1;min-width:0;min-height:0;display:flex;overflow:hidden}.cp-shell{min-height:0;color:var(--cp-text);flex-direction:column;flex:1;display:flex}.cp-main:not(:has(.cp-shell--fullscreen)){overflow-y:auto}.cp-viewport{flex:1;min-height:0;overflow:hidden}.cp-shell:not(.cp-shell--fullscreen) .cp-viewport{box-sizing:border-box;width:100%;max-width:960px;margin:0 auto;padding:2rem 2.5rem;overflow-y:auto}.cp-shell--fullscreen .cp-viewport{flex-direction:column;display:flex;overflow:hidden}.cp-shell--fullscreen .cp-viewport--assignment{overflow:hidden auto}.cp-viewport--assignment{background:var(--cp-bg);scrollbar-width:thin;scrollbar-color:#00000026 transparent}.cp-viewport--assignment::-webkit-scrollbar{width:6px}.cp-viewport--assignment::-webkit-scrollbar-track{background:0 0}.cp-viewport--assignment::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}.cp-viewport--assignment::-webkit-scrollbar-thumb:hover{background:#0000004d}.cp-shell--fullscreen .cp-viewport>*{flex:1;min-height:0}.cp-viewport--video{padding:16px;overflow:hidden}.cp-viewport--video .cv-video-container{aspect-ratio:16/9;width:100%;height:auto;max-height:calc(100vh - 148px)}.cp-content-nav{border-top:1px solid var(--cp-bg-hover);flex-shrink:0;justify-content:space-between;align-items:stretch;gap:1rem;padding:.75rem 1rem;display:flex}.cp-content-empty{flex:1;justify-content:center;align-items:center;display:flex}.cp-empty-hint{text-align:center;flex-direction:column;align-items:center;gap:.75rem;display:flex}.cp-empty-icon{opacity:.4;font-size:3rem}.cp-empty-hint p{color:var(--cp-text-dim);margin:0;font-size:1.0625rem}.cp-content-header{border-bottom:1px solid var(--cp-bg-hover);flex-shrink:0;margin-bottom:1.5rem;padding:2rem 2.5rem 1.25rem}.cp-content-meta{margin-bottom:.625rem}.cp-content-type-badge{color:var(--cp-text-muted);background:var(--cp-bg-secondary);border:1px solid var(--cp-bg-hover);border-radius:9999px;align-items:center;gap:.3rem;padding:.2rem .6rem;font-size:.75rem;display:inline-flex}.cp-content-title{color:var(--cp-text);margin:0 0 .5rem;font-size:1.625rem;font-weight:700;line-height:1.3}.cp-content-description{color:var(--cp-text-muted);margin:0;font-size:.9375rem;line-height:1.6}.cp-content-body{min-height:200px}.cp-content-body--video{padding:16px}.cp-content-body--video .cv-video-container{aspect-ratio:16/9;width:100%;height:auto;max-height:calc(100vh - 88px)}.cp-content-nav{border-top:1px solid var(--cp-bg-hover);justify-content:space-between;align-items:stretch;gap:1rem;margin-top:2.5rem;padding-top:1.5rem;display:flex}.cp-nav-btn{background:var(--cp-bg-secondary);border:1px solid var(--cp-bg-hover);cursor:pointer;text-align:left;max-width:45%;color:var(--cp-text);border-radius:4px;align-items:center;gap:.75rem;padding:.875rem 1.125rem;font-size:.875rem;transition:background-color .15s,border-color .15s;display:flex}.cp-nav-btn:hover{background:var(--cp-bg-hover);border-color:var(--cp-text-dim)}.cp-nav-btn:focus-visible{outline:2px solid var(--cp-accent);outline-offset:2px}.cp-nav-next{text-align:right;flex-direction:row-reverse;margin-left:auto}.cp-nav-label{flex-direction:column;min-width:0;display:flex}.cp-nav-hint{text-transform:uppercase;letter-spacing:.06em;color:var(--cp-text-dim);margin-bottom:.125rem;font-size:.6875rem}.cp-nav-title{color:var(--cp-text);text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:500;overflow:hidden}.cp-loading{background:var(--cp-bg);height:100vh;color:var(--cp-text-muted);justify-content:center;align-items:center;gap:.75rem;font-size:.9375rem;display:flex}.cp-spinner{border:3px solid var(--cp-bg-hover);border-top-color:var(--cp-accent);border-radius:50%;width:1.75rem;height:1.75rem;animation:.7s linear infinite cp-spin}@keyframes cp-spin{to{transform:rotate(360deg)}}.cp-error-page{background:var(--cp-bg);text-align:center;height:100vh;color:var(--cp-text);flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:2rem;display:flex}.cp-error-page h2{color:#f87171;margin:0}.cp-error-page p{color:var(--cp-text-muted);margin:0}.cp-error-link{color:var(--cp-accent-subtle);border:1px solid var(--cp-accent);background:var(--cp-bg-secondary);border-radius:4px;padding:.375rem .875rem;font-size:.9rem;text-decoration:none;transition:background-color .15s}.cp-error-link:hover{background:var(--cp-bg-hover)}@media (width<=767px){.cp-sidebar-wrapper{z-index:20;position:fixed;inset:56px 0 0 auto;box-shadow:-2px 0 12px #0006}.cp-sidebar-hidden{width:0;box-shadow:none}.cp-content-pane{padding:1.25rem 1rem 3rem}}.cp-toc-item-btn--locked{color:#767676;opacity:.85}.cp-toc-item-btn--locked:hover{color:#595959}.cp-lock-icon{vertical-align:middle;font-size:.875rem;line-height:inherit;flex-shrink:0;margin-right:.375rem;display:inline-block}.cp-unlock-criteria-panel{text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1rem;width:100%;max-width:960px;padding:3rem 2rem;display:flex;box-shadow:0 1px 3px #0000000f}.cp-unlock-criteria-panel:before{content:"🔒";margin-bottom:.25rem;font-size:2.5rem;line-height:1}.cp-unlock-criteria-panel h2{color:#1f2937;margin:0 0 .5rem;font-size:1.125rem;font-weight:600}.cp-unlock-criteria-panel__message{color:#4b5563;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;width:100%;margin:0;padding:.875rem 1.25rem;font-size:.9375rem;line-height:1.6}.cp-unlock-criteria-panel__both-conditions{flex-direction:column;gap:.5rem;display:flex}.cp-unlock-criteria-panel__both-label{color:#92400e;background:#fef3c7;border:1px solid #f59e0b;border-radius:6px;margin:0;padding:.5rem .875rem;font-size:.875rem;font-weight:600}.cp-course-intro{box-sizing:border-box;justify-content:center;align-items:flex-start;width:100%;max-width:960px;min-height:100%;margin:0 auto;padding:2rem 2.5rem;display:flex;overflow-y:auto}.cp-intro-content{flex-direction:column;gap:1.5rem;width:100%;max-width:100%;display:flex}.cp-intro-title{color:var(--cp-text);margin:0;font-size:2rem;font-weight:700;line-height:1.2}.cp-intro-description{color:var(--cp-text-muted);margin:0;font-size:1.0625rem;line-height:1.65}.cp-intro-meta{background:var(--cp-bg-secondary);border:1px solid var(--cp-border);border-radius:10px;flex-wrap:wrap;gap:1rem 2rem;padding:1rem 1.25rem;display:flex}.cp-intro-meta-item{flex-direction:column;gap:2px;display:flex}.cp-intro-meta-label{text-transform:uppercase;letter-spacing:.05em;color:var(--cp-text-dim);font-size:.75rem;font-weight:600}.cp-intro-meta-value{color:var(--cp-text);font-size:.9375rem;font-weight:500}.cp-intro-sections{flex-direction:column;gap:.75rem;display:flex}.cp-intro-sections-title{color:var(--cp-text);margin:0;font-size:1rem;font-weight:600}.cp-intro-sections-list{flex-direction:column;gap:.375rem;margin:0;padding:0;list-style:none;display:flex}.cp-intro-section-item{background:var(--cp-bg-secondary);border:1px solid var(--cp-border);border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;padding:.625rem .875rem;font-size:.9375rem;display:flex}.cp-intro-section-name{color:var(--cp-text);font-weight:500}.cp-intro-section-count{color:var(--cp-text-muted);white-space:nowrap;flex-shrink:0;font-size:.8125rem}.cp-intro-start-btn{background:var(--cp-accent);color:#fff;cursor:pointer;border:none;border-radius:8px;align-self:flex-start;padding:.75rem 2rem;font-size:1rem;font-weight:600;transition:background .15s}.cp-intro-start-btn:hover{background:var(--cp-accent-hover)}.cp-intro-start-btn:focus-visible{outline:2px solid var(--cp-accent);outline-offset:3px}.cp-intro-empty{color:var(--cp-text-muted);margin:0;font-size:.9375rem}@media (width<=640px){.cp-course-intro{padding:1.5rem 1rem}.cp-intro-title{font-size:1.5rem}}.cp-assignments-section{border-top:1px solid var(--cp-bg-hover);margin-top:.5rem}.cp-assignments-section-btn{background:var(--cp-bg-secondary);cursor:pointer;width:100%;color:var(--cp-text);text-align:left;border:none;border-left:4px solid #0000;align-items:center;gap:.5rem;padding:.875rem 1.25rem .875rem calc(1.25rem - 4px);font-size:.8125rem;font-weight:700;transition:background-color .12s;display:flex}.cp-assignments-section-btn:hover{background:var(--cp-bg-hover)}.cp-assignments-section-btn:focus-visible{outline:2px solid var(--cp-accent);outline-offset:-2px}.cp-assignments-count{color:var(--cp-text-muted);background:var(--cp-bg-hover);border-radius:9999px;margin-left:auto;padding:.125rem .5rem;font-size:.6875rem;font-weight:600}.cp-assignments-list{margin:0;padding:0;list-style:none}.cp-assignment-item{border-bottom:1px solid var(--cp-bg-secondary)}.cp-assignment-link{color:var(--cp-text);cursor:pointer;text-align:left;width:100%;font:inherit;background:0 0;border:none;align-items:flex-start;gap:.75rem;padding:.75rem 1.25rem;text-decoration:none;transition:background-color .12s;display:flex}.cp-assignment-link:hover{background:var(--cp-bg-hover)}.cp-assignment-link:focus-visible{outline:2px solid var(--cp-accent);outline-offset:-2px}.cp-assignment-icon{flex-shrink:0;margin-top:.1rem;font-size:.875rem}.cp-assignment-info{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.cp-assignment-title{color:var(--cp-text);text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;font-weight:500;overflow:hidden}.cp-assignment-meta{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.cp-assignment-status{text-transform:uppercase;letter-spacing:.04em;border-radius:3px;padding:.125rem .375rem;font-size:.6875rem;font-weight:600}.cp-assignment-status--upcoming{color:#fbbf24;background:#fbbf241f}.cp-assignment-status--open{color:#34d399;background:#34d3991f}.cp-assignment-status--closed{color:var(--cp-text-muted);background:#9ca3af1f}.cp-assignment-due,.cp-assignment-opens{color:var(--cp-text-dim);font-size:.6875rem}.cp-viewport--assignment .assignment-header h1{color:var(--cp-text)}.cp-viewport--assignment .assignment-description{color:var(--cp-text-muted)}.cp-viewport--assignment .submission-window,.cp-viewport--assignment .assignment-documents,.cp-viewport--assignment .dropbox-card,.cp-viewport--assignment .my-submissions-section{background-color:var(--cp-bg-secondary);border-color:var(--cp-border)}.cp-viewport--assignment .submission-window h2,.cp-viewport--assignment .assignment-documents h2,.cp-viewport--assignment .assignment-dropboxes h2,.cp-viewport--assignment .my-submissions-section h2,.cp-viewport--assignment .dropbox-name{color:var(--cp-text)}.cp-viewport--assignment .window-date-label,.cp-viewport--assignment .document-size,.cp-viewport--assignment .dropbox-description,.cp-viewport--assignment .dropbox-submission-status,.cp-viewport--assignment .my-submission-status{color:var(--cp-text-muted)}.cp-viewport--assignment .window-date-value,.cp-viewport--assignment .document-name,.cp-viewport--assignment .my-submission-dropbox-name{color:var(--cp-text)}.cp-viewport--assignment .document-item,.cp-viewport--assignment .my-submission-item{background-color:var(--cp-bg-hover);border-color:var(--cp-border)}.cp-viewport--assignment .document-page-btn{background-color:var(--cp-bg-secondary);border-color:var(--cp-border);color:var(--cp-text)}.cp-viewport--assignment .document-page-btn:hover:not(:disabled){background-color:var(--cp-bg-hover)}.cp-viewport--assignment .document-page-info{color:var(--cp-text-muted)}.cp-viewport--assignment .upload-area{border-color:var(--cp-border);background-color:var(--cp-bg-secondary)}.cp-viewport--assignment .document-viewer{background-color:var(--cp-bg-secondary);border-color:var(--cp-border)}.cp-root--dark .cp-unlock-criteria-panel{background:var(--cp-bg-secondary);border-color:var(--cp-border)}.cp-root--dark .cp-unlock-criteria-panel h2{color:var(--cp-text)}.cp-root--dark .cp-unlock-criteria-panel__message{color:var(--cp-text-muted);background:var(--cp-bg-hover);border-color:var(--cp-border)}.cp-root--dark .cp-unlock-criteria-panel__both-label{color:#fbbf24;background:#fbbf241f;border-color:#fbbf244d}.cp-assignment-doc-viewer .cv-nav-progress{color:var(--cp-text-muted)}.cp-root--light .ev-root{background:var(--cp-bg);color:var(--cp-text)}.cp-root--light .ev-intro-title{color:var(--cp-text)}.cp-root--light .ev-intro-desc{color:var(--cp-text-muted)}.cp-root--light .ev-intro-meta-item{background:var(--cp-bg-secondary);border-color:var(--cp-border)}.cp-root--light .ev-intro-meta-label{color:var(--cp-text-dim)}.cp-root--light .ev-intro-meta-value{color:var(--cp-text)}.cp-root--light .ev-intro-progress-note{color:#2563eb;background:#2563eb14;border-color:#2563eb33}.cp-root--light .ev-empty{color:var(--cp-text-dim)}.cp-root--light .ev-q-number{color:var(--cp-text-muted)}.cp-root--light .ev-q-points{color:var(--cp-text-dim);background:var(--cp-bg-secondary);border-color:var(--cp-border)}.cp-root--light .ev-q-text{color:var(--cp-text)}.cp-root--light .ev-option{background:var(--cp-bg-secondary);border-color:var(--cp-border);color:var(--cp-text)}.cp-root--light .ev-option:hover:not(:has(input:disabled)){background:var(--cp-bg-hover);border-color:var(--cp-text-dim)}.cp-root--light .ev-option--selected{background:#2563eb0f;border-color:#2563eb}.cp-root--light .ev-option--correct-answer{background:#4ade8040;border-color:#4ade80}.cp-root--light .ev-option--wrong-pick{background:#f8717140;border-color:#f87171}.cp-root--light .ev-q-result-badge--correct{color:#16a34a;background:#dcfce7;border-color:#86efac}.cp-root--light .ev-q-result-badge--incorrect{color:#dc2626;background:#fee2e2;border-color:#fca5a5}.cp-root--light .ev-back-to-intro-btn{color:#fff;background:#2563eb;border-color:#2563eb}.cp-root--light .ev-back-to-intro-btn:hover{background:#1d4ed8;border-color:#1d4ed8}.cp-root--light .ev-inline-nav-btn{color:#374151;background:#fff;border-color:#d1d5db}.cp-root--light .ev-inline-nav-btn--primary{color:#fff;background:#2563eb;border-color:#2563eb}.cp-root--light .ev-inline-nav-btn--primary:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8}.cp-root--light .ev-inline-nav-btn:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.cp-root--light .ev-answer-review-table-wrap{border-color:#e5e7eb}.cp-root--light .ev-answer-review-table th{color:#374151;background:#f9fafb;border-bottom-color:#e5e7eb}.cp-root--light .ev-answer-review-table td{color:#1f2937;border-bottom-color:#f3f4f6}.cp-root--light .ev-answer-review-unanswered{background:#eab3080f}.cp-root--light .ev-answer-review-badge--answered{color:#16a34a;background:#dcfce7}.cp-root--light .ev-answer-review-badge--unanswered{color:#a16207;background:#fef9c3}.cp-root--light .ev-short-answer-input{background:var(--cp-bg-secondary);border-color:var(--cp-border);color:var(--cp-text)}.cp-root--light .ev-short-answer-input:disabled{background:var(--cp-bg-hover);color:var(--cp-text-dim)}.cp-root--light .ev-explanation{background:var(--cp-bg-secondary);color:var(--cp-text-muted)}.cp-root--light .ev-summary-title{color:var(--cp-text)}.cp-root--light .ev-summary-desc{color:var(--cp-text-muted)}.cp-root--light .ev-summary-meta{color:var(--cp-text-dim)}.cp-root--light .ev-summary-answered{color:var(--cp-text-muted)}.cp-root--light .ev-summary-hint{color:var(--cp-text-dim)}.cp-root--light .ev-nav{border-top-color:var(--cp-border);background:#ffffffd9}.cp-root--light .ev-nav-btn{color:var(--cp-text);border-color:var(--cp-border);background:#f9fafbcc}.cp-root--light .ev-nav-btn:hover{background:var(--cp-accent);color:#fff;border-color:var(--cp-accent)}.cp-root--light .ev-nav-progress{color:var(--cp-text-muted)}.cp-root--light .ev-nav-item-hint{color:var(--cp-text-dim)}.cp-root--light .ev-nav-item-title{color:var(--cp-text)}.cp-root--light .ev-modal{border-color:var(--cp-border);background:#fff}.cp-root--light .ev-modal-title{color:var(--cp-text)}.cp-root--light .ev-modal-body{color:var(--cp-text-muted)}.cp-root--light .ev-modal-leave-btn{border-color:var(--cp-border);color:var(--cp-text-muted)}.cp-root--light .ev-modal-leave-btn:hover{background:var(--cp-bg-hover);color:var(--cp-text)}.cp-root--light .ev-review-overlay{background:var(--cp-bg);color:var(--cp-text)}.cp-root--light .ev-review-close-btn{border-color:var(--cp-border);color:var(--cp-text-muted)}.cp-root--light .ev-review-close-btn:hover{background:var(--cp-bg-hover);color:var(--cp-text)}.cp-root--light .ev-review-progress{color:var(--cp-text-muted)}.cp-root--light .ev-review-progress-bar{background:var(--cp-border)}.cp-root--light .ev-review-tally{color:var(--cp-text-muted)}.cp-root--light .ev-review-opt{border-color:var(--cp-border);background:var(--cp-bg-secondary)}.cp-root--light .ev-review-question-card.ev-review-correct{background:#f0fdf4;border-color:#86efac}.cp-root--light .ev-review-question-card.ev-review-incorrect{background:#fef2f2;border-color:#fca5a5}.cp-root--light .ev-review-explanation{color:#1d4ed8;background:#eff6ff;border-left-color:#3b82f6}.cp-root--light .ev-review-nav-btn{background:var(--cp-bg-secondary);color:var(--cp-text);border-color:var(--cp-border)}.cp-root--light .ev-review-nav-btn:hover:not(:disabled){background:var(--cp-bg-hover)}.cp-root--light .ev-review-outcomes{border-top-color:var(--cp-border)}.cp-root--light .ev-review-outcomes-title{color:var(--cp-text-dim)}.cp-root--light .ev-review-outcome-item{color:#1e40af;background:#eff6ff}.cp-root--light .ev-review-outcome-ref{color:#2563eb}.cp-root--light .cv-loading,.cp-root--light .cv-loading-text{color:var(--cp-text-muted)}.cp-root--light .cv-spinner{border-color:var(--cp-border);border-top-color:var(--cp-accent)}.cp-root--light .cv-nav{border-top-color:var(--cp-border);background:#ffffffe6}.cp-root--light .cv-nav-btn{color:var(--cp-text);border-color:var(--cp-border);background:#f9fafbe6}.cp-root--light .cv-nav-btn:hover{background:var(--cp-accent);color:#fff;border-color:var(--cp-accent)}.cp-root--light .cv-nav-btn:focus:not(:focus-visible),.cp-root--light .cv-nav-btn:disabled:hover{border-color:var(--cp-border);color:var(--cp-text);background:#f9fafbe6}.cp-root--light .cv-nav-progress{color:var(--cp-text-muted)}.cp-root--light .cv-nav-item-hint{color:var(--cp-text-dim)}.cp-root--light .cv-nav-item-title{color:var(--cp-text)}.cp-root--light .cv-pdf{background:#e5e7eb}.cp-root--light .cv-pdf--presentation,.cp-root--light .cv-pdf-canvas-slide{background:#f3f4f6}.cp-root--light .pdf-canvas{box-shadow:0 4px 32px #00000026}.cp-root--light .cv-legacy-google{background:var(--cp-bg)}.cp-root--light .rtsv-root{background:var(--cp-bg);color:var(--cp-text)}.cp-root--light .rtsv-slide-content .ProseMirror,.cp-root--light .rtsv-slide-content .ProseMirror h1,.cp-root--light .rtsv-slide-content .ProseMirror h2,.cp-root--light .rtsv-slide-content .ProseMirror h3,.cp-root--light .rtsv-slide-content .ProseMirror h4{color:var(--cp-text)}.cp-root--light .rtsv-slide-content .ProseMirror pre{background:var(--cp-bg-secondary);border-color:var(--cp-border)}.cp-root--light .rtsv-slide-content .ProseMirror code{background:var(--cp-bg-secondary)}.cp-root--light .rtsv-slide-content .ProseMirror blockquote{color:var(--cp-text-muted)}.cp-root--light .rtsv-slide-content .ProseMirror th,.cp-root--light .rtsv-slide-content .ProseMirror td{border-color:var(--cp-border)}.cp-root--light .rtsv-slide-content .ProseMirror th{background:var(--cp-bg-secondary);color:var(--cp-text)}.cp-root--light .rtsv-slide-content .ProseMirror a{color:var(--cp-accent-subtle)}.cp-root--light .rtsv-empty{color:var(--cp-text-dim)}.cp-root--light .rtsv-nav{border-top-color:var(--cp-border);background:#ffffffd9}.cp-root--light .rtsv-nav-btn{color:var(--cp-text);border-color:var(--cp-border);background:#f9fafbcc;border-radius:50%}.cp-root--light .rtsv-nav-btn:hover{background:var(--cp-accent);color:#fff;border-color:var(--cp-accent)}.cp-root--light .rtsv-nav-btn:disabled:hover{border-color:var(--cp-border);color:var(--cp-text);background:#f9fafbcc}.cp-root--light .rtsv-nav-item-hint{color:var(--cp-text-dim)}.cp-root--light .rtsv-nav-item-title{color:var(--cp-text)}.cp-root--light .rtsv-progress-text{color:var(--cp-text-muted)}.cp-root--light .slide-viewer{background:var(--cp-bg-secondary)}.cp-root--light .slide-viewer-empty{background:var(--cp-bg-hover)}.cp-root--light .sv-empty-message{color:var(--cp-text-muted)}.cp-root--light .sv-canvas,.cp-root--light .sv-page-image{box-shadow:0 4px 16px #0000001a}.cp-root--light .sv-nav-bar{background:var(--cp-bg-secondary);border-top-color:var(--cp-border)}.cp-root--light .sv-nav-btn{border-color:var(--cp-border);color:var(--cp-text)}.cp-root--light .sv-nav-btn:hover:not(:disabled){background:var(--cp-bg-hover);border-color:var(--cp-text-dim)}.cp-root--light .sv-slide-counter{color:var(--cp-text)}.cp-root--light .sv-fullscreen-btn{border-color:var(--cp-border);color:var(--cp-text-muted)}.cp-root--light .sv-fullscreen-btn:hover{background:var(--cp-bg-hover);border-color:var(--cp-text-dim);color:var(--cp-text)}.cp-v2-nav{border-top:1px solid var(--cp-v2-bg-hover,#3e4143);background:var(--cp-v2-bg,#1c1d1f);flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;min-height:60px;padding:.75rem 1rem;display:flex}.cp-v2-nav-btn{background:var(--cp-v2-bg-secondary,#2d2f31);border:1px solid var(--cp-v2-bg-hover,#3e4143);cursor:pointer;text-align:left;min-width:120px;max-width:40%;color:var(--cp-v2-text,#d1d7dc);border-radius:4px;align-items:center;gap:.625rem;padding:.75rem 1rem;font-family:inherit;font-size:.875rem;transition:background-color .15s,border-color .15s,opacity .15s;display:flex}.cp-v2-nav-btn:hover:not(:disabled){background:var(--cp-v2-bg-hover,#3e4143);border-color:var(--cp-v2-text-dim,#6a6f73)}.cp-v2-nav-btn:disabled{opacity:.35;cursor:not-allowed}.cp-v2-nav-arrow{color:var(--cp-v2-text-muted,#9ca3af);flex-shrink:0;font-size:1.25rem;line-height:1}.cp-v2-nav-label{flex-direction:column;gap:.1rem;min-width:0;display:flex}.cp-v2-nav-hint{text-transform:uppercase;letter-spacing:.06em;color:var(--cp-v2-text-dim,#6a6f73);white-space:nowrap;font-size:.6875rem}.cp-v2-nav-page-indicator{color:var(--cp-v2-text-muted,#9ca3af);white-space:nowrap;flex-shrink:0;font-size:.9375rem;font-weight:500}@media (width<=480px){.cp-v2-nav-btn{min-width:80px;padding:.625rem .75rem}.cp-v2-nav-title{display:none}}.cp-v2-copy-link-wrapper{align-items:center;display:flex;position:relative}.cp-v2-copy-link-btn{color:var(--cp-v2-text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:.25rem .375rem;font-size:1rem;line-height:1;transition:background-color .15s,color .15s;display:flex}.cp-v2-copy-link-btn:hover{background:var(--cp-v2-bg-hover);color:var(--cp-v2-text)}.cp-v2-copy-link-btn:focus-visible{outline:2px solid var(--cp-v2-accent);outline-offset:2px}.cp-v2-copy-link-toast{white-space:nowrap;background:var(--cp-v2-bg-secondary,#2d2f31);color:var(--cp-v2-text,#d1d7dc);border:1px solid var(--cp-v2-border,#3e4143);pointer-events:none;z-index:100;border-radius:6px;padding:.35rem .75rem;font-size:.8125rem;font-weight:500;animation:.15s ease-out cp-v2-toast-in;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 4px 12px #00000040}@keyframes cp-v2-toast-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.cp-v2-copy-link-modal-backdrop{z-index:1000;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.cp-v2-copy-link-modal{background:var(--cp-v2-bg-secondary,#2d2f31);border:1px solid var(--cp-v2-border,#3e4143);border-radius:10px;flex-direction:column;gap:1rem;width:calc(100% - 2rem);max-width:480px;padding:1.5rem;display:flex;box-shadow:0 8px 32px #0006}.cp-v2-copy-link-modal-title{color:var(--cp-v2-text,#d1d7dc);margin:0;font-size:1.125rem;font-weight:700}.cp-v2-copy-link-modal-desc{color:var(--cp-v2-text-muted,#9ca3af);margin:0;font-size:.9rem;line-height:1.5}.cp-v2-copy-link-modal-input{background:var(--cp-v2-bg,#1c1d1f);width:100%;color:var(--cp-v2-text,#d1d7dc);border:1px solid var(--cp-v2-border,#3e4143);box-sizing:border-box;cursor:text;-webkit-user-select:text;user-select:text;border-radius:6px;padding:.5rem .75rem;font-family:monospace;font-size:.875rem}.cp-v2-copy-link-modal-input:focus{outline:2px solid var(--cp-v2-accent,#2563eb);outline-offset:2px}.cp-v2-copy-link-modal-close{color:var(--cp-v2-text,#d1d7dc);background:var(--cp-v2-bg-hover,#3e4143);border:1px solid var(--cp-v2-border,#3e4143);cursor:pointer;border-radius:6px;align-self:flex-end;padding:.5rem 1.25rem;font-size:.875rem;font-weight:600;transition:background-color .15s}.cp-v2-copy-link-modal-close:hover{background:var(--cp-v2-accent,#2563eb);border-color:var(--cp-v2-accent,#2563eb);color:#fff}.cp-v2-copy-link-modal-close:focus-visible{outline:2px solid var(--cp-v2-accent,#2563eb);outline-offset:2px}.exam-attempt-page{flex-direction:column;gap:1.5rem;display:flex}.exam-attempt-header{flex-direction:column;gap:.75rem;display:flex}.exam-attempt-header .back-link{color:#3b82f6;font-size:.875rem;text-decoration:none}.exam-attempt-header .back-link:hover{text-decoration:underline}.exam-attempt-title-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.exam-attempt-title-row h1{color:#1f2937;margin:0;font-size:1.5rem;font-weight:600}.timer{color:#374151;background-color:#f3f4f6;border-radius:6px;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.9375rem;font-weight:600;display:flex}.timer-warning{color:#dc2626;background-color:#fef2f2;animation:1s infinite pulse}.timer-icon{font-size:1rem}.timer-value{font-variant-numeric:tabular-nums}.exam-progress{flex-direction:column;gap:.375rem;display:flex}.progress-text{color:#6b7280;font-size:.8125rem}.progress-bar{background-color:#e5e7eb;border-radius:2px;height:4px;overflow:hidden}.progress-fill{background-color:#3b82f6;border-radius:2px;height:100%;transition:width .3s}.question-container{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.question-display{flex-direction:column;gap:1.25rem;display:flex}.question-text{color:#1f2937;margin:0;font-size:1.0625rem;font-weight:500;line-height:1.5}.answer-area,.options-list{flex-direction:column;gap:.5rem;display:flex}.option-item{cursor:pointer;border:1px solid #e5e7eb;border-radius:6px;align-items:center;gap:.75rem;padding:.75rem 1rem;transition:border-color .15s,background-color .15s;display:flex}.option-item:hover:not(.disabled){background-color:#f0f9ff;border-color:#93c5fd}.option-item.selected{background-color:#eff6ff;border-color:#3b82f6}.option-item.disabled{cursor:default;opacity:.7}.option-item input[type=radio],.option-item input[type=checkbox]{accent-color:#3b82f6;width:1rem;height:1rem}.option-text{color:#374151;font-size:.9375rem}.short-answer-input{flex-direction:column;gap:.25rem;display:flex}.text-input{box-sizing:border-box;border:1px solid #d1d5db;border-radius:6px;outline:none;width:100%;padding:.75rem 1rem;font-size:.9375rem;transition:border-color .15s}.text-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.text-input:disabled{cursor:not-allowed;background-color:#f9fafb}.char-count{color:#9ca3af;text-align:right;font-size:.75rem}.code-input{flex-direction:column;gap:.5rem;display:flex}.code-language-badge{color:#6b7280;text-transform:uppercase;background-color:#f3f4f6;border-radius:4px;align-self:flex-start;padding:.25rem .5rem;font-size:.75rem;font-weight:600}.code-textarea{color:#e5e7eb;resize:vertical;box-sizing:border-box;background-color:#1f2937;border:1px solid #d1d5db;border-radius:6px;outline:none;width:100%;padding:1rem;font-family:Fira Code,Courier New,monospace;font-size:.875rem;line-height:1.5}.code-textarea:focus{border-color:#3b82f6}.code-textarea:disabled{opacity:.7;cursor:not-allowed}.submit-answer-btn{color:#fff;cursor:pointer;background-color:#3b82f6;border:none;border-radius:6px;align-self:flex-start;padding:.5rem 1.25rem;font-size:.875rem;font-weight:500;transition:background-color .15s}.submit-answer-btn:hover:not(:disabled){background-color:#2563eb}.submit-answer-btn:disabled{cursor:not-allowed;background-color:#93c5fd}.feedback{border-radius:6px;align-items:flex-start;gap:.75rem;padding:1rem;display:flex}.feedback-correct{background-color:#d1fae5;border:1px solid #6ee7b7}.feedback-incorrect{background-color:#fee2e2;border:1px solid #fca5a5}.feedback-icon{font-size:1.25rem;font-weight:700;line-height:1}.feedback-correct .feedback-icon{color:#065f46}.feedback-incorrect .feedback-icon{color:#991b1b}.feedback-content{flex-direction:column;gap:.25rem;display:flex}.feedback-label{font-size:.9375rem;font-weight:600}.feedback-correct .feedback-label{color:#065f46}.feedback-incorrect .feedback-label{color:#991b1b}.feedback-explanation{color:#374151;margin:0;font-size:.875rem;line-height:1.4}.exam-navigation{justify-content:space-between;align-items:center;padding-top:.5rem;display:flex}.exam-nav-btn{color:#374151;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s,border-color .15s}.exam-nav-btn:hover:not(:disabled){background-color:#f9fafb;border-color:#9ca3af}.exam-nav-btn:disabled{opacity:.5;cursor:not-allowed}.submit-exam-btn{color:#3b82f6;background-color:#0000;border-color:#3b82f6}.submit-exam-btn:hover:not(:disabled){color:#fff;background-color:#3b82f6;border-color:#3b82f6}.exam-results{flex-direction:column;gap:1.5rem;display:flex}.results-summary{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;align-items:center;gap:1rem;padding:2rem;display:flex}.score-display{flex-direction:column;align-items:center;gap:.25rem;display:flex}.score-value{font-size:3rem;font-weight:700}.score-display.passing .score-value{color:#059669}.score-display.failing .score-value{color:#dc2626}.score-label{font-size:1.125rem;font-weight:600}.score-display.passing .score-label{color:#065f46}.score-display.failing .score-label{color:#991b1b}.results-stats{color:#6b7280;flex-direction:column;align-items:center;gap:.25rem;font-size:.875rem;display:flex}.results-details{flex-direction:column;gap:1rem;display:flex}.results-details h2{color:#1f2937;margin:0;font-size:1.25rem;font-weight:600}.result-item{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:.5rem;padding:1rem 1.25rem;display:flex}.result-item.correct{border-left:3px solid #10b981}.result-item.incorrect{border-left:3px solid #ef4444}.result-item-header{justify-content:space-between;align-items:center;display:flex}.result-number{color:#6b7280;font-size:.8125rem;font-weight:600}.result-badge{border-radius:4px;padding:.125rem .5rem;font-size:.75rem;font-weight:600}.result-badge.correct{color:#065f46;background-color:#d1fae5}.result-badge.incorrect{color:#991b1b;background-color:#fee2e2}.result-question-text{color:#374151;margin:0;font-size:.9375rem}.result-explanation{color:#6b7280;margin:0;font-size:.8125rem;font-style:italic}.max-attempts-message{text-align:center;background-color:#fff;border:1px solid #fecaca;border-radius:8px;padding:3rem 1.5rem}.max-attempts-message .attempts-icon{margin-bottom:.75rem;font-size:2rem;display:block}.max-attempts-message p{color:#374151;margin:0;font-size:1rem;font-weight:500}.max-attempts-message .attempts-description{color:#6b7280;margin-top:.5rem;font-size:.875rem;font-weight:400}.back-btn{color:#3b82f6;border:1px solid #3b82f6;border-radius:6px;margin-top:1rem;padding:.5rem 1rem;font-size:.875rem;text-decoration:none;display:inline-block}.back-btn:hover{background-color:#eff6ff}.exam-attempt-page .error-message{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:1rem;font-size:.9375rem}.exam-attempt-page .loading-container{justify-content:center;padding:3rem;display:flex}.exam-attempt-page .loading-spinner{border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;width:2rem;height:2rem;animation:.8s linear infinite spin}.results-review-action{justify-content:center;margin-top:24px;display:flex}.review-answers-btn{color:#fff;background:#2563eb;border-radius:8px;padding:10px 24px;font-size:.95rem;font-weight:500;text-decoration:none;transition:background .15s;display:inline-block}.review-answers-btn:hover{background:#1d4ed8}.exam-intro-section{flex-direction:column;align-items:center;gap:1.5rem;padding:1.5rem 0;display:flex}.exam-intro-banner{background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;flex-direction:column;align-items:center;gap:.75rem;width:100%;max-width:480px;padding:1.5rem;display:flex}.exam-intro-banner-score{flex-direction:column;align-items:center;gap:.125rem;display:flex}.exam-intro-best-score{color:#0369a1;font-size:2.5rem;font-weight:700}.exam-intro-best-label{color:#6b7280;font-size:.8125rem;font-weight:500}.exam-intro-attempt-count{color:#64748b;margin:0;font-size:.875rem}.exam-intro-attempt-date{color:#374151;margin:0;font-size:.875rem}.exam-intro-review-link{font-size:inherit;color:#2563eb;font-weight:500;text-decoration:underline}.exam-intro-review-link:hover{color:#1d4ed8}.exam-intro-start-btn{color:#3b82f6;background-color:#0000;border-color:#3b82f6;min-width:200px;padding:.625rem 1.5rem;font-size:.875rem}.exam-intro-start-btn:hover:not(:disabled){color:#fff;background-color:#3b82f6}.exam-list-page{flex-direction:column;gap:1.5rem;display:flex}.exam-list-header{flex-direction:column;gap:.5rem;display:flex}.exam-list-header h1{color:#1f2937;font-size:1.5rem;font-weight:600}.exam-list-page .back-link{color:#3b82f6;font-size:.875rem;text-decoration:none}.exam-list-page .back-link:hover{text-decoration:underline}.exam-list-page .empty-state{text-align:center;background-color:#fff;border:1px dashed #d1d5db;border-radius:8px;padding:3rem 1.5rem}.exam-list-page .empty-state .empty-icon{margin-bottom:.75rem;font-size:2rem;display:block}.exam-list-page .empty-state p{color:#374151;margin:0;font-size:1rem;font-weight:500}.exam-list-page .empty-state .empty-description{color:#6b7280;margin-top:.5rem;font-size:.875rem;font-weight:400}.exam-list{flex-direction:column;gap:1rem;display:flex}.exam-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.exam-card-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.exam-title{color:#1f2937;margin:0;font-size:1.125rem;font-weight:600}.exam-score-badge{white-space:nowrap;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:600}.exam-score-badge.passing{color:#065f46;background-color:#d1fae5}.exam-score-badge.failing{color:#991b1b;background-color:#fee2e2}.exam-meta{flex-wrap:wrap;gap:1rem;display:flex}.exam-meta-item{color:#6b7280;align-items:center;gap:.25rem;font-size:.8125rem;display:flex}.meta-icon{font-size:.875rem}.exam-card-actions{align-items:center;gap:1rem;margin-top:.25rem;display:flex}.exam-start-btn{color:#fff;background-color:#3b82f6;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background-color .15s;display:inline-block}.exam-start-btn:hover{background-color:#2563eb}.exam-results-link{color:#3b82f6;font-size:.875rem;text-decoration:none}.exam-results-link:hover{text-decoration:underline}.max-attempts-reached{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:4px;padding:.375rem .75rem;font-size:.875rem;font-weight:500}.exam-list-page .error-message{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:1rem;font-size:.9375rem}.exam-results-page{flex-direction:column;gap:1.5rem;display:flex}.exam-results-header{flex-direction:column;gap:.5rem;display:flex}.exam-results-header h1{color:#1f2937;font-size:1.5rem;font-weight:600}.exam-results-page .back-link{color:#3b82f6;font-size:.875rem;text-decoration:none}.exam-results-page .back-link:hover{text-decoration:underline}.exam-results-page .empty-state{text-align:center;background-color:#fff;border:1px dashed #d1d5db;border-radius:8px;padding:3rem 1.5rem}.exam-results-page .empty-state .empty-icon{margin-bottom:.75rem;font-size:2rem;display:block}.exam-results-page .empty-state p{color:#374151;margin:0;font-size:1rem;font-weight:500}.exam-results-page .empty-state .empty-description{color:#6b7280;margin-top:.5rem;font-size:.875rem;font-weight:400}.results-overview{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;gap:1.5rem;padding:1.5rem;display:flex}.overview-stat{flex-direction:column;flex:1;align-items:center;gap:.25rem;display:flex}.stat-value{color:#1f2937;font-size:1.5rem;font-weight:700}.stat-value.passing{color:#059669}.stat-value.failing{color:#dc2626}.stat-label{color:#6b7280;font-size:.8125rem}.attempts-list{flex-direction:column;gap:.75rem;display:flex}.attempts-list h2{color:#1f2937;margin:0;font-size:1.125rem;font-weight:600}.attempt-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:.5rem;padding:1rem 1.25rem;display:flex}.attempt-header{justify-content:space-between;align-items:center;display:flex}.attempt-number{color:#374151;font-size:.9375rem;font-weight:500}.attempt-score{font-size:1rem;font-weight:700}.attempt-score.passing{color:#059669}.attempt-score.failing{color:#dc2626}.attempt-details{color:#6b7280;gap:1rem;font-size:.8125rem;display:flex}.exam-results-page .error-message{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:1rem;font-size:.9375rem}.exam-results-page .loading-container{justify-content:center;padding:3rem;display:flex}.exam-results-page .loading-spinner{border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;width:2rem;height:2rem;animation:.8s linear infinite spin}.exam-replay{max-width:720px;margin:0 auto;padding:24px 16px}.exam-replay-header{align-items:center;gap:16px;margin-bottom:24px;display:flex}.exam-replay-header h1{margin:0;font-size:1.4rem;font-weight:600}.replay-progress{margin-bottom:20px}.replay-progress-text{color:#6b7280;margin-bottom:6px;font-size:.875rem;display:block}.replay-progress-bar{background:#e5e7eb;border-radius:3px;height:6px;overflow:hidden}.replay-progress-fill{background:#2563eb;border-radius:3px;height:100%;transition:width .2s}.replay-card{border:1px solid #e5e7eb;border-radius:12px;margin-bottom:20px;padding:24px}.replay-card-correct{background:#f0fdf4;border-color:#86efac}.replay-card-incorrect{background:#fff7f7;border-color:#fca5a5}.replay-card-badge{margin-bottom:12px}.badge-correct{color:#16a34a;background:#dcfce7;border-radius:20px;padding:3px 10px;font-size:.875rem;font-weight:600;display:inline-block}.badge-incorrect{color:#dc2626;background:#fee2e2;border-radius:20px;padding:3px 10px;font-size:.875rem;font-weight:600;display:inline-block}.replay-question-text{margin:0 0 20px;font-size:1.1rem;font-weight:500;line-height:1.5}.replay-options{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.replay-option{background:#fff;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:10px;padding:10px 14px;font-size:.95rem;display:flex}.option-correct{background:#f0fdf4;border-color:#86efac}.option-wrong-pick{background:#fff1f1;border-color:#fca5a5}.option-indicator{text-align:center;flex-shrink:0;width:20px;font-weight:700}.option-correct .option-indicator{color:#16a34a}.option-wrong-pick .option-indicator{color:#dc2626}.option-text{flex:1}.option-your-pick{color:#dc2626;font-size:.8rem;font-style:italic}.option-correct-label{color:#16a34a;font-size:.8rem;font-style:italic}.replay-short-answer{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.replay-sa-row{background:#fff;border:1px solid #e5e7eb;border-radius:8px;gap:10px;padding:10px 14px;display:flex}.replay-sa-row.sa-correct{background:#f0fdf4;border-color:#86efac}.replay-sa-row.sa-incorrect{background:#fff1f1;border-color:#fca5a5}.sa-label{color:#374151;min-width:120px;font-weight:600}.sa-value{color:#111827}.replay-code-answer{margin-bottom:16px}.replay-code-block{color:#f9fafb;white-space:pre-wrap;word-break:break-word;background:#1f2937;border-radius:8px;margin:6px 0 0;padding:14px;font-size:.85rem;overflow-x:auto}.replay-explanation{color:#374151;background:#f8fafc;border-left:3px solid #93c5fd;border-radius:0 6px 6px 0;margin-top:16px;padding:10px 14px;font-size:.9rem}.replay-outcomes{border-top:1px solid #e5e7eb;margin-top:20px;padding-top:16px}.replay-outcomes-title{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin:0 0 10px;font-size:.875rem;font-weight:600}.replay-outcomes-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.replay-outcome-item{background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;flex-direction:column;gap:2px;padding:8px 12px;display:flex}.replay-outcome-title{color:#1e40af;font-size:.9rem;font-weight:600}.replay-outcome-desc{color:#374151;font-size:.85rem}.replay-nav{justify-content:space-between;gap:12px;display:flex}.replay-nav-btn{color:#374151;cursor:pointer;background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;padding:10px 20px;font-size:.9rem;font-weight:500;transition:background .15s}.replay-nav-btn:hover:not(:disabled){background:#e5e7eb}.replay-nav-btn:disabled{opacity:.4;cursor:not-allowed}.replay-summary-btn{flex:1}.replay-finish-btn{color:#fff;background:#2563eb;border-color:#2563eb}.replay-finish-btn:hover{background:#1d4ed8}.exam-review-summary{box-sizing:border-box;width:100%;max-width:960px;margin:0 auto;padding-top:1.5rem;padding-bottom:1.5rem}.exam-review-header{margin-bottom:1.5rem}.exam-review-header__top{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.exam-review-title{margin:0;font-size:1.5rem;font-weight:600}.exam-review-btn{color:#3b82f6;cursor:pointer;white-space:nowrap;background-color:#0000;border:1px solid #3b82f6;border-radius:6px;padding:.5rem 1rem;font-size:.8125rem;font-weight:500;transition:background-color .15s,color .15s}.exam-review-btn:hover{color:#fff;background-color:#3b82f6}.exam-review-header h1{margin:0;font-size:1.5rem;font-weight:600}.back-link{color:var(--color-primary,#2563eb);white-space:nowrap;font-size:.9rem;text-decoration:none}.back-link:hover{text-decoration:underline}.review-score-banner{border-radius:12px;align-items:center;gap:24px;margin-bottom:28px;padding:20px 24px;display:flex}.review-score-banner.passed{background:#dcfce7;border:1px solid #86efac}.review-score-banner.failed{background:#fee2e2;border:1px solid #fca5a5}.review-score-value{font-size:2.5rem;font-weight:700;line-height:1}.review-score-banner.passed .review-score-value{color:#16a34a}.review-score-banner.failed .review-score-value{color:#dc2626}.review-score-label{min-width:60px;font-size:1.1rem;font-weight:600}.review-score-stats{color:#374151;flex-direction:column;gap:4px;font-size:.875rem;display:flex}.review-table-wrapper{border:1px solid #e5e7eb;border-radius:8px;margin-bottom:24px;overflow-x:auto}.review-table{border-collapse:collapse;width:100%;font-size:.9rem}.review-table th{text-align:left;white-space:nowrap;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:10px 14px;font-weight:600}.review-table td{vertical-align:middle;border-bottom:1px solid #f3f4f6;padding:10px 14px}.review-table tbody tr:last-child td{border-bottom:none}.row-correct{background:#f0fdf4}.row-incorrect{background:#fff7f7}.col-num{text-align:center;width:40px;font-weight:600}.col-question{max-width:280px}.col-answer,.col-correct{word-break:break-word;max-width:180px}.col-result{text-align:center;width:60px}.col-marks{text-align:right;width:70px;font-weight:500}.result-badge{border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.9rem;font-weight:700;display:inline-flex}.result-badge.correct{color:#16a34a;background:#dcfce7}.result-badge.incorrect{color:#dc2626;background:#fee2e2}.totals-row{background:#f9fafb}.totals-label{text-align:right;padding-right:14px;font-weight:600}.totals-marks{text-align:right;font-size:1rem;font-weight:700}.review-actions{justify-content:flex-end;gap:12px;display:flex}.review-replay-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:10px 20px;font-size:.95rem;font-weight:500;transition:background .15s}.review-replay-btn:hover{background:#1d4ed8}@media (width<=600px){.review-score-banner{flex-wrap:wrap}.col-answer,.col-correct{display:none}}.exam-review-summary .ev-question-slide{background:0 0;font-size:22px}.exam-review-summary .ev-q-header{margin-bottom:1.25rem}.exam-review-summary .ev-q-number{color:#374151}.exam-review-summary .ev-q-points{color:#6b7280;background:#f3f4f6;border-color:#e5e7eb}.exam-review-summary .ev-q-result-badge{margin-left:auto}.exam-review-summary .ev-q-result-badge--correct{color:#16a34a;background:#dcfce7;border:1px solid #86efac}.exam-review-summary .ev-q-result-badge--incorrect{color:#dc2626;background:#fee2e2;border:1px solid #fca5a5}.exam-review-summary .ev-q-text{color:#1f2937}.exam-review-summary .ev-option{color:#374151;background:#fff;border-color:#e5e7eb;padding:.75em 1em}.exam-review-summary .ev-option--correct-answer{background:#4ade8033;border-color:#4ade80}.exam-review-summary .ev-option--wrong-pick{background:#f8717133;border-color:#f87171}.exam-review-summary .ev-option--selected{background:#eff6ff;border-color:#2563eb}.exam-review-summary .ev-short-answer-input{color:#1f2937;background:#fff;border-color:#e5e7eb}.exam-review-summary .ev-short-answer-input:disabled{color:#6b7280;background:#f9fafb}.exam-review-summary .ev-explanation{color:#374151;background:#f0f9ff;border-left-color:#2563eb}.review-cards{flex-direction:column;gap:1rem;padding-bottom:2rem;display:flex}.review-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:1rem 1.25rem;transition:box-shadow .15s}.review-card--correct{border-left:4px solid #4ade80}.review-card--incorrect{border-left:4px solid #f87171}.review-card__header{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.review-card__number{color:#6b7280;font-size:.875rem;font-weight:700}.review-card__badge{border-radius:4px;padding:.2rem .5rem;font-size:.75rem;font-weight:600}.review-card__badge--correct{color:#16a34a;background:#dcfce7}.review-card__badge--incorrect{color:#dc2626;background:#fee2e2}.review-card__marks{color:#374151;margin-left:auto;font-size:.875rem;font-weight:600}.review-card__question{color:#1f2937;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:.75rem;padding:.75rem 1rem;font-size:.95rem;line-height:1.5}.review-card__question .le-content-editable{min-height:unset;padding:0}.review-card__question .le-container{background:0 0;border:none}.review-card__row{border:1px solid #f3f4f6;border-radius:6px;align-items:flex-start;gap:.75rem;margin-bottom:.375rem;padding:.5rem 1rem;font-size:.875rem;display:flex}.review-card__label{color:#6b7280;flex-shrink:0;min-width:100px;font-weight:600}.review-card__value{color:#1f2937;word-break:break-word;flex:1}.review-card__value .le-content-editable{min-height:unset;padding:0}.review-card__value .le-container{background:0 0;border:none}.review-cards__total{color:#374151;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;justify-content:space-between;padding:.75rem 1.25rem;font-size:1rem;font-weight:700;display:flex}.assignment-page{flex-direction:column;gap:1rem;display:flex}.assignment-page .back-link{color:#3b82f6;font-size:.875rem;text-decoration:none}.assignment-page .back-link:hover{text-decoration:underline}.assignment-header{flex-direction:column;gap:.5rem;display:flex}.assignment-header h1{color:#1f2937;margin:0;font-size:1.25rem;font-weight:600}.assignment-status-badge{border-radius:9999px;align-items:center;gap:.375rem;width:fit-content;padding:.25rem .625rem;font-size:.75rem;font-weight:600;display:inline-flex}.assignment-status-badge.upcoming{color:#92400e;background-color:#fef3c7}.assignment-status-badge.open{color:#065f46;background-color:#d1fae5}.assignment-status-badge.closed{color:#374151;background-color:#e5e7eb}.assignment-description{color:#4b5563;white-space:pre-wrap;font-size:.9375rem;line-height:1.6}.submission-window{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1rem 1.25rem}.submission-window h2{color:#374151;text-transform:uppercase;letter-spacing:.025em;margin:0 0 .75rem;font-size:.875rem;font-weight:600}.submission-window-dates{flex-direction:column;gap:.5rem;display:flex}.window-date-row{align-items:center;gap:.5rem;font-size:.875rem;display:flex}.window-date-label{color:#6b7280;min-width:100px}.window-date-value{color:#1f2937;font-weight:500}.window-date-value.late-indicator{color:#d97706}.assignment-documents{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:.875rem 1rem}.assignment-documents h2{color:#1f2937;margin:0 0 .625rem;font-size:.875rem;font-weight:600}.document-list{flex-direction:column;gap:.375rem;display:flex}.document-item{background-color:#f9fafb;border:1px solid #f3f4f6;border-radius:6px;justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.document-info{align-items:center;gap:.5rem;display:flex}.document-icon{font-size:1.125rem}.document-name{color:#1f2937;font-size:.875rem;font-weight:500}.document-size{color:#6b7280;margin-left:.5rem;font-size:.75rem}.document-unavailable{color:#9ca3af;font-size:.75rem;font-style:italic}.document-actions{align-items:center;gap:.5rem;display:flex}.document-view-btn{color:#3b82f6;cursor:pointer;background-color:#0000;border:1px solid #3b82f6;border-radius:6px;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;transition:background-color .15s,color .15s}.document-view-btn:hover{color:#fff;background-color:#3b82f6}.document-download-btn{color:#374151;cursor:pointer;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;transition:background-color .15s}.document-download-btn:hover{background-color:#f3f4f6}.document-download-btn:disabled{opacity:.6;cursor:not-allowed}.document-download-error{color:#b91c1c;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.5rem;padding:.625rem 1rem;font-size:.8125rem;display:flex}.document-item-wrapper{flex-direction:column;gap:0;display:flex}.document-viewer{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;flex-direction:column;align-items:center;gap:.75rem;margin-top:.5rem;padding:1rem;display:flex}.document-viewer-loading{color:#6b7280;flex-direction:column;align-items:center;gap:.5rem;padding:2rem 0;font-size:.875rem;display:flex}.document-viewer-error{text-align:center;color:#b91c1c;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;flex-direction:column;align-items:center;gap:.75rem;width:100%;padding:1.5rem;font-size:.875rem;display:flex}.document-viewer-error-icon{font-size:1.25rem}.document-pdf-canvas{width:100%;max-width:100%}.document-viewer-pagination{align-items:center;gap:1rem;padding-top:.5rem;display:flex}.document-page-btn{color:#374151;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;transition:background-color .15s}.document-page-btn:hover:not(:disabled){background-color:#f3f4f6}.document-page-btn:disabled{opacity:.4;cursor:not-allowed}.document-page-info{color:#6b7280;font-size:.8125rem;font-weight:500}.assignment-dropboxes{flex-direction:column;gap:.625rem;display:flex}.assignment-dropboxes h2{color:#1f2937;margin:0;font-size:.875rem;font-weight:600}.dropbox-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:.5rem;padding:.875rem 1rem;display:flex}.dropbox-card-header{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.5rem;display:flex}.dropbox-name{color:#1f2937;margin:0;font-size:.875rem;font-weight:600}.dropbox-description{color:#6b7280;margin:0;font-size:.75rem}.dropbox-constraints{flex-wrap:wrap;gap:.5rem;display:flex}.dropbox-constraint-badge{color:#4b5563;text-transform:uppercase;background-color:#f3f4f6;border-radius:4px;padding:.125rem .5rem;font-size:.6875rem;font-weight:500}.dropbox-submission-status{color:#6b7280;align-items:center;gap:.375rem;font-size:.8125rem;display:flex}.dropbox-submission-status.submitted{color:#065f46}.dropbox-submission-status.late{color:#d97706}.upload-area{cursor:pointer;background-color:#f9fafb;border:2px dashed #d1d5db;border-radius:6px;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem;transition:border-color .15s,background-color .15s;display:flex}.upload-area:hover{background-color:#eff6ff;border-color:#3b82f6}.upload-area-label{color:#3b82f6;font-size:.875rem;font-weight:500}.upload-area-hint{color:#9ca3af;font-size:.75rem}.upload-disabled{cursor:not-allowed;opacity:.6;background-color:#f3f4f6;border-color:#e5e7eb}.upload-disabled:hover{background-color:#f3f4f6;border-color:#e5e7eb}.upload-file-input{opacity:0;width:0;height:0;position:absolute;overflow:hidden}.upload-area.upload-drag-over{background-color:#eff6ff;border-style:solid;border-color:#3b82f6}.upload-progress-container{flex-direction:column;align-items:center;gap:.5rem;width:100%;display:flex}.upload-progress-bar{background-color:#3b82f6;border-radius:3px;align-self:stretch;width:0%;height:6px;transition:width .2s ease-in-out}.upload-progress-text{color:#3b82f6;font-size:.8125rem;font-weight:500}.upload-error{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin:0;padding:.5rem .75rem;font-size:.8125rem}.upload-replace-confirm{background-color:#fffbeb;border:1px solid #fde68a;border-radius:6px;flex-direction:column;gap:.625rem;padding:.75rem 1rem;display:flex}.upload-replace-message{color:#92400e;margin:0;font-size:.8125rem}.upload-replace-actions{gap:.5rem;display:flex}.upload-replace-btn{cursor:pointer;border:none;border-radius:4px;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;transition:background-color .15s}.upload-replace-btn.confirm{color:#fff;background-color:#3b82f6}.upload-replace-btn.confirm:hover{background-color:#2563eb}.upload-replace-btn.cancel{color:#374151;background-color:#e5e7eb}.upload-replace-btn.cancel:hover{background-color:#d1d5db}.late-badge{color:#d97706;text-transform:uppercase;letter-spacing:.025em;background-color:#fef3c7;border-radius:4px;padding:.125rem .5rem;font-size:.6875rem;font-weight:600}.assignment-page .loading-container{justify-content:center;align-items:center;min-height:200px;display:flex}.assignment-page .loading-spinner{border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}.assignment-page .error-message{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:1rem;font-size:.9375rem}.my-submissions-section{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:.875rem 1rem}.my-submissions-section h2{color:#1f2937;margin:0 0 .625rem;font-size:.875rem;font-weight:600}.my-submissions-list{flex-direction:column;gap:.375rem;display:flex}.my-submission-item{background-color:#f9fafb;border:1px solid #f3f4f6;border-radius:6px;justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.my-submission-info{flex-direction:column;gap:.25rem;display:flex}.my-submission-dropbox-name{color:#1f2937;font-size:.875rem;font-weight:500}.my-submission-status{color:#6b7280;font-size:.8125rem}.my-submission-status.submitted{color:#065f46}.my-submission-status.late{color:#d97706}.my-submission-status.not-submitted{color:#6b7280;font-style:italic}.my-submission-download-btn{color:#374151;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;transition:background-color .15s,border-color .15s}.my-submission-download-btn:hover:not(:disabled){background-color:#f3f4f6;border-color:#9ca3af}.my-submission-download-btn:disabled{opacity:.6;cursor:not-allowed}.cp-v2-root{--cp-v2-bg:#1c1d1f;--cp-v2-bg-secondary:#2d2f31;--cp-v2-bg-hover:#3e4143;--cp-v2-border:#3e4143;--cp-v2-text:#d1d7dc;--cp-v2-text-muted:#9ca3af;--cp-v2-text-dim:#6a6f73;--cp-v2-accent:#2563eb;--cp-v2-accent-hover:#1d4ed8;--cp-v2-accent-subtle:#93c5fd;background:var(--cp-v2-bg);height:100vh;color:var(--cp-v2-text);flex-direction:column;display:flex;overflow:hidden}.cp-v2-root--light{--cp-v2-bg:#fff;--cp-v2-bg-secondary:#f9fafb;--cp-v2-bg-hover:#f3f4f6;--cp-v2-border:#e5e7eb;--cp-v2-text:#1f2937;--cp-v2-text-muted:#6b7280;--cp-v2-text-dim:#9ca3af;--cp-v2-accent:#2563eb;--cp-v2-accent-hover:#1d4ed8;--cp-v2-accent-subtle:#3b82f6}.cp-v2-header{background:var(--cp-v2-bg);height:56px;color:var(--cp-v2-text);border-bottom:1px solid var(--cp-v2-border);z-index:10;flex-shrink:0;align-items:center;gap:.75rem;padding:0 1.5rem;display:flex}.cp-v2-sidebar-toggle{color:var(--cp-v2-text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:.25rem .375rem;font-size:1.125rem;line-height:1;transition:background-color .15s,color .15s}.cp-v2-sidebar-toggle:hover{background:var(--cp-v2-bg-hover);color:var(--cp-v2-text)}.cp-v2-sidebar-toggle:focus-visible{outline:2px solid var(--cp-v2-accent);outline-offset:2px}.cp-v2-theme-toggle{color:var(--cp-v2-text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:.25rem .375rem;font-size:1.125rem;line-height:1;transition:background-color .15s,color .15s}.cp-v2-theme-toggle:hover{background:var(--cp-v2-bg-hover);color:var(--cp-v2-text)}.cp-v2-header-back{color:var(--cp-v2-text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:.25rem .375rem;font-size:1.125rem;line-height:1;text-decoration:none;transition:background-color .15s,color .15s}.cp-v2-header-back:hover{background:var(--cp-v2-bg-hover);color:var(--cp-v2-text)}.cp-v2-header-course{flex:1;align-items:center;gap:.4rem;min-width:0;display:flex;overflow:hidden}.cp-v2-header-title{color:var(--cp-v2-text);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;max-width:40%;font-size:.9375rem;font-weight:600;overflow:hidden}.cp-v2-header-sep{color:var(--cp-v2-text-dim);flex-shrink:0;font-size:.875rem}.cp-v2-header-unit{color:var(--cp-v2-text-muted);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;max-width:25%;font-size:.9375rem;font-weight:400;overflow:hidden}.cp-v2-header-lesson{color:var(--cp-v2-text-muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.9375rem;font-weight:400;overflow:hidden}.cp-v2-header-actions{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.cp-v2-header-link,.cp-v2-header-admin-link{color:var(--cp-v2-text-muted);border:1px solid var(--cp-v2-border);white-space:nowrap;border-radius:4px;padding:.3rem .75rem;font-size:.8125rem;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s}.cp-v2-header-link:hover{background:var(--cp-v2-bg-hover);color:var(--cp-v2-text);border-color:var(--cp-v2-text-dim)}.cp-v2-header-admin-link{color:var(--cp-v2-accent-subtle);border-color:var(--cp-v2-accent)}.cp-v2-header-admin-link:hover{background:var(--cp-v2-accent-hover);color:var(--cp-v2-text);border-color:var(--cp-v2-accent-subtle)}.cp-v2-body{flex:1;min-height:0;display:flex;overflow:hidden}.cp-v2-sidebar-wrapper{background:var(--cp-v2-bg);border-left:1px solid var(--cp-v2-border);flex-shrink:0;order:2;width:360px;transition:width .2s,opacity .2s;overflow-y:auto}.cp-v2-sidebar-hidden{opacity:0;pointer-events:none;width:0;overflow:hidden}.cp-v2-sidebar{padding:0}.cp-v2-sidebar-empty{color:var(--cp-v2-text-dim);padding:1rem 1.25rem;font-size:.875rem;font-style:italic}.cp-v2-toc-root,.cp-v2-toc-items{margin:0;padding:0;list-style:none}.cp-v2-toc-root{border-top:1px solid var(--cp-v2-bg-hover);margin-top:.5rem}.cp-v2-toc-section{border-bottom:1px solid var(--cp-v2-bg-hover)}.cp-v2-toc-overview-btn{background:var(--cp-v2-bg-secondary);border:none;border-left:4px solid #0000;border-bottom:1px solid var(--cp-v2-border);cursor:pointer;width:100%;color:var(--cp-v2-text);text-align:left;align-items:center;gap:.5rem;padding:.875rem 1.25rem .875rem calc(1.25rem - 4px);font-size:.8125rem;font-weight:600;transition:background-color .12s;display:flex}.cp-v2-toc-overview-btn:hover{background:var(--cp-v2-bg-hover)}.cp-v2-toc-overview-btn--selected{background:var(--cp-v2-bg-hover);border-left:4px solid var(--cp-v2-accent)}.cp-v2-toc-section-btn{background:var(--cp-v2-bg-secondary);cursor:pointer;width:100%;padding:.875rem 1.25rem;padding-left:calc(1.25rem + var(--depth,0) * 1rem - 4px);color:var(--cp-v2-text);text-align:left;border:none;border-left:4px solid #0000;align-items:center;gap:.5rem;font-size:.8125rem;font-weight:700;transition:background-color .12s;display:flex}.cp-v2-toc-section-btn:hover{background:var(--cp-v2-bg-hover)}.cp-v2-toc-section-btn:focus-visible{outline:2px solid var(--cp-v2-accent);outline-offset:-2px}.cp-v2-toc-chevron{width:.75rem;color:var(--cp-v2-text-muted);flex-shrink:0;font-size:.625rem}.cp-v2-toc-section-title{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.cp-v2-toc-item-btn{cursor:pointer;width:100%;padding:.75rem 1.25rem;padding-left:calc(1.25rem + (var(--depth,0) + 1) * 1rem - 4px);color:var(--cp-v2-text);text-align:left;background:0 0;border:none;border-left:4px solid #0000;align-items:flex-start;gap:.5rem;font-size:.8125rem;line-height:1.4;transition:background-color .12s,border-color .12s;display:flex}.cp-v2-toc-item-btn--folder{padding-left:calc(1.25rem + (var(--depth,0) + 1) * 1rem - 4px);font-weight:600}.cp-v2-toc-item-btn:hover{background:var(--cp-v2-bg-hover)}.cp-v2-toc-item-btn:focus-visible{outline:2px solid var(--cp-v2-accent);outline-offset:-2px}.cp-v2-toc-item-selected{background:var(--cp-v2-bg-hover);border-left-color:var(--cp-v2-accent);color:var(--cp-v2-text);font-weight:600}.cp-v2-toc-item-icon{flex-shrink:0;margin-top:.1rem;font-size:.875rem}.cp-v2-toc-item-title{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.cp-v2-toc-item-type{color:var(--cp-v2-text-dim);flex-shrink:0;font-size:.6875rem}.cp-v2-toc-assignment-docs{padding-left:1rem}.cp-v2-toc-item-btn--doc{padding-left:calc(1.25rem + (var(--depth,0) + 2) * 1rem)}.cp-v2-toc-assignment-doc-loading,.cp-v2-toc-assignment-doc-empty{color:var(--cp-v2-text-dim);padding:.5rem 1.25rem .5rem 2.5rem;font-size:.75rem;font-style:italic}.cp-v2-assignment-details{flex-direction:column;align-items:flex-start;max-width:600px;margin:0 auto;padding:2.5rem;display:flex}.cp-v2-assignment-details-loading{justify-content:center;align-items:center;height:100%;display:flex}.cp-v2-assignment-details-error{color:#f87171;font-size:.9rem}.cp-v2-assignment-details-title{color:var(--cp-v2-text);margin:0 0 .75rem;font-size:1.5rem;font-weight:700}.cp-v2-assignment-details-desc{color:var(--cp-v2-text-muted);margin:0 0 1.5rem;font-size:.9rem;line-height:1.6}.cp-v2-assignment-details-meta{flex-direction:column;gap:.5rem;width:100%;margin-bottom:2rem;display:flex}.cp-v2-assignment-details-row{align-items:center;gap:.5rem;display:flex}.cp-v2-assignment-details-label{color:var(--cp-v2-text-dim);min-width:140px;font-size:.8rem;font-weight:600}.cp-v2-assignment-details-value{color:var(--cp-v2-text);font-size:.85rem}.cp-v2-assignment-details-value--late{color:#fbbf24}.cp-v2-assignment-details-submit-link{color:#fff;background:var(--cp-v2-accent);border-radius:6px;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .15s;display:inline-flex}.cp-v2-assignment-details-submit-link:hover{background:var(--cp-v2-accent-hover)}.cp-v2-viewport--assignment .assignment-page{box-sizing:border-box;width:100%;max-width:960px;margin:0 auto;padding:1.25rem 1.5rem}.cp-v2-viewport--assignment>*{width:100%}.cp-v2-viewport--assignment .assignment-header .back-link{display:none}.cp-v2-assignment-doc-viewer{box-sizing:border-box;flex-direction:column;align-items:center;height:100%;display:flex}.cp-v2-assignment-doc-canvas{flex:1;max-width:100%;max-height:calc(100% - 60px)}.cp-v2-main{background:var(--cp-v2-bg);flex-direction:column;flex:1;order:1;min-width:0;min-height:0;display:flex;overflow:hidden}.cp-v2-shell{min-height:0;color:var(--cp-v2-text);flex-direction:column;flex:1;display:flex}.cp-v2-main:not(:has(.cp-v2-shell--fullscreen)){overflow-y:auto}.cp-v2-viewport{flex:1;min-height:0;overflow:hidden}.cp-v2-shell:not(.cp-v2-shell--fullscreen) .cp-v2-viewport{box-sizing:border-box;width:100%;max-width:960px;margin:0 auto;padding:2rem 2.5rem;overflow-y:auto}.cp-v2-shell--fullscreen .cp-v2-viewport{flex-direction:column;display:flex;overflow:hidden}.cp-v2-shell--fullscreen .cp-v2-viewport--assignment{overflow:hidden auto}.cp-v2-viewport--assignment{background:var(--cp-v2-bg);scrollbar-width:thin;scrollbar-color:#00000026 transparent}.cp-v2-viewport--assignment::-webkit-scrollbar{width:6px}.cp-v2-viewport--assignment::-webkit-scrollbar-track{background:0 0}.cp-v2-viewport--assignment::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}.cp-v2-viewport--assignment::-webkit-scrollbar-thumb:hover{background:#0000004d}.cp-v2-shell--fullscreen .cp-v2-viewport>*{flex:1;min-height:0}.cp-v2-viewport--video{padding:16px;overflow:hidden}.cp-v2-viewport--video .cv-video-container{aspect-ratio:16/9;width:100%;height:auto;max-height:calc(100vh - 148px)}.cp-v2-content-nav{border-top:1px solid var(--cp-v2-bg-hover);flex-shrink:0;justify-content:space-between;align-items:stretch;gap:1rem;padding:.75rem 1rem;display:flex}.cp-v2-content-empty{flex:1;justify-content:center;align-items:center;display:flex}.cp-v2-empty-hint{text-align:center;flex-direction:column;align-items:center;gap:.75rem;display:flex}.cp-v2-empty-icon{opacity:.4;font-size:3rem}.cp-v2-empty-hint p{color:var(--cp-v2-text-dim);margin:0;font-size:1.0625rem}.cp-v2-content-header{border-bottom:1px solid var(--cp-v2-bg-hover);flex-shrink:0;margin-bottom:1.5rem;padding:2rem 2.5rem 1.25rem}.cp-v2-content-meta{margin-bottom:.625rem}.cp-v2-content-type-badge{color:var(--cp-v2-text-muted);background:var(--cp-v2-bg-secondary);border:1px solid var(--cp-v2-bg-hover);border-radius:9999px;align-items:center;gap:.3rem;padding:.2rem .6rem;font-size:.75rem;display:inline-flex}.cp-v2-content-title{color:var(--cp-v2-text);margin:0 0 .5rem;font-size:1.625rem;font-weight:700;line-height:1.3}.cp-v2-content-description{color:var(--cp-v2-text-muted);margin:0;font-size:.9375rem;line-height:1.6}.cp-v2-content-body{min-height:200px}.cp-v2-content-body--video{padding:16px}.cp-v2-content-body--video .cv-video-container{aspect-ratio:16/9;width:100%;height:auto;max-height:calc(100vh - 88px)}.cp-v2-content-nav{border-top:1px solid var(--cp-v2-bg-hover);justify-content:space-between;align-items:stretch;gap:1rem;margin-top:2.5rem;padding-top:1.5rem;display:flex}.cp-v2-nav-btn{background:var(--cp-v2-bg-secondary);border:1px solid var(--cp-v2-bg-hover);cursor:pointer;text-align:left;max-width:45%;color:var(--cp-v2-text);border-radius:4px;align-items:center;gap:.75rem;padding:.875rem 1.125rem;font-size:.875rem;transition:background-color .15s,border-color .15s;display:flex}.cp-v2-nav-btn:hover{background:var(--cp-v2-bg-hover);border-color:var(--cp-v2-text-dim)}.cp-v2-nav-btn:focus-visible{outline:2px solid var(--cp-v2-accent);outline-offset:2px}.cp-v2-nav-next{text-align:right;flex-direction:row-reverse;margin-left:auto}.cp-v2-nav-label{flex-direction:column;min-width:0;display:flex}.cp-v2-nav-hint{text-transform:uppercase;letter-spacing:.06em;color:var(--cp-v2-text-dim);margin-bottom:.125rem;font-size:.6875rem}.cp-v2-nav-title{color:var(--cp-v2-text);text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:500;overflow:hidden}.cp-v2-loading{background:var(--cp-v2-bg);height:100vh;color:var(--cp-v2-text-muted);justify-content:center;align-items:center;gap:.75rem;font-size:.9375rem;display:flex}.cp-v2-spinner{border:3px solid var(--cp-v2-bg-hover);border-top-color:var(--cp-v2-accent);border-radius:50%;width:1.75rem;height:1.75rem;animation:.7s linear infinite cp-v2-spin}@keyframes cp-v2-spin{to{transform:rotate(360deg)}}.cp-v2-error-page{background:var(--cp-v2-bg);text-align:center;height:100vh;color:var(--cp-v2-text);flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:2rem;display:flex}.cp-v2-error-page h2{color:#f87171;margin:0}.cp-v2-error-page p{color:var(--cp-v2-text-muted);margin:0}.cp-v2-error-title{color:#f87171;margin:0;font-size:1.5rem;font-weight:700}.cp-v2-error-message{color:var(--cp-v2-text);max-width:480px;margin:0;font-size:1rem}.cp-v2-error-hint{color:var(--cp-v2-text-muted);max-width:480px;margin:0;font-size:.9rem}.cp-v2-error-link{color:var(--cp-v2-accent-subtle);border:1px solid var(--cp-v2-accent);background:var(--cp-v2-bg-secondary);border-radius:4px;padding:.375rem .875rem;font-size:.9rem;text-decoration:none;transition:background-color .15s}.cp-v2-error-link:hover{background:var(--cp-v2-bg-hover)}.cp-v2-deprecated-notice{text-align:center;color:var(--cp-v2-text);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1rem;padding:3rem 2rem;display:flex}.cp-v2-deprecated-notice__icon{font-size:2.5rem;line-height:1}.cp-v2-deprecated-notice__message{color:var(--cp-v2-text-muted);background:var(--cp-v2-bg-secondary);border:1px solid var(--cp-v2-border);border-radius:8px;max-width:420px;margin:0;padding:.875rem 1.25rem;font-size:1rem;line-height:1.6}@media (width<=767px){.cp-v2-sidebar-wrapper{z-index:20;position:fixed;inset:56px 0 0 auto;box-shadow:-2px 0 12px #0006}.cp-v2-sidebar-hidden{width:0;box-shadow:none}.cp-v2-content-pane{padding:1.25rem 1rem 3rem}}.cp-v2-toc-item-btn--locked{color:#767676;opacity:.85}.cp-v2-toc-item-btn--locked:hover{color:#595959}.cp-v2-lock-icon{vertical-align:middle;font-size:.875rem;line-height:inherit;flex-shrink:0;margin-right:.375rem;display:inline-block}.cp-v2-unlock-criteria-panel{text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1rem;width:100%;max-width:960px;padding:3rem 2rem;display:flex;box-shadow:0 1px 3px #0000000f}.cp-v2-unlock-criteria-panel:before{content:"🔒";margin-bottom:.25rem;font-size:2.5rem;line-height:1}.cp-v2-unlock-criteria-panel h2{color:#1f2937;margin:0 0 .5rem;font-size:1.125rem;font-weight:600}.cp-v2-unlock-criteria-panel__message{color:#4b5563;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;width:100%;margin:0;padding:.875rem 1.25rem;font-size:.9375rem;line-height:1.6}.cp-v2-unlock-criteria-panel__both-conditions{flex-direction:column;gap:.5rem;display:flex}.cp-v2-unlock-criteria-panel__both-label{color:#92400e;background:#fef3c7;border:1px solid #f59e0b;border-radius:6px;margin:0;padding:.5rem .875rem;font-size:.875rem;font-weight:600}.cp-v2-course-intro{box-sizing:border-box;justify-content:center;align-items:flex-start;width:100%;max-width:960px;min-height:100%;margin:0 auto;padding:2rem 2.5rem;display:flex;overflow-y:auto}.cp-v2-intro-content{flex-direction:column;gap:1.5rem;width:100%;max-width:100%;display:flex}.cp-v2-intro-title{color:var(--cp-v2-text);margin:0;font-size:2rem;font-weight:700;line-height:1.2}.cp-v2-intro-description{color:var(--cp-v2-text-muted);margin:0;font-size:1.0625rem;line-height:1.65}.cp-v2-intro-meta{background:var(--cp-v2-bg-secondary);border:1px solid var(--cp-v2-border);border-radius:10px;flex-wrap:wrap;gap:1rem 2rem;padding:1rem 1.25rem;display:flex}.cp-v2-intro-meta-item{flex-direction:column;gap:2px;display:flex}.cp-v2-intro-meta-label{text-transform:uppercase;letter-spacing:.05em;color:var(--cp-v2-text-dim);font-size:.75rem;font-weight:600}.cp-v2-intro-meta-value{color:var(--cp-v2-text);font-size:.9375rem;font-weight:500}.cp-v2-intro-sections{flex-direction:column;gap:.75rem;display:flex}.cp-v2-intro-sections-title{color:var(--cp-v2-text);margin:0;font-size:1rem;font-weight:600}.cp-v2-intro-sections-list{flex-direction:column;gap:.375rem;margin:0;padding:0;list-style:none;display:flex}.cp-v2-intro-section-item{background:var(--cp-v2-bg-secondary);border:1px solid var(--cp-v2-border);border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;padding:.625rem .875rem;font-size:.9375rem;display:flex}.cp-v2-intro-section-name{color:var(--cp-v2-text);font-weight:500}.cp-v2-intro-section-count{color:var(--cp-v2-text-muted);white-space:nowrap;flex-shrink:0;font-size:.8125rem}.cp-v2-intro-start-btn{background:var(--cp-v2-accent);color:#fff;cursor:pointer;border:none;border-radius:8px;align-self:flex-start;padding:.75rem 2rem;font-size:1rem;font-weight:600;transition:background .15s}.cp-v2-intro-start-btn:hover{background:var(--cp-v2-accent-hover)}.cp-v2-intro-start-btn:focus-visible{outline:2px solid var(--cp-v2-accent);outline-offset:3px}.cp-v2-intro-empty{color:var(--cp-v2-text-muted);margin:0;font-size:.9375rem}@media (width<=640px){.cp-v2-course-intro{padding:1.5rem 1rem}.cp-v2-intro-title{font-size:1.5rem}}.cp-v2-assignments-section{border-top:1px solid var(--cp-v2-bg-hover);margin-top:.5rem}.cp-v2-assignments-section-btn{background:var(--cp-v2-bg-secondary);cursor:pointer;width:100%;color:var(--cp-v2-text);text-align:left;border:none;border-left:4px solid #0000;align-items:center;gap:.5rem;padding:.875rem 1.25rem .875rem calc(1.25rem - 4px);font-size:.8125rem;font-weight:700;transition:background-color .12s;display:flex}.cp-v2-assignments-section-btn:hover{background:var(--cp-v2-bg-hover)}.cp-v2-assignments-section-btn:focus-visible{outline:2px solid var(--cp-v2-accent);outline-offset:-2px}.cp-v2-assignments-count{color:var(--cp-v2-text-muted);background:var(--cp-v2-bg-hover);border-radius:9999px;margin-left:auto;padding:.125rem .5rem;font-size:.6875rem;font-weight:600}.cp-v2-assignments-list{margin:0;padding:0;list-style:none}.cp-v2-assignment-item{border-bottom:1px solid var(--cp-v2-bg-secondary)}.cp-v2-assignment-link{color:var(--cp-v2-text);cursor:pointer;text-align:left;width:100%;font:inherit;background:0 0;border:none;align-items:flex-start;gap:.75rem;padding:.75rem 1.25rem;text-decoration:none;transition:background-color .12s;display:flex}.cp-v2-assignment-link:hover{background:var(--cp-v2-bg-hover)}.cp-v2-assignment-link:focus-visible{outline:2px solid var(--cp-v2-accent);outline-offset:-2px}.cp-v2-assignment-icon{flex-shrink:0;margin-top:.1rem;font-size:.875rem}.cp-v2-assignment-info{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.cp-v2-assignment-title{color:var(--cp-v2-text);text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;font-weight:500;overflow:hidden}.cp-v2-assignment-meta{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.cp-v2-assignment-status{text-transform:uppercase;letter-spacing:.04em;border-radius:3px;padding:.125rem .375rem;font-size:.6875rem;font-weight:600}.cp-v2-assignment-status--upcoming{color:#fbbf24;background:#fbbf241f}.cp-v2-assignment-status--open{color:#34d399;background:#34d3991f}.cp-v2-assignment-status--closed{color:var(--cp-v2-text-muted);background:#9ca3af1f}.cp-v2-assignment-due,.cp-v2-assignment-opens{color:var(--cp-v2-text-dim);font-size:.6875rem}.cp-v2-viewport--assignment .assignment-header h1{color:var(--cp-v2-text)}.cp-v2-viewport--assignment .assignment-description{color:var(--cp-v2-text-muted)}.cp-v2-viewport--assignment .submission-window,.cp-v2-viewport--assignment .assignment-documents,.cp-v2-viewport--assignment .dropbox-card,.cp-v2-viewport--assignment .my-submissions-section{background-color:var(--cp-v2-bg-secondary);border-color:var(--cp-v2-border)}.cp-v2-viewport--assignment .submission-window h2,.cp-v2-viewport--assignment .assignment-documents h2,.cp-v2-viewport--assignment .assignment-dropboxes h2,.cp-v2-viewport--assignment .my-submissions-section h2,.cp-v2-viewport--assignment .dropbox-name{color:var(--cp-v2-text)}.cp-v2-viewport--assignment .window-date-label,.cp-v2-viewport--assignment .document-size,.cp-v2-viewport--assignment .dropbox-description,.cp-v2-viewport--assignment .dropbox-submission-status,.cp-v2-viewport--assignment .my-submission-status{color:var(--cp-v2-text-muted)}.cp-v2-viewport--assignment .window-date-value,.cp-v2-viewport--assignment .document-name,.cp-v2-viewport--assignment .my-submission-dropbox-name{color:var(--cp-v2-text)}.cp-v2-viewport--assignment .document-item,.cp-v2-viewport--assignment .my-submission-item{background-color:var(--cp-v2-bg-hover);border-color:var(--cp-v2-border)}.cp-v2-viewport--assignment .document-page-btn{background-color:var(--cp-v2-bg-secondary);border-color:var(--cp-v2-border);color:var(--cp-v2-text)}.cp-v2-viewport--assignment .document-page-btn:hover:not(:disabled){background-color:var(--cp-v2-bg-hover)}.cp-v2-viewport--assignment .document-page-info{color:var(--cp-v2-text-muted)}.cp-v2-viewport--assignment .upload-area{border-color:var(--cp-v2-border);background-color:var(--cp-v2-bg-secondary)}.cp-v2-viewport--assignment .document-viewer{background-color:var(--cp-v2-bg-secondary);border-color:var(--cp-v2-border)}.cp-v2-root--dark .cp-v2-unlock-criteria-panel{background:var(--cp-v2-bg-secondary);border-color:var(--cp-v2-border)}.cp-v2-root--dark .cp-v2-unlock-criteria-panel h2{color:var(--cp-v2-text)}.cp-v2-root--dark .cp-v2-unlock-criteria-panel__message{color:var(--cp-v2-text-muted);background:var(--cp-v2-bg-hover);border-color:var(--cp-v2-border)}.cp-v2-root--dark .cp-v2-unlock-criteria-panel__both-label{color:#fbbf24;background:#fbbf241f;border-color:#fbbf244d}.cp-v2-assignment-doc-viewer .cv-nav-progress{color:var(--cp-v2-text-muted)}.cp-v2-root--light .ev-root{background:var(--cp-v2-bg);color:var(--cp-v2-text)}.cp-v2-root--light .ev-intro-title{color:var(--cp-v2-text)}.cp-v2-root--light .ev-intro-desc{color:var(--cp-v2-text-muted)}.cp-v2-root--light .ev-intro-meta-item{background:var(--cp-v2-bg-secondary);border-color:var(--cp-v2-border)}.cp-v2-root--light .ev-intro-meta-label{color:var(--cp-v2-text-dim)}.cp-v2-root--light .ev-intro-meta-value{color:var(--cp-v2-text)}.cp-v2-root--light .ev-intro-progress-note{color:#2563eb;background:#2563eb14;border-color:#2563eb33}.cp-v2-root--light .ev-empty{color:var(--cp-v2-text-dim)}.cp-v2-root--light .ev-q-number{color:var(--cp-v2-text-muted)}.cp-v2-root--light .ev-q-points{color:var(--cp-v2-text-dim);background:var(--cp-v2-bg-secondary);border-color:var(--cp-v2-border)}.cp-v2-root--light .ev-q-text{color:var(--cp-v2-text)}.cp-v2-root--light .ev-option{background:var(--cp-v2-bg-secondary);border-color:var(--cp-v2-border);color:var(--cp-v2-text)}.cp-v2-root--light .ev-option:hover:not(:has(input:disabled)){background:var(--cp-v2-bg-hover);border-color:var(--cp-v2-text-dim)}.cp-v2-root--light .ev-option--selected{background:#2563eb0f;border-color:#2563eb}.cp-v2-root--light .ev-option--correct-answer{background:#4ade8040;border-color:#4ade80}.cp-v2-root--light .ev-option--wrong-pick{background:#f8717140;border-color:#f87171}.cp-v2-root--light .ev-q-result-badge--correct{color:#16a34a;background:#dcfce7;border-color:#86efac}.cp-v2-root--light .ev-q-result-badge--incorrect{color:#dc2626;background:#fee2e2;border-color:#fca5a5}.cp-v2-root--light .ev-back-to-intro-btn{color:#fff;background:#2563eb;border-color:#2563eb}.cp-v2-root--light .ev-back-to-intro-btn:hover{background:#1d4ed8;border-color:#1d4ed8}.cp-v2-root--light .ev-inline-nav-btn{color:#374151;background:#fff;border-color:#d1d5db}.cp-v2-root--light .ev-inline-nav-btn--primary{color:#fff;background:#2563eb;border-color:#2563eb}.cp-v2-root--light .ev-inline-nav-btn--primary:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8}.cp-v2-root--light .ev-inline-nav-btn:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.cp-v2-root--light .ev-answer-review-table-wrap{border-color:#e5e7eb}.cp-v2-root--light .ev-answer-review-table th{color:#374151;background:#f9fafb;border-bottom-color:#e5e7eb}.cp-v2-root--light .ev-answer-review-table td{color:#1f2937;border-bottom-color:#f3f4f6}.cp-v2-root--light .ev-answer-review-unanswered{background:#eab3080f}.cp-v2-root--light .ev-answer-review-badge--answered{color:#16a34a;background:#dcfce7}.cp-v2-root--light .ev-answer-review-badge--unanswered{color:#a16207;background:#fef9c3}.cp-v2-root--light .ev-short-answer-input{background:var(--cp-v2-bg-secondary);border-color:var(--cp-v2-border);color:var(--cp-v2-text)}.cp-v2-root--light .ev-short-answer-input:disabled{background:var(--cp-v2-bg-hover);color:var(--cp-v2-text-dim)}.cp-v2-root--light .ev-explanation{background:var(--cp-v2-bg-secondary);color:var(--cp-v2-text-muted)}.cp-v2-root--light .ev-summary-title{color:var(--cp-v2-text)}.cp-v2-root--light .ev-summary-desc{color:var(--cp-v2-text-muted)}.cp-v2-root--light .ev-summary-meta{color:var(--cp-v2-text-dim)}.cp-v2-root--light .ev-summary-answered{color:var(--cp-v2-text-muted)}.cp-v2-root--light .ev-summary-hint{color:var(--cp-v2-text-dim)}.cp-v2-root--light .ev-nav{border-top-color:var(--cp-v2-border);background:#ffffffd9}.cp-v2-root--light .ev-nav-btn{color:var(--cp-v2-text);border-color:var(--cp-v2-border);background:#f9fafbcc}.cp-v2-root--light .ev-nav-btn:hover{background:var(--cp-v2-accent);color:#fff;border-color:var(--cp-v2-accent)}.cp-v2-root--light .ev-nav-progress{color:var(--cp-v2-text-muted)}.cp-v2-root--light .ev-nav-item-hint{color:var(--cp-v2-text-dim)}.cp-v2-root--light .ev-nav-item-title{color:var(--cp-v2-text)}.cp-v2-root--light .ev-modal{border-color:var(--cp-v2-border);background:#fff}.cp-v2-root--light .ev-modal-title{color:var(--cp-v2-text)}.cp-v2-root--light .ev-modal-body{color:var(--cp-v2-text-muted)}.cp-v2-root--light .ev-modal-leave-btn{border-color:var(--cp-v2-border);color:var(--cp-v2-text-muted)}.cp-v2-root--light .ev-modal-leave-btn:hover{background:var(--cp-v2-bg-hover);color:var(--cp-v2-text)}.cp-v2-root--light .ev-review-overlay{background:var(--cp-v2-bg);color:var(--cp-v2-text)}.cp-v2-root--light .ev-review-close-btn{border-color:var(--cp-v2-border);color:var(--cp-v2-text-muted)}.cp-v2-root--light .ev-review-close-btn:hover{background:var(--cp-v2-bg-hover);color:var(--cp-v2-text)}.cp-v2-root--light .ev-review-progress{color:var(--cp-v2-text-muted)}.cp-v2-root--light .ev-review-progress-bar{background:var(--cp-v2-border)}.cp-v2-root--light .ev-review-tally{color:var(--cp-v2-text-muted)}.cp-v2-root--light .ev-review-opt{border-color:var(--cp-v2-border);background:var(--cp-v2-bg-secondary)}.cp-v2-root--light .ev-review-question-card.ev-review-correct{background:#f0fdf4;border-color:#86efac}.cp-v2-root--light .ev-review-question-card.ev-review-incorrect{background:#fef2f2;border-color:#fca5a5}.cp-v2-root--light .ev-review-explanation{color:#1d4ed8;background:#eff6ff;border-left-color:#3b82f6}.cp-v2-root--light .ev-review-nav-btn{background:var(--cp-v2-bg-secondary);color:var(--cp-v2-text);border-color:var(--cp-v2-border)}.cp-v2-root--light .ev-review-nav-btn:hover:not(:disabled){background:var(--cp-v2-bg-hover)}.cp-v2-root--light .ev-review-outcomes{border-top-color:var(--cp-v2-border)}.cp-v2-root--light .ev-review-outcomes-title{color:var(--cp-v2-text-dim)}.cp-v2-root--light .ev-review-outcome-item{color:#1e40af;background:#eff6ff}.cp-v2-root--light .ev-review-outcome-ref{color:#2563eb}.cp-v2-root--light .cv-loading,.cp-v2-root--light .cv-loading-text{color:var(--cp-v2-text-muted)}.cp-v2-root--light .cv-spinner{border-color:var(--cp-v2-border);border-top-color:var(--cp-v2-accent)}.cp-v2-root--light .cv-nav{border-top-color:var(--cp-v2-border);background:#ffffffe6}.cp-v2-root--light .cv-nav-btn{color:var(--cp-v2-text);border-color:var(--cp-v2-border);background:#f9fafbe6}.cp-v2-root--light .cv-nav-btn:hover{background:var(--cp-v2-accent);color:#fff;border-color:var(--cp-v2-accent)}.cp-v2-root--light .cv-nav-btn:focus:not(:focus-visible),.cp-v2-root--light .cv-nav-btn:disabled:hover{border-color:var(--cp-v2-border);color:var(--cp-v2-text);background:#f9fafbe6}.cp-v2-root--light .cv-nav-progress{color:var(--cp-v2-text-muted)}.cp-v2-root--light .cv-nav-item-hint{color:var(--cp-v2-text-dim)}.cp-v2-root--light .cv-nav-item-title{color:var(--cp-v2-text)}.cp-v2-root--light .cv-pdf{background:#e5e7eb}.cp-v2-root--light .cv-pdf--presentation,.cp-v2-root--light .cv-pdf-canvas-slide{background:#f3f4f6}.cp-v2-root--light .pdf-canvas{box-shadow:0 4px 32px #00000026}.cp-v2-root--light .cv-legacy-google{background:var(--cp-v2-bg)}.cp-v2-root--light .rtsv-root{background:var(--cp-v2-bg);color:var(--cp-v2-text)}.cp-v2-root--light .rtsv-slide-content .ProseMirror,.cp-v2-root--light .rtsv-slide-content .ProseMirror h1,.cp-v2-root--light .rtsv-slide-content .ProseMirror h2,.cp-v2-root--light .rtsv-slide-content .ProseMirror h3,.cp-v2-root--light .rtsv-slide-content .ProseMirror h4{color:var(--cp-v2-text)}.cp-v2-root--light .rtsv-slide-content .ProseMirror pre{background:var(--cp-v2-bg-secondary);border-color:var(--cp-v2-border)}.cp-v2-root--light .rtsv-slide-content .ProseMirror code{background:var(--cp-v2-bg-secondary)}.cp-v2-root--light .rtsv-slide-content .ProseMirror blockquote{color:var(--cp-v2-text-muted)}.cp-v2-root--light .rtsv-slide-content .ProseMirror th,.cp-v2-root--light .rtsv-slide-content .ProseMirror td{border-color:var(--cp-v2-border)}.cp-v2-root--light .rtsv-slide-content .ProseMirror th{background:var(--cp-v2-bg-secondary);color:var(--cp-v2-text)}.cp-v2-root--light .rtsv-slide-content .ProseMirror a{color:var(--cp-v2-accent-subtle)}.cp-v2-root--light .rtsv-empty{color:var(--cp-v2-text-dim)}.cp-v2-root--light .rtsv-nav{border-top-color:var(--cp-v2-border);background:#ffffffd9}.cp-v2-root--light .rtsv-nav-btn{color:var(--cp-v2-text);border-color:var(--cp-v2-border);background:#f9fafbcc;border-radius:50%}.cp-v2-root--light .rtsv-nav-btn:hover{background:var(--cp-v2-accent);color:#fff;border-color:var(--cp-v2-accent)}.cp-v2-root--light .rtsv-nav-btn:disabled:hover{border-color:var(--cp-v2-border);color:var(--cp-v2-text);background:#f9fafbcc}.cp-v2-root--light .rtsv-nav-item-hint{color:var(--cp-v2-text-dim)}.cp-v2-root--light .rtsv-nav-item-title{color:var(--cp-v2-text)}.cp-v2-root--light .rtsv-progress-text{color:var(--cp-v2-text-muted)}.cp-v2-root--light .slide-viewer{background:var(--cp-v2-bg-secondary)}.cp-v2-root--light .slide-viewer-empty{background:var(--cp-v2-bg-hover)}.cp-v2-root--light .sv-empty-message{color:var(--cp-v2-text-muted)}.cp-v2-root--light .sv-canvas,.cp-v2-root--light .sv-page-image{box-shadow:0 4px 16px #0000001a}.cp-v2-root--light .sv-nav-bar{background:var(--cp-v2-bg-secondary);border-top-color:var(--cp-v2-border)}.cp-v2-root--light .sv-nav-btn{border-color:var(--cp-v2-border);color:var(--cp-v2-text)}.cp-v2-root--light .sv-nav-btn:hover:not(:disabled){background:var(--cp-v2-bg-hover);border-color:var(--cp-v2-text-dim)}.cp-v2-root--light .sv-slide-counter{color:var(--cp-v2-text)}.cp-v2-root--light .sv-fullscreen-btn{border-color:var(--cp-v2-border);color:var(--cp-v2-text-muted)}.cp-v2-root--light .sv-fullscreen-btn:hover{background:var(--cp-v2-bg-hover);border-color:var(--cp-v2-text-dim);color:var(--cp-v2-text)}.srp-root{max-width:1340px;margin:0 auto;padding:2rem 1.5rem}.srp-header{margin-bottom:1.5rem}.srp-title{color:#1c1d1f;margin:0 0 .25rem;font-size:1.375rem;font-weight:700}.srp-count{color:#6b7280;margin:0;font-size:.875rem}.srp-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;display:grid}.srp-card{color:inherit;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:6px;flex-direction:column;gap:.5rem;padding:1.25rem;text-decoration:none;transition:box-shadow .15s,transform .15s;display:flex}.srp-card:hover{text-decoration:none;transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.srp-card-title{color:#1c1d1f;margin:0;font-size:1rem;font-weight:700;line-height:1.35}.srp-card-org{color:#5624d0;margin:0;font-size:.8125rem;font-weight:600}.srp-card-desc{color:#6b7280;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.875rem;line-height:1.5;display:-webkit-box;overflow:hidden}.srp-card-dates{color:#9ca3af;margin:auto 0 0;padding-top:.5rem;font-size:.75rem}.srp-empty{text-align:center;color:#6b7280;padding:4rem 1.5rem}.srp-empty-icon{margin-bottom:.75rem;font-size:2.5rem;display:block}.srp-empty-title{color:#374151;margin:0 0 .375rem;font-size:1.125rem;font-weight:700}.srp-loading{justify-content:center;align-items:center;min-height:200px;display:flex}.ca-exams{max-width:860px;padding:24px}.ca-exams-header{margin-bottom:24px}.ca-exams-title{margin:0 0 6px;font-size:1.25rem;font-weight:600}.ca-exams-subtitle{color:#6b7280;margin:0;font-size:.875rem}.ca-exams-empty{text-align:center;color:#6b7280;padding:48px 24px}.ca-exams-empty-icon{margin-bottom:12px;font-size:2.5rem;display:block}.ca-exams-empty-desc{margin-top:4px;font-size:.875rem}.ca-exams-list{flex-direction:column;gap:12px;display:flex}.ca-exam-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:18px 20px}.ca-exam-card-main{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.ca-exam-card-info{flex:1;min-width:0}.ca-exam-title{color:#111827;margin:0 0 2px;font-size:1rem;font-weight:600}.ca-exam-section-name{color:#6b7280;margin:0 0 6px;font-size:.8125rem;font-weight:400}.ca-exam-meta{flex-wrap:wrap;gap:10px;display:flex}.ca-exam-meta-item{color:#6b7280;background:#f3f4f6;border-radius:4px;padding:2px 8px;font-size:.8rem}.ca-exam-settings{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;display:flex}.ca-exam-toggle-label{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:14px;display:flex}.ca-exam-toggle-text{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.ca-exam-toggle-name{color:#374151;font-size:.875rem;font-weight:600}.ca-exam-toggle-desc{color:#6b7280;text-align:right;max-width:260px;font-size:.775rem;line-height:1.3}.ca-exam-toggle{flex-shrink:0;align-items:center;display:inline-flex;position:relative}.ca-exam-toggle input[type=checkbox]{opacity:0;width:0;height:0;position:absolute}.ca-exam-toggle-thumb{background:#d1d5db;border-radius:12px;width:44px;height:24px;transition:background .2s;display:block;position:relative}.ca-exam-toggle-thumb:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000026}.ca-exam-toggle.on .ca-exam-toggle-thumb{background:#2563eb}.ca-exam-toggle.on .ca-exam-toggle-thumb:after{transform:translate(20px)}.ca-exam-toggle.saving .ca-exam-toggle-thumb{opacity:.6}.ca-exam-saving{color:#6b7280;font-size:.775rem}.ca-exam-save-error{color:#dc2626;font-size:.775rem}.ca-exam-grade-btn{color:#2563eb;cursor:pointer;background:#eff6ff;border:1px solid #2563eb;border-radius:6px;align-items:center;gap:.5rem;margin-bottom:.5rem;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;transition:background .15s;display:inline-flex}.ca-exam-grade-btn:hover{background:#dbeafe}.ca-exam-grade-badge{color:#fff;background:#2563eb;border-radius:9999px;justify-content:center;align-items:center;min-width:1.25rem;height:1.25rem;padding:0 .35rem;font-size:.6875rem;font-weight:700;display:inline-flex}.exam-attempt-grading{max-width:900px;padding:1.5rem}.exam-attempt-grading__loading{justify-content:center;padding:3rem 0;display:flex}.exam-attempt-grading__error{text-align:center;color:var(--color-error,#ef4444);padding:2rem}.exam-attempt-grading__retry-btn{border:1px solid var(--color-border,#e2e8f0);background:var(--color-surface,#fff);cursor:pointer;border-radius:6px;margin-top:.75rem;padding:.5rem 1rem;font-weight:500}.exam-attempt-grading__header{margin-bottom:1.5rem}.exam-attempt-grading__back-btn{border:1px solid var(--color-border,#e2e8f0);color:var(--color-primary,#3b82f6);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:.25rem;margin-bottom:.75rem;padding:.4rem .75rem;font-size:.875rem;font-weight:500;transition:background .15s;display:inline-flex}.exam-attempt-grading__back-btn:hover{background:var(--color-surface-hover,#f1f5f9)}.exam-attempt-grading__header-info{align-items:baseline;gap:1rem;margin-bottom:.5rem;display:flex}.exam-attempt-grading__title{color:var(--color-text,#1e293b);margin:0;font-size:1.5rem;font-weight:700}.exam-attempt-grading__submitted-at{color:var(--color-text-secondary,#64748b);margin:0;font-size:.8125rem}.exam-attempt-grading__progress{margin-top:.5rem}.exam-attempt-grading__toast{background:var(--color-error-light,#fef2f2);border:1px solid var(--color-error,#ef4444);color:var(--color-error-dark,#991b1b);border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.exam-attempt-grading__toast-close{cursor:pointer;color:inherit;background:0 0;border:none;padding:0 .25rem;font-size:1rem}.exam-attempt-grading__slide-nav-top{justify-content:center;align-items:center;margin-bottom:1rem;padding:.5rem;display:flex}.exam-attempt-grading__nav-info{color:var(--color-text-secondary,#64748b);font-size:.875rem;font-weight:600}.exam-attempt-grading__nav-btn{border:1px solid var(--color-border,#e2e8f0);background:var(--color-surface,#fff);color:var(--color-text,#1e293b);cursor:pointer;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background .15s}.exam-attempt-grading__nav-btn:hover:not(:disabled){background:var(--color-surface-hover,#f1f5f9)}.exam-attempt-grading__nav-btn:disabled{opacity:.4;cursor:not-allowed}.exam-attempt-grading__slide{min-height:300px}.exam-attempt-grading__auto-graded{border:1px solid var(--color-border,#e2e8f0);background:var(--color-surface,#fff);border-radius:8px;padding:1.25rem}.exam-attempt-grading__auto-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.exam-attempt-grading__auto-type{color:var(--color-text-secondary,#64748b);text-transform:uppercase;letter-spacing:.025em;font-size:.75rem;font-weight:500}.exam-attempt-grading__auto-score{border-radius:4px;padding:.25rem .5rem;font-size:.875rem;font-weight:600}.exam-attempt-grading__auto-score.correct{color:#166534;background:#dcfce7}.exam-attempt-grading__auto-score.incorrect{color:#991b1b;background:#fef2f2}.exam-attempt-grading__auto-section{margin-bottom:1rem}.exam-attempt-grading__auto-section h4{color:var(--color-text-secondary,#64748b);text-transform:uppercase;margin:0 0 .25rem;font-size:.75rem;font-weight:600}.exam-attempt-grading__auto-section p{color:var(--color-text,#1e293b);margin:0;font-size:.9375rem;line-height:1.5}.exam-attempt-grading__auto-correct{background:#dcfce7;border-radius:6px;padding:.75rem}.exam-attempt-grading__slide .essay-grading-panel__save-btn{display:none}.exam-attempt-grading__bottom-bar{border-top:1px solid var(--color-border,#e2e8f0);align-items:center;gap:.5rem;margin-top:1.5rem;padding-top:1rem;display:flex}.exam-attempt-grading__save-btn{background:var(--color-primary,#3b82f6);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.5rem 1.25rem;font-size:.875rem;font-weight:600;transition:background .15s}.exam-attempt-grading__save-btn--secondary{background:var(--color-surface,#fff);color:var(--color-primary,#3b82f6);border:1px solid var(--color-primary,#3b82f6)}.exam-attempt-grading__save-btn--secondary:hover:not(:disabled){background:#eff6ff}.exam-attempt-grading__save-btn:hover:not(:disabled):not(.exam-attempt-grading__save-btn--secondary){background:var(--color-primary-dark,#2563eb)}.exam-attempt-grading__save-btn:disabled{opacity:.5;cursor:not-allowed}.exam-attempt-grading__bottom-bar .finalize-button-wrapper{margin-left:auto}.exam-essay-grading-view{grid-template-columns:320px 1fr;height:calc(100vh - 160px);min-height:500px;display:grid}.exam-essay-grading-view__queue{border-right:1px solid var(--color-border,#e5e7eb);overflow-y:auto}.exam-essay-grading-view__panel{flex-direction:column;display:flex;overflow-y:auto}.exam-essay-grading-view__placeholder{height:100%;color:var(--color-text-secondary,#6b7280);justify-content:center;align-items:center;font-size:.9375rem;display:flex}.exam-essay-grading-view__loading{height:100%;color:var(--color-text-secondary,#6b7280);justify-content:center;align-items:center;font-size:.875rem;display:flex}.exam-essay-grading-view__content{flex-direction:column;height:100%;display:flex}.exam-essay-grading-view__nav{border-bottom:1px solid var(--color-border,#e5e7eb);background-color:var(--color-bg-secondary,#f9fafb);justify-content:space-between;align-items:center;padding:12px 24px;display:flex}.exam-essay-grading-view__nav-btn{color:var(--color-primary,#3b82f6);border:1px solid var(--color-border,#d1d5db);cursor:pointer;background:0 0;border-radius:4px;padding:6px 12px;font-size:.8125rem;font-weight:500;transition:background-color .15s}.exam-essay-grading-view__nav-btn:hover:not(:disabled){background-color:var(--color-bg-hover,#f3f4f6)}.exam-essay-grading-view__nav-btn:disabled{opacity:.4;cursor:not-allowed}.exam-essay-grading-view__nav-info{color:var(--color-text-secondary,#6b7280);font-size:.8125rem}.exam-essay-grading-view__error{color:var(--color-error,#ef4444);background-color:var(--color-error-bg,#fef2f2);margin:0;padding:12px 16px;font-size:.8125rem}.exam-essay-grading-view__complete{height:100%;color:var(--color-success,#10b981);justify-content:center;align-items:center;font-size:.9375rem;display:flex}.exam-submissions{max-width:900px;padding:1.5rem}.exam-submissions__loading{justify-content:center;padding:3rem 0;display:flex}.exam-submissions__error{text-align:center;color:var(--color-error,#ef4444);padding:2rem}.exam-submissions__retry-btn{border:1px solid var(--color-border,#e2e8f0);background:var(--color-surface,#fff);cursor:pointer;border-radius:6px;margin-top:.75rem;padding:.5rem 1rem;font-weight:500}.exam-submissions__retry-btn:hover{background:var(--color-surface-hover,#f8fafc)}.exam-submissions__header{margin-bottom:1.5rem}.exam-submissions__back-btn{color:var(--color-primary,#3b82f6);cursor:pointer;background:0 0;border:none;margin-bottom:.5rem;padding:0;font-size:.875rem}.exam-submissions__back-btn:hover{text-decoration:underline}.exam-submissions__title{color:var(--color-text,#1e293b);margin:0 0 .25rem;font-size:1.5rem;font-weight:700}.exam-submissions__subtitle{color:var(--color-text-secondary,#64748b);margin:0;font-size:.875rem}.exam-submissions__empty{text-align:center;color:var(--color-text-secondary,#64748b);padding:3rem 1rem}.exam-submissions__empty-icon{margin-bottom:.75rem;font-size:2.5rem;display:block}.exam-submissions__empty-desc{margin-top:.25rem;font-size:.875rem}.exam-submissions__list{flex-direction:column;gap:.5rem;display:flex}.exam-submissions__row{border:1px solid var(--color-border,#e2e8f0);background:var(--color-surface,#fff);border-radius:8px;align-items:center;gap:1rem;padding:1rem;transition:box-shadow .15s;display:flex}.exam-submissions__row:hover{box-shadow:0 2px 8px #0000000f}.exam-submissions__row-info{flex-direction:column;flex:1;gap:.25rem;display:flex}.exam-submissions__student-name{color:var(--color-text,#1e293b);font-weight:600}.exam-submissions__submitted-at{color:var(--color-text-secondary,#64748b);font-size:.8125rem}.exam-submissions__row-status{flex-direction:column;align-items:flex-end;gap:.5rem;min-width:180px;display:flex}.exam-submissions__status-badge{border-radius:4px;padding:.2rem .5rem;font-size:.75rem;font-weight:500}.exam-submissions__status-badge--ungraded{background:var(--color-warning-light,#fef9c3);color:var(--color-warning-dark,#854d0e)}.exam-submissions__status-badge--partially-graded{background:var(--color-info-light,#dbeafe);color:var(--color-info-dark,#1e40af)}.exam-submissions__status-badge--graded{background:var(--color-success-light,#dcfce7);color:var(--color-success-dark,#166534)}.exam-submissions__grade-btn{border:1px solid var(--color-primary,#3b82f6);background:var(--color-primary,#3b82f6);color:#fff;cursor:pointer;white-space:nowrap;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background .15s}.exam-submissions__grade-btn:hover{background:var(--color-primary-dark,#2563eb)}.grades-tab{flex-direction:column;gap:1.5rem;display:flex}.grades-tab__nav{border-bottom:1px solid var(--border-color,#e2e8f0);gap:0;display:flex}.grades-tab__nav-item{color:var(--text-secondary,#64748b);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:.75rem 1.25rem;font-size:.875rem;font-weight:500;transition:color .15s,border-color .15s}.grades-tab__nav-item:hover{color:var(--text-primary,#1e293b)}.grades-tab__nav-item--active{color:var(--color-primary,#2563eb);border-bottom-color:var(--color-primary,#2563eb)}.grades-tab__content{min-height:200px}.attempt-progress{flex-direction:column;gap:4px;min-width:120px;display:flex}.attempt-progress__text{color:var(--color-text-secondary,#6b7280);font-size:.8125rem}.attempt-progress__count{color:var(--color-text-primary,#1f2937);font-weight:600}.attempt-progress__bar{background-color:var(--color-border,#e5e7eb);border-radius:3px;width:100%;height:6px;overflow:hidden}.attempt-progress__fill{background-color:var(--color-primary,#3b82f6);border-radius:3px;height:100%;transition:width .3s}.attempt-progress__fill--complete{background-color:var(--color-success,#10b981)}.essay-grading-panel{flex-direction:column;gap:24px;height:100%;padding:24px;display:flex;overflow-y:auto}.essay-grading-panel__section{flex-direction:column;gap:8px;display:flex}.essay-grading-panel__section-title{text-transform:uppercase;letter-spacing:.025em;color:var(--color-text-secondary,#6b7280);margin:0;font-size:.8125rem;font-weight:600}.essay-grading-panel__question-text{color:var(--color-text-primary,#1f2937);background-color:var(--color-bg-secondary,#f9fafb);border:1px solid var(--color-border,#e5e7eb);white-space:pre-wrap;border-radius:6px;padding:12px 16px;font-size:.9375rem;line-height:1.6}.essay-grading-panel__marking-guide{color:var(--color-text-secondary,#6b7280);background-color:var(--color-warning-bg,#fffbeb);border:1px solid var(--color-warning-border,#fde68a);white-space:pre-wrap;border-radius:6px;padding:12px 16px;font-size:.875rem;line-height:1.5}.essay-grading-panel__student-answer{color:var(--color-text-primary,#1f2937);background-color:var(--color-bg,#fff);border:1px solid var(--color-border,#e5e7eb);white-space:pre-wrap;border-radius:6px;min-height:100px;padding:16px;font-size:.9375rem;line-height:1.6}.essay-grading-panel__grading{border-top:1px solid var(--color-border,#e5e7eb);flex-direction:column;gap:16px;padding-top:16px;display:flex}.essay-grading-panel__score-row{flex-direction:column;gap:4px;display:flex}.essay-grading-panel__label{color:var(--color-text-primary,#1f2937);font-size:.875rem;font-weight:500}.essay-grading-panel__optional{color:var(--color-text-secondary,#6b7280);margin-left:6px;font-size:.8125rem;font-weight:400}.essay-grading-panel__score-input-wrapper{align-items:center;gap:8px;display:flex}.essay-grading-panel__score-input{border:1px solid var(--color-border,#d1d5db);border-radius:6px;outline:none;width:80px;padding:8px 12px;font-size:.9375rem;transition:border-color .15s}.essay-grading-panel__score-input:focus{border-color:var(--color-primary,#3b82f6);box-shadow:0 0 0 2px var(--color-primary-ring,#3b82f626)}.essay-grading-panel__score-input--error{border-color:var(--color-error,#ef4444)}.essay-grading-panel__score-input--error:focus{box-shadow:0 0 0 2px var(--color-error-ring,#ef444426)}.essay-grading-panel__score-hint{color:var(--color-text-secondary,#6b7280);font-size:.875rem}.essay-grading-panel__error{color:var(--color-error,#ef4444);margin:0;font-size:.8125rem}.essay-grading-panel__feedback-row{flex-direction:column;gap:4px;display:flex}.essay-grading-panel__feedback-input{border:1px solid var(--color-border,#d1d5db);resize:vertical;border-radius:6px;outline:none;padding:10px 12px;font-family:inherit;font-size:.875rem;line-height:1.5;transition:border-color .15s}.essay-grading-panel__feedback-input:focus{border-color:var(--color-primary,#3b82f6);box-shadow:0 0 0 2px var(--color-primary-ring,#3b82f626)}.essay-grading-panel__save-btn{color:#fff;background-color:var(--color-primary,#3b82f6);cursor:pointer;border:none;border-radius:6px;align-self:flex-start;padding:10px 20px;font-size:.875rem;font-weight:500;transition:background-color .15s,opacity .15s}.essay-grading-panel__save-btn:hover:not(:disabled){background-color:var(--color-primary-dark,#2563eb)}.essay-grading-panel__save-btn:disabled{opacity:.5;cursor:not-allowed}.finalize-button-wrapper{flex-direction:column;align-items:flex-end;gap:.5rem;display:flex}.finalize-button{cursor:pointer;background:var(--color-primary,#3b82f6);color:#fff;border:none;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-size:.875rem;font-weight:600;transition:background .15s,opacity .15s;display:inline-flex}.finalize-button:hover:not(:disabled){background:var(--color-primary-dark,#2563eb)}.finalize-button--disabled,.finalize-button:disabled{opacity:.5;cursor:not-allowed}.finalize-button__spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:1rem;height:1rem;animation:.6s linear infinite finalize-spin;display:inline-block}@keyframes finalize-spin{to{transform:rotate(360deg)}}.finalize-button__tooltip{color:var(--color-text-secondary,#64748b);margin:0;font-size:.8125rem;font-style:italic}.essay-queue{border-right:1px solid var(--color-border,#e5e7eb);background-color:var(--color-bg-secondary,#f9fafb);flex-direction:column;height:100%;display:flex}.essay-queue__title{color:var(--color-text-primary,#1f2937);border-bottom:1px solid var(--color-border,#e5e7eb);margin:0;padding:16px;font-size:.9375rem;font-weight:600}.essay-queue__loading{text-align:center;color:var(--color-text-secondary,#6b7280);padding:24px 16px;font-size:.875rem}.essay-queue__empty{text-align:center;color:var(--color-text-secondary,#6b7280);margin:0;padding:24px 16px;font-size:.875rem}.essay-queue__list{flex:1;margin:0;padding:0;list-style:none;overflow-y:auto}.essay-queue__item{cursor:pointer;border-bottom:1px solid var(--color-border,#e5e7eb);padding:12px 16px;transition:background-color .15s}.essay-queue__item:hover{background-color:var(--color-bg-hover,#f3f4f6)}.essay-queue__item--selected{background-color:var(--color-primary-light,#eff6ff);border-left:3px solid var(--color-primary,#3b82f6)}.essay-queue__item-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.essay-queue__student-name{color:var(--color-text-primary,#1f2937);font-size:.875rem;font-weight:500}.essay-queue__submitted-at{color:var(--color-text-secondary,#6b7280);font-size:.75rem}.gradebook-grid-wrapper{border:1px solid var(--border-color,#e2e8f0);background:var(--surface-color,#fff);border-radius:8px;position:relative;overflow:hidden}.gradebook-grid-scroll{max-height:70vh;overflow:auto}.gradebook-grid-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:.875rem}.gradebook-col-sticky{z-index:2;background:var(--surface-color,#fff);border-right:2px solid var(--border-color,#e2e8f0);position:sticky;left:0}thead .gradebook-col-sticky{z-index:3}.gradebook-grid-table thead{z-index:2;position:sticky;top:0}.gradebook-grid-table th{background:var(--surface-muted,#f8fafc);text-align:center;white-space:nowrap;border-bottom:1px solid var(--border-color,#e2e8f0);padding:.5rem .75rem;font-weight:600}.gradebook-col-student{text-align:left;min-width:180px;max-width:240px}.gradebook-col-overall{border-right:1px solid var(--border-color,#e2e8f0);min-width:80px}.gradebook-col-category{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted,#64748b);border-bottom:none;font-size:.75rem}.gradebook-col-item{min-width:80px;max-width:120px}.gradebook-item-header{flex-direction:column;align-items:center;gap:2px;display:flex}.gradebook-item-title{text-overflow:ellipsis;max-width:100px;display:block;overflow:hidden}.gradebook-item-max{color:var(--text-muted,#64748b);font-size:.7rem;font-weight:400}.gradebook-grid-table td{text-align:center;border-bottom:1px solid var(--border-light,#f1f5f9);cursor:pointer;padding:.5rem .75rem;transition:background-color .15s}.gradebook-grid-table tbody tr:hover td,.gradebook-grid-table tbody tr:hover .gradebook-col-sticky{background-color:var(--surface-hover,#f1f5f9)}.gradebook-student-info{align-items:center;gap:.5rem;display:flex}.gradebook-student-name{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.gradebook-overall-grade{color:var(--text-primary,#1e293b);font-weight:600}.gradebook-overall-grade--none{color:var(--text-muted,#94a3b8);font-weight:400}.gradebook-cell{position:relative}.gradebook-cell:focus{outline:2px solid var(--focus-ring,#3b82f6);outline-offset:-2px;border-radius:2px}.gradebook-cell--graded{background-color:var(--cell-graded-bg,#22c55e0d)}.gradebook-cell--exempt{background-color:var(--cell-exempt-bg,#a855f70d)}.gradebook-cell--submitted_ungraded{background-color:var(--cell-pending-bg,#f59e0b0d)}.gradebook-cell-score{color:var(--text-primary,#1e293b);font-weight:500}.gradebook-cell-exempt{color:var(--purple-600,#9333ea);background:var(--purple-100,#f3e8ff);letter-spacing:.05em;border-radius:4px;justify-content:center;align-items:center;padding:.125rem .375rem;font-size:.7rem;font-weight:700;display:inline-flex}.gradebook-cell-pending{color:var(--amber-500,#f59e0b);font-size:.75rem}.gradebook-cell-empty{color:var(--text-muted,#94a3b8)}.gradebook-grid-empty{color:var(--text-muted,#64748b);text-align:center;justify-content:center;align-items:center;padding:3rem 2rem;display:flex}.fc-page{max-width:1340px;margin:0 auto;padding:2rem 1.5rem}.fc-page__header{margin-bottom:1.75rem}.fc-page__title{color:#111827;margin:0 0 .5rem;font-size:1.75rem;font-weight:700}.fc-page__subtitle{color:#6b7280;margin:0;font-size:1rem}.fc-page__error{background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1rem 1.25rem;display:flex}.fc-page__error-message{color:#b91c1c;flex:1;margin:0;font-size:.9rem}.fc-page__retry-btn{color:#b91c1c;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #b91c1c;border-radius:6px;padding:.4rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s,color .15s}.fc-page__retry-btn:hover{color:#fff;background-color:#b91c1c}.fc-page__retry-btn:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.fc-page__empty{color:#6b7280;text-align:center;padding:3rem 1rem;font-size:1rem}.fc-filter-toolbar{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1.75rem;padding:1rem 1.25rem;display:flex}.fc-filter-toolbar__field{flex-direction:column;flex:180px;gap:.3rem;min-width:180px;display:flex}.fc-filter-toolbar__label{color:#374151;text-transform:uppercase;letter-spacing:.03em;font-size:.8rem;font-weight:600}.fc-filter-toolbar__select{color:#1f2937;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.5rem .75rem;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.fc-filter-toolbar__select:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb26}.fc-filter-toolbar__clear-btn{color:#374151;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #d1d5db;border-radius:6px;align-self:flex-end;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s,border-color .15s}.fc-filter-toolbar__clear-btn:hover{background-color:#f3f4f6;border-color:#9ca3af}.fc-filter-toolbar__clear-btn:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.fc-catalog{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;display:grid}.fc-set-card{cursor:pointer;text-align:left;background-color:#fff;border:1px solid #e5e7eb;border-radius:10px;flex-direction:column;gap:.75rem;width:100%;padding:1.25rem 1.5rem;transition:border-color .15s,box-shadow .2s,transform .1s;display:flex;box-shadow:0 1px 3px #00000012}.fc-set-card:hover{border-color:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb1f}.fc-set-card:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.fc-set-card:active{transform:translateY(0)}.fc-set-card__name{color:#111827;margin:0;font-size:1.05rem;font-weight:600;line-height:1.3}.fc-set-card__meta{flex-direction:column;gap:.35rem;display:flex}.fc-set-card__meta-item{align-items:baseline;gap:.4rem;font-size:.85rem;display:flex}.fc-set-card__meta-label{color:#6b7280;min-width:70px;font-weight:600}.fc-set-card__meta-value{color:#374151}@media (width<=600px){.fc-page{padding:1.25rem 1rem}.fc-filter-toolbar{flex-direction:column;align-items:stretch}.fc-filter-toolbar__field{min-width:unset;flex:none;width:100%}.fc-filter-toolbar__clear-btn{text-align:center;width:100%}.fc-catalog{grid-template-columns:1fr}}.fc-session-page{flex-direction:column;max-width:800px;min-height:60vh;margin:0 auto;padding:2rem 1.5rem;display:flex}.fc-session-loading-container{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1.5rem;padding:3rem 1rem;display:flex}.fc-session-error{text-align:center;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:480px;padding:1.5rem 2rem;display:flex}.fc-session-error__message{color:#b91c1c;margin:0;font-size:.9rem}.fc-session-error__retry-btn{color:#b91c1c;cursor:pointer;background:0 0;border:1px solid #b91c1c;border-radius:6px;padding:.5rem 1.5rem;font-size:.875rem;font-weight:500;transition:background-color .15s,color .15s}.fc-session-error__retry-btn:hover{color:#fff;background-color:#b91c1c}.fc-session-error__retry-btn:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.fc-session-unavailable,.fc-session-no-questions{text-align:center;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;align-items:center;gap:1.25rem;width:100%;max-width:480px;padding:2rem;display:flex}.fc-session-unavailable__message,.fc-session-no-questions__message{color:#6b7280;margin:0;font-size:1rem}.fc-setup-phase{flex-direction:column;flex:1;align-items:center;gap:2rem;padding:3rem 1rem;display:flex}.fc-setup-phase__header{text-align:center;flex-direction:column;gap:.5rem;display:flex}.fc-setup-phase__title{color:#111827;margin:0;font-size:1.75rem;font-weight:700}.fc-setup-phase__syllabus{color:#6b7280;margin:0;font-size:1rem}.fc-setup-phase__count{color:#374151;margin:0;font-size:.95rem;font-weight:500}.fc-setup-phase__options{flex-direction:column;align-items:center;gap:.75rem;display:flex}.fc-setup-phase__shuffle-label{color:#374151;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;font-size:.95rem;display:flex}.fc-setup-phase__shuffle-checkbox{cursor:pointer;accent-color:#2563eb;width:1rem;height:1rem}.fc-setup-phase__start-btn{color:#fff;cursor:pointer;background-color:#2563eb;border:none;border-radius:8px;padding:.75rem 2.5rem;font-size:1rem;font-weight:600;transition:background-color .15s,transform .1s}.fc-setup-phase__start-btn:hover{background-color:#1d4ed8}.fc-setup-phase__start-btn:focus-visible{outline-offset:3px;outline:2px solid #2563eb}.fc-setup-phase__start-btn:active{transform:scale(.98)}.fc-setup-phase__back-btn{color:#374151;cursor:pointer;background:0 0;border:1px solid #d1d5db;border-radius:6px;padding:.5rem 1.5rem;font-size:.875rem;font-weight:500;transition:background-color .15s}.fc-setup-phase__back-btn:hover{background-color:#f3f4f6}.fc-setup-phase__back-btn:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.fc-session-phase{flex-direction:column;flex:1;gap:1.5rem;display:flex}.fc-session-phase__topbar{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.fc-session-phase__counter{color:#374151;font-size:.9rem;font-weight:600}.fc-session-phase__progress-wrapper{flex:1;justify-content:center;display:flex}.fc-session-phase__progress{color:#6b7280;font-size:.875rem}.fc-session-phase__exit-btn{color:#6b7280;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #d1d5db;border-radius:6px;padding:.4rem .875rem;font-size:.8rem;font-weight:500;transition:color .15s,border-color .15s}.fc-session-phase__exit-btn:hover{color:#b91c1c;border-color:#b91c1c}.fc-session-phase__exit-btn:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.fc-session-phase__card{outline:none;flex:1}.fc-session-phase__card:focus-visible{outline-offset:4px;border-radius:4px;outline:2px solid #2563eb}.fc-session-phase__nav{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.fc-session-phase__nav-right{gap:.5rem;display:flex}.fc-session-phase__nav-btn{cursor:pointer;border-radius:6px;padding:.6rem 1.5rem;font-size:.9rem;font-weight:500;transition:background-color .15s,color .15s,transform .1s}.fc-session-phase__nav-btn:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.fc-session-phase__nav-btn:active{transform:scale(.98)}.fc-session-phase__nav-btn--prev{color:#374151;background-color:#fff;border:1px solid #d1d5db}.fc-session-phase__nav-btn--prev:hover:not(:disabled){background-color:#f3f4f6}.fc-session-phase__nav-btn--prev:disabled{opacity:.4;cursor:not-allowed}.fc-session-phase__nav-btn--next{color:#fff;background-color:#2563eb;border:1px solid #2563eb}.fc-session-phase__nav-btn--next:hover:not(:disabled){background-color:#1d4ed8}.fc-session-phase__nav-btn--next:disabled{opacity:.4;cursor:not-allowed}.fc-session-phase__nav-btn--finish{color:#fff;background-color:#16a34a;border:1px solid #16a34a}.fc-session-phase__nav-btn--finish:hover{background-color:#15803d}.fc-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;gap:1.25rem;padding:1.75rem 2rem;display:flex;box-shadow:0 2px 8px #0000000f}.fc-card__question{color:#111827;margin:0;font-size:1.1rem;font-weight:500;line-height:1.6}.fc-card__mcq-options{flex-direction:column;gap:.6rem;display:flex}.fc-card__mcq-option{cursor:pointer;color:#374151;border:1px solid #e5e7eb;border-radius:8px;align-items:flex-start;gap:.6rem;padding:.75rem 1rem;font-size:.925rem;line-height:1.4;transition:background-color .12s,border-color .12s;display:flex}.fc-card__mcq-option:hover{background-color:#f0f7ff;border-color:#93c5fd}.fc-card__mcq-option--selected{color:#1d4ed8;background-color:#eff6ff;border-color:#2563eb}.fc-card__mcq-radio{accent-color:#2563eb;cursor:pointer;flex-shrink:0;margin-top:.1rem}.fc-card__mcq-option-text{flex:1}.fc-card__text-input-wrapper{flex-direction:column;gap:.35rem;display:flex}.fc-card__short-answer{color:#111827;box-sizing:border-box;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:.6rem .875rem;font-size:.925rem;transition:border-color .15s,box-shadow .15s}.fc-card__short-answer:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb26}.fc-card__essay{color:#111827;resize:vertical;box-sizing:border-box;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;width:100%;min-height:120px;padding:.6rem .875rem;font-family:inherit;font-size:.925rem;line-height:1.5;transition:border-color .15s,box-shadow .15s}.fc-card__essay:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb26}.fc-card__char-counter{color:#9ca3af;text-align:right;font-size:.775rem}.fc-card__feedback{background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:.875rem 1rem}.fc-card__explanation{color:#166534;margin:0;font-size:.9rem;line-height:1.55}.fc-card__no-explanation{color:#6b7280;margin:0;font-size:.875rem;font-style:italic}.fc-card--correct{border-color:#86efac}.fc-card--incorrect{border-color:#fca5a5}.fc-card__result-badge{border-radius:6px;align-items:center;width:fit-content;padding:.3rem .75rem;font-size:.85rem;font-weight:600;display:inline-flex}.fc-card__result-badge--correct{color:#166534;background-color:#dcfce7}.fc-card__result-badge--incorrect{color:#991b1b;background-color:#fee2e2}.fc-card__result-badge--neutral{color:#374151;background-color:#f3f4f6}.fc-card__mcq-option--correct{color:#166534;background-color:#f0fdf4;border-color:#4ade80}.fc-card__mcq-option--wrong{color:#991b1b;background-color:#fef2f2;border-color:#f87171}.fc-card__mcq-correct-mark{color:#16a34a;margin-left:auto;font-size:1rem;font-weight:700}.fc-card__mcq-wrong-mark{color:#dc2626;margin-left:auto;font-size:1rem;font-weight:700}.fc-card__short-answer:disabled,.fc-card__essay:disabled{color:#6b7280;cursor:not-allowed;background-color:#f9fafb}.fc-summary-phase{flex-direction:column;flex:1;justify-content:center;align-items:center;padding:3rem 1rem;display:flex}.fc-summary-phase__card{text-align:center;background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;align-items:center;gap:1.5rem;width:100%;max-width:480px;padding:2.5rem 3rem;display:flex;box-shadow:0 2px 8px #0000000f}.fc-summary-phase__title{color:#111827;margin:0;font-size:1.5rem;font-weight:700}.fc-summary-phase__stat{color:#374151;margin:0;font-size:1.1rem}.fc-summary-phase__actions{flex-wrap:wrap;justify-content:center;gap:.75rem;width:100%;display:flex}.fc-summary-phase__restart-btn{color:#fff;cursor:pointer;background-color:#2563eb;border:none;border-radius:6px;padding:.6rem 1.75rem;font-size:.9rem;font-weight:500;transition:background-color .15s}.fc-summary-phase__restart-btn:hover{background-color:#1d4ed8}.fc-summary-phase__restart-btn:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.fc-summary-phase__back-btn{color:#374151;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.6rem 1.75rem;font-size:.9rem;font-weight:500;transition:background-color .15s}.fc-summary-phase__back-btn:hover{background-color:#f3f4f6}.fc-summary-phase__back-btn:focus-visible{outline-offset:2px;outline:2px solid #2563eb}@media (width<=600px){.fc-session-page{padding:1.25rem 1rem}.fc-card{padding:1.25rem}.fc-session-phase__topbar{flex-direction:column;align-items:flex-start;gap:.5rem}.fc-session-phase__progress-wrapper{justify-content:flex-start}.fc-setup-phase{padding:2rem .5rem}.fc-summary-phase__card{padding:1.75rem 1.25rem}.fc-summary-phase__actions{flex-direction:column;align-items:stretch}}.fc-review-slide{flex-direction:column;gap:1rem;display:flex}.fc-review-result-badge{border-radius:8px;align-self:flex-start;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:1rem;font-weight:600;display:inline-flex}.fc-review-result-badge--correct{color:#166534;background-color:#dcfce7;border:1px solid #86efac}.fc-review-result-badge--incorrect{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca}.fc-review-result-badge--neutral{color:#374151;background-color:#f3f4f6;border:1px solid #d1d5db}.fc-session-phase__nav-btn--check{color:#fff;background-color:#7c3aed;border:1px solid #7c3aed}.fc-session-phase__nav-btn--check:hover{background-color:#6d28d9}.role-selection-slide{flex-direction:column;gap:1.25rem;display:flex}.role-selection-description{color:#6b7280;margin:0;font-size:.875rem;line-height:1.5}.role-cards{flex-direction:column;gap:.75rem;display:flex}.role-card{cursor:pointer;text-align:left;background:#f9fafb;border:2px solid #e5e7eb;border-radius:8px;align-items:center;gap:1rem;width:100%;padding:1.25rem 1.5rem;font-family:inherit;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.role-card:hover:not(:disabled){background:#faf5ff;border-color:#c4b5fd}.role-card:focus-visible{outline-offset:2px;outline:2px solid #5624d0}.role-card--selected{background:#faf5ff;border-color:#5624d0;box-shadow:0 0 0 1px #5624d0}.role-card--selected:hover:not(:disabled){background:#f3e8ff;border-color:#5624d0}.role-card--disabled,.role-card:disabled{opacity:.45;cursor:not-allowed}.role-card__icon{flex-shrink:0;font-size:1.75rem;line-height:1}.role-card__title{color:#1c1d1f;font-size:1rem;font-weight:700;display:block}.role-card__description{color:#6b7280;margin-top:.125rem;font-size:.8125rem;display:block}.role-card{flex-wrap:wrap}.role-card__title{flex:1 0 calc(100% - 3.75rem)}.role-card__description{flex:1 0 calc(100% - 3.75rem);margin-left:2.75rem}.role-selection-slide .field-error{color:#ef4444;margin:0;font-size:.8125rem;line-height:1.4}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.profile-setup-page{background:#f9fafb;justify-content:center;align-items:center;min-height:100vh;padding:2rem 1rem;display:flex}.profile-setup-container{background:#fff;border-radius:8px;flex-direction:column;width:100%;max-width:560px;min-height:480px;padding:2.5rem;display:flex;box-shadow:0 1px 3px #00000014,0 4px 12px #0000000a}.profile-setup-container h1{color:#1c1d1f;text-align:center;margin:0 0 .5rem;font-size:1.5rem;font-weight:800}.profile-setup-subtitle{color:#6b7280;text-align:center;margin:0 0 2rem;font-size:.875rem;line-height:1.5}.profile-setup-container .form-group{margin-bottom:1.5rem}.profile-setup-container label{color:#374151;margin-bottom:.375rem;font-size:.8125rem;font-weight:600;display:block}.profile-setup-container input[type=text]{color:#1c1d1f;box-sizing:border-box;background:#fff;border:1px solid #d1d5db;border-radius:4px;width:100%;padding:.75rem .875rem;font-size:.9375rem;transition:border-color .15s,box-shadow .15s}.profile-setup-container input[type=text]:focus{border-color:#5624d0;outline:none;box-shadow:0 0 0 3px #5624d01a}.profile-setup-container input[type=text]:disabled{color:#9ca3af;cursor:not-allowed;background:#f3f4f6}.profile-setup-container input[type=text][aria-invalid=true]{border-color:#ef4444}.profile-setup-container .field-error,.profile-setup-container .api-error{margin:.375rem 0 0;font-size:.8125rem;line-height:1.4}.profile-setup-container .field-error{color:#ef4444}.profile-setup-container .api-error{color:#ef4444;background:#fef2f2;border:1px solid #fecaca;border-radius:4px;padding:.5rem .75rem}.profile-setup-container button[type=submit]{color:#fff;cursor:pointer;background:#5624d0;border:none;border-radius:4px;justify-content:center;align-items:center;width:100%;padding:.875rem 1.5rem;font-size:.9375rem;font-weight:700;transition:background .15s,opacity .15s;display:flex}.profile-setup-container button[type=submit]:hover:not(:disabled){background:#401b9c}.profile-setup-container button[type=submit]:focus-visible{outline-offset:2px;outline:2px solid #5624d0}.profile-setup-container button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.wizard-navigation{justify-content:space-between;align-items:center;gap:1rem;margin-top:auto;padding-top:2rem;display:flex}.wizard-btn{cursor:pointer;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.875rem 1.5rem;font-size:.9375rem;font-weight:700;transition:background .15s,opacity .15s;display:flex}.wizard-btn:disabled{opacity:.6;cursor:not-allowed}.wizard-btn:focus-visible{outline-offset:2px;outline:2px solid #5624d0}.wizard-btn-back{color:#5624d0;background:0 0;border:1px solid #5624d0}.wizard-btn-back:hover:not(:disabled){background:#5624d00d}.wizard-btn-continue,.wizard-btn-submit{color:#fff;background:#5624d0;flex:1}.wizard-btn-continue:hover:not(:disabled),.wizard-btn-submit:hover:not(:disabled){background:#401b9c}.session-form-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.session-form-dialog{background:#fff;border-radius:.5rem;flex-direction:column;gap:1rem;width:100%;max-width:520px;padding:1.5rem;display:flex;box-shadow:0 20px 60px #0003}.session-form-title{color:#111827;margin:0;font-size:1.125rem;font-weight:600}.session-form-server-error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin:0;padding:.75rem 1rem;font-size:.875rem}.session-form{flex-direction:column;gap:1.125rem;display:flex}.session-form-field{flex-direction:column;gap:.375rem;display:flex}.session-form-label{color:#374151;font-size:.875rem;font-weight:500}.session-form-input{color:#1f2937;box-sizing:border-box;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:.5rem .75rem;font-family:inherit;font-size:.9375rem;transition:border-color .15s,box-shadow .15s}.session-form-input::placeholder{color:#9ca3af}.session-form-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.session-form-input:disabled{color:#6b7280;cursor:not-allowed;background-color:#f9fafb}.session-form-input--error{border-color:#ef4444}.session-form-input--error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.session-form-fieldset{border:1px solid #e5e7eb;border-radius:6px;flex-direction:column;gap:.5rem;margin:0;padding:.75rem 1rem;display:flex}.session-form-fieldset--error{border-color:#ef4444}.session-form-legend{color:#374151;padding:0 .25rem;font-size:.875rem;font-weight:500}.session-form-radio-group{flex-direction:column;gap:.5rem;display:flex}.session-form-radio-label{color:#1f2937;cursor:pointer;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.session-form-radio-label input[type=radio]{accent-color:#3b82f6;cursor:pointer;flex-shrink:0}.session-form-radio-label input[type=radio]:disabled{cursor:not-allowed}.session-form-field-error{color:#ef4444;margin:0;font-size:.8125rem}.session-form-actions{justify-content:flex-end;gap:.5rem;margin-top:.25rem;display:flex}.session-form-btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:.375rem;justify-content:center;align-items:center;padding:.5rem 1.125rem;font-family:inherit;font-size:.875rem;font-weight:500;transition:background-color .15s,opacity .15s;display:inline-flex}.session-form-btn:disabled{opacity:.6;cursor:not-allowed}.session-form-btn--primary{color:#fff;background-color:#2563eb;border-color:#2563eb}.session-form-btn--primary:not(:disabled):hover{background-color:#1d4ed8}.session-form-btn--secondary{color:#374151;background-color:#fff;border-color:#d1d5db}.session-form-btn--secondary:not(:disabled):hover{background-color:#f9fafb}.zoom-settings{max-width:560px}.zoom-settings__header{margin:0 0 1rem;font-size:1.25rem;font-weight:600}.zoom-settings__loading{color:#6b7280;font-size:.9375rem}.zoom-settings__error{color:#b91c1c;background-color:#fef2f2;border:1px solid #fca5a5;border-radius:6px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9375rem}.zoom-settings__reauth-banner{background-color:#fffbeb;border:1px solid #fbbf24;border-radius:6px;align-items:flex-start;gap:.625rem;margin-bottom:1rem;padding:.75rem 1rem;display:flex}.zoom-settings__reauth-icon{flex-shrink:0;font-size:1.125rem;line-height:1.5}.zoom-settings__reauth-text{color:#92400e;font-size:.9375rem;line-height:1.5}.zoom-settings__details{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:1rem;padding:1rem}.zoom-settings__field{flex-direction:column;gap:.125rem;margin-bottom:.75rem;display:flex}.zoom-settings__field:last-child{margin-bottom:0}.zoom-settings__label{color:#6b7280;text-transform:uppercase;letter-spacing:.04em;font-size:.8125rem;font-weight:500}.zoom-settings__value{color:#111827;font-size:.9375rem}.zoom-settings__description{color:#4b5563;margin:0 0 1rem;font-size:.9375rem;line-height:1.6}.zoom-settings__connect-btn,.zoom-settings__disconnect-btn{cursor:pointer;border:none;border-radius:6px;padding:.5rem 1.25rem;font-size:.9375rem;font-weight:500;transition:background-color .15s}.zoom-settings__connect-btn{color:#fff;background-color:#2563eb}.zoom-settings__connect-btn:hover:not(:disabled){background-color:#1d4ed8}.zoom-settings__connect-btn:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.zoom-settings__disconnect-btn{color:#b91c1c;background-color:#fee2e2}.zoom-settings__disconnect-btn:hover:not(:disabled){background-color:#fecaca}.zoom-settings__disconnect-btn:focus-visible{outline-offset:2px;outline:2px solid #b91c1c}.zoom-settings__connect-btn:disabled,.zoom-settings__disconnect-btn:disabled{cursor:not-allowed;opacity:.6}
