@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";
@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.8e0177b5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.b97b3418.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.853070df.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist","Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.c1fdd6c2.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.799d8ef8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.dbea232f.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}
:root{--bg-primary:#fafafa;--bg-secondary:#fff;--bg-tertiary:#f2f2f7;--text-primary:#1d1d1f;--text-secondary:#6e6e73;--text-tertiary:#aeaeb2;--accent-color:#0071e3;--accent-hover:#0077ed;--accent-light:#0071e314;--accent-gradient:linear-gradient(135deg,#0071e3 0%,#5856d6 100%);--success-color:#34c759;--warning-color:#ff9500;--danger-color:#ff3b30;--border-color:#00000014;--bg-overlay:#fafafae0;--glass-bg:#ffffffb8;--glass-border:#ffffff80;--glass-shadow:0 8px 32px #0000000f;--radius-xs:6px;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--radius-xl:32px;--radius-pill:980px;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 2px 8px #0000000a;--shadow-md:0 4px 16px #0000000f,0 1px 4px #0000000a;--shadow-lg:0 12px 40px #00000014,0 4px 12px #0000000a;--shadow-xl:0 24px 64px #0000001f;--spacing-xs:.5rem;--spacing-sm:1rem;--spacing-md:1.5rem;--spacing-lg:2.5rem;--spacing-xl:4rem;--spacing-2xl:6rem;--spacing-3xl:8rem;--font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}@media (prefers-color-scheme:dark){:root{--bg-primary:#000;--bg-secondary:#1c1c1e;--bg-tertiary:#2c2c2e;--text-primary:#f5f5f7;--text-secondary:#98989d;--text-tertiary:#636366;--accent-color:#2997ff;--accent-hover:#147ce5;--accent-light:#2997ff1a;--accent-gradient:linear-gradient(135deg,#2997ff 0%,#af52de 100%);--border-color:#ffffff1a;--bg-overlay:#000000d1;--glass-bg:#1c1c1eb8;--glass-border:#ffffff14;--glass-shadow:0 8px 32px #0000004d}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes gradientShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes countUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up{animation:.7s cubic-bezier(.16,1,.3,1) both fadeInUp}.animate-fade-in{animation:.6s both fadeIn}.animate-scale-in{animation:.5s cubic-bezier(.16,1,.3,1) both scaleIn}.animate-slide-left{animation:.6s cubic-bezier(.16,1,.3,1) both slideInLeft}.animate-slide-right{animation:.6s cubic-bezier(.16,1,.3,1) both slideInRight}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.3s}.delay-4{animation-delay:.4s}.delay-5{animation-delay:.5s}.delay-6{animation-delay:.6s}.delay-7{animation-delay:.7s}.delay-8{animation-delay:.8s}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}html,body{font-family:var(--font-family);background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none;transition:color .2s,opacity .2s}button,input,textarea,select{border:none;outline:none;font-family:inherit}img{max-width:100%;display:block}.container{max-width:1200px;padding:0 var(--spacing-md);margin:0 auto}.container-sm{max-width:480px;padding:0 var(--spacing-md);margin:0 auto}.main-content{flex-direction:column;min-height:100vh;display:flex}.navbar{width:100%;padding:0 var(--spacing-lg);background:var(--glass-bg);-webkit-backdrop-filter:saturate(180%)blur(20px);border-bottom:1px solid var(--border-color);z-index:1000;justify-content:space-between;align-items:center;height:64px;animation:.5s both fadeInDown;display:flex;position:fixed;top:0}.nav-logo a,.nav-logo{letter-spacing:-.03em;background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.25rem;font-weight:700}.nav-links{align-items:center;gap:var(--spacing-md);font-size:.9rem;font-weight:500;display:flex}.nav-links a:not(.btn){padding:4px 0;position:relative}.nav-links a:after{content:"";background:var(--accent-gradient);border-radius:1px;width:0;height:2px;transition:width .3s cubic-bezier(.16,1,.3,1);position:absolute;bottom:-2px;left:0}.nav-links a:hover:after{width:100%}.nav-links a:hover{color:var(--accent-color)}.heading-xl{letter-spacing:-.04em;margin-bottom:var(--spacing-sm);font-size:clamp(2.8rem,6vw,5rem);font-weight:800;line-height:1.05}.heading-lg{letter-spacing:-.03em;margin-bottom:var(--spacing-sm);font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:700;line-height:1.15}.heading-md{letter-spacing:-.02em;font-size:clamp(1.2rem,2vw,1.6rem);font-weight:600;line-height:1.3}.text-lead{color:var(--text-secondary);max-width:640px;margin:0 auto var(--spacing-lg);font-size:clamp(1.05rem,1.8vw,1.35rem);font-weight:400;line-height:1.7}.gradient-text{background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.btn{border-radius:var(--radius-pill);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:12px 28px;font-size:.95rem;font-weight:600;transition:all .25s cubic-bezier(.16,1,.3,1);display:inline-flex;position:relative;overflow:hidden}.btn:after{content:"";background:#fff0;transition:background .25s;position:absolute;inset:0}.btn:active:after{background:#00000014}.btn-primary{background:var(--accent-gradient);-webkit-text-fill-color:white;color:#fff;background-size:200% 200%;-webkit-background-clip:padding-box;background-clip:padding-box;box-shadow:0 4px 14px #0071e359}.nav-links .btn:after{display:none}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0071e373}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);box-shadow:var(--shadow-xs)}.btn-secondary:hover{background:var(--bg-tertiary);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-secondary:active{transform:translateY(0)}.btn-ghost{color:var(--accent-color);background:0 0;padding:8px 16px}.btn-ghost:hover{background:var(--accent-light)}.btn-lg{padding:16px 36px;font-size:1.05rem}.btn-sm{padding:8px 18px;font-size:.85rem}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.card{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s;position:relative;overflow:hidden}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-6px)}.card-glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--glass-shadow);transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s}.card-glass:hover{transform:translateY(-4px)}.badge{border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:4px;padding:4px 12px;font-size:.75rem;font-weight:600;display:inline-flex}.badge-accent{background:var(--accent-light);color:var(--accent-color)}.badge-success{color:var(--success-color);background:#34c7591a}.badge-warning{color:var(--warning-color);background:#ff95001a}.form-group{margin-bottom:var(--spacing-md);flex-direction:column;gap:6px;display:flex}.form-label{color:var(--text-secondary);letter-spacing:.01em;font-size:.85rem;font-weight:600}.form-input{border-radius:var(--radius-sm);border:1.5px solid var(--border-color);background-color:var(--bg-primary);width:100%;color:var(--text-primary);padding:14px 16px;font-size:.95rem;transition:all .25s}.form-input:focus{border-color:var(--accent-color);box-shadow:0 0 0 4px var(--accent-light)}.form-input::placeholder{color:var(--text-tertiary)}.section{padding:var(--spacing-3xl)0}.section-header{text-align:center;max-width:700px;margin:0 auto var(--spacing-xl)}.section-header .badge{margin-bottom:var(--spacing-sm)}.section-header p{color:var(--text-secondary);font-size:1.1rem;line-height:1.7}.hero-section{text-align:center;padding:140px var(--spacing-md)var(--spacing-3xl);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative}.hero-section .badge{margin-bottom:var(--spacing-md);animation:.6s cubic-bezier(.16,1,.3,1) both fadeInUp}.hero-section .heading-xl{animation:.7s cubic-bezier(.16,1,.3,1) .1s both fadeInUp}.hero-section .text-lead{animation:.7s cubic-bezier(.16,1,.3,1) .2s both fadeInUp}.hero-actions{gap:var(--spacing-sm);margin-top:var(--spacing-sm);flex-wrap:wrap;justify-content:center;animation:.7s cubic-bezier(.16,1,.3,1) .35s both fadeInUp;display:flex}.hero-stats{gap:var(--spacing-xl);margin-top:var(--spacing-2xl);animation:.8s cubic-bezier(.16,1,.3,1) .5s both fadeInUp;display:flex}.hero-stat{text-align:center}.hero-stat-number{letter-spacing:-.03em;background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:2.5rem;font-weight:800}.hero-stat-label{color:var(--text-secondary);margin-top:2px;font-size:.85rem;font-weight:500}.feature-grid{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));display:grid}.feature-card{padding:var(--spacing-xl)var(--spacing-lg)}.feature-icon{border-radius:var(--radius-md);width:56px;height:56px;margin-bottom:var(--spacing-md);background:var(--accent-light);color:var(--accent-color);justify-content:center;align-items:center;font-size:1.5rem;transition:transform .3s;display:flex}.feature-card:hover .feature-icon{transform:scale(1.1)rotate(-3deg)}.feature-card h3{letter-spacing:-.01em;margin-bottom:8px;font-size:1.25rem;font-weight:700}.feature-card p{color:var(--text-secondary);font-size:.95rem;line-height:1.65}.testimonial-grid{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.testimonial-card{padding:var(--spacing-lg)}.testimonial-card blockquote{color:var(--text-secondary);margin-bottom:var(--spacing-md);font-size:1rem;font-style:italic;line-height:1.7}.testimonial-author{align-items:center;gap:12px;display:flex}.testimonial-avatar{background:var(--accent-gradient);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1rem;font-weight:700;display:flex}.testimonial-author-info strong{font-size:.95rem;display:block}.testimonial-author-info span{color:var(--text-tertiary);font-size:.8rem}.cta-section{text-align:center;padding:var(--spacing-3xl)var(--spacing-md);background:var(--accent-gradient);border-radius:var(--radius-xl);margin:0 var(--spacing-md)var(--spacing-3xl);color:#fff;background-size:400% 400%;animation:8s infinite gradientShift}.cta-section h2{letter-spacing:-.03em;margin-bottom:var(--spacing-sm);font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:700}.cta-section p{opacity:.9;max-width:500px;margin:0 auto var(--spacing-lg);font-size:1.1rem}.cta-section .btn{color:#0071e3;background:#fff;box-shadow:0 4px 14px #0003}.cta-section .btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000040}.footer{padding:var(--spacing-xl)var(--spacing-lg);text-align:center;border-top:1px solid var(--border-color);color:var(--text-tertiary);margin-top:auto;font-size:.85rem}.footer-links{gap:var(--spacing-lg);margin-bottom:var(--spacing-md);flex-wrap:wrap;justify-content:center;display:flex}.footer-links a{color:var(--text-secondary);font-weight:500;transition:color .2s}.footer-links a:hover{color:var(--accent-color)}.content-grid{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.content-grid-books{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.course-card{border-radius:var(--radius-lg);padding:0;overflow:hidden}.course-card-image{background:var(--accent-gradient);color:#fff9;background-size:200% 200%;justify-content:center;align-items:center;height:180px;display:flex;position:relative;overflow:hidden}.course-card-image img{object-fit:cover;width:100%;height:100%}.course-card-body{padding:var(--spacing-md)var(--spacing-lg)var(--spacing-lg)}.course-card-body h3{letter-spacing:-.01em;margin-bottom:6px;font-size:1.1rem;font-weight:700}.course-card-body p{color:var(--text-secondary);margin-bottom:var(--spacing-md);font-size:.88rem;line-height:1.6}.course-card-meta{align-items:center;gap:var(--spacing-sm);color:var(--text-tertiary);margin-bottom:var(--spacing-md);font-size:.8rem;display:flex}.topic-card{border:1px solid var(--border-color);padding:14px 18px;transition:all .15s}.topic-card:hover{border-color:var(--accent-color);background:var(--bg-tertiary);transform:translateY(-1px);box-shadow:0 2px 12px #6366f114}.lesson-item:hover{background:var(--bg-tertiary)}.subtopic-notes-content h1,.subtopic-notes-content h2,.subtopic-notes-content h3{color:var(--text-primary);margin-top:1.2em;margin-bottom:.4em}.subtopic-notes-content p{margin-bottom:.8em}.subtopic-notes-content ul,.subtopic-notes-content ol{margin-bottom:.8em;padding-left:1.5em}.subtopic-notes-content code{background:var(--bg-tertiary);border-radius:4px;padding:2px 6px;font-size:.88em}.subtopic-notes-content pre{background:var(--bg-tertiary);border-radius:10px;margin-bottom:1em;padding:14px 18px;overflow-x:auto}.subtopic-notes-content pre code{background:0 0;padding:0}.video-player-container{aspect-ratio:16/9;border:1px solid var(--border-color);background:#000;border-radius:16px;width:100%;margin-bottom:16px;position:relative;overflow:hidden;box-shadow:0 4px 24px #0000001f}.subtopic-tab-bar{border-bottom:1px solid var(--border-color);scrollbar-width:none;gap:6px;margin-bottom:4px;padding:10px 0;display:flex;overflow-x:auto}.subtopic-tab-bar::-webkit-scrollbar{display:none}.subtopic-tab{background:var(--bg-tertiary);color:var(--text-tertiary);cursor:pointer;white-space:nowrap;border:none;border-radius:10px;flex-shrink:0;align-items:center;gap:6px;padding:8px 16px;font-size:.85rem;font-weight:500;transition:all .15s;display:flex}.subtopic-tab.active{background:var(--accent-color);color:#fff;font-weight:600}.tutor-chat-container{flex-direction:column;min-height:400px;max-height:60vh;display:flex}.tutor-chat-messages{flex-direction:column;flex:1;gap:16px;padding:16px 0;display:flex;overflow-y:auto}.chat-bubble{align-items:flex-end;gap:10px;display:flex}.chat-bubble.user{justify-content:flex-end}.chat-bubble.ai{justify-content:flex-start}.chat-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.chat-avatar.ai{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2)}.chat-avatar.user{background:var(--accent-color);color:#fff}.chat-bubble-content{flex-direction:column;gap:4px;max-width:75%;display:flex}.chat-label{color:var(--text-tertiary);font-size:.72rem;font-weight:500}.chat-text{border-radius:16px;padding:12px 16px;font-size:.9rem;line-height:1.6}.chat-text.user{background:var(--accent-color);color:#fff;border-bottom-right-radius:4px}.chat-text.ai{background:var(--bg-tertiary);color:var(--text-primary);word-break:break-word;overflow-wrap:anywhere;border-bottom-left-radius:4px}.chat-text.ai p{margin-bottom:.5em}.chat-text.ai p:last-child{margin-bottom:0}.chat-text.ai .katex-display{padding:4px 0;overflow:auto hidden}.chat-text.ai .katex-display>.katex{white-space:nowrap}.typing-dots{gap:4px;padding:4px 0;display:flex}.typing-dots span{background:var(--text-tertiary);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite typingBounce}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.tutor-input-area{border-top:1px solid var(--border-color);align-items:center;gap:10px;margin-top:8px;padding:12px 0 4px;display:flex}.suggestion-chip{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;border-radius:20px;padding:8px 16px;font-size:.82rem;transition:all .15s}.suggestion-chip:hover{background:var(--accent-light);border-color:var(--accent-color);color:var(--accent-color)}.pdf-card{border:1px solid var(--border-color);padding:0;transition:all .15s}.pdf-card:hover{border-color:var(--accent-color);transform:translateY(-1px);box-shadow:0 2px 12px #6366f114}.tutorial-card{border:1px solid var(--border-color);padding:0;transition:all .15s}.tutorial-card:hover{border-color:var(--accent-color);transform:translateY(-1px);box-shadow:0 2px 12px #6366f114}.book-card{border-radius:var(--radius-lg);padding:0;overflow:hidden}.book-card-cover{background:linear-gradient(135deg,var(--bg-tertiary),var(--border-color));height:260px;color:var(--text-tertiary);justify-content:center;align-items:center;display:flex;overflow:hidden}.book-card-cover img{object-fit:cover;width:100%;height:100%}.book-card-body{padding:var(--spacing-md)var(--spacing-md)var(--spacing-lg)}.book-card-body h3{letter-spacing:-.01em;margin-bottom:4px;font-size:1rem;font-weight:700}.book-card-body p{color:var(--text-secondary);margin-bottom:var(--spacing-md);font-size:.82rem}.notification-item{gap:var(--spacing-md);padding:var(--spacing-lg);border-radius:var(--radius-lg);background:var(--bg-secondary);border:1px solid var(--border-color);align-items:flex-start;transition:all .25s;display:flex}.notification-item:hover{border-color:var(--accent-color);box-shadow:var(--shadow-md)}.notification-icon{border-radius:var(--radius-sm);background:var(--accent-light);width:48px;min-width:48px;height:48px;color:var(--accent-color);justify-content:center;align-items:center;display:flex}.notification-content h3{margin-bottom:4px;font-size:1rem;font-weight:600}.notification-content p{color:var(--text-secondary);font-size:.9rem;line-height:1.55}.empty-state{text-align:center;padding:var(--spacing-3xl)var(--spacing-lg);animation:.6s both fadeInUp}.empty-state-icon{width:80px;height:80px;margin:0 auto var(--spacing-md);background:var(--bg-tertiary);color:var(--text-tertiary);border-radius:50%;justify-content:center;align-items:center;display:flex}.empty-state h3{margin-bottom:8px;font-size:1.3rem;font-weight:700}.empty-state p{color:var(--text-secondary);max-width:400px;margin:0 auto;font-size:.95rem}.auth-wrapper{min-height:100vh;padding:var(--spacing-md);justify-content:center;align-items:center;display:flex}.auth-card{width:100%;max-width:420px;padding:var(--spacing-xl);animation:.5s cubic-bezier(.16,1,.3,1) both scaleIn}.auth-card h1{text-align:center;letter-spacing:-.03em;margin-bottom:4px;font-size:1.8rem;font-weight:800}.auth-card .auth-subtitle{text-align:center;color:var(--text-secondary);margin-bottom:var(--spacing-xl);font-size:.95rem}.auth-divider{align-items:center;gap:var(--spacing-sm);margin:var(--spacing-lg)0;color:var(--text-tertiary);font-size:.8rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border-color);flex:1;height:1px}.auth-footer{text-align:center;margin-top:var(--spacing-lg);color:var(--text-secondary);font-size:.9rem}.auth-footer a{color:var(--accent-color);font-weight:600}.auth-footer a:hover{text-decoration:underline}.auth-error{color:var(--danger-color);margin-top:4px;font-size:.85rem;animation:.3s fadeIn}.katex-display{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);border-radius:10px;margin:16px 0;padding:16px 20px;overflow:auto hidden}.katex-display .katex{color:var(--text-primary)!important}.katex-display>.katex{font-size:1.15em}.katex{font-size:1.05em;color:inherit!important}.katex-error{color:var(--danger-color);font-family:var(--font-geist-mono);background:#ff3b3014;border-radius:4px;padding:2px 6px;font-size:.88em}.ai-code-block{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:10px;margin:10px 0;font-size:.85rem;line-height:1.55;overflow-x:auto}.ai-code-header{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-color);padding:6px 16px;font-size:.75rem;font-weight:600}.ai-code-block code{white-space:pre;font-family:var(--font-geist-mono);padding:14px 16px;display:block}.ai-inline-code{background:var(--bg-tertiary);border:1px solid var(--border-color);font-size:.88em;font-family:var(--font-geist-mono);border-radius:5px;padding:2px 6px}.ai-heading{letter-spacing:-.02em;margin:16px 0 8px;font-weight:700}.ai-ul,.ai-ol{margin:8px 0;padding-left:20px}.ai-li,.ai-li-num{margin:4px 0;line-height:1.6}.math-keyboard{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:14px;animation:.2s fadeIn;overflow:hidden}.attachment-preview-strip{scrollbar-width:none;gap:8px;padding:8px 4px;display:flex;overflow-x:auto}.attachment-preview-strip::-webkit-scrollbar{display:none}.attachment-preview-item{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:10px;flex-shrink:0;position:relative;overflow:hidden}.attachment-preview-img{object-fit:cover;width:64px;height:64px;display:block}.attachment-preview-file{width:120px;height:64px;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:6px;display:flex}.attachment-preview-name{color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;text-align:center;max-width:100%;font-size:.65rem;overflow:hidden}.attachment-remove-btn{color:#fff;cursor:pointer;opacity:0;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;padding:0;transition:opacity .15s;display:flex;position:absolute;top:3px;right:3px}.attachment-preview-item:hover .attachment-remove-btn{opacity:1}.math-keyboard-preview{border-bottom:1px solid var(--border-color);background:var(--bg-tertiary);justify-content:center;align-items:center;min-height:52px;padding:14px 18px;display:flex;overflow-x:auto}.math-keyboard-preview .katex-display{background:0 0;border:none;margin:0;padding:0}.math-keyboard-placeholder{color:var(--text-tertiary);font-size:.82rem;font-weight:500}.math-keyboard-tabs{scrollbar-width:none;-ms-overflow-style:none;gap:2px;padding:8px 8px 0;display:flex;overflow-x:auto}.math-keyboard-tabs::-webkit-scrollbar{display:none}.math-keyboard-tab{color:var(--text-tertiary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;padding:6px 12px;font-size:.75rem;font-weight:600;transition:all .15s}.math-keyboard-tab:hover{color:var(--text-primary);background:var(--bg-tertiary)}.math-keyboard-tab.active{color:var(--accent-color);background:var(--accent-light)}.math-keyboard-grid{grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:4px;max-height:160px;padding:8px;display:grid;overflow-y:auto}.math-keyboard-key{border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;justify-content:center;align-items:center;min-height:38px;padding:8px 4px;font-size:.88rem;font-weight:500;transition:all .12s;display:flex}.math-keyboard-key:hover{background:var(--accent-light);border-color:var(--accent-color);color:var(--accent-color);transform:scale(1.05)}.math-keyboard-key:active{transform:scale(.95)}.math-keyboard-key.template{border-style:dashed;position:relative}.math-keyboard-key.template:after{content:"";background:var(--accent-color);border-radius:50%;width:5px;height:5px;position:absolute;top:4px;right:4px}.math-template-form{padding:12px}.math-template-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.math-template-title{color:var(--text-primary);font-size:.82rem;font-weight:700}.math-template-preview{font-size:1rem}.math-template-fields{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.math-template-field{flex:1;min-width:100px}.math-template-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px;font-size:.72rem;font-weight:600;display:block}.math-template-input{border:1px solid var(--border-color);background:var(--bg-primary);width:100%;color:var(--text-primary);border-radius:8px;outline:none;padding:8px 10px;font-family:inherit;font-size:.88rem;transition:border-color .15s}.math-template-input:focus{border-color:var(--accent-color)}.math-template-actions{justify-content:flex-end;gap:8px;display:flex}.math-template-cancel{border:1px solid var(--border-color);color:var(--text-tertiary);cursor:pointer;background:0 0;border-radius:8px;padding:6px 14px;font-size:.78rem;font-weight:600}.math-template-confirm{background:var(--accent-color);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:6px 14px;font-size:.78rem;font-weight:700;transition:opacity .15s}.math-template-confirm:hover{opacity:.9}.dashboard-layout{height:100vh;display:flex;overflow:hidden}.sidebar{background:var(--bg-secondary);border-right:1px solid var(--border-color);width:260px;min-width:260px;padding:var(--spacing-lg)var(--spacing-sm);flex-direction:column;animation:.4s cubic-bezier(.16,1,.3,1) both slideInLeft;display:flex;overflow-y:auto}.sidebar-nav{margin-top:var(--spacing-lg);flex-direction:column;flex:1;gap:4px;display:flex}.sidebar-link{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:12px;width:100%;padding:11px 16px;font-size:.92rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.sidebar-link:hover{background:var(--accent-light);color:var(--text-primary)}.sidebar-link.active{background:var(--accent-light);color:var(--accent-color);font-weight:600}.sidebar-link.danger{color:var(--danger-color)}.sidebar-link.danger:hover{background:#ff3b3014}.sidebar-footer{border-top:1px solid var(--border-color);padding-top:var(--spacing-sm);flex-direction:column;gap:4px;display:flex}.dashboard-main{padding:var(--spacing-xl)var(--spacing-xl);flex:1;height:100vh;animation:.5s both fadeIn;overflow-y:auto}.stats-grid{gap:var(--spacing-md);margin-bottom:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.stat-card{padding:var(--spacing-lg);border-radius:var(--radius-lg);background:var(--bg-secondary);border:1px solid var(--border-color);transition:all .3s}.stat-card:hover{border-color:var(--accent-color);box-shadow:var(--shadow-md)}.stat-card-label{color:var(--text-secondary);align-items:center;gap:8px;margin-bottom:8px;font-size:.85rem;font-weight:600;display:flex}.stat-card-value{letter-spacing:-.03em;font-size:2.2rem;font-weight:800;animation:.8s cubic-bezier(.16,1,.3,1) both countUp}.stat-card-footer{color:var(--text-tertiary);margin-top:6px;font-size:.82rem}.stat-card-footer a{color:var(--accent-color);font-weight:600}.danger-zone{border-radius:var(--radius-lg);padding:var(--spacing-lg);background:var(--bg-secondary);border:1.5px solid #ff3b3033}.danger-zone-header{color:var(--danger-color);margin-bottom:var(--spacing-md);align-items:center;gap:10px;display:flex}.danger-zone-header h3{font-size:1.1rem;font-weight:700}.page-header{margin-bottom:var(--spacing-xl);animation:.5s both fadeInUp}.page-header h1{letter-spacing:-.03em;margin-bottom:6px;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800}.page-header p{color:var(--text-secondary);font-size:1rem}.document-section{max-width:800px;margin:100px auto var(--spacing-xl);padding:var(--spacing-xl);background:var(--bg-secondary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);border:1px solid var(--border-color);animation:.6s both fadeInUp}.document-section h1{margin-bottom:var(--spacing-lg);border-bottom:1px solid var(--border-color);padding-bottom:var(--spacing-sm)}.document-section h2{margin-top:var(--spacing-lg);margin-bottom:var(--spacing-xs);font-weight:700}.document-section p{color:var(--text-secondary);margin-bottom:var(--spacing-sm);line-height:1.75}.skeleton{background:linear-gradient(90deg,var(--bg-tertiary)25%,var(--border-color)50%,var(--bg-tertiary)75%);border-radius:var(--radius-sm);background-size:2000px 100%;animation:2s linear infinite shimmer}.skeleton-card{border-radius:var(--radius-lg);height:300px}.skeleton-text{height:16px;margin-bottom:8px}.skeleton-text-sm{width:60%;height:12px;margin-bottom:8px}.ask-ai-container{flex-direction:column;height:calc(100vh - 80px);margin:0 -24px -24px;display:flex;overflow:hidden}.mobile-menu-toggle,.mobile-overlay,.mobile-sidebar{display:none}@media (max-width:768px){.hero-stats{gap:var(--spacing-lg)}.hero-stat-number{font-size:1.8rem}.feature-grid,.testimonial-grid,.content-grid{grid-template-columns:1fr}.content-grid-books{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.cta-section{margin:0 var(--spacing-xs)var(--spacing-xl);padding:var(--spacing-xl)var(--spacing-md)}.navbar{padding:0 var(--spacing-sm)}.dashboard-main{padding:68px var(--spacing-sm)var(--spacing-md);height:100vh}.stats-grid{gap:var(--spacing-xs);grid-template-columns:1fr 1fr}.stat-card{padding:var(--spacing-sm);border-radius:var(--radius-md)}.stat-card-value{font-size:1.6rem}.stat-card-label{font-size:.8rem}.page-header{margin-bottom:var(--spacing-md)}.page-header h1{font-size:1.5rem}.card:hover,.card-glass:hover{transform:none}.document-section{margin:80px var(--spacing-xs)var(--spacing-md);padding:var(--spacing-md);border-radius:var(--radius-md)}.ask-ai-container{margin:0 calc(-1*var(--spacing-sm))calc(-1*var(--spacing-sm))calc(-1*var(--spacing-sm));height:calc(100vh - 56px)}.danger-zone{padding:var(--spacing-sm)}.sidebar{display:none!important}.dashboard-main{padding:72px var(--spacing-sm)var(--spacing-xl)!important}.mobile-header{background:var(--glass-bg);-webkit-backdrop-filter:saturate(180%)blur(20px);border-bottom:1px solid var(--border-color);height:60px;padding:0 var(--spacing-md);z-index:1000;justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.mobile-header-left,.mobile-header-right{align-items:center;display:flex}.mobile-back-btn{color:var(--text-primary);background:var(--bg-secondary);border-radius:var(--radius-full);border:1px solid var(--border-color);align-items:center;gap:8px;padding:6px 14px;font-size:.9rem;font-weight:600;text-decoration:none;display:flex}.mobile-avatar-sm{background:var(--accent-gradient);color:#fff;border:2px solid var(--border-color);border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:.9rem;font-weight:700;display:flex;box-shadow:0 2px 8px #0000001a}.mobile-profile-trigger{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;padding:0}.mobile-profile-popover{top:65px;right:var(--spacing-md);width:200px;padding:var(--spacing-sm);z-index:1002;background:var(--glass-bg);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);transform-origin:100% 0;animation:.2s cubic-bezier(.16,1,.3,1) scaleIn;position:absolute}.popover-user-info{flex-direction:column;padding:8px 12px;display:flex}.popover-user-info strong{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;overflow:hidden}.popover-user-info span{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.popover-divider{background:var(--border-color);height:1px;margin:4px 8px}.mobile-profile-popover a,.mobile-profile-popover button{text-align:left;width:100%;color:var(--text-primary);border-radius:var(--radius-sm);background:0 0;border:none;padding:10px 12px;font-size:.9rem;font-weight:500;text-decoration:none;transition:background .15s;display:block}.mobile-profile-popover a:active,.mobile-profile-popover button:active{background:var(--bg-tertiary)}.mobile-profile-popover button.danger{color:var(--danger-color)}.popover-overlay{z-index:1001;background:0 0;position:fixed;inset:0}.mobile-hub-grid{gap:var(--spacing-sm);grid-template-columns:1fr 1fr;display:grid}.hub-card{padding:var(--spacing-md);text-align:center;border-radius:var(--radius-lg);background:var(--glass-bg);border:1px solid var(--border-color);flex-direction:column;align-items:center;text-decoration:none;transition:transform .2s;display:flex}.hub-card:active{background:var(--bg-tertiary);transform:scale(.97)}.hub-card-icon{width:44px;height:44px;margin-bottom:var(--spacing-sm);border-radius:12px;justify-content:center;align-items:center;display:flex;box-shadow:0 4px 12px #0000000d}.hub-card-icon.ai{color:var(--accent-color);background:#007aff1a}.hub-card-icon.courses{color:#34c759;background:#34c7591a}.hub-card-icon.library{color:#af52de;background:#af52de1a}.hub-card-icon.practice{color:#ff9500;background:#ff95001a}.hub-card-icon.notify{color:#ff3b30;background:#ff3b301a}.hub-card-icon.settings{color:#8e8e93;background:#8e8e931a}.hub-card h3{color:var(--text-primary);margin-bottom:2px;font-size:.9rem;font-weight:700}.hub-card p{color:var(--text-secondary);font-size:.75rem}.desktop-only{display:none!important}.mobile-only{display:block!important}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)translateY(-6px)}to{opacity:1;transform:scale(1)translateY(0)}}}@media (min-width:769px){.mobile-header,.mobile-only{display:none!important}.desktop-only{display:block!important}}@media (max-width:480px){.hero-stats{gap:var(--spacing-md);flex-direction:column}.stats-grid{grid-template-columns:1fr}.hero-actions{flex-direction:column;width:100%}.hero-actions .btn{width:100%}.dashboard-main{padding:62px var(--spacing-xs)var(--spacing-xs)}}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}
