@import url(https://fonts.googleapis.com/css2?family=Figtree:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&family=Roboto+Mono:wght@400;500&display=swap);*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }

/*
! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}[data-debug-wrapper=true]{display:contents!important}[data-debug-wrapper=true]>*{border:inherit;column-gap:inherit;gap:inherit;margin:inherit;padding:inherit;row-gap:inherit}.\!container{width:100%!important}.container{width:100%}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.mt-16{margin-top:4rem}.block{display:block}.\!inline{display:inline!important}.inline{display:inline}.flex{display:flex}.table{display:table}.table-row{display:table-row}.grid{display:grid}.hidden{display:none}.flex-grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-not-allowed{cursor:not-allowed}.flex-wrap{flex-wrap:wrap}.border{border-width:1px}.border-blue-200{--tw-border-opacity:1;border-color:#bfdbfe;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-green-200{--tw-border-opacity:1;border-color:#bbf7d0;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.border-purple-200{--tw-border-opacity:1;border-color:#e9d5ff;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.border-red-200{--tw-border-opacity:1;border-color:#fecaca;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-teal-200{--tw-border-opacity:1;border-color:#99f6e4;border-color:rgb(153 246 228/var(--tw-border-opacity,1))}.border-yellow-200{--tw-border-opacity:1;border-color:#fef08a;border-color:rgb(254 240 138/var(--tw-border-opacity,1))}.bg-blue-50{--tw-bg-opacity:1;background-color:#eff6ff;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-green-50{--tw-bg-opacity:1;background-color:#f0fdf4;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.bg-purple-50{--tw-bg-opacity:1;background-color:#faf5ff;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:#fef2f2;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-teal-50{--tw-bg-opacity:1;background-color:#f0fdfa;background-color:rgb(240 253 250/var(--tw-bg-opacity,1))}.bg-yellow-50{--tw-bg-opacity:1;background-color:#fefce8;background-color:rgb(254 252 232/var(--tw-bg-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:#2563eb;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:#16a34a;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-purple-600{--tw-text-opacity:1;color:#9333ea;color:rgb(147 51 234/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:#dc2626;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-teal-600{--tw-text-opacity:1;color:#0d9488;color:rgb(13 148 136/var(--tw-text-opacity,1))}.text-yellow-600{--tw-text-opacity:1;color:#ca8a04;color:rgb(202 138 4/var(--tw-text-opacity,1))}.opacity-50{opacity:.5}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-1,.ring-2{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fafaf7;font-family:Figtree,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0}code{font-family:Roboto Mono,source-code-pro,Menlo,Monaco,Consolas,monospace}.hover\:border-blue-300:hover{--tw-border-opacity:1;border-color:#93c5fd;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.hover\:border-green-300:hover{--tw-border-opacity:1;border-color:#86efac;border-color:rgb(134 239 172/var(--tw-border-opacity,1))}.hover\:border-purple-300:hover{--tw-border-opacity:1;border-color:#d8b4fe;border-color:rgb(216 180 254/var(--tw-border-opacity,1))}.hover\:border-red-300:hover{--tw-border-opacity:1;border-color:#fca5a5;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.hover\:border-teal-300:hover{--tw-border-opacity:1;border-color:#5eead4;border-color:rgb(94 234 212/var(--tw-border-opacity,1))}.hover\:border-yellow-300:hover{--tw-border-opacity:1;border-color:#fde047;border-color:rgb(253 224 71/var(--tw-border-opacity,1))}.hover\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:#dbeafe;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:#dcfce7;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.hover\:bg-purple-100:hover{--tw-bg-opacity:1;background-color:#f3e8ff;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.hover\:bg-red-100:hover{--tw-bg-opacity:1;background-color:#fee2e2;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.hover\:bg-teal-100:hover{--tw-bg-opacity:1;background-color:#ccfbf1;background-color:rgb(204 251 241/var(--tw-bg-opacity,1))}.hover\:bg-yellow-100:hover{--tw-bg-opacity:1;background-color:#fef9c3;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.auth-container{align-items:center;background:linear-gradient(to bottom right,var(--gray-50),#fff,var(--gray-50));display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:24px;position:relative}.auth-gradient-band{background:linear-gradient(135deg,var(--indigo-50) 0,var(--purple-50) 50%,var(--gray-50) 100%);height:40vh;left:0;position:absolute;right:0;top:0;z-index:0}.auth-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft-xl);max-width:440px;padding:48px 40px;position:relative;width:100%;z-index:1}.auth-header{margin-bottom:36px;text-align:center}.auth-logo{align-items:center;background:var(--indigo-50);border-radius:var(--radius-lg);color:var(--primary);display:flex;height:60px;justify-content:center;margin:0 auto 20px;width:60px}.auth-header h1{color:var(--text-heading);font-size:28px;font-weight:600;margin-bottom:8px}.auth-header p{color:var(--gray-500);font-size:15px;line-height:1.5}.auth-form{display:flex;flex-direction:column;gap:20px}.form-group small{color:var(--gray-500);font-size:12px}.input-with-icon{position:relative}.input-icon{color:var(--gray-400);left:14px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.input-with-icon-padding{padding-left:44px!important}.error-message{background:var(--red-50);border:1px solid var(--red-100);border-radius:var(--radius-lg);margin-bottom:20px;padding:14px 18px}.auth-footer{color:var(--gray-500);font-size:14px;margin-top:32px;text-align:center}.auth-link{color:var(--primary);font-weight:500;text-decoration:none;transition:color var(--transition-fast)}.auth-link:hover{color:var(--primary-hover);text-decoration:underline}@media (max-width:480px){.auth-card{border-radius:var(--radius-lg);padding:36px 24px}.auth-header h1{font-size:24px}}.document-viewer-overlay{align-items:center;animation:docViewerFadeIn .2s ease;background:#000000d9;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:9999}@keyframes docViewerFadeIn{0%{opacity:0}to{opacity:1}}.document-viewer-modal{animation:docViewerScaleIn .2s ease;background:#fff;border-radius:16px;box-shadow:0 25px 50px -12px #00000080;display:flex;flex-direction:column;height:85vh;max-height:800px;max-width:900px;opacity:1!important;overflow:hidden;width:100%}@keyframes docViewerScaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.document-viewer-header{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;flex-shrink:0;justify-content:space-between;padding:16px 20px}.document-viewer-header .header-info{align-items:center;display:flex;gap:12px;min-width:0}.document-viewer-header .header-info svg{color:#6366f1;flex-shrink:0}.document-viewer-header .header-text{min-width:0}.document-viewer-header .header-text h2{color:#1f2937;font-size:1.1rem;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-viewer-header .header-meta{color:#6b7280;font-size:.75rem}.document-viewer-header .header-actions{align-items:center;display:flex;gap:8px}.document-viewer-header .btn-icon{align-items:center;background:#0000;border:none;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .15s ease;width:36px}.document-viewer-header .btn-icon:hover{background:#f3f4f6;color:#1f2937}.document-hint-bar{align-items:center;background:#f0f9ff;border-bottom:1px solid #bae6fd;color:#0369a1;display:flex;font-size:.8rem;font-weight:500;gap:8px;justify-content:center;padding:10px 16px}.document-hint-bar svg{color:#0ea5e9}.document-content-area{background:#fff;flex:1 1;overflow-y:auto;padding:24px;position:relative}.document-text-content{background:#fff;margin:0 auto;max-width:800px}.document-text{background:#0000;color:#1f2937;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:.95rem;line-height:1.8;margin:0;opacity:1}.document-text-content::selection,.document-text::selection{background:#6366f14d}.document-viewer-modal .empty-state,.document-viewer-modal .error-state,.document-viewer-modal .loading-state{align-items:center;background:#fff;color:#6b7280;display:flex;flex-direction:column;gap:16px;height:100%;justify-content:center}.document-viewer-modal .loading-state svg{color:#6366f1}.document-viewer-modal .empty-state svg{color:#9ca3af;opacity:.5}.selection-menu{align-items:center;animation:popIn .15s ease;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 4px 20px #00000026;display:flex;gap:4px;padding:6px;position:absolute;z-index:100}@keyframes popIn{0%{opacity:0;transform:translateY(8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.selection-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;font-size:.8rem;font-weight:500;gap:6px;padding:8px 12px;transition:all .15s ease;white-space:nowrap}.selection-btn:hover{background:#f3f4f6;color:#1f2937}.selection-btn.primary{background:#6366f1;color:#fff}.selection-btn.primary:hover{background:#4f46e5}@media (max-width:768px){.document-viewer-modal{border-radius:0;height:100vh;max-height:none;max-width:100%}.document-viewer-header{padding:12px 16px}.document-viewer-header .header-text h2{font-size:1rem}.document-content-area{padding:16px}.document-text{font-size:.9rem;line-height:1.7}.selection-menu{left:50%!important;transform:translateX(-50%)}.document-hint-bar{font-size:.75rem}}@media (prefers-color-scheme:dark){.document-viewer-modal{background:#1f2937}.document-viewer-header{background:#1f2937;border-color:#374151}.document-viewer-header .header-text h2{color:#f9fafb}.document-viewer-header .btn-icon,.document-viewer-header .header-meta{color:#9ca3af}.document-viewer-header .btn-icon:hover{background:#374151;color:#f9fafb}.document-hint-bar{background:#1e3a5f;border-color:#2563eb;color:#93c5fd}.document-hint-bar svg{color:#60a5fa}.document-content-area,.document-text-content{background:#1f2937}.document-text{color:#f9fafb}.selection-menu{background:#374151;border-color:#4b5563}.selection-btn{color:#d1d5db}.selection-btn:hover{background:#4b5563;color:#f9fafb}.document-viewer-modal .empty-state,.document-viewer-modal .error-state,.document-viewer-modal .loading-state{background:#1f2937;color:#9ca3af}}.app-layout{background:#f8fafc;background:var(--background,#f8fafc);display:flex;flex-direction:column;min-height:100vh}.app-header{background:#fff;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border,#e2e8f0);box-shadow:0 1px 3px #0000000d;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-inner{display:flex;height:64px;justify-content:space-between;margin:0 auto;max-width:1400px;padding:0 24px}.header-inner,.header-left{align-items:center}.app-logo{color:#1e293b;color:var(--text,#1e293b);gap:10px;text-decoration:none}.app-logo,.logo-icon{align-items:center;display:flex}.logo-icon{border-radius:10px;color:#fff;height:40px;justify-content:center;width:40px}.logo-icon,.logo-text{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.logo-text{-webkit-text-fill-color:#0000;-webkit-background-clip:text;background-clip:text;font-size:20px;font-weight:700}.main-tabs{background:#f1f5f9;background:var(--elevated,#f1f5f9);border-radius:12px;padding:4px}.main-tabs,.tab-item{align-items:center;display:flex;gap:8px}.tab-item{background:#0000;border:none;border-radius:10px;color:#64748b;color:var(--muted,#64748b);cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s ease;white-space:nowrap}.tab-item:hover{background:#6366f10d;color:#1e293b;color:var(--text,#1e293b)}.tab-item.active{background:#fff;box-shadow:0 2px 8px #6366f126;color:#6366f1}.tab-item svg{flex-shrink:0}.tab-item.placeholder{opacity:.7;position:relative}.tab-item.placeholder:hover{opacity:.85}.soon-badge{background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:4px;color:#fff;font-size:8px;font-weight:700;letter-spacing:.5px;padding:2px 4px;position:absolute;right:2px;text-transform:uppercase;top:2px}.header-right{gap:8px}.header-right,.icon-btn{align-items:center;display:flex}.icon-btn{background:#0000;border:none;border-radius:10px;color:#64748b;color:var(--muted,#64748b);cursor:pointer;height:40px;justify-content:center;transition:all .2s ease;width:40px}.icon-btn:hover{background:#f1f5f9;background:var(--elevated,#f1f5f9);color:#1e293b;color:var(--text,#1e293b)}.profile-dropdown-wrapper{position:relative}.profile-trigger{align-items:center;background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:12px;cursor:pointer;display:flex;gap:10px;padding:6px 12px 6px 6px;transition:all .2s ease}.profile-trigger:hover{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.avatar{align-items:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:8px;color:#fff;display:flex;font-size:14px;font-weight:600;height:32px;justify-content:center;width:32px}.profile-name{color:#1e293b;color:var(--text,#1e293b);font-size:14px;font-weight:500;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-trigger svg{color:#64748b;color:var(--muted,#64748b);transition:transform .2s ease}.profile-trigger svg.rotated{transform:rotate(180deg)}.profile-dropdown{animation:dropdownSlide .2s ease;background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:14px;box-shadow:0 10px 40px #0000001f;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);width:260px;z-index:200}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{align-items:center;background:#f8fafc;background:var(--elevated,#f8fafc);display:flex;gap:12px;padding:16px}.dropdown-avatar{align-items:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:12px;color:#fff;display:flex;flex-shrink:0;font-size:18px;font-weight:600;height:44px;justify-content:center;width:44px}.dropdown-user-info{display:flex;flex-direction:column;gap:2px;overflow:hidden}.dropdown-name{color:#1e293b;color:var(--text,#1e293b);font-size:14px;font-weight:600}.dropdown-email,.dropdown-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-email{color:#64748b;color:var(--muted,#64748b);font-size:12px}.dropdown-divider{background:#e2e8f0;background:var(--border,#e2e8f0);height:1px}.dropdown-item{align-items:center;background:#0000;border:none;color:#1e293b;color:var(--text,#1e293b);cursor:pointer;display:flex;font-size:14px;gap:12px;padding:12px 16px;text-decoration:none;transition:all .15s ease;width:100%}.dropdown-item:hover{background:#f8fafc;background:var(--elevated,#f8fafc)}.dropdown-item svg{color:#64748b;color:var(--muted,#64748b)}.dropdown-item.danger,.dropdown-item.danger svg{color:#ef4444}.dropdown-item.danger:hover{background:#fef2f2}.mobile-menu-toggle{align-items:center;background:#0000;border:none;border-radius:10px;color:#1e293b;color:var(--text,#1e293b);cursor:pointer;display:none;height:40px;justify-content:center;width:40px}.mobile-nav{background:#fff;border-top:1px solid #e2e8f0;border-top:1px solid var(--border,#e2e8f0);display:none;flex-direction:column;padding:8px 16px 16px}.mobile-tab-item{align-items:center;background:#0000;border:none;border-radius:10px;color:#64748b;color:var(--muted,#64748b);cursor:pointer;display:flex;font-size:15px;font-weight:500;gap:12px;padding:14px 16px;text-align:left;transition:all .2s ease}.mobile-tab-item:hover{background:#f1f5f9;background:var(--elevated,#f1f5f9)}.mobile-tab-item.active{background:#6366f11a;color:#6366f1}@media (max-width:900px){.main-tabs{display:none}.mobile-menu-toggle,.mobile-nav{display:flex}.profile-name{display:none}}@media (max-width:640px){.header-inner{height:56px;padding:0 16px}.logo-text{display:none}.logo-icon{height:36px;width:36px}}.app-main{display:flex;flex:1 1;flex-direction:column}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_AMS-Regular.73ea273a72f4aca30ca5.woff2) format("woff2"),url(/static/media/KaTeX_AMS-Regular.d562e886c52f12660a41.woff) format("woff"),url(/static/media/KaTeX_AMS-Regular.853be92419a6c3766b9a.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/static/media/KaTeX_Caligraphic-Bold.a1abf90dfd72792a577a.woff2) format("woff2"),url(/static/media/KaTeX_Caligraphic-Bold.d757c535a2e5902f1325.woff) format("woff"),url(/static/media/KaTeX_Caligraphic-Bold.7489a2fbfb9bfe704420.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Caligraphic-Regular.d6484fce1ef428d5bd94.woff2) format("woff2"),url(/static/media/KaTeX_Caligraphic-Regular.db074fa22cf224af93d7.woff) format("woff"),url(/static/media/KaTeX_Caligraphic-Regular.7e873d3833eb108a0758.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/static/media/KaTeX_Fraktur-Bold.931d67ea207ab37ee693.woff2) format("woff2"),url(/static/media/KaTeX_Fraktur-Bold.354501bac435c3264834.woff) format("woff"),url(/static/media/KaTeX_Fraktur-Bold.4c761b3711973ab04edf.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Fraktur-Regular.172d3529b26f8cedef6b.woff2) format("woff2"),url(/static/media/KaTeX_Fraktur-Regular.6fdf0ac577be0ba82a4c.woff) format("woff"),url(/static/media/KaTeX_Fraktur-Regular.ed305b5434865e06ffde.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/static/media/KaTeX_Main-Bold.39890742bc957b368704.woff2) format("woff2"),url(/static/media/KaTeX_Main-Bold.0c3b8929d377c0e9b2f3.woff) format("woff"),url(/static/media/KaTeX_Main-Bold.8169508bf58f8bd92ad8.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/static/media/KaTeX_Main-BoldItalic.20f389c4120be058d80a.woff2) format("woff2"),url(/static/media/KaTeX_Main-BoldItalic.428978dc7837d46de091.woff) format("woff"),url(/static/media/KaTeX_Main-BoldItalic.828abcb200061cffbaae.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/static/media/KaTeX_Main-Italic.fe2176f79edaa716e621.woff2) format("woff2"),url(/static/media/KaTeX_Main-Italic.fd947498bc16392e76c2.woff) format("woff"),url(/static/media/KaTeX_Main-Italic.fa675e5e4bec9eb250b6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Main-Regular.f650f111a3b890d116f1.woff2) format("woff2"),url(/static/media/KaTeX_Main-Regular.4f35fbcc9ee8614c2bcc.woff) format("woff"),url(/static/media/KaTeX_Main-Regular.9eba1d77abcf2aa6e94e.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/static/media/KaTeX_Math-BoldItalic.dcbcbd93bac0470b462d.woff2) format("woff2"),url(/static/media/KaTeX_Math-BoldItalic.3f07ed67f06c720120ce.woff) format("woff"),url(/static/media/KaTeX_Math-BoldItalic.bf2d440b3a42ea78a998.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/static/media/KaTeX_Math-Italic.6d3d25f4820d0da8f01f.woff2) format("woff2"),url(/static/media/KaTeX_Math-Italic.96759856b4e70f3a8338.woff) format("woff"),url(/static/media/KaTeX_Math-Italic.8a5f936332e8028c7278.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:normal;font-weight:700;src:url(/static/media/KaTeX_SansSerif-Bold.95591a929f0d32aa282a.woff2) format("woff2"),url(/static/media/KaTeX_SansSerif-Bold.b9cd458ac6d5889ff9c3.woff) format("woff"),url(/static/media/KaTeX_SansSerif-Bold.5b49f4993ae22d7975b4.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:italic;font-weight:400;src:url(/static/media/KaTeX_SansSerif-Italic.7d393d382f3e7fb1c637.woff2) format("woff2"),url(/static/media/KaTeX_SansSerif-Italic.8d593cfaa96238d5e2f8.woff) format("woff"),url(/static/media/KaTeX_SansSerif-Italic.b257a18c016f37ee4543.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:normal;font-weight:400;src:url(/static/media/KaTeX_SansSerif-Regular.cd5e231e0cc53b2cb2c0.woff2) format("woff2"),url(/static/media/KaTeX_SansSerif-Regular.02271ec5cb9f5b4588ac.woff) format("woff"),url(/static/media/KaTeX_SansSerif-Regular.2f7bc363fc5424ebda59.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Script-Regular.c81d1b2a4b75d3eded60.woff2) format("woff2"),url(/static/media/KaTeX_Script-Regular.073b3402d036714b4370.woff) format("woff"),url(/static/media/KaTeX_Script-Regular.fc9ba5249878cd8f8d88.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size1-Regular.6eec866c69313624be60.woff2) format("woff2"),url(/static/media/KaTeX_Size1-Regular.0108e89c9003e8c14ea3.woff) format("woff"),url(/static/media/KaTeX_Size1-Regular.6de7d4b539221a49e9e2.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size2-Regular.2960900c4f271311eb36.woff2) format("woff2"),url(/static/media/KaTeX_Size2-Regular.3a99e70aee4076660d38.woff) format("woff"),url(/static/media/KaTeX_Size2-Regular.57f5c1837853986ea1db.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size3-Regular.e1951519f6f0596f7356.woff2) format("woff2"),url(/static/media/KaTeX_Size3-Regular.7947224e8a9914fa332b.woff) format("woff"),url(/static/media/KaTeX_Size3-Regular.8d6b6822586eea3d3b20.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size4-Regular.e418bf257af1052628d8.woff2) format("woff2"),url(/static/media/KaTeX_Size4-Regular.aeffd8025cba3647f1a6.woff) format("woff"),url(/static/media/KaTeX_Size4-Regular.4ad7c7e8bb8d10a34bb7.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Typewriter-Regular.c295e7f71970f03c0549.woff2) format("woff2"),url(/static/media/KaTeX_Typewriter-Regular.4c6b94fd1d07f8beff7c.woff) format("woff"),url(/static/media/KaTeX_Typewriter-Regular.c5c02d763c89380dcb4e.ttf) format("truetype")}.katex{font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.27"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}.notebooks-page{background:linear-gradient(to bottom right,var(--gray-50),#fff,var(--gray-50));min-height:100vh}.user-name{background:var(--gray-100);border-radius:var(--radius-lg);padding:8px 14px}.content-wrapper{margin:0 auto;max-width:1280px;padding:56px 32px}.content-header{align-items:flex-start;display:flex;gap:24px;justify-content:space-between;margin-bottom:48px}.page-title{color:var(--text-heading);font-size:36px;font-weight:600;margin-bottom:10px}.page-subtitle{color:var(--gray-500);font-size:16px;line-height:1.6;max-width:600px}.loading-state{gap:20px;padding:96px 32px}.skeleton-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));width:100%}.skeleton-card{background:#fff;border:1px solid var(--border);padding:28px}.skeleton-icon{height:52px;margin-bottom:18px;width:52px}.skeleton-title{height:24px;margin-bottom:14px;width:70%}.skeleton-text{height:16px;margin-bottom:10px;width:100%}.skeleton-text-short{height:14px;width:40%}.empty-state{padding:96px 32px}.empty-icon-wrapper{align-items:center;background:linear-gradient(135deg,var(--indigo-50) 0,var(--purple-50) 100%);border-radius:28px;color:var(--primary);display:flex;height:100px;justify-content:center;margin-bottom:28px;width:100px}.empty-state h3{font-size:24px}.empty-state p{font-size:16px;line-height:1.6;margin-bottom:32px;max-width:400px;.notebook-card-menu{position:absolute;right:12px;top:12px;z-index:10}.notebook-menu-btn{align-items:center;background:#0000;border:none;border-radius:var(--radius);color:var(--gray-400);cursor:pointer;display:flex;justify-content:center;opacity:0;padding:8px;transition:all .2s ease}.notebook-card:hover .notebook-menu-btn{opacity:1}.notebook-menu-btn:hover{background:var(--gray-100);color:var(--gray-600)}.notebook-menu-dropdown{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 4px 20px #00000026;margin-top:4px;min-width:140px;overflow:hidden;position:absolute;right:0;top:100%;z-index:100}.notebook-menu-dropdown .menu-item{align-items:center;background:none;border:none;color:var(--gray-700);cursor:pointer;display:flex;font-size:14px;gap:10px;padding:10px 14px;text-align:left;transition:background .15s ease;width:100%}.notebook-menu-dropdown .menu-item:hover{background:var(--gray-50)}.notebook-menu-dropdown .menu-item.danger{color:var(--red-600)}.notebook-menu-dropdown .menu-item.danger:hover{background:var(--red-50)}.delete-modal{max-width:420px}.delete-modal-content{padding:32px;text-align:center}.delete-icon{align-items:center;background:var(--red-50);border-radius:50%;color:var(--red-500);display:flex;height:80px;justify-content:center;margin:0 auto 20px;width:80px}.delete-modal h2{color:var(--text-heading);font-size:20px;font-weight:600;margin-bottom:12px}.delete-modal p{color:var(--gray-600);font-size:14px;margin-bottom:8px}.delete-warning{background:var(--red-50);border-radius:var(--radius);color:var(--red-600);font-size:13px;margin:16px 0;padding:12px}.delete-modal-actions{display:flex;gap:12px;justify-content:center;margin-top:24px}.btn-danger{background:var(--red-600);border:none;border-radius:var(--radius);color:#fff;cursor:pointer;font-weight:500;padding:10px 20px;transition:background .2s ease}.btn-danger:hover{background:var(--red-700)}}.notebooks-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.notebook-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft-sm);color:inherit;display:flex;gap:16px;padding:24px;position:relative;text-decoration:none;transition:all var(--transition-smooth)}.notebook-card:hover{border-color:var(--gray-300);box-shadow:var(--shadow-soft-lg);transform:translateY(-2px)}.notebook-card-icon{align-items:center;background:var(--indigo-50);border-radius:var(--radius-lg);color:var(--primary);display:flex;flex-shrink:0;height:52px;justify-content:center;width:52px}.notebook-card-content{flex:1 1;min-width:0}.notebook-title{color:var(--text-heading);font-size:18px;font-weight:600;margin-bottom:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notebook-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--gray-500);display:-webkit-box;font-size:14px;line-height:1.5;margin-bottom:14px;overflow:hidden}.notebook-meta{align-items:center;color:var(--gray-400);display:flex;gap:8px}.notebook-date{color:var(--gray-500);font-size:13px}.modal-overlay{bottom:0;left:0;right:0;top:0}.modal{max-width:500px}.modal-header h2{font-size:20px}.modal-close{background:none;font-size:28px;height:40px;padding:0;width:40px}.modal-form{gap:24px}@media (max-width:768px){.content-wrapper{padding:32px 20px}.content-header{flex-direction:column}.notebooks-grid{grid-template-columns:1fr}.nav-actions{gap:10px}.user-name{display:none}.page-title{font-size:28px}}.syllabus-wizard{display:flex;flex-direction:column;height:100%;max-height:80vh}.wizard-header{border-bottom:1px solid var(--border);justify-content:space-between;padding:20px 24px}.wizard-header,.wizard-title{align-items:center;display:flex}.wizard-title{gap:12px}.wizard-title svg{color:var(--primary)}.wizard-title h2{color:var(--gray-900);font-size:18px;font-weight:600;margin:0}.syllabus-list-view{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.list-header{align-items:center;background:var(--gray-50);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:16px 24px}.list-description{color:var(--gray-600);font-size:14px;margin:0}.syllabus-list{flex:1 1;overflow-y:auto;padding:16px 24px}.list-loading{color:var(--gray-500);gap:12px}.empty-list,.list-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:48px}.empty-list{color:var(--gray-400);text-align:center}.empty-list svg{margin-bottom:16px;opacity:.5}.empty-list h4{color:var(--gray-700);font-size:16px;font-weight:600;margin:0 0 8px}.empty-list p{font-size:14px;margin:0}.syllabus-list-item{align-items:flex-start;background:#fff;border:1px solid var(--border);border-radius:var(--radius);display:flex;gap:16px;margin-bottom:12px;padding:16px;transition:all var(--transition-fast)}.syllabus-list-item:hover{border-color:var(--indigo-200);box-shadow:0 2px 8px #0000000d}.syllabus-item-icon{align-items:center;background:var(--indigo-50);border-radius:var(--radius);color:var(--primary);display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.syllabus-item-content{flex:1 1;min-width:0}.syllabus-item-name{color:var(--gray-900);font-size:15px;font-weight:600;margin:0 0 4px}.syllabus-item-meta{color:var(--gray-600);display:flex;flex-wrap:wrap;font-size:13px;gap:4px}.syllabus-course{font-weight:500}.syllabus-updated{align-items:center;color:var(--gray-400);display:flex;font-size:12px;gap:4px;margin-top:6px}.syllabus-item-actions{display:flex;flex-shrink:0;gap:8px}.progress-step{transition:all var(--transition-fast)}.progress-step.active{background:var(--indigo-50);border-color:var(--indigo-200)}.progress-step.current{background:var(--primary);border-color:var(--primary)}.progress-step.current .step-label,.progress-step.current .step-number{color:#fff}.step-number{align-items:center;background:var(--gray-100);border-radius:50%;color:var(--gray-500);display:flex;font-size:12px;font-weight:600;height:24px;justify-content:center;width:24px}.progress-step.active .step-number{background:var(--indigo-100);color:var(--primary)}.progress-step.current .step-number{background:#fff3;color:#fff}.progress-step.active .step-label{color:var(--primary)}.wizard-error{align-items:center;background:var(--red-50);color:var(--red-600);display:flex;font-size:14px;gap:8px;padding:12px 24px}.wizard-error button{background:none;border:none;color:var(--red-600);cursor:pointer;margin-left:auto;padding:4px}.wizard-content{padding:24px}.wizard-step h3{color:var(--gray-900);font-size:16px;font-weight:600;margin:0 0 8px}.step-description{color:var(--gray-500)}.wizard-step .form-group{margin-bottom:20px}.wizard-step .form-group label{color:var(--gray-700);display:block;font-size:14px;font-weight:500;margin-bottom:8px}.wizard-step .input{background:#fff;border:1px solid var(--border);border-radius:var(--radius);font-size:14px;padding:12px 16px;transition:border-color var(--transition-fast);width:100%}.wizard-step .input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--indigo-100);outline:none}.syllabus-dropzone{align-items:center;background:var(--gray-50);border:2px dashed var(--gray-300);border-radius:var(--radius-lg);cursor:pointer;display:flex;flex-direction:column;justify-content:center;padding:48px 24px;text-align:center;transition:all var(--transition-fast)}.syllabus-dropzone.active,.syllabus-dropzone:hover{background:var(--indigo-50);border-color:var(--primary)}.syllabus-dropzone.has-file{background:var(--green-50);border-color:var(--green-500);border-style:solid}.upload-icon{color:var(--gray-400);margin-bottom:16px}.syllabus-dropzone.active .upload-icon,.syllabus-dropzone:hover .upload-icon{color:var(--primary)}.dropzone-text{color:var(--gray-700);margin:0 0 8px}.file-types{font-size:13px}.uploaded-file{flex-direction:column;gap:8px;position:relative}.uploaded-file svg{color:var(--green-600)}.file-name{color:var(--gray-900);font-size:14px;font-weight:500}.file-size{color:var(--gray-500);font-size:12px}.remove-file{align-items:center;background:var(--red-500);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:24px;justify-content:center;position:absolute;right:-8px;top:-8px;width:24px}.web-context-toggle{background:var(--gray-50);border-radius:var(--radius);margin-top:24px;padding:16px}.toggle-label{align-items:center;cursor:pointer;display:flex;gap:8px}.toggle-label input[type=checkbox]{accent-color:var(--primary);height:18px;width:18px}.toggle-text{align-items:center;color:var(--gray-700);display:flex;font-size:14px;font-weight:500;gap:6px}.toggle-text svg{color:var(--primary)}.toggle-hint{color:var(--gray-500);font-size:12px;margin:8px 0 0 26px}.skip-link{color:var(--gray-500);display:block;font-size:14px;margin-top:24px;text-align:center}.skip-link:hover{color:var(--primary)}.tree-editor-step{display:flex;flex-direction:column;height:100%}.tree-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.tree-header-actions{display:flex;gap:8px}.confidence-summary{background:var(--gray-50);border-radius:var(--radius);display:flex;gap:16px;margin-bottom:16px;padding:12px 16px}.confidence-item{align-items:center;display:flex;font-size:13px;font-weight:500;gap:6px}.confidence-item.high{color:var(--green-600)}.confidence-item.medium{color:var(--amber-600)}.confidence-item.low{color:var(--red-600)}.add-root-form{background:var(--indigo-50);border-radius:var(--radius);display:flex;gap:8px;margin-bottom:16px;padding:12px}.add-root-form .input{flex:1 1;padding:8px 12px}.level-select{padding:8px 12px;width:auto!important}.syllabus-tree{background:#fff;border:1px solid var(--border);border-radius:var(--radius);flex:1 1;overflow-y:auto}.empty-tree{color:var(--gray-400);padding:48px}.empty-tree p{font-size:14px;margin:0}.tree-node{border-bottom:1px solid var(--gray-100)}.tree-node:last-child{border-bottom:none}.tree-node-content{align-items:center;display:flex;gap:8px;padding:10px 12px;transition:background var(--transition-fast)}.tree-node-content:hover{background:var(--gray-50)}.tree-expand-btn{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--gray-400);cursor:pointer;display:flex;height:24px;justify-content:center;width:24px}.tree-expand-btn:hover:not(:disabled){background:var(--gray-100);color:var(--gray-600)}.tree-expand-btn:disabled{cursor:default}.tree-dot{color:var(--gray-300);font-size:18px}.tree-level-badge{border-radius:var(--radius-full);font-size:10px;font-weight:600;letter-spacing:.5px;padding:3px 8px;text-transform:uppercase}.tree-node-name{color:var(--gray-800);flex:1 1;font-size:14px}.tree-confidence{align-items:center;display:flex;font-size:11px;font-weight:500;gap:4px;opacity:.8}.tree-node-actions{display:flex;gap:4px;opacity:0;transition:opacity var(--transition-fast)}.tree-node-content:hover .tree-node-actions{opacity:1}.btn-icon-sm{background:none;border-radius:var(--radius-sm);color:var(--gray-500)}.btn-icon-sm:hover{color:var(--gray-700)}.btn-icon-sm.success:hover{background:var(--green-50);border-color:var(--green-500);color:var(--green-600)}.btn-icon-sm.danger:hover{background:var(--red-50);border-color:var(--red-500);color:var(--red-600)}.tree-edit-input{align-items:center;display:flex;flex:1 1;gap:6px}.tree-edit-input input{border:1px solid var(--primary);border-radius:var(--radius-sm);flex:1 1;font-size:14px;outline:none;padding:6px 10px}.tree-add-child{align-items:center;background:var(--indigo-50);border-top:1px solid var(--indigo-100);display:flex;gap:8px;padding:8px 12px}.tree-add-child input{border:1px solid var(--indigo-200);border-radius:var(--radius-sm);flex:1 1;font-size:13px;outline:none;padding:6px 10px}.tree-add-child input:focus{border-color:var(--primary)}.tree-children{padding-left:0}.wizard-footer{align-items:center;background:var(--gray-50);padding:16px 24px}.btn-sm{padding:6px 12px}.btn-link{background:none;border:none;color:var(--gray-500);cursor:pointer;text-decoration:underline}.btn-link:hover{color:var(--primary)}@media (max-width:640px){.wizard-progress{flex-direction:column;gap:4px}.progress-step{justify-content:center}.wizard-footer{flex-direction:column;gap:12px}.footer-right{justify-content:flex-end;width:100%}}.quiz-taker-page{background:var(--bg);display:flex;flex-direction:column;min-height:100vh}.quiz-taker-header{align-items:center;background:#fff;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:16px 24px}.quiz-title{color:var(--text);font-size:16px;font-weight:600}.quiz-progress-text{color:var(--muted);font-size:14px;font-weight:500}.quiz-progress-bar{background:var(--border);height:4px}.quiz-progress-fill{background:var(--primary);height:100%;transition:width .3s ease}.quiz-content{flex:1 1;margin:0 auto;max-width:800px;padding:40px 24px;width:100%}.question-container{animation:fadeIn .3s ease}.question-type-badge{align-items:center;background:var(--primary-100);border-radius:20px;color:var(--primary);display:inline-flex;font-size:13px;font-weight:500;gap:8px;margin-bottom:20px;padding:8px 16px}.question-text{font-family:Space Grotesk,sans-serif}.mcq-options{display:flex;flex-direction:column;gap:12px}.mcq-option{align-items:center;background:#fff;border:2px solid var(--border);border-radius:12px;cursor:pointer;display:flex;font-size:16px;gap:16px;padding:18px 20px;text-align:left;transition:all .2s ease}.mcq-option.selected,.mcq-option:hover:not(:disabled){background:var(--primary-100);border-color:var(--primary)}.mcq-option.correct-option{background:#d1fae5;border-color:#10b981}.mcq-option.wrong-option{background:#fee2e2;border-color:var(--danger)}.mcq-option:disabled{cursor:default}.option-letter{background:var(--elevated);border-radius:50%;color:var(--primary);font-weight:600;height:36px;width:36px}.mcq-option.selected .option-letter{background:var(--primary);color:#fff}.option-text{color:var(--text)}.correct-icon{color:#10b981}.wrong-icon{color:var(--danger)}.true-false-options{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.tf-option{align-items:center;background:#fff;border:2px solid var(--border);border-radius:12px;cursor:pointer;display:flex;font-size:18px;font-weight:600;gap:12px;justify-content:center;padding:24px;transition:all .2s ease}.tf-option.selected,.tf-option:hover:not(:disabled){border-color:var(--primary)}.tf-option.selected{background:var(--primary-100);color:var(--primary)}.tf-option.correct-option{background:#d1fae5;border-color:#10b981;color:#059669}.tf-option.wrong-option{background:#fee2e2;border-color:var(--danger);color:var(--danger)}.fill-blanks-input{max-width:400px}.fill-input{font-size:18px;height:auto;padding:16px 20px}.numerical-input{align-items:center;display:flex;gap:12px;max-width:300px}.numerical-field{font-size:18px;height:auto;padding:16px 20px}.unit-label{color:var(--muted);font-size:16px;font-weight:500}.case-study-container{display:flex;flex-direction:column;gap:24px}.case-study-scenario{background:#fef3c7;border:1px solid #fcd34d;border-radius:12px;color:#92400e;font-size:15px;line-height:1.7;padding:20px 24px}.sub-questions{display:flex;flex-direction:column;gap:20px}.sub-question{background:#fff;border:1px solid var(--border);border-radius:12px;padding:20px}.sub-question-text{color:var(--text);font-size:16px;margin-bottom:16px}.sub-mcq-options,.sub-tf-options{display:flex;flex-wrap:wrap;gap:10px}.sub-mcq-option,.sub-tf-btn{background:var(--elevated);border:2px solid var(--border);border-radius:8px;cursor:pointer;font-size:14px;padding:10px 16px;transition:all .2s ease}.sub-mcq-option:hover,.sub-tf-btn:hover{border-color:var(--primary)}.sub-mcq-option.selected,.sub-tf-btn.selected{background:var(--primary-100);border-color:var(--primary);color:var(--primary)}.descriptive-input{display:flex;flex-direction:column;gap:8px}.descriptive-field{font-size:16px;min-height:150px;padding:16px 20px;resize:vertical}.char-count{color:var(--muted);font-size:13px;text-align:right}.suggested-answer{background:#d1fae5;border:1px solid #10b981;border-radius:12px;margin-top:20px;padding:20px}.suggested-answer h4{color:#059669;font-size:14px;margin-bottom:12px}.suggested-answer p{color:#065f46;font-size:15px;line-height:1.6}.key-points{margin-top:16px}.key-points h5{color:#059669;font-size:13px;margin-bottom:8px}.key-points ul{list-style:disc;margin-left:20px}.key-points li{color:#065f46;font-size:14px;margin-bottom:4px}.check-answer-btn{margin-top:24px}.answer-feedback{animation:slideIn .3s ease;border-radius:12px;margin-top:24px;padding:20px}.answer-feedback.correct{background:#d1fae5;border:1px solid #10b981}.answer-feedback.incorrect{background:#fee2e2;border:1px solid var(--danger)}.feedback-header{align-items:center;display:flex;font-size:18px;font-weight:600;gap:10px;margin-bottom:12px}.answer-feedback.correct .feedback-header{color:#059669}.answer-feedback.incorrect .feedback-header{color:var(--danger)}.correct-answer-text{color:var(--text);font-size:15px;margin-bottom:12px}.explanation-text{color:var(--muted);font-size:14px;line-height:1.6}.quiz-footer{align-items:center;background:#fff;border-top:1px solid var(--border);display:flex;justify-content:space-between;padding:20px 24px}.question-dots{flex-wrap:wrap;gap:6px;max-width:500px}.dot,.question-dots{display:flex;justify-content:center}.dot{align-items:center;background:#fff;border:2px solid var(--border);border-radius:50%;cursor:pointer;font-size:12px;font-weight:500;height:28px;transition:all .2s ease;width:28px}.dot.active,.dot:hover{border-color:var(--primary)}.dot.active{background:var(--primary);color:#fff}.dot.answered{background:var(--primary-100);border-color:var(--primary);color:var(--primary)}.dot.correct{background:#d1fae5;border-color:#10b981;color:#059669}.dot.incorrect{background:#fee2e2;border-color:var(--danger);color:var(--danger)}.results-container{max-width:800px;padding:60px 24px}.results-header{margin-bottom:40px;text-align:center}.trophy-icon{color:#f59e0b;margin-bottom:16px}.results-header h1{color:var(--text);font-family:Space Grotesk,sans-serif;font-size:36px}.score-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-soft);flex-direction:column;margin-bottom:40px;padding:40px}.score-card,.score-circle{align-items:center;display:flex}.score-circle{background:linear-gradient(135deg,var(--primary),var(--sage));border-radius:50%;height:150px;justify-content:center;margin-bottom:24px;width:150px}.score-percent{color:#fff;font-family:Space Grotesk,sans-serif;font-size:42px;font-weight:700}.score-text{color:var(--muted);font-size:18px}.correct-count{color:var(--primary);font-size:24px;font-weight:700}.results-breakdown{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-soft);margin-bottom:32px;padding:24px}.results-breakdown h3{border-bottom:1px solid var(--border);font-size:18px;font-weight:600;margin-bottom:20px;padding-bottom:12px}.result-item{border-radius:10px;display:flex;gap:16px;margin-bottom:12px;padding:16px}.result-item.correct{background:#f0fdf4}.result-item.incorrect{background:#fef2f2}.result-indicator{flex-shrink:0}.result-item.correct .result-indicator{color:#10b981}.result-item.incorrect .result-indicator{color:var(--danger)}.result-content{flex:1 1}.result-question{color:var(--text);font-size:15px;line-height:1.4;margin-bottom:8px}.result-answers{font-size:14px;margin-bottom:8px}.correct-answer span,.your-answer span{color:var(--muted);margin-right:4px}.correct-answer{color:#059669;font-weight:500}.result-explanation{border-top:1px dashed var(--border);color:var(--muted);font-size:13px;line-height:1.5;margin-top:8px;padding-top:8px}.results-actions{gap:16px;justify-content:center}@media (max-width:640px){.question-text{font-size:20px}.true-false-options{grid-template-columns:1fr}.quiz-footer{flex-direction:column;gap:16px}.question-dots{order:-1}}.quiz-generator{padding:24px}.generator-header{border-bottom:1px solid var(--border);gap:16px;padding-bottom:20px}.header-icon{align-items:center;background:linear-gradient(135deg,var(--primary),#4f46e5);border-radius:12px;color:#fff;display:flex;height:48px;justify-content:center;width:48px}.generator-header h4{font-size:18px;font-weight:600;margin:0 0 4px}.generator-header p{color:var(--text-muted);font-size:14px;margin:0}.steps-nav{align-items:center;display:flex;gap:8px;margin-bottom:24px}.step-btn{background:#0000;border:none;border-radius:6px;color:var(--gray-400);cursor:pointer;font-size:13px;font-weight:500;padding:6px 14px;transition:all .2s}.step-btn:hover{color:var(--gray-600)}.step-btn.active{background:var(--primary);color:#fff;font-weight:600}.step-divider{color:var(--gray-300)}.section-label{color:var(--gray-500)}.type-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-bottom:24px}.type-card{align-items:center;background:var(--gray-50);border:2px solid #0000;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;gap:6px;padding:14px 10px;position:relative;text-align:center;transition:all .2s}.type-card.selected,.type-card:hover{background:#fff;border-color:var(--primary)}.type-card.selected{box-shadow:0 0 0 3px #6366f11a}.type-check{color:var(--gray-300);position:absolute;right:6px;top:6px}.type-card svg:not(.type-check svg),.type-card.selected .type-check{color:var(--primary)}.type-name{color:var(--text);font-size:13px;font-weight:600}.type-desc{color:var(--gray-500);font-size:10px}.form-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:24px}.form-field{display:flex;flex-direction:column;gap:6px}.form-field label{color:var(--text);font-size:14px;font-weight:500}.form-field .optional{color:var(--gray-400);font-size:12px;font-weight:400}.form-field input,.form-field select{border:1px solid var(--border);border-radius:8px;font-size:14px;padding:10px 12px;transition:all .2s}.form-field input:focus,.form-field select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a;outline:none}.summary-box{background:var(--gray-50);border-radius:10px;margin-bottom:24px;padding:16px}.summary-row{border-bottom:1px solid var(--border);padding:8px 0}.summary-row:last-child{border-bottom:none}.summary-label{font-size:13px}.summary-value{font-size:13px;font-weight:600}.alert{align-items:center;border-radius:8px;display:flex;font-size:14px;gap:10px;margin-bottom:16px;padding:12px 16px}.alert-info{background:#fef3c7;color:#92400e}.alert-error{background:#fee2e2;color:#dc2626}.nav-buttons{border-top:1px solid var(--border);display:flex;justify-content:space-between;padding-top:20px}.btn-primary,.btn-secondary{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;padding:10px 18px;transition:all .2s}.btn-primary:hover:not(:disabled){background:#4f46e5}.btn-primary:disabled{cursor:not-allowed;opacity:.5}.btn-secondary{background:var(--gray-100);color:var(--gray-700)}.btn-secondary:hover{background:var(--gray-200)}.history-note{color:var(--gray-600);font-size:13px;margin-top:20px;padding:12px}@media (max-width:640px){.type-grid{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.steps-nav{flex-wrap:wrap}}.mindmap-generator{display:flex;flex-direction:column;gap:24px;padding:24px}.mindmap-generator-card{background:#0000;border:none;border-radius:0;box-shadow:none;padding:0}.mindmap-generator-header{align-items:flex-start;border-bottom:1px solid var(--border);display:flex;gap:16px;margin-bottom:24px;padding-bottom:20px}.mindmap-icon-wrapper{align-items:center;background:linear-gradient(135deg,var(--primary) 0,#4f46e5 100%);background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark,#4f46e5) 100%);border-radius:12px;color:#fff;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.mindmap-generator-header h4{color:var(--text);font-size:18px;font-weight:600;margin:0 0 4px}.mindmap-generator-header p{color:var(--text-muted);font-size:14px;margin:0}.mindmap-type-selector{margin-bottom:24px}.type-label{color:var(--muted);display:block;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.type-options{grid-gap:8px;gap:8px;grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.type-option{background:var(--gray-50);border:2px solid #0000;border-radius:10px;padding:12px 10px}.type-option.active,.type-option:hover:not(:disabled){border-color:var(--primary)}.type-option.active{box-shadow:0 0 0 3px rgba(var(--primary-rgb,99,102,241),.1)}.type-option svg{color:var(--primary)}.mindmap-theme-selector{margin-bottom:24px}.theme-label-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.add-theme-btn{align-items:center;background:#0000;border:1px solid var(--border);border-radius:6px;color:var(--primary);cursor:pointer;display:inline-flex;font-size:12px;font-weight:500;gap:4px;padding:6px 10px;transition:all .2s}.add-theme-btn:hover{background:#6366f126;background:rgba(var(--primary-rgb,99,102,241),.15)}.theme-options{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.theme-option-wrapper{position:relative}.theme-option-wrapper:hover .theme-actions{opacity:1}.theme-actions{display:flex;gap:4px;opacity:0;position:absolute;right:-8px;top:-8px;transition:opacity .2s}.theme-actions button{align-items:center;background:#fff;border:1px solid var(--border);border-radius:50%;box-shadow:0 2px 6px #0000001a;color:var(--text-muted);cursor:pointer;display:flex;height:22px;justify-content:center;transition:all .15s;width:22px}.theme-actions button:hover{background:var(--bg-secondary);color:var(--text)}.theme-actions button.danger:hover{background:#fef2f2;color:#dc2626}.theme-option{align-items:center;background:#f8fafc;background:var(--bg-secondary,#f8fafc);border:2px solid var(--border);border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:12px 10px;transition:all .2s ease}.theme-option.active,.theme-option:hover:not(:disabled){background:#fff;border-color:var(--primary)}.theme-option.active{box-shadow:0 0 0 3px #6366f11a;box-shadow:0 0 0 3px rgba(var(--primary-rgb,99,102,241),.1)}.theme-colors{display:flex;gap:3px}.theme-dot{border-radius:4px;height:14px;width:14px}.theme-name{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.mindmap-form{display:flex;flex-direction:column;gap:16px}.mindmap-form .form-group{display:flex;flex-direction:column;gap:6px}.mindmap-form label{color:var(--text);font-size:14px;font-weight:500}.mindmap-form .optional{color:var(--text-muted);font-weight:400}.mindmap-form .input{border:1px solid var(--border);border-radius:10px;font-size:14px;padding:12px 14px;transition:border-color .2s,box-shadow .2s}.mindmap-form .input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a;box-shadow:0 0 0 3px rgba(var(--primary-rgb,99,102,241),.1);outline:none}.mindmap-history-section{background:#fff;border:1px solid var(--border);border-radius:16px;padding:24px}.empty-mindmaps,.loading-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:48px 24px;text-align:center}.empty-mindmaps p,.loading-state p{color:var(--text);font-size:15px;font-weight:500;margin:12px 0 4px}.empty-mindmaps span{color:var(--text-muted);font-size:13px}.mindmap-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.mindmap-card{background:#f8fafc;background:var(--bg-secondary,#f8fafc);border:1px solid var(--border);border-radius:14px;overflow:hidden;transition:transform .2s,box-shadow .2s}.mindmap-card:hover{box-shadow:0 8px 24px #00000014;transform:translateY(-2px)}.mindmap-thumbnail{background:#e2e8f0;cursor:pointer;height:180px;overflow:hidden;position:relative;width:100%}.mindmap-thumbnail img{height:100%;object-fit:cover;transition:transform .3s;width:100%}.mindmap-card:hover .mindmap-thumbnail img{transform:scale(1.05)}.mindmap-info{padding:14px 16px}.mindmap-type-badge{align-items:center;background:var(--primary);border-radius:20px;color:#fff;display:inline-flex;font-size:11px;font-weight:600;gap:6px;margin-bottom:8px;padding:4px 10px;text-transform:capitalize}.mindmap-topic{color:var(--text);font-size:14px;font-weight:500;line-height:1.4;margin:0 0 8px}.mindmap-date{align-items:center;color:var(--text-muted);display:flex;font-size:12px;gap:6px}.mindmap-actions{background:#fff;border-top:1px solid var(--border);display:flex;gap:8px;padding:12px 16px}.mindmap-actions .btn{flex:1 1}.mindmap-actions .btn-danger{flex:0 1;padding:8px 12px}.mindmap-modal-overlay{align-items:center;animation:fadeIn .2s ease;background:#000c;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.mindmap-modal{animation:scaleIn .2s ease;background:#fff;border-radius:16px;display:flex;flex-direction:column;max-height:90vh;max-width:90vw;overflow:hidden}.mindmap-modal-header{align-items:center;background:#f8fafc;background:var(--bg-secondary,#f8fafc);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:16px 20px}.mindmap-modal-content{align-items:center;background:#f1f5f9;display:flex;justify-content:center;overflow:auto;padding:20px}.mindmap-modal-content img{border-radius:8px;box-shadow:0 4px 20px #00000026;max-height:calc(90vh - 100px);max-width:100%;object-fit:contain}.mindmap-theme-modal{animation:scaleIn .2s ease;background:#fff;border-radius:16px;display:flex;flex-direction:column;max-height:90vh;max-width:450px;overflow:hidden;width:90vw}.mindmap-theme-modal-header{align-items:center;background:#f8fafc;background:var(--bg-secondary,#f8fafc);border-bottom:1px solid var(--border);display:flex;gap:12px;padding:16px 20px}.mindmap-theme-modal-header svg:first-child{color:var(--primary)}.mindmap-theme-modal-header h3{color:var(--text);flex:1 1;font-size:16px;font-weight:600;margin:0}.mindmap-theme-modal-body{display:flex;flex:1 1;flex-direction:column;gap:20px;overflow-y:auto;padding:20px}.mindmap-theme-modal-body .form-group{display:flex;flex-direction:column;gap:8px}.mindmap-theme-modal-body label{color:var(--text);font-size:14px;font-weight:500}.mindmap-theme-modal-body .input{border:1px solid var(--border);border-radius:10px;font-size:14px;padding:12px 14px}.color-pickers-row{display:flex;flex-wrap:wrap;gap:10px}.color-picker-item{align-items:center;display:flex;flex-direction:column;gap:6px}.color-input{border:none;border-radius:10px;cursor:pointer;height:44px;overflow:hidden;padding:0;width:44px}.color-input::-webkit-color-swatch-wrapper{padding:0}.color-input::-webkit-color-swatch{border:none;border-radius:10px}.color-label{color:var(--text-muted);font-size:10px;font-weight:600}.preset-palettes{display:flex;flex-wrap:wrap;gap:10px}.preset-palette-btn{background:#fff;border:2px solid var(--border);border-radius:10px;cursor:pointer;display:flex;gap:3px;padding:10px 12px;transition:all .15s}.preset-palette-btn:hover{border-color:var(--primary);transform:translateY(-2px)}.preset-dot{border-radius:3px;height:14px;width:14px}.mindmap-theme-modal-footer{align-items:center;background:#f8fafc;background:var(--bg-secondary,#f8fafc);border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end;padding:16px 20px}@media (max-width:768px){.type-options{grid-template-columns:repeat(2,1fr)}.theme-options{grid-template-columns:repeat(3,1fr)}.mindmap-list{grid-template-columns:1fr}.mindmap-modal{max-height:100vh}.mindmap-modal,.mindmap-theme-modal{border-radius:0;max-width:100vw}}.mindmap-history-note{background:var(--gray-50);border-radius:8px;margin-top:16px;padding:12px 16px}.mindmap-history-note p{color:var(--muted);font-size:13px;margin:0}.infographic-generator{display:flex;flex-direction:column;gap:24px;padding:24px}.infographic-generator-card{background:#0000;border:none;border-radius:0;box-shadow:none;padding:0}.infographic-generator-header{align-items:flex-start;border-bottom:1px solid var(--border);display:flex;gap:16px;margin-bottom:24px;padding-bottom:20px}.infographic-icon-wrapper{align-items:center;background:linear-gradient(135deg,var(--primary) 0,#4f46e5 100%);background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark,#4f46e5) 100%);border-radius:12px;color:#fff;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.infographic-generator-header h4{color:var(--text);font-size:18px;font-weight:600;margin:0 0 4px}.infographic-generator-header p{color:var(--text-muted);font-size:14px;margin:0}.infographic-type-selector{margin-bottom:24px}.infographic-type-selector .type-label{color:var(--muted);display:block;font-size:13px;font-weight:600;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.infographic-type-selector .type-options{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.infographic-type-selector .type-option{align-items:center;background:var(--gray-50);border:2px solid #0000;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;gap:6px;padding:12px 10px;text-align:center;transition:all .2s ease}.infographic-type-selector .type-option:hover:not(:disabled){background:#fff;border-color:var(--primary)}.infographic-type-selector .type-option.active{background:#fff;border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}.infographic-type-selector .type-option:disabled{cursor:not-allowed;opacity:.6}.infographic-type-selector .type-option svg{color:var(--primary)}.infographic-form{display:flex;flex-direction:column;gap:16px}.infographic-form .form-group{display:flex;flex-direction:column;gap:6px}.infographic-form label{color:var(--text);font-size:14px;font-weight:500}.infographic-form .optional{color:var(--text-muted);font-weight:400}.infographic-form .input{border:1px solid var(--border);border-radius:10px;font-size:14px;padding:12px 14px;transition:border-color .2s,box-shadow .2s}.infographic-form .input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a;box-shadow:0 0 0 3px rgba(var(--primary-rgb,99,102,241),.1);outline:none}.infographic-modal-overlay{align-items:center;animation:fadeIn .2s ease;background:#000c;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.infographic-modal{animation:scaleIn .2s ease;background:#fff;border-radius:16px;display:flex;flex-direction:column;max-height:90vh;max-width:90vw;overflow:hidden}.infographic-modal-header{align-items:center;background:#f8fafc;background:var(--bg-secondary,#f8fafc);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:16px 20px}.modal-title-info h3{font-size:16px}.modal-topic{color:var(--text-muted);font-size:13px}.infographic-modal-content{align-items:center;background:#f1f5f9;display:flex;justify-content:center;overflow:auto;padding:20px}.infographic-modal-content img{border-radius:8px;box-shadow:0 4px 20px #00000026;max-height:calc(90vh - 100px);max-width:100%;object-fit:contain}@media (max-width:768px){.type-options{grid-template-columns:repeat(2,1fr)}.infographic-list{grid-template-columns:1fr}.infographic-modal{border-radius:0;max-height:100vh;max-width:100vw}.infographic-actions{flex-wrap:wrap}.infographic-actions .btn{flex:1 1 45%}}.textbook-generator{display:flex;flex-direction:column;gap:24px;padding:24px}.textbook-generator-card{background:#0000;border:none;border-radius:0;box-shadow:none;padding:0}.textbook-generator-header{align-items:flex-start;border-bottom:1px solid var(--border);display:flex;gap:16px;margin-bottom:24px;padding-bottom:20px}.textbook-icon-wrapper{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border-radius:12px;color:#fff;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.textbook-generator-header h4{color:var(--text);font-size:18px;font-weight:600;margin:0 0 4px}.textbook-generator-header p{color:var(--text-muted);font-size:14px;margin:0}.textbook-style-selector{margin-bottom:24px}.style-label{color:var(--muted);display:block;font-size:13px;font-weight:600;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.style-options{grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.style-option{gap:8px;padding:16px 12px}.style-option:hover:not(:disabled){border-color:var(--style-color,var(--primary));transform:translateY(-2px)}.style-option.active{border-color:var(--style-color,var(--primary));box-shadow:0 4px 12px #0000001a}.style-option.active svg{color:var(--style-color,var(--primary))}.style-option:disabled{cursor:not-allowed;opacity:.6}.style-option svg{transition:color .2s}.style-option .style-name{font-size:14px}.style-option .style-desc{line-height:1.3}.textbook-form{display:flex;flex-direction:column;gap:16px}.textbook-form .form-group{display:flex;flex-direction:column;gap:6px}.textbook-form label{color:var(--text);font-size:14px;font-weight:500}.textbook-form .optional{color:var(--text-muted);font-weight:400}.textbook-form .input{border:1px solid var(--border);border-radius:10px;font-size:14px;padding:12px 14px;transition:border-color .2s,box-shadow .2s}.textbook-form .input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a;box-shadow:0 0 0 3px rgba(var(--primary-rgb,99,102,241),.1);outline:none}.advanced-toggle{align-items:center;background:none;border:none;color:var(--text-muted);cursor:pointer;display:flex;font-size:13px;gap:6px;padding:8px 0;transition:color .2s}.advanced-toggle:hover{color:var(--text)}.advanced-options{background:#f8fafc;background:var(--bg-secondary,#f8fafc);border-radius:10px;display:flex;flex-direction:column;gap:12px;margin-top:-8px;padding:16px}.checkbox-option{align-items:center;color:var(--text);cursor:pointer;display:flex;font-size:14px;gap:10px}.checkbox-option input[type=checkbox]{display:none}.checkbox-custom{align-items:center;background:#fff;border:2px solid var(--border);border-radius:6px;display:flex;height:20px;justify-content:center;transition:all .2s;width:20px}.checkbox-option input:checked+.checkbox-custom{background:var(--primary);border-color:var(--primary);color:#fff}.btn-generate{margin-top:8px}.generation-alert{background:#dbeafe;border:1px solid #93c5fd;color:#1e40af}.textbook-history-section{background:#fff;border:1px solid var(--border);border-radius:16px;padding:24px}.empty-textbooks,.loading-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:48px 24px;text-align:center}.empty-textbooks p,.loading-state p{color:var(--text);font-size:15px;font-weight:500;margin:12px 0 4px}.empty-textbooks span{color:var(--text-muted);font-size:13px}.textbook-list{display:flex;flex-direction:column;gap:16px}.textbook-card{align-items:stretch;background:#f8fafc;background:var(--bg-secondary,#f8fafc);border:1px solid var(--border);border-radius:14px;display:flex;overflow:hidden;transition:transform .2s,box-shadow .2s}.textbook-card:hover{box-shadow:0 8px 24px #00000014;transform:translateY(-2px)}.textbook-card-header{align-items:center;background:linear-gradient(135deg,var(--style-color) 0,color-mix(in srgb,var(--style-color) 80%,#000) 100%);color:#fff;display:flex;flex-direction:column;gap:8px;justify-content:center;min-height:120px;padding:16px 8px;width:80px}.textbook-style-badge{font-size:9px;font-weight:600;letter-spacing:.5px;opacity:.9;text-align:center;text-transform:uppercase}.textbook-info{display:flex;flex:1 1;flex-direction:column;gap:8px;padding:16px}.textbook-title{color:var(--text);font-size:15px;font-weight:600;line-height:1.3;margin:0}.textbook-meta{align-items:center;color:var(--text-muted);display:flex;font-size:13px;gap:12px}.textbook-topics{display:flex;flex-wrap:wrap;gap:6px}.topic-tag{background:#fff;border:1px solid var(--border);border-radius:12px;color:var(--text-muted);font-size:11px;padding:3px 8px}.topic-tag.more{background:#f1f5f9;background:var(--bg-secondary,#f1f5f9)}.textbook-date{align-items:center;color:var(--text-muted);display:flex;font-size:12px;gap:6px;margin-top:auto}.textbook-actions{background:#fff;border-left:1px solid var(--border);display:flex;flex-direction:column;gap:8px;justify-content:center;padding:16px}.textbook-actions .btn{min-width:80px}.textbook-modal-overlay{align-items:center;animation:fadeIn .2s ease;background:#000c;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.textbook-modal{animation:scaleIn .2s ease;background:#fff;border-radius:16px;display:flex;flex-direction:column;max-height:90vh;max-width:900px;overflow:hidden;width:100%}.textbook-modal-header{align-items:center;background:#f8fafc;background:var(--bg-secondary,#f8fafc);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:16px 24px}.modal-title-info h3{color:var(--text);font-size:18px;font-weight:600;margin:0}.modal-meta{align-items:center;color:var(--text-muted);font-size:13px;margin-top:4px}.modal-header-actions,.modal-meta{display:flex;gap:8px}.textbook-modal-content{background:#fff;flex:1 1;overflow:auto}.textbook-content-wrapper{color:var(--text);font-size:15px;line-height:1.8;margin:0 auto;max-width:800px;padding:32px 48px}.textbook-content-wrapper h1{border-bottom:2px solid var(--primary);color:var(--text);font-size:28px;font-weight:700;margin:32px 0 16px;padding-bottom:8px}.textbook-content-wrapper h2{color:var(--text);font-size:22px;font-weight:600;margin:28px 0 14px}.textbook-content-wrapper h3{color:var(--text);font-size:18px;font-weight:600;margin:24px 0 12px}.textbook-content-wrapper h4{color:var(--text);font-size:16px;font-weight:600;margin:20px 0 10px}.textbook-content-wrapper p{margin:0 0 16px}.textbook-content-wrapper ol,.textbook-content-wrapper ul{margin:0 0 16px;padding-left:24px}.textbook-content-wrapper li{margin-bottom:8px}.textbook-content-wrapper strong{color:var(--text);font-weight:600}.textbook-content-wrapper code{background:#f1f5f9;border-radius:4px;font-family:Source Code Pro,monospace;font-size:13px;padding:2px 6px}.textbook-content-wrapper pre{background:#1e293b;border-radius:10px;color:#e2e8f0;margin:16px 0;overflow-x:auto;padding:16px 20px}.textbook-content-wrapper pre code{background:none;color:inherit;padding:0}.textbook-content-wrapper blockquote{border-left:4px solid var(--primary);color:var(--text-muted);font-style:italic;margin:16px 0;padding-left:16px}.textbook-content-wrapper hr{border:none;border-top:1px solid var(--border);margin:32px 0}.textbook-content-wrapper table{border-collapse:collapse;margin:16px 0;width:100%}.textbook-content-wrapper td,.textbook-content-wrapper th{border:1px solid var(--border);padding:10px 14px;text-align:left}.textbook-content-wrapper th{background:#f8fafc;background:var(--bg-secondary,#f8fafc);font-weight:600}@media (max-width:768px){.style-options{grid-template-columns:repeat(2,1fr)}.textbook-card{flex-direction:column}.textbook-card-header{flex-direction:row;min-height:auto;padding:12px 16px;width:100%}.textbook-actions{border-left:none;border-top:1px solid var(--border);flex-direction:row}.textbook-modal{border-radius:0;max-height:100vh;max-width:100vw}.textbook-content-wrapper{padding:24px 20px}}.audio-generator{display:flex;flex-direction:column;gap:24px;padding:24px}.audio-generator-card{background:#0000;border:none;border-radius:0;box-shadow:none;padding:0}.audio-generator-header{align-items:flex-start;border-bottom:1px solid var(--border);display:flex;gap:16px;margin-bottom:24px;padding-bottom:20px}.audio-icon-wrapper{align-items:center;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-radius:12px;color:#fff;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.audio-generator-header h4{color:var(--text);font-size:18px;font-weight:600;margin:0 0 4px}.audio-generator-header p{color:var(--text-muted);font-size:14px;margin:0}.audio-type-selector{margin-bottom:24px}.audio-generator .type-label,.audio-generator .voice-label{color:var(--muted);display:block;font-size:13px;font-weight:600;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.type-options{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.type-option{align-items:center;background:#f8fafc;background:var(--bg-secondary,#f8fafc);border:2px solid var(--border);border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:6px;padding:14px 12px;text-align:center;transition:all .2s ease}.type-option.active,.type-option:hover:not(:disabled){background:#fff;border-color:var(--type-color,var(--primary))}.type-option.active{box-shadow:0 0 0 3px #6366f11a}.type-option.active svg{color:var(--primary);color:var(--type-color,var(--primary))}.type-option:disabled{cursor:not-allowed;opacity:.6}.type-option svg{color:var(--text-muted);transition:color .2s}.type-option .type-name{color:var(--text);font-size:13px;font-weight:600}.type-option .type-desc{color:var(--text-muted);font-size:11px}.voice-selector{margin-bottom:20px}.voice-options{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.voice-option{gap:4px;text-align:center}.voice-option.active svg{color:var(--primary)}.voice-option svg{color:var(--text-muted)}.audio-form{display:flex;flex-direction:column;gap:16px}.audio-form .form-group{display:flex;flex-direction:column;gap:6px}.audio-form label{color:var(--text);font-size:14px;font-weight:500}.audio-form .optional{color:var(--text-muted);font-weight:400}.audio-form .input{border:1px solid var(--border);border-radius:10px;font-size:14px;padding:12px 14px;transition:border-color .2s,box-shadow .2s}.audio-form .input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a;outline:none}.generation-alert{background:#ede9fe;border:1px solid #c4b5fd;color:#6b21a8}.audio-player-card{background:linear-gradient(135deg,#1e1b4b,#312e81);border-radius:16px;color:#fff;padding:20px 24px}.player-header{margin-bottom:20px}.player-info{align-items:center;display:flex;gap:12px}.player-info svg{color:#a5b4fc}.player-info h5{font-size:15px;font-weight:600;margin:0}.player-type{font-size:12px;text-transform:capitalize}.player-header .btn-ghost,.player-type{color:#a5b4fc}.player-header .btn-ghost:hover{background:#ffffff1a;color:#fff}.player-controls{align-items:center;display:flex;gap:16px;justify-content:center;margin-bottom:16px}.control-btn{height:44px;width:44px}.control-btn:hover{background:#fff3}.control-btn.play-btn{background:#fff;color:#312e81;height:56px;width:56px}.player-progress{align-items:center;display:flex;gap:12px;margin-bottom:12px}.time-current,.time-total{color:#a5b4fc;font-size:12px;min-width:40px}.time-total{text-align:right}.progress-slider{-webkit-appearance:none;background:#fff3;border-radius:2px;cursor:pointer;flex:1 1;height:4px}.progress-slider::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;border-radius:50%;cursor:pointer;height:12px;width:12px}.player-volume{align-items:center;display:flex;gap:8px;justify-content:center}.volume-btn{background:none;border:none;color:#a5b4fc;cursor:pointer;padding:4px}.volume-btn:hover{color:#fff}.volume-slider{-webkit-appearance:none;background:#fff3;border-radius:2px;cursor:pointer;height:4px;width:80px}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;border-radius:50%;cursor:pointer;height:10px;width:10px}.audio-history-section{background:#fff;border:1px solid var(--border);border-radius:16px;padding:24px}.section-header h4{color:var(--text)}.empty-audio,.loading-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:48px 24px;text-align:center}.empty-audio p,.loading-state p{color:var(--text);font-size:15px;font-weight:500;margin:12px 0 4px}.empty-audio span{color:var(--text-muted);font-size:13px}.audio-list{display:flex;flex-direction:column;gap:12px}.audio-card{align-items:center;background:#f8fafc;background:var(--bg-secondary,#f8fafc);border:1px solid var(--border);border-radius:12px;display:flex;gap:16px;padding:16px;transition:transform .2s,box-shadow .2s}.audio-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.audio-card-icon{background:linear-gradient(135deg,var(--type-color) 0,color-mix(in srgb,var(--type-color) 80%,#000) 100%);border-radius:12px;color:#fff;cursor:pointer;flex-shrink:0;height:60px;overflow:hidden;position:relative;width:60px}.audio-card-icon,.play-overlay{align-items:center;display:flex;justify-content:center}.play-overlay{background:#0006;inset:0;opacity:0;position:absolute;transition:opacity .2s}.audio-card-icon:hover .play-overlay{opacity:1}.audio-info{flex:1 1;min-width:0}.audio-title{color:var(--text);font-size:15px;margin:0 0 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audio-meta{align-items:center;display:flex;gap:10px;margin-bottom:6px}.meta-badge{text-transform:uppercase}.meta-item{align-items:center;display:flex;gap:4px}.audio-topic{background:#fff;border:1px solid var(--border);border-radius:10px;display:inline-block;margin-bottom:6px;padding:2px 8px}.audio-date,.audio-topic{color:var(--text-muted);font-size:11px}.audio-date{align-items:center;display:flex;gap:4px}.audio-actions{display:flex;flex-shrink:0;gap:8px}@media (max-width:768px){.type-options{grid-template-columns:repeat(2,1fr)}.voice-options{grid-template-columns:repeat(3,1fr)}.form-row{grid-template-columns:1fr}.audio-card{align-items:stretch;flex-direction:column}.audio-card-icon{height:80px;width:100%}.audio-actions{justify-content:stretch}.audio-actions .btn{flex:1 1}}.presentation-generator{display:flex;flex-direction:column;gap:24px;padding:24px}.presentation-generator-card{background:#0000;border:none;border-radius:0;box-shadow:none;padding:0}.presentation-generator-header{align-items:flex-start;border-bottom:1px solid var(--border);display:flex;gap:16px;margin-bottom:24px;padding-bottom:20px}.presentation-icon-wrapper{align-items:center;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:12px;color:#fff;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.presentation-generator-header h4{color:var(--text);font-size:18px;font-weight:600;margin:0 0 4px}.presentation-generator-header p{color:var(--text-muted);font-size:14px;margin:0}.color-selector,.slide-count-selector,.style-selector{margin-bottom:24px}.style-option.active,.style-option:hover:not(:disabled){border-color:var(--primary)}.style-option.active{box-shadow:0 0 0 3px #6366f11a}.style-option.active svg{color:var(--primary)}.color-options{display:flex;flex-wrap:wrap;gap:10px}.color-option{background:#fff;border:3px solid #0000;border-radius:10px;cursor:pointer;height:40px;padding:4px;transition:all .2s;width:40px}.color-option:hover{transform:scale(1.1)}.color-option.active{border-color:var(--text)}.color-swatch{background:var(--theme-color);border-radius:6px;display:block;height:100%;width:100%}.slide-range{-webkit-appearance:none;background:var(--border);border-radius:3px;cursor:pointer;height:6px;width:100%}.slide-range::-webkit-slider-thumb{-webkit-appearance:none;background:var(--primary);border-radius:50%;cursor:pointer;height:20px;width:20px}.presentation-form{display:flex;flex-direction:column;gap:16px}.presentation-form .form-group{display:flex;flex-direction:column;gap:6px}.presentation-form label{color:var(--text);font-size:14px;font-weight:500}.presentation-form .optional{color:var(--text-muted);font-weight:400}.presentation-form .input{border:1px solid var(--border);border-radius:10px;font-size:14px;padding:12px 14px}.presentation-form .input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a;outline:none}.generation-alert{background:#fef3c7;border:1px solid #fcd34d;color:#92400e}.presentation-history-section{background:#fff;border:1px solid var(--border);border-radius:16px;padding:24px}.section-header svg:first-child{color:var(--primary)}.empty-presentations,.loading-state{align-items:center;display:flex;flex-direction:column;padding:48px 24px;text-align:center}.empty-presentations p,.loading-state p{font-size:15px;font-weight:500;margin:12px 0 4px}.empty-presentations span{color:var(--text-muted);font-size:13px}.presentation-list{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.presentation-card{background:#f8fafc;background:var(--bg-secondary,#f8fafc);border:1px solid var(--border);border-radius:14px;overflow:hidden;transition:transform .2s,box-shadow .2s}.presentation-card:hover{box-shadow:0 8px 24px #00000014;transform:translateY(-2px)}.presentation-preview{align-items:center;background:linear-gradient(135deg,var(--theme-color) 0,color-mix(in srgb,var(--theme-color) 70%,#000) 100%);color:#fff;cursor:pointer;display:flex;flex-direction:column;height:140px;justify-content:center;position:relative}.slide-count-badge{background:#0000004d;border-radius:12px;bottom:10px;font-size:12px;font-weight:500;padding:4px 10px;position:absolute;right:10px}.presentation-info{padding:14px 16px}.presentation-title{color:var(--text);font-size:15px;font-weight:600;margin:0 0 8px}.presentation-meta{align-items:center;display:flex;gap:8px;margin-bottom:8px}.meta-badge{background:var(--primary)}.color-dot{border-radius:50%;height:12px;width:12px}.presentation-topic{background:#fff;border:1px solid var(--border);border-radius:10px;color:var(--text-muted);display:inline-block;font-size:11px;margin-bottom:8px;padding:2px 8px}.presentation-date{align-items:center;color:var(--text-muted);display:flex;font-size:11px;gap:4px}.presentation-actions{background:#fff;border-top:1px solid var(--border);display:flex;gap:8px;padding:12px 16px}.presentation-actions .btn{flex:1 1}.slideshow-overlay{background:#000000f2;display:flex;flex-direction:column;inset:0;position:fixed;z-index:1000}.slideshow-overlay.fullscreen{background:#000}.slideshow-container{display:flex;flex:1 1;flex-direction:column;margin:0 auto;max-width:1400px;padding:16px;width:100%}.slideshow-header{align-items:center;color:#fff;display:flex;justify-content:space-between;padding:8px 0 16px}.slideshow-title h3{font-size:18px;font-weight:600;margin:0}.slideshow-title span{color:#a1a1aa;font-size:13px}.slideshow-controls{display:flex;gap:8px}.slideshow-controls .btn-ghost{color:#fff}.slideshow-controls .btn-ghost:hover{background:#ffffff1a}.slide-display{flex:1 1;gap:16px;min-height:0}.nav-btn,.slide-display{align-items:center;display:flex;justify-content:center}.nav-btn{background:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;flex-shrink:0;height:48px;transition:all .2s;width:48px}.nav-btn:hover:not(:disabled){background:#fff3}.nav-btn:disabled{cursor:not-allowed;opacity:.3}.slide-content{align-items:center;aspect-ratio:16/9;background:#fff;border-radius:8px;display:flex;flex:1 1;justify-content:center;max-width:1000px;overflow:hidden}.slide-image{height:100%;object-fit:contain;width:100%}.slide-text-fallback{padding:48px;text-align:center;width:100%}.slide-text-fallback h2{color:var(--text);font-size:32px;margin:0 0 16px}.slide-subtitle{color:var(--text-muted);font-size:20px;margin:0 0 24px}.slide-bullets{list-style:none;margin:0 auto;max-width:600px;padding:0;text-align:left}.slide-bullets li{color:var(--text);font-size:18px;padding:8px 0 8px 24px;position:relative}.slide-bullets li:before{color:var(--primary);content:"•";left:0;position:absolute}.slide-thumbnails{gap:8px;overflow-x:auto;padding:16px 0}.slide-thumbnails,.thumbnail{display:flex;justify-content:center}.thumbnail{align-items:center;background:#374151;border:2px solid #0000;border-radius:6px;color:#fff;cursor:pointer;flex-shrink:0;font-size:14px;height:45px;overflow:hidden;transition:all .2s;width:80px}.thumbnail:hover{border-color:#ffffff80}.thumbnail.active{border-color:#fff}.thumbnail img{height:100%;object-fit:cover;width:100%}.speaker-notes{background:#ffffff0d;border-radius:8px;color:#a1a1aa;font-size:13px;line-height:1.5;padding:12px 16px}.speaker-notes strong{color:#fff}.slideshow-overlay.fullscreen .slide-thumbnails,.slideshow-overlay.fullscreen .slideshow-header,.slideshow-overlay.fullscreen .speaker-notes{display:none}.slideshow-overlay.fullscreen .slide-content{border-radius:0;max-width:none}@media (max-width:768px){.style-options{grid-template-columns:repeat(2,1fr)}.form-row,.presentation-list{grid-template-columns:1fr}.slide-display{flex-direction:column}.nav-btn{display:none}.slide-thumbnails{justify-content:flex-start}}.video-generator{display:flex;flex-direction:column;gap:24px;padding:24px}.video-generator-card{background:#0000;border:none;border-radius:0;box-shadow:none;padding:0}.video-generator-header{align-items:flex-start;border-bottom:1px solid var(--border);display:flex;gap:16px;margin-bottom:24px;padding-bottom:20px}.video-icon-wrapper{align-items:center;background:linear-gradient(135deg,#ef4444,#dc2626);border-radius:12px;color:#fff;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.video-generator-header h4{color:var(--text);font-size:18px;font-weight:600;margin:0 0 4px}.video-generator-header p{color:var(--text-muted);font-size:14px;margin:0}.scene-count-selector,.style-selector,.voice-selector{margin-bottom:24px}.selector-label{align-items:center;color:var(--text);display:flex;font-size:14px;font-weight:500;gap:6px;margin-bottom:12px}.style-options{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.style-option{align-items:center;background:#f8fafc;background:var(--bg-secondary,#f8fafc);border:2px solid var(--border);border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:6px;padding:14px 12px;text-align:center;transition:all .2s ease}.style-option.active,.style-option:hover:not(:disabled){background:#fff;border-color:#ef4444}.style-option.active{box-shadow:0 0 0 3px #ef44441a}.style-option.active svg{color:#ef4444}.style-option svg{color:var(--text-muted)}.style-option .style-name{color:var(--text);font-size:13px;font-weight:600}.style-option .style-desc{color:var(--text-muted);font-size:11px}.voice-options{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(90px,1fr))}.voice-option{align-items:center;background:#f8fafc;background:var(--bg-secondary,#f8fafc);border:2px solid var(--border);border-radius:10px;cursor:pointer;display:flex;flex-direction:column;gap:2px;padding:10px 8px;transition:all .2s ease}.voice-option.active,.voice-option:hover:not(:disabled){background:#fff;border-color:var(--primary)}.voice-option .voice-name{color:var(--text);font-size:12px;font-weight:600}.voice-option .voice-desc{color:var(--text-muted);font-size:10px}.scene-range{-webkit-appearance:none;background:var(--border);border-radius:3px;cursor:pointer;height:6px;width:100%}.scene-range::-webkit-slider-thumb{-webkit-appearance:none;background:#ef4444;border-radius:50%;cursor:pointer;height:20px;width:20px}.range-labels{color:var(--text-muted);display:flex;font-size:12px;justify-content:space-between;margin-top:4px}.video-form{display:flex;flex-direction:column;gap:16px}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.video-form .form-group{display:flex;flex-direction:column;gap:6px}.video-form label{color:var(--text);font-size:14px;font-weight:500}.video-form .optional{color:var(--text-muted);font-weight:400}.video-form .input{border:1px solid var(--border);border-radius:10px;font-size:14px;padding:12px 14px}.video-form .input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a;outline:none}.btn-generate{align-items:center;display:flex;font-weight:600;gap:8px;justify-content:center;padding:14px 24px}.error-alert,.generation-alert{align-items:center;border-radius:10px;display:flex;font-size:14px;gap:10px;margin-top:16px;padding:14px 16px}.generation-alert{color:#991b1b}.error-alert,.generation-alert{background:#fee2e2;border:1px solid #fca5a5}.error-alert{color:#dc2626}.video-history-section{background:#fff;border:1px solid var(--border);border-radius:16px;padding:24px}.section-header{margin-bottom:20px;padding-bottom:16px}.section-header h4{flex:1 1;font-size:16px;font-weight:600;margin:0}.section-header svg:first-child{color:#ef4444}.empty-videos,.loading-state{align-items:center;display:flex;flex-direction:column;padding:48px 24px;text-align:center}.empty-videos p,.loading-state p{font-size:15px;font-weight:500;margin:12px 0 4px}.empty-videos span{color:var(--text-muted);font-size:13px}.empty-icon{color:var(--text-muted);opacity:.4}.video-list{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.video-card{background:#f8fafc;background:var(--bg-secondary,#f8fafc);border:1px solid var(--border);border-radius:14px;overflow:hidden;transition:transform .2s,box-shadow .2s}.video-card:hover{box-shadow:0 8px 24px #00000014;transform:translateY(-2px)}.video-preview{background:linear-gradient(135deg,#1f2937,#111827);color:#6b7280;cursor:pointer;height:140px;position:relative}.video-preview,.video-preview .play-overlay{align-items:center;display:flex;justify-content:center}.video-preview .play-overlay{background:#ef4444e6;color:#fff;inset:0;opacity:0;position:absolute;transition:opacity .2s}.video-preview:hover .play-overlay{opacity:1}.video-duration{align-items:center;background:#000000b3;border-radius:4px;bottom:8px;color:#fff;display:flex;font-size:11px;gap:4px;padding:4px 8px;position:absolute;right:8px}.video-info{padding:14px 16px}.video-title{color:var(--text);font-size:15px;font-weight:600;margin:0 0 8px}.video-meta{align-items:center;display:flex;gap:8px;margin-bottom:8px}.meta-badge{background:#ef4444;border-radius:10px;color:#fff;font-size:10px;font-weight:600;padding:2px 8px;text-transform:capitalize}.meta-item{color:var(--text-muted);font-size:12px}.video-topic{background:#fff;border:1px solid var(--border);border-radius:10px;display:inline-block;margin-bottom:8px;padding:2px 8px}.video-date,.video-topic{color:var(--text-muted);font-size:11px}.video-date{align-items:center;display:flex;gap:4px}.video-actions{background:#fff;border-top:1px solid var(--border);display:flex;gap:8px;padding:12px 16px}.video-actions .btn{flex:1 1}.video-player-overlay{align-items:center;background:#000000f2;display:flex;flex-direction:column;inset:0;justify-content:center;position:fixed;z-index:1000}.video-player-overlay.fullscreen{background:#000}.video-player-container{display:flex;flex-direction:column;gap:16px;max-width:1000px;padding:20px;width:100%}.player-header{align-items:center;color:#fff;display:flex;justify-content:space-between}.player-title h3{font-size:18px;font-weight:600;margin:0}.player-title span{color:#9ca3af;font-size:13px}.player-controls-top{display:flex;gap:8px}.player-controls-top .btn-ghost{color:#fff}.player-controls-top .btn-ghost:hover{background:#ffffff1a}.video-display{aspect-ratio:16/9;background:#111;border-radius:12px;overflow:hidden}.scene-frame,.video-display{position:relative;width:100%}.scene-frame{height:100%}.scene-image{height:100%;object-fit:contain;width:100%}.scene-placeholder{align-items:center;color:#4b5563;display:flex;flex-direction:column;gap:8px;height:100%;justify-content:center;width:100%}.narration-subtitle{background:#000c;border-radius:8px;bottom:20px;color:#fff;font-size:16px;left:50%;line-height:1.5;max-width:80%;padding:12px 24px;position:absolute;text-align:center;transform:translateX(-50%)}.playback-controls{gap:16px}.control-btn,.playback-controls{align-items:center;display:flex;justify-content:center}.control-btn{background:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;height:48px;transition:all .2s;width:48px}.control-btn:hover:not(:disabled){background:#fff3}.control-btn:disabled{cursor:not-allowed;opacity:.3}.control-btn.play-btn{background:#ef4444;height:64px;width:64px}.control-btn.play-btn:hover{background:#dc2626;transform:scale(1.05)}.control-btn.mute-btn{height:40px;width:40px}.scene-progress{display:flex;gap:8px;justify-content:center}.scene-dot{background:#fff3;border:none;border-radius:50%;cursor:pointer;height:12px;transition:all .2s;width:12px}.scene-dot:hover{background:#fff6}.scene-dot.active{background:#ef4444;transform:scale(1.3)}.scene-dot.completed{background:#ef444480}.scene-info{color:#fff;text-align:center}.scene-info h4{color:#e5e7eb;font-size:16px;font-weight:500;margin:0}.video-player-overlay.fullscreen .player-header{background:linear-gradient(180deg,#000c,#0000);left:0;padding:20px;position:absolute;right:0;top:0;z-index:10}.video-player-overlay.fullscreen .video-display{border-radius:0;height:100vh;max-height:none;max-width:none;width:100vw}.video-player-overlay.fullscreen .playback-controls,.video-player-overlay.fullscreen .scene-info,.video-player-overlay.fullscreen .scene-progress{left:0;position:absolute;right:0;z-index:10}.video-player-overlay.fullscreen .playback-controls{bottom:100px}.video-player-overlay.fullscreen .scene-progress{bottom:60px}.video-player-overlay.fullscreen .scene-info{bottom:20px}@media (max-width:768px){.style-options{grid-template-columns:repeat(2,1fr)}.voice-options{grid-template-columns:repeat(3,1fr)}.form-row,.video-list{grid-template-columns:1fr}.video-player-container{padding:10px}.narration-subtitle{font-size:14px;max-width:90%;padding:8px 16px}}.status-badge{border-radius:4px;font-size:.7rem;padding:2px 6px}.status-badge.processing{animation:pulse 2s infinite;background:#6366f133;color:#6366f1}.status-badge.failed{background:#ef444433;color:#ef4444}.video-card.generating{background:#6366f10d;border:1px dashed #6366f1;border:1px dashed var(--primary,#6366f1)}.video-card.generating .video-preview{background:linear-gradient(135deg,#6366f11a,#8b5cf61a)}.status-badge.cancelled{background:#9ca3af33;color:#9ca3af}.video-card.generating .video-actions .btn-danger{background:#ef44441a;border:1px solid #ef44444d;color:#ef4444}.video-card.generating .video-actions .btn-danger:hover{background:#ef444433}.study-tools-container{grid-gap:24px;display:grid;gap:24px;grid-template-columns:280px 1fr;height:100%;min-height:500px;transition:grid-template-columns var(--transition-smooth)}.study-tools-container.sidebar-collapsed{grid-template-columns:56px 1fr}.study-tools-container.modal-mode{display:block;min-height:400px}.study-tools-container.modal-mode .study-tools-main{background:#0000;border:none;border-radius:0;box-shadow:none}.study-tools-container.modal-mode .tool-content{background:#0000;padding:0}.study-tools-container.modal-mode .tool-tabs{display:none}.study-tools-container.modal-mode .tool-panel{background:#0000;border:none;border-radius:0;padding:24px}.study-tools-container.modal-mode .infographic-panel,.study-tools-container.modal-mode .mindmap-panel,.study-tools-container.modal-mode .quiz-panel{background:#0000;border:none;border-radius:0}.tools-sidebar{background:#fff;border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft-sm);display:flex;flex-direction:column;gap:16px;height:-webkit-fit-content;height:fit-content;overflow:hidden;padding:24px;position:relative;transition:all var(--transition-smooth)}.tools-sidebar.collapsed{align-items:center;gap:12px;padding:12px}.tools-sidebar h4{color:var(--text-heading);font-size:16px;font-weight:600;margin-bottom:4px}.tools-sidebar .sidebar-toggle-btn{align-items:center;background:var(--gray-100);border:1px solid var(--border);border-radius:var(--radius);color:var(--gray-500);cursor:pointer;display:flex;height:32px;justify-content:center;position:absolute;right:12px;top:12px;transition:all var(--transition-fast);width:32px;z-index:10}.tools-sidebar .sidebar-toggle-btn:hover{background:var(--gray-200);color:var(--text-heading)}.tools-sidebar.collapsed .sidebar-toggle-btn{position:relative;right:auto;top:auto}.tools-sidebar .selection-buttons{display:flex;gap:8px}.tools-sidebar .sidebar-selection{margin-bottom:10px}.tools-sidebar .source-filters{display:flex;flex-direction:column;gap:8px}.tools-sidebar .no-sources-message{background:var(--gray-50);border-radius:var(--radius-lg);color:var(--muted);font-size:14px;padding:14px}.tools-sidebar .source-checkbox{align-items:center;background:#0000;border-radius:var(--radius-lg);color:var(--text);cursor:pointer;display:flex;font-size:14px;gap:10px;justify-content:flex-start;padding:10px 12px;transition:background var(--transition-fast);width:100%}.tools-sidebar .source-checkbox:hover{background:var(--gray-50)}.tools-sidebar .source-checkbox input[type=checkbox]{accent-color:var(--primary);cursor:pointer;flex-shrink:0;height:16px;width:16px}.tools-sidebar .source-checkbox span{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tools-sidebar .source-filter-hint{border-top:1px solid var(--border);color:var(--muted);font-size:12px;padding-top:12px}.tools-sidebar .collapsed-indicator{align-items:center;display:flex;flex-direction:column;gap:8px;padding:8px 0}.tools-sidebar .collapsed-count{align-items:center;background:var(--indigo-50);border-radius:var(--radius);color:var(--primary);display:flex;font-size:14px;font-weight:600;height:32px;justify-content:center;width:32px}.study-tools-main{background:#fff;border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft-sm);display:flex;flex-direction:column;overflow:hidden}.tool-tabs{background:var(--gray-50);border-bottom:1px solid var(--border);display:flex;gap:4px;overflow-x:auto;padding:16px 24px}.tool-tab{align-items:center;background:#0000;border:none;border-radius:var(--radius-lg);color:var(--gray-500);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:10px;padding:12px 18px;transition:all var(--transition-fast);white-space:nowrap}.tool-tab:hover:not(.coming-soon){background:#fff;color:var(--text-heading)}.tool-tab.active{background:#fff;box-shadow:var(--shadow-soft-sm);color:var(--primary)}.tool-tab.coming-soon{cursor:default;opacity:.5}.soon-badge{background:var(--gray-200);border-radius:var(--radius-full);color:var(--gray-500);font-size:10px;font-weight:500;padding:3px 8px}.tool-content{display:flex;flex:1 1;flex-direction:column;overflow-y:auto;padding:28px}.tools-disabled-state{align-items:center;background:linear-gradient(135deg,var(--gray-50) 0,#fff 100%);border:1px solid var(--border);border-radius:var(--radius-xl);display:flex;flex:1 1;justify-content:center;padding:48px 32px}.tools-disabled-state .disabled-content{align-items:center;display:flex;flex-direction:column;gap:16px;max-width:360px;text-align:center}.tools-disabled-state .disabled-icon{color:var(--gray-300)}.tools-disabled-state .disabled-content h3{color:var(--text-heading);font-size:20px;font-weight:600}.tools-disabled-state .disabled-content p{color:var(--gray-500);font-size:14px;line-height:1.6;margin-bottom:8px}.tools-disabled-state .disabled-content .btn{margin-top:4px}.sources-indicator-bar{align-items:center;background:var(--indigo-50);border:1px solid var(--indigo-100);border-radius:var(--radius-lg);color:var(--primary);display:flex;font-size:13px;font-weight:500;gap:8px;margin-bottom:20px;padding:12px 16px}.sources-indicator-bar svg{opacity:.8}.btn-link-sm{background:none;border:none;border-radius:var(--radius);color:var(--primary);cursor:pointer;font-size:12px;font-weight:500;margin-left:auto;padding:4px 8px;transition:all var(--transition-fast)}.btn-link-sm:hover{background:var(--indigo-100);text-decoration:underline}.no-sources-warning,.select-sources-prompt{align-items:center;background:var(--gray-50);border:1px solid var(--border);border-radius:var(--radius-xl);display:flex;flex-direction:column;justify-content:center;padding:72px 32px;text-align:center}.no-sources-warning svg,.select-sources-prompt svg{color:var(--gray-300);margin-bottom:20px}.no-sources-warning h3,.select-sources-prompt h4{color:var(--text-heading);font-size:20px;font-weight:600;margin-bottom:10px}.no-sources-warning p,.select-sources-prompt p{color:var(--gray-500);font-size:15px;margin-bottom:24px;max-width:320px}.prompt-content{align-items:center;display:flex;flex-direction:column}.prompt-content .btn{margin-bottom:12px}.generator-card{background:linear-gradient(135deg,var(--indigo-50) 0,var(--purple-50) 100%);border:1px solid var(--indigo-100);border-radius:var(--radius-xl);margin-bottom:24px;padding:28px}.generator-header{align-items:flex-start;display:flex;gap:20px;margin-bottom:24px}.generator-icon{align-items:center;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-soft-md);color:var(--primary);display:flex;flex-shrink:0;height:60px;justify-content:center;width:60px}.generator-info h3{color:var(--text-heading);font-size:18px;font-weight:600;margin-bottom:6px}.generator-info p{color:var(--gray-600);font-size:14px}.generator-features{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}.feature-tag{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-full);color:var(--text);font-size:13px;font-weight:500;padding:8px 14px}.generator-action{align-items:center;border-top:1px solid var(--indigo-100);display:flex;justify-content:space-between;padding-top:20px}.source-hint{color:var(--gray-500);font-size:14px}.history-section{background:#fff;border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft-sm);padding:24px}.history-header{color:var(--text-heading);gap:12px;margin-bottom:20px}.history-header svg{color:var(--gray-400)}.history-header h4{font-size:16px;font-weight:600;margin:0}.loading-state{padding:40px}.loading-state .spin{animation:spin 1s linear infinite;margin-bottom:12px}.empty-history{font-size:14px;padding:32px}.history-item{background:var(--gray-50);border-radius:var(--radius-lg);padding:18px}.item-info h5{color:var(--text-heading);font-size:15px;font-weight:600;margin-bottom:8px}.item-meta{align-items:center;display:flex;gap:16px;margin-bottom:10px}.meta-primary{color:var(--primary);font-size:13px;font-weight:500}.meta-secondary{text-transform:capitalize}.meta-date,.meta-secondary{color:var(--gray-500);font-size:13px}.meta-date{align-items:center;display:flex;gap:6px}.item-tags{display:flex;flex-wrap:wrap;gap:8px}.type-tag{background:#fff}.item-actions{display:flex;flex-shrink:0;gap:10px}.tool-panel{animation:fadeIn .3s ease}.mindmap-panel{background:var(--gray-50);border:1px solid var(--border);border-radius:var(--radius-xl);padding:28px}.coming-soon-panel{align-items:center;display:flex;justify-content:center;min-height:400px}.coming-soon-content{padding:56px;text-align:center}.coming-soon-content svg{color:var(--gray-300);margin-bottom:24px}.coming-soon-content h3{color:var(--text-heading);font-size:24px;font-weight:600;margin-bottom:10px}.coming-soon-content p{color:var(--gray-500);font-size:15px;margin-bottom:24px}.coming-soon-badge{background:linear-gradient(135deg,var(--indigo-50) 0,var(--purple-50) 100%);border:1px solid var(--indigo-100);border-radius:var(--radius-full);color:var(--primary);display:inline-block;font-size:14px;font-weight:500;padding:10px 24px}.btn{transition:all var(--transition-fast)}.btn-sm{padding:10px 16px}.btn-danger:hover{background:var(--red-50)}@media (max-width:968px){.study-tools-container{height:auto}.study-tools-container,.study-tools-container.sidebar-collapsed{grid-template-columns:1fr}.tools-sidebar{height:auto}.tools-sidebar.collapsed{flex-direction:row;justify-content:space-between;padding:12px 16px}.tools-sidebar.collapsed .sidebar-toggle-btn{position:relative}.tools-sidebar .collapsed-indicator{flex-direction:row}}@media (max-width:768px){.tool-tabs{padding:14px 18px}.tool-tab{font-size:13px;padding:10px 14px}.tool-tab span:not(.soon-badge){display:none}.generator-card,.tool-content{padding:20px}.generator-action{align-items:stretch;flex-direction:column;gap:14px}.source-hint{text-align:center}.history-item{align-items:stretch;flex-direction:column;gap:16px}.item-actions{justify-content:flex-end}}.generator-clean{padding:24px}.generator-clean-header{align-items:flex-start;border-bottom:1px solid var(--border);display:flex;gap:16px;margin-bottom:24px;padding-bottom:20px}.generator-icon-wrapper{align-items:center;background:linear-gradient(135deg,var(--primary) 0,var(--indigo-700) 100%);border-radius:12px;color:#fff;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.generator-clean-header h4{color:var(--text);font-size:18px;font-weight:600;margin:0 0 4px}.generator-clean-header p{color:var(--muted);font-size:14px;margin:0}.generator-section{margin-bottom:24px}.section-label{color:var(--muted);display:block;font-size:13px;font-weight:600;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.type-tags{display:flex;flex-wrap:wrap;gap:8px}.type-tag-clean{background:var(--gray-100);border-radius:6px;color:var(--text);font-size:13px;padding:6px 12px}.generator-action-clean{margin-top:24px}.btn-generate{font-size:15px;padding:12px 24px}.history-note{background:var(--gray-50);border-radius:8px;margin-top:24px;padding:12px 16px}.history-note p{color:var(--muted);font-size:13px;margin:0}.quiz-wizard-modal{display:flex;flex-direction:column;max-height:90vh;max-width:700px}.quiz-wizard-modal .modal-header{align-items:flex-start;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:24px 28px}.quiz-wizard-modal .modal-header h2{font-family:Space Grotesk,sans-serif;font-size:22px;font-weight:600;margin-bottom:4px}.step-indicator{color:var(--muted);font-size:13px}.progress-bar{align-items:center;background:var(--elevated);border-bottom:1px solid var(--border);display:flex;gap:8px;justify-content:center;padding:24px 28px}.progress-step{flex-direction:column}.progress-step .step-dot{align-items:center;background:var(--border);border-radius:50%;color:var(--muted);display:flex;font-size:14px;font-weight:600;height:32px;justify-content:center;transition:all .3s ease;width:32px}.progress-step.active .step-dot{background:var(--primary);color:#fff}.progress-step span{color:var(--muted);font-size:12px;white-space:nowrap}.progress-step.active span{color:var(--text);font-weight:500}.progress-line{background:var(--border);flex:1 1;height:2px;margin-bottom:20px;max-width:80px}.wizard-content{flex:1 1;overflow-y:auto;padding:28px}.wizard-step{animation:fadeIn .3s ease}.form-group label{color:var(--text)}.optional{font-weight:400}.helper-text,.optional{color:var(--muted);font-size:13px}.helper-text{margin-bottom:12px}.upload-zone{border:2px dashed var(--border);border-radius:var(--radius);cursor:pointer;padding:32px 24px;text-align:center;transition:all .2s ease}.upload-zone:hover{background:var(--primary-100);border-color:var(--primary)}.upload-label{align-items:center;color:var(--muted);cursor:pointer;display:flex;flex-direction:column;gap:12px}.upload-label svg{color:var(--primary)}.file-types{color:var(--muted)}.divider{align-items:center;display:flex;gap:16px;margin:24px 0}.divider:after,.divider:before{background:var(--border);content:"";flex:1 1;height:1px}.divider span{color:var(--muted);font-size:13px;font-weight:500}.question-types-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.question-type-card{align-items:center;border:2px solid var(--border);border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:16px;position:relative;text-align:center;transition:all .2s ease}.question-type-card:hover{background:var(--elevated);border-color:var(--primary)}.question-type-card.selected{background:var(--primary-100);border-color:var(--primary)}.type-checkbox{color:var(--muted);position:absolute;right:10px;top:10px}.type-checkbox .checked,.type-icon{color:var(--primary)}.type-icon{margin-top:8px}.type-label{color:var(--text);font-size:13px;font-weight:600}.type-description{color:var(--muted);font-size:11px;line-height:1.3}.config-section{margin-bottom:32px}.config-section h4{border-bottom:1px solid var(--border);font-size:16px;font-weight:600;margin-bottom:16px;padding-bottom:8px}.config-option{background:var(--elevated);border-radius:12px;margin-bottom:12px;padding:16px}.radio-label{align-items:flex-start;cursor:pointer;display:flex;gap:12px}.radio-label input[type=radio]{display:none}.radio-custom{border:2px solid var(--border);border-radius:50%;flex-shrink:0;height:20px;margin-top:2px;position:relative;transition:all .2s ease;width:20px}.radio-label input[type=radio]:checked+.radio-custom{border-color:var(--primary)}.radio-label input[type=radio]:checked+.radio-custom:after{background:var(--primary);border-radius:50%;content:"";height:10px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:10px}.radio-content strong{color:var(--text);display:block;font-size:14px;margin-bottom:4px}.radio-content p{color:var(--muted);font-size:13px}.inline-input,.inline-select{margin-left:32px;margin-top:12px;width:calc(100% - 32px)}.per-type-config{display:flex;flex-direction:column;gap:10px;margin-left:32px;margin-top:16px}.per-type-row{align-items:center;display:flex;gap:12px;justify-content:space-between}.per-type-row span{color:var(--text);font-size:14px}.input-sm{height:36px;width:100px!important}.total-count{border-top:1px solid var(--border);color:var(--primary);font-size:14px;font-weight:600;margin-top:8px;padding-top:8px}.summary-card{background:var(--elevated);border-radius:var(--radius)}.summary-card h4{font-family:Space Grotesk,sans-serif;font-size:18px;font-weight:600;margin-bottom:20px}.summary-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr);margin-bottom:24px}.summary-item{display:flex;flex-direction:column;gap:4px}.summary-label{color:var(--muted);font-size:12px;letter-spacing:.5px;text-transform:uppercase}.summary-value{color:var(--text);font-size:15px}.summary-value.highlight{color:var(--primary);font-size:24px;font-weight:700}.summary-value.file-tag{align-items:center;background:#fff;border:1px solid var(--border);border-radius:6px;display:inline-flex;font-size:13px;gap:6px;padding:4px 10px}.question-breakdown{border-top:1px solid var(--border);margin-top:20px;padding-top:20px}.question-breakdown h5{font-size:14px;font-weight:600;margin-bottom:12px}.breakdown-list{display:flex;flex-direction:column;gap:8px}.breakdown-item{align-items:center;background:#fff;border:1px solid var(--border);border-radius:8px;display:flex;justify-content:space-between;padding:10px 14px}.breakdown-type{color:var(--text);font-size:14px;font-weight:500}.breakdown-count{color:var(--primary);font-size:13px;font-weight:600}.breakdown-difficulty{background:var(--sage-200);border-radius:10px;color:var(--sage);font-size:12px;padding:2px 8px}.sources-info{background:#fff;border-radius:8px;margin-top:16px;padding:12px}.sources-info,.wizard-footer{display:flex;justify-content:space-between}.wizard-footer{background:var(--elevated);border-top:1px solid var(--border);padding:20px 28px}.footer-left,.footer-right{display:flex;gap:12px}.error-message{background:#fee2e2;border:1px solid #fecaca;border-radius:10px;color:var(--danger);font-size:14px;margin-top:16px;padding:12px 16px}@media (max-width:640px){.question-types-grid{grid-template-columns:repeat(2,1fr)}.summary-grid{grid-template-columns:1fr}.progress-step span{font-size:10px}}.notebook-detail-page{background:linear-gradient(to bottom right,var(--gray-50),#fff,var(--gray-50));min-height:calc(100vh - 64px)}.notebook-subheader{background:#fff;border-bottom:1px solid var(--border);padding:16px 0}.subheader-inner{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1280px;padding:0 32px}.subheader-left{align-items:center;display:flex;gap:16px}.back-btn:hover{background:var(--gray-100)}.notebook-title-group{display:flex;flex-direction:column}.notebook-nav-title{color:var(--text-heading);font-size:18px;font-weight:600}.notebook-nav-subtitle{color:var(--muted);font-size:13px;margin-top:2px}.notebook-content{display:flex;flex-direction:column;height:calc(100vh - 112px);margin:0 auto;max-width:1280px;overflow:hidden;padding:24px 32px 0}.tabs{border-bottom:1px solid var(--border);flex-shrink:0;gap:4px;margin-bottom:24px}.tab,.tabs{display:flex}.tab{align-items:center;background:#0000;border:none;border-bottom:2px solid #0000;border-radius:var(--radius) var(--radius) 0 0;color:var(--gray-600);cursor:pointer;font-size:14px;font-weight:500;gap:10px;padding:14px 24px;transition:all var(--transition-base)}.tab:hover{background:var(--gray-50);color:var(--text-heading)}.tab.active{border-bottom-color:var(--primary);color:var(--primary)}.tab-content{animation:fadeIn .3s ease;flex:1 1;min-height:0;overflow:hidden}.notebook-workspace{grid-gap:0;display:grid;gap:0;grid-template-columns:280px 1fr;height:100%;max-height:100%;overflow:hidden;transition:grid-template-columns .3s ease}.notebook-workspace.three-panel{grid-template-columns:280px 1fr 320px}.notebook-workspace.resources-collapsed{grid-template-columns:56px 1fr}.notebook-workspace.three-panel.resources-collapsed{grid-template-columns:56px 1fr 320px}.notebook-workspace.three-panel.study-tools-collapsed{grid-template-columns:280px 1fr 56px}.notebook-workspace.three-panel.resources-collapsed.study-tools-collapsed{grid-template-columns:56px 1fr 56px}.resources-panel{background:#fff;border-right:1px solid var(--border);display:flex;flex-direction:column;height:100%;overflow:hidden;transition:all .3s ease}.resources-panel-header{align-items:center;background:var(--gray-50);border-bottom:1px solid var(--border);display:flex;flex-shrink:0;justify-content:space-between;padding:16px 20px}.resources-panel-title{color:var(--text-heading);font-size:16px;font-weight:600;margin:0}.resources-collapse-btn,.resources-expand-btn{align-items:center;background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--muted);cursor:pointer;display:flex;height:32px;justify-content:center;transition:all var(--transition-fast);width:32px}.resources-collapse-btn:hover,.resources-expand-btn:hover{background:var(--gray-100);border-color:var(--gray-300);color:var(--text)}.resources-panel-actions{border-bottom:1px solid var(--border);display:flex;flex-shrink:0;gap:8px;padding:12px 16px}.resources-panel-actions .btn{flex:1 1;font-size:13px;justify-content:center}.resources-panel-selection{align-items:center;background:var(--gray-50);border-bottom:1px solid var(--border);display:flex;flex-shrink:0;justify-content:space-between;padding:10px 16px}.selection-info-mini{align-items:center;display:flex;gap:8px}.selected-count-mini{background:var(--indigo-50);border-radius:var(--radius-full);color:var(--primary);font-size:12px;font-weight:500;padding:4px 10px}.selection-buttons-mini{display:flex;gap:6px}.btn-xs{font-size:12px;padding:4px 10px}.resources-panel-content{flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:16px}.resources-tree-mini{display:flex;flex-direction:column;gap:4px}.empty-resources-mini{color:var(--muted);padding:40px 20px;text-align:center}.empty-resources-mini .empty-icon{color:var(--gray-300);margin-bottom:12px}.empty-resources-mini p{font-size:13px;margin:0}.empty-resources-mini .empty-hint{color:var(--gray-400);font-size:12px;margin-top:4px}.upload-progress-mini{align-items:center;background:var(--indigo-50);border-bottom:1px solid var(--indigo-100);color:var(--primary);display:flex;flex-shrink:0;font-size:12px;font-weight:500;gap:8px;padding:10px 16px}.resources-panel.collapsed{grid-column:1;width:56px}.resources-panel.collapsed .resources-panel-actions,.resources-panel.collapsed .resources-panel-content,.resources-panel.collapsed .resources-panel-header,.resources-panel.collapsed .resources-panel-selection{display:none}.resources-panel.collapsed .resources-expand-btn{margin:16px auto}.resources-vertical-label{color:var(--muted);font-size:13px;font-weight:600;letter-spacing:2px;margin:20px auto;text-align:center;text-orientation:mixed;writing-mode:vertical-rl}.mobile-resources-toggle{align-items:center;background:var(--primary);border:none;border-radius:50%;bottom:170px;box-shadow:0 4px 16px #6366f166;color:#fff;cursor:pointer;display:none;height:56px;justify-content:center;left:16px;position:fixed;transition:all var(--transition-fast);width:56px;z-index:999}.mobile-resources-toggle:active{transform:scale(.95)}.mobile-resources-toggle .source-count-badge{align-items:center;background:var(--indigo-600);border:2px solid #fff;border-radius:50%;color:#fff;display:flex;font-size:11px;font-weight:600;height:24px;justify-content:center;position:absolute;right:-4px;top:-4px;width:24px}.mobile-resources-overlay{display:none}.study-tools-panel{background:#fff;border-left:1px solid var(--border);display:flex;flex-direction:column;height:100%;overflow:hidden;transition:all .3s ease}.study-tools-panel-header{align-items:center;background:var(--gray-50);border-bottom:1px solid var(--border);display:flex;flex-shrink:0;justify-content:space-between;padding:16px 20px}.study-tools-panel-title{color:var(--text-heading);font-size:16px;font-weight:600;margin:0}.study-tools-collapse-btn,.study-tools-expand-btn{align-items:center;background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--muted);cursor:pointer;display:flex;height:32px;justify-content:center;transition:all var(--transition-fast);width:32px}.study-tools-collapse-btn:hover,.study-tools-expand-btn:hover{background:var(--gray-100);border-color:var(--gray-300);color:var(--text)}.study-tools-panel-content{display:flex;flex:1 1;flex-direction:column;gap:24px;min-height:0;overflow-x:hidden;overflow-y:auto;padding:16px}.study-tools-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr}.study-tool-card{border:2px solid;border-radius:var(--radius-lg);cursor:pointer;display:flex;flex-direction:column;gap:10px;padding:14px;position:relative;text-align:left;transition:all var(--transition-fast)}.study-tool-card:hover:not(:disabled){box-shadow:var(--shadow-soft-md);transform:translateY(-2px)}.study-tool-card:disabled{cursor:not-allowed;opacity:.5}.study-tool-card-icon{align-items:center;background:#fff;border-radius:var(--radius-md);display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.study-tool-card-content{flex:1 1}.study-tool-card-title{color:var(--text-heading);font-size:14px;font-weight:600;margin:0 0 4px}.study-tool-card-description{color:var(--muted);font-size:12px;margin:0}.study-tool-card-badge{align-items:center;background:var(--primary);border-radius:var(--radius-full);color:#fff;display:flex;font-size:10px;font-weight:600;gap:4px;padding:4px 8px;position:absolute;right:8px;top:8px}.study-tools-history{display:flex;flex-direction:column;gap:12px}.study-tools-history-header{font-weight:600;letter-spacing:.5px;text-transform:uppercase}.study-tools-history-header,.study-tools-history-loading{align-items:center;color:var(--muted);display:flex;font-size:13px;gap:8px}.study-tools-history-loading{justify-content:center;padding:12px}.study-tools-history-empty{color:var(--muted);padding:20px;text-align:center}.study-tools-history-empty p{font-size:13px;font-weight:500;margin:0 0 4px}.study-tools-history-empty span{color:var(--gray-400);font-size:12px}.study-tools-history-list{display:flex;flex-direction:column;gap:6px}.study-tools-history-item{align-items:center;background:var(--gray-50);border:1px solid var(--border);border-radius:var(--radius-md);display:flex;gap:10px;padding:10px 12px;transition:all var(--transition-fast)}.study-tools-history-item:hover{background:#fff;border-color:var(--gray-300);box-shadow:var(--shadow-soft-sm)}.study-tools-history-item-icon{align-items:center;background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--primary);display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.study-tools-history-item-content{flex:1 1;min-width:0}.study-tools-history-item-title{color:var(--text);font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.study-tools-history-item-time{align-items:center;color:var(--muted);display:flex;font-size:11px;gap:4px;margin-top:2px}.study-tools-history-item-actions{display:flex;gap:4px}.btn-icon-sm{background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);padding:0;transition:all var(--transition-fast)}.btn-icon-sm:hover{border-color:var(--gray-300)}.btn-danger-ghost:hover{background:var(--red-50);border-color:var(--red-200);color:var(--red-600)}.study-tools-panel.collapsed{width:56px}.study-tools-panel.collapsed .study-tools-panel-content,.study-tools-panel.collapsed .study-tools-panel-header{display:none}.study-tools-panel.collapsed .study-tools-expand-btn{margin:16px auto}.study-tools-vertical-label{color:var(--muted);font-size:13px;font-weight:600;letter-spacing:2px;margin:20px auto;text-align:center;text-orientation:mixed;writing-mode:vertical-rl}.mobile-study-tools-toggle{align-items:center;background:var(--yellow-500);border:none;border-radius:50%;bottom:170px;box-shadow:0 4px 16px #eab30866;color:#fff;cursor:pointer;display:none;height:56px;justify-content:center;position:fixed;right:16px;transition:all var(--transition-fast);width:56px;z-index:999}.mobile-study-tools-toggle:active{transform:scale(.95)}.mobile-study-tools-overlay{display:none}.resources-tab{display:flex;flex-direction:column;gap:24px}.resources-header{align-items:center;display:flex;justify-content:space-between}.resources-header h3{color:var(--text-heading);font-size:24px;font-weight:600}.resources-actions,.upload-progress{display:flex;gap:12px}.upload-progress{align-items:center;background:var(--indigo-50);border:1px solid var(--indigo-100);border-radius:var(--radius-lg);color:var(--primary);font-size:14px;font-weight:500;padding:14px 18px}.selection-controls{align-items:center;background:#fff;border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft-sm);display:flex;justify-content:space-between;padding:14px 20px}.selection-info{gap:10px}.selected-count{background:var(--indigo-50);border-radius:var(--radius-full);color:var(--primary);font-weight:500;padding:6px 14px}.selection-buttons{display:flex;gap:8px}.sidebar-selection{margin-bottom:10px}.sources-tree{background:#fff;border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft-sm);overflow:visible}.empty-sources{align-items:center;color:var(--muted);display:flex;flex-direction:column;gap:16px;justify-content:center;padding:72px 32px;text-align:center}.empty-sources .empty-icon{color:var(--gray-400)}.empty-sources p{color:var(--gray-600);font-size:15px}.empty-sources .empty-hint{color:var(--gray-400);font-size:13px}.folder-tree-item{border-bottom:1px solid var(--gray-100);position:relative}.folder-tree-item:last-child{border-bottom:none}.folder-row{align-items:center;display:flex;gap:10px;padding:14px 20px;padding-left:calc(20px + var(--level, 0)*24px);position:relative;transition:background-color var(--transition-fast)}.folder-row:hover{background:var(--gray-50)}.expand-btn{align-items:center;background:#0000;border:none;border-radius:var(--radius);color:var(--gray-400);cursor:pointer;display:flex;height:28px;justify-content:center;transition:all var(--transition-fast);width:28px}.expand-btn:hover{background:var(--gray-200);color:var(--text-heading)}.folder-checkbox,.source-checkbox{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:var(--gray-400);cursor:pointer;display:flex;justify-content:center;padding:4px;transition:color var(--transition-fast)}.folder-checkbox:hover,.source-checkbox:hover{color:var(--primary)}.text-primary{color:var(--primary)!important}.folder-icon{color:var(--amber-600)}.folder-name{color:var(--text-heading);flex:1 1;font-size:14px;font-weight:500}.folder-children{border-top:1px solid var(--gray-100)}.folder-actions,.source-actions{position:relative}.action-btn{align-items:center;border-radius:var(--radius);color:var(--gray-400);display:flex;height:32px;justify-content:center;transition:all var(--transition-fast);width:32px}.action-btn:hover{background:var(--gray-100);color:var(--text-heading)}.context-menu{animation:scaleIn .15s ease;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft-xl);min-width:180px;overflow:visible;position:absolute;right:0;top:100%;z-index:1000}.context-menu button{align-items:center;background:#0000;border:none;color:var(--text);cursor:pointer;display:flex;font-size:14px;gap:12px;padding:12px 16px;text-align:left;transition:background-color var(--transition-fast);width:100%}.context-menu button:hover{background:var(--gray-50)}.context-menu button.danger{color:var(--danger)}.context-menu button.danger:hover{background:var(--red-50)}.menu-header{background:var(--gray-50);border-bottom:1px solid var(--border);color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.5px;padding:10px 16px;text-transform:uppercase}.move-menu{max-height:300px;overflow-y:auto}.inline-edit{align-items:center;display:flex;flex:1 1;gap:6px;min-width:0;position:relative;z-index:5}.inline-input{background:#fff;border:2px solid var(--primary);border-radius:6px;flex:1 1;font-size:13px;height:28px;min-width:0;outline:none;padding:0 10px}.inline-btn{align-items:center;border:none;border-radius:4px;cursor:pointer;display:flex;flex-shrink:0;height:24px;justify-content:center;transition:all .15s ease;width:24px}.inline-btn.save{background:var(--primary);color:#fff}.inline-btn.save:hover{background:var(--primary-hover)}.inline-btn.cancel{background:var(--gray-100);color:var(--muted)}.inline-btn.cancel:hover{background:var(--gray-200)}.source-tree-item{border-bottom:1px solid var(--gray-100);position:relative}.source-tree-item:last-child{border-bottom:none}.source-row{align-items:center;display:flex;gap:10px;padding:14px 20px 14px 58px;padding-left:calc(58px + var(--level, 0)*24px);position:relative;transition:background-color var(--transition-fast)}.source-row:hover{background:var(--gray-50)}.source-tree-item.selected .source-row{background:var(--indigo-50)}.source-icon{align-items:center;display:flex}.source-icon .icon-pdf{color:var(--red-600)}.source-icon .icon-doc{color:var(--blue-600)}.source-icon .icon-image{color:var(--purple-600)}.source-icon .icon-url{color:var(--green-600)}.source-name{color:var(--text);flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-badge{letter-spacing:.3px;padding:5px 12px;text-transform:uppercase}.status-badge.ready{background:var(--green-100);color:var(--green-700)}.status-badge.processing{background:var(--amber-100);color:var(--amber-700)}.status-badge.error{background:var(--red-100);color:var(--red-700)}.source-progress{align-items:center;display:flex;flex:1 1;gap:8px;min-width:0}.source-progress .spin{animation:spin 1s linear infinite;color:var(--primary);flex-shrink:0}.progress-text{color:var(--gray-600);font-size:11px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-bar-mini{background:var(--gray-200);border-radius:2px;flex-shrink:0;height:4px;overflow:hidden;width:60px}.progress-fill-mini{background:var(--primary);border-radius:2px;height:100%;transition:width .3s ease}.document-viewer{display:flex;flex-direction:column;max-height:90vh;max-width:800px}.document-content{background:var(--gray-50);flex:1 1;max-height:60vh;overflow-y:auto;padding:24px}.document-text{word-wrap:break-word;color:var(--text);font-family:inherit;font-size:14px;line-height:1.7;white-space:pre-wrap}.no-content{color:var(--muted);font-size:15px;padding:48px;text-align:center}.chat-tab{grid-gap:24px;display:grid;gap:24px;grid-template-columns:minmax(240px,280px) 1fr;height:100%;max-height:100%;min-height:0;overflow:hidden;transition:grid-template-columns var(--transition-smooth)}.chat-tab.sidebar-collapsed{grid-template-columns:56px 1fr}.chat-main-clean,.chat-tab-clean{display:flex;flex-direction:column;height:100%;max-height:100%;overflow:hidden}.chat-main-clean{background:#fff;border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft-sm);min-height:0}@media (max-width:1200px) and (min-width:769px){.chat-tab{grid-template-columns:56px 1fr}}.chat-sidebar{background:#fff;border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft-sm);display:flex;flex-direction:column;gap:16px;height:100%;max-height:100%;overflow-x:hidden;overflow-y:auto;padding:24px;position:relative;transition:all var(--transition-smooth)}.chat-sidebar.collapsed{align-items:center;gap:12px;padding:12px}.sidebar-toggle-btn{align-items:center;background:var(--gray-100);border:1px solid var(--border);border-radius:var(--radius);color:var(--gray-500);cursor:pointer;display:flex;height:32px;justify-content:center;position:absolute;right:12px;top:12px;transition:all var(--transition-fast);width:32px;z-index:10}.sidebar-toggle-btn:hover{background:var(--gray-200);color:var(--text-heading)}.chat-sidebar.collapsed .sidebar-toggle-btn{position:relative;right:auto;top:auto}.collapsed-indicator{align-items:center;display:flex;flex-direction:column;gap:8px;padding:8px 0}.collapsed-count{align-items:center;background:var(--indigo-50);border-radius:var(--radius);color:var(--primary);display:flex;font-size:14px;font-weight:600;height:32px;justify-content:center;width:32px}.chat-sidebar h4{color:var(--text-heading);font-size:16px;font-weight:600;margin-bottom:4px}.source-filters{display:flex;flex-direction:column;gap:8px}.no-sources-message{background:var(--gray-50);border-radius:var(--radius-lg);color:var(--muted);font-size:14px;padding:14px}.chat-sidebar .source-checkbox,.source-filters .source-checkbox{align-items:center;background:#0000;border-radius:var(--radius-lg);color:var(--text);cursor:pointer;display:flex;font-size:14px;gap:10px;justify-content:flex-start;padding:10px 12px;transition:background var(--transition-fast);width:100%}.chat-sidebar .source-checkbox:hover,.source-filters .source-checkbox:hover{background:var(--gray-50)}.chat-sidebar .source-checkbox input[type=checkbox],.source-filters .source-checkbox input[type=checkbox]{accent-color:var(--primary);cursor:pointer;flex-shrink:0;height:16px;width:16px}.chat-sidebar .source-checkbox span,.source-filters .source-checkbox span{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-filter-hint{border-top:1px solid var(--border);color:var(--muted);font-size:12px;padding-top:12px}.chat-main{background:#fff;border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft-sm);display:flex;flex-direction:column;height:100%;max-height:100%;min-height:0;overflow:hidden}.chat-disabled-state{align-items:center;background:linear-gradient(135deg,var(--gray-50) 0,#fff 100%);display:flex;flex:1 1;justify-content:center;padding:48px 32px}.disabled-content{align-items:center;display:flex;flex-direction:column;gap:16px;max-width:360px;text-align:center}.disabled-icon{color:var(--gray-300)}.disabled-content h3{color:var(--text-heading);font-size:20px;font-weight:600}.disabled-content p{color:var(--gray-500);font-size:14px;line-height:1.6}.disabled-content .btn{margin-top:8px}.new-messages-indicator{align-items:center;animation:slideUp .3s ease;background:var(--primary);border:none;border-radius:var(--radius-full);bottom:120px;box-shadow:0 4px 16px #6366f14d;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px;left:50%;padding:10px 20px;position:absolute;transform:translateX(-50%);transition:all var(--transition-fast);z-index:100}.new-messages-indicator:hover{background:var(--indigo-700);box-shadow:0 6px 20px #6366f166;transform:translateX(-50%) translateY(-2px)}.new-messages-indicator svg{animation:bounce 1s ease infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}.chat-input-area{background:#fff;border-top:1px solid var(--border);box-shadow:0 -2px 12px #0000000a;flex-shrink:0;position:relative;z-index:10}.chat-sources-indicator{padding:8px 20px}.chat-sources-indicator,.sources-indicator{align-items:center;background:var(--indigo-50);border-bottom:1px solid var(--indigo-100);color:var(--primary);display:flex;font-size:12px;font-weight:500;gap:6px}.sources-indicator{padding:10px 20px}.sources-indicator svg{opacity:.8}.chat-input-header{align-items:center;background:var(--gray-50);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:12px 20px}.voice-mode-controls{align-items:center;display:flex;gap:8px}.voice-mode-toggle{align-items:center;background:#0000;border:1px solid var(--border);border-radius:var(--radius-full);color:var(--gray-600);cursor:pointer;display:flex;font-size:12px;font-weight:500;gap:6px;padding:6px 12px;transition:all var(--transition-fast)}.voice-mode-toggle:hover{background:var(--gray-100);border-color:var(--gray-300)}.voice-mode-toggle.active{background:var(--primary);border-color:var(--primary);color:#fff}.auto-speak-toggle{align-items:center;background:#0000;border:1px solid var(--border);border-radius:50%;color:var(--gray-500);cursor:pointer;display:flex;height:28px;justify-content:center;transition:all var(--transition-fast);width:28px}.auto-speak-toggle:hover{background:var(--gray-100)}.auto-speak-toggle.active{background:var(--indigo-100);border-color:var(--indigo-200);color:var(--primary)}.gemini-live-toggle{align-items:center;background:#0000;border:1px solid var(--border);border-radius:var(--radius-full);color:var(--gray-500);cursor:pointer;display:flex;font-size:11px;font-weight:500;gap:4px;padding:4px 10px;transition:all var(--transition-fast)}.gemini-live-toggle:hover{background:var(--gray-100)}.gemini-live-toggle.active{background:linear-gradient(135deg,var(--primary),#4285f4);border-color:#0000;color:#fff}.voice-input-container{background:linear-gradient(135deg,var(--indigo-50),var(--gray-50));border-bottom:1px solid var(--border);padding:16px}.chat-messages{display:flex;flex:1 1;flex-direction:column;gap:16px;max-height:100%;min-height:0;overflow-x:hidden;overflow-y:auto;padding:24px 28px;position:relative;scroll-behavior:smooth}.chat-messages:after,.chat-messages:before{content:"";height:20px;left:0;pointer-events:none;position:-webkit-sticky;position:sticky;right:0;z-index:5}.chat-messages:before{background:linear-gradient(180deg,#fff,#0000);top:0}.chat-messages:after{background:linear-gradient(0deg,#fff,#0000);bottom:0;margin-top:auto}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:#0000}.chat-messages::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}.chat-messages::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.empty-chat{align-items:center;color:var(--muted);display:flex;flex-direction:column;gap:16px;height:100%;justify-content:center;text-align:center}.empty-chat svg{color:var(--gray-300)}.empty-chat h3{color:var(--text-heading);font-size:20px}.empty-chat p{color:var(--gray-500);max-width:320px}.message{animation:fadeIn .3s ease;display:flex;max-width:85%}.message-user{align-self:flex-end}.message-assistant{align-self:flex-start}.persona-badge{align-items:center;animation:fadeIn .3s ease;background:color-mix(in srgb,var(--primary) 12%,#fff);background:color-mix(in srgb,var(--persona-color,var(--primary)) 12%,#fff);border:1px solid color-mix(in srgb,var(--persona-color,var(--primary)) 25%,#0000);border-radius:var(--radius-full);color:var(--primary);color:var(--persona-color,var(--primary));display:inline-flex;font-size:11px;font-weight:600;gap:6px;margin-bottom:10px;padding:4px 10px}.persona-emoji{font-size:13px;line-height:1}.persona-name{letter-spacing:.5px;text-transform:uppercase}.message-content{border-radius:var(--radius-xl);font-size:14px;line-height:1.6;padding:14px 18px}.message-user .message-content{background:var(--primary);border-bottom-right-radius:var(--radius);color:#fff}.message-assistant .message-content{background:var(--gray-100);border-bottom-left-radius:var(--radius);color:var(--text)}.message-sources{border-top:1px solid #fff3;margin-top:14px;padding-top:14px}.message-assistant .message-sources{border-top-color:var(--gray-200)}.sources-label{font-size:11px;font-weight:600;letter-spacing:.3px;margin-bottom:8px;opacity:.8;text-transform:uppercase}.source-tag{background:#fff3;border-radius:var(--radius);display:inline-block;font-size:11px;margin-right:6px;margin-top:4px;padding:4px 10px}.message-assistant .source-tag{background:var(--indigo-50);color:var(--primary)}.markdown-content{line-height:1.7}.markdown-content p{margin-bottom:12px}.markdown-content p:last-child{margin-bottom:0}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4{color:var(--text-heading);font-weight:600;margin:16px 0 8px}.markdown-content h1{font-size:1.5em}.markdown-content h2{font-size:1.3em}.markdown-content h3{font-size:1.15em}.markdown-content .katex{color:var(--text);font-size:1.05em}.markdown-content .katex-display{background:linear-gradient(135deg,var(--gray-50),var(--indigo-50));border-left:4px solid var(--primary);border-radius:var(--radius-lg);margin:16px 0;overflow-x:auto;overflow-y:hidden;padding:16px 20px}.markdown-content .katex-display>.katex{color:var(--text-heading);font-size:1.15em}@media (prefers-color-scheme:dark){.markdown-content .katex-display{background:linear-gradient(135deg,var(--gray-800),var(--gray-900));border-left-color:var(--indigo-400)}.markdown-content .katex{color:var(--gray-200)}}.markdown-content .katex-error{background:var(--red-50);border-radius:4px;color:var(--error);font-family:Source Code Pro,monospace;font-size:.9em;padding:2px 6px}.markdown-content .katex .frac-line{border-bottom-color:var(--text)}.markdown-content .katex .sqrt>.sqrt-sign{color:var(--primary)}.markdown-content .katex .mtable{margin:8px 0}.markdown-content .katex .arraycolsep{width:8px}.markdown-content .katex .msupsub{text-align:left}.markdown-content .katex .mathnormal{font-style:italic}.markdown-content table{border-collapse:collapse;border-radius:var(--radius);box-shadow:0 1px 3px #0000001a;font-size:14px;margin:16px 0;overflow:hidden;width:100%}.markdown-content table thead{background:linear-gradient(135deg,var(--primary),var(--indigo-600));color:#fff}.markdown-content table th{font-size:13px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase}.markdown-content table td{border-bottom:1px solid var(--border);padding:12px 16px;vertical-align:top}.markdown-content table tbody tr:nth-child(2n){background:var(--gray-50)}.markdown-content table tbody tr:hover{background:var(--indigo-50)}.markdown-content table tbody tr:last-child td{border-bottom:none}@media (max-width:640px){.markdown-content table{display:block;overflow-x:auto;white-space:nowrap}}.mermaid-diagram{background:linear-gradient(135deg,#fafafa,#f5f5f5);border:1px solid var(--border);border-radius:var(--radius-lg);display:flex;justify-content:center;margin:16px 0;overflow-x:auto;padding:20px}.mermaid-diagram svg{height:auto;max-width:100%}.mermaid-error{background:var(--red-50);border:1px solid var(--red-200);border-radius:var(--radius);color:var(--red-700);font-size:13px;margin:16px 0;padding:16px}.mermaid-error pre{font-size:12px;margin-top:12px}.search-image-container{margin:16px 0;text-align:center}.search-image{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);max-height:300px;max-width:100%}.image-caption{color:var(--gray-500);display:block;font-size:12px;font-style:italic;margin-top:8px}.markdown-content .markdown-list{margin:12px 0;padding-left:24px}.markdown-content .markdown-list li{margin-bottom:6px}.markdown-content .markdown-list.ordered{list-style-type:decimal}.markdown-content .inline-code{background:linear-gradient(135deg,var(--indigo-100),var(--purple-100));border-radius:4px;color:var(--indigo-700);font-family:Source Code Pro,monospace;font-size:.9em;font-weight:500;padding:2px 8px}.markdown-content .code-block{background:var(--gray-900);border-radius:var(--radius-lg);color:var(--gray-100);font-family:Source Code Pro,monospace;font-size:.9em;margin:12px 0;overflow-x:auto;padding:16px}.markdown-content .markdown-quote{background:linear-gradient(135deg,var(--indigo-50),var(--purple-50));border-left:4px solid var(--primary);border-radius:0 var(--radius) var(--radius) 0;color:var(--gray-700);font-style:normal;margin:16px 0;padding:12px 16px}.markdown-content .markdown-quote p{margin:0}.markdown-content strong{background:linear-gradient(135deg,var(--indigo-100),#0000);border-radius:3px;color:var(--primary);font-weight:700;padding:0 4px}.markdown-content em{color:var(--gray-600);font-style:italic}.markdown-content h3{border-bottom:2px solid var(--indigo-100);color:var(--primary);font-size:1.1em;font-weight:700;margin:20px 0 12px;padding-bottom:8px}.markdown-content h4{color:var(--gray-800);font-size:1em;font-weight:600;margin:16px 0 8px}.citation-link{background:var(--indigo-100);border:none;border-radius:4px;color:var(--primary);cursor:pointer;font-size:.85em;font-weight:600;margin:0 2px;padding:1px 6px;transition:all var(--transition-fast)}.citation-link:hover{background:var(--primary);color:#fff}.message-sources-enhanced{border-top:1px solid var(--gray-200);margin-top:16px;padding-top:16px}.message-sources-enhanced .sources-header{align-items:center;color:var(--gray-500);display:flex;font-size:12px;font-weight:600;gap:8px;letter-spacing:.5px;margin-bottom:10px;text-transform:uppercase}.message-sources-enhanced .sources-list{display:flex;flex-direction:column;gap:6px}.source-item-enhanced{background:var(--gray-50);border-radius:var(--radius);overflow:hidden}.source-item-enhanced .source-toggle{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;font-size:13px;gap:8px;padding:10px 12px;text-align:left;transition:background var(--transition-fast);width:100%}.source-item-enhanced .source-toggle:hover{background:var(--gray-100)}.source-item-enhanced .source-number{color:var(--primary);font-weight:600;min-width:24px}.source-item-enhanced .source-name{color:var(--text);flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-item-enhanced.expanded{background:var(--indigo-50);border:1px solid var(--indigo-200)}.source-item-enhanced .source-excerpt-container{background:var(--gray-100);border-top:1px solid var(--gray-200);padding:12px}.source-item-enhanced .source-excerpt{color:var(--gray-600);font-size:13px;font-style:italic;line-height:1.6;margin-bottom:10px}.source-item-enhanced .view-full-source-btn{align-items:center;background:#fff;border:1px solid var(--border);border-radius:var(--radius);color:var(--primary);cursor:pointer;display:flex;font-size:12px;gap:6px;padding:6px 12px;transition:all var(--transition-fast)}.source-item-enhanced .view-full-source-btn:hover{background:var(--primary);border-color:var(--primary);color:#fff}.streaming-text{display:inline}.typing-cursor{animation:blink .8s ease-in-out infinite;color:var(--primary);display:inline-block;font-weight:400;margin-left:1px}.message.streaming .message-content{background:linear-gradient(135deg,var(--gray-50),var(--gray-100));position:relative}.message.streaming .message-content:before{animation:shimmerGradient 2s linear infinite;background:linear-gradient(90deg,var(--primary),var(--indigo-400),var(--primary));background-size:200% 100%;border-radius:var(--radius-lg) var(--radius-lg) 0 0;content:"";height:3px;left:0;position:absolute;right:0;top:0}@keyframes shimmerGradient{0%{background-position:200% 0}to{background-position:-200% 0}}.message-assistant .copy-btn{align-items:center;background:#0000;border:1px solid var(--gray-300);border-radius:var(--radius);color:var(--gray-500);cursor:pointer;display:flex;font-size:12px;gap:6px;margin-top:12px;padding:6px 12px;transition:all var(--transition-fast)}.message-assistant .copy-btn:hover{background:var(--gray-100);border-color:var(--gray-400);color:var(--text)}.follow-up-questions{margin-top:8px;padding:16px 0}.follow-up-questions .follow-up-label{color:var(--gray-500);font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.follow-up-questions .follow-up-chips{display:flex;flex-wrap:wrap;gap:8px}.follow-up-questions .follow-up-chip{background:#fff;border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text);cursor:pointer;font-size:13px;max-width:100%;padding:10px 16px;text-align:left;transition:all var(--transition-fast)}.follow-up-questions .follow-up-chip:hover{background:var(--indigo-50);border-color:var(--primary);color:var(--primary)}.follow-up-questions.loading .follow-up-skeleton{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,var(--gray-100) 25%,var(--gray-200) 50%,var(--gray-100) 75%);background-size:200% 100%;border-radius:var(--radius-full);display:inline-block;height:40px;margin-right:8px;width:200px}.conversation-starters{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;padding:48px 24px;text-align:center}.conversation-starters .starters-header{margin-bottom:32px}.conversation-starters .starters-header h3{color:var(--text-heading);font-size:24px;font-weight:600;margin-bottom:8px}.conversation-starters .starters-header p{color:var(--gray-500);font-size:14px}.conversation-starters .starters-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr);max-width:600px;width:100%}.conversation-starters .starter-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text);cursor:pointer;font-size:14px;line-height:1.5;padding:20px;text-align:left;transition:all var(--transition-fast)}.conversation-starters .starter-card:hover{background:var(--indigo-50);border-color:var(--primary);box-shadow:var(--shadow-soft-md);transform:translateY(-2px)}.conversation-starters .starter-skeleton{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,var(--gray-100) 25%,var(--gray-200) 50%,var(--gray-100) 75%);background-size:200% 100%;border-radius:var(--radius-lg);height:80px}.message.streaming .message-content{background:var(--gray-100)}.streaming-cursor{animation:blink 1s infinite;color:var(--primary);display:inline-block;margin-left:2px}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.chat-input-form{background:#fff;display:flex;gap:12px;padding:16px 20px}.chat-input{padding:12px 16px;transition:all var(--transition-fast)}.chat-input:focus{box-shadow:0 0 0 3px #6366f11a;outline:2px solid var(--primary);outline-offset:-2px}.tools-tab{display:flex;flex-direction:column;gap:28px}.tools-header h3{color:var(--text-heading);font-size:24px;font-weight:600;margin-bottom:8px}.tools-subtitle{color:var(--gray-500);font-size:15px}.quiz-generator-card{background:linear-gradient(135deg,var(--indigo-50) 0,var(--purple-50) 100%);border:1px solid var(--indigo-100);border-radius:var(--radius-xl);display:flex;flex-direction:column;gap:24px;padding:32px}.quiz-generator-header{align-items:flex-start;display:flex;gap:20px}.quiz-icon-wrapper{align-items:center;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-soft-md);color:var(--primary);display:flex;flex-shrink:0;height:64px;justify-content:center;width:64px}.quiz-generator-header h4{color:var(--text-heading);font-size:20px;font-weight:600;margin-bottom:6px}.quiz-generator-header p{color:var(--gray-600);font-size:14px}.quiz-features{display:flex;flex-wrap:wrap;gap:10px}.feature-badge{align-items:center;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-full);color:var(--text);display:inline-flex;font-size:13px;font-weight:500;padding:8px 14px}.quiz-action-area{align-items:flex-start;border-top:1px solid var(--indigo-100);display:flex;flex-direction:column;gap:14px;padding-top:16px}.quiz-hint{color:var(--gray-500);font-size:14px}.quiz-hint.sources-ready{color:var(--primary);font-weight:500}.quiz-history-section{background:#fff;border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft-sm);overflow:hidden}.quiz-history-section .section-header{align-items:center;background:var(--gray-50);border-bottom:1px solid var(--border);display:flex;gap:12px;padding:20px 24px}.quiz-history-section .section-header h4{color:var(--text-heading);font-size:16px;font-weight:600}.quiz-history-section .section-header svg{color:var(--gray-400)}.empty-quiz-history{color:var(--muted);font-size:15px;padding:56px 24px;text-align:center}.quiz-history-list{display:flex;flex-direction:column}.quiz-history-item{align-items:center;border-bottom:1px solid var(--gray-100);display:flex;gap:20px;justify-content:space-between;padding:20px 24px;transition:background var(--transition-fast)}.quiz-history-item:last-child{border-bottom:none}.quiz-history-item:hover{background:var(--gray-50)}.quiz-info h5{color:var(--text-heading);font-size:16px;font-weight:600;margin-bottom:10px}.quiz-meta{gap:20px;margin-bottom:12px}.quiz-meta,.quiz-meta span{align-items:center;display:flex}.quiz-meta span{color:var(--muted);font-size:13px;gap:6px}.quiz-questions{color:var(--primary)!important;font-weight:500}.quiz-difficulty,.type-tag{text-transform:capitalize}.type-tag{background:var(--gray-100);border-radius:var(--radius-full);color:var(--gray-600);font-size:11px;font-weight:500;padding:4px 12px}.type-tag.more{background:var(--indigo-100);color:var(--primary)}.quiz-actions{display:flex;flex-shrink:0;gap:10px}.other-tools h4{border-bottom:1px solid var(--border);color:var(--text-heading);font-size:18px;font-weight:600;margin-bottom:20px;padding-bottom:16px}.tools-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.tool-card{align-items:flex-start;background:#fff;border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft-sm);display:flex;flex-direction:column;gap:14px;padding:28px;transition:all var(--transition-smooth)}.tool-card:not(.disabled):hover{border-color:var(--gray-300);box-shadow:var(--shadow-soft-lg);transform:translateY(-2px)}.tool-card.disabled{opacity:.6}.tool-icon-wrapper{align-items:center;background:var(--indigo-50);border-radius:var(--radius-lg);color:var(--primary);display:flex;height:56px;justify-content:center;margin-bottom:4px;width:56px}.tool-card h4{color:var(--text-heading);font-size:18px;font-weight:600}.tool-card p{color:var(--gray-500);flex:1 1;font-size:14px;line-height:1.5}.loading-state{color:var(--muted);gap:16px;padding:64px 32px}.loading-state p{font-size:15px}.modal{max-width:480px}.add-resources-content{display:flex;flex-direction:column;gap:24px;padding:24px}.extraction-method-selector{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:16px}.extraction-label{align-items:center;color:var(--text);display:flex;font-size:13px;font-weight:600;gap:8px;margin-bottom:12px}.extraction-label svg{color:var(--primary)}.extraction-options{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.extraction-option{align-items:flex-start;background:#fff;border:2px solid var(--gray-200);border-radius:var(--radius-md);cursor:pointer;display:flex;gap:12px;padding:14px 16px;position:relative;text-align:left;transition:all var(--transition-smooth)}.extraction-option:hover{background:var(--gray-50);border-color:var(--gray-300)}.extraction-option.active{background:var(--indigo-50);border-color:var(--primary)}.extraction-option svg{color:var(--gray-400);flex-shrink:0;margin-top:2px}.extraction-option.active svg{color:var(--primary)}.extraction-option-text{display:flex;flex-direction:column;gap:2px}.extraction-option-title{color:var(--text);font-size:14px;font-weight:600}.extraction-option-desc{color:var(--muted);font-size:12px;line-height:1.4}.recommended-badge{background:var(--primary);border-radius:var(--radius-full);color:#fff;font-size:10px;font-weight:600;letter-spacing:.5px;padding:3px 8px;position:absolute;right:8px;text-transform:uppercase;top:-8px}.dropzone-area{background:var(--gray-50);border:2px dashed var(--gray-300);border-radius:var(--radius-xl);cursor:pointer;padding:48px 32px;text-align:center;transition:all var(--transition-smooth)}.dropzone-area:hover{background:var(--indigo-50);border-color:var(--primary)}.dropzone-text{color:var(--gray-500);font-size:15px;font-weight:500}.resource-options{display:flex;flex-wrap:wrap;gap:12px}.resource-option{align-items:center;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:10px;padding:14px 20px;transition:all var(--transition-fast)}.resource-option:hover{background:var(--gray-50);border-color:var(--gray-300)}.resource-option.active{background:var(--indigo-50);border-color:var(--primary);color:var(--primary)}.resource-option svg{color:var(--gray-500)}.resource-option.active svg,.resource-option:hover svg{color:var(--primary)}.resource-form{border-top:1px solid var(--border);display:flex;flex-direction:column;gap:16px;padding-top:16px}.resource-form .btn{align-self:flex-start}.url-textarea{min-height:80px}.form-hint{color:var(--gray-500);font-size:12px;line-height:1.6;margin-top:8px}.modal-header{padding:24px}.modal-close{border-radius:var(--radius);font-size:24px}.modal-form{display:flex;flex-direction:column;gap:20px;padding:24px}.form-group{gap:8px}.modal-actions{padding-top:8px}@media (max-width:968px){.chat-tab{min-height:auto}.chat-tab,.chat-tab.sidebar-collapsed{grid-template-columns:1fr}.chat-sidebar{max-height:none}.chat-sidebar.collapsed{flex-direction:row;justify-content:space-between;padding:12px 16px}.chat-sidebar.collapsed .sidebar-toggle-btn{position:relative}.collapsed-indicator{flex-direction:row}.chat-messages{max-height:50vh}.notebook-content{padding:16px 20px 40px}}@media (max-width:768px){.quiz-history-item{align-items:flex-start;flex-direction:column}.quiz-actions{justify-content:flex-end;margin-top:16px;width:100%}.resources-header{align-items:flex-start;flex-direction:column;gap:16px}.resources-actions{width:100%}.resources-actions .btn{flex:1 1}}.resource-option-syllabus{background:linear-gradient(135deg,var(--indigo-50),var(--purple-50))!important;border-color:var(--indigo-200)!important}.resource-option-syllabus:hover{background:linear-gradient(135deg,var(--indigo-100),var(--purple-100))!important;border-color:var(--primary)!important}.resource-option-syllabus svg{color:var(--primary)!important}.syllabus-wizard-modal{max-height:90vh;max-width:800px;overflow:hidden;padding:0;width:95%}.modal-xl{max-width:900px}.audio-video-form{display:flex;flex-direction:column;gap:16px}.audio-video-header{align-items:center;background:linear-gradient(135deg,var(--purple-50),var(--indigo-50));border:1px solid var(--purple-100);border-radius:var(--radius);display:flex;gap:12px;padding:12px 16px}.audio-video-header svg{color:var(--purple-600);flex-shrink:0}.audio-video-header h4{color:var(--text);font-size:16px;font-weight:600;margin:0}.audio-video-header p{color:var(--gray-500);font-size:13px;margin:2px 0 0}.file-upload-area{background:var(--gray-50);border:2px dashed var(--gray-200);border-radius:var(--radius);position:relative;transition:all .2s ease}.file-upload-area:hover{background:var(--indigo-50);border-color:var(--primary)}.file-upload-area .file-input{cursor:pointer;inset:0;opacity:0;position:absolute;z-index:1}.file-upload-content{align-items:center;display:flex;justify-content:center;min-height:120px;padding:24px}.upload-prompt{align-items:center;color:var(--gray-500);display:flex;flex-direction:column;gap:8px;text-align:center}.upload-prompt svg{color:var(--gray-400)}.upload-prompt .file-types{color:var(--gray-400);font-size:12px}.upload-prompt .file-limit{background:var(--gray-100);border-radius:4px;color:var(--gray-400);font-size:11px;padding:2px 8px}.selected-file{align-items:center;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);display:flex;gap:12px;padding:8px;width:100%}.selected-file .file-icon{color:var(--purple-500)}.selected-file .file-info{display:flex;flex:1 1;flex-direction:column;gap:2px}.selected-file .file-name{color:var(--text);font-weight:500;word-break:break-all}.selected-file .file-size{color:var(--gray-500);font-size:12px}.transcription-progress{align-items:center;background:var(--indigo-50);border:1px solid var(--indigo-200);border-radius:var(--radius);color:var(--primary);display:flex;font-size:14px;gap:10px;padding:12px 16px}.transcription-progress .spin{color:var(--primary)}.btn-transcribe{align-items:center;display:flex;font-size:15px;font-weight:600;gap:8px;justify-content:center;padding:14px 24px}.transcription-info{background:var(--gray-50);border-radius:var(--radius);color:var(--gray-500);font-size:12px;padding:12px 16px}.transcription-info p{margin:4px 0}.mobile-sidebar-overlay{display:none}@media (max-width:768px){.mobile-sidebar-overlay{z-index:999}.mobile-resources-overlay,.mobile-sidebar-overlay{animation:fadeIn .2s ease;background:#00000080;bottom:0;display:block;left:0;position:fixed;right:0;top:0}.mobile-resources-overlay{z-index:1001}.mobile-study-tools-overlay{animation:fadeIn .2s ease;background:#00000080;bottom:0;display:block;left:0;position:fixed;right:0;top:0;z-index:1003}.notebook-content{height:calc(100vh - 120px);overflow:hidden}.notebook-workspace,.notebook-workspace.three-panel{grid-template-columns:1fr;position:relative}.resources-panel{bottom:0;box-shadow:none;left:0;position:fixed;top:0;transform:translateX(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);width:280px;z-index:1002}.resources-panel.mobile-visible{box-shadow:2px 0 16px #0003;transform:translateX(0)}.study-tools-panel{bottom:0;box-shadow:none;position:fixed;right:0;top:0;transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);width:300px;z-index:1004}.study-tools-panel.mobile-visible{box-shadow:-2px 0 16px #0003;transform:translateX(0)}.chat-tab,.mobile-resources-toggle,.mobile-study-tools-toggle{display:flex}.chat-tab{flex-direction:column;gap:0;height:100%;max-height:100%;min-height:0;overflow:hidden;position:relative}.chat-sidebar{background:#fff;border-radius:0;bottom:0;box-shadow:none;height:100vh;left:0;max-height:none;padding:20px;position:fixed;right:0;top:0;transform:translateX(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:1000}.chat-sidebar.visible{box-shadow:0 0 0 100vw #00000080;transform:translateX(0)}.chat-sidebar.visible .sidebar-toggle-btn{position:absolute;right:16px;top:16px}.chat-sidebar.collapsed{transform:translateX(-100%)}.chat-main{border-radius:var(--radius-lg);flex:1 1;height:100%;max-height:100%;min-height:0;overflow:hidden}.chat-messages{flex:1 1;gap:14px;max-height:100%;overflow-y:auto;padding:16px}.message{max-width:90%}.chat-input-form{gap:8px;padding:12px 16px}.chat-input{font-size:16px;padding:10px 14px}.chat-input-header{padding:10px 16px}.mobile-source-toggle{align-items:center;background:var(--primary);border:none;border-radius:50%;bottom:90px;box-shadow:0 4px 16px #6366f166;color:#fff;cursor:pointer;display:flex;height:56px;justify-content:center;position:fixed;right:16px;transition:all var(--transition-fast);width:56px;z-index:999}.mobile-source-toggle:active{transform:scale(.95)}.mobile-source-toggle .source-count-badge{align-items:center;background:var(--indigo-600);border:2px solid #fff;border-radius:50%;color:#fff;display:flex;font-size:11px;font-weight:600;height:24px;justify-content:center;position:absolute;right:-4px;top:-4px;width:24px}.new-messages-indicator{bottom:100px}.chat-disabled-state{padding:32px 20px}.disabled-icon-wrapper svg{height:40px;width:40px}.notebook-content{padding:16px}.tab{font-size:13px;padding:12px 16px}}@media (min-width:769px) and (max-width:1024px){.notebook-content{height:calc(100vh - 112px);overflow:hidden}.chat-tab{grid-template-columns:240px 1fr;height:100%;overflow:hidden}.chat-sidebar{height:100%;max-height:100%}.chat-messages{padding:20px}}@media (min-width:1440px){.notebook-content{height:calc(100vh - 112px);overflow:hidden}.chat-tab{height:100%;overflow:hidden}.chat-messages{gap:18px;padding:32px}.message{max-width:75%}}.voice-chat-container{background:var(--gray-50);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;padding:12px}.voice-chat-container,.voice-controls{align-items:center;display:flex;gap:12px}.voice-btn{align-items:center;background:var(--gray-200);border:none;border-radius:50%;color:var(--gray-600);cursor:pointer;display:flex;justify-content:center;transition:all var(--transition-normal)}.voice-btn:hover:not(:disabled){background:var(--gray-300);color:var(--gray-800)}.voice-btn:disabled{cursor:not-allowed;opacity:.5}.voice-tts-toggle{height:36px;width:36px}.voice-tts-toggle.active{background:var(--indigo-100);color:var(--primary)}.voice-mic-btn{background:var(--primary);box-shadow:var(--shadow-soft-md);color:#fff;height:56px;position:relative;width:56px}.voice-mic-btn:hover:not(:disabled){background:var(--indigo-700);transform:scale(1.05)}.voice-mic-btn.listening{animation:pulse-glow 1.5s ease-in-out infinite;background:var(--red-500)}.voice-mic-btn.processing{background:var(--gray-400)}@keyframes pulse-glow{0%,to{box-shadow:0 0 0 0 #ef444466}50%{box-shadow:0 0 0 15px #ef444400}}.voice-stop-btn{background:var(--red-100);color:var(--red-600);height:36px;width:36px}.voice-stop-btn:hover{background:var(--red-200)}.voice-waveform{pointer-events:none}.voice-waveform,.wave-ring{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.wave-ring{border:2px solid #ffffff4d;border-radius:50%;transition:transform .1s ease-out}.wave-ring.ring-1{height:70px;width:70px}.wave-ring.ring-2{border-color:#fff3;height:90px;width:90px}.wave-ring.ring-3{border-color:#ffffff1a;height:110px;width:110px}.voice-status{font-size:13px;font-weight:500;min-height:20px}.voice-status .status-listening{align-items:center;color:var(--red-600);display:flex;gap:6px}.voice-status .status-speaking{align-items:center;color:var(--primary);display:flex;gap:6px}.voice-status .status-processing{color:var(--gray-500)}.voice-status .pulse-dot{animation:pulse-dot 1s ease-in-out infinite;background:var(--red-500);border-radius:50%;height:8px;width:8px}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.voice-status .speaking-icon{animation:speak-bounce .5s ease-in-out infinite}@keyframes speak-bounce{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.voice-transcript-preview{align-items:flex-start;background:#fff;border:1px solid var(--indigo-200);border-radius:var(--radius);display:flex;gap:8px;max-width:100%;padding:12px 16px;width:100%}.voice-transcript-preview .transcript-label{color:var(--gray-500);flex-shrink:0;font-size:12px;font-weight:600}.voice-transcript-preview .transcript-text{color:var(--text);font-size:14px;line-height:1.4;word-break:break-word}.voice-error{background:var(--red-50);border:1px solid var(--red-200);color:var(--red-700);text-align:center;width:100%}.voice-chat-unsupported,.voice-error{border-radius:var(--radius);font-size:13px;padding:8px 16px}.voice-chat-unsupported{align-items:center;background:var(--gray-100);color:var(--gray-500);display:flex;gap:8px}.floating-voice-container{bottom:100px;position:fixed;right:24px;z-index:100}.floating-voice-container.expanded{background:#fff;border-radius:var(--radius-xl);bottom:80px;box-shadow:var(--shadow-soft-xl);padding:8px;right:16px}.floating-voice-btn{align-items:center;background:var(--primary);border:none;border-radius:50%;box-shadow:var(--shadow-soft-lg);color:#fff;cursor:pointer;display:flex;height:56px;justify-content:center;transition:all var(--transition-normal);width:56px}.floating-voice-btn:hover{background:var(--indigo-700);transform:scale(1.1)}.voice-collapse-btn{align-items:center;background:var(--gray-200);border:none;border-radius:50%;color:var(--gray-600);cursor:pointer;display:flex;font-size:16px;height:24px;justify-content:center;line-height:1;position:absolute;right:-8px;top:-8px;width:24px}.voice-collapse-btn:hover{background:var(--gray-300)}.chat-voice-input{align-items:center;background:var(--gray-50);border-radius:var(--radius-lg);display:flex;gap:8px;margin-bottom:8px;padding:8px}.chat-voice-toggle{align-items:center;background:var(--gray-200);border:none;border-radius:50%;color:var(--gray-600);cursor:pointer;display:flex;height:40px;justify-content:center;transition:all var(--transition-fast);width:40px}.chat-voice-toggle:hover{background:var(--gray-300)}.chat-voice-toggle.active{background:var(--primary);color:#fff}.chat-voice-toggle.listening{animation:pulse-glow 1.5s ease-in-out infinite;background:var(--red-500);color:#fff}.voice-mode-banner{background:linear-gradient(135deg,var(--indigo-50),var(--gray-50));border-bottom:1px solid var(--border);gap:12px;padding:16px}.voice-mode-banner,.voice-mode-banner .banner-icon{align-items:center;display:flex;justify-content:center}.voice-mode-banner .banner-icon{background:var(--primary);border-radius:50%;color:#fff;height:48px;width:48px}.voice-mode-banner .banner-text h4{color:var(--text-heading);font-size:16px;font-weight:600;margin-bottom:4px}.voice-mode-banner .banner-text p{color:var(--gray-500);font-size:13px}.compact-voice-controls{align-items:center;display:flex;gap:8px}.compact-voice-btn{align-items:center;background:#0000;border:1px solid var(--border);border-radius:50%;color:var(--gray-500);cursor:pointer;display:flex;height:36px;justify-content:center;transition:all var(--transition-fast);width:36px}.compact-voice-btn:hover{background:var(--gray-100);color:var(--gray-700)}.compact-voice-btn.listening{animation:pulse-glow 1.5s ease-in-out infinite;background:var(--red-500);border-color:var(--red-500);color:#fff}.compact-voice-btn.speaking{background:var(--primary);border-color:var(--primary);color:#fff}.gemini-voice-chat{align-items:center;background:linear-gradient(135deg,var(--indigo-50),var(--gray-50));border:1px solid var(--indigo-100);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:12px;padding:16px}.voice-connection-status{font-size:12px;font-weight:500}.voice-connection-status .status-connected{align-items:center;color:var(--green-600);display:flex;gap:6px}.voice-connection-status .status-connecting{align-items:center;color:var(--amber-600);display:flex;gap:6px}.voice-connection-status .status-disconnected{align-items:center;color:var(--gray-500);display:flex;gap:6px}.voice-connect-btn{background:var(--green-500)!important;box-shadow:var(--shadow-soft-md);color:#fff!important;height:56px;width:56px}.voice-connect-btn:hover:not(:disabled){background:var(--green-600)!important;transform:scale(1.05)}.voice-disconnect-btn{background:var(--gray-200);color:var(--gray-500);height:32px;width:32px}.voice-disconnect-btn:hover:not(:disabled){background:var(--red-100);color:var(--red-600)}.voice-status .status-ready{color:var(--green-600);font-size:13px}.gemini-voice-chat .voice-mic-btn{background:linear-gradient(135deg,var(--primary),#4285f4)}.gemini-voice-chat .voice-mic-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--indigo-700),#3367d6)}.gemini-voice-chat .voice-mic-btn.listening{background:linear-gradient(135deg,var(--red-500),var(--red-600))}@media (max-width:768px){.floating-voice-container{bottom:80px;right:16px}.floating-voice-btn,.voice-mic-btn{height:48px;width:48px}}.gemini-voice-natural{padding:24px;width:100%}.voice-error-banner{background:var(--red-50);border:1px solid var(--red-200);border-radius:var(--radius);color:var(--red-700);font-size:14px;margin-bottom:16px;padding:12px 16px;text-align:center}.voice-conversation-container{align-items:center;display:flex;flex-direction:column;gap:20px}.voice-orb{cursor:pointer;height:120px;width:120px}.orb-core,.voice-orb{align-items:center;display:flex;justify-content:center;position:relative}.orb-core{background:linear-gradient(135deg,var(--gray-200),var(--gray-300));border-radius:50%;box-shadow:0 4px 20px #0000001a;color:var(--gray-500);height:80px;transition:all .3s ease;width:80px;z-index:10}.voice-orb.idle .orb-core{background:linear-gradient(135deg,var(--primary),var(--indigo-600));color:#fff}.voice-orb.connecting .orb-core{background:linear-gradient(135deg,var(--amber-400),var(--amber-500));color:#fff}.voice-orb.listening .orb-core{animation:listening-pulse 2s ease-in-out infinite;background:linear-gradient(135deg,#4285f4,#34a853);color:#fff}.voice-orb.thinking .orb-core{background:linear-gradient(135deg,var(--amber-400),var(--orange-500));color:#fff}.voice-orb.speaking .orb-core{animation:speaking-glow 1s ease-in-out infinite;background:linear-gradient(135deg,#ea4335,#fbbc04);color:#fff}@keyframes listening-pulse{0%,to{box-shadow:0 0 0 0 #4285f466;transform:scale(1)}50%{box-shadow:0 0 30px 10px #4285f433;transform:scale(1.05)}}@keyframes speaking-glow{0%,to{box-shadow:0 0 20px 5px #ea43354d}50%{box-shadow:0 0 40px 15px #ea433566}}.orb-ring{border:2px solid #0000;border-radius:50%;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);transition:all .15s ease-out}.voice-orb.listening .orb-ring,.voice-orb.speaking .orb-ring{border-color:#4285f44d}.voice-orb.listening .ring-1{height:90px;transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(calc(1 + var(--audio-level, 0)*.3));width:90px}.voice-orb.listening .ring-2{border-color:#4285f433;height:105px;transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(calc(1 + var(--audio-level, 0)*.5));width:105px}.voice-orb.listening .ring-3{border-color:#4285f41a;height:120px;transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(calc(1 + var(--audio-level, 0)*.7));width:120px}.voice-orb.speaking .ring-1,.voice-orb.speaking .ring-2,.voice-orb.speaking .ring-3{animation:ring-pulse 1.5s ease-in-out infinite;border-color:#ea433533}.voice-orb.speaking .ring-2{animation-delay:.2s}.voice-orb.speaking .ring-3{animation-delay:.4s}@keyframes ring-pulse{0%,to{opacity:.6;transform:translate(-50%,-50%) scale(1)}50%{opacity:.3;transform:translate(-50%,-50%) scale(1.15)}}.voice-status-text{color:var(--gray-600);font-size:16px;font-weight:500;text-align:center}.voice-conversation-container.listening .voice-status-text{color:#4285f4}.voice-conversation-container.thinking .voice-status-text{color:var(--amber-600)}.voice-conversation-container.speaking .voice-status-text{color:#ea4335}.voice-transcript-live{background:#fff;border:1px solid var(--indigo-200);border-radius:var(--radius);color:var(--text);font-size:14px;max-width:400px;padding:12px 16px;text-align:center;width:100%}.voice-transcript-live .transcript-label{color:var(--primary);font-weight:600;margin-right:8px}.voice-ai-response{background:linear-gradient(135deg,var(--indigo-50),var(--gray-50));border:1px solid var(--indigo-100);border-radius:var(--radius);color:var(--text);font-size:14px;max-width:400px;padding:12px 16px;text-align:center;width:100%}.voice-ai-response .response-label{color:var(--green-600);font-weight:600;margin-right:8px}.voice-actions{align-items:center;display:flex;gap:16px;margin-top:8px}.voice-start-btn{align-items:center;background:linear-gradient(135deg,var(--green-500),var(--green-600));border:none;border-radius:50px;box-shadow:0 4px 15px #22c55e4d;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:10px;padding:14px 28px;transition:all .2s ease}.voice-start-btn:hover{background:linear-gradient(135deg,var(--green-600),var(--green-700));box-shadow:0 6px 20px #22c55e66;transform:translateY(-2px)}.voice-end-btn{align-items:center;background:linear-gradient(135deg,var(--red-500),var(--red-600));border:none;border-radius:50px;box-shadow:0 4px 15px #ef44444d;color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:8px;padding:12px 24px;transition:all .2s ease}.voice-end-btn:hover{background:linear-gradient(135deg,var(--red-600),var(--red-700));box-shadow:0 6px 20px #ef444466;transform:translateY(-2px)}.voice-mute-btn{align-items:center;background:var(--gray-100);border:1px solid var(--gray-200);border-radius:50%;color:var(--gray-600);cursor:pointer;display:flex;height:44px;justify-content:center;transition:all .2s ease;width:44px}.voice-mute-btn:hover{background:var(--gray-200)}.voice-mute-btn.muted{background:var(--red-100);border-color:var(--red-200);color:var(--red-600)}.voice-rag-indicator{align-items:center;background:linear-gradient(135deg,var(--green-50),var(--emerald-50));border:1px solid var(--green-200);border-radius:var(--radius);color:var(--green-700);display:flex;font-size:13px;gap:8px;justify-content:center;margin-bottom:12px;padding:8px 16px}.voice-rag-indicator svg{color:var(--green-600)}.voice-loading-context{align-items:center;background:var(--indigo-50);border:1px solid var(--indigo-200);border-radius:var(--radius);color:var(--indigo-700);display:flex;font-size:13px;gap:8px;justify-content:center;margin-bottom:12px;padding:8px 16px}.voice-loading-context .spin{color:var(--indigo-600)}.voice-rag-status{align-items:center;animation:fadeIn .2s ease;background:var(--amber-50);border:1px solid var(--amber-200);border-radius:20px;color:var(--amber-700);display:flex;font-size:12px;gap:8px;justify-content:center;margin-bottom:8px;padding:6px 14px}.voice-floating-container{bottom:100px;position:fixed;right:24px;z-index:1000}.voice-floating-orb{align-items:center;display:flex;flex-direction:column;gap:8px;position:relative}.voice-close-btn{align-items:center;background:var(--gray-100);border:1px solid var(--gray-200);border-radius:50%;color:var(--gray-500);cursor:pointer;display:flex;height:24px;justify-content:center;position:absolute;right:-8px;top:-8px;transition:all .2s ease;width:24px;z-index:10}.voice-close-btn:hover{background:var(--red-100);border-color:var(--red-200);color:var(--red-600)}.voice-orb-main{height:72px;width:72px}.orb-inner,.voice-orb-main{align-items:center;display:flex;justify-content:center;position:relative}.orb-inner{background:linear-gradient(135deg,var(--gray-200),var(--gray-300));border-radius:50%;box-shadow:0 4px 20px #00000026;color:var(--gray-500);height:56px;transition:all .3s ease;width:56px;z-index:5}.voice-floating-orb.connecting .orb-inner{background:linear-gradient(135deg,var(--amber-400),var(--amber-500));color:#fff}.voice-floating-orb.listening .orb-inner{animation:gentle-pulse 2s ease-in-out infinite;background:linear-gradient(135deg,#4285f4,#34a853);color:#fff}.voice-floating-orb.thinking .orb-inner{background:linear-gradient(135deg,var(--amber-400),var(--orange-500));color:#fff}.voice-floating-orb.speaking .orb-inner{animation:speaking-pulse 1s ease-in-out infinite;background:linear-gradient(135deg,#ea4335,#fbbc04);color:#fff}@keyframes gentle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes speaking-pulse{0%,to{box-shadow:0 0 0 0 #ea433566}50%{box-shadow:0 0 20px 8px #ea433533}}.orb-pulse{border:2px solid #4285f44d;border-radius:50%;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%)}.voice-floating-orb.listening .orb-pulse{animation:pulse-ring 2s ease-out infinite}.voice-floating-orb.speaking .orb-pulse{animation:pulse-ring 1.5s ease-out infinite;border-color:#ea43354d}.pulse-1{height:64px;width:64px}.pulse-2{animation-delay:.3s!important;height:72px;width:72px}@keyframes pulse-ring{0%{opacity:.8;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(1.4)}}.voice-status-mini{color:var(--gray-600);font-size:11px;font-weight:500;text-align:center;white-space:nowrap}.voice-floating-orb.listening .voice-status-mini{color:#4285f4}.voice-floating-orb.thinking .voice-status-mini{color:var(--amber-600)}.voice-floating-orb.speaking .voice-status-mini{color:#ea4335}.voice-mini-controls{display:flex;gap:8px}.voice-mini-btn{align-items:center;background:var(--gray-100);border:1px solid var(--gray-200);border-radius:50%;color:var(--gray-600);cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.voice-mini-btn:hover{background:var(--gray-200)}.voice-mini-btn.active,.voice-mini-btn.stop-btn{background:var(--red-100);border-color:var(--red-200);color:var(--red-600)}.voice-mini-btn.stop-btn:hover{background:var(--red-200)}.voice-mini-error{background:var(--red-100);border:1px solid var(--red-200);border-radius:12px;bottom:-30px;color:var(--red-700);font-size:11px;left:50%;padding:4px 12px;position:absolute;transform:translateX(-50%);white-space:nowrap}.chat-message.voice-message:before{content:"🎤";font-size:12px;opacity:.6;position:absolute;right:8px;top:8px}.voice-language-selector{left:-8px;position:absolute;top:-8px;z-index:15}.voice-lang-btn{align-items:center;background:#fff;border:1px solid var(--gray-200);border-radius:16px;box-shadow:0 2px 8px #0000001a;cursor:pointer;display:flex;font-size:12px;gap:4px;padding:4px 8px;transition:all .2s ease}.voice-lang-btn:hover{background:var(--gray-50);border-color:var(--primary)}.voice-lang-btn svg{color:var(--gray-500)}.voice-lang-menu{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);bottom:100%;box-shadow:0 4px 20px #00000026;left:0;margin-bottom:8px;max-height:300px;min-width:180px;overflow-y:auto;position:absolute;z-index:100}.voice-lang-option{align-items:center;background:none;border:none;cursor:pointer;display:flex;gap:10px;padding:10px 14px;text-align:left;transition:background .15s ease;width:100%}.voice-lang-option:hover{background:var(--gray-50)}.voice-lang-option.active{background:var(--indigo-50);color:var(--primary)}.voice-lang-option .lang-flag{font-size:18px}.voice-lang-option .lang-name{font-size:13px;font-weight:500}.voice-lang-option:first-child{border-radius:var(--radius) var(--radius) 0 0}.voice-lang-option:last-child{border-radius:0 0 var(--radius) var(--radius)}.voice-lang-btn.pulse-highlight{animation:lang-btn-pulse 2s ease-in-out infinite;background:var(--indigo-50);border-color:var(--primary)}@keyframes lang-btn-pulse{0%,to{box-shadow:0 2px 8px #0000001a,0 0 0 0 #6366f166}50%{box-shadow:0 2px 8px #0000001a,0 0 0 4px #6366f11a}}.voice-lang-hint{align-items:center;animation:hint-fade-in .3s ease;background:var(--gray-800);border-radius:var(--radius);box-shadow:0 4px 12px #0003;color:#fff;display:flex;flex-direction:column;font-size:11px;font-weight:500;gap:2px;left:0;margin-top:8px;padding:6px 12px;position:absolute;top:100%;white-space:nowrap}.voice-lang-hint .hint-arrow{font-size:14px;left:50%;line-height:1;position:absolute;top:-10px;transform:rotate(180deg);transform:translateX(-50%)}@keyframes hint-fade-in{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.voice-inline-container{background:linear-gradient(135deg,var(--indigo-50),var(--gray-50));border:1px solid var(--indigo-100);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:12px;padding:16px}.voice-language-inline{align-items:center;display:flex;position:relative}.voice-lang-btn-inline{align-items:center;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);cursor:pointer;display:flex;font-size:13px;gap:8px;padding:8px 14px;transition:all .2s ease}.voice-lang-btn-inline:hover{background:var(--gray-50);border-color:var(--primary)}.voice-lang-btn-inline svg{color:var(--gray-500)}.voice-lang-btn-inline .lang-label{color:var(--gray-700);font-weight:500}.voice-lang-btn-inline.pulse-highlight{animation:lang-btn-pulse 2s ease-in-out infinite;background:var(--indigo-50);border-color:var(--primary)}.voice-lang-dropdown{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);box-shadow:0 4px 20px #00000026;left:0;margin-top:4px;max-height:300px;min-width:200px;overflow-y:auto;position:absolute;top:100%;z-index:100}.voice-lang-item{align-items:center;background:none;border:none;cursor:pointer;display:flex;gap:10px;padding:10px 14px;text-align:left;transition:background .15s ease;width:100%}.voice-lang-item:hover{background:var(--gray-50)}.voice-lang-item.active{background:var(--indigo-50);color:var(--primary)}.voice-lang-item .lang-flag{font-size:18px}.voice-lang-item .lang-name{font-size:13px;font-weight:500}.voice-main-area{align-items:center;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);display:flex;gap:20px;padding:16px}.voice-orb-inline{flex-shrink:0;height:64px;width:64px}.orb-core-inline,.voice-orb-inline{align-items:center;display:flex;justify-content:center;position:relative}.orb-core-inline{background:linear-gradient(135deg,var(--gray-200),var(--gray-300));border-radius:50%;box-shadow:0 4px 15px #0000001a;color:var(--gray-500);height:56px;transition:all .3s ease;width:56px;z-index:5}.voice-main-area.connecting .orb-core-inline{background:linear-gradient(135deg,var(--amber-400),var(--amber-500));color:#fff}.voice-main-area.listening .orb-core-inline{animation:gentle-pulse 2s ease-in-out infinite;background:linear-gradient(135deg,#4285f4,#34a853);color:#fff}.voice-main-area.thinking .orb-core-inline{background:linear-gradient(135deg,var(--amber-400),var(--orange-500));color:#fff}.voice-main-area.speaking .orb-core-inline{animation:speaking-pulse 1s ease-in-out infinite;background:linear-gradient(135deg,#ea4335,#fbbc04);color:#fff}.orb-ring-inline{border:2px solid #4285f44d;border-radius:50%;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%)}.voice-main-area.listening .orb-ring-inline{animation:pulse-ring 2s ease-out infinite}.voice-main-area.speaking .orb-ring-inline{animation:pulse-ring 1.5s ease-out infinite;border-color:#ea43354d}.orb-ring-inline.ring-1{height:64px;width:64px}.orb-ring-inline.ring-2{animation-delay:.3s!important;height:72px;width:72px}.voice-status-inline{color:var(--gray-600);flex:1 1;font-size:15px;font-weight:500}.voice-main-area.listening .voice-status-inline{color:#4285f4}.voice-main-area.thinking .voice-status-inline{color:var(--amber-600)}.voice-main-area.speaking .voice-status-inline{color:#ea4335}.voice-error-inline{color:var(--red-600)}.voice-controls-inline{display:flex;gap:8px}.voice-ctrl-btn{align-items:center;background:var(--gray-100);border:1px solid var(--gray-200);border-radius:50%;color:var(--gray-600);cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .2s ease;width:40px}.voice-ctrl-btn:hover{background:var(--gray-200)}.voice-ctrl-btn.active,.voice-ctrl-btn.stop{background:var(--red-100);border-color:var(--red-200);color:var(--red-600)}.voice-ctrl-btn.stop:hover{background:var(--red-200)}.voice-ctrl-btn.close{background:var(--gray-100);border:1px solid var(--gray-300);border-radius:20px;color:var(--gray-700);font-size:13px;font-weight:500;padding:8px 16px;width:auto}.voice-ctrl-btn.close:hover{background:var(--gray-200);border-color:var(--gray-400)}.voice-ctrl-btn.close .close-text{align-items:center;display:flex;gap:4px}.left-panel{border-right:1px solid var(--border);flex-direction:column;height:100%;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.left-panel,.panel-header{background:#fff;display:flex}.panel-header{align-items:center;border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;padding:12px 16px}.panel-header-left{align-items:center;display:flex;gap:8px}.panel-title{color:var(--text-heading);font-size:14px;font-weight:600;letter-spacing:.5px;margin:0;text-transform:uppercase}.panel-count{background:var(--gray-100);border-radius:10px;font-size:11px;font-weight:600;height:20px;min-width:20px;padding:0 6px}.panel-collapse-btn,.panel-count,.panel-expand-btn{align-items:center;color:var(--muted);display:flex;justify-content:center}.panel-collapse-btn,.panel-expand-btn{background:#0000;border:none;border-radius:6px;cursor:pointer;height:28px;transition:all .15s ease;width:28px}.panel-collapse-btn:hover,.panel-expand-btn:hover{background:var(--gray-100);color:var(--text)}.panel-toolbar{background:var(--gray-50);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;padding:8px 12px}.panel-toolbar,.select-all-btn{align-items:center;display:flex}.select-all-btn{background:#0000;border:none;border-radius:6px;color:var(--muted);cursor:pointer;font-size:12px;font-weight:500;gap:6px;padding:6px 10px;transition:all .15s ease}.select-all-btn:hover:not(:disabled){background:var(--gray-100);color:var(--text)}.select-all-btn:disabled{cursor:not-allowed;opacity:.4}.select-all-btn.checked,.select-all-btn.checked svg{color:var(--primary)}.select-all-btn.indeterminate svg{color:var(--primary);opacity:.6}.panel-actions{gap:6px}.btn-icon-sm,.panel-actions{align-items:center;display:flex}.btn-icon-sm{background:#0000;border:none;border-radius:6px;color:var(--muted);cursor:pointer;height:28px;justify-content:center;transition:all .15s ease;width:28px}.btn-icon-sm:hover{background:var(--gray-100);color:var(--text)}.btn-primary-sm{align-items:center;background:var(--primary);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:12px;font-weight:500;gap:4px;padding:6px 12px;transition:all .15s ease}.btn-primary-sm:hover{background:var(--primary-hover)}.panel-upload-progress{align-items:center;background:var(--indigo-50);border-bottom:1px solid var(--indigo-100);color:var(--primary);display:flex;flex-shrink:0;font-size:12px;font-weight:500;gap:8px;padding:10px 16px}.panel-selection{display:none}.selection-info{align-items:center;display:flex;gap:6px}.selection-count{background:var(--indigo-50);border-radius:var(--radius-full);color:var(--primary);font-size:11px;font-weight:500;padding:2px 8px}.selection-actions{display:flex;gap:4px}.btn-xs{border-radius:var(--radius-sm);font-size:11px;padding:2px 8px}.panel-content{flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:8px 0}.panel-content::-webkit-scrollbar{width:6px}.panel-content::-webkit-scrollbar-track{background:#0000}.panel-content::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}.panel-content::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.resource-tree{display:flex;flex-direction:column;gap:0}.left-panel .source-tree-item{border-bottom:none}.left-panel .source-row{gap:8px;padding:8px 12px 8px 8px;padding-left:calc(8px + var(--level, 0)*16px)}.left-panel .source-checkbox{padding:2px}.left-panel .source-checkbox svg{height:20px;width:20px}.left-panel .source-icon svg{height:16px;width:16px}.left-panel .source-name{font-size:13px}.left-panel .inline-edit{gap:4px}.left-panel .inline-input{font-size:12px;height:26px;padding:0 8px}.left-panel .inline-btn{height:22px;width:22px}.left-panel .inline-btn svg{height:12px;width:12px}.left-panel .status-badge{display:none}.left-panel .folder-tree-item{border-bottom:none}.left-panel .folder-row{gap:6px;padding:6px 12px 6px 8px;padding-left:calc(8px + var(--level, 0)*16px)}.left-panel .folder-checkbox{padding:2px}.left-panel .folder-checkbox svg{height:20px;width:20px}.left-panel .folder-icon svg{height:16px;width:16px}.left-panel .folder-name{font-size:13px}.panel-empty{color:var(--muted);padding:40px 20px;text-align:center}.panel-empty .empty-icon{color:var(--gray-300);margin-bottom:12px}.panel-empty p{font-size:13px;margin:0}.panel-empty .empty-hint{color:var(--gray-400);font-size:12px;margin-top:4px}.left-panel.collapsed{width:56px}.left-panel.collapsed .panel-actions,.left-panel.collapsed .panel-content,.left-panel.collapsed .panel-header,.left-panel.collapsed .panel-selection,.left-panel.collapsed .panel-upload-progress{display:none}.left-panel.collapsed .panel-expand-btn{margin:16px auto}.panel-label-vertical{color:var(--muted);font-size:13px;font-weight:600;letter-spacing:2px;margin:20px auto;text-align:center;text-orientation:mixed;text-transform:uppercase;writing-mode:vertical-rl}.mobile-close-btn{display:none}@media (max-width:768px){.left-panel{bottom:0;box-shadow:none;left:0;position:fixed;top:0;transform:translateX(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);width:280px;z-index:1001}.left-panel.mobile-visible{box-shadow:2px 0 16px #0003;transform:translateX(0)}.mobile-close-btn{background:var(--gray-100);border:none;border-top:1px solid var(--border);color:var(--text);cursor:pointer;display:block;font-weight:500;padding:12px;transition:background .2s ease;width:100%}.mobile-close-btn:hover{background:var(--gray-200)}}.center-panel{background:#fff;border-left:1px solid var(--border);border-right:1px solid var(--border);display:flex;flex-direction:column;height:100%;overflow:hidden}.messages-container{flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto;position:relative;scroll-behavior:smooth}.messages-container::-webkit-scrollbar{width:6px}.messages-container::-webkit-scrollbar-track{background:#0000}.messages-container::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}.messages-container::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.messages-list{gap:20px;padding:24px 28px}.messages-empty,.messages-list{display:flex;flex-direction:column;min-height:100%}.messages-empty{align-items:center;justify-content:center;padding:40px 32px;text-align:center}.empty-header{margin-bottom:40px}.empty-header h2{color:var(--text-heading);font-size:28px;font-weight:600;margin:0 0 12px}.empty-header p{color:var(--muted);font-size:16px;margin:0}.scroll-to-bottom-btn{align-items:center;animation:slideUp .3s ease;background:var(--primary);border:none;border-radius:var(--radius-full);bottom:20px;box-shadow:0 4px 16px #6366f14d;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px;left:50%;padding:10px 20px;position:absolute;transform:translateX(-50%);transition:all .2s ease;z-index:10}.scroll-to-bottom-btn:hover{background:var(--indigo-700);box-shadow:0 6px 20px #6366f166;transform:translateX(-50%) translateY(-2px)}.input-area{flex-shrink:0;padding:12px 20px 16px}.input-box{align-items:center;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:28px;display:flex;gap:4px;padding:6px 8px;transition:all .2s ease}.input-box:focus-within{background:#fff;border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}.input-box.disabled{background:var(--gray-100);opacity:.7}.input-left-actions,.input-right-actions{align-items:center;display:flex;flex-shrink:0;gap:2px}.input-action-btn{align-items:center;background:#0000;border:none;border-radius:50%;color:var(--gray-500);cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s ease;width:36px}.input-action-btn:hover:not(:disabled){background:var(--gray-200);color:var(--text)}.input-action-btn:disabled{color:var(--gray-300);cursor:not-allowed}.input-action-btn.voice-btn{color:var(--primary)}.input-action-btn.voice-btn:hover:not(:disabled){background:var(--indigo-50);color:var(--indigo-700)}.chat-input{background:#0000;border:none;border-radius:20px;color:var(--text);flex:1 1;font-size:15px;line-height:1.5;min-width:0;padding:8px 12px}.chat-input:focus{outline:none}.chat-input:disabled{color:var(--muted);cursor:not-allowed}.chat-input::placeholder{color:var(--gray-400)}.send-btn{align-items:center;background:var(--primary);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:36px;justify-content:center;transition:all .2s ease;width:36px}.send-btn:hover:not(:disabled){background:var(--indigo-700);transform:scale(1.05)}.send-btn:active:not(:disabled){transform:scale(.95)}.send-btn:disabled{background:var(--gray-300);color:var(--gray-500);cursor:not-allowed;transform:none}.voice-mode-container{margin:0 auto;max-width:800px;padding:16px}@media (max-width:768px){.messages-list{gap:16px;padding:16px}.messages-empty{padding:32px 20px}.empty-header h2{font-size:24px}.empty-header p{font-size:14px}.input-area{padding:10px 12px 14px}.input-box{border-radius:24px;padding:4px 6px}.chat-input{font-size:16px;padding:6px 10px}.input-action-btn,.send-btn{height:32px;width:32px}.scroll-to-bottom-btn{bottom:16px;font-size:12px;padding:8px 16px}}@media (min-width:769px) and (max-width:1024px){.messages-list{padding:20px 24px}.input-area{padding:10px 16px 14px}}.attachments-preview{background:var(--gray-50);border-bottom:1px solid var(--gray-200);border-radius:12px 12px 0 0;display:flex;flex-wrap:wrap;gap:8px;padding:8px 12px}.attachment-chip{align-items:center;background:#fff;border:1px solid var(--gray-200);border-radius:8px;color:var(--text);display:flex;font-size:12px;gap:6px;max-width:200px;padding:6px 10px}.attachment-chip.image{padding:4px 8px 4px 4px}.attachment-image-preview{border-radius:4px;height:32px;object-fit:cover;width:32px}.attachment-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-remove{align-items:center;background:var(--gray-200);border:none;border-radius:50%;color:var(--gray-600);cursor:pointer;display:flex;flex-shrink:0;height:18px;justify-content:center;transition:all .15s ease;width:18px}.attachment-remove:hover{background:var(--red-100);color:var(--red-600)}.web-search-indicator{align-items:center;background:var(--blue-50);border-radius:0 0 12px 12px;color:var(--blue-700);display:flex;font-size:11px;font-weight:500;gap:6px;margin-top:-4px;padding:6px 12px}.web-search-indicator svg{color:var(--blue-500)}.input-action-btn.active{background:var(--blue-100);color:var(--blue-600)}.input-action-btn.active:hover{background:var(--blue-200);color:var(--blue-700)}.input-box-wrapper{margin:0 auto;max-width:800px;width:100%}.input-box-wrapper .attachments-preview+.input-box{border-radius:0 0 24px 24px}@media (max-width:768px){.attachments-preview{padding:6px 10px}.attachment-chip{font-size:11px;max-width:150px;padding:4px 8px}.attachment-image-preview{height:24px;width:24px}.web-search-indicator{font-size:10px;padding:4px 10px}}.right-panel{background:#fff;border-left:1px solid var(--border);display:flex;flex-direction:column;height:100%;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.right-panel .panel-header{align-items:center;background:#fff;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;justify-content:space-between;padding:12px 16px}.right-panel .panel-header-left{align-items:center;display:flex;gap:8px}.right-panel .panel-title{color:var(--text-heading);font-size:14px;font-weight:600;letter-spacing:.5px;margin:0;text-transform:uppercase}.right-panel .panel-collapse-btn,.right-panel .panel-expand-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:var(--muted);cursor:pointer;display:flex;height:28px;justify-content:center;transition:all .15s ease;width:28px}.right-panel .panel-collapse-btn:hover,.right-panel .panel-expand-btn:hover{background:var(--gray-100);color:var(--text)}.right-panel .panel-content{display:flex;flex:1 1;flex-direction:column;gap:16px;min-height:0;overflow-x:hidden;overflow-y:auto;padding:12px}.right-panel .panel-content::-webkit-scrollbar{width:4px}.right-panel .panel-content::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:2px}.tools-list{display:flex;flex-direction:column;gap:2px}.tool-item{align-items:center;background:#0000;border:none;border-radius:var(--radius-md);color:var(--text);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:10px;padding:10px 12px;text-align:left;transition:all .15s ease;width:100%}.tool-item:hover:not(:disabled){background:var(--gray-100);color:var(--primary)}.tool-item:disabled{cursor:not-allowed;opacity:.4}.tool-item svg{color:var(--gray-500);flex-shrink:0}.tool-item:hover:not(:disabled) svg{color:var(--primary)}.history-section{border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px;padding-top:12px}.history-header{align-items:center;color:var(--muted);display:flex;font-size:11px;font-weight:600;gap:6px;letter-spacing:.5px;padding:0 4px;text-transform:uppercase}.history-loading{color:var(--muted);display:flex;justify-content:center;padding:16px}.history-empty{color:var(--muted);padding:16px;text-align:center}.history-empty p{font-size:12px;margin:0}.history-list{gap:2px}.history-item{border-radius:var(--radius-md);cursor:pointer;gap:8px;padding:8px 10px;transition:all .15s ease}.history-item:hover{background:var(--gray-100)}.history-item svg:first-child{color:var(--gray-400);flex-shrink:0}.history-item-name{color:var(--text);flex:1 1;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-item-time{color:var(--muted);flex-shrink:0;font-size:11px}.history-delete-btn{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:var(--gray-400);cursor:pointer;display:flex;height:24px;justify-content:center;opacity:0;padding:0;transition:all .15s ease;width:24px}.history-item:hover .history-delete-btn{opacity:1}.history-delete-btn:hover{background:var(--red-100);color:var(--red-600)}.load-more-btn{align-items:center;background:#0000;border:1px dashed var(--border);border-radius:var(--radius-md);color:var(--muted);cursor:pointer;display:flex;font-size:12px;font-weight:500;gap:6px;justify-content:center;margin-top:8px;padding:10px;transition:all .15s ease;width:100%}.load-more-btn:hover{background:var(--gray-50);border-color:var(--gray-300);color:var(--text)}.right-panel.collapsed{width:56px}.right-panel.collapsed .panel-content,.right-panel.collapsed .panel-header{display:none}.right-panel.collapsed .panel-expand-btn{margin:12px auto}.right-panel .panel-label-vertical{color:var(--muted);font-size:11px;font-weight:600;letter-spacing:1px;margin:16px auto;text-align:center;text-orientation:mixed;text-transform:uppercase;writing-mode:vertical-rl}.right-panel .mobile-close-btn{display:none}@media (max-width:768px){.right-panel{bottom:0;position:fixed;right:0;top:0;transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);width:280px;z-index:1001}.right-panel.mobile-visible{box-shadow:-2px 0 16px #0003;transform:translateX(0)}.right-panel .mobile-close-btn{background:var(--gray-100);border:none;border-top:1px solid var(--border);color:var(--text);cursor:pointer;display:block;font-weight:500;padding:12px;width:100%}}.content-viewer-overlay{align-items:center;background:#000c;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1100}.content-viewer{animation:viewerSlideIn .2s ease;background:#fff;border-radius:16px;display:flex;flex-direction:column;max-height:90vh;max-width:900px;overflow:hidden;width:100%}@keyframes viewerSlideIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.viewer-header{align-items:center;background:var(--gray-50);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:16px 20px}.viewer-title h3{color:var(--text);font-size:16px;font-weight:600;margin:0}.viewer-type{color:var(--muted);display:block;font-size:12px;margin-top:2px}.viewer-actions{display:flex;gap:8px}.viewer-btn{align-items:center;background:#fff;border:none;border-radius:var(--radius-md);color:var(--gray-600);cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .15s ease;width:36px}.viewer-btn:hover{background:var(--gray-100);color:var(--text)}.viewer-btn.close:hover{background:var(--red-100);color:var(--red-600)}.viewer-body{flex:1 1;overflow-y:auto;padding:20px}.viewer-image-container{align-items:center;display:flex;justify-content:center;min-height:300px}.viewer-image{border-radius:8px;box-shadow:0 4px 20px #0000001a;max-height:70vh;max-width:100%;object-fit:contain}.viewer-audio-container{align-items:center;display:flex;justify-content:center;padding:40px}.audio-player{background:linear-gradient(135deg,#8b5cf6,#7c3aed);gap:20px;padding:24px 32px}.audio-play-btn{align-items:center;background:#fff;border:none;border-radius:50%;color:#8b5cf6;cursor:pointer;display:flex;height:64px;justify-content:center;transition:transform .15s ease;width:64px}.audio-play-btn:hover{transform:scale(1.05)}.audio-info h4{font-size:18px;margin:0 0 4px}.audio-info p{font-size:14px;margin:0;opacity:.8}.viewer-quiz-container{padding:40px;text-align:center}.quiz-info h4{font-size:20px;margin:0 0 8px}.quiz-info p{color:var(--muted);margin:0 0 16px}.quiz-types{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:24px}.quiz-type-tag{background:var(--gray-100);border-radius:20px;color:var(--text);font-size:12px;padding:4px 12px}.viewer-textbook-container{max-height:60vh;overflow-y:auto}.viewer-textbook-container h4{border-bottom:1px solid var(--border);font-size:20px;margin:0 0 16px;padding-bottom:12px}.textbook-content{font-size:15px;line-height:1.7}.viewer-presentation-container,.viewer-video-container{padding:40px;text-align:center}.viewer-presentation-container h4,.viewer-video-container h4{font-size:20px;margin:0 0 8px}.viewer-presentation-container p,.viewer-video-container p{color:var(--muted);margin:0 0 24px}.viewer-fallback{color:var(--muted)}.viewer-fallback p{margin:0 0 16px}.viewer-loading{color:var(--muted);padding:60px}.viewer-loading p{font-size:14px;margin-top:16px}.fallback-icon,.viewer-icon{color:var(--gray-300);margin-bottom:16px}.viewer-presentation-container .viewer-icon,.viewer-quiz-container .viewer-icon,.viewer-video-container .viewer-icon{color:var(--primary)}.textbook-header{border-bottom:1px solid var(--border);margin-bottom:20px;padding-bottom:16px}.textbook-header h4{font-size:20px;margin:0 0 4px}.textbook-header p{color:var(--muted);font-size:13px;margin:0}.history-item.deleting{background:var(--gray-100);opacity:.5;pointer-events:none}.viewer-title{align-items:center;color:var(--text);display:flex;font-size:16px;font-weight:600;gap:10px}.viewer-title svg{color:var(--primary)}.viewer-content{flex:1 1;overflow-y:auto;padding:24px}.viewer-loading{align-items:center;display:flex;flex-direction:column;gap:20px;justify-content:center;min-height:300px}.viewer-skeleton{max-width:600px;width:100%}.skeleton-image{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,var(--gray-100) 25%,var(--gray-200) 50%,var(--gray-100) 75%);background-size:200% 100%;border-radius:12px;height:300px;width:100%}.skeleton-audio{background:var(--gray-100);border-radius:16px;padding:30px}.skeleton-waveform{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,var(--gray-200) 25%,var(--gray-300) 50%,var(--gray-200) 75%);background-size:200% 100%;border-radius:8px;height:60px}.skeleton-video{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,var(--gray-100) 25%,var(--gray-200) 50%,var(--gray-100) 75%);background-size:200% 100%;border-radius:12px;height:350px;width:100%}.skeleton-text{display:flex;flex-direction:column;gap:12px}.skeleton-line{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,var(--gray-100) 25%,var(--gray-200) 50%,var(--gray-100) 75%);background-size:200% 100%;border-radius:4px;height:16px}.viewer-loading-text{align-items:center;color:var(--gray-500);display:flex;font-size:14px;font-weight:500;gap:10px}.viewer-error{align-items:center;color:var(--red-600);display:flex;flex-direction:column;gap:16px;justify-content:center;padding:40px;text-align:center}.viewer-error button{background:var(--primary);border:none;border-radius:8px;color:#fff;cursor:pointer;padding:8px 16px}.viewer-image{align-items:center;display:flex;justify-content:center}.viewer-image img{border-radius:12px;box-shadow:0 4px 24px #0000001a;max-height:60vh;max-width:100%;object-fit:contain}.viewer-audio{display:flex;flex-direction:column;gap:24px}.audio-player{background:linear-gradient(135deg,var(--primary),#4f46e5);border-radius:16px;color:#fff;gap:16px;padding:20px 24px}.audio-player,.play-btn{align-items:center;display:flex}.play-btn{background:#fff;border:none;border-radius:50%;color:var(--primary);cursor:pointer;height:56px;justify-content:center;transition:transform .2s;width:56px}.play-btn:hover{transform:scale(1.05)}.audio-title{font-size:16px;font-weight:600}.audio-transcript{background:var(--gray-50);border-radius:12px;padding:20px}.audio-transcript h4{color:var(--gray-600);font-size:14px;margin:0 0 12px}.audio-transcript p{color:var(--text);font-size:14px;line-height:1.7;margin:0}.viewer-video{display:flex;justify-content:center}.viewer-video video{border-radius:12px;max-height:60vh;max-width:100%}.viewer-quiz{margin:0 auto;max-width:600px}.viewer-quiz h4{font-size:20px;font-weight:600;margin:0 0 8px}.quiz-meta{color:var(--gray-500);font-size:14px;margin:0 0 20px}.quiz-preview{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.quiz-question-preview{background:var(--gray-50);border-radius:10px;display:flex;gap:12px;padding:12px 16px}.q-num{background:var(--indigo-100);border-radius:4px;color:var(--primary);font-size:12px;font-weight:700;padding:2px 8px}.q-text{color:var(--text);font-size:14px;line-height:1.4}.more-questions{color:var(--gray-500);font-size:13px;text-align:center}.take-quiz-btn{align-items:center;background:var(--primary);border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:8px;justify-content:center;padding:14px;transition:background .2s;width:100%}.take-quiz-btn:hover{background:#4f46e5}.viewer-textbook h4{font-size:20px;font-weight:600;margin:0 0 20px}.textbook-chapters{display:flex;flex-direction:column;gap:20px}.chapter{background:var(--gray-50);border-radius:12px;padding:16px}.chapter h5{color:var(--primary);font-size:15px;font-weight:600;margin:0 0 10px}.chapter p{color:var(--gray-600);font-size:14px;line-height:1.6;margin:0}.viewer-presentation h4{font-size:20px;font-weight:600;margin:0 0 8px}.slides-count{color:var(--gray-500);font-size:14px;margin:0 0 20px}.slides-preview{display:flex;flex-direction:column;gap:10px}.slide-preview{align-items:center;background:var(--gray-50);border-radius:10px;display:flex;gap:12px;padding:12px 16px}.slide-num{background:var(--indigo-100);border-radius:4px;color:var(--primary);font-size:11px;font-weight:700;padding:4px 10px}.slide-title{color:var(--text);font-size:14px}.viewer-fallback{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;padding:40px;text-align:center}.viewer-fallback p{color:var(--gray-500)}.viewer-fallback button{background:var(--primary);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px}.close-btn:hover{background:var(--red-100)!important;color:var(--red-600)!important}.generating-list{margin-bottom:8px}.history-item.generating{animation:generating-pulse 2s ease-in-out infinite;background:linear-gradient(90deg,var(--indigo-50) 0,var(--gray-50) 50%,var(--indigo-50) 100%);background-size:200% 100%;border:1px dashed var(--primary)}.history-item.generating.failed{animation:none;background:var(--red-50);border-color:var(--red-300)}@keyframes generating-pulse{0%,to{background-position:200% 0}50%{background-position:0 0}}.generating-icon{color:var(--primary)}.error-message{color:var(--red-500);display:block;font-size:10px;margin-top:2px}.history-item.generating .history-item-name{color:var(--primary);font-weight:500}.history-item.generating.failed .history-item-name{color:var(--red-600)}.workspace-topbar{background:#fff;border-bottom:1px solid var(--border);padding:0;position:-webkit-sticky;position:sticky;top:0;z-index:100}.topbar-inner{justify-content:space-between;max-width:100%;padding:10px 20px}.topbar-inner,.topbar-left{align-items:center;display:flex}.topbar-left{gap:8px}.topbar-back-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--muted);cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .15s ease;width:32px}.topbar-back-btn:hover{background:var(--gray-100);color:var(--text)}.topbar-breadcrumb{gap:8px}.breadcrumb-link,.topbar-breadcrumb{align-items:center;display:flex;font-size:14px}.breadcrumb-link{background:#0000;border:none;border-radius:6px;color:var(--primary);cursor:pointer;font-weight:500;gap:6px;padding:4px 8px;transition:all .15s ease}.breadcrumb-link:hover{background:var(--primary-light);text-decoration:underline}.breadcrumb-separator{color:var(--gray-400);font-weight:400}.breadcrumb-current{align-items:center;color:var(--text);display:flex;font-weight:600;gap:6px}.breadcrumb-current svg{color:var(--muted)}.topbar-right{align-items:center;display:flex;gap:8px}.notebook-subheader{display:none}.notebook-workspace-clean{grid-gap:0;display:grid;gap:0;grid-template-columns:280px 1fr 320px;height:calc(100vh - 110px);max-height:calc(100vh - 110px);overflow:hidden;transition:grid-template-columns .3s cubic-bezier(.4,0,.2,1)}.notebook-workspace-clean.left-collapsed{grid-template-columns:56px 1fr 320px}.notebook-workspace-clean.right-collapsed{grid-template-columns:280px 1fr 56px}.notebook-workspace-clean.left-collapsed.right-collapsed{grid-template-columns:56px 1fr 56px}.workspace-error,.workspace-loading{align-items:center;display:flex;flex-direction:column;gap:16px;height:calc(100vh - 90px);justify-content:center}.workspace-loading svg{color:var(--primary)}.workspace-loading p{color:var(--muted);font-size:14px}.workspace-error{color:var(--red-600)}.mobile-panel-toggle{align-items:center;border:none;border-radius:50%;bottom:100px;box-shadow:0 4px 16px #0003;cursor:pointer;display:none;font-size:24px;height:56px;justify-content:center;position:fixed;transition:all .3s ease;width:56px;z-index:999}.mobile-panel-toggle:active{transform:scale(.95)}.mobile-panel-toggle.mobile-left{background:var(--primary);color:#fff;left:16px}.mobile-panel-toggle.mobile-right{background:var(--yellow-500);color:#fff;right:16px}.mobile-overlay{animation:fadeIn .2s ease;background:#00000080;bottom:0;display:none;left:0;position:fixed;right:0;top:0;z-index:1000}@media (max-width:768px){.notebook-workspace-clean{grid-template-columns:1fr}.mobile-panel-toggle{display:flex}.mobile-overlay{display:block}}@media (min-width:769px) and (max-width:1024px){.notebook-workspace-clean{grid-template-columns:240px 1fr 300px}.notebook-workspace-clean.left-collapsed{grid-template-columns:56px 1fr 300px}.notebook-workspace-clean.right-collapsed{grid-template-columns:240px 1fr 56px}}@media (min-width:1440px){.notebook-workspace-clean{grid-template-columns:320px 1fr 360px}.notebook-workspace-clean.left-collapsed{grid-template-columns:56px 1fr 360px}.notebook-workspace-clean.right-collapsed{grid-template-columns:320px 1fr 56px}}.modal-clean{padding:0;position:relative}.modal-close-float{align-items:center;background:var(--gray-100);border:none;border-radius:var(--radius-full);color:var(--gray-600);cursor:pointer;display:flex;height:36px;justify-content:center;position:absolute;right:16px;top:16px;transition:all .2s ease;width:36px;z-index:10}.modal-close-float:hover{background:var(--gray-200);color:var(--text)}.modal-body-full{max-height:85vh;overflow-y:auto;padding:0}.classroom-page{background:linear-gradient(to bottom right,var(--gray-50),#fff,var(--gray-50));min-height:100vh}.classroom-nav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffd9;border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:40}.classroom-nav .nav-inner{align-items:center;display:flex;height:60px;justify-content:space-between;margin:0 auto;max-width:1280px;padding:0 32px}.nav-left{align-items:center;display:flex;gap:16px}.user-name{color:var(--gray-600)}.tab-navigation{background:#fff;border-bottom:1px solid var(--border);display:flex;gap:4px;margin:0 auto;max-width:1280px;padding:0 32px}.tab-btn{align-items:center;background:#0000;border:none;border-bottom:2px solid #0000;border-radius:var(--radius) var(--radius) 0 0;color:var(--gray-500);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:10px;padding:16px 24px;transition:all var(--transition-fast)}.tab-btn:hover{background:var(--gray-50);color:var(--text-heading)}.tab-btn.active{border-bottom-color:var(--primary);color:var(--primary)}.tab-btn svg{flex-shrink:0}.classroom-content{margin:0 auto;max-width:1280px;padding:40px 32px 72px}.tab-content{animation:fadeIn .3s ease-out}.section-header{align-items:flex-start;margin-bottom:28px}.section-info h2{color:var(--text-heading);font-size:24px;font-weight:600;margin-bottom:6px}.section-info p{color:var(--gray-500);font-size:15px}.action-cards-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(2,1fr);margin-bottom:48px}.action-card{align-items:flex-start;background:#fff;border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft-sm);cursor:pointer;display:flex;flex-direction:column;gap:20px;padding:32px;transition:all var(--transition-smooth)}.action-card:hover{border-color:var(--gray-300);box-shadow:var(--shadow-soft-lg);transform:translateY(-2px)}.action-card-icon{align-items:center;background:linear-gradient(135deg,var(--indigo-50) 0,var(--purple-50) 100%);border-radius:var(--radius-lg);color:var(--primary);display:flex;height:60px;justify-content:center;width:60px}.action-card-content{flex:1 1}.action-card-content h3{color:var(--text-heading);font-size:18px;font-weight:600;margin-bottom:8px}.action-card-content p{color:var(--gray-500);font-size:14px;line-height:1.5}.action-card .btn{align-self:flex-start}.history-section{margin-top:40px}.history-title{align-items:center;color:var(--text-heading);display:flex;font-size:18px;font-weight:600;gap:10px;margin-bottom:20px}.history-title svg{color:var(--gray-400)}.empty-history{align-items:center;background:#fff;border:1px solid var(--border);border-radius:var(--radius-xl);color:var(--gray-500);display:flex;flex-direction:column;justify-content:center;padding:56px 32px;text-align:center}.empty-history svg{color:var(--gray-300);margin-bottom:16px}.empty-history p{font-size:15px}.history-list{display:flex;flex-direction:column;gap:12px}.history-item{align-items:center;background:#fff;border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft-xs);display:flex;justify-content:space-between;padding:20px 24px;transition:all var(--transition-fast)}.history-item:hover{border-color:var(--gray-300);box-shadow:var(--shadow-soft-md)}.history-item-info{display:flex;flex-direction:column;gap:10px}.history-item-header{align-items:center;display:flex;gap:14px}.history-pin{color:var(--text-heading);font-family:Roboto Mono,monospace;font-size:15px;font-weight:600}.session-status{border-radius:var(--radius-full);font-size:11px;font-weight:500;letter-spacing:.3px;padding:4px 12px;text-transform:uppercase}.session-status.waiting{background:var(--amber-100);color:var(--amber-700)}.session-status.active{background:var(--green-100);color:var(--green-700)}.session-status.ended{background:var(--gray-100);color:var(--gray-600)}.history-meta{color:var(--gray-500);display:flex;font-size:13px;gap:20px}.history-meta span{align-items:center;display:flex;gap:6px}.mode-tag{background:var(--indigo-100);border-radius:var(--radius);color:var(--primary);font-size:11px;font-weight:500;padding:3px 10px}.history-item-actions{display:flex;gap:10px}.poll-question-preview{color:var(--text-heading);font-size:14px;font-weight:500;line-height:1.4;max-width:500px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-state{background:#fff;border:1px solid var(--border);border-radius:var(--radius-xl);padding:72px 32px}.empty-icon{align-items:center;background:linear-gradient(135deg,var(--indigo-50) 0,var(--purple-50) 100%);border-radius:28px;color:var(--primary);display:flex;height:100px;justify-content:center;margin-bottom:28px;width:100px}.empty-state h3{color:var(--text-heading);font-size:20px;margin-bottom:10px}.empty-state p{font-size:15px;line-height:1.5;margin-bottom:28px;max-width:360px}.poll-library{display:flex;flex-direction:column;gap:12px;margin-bottom:40px}.poll-card{box-shadow:var(--shadow-soft-xs);overflow:hidden;transition:all var(--transition-fast)}.poll-card:hover{box-shadow:var(--shadow-soft-md)}.poll-header{align-items:center;cursor:pointer;display:flex;gap:14px;padding:20px 24px}.poll-expand-icon{color:var(--gray-400);flex-shrink:0}.poll-info{flex:1 1;min-width:0}.poll-info h4{color:var(--text-heading);font-size:15px;font-weight:600;line-height:1.4;margin-bottom:8px}.poll-tags{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.type-badge{background:var(--indigo-100);border-radius:var(--radius-full);color:var(--primary);font-weight:500}.anonymous-badge,.status-badge,.type-badge{font-size:11px;padding:4px 12px}.status-badge.status-active{background:var(--green-100);color:var(--green-700)}.status-badge.status-ended{background:var(--gray-100);color:var(--gray-600)}.poll-actions{display:flex;flex-shrink:0;gap:10px}.poll-options{display:flex;flex-direction:column;gap:10px;padding:0 24px 20px 58px}.poll-option-item{align-items:center;background:var(--gray-50);border-radius:var(--radius-lg);color:var(--text);display:flex;font-size:14px;gap:14px;padding:12px 16px}.poll-option-item .option-letter{align-items:center;background:var(--indigo-100);border-radius:var(--radius);color:var(--primary);display:flex;flex-shrink:0;font-size:12px;font-weight:600;height:28px;justify-content:center;width:28px}.join-section-mini{margin-top:40px}.join-card-mini{align-items:center;background:#fff;border:2px solid var(--border);border-radius:var(--radius-xl);cursor:pointer;display:flex;gap:20px;max-width:420px;padding:24px 28px;transition:all var(--transition-fast)}.join-card-mini:hover{border-color:var(--primary);box-shadow:var(--shadow-soft-md)}.join-card-mini svg:first-child{color:var(--primary);flex-shrink:0}.join-card-mini div{flex:1 1}.join-card-mini h4{color:var(--text-heading);font-size:15px;font-weight:600;margin-bottom:4px}.join-card-mini p{color:var(--gray-500);font-size:13px}.join-card-mini svg:last-child{color:var(--gray-400);flex-shrink:0}.coming-soon-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-xl);padding:72px 32px;text-align:center}.coming-soon-icon{align-items:center;background:linear-gradient(135deg,var(--indigo-50) 0,var(--purple-50) 100%);border-radius:32px;color:var(--primary);display:flex;height:120px;justify-content:center;margin:0 auto 28px;width:120px}.coming-soon-card h3{color:var(--text-heading);font-size:24px;font-weight:600;margin-bottom:10px}.coming-soon-card>p{color:var(--gray-500);font-size:15px;line-height:1.5;margin:0 auto 36px;max-width:420px}.feature-preview{display:flex;flex-wrap:wrap;gap:36px;justify-content:center}.feature-item{align-items:center;color:var(--text);display:flex;font-size:14px;gap:10px}.feature-item svg{color:var(--green-600)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#11182780;padding:24px}.modal{animation:scaleIn .2s ease;background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-soft-xl);max-height:90vh;overflow-y:auto;width:100%}.modal-md{max-width:500px}.modal-lg{max-width:640px}.modal-header{padding:24px 28px}.modal-header h2{color:var(--text-heading)}.wizard-steps{display:flex;gap:8px}.wizard-step{background:var(--gray-100);border-radius:var(--radius-full);color:var(--gray-500);font-size:12px;font-weight:500;padding:6px 14px}.wizard-step.active{background:var(--indigo-100);color:var(--primary)}.modal-close{align-items:center;border-radius:var(--radius-lg);color:var(--gray-400);display:flex;height:36px;justify-content:center;transition:all var(--transition-fast);width:36px}.modal-close:hover{background:var(--gray-100);color:var(--text-heading)}.modal-body,.modal-form{padding:28px}.modal-actions{background:var(--gray-50);border-top:1px solid var(--border);padding:20px 28px}.source-selection h3{color:var(--text-heading);font-size:16px;font-weight:600;margin-bottom:20px}.source-options{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(2,1fr);margin-bottom:28px}.source-option{align-items:center;background:#fff;border:2px solid var(--border);border-radius:var(--radius-xl);cursor:pointer;display:flex;flex-direction:column;gap:14px;padding:28px 20px;text-align:center;transition:all var(--transition-fast)}.source-option.active,.source-option:hover{border-color:var(--primary)}.source-option.active{background:var(--indigo-50)}.source-option svg{color:var(--primary)}.source-title{color:var(--text-heading);font-size:15px;font-weight:600}.source-desc{color:var(--gray-500);font-size:13px}.notebook-selection{margin-top:8px}.select-input{background:var(--gray-50);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-heading);cursor:pointer;font-size:14px;height:48px;padding:0 16px;transition:all var(--transition-fast);width:100%}.select-input:focus{background:#fff;border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a;outline:none}.mt-16{margin-top:16px}.no-quizzes-msg{align-items:center;background:var(--gray-50);border-radius:var(--radius-lg);color:var(--gray-500);display:flex;font-size:14px;gap:14px;padding:18px 20px}.quiz-list-select{display:flex;flex-direction:column;gap:10px;max-height:220px;overflow-y:auto}.quiz-select-item{align-items:center;background:#fff;border:2px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;display:flex;justify-content:space-between;padding:16px 20px;transition:all var(--transition-fast)}.quiz-select-item.selected,.quiz-select-item:hover{border-color:var(--primary)}.quiz-select-item.selected{background:var(--indigo-50)}.quiz-select-info{display:flex;flex-direction:column;gap:6px}.quiz-select-label{color:var(--text-heading);font-size:14px;font-weight:600}.quiz-select-meta{display:flex;gap:10px}.quiz-select-date,.quiz-select-meta{color:var(--gray-500);font-size:12px}.manual-upload-section{margin-top:8px}.template-download{background:var(--gray-50);border-radius:var(--radius-lg);margin-bottom:24px;padding:20px}.template-download p{color:var(--gray-500);font-size:14px;margin-bottom:14px}.file-upload-area{margin-top:8px}.upload-dropzone{border:2px dashed var(--gray-300);border-radius:var(--radius-xl);padding:40px;position:relative;text-align:center;transition:all var(--transition-fast)}.upload-dropzone:hover{background:var(--indigo-50);border-color:var(--primary)}.upload-dropzone input{cursor:pointer;inset:0;opacity:0;position:absolute}.dropzone-label{align-items:center;color:var(--gray-500);display:flex;flex-direction:column;gap:10px;pointer-events:none}.dropzone-label svg{color:var(--primary)}.file-types{color:var(--gray-500);font-size:12px}.uploaded-file{align-items:center;background:var(--indigo-50);border-radius:var(--radius-lg);color:var(--text-heading);display:flex;font-size:14px;gap:12px;margin-top:14px;padding:14px 18px}.uploaded-file svg:first-child{color:var(--primary)}.uploaded-file span{flex:1 1}.summary-card{background:var(--gray-50);border-radius:var(--radius-xl);margin-bottom:28px;padding:24px}.summary-card h3{color:var(--text-heading);font-size:14px;font-weight:600;margin-bottom:18px}.summary-details{display:flex;flex-direction:column;gap:14px}.summary-row{align-items:center;display:flex;justify-content:space-between}.summary-label{color:var(--gray-500);font-size:14px}.summary-value{color:var(--text-heading);font-size:14px;font-weight:500}.form-section{margin-bottom:28px}.form-label{gap:10px;margin-bottom:14px}.mode-selector{display:flex;flex-direction:column;gap:14px}.mode-btn{align-items:flex-start;background:#fff;border:2px solid var(--border);border-radius:var(--radius-xl);gap:18px;padding:20px;text-align:left;transition:all var(--transition-fast)}.mode-btn:hover{border-color:var(--primary)}.mode-btn:active{transform:scale(.98)}.mode-btn.active{background:var(--indigo-50);border-color:var(--primary)}.mode-btn svg{color:var(--primary);flex-shrink:0;margin-top:2px}.mode-btn div{display:flex;flex-direction:column;gap:6px}.mode-title{color:var(--text-heading);font-size:15px;font-weight:600}.mode-desc{color:var(--gray-500);font-size:13px}.timer-slider{-webkit-appearance:none;appearance:none;background:linear-gradient(to right,var(--indigo-100) 0,var(--primary) 100%);border-radius:var(--radius-full);cursor:pointer;height:8px;outline:none;width:100%}.timer-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--primary);border-radius:50%;box-shadow:0 2px 8px #4f46e54d;cursor:grab;height:22px;width:22px}.timer-slider::-webkit-slider-thumb:active{cursor:grabbing}.timer-labels{color:var(--gray-500);display:flex;font-size:12px;justify-content:space-between;margin-top:10px}.difficulty-badge{border-radius:var(--radius-full);font-size:11px;font-weight:500;padding:4px 10px;text-transform:capitalize}.difficulty-badge[data-difficulty=easy]{background:var(--green-100);color:var(--green-700)}.difficulty-badge[data-difficulty=medium]{background:var(--amber-100);color:var(--amber-700)}.difficulty-badge[data-difficulty=hard]{background:var(--red-100);color:var(--red-700)}.form-group{margin-bottom:24px}.form-group label{color:var(--text-heading);font-weight:600;margin-bottom:10px}.poll-type-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(2,1fr)}.poll-type-btn{align-items:center;background:#fff;border:2px solid var(--border);border-radius:var(--radius-xl);cursor:pointer;display:flex;flex-direction:column;gap:10px;padding:20px;transition:all var(--transition-fast)}.poll-type-btn.active,.poll-type-btn:hover{border-color:var(--primary)}.poll-type-btn.active{background:var(--indigo-50)}.poll-type-btn svg{color:var(--primary)}.poll-type-btn span{color:var(--text-heading);font-size:13px;font-weight:500}.options-editor{display:flex;flex-direction:column;gap:12px}.option-input-row{align-items:center;display:flex;gap:12px}.option-input-row .option-letter{align-items:center;background:var(--indigo-100);border-radius:var(--radius);color:var(--primary);display:flex;flex-shrink:0;font-size:12px;font-weight:600;height:32px;justify-content:center;width:32px}.option-input-row .input{flex:1 1}.add-option-btn{align-self:flex-start;margin-top:6px}.checkbox-row{display:flex;flex-wrap:wrap;gap:24px}.checkbox-label{color:var(--text);font-size:14px;gap:12px}.checkbox-label input[type=checkbox]{accent-color:var(--primary);cursor:pointer;height:20px;width:20px}.classroom-loading{align-items:center;background:linear-gradient(to bottom right,var(--gray-50),#fff,var(--gray-50));display:flex;flex-direction:column;gap:20px;justify-content:center;min-height:100vh}.classroom-loading p{color:var(--gray-500);font-size:15px}.spinner{animation:spin 1s linear infinite;border:4px solid var(--gray-200);height:48px;width:48px}.animate-fadeIn{animation:fadeIn .3s ease-out both}.stagger-1{animation-delay:0ms}.stagger-2{animation-delay:50ms}.stagger-3{animation-delay:.1s}.stagger-4{animation-delay:.15s}.stagger-5{animation-delay:.2s}@media (max-width:768px){.classroom-nav .nav-inner{padding:0 20px}.tab-navigation{overflow-x:auto;padding:0 20px}.tab-btn{padding:14px 18px;white-space:nowrap}.classroom-content{padding:28px 20px 56px}.section-header{flex-direction:column;gap:16px}.action-cards-grid,.poll-type-grid,.source-options{grid-template-columns:1fr}.feature-preview{flex-direction:column;gap:18px}.checkbox-row{gap:14px}.checkbox-row,.modal-actions{flex-direction:column}.modal-actions .btn{width:100%}.history-meta{flex-wrap:wrap;gap:10px}}.skeleton-tab{animation:skeleton-shimmer 1.5s infinite;background:linear-gradient(90deg,var(--gray-100) 25%,var(--gray-50) 50%,var(--gray-100) 75%);background-size:200% 100%;border-radius:var(--radius-lg);height:40px;width:120px}.skeleton-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr);padding:32px}.skeleton-card{animation:skeleton-shimmer 1.5s infinite;background:linear-gradient(90deg,var(--gray-100) 25%,var(--gray-50) 50%,var(--gray-100) 75%);background-size:200% 100%;border-radius:var(--radius-xl);height:180px}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.btn-danger-text{color:#ef4444;color:var(--red-500,#ef4444)}.btn-danger-text:hover{background:#fef2f2;background:var(--red-50,#fef2f2);color:#dc2626;color:var(--red-600,#dc2626)}.quiz-host-page{background:linear-gradient(135deg,var(--gray-50) 0,#fff 50%,var(--indigo-50) 100%);display:flex;flex-direction:column;min-height:100vh}.quiz-host-nav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe6;border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:40}.quiz-host-nav .nav-inner{align-items:center;display:flex;height:64px;justify-content:space-between;margin:0 auto;max-width:1400px;padding:0 24px}.nav-right{gap:12px}.connection-status,.nav-right{align-items:center;display:flex}.connection-status{border-radius:var(--radius);height:32px;justify-content:center;width:32px}.connection-status.connected{background:var(--green-50);color:var(--green-600)}.connection-status.disconnected{background:var(--red-50);color:var(--red-500)}.participant-count{align-items:center;background:var(--indigo-50);border-radius:var(--radius-full);color:var(--primary);display:flex;font-size:14px;font-weight:600;gap:6px;padding:8px 14px}.quiz-host-error,.quiz-host-loading{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:48px 24px;text-align:center}.quiz-host-loading p{color:var(--gray-500);margin-top:16px}.quiz-host-error h2{color:var(--text-heading);font-size:24px;font-weight:600;margin-bottom:8px}.quiz-host-error p{color:var(--gray-500);margin-bottom:24px}.waiting-lobby{flex:1 1;padding:32px 24px}.lobby-container{grid-gap:32px;align-items:start;display:grid;gap:32px;grid-template-columns:320px 1fr;margin:0 auto;max-width:1100px}.join-section{display:flex;flex-direction:column;gap:16px;position:-webkit-sticky;position:sticky;top:96px}.join-card-header{gap:8px;justify-content:center}.pin-display{padding:16px 0}.pin-code{font-size:48px}.qr-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft-md);padding:24px;text-align:center}.qr-wrapper{border-radius:var(--radius-lg);padding:12px}.qr-card p{color:var(--gray-500);font-size:13px}.url-card{align-items:center;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);display:flex;gap:8px;padding:12px 14px}.url-card code{color:var(--gray-600);flex:1 1;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.participants-section{background:#fff;border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft-lg);display:flex;flex-direction:column;min-height:400px;padding:32px}.participants-header{margin-bottom:32px;text-align:center}.participants-header h2{color:var(--text-heading);font-size:24px;font-weight:600;margin-bottom:8px}.participants-header p{color:var(--gray-500)}.empty-participants{align-items:center;color:var(--gray-300);display:flex;flex:1 1;flex-direction:column;justify-content:center}.empty-participants p{color:var(--gray-400);margin-top:16px}.participants-grid{grid-gap:12px;align-content:start;display:grid;flex:1 1;gap:12px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));margin-bottom:24px}.participant-card{align-items:center;background:var(--gray-50);border:1px solid var(--border);border-radius:var(--radius-lg);display:flex;gap:10px;padding:12px 14px;position:relative}.participant-avatar{align-items:center;background:linear-gradient(135deg,var(--primary) 0,var(--indigo-500) 100%);border-radius:var(--radius);color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:600;height:32px;justify-content:center;width:32px}.participant-name{color:var(--text-heading);flex:1 1;font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.participant-remove{align-items:center;background:var(--red-500);border:2px solid #fff;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:20px;justify-content:center;opacity:0;position:absolute;right:-6px;top:-6px;transition:opacity var(--transition-fast);width:20px}.participant-card:hover .participant-remove{opacity:1}.start-btn{margin-top:auto}.quiz-active{flex:1 1;padding:32px 24px}.quiz-grid{grid-gap:32px;align-items:start;display:grid;gap:32px;grid-template-columns:1fr 300px;margin:0 auto;max-width:1200px}.quiz-main{display:flex;flex-direction:column;gap:24px}.question-card{box-shadow:var(--shadow-soft-lg)}.question-meta{margin-bottom:24px}.question-badge{background:var(--indigo-50);border-radius:var(--radius-full);color:var(--primary);display:inline-flex;font-size:14px;font-weight:600;padding:8px 16px}.question-text{font-size:24px}.options-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.option-card{align-items:center;background:var(--gray-50);border:2px solid var(--border);border-radius:var(--radius-xl);display:flex;gap:16px;padding:20px}.quiz-controls{display:flex;justify-content:center}.leaderboard-panel{background:#fff;border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft-lg);padding:24px;position:-webkit-sticky;position:sticky;top:96px}.leaderboard-header{align-items:center;color:var(--text-heading);display:flex;gap:10px;margin-bottom:20px}.leaderboard-header svg{color:var(--amber-500)}.leaderboard-header h3{font-size:16px;font-weight:600}.leaderboard-item{gap:10px;padding:12px 14px}.leaderboard-item.top-three{background:linear-gradient(135deg,var(--indigo-50) 0,var(--purple-50) 100%)}.leaderboard-rank{color:var(--gray-500);font-size:14px;font-weight:700;width:24px}.leaderboard-name{color:var(--text-heading);flex:1 1;font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-score{color:var(--primary);font-size:14px;font-weight:700}.no-players{color:var(--gray-400);padding:24px;text-align:center}.self-paced-view{flex:1 1;margin:0 auto;max-width:900px;padding:32px 24px}.sp-header{margin-bottom:40px;text-align:center}.sp-header h1{color:var(--text-heading);font-size:28px;font-weight:600;margin-bottom:8px}.sp-header p{color:var(--gray-500)}.sp-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr);margin-bottom:40px}.sp-stat-card{align-items:center;background:#fff;border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft-md);display:flex;gap:16px;padding:24px}.sp-stat-card svg{color:var(--primary)}.sp-stat-content{display:flex;flex-direction:column}.sp-stat-value{color:var(--text-heading);font-size:28px;font-weight:700;line-height:1}.sp-stat-label{color:var(--gray-500);font-size:14px;margin-top:4px}.sp-progress-section{background:#fff;border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft-md);margin-bottom:32px;padding:28px}.sp-progress-section h3{color:var(--text-heading);font-size:18px;font-weight:600;margin-bottom:20px}.sp-progress-list{display:flex;flex-direction:column;gap:16px;max-height:400px;overflow-y:auto}.sp-progress-item{background:var(--gray-50);border-radius:var(--radius-lg);padding:16px}.sp-progress-info{align-items:center;display:flex;gap:12px;margin-bottom:10px}.sp-progress-avatar{align-items:center;background:linear-gradient(135deg,var(--primary) 0,var(--indigo-500) 100%);border-radius:var(--radius);color:#fff;display:flex;font-size:14px;font-weight:600;height:32px;justify-content:center;width:32px}.sp-progress-name{color:var(--text-heading);flex:1 1;font-weight:500}.sp-progress-status{color:var(--gray-500);font-size:13px}.sp-progress-score{color:var(--primary);font-size:14px;font-weight:700}.sp-progress-bar-bg{background:var(--gray-200);border-radius:var(--radius-full);height:8px;overflow:hidden}.sp-progress-bar-fill{background:linear-gradient(90deg,var(--primary) 0,var(--green-500) 100%);border-radius:var(--radius-full);height:100%;transition:width .5s ease}.sp-actions{display:flex;justify-content:center}.quiz-ended{flex:1 1;padding:48px 24px}.results-container{margin:0 auto;max-width:700px;text-align:center}.results-header{margin-bottom:48px}.trophy-icon{align-items:center;background:linear-gradient(135deg,var(--amber-100) 0,var(--amber-50) 100%);border-radius:28px;color:var(--amber-500);display:flex;height:100px;justify-content:center;margin:0 auto 24px;width:100px}.results-header h1{color:var(--text-heading);font-size:32px;font-weight:700;margin-bottom:8px}.results-header p{color:var(--gray-500);font-size:16px}.podium{align-items:flex-end;display:flex;gap:16px;justify-content:center;margin-bottom:48px}.podium-place{flex-direction:column;width:140px}.podium-avatar,.podium-place{align-items:center;display:flex}.podium-avatar{background:linear-gradient(135deg,var(--primary) 0,var(--indigo-500) 100%);border-radius:var(--radius-lg);color:#fff;font-size:24px;font-weight:700;height:56px;justify-content:center;margin-bottom:12px;width:56px}.podium-name{color:var(--text-heading);font-size:14px;font-weight:600;margin-bottom:4px}.podium-score{color:var(--gray-500);font-size:13px;margin-bottom:16px}.podium-stand{align-items:center;border-radius:var(--radius-lg) var(--radius-lg) 0 0;display:flex;justify-content:center;width:100%}.podium-place.first .podium-stand{background:linear-gradient(180deg,var(--amber-400) 0,var(--amber-500) 100%);color:#fff;height:100px}.podium-place.second .podium-stand{background:linear-gradient(180deg,var(--gray-300) 0,var(--gray-400) 100%);color:#fff;height:70px}.podium-place.third .podium-stand{background:linear-gradient(180deg,#cd9a68,#cd7f32);color:#fff;height:50px}.podium-place.first .podium-avatar{font-size:28px;height:64px;width:64px}.final-leaderboard{background:#fff;border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft-lg);padding:28px}.final-leaderboard h3{font-size:18px;margin-bottom:20px}.final-list{display:flex;flex-direction:column;gap:10px}.final-item{align-items:center;background:var(--gray-50);border-radius:var(--radius-lg);display:flex;gap:14px;padding:14px 18px}.final-item.rank-1{background:linear-gradient(90deg,var(--amber-50) 0,var(--gray-50) 100%)}.final-item.rank-2{background:linear-gradient(90deg,var(--gray-100) 0,var(--gray-50) 100%)}.final-item.rank-3{background:linear-gradient(90deg,#cd7f321a 0,var(--gray-50) 100%)}.final-rank{color:var(--gray-500);font-size:15px;font-weight:700;width:28px}.final-avatar{align-items:center;background:linear-gradient(135deg,var(--primary) 0,var(--indigo-500) 100%);border-radius:var(--radius);color:#fff;display:flex;font-size:14px;font-weight:600;height:36px;justify-content:center;width:36px}.final-name{color:var(--text-heading);flex:1 1;font-size:15px;font-weight:500}.final-score{color:var(--primary);font-size:15px;font-weight:700}@media (max-width:900px){.lobby-container{grid-template-columns:1fr}.join-section{flex-direction:row;flex-wrap:wrap;position:static}.join-card,.qr-card{flex:1 1;min-width:200px}.join-section>.btn,.url-card{width:100%}.quiz-grid{grid-template-columns:1fr}.leaderboard-panel{order:-1;position:static}.options-grid,.sp-stats{grid-template-columns:1fr}.podium{gap:8px}.podium-place{width:100px}.nav-center{position:static;transform:none}}@media (max-width:640px){.quiz-active,.quiz-ended,.self-paced-view,.waiting-lobby{padding:20px 16px}.pin-code{font-size:36px;letter-spacing:4px}.question-card{padding:24px}.question-text{font-size:18px}.participants-section{padding:24px}.participants-grid{grid-template-columns:1fr 1fr}}.host-timer{align-items:center;background:var(--primary);border-radius:12px;color:#fff;display:flex;font-size:24px;font-weight:700;gap:10px;justify-content:center;margin-bottom:20px;padding:16px 32px;transition:all .3s ease}.host-timer.warning{background:#d97706;background:var(--warning,#d97706);color:#fff}.host-timer.danger{animation:pulse .5s ease infinite;background:#dc2626;background:var(--danger,#dc2626)}.host-timer.feedback{background:#16a34a;background:var(--success,#16a34a);color:#fff}.mode-indicator{background:var(--primary-light);border-radius:8px;margin-top:16px;padding:12px 20px;text-align:center}.mode-label{color:var(--primary);font-weight:600}.auto-mode-badge{background:var(--success);border-radius:4px;color:#fff;font-size:12px;font-weight:600;margin-left:8px;padding:4px 10px}.auto-mode-status{background:var(--gray-100);border-radius:8px;color:var(--text-secondary);margin-top:16px;padding:16px;text-align:center}.auto-mode-status p{margin:0}.sp-progress-item.finished .sp-progress-bar-fill{background:var(--success)}.sp-progress-item.finished .sp-progress-status{color:var(--success);font-weight:600}.quiz-join-page{background:linear-gradient(135deg,var(--gray-50) 0,#fff 50%,var(--indigo-50) 100%);display:flex;flex-direction:column;min-height:100vh}.quiz-join-page.quiz-active{background:linear-gradient(135deg,var(--indigo-50) 0,#fff 50%,var(--purple-50) 100%)}.quiz-join-nav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe6;border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:40}.quiz-join-nav .nav-inner{align-items:center;display:flex;height:64px;justify-content:space-between;margin:0 auto;max-width:600px;padding:0 24px}.quiz-pin-badge{background:var(--gray-100);color:var(--text-heading);font-family:Roboto Mono,monospace;font-size:13px}.question-badge,.quiz-pin-badge,.score-badge{border-radius:var(--radius-full);font-weight:600;padding:8px 14px}.question-badge,.score-badge{align-items:center;background:var(--indigo-50);color:var(--primary);display:flex;font-size:14px;gap:6px}.score-badge{background:var(--amber-50);color:var(--amber-600)}.quiz-join-content{align-items:center;display:flex;flex:1 1;justify-content:center;padding:32px 24px}.form-group{text-align:left}.input{border:2px solid var(--border);font-size:15px;padding:14px 18px;transition:all var(--transition-fast)}.input:focus{box-shadow:0 0 0 4px #4f46e51a}.waiting-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft-xl);max-width:440px;padding:56px 40px;text-align:center;width:100%}.waiting-icon{align-items:center;background:linear-gradient(135deg,var(--green-50) 0,var(--indigo-50) 100%);border-radius:28px;color:var(--green-500);display:flex;height:100px;justify-content:center;margin:0 auto 28px;width:100px}.waiting-card h1{color:var(--text-heading);font-size:28px;font-weight:600;margin-bottom:20px}.player-badge{align-items:center;background:var(--indigo-50);border-radius:var(--radius-full);display:inline-flex;gap:12px;margin-bottom:32px;padding:12px 24px}.player-avatar{align-items:center;background:linear-gradient(135deg,var(--primary) 0,var(--indigo-500) 100%);border-radius:var(--radius);color:#fff;display:flex;font-size:16px;font-weight:700;height:36px;justify-content:center;width:36px}.player-badge span:last-child{color:var(--primary);font-size:16px;font-weight:600}.waiting-status{align-items:center;color:var(--gray-500);display:flex;font-size:15px;gap:12px;justify-content:center}.connection-badge{align-items:center;background:var(--green-50);border-radius:var(--radius-full);color:var(--green-600);display:inline-flex;font-size:13px;font-weight:500;gap:8px;margin-top:24px;padding:8px 16px}.connection-badge .dot{animation:pulse 2s infinite;background:var(--green-500);border-radius:50%;height:8px;width:8px}.results-card{box-shadow:var(--shadow-soft-xl);max-width:500px;padding:48px 40px;text-align:center;width:100%}.results-icon{align-items:center;background:linear-gradient(135deg,var(--amber-100) 0,var(--amber-50) 100%);border-radius:28px;color:var(--amber-500);display:flex;height:100px;justify-content:center;margin:0 auto 24px;width:100px}.results-card h1{color:var(--text-heading);font-size:28px;font-weight:600;margin-bottom:24px}.final-score-display{align-items:center;background:linear-gradient(135deg,var(--indigo-50) 0,var(--purple-50) 100%);border-radius:var(--radius-xl);display:flex;flex-direction:column;gap:4px;margin-bottom:32px;padding:24px}.score-label{color:var(--gray-500);font-size:14px}.score-value{color:var(--primary);font-size:56px;font-weight:700;line-height:1}.score-unit{color:var(--gray-500);font-size:14px}.rank-badge{background:var(--amber-100);border-radius:var(--radius-full);color:var(--amber-600);font-size:14px;font-weight:700;margin-top:8px;padding:6px 16px}.final-leaderboard{margin-bottom:32px;text-align:left}.final-leaderboard h3{color:var(--text-heading);font-size:16px;font-weight:600;margin-bottom:16px;text-align:center}.leaderboard-list{display:flex;flex-direction:column;gap:8px}.leaderboard-item{align-items:center;background:var(--gray-50);border-radius:var(--radius-lg);display:flex;gap:12px;padding:12px 16px}.leaderboard-item.me{background:var(--indigo-50);border:2px solid var(--primary)}.leaderboard-item.top-three{background:linear-gradient(90deg,var(--amber-50) 0,var(--gray-50) 100%)}.lb-rank{color:var(--gray-500);font-size:14px;font-weight:700;width:32px}.rank-icon{flex-shrink:0}.rank-icon.gold{color:var(--amber-500)}.rank-icon.silver{color:var(--gray-400)}.rank-icon.bronze{color:#cd7f32}.lb-name{color:var(--text-heading);flex:1 1;font-size:14px;font-weight:500}.lb-score{color:var(--primary);font-size:14px;font-weight:700}.results-actions{display:flex;flex-direction:column;gap:12px}.question-card{box-shadow:var(--shadow-soft-xl);max-width:600px;padding:36px;position:relative;width:100%}.timer-ring{align-items:center;background:#fff;border:2px solid var(--border);border-radius:var(--radius-full);box-shadow:var(--shadow-soft-md);color:var(--text-heading);display:flex;font-size:16px;font-weight:700;gap:6px;padding:10px 18px;position:absolute;right:24px;top:-20px}.timer-ring.warning{background:#fffbeb;background:var(--amber-50,#fffbeb);border-color:#fde68a;border-color:var(--amber-200,#fde68a);color:#d97706;color:var(--amber-600,#d97706)}.timer-ring.danger{animation:shake .5s infinite;background:#fef2f2;background:var(--red-50,#fef2f2);border-color:#fecaca;border-color:var(--red-200,#fecaca);color:#ef4444;color:var(--red-500,#ef4444)}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-2px)}75%{transform:translateX(2px)}}.question-text{margin-bottom:32px;text-align:center}.options-grid{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.option-btn:hover:not(:disabled){background:var(--indigo-50);border-color:var(--primary)}.option-btn:active:not(:disabled){transform:scale(.98)}.option-btn:disabled{cursor:not-allowed;opacity:.7}.answer-result-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft-xl);max-width:500px;padding:40px 36px;text-align:center;width:100%}.result-icon{align-items:center;border-radius:28px;display:flex;height:100px;justify-content:center;margin:0 auto 20px;width:100px}.result-icon.correct{background:linear-gradient(135deg,var(--green-100) 0,var(--green-50) 100%);color:var(--green-500)}.result-icon.wrong{background:linear-gradient(135deg,var(--red-100) 0,var(--red-50) 100%);color:var(--red-500)}.answer-result-card h2{color:var(--text-heading);font-size:28px;font-weight:700;margin-bottom:12px}.points-badge{background:var(--indigo-50);border-radius:var(--radius-full);color:var(--primary);display:inline-block;font-size:18px;font-weight:700;margin-bottom:24px;padding:8px 20px}.correct-answer-box,.explanation-box{background:var(--gray-50);border-radius:var(--radius-lg);margin-bottom:16px;padding:16px 20px;text-align:left}.correct-answer-box .label,.explanation-box .label{color:var(--gray-500);display:block;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.correct-answer-box .answer{color:var(--green-600);font-size:15px;font-weight:600}.explanation-box p{color:var(--text-heading);font-size:14px;line-height:1.5;margin:0}.current-score{color:var(--gray-600);font-size:15px;margin-bottom:24px}.current-score strong{color:var(--primary)}.mini-leaderboard{background:var(--gray-50);border-radius:var(--radius-lg);margin-bottom:24px;padding:16px}.mini-leaderboard h4{color:var(--gray-500);font-size:13px;font-weight:600;margin-bottom:12px}.mini-lb-item{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:10px;padding:8px 0}.mini-lb-item:last-child{border-bottom:none}.mini-lb-item.me{background:var(--indigo-50);border-radius:var(--radius);margin:0 -16px;padding:8px 16px}.mini-rank{color:var(--gray-500);font-size:12px;font-weight:600;width:28px}.mini-name{color:var(--text-heading);flex:1 1;font-size:13px;font-weight:500}.mini-score{color:var(--primary);font-size:13px;font-weight:700}.waiting-next{border-radius:var(--radius-lg);color:var(--gray-600);padding:16px}.waiting-next strong{color:var(--primary)}.loading-card{color:var(--gray-500);text-align:center}.loading-card p{margin-top:16px}@media (max-width:640px){.quiz-join-content{padding:24px 16px}.answer-result-card,.join-card,.question-card,.results-card,.waiting-card{border-radius:var(--radius-lg);padding:32px 24px}.pin-input{font-size:26px;height:56px;letter-spacing:6px}.question-text{font-size:18px}.option-btn{padding:16px}.option-letter{font-size:14px;height:36px;width:36px}.score-value{font-size:48px}.timer-ring{font-size:14px;padding:8px 14px;right:16px;top:-16px}}.waiting-for-others{align-items:center;background:var(--gray-100);border-radius:12px;display:flex;flex-direction:column;gap:12px;margin:16px 0;padding:20px}.waiting-for-others p{color:var(--text-secondary);font-size:14px;margin:0}.quiz-finished-notice{align-items:center;background:var(--success);border-radius:12px;color:#fff;display:flex;font-weight:600;gap:10px;justify-content:center;padding:16px 24px}.next-question-countdown{background:var(--primary-light);border-radius:8px;color:var(--primary);padding:16px}.next-question-countdown strong{font-size:20px}.countdown-progress{background:var(--gray-200);border-radius:3px;height:6px;margin-top:12px;overflow:hidden;width:100%}.countdown-bar{background:var(--primary);border-radius:3px;height:100%;transition:width 1s linear}.waiting-next{background:var(--gray-50);border-radius:12px;padding:20px;text-align:center}.next-question-countdown{align-items:center;color:var(--text-heading);display:flex;gap:10px;justify-content:center}.next-question-countdown p{font-size:16px;margin:0}.next-question-countdown strong{color:var(--primary);font-size:24px}.poll-host-page{background:linear-gradient(135deg,var(--gray-50) 0,#fff 50%,var(--indigo-50) 100%);display:flex;flex-direction:column;min-height:100vh}.poll-host-nav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe6;border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:40}.poll-host-nav .nav-inner{align-items:center;display:flex;height:64px;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 24px}.nav-center{left:50%;position:absolute;transform:translateX(-50%)}.nav-brand{color:var(--text-heading);font-size:16px;font-weight:600;gap:10px}.nav-brand svg{color:var(--primary)}.status-badge{font-size:13px;font-weight:600;gap:8px;padding:8px 14px}.status-badge.active{background:var(--green-50);color:var(--green-600)}.status-badge.ended{background:var(--gray-100);color:var(--gray-600)}.status-dot{background:currentColor;border-radius:50%;height:8px;width:8px}.status-badge.active .status-dot{animation:pulse 2s infinite}.poll-host-content{flex:1 1;margin:0 auto;max-width:1200px;padding:32px 24px;width:100%}.poll-host-grid{grid-gap:32px;align-items:start;display:grid;gap:32px;grid-template-columns:320px 1fr}.join-column{display:flex;flex-direction:column;gap:20px;position:-webkit-sticky;position:sticky;top:96px}.join-card{box-shadow:var(--shadow-soft-lg);padding:28px 24px}.join-card-header{align-items:center;color:var(--gray-500);display:flex;font-size:14px;font-weight:600;gap:10px;letter-spacing:.5px;margin-bottom:16px;text-transform:uppercase}.join-card-header svg{color:var(--primary)}.pin-display{border-bottom:1px solid var(--border);margin-bottom:24px;padding:20px 0;text-align:center}.pin-code{color:var(--primary);display:block;font-family:Roboto Mono,monospace;font-size:42px;font-weight:700;letter-spacing:6px;margin-bottom:12px}.qr-section{margin-bottom:24px;text-align:center}.qr-wrapper{background:#fff;border:1px solid var(--border);border-radius:var(--radius-xl);display:inline-flex;margin-bottom:12px;padding:16px}.qr-hint{color:var(--gray-500);font-size:13px}.join-url{align-items:center;background:var(--gray-50);border-radius:var(--radius-lg);display:flex;gap:8px;margin-bottom:16px;padding:12px 14px}.join-url code{color:var(--gray-600);flex:1 1;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.response-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft-md);gap:16px;padding:20px 24px}.response-card,.response-icon{align-items:center;display:flex}.response-icon{background:linear-gradient(135deg,var(--green-50) 0,var(--indigo-50) 100%);border-radius:var(--radius-lg);color:var(--green-600);height:52px;justify-content:center;width:52px}.response-info{display:flex;flex-direction:column}.response-count{color:var(--text-heading);font-size:32px;font-weight:700;line-height:1}.response-label{color:var(--gray-500);font-size:14px;margin-top:4px}.results-column{display:flex;flex-direction:column;gap:24px}.question-card{border-radius:var(--radius-xl);box-shadow:var(--shadow-soft-md);padding:28px 32px}.question-header{margin-bottom:16px}.poll-type-badge{padding:8px 14px}.anonymous-badge{background:var(--gray-100);border-radius:var(--radius-full);color:var(--gray-600);font-size:12px;font-weight:500;padding:6px 12px}.question-text{color:var(--text-heading);font-size:22px;font-weight:600;line-height:1.4}.results-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft-md);padding:28px 32px}.results-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.results-header h3{color:var(--text-heading);font-size:18px;font-weight:600}.ended-tag{background:var(--gray-100);border-radius:var(--radius-full);color:var(--gray-600);font-size:12px;font-weight:600;padding:6px 12px}.no-responses{color:var(--gray-400);padding:48px 24px;text-align:center}.no-responses svg{margin-bottom:16px}.no-responses p{color:var(--gray-600);font-size:16px;font-weight:500;margin-bottom:6px}.no-responses span{color:var(--gray-500);font-size:14px}.results-bars{display:flex;flex-direction:column;gap:16px}.result-item{background:var(--gray-50);border-radius:var(--radius-xl);padding:16px 20px;transition:all var(--transition-fast)}.result-item.leading{background:var(--indigo-50);border:1px solid var(--indigo-100)}.result-item-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.result-option{color:var(--text-heading);font-size:16px;font-weight:600}.result-stats{align-items:center;display:flex;gap:10px}.result-count{color:var(--gray-600);font-size:14px;font-weight:500}.result-percent{color:var(--primary);font-size:18px;font-weight:700}.result-bar-bg{background:var(--gray-200);border-radius:var(--radius-full);height:12px;overflow:hidden}.result-item.leading .result-bar-bg{background:var(--indigo-100)}.result-bar-fill{background:linear-gradient(90deg,var(--primary) 0,var(--indigo-500) 100%);border-radius:var(--radius-full);height:100%;transition:width .5s ease}.rating-results{text-align:center}.average-rating{align-items:center;background:var(--amber-50);border-radius:var(--radius-xl);display:flex;flex-direction:column;gap:16px;margin-bottom:24px;padding:24px}.average-stars{color:var(--amber-400);display:flex;gap:6px}.average-value{align-items:center;display:flex;flex-direction:column}.average-number{color:var(--amber-600);font-size:36px;font-weight:700;line-height:1}.average-label{color:var(--amber-700);font-size:14px;margin-top:4px}.rating-breakdown{display:flex;flex-direction:column;gap:10px}.rating-row{align-items:center;display:flex;gap:10px}.rating-row .rating-label{color:var(--gray-600);font-size:14px;font-weight:600;text-align:right;width:20px}.rating-row svg{color:var(--amber-400);flex-shrink:0}.rating-bar-bg{background:var(--gray-100);flex:1 1;height:8px;overflow:hidden}.rating-bar-bg,.rating-bar-fill{border-radius:var(--radius-full)}.rating-bar-fill{background:var(--amber-400);height:100%;transition:width .5s ease}.rating-row .rating-count{color:var(--gray-500);font-size:13px;font-weight:500;text-align:left;width:32px}.open-ended-results{max-height:500px;overflow-y:auto}.responses-list{display:flex;flex-direction:column;gap:12px}.response-item{background:var(--gray-50);border-left:3px solid var(--primary);border-radius:var(--radius-lg);padding:16px 20px}.response-text{color:var(--text-heading);font-size:15px;line-height:1.5;margin:0}.response-author{color:var(--gray-500);display:block;font-size:13px;margin-top:8px}.ended-actions{display:flex;justify-content:center}.poll-host-error,.poll-host-loading{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:48px 24px;text-align:center}.poll-host-loading p{color:var(--gray-500);font-size:15px;margin-top:16px}.error-icon{align-items:center;background:var(--red-50);border-radius:20px;color:var(--red-500);display:flex;height:80px;justify-content:center;margin-bottom:24px;width:80px}.poll-host-error h2{color:var(--text-heading);font-size:24px;font-weight:600;margin-bottom:8px}.poll-host-error p{color:var(--gray-500);font-size:15px;margin-bottom:24px}.spinner-icon{color:var(--primary)}@media (max-width:900px){.poll-host-grid{grid-template-columns:1fr}.join-column{order:-1;position:static}.join-card{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr}.join-card-header{grid-column:1/-1}.pin-display{border-bottom:none;border-right:1px solid var(--border);padding-right:24px}.pin-display,.qr-section{margin-bottom:0}.join-card .btn-full,.join-url{grid-column:1/-1}.nav-center{position:static;transform:none}}@media (max-width:640px){.poll-host-content{padding:20px 16px}.join-card{display:block;padding:24px 20px}.pin-display{border-bottom:1px solid var(--border);border-right:none;padding-right:0}.pin-display,.qr-section{margin-bottom:24px}.pin-code{font-size:36px;letter-spacing:4px}.question-card,.results-card{padding:24px 20px}.question-text{font-size:18px}.response-card{padding:16px 20px}.response-count{font-size:28px}}.poll-join-page{background:linear-gradient(135deg,var(--gray-50) 0,#fff 50%,var(--indigo-50) 100%);display:flex;flex-direction:column;min-height:100vh}.poll-join-nav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe6;border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:40}.poll-join-nav .nav-inner{align-items:center;display:flex;height:64px;justify-content:space-between;margin:0 auto;max-width:600px;padding:0 24px}.nav-brand{gap:12px}.brand-icon-wrapper,.nav-brand{align-items:center;display:flex}.brand-icon-wrapper{background:var(--indigo-50);border-radius:var(--radius-lg);color:var(--primary);height:40px;justify-content:center;width:40px}.brand-name{font-size:18px}.brand-name,.poll-pin-badge{color:var(--text-heading);font-weight:600}.poll-pin-badge{background:var(--gray-100);border-radius:var(--radius-full);font-family:Roboto Mono,monospace;font-size:13px;padding:8px 14px}.poll-join-content{align-items:center;display:flex;flex:1 1;justify-content:center;padding:32px 24px}.join-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft-xl);max-width:440px;padding:48px 40px;text-align:center;width:100%}.join-card-icon{align-items:center;background:linear-gradient(135deg,var(--indigo-50) 0,var(--purple-50) 100%);border-radius:20px;color:var(--primary);display:flex;height:72px;justify-content:center;margin:0 auto 24px;width:72px}.join-card h1{color:var(--text-heading);font-size:26px;font-weight:600;margin-bottom:8px}.join-card>p{color:var(--gray-500);font-size:15px;margin-bottom:32px}.join-form{display:flex;flex-direction:column;gap:20px}.pin-input-container{position:relative}.pin-input{background:var(--gray-50);border:2px solid var(--border);border-radius:var(--radius-xl);color:var(--text-heading);font-family:Roboto Mono,monospace;font-size:32px;font-weight:600;height:64px;letter-spacing:8px;padding:0 24px;text-align:center;transition:all var(--transition-fast);width:100%}.pin-input::placeholder{color:var(--gray-300);letter-spacing:8px}.pin-input:focus{background:#fff;border-color:var(--primary);box-shadow:0 0 0 4px #4f46e51a;outline:none}.btn-full{width:100%}.btn-lg{font-weight:600;height:56px}.poll-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft-xl);max-width:540px;padding:40px 36px;width:100%}.poll-type-badge{align-items:center;background:var(--indigo-50);border-radius:var(--radius-full);color:var(--primary);display:inline-flex;font-size:13px;font-weight:600;gap:8px;margin-bottom:24px;padding:8px 16px}.poll-question{color:var(--text-heading);font-size:24px;font-weight:600;line-height:1.4;margin-bottom:32px}.poll-form{gap:24px}.form-group,.poll-form{display:flex;flex-direction:column}.form-group{gap:10px}.form-label{align-items:center;color:var(--text-heading);display:flex;font-size:14px;font-weight:600;gap:8px}.form-label svg{color:var(--gray-400)}.options-list{display:flex;flex-direction:column;gap:12px}.options-hint{color:var(--gray-500);font-size:13px;margin-bottom:4px}.option-btn{align-items:center;background:var(--gray-50);border:2px solid var(--border);border-radius:var(--radius-xl);cursor:pointer;display:flex;gap:16px;padding:18px 20px;text-align:left;transition:all var(--transition-fast);width:100%}.option-btn:hover{background:var(--indigo-50);border-color:var(--primary)}.option-btn:active{transform:scale(.98)}.option-btn.selected{background:var(--indigo-50);border-color:var(--primary)}.option-letter{align-items:center;background:#fff;border:2px solid var(--border);border-radius:var(--radius-lg);color:var(--gray-600);display:flex;flex-shrink:0;font-size:16px;font-weight:700;height:40px;justify-content:center;transition:all var(--transition-fast);width:40px}.option-btn.selected .option-letter{background:var(--primary);border-color:var(--primary);color:#fff}.option-text{color:var(--text-heading);flex:1 1;font-size:16px;font-weight:500}.option-check{color:var(--primary);flex-shrink:0}.yes-no-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.yes-no-btn{align-items:center;background:var(--gray-50);border:2px solid var(--border);border-radius:var(--radius-xl);cursor:pointer;display:flex;flex-direction:column;gap:12px;justify-content:center;padding:32px 24px;transition:all var(--transition-fast)}.yes-no-btn:hover{border-color:var(--gray-300)}.yes-no-btn:active{transform:scale(.98)}.yes-no-btn.yes{color:var(--gray-400)}.yes-no-btn.yes.selected,.yes-no-btn.yes:hover{background:var(--green-50);border-color:var(--green-500);color:var(--green-600)}.yes-no-btn.no{color:var(--gray-400)}.yes-no-btn.no.selected,.yes-no-btn.no:hover{background:var(--red-50);border-color:var(--red-400);color:var(--red-500)}.yes-no-btn span:last-child{color:inherit;font-size:18px;font-weight:600}.rating-section{padding:16px 0;text-align:center}.rating-label{color:var(--gray-500);font-size:15px;margin-bottom:20px}.star-row{display:flex;gap:8px;justify-content:center}.star-btn{background:#0000;border:none;border-radius:var(--radius-lg);color:var(--gray-300);cursor:pointer;padding:8px;transition:all var(--transition-fast)}.star-btn:hover{transform:scale(1.1)}.star-btn.active,.star-btn:hover{color:var(--amber-400)}.rating-value{color:var(--gray-500);font-size:15px;margin-top:20px}.rating-number{color:var(--amber-500);font-size:28px;font-weight:700}.textarea{border:2px solid var(--border);border-radius:var(--radius-xl);font-size:15px;line-height:1.6;padding:16px;transition:all var(--transition-fast)}.textarea:focus{box-shadow:0 0 0 4px #4f46e51a}.textarea::placeholder{color:var(--gray-400)}.submit-btn{margin-top:8px}.success-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft-xl);max-width:460px;padding:56px 40px;text-align:center;width:100%}.success-icon{align-items:center;background:linear-gradient(135deg,var(--green-50) 0,var(--indigo-50) 100%);border-radius:28px;color:var(--green-500);display:flex;height:100px;justify-content:center;margin:0 auto 28px;width:100px}.success-card h1{color:var(--text-heading);font-size:28px;font-weight:600;margin-bottom:10px}.success-card>p{color:var(--gray-500);font-size:15px;margin-bottom:32px}.success-actions{display:flex;flex-direction:column;gap:12px}.spinner-icon{animation:spin 1s linear infinite}.animate-fadeInUp{animation:fadeInUp .4s ease-out}.animate-scaleIn{animation:scaleIn .3s ease-out}@media (max-width:640px){.poll-join-content{padding:24px 16px}.join-card,.poll-card,.success-card{border-radius:var(--radius-lg);padding:36px 24px}.pin-input{font-size:26px;height:56px;letter-spacing:6px}.poll-question{font-size:20px}.option-btn{padding:16px}.option-letter{font-size:14px;height:36px;width:36px}.option-text{font-size:15px}.yes-no-btn{padding:24px 16px}.star-btn svg{height:36px;width:36px}.success-icon{border-radius:20px;height:80px;width:80px}.success-icon svg{height:44px;width:44px}}.planner-container{margin:0 auto;max-width:1200px;min-height:calc(100vh - 120px);padding:24px}.loading-state{color:#6b7280;padding:80px 20px}.loading-spinner{animation:spin 1s linear infinite;color:#4f46e5;margin-bottom:16px}.courses-view{animation:fadeIn .3s ease}.courses-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:32px}.courses-header h1{color:#111827;font-size:28px;font-weight:700;margin:0 0 4px}.courses-header p{color:#6b7280;font-size:14px;margin:0}.courses-section{margin-bottom:32px}.courses-section h2{color:#374151;font-size:16px;font-weight:600;margin-bottom:16px}.courses-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.course-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;cursor:pointer;padding:20px;transition:all .2s ease}.course-card:hover{border-color:#c7d2fe;box-shadow:0 4px 12px #4f46e51a;transform:translateY(-2px)}.course-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.course-icon{align-items:center;background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-radius:12px;color:#4f46e5;display:flex;height:44px;justify-content:center;width:44px}.delete-btn{background:#0000;border:none;border-radius:8px;color:#9ca3af;cursor:pointer;opacity:0;padding:8px;transition:all .2s ease}.course-card:hover .delete-btn{opacity:1}.delete-btn:hover{background:#fef2f2;color:#dc2626}.course-card h3{color:#111827;font-size:18px;font-weight:600;margin:0 0 6px}.course-desc{color:#6b7280;font-size:14px;line-height:1.4;margin:0 0 16px}.setup-badge{align-items:center;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:8px;color:#92400e;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:8px 12px}.course-progress{margin-bottom:12px}.course-progress .progress-bar{background:#e5e7eb;border-radius:4px;height:8px;margin-bottom:6px;overflow:hidden}.course-progress .progress-fill{background:linear-gradient(90deg,#4f46e5,#6366f1);border-radius:4px;height:100%;transition:width .5s ease}.course-progress span,.exam-countdown{color:#6b7280;font-size:13px}.exam-countdown{align-items:center;display:flex;gap:6px}.exam-countdown.urgent{color:#dc2626;font-weight:500}.empty-state{padding:80px 20px}.empty-state svg{color:#d1d5db;margin-bottom:20px}.empty-state h2{color:#374151;font-size:20px;font-weight:600;margin:0 0 8px}.empty-state p{color:#6b7280}.setup-wizard{animation:fadeIn .3s ease}.setup-header{margin-bottom:32px}.back-btn{background:#0000;border:none;border-radius:8px;color:#6b7280;display:inline-flex;font-size:14px;gap:4px;margin-bottom:12px;transition:all .2s ease}.back-btn:hover{background:#f3f4f6;color:#374151}.setup-header h1{color:#111827;font-size:24px;font-weight:700;margin:0}.setup-steps{background:#f9fafb;border-radius:16px;display:flex;gap:8px;margin-bottom:32px;overflow-x:auto;padding:20px}.setup-step{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;cursor:pointer;display:flex;gap:12px;min-width:180px;padding:12px 16px;position:relative;transition:all .2s ease}.setup-step.active{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.setup-step.completed{background:#f0fdf4;border-color:#10b981}.setup-step.completed .step-icon{background:#10b981;color:#fff}.step-icon{align-items:center;background:#f3f4f6;border-radius:10px;color:#6b7280;display:flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.setup-step.active .step-icon{background:#4f46e5;color:#fff}.step-info{display:flex;flex-direction:column;gap:2px}.step-title{color:#374151;font-size:14px;font-weight:600}.step-desc{color:#9ca3af;font-size:11px}.step-connector{background:#e5e7eb;height:2px;position:absolute;right:-12px;top:50%;transform:translateY(-50%);width:16px}.step-container{background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:32px}.step-header{margin-bottom:24px}.step-header h2{color:#111827;font-size:20px;font-weight:600;margin:0 0 8px}.step-header p{color:#6b7280;font-size:14px;margin:0}.step-actions{border-top:1px solid #f3f4f6;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:24px}.availability-mode-toggle,.mode-toggle{background:#f3f4f6;border-radius:12px;display:flex;gap:8px;margin-bottom:24px;padding:4px}.mode-btn{align-items:center;background:#0000;border:none;border-radius:10px;color:#6b7280;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:12px 20px;transition:all .2s ease}.mode-btn:hover{color:#374151}.mode-btn.active{background:#fff;box-shadow:0 1px 3px #00000014;color:#4f46e5}.import-section{background:#f9fafb;border-radius:12px;padding:24px}.import-hint,.import-section .form-group{margin-bottom:16px}.import-hint{color:#6b7280;font-size:13px}.manual-entry-section{display:flex;flex-direction:column;gap:16px}.add-root-btn{align-self:flex-start}.add-item-form{background:#f9fafb;border-radius:12px;margin-bottom:16px;padding:16px}.form-row{align-items:flex-end;display:flex;gap:12px;margin-bottom:12px}.form-row .form-group{margin-bottom:0}.form-group.flex-grow{flex:1 1}.form-actions-inline{align-items:center;display:flex;gap:8px}.syllabus-tree{border:1px solid #e5e7eb;border-radius:12px;min-height:200px;padding:16px}.empty-tree{align-items:center;color:#9ca3af;display:flex;flex-direction:column;justify-content:center;padding:40px;text-align:center}.empty-tree svg{margin-bottom:12px}.empty-tree .hint{font-size:13px;margin-top:8px}.syllabus-tree-item{margin-bottom:4px}.tree-item-row{align-items:center;border-radius:8px;display:flex;justify-content:space-between;padding:8px 12px;transition:background .15s ease}.tree-item-row:hover{background:#f9fafb}.tree-item-main{align-items:center;cursor:pointer;display:flex;flex:1 1;gap:8px}.tree-spacer{width:16px}.level-icon{flex-shrink:0}.level-icon.indigo{color:#4f46e5}.level-icon.purple{color:#9333ea}.level-icon.blue{color:#2563eb}.level-icon.green{color:#16a34a}.level-icon.gray{color:#6b7280}.item-name{color:#374151;font-size:14px;font-weight:500}.item-hours{background:#f3f4f6;border-radius:4px;color:#6b7280;font-size:12px;padding:2px 8px}.tree-item-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s ease}.tree-item-row:hover .tree-item-actions{opacity:1}.action-btn{background:#0000;border:none;border-radius:4px;cursor:pointer;padding:4px;transition:all .15s ease}.action-btn.add{color:#6b7280}.action-btn.add:hover{background:#e0e7ff;color:#4f46e5}.action-btn.delete{color:#9ca3af}.action-btn.delete:hover{background:#fef2f2;color:#dc2626}.tree-children{border-left:2px solid #e5e7eb;margin-left:12px;padding-left:8px}.tree-item-row.level-subject{background:#eef2ff}.tree-item-row.level-chapter{background:#faf5ff}.tree-item-row.level-unit{background:#eff6ff}.advanced-availability,.simple-availability{margin-bottom:24px}.hours-selector{display:flex;flex-wrap:wrap;gap:8px}.hour-btn{background:#fff;border:1px solid #e5e7eb;border-radius:10px;color:#374151;cursor:pointer;font-size:14px;font-weight:500;padding:12px 20px;transition:all .2s ease}.hour-btn:hover{border-color:#c7d2fe}.hour-btn.active{background:#4f46e5;border-color:#4f46e5;color:#fff}.time-input{border:1px solid #e5e7eb;border-radius:8px;font-size:14px;padding:10px 14px}.weekly-schedule{margin-top:24px}.weekly-schedule>label{color:#374151;display:block;font-size:13px;font-weight:500;margin-bottom:12px}.days-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(7,1fr)}.day-card{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;display:flex;flex-direction:column;gap:6px;padding:12px 8px}.day-name{color:#374151;font-size:12px;font-weight:600}.day-hours-input{border:1px solid #e5e7eb;border-radius:6px;font-size:14px;font-weight:500;padding:6px;text-align:center;width:50px}.hours-label{color:#9ca3af;font-size:11px}.advanced-slots{display:flex;flex-direction:column;gap:12px}.slot-row{align-items:center;background:#f9fafb;border-radius:8px;display:flex;gap:12px;padding:12px}.slot-row input[type=time],.slot-row select{border:1px solid #e5e7eb;border-radius:6px;font-size:14px;padding:8px 12px}.slot-row span{color:#6b7280}.btn-icon{transition:all .15s ease}.btn-icon.delete{color:#9ca3af}.btn-icon.delete:hover{background:#fef2f2;color:#dc2626}.overrides-section{border-top:1px solid #e5e7eb;margin-top:32px;padding-top:24px}.section-header{justify-content:space-between;margin-bottom:16px}.section-header h3{color:#374151;font-size:16px}.override-form{background:#f9fafb;border-radius:12px;margin-bottom:16px;padding:16px}.overrides-list{display:flex;flex-direction:column;gap:8px}.override-item{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:10px;display:flex;gap:12px;padding:12px 16px}.override-item.unavailable{background:#fef2f2;border-color:#fecaca}.override-item svg{color:#9ca3af}.override-info{display:flex;flex:1 1;flex-direction:column;gap:2px}.override-date{color:#374151;font-size:14px;font-weight:500}.override-note{color:#6b7280;font-size:12px}.override-badge{border-radius:6px;font-size:12px;font-weight:500;padding:4px 10px}.override-badge.available{background:#d1fae5;color:#065f46}.override-badge.unavailable{background:#fee2e2;color:#991b1b}.materials-list{display:flex;flex-direction:column;gap:12px}.material-item{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;display:flex;gap:12px;padding:16px}.material-item svg{color:#4f46e5}.coverage-badge,.year-badge{background:#e0e7ff;border-radius:6px;color:#4338ca;font-size:12px;font-weight:500;margin-left:auto;padding:4px 10px}.add-material{position:relative}.add-material input[type=file]{cursor:pointer;height:100%;opacity:0;position:absolute;width:100%}.add-material-label{align-items:center;border:2px dashed #d1d5db;border-radius:12px;color:#6b7280;cursor:pointer;display:flex;gap:8px;justify-content:center;padding:16px;transition:all .2s ease}.add-material-label:hover{border-color:#4f46e5;color:#4f46e5}.preferences-form{display:flex;flex-direction:column;gap:20px}.pref-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.checkbox-group label{align-items:center;cursor:pointer;display:flex;gap:10px}.checkbox-group input[type=checkbox]{accent-color:#4f46e5;height:18px;width:18px}.course-dashboard{animation:fadeIn .3s ease}.dashboard-header{margin-bottom:24px}.course-title-section{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.course-title-section h1{color:#111827;font-size:24px;font-weight:700;margin:0}.exam-date-badge{align-items:center;background:#fef3c7;border-radius:20px;color:#92400e;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:6px 12px}.stats-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:24px}.stat-card{border:1px solid #e5e7eb;border-radius:16px;padding:20px}.stat-icon{align-items:center;border-radius:12px;display:flex;height:48px;justify-content:center;width:48px}.stat-icon.readiness{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#d97706}.stat-icon.progress{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);color:#4f46e5}.stat-icon.sessions{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#059669}.stat-icon.time{background:linear-gradient(135deg,#fae8ff,#f5d0fe);color:#9333ea}.stat-content{display:flex;flex-direction:column}.stat-value{color:#111827;font-size:24px}.stat-label{color:#6b7280;font-size:13px}.dashboard-tabs{background:#f3f4f6;border-radius:12px;display:flex;gap:4px;margin-bottom:20px;padding:4px}.dashboard-tabs .tab{background:#0000;border:none;border-radius:8px;color:#6b7280;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s ease}.dashboard-tabs .tab:hover{color:#374151}.dashboard-tabs .tab.active{background:#fff;box-shadow:0 1px 3px #00000014;color:#4f46e5}.sessions-list{display:flex;flex-direction:column;gap:12px}.session-card{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;display:flex;justify-content:space-between;padding:16px 20px;transition:all .2s ease}.session-card:hover{border-color:#d1d5db}.session-card.completed{background:#f9fafb;opacity:.7}.session-card.missed{background:#fef2f2;border-color:#fecaca}.session-main{align-items:center;display:flex;gap:16px}.session-status-icon{color:#d1d5db}.session-status-icon .completed{color:#10b981}.session-status-icon .in-progress{color:#4f46e5}.session-status-icon .missed{color:#ef4444}.session-info h4{color:#111827;font-size:15px;font-weight:500;margin:0 0 4px}.session-meta{color:#6b7280;display:flex;font-size:13px;gap:12px}.session-meta span{gap:4px}.empty-day,.session-meta span{align-items:center;display:flex}.empty-day{color:#9ca3af;flex-direction:column;padding:60px 20px}.empty-day svg{margin-bottom:12px}.topics-progress{display:flex;flex-direction:column;gap:12px}.topic-progress-item{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;display:flex;gap:16px;padding:16px}.topic-info{align-items:center;display:flex;flex:1 1;gap:10px}.topic-info .topic-name{color:#374151;font-size:14px;font-weight:500}.difficulty-badge{border-radius:4px;font-size:10px;font-weight:600;padding:2px 8px;text-transform:uppercase}.difficulty-badge.easy{background:#d1fae5;color:#065f46}.difficulty-badge.medium{background:#fef3c7;color:#92400e}.difficulty-badge.hard{background:#fee2e2;color:#991b1b}.difficulty-badge.very_hard{background:#fce7f3;color:#9d174d}.topic-progress-bar{background:#e5e7eb;border-radius:4px;height:8px;overflow:hidden;width:200px}.topic-progress-bar .progress-fill{background:linear-gradient(90deg,#4f46e5,#6366f1);border-radius:4px;height:100%;transition:width .5s ease}.progress-percent{color:#6b7280;font-size:13px;font-weight:600;min-width:40px;text-align:right}.timer-modal{align-items:center;animation:fadeIn .2s ease;background:#0009;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.timer-content{background:#fff;border-radius:24px;max-width:400px;padding:40px;text-align:center;width:90%}.timer-content h3{color:#111827;font-size:18px;font-weight:600;margin:0 0 32px}.timer-display{height:200px;margin:0 auto 32px;position:relative;width:200px}.timer-ring{height:100%;transform:rotate(-90deg);width:100%}.ring-bg{fill:none;stroke:#f3f4f6;stroke-width:8}.ring-progress{fill:none;stroke:#4f46e5;stroke-width:8;stroke-linecap:round;stroke-dasharray:565.48;transition:stroke-dashoffset 1s linear}.timer-text{align-items:center;display:flex;flex-direction:column;inset:0;justify-content:center;position:absolute}.timer-text .time{font-feature-settings:"tnum";color:#111827;font-size:48px;font-variant-numeric:tabular-nums;font-weight:700}.timer-text .target{color:#9ca3af;font-size:14px}.timer-actions{display:flex;gap:12px;justify-content:center;margin-bottom:20px}.cancel-btn{align-items:center;background:#0000;border:none;color:#9ca3af;cursor:pointer;display:inline-flex;font-size:13px;gap:6px;padding:8px 16px;transition:color .2s ease}.cancel-btn:hover{color:#ef4444}.modal-overlay{align-items:center;animation:fadeIn .2s ease;background:#00000080;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.modal-content{animation:slideUp .3s ease;background:#fff;border-radius:20px;max-width:480px;width:100%}.modal-header{border-bottom:1px solid #f3f4f6}.modal-header h2{color:#111827}.modal-close{background:#0000;border:none;border-radius:8px;color:#9ca3af;cursor:pointer;padding:8px}.modal-close:hover{background:#f3f4f6;color:#374151}.modal-content form{padding:24px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.form-group label{color:#374151;font-size:13px}.form-group input,.form-group select,.form-group textarea{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;color:#374151;font-size:14px;padding:10px 14px;transition:all .2s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background:#fff;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a;outline:none}.form-group textarea{min-height:80px;resize:vertical}.btn{border-radius:8px;gap:8px;padding:10px 20px}.btn-primary:hover:not(:disabled){background:#4338ca}.btn-secondary{background:#f3f4f6}.btn-secondary:hover:not(:disabled){background:#e5e7eb}.btn-ghost{color:#6b7280}.btn-ghost:hover:not(:disabled){background:#f3f4f6}.btn-large{font-size:15px;padding:14px 28px}.btn-sm{padding:8px 14px}@media (max-width:1024px){.stats-row{grid-template-columns:repeat(2,1fr)}.days-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:768px){.planner-container{padding:16px}.courses-header{flex-direction:column;gap:16px}.courses-grid{grid-template-columns:1fr}.setup-steps{flex-direction:column}.setup-step{min-width:auto}.step-connector{display:none}.stats-row{grid-template-columns:1fr 1fr}.pref-row{grid-template-columns:1fr}.days-grid{grid-template-columns:repeat(7,1fr)}.day-card{padding:8px 4px}.day-hours-input{width:40px}.form-row{flex-direction:column}}@media (max-width:480px){.stats-row{grid-template-columns:1fr}.topic-progress-bar{width:100px}.days-grid{grid-template-columns:repeat(4,1fr)}}.create-exam-modal{max-width:700px;width:95%}.step-content h3{color:var(--gray-900);font-size:18px;font-weight:600;margin-bottom:8px}.modal-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:20px 24px}.modal-header h2{color:var(--gray-900);font-size:18px;font-weight:600;margin:0}.wizard-progress{background:var(--gray-50);border-bottom:1px solid var(--border);justify-content:center;padding:16px 24px}.progress-step,.wizard-progress{align-items:center;display:flex;gap:8px}.progress-step{background:#fff;border:1px solid var(--border);border-radius:var(--radius-full);padding:8px 16px}.progress-step.active{background:var(--primary);border-color:var(--primary)}.progress-step.active .step-label,.progress-step.active .step-num{color:#fff}.step-num{align-items:center;background:var(--gray-100);border-radius:50%;color:var(--gray-500);display:flex;font-size:12px;font-weight:600;height:24px;justify-content:center;width:24px}.progress-step.active .step-num{background:#fff3}.step-label{color:var(--gray-500);font-size:13px;font-weight:500}.step-arrow{color:var(--gray-300)}.modal-content{max-height:50vh;overflow-y:auto;padding:24px}.loading-state{align-items:center;color:var(--gray-500);display:flex;flex-direction:column;gap:12px;justify-content:center;padding:48px}.step-content{animation:fadeIn .2s ease}.step-description{color:var(--gray-600);font-size:14px}.form-group,.step-description{margin-bottom:20px}.form-group label{color:var(--gray-700);display:block;font-size:14px;font-weight:500;margin-bottom:8px}.form-group .input{background:#fff;border:1px solid var(--border);border-radius:var(--radius);font-size:14px;padding:12px 16px;transition:border-color var(--transition-fast);width:100%}.form-group .input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--indigo-100);outline:none}.form-group .textarea{min-height:80px;resize:vertical}.empty-hint{align-items:center;background:var(--amber-50);border-radius:var(--radius);color:var(--amber-700);display:flex;font-size:13px;gap:8px;padding:12px 16px}.syllabus-list{display:flex;flex-direction:column;gap:8px}.syllabus-item{align-items:center;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;display:flex;gap:12px;padding:12px 16px;transition:all var(--transition-fast)}.syllabus-item:hover{background:var(--gray-50);border-color:var(--indigo-200)}.syllabus-item.selected{background:var(--indigo-50);border-color:var(--primary)}.syllabus-icon{align-items:center;background:var(--indigo-100);border-radius:var(--radius);color:var(--primary);display:flex;height:40px;justify-content:center;width:40px}.syllabus-info{flex:1 1}.syllabus-name{color:var(--gray-900);display:block;font-size:14px;font-weight:500}.syllabus-meta{color:var(--gray-500);font-size:12px}.check-icon{color:var(--primary)}.sources-list{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto}.source-item{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:all var(--transition-fast)}.source-item:hover{border-color:var(--indigo-200)}.source-item.selected{background:var(--indigo-50);border-color:var(--primary)}.source-header{align-items:center;cursor:pointer;display:flex;gap:12px;padding:12px 16px}.source-checkbox{align-items:center;background:#fff;border:2px solid var(--border);border-radius:4px;display:flex;height:20px;justify-content:center;width:20px}.source-item.selected .source-checkbox{background:var(--primary);border-color:var(--primary);color:#fff}.source-icon{color:var(--gray-400)}.source-info{flex:1 1}.source-name{color:var(--gray-900);display:block;font-size:14px;font-weight:500}.source-type{color:var(--gray-500);font-size:12px;text-transform:capitalize}.paper-details{background:var(--indigo-50);border-top:1px solid var(--indigo-100);display:flex;gap:8px;padding:12px 16px 12px 56px}.paper-details .input-sm{font-size:13px;padding:8px 12px}.selected-count{color:var(--gray-500);margin-top:16px;text-align:center}.review-section{margin-bottom:20px}.review-section label{color:var(--gray-500);display:block;font-size:12px;font-weight:600;margin-bottom:4px;text-transform:uppercase}.review-section p{color:var(--gray-900);font-size:15px;margin:0}.papers-list{margin:0;padding-left:20px}.papers-list li{color:var(--gray-700);font-size:14px;margin-bottom:4px}.ai-note{align-items:flex-start;background:var(--indigo-50);border-radius:var(--radius);color:var(--indigo-700);display:flex;font-size:13px;gap:12px;padding:16px}.ai-note svg{flex-shrink:0;margin-top:2px}.modal-footer{align-items:center;background:var(--gray-50);border-top:1px solid var(--border);display:flex;justify-content:space-between;padding:16px 24px}.footer-right,.notebook-groups{display:flex;gap:12px}.notebook-groups{flex-direction:column;max-height:350px;overflow-y:auto}.notebook-group{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.notebook-header{align-items:center;background:var(--gray-50);cursor:pointer;display:flex;gap:10px;padding:12px 16px;transition:background var(--transition-fast)}.notebook-header:hover{background:var(--gray-100)}.notebook-header svg:first-child{color:var(--primary)}.notebook-name{color:var(--gray-800);flex:1 1;font-size:14px;font-weight:600}.notebook-count{background:#fff;border:1px solid var(--border);border-radius:var(--radius-full);color:var(--gray-500);font-size:12px;padding:2px 8px}.notebook-header svg:last-child{color:var(--gray-400)}.notebook-items{background:#fff;display:flex;flex-direction:column;gap:6px;padding:8px}.notebook-items .source-item,.notebook-items .syllabus-item{margin:0}.notebook-items .syllabus-item{padding:10px 14px}.notebook-items .syllabus-icon{height:32px;width:32px}.notebook-items .syllabus-icon svg{height:16px;width:16px}.selected-notebooks{color:var(--primary);font-weight:500;margin-left:8px}.paper-notebook,.review-notebook{color:var(--gray-500);font-size:12px;margin-left:8px}.papers-list li{align-items:center;display:flex;gap:8px}.papers-list li svg{color:var(--gray-400);flex-shrink:0}.paper-notebook{font-style:italic;margin-left:auto}.generate-paper-modal{max-width:600px}.step-description{color:var(--muted);margin-bottom:24px;text-align:center}.mode-selection{padding:10px 0}.mode-options{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.mode-card{align-items:center;background:#fff;border:2px solid var(--gray-200);border-radius:var(--radius-lg);cursor:pointer;display:flex;flex-direction:column;padding:24px 20px;text-align:center;transition:all var(--transition-smooth)}.mode-card:hover{border-color:var(--gray-300);box-shadow:var(--shadow-md);transform:translateY(-2px)}.mode-card.selected{background:var(--indigo-50);border-color:var(--primary)}.mode-icon{align-items:center;border-radius:var(--radius-full);display:flex;height:64px;justify-content:center;margin-bottom:16px;width:64px}.mode-icon.adaptive{background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff}.mode-icon.non-adaptive{background:linear-gradient(135deg,#06b6d4,#0891b2);color:#fff}.mode-card h3{font-size:18px;font-weight:600;margin:0 0 8px}.mode-card p{color:var(--muted);font-size:13px;line-height:1.5;margin:0 0 16px}.mode-features{list-style:none;margin:0;padding:0;text-align:left;width:100%}.mode-features li{align-items:center;color:var(--gray-600);display:flex;font-size:12px;gap:8px;padding:4px 0}.mode-features li svg{color:var(--primary)}.paper-config{padding:10px 0}.config-section{margin-bottom:24px}.config-section>label{color:var(--text);display:block;font-size:14px;font-weight:600;margin-bottom:8px}.label-hint{color:var(--muted);font-size:12px;font-weight:400;margin-left:8px}.marks-input{align-items:center;display:flex;gap:8px}.marks-input input{border:1px solid var(--border);border-radius:var(--radius);font-size:16px;padding:10px 12px;text-align:center;width:100px}.marks-input span{color:var(--muted)}.checkbox-label{align-items:center;cursor:pointer;display:flex;font-weight:400!important;gap:8px}.checkbox-label input{height:18px;width:18px}.loading-topics{align-items:center;color:var(--muted);display:flex;gap:8px;padding:20px}.topic-selection{border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.topic-list{max-height:250px;overflow-y:auto;padding:8px}.topic-item{align-items:center;background:none;border:none;border-radius:var(--radius);cursor:pointer;display:flex;gap:10px;padding:10px 12px;text-align:left;transition:background var(--transition-fast);width:100%}.topic-item:hover{background:var(--gray-50)}.topic-item.selected{background:var(--indigo-50)}.topic-item svg{color:var(--gray-400);flex-shrink:0}.topic-item.selected svg{color:var(--primary)}.topic-name{color:var(--text);flex:1 1;font-size:14px}.topic-questions{background:var(--gray-100);border-radius:var(--radius-full);color:var(--gray-600);font-size:12px;padding:2px 8px}.selected-count{align-items:center;background:var(--gray-50);border-top:1px solid var(--border);color:var(--muted);display:flex;font-size:13px;justify-content:space-between;padding:12px 16px}.selected-count button{background:none;border:none;color:var(--primary);cursor:pointer;font-size:13px}.no-topics{color:var(--muted);padding:20px;text-align:center}.generating-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.generating-animation{margin-bottom:24px}.brain-pulse{animation:brain-pulse 1.5s ease-in-out infinite;color:var(--primary)}.shuffle-spin{animation:shuffle-spin 1s linear infinite;color:var(--cyan-500)}@keyframes brain-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}@keyframes shuffle-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.generating-state h3{font-size:20px;margin:0 0 8px}.generating-state p{color:var(--muted);font-size:14px;margin:0}.practice-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.practice-modal{animation:slideUp .3s ease-out;background:var(--surface);border-radius:16px;box-shadow:0 25px 50px -12px #00000040;display:flex;flex-direction:column;max-height:90vh;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.pm-header{border-bottom:1px solid var(--border);justify-content:space-between;padding:20px 24px}.pm-header,.pm-header-title{align-items:center;display:flex}.pm-header-title{gap:12px}.pm-header-icon{align-items:center;background:linear-gradient(135deg,var(--primary),#8b5cf6);border-radius:12px;color:#fff;display:flex;height:42px;justify-content:center;width:42px}.pm-header h2{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0}.pm-header-subtitle{color:var(--text-muted);font-size:.875rem;margin-top:2px}.pm-close-btn{align-items:center;background:var(--surface-hover);border:none;border-radius:10px;color:var(--text-muted);cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s;width:36px}.pm-close-btn:hover{background:var(--border);color:var(--text-primary)}.pm-content{flex:1 1;overflow-y:auto;padding:24px}.pm-footer{align-items:center;background:var(--background);border-radius:0 0 16px 16px;border-top:1px solid var(--border);display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.pm-btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:inline-flex;font-size:.9375rem;font-weight:600;gap:8px;justify-content:center;padding:12px 24px;transition:all .2s}.pm-btn-secondary{background:var(--surface);border:1px solid var(--border);color:var(--text-secondary)}.pm-btn-secondary:hover{background:var(--surface-hover);border-color:var(--border-hover)}.pm-btn-primary{background:linear-gradient(135deg,var(--primary),#8b5cf6);box-shadow:0 4px 14px #6366f14d;color:#fff}.pm-btn-primary:hover{box-shadow:0 6px 20px #6366f166;transform:translateY(-1px)}.pm-btn-primary:disabled{cursor:not-allowed;opacity:.6;transform:none}.pm-loading{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;gap:16px;justify-content:center;padding:60px 20px}.pm-loading .spin{animation:spin 1s linear infinite}.generate-paper-modal{max-width:680px}.gpm-steps{display:flex;gap:8px;justify-content:center;margin-bottom:24px}.gpm-step-dot{background:var(--border);border-radius:50%;height:10px;transition:all .3s;width:10px}.gpm-step-dot.active{border-radius:5px;width:32px}.gpm-step-dot.active,.gpm-step-dot.completed{background:var(--primary)}.gpm-intro{margin-bottom:28px;text-align:center}.gpm-intro h3{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0 0 8px}.gpm-intro p{color:var(--text-muted);font-size:.9375rem;line-height:1.5;margin:0}.gpm-mode-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.gpm-mode-card{background:var(--surface);border:2px solid var(--border);border-radius:16px;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;padding:24px 20px;position:relative;text-align:left;transition:all .25s ease}.gpm-mode-card:before{background:#0000;content:"";height:4px;left:0;position:absolute;right:0;top:0;transition:background .25s}.gpm-mode-card:hover{border-color:var(--primary-light);box-shadow:0 8px 24px #00000014;transform:translateY(-2px)}.gpm-mode-card.selected{background:var(--primary-light);border-color:var(--primary)}.gpm-mode-card.selected:before{background:linear-gradient(90deg,var(--primary),#8b5cf6)}.gpm-mode-card.selected .gpm-mode-check{opacity:1;transform:scale(1)}.gpm-mode-check{background:var(--primary);border-radius:50%;color:#fff;height:24px;opacity:0;position:absolute;right:12px;top:12px;transform:scale(.5);transition:all .25s;width:24px}.gpm-mode-check,.gpm-mode-icon{align-items:center;display:flex;justify-content:center}.gpm-mode-icon{border-radius:14px;height:56px;margin-bottom:16px;width:56px}.gpm-mode-icon.adaptive{background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff}.gpm-mode-icon.non-adaptive{background:linear-gradient(135deg,#06b6d4,#0891b2);color:#fff}.gpm-mode-card h4{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0 0 8px}.gpm-mode-card>p{color:var(--text-secondary);font-size:.875rem;line-height:1.5;margin:0 0 16px}.gpm-mode-features{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.gpm-mode-features li{align-items:center;color:var(--text-secondary);display:flex;font-size:.8125rem;gap:10px}.gpm-mode-features li svg{color:var(--primary);flex-shrink:0}.gpm-mode-card.selected .gpm-mode-features li{color:var(--text-primary)}.gpm-config{gap:24px}.gpm-config,.gpm-field{display:flex;flex-direction:column}.gpm-field{gap:8px}.gpm-field-label{align-items:center;display:flex;justify-content:space-between}.gpm-field-label label{color:var(--text-primary);font-size:.9375rem;font-weight:600}.gpm-field-hint{color:var(--text-muted);font-size:.8125rem}.gpm-marks-input{align-items:center;display:flex;gap:12px}.gpm-marks-input input{background:var(--surface);border:2px solid var(--border);border-radius:12px;color:var(--text-primary);font-size:1.125rem;font-weight:600;padding:12px 16px;text-align:center;transition:all .2s;width:120px}.gpm-marks-input input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a;outline:none}.gpm-marks-input span{color:var(--text-muted);font-size:1rem}.gpm-topics-container{border:1px solid var(--border);border-radius:12px;overflow:hidden}.gpm-topics-header{align-items:center;background:var(--background);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:12px 16px}.gpm-topics-header span{color:var(--text-muted);font-size:.8125rem}.gpm-topics-clear{background:none;border:none;color:var(--primary);cursor:pointer;font-size:.8125rem;font-weight:500}.gpm-topics-clear:hover{text-decoration:underline}.gpm-topics-list{max-height:220px;overflow-y:auto;padding:8px}.gpm-topic-item{align-items:center;background:#0000;border:none;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:10px 12px;text-align:left;transition:background .15s;width:100%}.gpm-topic-item:hover{background:var(--surface-hover)}.gpm-topic-item.selected{background:var(--primary-light)}.gpm-topic-checkbox{align-items:center;border:2px solid var(--border);border-radius:6px;color:#0000;display:flex;flex-shrink:0;height:20px;justify-content:center;transition:all .15s;width:20px}.gpm-topic-item.selected .gpm-topic-checkbox{background:var(--primary);border-color:var(--primary);color:#fff}.gpm-topic-name{color:var(--text-primary);flex:1 1;font-size:.9375rem}.gpm-topic-count{background:var(--surface);border-radius:20px;color:var(--text-muted);font-size:.75rem;font-weight:600;padding:3px 10px}.gpm-topic-item.selected .gpm-topic-count{background:#fff;color:var(--primary)}.gpm-no-topics{color:var(--text-muted);padding:24px;text-align:center}.gpm-generating{flex-direction:column;padding:48px 24px;text-align:center}.gpm-generating,.gpm-generating-icon{align-items:center;display:flex;justify-content:center}.gpm-generating-icon{animation:pulse 2s ease-in-out infinite;background:linear-gradient(135deg,var(--primary),#8b5cf6);border-radius:24px;color:#fff;height:80px;margin-bottom:24px;width:80px}@keyframes pulse{0%,to{box-shadow:0 0 0 0 #6366f166;transform:scale(1)}50%{box-shadow:0 0 0 20px #6366f100;transform:scale(1.05)}}.gpm-generating h3{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0 0 8px}.gpm-generating p{color:var(--text-muted);font-size:.9375rem;margin:0;max-width:320px}.add-paper-modal{max-width:600px}.apm-description{color:var(--text-secondary);font-size:.9375rem;line-height:1.5;margin:0 0 20px}.apm-notebooks{display:flex;flex-direction:column;gap:12px}.apm-notebook{border:1px solid var(--border);border-radius:12px;overflow:hidden}.apm-notebook-header{align-items:center;background:var(--background);border:none;cursor:pointer;display:flex;gap:12px;padding:14px 16px;text-align:left;transition:background .15s;width:100%}.apm-notebook-header:hover{background:var(--surface-hover)}.apm-notebook-icon{align-items:center;background:var(--primary-light);border-radius:10px;color:var(--primary);display:flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.apm-notebook-info{flex:1 1}.apm-notebook-name{color:var(--text-primary);font-size:.9375rem;font-weight:600}.apm-notebook-count{font-size:.8125rem}.apm-notebook-count,.apm-notebook-toggle{color:var(--text-muted)}.apm-papers{background:var(--surface);gap:6px;padding:8px}.apm-paper,.apm-papers{display:flex;flex-direction:column}.apm-paper{border:1px solid var(--border);border-radius:10px;overflow:hidden;transition:all .15s}.apm-paper:hover:not(.disabled){border-color:var(--primary-light)}.apm-paper.selected{background:var(--primary-light);border-color:var(--primary)}.apm-paper.disabled{background:var(--background);opacity:.7}.apm-paper-main{align-items:center;cursor:pointer;display:flex;gap:12px;padding:12px 14px}.apm-paper.disabled .apm-paper-main{cursor:not-allowed}.apm-checkbox{align-items:center;background:#fff;border:2px solid var(--border);border-radius:6px;display:flex;flex-shrink:0;height:22px;justify-content:center;transition:all .15s;width:22px}.apm-paper.selected .apm-checkbox{background:var(--primary);border-color:var(--primary);color:#fff}.apm-paper.disabled .apm-checkbox{background:var(--border);border-color:var(--border);color:var(--text-muted)}.apm-paper-icon{color:var(--text-muted)}.apm-paper.selected .apm-paper-icon{color:var(--primary)}.apm-paper-info{flex:1 1;min-width:0}.apm-paper-name{color:var(--text-primary);font-size:.9375rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.apm-paper-status,.apm-paper.disabled .apm-paper-name{color:var(--text-muted)}.apm-paper-status{align-items:center;background:var(--surface);border-radius:20px;display:inline-flex;font-size:.75rem;font-weight:500;gap:4px;padding:4px 10px}.apm-paper.disabled .apm-paper-status{background:#10b9811a;color:#10b981}.apm-paper-details{background:#6366f10d;border-top:1px solid #6366f11a;display:flex;gap:10px;padding:12px 14px 12px 48px}.apm-paper-details input{background:#fff;border:1px solid var(--border);border-radius:8px;color:var(--text-primary);flex:1 1;font-size:.875rem;padding:10px 12px;transition:all .15s}.apm-paper-details input:focus{border-color:var(--primary);outline:none}.apm-paper-details input::placeholder{color:var(--text-muted)}.apm-summary{background:var(--primary-light);border-radius:10px;gap:8px;margin-top:16px;padding:14px 16px}.apm-summary,.apm-summary-icon{align-items:center;display:flex}.apm-summary-icon{background:var(--primary);border-radius:8px;color:#fff;height:28px;justify-content:center;width:28px}.apm-summary span{color:var(--primary);font-size:.9375rem;font-weight:500}@media (max-width:640px){.practice-modal{border-radius:0;max-height:100vh}.gpm-mode-grid{grid-template-columns:1fr}.pm-content{padding:16px}.pm-footer{padding:12px 16px}.apm-paper-details{flex-direction:column;padding-left:14px}}.practice-page{margin:0 auto;max-width:1400px;padding:24px 32px}.practice-loading{align-items:center;color:var(--gray-500);display:flex;flex-direction:column;gap:16px;height:60vh;justify-content:center}.practice-header{justify-content:space-between;margin-bottom:24px}.header-left,.practice-header{align-items:flex-start;display:flex}.header-left{gap:16px}.header-left svg{color:var(--primary);margin-top:4px}.header-left h1{color:var(--gray-900);font-size:24px;font-weight:700;margin:0 0 4px}.header-left p{color:var(--gray-500);font-size:14px;margin:0}.notebook-selector{align-items:center;background:var(--gray-50);border-radius:var(--radius);display:flex;gap:12px;margin-bottom:24px;padding:16px}.notebook-selector label{color:var(--gray-700);font-size:14px;font-weight:500;white-space:nowrap}.notebook-selector .select{flex:1 1;font-size:14px;max-width:400px;padding:10px 16px}.exam-search,.notebook-selector .select{background:#fff;border:1px solid var(--border);border-radius:var(--radius)}.exam-search{align-items:center;display:flex;gap:12px;margin-bottom:24px;padding:12px 16px}.exam-search svg{color:var(--gray-400)}.exam-search .search-input{border:none;flex:1 1;font-size:14px;outline:none}.empty-state{background:var(--gray-50);border:2px dashed var(--gray-200);border-radius:var(--radius-lg);padding:64px 24px}.empty-state svg{color:var(--gray-300)}.empty-state h3{color:var(--gray-700);font-size:18px;font-weight:600;margin:0 0 8px}.empty-state p{margin:0 0 24px}.exams-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}.exam-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;transition:all var(--transition-fast)}.exam-card:hover{border-color:var(--indigo-200);box-shadow:0 4px 12px #00000014}.exam-header{align-items:flex-start;display:flex;gap:12px;margin-bottom:16px}.exam-icon{align-items:center;background:var(--indigo-50);border-radius:var(--radius);color:var(--primary);display:flex;height:48px;justify-content:center;width:48px}.exam-info{flex:1 1;min-width:0}.exam-info h3{color:var(--gray-900);font-size:16px;font-weight:600;margin:0 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exam-syllabus{color:var(--gray-500);font-size:13px}.status-badge{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:12px;font-weight:500;gap:6px;padding:4px 10px;white-space:nowrap}.status-badge.ready{background:var(--green-50);color:var(--green-600)}.status-badge.processing{background:var(--indigo-50);color:var(--primary)}.status-badge.error{background:var(--red-50);color:var(--red-600)}.status-badge.pending{background:var(--gray-100);color:var(--gray-600)}.exam-progress{animation:fadeIn .3s ease;margin-bottom:16px}.progress-bar{background:var(--gray-200);box-shadow:inset 0 1px 2px #0000001a;height:8px;margin-bottom:8px;overflow:hidden}.progress-bar,.progress-fill{border-radius:var(--radius-full)}.progress-fill{background:linear-gradient(90deg,var(--primary),var(--primary-hover));height:100%;position:relative;transition:width .5s ease}.progress-fill:after{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.progress-message{color:var(--gray-600);font-size:13px;font-weight:500}.exam-stats{background:var(--gray-50);border-radius:var(--radius);display:flex;gap:24px;margin-bottom:16px;padding:16px}.stat{text-align:center}.stat-value{color:var(--gray-900);display:block;font-size:20px;font-weight:700}.stat-label{color:var(--gray-500);font-size:12px}.exam-actions{display:flex;flex-wrap:wrap;gap:8px}.danger-text{color:var(--red-600)!important}.danger-text:hover{background:var(--red-50)!important}.exam-processing-note{align-items:center;background:var(--blue-50);border:1px solid var(--blue-100);border-radius:var(--radius);color:var(--blue-700);display:flex;font-size:12px;gap:8px;margin-bottom:16px;padding:10px 12px}.exam-processing-note svg{color:var(--blue-500);flex-shrink:0}@media (max-width:768px){.practice-page{padding:16px}.practice-header{flex-direction:column;gap:16px}.exams-grid{grid-template-columns:1fr}.notebook-selector{align-items:stretch;flex-direction:column}.notebook-selector .select{max-width:none}}.analytics-page{margin:0 auto;max-width:1400px;padding:24px 32px}.analytics-loading{align-items:center;color:var(--gray-500);display:flex;flex-direction:column;gap:16px;height:60vh;justify-content:center}.analytics-loading .spin{animation:spin 1s linear infinite}.analytics-header{align-items:center;display:flex;gap:16px;margin-bottom:24px}.back-btn{background:#fff;color:var(--gray-600);height:44px;justify-content:center;transition:all .2s;width:44px}.back-btn:hover{border-color:var(--gray-300);color:var(--gray-900)}.analytics-header .header-info h1{align-items:center;color:var(--gray-900);display:flex;font-size:22px;font-weight:700;gap:12px;margin:0 0 4px}.analytics-header .header-info h1 svg{color:var(--primary)}.analytics-header .header-info p{color:var(--gray-500);font-size:14px;margin:0}.analytics-tabs{background:var(--gray-100);border-radius:var(--radius);display:flex;gap:4px;margin-bottom:24px;overflow-x:auto;padding:4px}.analytics-tabs .tab{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:var(--gray-600);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:10px 16px;transition:all .2s;white-space:nowrap}.analytics-tabs .tab:hover{color:var(--gray-900)}.analytics-tabs .tab.active{background:#fff;box-shadow:0 1px 3px #0000001a;color:var(--gray-900)}.stats-grid{grid-gap:16px;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:24px}.stats-card{align-items:center;background:#fff;border:1px solid var(--border);border-radius:var(--radius);display:flex;gap:14px;padding:18px 20px;transition:all .2s}.stats-card:hover{border-color:var(--accent);box-shadow:0 4px 12px #0000000d}.stats-icon{align-items:center;background:color-mix(in srgb,var(--accent) 10%,#0000);border-radius:12px;color:var(--accent);display:flex;height:48px;justify-content:center;width:48px}.stats-info{display:flex;flex-direction:column}.stats-value{color:var(--gray-900);font-size:24px;font-weight:700}.stats-title{color:var(--gray-500);font-size:13px}.mini-charts-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-bottom:24px}.mini-chart-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:16px}.mini-chart-card h4{color:var(--gray-700);font-size:13px;font-weight:600;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.donut-wrapper{align-items:center;display:flex;gap:20px}.donut-chart{border-radius:50%;flex-shrink:0;position:relative}.donut-chart:before{content:""}.donut-chart:before,.donut-hole{background:#fff;border-radius:50%;inset:22px;position:absolute}.donut-hole{align-items:center;display:flex;flex-direction:column;justify-content:center}.donut-total{color:var(--gray-900);font-size:20px;font-weight:700}.donut-label{color:var(--gray-500);font-size:11px;text-transform:uppercase}.donut-legend{display:flex;flex:1 1;flex-direction:column;gap:6px}.legend-item{align-items:center;display:flex;font-size:12px;gap:8px}.legend-dot{border-radius:3px;flex-shrink:0;height:10px;width:10px}.legend-text{color:var(--gray-700);flex:1 1}.legend-val{color:var(--gray-500);font-weight:500}.h-bar-chart{display:flex;flex-direction:column;gap:10px}.h-bar-item{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:140px 1fr 70px}.h-bar-label{color:var(--gray-700);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.h-bar-track{background:var(--gray-100);border-radius:6px;height:24px;overflow:hidden}.h-bar-fill{background:var(--primary);border-radius:6px;height:100%;transition:width .5s ease}.h-bar-value{color:var(--gray-800);font-size:13px;font-weight:600;text-align:right}.h-bar-percent{color:var(--gray-500);font-size:11px;font-weight:400;margin-left:4px}.h-bar-more{color:var(--gray-500);font-size:12px;padding:8px;text-align:center}.chart-section{background:#fff;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:20px;padding:20px}.chart-section h3{align-items:center;color:var(--gray-800);display:flex;font-size:15px;font-weight:600;gap:8px;margin:0 0 16px}.chart-section h3 svg{color:var(--primary)}.charts-tab{display:flex;flex-direction:column;gap:20px}.chart-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:20px}.chart-card h3{align-items:center;color:var(--gray-800);display:flex;font-size:15px;font-weight:600;gap:8px;margin:0 0 16px}.chart-card h3 svg{color:var(--primary)}.chart-card-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.chart-card.half{flex:1 1}.tagging-row{display:flex;gap:16px}.tag-item{align-items:center;background:#fff;border:1px solid var(--border);border-radius:var(--radius);display:flex;flex:1 1;gap:12px;padding:14px 20px}.tag-item.success svg{color:#10b981}.tag-item.warning svg{color:#f59e0b}.tag-val{color:var(--gray-900);font-size:22px;font-weight:700}.tag-lbl{color:var(--gray-500);font-size:13px}.coverage-tab{display:flex;flex-direction:column;gap:16px}.coverage-section{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.section-header{align-items:center;background:var(--gray-50);border-bottom:1px solid var(--border);display:flex;gap:10px;padding:14px 18px}.section-header.clickable{cursor:pointer;transition:background .15s}.section-header.clickable:hover{background:var(--gray-100)}.section-header svg{color:var(--primary)}.section-header h3{color:var(--gray-800);flex:1 1;font-size:14px;font-weight:600;margin:0}.section-header .badge{background:var(--primary-light);border-radius:20px;color:var(--primary);font-size:12px;font-weight:600;padding:3px 10px}.section-header .badge.warn{background:#fef3c7;color:#d97706}.priorities-table{padding:12px}.priorities-table .table-head,.priorities-table .table-row{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:1fr 80px 80px 90px 90px 90px;padding:10px 12px}.priorities-table .table-head{border-bottom:1px solid var(--border);color:var(--gray-500);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.priorities-table .table-row{border-radius:6px;color:var(--gray-700);font-size:13px;transition:background .15s}.priorities-table .table-row:hover{background:var(--gray-50)}.priorities-table .col-topic{color:var(--gray-800);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.priorities-table .col-m,.priorities-table .col-q{font-weight:600;text-align:center}.priorities-table .col-pct{text-align:center}.pct-badge{background:linear-gradient(135deg,#eef2ff,#faf5ff);border:1px solid #c7d2fe;border-radius:20px;color:#4f46e5;display:inline-block;font-size:12px;font-weight:600;padding:3px 10px}.priorities-table .col-diff,.priorities-table .col-pri{text-align:center}.priority-badge{border-radius:6px;display:inline-block;font-size:11px;font-weight:600;padding:4px 10px}.level-table{padding:12px}.level-table .table-head,.level-table .table-row{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:1fr 100px 100px 80px;padding:10px 12px}.level-table .table-head{border-bottom:1px solid var(--border);color:var(--gray-500);font-size:11px;font-weight:600;text-transform:uppercase}.level-table .table-row{border-radius:6px;color:var(--gray-700);font-size:13px}.level-table .table-row:hover{background:var(--gray-50)}.level-table .col-name{color:var(--gray-800);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.level-table .col-avg,.level-table .col-count,.level-table .col-marks{text-align:center}.gaps-grid{display:flex;flex-wrap:wrap;gap:8px;padding:16px}.gap-item{align-items:center;background:var(--gray-50);border:1px solid var(--border);border-radius:8px;display:flex;font-size:13px;gap:8px;padding:8px 12px}.gap-level{background:var(--amber-100);border-radius:4px;color:var(--amber-700);font-size:10px;font-weight:600;padding:2px 8px;text-transform:uppercase}.gap-name{color:var(--gray-700)}.gaps-more{color:var(--gray-500);font-size:13px;padding:8px 12px}.trends-tab .chart-card{max-width:900px}.trends-summary{align-items:center;background:var(--gray-50);border-radius:8px;color:var(--gray-600);display:flex;font-size:14px;gap:8px;margin-bottom:20px;padding:12px 16px}.trends-summary svg{color:var(--primary)}.trends-table{margin-bottom:24px}.trends-table .table-head,.trends-table .table-row{grid-gap:16px;align-items:center;display:grid;gap:16px;grid-template-columns:120px repeat(3,1fr);padding:12px 16px}.trends-table .table-head{border-bottom:1px solid var(--border);color:var(--gray-500);font-size:11px;font-weight:600;text-transform:uppercase}.trends-table .table-row{border-radius:6px;color:var(--gray-700);font-size:14px}.trends-table .table-row:hover{background:var(--gray-50)}.trends-table .year-cell{align-items:center;color:var(--gray-800);display:flex;font-weight:600;gap:6px}.trends-chart{border-top:1px solid var(--border);padding-top:16px}.trends-chart h4{color:var(--gray-700);font-size:13px;font-weight:600;margin:0 0 12px}.insights-tab{max-width:900px}.insights-intro{align-items:center;background:var(--gray-50);border:1px solid var(--border);border-radius:var(--radius);display:flex;gap:12px;margin-bottom:20px;padding:14px 18px}.insights-intro svg{color:var(--primary);flex-shrink:0}.insights-intro p{color:var(--gray-600);font-size:14px;margin:0}.insights-grid{display:flex;flex-direction:column;gap:12px}.insight-card{align-items:flex-start;border:1px solid;border-radius:var(--radius);display:flex;gap:14px;padding:16px 18px}.insight-icon{flex-shrink:0;margin-top:2px}.insight-body h4{color:var(--gray-800);font-size:14px;font-weight:600;margin:0 0 4px}.insight-body p{color:var(--gray-600);font-size:13px;line-height:1.5;margin:0}.empty-state{align-items:center;color:var(--gray-400);display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.empty-state svg{margin-bottom:16px;opacity:.5}.empty-state p{color:var(--gray-500);font-size:14px}.no-data{color:var(--gray-500);font-size:13px;padding:20px;text-align:center}.no-data.success{align-items:center;background:#ecfdf5;border-radius:8px;color:#059669;display:flex;gap:8px;justify-content:center;margin:12px}.hot-topics-tab{display:flex;flex-direction:column;gap:20px}.hot-topics-intro{align-items:center;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:8px;color:#92400e;display:flex;font-size:13px;gap:10px;margin:0 16px 8px;padding:12px 16px}.hot-topics-intro svg{color:#d97706;flex-shrink:0}.hot-topics-table{padding:0 12px 12px}.hot-topics-table .table-head,.hot-topics-table .table-row{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:40px 1fr 70px 70px 60px 200px;padding:12px 14px}.hot-topics-table .table-head{border-bottom:1px solid var(--border);color:var(--gray-500);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.hot-topics-table .table-row{border-radius:8px;color:var(--gray-700);font-size:13px;transition:background .15s}.hot-topics-table .table-row:hover{background:var(--gray-50)}.hot-topics-table .col-rank{font-size:16px;text-align:center}.hot-topics-table .col-topic{color:var(--gray-800);display:flex;flex-direction:column;font-weight:500;gap:2px}.hot-topics-table .col-topic .topic-level{color:var(--gray-400);font-size:10px;font-weight:500;text-transform:uppercase}.hot-topics-table .col-score{text-align:center}.score-badge{background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:12px;color:#92400e;display:inline-block;font-size:12px;font-weight:700;padding:4px 10px}.hot-topics-table .col-freq,.hot-topics-table .col-weight{font-weight:500;text-align:center}.hot-topics-table .col-reasons{display:flex;flex-wrap:wrap;gap:4px}.reason-tag{align-items:center;border-radius:6px;display:inline-flex;font-size:10px;font-weight:600;padding:3px 8px;white-space:nowrap}.reason-text{color:var(--gray-500);font-size:12px}.section-header .badge.hot{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.trend-indicator{align-items:center;border-radius:6px;display:inline-flex;font-size:11px;font-weight:600;gap:4px;padding:4px 10px}.trend-indicator svg{flex-shrink:0}.buckets-container{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);padding:16px}.bucket-section{background:#fff;border:1px solid var(--border);border-radius:12px;padding:16px;transition:all .2s}.bucket-section:hover{border-color:var(--gray-300);box-shadow:0 4px 12px #0000000d}.bucket-section.must-do{border-left:3px solid #dc2626}.bucket-section.good-to-do{border-left:3px solid #d97706}.bucket-section.rare{border-left:3px solid #6b7280}.bucket-header{align-items:center;display:flex;gap:8px;margin-bottom:8px}.bucket-header h4{color:var(--gray-800);flex:1 1;font-size:14px;font-weight:600;margin:0}.bucket-section.must-do .bucket-header svg{color:#dc2626}.bucket-section.good-to-do .bucket-header svg{color:#d97706}.bucket-section.rare .bucket-header svg{color:#6b7280}.bucket-count{background:var(--gray-100);border-radius:10px;color:var(--gray-600);font-size:12px;font-weight:600;padding:2px 8px}.bucket-desc{color:var(--gray-500);font-size:11px;line-height:1.4;margin:0 0 12px}.bucket-questions{display:flex;flex-direction:column;gap:8px}.bucket-q-item{background:var(--gray-50);border:1px solid #0000;border-radius:8px;padding:10px 12px;transition:all .15s}.bucket-q-item:hover{background:#fff;border-color:var(--gray-200)}.q-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--gray-700);display:-webkit-box;font-size:12px;line-height:1.5;overflow:hidden;text-overflow:ellipsis}.q-meta{align-items:center;display:flex;gap:8px;margin-top:6px}.q-topic{background:var(--primary-light);border-radius:4px;color:var(--primary);font-size:10px;font-weight:500;padding:2px 6px}.q-repeat{color:var(--gray-500);font-size:10px;font-weight:600}.q-recent{background:#ecfdf5;border-radius:4px;color:#059669;font-size:10px;font-weight:500;padding:2px 6px}.bucket-empty{color:var(--gray-400);font-size:12px;padding:20px;text-align:center}.bucket-more{color:var(--gray-500);font-size:11px;padding:8px;text-align:center}.bucket-badge{align-items:center;border-radius:6px;display:inline-flex;font-size:11px;font-weight:600;gap:4px;padding:4px 10px}.trends-intro-text{color:var(--gray-600);font-size:13px;margin:0 0 16px}.trends-intro-text .rising{color:#10b981;font-weight:600}.trends-intro-text .falling{color:#ef4444;font-weight:600}.topic-trends-table{margin-top:16px}.topic-trends-table .table-head,.topic-trends-table .table-row{grid-gap:16px;align-items:center;display:grid;gap:16px;grid-template-columns:1fr 80px 140px 100px 100px;padding:12px 16px}.topic-trends-table .table-head{border-bottom:1px solid var(--border);color:var(--gray-500);font-size:11px;font-weight:600;text-transform:uppercase}.topic-trends-table .table-row{border-radius:6px;color:var(--gray-700);font-size:13px}.topic-trends-table .table-row:hover{background:var(--gray-50)}.topic-trends-table .col-name{color:var(--gray-800);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topic-trends-table .col-freq,.topic-trends-table .col-last,.topic-trends-table .col-weight{font-size:12px}.topic-trends-table .col-trend{text-align:right}@media (max-width:1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}.buckets-container,.chart-card-row,.mini-charts-row{grid-template-columns:1fr}.hot-topics-table .table-head,.hot-topics-table .table-row{grid-template-columns:32px 1fr 60px 60px 50px 150px}.topic-trends-table .table-head,.topic-trends-table .table-row{grid-template-columns:1fr 70px 100px 80px 90px}}@media (max-width:768px){.analytics-page{padding:16px}.analytics-tabs{-webkit-overflow-scrolling:touch;overflow-x:auto}.h-bar-item{grid-template-columns:100px 1fr 60px}.priorities-table .table-head,.priorities-table .table-row{grid-template-columns:1fr 60px 60px 70px}.priorities-table .col-diff,.priorities-table .col-pri{display:none}.donut-wrapper,.tagging-row{flex-direction:column}.hot-topics-table .table-head,.hot-topics-table .table-row{grid-template-columns:28px 1fr 50px 50px}.hot-topics-table .col-freq,.hot-topics-table .col-reasons{display:none}.topic-trends-table .table-head,.topic-trends-table .table-row{grid-template-columns:1fr 60px 80px}.topic-trends-table .col-freq,.topic-trends-table .col-last{display:none}}.practice-paper-page{margin:0 auto;max-width:900px;padding:24px}.practice-paper-page.error,.practice-paper-page.loading{align-items:center;color:var(--muted);display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:400px}.practice-paper-page.error svg{color:var(--amber-500)}.paper-header{border-bottom:1px solid var(--border);gap:24px;margin-bottom:24px;padding-bottom:24px}.back-btn,.paper-header{align-items:center;display:flex}.back-btn{background:none;border:1px solid var(--border);border-radius:var(--radius);color:var(--muted);cursor:pointer;gap:8px;padding:8px 12px;transition:all var(--transition-fast)}.back-btn:hover{background:var(--gray-50);color:var(--text)}.paper-info{flex:1 1}.paper-info h1{font-size:24px;gap:12px;margin:0 0 8px}.paper-info h1,.paper-meta{align-items:center;display:flex}.paper-meta{color:var(--muted);font-size:14px;gap:16px}.paper-meta span{align-items:center;display:flex;gap:6px}.mode-badge{border-radius:var(--radius-full);font-size:12px;font-weight:600;padding:4px 10px}.mode-badge.adaptive{background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff}.mode-badge.non_adaptive{background:linear-gradient(135deg,#06b6d4,#0891b2);color:#fff}.paper-actions{display:flex;gap:12px}.results-summary{grid-gap:16px;background:linear-gradient(135deg,var(--indigo-50),var(--purple-50));border:1px solid var(--indigo-200);border-radius:var(--radius-lg);display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:32px;padding:20px}.result-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:16px;text-align:center}.result-card.score .result-value{color:var(--primary);font-size:36px;font-weight:700}.result-card.marks .result-value{color:var(--text);font-size:24px;font-weight:600}.result-label{color:var(--muted);font-size:13px;margin-top:4px}.result-card.weak{text-align:left}.result-card.weak .result-label{color:var(--amber-600);font-weight:600;margin-bottom:8px}.result-list{display:flex;flex-wrap:wrap;gap:6px}.result-list span{background:var(--amber-100);border-radius:var(--radius-sm);color:var(--amber-700);font-size:12px;padding:4px 8px}.questions-container{display:flex;flex-direction:column;gap:16px}.question-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:border-color var(--transition-fast)}.question-card.correct{background:linear-gradient(90deg,#f0fdf4,#fff);border-color:var(--green-300)}.question-card.incorrect{background:linear-gradient(90deg,#fef2f2,#fff);border-color:var(--red-300)}.question-header{align-items:center;cursor:pointer;display:flex;gap:12px;padding:16px 20px;transition:background var(--transition-fast)}.question-header:hover{background:var(--gray-50)}.question-num{color:var(--primary);font-size:14px;font-weight:700;min-width:40px}.question-marks{color:var(--muted);flex:1 1;font-size:13px}.question-score{border-radius:var(--radius-full);font-size:14px;font-weight:600;padding:4px 12px}.question-score.pass{background:var(--green-100);color:var(--green-700)}.question-score.fail{background:var(--red-100);color:var(--red-700)}.question-content{padding:0 20px 20px}.question-text{color:var(--text);font-size:15px;line-height:1.7;margin-bottom:12px;white-space:pre-wrap}.question-topic{align-items:center;background:var(--gray-100);border-radius:var(--radius-full);color:var(--muted);display:inline-flex;font-size:12px;gap:6px;margin-bottom:16px;padding:4px 10px}.answer-input{margin-top:16px}.answer-input label{color:var(--text);display:block;font-size:13px;font-weight:600;margin-bottom:8px}.answer-input textarea{border:1px solid var(--border);border-radius:var(--radius);font-size:14px;line-height:1.6;min-height:100px;padding:12px 16px;resize:vertical;transition:border-color var(--transition-fast);width:100%}.answer-input textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--indigo-100);outline:none}.answer-review{display:flex;flex-direction:column;gap:12px;margin-top:16px}.correct-answer,.feedback,.your-answer{border-radius:var(--radius);padding:12px 16px}.your-answer{background:var(--gray-50);border-left:3px solid var(--gray-300)}.feedback{background:var(--blue-50);border-left:3px solid var(--blue-400)}.correct-answer{background:var(--green-50);border-left:3px solid var(--green-500)}.answer-review label{color:var(--muted);display:block;font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.answer-review p{color:var(--text);font-size:14px;line-height:1.6;margin:0}.show-answer-btn{align-items:center;align-self:flex-start;background:none;border:1px solid var(--border);border-radius:var(--radius);color:var(--muted);cursor:pointer;display:inline-flex;font-size:13px;gap:6px;padding:8px 12px;transition:all var(--transition-fast)}.show-answer-btn:hover{background:var(--gray-50);color:var(--text)}.bottom-actions{background:linear-gradient(0deg,#fff 80%,#0000);bottom:0;display:flex;justify-content:center;margin-top:24px;padding:20px;position:-webkit-sticky;position:sticky}.btn-lg{font-size:16px;padding:14px 32px}@media (max-width:768px){.paper-header{align-items:flex-start;flex-direction:column}.paper-actions{justify-content:stretch;width:100%}.paper-actions .btn{flex:1 1}.paper-meta{flex-wrap:wrap}}.unified-question-bank{margin:0 auto;max-width:1400px;padding:24px}.uqb-loading{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;gap:12px;justify-content:center;min-height:60vh}.uqb-loading .spin{animation:spin 1s linear infinite}.uqb-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px}.uqb-header .back-btn{background:var(--surface);border:1px solid var(--border);border-radius:10px;color:var(--text-secondary);cursor:pointer;padding:10px;transition:all .2s}.uqb-header .back-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.uqb-header-info{flex:1 1}.uqb-header-info h1{align-items:center;color:var(--text-primary);display:flex;font-size:1.5rem;font-weight:600;gap:10px;margin:0}.uqb-header-info p{color:var(--text-muted);font-size:.875rem;margin:4px 0 0}.uqb-view-toggle{background:var(--surface);border:1px solid var(--border);border-radius:10px;display:flex;gap:4px;padding:4px}.uqb-view-toggle .toggle-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s}.uqb-view-toggle .toggle-btn:hover{background:var(--surface-hover)}.uqb-view-toggle .toggle-btn.active{background:var(--primary);color:#fff}.uqb-stats-bar{background:var(--surface);border:1px solid var(--border);border-radius:12px;display:flex;gap:16px;margin-bottom:20px;overflow-x:auto;padding:16px 20px}.uqb-stat{align-items:center;display:flex;flex-direction:column;min-width:80px}.uqb-stat .stat-value{color:var(--text-primary);font-size:1.5rem;font-weight:700}.uqb-stat .stat-label{color:var(--text-muted);font-size:.75rem;letter-spacing:.5px;text-transform:uppercase}.uqb-filters{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.uqb-search{align-items:center;display:flex;position:relative}.uqb-search svg{color:var(--text-muted);left:14px;position:absolute}.uqb-search input{background:var(--surface);border:1px solid var(--border);border-radius:10px;color:var(--text-primary);font-size:.9375rem;padding:12px 40px 12px 44px;transition:all .2s;width:100%}.uqb-search input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a;outline:none}.uqb-search .clear-btn{background:var(--surface-hover);border:none;border-radius:50%;color:var(--text-muted);cursor:pointer;font-size:16px;height:24px;position:absolute;right:12px;width:24px}.uqb-filter-row{flex-wrap:wrap;gap:10px}.uqb-filter-row,.uqb-select{align-items:center;display:flex}.uqb-select{position:relative}.uqb-select svg{color:var(--text-muted);left:10px;pointer-events:none;position:absolute;z-index:1}.uqb-select select{-webkit-appearance:none;appearance:none;background:var(--surface);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;border:1px solid var(--border);border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:.875rem;min-width:140px;padding:10px 32px 10px 34px}.uqb-select select:focus{border-color:var(--primary);outline:none}.uqb-toggle-btn{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.875rem;gap:6px;padding:10px 14px;transition:all .2s}.uqb-toggle-btn:hover{background:var(--surface-hover)}.uqb-toggle-btn.active{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.uqb-clear-filters{background:#0000;border:none;color:var(--primary);cursor:pointer;font-size:.875rem;font-weight:500;padding:10px 14px}.uqb-clear-filters:hover{text-decoration:underline}.uqb-empty{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.uqb-empty svg{margin-bottom:16px;opacity:.4}.uqb-empty h3{color:var(--text-primary);font-size:1.125rem;margin:0 0 8px}.uqb-empty p{margin:0 0 16px;max-width:400px}.uqb-topic-tree{display:flex;flex-direction:column}.uqb-topic-node{border-left:2px solid var(--border);margin-left:8px}.uqb-topic-node[data-level=course],.uqb-topic-node[data-level=subject]{border-left:none;margin-left:0}.uqb-node-header{align-items:center;border-radius:8px;cursor:pointer;display:flex;gap:8px;padding:10px 12px;transition:background .15s}.uqb-node-header:hover{background:var(--surface-hover)}.uqb-node-header .expand-btn{align-items:center;background:#0000;border:none;color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;height:24px;justify-content:center;width:24px}.uqb-node-header .dot{color:var(--text-muted)}.uqb-node-header .level-badge{border-radius:4px;flex-shrink:0;font-size:.7rem;font-weight:600;letter-spacing:.5px;padding:2px 8px;text-transform:uppercase}.uqb-node-header .node-name{color:var(--text-primary);flex:1 1;font-size:.9375rem;font-weight:500}.uqb-node-header .node-stats{display:flex;gap:12px}.uqb-node-header .stat{align-items:center;color:var(--text-muted);display:flex;font-size:.8125rem;gap:4px}.uqb-node-content{padding-left:8px}.uqb-node-questions{display:flex;flex-direction:column;gap:8px;padding:8px 0}.uqb-paper-view{display:flex;flex-direction:column;gap:16px}.uqb-paper-section{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.uqb-paper-header{align-items:center;cursor:pointer;display:flex;gap:16px;padding:16px 20px;transition:background .15s}.uqb-paper-header:hover{background:var(--surface-hover)}.uqb-paper-header.expanded{border-bottom:1px solid var(--border)}.uqb-paper-icon{align-items:center;background:var(--primary-light);border-radius:10px;color:var(--primary);display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.uqb-paper-info{flex:1 1}.uqb-paper-info h3{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0 0 4px}.uqb-paper-meta{color:var(--text-muted);display:flex;font-size:.8125rem;gap:16px}.uqb-paper-meta span{align-items:center;display:flex;gap:4px}.uqb-paper-difficulty{display:flex;gap:6px}.uqb-paper-difficulty .diff-badge{border-radius:6px;font-size:.75rem;font-weight:500;padding:4px 8px}.uqb-paper-header .expand-toggle{background:#0000;border:none;color:var(--text-muted);cursor:pointer;padding:8px}.uqb-paper-questions{background:var(--background);display:flex;flex-direction:column;gap:10px;padding:12px 16px}.uqb-question-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;transition:all .2s}.uqb-question-card:hover{border-color:var(--border-hover)}.uqb-question-card.important{border-left:3px solid #f59e0b}.uqb-question-card.verified{border-left:3px solid #10b981}.uqb-question-card.important.verified{border-left:3px solid linear-gradient(#f59e0b,#10b981)}.uqb-question-header{align-items:center;background:var(--surface);cursor:pointer;display:flex;gap:12px;padding:12px 14px;transition:background .15s}.uqb-question-header:hover{background:var(--surface-hover)}.uqb-question-number{align-items:center;display:flex;gap:4px}.uqb-question-number .q-index{color:var(--primary);font-size:.875rem;font-weight:600}.uqb-question-number .q-original{color:var(--text-muted);font-size:.75rem}.uqb-question-badges{display:flex;flex:1 1;flex-wrap:wrap;gap:6px}.uqb-badge{align-items:center;border-radius:5px;display:inline-flex;font-size:.75rem;font-weight:500;gap:4px;padding:3px 8px}.uqb-badge.marks{background:#dbeafe;color:#2563eb}.uqb-badge.difficulty{font-weight:600}.uqb-badge.type{background:#f3e8ff;color:#7c3aed}.uqb-badge.important-badge{background:#fef3c7;color:#d97706}.uqb-question-actions-mini{display:flex;gap:4px}.action-btn-mini,.expand-toggle-mini{align-items:center;background:#0000;border:none;border-radius:6px;color:var(--text-muted);cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .15s;width:32px}.action-btn-mini:hover,.expand-toggle-mini:hover{background:var(--surface-hover);color:var(--text-primary)}.uqb-question-preview{color:var(--text-secondary);font-size:.9rem;line-height:1.5;padding:0 14px 8px}.uqb-question-preview mark{background:#fef08a;border-radius:2px;padding:0 2px}.uqb-question-ref{padding:0 14px 12px}.uqb-question-ref .paper-ref{align-items:center;color:var(--text-muted);display:inline-flex;font-size:.75rem;gap:4px}.uqb-question-expanded{background:var(--background);border-top:1px solid var(--border);padding:16px}.uqb-detail-section{margin-bottom:16px}.uqb-detail-section label{color:var(--text-muted);display:block;font-size:.75rem;font-weight:600;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.uqb-detail-section p{color:var(--text-primary);font-size:.9375rem;line-height:1.6;margin:0;white-space:pre-wrap}.uqb-detail-section.answer-section{background:#ecfdf5;border-left:3px solid #10b981;border-radius:8px;padding:12px 14px}.uqb-detail-section .topic-path{color:var(--text-secondary);font-size:.875rem}.uqb-no-answer{align-items:center;background:var(--surface);border-radius:8px;color:var(--text-muted);font-size:.875rem;padding:12px 14px}.uqb-metadata,.uqb-no-answer{display:flex;gap:8px;margin-bottom:16px}.uqb-metadata{flex-wrap:wrap}.uqb-metadata .meta-tag{align-items:center;background:var(--surface);border-radius:6px;color:var(--text-muted);display:inline-flex;font-size:.8125rem;gap:4px;padding:4px 10px}.uqb-actions{border-top:1px solid var(--border);display:flex;gap:10px;padding-top:12px}.uqb-action-btn{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.8125rem;font-weight:500;gap:6px;padding:8px 14px;transition:all .15s}.uqb-action-btn:hover{background:var(--surface-hover)}.uqb-action-btn.active{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}@media (max-width:768px){.unified-question-bank{padding:16px}.uqb-header{align-items:flex-start;flex-direction:column}.uqb-view-toggle{justify-content:center;width:100%}.uqb-stats-bar{justify-content:space-around}.uqb-filter-row{flex-direction:column}.uqb-select,.uqb-select select{width:100%}.uqb-toggle-btn{justify-content:center;width:100%}.uqb-paper-header{flex-wrap:wrap}.uqb-paper-difficulty{margin-top:8px;width:100%}}.admin-page{background:var(--bg);min-height:100vh}.admin-layout{display:grid;grid-template-columns:240px 1fr;margin:0 auto;max-width:1600px;min-height:calc(100vh - 56px)}.admin-sidebar{background:#fff;border-right:1px solid var(--border);height:calc(100vh - 56px);overflow-y:auto;padding:24px 0;position:-webkit-sticky;position:sticky;top:56px}.sidebar-item{align-items:center;background:#0000;border:none;border-left:3px solid #0000;color:var(--subtle-text);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;padding:12px 24px;text-align:left;transition:all .2s ease;width:100%}.sidebar-item:hover{background:var(--elevated);color:var(--text)}.sidebar-item.active{background:var(--primary-100);border-left-color:var(--primary);color:var(--primary)}.admin-content{overflow-y:auto;padding:40px}.section-header{margin-bottom:32px}.section-header h2{font-size:28px;font-weight:600;margin-bottom:8px}.section-subtitle{color:var(--subtle-text);font-size:16px}.stats-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.stat-card{align-items:center;background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-soft);display:flex;gap:16px;padding:24px}.stat-icon{flex-shrink:0;font-size:40px}.stat-content{flex:1 1}.stat-label{color:var(--muted);font-size:14px;margin-bottom:4px}.stat-value{color:var(--text);font-size:32px;font-weight:600}.users-table-wrapper{background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-soft);overflow:hidden}.admin-table{border-collapse:collapse;width:100%}.admin-table thead{background:var(--elevated)}.admin-table th{color:var(--subtle-text);font-size:13px;font-weight:600;letter-spacing:.5px;padding:16px;text-align:left;text-transform:uppercase}.admin-table tbody tr{border-bottom:1px solid var(--border);transition:background .2s ease}.admin-table tbody tr:hover{background:var(--elevated)}.admin-table tbody tr:last-child{border-bottom:none}.admin-table td{font-size:14px;padding:16px}.user-cell{gap:12px}.user-avatar,.user-cell{align-items:center;display:flex}.user-avatar{background:var(--primary-100);border-radius:50%;color:var(--primary);flex-shrink:0;font-size:16px;font-weight:600;height:40px;justify-content:center;width:40px}.user-name{margin-bottom:2px}.user-email{color:var(--muted);font-size:13px}.action-buttons{display:flex;gap:8px}.btn-icon{background:#0000;border:none;border-radius:6px;cursor:pointer;font-size:18px;padding:6px;transition:background .2s ease}.btn-icon:hover{background:var(--elevated)}.btn-icon.btn-danger:hover{background:#fee2e2}.badge-secondary{background:var(--elevated);color:var(--text)}.permissions-grid{grid-gap:24px;display:grid;gap:24px}.permission-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:24px}.permission-role{border-bottom:2px solid var(--border);font-size:20px;font-weight:600;margin-bottom:20px;padding-bottom:16px}.permission-table{border-collapse:collapse;width:100%}.permission-table thead{background:var(--elevated)}.permission-table th{color:var(--subtle-text);font-size:12px;font-weight:600;padding:12px;text-align:left;text-transform:uppercase}.permission-table th:first-child{text-align:left}.permission-table th:not(:first-child){text-align:center;width:80px}.permission-table td{border-bottom:1px solid var(--border);padding:12px}.permission-table tbody tr:last-child td{border-bottom:none}.permission-table td:not(:first-child){text-align:center}.feature-name{font-weight:500;text-transform:capitalize}.permission-table input[type=checkbox]{cursor:pointer;height:18px;width:18px}.permission-table input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}@media (max-width:1024px){.admin-layout{grid-template-columns:1fr}.admin-sidebar{border-bottom:1px solid var(--border);border-right:none;display:flex;height:auto;overflow-x:auto;position:static}.sidebar-item{border-bottom:3px solid #0000;border-left:none;white-space:nowrap}.sidebar-item.active{border-bottom-color:var(--primary);border-left:none}.admin-content{padding:24px}}@media (max-width:768px){.users-table-wrapper{overflow-x:auto}.admin-table{min-width:800px}.stats-grid{grid-template-columns:1fr}}:root{--indigo-50:#eef2ff;--indigo-100:#e0e7ff;--indigo-200:#c7d2fe;--indigo-600:#4f46e5;--indigo-700:#4338ca;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-900:#111827;--green-50:#f0fdf4;--green-100:#dcfce7;--green-600:#16a34a;--green-700:#15803d;--amber-50:#fffbeb;--amber-100:#fef3c7;--amber-200:#fde68a;--amber-500:#f59e0b;--amber-600:#d97706;--amber-700:#b45309;--red-50:#fef2f2;--red-100:#fee2e2;--red-200:#fecaca;--red-500:#ef4444;--red-600:#dc2626;--red-700:#b91c1c;--blue-50:#eff6ff;--blue-100:#dbeafe;--blue-600:#2563eb;--purple-50:#faf5ff;--purple-100:#f3e8ff;--purple-600:#9333ea;--bg:var(--gray-50);--surface:#fff;--elevated:var(--gray-100);--border:var(--gray-200);--border-soft:var(--gray-200);--muted:var(--gray-500);--text:var(--gray-700);--text-heading:var(--gray-900);--subtle-text:var(--gray-600);--primary:var(--indigo-600);--primary-hover:var(--indigo-700);--primary-light:var(--indigo-50);--primary-100:var(--indigo-100);--success:var(--green-600);--success-light:var(--green-50);--warning:var(--amber-600);--warning-light:var(--amber-50);--danger:var(--red-600);--danger-light:var(--red-50);--shadow-soft-xs:0 1px 2px #0000000a;--shadow-soft-sm:0 1px 3px #0000000f,0 1px 2px #0000000a;--shadow-soft-md:0 4px 6px -1px #0000000f,0 2px 4px -1px #0000000a;--shadow-soft-lg:0 10px 15px -3px #0000000f,0 4px 6px -2px #0000000a;--shadow-soft-xl:0 20px 25px -5px #00000014,0 10px 10px -5px #00000005;--radius-sm:4px;--radius:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--transition-fast:150ms ease;--transition-base:200ms ease;--transition-smooth:300ms ease-in-out}*{box-sizing:border-box;margin:0;padding:0}body{background:linear-gradient(to bottom right,#f9fafb,#fff,#f9fafb);background:linear-gradient(to bottom right,var(--gray-50),#fff,var(--gray-50));color:#374151;color:var(--text);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;min-height:100vh}h1,h2,h3,h4,h5,h6{color:#111827;color:var(--text-heading);font-weight:600;line-height:1.25}::selection{background:#e0e7ff;background:var(--indigo-100);color:#4338ca;color:var(--indigo-700)}.loading-screen{align-items:center;background:linear-gradient(to bottom right,#f9fafb,#fff,#f9fafb);background:linear-gradient(to bottom right,var(--gray-50),#fff,var(--gray-50));display:flex;flex-direction:column;height:100vh;justify-content:center}.spinner{animation:spin .8s linear infinite;border:3px solid #e5e7eb;border-top:3px solid #4f46e5;border:3px solid var(--gray-200);border-radius:50%;border-top-color:var(--primary);height:40px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.btn{align-items:center;border:none;border-radius:12px;border-radius:var(--radius-lg);cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:10px;justify-content:center;padding:12px 24px;text-decoration:none;transition:all .2s ease;transition:all var(--transition-base)}.btn:active{transform:scale(.98)}.btn-primary{background:#4f46e5;background:var(--primary);box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;box-shadow:var(--shadow-soft-sm);color:#fff}.btn-primary:hover{background:#4338ca;background:var(--primary-hover);box-shadow:0 4px 6px -1px #0000000f,0 2px 4px -1px #0000000a;box-shadow:var(--shadow-soft-md);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0) scale(.98)}.btn-secondary{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--border);box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;box-shadow:var(--shadow-soft-sm);color:#374151;color:var(--text)}.btn-secondary:hover{background:#f9fafb;background:var(--gray-50);border-color:#d1d5db;border-color:var(--gray-300)}.btn-ghost{background:#0000;color:#374151;color:var(--text)}.btn-ghost:hover{background:#f3f4f6;background:var(--gray-100)}.btn-danger{background:#fef2f2;background:var(--red-50);border:1px solid #fee2e2;border:1px solid var(--red-100);color:#dc2626;color:var(--danger)}.btn-danger:hover{background:#fee2e2;background:var(--red-100)}.btn:disabled{cursor:not-allowed;opacity:.6;transform:none!important}.btn-sm{font-size:13px;padding:8px 16px}.btn-icon{padding:10px}.btn-icon,.input{border-radius:12px;border-radius:var(--radius-lg)}.input{background:#f9fafb;background:var(--gray-50);border:1px solid #e5e7eb;border:1px solid var(--border);color:#111827;color:var(--text-heading);font-size:14px;height:44px;padding:0 16px;transition:all .2s ease;transition:all var(--transition-base);width:100%}.input:focus{background:#fff;border-color:#4f46e5;border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a;outline:none}.input::placeholder{color:#6b7280;color:var(--gray-500)}.textarea{background:#f9fafb;background:var(--gray-50);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-lg);color:#111827;color:var(--text-heading);font-family:inherit;font-size:14px;min-height:120px;padding:12px 16px;resize:vertical;transition:all .2s ease;transition:all var(--transition-base);width:100%}.textarea:focus{background:#fff;border-color:#4f46e5;border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a;outline:none}.card{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:16px;border-radius:var(--radius-xl);box-shadow:0 4px 6px -1px #0000000f,0 2px 4px -1px #0000000a;box-shadow:var(--shadow-soft-md);padding:24px;transition:all .3s ease-in-out;transition:all var(--transition-smooth)}.card-hover:hover{border-color:#d1d5db;border-color:var(--gray-300);box-shadow:0 10px 15px -3px #0000000f,0 4px 6px -2px #0000000a;box-shadow:var(--shadow-soft-lg);transform:translateY(-2px)}.badge{align-items:center;border-radius:6px;display:inline-flex;font-size:12px;font-weight:500;padding:4px 10px}.badge-primary{background:#e0e7ff;background:var(--indigo-100);color:#4338ca;color:var(--indigo-700)}.badge-success{background:#dcfce7;background:var(--green-100);color:#15803d;color:var(--green-700)}.badge-warning{background:#fef3c7;background:var(--amber-100);color:#b45309;color:var(--amber-700)}.badge-danger{background:#fee2e2;background:var(--red-100);color:#b91c1c;color:var(--red-700)}.badge-neutral{background:#f3f4f6;background:var(--gray-100);color:#374151;color:var(--gray-700)}.nav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffc;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border);height:56px;position:-webkit-sticky;position:sticky;top:0;z-index:40}.nav-inner{height:100%;justify-content:space-between;margin:0 auto;max-width:1280px;padding:0 24px}.nav-actions,.nav-inner{align-items:center;display:flex}.nav-actions{gap:16px}.user-name{color:#374151;color:var(--text);font-size:14px;font-weight:500}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideIn{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}.animate-fadeIn{animation:fadeIn .3s ease-out forwards}.animate-fadeInUp{animation:fadeInUp .4s ease-out forwards}.animate-scaleIn{animation:scaleIn .2s ease-out forwards}.animate-slideIn{animation:slideIn .3s ease-out forwards}.stagger-1{animation-delay:50ms}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.transition-smooth{transition:all .3s ease-in-out;transition:all var(--transition-smooth)}.transition-smooth-fast{transition:all .2s ease;transition:all var(--transition-base)}.skeleton{animation:skeleton-loading 1.5s infinite;background:linear-gradient(90deg,#f3f4f6 25%,#f9fafb 50%,#f3f4f6 75%);background:linear-gradient(90deg,var(--gray-100) 25%,var(--gray-50) 50%,var(--gray-100) 75%);background-size:200% 100%;border-radius:8px;border-radius:var(--radius)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.focus-ring:focus-visible{box-shadow:0 0 0 3px #4f46e533;outline:none}.spin{animation:spin 1s linear infinite}.w-full{width:100%}
/*# sourceMappingURL=main.313eda36.css.map*/