@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap);*{box-sizing:border-box;margin:0;padding:0}html{-ms-text-size-adjust:100%;font-size:16px;scroll-behavior:smooth}body{font-feature-settings:"liga","kern";font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;text-rendering:optimizeLegibility}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-secondary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}*{scrollbar-color:var(--border-secondary) var(--bg-secondary);scrollbar-width:thin}::selection{background-color:var(--primary-200);color:var(--primary-900)}.dark-mode ::selection{background-color:var(--primary-800);color:var(--primary-100)}:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:600;line-height:1.2}p{color:var(--text-secondary);line-height:1.6}a{color:var(--primary-600);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-700)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media print{*{background:#0000!important;box-shadow:none!important;color:#000!important;text-shadow:none!important}a,a:visited{text-decoration:underline}@page{margin:.5cm}}.poppins-extralight{font-family:Poppins,sans-serif;font-style:normal;font-weight:300}.site-header{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background-color:var(--bg-primary);border-bottom:1px solid var(--border-primary);color:var(--text-primary);padding:0;position:sticky;top:0;transition:all var(--transition-normal);z-index:1000}.site-header.scrolled{background-color:#ffffffe6;box-shadow:var(--shadow-lg)}.dark-mode .site-header.scrolled{background-color:#111827e6}.header-container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:var(--space-4) var(--space-6);width:100%}.logo{font-size:1.75rem;font-weight:800;letter-spacing:-.02em;transition:all var(--transition-normal)}.logo:hover{transform:scale(1.05)}.logo-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--primary-600),var(--primary-800));-webkit-background-clip:text;background-clip:text}.logo-highlight{-webkit-text-fill-color:var(--primary-600);color:var(--primary-600)}.header-right{gap:var(--space-4)}.header-right,.theme-toggle{align-items:center;display:flex}.theme-toggle{background-color:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;height:40px;justify-content:center;transition:all var(--transition-fast);width:40px}.theme-toggle:hover{background-color:var(--bg-tertiary);color:var(--text-primary);transform:scale(1.05)}.theme-toggle:focus{outline:2px solid var(--primary-500);outline-offset:2px}.nav-links{gap:var(--space-6)}.nav-links,.nav-links a{align-items:center;display:flex}.nav-links a{border-radius:var(--radius-md);color:var(--text-secondary);font-size:.875rem;font-weight:500;gap:var(--space-2);padding:var(--space-2) var(--space-3);position:relative;text-decoration:none;transition:all var(--transition-fast)}.nav-links a:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.nav-links a.active{background-color:var(--primary-50);color:var(--primary-600)}.dark-mode .nav-links a.active{background-color:var(--primary-900)}.nav-icon{font-size:1rem}.nav-button{background:linear-gradient(135deg,var(--primary-600),var(--primary-700));border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:#fff!important;font-size:.875rem;font-weight:600;padding:var(--space-2) var(--space-4)!important;transition:all var(--transition-fast)}.nav-button:hover{background:linear-gradient(135deg,var(--primary-700),var(--primary-800))!important;box-shadow:var(--shadow-md);transform:translateY(-1px)}.user-dropdown{position:relative}.dropdown-toggle{align-items:center;background:none;border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;display:flex;gap:var(--space-2);padding:var(--space-2);transition:all var(--transition-fast)}.dropdown-toggle:hover{background-color:var(--bg-secondary);border-color:var(--border-secondary)}.user-avatar{align-items:center;background:linear-gradient(135deg,var(--primary-600),var(--primary-700));border-radius:var(--radius-full);color:#fff;display:flex;font-size:.875rem;font-weight:600;height:32px;justify-content:center;width:32px}.user-name{color:var(--text-primary);font-size:.875rem;font-weight:500}.dropdown-menu{animation:fadeIn .2s ease-out;background-color:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);min-width:200px;padding:var(--space-2);position:absolute;right:0;top:calc(100% + var(--space-1));z-index:50}.dropdown-item{align-items:center;background:none;border:none;border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;display:flex;font-size:.875rem;gap:var(--space-3);padding:var(--space-3);text-decoration:none;transition:all var(--transition-fast);width:100%}.dropdown-item:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.dropdown-icon{color:var(--text-secondary);font-size:1rem}.hamburger{background:none;border:none;border-radius:var(--radius-md);cursor:pointer;display:none;flex-direction:column;gap:4px;padding:var(--space-2);transition:all var(--transition-fast)}.hamburger:hover{background-color:var(--bg-secondary)}.hamburger svg{color:var(--text-primary);height:20px;width:20px}.desktop-nav{display:flex}.mobile-nav{display:none}.mobile-backdrop{animation:fadeIn .3s ease-out;background-color:#00000080;bottom:0;cursor:pointer;height:100vh;height:100dvh;left:0;position:fixed;right:0;top:0;width:100vw;z-index:99998}@media (max-width:992px){.header-container{padding:var(--space-3) var(--space-4)}.header-right{gap:var(--space-2)}.hamburger{display:flex;position:relative;z-index:100001}.desktop-nav{display:none}.mobile-nav{align-items:stretch;animation:slideInRight .3s ease-out;background-color:var(--bg-primary);border-left:1px solid var(--border-primary);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;gap:var(--space-4);height:100vh;height:100dvh;max-width:100vw;overflow-y:auto;padding:var(--space-20) var(--space-6) var(--space-6);position:fixed;right:0;top:0;width:280px;z-index:99999}@keyframes slideInRight{0%{right:-100%}to{right:0}}.mobile-nav:after{-webkit-tap-highlight-color:transparent;align-items:center;background-color:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--text-primary);content:"✕";cursor:pointer;display:flex;font-size:18px;height:32px;justify-content:center;position:absolute;right:var(--space-4);top:var(--space-4);touch-action:manipulation;transition:all var(--transition-fast);width:32px;z-index:100000}.mobile-nav:after:hover{background-color:var(--bg-tertiary)}.mobile-nav a{border-radius:var(--radius-lg);font-size:1rem;justify-content:flex-start;padding:var(--space-4)}.mobile-nav a:last-child{margin-top:var(--space-4)}.mobile-nav .user-dropdown{width:100%}.mobile-nav .dropdown-toggle{border-radius:var(--radius-lg);justify-content:flex-start;padding:var(--space-4);width:100%}.mobile-nav .dropdown-menu{background:var(--bg-secondary);border:none;border-radius:0;box-shadow:none;margin-top:var(--space-2);padding:0;position:static}.mobile-nav .dropdown-item{padding:var(--space-3) var(--space-4)}.theme-toggle{order:-1}}@media (min-width:993px){.hamburger,.mobile-backdrop,.mobile-nav{display:none!important}}@media (max-width:480px){.header-container{padding:var(--space-2) var(--space-3)}.logo{font-size:1.5rem}.mobile-nav{max-width:100vw;width:100%}.theme-toggle{height:35px;width:35px}.hamburger svg{height:18px;width:18px}}@media (max-width:992px){.site-header{overflow-x:hidden}body.mobile-menu-open{overflow:hidden;position:fixed;width:100%}}.home-container{background-color:var(--bg-primary);color:var(--text-primary);display:flex;flex-direction:column;min-height:100vh;transition:all var(--transition-normal)}.home-content{flex:1 1;margin:0 auto;max-width:1200px;padding:0 var(--space-6);width:100%}.hero-section{border-radius:var(--radius-2xl);color:var(--text-primary);margin:var(--space-8) 0 var(--space-16);overflow:hidden;padding:var(--space-20) 0;position:relative;text-align:center}.hero-section h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#495057,#6c757d);-webkit-background-clip:text;background-clip:text;font-size:clamp(2.5rem,5vw,4rem);font-weight:800;line-height:1.1;margin-bottom:var(--space-6)}.dark-mode .hero-section h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#e5e5e5,#b8b8b8);-webkit-background-clip:text;background-clip:text}.hero-section p{font-size:clamp(1.125rem,2vw,1.5rem);line-height:1.6;margin:0 auto var(--space-8);max-width:600px;opacity:.9}.scroll-indicator{animation:bounce 2s infinite;bottom:var(--space-6);left:50%;opacity:.7;position:absolute;transform:translateX(-50%)}.scroll-indicator svg{fill:currentColor;height:24px;width:24px}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0) translateX(-50%)}40%{transform:translateY(-8px) translateX(-50%)}60%{transform:translateY(-4px) translateX(-50%)}}.section-heading{color:var(--text-primary);font-size:clamp(2rem,4vw,2.5rem);font-weight:700;margin:var(--space-16) 0 var(--space-12);position:relative;text-align:center}.section-heading:after{background:linear-gradient(90deg,var(--primary-500),var(--primary-600));border-radius:var(--radius-full);bottom:-var(--space-3);content:"";height:4px;left:50%;position:absolute;transform:translateX(-50%);width:60px}.dark-mode .section-heading:after{background:linear-gradient(90deg,#555,#666)}.blurb-section{grid-gap:var(--space-8);align-items:stretch;display:grid;gap:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:var(--space-12) 0}.blurb-item{align-items:center;background-color:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);color:var(--text-primary);display:flex;flex-direction:column;min-height:320px;overflow:hidden;padding:var(--space-8);position:relative;text-align:center;text-decoration:none;transition:all var(--transition-normal)}.blurb-item:before{background:linear-gradient(135deg,var(--primary-50),var(--primary-100));bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity var(--transition-normal);z-index:0}.dark-mode .blurb-item:before{background:linear-gradient(135deg,#2a2a2a,#2f2f2f)}.blurb-item:hover:before{opacity:1}.blurb-item:hover{border-color:var(--primary-300);box-shadow:var(--shadow-xl);transform:translateY(-8px)}.blurb-item>*{position:relative;z-index:1}.section-icon{color:var(--primary-600);font-size:3rem;margin-bottom:var(--space-6);transition:all var(--transition-normal)}.dark-mode .section-icon{color:#666}.blurb-item:hover .section-icon{color:var(--primary-700);transform:scale(1.1)}.dark-mode .blurb-item:hover .section-icon{color:#777}.blurb-item h2{color:var(--text-primary);font-size:1.5rem;font-weight:700;margin-bottom:var(--space-4)}.blurb-item p{align-items:center;color:var(--text-secondary);display:flex;flex:1 1;font-size:1rem;line-height:1.6;margin-bottom:var(--space-6)}.cta-button{background:linear-gradient(135deg,var(--primary-600),var(--primary-700));border:none;border-radius:var(--radius-full);box-shadow:var(--shadow-sm);color:#fff;font-size:.875rem;font-weight:600;letter-spacing:.05em;margin-top:auto;padding:var(--space-3) var(--space-6);text-transform:uppercase;transition:all var(--transition-normal)}.cta-button:hover{background:linear-gradient(135deg,var(--primary-700),var(--primary-800));box-shadow:var(--shadow-lg);transform:translateY(-2px)}.stats-section{grid-gap:var(--space-8);display:grid;gap:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:var(--space-16) 0;opacity:0;text-align:center;transform:translateY(30px);transition:all .6s ease}.stats-section.animated{opacity:1;transform:translateY(0)}.stat-item{background-color:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--space-8);transition:all var(--transition-normal)}.stat-item:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.stat-item h3{color:var(--primary-600);font-size:3rem;font-weight:800;line-height:1;margin-bottom:var(--space-2)}.stat-item p{color:var(--text-secondary);font-size:1.125rem;font-weight:500}.floating-action-button{-webkit-tap-highlight-color:transparent;align-items:center;background:linear-gradient(135deg,var(--primary-600),var(--primary-700));border:none;border-radius:50%;bottom:var(--space-6);box-shadow:var(--shadow-lg);color:#fff;cursor:pointer;display:flex;height:56px;justify-content:center;min-height:44px;min-width:44px;position:fixed;right:var(--space-6);touch-action:manipulation;transition:all var(--transition-normal);-webkit-user-select:none;user-select:none;width:56px;z-index:1000}.floating-action-button:focus,.floating-action-button:hover{box-shadow:var(--shadow-xl);outline:none;transform:translateY(-3px) scale(1.05)}.floating-action-button:active{transform:translateY(-1px) scale(1.02)}.floating-action-button svg{height:20px;width:20px}.animate-on-scroll{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.animate-on-scroll.animated{opacity:1;transform:translateY(0)}.blurb-section .blurb-item:first-child{transition-delay:.1s}.blurb-section .blurb-item:nth-child(2){transition-delay:.3s}.blurb-section .blurb-item:nth-child(3){transition-delay:.5s}@media (max-width:768px){.home-content{padding:0 var(--space-4)}.hero-section{margin:var(--space-6) 0 var(--space-12);padding:var(--space-16) var(--space-4)}.blurb-section{gap:var(--space-6);grid-template-columns:1fr}.blurb-item{padding:var(--space-6)}.stats-section{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stat-item{padding:var(--space-6)}.stat-item h3{font-size:2.5rem}.floating-action-button{bottom:var(--space-4);height:48px;min-height:48px;min-width:48px;padding:8px;right:var(--space-4);width:48px;z-index:1001}.floating-action-button svg{height:18px;width:18px}}@media (max-width:480px){.section-heading{margin:var(--space-12) 0 var(--space-8)}.stats-section{margin:var(--space-12) 0}.floating-action-button{bottom:var(--space-3);height:44px;min-height:44px;min-width:44px;padding:12px;right:var(--space-3);width:44px}.floating-action-button svg{height:16px;width:16px}}@media (max-width:768px) and (max-height:600px){.floating-action-button{bottom:var(--space-2);right:var(--space-2)}}.about-section,.past-papers-section,.resources-section{background-image:none!important}.home-container{padding-bottom:var(--space-8)}.footer{background:linear-gradient(135deg,#f8f9fa,#e9ecef);color:#495057;margin-top:auto;transition:all .3s ease}body.dark-mode .footer{background:linear-gradient(135deg,#1a1a1a,#242424);border-top:1px solid #333;color:#e5e5e5}body:not(.dark-mode) .footer{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-top:1px solid #dee2e6;color:#495057}.footer-container{margin:0 auto;max-width:1200px;padding:0 2rem}.footer-top{grid-gap:3rem;border-bottom:1px solid #ffffff1a;display:grid;gap:3rem;grid-template-columns:1fr 2fr;padding:3rem 0 2rem}body.dark-mode .footer-top{border-bottom:1px solid #333}body:not(.dark-mode) .footer-top{border-bottom:1px solid #fff3}.footer-brand{display:flex;flex-direction:column;gap:1rem}.footer-brand h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:800;margin:0}body:not(.dark-mode) .footer-brand h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#495057,#6c757d);-webkit-background-clip:text}body.dark-mode .footer-brand h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#e5e5e5,#b8b8b8);-webkit-background-clip:text}.footer-brand p{color:#fffc;font-size:1rem;line-height:1.6;margin:0;max-width:300px}body:not(.dark-mode) .footer-brand p{color:#6c757d}body.dark-mode .footer-brand p{color:#ffffffb3}.footer-links{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr}.footer-links-column{display:flex;flex-direction:column;gap:1rem}.footer-links-column h4{color:#495057;font-size:1.1rem;font-weight:600;margin:0 0 .5rem}body.dark-mode .footer-links-column h4{color:#b8b8b8}body:not(.dark-mode) .footer-links-column h4{color:#74b9ff}.footer-links-column a{color:#6c757d;font-size:.9rem;padding:.3rem 0;position:relative;text-decoration:none;transition:all .3s ease}.footer-links-column a:hover{color:#495057;transform:translateX(5px)}body.dark-mode .footer-links-column a{color:#ffffffb3}body.dark-mode .footer-links-column a:hover{color:#b8b8b8}.footer-divider{background:#ffffff1a;height:1px;margin:0}body.dark-mode .footer-divider{background:#333}body:not(.dark-mode) .footer-divider{background:#fff3}.footer-bottom{flex-wrap:wrap;justify-content:space-between;padding:2rem 0}.footer-bottom,.footer-social{align-items:center;display:flex;gap:1rem}.social-icon{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:50%;color:#ffffffb3;display:flex;height:40px;justify-content:center;text-decoration:none;transition:all .3s ease;width:40px}body:not(.dark-mode) .social-icon{background:#4950571a;border:1px solid #49505733;color:#6c757d}.social-icon:hover{background:linear-gradient(135deg,#6c757d,#495057);box-shadow:0 8px 25px #6c757d4d;color:#fff;transform:translateY(-3px)}body.dark-mode .social-icon{background:#ffffff0d;border-color:#ffffff1a}body.dark-mode .social-icon:hover{background:linear-gradient(135deg,#666,#777);box-shadow:0 8px 25px #6666664d}.social-icon svg{height:18px;width:18px}.footer-copyright{align-items:center;color:#fff9;display:flex;font-size:.9rem;gap:.5rem}.footer-copyright .heart-icon{animation:heartbeat 2s ease-in-out infinite;color:#e74c3c}@keyframes heartbeat{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@media (max-width:768px){.footer-container{padding:0 1rem}.footer-top{gap:2rem;grid-template-columns:1fr;padding:2rem 0 1.5rem}.footer-links{gap:1.5rem;grid-template-columns:1fr}.footer-bottom{flex-direction:column;padding:1.5rem 0;text-align:center}.footer-social{order:-1}.footer-brand h3{font-size:1.5rem}}@media (max-width:480px){.footer-container{padding:0 .5rem}.footer-top{padding:1.5rem 0 1rem}.footer-bottom{padding:1rem 0}.social-icon{height:36px;width:36px}.social-icon svg{height:16px;width:16px}.footer-copyright{font-size:.8rem}}.footer-links-column a:before{background:linear-gradient(90deg,#6c757d,#495057);bottom:0;content:"";height:2px;left:0;position:absolute;transition:width .3s ease;width:0}body.dark-mode .footer-links-column a:before{background:linear-gradient(90deg,#666,#777)}.footer-links-column a:hover:before{width:100%}.footer-brand h3:hover{transform:scale(1.05);transition:transform .3s ease}.footer{overflow:hidden;position:relative}.footer:before{animation:shimmer 3s infinite;background:linear-gradient(90deg,#0000,#6c757d80,#0000);content:"";height:1px;left:-100%;position:absolute;top:0;width:100%}body.dark-mode .footer:before{background:linear-gradient(90deg,#0000,#66666680,#0000)}.ai-support-chat{bottom:20px;font-family:inherit;left:20px;position:fixed;z-index:998}.chat-toggle-button{align-items:center;background:linear-gradient(135deg,#007bff,#0056b3);border:none;border-radius:50%;box-shadow:0 4px 20px #007bff4d;color:#fff;cursor:pointer;display:flex;font-size:24px;height:60px;justify-content:center;overflow:hidden;position:relative;transition:all .3s ease;width:60px}.chat-toggle-button:hover{box-shadow:0 6px 25px #007bff66;transform:translateY(-2px)}.chat-toggle-button.open{background:linear-gradient(135deg,#dc3545,#c82333)}.chat-toggle-button:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.chat-toggle-button:hover:before{left:100%}.chat-window{animation:slideUp .3s ease-out;background:#fff;background:var(--bg-primary,#fff);border:1px solid #e0e0e0;border:1px solid var(--border-primary,#e0e0e0);border-radius:16px;bottom:80px;box-shadow:0 10px 40px #00000026;display:flex;flex-direction:column;height:500px;left:0;overflow:hidden;position:absolute;transition:all .3s ease;width:420px}.chat-window.expanded{bottom:20px;height:700px;max-height:calc(100vh - 100px);width:600px}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.chat-header{background:linear-gradient(135deg,#007bff,#0056b3);border-radius:16px 16px 0 0;color:#fff;padding:16px}.chat-header-info{align-items:center;display:flex;gap:12px}.chat-robot-icon{font-size:24px}.status-indicator{font-size:12px;opacity:.9}.chat-action-button{align-items:center;background:none;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:14px;justify-content:center;padding:6px;transition:background-color .2s}.chat-action-button:hover{background-color:#ffffff1a}.chat-close-button{background:none;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:18px;padding:4px;transition:background-color .2s}.chat-close-button:hover{background-color:#ffffff1a}.chat-messages{background:var(--bg-secondary,#f8f9fa);padding:8px}.chat-messages::-webkit-scrollbar-track{background:#fff;background:var(--bg-primary,#fff)}.chat-messages::-webkit-scrollbar-thumb{background:#e0e0e0;background:var(--border-primary,#e0e0e0)}.chat-messages::-webkit-scrollbar-thumb:hover{background:#d0d0d0;background:var(--border-secondary,#d0d0d0)}.message{animation:fadeIn .3s ease-out}.user-message{flex-direction:row-reverse}.ai-message .message-avatar{background:linear-gradient(135deg,#007bff,#0056b3);color:#fff}.user-message .message-avatar{background:linear-gradient(135deg,#28a745,#1e7e34)}.message-content{display:flex;flex-direction:column;gap:4px;max-width:calc(100% - 50px);width:100%}.user-message .message-content{align-items:flex-end}.message-text{border-radius:16px;line-height:1.4;padding:12px 16px}.ai-message .message-text{background:#fff;background:var(--bg-primary,#fff);border:1px solid #e0e0e0;border:1px solid var(--border-primary,#e0e0e0);color:#333;color:var(--text-primary,#333)}.user-message .message-text{background:linear-gradient(135deg,#007bff,#0056b3);color:#fff}.message-time{font-size:11px;opacity:.6;padding:0 4px}.message-text h1,.message-text h2,.message-text h3,.message-text h4,.message-text h5,.message-text h6{font-weight:600;margin:8px 0 4px}.message-text h1{font-size:18px}.message-text h2{font-size:16px}.message-text h3{font-size:15px}.message-text h4{font-size:14px}.message-text h5{font-size:13px}.message-text h6{font-size:12px}.message-text p{margin:4px 0}.message-text code{background:#0000001a;border-radius:3px;font-family:Courier New,Courier,monospace;font-size:13px;padding:2px 4px}.user-message .message-text code{background:#fff3}.message-text pre{background:#0000000d;border-left:3px solid #007bff;border-left:3px solid var(--primary-500,#007bff);border-radius:6px;margin:4px 0;overflow-x:auto;padding:8px}.user-message .message-text pre{background:#ffffff1a;border-left-color:#ffffff80}.message-text pre code{background:none;padding:0}.message-text ol,.message-text ul{margin:4px 0;padding-left:16px}.message-text li{margin:2px 0}.message-text blockquote{border-left:3px solid #007bff;border-left:3px solid var(--primary-500,#007bff);font-style:italic;margin:4px 0;opacity:.8;padding-left:12px}.user-message .message-text blockquote{border-left-color:#ffffff80}.message-text strong{font-weight:600}.message-text em{font-style:italic}.message-text a{color:#007bff;color:var(--primary-500,#007bff);text-decoration:none}.message-text a:hover{text-decoration:underline}.user-message .message-text a{color:#ffffffe6}.message-text table{font-size:13px;margin:4px 0}.message-text td,.message-text th{border:1px solid #e0e0e0;border:1px solid var(--border-primary,#e0e0e0);padding:4px 8px}.message-text th{background:#f8f9fa;background:var(--bg-secondary,#f8f9fa)}.user-message .message-text td,.user-message .message-text th{border-color:#ffffff4d}.user-message .message-text th{background:#ffffff1a}.typing-indicator{display:flex;gap:4px;padding:8px 0}.typing-indicator span{animation:typing 1.4s ease-in-out infinite;background:#007bff;background:var(--primary-500,#007bff);border-radius:50%;height:8px;width:8px}.typing-indicator span:first-child{animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{opacity:.5;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.chat-input-container{background:#fff;background:var(--bg-primary,#fff);border-top:1px solid #e0e0e0;border-top:1px solid var(--border-primary,#e0e0e0);padding:16px}.chat-input{background:#f8f9fa;background:var(--bg-secondary,#f8f9fa);border:1px solid var(--border-primary,#e0e0e0);border-radius:20px;color:#333;color:var(--text-primary,#333);max-height:100px;padding:12px 16px;transition:border-color .2s}.chat-input:focus{background:#fff;background:var(--bg-primary,#fff);border-color:#007bff;border-color:var(--primary-500,#007bff)}.chat-input::placeholder{color:#999;color:var(--text-tertiary,#999)}.send-button{align-items:center;background:linear-gradient(135deg,#007bff,#0056b3);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:16px;height:40px;justify-content:center;transition:all .2s;width:40px}.send-button:hover:not(:disabled){box-shadow:0 2px 8px #007bff4d;transform:scale(1.05)}.send-button:disabled{cursor:not-allowed;opacity:.5;transform:none}.dark-mode .chat-window{background:var(--bg-primary);border-color:var(--border-primary)}.dark-mode .chat-messages{background:var(--bg-secondary)}.dark-mode .ai-message .message-text{background:var(--bg-primary)}.dark-mode .ai-message .message-text,.dark-mode .chat-input{border-color:var(--border-primary);color:var(--text-primary)}.dark-mode .chat-input{background:var(--bg-secondary)}.dark-mode .chat-input:focus{background:var(--bg-primary)}.dark-mode .chat-input-container{background:var(--bg-primary);border-color:var(--border-primary)}@media (max-width:768px){.ai-support-chat{bottom:20px;left:10px;right:10px}.chat-window{height:60vh;left:0;max-height:500px;max-width:100%;position:fixed;right:0;top:auto}.chat-window,.chat-window.expanded{bottom:80px;width:calc(100vw - 20px)}.chat-window.expanded{height:80vh;max-height:calc(100vh - 120px);top:10px}.chat-toggle-button{font-size:20px;height:50px;width:50px}.chat-header-actions{gap:6px}.chat-action-button{font-size:12px;padding:4px}.chat-messages{max-height:calc(60vh - 140px)}.chat-window.expanded .chat-messages{max-height:calc(80vh - 140px)}}@media (max-width:480px){.chat-window{height:50vh;max-height:400px}.chat-window.expanded{height:70vh;max-height:calc(100vh - 140px);top:20px}.message-content{max-width:96%}.chat-header-actions{gap:4px}.chat-action-button{font-size:11px;padding:3px}.chat-messages{max-height:calc(50vh - 120px)}.chat-window.expanded .chat-messages{max-height:calc(70vh - 120px)}.chat-input-container{padding:12px}.chat-input{font-size:13px;padding:10px 14px}.send-button{font-size:14px;height:35px;width:35px}}@media (max-width:768px) and (max-height:600px){.ai-support-chat{bottom:10px}.chat-window{height:55vh;max-height:350px}.chat-window.expanded{height:75vh;max-height:calc(100vh - 100px)}}@media (max-width:480px) and (max-height:500px){.chat-window{height:45vh;max-height:300px}.chat-window.expanded{height:65vh;max-height:calc(100vh - 80px);top:10px}.chat-messages{max-height:calc(45vh - 100px)}.chat-window.expanded .chat-messages{max-height:calc(65vh - 100px)}}@font-face{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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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.21"}.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: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}.viewer-chat{background:#fff;background:var(--bg-primary,#fff);border-left:1px solid #e1e5e9;border-left:1px solid var(--border-primary,#e1e5e9);display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100%;max-width:500px;min-width:350px;position:relative;transition:all .3s ease}.viewer-chat.expanded{max-width:800px;min-width:600px}.chat-header{border-bottom:1px solid #e1e5e9;border-bottom:1px solid var(--border-primary,#e1e5e9);padding:16px 20px}.chat-header-left{gap:12px}.chat-robot-icon{color:#06c;color:var(--primary-500,#06c)}.chat-header h3{color:#1f2937;color:var(--text-primary,#1f2937);font-size:16px;font-weight:600;margin:0}.chat-usage{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:12px;font-weight:400}.chat-header-actions{align-items:center;display:flex;gap:8px}.chat-action-btn{border-radius:6px;height:32px;width:32px}.model-selector{margin-top:4px}.custom-model-dropdown{z-index:200}.model-dropdown{display:none}.model-button{border-radius:6px;font-size:12px;justify-content:space-between;min-width:200px;padding:6px 10px;width:100%}.model-button:hover:not(:disabled){background-color:#f9fafb;background-color:var(--bg-secondary,#f9fafb);border-color:#93c5fd;border-color:var(--primary-300,#93c5fd)}.model-button:disabled{opacity:.6}.model-button svg{font-size:11px;margin-left:5px}.selected-model-name{font-weight:500}.selected-model-cost{font-size:11px;margin-left:4px}.model-options{background:#fff;background:var(--bg-primary,#fff);border:1px solid #e1e5e9;border:1px solid var(--border-primary,#e1e5e9);border-radius:6px;box-shadow:0 4px 12px #00000026;left:0;min-width:220px;overflow:hidden;position:absolute;right:0;top:calc(100% + 4px);z-index:1000}.model-option{color:#1f2937;color:var(--text-primary,#1f2937);display:flex;flex-direction:column;font-size:13px;padding:10px 12px;transition:background-color .2s ease}.model-option:hover:not(:disabled){background:#f3f4f6;background:var(--bg-secondary,#f3f4f6)}.model-option.selected{border-left:3px solid #06c;border-left:3px solid var(--primary-500,#06c)}.model-name{color:#06c;color:var(--primary-500,#06c)}.model-description{font-size:11px;line-height:1.3}.model-info-display{display:none}.context-items{background:#f9fafb;background:var(--bg-secondary,#f9fafb);border-bottom:1px solid #e1e5e9;border-bottom:1px solid var(--border-primary,#e1e5e9);padding:12px 20px}.context-label{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:12px;font-weight:500;letter-spacing:.05em;margin-bottom:8px;text-transform:uppercase}.context-list{display:flex;flex-direction:column;gap:6px}.context-item{align-items:center;background:#fff;background:var(--bg-primary,#fff);border:1px solid #e1e5e9;border:1px solid var(--border-primary,#e1e5e9);border-radius:4px;display:flex;font-size:13px;gap:8px;padding:6px 8px}.context-item-icon{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:12px}.context-item-title{color:#1f2937;color:var(--text-primary,#1f2937);flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.context-item-remove{align-items:center;background:#0000;border:none;border-radius:2px;color:#9ca3af;color:var(--text-tertiary,#9ca3af);cursor:pointer;display:flex;font-size:10px;height:16px;justify-content:center;transition:all .2s ease;width:16px}.context-item-remove:hover{background:#f3f4f6;background:var(--bg-tertiary,#f3f4f6);color:#6b7280;color:var(--text-secondary,#6b7280)}.chat-messages{gap:16px;padding:20px}.chat-messages::-webkit-scrollbar-thumb:hover{background:#9ca3af;background:var(--text-tertiary,#9ca3af)}.chat-placeholder{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;justify-content:center;opacity:.8;padding:2rem 1rem;text-align:center}.chat-placeholder .placeholder-icon{color:var(--primary-color);font-size:2.5rem;margin-bottom:1rem;opacity:.7}.chat-placeholder h4{color:var(--text-primary);font-size:1.1rem;margin:0 0 .5rem}.chat-placeholder p{font-size:.9rem;line-height:1.4;margin:0 0 1rem;max-width:300px}.message{animation:messageSlideIn .3s ease-out;display:flex;gap:12px}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-avatar{font-size:14px;height:32px;margin-top:2px;width:32px}.user-message .message-avatar{background:#06c;background:var(--primary-500,#06c);color:#fff}.assistant-message .message-avatar{background:#f3f4f6;background:var(--bg-secondary,#f3f4f6);border:1px solid #e1e5e9;border:1px solid var(--border-primary,#e1e5e9);color:#6b7280;color:var(--text-secondary,#6b7280)}.message-text{font-size:14px;line-height:1.5}.assistant-message .message-content h1,.assistant-message .message-content h2,.assistant-message .message-content h3,.assistant-message .message-content h4,.assistant-message .message-content h5,.assistant-message .message-content h6{color:#1f2937;color:var(--text-primary,#1f2937);font-weight:600;margin:16px 0 8px}.assistant-message .message-content h1{font-size:20px}.assistant-message .message-content h2{font-size:18px}.assistant-message .message-content h3{font-size:16px}.assistant-message .message-content h4{font-size:15px}.assistant-message .message-content h5{font-size:14px}.assistant-message .message-content h6{font-size:13px}.assistant-message .message-content p{color:#1f2937;color:var(--text-primary,#1f2937);line-height:1.6;margin:8px 0;white-space:pre-wrap}.assistant-message .message-content code{background:#f1f3f4;background:var(--bg-tertiary,#f1f3f4);border-radius:3px;color:#1f2937;color:var(--text-primary,#1f2937);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;padding:2px 4px}.assistant-message .message-content pre{background:#f1f3f4;background:var(--bg-tertiary,#f1f3f4);border:1px solid #e1e5e9;border:1px solid var(--border-primary,#e1e5e9);border-radius:6px;margin:8px 0;overflow-x:auto;padding:12px}.assistant-message .message-content pre code{background:none;padding:0}.assistant-message .message-content ol,.assistant-message .message-content ul{margin:8px 0;padding-left:20px}.assistant-message .message-content li{margin:4px 0}.assistant-message .message-content blockquote{border-left:3px solid #93c5fd;border-left:3px solid var(--primary-300,#93c5fd);color:#6b7280;color:var(--text-secondary,#6b7280);font-style:italic;margin:8px 0;padding-left:12px}.assistant-message .message-content .katex{font-size:1em}.assistant-message .message-content .katex-display{margin:12px 0;text-align:center}.assistant-message .message-content .katex-display>.katex{text-align:center}.thinking-container{margin-top:8px}.thinking-text{animation:pulse 1.5s ease-in-out infinite;color:var(--text-secondary);font-size:.85rem;font-style:italic;opacity:.7}.tool-call-status{animation:toolCallPulse 2s infinite;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #dee2e6;border-radius:8px;padding:.75rem}.tool-call-message{align-items:center;color:#495057;display:flex;font-size:.9rem;gap:.5rem;margin-bottom:.5rem}.tool-call-message:before{content:"🔍";font-size:1rem}.tool-call-details{color:#6c757d;font-size:.8rem;gap:.5rem}.tool-call-source{background:#e3f2fd;border-radius:4px;color:#1976d2;font-weight:500;padding:.2rem .5rem}.tool-call-selector{font-style:italic}@keyframes toolCallPulse{0%,to{box-shadow:0 0 0 0 #1976d233}50%{box-shadow:0 0 0 8px #1976d21a}}.tool-call-status.dark-mode{background:linear-gradient(135deg,#2d3748,#1a202c);border-color:#4a5568}.tool-call-status.dark-mode .tool-call-message{color:#e2e8f0}.tool-call-status.dark-mode .tool-call-details{color:#a0aec0}.tool-call-status.dark-mode .tool-call-source{background:#2b6cb0;color:#bee3f8}.chat-error{background:#fef2f2;border-top:1px solid #fecaca;color:#dc2626;padding:12px 20px}.chat-input-area{border-top:1px solid #e1e5e9;border-top:1px solid var(--border-primary,#e1e5e9);padding:16px 20px}.chat-input-wrapper{align-items:flex-end;background:#fff;background:var(--bg-primary,#fff);border:1px solid #e1e5e9;border:1px solid var(--border-primary,#e1e5e9);border-radius:8px;display:flex;gap:8px;padding:8px;transition:border-color .2s ease}.chat-input-wrapper:focus-within{border-color:#93c5fd;border-color:var(--primary-300,#93c5fd)}.chat-input{font-size:14px;line-height:1.4;min-height:20px;padding:0}.chat-input-actions{align-items:center;display:flex;gap:4px}.document-dropdown{position:relative}.document-options{background:#fff;background:var(--bg-primary,#fff);border:1px solid #e1e5e9;border:1px solid var(--border-primary,#e1e5e9);border-radius:6px;bottom:calc(100% + 8px);box-shadow:0 4px 12px #0000001a;min-width:140px;overflow:hidden;position:absolute;right:0;z-index:1000}.document-option{background:#0000;border:none;color:#1f2937;color:var(--text-primary,#1f2937);cursor:pointer;display:block;font-size:13px;padding:8px 12px;text-align:left;transition:background-color .2s ease;white-space:nowrap;width:100%}.document-option:hover:not(:disabled){background:#f3f4f6;background:var(--bg-secondary,#f3f4f6)}.document-option:disabled{color:#9ca3af;color:var(--text-tertiary,#9ca3af);cursor:not-allowed}.chat-send-btn{background:#06c;background:var(--primary-500,#06c);font-size:14px;height:32px;width:32px}.chat-send-btn:hover:not(:disabled){background:#0052a3;background:var(--primary-600,#0052a3);transform:translateY(-1px)}.chat-send-btn:disabled{background:#f3f4f6;background:var(--bg-secondary,#f3f4f6);color:#9ca3af;color:var(--text-tertiary,#9ca3af)}.chat-login-prompt{color:#6b7280;color:var(--text-secondary,#6b7280);height:100%;padding:40px 20px}.chat-login-prompt .chat-robot-icon{color:#9ca3af;color:var(--text-tertiary,#9ca3af);margin-bottom:16px;opacity:.5}.chat-login-prompt h3{color:#1f2937;color:var(--text-primary,#1f2937);font-size:18px;font-weight:600;margin:0 0 8px}.chat-login-prompt p{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:14px;margin:0}.chat-login-link{align-items:center;background:#06c;background:var(--primary-500,#06c);border-radius:6px;color:#fff;display:inline-flex;font-size:14px;font-weight:500;justify-content:center;margin-top:16px;padding:10px 20px;text-decoration:none;transition:all .2s ease}.chat-login-link:hover{background:#0052a3;background:var(--primary-600,#0052a3);color:#fff;text-decoration:none;transform:translateY(-1px)}.dark-mode .viewer-chat{color:var(--text-primary)}.dark-mode .chat-header,.dark-mode .model-selector,.dark-mode .viewer-chat{background:var(--bg-primary);border-color:var(--border-primary)}.dark-mode .context-items{background:var(--bg-secondary)}.dark-mode .chat-input-area,.dark-mode .chat-input-wrapper,.dark-mode .context-item,.dark-mode .document-options{background:var(--bg-primary);border-color:var(--border-primary)}.dark-mode .assistant-message .message-content .katex,.dark-mode .assistant-message .message-content .katex .base{color:var(--text-primary)}@media (max-width:768px){.viewer-chat{border-left:none;border-top:1px solid #e1e5e9;border-top:1px solid var(--border-primary,#e1e5e9)}.viewer-chat,.viewer-chat.expanded{max-width:100%;min-width:100%}.chat-header{padding:12px 16px}.context-items,.model-selector{padding:8px 16px}.chat-messages{padding:16px}.chat-input-area{padding:12px 16px}}.chat-header-left>div{display:flex;flex-direction:column;gap:2px}.model-info{gap:1px;margin-top:2px}.model-name{background:var(--primary-color-light);border-radius:8px;color:var(--primary-color);font-size:.75rem;font-weight:600;padding:2px 6px;width:fit-content}.model-description{color:var(--text-secondary);font-size:.65rem;font-style:italic}.feature-hints{margin-top:12px;padding:0}.hint{font-size:.8rem;margin:4px 0;opacity:.8}.context-label,.hint{color:var(--text-secondary)}.context-label{font-size:.75rem;font-weight:600;margin-bottom:6px}[data-theme=dark] .model-name{background:#4a90e233;color:#4a90e2}[data-theme=dark] .hint{color:#a0a0a0}.messages-end-ref{background:#0000;border:none;height:0;margin:0;overflow:hidden;padding:0}.dark-mode .model-button{color:var(--text-primary)}.dark-mode .model-button,.dark-mode .model-options{background:var(--bg-primary);border-color:var(--border-primary)}.dark-mode .model-option{border-color:var(--border-primary)}.dark-mode .model-option:hover:not(:disabled){background:#ffffff0d}.dark-mode .model-option.selected{background:#4a90e233}.dark-mode .model-name{color:#4a90e2}:root{--react-pdf-annotation-layer:1;--annotation-unfocused-field-background:url('data:image/svg+xml;charset=utf-8,<svg width="1" height="1" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" style="fill:rgba(0,54,255,.13)"/></svg>');--input-focus-border-color:Highlight;--input-focus-outline:1px solid Canvas;--input-unfocused-border-color:#0000;--input-disabled-border-color:#0000;--input-hover-border-color:#000;--link-outline:none}@media screen and (forced-colors:active){:root{--input-focus-border-color:CanvasText;--input-unfocused-border-color:ActiveText;--input-disabled-border-color:GrayText;--input-hover-border-color:Highlight;--link-outline:1.5px solid LinkText}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .textWidgetAnnotation :is(input,textarea):required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert(100%);backdrop-filter:invert(100%)}}.annotationLayer{left:0;pointer-events:none;position:absolute;top:0;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translateX(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{height:100%;position:absolute;width:100%}.annotationLayer section{box-sizing:border-box;margin:0;pointer-events:auto;position:absolute;text-align:left;text-align:initial;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:none;outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{font-size:1em;height:100%;left:0;position:absolute;top:0;width:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{background:#ff0;box-shadow:0 2px 10px #ff0;opacity:.2}.annotationLayer .textAnnotation img{cursor:pointer;height:100%;left:0;position:absolute;top:0;width:100%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input,.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .textWidgetAnnotation :is(input,textarea){background-image:url('data:image/svg+xml;charset=utf-8,<svg width="1" height="1" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" style="fill:rgba(0,54,255,.13)"/></svg>');background-image:var(--annotation-unfocused-field-background);border:2px solid #0000;border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px*var(--scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .textWidgetAnnotation :is(input,textarea):required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled]{background:none;border:2px solid #0000;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .textWidgetAnnotation :is(input,textarea):hover{border:2px solid #000;border:2px solid var(--input-hover-border-color)}.annotationLayer .buttonWidgetAnnotation.checkBox input:hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .textWidgetAnnotation :is(input,textarea):hover{border-radius:2px}.annotationLayer .choiceWidgetAnnotation select:focus,.annotationLayer .textWidgetAnnotation :is(input,textarea):focus{background:none;border:2px solid Highlight;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:1px solid Canvas;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-color:initial;background-image:none}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid Highlight;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:1px solid Canvas;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid Highlight;border:2px solid var(--input-focus-border-color);outline:1px solid Canvas;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{-webkit-appearance:none;appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{font-size:calc(9px*var(--scale-factor));min-width:calc(180px*var(--scale-factor));pointer-events:none;position:absolute;width:100%}.annotationLayer .popup{word-wrap:break-word;background-color:#ff9;border-radius:calc(2px*var(--scale-factor));box-shadow:0 calc(2px*var(--scale-factor)) calc(5px*var(--scale-factor)) #888;cursor:pointer;font:message-box;margin-left:calc(5px*var(--scale-factor));max-width:calc(180px*var(--scale-factor));padding:calc(6px*var(--scale-factor));pointer-events:auto;position:absolute;white-space:normal}.annotationLayer .popup>*{font-size:calc(9px*var(--scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px*var(--scale-factor))}.annotationLayer .popupContent{border-top:1px solid #333;margin-top:calc(2px*var(--scale-factor));padding-top:calc(2px*var(--scale-factor))}.annotationLayer .richText>*{font-size:calc(9px*var(--scale-factor));white-space:pre-wrap}.annotationLayer .caretAnnotation,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .fileAttachmentAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .highlightAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .lineAnnotation svg line,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .squareAnnotation svg rect,.annotationLayer .squigglyAnnotation,.annotationLayer .stampAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .underlineAnnotation{cursor:pointer}.annotationLayer section svg{height:100%;left:0;position:absolute;top:0;width:100%}.annotationLayer .annotationTextContent{color:#0000;height:100%;opacity:0;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;width:100%}.annotationLayer .annotationTextContent span{display:inline-block;width:100%}:root{--react-pdf-text-layer:1;--highlight-bg-color:#b400aa;--highlight-selected-bg-color:#006400}@media screen and (forced-colors:active){:root{--highlight-bg-color:Highlight;--highlight-selected-bg-color:ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translateX(-100%)}.textLayer{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;inset:0;line-height:1;overflow:hidden;position:absolute;text-align:left;text-align:initial;transform-origin:0 0;z-index:2}.textLayer :is(span,br){color:#0000;cursor:text;margin:0;position:absolute;transform-origin:0 0;white-space:pre}.textLayer span.markedContent{height:0;top:0}.textLayer .highlight{background-color:#b400aa;background-color:var(--highlight-bg-color);border-radius:4px;margin:-1px;padding:1px}.textLayer .highlight.appended{position:static}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:#006400;background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:#0000}.textLayer .endOfContent{cursor:default;display:block;inset:100% 0 0;position:absolute;-webkit-user-select:none;user-select:none;z-index:-1}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{display:none;height:0;left:0;position:absolute;top:0;width:0}.about-container{background-color:var(--bg-primary);color:var(--text-primary);display:flex;flex-direction:column;min-height:100vh}.about-content{flex:1 1;margin:0 auto;max-width:1200px;padding:var(--space-12) var(--space-6);width:100%}.about-hero{margin-bottom:var(--space-16);text-align:center}.about-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--primary-600),var(--primary-800));-webkit-background-clip:text;background-clip:text;font-size:clamp(2.5rem,5vw,4rem);font-weight:800;line-height:1.1;margin-bottom:var(--space-6)}.about-subtitle{color:var(--text-secondary);font-size:clamp(1.125rem,2vw,1.5rem);line-height:1.6;margin:0 auto;max-width:600px}.about-sections{grid-gap:var(--space-16);display:grid;gap:var(--space-16)}.about-section{grid-gap:var(--space-12);align-items:center;display:grid;gap:var(--space-12);grid-template-columns:1fr 1fr}.about-section:nth-child(2n){direction:rtl}.about-section:nth-child(2n)>*{direction:ltr}.section-content h2{color:var(--text-primary);font-size:2rem;font-weight:700;margin-bottom:var(--space-4)}.section-content p{color:var(--text-secondary);font-size:1.125rem;line-height:1.7;margin-bottom:var(--space-6)}.section-features{list-style:none;margin:var(--space-6) 0;padding:0}.section-features li{align-items:center;color:var(--text-secondary);display:flex;gap:var(--space-3);margin-bottom:var(--space-3)}.section-features li svg{color:var(--primary-600);flex-shrink:0;height:20px;width:20px}.section-visual{align-items:center;background:linear-gradient(135deg,var(--primary-50),var(--primary-100));border-radius:var(--radius-2xl);box-shadow:var(--shadow-md);display:flex;justify-content:center;min-height:300px;padding:var(--space-8)}.dark-mode .section-visual{background:linear-gradient(135deg,var(--primary-900),var(--primary-800))}.visual-icon{color:var(--primary-600);font-size:4rem}.stats-showcase{background:linear-gradient(135deg,var(--primary-600),var(--primary-800));border-radius:var(--radius-2xl);color:#fff;margin:var(--space-16) 0;padding:var(--space-12);text-align:center}.stats-title{font-size:2rem;font-weight:800;margin-bottom:var(--space-8)}.stats-grid{grid-gap:var(--space-8);gap:var(--space-8)}.stat-number{font-size:3rem;font-weight:800;margin-bottom:var(--space-2)}.stat-label{font-size:1.125rem;opacity:.9}.team-section{margin:var(--space-16) 0;text-align:center}.team-title{color:var(--text-primary);font-size:2.5rem;font-weight:800;margin-bottom:var(--space-4)}.team-subtitle{color:var(--text-secondary);font-size:1.125rem;margin-bottom:var(--space-12);margin-left:auto;margin-right:auto;max-width:600px}.team-grid{grid-gap:var(--space-8);display:grid;gap:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.team-member{background-color:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);padding:var(--space-8);text-align:center;transition:all var(--transition-normal)}.team-member:hover{box-shadow:var(--shadow-xl);transform:translateY(-8px)}.member-avatar{align-items:center;background:linear-gradient(135deg,var(--primary-600),var(--primary-700));border-radius:50%;color:#fff;display:flex;font-size:2.5rem;font-weight:700;height:120px;justify-content:center;margin:0 auto var(--space-6);width:120px}.member-name{color:var(--text-primary);font-size:1.25rem;font-weight:700;margin-bottom:var(--space-2)}.member-role{color:var(--primary-600);font-weight:500;margin-bottom:var(--space-4)}.member-bio{color:var(--text-secondary);font-size:.875rem;line-height:1.6}.cta-section{background:linear-gradient(135deg,var(--bg-secondary),var(--bg-tertiary));border:1px solid var(--border-primary);border-radius:var(--radius-2xl);margin:var(--space-16) 0;padding:var(--space-12);text-align:center}.cta-title{color:var(--text-primary);font-size:2rem;font-weight:800;margin-bottom:var(--space-4)}.cta-description{color:var(--text-secondary);font-size:1.125rem;margin-bottom:var(--space-8);margin-left:auto;margin-right:auto;max-width:500px}.cta-buttons{display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:center}.cta-button-primary{background:linear-gradient(135deg,var(--primary-600),var(--primary-700));border:none;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:var(--space-4) var(--space-8);text-decoration:none;transition:all var(--transition-normal)}.cta-button-primary:hover{background:linear-gradient(135deg,var(--primary-700),var(--primary-800));box-shadow:var(--shadow-lg);transform:translateY(-2px)}.cta-button-secondary{background-color:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);color:var(--text-primary);font-size:1rem;font-weight:600;padding:var(--space-4) var(--space-8);text-decoration:none;transition:all var(--transition-normal)}.cta-button-secondary:hover{background-color:var(--bg-secondary);transform:translateY(-2px)}@media (max-width:768px){.about-content{padding:var(--space-8) var(--space-4)}.about-section{gap:var(--space-8);grid-template-columns:1fr}.about-section:nth-child(2n){direction:ltr}.stats-showcase{padding:var(--space-8)}.stats-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.team-grid{gap:var(--space-6);grid-template-columns:1fr}.cta-buttons{align-items:center;flex-direction:column}.cta-button-primary,.cta-button-secondary{max-width:300px;text-align:center;width:100%}}@media (max-width:480px){.about-content{padding:var(--space-6) var(--space-3)}.stats-showcase,.team-member{padding:var(--space-6)}.member-avatar{font-size:2rem;height:100px;width:100px}.cta-section{padding:var(--space-8)}}.subject-loading{align-items:center;background-color:var(--bg-primary);color:var(--text-primary);display:flex;justify-content:center;min-height:60vh}.subject-loading .loading-spinner{align-items:center;display:flex;flex-direction:column;gap:20px;text-align:center}.subject-loading .spinner{animation:spin 1s linear infinite;border-top:4px solid var(--border-primary);border:4px solid var(--border-primary);border-radius:50%;border-top-color:var(--primary-500);height:40px;width:40px}.subject-loading p{color:var(--text-secondary);font-size:16px;margin:0}.subject-details-container{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);margin:0 auto;max-width:1200px;min-height:100vh;padding:20px;transition:all var(--transition-normal)}.search-form-container{margin:20px 0;text-align:center}.search-form-container form{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin:0 auto;max-width:1200px;padding:0 20px}.search-form-container label{align-items:flex-start;color:var(--text-primary);display:flex;flex-direction:column;font-weight:500;gap:8px}.search-form-container select{background-color:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;box-shadow:var(--shadow-sm);color:var(--text-primary);cursor:pointer;font-size:16px;min-width:200px;padding:12px 15px;transition:all .2s ease}.search-form-container select:hover{background-color:var(--bg-tertiary);border-color:var(--border-secondary);box-shadow:var(--shadow-md)}.search-form-container select:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px #3b82f61a;outline:none}.search-form-container button{background:linear-gradient(135deg,var(--primary-600),var(--primary-700));border:none;border-radius:8px;box-shadow:var(--shadow-sm);color:#fff;cursor:pointer;font-size:16px;font-weight:500;height:fit-content;margin-top:auto;padding:12px 24px;transition:all .2s ease}.search-form-container button:hover{background:linear-gradient(135deg,var(--primary-700),var(--primary-800));box-shadow:var(--shadow-md);transform:translateY(-1px)}.search-form-container button:active{transform:translateY(0)}.tabs-container{margin-top:20px;text-align:center}.tabs-container button{background-color:var(--bg-primary);border:1px solid var(--primary-600);border-radius:4px;color:var(--primary-600);cursor:pointer;font-size:1em;margin:0 5px;padding:10px 20px;transition:all var(--transition-fast)}.tabs-container button.active{background-color:var(--primary-600);color:#fff}.tabs-container button:hover{background-color:var(--primary-50)}.dark-mode .tabs-container button:hover{background-color:var(--primary-900)}.content-container{margin-top:30px}.papers-list{margin:0 auto;max-width:1200px;padding:20px;width:100%}.paper-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr 1fr;margin-bottom:20px;width:100%}.paper-button{align-items:center;background-color:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;box-shadow:var(--shadow-sm);color:var(--text-primary);cursor:pointer;display:flex;font-size:16px;justify-content:center;min-height:60px;padding:15px 20px;text-align:center;transition:all .2s ease;width:100%}.paper-button:hover{background-color:var(--bg-tertiary);border-color:var(--border-secondary);box-shadow:var(--shadow-md);transform:translateY(-1px)}.paper-button:disabled{background-color:var(--bg-tertiary);border-color:var(--border-primary);color:var(--text-tertiary);cursor:not-allowed;opacity:.7}.paper-button:disabled:hover{transform:none}.paper-button.qp{background-color:var(--primary-50);border-color:var(--primary-300);color:var(--primary-700)}.dark-mode .paper-button.qp{background-color:var(--primary-900);border-color:var(--primary-700);color:var(--primary-200)}.paper-button.ms{background-color:#f3e5f5;border-color:#ce93d8;color:#7b1fa2}.dark-mode .paper-button.ms{background-color:#7b1fa2;border-color:#ce93d8;color:#f3e5f5}.paper-button.in{background-color:#e8f5e9;border-color:#a5d6a7;color:#388e3c}.dark-mode .paper-button.in{background-color:#388e3c;border-color:#a5d6a7;color:#e8f5e9}.paper-button.zip{background-color:#fff59d;border-color:#ffc107;color:#6f4c00}.dark-mode .paper-button.zip{background-color:#6f4c00;border-color:#ffc107;color:#fff59d}.resources-list{display:flex;flex-wrap:wrap;gap:20px;justify-content:center}.paper-item{background-color:var(--bg-secondary);border-radius:8px;padding:15px;width:300px}.paper-item h3{color:var(--text-primary);margin-top:0}.paper-item ul{list-style-type:none;padding:0}.paper-item li{color:var(--text-secondary);font-size:.95em;padding:5px 0}.footer-links{font-size:1em;margin-top:40px;text-align:center}.footer-links a{color:var(--primary-600);margin:0 5px;text-decoration:none;transition:color var(--transition-fast)}.footer-links a:hover{color:var(--primary-700);text-decoration:underline}.loading-spinner{color:var(--text-primary);font-size:16px;gap:.5rem;margin:10px 0}.spinner{border-top:2px solid var(--border-primary);border:2px solid var(--border-primary);border-top-color:var(--primary-600)}.search-input{background-color:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:4px;color:var(--text-primary);font-size:16px;margin-bottom:8px;min-width:200px;outline:none;padding:8px 12px;transition:all var(--transition-fast)}.search-input:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px #3b82f61a}@media (max-width:768px){.paper-row{gap:10px;grid-template-columns:1fr}.paper-button{width:100%}.search-form-container form{align-items:center;flex-direction:column;gap:15px}.search-form-container label{align-items:center;max-width:300px;width:100%}}.no-results{color:var(--text-secondary);font-size:1.1em;margin-top:20px;padding:var(--space-8);text-align:center}.custom-dropdown{cursor:pointer;font-size:16px;position:relative;width:220px}.custom-dropdown-control{align-items:center;background-color:#fff;border:1px solid #ccc;border-radius:4px;color:#333;display:flex;justify-content:space-between;padding:8px 12px;transition:all .3s ease}.dark-mode .custom-dropdown-control{background-color:#242424;border-color:#333;color:#e5e5e5}.custom-dropdown-arrow{margin-left:8px}.custom-dropdown-menu{background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 8px #0000001a;left:0;max-height:800px;overflow-y:auto;position:absolute;top:calc(100% + 4px);width:100%;z-index:1000}.dark-mode .custom-dropdown-menu{background-color:#242424;border-color:#333;box-shadow:0 2px 8px #0006}.custom-dropdown-search{background-color:initial;border:none;border-bottom:1px solid #ccc;color:inherit;outline:none;padding:8px 12px;width:80%}.dark-mode .custom-dropdown-search{border-bottom-color:#333;color:#e5e5e5}.custom-dropdown-options{max-height:150px;overflow-y:auto}.custom-dropdown-option{border-bottom:1px solid #eee;color:inherit;padding:8px 12px;transition:background-color .2s ease}.dark-mode .custom-dropdown-option{border-bottom-color:#333}.custom-dropdown-option:hover{background-color:#f2f2f2}.dark-mode .custom-dropdown-option:hover{background-color:#2e2e2e}.custom-dropdown-no-options{color:#888;padding:8px 12px}.dark-mode .custom-dropdown-no-options{color:#888}.auth-container{align-items:center;background:linear-gradient(135deg,var(--primary-50) 0,var(--primary-100) 100%);display:flex;justify-content:center;min-height:100vh;padding:var(--space-6)}.dark-mode .auth-container{background:linear-gradient(135deg,var(--gray-900) 0,var(--gray-800) 100%)}.auth-card{background-color:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);max-width:420px;padding:var(--space-8);width:100%}.profile-card{max-width:600px}.dark-mode .auth-card{background-color:var(--bg-primary);border-color:var(--border-primary);box-shadow:0 25px 50px -12px #000c}.auth-header{margin-bottom:var(--space-8);text-align:center}.auth-logo{align-items:center;background:linear-gradient(135deg,var(--primary-600),var(--primary-700));border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:inline-flex;height:64px;justify-content:center;margin-bottom:var(--space-4);width:64px}.auth-logo svg{color:#fff;height:32px;width:32px}.auth-title{color:var(--text-primary);font-size:1.875rem;font-weight:800;margin-bottom:var(--space-2)}.auth-subtitle{color:var(--text-secondary);font-size:.875rem;line-height:1.5}.auth-form{gap:var(--space-6)}.auth-form,.form-group{display:flex;flex-direction:column}.form-group{gap:var(--space-2)}.form-label{font-weight:600}.form-input{background-color:var(--bg-secondary);border-radius:var(--radius-lg);font-size:1rem;padding:var(--space-4)}.input-icon-wrapper{position:relative}.input-icon-wrapper input{padding:var(--space-4) var(--space-4) var(--space-4) 3rem!important}.input-icon-wrapper input[data-password-field],.input-icon-wrapper input[type=password]{padding:var(--space-4) 3rem var(--space-4) 3rem!important}.input-icon{left:1rem;pointer-events:none}.input-icon,.password-toggle{color:var(--text-tertiary);position:absolute;top:50%;transform:translateY(-50%);z-index:2}.password-toggle{align-items:center;background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;display:flex;height:24px;justify-content:center;padding:var(--space-1);right:1rem;transition:color var(--transition-fast);width:24px}.password-toggle:hover{background-color:#0000000d;color:var(--text-secondary)}.dark-mode .password-toggle:hover{background-color:#ffffff1a}.form-input:focus{background-color:var(--bg-primary);box-shadow:0 0 0 3px #8b5cf61a}.dark-mode .form-input:focus{box-shadow:0 0 0 3px #8b5cf633}.form-input.error{border-color:var(--error);box-shadow:0 0 0 3px #ef44441a}.dark-mode .form-input.error{box-shadow:0 0 0 3px #ef444433}.auth-button{align-items:center;border:none;border-radius:var(--radius-lg);cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:var(--space-2);justify-content:center;min-height:48px;overflow:hidden;padding:var(--space-4) var(--space-6);position:relative;text-decoration:none;transition:all var(--transition-normal)}.auth-button:focus{box-shadow:0 0 0 3px #8b5cf633;outline:none}.auth-button:disabled{cursor:not-allowed;opacity:.6;transform:none!important}.auth-button{background:linear-gradient(135deg,var(--primary-600),var(--primary-700));box-shadow:0 4px 14px 0 #8b5cf633;color:#fff}.auth-button:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-700),var(--primary-800));box-shadow:0 8px 25px 0 #8b5cf64d;transform:translateY(-2px)}.dark-mode .auth-button{box-shadow:0 4px 14px 0 #8b5cf666}.dark-mode .auth-button:hover:not(:disabled){box-shadow:0 8px 25px 0 #8b5cf680}.auth-button.secondary{background:var(--bg-secondary);border:1px solid var(--border-primary);box-shadow:0 2px 8px 0 #0000001a;color:var(--text-primary)}.auth-button.secondary:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--border-secondary);box-shadow:0 4px 14px 0 #00000026;transform:translateY(-1px)}.dark-mode .auth-button.secondary{box-shadow:0 2px 8px 0 #0000004d}.dark-mode .auth-button.secondary:hover:not(:disabled){box-shadow:0 4px 14px 0 #0006}.auth-button.danger{background:linear-gradient(135deg,var(--error),#dc2626);box-shadow:0 4px 14px 0 #ef444433;color:#fff}.auth-button.danger:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 6px 20px 0 #ef44444d;transform:translateY(-1px)}.dark-mode .auth-button.danger{box-shadow:0 4px 14px 0 #ef444466}.dark-mode .auth-button.danger:hover:not(:disabled){box-shadow:0 6px 20px 0 #ef444480}.auth-button.success{background:linear-gradient(135deg,var(--success),#16a34a);box-shadow:0 4px 14px 0 #22c55e33;color:#fff}.auth-button.success:hover:not(:disabled){background:linear-gradient(135deg,#16a34a,#15803d);box-shadow:0 6px 20px 0 #22c55e4d;transform:translateY(-1px)}.dark-mode .auth-button.success{box-shadow:0 4px 14px 0 #22c55e66}.dark-mode .auth-button.success:hover:not(:disabled){box-shadow:0 6px 20px 0 #22c55e80}.auth-button.outline{background:#0000;border:2px solid var(--primary-600);box-shadow:none;color:var(--primary-600)}.auth-button.outline:hover:not(:disabled){background:var(--primary-600);box-shadow:0 4px 14px 0 #8b5cf633;color:#fff;transform:translateY(-1px)}.dark-mode .auth-button.outline{border-color:var(--primary-400);color:var(--primary-400)}.dark-mode .auth-button.outline:hover:not(:disabled){background:var(--primary-400);box-shadow:0 4px 14px 0 #8b5cf666;color:var(--primary-900)}.auth-button.ghost{background:#0000;border:none;box-shadow:none;color:var(--text-primary)}.auth-button.ghost:hover:not(:disabled){background:var(--bg-secondary);transform:translateY(-1px)}.auth-button.small{font-size:.875rem;min-height:36px;padding:var(--space-2) var(--space-4)}.auth-button.large{font-size:1.125rem;min-height:56px;padding:var(--space-5) var(--space-8)}.auth-button.loading{pointer-events:none}.auth-button.loading:before{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;content:"";height:20px;margin-right:var(--space-2);position:absolute;width:20px}.profile-avatar{flex-direction:column;margin-bottom:var(--space-8)}.avatar-circle,.profile-avatar{align-items:center;display:flex}.avatar-circle{background:linear-gradient(135deg,var(--primary-600),var(--primary-700));border-radius:50%;box-shadow:0 10px 30px #8b5cf64d;color:#fff;font-size:2.5rem;font-weight:700;height:120px;justify-content:center;margin-bottom:var(--space-4);width:120px}.dark-mode .avatar-circle{box-shadow:0 10px 30px #8b5cf680}.edit-profile-button{align-items:center;background:linear-gradient(135deg,var(--primary-600),var(--primary-700));border:none;border-radius:var(--radius-lg);box-shadow:0 4px 14px 0 #8b5cf633;color:#fff;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:var(--space-2);padding:var(--space-3) var(--space-6);transition:all var(--transition-normal)}.edit-profile-button:hover{background:linear-gradient(135deg,var(--primary-700),var(--primary-800));box-shadow:0 8px 25px 0 #8b5cf64d;transform:translateY(-2px)}.dark-mode .edit-profile-button{box-shadow:0 4px 14px 0 #8b5cf666}.dark-mode .edit-profile-button:hover{box-shadow:0 8px 25px 0 #8b5cf680}.profile-actions{display:flex;gap:var(--space-4);justify-content:center;margin-top:var(--space-6)}.save-button{background:linear-gradient(135deg,var(--success),#16a34a);box-shadow:0 4px 14px 0 #22c55e33}.save-button:hover:not(:disabled){background:linear-gradient(135deg,#16a34a,#15803d);box-shadow:0 8px 25px 0 #22c55e4d;transform:translateY(-2px)}.cancel-button{background:var(--bg-secondary);border:1px solid var(--border-primary);box-shadow:0 2px 8px 0 #0000001a;color:var(--text-primary)}.cancel-button:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--border-secondary);box-shadow:0 4px 14px 0 #00000026;transform:translateY(-1px)}.dark-mode .save-button{box-shadow:0 4px 14px 0 #22c55e66}.dark-mode .save-button:hover:not(:disabled){box-shadow:0 8px 25px 0 #22c55e80}.dark-mode .cancel-button{box-shadow:0 2px 8px 0 #0000004d}.dark-mode .cancel-button:hover:not(:disabled){box-shadow:0 4px 14px 0 #0006}.profile-info{display:flex;flex-direction:column;gap:var(--space-6);margin:var(--space-6) 0}.info-item{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);display:flex;justify-content:space-between;padding:var(--space-4)}.info-label{color:var(--text-secondary);font-size:.875rem;font-weight:600}.info-value{color:var(--text-primary);font-weight:500}.password-section{border-top:1px solid var(--border-primary);margin-top:var(--space-8);padding-top:var(--space-8)}.change-password-button{align-items:center;background:linear-gradient(135deg,var(--primary-600),var(--primary-700));border:none;border-radius:var(--radius-lg);box-shadow:0 4px 14px 0 #8b5cf633;color:#fff;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:var(--space-2);margin-bottom:var(--space-6);padding:var(--space-3) var(--space-6);transition:all var(--transition-normal)}.change-password-button:hover{background:linear-gradient(135deg,var(--primary-700),var(--primary-800));box-shadow:0 8px 25px 0 #8b5cf64d;transform:translateY(-2px)}.dark-mode .change-password-button{box-shadow:0 4px 14px 0 #8b5cf666}.dark-mode .change-password-button:hover{box-shadow:0 8px 25px 0 #8b5cf680}.form-options{justify-content:space-between;margin:var(--space-4) 0}.form-options,.remember-me{align-items:center;display:flex}.remember-me{color:var(--text-secondary);cursor:pointer;font-size:.875rem;gap:var(--space-2)}.remember-me input[type=checkbox]{accent-color:var(--primary-600);height:16px;width:16px}.forgot-password{color:var(--primary-600);font-size:.875rem;font-weight:500;text-decoration:none;transition:color var(--transition-fast)}.forgot-password:hover{color:var(--primary-700);text-decoration:underline}.dark-mode .forgot-password{color:var(--primary-400)}.dark-mode .forgot-password:hover{color:var(--primary-300)}.auth-error{background:linear-gradient(135deg,#ef44441a,#ef44440d);border:1px solid #ef444433;border-radius:var(--radius-lg);color:var(--error)}.auth-error,.auth-success{font-size:.875rem;font-weight:500;margin-bottom:var(--space-4);padding:var(--space-4)}.auth-success{background:linear-gradient(135deg,#22c55e1a,#22c55e0d);border:1px solid #22c55e33;border-radius:var(--radius-lg);color:var(--success)}.dark-mode .auth-error{background:linear-gradient(135deg,#ef444433,#ef44441a);border-color:#ef44444d}.dark-mode .auth-success{background:linear-gradient(135deg,#22c55e33,#22c55e1a);border-color:#22c55e4d}.error-message{color:var(--error)}.error-message,.success-message{font-size:.75rem;font-weight:500;margin-top:var(--space-1)}.success-message{color:var(--success)}.submit-button{background:linear-gradient(135deg,var(--primary-600),var(--primary-700));border-radius:var(--radius-lg);box-shadow:var(--shadow-md);cursor:pointer;font-size:1rem;font-weight:600;overflow:hidden;padding:var(--space-4);position:relative;transition:all var(--transition-normal)}.submit-button:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-700),var(--primary-800));box-shadow:var(--shadow-lg);transform:translateY(-2px)}.submit-button:disabled{cursor:not-allowed;opacity:.7;transform:none}.submit-button:disabled:hover{transform:none}.loading-spinner{align-items:center;display:inline-flex;gap:var(--space-2);justify-content:center}.spinner{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:20px;width:20px}.auth-divider{margin:var(--space-6) 0;position:relative;text-align:center}.auth-divider:before{background-color:var(--border-primary);content:"";height:1px;left:0;position:absolute;right:0;top:50%}.auth-divider span{background-color:var(--bg-primary);color:var(--text-tertiary);font-size:.875rem;padding:0 var(--space-4)}.auth-footer{border-top:1px solid var(--border-primary);margin-top:var(--space-8);padding-top:var(--space-6);text-align:center}.auth-link{color:var(--primary-600);font-weight:500;text-decoration:none;transition:color var(--transition-fast)}.auth-link:hover{color:var(--primary-700);text-decoration:underline}.auth-footer-text{color:var(--text-secondary);font-size:.875rem;margin-bottom:var(--space-2)}.forgot-password-container{align-items:center;background:linear-gradient(135deg,var(--primary-50) 0,var(--primary-100) 100%);display:flex;justify-content:center;min-height:100vh;padding:var(--space-6)}.dark-mode .forgot-password-container{background:linear-gradient(135deg,var(--gray-900) 0,var(--gray-800) 100%)}.back-button{align-items:center;color:var(--text-secondary);display:inline-flex;font-size:.875rem;font-weight:500;gap:var(--space-2);margin-bottom:var(--space-6);padding:var(--space-2) 0;text-decoration:none;transition:color var(--transition-fast)}.back-button:hover{color:var(--primary-600)}.back-button svg{height:16px;width:16px}@media (max-width:768px){.auth-container,.forgot-password-container{padding:var(--space-4)}.auth-card{padding:var(--space-6)}.auth-title{font-size:1.5rem}.profile-actions{flex-direction:column;gap:var(--space-3)}.auth-button{width:100%}.form-options{align-items:flex-start;flex-direction:column;gap:var(--space-3)}.avatar-circle{font-size:1.875rem;height:80px;width:80px}.info-item{align-items:flex-start;flex-direction:column;gap:var(--space-2)}}@media (max-width:480px){.auth-card{padding:var(--space-4)}.auth-title{font-size:1.25rem}.auth-button{font-size:.875rem;padding:var(--space-3) var(--space-4)}}.task-manager{--radius:12px;--shadow-sm:0 1px 2px #0000000f;--shadow-md:0 6px 20px #0000001f;--accent:#06c;--accent-strong:#0052a3;--success:#10b981;--danger:#ef4444;--priority-high:#dc3545;--priority-medium:#f39c12;--priority-low:#28a745}.task-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.task-header-actions{align-items:center;display:flex;gap:12px}.switch-btn{align-items:center;display:inline-flex;gap:6px}.add-task-button{align-items:center;background:var(--accent);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:background-color .3s ease,transform .2s ease}.add-task-button:hover{background:var(--accent-strong);transform:translateY(-2px)}.task-form-overlay{align-items:center;background:#00000080;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:1000}.task-form{animation:scaleIn .25s ease;background:#fff;border-radius:12px;box-shadow:0 6px 20px #00000026;max-width:460px;padding:2rem;width:100%}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.save-button{background:var(--accent);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:background-color .3s ease,transform .2s ease}.save-button:hover{background:var(--accent-strong);transform:translateY(-2px)}.cancel-button{border-radius:6px}.task-filters{display:flex;gap:1rem;margin:1rem 0 1.5rem}.task-filters select{-webkit-appearance:none;appearance:none;background:#fff url("data:image/svg+xml;charset=utf-8,%3Csvg width='14' height='10' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m1 1 6 6 6-6' stroke='%23666' stroke-width='2' fill='none'/%3E%3C/svg%3E") right .8rem center/10px 10px no-repeat;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:.95rem;padding:.6rem 2.4rem .6rem .9rem;transition:border-color .3s ease}.task-filters select:focus{border-color:#06c;outline:none}.select-toggle{background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-weight:600;padding:.6rem .9rem}.select-toggle.active{border-color:var(--accent);color:var(--accent)}.task-progress input[type=range]{-webkit-appearance:none;background:#0000;cursor:pointer;height:6px;margin:0 10px;width:100%}.task-progress input[type=range]::-webkit-slider-runnable-track{background:#f0f0f0;border-radius:3px;height:6px}.task-progress input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);border-radius:50%;height:18px;margin-top:-6px;-webkit-transition:transform .2s ease;transition:transform .2s ease;width:18px}.task-progress input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.15)}.task-progress input[type=range]::-moz-range-track{background:#f0f0f0;border-radius:3px;height:6px}.task-progress input[type=range]::-moz-range-thumb{background:var(--accent);border:none;border-radius:50%;height:18px;width:18px}.task-actions button{background:none;border:none;border-radius:6px;color:#555;cursor:pointer;padding:.35rem;transition:background-color .2s ease,color .2s ease,transform .2s ease}.task-actions button:hover{background:#0000000d;color:var(--accent);transform:translateY(-2px)}.task-item.completed{opacity:.6}.priority-icon.high{color:var(--priority-high)}.priority-icon.medium{color:var(--priority-medium)}.priority-icon.low{color:var(--priority-low)}.task-item .task-checkbox{align-items:center;border:2px solid var(--accent);border-radius:4px;cursor:pointer;display:flex;height:22px;justify-content:center;transition:background-color .2s ease,border-color .2s ease;width:22px}.task-item .task-checkbox svg{color:#fff;font-size:.9rem}.task-item.completed .task-checkbox{background:#28a745;border-color:#28a745}.task-item .task-checkbox:hover{background:#0066cc1a}.dark-mode .add-task-button{background:#1a75ff;color:#fff}.dark-mode .add-task-button:hover{background:#06c}.dark-mode .task-form{background:#2d2d2d;color:#f5f5f5}.dark-mode .task-filters select{background:#1e1e1e url("data:image/svg+xml;charset=utf-8,%3Csvg width='14' height='10' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m1 1 6 6 6-6' stroke='%23ccc' stroke-width='2' fill='none'/%3E%3C/svg%3E") right .8rem center/10px 10px no-repeat;border-color:#444;color:#f5f5f5}.dark-mode .task-filters select:focus{border-color:#1a75ff}.dark-mode .task-progress input[type=range]::-moz-range-track,.dark-mode .task-progress input[type=range]::-webkit-slider-runnable-track{background:#404040}.dark-mode .task-progress input[type=range]::-moz-range-thumb,.dark-mode .task-progress input[type=range]::-webkit-slider-thumb{background:#1a75ff}.dark-mode .task-actions button{color:#ccc}.dark-mode .task-actions button:hover{background:#ffffff0d;color:#6cf}.dark-mode .task-item .task-checkbox{border-color:#1a75ff}.dark-mode .task-item .task-checkbox:hover{background:#1a75ff26}.task-form{max-height:80vh;overflow-y:auto}.task-progress{grid-gap:10px;align-items:center;display:grid;gap:10px;grid-template-columns:1fr auto auto;margin-top:10px}.task-progress .progress-bar{background:linear-gradient(180deg,#eef2f7,#e3e8ef);border-radius:999px;box-shadow:inset 0 1px 2px #1018280f;height:10px;overflow:hidden}.task-progress .progress-fill{background:linear-gradient(90deg,#22c55e,#16a34a);border-radius:999px;height:100%;position:relative;transition:width .25s ease}.task-progress .progress-fill:after{animation:progressShimmer 2.2s linear infinite;background-image:linear-gradient(120deg,#fff0,#ffffff40 40%,#ffffff59 50%,#ffffff40 60%,#fff0);background-size:200% 100%;border-radius:inherit;content:"";inset:0;mix-blend-mode:overlay;pointer-events:none;position:absolute}@keyframes progressShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.task-progress .progress-fill:after{animation:none}}.task-progress .progress-label{color:#334155;font-size:.9rem;font-weight:600}.task-item .task-actions button{border:1px solid #e5e7eb}.task-item .task-actions button:last-child{background:#10b981;border-color:#0000;color:#fff}.task-item .task-actions button:last-child:hover{filter:brightness(.95)}.task-item .task-header h4.task-title{color:#111827;font-weight:700}.dark-mode .task-item .task-header h4.task-title{color:#f5f5f5}.task-top{gap:12px;justify-content:space-between}.task-main,.task-top{align-items:center;display:flex}.task-main{gap:10px}.progress-badge{--glass-bg:#3b82f626;--glass-border:#3b82f659;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(180deg,#ffffffb3,#ffffff4d);border:1px solid var(--glass-border);border-radius:999px;box-shadow:0 4px 10px #1e3a8a1f,inset 0 1px 0 #fff9;color:#1e3a8a;font-size:.8rem;font-weight:700;padding:4px 10px}.progress-badge.complete{--glass-border:#10b98173;background:linear-gradient(180deg,#a7f3d0bf,#6ee7b773);color:#065f46}.progress-badge.as-button{cursor:pointer;-webkit-user-select:none;user-select:none}.task-meta.compact{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 8px}.chip{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;color:#374151;font-size:.8rem;padding:4px 8px}.chip.due{background:#e2e8f0;color:#0f172a}.chip.subject{background:#dbeafe;border-color:#bfdbfe;color:#1e3a8a}.chip.priority-high{background:#fee2e2;border-color:#fecaca;color:#991b1b}.chip.priority-medium{background:#ffedd5;border-color:#fed7aa;color:#92400e}.chip.priority-low{background:#d1fae5;border-color:#a7f3d0;color:#065f46}.dark-mode .chip{background:#1f2937;border-color:#374151;color:#e5e7eb}.dark-mode .chip.subject{background:#3b82f633;border-color:#3b82f659;color:#dbeafe}.dark-mode .chip.priority-high{background:#ef444426;border-color:#ef444459;color:#fecaca}.dark-mode .chip.priority-medium{background:#f59e0b26;border-color:#f59e0b59;color:#fed7aa}.dark-mode .chip.priority-low{background:#10b98126;border-color:#10b98159;color:#a7f3d0}@media (max-width:768px){.task-filters{flex-direction:column;gap:.75rem}.task-filters select{background-position:right .9rem center;font-size:1rem;padding-right:2.8rem;width:100%}.task-progress{grid-auto-rows:auto;grid-template-columns:1fr auto}.task-progress input[type=range]{grid-column:1/-1}}@media (max-width:420px){.add-task-button{justify-content:center;width:100%}.task-actions button:last-child{padding:.35rem .5rem}}.kanban-board{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.kanban-column{background:linear-gradient(180deg,#f8fafce6,#f1f5f9e6);border:1px solid #e5e7eb;border-radius:12px;min-height:220px;padding:12px}.dark-mode .kanban-column{background:linear-gradient(180deg,#1f2937cc,#111827cc);border-color:#374151}.kanban-column-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.kanban-column-header h4{font-size:.95rem;margin:0}.kanban-column-header .count{color:#64748b;font-size:.8rem}.kanban-column-header .add-mini{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#111827;cursor:pointer;display:inline-flex;gap:6px;padding:4px 8px}.dark-mode .kanban-column-header .add-mini{background:#0b1220;border-color:#334155;color:#e5e7eb}.kanban-column-body{grid-gap:10px;display:grid;gap:10px}.kanban-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 2px 6px #0000000d;cursor:grab;padding:10px;position:relative}.kanban-card:active{cursor:grabbing}.dark-mode .kanban-card{background:#0b1220;border-color:#334155}.kanban-card svg{color:#374151}.dark-mode .kanban-card svg{color:#e5e7eb}.kc-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.kc-title{color:#0f172a;font-weight:700}.dark-mode .kc-title{color:#e5e7eb}.kc-desc{color:#475569;font-size:.9rem;margin-top:4px}.dark-mode .kc-desc{color:#94a3b8}.kc-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.kc-actions{display:flex;gap:6px;margin-top:8px}.kc-actions button{background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:4px 6px}.dark-mode .kc-actions button{background:#0b1220;border-color:#334155}.kc-progress{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:auto 1fr auto;margin-top:8px}.kc-progress input[type=range]{width:100%}.kc-progress .stepper{background:#fff;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;padding:4px 6px}.dark-mode .kc-progress .stepper{background:#0b1220;border-color:#334155}.progress-popover{background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:var(--shadow-md);padding:10px;position:absolute;transform:translateY(6px);z-index:10}.dark-mode .progress-popover{background:#0b1220;border-color:#334155}.progress-popover .quick-steps{display:flex;gap:6px;margin-bottom:8px}.progress-popover .quick-steps button{background:#fff;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;padding:4px 8px}.dark-mode .progress-popover .quick-steps button{background:#0b1220;border-color:#334155}.progress-popover .range-with-tooltip{margin-top:6px;position:relative}.progress-popover .slider-tooltip{background:#111827;border-radius:4px;color:#fff;font-size:12px;padding:2px 6px;position:absolute;top:-26px;transform:translateX(-50%);white-space:nowrap}.popover-actions{display:flex;justify-content:flex-end;margin-top:8px}.popover-actions button{background:#fff;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;padding:4px 8px}.dark-mode .popover-actions button{background:#0b1220;border-color:#334155}@media (max-width:900px){.kanban-board{grid-template-columns:1fr}.kanban-column{min-height:0}}.task-item.task-card{grid-gap:12px;background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius);box-shadow:0 2px 6px #0000000a;display:grid;gap:12px;grid-template-columns:22px 1fr;margin-bottom:12px;padding:12px;position:relative}.dark-mode .task-item.task-card{background:#0b1220;border-color:#334155}.task-item.task-card .spine{border-bottom-left-radius:var(--radius);border-top-left-radius:var(--radius);bottom:0;left:0;position:absolute;top:0;width:6px}.task-item.task-card .spine-high{background:var(--priority-high)}.task-item.task-card .spine-medium{background:var(--priority-medium)}.task-item.task-card .spine-low{background:var(--priority-low)}.task-item .select-checkbox{margin-right:6px}.task-item .title-input{background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#111827;font-size:1rem;font-weight:700;padding:4px 8px}.dark-mode .task-item .title-input{background:#0b1220;border-color:#334155;color:#e5e7eb}.task-progress.advanced{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr auto}.task-progress .progress-controls{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:auto 1fr auto}.task-progress .stepper{background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#111827;cursor:pointer;padding:4px 8px}.dark-mode .task-progress .stepper{background:#0b1220;border-color:#334155;color:#e5e7eb}.range-with-tooltip{position:relative}.range-with-tooltip .slider-tooltip{background:#111827;border-radius:4px;color:#fff;font-size:12px;opacity:0;padding:2px 6px;pointer-events:none;position:absolute;top:-26px;transform:translateX(-50%);transition:opacity .15s ease;white-space:nowrap}.range-with-tooltip:focus-within .slider-tooltip,.range-with-tooltip:hover .slider-tooltip{opacity:1}.bulk-toolbar{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffd9;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:10px;margin-bottom:10px;padding:8px;position:sticky;top:0;z-index:5}.dark-mode .bulk-toolbar{background:#0b1220cc;border-color:#334155}.bulk-toolbar .bulk-count{color:#111827;font-weight:700}.dark-mode .bulk-toolbar .bulk-count{color:#e5e7eb}.bulk-toolbar .bulk-complete{background:var(--success)}.bulk-toolbar .bulk-complete,.bulk-toolbar .bulk-delete{border:none;border-radius:6px;color:#fff;cursor:pointer;padding:6px 10px}.bulk-toolbar .bulk-delete{background:var(--danger);margin-left:auto}.bulk-toolbar .bulk-priority{align-items:center;display:inline-flex;gap:6px}.bulk-toolbar .bulk-priority .p-high{background:#fee2e2;border:1px solid #e5e7eb;border-radius:6px;color:#991b1b;padding:4px 8px}.bulk-toolbar .bulk-priority .p-medium{background:#ffedd5;border:1px solid #e5e7eb;border-radius:6px;color:#92400e;padding:4px 8px}.bulk-toolbar .bulk-priority .p-low{background:#d1fae5;border:1px solid #e5e7eb;border-radius:6px;color:#065f46;padding:4px 8px}.dark-mode .bulk-toolbar .bulk-priority .p-high,.dark-mode .bulk-toolbar .bulk-priority .p-low,.dark-mode .bulk-toolbar .bulk-priority .p-medium{border-color:#334155}.resource-library{background:#0000;border-radius:12px;padding:20px;transition:all .3s ease}.resource-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:32px}.view-switch{background:#eef2f7;border:1px solid #e5e7eb;border-radius:10px;display:inline-flex;padding:4px}.dark-mode .view-switch{background:#1f2937;border-color:#374151}.switch-btn{background:#0000;border:none;border-radius:8px;color:#475569;cursor:pointer;font-weight:600;padding:6px 10px}.switch-btn.active{background:#fff;box-shadow:0 1px 2px #0000000f;color:#111827}.dark-mode .switch-btn.active{background:#0f172a;color:#e5e7eb}.resource-header h2{color:#2c3e50;font-size:1.8rem;font-weight:600;margin:0;transition:color .3s ease}.dark-mode .resource-header h2{color:#f5f5f5}.header-controls{flex-wrap:wrap;gap:20px}.header-controls,.view-toggle{align-items:center;display:flex}.view-toggle{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;gap:8px;padding:4px}.dark-mode .view-toggle{background:#2d2d2d;border-color:#444}.toggle-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#666;cursor:pointer;display:flex;font-size:14px;height:36px;justify-content:center;transition:all .2s ease;width:36px}.toggle-btn:hover{background:#e0e0e0;color:#333}.toggle-btn.active{background:#3498db;box-shadow:0 2px 4px #3498db4d;color:#fff}.dark-mode .toggle-btn{color:#bbb}.dark-mode .toggle-btn:hover{background:#444;color:#fff}.dark-mode .toggle-btn.active{background:#4ca1d8}.toggle-label{color:#666;font-size:.9rem;font-weight:500;margin-left:4px;white-space:nowrap}.dark-mode .toggle-label{color:#bbb}.add-resource-btn{align-items:center;background:#2ecc71;border:none;border-radius:10px;box-shadow:0 4px 6px #2ecc7133;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:8px;padding:12px 20px;transition:all .2s ease}.add-resource-btn:hover{background:#27ae60;box-shadow:0 6px 8px #2ecc7140;transform:translateY(-2px)}.dark-mode .add-resource-btn{box-shadow:0 4px 6px #2ecc714d}.dark-mode .add-resource-btn:hover{box-shadow:0 6px 8px #2ecc7166}.resource-filters{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:32px}.search-bar{flex:1 1;margin-right:16px;min-width:250px;position:relative}.search-bar input{background:#fff;border:2px solid #e0e0e0;border-radius:10px;color:#333;font-size:1rem;padding:12px 16px 12px 42px;transition:all .2s ease;width:100%}.dark-mode .search-bar input{background:#2d2d2d;border-color:#444;color:#f5f5f5}.search-bar input:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.dark-mode .search-bar input:focus{box-shadow:0 0 0 3px #3498db33}.search-icon{color:#95a5a6;left:16px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.dark-mode .search-icon{color:#777}.category-filters{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;width:100%}.category-filters button{background:#0000;border:2px solid #3498db;border-radius:8px;color:#3498db;cursor:pointer;flex-shrink:0;font-weight:500;padding:8px 16px;transition:all .2s ease}.category-filters button:hover{background:#3498db1a}.dark-mode .category-filters button{border-color:#4ca1d8;color:#4ca1d8}.dark-mode .category-filters button:hover{background:#4ca1d81a}.category-filters button.active{background:#3498db;color:#fff}.dark-mode .category-filters button.active{background:#4ca1d8}.storage-info{background:#f8f9fa;border:1px solid #0000000d;border-radius:12px;margin-bottom:24px;padding:16px}.dark-mode .storage-info{background:#2d2d2d;border-color:#ffffff0d}.storage-details{align-items:center;display:flex;font-size:.9rem;justify-content:space-between;margin-bottom:8px}.storage-text{color:#2c3e50;font-weight:500}.dark-mode .storage-text{color:#f5f5f5}.storage-percentage{color:#7f8c8d}.dark-mode .storage-percentage{color:#bbb}.storage-bar{background:#0000001a;border-radius:4px;height:8px;overflow:hidden}.dark-mode .storage-bar{background:#ffffff1a}.storage-used{background:linear-gradient(90deg,#2ecc71,#27ae60);border-radius:4px;height:100%;transition:width .3s ease}.storage-used[style*="100%"]{background:linear-gradient(90deg,#e74c3c,#c0392b)}.add-resource-form{background:#f8f9fa;border-radius:12px;box-shadow:0 4px 12px #0000000d;margin-bottom:32px;padding:24px}.dark-mode .add-resource-form{background:#2d2d2d;box-shadow:0 4px 12px #0003}.add-resource-form h3{color:#2c3e50;font-size:1.4rem;font-weight:600;margin:0 0 24px}.dark-mode .add-resource-form h3{color:#f5f5f5}.resource-type-selector{background:#00000005;border-radius:8px;display:flex;gap:16px;margin-bottom:24px;padding:16px}.dark-mode .resource-type-selector{background:#ffffff05}.resource-type-selector label{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:8px;color:#2c3e50;cursor:pointer;display:flex;font-weight:500;gap:8px;padding:12px 16px;transition:all .2s ease}.dark-mode .resource-type-selector label{background:#3d3d3d;border-color:#555;color:#f5f5f5}.resource-type-selector label:hover{background:#3498db0d;border-color:#3498db}.dark-mode .resource-type-selector label:hover{background:#4ca1d80d;border-color:#4ca1d8}.resource-type-selector input[type=radio]{margin:0}.resource-type-selector input[type=radio]:checked+*{background:#3498db1a;border-color:#3498db;color:#3498db}.dark-mode .resource-type-selector input[type=radio]:checked+*{background:#4ca1d81a;border-color:#4ca1d8;color:#4ca1d8}.file-upload-area{border:2px dashed #e0e0e0;border-radius:8px;padding:16px;text-align:center;transition:all .2s ease}.dark-mode .file-upload-area{border-color:#555}.file-upload-area:hover{background:#3498db05;border-color:#3498db}.dark-mode .file-upload-area:hover{background:#4ca1d805;border-color:#4ca1d8}.file-upload-area input[type=file]{margin-bottom:8px}.selected-file{align-items:center;background:#2ecc711a;border-radius:6px;color:#27ae60;display:flex;font-weight:500;gap:8px;justify-content:center;margin:8px 0;padding:8px}.dark-mode .selected-file{background:#2ecc7133}.selected-file-list{list-style:none;margin:12px 0;padding:0}.selected-file-list li{align-items:center;background:#2ecc711a;border-radius:6px;color:#27ae60;display:flex;font-weight:500;gap:8px;margin-bottom:8px;padding:8px 12px}.dark-mode .selected-file-list li{background:#2ecc7133}.upload-formats{color:#7f8c8d;line-height:1.4;margin:8px 0 0}.dark-mode .upload-formats{color:#bbb}.form-group{margin-bottom:20px}.form-group label{font-weight:500;margin-bottom:8px}.dark-mode .form-group label{color:#e0e0e0}.form-group input,.form-group select,.form-group textarea{background:#fff;border:2px solid #e0e0e0;border-radius:8px;color:#333;font-size:1rem;padding:12px;transition:all .2s ease;width:100%}.dark-mode .form-group input,.dark-mode .form-group select,.dark-mode .form-group textarea{background:#3d3d3d;border-color:#555;color:#f5f5f5}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.dark-mode .form-group input:focus,.dark-mode .form-group select:focus,.dark-mode .form-group textarea:focus{box-shadow:0 0 0 3px #3498db33}.form-group textarea{min-height:120px;resize:vertical}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.form-actions{flex-wrap:wrap;gap:16px;margin-top:24px}.cancel-btn,.submit-btn{border:none;border-radius:8px;cursor:pointer;font-weight:500;padding:12px 24px;transition:all .2s ease}.submit-btn{background:#3498db;color:#fff}.submit-btn:hover{background:#2980b9;box-shadow:0 4px 6px #3498db33;transform:translateY(-2px)}.dark-mode .submit-btn:hover{box-shadow:0 4px 6px #3498db4d}.cancel-btn{background:#e74c3c;color:#fff}.cancel-btn:hover{background:#c0392b;box-shadow:0 4px 6px #e74c3c33;transform:translateY(-2px)}.dark-mode .cancel-btn:hover{box-shadow:0 4px 6px #e74c3c4d}.resources-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.resource-card{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(180deg,#ffffffeb,#ffffffc7);border:1px solid #e2e8f0e6;border-radius:14px;box-shadow:0 6px 18px #0000000f;display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative;transition:all .25s ease}.dark-mode .resource-card{background:linear-gradient(180deg,#1a1a1aeb,#1a1a1abf);border-color:#4b556399;box-shadow:0 6px 18px #00000040}.resource-card:hover{box-shadow:0 8px 16px #0000001a;transform:translateY(-4px)}.dark-mode .resource-card:hover{box-shadow:0 8px 16px #0003}.resource-icon{align-items:center;background:#f8f9fa;border-radius:12px;color:#3498db;display:flex;font-size:1.5rem;height:50px;justify-content:center;margin-bottom:16px;width:50px}.dark-mode .resource-icon{background:#3d3d3d;color:#4ca1d8}.resource-content{flex:1 1;padding:20px}.resource-meta{flex-wrap:wrap;gap:8px}.resource-meta .category,.resource-meta .date,.resource-meta .file-size{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;padding:4px 8px}.dark-mode .resource-meta .category,.dark-mode .resource-meta .date,.dark-mode .resource-meta .file-size{background:#1f2937;border-color:#374151}.resource-type{background:#3498db1a;border-radius:6px;color:#3498db;display:inline-block;font-size:.8rem;font-weight:500;margin-bottom:12px;padding:5px 10px}.dark-mode .resource-type{background:#4ca1d833;color:#4ca1d8}.resource-title{color:#2c3e50;font-size:1.2rem;font-weight:600;line-height:1.4;margin:0 0 12px}.dark-mode .resource-title{color:#f5f5f5}.resource-description{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:#7f8c8d;display:-webkit-box;line-height:1.5;margin:0 0 16px;overflow:hidden}.dark-mode .resource-description{color:#bbb}.resource-meta{align-items:center;border-top:1px solid #0000000d;color:#95a5a6;display:flex;font-size:.85rem;justify-content:space-between;margin-top:auto;padding-top:16px}.dark-mode .resource-meta{border-top-color:#ffffff0d;color:#999}.resource-date{font-style:italic}.resource-actions{border-top:1px solid #0000000d;display:flex;gap:8px;justify-content:flex-end;margin-top:16px;padding-top:16px}.dark-mode .resource-actions{border-top-color:#ffffff0d}.action-btn{border:none;border-radius:10px;box-shadow:0 2px 4px #0000001a;font-size:16px;height:42px;justify-content:center;text-decoration:none;transition:all .2s ease;width:42px}.download-btn{background:#2ecc711a;color:#27ae60}.download-btn:hover{background:#2ecc7133;transform:translateY(-2px)}.link-btn{background:#3498db1a;color:#3498db}.link-btn:hover{background:#3498db33;transform:translateY(-2px)}.delete-btn{background:#e74c3c1a;color:#e74c3c}.delete-btn:hover{background:#e74c3c33;transform:translateY(-2px)}.dark-mode .download-btn{background:#2ecc7133}.dark-mode .link-btn{background:#3498db33}.dark-mode .delete-btn{background:#e74c3c33}.pdf-icon{color:#e74c3c}.image-icon{color:#9b59b6}.video-icon{color:#3498db}.file-icon{color:#7f8c8d}.file-size{color:#95a5a6;font-size:.8rem;font-style:italic}.dark-mode .file-size{color:#999}.no-resources{background:#f8f9fa;border-radius:12px;color:#7f8c8d;margin-top:24px;padding:48px 24px;text-align:center}.dark-mode .no-resources{background:#2d2d2d;color:#bbb}.empty-state{font-size:1.1rem;line-height:1.5;margin:16px 0}.dark-mode .empty-state{color:#e0e0e0}.empty-state-icon{color:#3498db;font-size:3rem;margin-bottom:16px}.dark-mode .empty-state-icon{color:#4ca1d8}.error-message,.loading-spinner{color:#7f8c8d;font-size:1.1rem;padding:40px;text-align:center}.dark-mode .error-message,.dark-mode .loading-spinner{color:#bbb}.retry-button{background:#3498db;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-block;margin-top:16px;padding:8px 16px;transition:all .2s ease}.retry-button:hover{background:#2980b9}@media (max-width:768px){.resource-library{padding:12px}.resource-header{align-items:stretch;flex-direction:column;gap:12px;margin-bottom:20px}.resource-header h2{font-size:1.6rem;text-align:center}.header-controls{flex-wrap:wrap;gap:16px;justify-content:center}.view-switch{margin-bottom:8px}.switch-btn{font-size:.95rem}.view-toggle{background:#f8f9fa;border-radius:10px;order:1;padding:6px}.dark-mode .view-toggle{background:#2d2d2d}.toggle-btn{font-size:16px;height:40px;width:40px}.toggle-label{font-size:.95rem;margin-left:6px}.add-resource-btn{font-size:1rem;justify-content:center;order:2;padding:14px 20px;width:100%}.folder-header{padding:16px 20px}.folder-icon{font-size:1.2rem;height:40px;margin-right:12px;width:40px}.folder-title{font-size:1.1rem}.folder-count{font-size:.85rem}.folder-resources-grid{gap:16px;grid-template-columns:1fr;padding:20px}.folder-chevron{font-size:14px;height:28px;width:28px}.search-bar{margin-bottom:0;width:100%}.search-bar input{font-size:16px;padding:14px 16px 14px 42px}.category-filters{gap:8px;margin-top:12px}.category-filters button{font-size:.9rem;padding:10px 14px;white-space:nowrap}.add-resource-form{background:#000c;border-radius:0;bottom:0;box-shadow:none;display:flex;flex-direction:column;left:0;margin:0;overflow-y:auto;padding:20px;position:fixed;right:0;top:0;z-index:1000}.add-resource-form .form-content{background:#fff;border-radius:12px;margin:auto 0;max-height:90vh;overflow-y:auto;padding:24px}.dark-mode .add-resource-form .form-content{background:#2d2d2d}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column;gap:12px}.cancel-btn,.submit-btn{font-size:1rem;padding:16px;width:100%}.file-upload-area{padding:20px}.file-upload-area input[type=file]{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;padding:12px;width:100%}.dark-mode .file-upload-area input[type=file]{background:#3d3d3d;border-color:#555;color:#f5f5f5}.resources-grid{gap:16px;grid-template-columns:1fr;margin-top:24px}.resource-meta{align-items:flex-start;flex-direction:column;gap:8px;padding-top:12px}.category{align-items:center;color:#3498db;display:flex;font-weight:600;gap:6px;order:1}.dark-mode .category{color:#4ca1d8}.date{color:#95a5a6;font-size:.8rem;order:2}.dark-mode .date{color:#999}.file-size{color:#95a5a6;font-size:.8rem;font-weight:500;order:3}.dark-mode .file-size{color:#999}.resource-actions{gap:16px;justify-content:center;padding-top:16px}.action-btn{border-radius:12px;box-shadow:0 2px 8px #0000001a;font-size:18px;height:48px;width:48px}.action-btn:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.resource-content{padding:20px 20px 16px}.resource-title{font-size:1.3rem;line-height:1.3;margin-bottom:8px}.resource-description{-webkit-line-clamp:2;font-size:.95rem;line-height:1.4;margin-bottom:12px}.resource-viewer{height:90vh;width:95vw}.viewer-content{flex-direction:column}.viewer-main{height:60%}.viewer-sidebar{border-left:none;border-top:1px solid #e0e0e0;height:40%;max-width:none;min-width:0;min-width:auto;width:100%!important}.dark-mode .viewer-sidebar{border-top-color:#444}.resize-handle{display:none}}@media (max-width:480px){.resource-library{padding:8px}.resource-header{gap:8px;margin-bottom:16px}.resource-header h2{font-size:1.4rem}.header-controls{gap:12px;justify-content:center}.view-toggle{border-radius:12px;padding:8px}.toggle-btn{border-radius:8px;font-size:18px;height:44px;width:44px}.toggle-label{font-size:1rem;margin-left:8px}.add-resource-btn{font-size:1.1rem;font-weight:600;padding:16px 20px}.resource-filters{gap:8px}.search-bar input{border-radius:12px;font-size:16px;padding:16px 16px 16px 42px}.category-filters{gap:6px;margin-top:8px}.category-filters button{border-radius:8px;font-size:.85rem;padding:8px 12px}.storage-info{margin-bottom:16px;padding:12px}.folder-header{border-radius:12px 12px 0 0;padding:14px 16px}.folder-icon{border-radius:8px;font-size:1rem;height:36px;margin-right:10px;width:36px}.folder-title{font-size:1rem;line-height:1.2}.folder-count{font-size:.8rem}.folder-chevron{font-size:12px;height:24px;width:24px}.folder-resources-grid{gap:12px;padding:16px}.folder-resources-grid .resource-card{border-radius:12px;overflow:hidden}.folder-resources-grid .resource-content{padding:14px}.folder-resources-grid .resource-icon{border-radius:8px;font-size:1.1rem;height:36px;margin-bottom:10px;width:36px}.folder-resources-grid .resource-title{font-size:1.1rem;margin-bottom:6px}.folder-resources-grid .resource-description{font-size:.85rem;margin-bottom:8px}.folder-resources-grid .resource-meta{gap:4px;padding-top:8px}.folder-resources-grid .date,.folder-resources-grid .file-size{font-size:.7rem}.folder-resources-grid .resource-actions{gap:12px;padding:12px 16px 0}.folder-resources-grid .action-btn{border-radius:10px;font-size:16px;height:44px;width:44px}.add-resource-form{padding:16px}.add-resource-form .form-content{border-radius:16px;padding:20px}.add-resource-form h3{font-size:1.3rem;margin-bottom:20px;text-align:center}.resource-type-selector{flex-direction:column;gap:12px;margin-bottom:20px;padding:12px}.resource-type-selector label{font-size:1rem;justify-content:center;padding:16px}.form-group{margin-bottom:18px}.form-group label{font-size:1rem;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{border-radius:10px;font-size:16px;padding:16px}.form-group textarea{min-height:100px}.file-upload-area{border-radius:12px;padding:24px}.file-upload-area input[type=file]{border-radius:10px;padding:16px}.selected-file-list li{border-radius:8px;font-size:.9rem;padding:12px}.upload-formats{font-size:.8rem}.cancel-btn,.submit-btn{border-radius:10px;font-size:1.1rem;padding:18px}.resources-grid{gap:12px;margin-top:20px}.resource-card{border-radius:16px;overflow:hidden}.resource-content{padding:16px}.resource-icon{border-radius:10px;font-size:1.3rem;height:44px;margin-bottom:12px;width:44px}.resource-title{font-size:1.2rem;margin-bottom:6px}.resource-description{font-size:.9rem;margin-bottom:10px}.resource-meta{gap:6px;padding-top:10px}.category{background:#3498db1a;border-radius:6px;color:#3498db;font-size:.85rem;padding:4px 8px}.dark-mode .category{background:#4ca1d833;color:#4ca1d8}.date,.file-size{font-size:.75rem}.action-btn{border-radius:14px;font-size:20px;height:52px;width:52px}.resource-viewer{border-radius:0;height:100vh;width:100vw}.viewer-sidebar{border-left:none;border-top:1px solid #e0e0e0;height:40%;max-width:none;min-width:0;min-width:auto;width:100%!important}.tab-btn{font-size:.8rem;padding:10px 6px}.resize-handle{display:none}.viewer-title-section{align-items:center;flex-direction:row;gap:12px;justify-content:space-between}.file-navigation{gap:8px;margin-top:0}.file-navigation .nav-btn{font-size:12px;height:28px;width:28px}.file-counter{font-size:.8rem;min-width:50px}.file-list-items{gap:6px}.file-list-item{gap:10px;padding:10px}.file-list-item .file-icon{font-size:14px;height:28px;width:28px}.file-name{font-size:.85rem}.current-indicator{font-size:10px;height:20px;width:20px}}.flashcard-icon{color:#9c27b0}.flashcard-limit-info{align-items:center;background:#9c27b01a;border-radius:4px;display:flex;justify-content:space-between;margin-top:8px;padding:8px}.dark-mode .flashcard-limit-info{background:#9c27b033}.flashcard-limit{color:#9c27b0;font-size:12px}.flashcard-limit.limit-reached{color:#f44336}.generate-flashcards-btn:disabled{background:#ccc!important;cursor:not-allowed}.dark-mode .generate-flashcards-btn:disabled{background:#444!important}.flashcard-unavailable{background:#f5f5f5;border-radius:4px;color:#666;margin:16px 0;padding:16px;text-align:center}.dark-mode .flashcard-unavailable{background:#2c2c2c;color:#bbb}.limit-warning{color:#f44336;font-size:12px;margin-top:8px}.flashcard-main-viewer{background:#f8f9fa;display:flex;flex-direction:column;height:100%;max-width:none;min-height:0;overflow-y:auto;padding:20px;width:100%}.dark-mode .flashcard-main-viewer{background:#1a1a1a}.interactive-flashcard{align-items:center;display:flex;flex-direction:column;gap:20px;max-width:none;min-height:100%;padding-bottom:20px;width:100%}.study-progress{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;max-width:1200px;padding:16px;width:100%}.dark-mode .study-progress{background:#2c2c2c}.progress-info{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.card-counter{color:#2c3e50;font-size:1.1rem;font-weight:600}.dark-mode .card-counter{color:#f5f5f5}.study-stats{color:#666;font-size:.9rem}.dark-mode .study-stats{color:#bbb}.progress-bar{background:#e0e0e0}.dark-mode .progress-bar{background:#444}.progress-fill{background:linear-gradient(90deg,#3498db,#2ecc71);border-radius:4px;transition:width .3s ease}.flashcard-container{align-items:center;display:flex;flex:1 1;justify-content:center;margin-bottom:20px;max-width:1200px;perspective:1000px}.flashcard-container,.flashcard-inner{cursor:pointer;min-height:300px;width:100%}.flashcard-inner{height:auto;max-width:800px;position:relative;text-align:center;transform-style:preserve-3d;transition:transform .6s,box-shadow .3s ease}.flashcard-inner:hover{box-shadow:0 12px 24px #00000026}.flashcard-container.flipped .flashcard-inner{transform:rotateY(180deg)}.flashcard-back,.flashcard-front{backface-visibility:hidden;border:2px solid #e0e0e0;border-radius:12px;box-shadow:0 8px 16px #0000001a;box-sizing:border-box;display:flex;flex-direction:column;height:auto;justify-content:center;min-height:100%;padding:24px;position:absolute;width:100%}.flashcard-front{background:#fff;color:#2c3e50}.flashcard-back{background:#3498db;color:#fff;transform:rotateY(180deg)}.dark-mode .flashcard-front{background:#2c2c2c;border-color:#444;color:#f5f5f5}.dark-mode .flashcard-back{background:#4ca1d8}.card-label{font-size:.9rem;font-weight:600;letter-spacing:1px;margin-bottom:16px;opacity:.8;text-transform:uppercase}.card-content{word-wrap:break-word;align-items:center;display:flex;flex:1 1;font-size:1.3rem;-webkit-hyphens:auto;hyphens:auto;justify-content:center;line-height:1.6;overflow-wrap:break-word;padding:8px 0;text-align:center}.flashcard-controls{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;flex-shrink:0;gap:16px;max-width:1200px;padding:20px;width:100%}.dark-mode .flashcard-controls{background:#2c2c2c}.navigation-controls{grid-gap:16px;align-items:center;display:grid;gap:16px;grid-template-columns:auto 1fr auto;width:100%}.flip-btn,.nav-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-weight:500;gap:8px;padding:12px 20px;transition:all .2s ease}.nav-btn{background:#3498db;color:#fff;min-width:50px}.nav-btn:hover:not(:disabled){background:#2980b9;transform:translateY(-1px)}.nav-btn:disabled{background:#bdc3c7;cursor:not-allowed;transform:none}.flip-btn{background:#2ecc71;color:#fff;font-size:1rem;justify-self:center;max-width:300px;padding:12px 24px}.flip-btn:hover{background:#27ae60;transform:translateY(-1px)}.dark-mode .nav-btn{background:#4ca1d8}.dark-mode .nav-btn:hover:not(:disabled){background:#3498db}.dark-mode .nav-btn:disabled{background:#555}.answer-feedback{align-items:center;background:#f8f9fa;border-radius:6px;display:flex;flex-direction:column;gap:12px;margin-top:8px;padding:16px}.dark-mode .answer-feedback{background:#1a1a1a}.feedback-label{color:#666;font-size:.9rem;font-weight:500}.dark-mode .feedback-label{color:#bbb}.feedback-buttons{display:flex;gap:12px}.feedback-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s ease}.feedback-btn.correct{background:#2ecc71;color:#fff}.feedback-btn.correct:hover{background:#27ae60;transform:translateY(-1px)}.feedback-btn.incorrect{background:#e74c3c;color:#fff}.feedback-btn.incorrect:hover{background:#c0392b;transform:translateY(-1px)}.feedback-btn.pressed{border:2px solid #ffffff4d;box-shadow:inset 0 2px 4px #0003;transform:translateY(1px)}.feedback-btn.correct.pressed{background:#27ae60}.feedback-btn.incorrect.pressed{background:#c0392b}.utility-controls{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.utility-btn{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:6px;color:#666;cursor:pointer;display:flex;font-size:.85rem;gap:6px;padding:8px 12px;transition:all .2s ease}.utility-btn:hover{background:#f8f9fa;border-color:#3498db;color:#3498db}.utility-btn.active{background:#3498db;border-color:#3498db;color:#fff}.dark-mode .utility-btn{background:#1a1a1a;border-color:#444;color:#bbb}.dark-mode .utility-btn:hover{background:#2c2c2c;border-color:#4ca1d8;color:#4ca1d8}.dark-mode .utility-btn.active{background:#4ca1d8;border-color:#4ca1d8}.card-grid-overview{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;flex-shrink:0;max-width:1200px;padding:16px;width:100%}.dark-mode .card-grid-overview{background:#2c2c2c}.grid-header{color:#2c3e50;font-weight:600;margin-bottom:12px}.dark-mode .grid-header{color:#f5f5f5}.card-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));overflow:visible}.card-dot{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:6px;color:#666;cursor:pointer;display:flex;font-size:.8rem;font-weight:500;height:40px;justify-content:center;transition:all .2s ease;width:40px}.card-dot:hover{background:#f8f9fa;border-color:#3498db;color:#3498db}.card-dot.current{background:#3498db;border-color:#3498db;color:#fff}.card-dot.correct{background:#2ecc71;border-color:#2ecc71;color:#fff}.card-dot.incorrect{background:#e74c3c;border-color:#e74c3c;color:#fff}.dark-mode .card-dot{background:#1a1a1a;border-color:#444;color:#bbb}.dark-mode .card-dot:hover{background:#2c2c2c;border-color:#4ca1d8;color:#4ca1d8}.dark-mode .card-dot.current{background:#4ca1d8;border-color:#4ca1d8}.flashcard-empty,.flashcard-error,.flashcard-loading{align-items:center;color:#666;display:flex;flex-direction:column;height:300px;justify-content:center;text-align:center}.dark-mode .flashcard-empty,.dark-mode .flashcard-error,.dark-mode .flashcard-loading{color:#bbb}.flashcard-error .retry-btn{background:#3498db;border:none;border-radius:6px;color:#fff;cursor:pointer;margin-top:16px;padding:8px 16px;transition:background .2s ease}.flashcard-error .retry-btn:hover{background:#2980b9}.flashcard-study-panel{display:flex;flex-direction:column;gap:20px}.study-session-stats{background:#f8f9fa;border-radius:8px;padding:16px}.dark-mode .study-session-stats{background:#1a1a1a}.study-session-stats h5{color:#2c3e50;font-size:1rem;margin:0 0 12px}.dark-mode .study-session-stats h5{color:#f5f5f5}.stats-grid{grid-gap:12px;gap:12px;grid-template-columns:1fr 1fr}.stat-item{display:flex;flex-direction:column;text-align:center}.stat-label{color:#666;font-size:.8rem;margin-bottom:4px}.dark-mode .stat-label{color:#bbb}.stat-value{color:#2c3e50;font-size:1.2rem;font-weight:600}.stat-value.correct{color:#2ecc71}.stat-value.incorrect{color:#e74c3c}.study-options h5{color:#2c3e50;font-size:1rem;margin:0 0 12px}.dark-mode .study-options h5{color:#f5f5f5}.option-buttons{display:flex;flex-direction:column;gap:8px}.option-btn{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:6px;color:#666;cursor:pointer;display:flex;font-size:.9rem;gap:8px;justify-content:center;padding:10px 16px;transition:all .2s ease}.option-btn:hover{background:#f8f9fa;border-color:#3498db;color:#3498db}.option-btn.active{background:#3498db;border-color:#3498db;color:#fff}.dark-mode .option-btn{background:#1a1a1a;border-color:#444;color:#bbb}.dark-mode .option-btn:hover{background:#2c2c2c;border-color:#4ca1d8;color:#4ca1d8}.dark-mode .option-btn.active{background:#4ca1d8;border-color:#4ca1d8}.flashcard-metadata{background:#f8f9fa;border-radius:8px;padding:16px}.dark-mode .flashcard-metadata{background:#1a1a1a}.flashcard-metadata h5{color:#2c3e50;font-size:1rem;margin:0 0 12px}.dark-mode .flashcard-metadata h5{color:#f5f5f5}.flashcard-metadata p{color:#666;font-size:.9rem;margin:6px 0}.dark-mode .flashcard-metadata p{color:#bbb}.study-tips{background:#e8f4fd;border-radius:8px;padding:16px}.dark-mode .study-tips{background:#1a2332}.study-tips h5{color:#2c3e50;font-size:1rem;margin:0 0 12px}.dark-mode .study-tips h5{color:#f5f5f5}.study-tips ul{color:#666;font-size:.85rem;line-height:1.6;margin:0;padding-left:20px}.dark-mode .study-tips ul{color:#bbb}.flashcard-panel-loading{color:#666;padding:20px;text-align:center}.dark-mode .flashcard-panel-loading{color:#bbb}.keyboard-shortcuts{background:#f0f8ff;border-radius:8px;padding:16px}.dark-mode .keyboard-shortcuts{background:#1a2332}.keyboard-shortcuts h5{color:#2c3e50;font-size:1rem;margin:0 0 12px}.dark-mode .keyboard-shortcuts h5{color:#f5f5f5}.shortcuts-list{display:flex;flex-direction:column;gap:8px}.shortcut-item{align-items:center;display:flex;font-size:.85rem;gap:10px}.shortcut-item kbd{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:4px;box-shadow:0 1px 2px #0000001a;color:#333;font-family:monospace;font-size:.8rem;min-width:32px;padding:2px 6px;text-align:center}.dark-mode .shortcut-item kbd{background:#2c2c2c;border-color:#444;color:#f5f5f5}.shortcut-item span{color:#666}.dark-mode .shortcut-item span{color:#bbb}@media (max-width:768px){.flashcard-main-viewer{padding:12px}.card-content{font-size:1.1rem}.flashcard-inner{min-height:250px}.flashcard-container{margin-bottom:25px}.navigation-controls{flex-direction:column;gap:12px}.flip-btn{order:-1}.stats-grid{gap:8px;grid-template-columns:1fr}.card-grid{grid-template-columns:repeat(auto-fill,minmax(35px,1fr))}.card-dot{font-size:.75rem;height:35px;width:35px}}@media (max-width:480px){.flashcard-controls{padding:16px}.flashcard-container{margin-bottom:30px}.card-content{font-size:1rem;padding:12px 0}.utility-controls{justify-content:center}.utility-btn{font-size:.8rem;padding:6px 10px}.feedback-buttons{flex-direction:column;width:100%}.feedback-btn{justify-content:center}}.flashcard-viewer{background:#f8f9fa;border-radius:4px;color:#666;margin:16px 0;padding:16px;text-align:center}.dark-mode .flashcard-viewer{background:#2c2c2c;color:#bbb}.mobile-sidebar-toggle{align-items:center;align-self:center;background:#3498db;border:none;border-radius:18px;box-shadow:0 2px 4px #0003;color:#fff;cursor:pointer;display:flex;height:36px;justify-content:center;margin-bottom:6px;position:sticky;top:6px;transition:background .2s ease;width:36px;z-index:1}.mobile-sidebar-toggle:hover{background:#2980b9}.dark-mode .mobile-sidebar-toggle{background:#4ca1d8}.folder-view{display:flex;flex-direction:column;gap:16px}.folder-container{background:#fff;border:1px solid #0000000d;border-radius:12px;box-shadow:0 4px 12px #0000000d;overflow:hidden;transition:all .3s ease}.dark-mode .folder-container{background:#2d2d2d;border-color:#ffffff0d;box-shadow:0 4px 12px #00000026}.folder-container:hover{box-shadow:0 8px 16px #0000001a;transform:translateY(-2px)}.dark-mode .folder-container:hover{box-shadow:0 8px 16px #0003}.folder-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #0000000d;cursor:pointer;display:flex;padding:20px 24px;transition:all .2s ease}.dark-mode .folder-header{background:#2d2d2d;border-bottom-color:#ffffff0d}.folder-header:hover{background:#e8f4fd}.dark-mode .folder-header:hover{background:#1a2332}.folder-icon{align-items:center;background:#3498db;border-radius:12px;color:#fff;display:flex;font-size:1.5rem;height:48px;justify-content:center;margin-right:16px;transition:all .2s ease;width:48px}.dark-mode .folder-icon{background:#4ca1d8}.folder-info{display:flex;flex:1 1;flex-direction:column;gap:4px}.folder-title{color:#2c3e50;font-size:1.3rem;font-weight:600;line-height:1.2;margin:0}.dark-mode .folder-title{color:#f5f5f5}.folder-count{color:#666;font-size:.9rem;font-weight:400}.dark-mode .folder-count{color:#bbb}.folder-chevron{align-items:center;border-radius:6px;color:#666;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.dark-mode .folder-chevron{color:#bbb}.folder-header:hover .folder-chevron{background:#3498db1a;color:#3498db}.dark-mode .folder-header:hover .folder-chevron{background:#4ca1d81a;color:#4ca1d8}.folder-content{animation:expandFolder .3s ease-out;background:#fff;padding:0}.dark-mode .folder-content{background:#2d2d2d}@keyframes expandFolder{0%{max-height:0;opacity:0;transform:translateY(-10px)}to{max-height:1000px;opacity:1;transform:translateY(0)}}.folder-resources-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));padding:16px 14px 18px}.folder-resources-grid .resource-card{background:#f8f9fa;border:1px solid #e0e0e0;margin:0}.dark-mode .folder-resources-grid .resource-card{background:#1a1a1a;border-color:#444}.folder-resources-grid .resource-card:hover{box-shadow:0 6px 12px #0000001a;transform:translateY(-2px)}.dark-mode .folder-resources-grid .resource-card:hover{box-shadow:0 6px 12px #0003}.folder-resources-grid .resource-meta .category{display:none}.folder-resources-grid .resource-actions{padding:12px 20px 0}.resource-viewer-overlay{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.resource-viewer-overlay.fullscreen{padding:0}.resource-viewer{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000004d;display:flex;flex-direction:column;height:85vh;max-width:1400px;overflow:hidden;width:90vw}.dark-mode .resource-viewer{background:#1a1a1a;border:1px solid #333}.resource-viewer-overlay.fullscreen .resource-viewer{border-radius:0;height:100vh;max-width:none;width:100vw}.viewer-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:16px 24px}.dark-mode .viewer-header{background:#2d2d2d;border-bottom-color:#444}.viewer-title-section{display:flex;flex:1 1;flex-direction:column;gap:8px}.viewer-header h3{color:#2c3e50;font-size:1.2rem;font-weight:600;margin:0}.dark-mode .viewer-header h3{color:#f5f5f5}.file-navigation{align-items:center;display:flex;gap:12px;margin-top:4px}.file-navigation .nav-btn{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:6px;color:#666;cursor:pointer;display:flex;font-size:14px;height:32px;justify-content:center;transition:all .2s ease;width:32px}.file-navigation .nav-btn:hover:not(:disabled){background:#f8f9fa;border-color:#3498db;color:#3498db}.file-navigation .nav-btn:disabled{cursor:not-allowed;opacity:.5}.dark-mode .file-navigation .nav-btn{background:#3d3d3d;border-color:#555;color:#bbb}.dark-mode .file-navigation .nav-btn:hover:not(:disabled){background:#4a4a4a;border-color:#4ca1d8;color:#4ca1d8}.file-counter{color:#666;font-size:.9rem;font-weight:500;min-width:60px;text-align:center}.dark-mode .file-counter{color:#bbb}.viewer-controls{display:flex;gap:8px}.control-btn{background:#0000;border:1px solid #ddd;border-radius:6px;color:#666;cursor:pointer;padding:8px;transition:all .2s ease}.control-btn:hover{background:#f0f0f0;color:#333}.dark-mode .control-btn{border-color:#555;color:#bbb}.dark-mode .control-btn:hover{background:#333;color:#fff}.control-btn.close-btn:hover{background:#ff4757;border-color:#ff4757;color:#fff}.viewer-content{overflow:hidden}.viewer-content,.viewer-main{display:flex;flex:1 1;position:relative}.viewer-main{background:#f8f9fa}.dark-mode .viewer-main{background:#1a1a1a}.file-viewer,.image-viewer,.link-viewer,.pdf-viewer,.video-viewer{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.pdf-viewer iframe{border:none}.image-viewer img{border-radius:8px;max-height:100%;max-width:100%;object-fit:contain}.video-viewer video{border-radius:8px}.link-viewer iframe{border:none;border-radius:8px}.unsupported-file{align-items:center;color:#666;display:flex;flex-direction:column;gap:16px;text-align:center}.dark-mode .unsupported-file{color:#bbb}.download-file-btn{align-items:center;background:#3498db;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:8px;padding:12px 24px;transition:all .2s ease}.download-file-btn:hover{background:#2980b9}.viewer-sidebar{background:#fff;border-left:1px solid #e0e0e0;display:flex;flex-direction:column;flex-shrink:0;max-width:none;min-width:250px;position:relative}.dark-mode .viewer-sidebar{background:#2d2d2d;border-left-color:#444}.resize-handle{background:#3498db4d;border:1px solid #3498db80;border-radius:4px;bottom:0;cursor:ew-resize;left:-4px;position:absolute;top:0;transition:all .2s ease;width:8px;z-index:10}.dark-mode .resize-handle{background:#4ca1d84d;border-color:#4ca1d880}.resize-handle:hover{background:#3498db99;border-color:#3498dbcc;width:10px}.dark-mode .resize-handle:hover{background:#4ca1d899;border-color:#4ca1d8cc}.resize-handle:active{background:#3498dbcc;border-color:#3498db}.dark-mode .resize-handle:active{background:#4ca1d8cc;border-color:#4ca1d8}.viewer-tabs{background:inherit;border-bottom:1px solid #e0e0e0;display:flex;position:sticky;top:0;z-index:2}.dark-mode .viewer-tabs{border-bottom-color:#444}.tab-btn{align-items:center;background:#0000;border:none;color:#666;cursor:pointer;display:flex;flex:1 1;font-size:.9rem;font-weight:500;gap:6px;justify-content:center;padding:12px 8px;transition:all .2s ease}.tab-btn:hover{background:#f0f0f0;color:#333}.dark-mode .tab-btn{color:#bbb}.dark-mode .tab-btn:hover{background:#333;color:#fff}.tab-btn.active{background:#3498db;color:#fff}.dark-mode .tab-btn.active{background:#4ca1d8}.viewer-panel{flex:1 1;overflow-y:auto;padding:20px}@media (max-width:768px){.mobile-viewer-toolbar{grid-gap:6px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border-top:1px solid #e5e7eb;bottom:0;display:grid;gap:6px;grid-template-columns:repeat(3,1fr);left:0;padding:10px 10px calc(10px + env(safe-area-inset-bottom));position:fixed;right:0;z-index:1100}.dark-mode .mobile-viewer-toolbar{background:#121212e6;border-top-color:#333}.toolbar-btn{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:10px;color:#111827;display:flex;font-size:.9rem;gap:6px;justify-content:center;padding:10px 8px}.toolbar-btn.active{background:#e3f2fd;border-color:#93c5fd}.dark-mode .toolbar-btn{background:#1f2937;border-color:#374151;color:#e5e7eb}.dark-mode .toolbar-btn.active{background:#3b82f633;border-color:#3b82f6}.mobile-bottom-sheet{background:#fff;border-top-left-radius:16px;border-top-right-radius:16px;bottom:-65vh;box-shadow:0 -12px 30px #00000040;display:flex;flex-direction:column;height:65vh;left:0;position:fixed;right:0;transform:translateY(0);transition:transform .25s ease,bottom .25s ease;z-index:1002}.dark-mode .mobile-bottom-sheet{background:#1a1a1a}.mobile-bottom-sheet.open{bottom:calc(64px + env(safe-area-inset-bottom))}.sheet-handle{display:flex;justify-content:center;padding:8px 0}.sheet-handle span{background:#cbd5e1;border-radius:999px;height:5px;width:44px}.dark-mode .sheet-handle span{background:#475569}.sheet-content{overflow-y:auto;padding:12px 12px calc(80px + env(safe-area-inset-bottom))}}.chat-header h4,.flashcards-header h4,.quick-actions h4,.resource-info h4{color:#2c3e50;font-size:1rem;font-weight:600;margin:0 0 12px}.dark-mode .chat-header h4,.dark-mode .flashcards-header h4,.dark-mode .quick-actions h4,.dark-mode .resource-info h4{color:#f5f5f5}.resource-info p{color:#666;font-size:.9rem;line-height:1.4;margin:8px 0}.dark-mode .resource-info p{color:#bbb}.file-list{border-top:1px solid #e0e0e0;margin-top:20px;padding-top:20px}.dark-mode .file-list{border-top-color:#444}.file-list h4{color:#2c3e50;font-size:1rem;font-weight:600;margin:0 0 12px}.dark-mode .file-list h4{color:#f5f5f5}.file-list-items{display:flex;flex-direction:column;gap:8px}.file-list-item{align-items:center;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:12px;transition:all .2s ease}.file-list-item.active,.file-list-item:hover{background:#e3f2fd;border-color:#3498db}.file-list-item.active{box-shadow:0 2px 4px #3498db33}.dark-mode .file-list-item{background:#3d3d3d;border-color:#555}.dark-mode .file-list-item.active,.dark-mode .file-list-item:hover{background:#4a4a4a;border-color:#4ca1d8}.dark-mode .file-list-item.active{box-shadow:0 2px 4px #4ca1d833}.file-list-item .file-icon{align-items:center;background:#fff;border-radius:6px;color:#666;display:flex;font-size:16px;height:32px;justify-content:center;width:32px}.dark-mode .file-list-item .file-icon{background:#2d2d2d;color:#bbb}.file-info{display:flex;flex-direction:column;gap:2px}.file-name{color:#2c3e50;font-size:.9rem;font-weight:500;word-break:break-word}.dark-mode .file-name{color:#f5f5f5}.file-list-item .file-size{color:#7f8c8d;font-size:.8rem}.dark-mode .file-list-item .file-size{color:#bbb}.current-indicator{align-items:center;background:#3498db;border-radius:50%;color:#fff;display:flex;font-size:12px;height:24px;justify-content:center;width:24px}.dark-mode .current-indicator{background:#4ca1d8}.quick-actions{margin-top:24px}.action-button{align-items:center;background:#0000;border:1px solid #e0e0e0;border-radius:8px;color:#2c3e50;display:flex;font-size:.9rem;gap:8px;margin-bottom:8px;padding:10px 12px;transition:all .2s ease;width:100%}.action-button:hover{background:#f0f0f0;border-color:#3498db;color:#3498db}.dark-mode .action-button{border-color:#444;color:#bbb}.dark-mode .action-button:hover{background:#333;border-color:#4ca1d8;color:#4ca1d8}.chat-panel{display:flex;flex-direction:column;height:100%}@media (max-width:768px){.viewer-panel .chat-panel{padding-bottom:12px}.chat-header h4{font-size:1rem}.chat-messages{margin:12px 0;min-height:160px;padding:10px}.chat-input-form{background:inherit;bottom:0;padding-top:8px;position:sticky}.chat-input{font-size:16px;padding:12px}.chat-send-btn{padding:12px 16px}}.chat-header p{color:#666;font-size:.85rem;margin:4px 0 0}.dark-mode .chat-header p{color:#bbb}.chat-messages{background:#f8f9fa;border-radius:8px;margin:16px 0;min-height:200px;padding:12px}.dark-mode .chat-messages{background:#1a1a1a}.chat-welcome{align-items:center;color:#666;display:flex;flex-direction:column;gap:12px;height:100%;justify-content:center;text-align:center}.dark-mode .chat-welcome{color:#bbb}.chat-message{border-radius:8px;margin-bottom:12px;max-width:85%;padding:8px 12px}.chat-message.user{background:#3498db;color:#fff;margin-left:auto;text-align:right}.chat-message.ai{background:#eef2ff;color:#1f2937}.dark-mode .chat-message.ai{background:#333;color:#f5f5f5}.message-content{font-size:.9rem;line-height:1.4}.message-time{font-size:.75rem;margin-top:4px;opacity:.7}.chat-input-form{gap:8px}.chat-input{border:1px solid #e0e0e0;border-radius:6px;font-size:.9rem;padding:8px 12px}.dark-mode .chat-input{background:#1a1a1a;border-color:#444;color:#f5f5f5}.chat-input:focus{border-color:#3498db}.chat-send-btn{background:#3498db;border-radius:6px;font-weight:500;padding:8px 16px}.chat-send-btn:hover:not(:disabled){background:#2980b9}.chat-send-btn:disabled{background:#6c757d}.chat-input:disabled{background:#f5f5f5;color:#6c757d;cursor:not-allowed}.dark-mode .chat-input:disabled{background:#2c2c2c;color:#999}.chat-limit-info{align-items:center;background:#f8f9fa;border-radius:6px;display:flex;font-size:.85em;justify-content:space-between;margin-top:10px;padding:8px 12px}.dark-mode .chat-limit-info{background:#2c2c2c}.chat-limit{color:#28a745;font-weight:500}.chat-limit.limit-reached{color:#dc3545}.plan-badge{background:#007bff;font-size:.75em;padding:2px 8px}.dark-mode .plan-badge{background:#4ca1d8}.flashcards-panel{display:flex;flex-direction:column;gap:20px}.flashcards-header p{color:#666;font-size:.85rem;margin:4px 0 0}.dark-mode .flashcards-header p{color:#bbb}.flashcard-options{gap:16px}.flashcard-options,.option-group{display:flex;flex-direction:column}.option-group{gap:6px}.option-group label{color:#2c3e50;font-size:.9rem;font-weight:500}.dark-mode .option-group label{color:#f5f5f5}.flashcard-select{background:#fff;border:1px solid #e0e0e0;border-radius:6px;color:#333;font-size:.9rem;padding:8px 12px}.dark-mode .flashcard-select{background:#1a1a1a;border-color:#444;color:#f5f5f5}.flashcard-select:focus{border-color:#3498db;outline:none}.generate-flashcards-btn{align-items:center;background:#2ecc71;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:8px;justify-content:center;padding:12px 20px;transition:all .2s ease}.generate-flashcards-btn:hover{background:#27ae60}.flashcard-preview{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:16px}.dark-mode .flashcard-preview{background:#1a1a1a;border-color:#444}.preview-note{color:#666;font-size:.85rem;line-height:1.4;margin:0;text-align:center}.dark-mode .preview-note{color:#bbb}.resource-content{cursor:pointer;transition:all .2s ease}.resource-content:hover{background:#3498db0d}.dark-mode .resource-content:hover{background:#4ca1d81a}.view-btn{background:#3498db;color:#fff}.view-btn:hover{background:#2980b9}.dark-mode .view-btn{background:#4ca1d8}.camera-section{align-items:center;background:#f8f9fa;border:2px dashed #e0e0e0;border-radius:12px;display:flex;flex-direction:column;gap:16px;padding:20px;transition:all .3s ease}.dark-mode .camera-section{background:#2d2d2d;border-color:#444}.camera-start-btn{align-items:center;background:#3498db;border:none;border-radius:10px;box-shadow:0 4px 6px #3498db33;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:8px;padding:12px 24px;transition:all .2s ease}.camera-start-btn:hover{background:#2980b9;box-shadow:0 6px 8px #3498db40;transform:translateY(-2px)}.camera-modal{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000000e6;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.camera-interface{background:#fff;border-radius:16px;box-shadow:0 20px 40px #0000004d;display:flex;flex-direction:column;gap:16px;max-height:90vh;max-width:90vw;padding:20px}.dark-mode .camera-interface{background:#2d2d2d;border:1px solid #444}.camera-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding-bottom:16px}.dark-mode .camera-header{border-bottom-color:#444}.camera-header h3{color:#2c3e50;font-size:1.5rem;margin:0}.dark-mode .camera-header h3{color:#f5f5f5}.close-camera-btn{align-items:center;background:#e74c3c;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .2s ease;width:40px}.close-camera-btn:hover{background:#c0392b;transform:scale(1.1)}.camera-preview{align-items:center;background:#000;border-radius:12px;display:flex;justify-content:center;min-height:300px;overflow:hidden;position:relative}.camera-video{border-radius:8px;height:auto;max-height:400px;max-width:600px;object-fit:cover;width:100%}.camera-controls{display:flex;gap:16px;justify-content:center;padding-top:16px}.capture-btn{align-items:center;background:#2ecc71;border:none;border-radius:50px;box-shadow:0 4px 6px #2ecc714d;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;font-weight:600;gap:8px;padding:16px 32px;transition:all .2s ease}.capture-btn:hover{background:#27ae60;box-shadow:0 6px 8px #2ecc7166;transform:translateY(-2px)}.captured-photo-preview{align-items:center;background:#f8f9fa;border:2px solid #e0e0e0;border-radius:12px;display:flex;flex-direction:column;gap:16px;padding:20px}.dark-mode .captured-photo-preview{background:#2d2d2d;border-color:#444}.photo-status{align-items:center;background:#d4edda;border:1px solid #c3e6cb;border-radius:8px;color:#155724;display:flex;gap:8px;padding:8px 16px}.dark-mode .photo-status{background:#1e3a2e;border-color:#2d5a3d;color:#a3d9a5}.photo-success-icon{color:#28a745;font-size:1.1rem}.dark-mode .photo-success-icon{color:#a3d9a5}.photo-status-text{font-size:.9rem;font-weight:500}.photo-count-indicator{background:#e3f2fd;border:1px solid #bbdefb;border-radius:6px;color:#0d47a1;padding:6px 12px}.dark-mode .photo-count-indicator{background:#1a2332;border-color:#2d4a6b;color:#90caf9}.photo-count{font-size:.85rem;font-weight:500}.add-another-btn{background:#17a2b8!important}.add-another-btn:hover{background:#138496!important}.captured-image{border-radius:8px;box-shadow:0 4px 8px #0000001a;max-height:300px;max-width:100%;object-fit:contain}.photo-actions{display:flex;gap:12px}.retake-btn,.use-photo-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-weight:500;gap:8px;padding:10px 20px;transition:all .2s ease}.retake-btn{background:#f39c12;color:#fff}.retake-btn:hover{background:#e67e22;transform:translateY(-1px)}.use-photo-btn{background:#2ecc71;color:#fff}.use-photo-btn:hover{background:#27ae60;transform:translateY(-1px)}@media (max-width:768px){.camera-modal{padding:10px}.camera-interface{border-radius:0;height:100%;max-height:none;max-width:none;width:100%}.camera-video{max-height:60vh;max-width:100%}.camera-controls{padding:20px 0}.capture-btn{font-size:1.2rem;padding:20px 40px}.captured-photo-preview{padding:16px}.captured-image{max-height:250px}.photo-actions{flex-direction:column;width:100%}.retake-btn,.use-photo-btn{justify-content:center;padding:12px 24px}}@media (max-width:480px){.camera-header h3{font-size:1.2rem}.close-camera-btn{height:36px;width:36px}.camera-video{max-height:50vh}.capture-btn{font-size:1rem;padding:16px 32px}.captured-image{max-height:200px}}@media (max-width:768px){.folder-resources-grid{grid-template-columns:1fr}}.camera-flash-overlay{animation:flashFade .4s ease-out forwards;background:#fff;height:100%;left:0;opacity:.9;pointer-events:none;position:absolute;top:0;width:100%;z-index:2}@keyframes flashFade{0%{opacity:.9}to{opacity:0}}.chat-header{gap:12px}.chat-header-content{flex:1 1}.chat-action-btn{background:#0000;border:none;border-radius:4px;color:#666;flex-shrink:0;height:28px;width:28px}.chat-action-btn:hover{background:#f0f0f0;color:#333}.dark-mode .chat-action-btn{color:#bbb}.dark-mode .chat-action-btn:hover{background:#333;color:#fff}.chat-panel .model-selector{margin-top:8px}.chat-panel .model-dropdown{background:#fff;border:1px solid #e0e0e0;border-radius:4px;color:#1f2937;cursor:pointer;font-family:inherit;font-size:11px;max-width:280px;padding:4px 8px;transition:all .2s ease;width:100%}.dark-mode .chat-panel .model-dropdown{background:#1a1a1a;border-color:#444;color:#f5f5f5}.chat-panel .model-dropdown:hover{border-color:#3498db}.chat-panel .model-dropdown:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db1a;outline:none}.chat-panel .model-dropdown option:disabled{background-color:#f5f5f5;color:#999}.chat-panel .model-info-display{background:#fff;border:1px solid #e0e0e0;border-radius:0 0 6px 6px;border-top:none;box-shadow:0 2px 8px #0000001a;left:0;opacity:0;padding:8px;pointer-events:none;position:absolute;right:0;top:100%;transition:all .2s ease;visibility:hidden;z-index:1000}.dark-mode .chat-panel .model-info-display{background:#1a1a1a;border-color:#444}.chat-panel .model-selector:focus-within .model-info-display,.chat-panel .model-selector:hover .model-info-display{opacity:1;visibility:visible}.chat-panel .model-info{display:flex;flex-direction:column;gap:2px}.chat-panel .model-info.unavailable{opacity:.6}.chat-panel .model-name{color:#3498db;font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.chat-panel .model-info.unavailable .model-name{color:#999}.chat-panel .model-description{color:#666;font-size:10px}.dark-mode .chat-panel .model-description{color:#bbb}.chat-panel .model-cost{color:#1f2937;font-size:10px;font-weight:500;margin-top:2px}.dark-mode .chat-panel .model-cost{color:#f5f5f5}.chat-panel .model-selector{margin-top:4px;position:relative}.chat-panel .custom-model-dropdown{position:relative;-webkit-user-select:none;user-select:none;z-index:200}.chat-panel .model-dropdown{display:none}.chat-panel .model-button{align-items:center;background:#fff;background:var(--bg-primary,#fff);border:1px solid #e1e5e9;border:1px solid var(--border-primary,#e1e5e9);border-radius:6px;color:#1f2937;color:var(--text-primary,#1f2937);cursor:pointer;display:flex;font-size:12px;justify-content:space-between;min-width:200px;padding:6px 10px;transition:all .2s ease;width:100%}.chat-panel .model-button:hover:not(:disabled){background-color:#f9fafb;background-color:var(--bg-secondary,#f9fafb);border-color:#93c5fd;border-color:var(--primary-300,#93c5fd)}.chat-panel .model-button:disabled{cursor:not-allowed;opacity:.6}.chat-panel .model-button svg{font-size:11px;margin-left:5px}.chat-panel .selected-model-name{font-weight:500}.chat-panel .selected-model-cost{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:11px;font-weight:400;margin-left:4px}.chat-panel .model-options{background:#fff;background:var(--bg-primary,#fff);border:1px solid #e1e5e9;border:1px solid var(--border-primary,#e1e5e9);border-radius:6px;box-shadow:0 4px 12px #00000026;left:0;min-width:220px;overflow:hidden;position:absolute;right:0;top:calc(100% + 4px);z-index:1000}.chat-panel .model-option{background:#0000;border:none;border-bottom:1px solid #e1e5e9;border-bottom:1px solid var(--border-primary,#e1e5e9);color:#1f2937;color:var(--text-primary,#1f2937);cursor:pointer;display:flex;flex-direction:column;font-size:13px;padding:10px 12px;text-align:left;transition:background-color .2s ease;width:100%}.chat-panel .model-option:last-child{border-bottom:none}.chat-panel .model-option:hover:not(:disabled){background:#f3f4f6;background:var(--bg-secondary,#f3f4f6)}.chat-panel .model-option.selected{background:#eff6ff;background:var(--primary-50,#eff6ff);border-left:3px solid #06c;border-left:3px solid var(--primary-500,#06c)}.chat-panel .model-option:disabled{background:#f5f5f5;background:var(--bg-tertiary,#f5f5f5);cursor:not-allowed;opacity:.6}.chat-panel .model-option-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.chat-panel .model-name{color:#06c;color:var(--primary-500,#06c);font-weight:600}.chat-panel .model-cost,.chat-panel .model-description{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:11px}.chat-panel .model-description{line-height:1.3}.chat-panel .upgrade-notice{color:#ff6b6b;font-style:italic;margin-left:3px}.chat-panel .model-info-display{display:none}.dark-mode .chat-panel .model-button{color:var(--text-primary)}.dark-mode .chat-panel .model-button,.dark-mode .chat-panel .model-options{background:var(--bg-primary);border-color:var(--border-primary)}.dark-mode .chat-panel .model-option{border-color:var(--border-primary)}.dark-mode .chat-panel .model-option:hover:not(:disabled){background:#ffffff0d}.dark-mode .chat-panel .model-option.selected{background:#4a90e233}.dark-mode .chat-panel .model-name{color:#4a90e2}.chat-header{align-items:flex-start;margin-bottom:16px;position:relative}.modal-overlay{align-items:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#000000bf;bottom:0;display:flex;justify-content:center;left:0;padding:var(--space-4);position:fixed;right:0;top:0;z-index:10000}.grading-results-modal{animation:modalSlideIn .3s ease-out;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);display:flex;flex-direction:column;max-height:90vh;max-width:900px;overflow:hidden;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{align-items:center;background:linear-gradient(135deg,var(--primary-50),var(--primary-100));border-bottom:1px solid var(--border-primary);display:flex;justify-content:space-between;padding:var(--space-6)}.dark-mode .modal-header{background:linear-gradient(135deg,var(--primary-900),var(--primary-800))}.modal-header h2{align-items:center;color:var(--primary-700);display:flex;font-size:1.5rem;font-weight:600;gap:var(--space-3);margin:0}.dark-mode .modal-header h2{color:var(--primary-200)}.success-icon{color:var(--success-600);font-size:1.5rem}.close-button{align-items:center;background:none;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;font-size:1.25rem;justify-content:center;padding:var(--space-2);transition:all var(--transition-fast)}.close-button:hover{background:var(--bg-tertiary);color:var(--text-primary)}.modal-content{flex:1 1;overflow-y:auto;padding:var(--space-6)}.overall-score-section{background:linear-gradient(135deg,var(--bg-secondary),var(--bg-tertiary));border:1px solid var(--border-primary);border-radius:var(--radius-lg);margin-bottom:var(--space-6);padding:var(--space-6)}.score-display{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:center;margin-bottom:var(--space-4)}.main-score{align-items:baseline;display:flex;gap:var(--space-1)}.score-value{color:var(--primary-600);font-size:3rem;font-weight:700}.score-divider{margin:0 var(--space-1)}.score-divider,.score-total{color:var(--text-secondary);font-size:2rem}.percentage-score{background:var(--primary-100);border-radius:var(--radius-lg);color:var(--primary-700);font-size:2rem;font-weight:600;padding:var(--space-2) var(--space-4)}.dark-mode .percentage-score{background:var(--primary-900);color:var(--primary-200)}.grade-display{border-radius:var(--radius-lg);font-size:2.5rem;font-weight:800;min-width:80px;padding:var(--space-3) var(--space-5);text-align:center}.grade-display.excellent{background:var(--success-100);border:2px solid var(--success-300);color:var(--success-700)}.grade-display.good{background:var(--blue-100);border:2px solid var(--blue-300);color:var(--blue-700)}.grade-display.average{background:var(--yellow-100);border:2px solid var(--yellow-300);color:var(--yellow-700)}.grade-display.poor{background:var(--red-100);border:2px solid var(--red-300);color:var(--red-700)}.score-breakdown{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.breakdown-item{align-items:center;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-md);display:flex;justify-content:space-between;padding:var(--space-3)}.breakdown-item .label{color:var(--text-secondary);font-weight:500}.breakdown-item .value{color:var(--text-primary);font-weight:600}.action-buttons{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center;margin-bottom:var(--space-6)}.action-btn{align-items:center;border:1px solid #0000;border-radius:var(--radius-md);cursor:pointer;display:flex;font-weight:500;gap:var(--space-2);padding:var(--space-3) var(--space-4);transition:all var(--transition-fast)}.download-btn{background:var(--primary-600);border-color:var(--primary-600);color:#fff}.download-btn:hover{background:var(--primary-700);box-shadow:var(--shadow-md);transform:translateY(-1px)}.print-btn{background:var(--bg-secondary);border-color:var(--border-primary);color:var(--text-primary)}.print-btn:hover{background:var(--bg-tertiary);box-shadow:var(--shadow-md);transform:translateY(-1px)}.questions-section h3{border-bottom:2px solid var(--primary-200);color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0 0 var(--space-4) 0;padding-bottom:var(--space-2)}.questions-list{display:flex;flex-direction:column;gap:var(--space-4)}.question-result{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--transition-fast)}.question-result:hover{border-color:var(--border-secondary);box-shadow:var(--shadow-md)}.question-header{align-items:center;background:var(--bg-tertiary);border-bottom:1px solid var(--border-primary);display:flex;justify-content:space-between;padding:var(--space-4)}.question-number{color:var(--text-primary);font-size:1.1rem;font-weight:600}.question-score{border-radius:var(--radius-md);font-size:1rem;font-weight:700;padding:var(--space-1) var(--space-3)}.question-score.excellent{background:var(--success-100);color:var(--success-700)}.question-score.good{background:var(--blue-100);color:var(--blue-700)}.question-score.average{background:var(--yellow-100);color:var(--yellow-700)}.question-score.poor{background:var(--red-100);color:var(--red-700)}.question-content{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4)}.feedback-section strong,.justification-section strong,.points-section strong,.question-text strong,.student-answer strong{color:var(--text-primary);display:block;font-weight:600;margin-bottom:var(--space-2)}.feedback-text,.justification-text,.question-text p,.student-answer p{background:var(--bg-primary);border-left:3px solid var(--primary-300);border-radius:var(--radius-md);color:var(--text-secondary);line-height:1.6;margin:0;padding:var(--space-3)}.feedback-text{font-style:italic}.points-section{margin-top:var(--space-2)}.points-section.covered strong{color:var(--success-600)}.points-section.missed strong{color:var(--yellow-600)}.points-section ul{color:var(--text-secondary);margin:var(--space-2) 0 0 0;padding-left:var(--space-5)}.points-section li{line-height:1.5;margin-bottom:var(--space-1)}.modal-footer{background:var(--bg-secondary);border-top:1px solid var(--border-primary);flex-wrap:wrap;gap:var(--space-3);justify-content:space-between;padding:var(--space-4) var(--space-6)}.completion-info,.modal-footer{align-items:center;display:flex}.completion-info{color:var(--text-secondary);gap:var(--space-2)}.check-icon{color:var(--success-500);font-size:.875rem}.close-modal-btn{background:var(--primary-600);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-weight:500;padding:var(--space-3) var(--space-6);transition:all var(--transition-fast)}.close-modal-btn:hover{background:var(--primary-700);box-shadow:var(--shadow-md);transform:translateY(-1px)}@media (max-width:768px){.modal-overlay{padding:var(--space-2)}.grading-results-modal{max-height:95vh}.modal-content,.modal-footer,.modal-header{padding:var(--space-4)}.score-display{flex-direction:column;text-align:center}.score-breakdown{grid-template-columns:1fr}.action-buttons{flex-direction:column}.modal-footer,.question-header{flex-direction:column;text-align:center}.question-header{gap:var(--space-2)}.score-value{font-size:2.5rem}.percentage-score,.score-total{font-size:1.5rem}.grade-display{font-size:2rem}}@media (max-width:480px){.modal-header h2{font-size:1.25rem}.score-value{font-size:2rem}.percentage-score,.score-total{font-size:1.25rem}.grade-display{font-size:1.5rem;min-width:60px}}:root{--background-primary:#fff;--background-secondary:#f8f9fa;--card-background:#fff;--text-primary:#2c3e50;--text-secondary:#6c757d;--text-tertiary:#9ca3af;--border-color:#e9ecef}.dark-mode{--background-primary:#1a1a1a;--background-secondary:#2d2d2d;--card-background:#2d2d2d;--text-primary:#fff;--text-secondary:#b3b3b3;--text-tertiary:#8a8a8a;--border-color:#404040}.grader-container{color:#2c3e50;color:var(--text-primary);display:flex;flex-direction:column;min-height:100vh}.grader-container,.grader-content{background-color:#fff;background-color:var(--background-primary)}.grader-content{flex:1 1;padding-top:80px}.grader-hero{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;margin-bottom:2rem;padding:4rem 0;text-align:center}.hero-content{margin:0 auto;max-width:800px;padding:0 2rem}.hero-icon{font-size:4rem;margin-bottom:1rem;opacity:.9}.grader-hero h1{font-size:3rem;font-weight:700;margin-bottom:1rem;text-shadow:0 2px 4px #0000001a}.grader-hero p{font-size:1.2rem;line-height:1.6;opacity:.9}.grader-main{grid-gap:3rem;align-items:start;display:grid;gap:3rem;grid-template-columns:2fr 1fr;margin:0 auto;max-width:1400px;padding:0 2rem 4rem}.grading-form{background:#fff;background:var(--card-background);border:1px solid #e9ecef;border:1px solid var(--border-color);border-radius:16px;box-shadow:0 8px 32px #0000001a;padding:2rem}.form-header{margin-bottom:2rem}.form-header h2{color:#2c3e50;color:var(--text-primary);font-size:1.8rem;font-weight:600;margin-bottom:.5rem}.form-header p{color:#6c757d;color:var(--text-secondary);font-size:1rem;line-height:1.5}.upload-options{background:#f8f9fa;background:var(--background-secondary);border:1px solid #e9ecef;border:1px solid var(--border-color);border-radius:12px;margin-bottom:2rem;padding:1.5rem}.checkbox-option{display:flex;flex-direction:column;gap:.5rem}.checkbox-label{align-items:center;color:#2c3e50;color:var(--text-primary);cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:.75rem}.checkbox-label input[type=checkbox]{cursor:pointer;opacity:0;position:absolute}.checkmark{background-color:#fff;background-color:var(--background-primary);border:2px solid #e9ecef;border:2px solid var(--border-color);border-radius:4px;height:20px;position:relative;transition:all .3s ease;width:20px}.checkbox-label:hover .checkmark{border-color:#667eea}.checkbox-label input:checked~.checkmark{background-color:#667eea;border-color:#667eea}.checkmark:after{border:solid #fff;border-width:0 2px 2px 0;content:"";display:none;height:10px;left:6px;position:absolute;top:2px;transform:rotate(45deg);width:6px}.checkbox-label input:checked~.checkmark:after{display:block}.option-description{color:#6c757d;color:var(--text-secondary);font-size:.9rem;line-height:1.4;margin:0 0 0 2.75rem}.upload-grid{grid-gap:2rem;display:grid;gap:2rem;margin-bottom:2rem}.upload-section{background:#f8f9fa;background:var(--background-secondary);border:1px solid #e9ecef;border:1px solid var(--border-color);border-radius:12px;padding:1.5rem}.upload-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.upload-header h3{color:#2c3e50;color:var(--text-primary);font-size:1.2rem;font-weight:600;margin:0}.required-indicator{color:#e74c3c;font-size:.9rem;font-weight:500}.upload-description{color:#6c757d;color:var(--text-secondary);font-size:.95rem;line-height:1.4;margin-bottom:1rem}.upload-area{background:#fff;background:var(--background-primary);border:2px dashed #e9ecef;border:2px dashed var(--border-color);border-radius:8px;cursor:pointer;padding:2rem;text-align:center;transition:all .3s ease}.upload-area:hover{background:#667eea0d;border-color:#667eea}.upload-area.drag-over{background:#667eea1a;border-color:#667eea;transform:scale(1.02)}.upload-area.has-file{background:#27ae600d;border-color:#27ae60;cursor:default}.upload-icon{font-size:2.5rem}.upload-area p,.upload-icon{color:#6c757d;color:var(--text-secondary);margin-bottom:1rem}.upload-area p{font-size:1rem}.upload-button{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-block;font-weight:500;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s ease}.upload-button:hover{background:#5a67d8;transform:translateY(-1px)}.upload-formats{color:#9ca3af;color:var(--text-tertiary);font-size:.85rem;margin-bottom:0;margin-top:1rem}.file-preview{align-items:center;background:#27ae601a;border:1px solid #27ae60;border-radius:8px;display:flex;gap:1rem;padding:1rem}.file-icon{color:#27ae60;flex-shrink:0;font-size:2rem}.file-info{flex:1 1;text-align:left}.file-info h4{color:#2c3e50;color:var(--text-primary);font-size:1rem;font-weight:600;margin:0 0 .25rem;word-break:break-word}.file-info p{color:#6c757d;color:var(--text-secondary);font-size:.9rem;margin:0}.remove-file{align-items:center;background:#e74c3c;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:.5rem;transition:all .3s ease}.remove-file:hover{background:#c0392b;transform:scale(1.1)}.grading-actions{border-top:1px solid #e9ecef;border-top:1px solid var(--border-color);padding-top:2rem}.requirements-check{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem}.requirement{align-items:center;border-radius:8px;display:flex;font-size:.95rem;font-weight:500;gap:.75rem;padding:.75rem 1rem}.requirement.met{background:#27ae601a;border:1px solid #27ae6033;color:#27ae60}.requirement.unmet{background:#e74c3c1a;border:1px solid #e74c3c33;color:#e74c3c}.requirement.optional{background:#f1c40f1a;border:1px solid #f1c40f33;color:#f1c40f}.grade-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;font-weight:600;gap:.75rem;justify-content:center;padding:1rem 2rem;transition:all .3s ease;width:100%}.grade-button:hover:not(.disabled):not(:disabled){box-shadow:0 8px 24px #667eea4d;transform:translateY(-2px)}.grade-button.disabled,.grade-button:disabled{background:#bdc3c7;box-shadow:none;cursor:not-allowed;transform:none}.sleek-loader{align-items:center;display:flex;gap:4px;justify-content:center}.loader-ring{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:12px;width:12px}.loader-ring:nth-child(2){animation-delay:.1s}.loader-ring:nth-child(3){animation-delay:.2s}.progress-container{background:#f8f9fa;background:var(--background-secondary);border:1px solid #e9ecef;border:1px solid var(--border-color);border-radius:8px;margin-top:1.5rem;padding:1rem}.progress-bar{background:linear-gradient(45deg,#667eea,#764ba2);position:relative;transition:width .3s ease}.progress-bar:after{animation:progress-shine 2s infinite;background:linear-gradient(90deg,#0000,#fff6,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes progress-shine{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.progress-text{color:#6c757d;color:var(--text-secondary);font-size:.9rem;font-weight:500;margin-top:.5rem;text-align:center}.live-results-toggle{margin-top:1rem;text-align:center}.toggle-live-results{align-items:center;background:#fff;background:var(--card-background);border:2px solid #e9ecef;border:2px solid var(--border-color);border-radius:8px;color:#2c3e50;color:var(--text-primary);cursor:pointer;display:inline-flex;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.toggle-live-results:hover{background:#667eea1a;border-color:#667eea;transform:translateY(-1px)}.live-results-panel{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-top:20px;padding:20px}.live-results-panel h3{color:#2c3e50;font-size:1.2rem;margin:0 0 15px}.live-results-list{display:flex;flex-direction:column;gap:12px}.live-result-item{background:#fff;border:1px solid #dee2e6;border-radius:6px;padding:12px}.result-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.question-number{color:#495057;font-weight:700}.score{background:#e3f2fd;border-radius:4px;color:#1976d2;font-weight:700;padding:4px 8px}.result-feedback{color:#6c757d;font-size:.9rem;line-height:1.4}.json-window-toggle{margin-top:10px}.toggle-json-window{align-items:center;background:#6f42c1;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;gap:8px;padding:10px 16px;transition:all .3s ease}.toggle-json-window:hover{background:#5a2d91;transform:translateY(-1px)}.json-window-panel{background:#f8f9fa;border:2px solid #6f42c1;border-radius:12px;box-shadow:0 4px 12px #6f42c126;margin-top:20px;overflow:hidden}.json-window-header{background:#6f42c1;color:#fff;padding:15px 20px}.json-window-header h3{font-size:1.1rem;margin:0 0 5px}.json-window-header p{font-size:.9rem;margin:0;opacity:.9}.json-display{background:#fff;border-bottom:1px solid #e9ecef;border-top:1px solid #e9ecef;max-height:400px;overflow-y:auto}.json-content{word-wrap:break-word;background:#fff;color:#2c3e50;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.85rem;line-height:1.5;margin:0;overflow-x:auto;padding:20px;white-space:pre-wrap}.json-window-footer{align-items:center;background:#f8f9fa;border-top:1px solid #e9ecef;display:flex;justify-content:space-between;padding:15px 20px}.json-window-footer p{color:#6c757d;font-size:.9rem;margin:0}.copy-json-button{background:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;padding:8px 16px;transition:background-color .3s ease}.copy-json-button:hover{background:#218838}@media (max-width:768px){.json-window-panel{margin:15px -10px 0}.json-display{max-height:300px}.json-content{font-size:.8rem;padding:15px}.json-window-footer{align-items:stretch;flex-direction:column;gap:10px}.copy-json-button{width:100%}}.loading-spinner{display:none}.grader-info{display:flex;flex-direction:column;gap:1.5rem}.info-card{background:#fff;background:var(--card-background);border:1px solid #e9ecef;border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 16px #0000001a;padding:1.5rem}.info-card h3{align-items:center;color:#2c3e50;color:var(--text-primary);display:flex;font-size:1.2rem;font-weight:600;gap:.5rem;margin-bottom:1rem}.info-card ol,.info-card ul{color:#6c757d;color:var(--text-secondary);line-height:1.6;padding-left:1.2rem}.info-card li{margin-bottom:.5rem}.info-card li:last-child{margin-bottom:0}@media (max-width:1200px){.grader-main{gap:2rem;grid-template-columns:1fr}.grader-info{order:-1}}@media (max-width:768px){.grader-content{padding-top:70px}.grader-hero{padding:3rem 0}.hero-icon{font-size:3rem}.grader-hero h1{font-size:2.2rem}.grader-hero p{font-size:1.1rem}.grader-main{padding:0 1rem 2rem}.grading-form,.upload-area{padding:1.5rem}.upload-icon{font-size:2rem}.requirements-check{gap:.5rem}.requirement{align-items:flex-start;flex-direction:column;gap:.5rem;text-align:left}.info-card{padding:1.25rem}}@media (max-width:480px){.grader-hero h1{font-size:1.8rem}.grader-hero p{font-size:1rem}.hero-content{padding:0 1rem}.grading-form,.upload-area{padding:1rem}.file-preview{flex-direction:column;text-align:center}}.dark-mode .grader-hero{background:linear-gradient(135deg,#4a5568,#2d3748)}.dark-mode .file-preview,.dark-mode .upload-area.has-file{background:#27ae6026}.enhanced-progress-container{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #dee2e6;border-radius:15px;box-shadow:0 4px 15px #0000001a;margin:20px 0;padding:25px}.progress-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.progress-header h4{color:#2c3e50;font-size:1.2rem;font-weight:600;margin:0}.phase-indicator{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;box-shadow:0 2px 8px #667eea4d;color:#fff;font-size:.9rem;font-weight:500;padding:8px 16px}.progress-bar-container{background:#e9ecef;border-radius:10px;box-shadow:inset 0 2px 4px #0000001a;height:25px;margin-bottom:25px;overflow:hidden;position:relative}.progress-bar-container .progress-bar{animation:shimmer 2s infinite;background:linear-gradient(135deg,#667eea,#764ba2);background-size:200% 100%;border-radius:10px;height:100%;transition:all .4s cubic-bezier(.4,0,.2,1)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.progress-bar-container .progress-text{color:#fff;font-size:.9rem;font-weight:600;left:50%;position:absolute;text-align:center;text-shadow:0 1px 3px #000000b3;top:50%;transform:translate(-50%,-50%);white-space:nowrap;z-index:2}.stage-indicators{display:flex;justify-content:space-between;margin-bottom:20px;position:relative}.stage-indicators:before{background:linear-gradient(90deg,#e9ecef,#e9ecef);content:"";height:2px;left:25px;position:absolute;right:25px;top:20px;z-index:0}.stage{flex:1 1;flex-direction:column;position:relative;text-align:center;z-index:1}.stage,.stage-number{align-items:center;display:flex}.stage-number{border:3px solid;border-radius:50%;font-size:1rem;font-weight:700;height:40px;justify-content:center;margin-bottom:8px;transition:all .3s ease;width:40px}.stage-name{font-size:.85rem;font-weight:500;line-height:1.2;max-width:100px}.stage.pending .stage-number{background:#f8f9fa;border-color:#e9ecef;color:#6c757d}.stage.pending .stage-name{color:#6c757d}.stage.active .stage-number{animation:pulse 2s infinite;background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;box-shadow:0 0 0 4px #667eea33;color:#fff}.stage.active .stage-name{color:#667eea;font-weight:600}.stage.completed .stage-number{background:linear-gradient(135deg,#2ecc71,#27ae60);border-color:#2ecc71;box-shadow:0 2px 8px #2ecc714d;color:#fff}.stage.completed .stage-name{color:#27ae60;font-weight:600}.processing-summary{background:#ffffffe6;border:1px solid #dee2e6;border-radius:10px;padding:15px}.processing-summary h5{color:#2c3e50;font-size:1rem;font-weight:600;margin:0 0 12px}.summary-stats{display:flex;flex-wrap:wrap;gap:20px}.summary-stats span{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #dee2e6;border-radius:8px;box-shadow:0 1px 3px #0000001a;color:#495057;font-size:.9rem;font-weight:500;padding:8px 12px}.info-card h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;margin-bottom:15px}.info-card ol li strong,.info-card ul li{color:#2c3e50}@media (max-width:768px){.stage-indicators{flex-wrap:wrap;gap:15px}.stage{flex-basis:calc(50% - 7.5px);flex-grow:0;flex-shrink:0;margin-bottom:15px}.stage-indicators:before{display:none}.progress-header,.summary-stats{flex-direction:column;gap:10px}.progress-header{align-items:flex-start}.enhanced-progress-container{padding:20px 15px}}@media (max-width:480px){.stage{flex:0 0 100%}.stage-number{font-size:.9rem;height:35px;width:35px}.stage-name{font-size:.8rem;max-width:80px}}.study-tools-container{background-color:#f8f9fa;min-height:100vh;transition:background-color .3s ease}.dark-mode .study-tools-container{background-color:#121212}.study-tools-content{display:flex;gap:30px;margin:0 auto;max-width:1400px;padding:20px}.study-tools-sidebar{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;flex-shrink:0;height:calc(100vh - 100px);overflow-y:auto;padding:24px;position:sticky;top:80px;transition:all .3s ease;width:280px}.dark-mode .study-tools-sidebar{background:#1e1e1e;box-shadow:0 4px 20px #0003}.user-welcome{align-items:center;border-bottom:1px solid #00000014;display:flex;gap:15px;margin-bottom:24px;padding-bottom:24px;transition:border-color .3s ease}.dark-mode .user-welcome{border-bottom-color:#ffffff1a}.user-welcome .user-avatar{align-items:center;background:linear-gradient(135deg,#06c,#09f);border-radius:50%;box-shadow:0 4px 8px #0066cc4d;color:#fff;display:flex;font-size:20px;font-weight:700;height:50px;justify-content:center;width:50px}.user-welcome h3{color:#333;font-size:1.2rem;font-weight:600;margin:0;transition:color .3s ease}.dark-mode .user-welcome h3{color:#f5f5f5}.study-tools-nav{display:flex;flex-direction:column;gap:12px}.nav-item{align-items:center;background:#0000;border:none;border-radius:12px;color:#555;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:12px;padding:14px 16px;text-align:left;transition:all .2s ease;width:100%}.dark-mode .nav-item{color:#aaa}.nav-item:hover{background:#0066cc14;color:#06c}.dark-mode .nav-item:hover{background:#66ccff14;color:#6cf}.nav-item.active{background:#06c;box-shadow:0 4px 8px #06c3;color:#fff;font-weight:600}.dark-mode .nav-item.active{background:#06c;box-shadow:0 4px 10px #0066cc4d;color:#fff}.nav-item svg{font-size:1.2rem}.study-tools-main{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;flex:1 1;min-height:calc(100vh - 100px);min-width:0;overflow:hidden;padding:32px;transition:all .3s ease}.dark-mode .study-tools-main{background:#1e1e1e;box-shadow:0 4px 20px #0003}.dashboard-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:32px}.stat-card{background:#fff;border:1px solid #0000000d;border-radius:16px;box-shadow:0 4px 12px #0000000d;display:flex;flex-direction:column;height:100%;padding:24px;transition:all .3s ease}.dark-mode .stat-card{background:#2d2d2d;border-color:#ffffff0d;box-shadow:0 4px 12px #00000026}.stat-card h3{color:#666;font-size:.95rem;font-weight:600;letter-spacing:.5px;margin:0 0 16px;text-transform:uppercase;transition:color .3s ease}.dark-mode .stat-card h3{color:#aaa}.stat-value{color:#333;font-size:2.4rem;font-weight:700;line-height:1.2;margin-bottom:16px;transition:color .3s ease}.dark-mode .stat-value{color:#f5f5f5}.stat-trend{align-items:center;display:flex;font-size:.95rem;gap:8px;margin-top:auto}.trend-up{color:#28a745}.trend-down{color:#dc3545}.chart-container{background:#fff;border:1px solid #0000000d;border-radius:16px;box-shadow:0 4px 12px #0000000d;height:300px;margin-bottom:24px;padding:24px;transition:all .3s ease}.dark-mode .chart-container{background:#2d2d2d;border-color:#ffffff0d;box-shadow:0 4px 12px #00000026}.chart-header{margin-bottom:20px}.chart-header h3{color:#333;font-size:1.2rem;font-weight:600;margin:0}.dark-mode .chart-header h3{color:#f5f5f5}.task-list{display:flex;flex-direction:column;gap:15px}.task-item{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(180deg,#fffffff2,#ffffffd9);border:1px solid #e2e8f0e6;border-radius:14px;box-shadow:0 6px 16px #0000000f;display:flex;gap:15px;padding:16px;transition:all .3s ease}.dark-mode .task-item{background:linear-gradient(180deg,#1a1a1af2,#1a1a1ad9);border-color:#4b556399;box-shadow:0 8px 18px #0000004d}.task-checkbox{border:2px solid #ddd;border-radius:4px;cursor:pointer;height:20px;width:20px}.task-checkbox.checked{background:#28a745;border-color:#28a745}.task-content{flex:1 1}.task-title{color:#333;font-size:1rem;margin:0 0 5px;transition:color .3s ease}.dark-mode .task-title{color:#f5f5f5}.task-meta{color:#666;display:flex;font-size:.85rem;gap:15px;transition:color .3s ease}.dark-mode .task-meta{color:#999}.task-priority{border-radius:12px;font-size:.8rem;padding:2px 8px}.priority-high{background:#ffebee;color:#dc3545}.priority-medium{background:#fff3e0;color:#f57c00}.priority-low{background:#e8f5e9;color:#28a745}.dark-mode .priority-high{background:#3d2427;color:#ff4d4d}.dark-mode .priority-medium{background:#3d2f1a;color:#ffa64d}.dark-mode .priority-low{background:#1f3d1f;color:#4dff4d}.pomodoro-container{background:#fff;border:1px solid #0000000d;border-radius:16px;box-shadow:0 4px 20px #00000014;margin:0 auto;max-width:650px;padding:20px;text-align:center;transition:all .3s ease}.dark-mode .pomodoro-container{background:#2d2d2d;border-color:#ffffff0d;box-shadow:0 4px 20px #0003}.pomodoro-container h2{color:#333;font-size:1.6rem;font-weight:600;margin:0 0 16px;transition:color .3s ease}.dark-mode .pomodoro-container h2{color:#f5f5f5}.timer-display{font-feature-settings:"tnum";color:#06c;font-size:5.5rem;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:2px;line-height:1;margin:20px 0 40px;padding:10px;text-shadow:0 2px 4px #06c3;transition:all .3s ease}.dark-mode .timer-display{color:#6cf;text-shadow:0 2px 4px #6cf3}.timer-controls{flex-wrap:wrap;gap:16px;margin-bottom:40px}.timer-button,.timer-controls{display:flex;justify-content:center}.timer-button{align-items:center;border:none;border-radius:50px;cursor:pointer;font-size:1rem;font-weight:600;gap:8px;min-width:120px;padding:12px 24px;transition:all .2s ease}.start-button{background:#06c;box-shadow:0 4px 8px #0066cc40;color:#fff}.start-button:hover{background:#0052a3;box-shadow:0 6px 12px #0066cc4d;transform:translateY(-2px)}.pause-button{background:#f39c12;box-shadow:0 4px 8px #f39c1240;color:#fff}.pause-button:hover{background:#e67e22;box-shadow:0 6px 12px #f39c124d;transform:translateY(-2px)}.reset-button{background:#e74c3c;box-shadow:0 4px 8px #e74c3c40;color:#fff}.reset-button:hover{background:#c0392b;box-shadow:0 6px 12px #e74c3c4d;transform:translateY(-2px)}.settings-button{background:#7f8c8d;box-shadow:0 4px 8px #7f8c8d40;color:#fff}.settings-button:hover{background:#6c7a7a;box-shadow:0 6px 12px #7f8c8d4d;transform:translateY(-2px)}.dark-mode .start-button{background:#0078e7;box-shadow:0 4px 8px #0078e759}.dark-mode .pause-button{background:#f5a623;box-shadow:0 4px 8px #f5a62359}.dark-mode .reset-button{background:#e74c3c;box-shadow:0 4px 8px #e74c3c59}.dark-mode .settings-button{background:#95a5a6;box-shadow:0 4px 8px #95a5a659}.timer-settings{background:#f8f9fa;border:1px solid #0000000d;border-radius:12px;box-shadow:inset 0 0 10px #00000008;margin-bottom:30px;padding:24px;transition:all .3s ease}.dark-mode .timer-settings{background:#3d3d3d;border-color:#ffffff0d;box-shadow:inset 0 0 10px #0000004d}.timer-settings h3{color:#333;font-size:1.25rem;font-weight:600;margin:0 0 20px;text-align:left}.dark-mode .timer-settings h3{color:#f5f5f5}.settings-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));text-align:left}.setting-item{margin-bottom:16px}.setting-item label{color:#555;display:block;font-size:.95rem;font-weight:500;margin-bottom:8px}.dark-mode .setting-item label{color:#bbb}.setting-item input{background:#fff;border:2px solid #e0e0e0;border-radius:8px;color:#333;font-size:1rem;padding:10px 14px;transition:all .2s ease;width:100%}.dark-mode .setting-item input{background:#2d2d2d;border-color:#555;color:#f5f5f5}.setting-item input:focus{border-color:#06c;box-shadow:0 0 0 3px #0066cc1a;outline:none}.dark-mode .setting-item input:focus{border-color:#6cf;box-shadow:0 0 0 3px #66ccff26}.session-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:30px}.stat-item{background:#f8f9fa;border:1px solid #0000000d;border-radius:12px;box-shadow:0 4px 12px #00000008;padding:20px;transition:all .3s ease}.dark-mode .stat-item{background:#3d3d3d;border-color:#ffffff0d;box-shadow:0 4px 12px #00000026}.stat-item h4{color:#7f8c8d;font-size:.9rem;font-weight:500;margin:0 0 8px}.dark-mode .stat-item h4{color:#bbb}.stat-item p{color:#2c3e50;font-size:1.8rem;font-weight:700;margin:0}.dark-mode .stat-item p{color:#f5f5f5}.break-indicator{background:#e74c3c;border-radius:50px;box-shadow:0 3px 6px #e74c3c33;color:#fff;display:inline-block;font-size:.9rem;font-weight:600;margin-bottom:16px;padding:6px 16px}.break-indicator.break{background:#27ae60;box-shadow:0 3px 6px #27ae6033}.dark-mode .break-indicator{box-shadow:0 3px 6px #e74c3c4d}.dark-mode .break-indicator.break{box-shadow:0 3px 6px #27ae604d}@media (max-width:768px){.timer-display{font-size:4rem;margin:16px 0 32px}.timer-controls{align-items:center;flex-direction:column;gap:12px}.timer-button{max-width:280px;width:100%}.session-stats{gap:12px;grid-template-columns:1fr}.setting-item label{font-size:.9rem}}@media (max-width:480px){.pomodoro-container{padding:16px}.timer-display{font-size:3.5rem;margin:12px 0 24px}.pomodoro-container h2{font-size:1.4rem}.timer-settings{padding:16px}.settings-grid{gap:12px;grid-template-columns:1fr}.stat-item p{font-size:1.5rem}}.subject-tracker{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:2rem;transition:background-color .3s ease,box-shadow .3s ease}.dark-mode .subject-tracker{background:#1e1e1e;box-shadow:0 2px 8px #0000004d}.subject-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.subject-header h2{color:#2c3e50;font-size:2rem;margin:0;transition:color .3s ease}.dark-mode .subject-header h2{color:#f5f5f5}.add-subject-button{align-items:center;background:#495057;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;gap:.5rem;padding:.75rem 1.5rem;transition:background-color .3s ease}.dark-mode .add-subject-button{background:#666}.add-subject-button:hover{background:#343a40}.dark-mode .add-subject-button:hover{background:#777}.subject-overview{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:2fr 1fr;margin-bottom:2rem}.subject-stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.subject-list,.subject-stats{grid-gap:1rem;display:grid;gap:1rem}.subject-card{background:#fff;border-radius:10px;box-shadow:0 2px 4px #0000000d;padding:1.5rem;transition:all .3s ease}.dark-mode .subject-card{background:#2d2d2d;box-shadow:0 2px 4px #0003}.subject-name{color:#2c3e50;font-size:1.2rem;margin-bottom:1rem;transition:color .3s ease}.dark-mode .subject-name{color:#f5f5f5}.progress-bar{background:#f0f0f0;border-radius:4px;height:8px;margin-bottom:1rem;overflow:hidden;transition:background-color .3s ease}.dark-mode .progress-bar{background:#404040}.progress-fill{height:100%;transition:width .3s ease,background-color .3s ease}.subject-meta{align-items:center;color:#7f8c8d;display:flex;font-size:.9rem;justify-content:space-between;transition:color .3s ease}.dark-mode .subject-meta{color:#a0a0a0}.subject-actions{display:flex;gap:1rem;margin-top:1rem}.action-button{background:none;border:none;color:#3498db;cursor:pointer;padding:.5rem;transition:color .3s ease}.dark-mode .action-button{color:#5dade2}.action-button:hover{color:#2980b9}.dark-mode .action-button:hover{color:#3498db}.subject-form{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:2rem;transition:background-color .3s ease,box-shadow .3s ease}.dark-mode .subject-form{background:#2d2d2d;box-shadow:0 2px 8px #0000004d}.form-group label{color:#2c3e50;display:block;margin-bottom:.5rem;transition:color .3s ease}.dark-mode .form-group label{color:#f5f5f5}.form-group input,.form-group select{background:#fff;border:1px solid #ddd;border-radius:6px;color:#2c3e50;padding:.75rem;transition:all .3s ease;width:100%}.dark-mode .form-group input,.dark-mode .form-group select{background:#1e1e1e;border-color:#444;color:#f5f5f5}.form-group input:focus,.form-group select:focus{border-color:#06c;outline:none}.dark-mode .form-group input:focus,.dark-mode .form-group select:focus{border-color:#1a75ff}.form-actions{display:flex;gap:1rem;justify-content:flex-end}.cancel-button,.submit-button{border-radius:6px;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:all .3s ease}.submit-button{background:#06c;border:none;color:#fff}.dark-mode .submit-button{background:#1a75ff}.submit-button:hover{background:#0052a3}.cancel-button{background:none;border:1px solid #ddd;color:#7f8c8d}.dark-mode .cancel-button{border-color:#444;color:#a0a0a0}.cancel-button:hover{background:#f8f9fa;border-color:#ccc}.dark-mode .cancel-button:hover{background:#2d2d2d;border-color:#666}.streak-calendar{grid-gap:5px;display:grid;gap:5px;grid-template-columns:repeat(7,1fr);margin:20px 0}.calendar-day{aspect-ratio:1;background:#eee;border-radius:5px;font-size:.8rem}.calendar-day.active{background:#28a745;color:#fff}.analytics-container{display:flex;flex-direction:column;gap:30px}.resource-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.resource-card{background:#fff;border:1px solid #eee;border-radius:10px;box-shadow:0 2px 4px #0000000d;cursor:pointer;padding:15px;transition:transform .2s ease}.dark-mode .resource-card{background:#2d2d2d;border-color:#333}.resource-card:hover{transform:translateY(-5px)}.dark-mode .resource-card:hover{box-shadow:0 6px 12px #0006}.achievement-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.achievement-card{background:#fff;border:1px solid #eee;border-radius:10px;box-shadow:0 2px 4px #0000000d;padding:20px;text-align:center}.dark-mode .achievement-card{background:#2d2d2d;border-color:#333}.achievement-icon{color:#ffc107;font-size:2rem;margin-bottom:10px}.achievement-locked{opacity:.5}@media (max-width:992px){.study-tools-content{flex-direction:column;padding:16px}.study-tools-sidebar{height:auto;margin-bottom:20px;position:static;width:100%}.study-tools-main{min-height:auto;padding:24px}}@media (max-width:768px){.dashboard-grid{gap:16px;grid-template-columns:1fr}.stat-card{padding:20px}.chart-container{height:250px;padding:20px}}@media (max-width:480px){.study-tools-main{padding:16px}.stat-value{font-size:2rem}.user-welcome .user-avatar{font-size:16px;height:40px;width:40px}.user-welcome h3{font-size:1.1rem}}.study-calendar{background:#fff;border:1px solid #0000000d;border-radius:16px;box-shadow:0 4px 12px #0000000d;margin-bottom:24px;padding:24px;transition:all .3s ease}.dark-mode .study-calendar{background:#2d2d2d;border-color:#ffffff0d;box-shadow:0 4px 12px #00000026}.calendar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.calendar-header h3{color:#333;font-size:1.2rem;font-weight:600;margin:0}.dark-mode .calendar-header h3{color:#f5f5f5}.calendar-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(7,1fr)}.calendar-day{align-items:center;aspect-ratio:1/.8;background:#f8f9fa;border-radius:8px;color:#666;display:flex;flex-direction:column;font-size:.85rem;justify-content:center;padding:4px;transition:all .2s ease}.dark-mode .calendar-day{background:#3d3d3d;color:#aaa}.day-number{font-weight:600;margin-bottom:4px}.day-hours{color:#888;font-size:.75rem}.dark-mode .day-hours{color:#999}.calendar-day.studied{background:#28a74526;border:1px solid #28a7454d;color:#1e7e34}.dark-mode .calendar-day.studied{background:#2ecc7126;border:1px solid #2ecc714d;color:#2ecc71}.calendar-day.studied .day-hours{color:#218838}.dark-mode .calendar-day.studied .day-hours{color:#2ecc71}.dark-mode .dashboard-calendar{background-color:var(--bg-secondary)!important;border:1px solid var(--border-primary)!important;border-radius:8px}.dark-mode .react-calendar{background-color:var(--bg-secondary)!important;border:1px solid var(--border-primary)!important;color:var(--text-primary)!important}.dark-mode .react-calendar__navigation{background-color:var(--bg-tertiary)!important}.dark-mode .react-calendar__navigation button{background-color:initial!important;color:var(--text-primary)!important}.dark-mode .react-calendar__navigation button:hover{background-color:var(--bg-primary)!important}.dark-mode .react-calendar__month-view__weekdays{background-color:var(--bg-tertiary)!important}.dark-mode .react-calendar__month-view__weekdays__weekday{color:var(--text-secondary)!important}.dark-mode .react-calendar__tile{background-color:var(--bg-secondary)!important;border:1px solid var(--border-primary)!important;color:var(--text-primary)!important}.dark-mode .react-calendar__tile:hover{background-color:var(--bg-tertiary)!important}.dark-mode .react-calendar__tile--active{background-color:var(--bg-primary)!important;color:var(--text-primary)!important}.dark-mode .react-calendar__tile--now{background-color:#6663!important}.dark-mode .react-calendar__tile--hasActive{background-color:var(--bg-tertiary)!important}.ai-grader-study-tools{height:100%;overflow-y:auto;padding:0}.grader-hero-minimal{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;margin-bottom:1.5rem;padding:2rem 1.5rem;text-align:center}.hero-content-minimal{margin:0 auto;max-width:600px}.hero-icon-minimal{font-size:2.5rem;margin-bottom:.75rem;opacity:.9}.grader-hero-minimal h1{font-size:1.8rem;font-weight:700;margin-bottom:.5rem;text-shadow:0 2px 4px #0000001a}.grader-hero-minimal p{font-size:1rem;line-height:1.5;margin:0;opacity:.9}.grader-main-study-tools{display:flex;flex-direction:column;gap:1.5rem}@media (max-width:768px){.grader-hero-minimal{padding:1.5rem 1rem}.hero-icon-minimal{font-size:2rem}.grader-hero-minimal h1{font-size:1.5rem}.grader-hero-minimal p{font-size:.95rem}}.elvyse-chat-page body,.elvyse-chat-page html{box-sizing:border-box;height:100vh;margin:0;max-height:100vh;overflow:hidden;padding:0}.elvyse-chat-container,.elvyse-chat-page #root{box-sizing:border-box;display:flex;flex-direction:column;height:100vh;margin:0;max-height:100vh;overflow:hidden;padding:0}.elvyse-chat-container{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh}.elvyse-chat,.elvyse-chat-container{background:#fff;background:var(--bg-primary,#fff);position:relative}.elvyse-chat{display:flex;flex:1 1;flex-direction:column;margin:0;max-height:100%;min-height:0;overflow:hidden;padding:0;width:100%}.elvyse-chat.dark-mode{background:#1a1a1a;background:var(--bg-primary-dark,#1a1a1a);border-color:#1a1a1a;border-color:var(--border-primary-dark,#1a1a1a)}.elvyse-chat.dark-mode .model-option-header{color:#e5e5e5;color:var(--text-primary-dark,#e5e5e5)}.elvyse-chat.dark-mode .model-cost{color:#a0a0a0;color:var(--text-secondary-dark,#a0a0a0)}.elvyse-chat.dark-mode .upgrade-notice{color:#ff8a8a}.elvyse-chat.dark-mode .model-option:disabled{background:#2d2d2d;background:var(--bg-tertiary-dark,#2d2d2d);opacity:.5}.elvyse-chat.dark-mode .chat-header{background:#1a1a1a;background:var(--bg-secondary-dark,#1a1a1a);border-color:#1a1a1a;border-color:var(--border-primary-dark,#1a1a1a);border-radius:0}.elvyse-chat.dark-mode .chat-input-area{background:#1a1a1a;background:var(--bg-secondary-dark,#1a1a1a);border-color:#1a1a1a;border-color:var(--border-primary-dark,#1a1a1a)}.chat-login-prompt{align-items:center;background:#667eea;border-radius:0;color:#fff;display:flex;flex:1 1;flex-direction:column;justify-content:center;margin-top:0;padding:40px;text-align:center}.chat-login-prompt .chat-robot-icon{font-size:48px;margin-bottom:20px;opacity:.9}.chat-login-prompt h2{font-size:32px;font-weight:600;margin-bottom:10px}.chat-login-prompt p{font-size:18px;margin-bottom:8px;opacity:.8}.chat-login-prompt .login-message{font-size:16px;margin-bottom:24px;opacity:.9}.login-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;border-radius:12px;color:#fff;font-weight:500;padding:12px 24px;text-decoration:none;transition:all .3s ease}.login-button:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-2px)}.chat-header{background:#fff;background:var(--bg-primary,#fff);border-bottom:none;box-sizing:border-box;flex-shrink:0;justify-content:space-between;min-height:2px;overflow:visible;padding:12px 20px;position:sticky;top:0;z-index:100}.chat-header,.chat-header-left{align-items:center;display:flex}.chat-header-left{flex:1 1;gap:20px}.chat-branding{align-items:center;display:flex;gap:10px}.chat-robot-icon,.chat-title-section h2{color:#667eea;font-size:20px}.chat-title-section h2{font-weight:700;margin:0}.chat-subtitle{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:12px;font-weight:500;margin:0}.chat-status-indicators{align-items:center;display:flex;flex-wrap:nowrap;gap:10px}.rag-status{align-items:center;border-radius:20px;display:flex;font-size:12px;font-weight:500;gap:6px;padding:6px 12px;transition:all .3s ease}.rag-status.connected{background:#d1fae5;color:#065f46}.rag-status.error{background:#fee2e2;color:#991b1b}.rag-status .status-icon{font-size:12px}.subjects-indicator{align-items:center;background:#e0e7ff;border-radius:20px;color:#3730a3;display:flex;font-size:12px;font-weight:500;gap:6px;padding:6px 12px}.subjects-indicator .info-icon{font-size:12px}.chat-header-right{align-items:center;display:flex;gap:16px;overflow:visible}.model-selector{position:relative;z-index:200}.custom-model-dropdown{overflow:visible;position:relative;-webkit-user-select:none;user-select:none}.model-button{align-items:center;background:#fff;background:var(--bg-primary,#fff);border:1px solid #e1e5e9;border:1px solid var(--border-primary,#e1e5e9);border-radius:12px;color:#1f2937;color:var(--text-primary,#1f2937);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;min-width:180px;padding:8px 16px;transition:all .2s ease}.model-button:hover{background:#f3f4f6;background:var(--bg-secondary,#f3f4f6);border-color:#d1d5db;border-color:var(--border-secondary,#d1d5db)}.model-button:disabled{cursor:not-allowed;opacity:.5}.selected-model-name{align-items:flex-start;display:flex;flex-direction:column;gap:2px}.selected-model-cost{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:12px;font-weight:400}.model-dropdown-menu{background:#fff;background:var(--bg-primary,#fff);border:1px solid #e1e5e9;border:1px solid var(--border-primary,#e1e5e9);border-radius:12px;box-shadow:0 8px 24px #00000026;left:0;margin-top:4px;max-height:240px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.model-option{background:#0000;border:none;border-bottom:1px solid #e1e5e9;border-bottom:1px solid var(--border-primary,#e1e5e9);cursor:pointer;display:block;padding:12px 16px;text-align:left;transition:all .2s ease;width:100%}.model-option:last-child{border-bottom:none}.model-option:hover{background:#f3f4f6;background:var(--bg-secondary,#f3f4f6)}.model-option.selected{background:#eff6ff;background:var(--primary-50,#eff6ff);color:#2563eb;color:var(--primary-600,#2563eb)}.model-option:disabled{background:#f5f5f5;background:var(--bg-tertiary,#f5f5f5);cursor:not-allowed;opacity:.6}.model-option-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.model-info{display:flex;flex-direction:column;gap:4px}.model-name{color:#1f2937;color:var(--text-primary,#1f2937);font-size:14px;font-weight:500}.model-description{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:12px}.model-cost-info{color:#9ca3af;color:var(--text-tertiary,#9ca3af);font-size:11px;font-weight:400}.model-cost{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:11px}.upgrade-notice{color:#ff6b6b;font-style:italic;margin-left:3px}.chat-actions{gap:8px}.chat-action-btn,.chat-actions{align-items:center;display:flex}.chat-action-btn{background:#fff;background:var(--bg-primary,#fff);border:1px solid #e1e5e9;border:1px solid var(--border-primary,#e1e5e9);border-radius:10px;color:#6b7280;color:var(--text-secondary,#6b7280);cursor:pointer;height:40px;justify-content:center;transition:all .2s ease;width:40px}.chat-action-btn:hover{background:#f3f4f6;background:var(--bg-secondary,#f3f4f6);color:#1f2937;color:var(--text-primary,#1f2937)}.chat-action-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.chat-usage-info{background:#fff;background:var(--bg-primary,#fff);border-bottom:none;flex-shrink:0;padding:6px 20px}.usage-indicator{align-items:center;display:flex;font-size:13px;justify-content:space-between}.usage-text{color:#6b7280;color:var(--text-secondary,#6b7280);font-weight:500}.usage-indicator.limit-reached .usage-text{color:#dc2626}.plan-badge{background:#667eea;border-radius:12px;color:#fff;font-size:12px;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.chat-error{align-items:center;background:#fee2e2;border-bottom:1px solid #fecaca;color:#991b1b;display:flex;flex-shrink:0;font-size:14px;justify-content:space-between;padding:12px 24px}.error-dismiss{background:none;border:none;color:#991b1b;cursor:pointer;font-size:18px;opacity:.7;transition:opacity .2s ease}.error-dismiss:hover{opacity:1}.tool-call-status{background:#f0f9ff;border-bottom:none;flex-shrink:0;padding:8px 20px}.tool-call-indicator{align-items:center;display:flex;gap:12px}.tool-call-indicator .spinning{animation:spin 1s linear infinite}.tool-call-info{display:flex;flex-direction:column;gap:4px}.tool-call-message{color:#0369a1;font-size:14px;font-weight:500}.tool-call-details{align-items:center;color:#0284c7;display:flex;font-size:12px;gap:8px}.chat-messages{background:#fff;background:var(--bg-primary,#fff);contain:layout style size;gap:20px;max-height:100%;min-height:0;overflow-x:hidden;padding:20px 24px;position:relative}.chat-message{align-items:flex-start;display:flex;gap:12px}.chat-message.user{background:#0000;flex-direction:row-reverse}.message-avatar{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:16px;height:40px;justify-content:center;width:40px}.chat-message.user .message-avatar{background:#667eea;color:#fff}.chat-message.assistant .message-avatar{background:#f3f4f6;background:var(--bg-secondary,#f3f4f6);border:2px solid #e1e5e9;border:2px solid var(--border-primary,#e1e5e9);color:#1f2937;color:var(--text-primary,#1f2937)}.message-content{background:#0000;flex:1 1;max-width:70%;min-width:0}.chat-message.user .message-content{text-align:right}.message-text{word-wrap:break-word;border-radius:18px;box-sizing:border-box;contain:layout style;font-size:15px;line-height:1.6;max-width:100%;overflow-wrap:break-word;padding:16px 20px}.chat-message.user .message-text,.message-text{background:#fff;background:var(--bg-primary,#fff);border:1px solid #e1e5e9;border:1px solid var(--border-primary,#e1e5e9);color:#1f2937;color:var(--text-primary,#1f2937)}.chat-message.assistant .message-text{background:#f8fafc;background:var(--bg-secondary,#f8fafc)}.message-meta{align-items:center;display:flex;gap:8px;margin-top:8px}.chat-message.user .message-meta{justify-content:flex-end}.message-time{color:#9ca3af;color:var(--text-tertiary,#9ca3af);font-size:12px;font-weight:400}.chat-input-area{background:#fff;background:var(--bg-primary,#fff);border-top:none;bottom:0;box-sizing:border-box;flex-shrink:0;max-width:100%;overflow:hidden;padding:10px 20px;position:sticky;z-index:50}.chat-input-container{align-items:flex-end;background:#f8fafc;background:var(--bg-secondary,#f8fafc);border:1px solid #e1e5e9;border:1px solid var(--border-primary,#e1e5e9);border-radius:16px;display:flex;gap:10px;padding:8px 12px;transition:all .2s ease}.chat-input-container:focus-within{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.chat-input{background:#0000;border:none;color:#1f2937;color:var(--text-primary,#1f2937);font-family:inherit;font-size:15px;line-height:1.5;max-height:120px;min-height:22px;outline:none;resize:none}.chat-input::placeholder{color:#9ca3af;color:var(--text-tertiary,#9ca3af)}.chat-send-btn{align-items:center;background:#667eea;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}.chat-send-btn:hover:not(:disabled){opacity:.9}.chat-send-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.spinning{animation:spin 1s linear infinite}@keyframes dots{0%,20%{content:"."}40%{content:".."}60%,to{content:"..."}}.thinking-indicator{align-items:flex-start;display:flex;gap:12px;margin-bottom:12px}.thinking-content{align-items:center;background:#f8fafc;background:var(--bg-secondary,#f8fafc);border:1px solid #e1e5e9;border:1px solid var(--border-primary,#e1e5e9);border-radius:18px;color:#6b7280;color:var(--text-secondary,#6b7280);display:flex;font-size:15px;gap:8px;padding:12px 16px}.thinking-dots{align-items:center;display:flex;gap:3px;height:10px;margin-left:4px}.thinking-dot{background-color:#6b7280;background-color:var(--text-secondary,#6b7280);border-radius:50%;height:6px;opacity:.3;width:6px}.thinking-dot:first-child{animation:pulse 1.2s ease-in-out infinite;animation-delay:0s}.thinking-dot:nth-child(2){animation:pulse 1.2s ease-in-out infinite;animation-delay:.4s}.thinking-dot:nth-child(3){animation:pulse 1.2s ease-in-out infinite;animation-delay:.8s}@keyframes pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.elvyse-chat.dark-mode .thinking-content{background:#2d2d2d;background:var(--bg-secondary-dark,#2d2d2d);border-color:#333;border-color:var(--border-primary-dark,#333)}@media (max-width:768px){.chat-header{align-items:flex-start;flex-direction:column;min-height:auto;padding:10px 15px}.chat-header-left{flex-wrap:wrap;gap:10px;margin-bottom:10px;width:100%}.chat-branding{flex:0 0 auto}.chat-status-indicators{flex:1 1;flex-wrap:wrap;justify-content:flex-start}.chat-header-right{justify-content:space-between;width:100%}.chat-messages{flex:1 1;min-height:0}.model-button{min-width:140px}}@media (max-width:480px){.chat-header,.chat-input-area,.chat-messages{padding:12px 16px}.message-content{max-width:90%}}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:#0000}.chat-messages::-webkit-scrollbar-thumb{background:#e1e5e9;background:var(--border-primary,#e1e5e9);border-radius:3px}.chat-messages::-webkit-scrollbar-thumb:hover{background:#d1d5db;background:var(--border-secondary,#d1d5db)}::selection{background:#667eea33}.chat-input:focus{outline:none}.chat-action-btn:focus,.chat-send-btn:focus,.model-button:focus{outline:2px solid #667eea;outline-offset:2px}.message-text table{border-collapse:collapse;border-radius:8px;box-shadow:0 1px 3px #0000001a;font-size:14px;margin:16px 0;overflow:hidden;width:100%}.message-text td,.message-text th{border:1px solid #e1e5e9;border:1px solid var(--border-primary,#e1e5e9);padding:12px 16px;text-align:left;vertical-align:top}.message-text th{background:#f8fafc;background:var(--bg-secondary,#f8fafc);border-bottom:2px solid #e1e5e9;border-bottom:2px solid var(--border-primary,#e1e5e9);font-weight:600}.message-text td,.message-text th{color:#1f2937;color:var(--text-primary,#1f2937)}.message-text td{background:#fff;background:var(--bg-primary,#fff)}.message-text tr:nth-child(2n) td{background:#f8fafc;background:var(--bg-secondary,#f8fafc)}.message-text tr:hover td{background:#f1f5f9;background:var(--bg-tertiary,#f1f5f9)}.elvyse-chat.dark-mode .message-text table{box-shadow:0 1px 3px #0000004d}.elvyse-chat.dark-mode .message-text th{background:#2d2d2d;background:var(--bg-secondary-dark,#2d2d2d)}.elvyse-chat.dark-mode .message-text td,.elvyse-chat.dark-mode .message-text th{border-color:#333;border-color:var(--border-primary-dark,#333);color:#e5e5e5;color:var(--text-primary-dark,#e5e5e5)}.elvyse-chat.dark-mode .message-text td{background:#1a1a1a;background:var(--bg-primary-dark,#1a1a1a)}.elvyse-chat.dark-mode .message-text tr:nth-child(2n) td{background:#2d2d2d;background:var(--bg-secondary-dark,#2d2d2d)}.elvyse-chat.dark-mode .message-text tr:hover td{background:#3d3d3d;background:var(--bg-tertiary-dark,#3d3d3d)}@media (max-width:768px){.message-text table{font-size:13px}.message-text td,.message-text th{padding:8px 12px}}@media (max-width:480px){.message-text table{font-size:12px}.message-text td,.message-text th{padding:6px 8px}}.message-text .katex{display:inline-block;font-size:1em;line-height:1.2;max-width:100%;overflow-x:auto;overflow-y:hidden;text-indent:0;text-rendering:auto;vertical-align:middle}.message-text .katex-display{display:block;max-width:100%;overflow-x:auto;overflow-y:hidden;text-align:center}.message-text .katex-display>.katex{display:inline-block;max-width:100%;text-align:left}.message-text .katex:not(.katex-display){font-size:1.1em;margin:0 .2em}.message-text .katex .mord{margin:0 .1em}.message-text .katex .mbin,.message-text .katex .mrel{margin:0 .2em}.message-text .katex .boxed{border:2px solid;border-radius:.2em;padding:.2em .4em}.message-text .katex-display{background:#0000;border-left:none;border-radius:0;margin:1em 0;padding:0}.message-text .katex:not(.katex-display){background:#0000;border:none;border-radius:0;padding:0}.elvyse-chat.dark-mode .message-text .katex,.elvyse-chat.dark-mode .message-text .katex .base{color:#e5e5e5;color:var(--text-primary,#e5e5e5)}.elvyse-chat.dark-mode .message-text .katex .boxed{border-color:#e5e5e5;border-color:var(--text-primary,#e5e5e5)}.elvyse-chat.dark-mode .message-text .katex-display{background:#667eea1a;border-left-color:#667eea}.elvyse-chat.dark-mode .message-text .katex:not(.katex-display){background:#667eea26;border-color:#667eea4d}.alert{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #ffffff1a;border-radius:8px;box-shadow:0 4px 12px #00000026;margin-bottom:12px;opacity:0;overflow:hidden;pointer-events:auto;transform:translateX(100%);transition:all .3s cubic-bezier(.4,0,.2,1)}.alert-visible{opacity:1;transform:translateX(0)}.alert-exiting{margin-bottom:0;max-height:0;opacity:0;padding:0;transform:translateX(100%)}@media (max-width:768px){.alert{margin-bottom:8px;transform:translateY(-100%)}.alert-visible{transform:translateY(0)}.alert-exiting{transform:translateY(-100%)}}.alert-content{align-items:flex-start;display:flex;gap:12px;padding:16px}@media (max-width:768px){.alert-content{padding:12px 16px}}.alert-info{background:#3b82f6e6;color:#fff}.alert-info.dark-mode{background:#3b82f6cc;border-color:#3b82f64d}.alert-success{background:#22c55ee6;color:#fff}.alert-success.dark-mode{background:#22c55ecc;border-color:#22c55e4d}.alert-warning{background:#f59e0be6;color:#fff}.alert-warning.dark-mode{background:#f59e0bcc;border-color:#f59e0b4d}.alert-error{background:#ef4444e6;color:#fff}.alert-error.dark-mode{background:#ef4444cc;border-color:#ef44444d}.alert-icon-container{align-items:center;display:flex;flex-shrink:0}.alert-icon{height:20px;opacity:.9;width:20px}.alert-text{flex:1 1;min-width:0}.alert-title{font-size:14px;font-weight:600;line-height:1.4;margin-bottom:4px}.alert-message{word-wrap:break-word;font-size:13px;line-height:1.5;opacity:.95}@media (max-width:768px){.alert-title{font-size:15px}.alert-message{font-size:14px}}.alert-close-button{align-items:center;background:none;border:none;border-radius:4px;color:currentColor;cursor:pointer;display:flex;flex-shrink:0;justify-content:center;opacity:.7;padding:2px;transition:opacity .2s ease}.alert-close-button:hover{background:#ffffff1a;opacity:1}.alert-close-button svg{height:16px;width:16px}.alert.dark-mode{box-shadow:0 4px 12px #0006}@media (min-width:769px){.alert:hover{box-shadow:0 6px 16px #0003;transform:scale(1.02)}.alert.dark-mode:hover{box-shadow:0 6px 16px #00000080}}.alert:after{animation:alert-progress 5s linear;background:#ffffff4d;content:"";height:2px;left:0;position:absolute;top:0;transform-origin:left}.alert-error:after,.alert-info:after,.alert-success:after,.alert-warning:after{background:#fff6}@keyframes alert-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.alert-container{pointer-events:none;position:fixed;z-index:9999}@media (min-width:769px){.alert-container{bottom:20px;max-width:400px;min-width:300px;right:20px}}@media (max-width:768px){.alert-container{left:0;max-width:none;padding:10px;right:0;top:0}}.alert-demo{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:800px;padding:20px}.alert-demo h2{color:#333;margin-bottom:10px}.alert-demo p{color:#666;line-height:1.5;margin-bottom:20px}.alert-demo-section{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:30px;padding:20px}.alert-demo-section h3{color:#333;font-size:18px;margin-bottom:8px}.alert-demo-section p{font-size:14px;margin-bottom:15px}.alert-demo-buttons{display:flex;flex-wrap:wrap;gap:10px}.demo-btn{border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;min-width:120px;padding:10px 16px;transition:all .2s ease}.demo-btn:hover{box-shadow:0 2px 8px #00000026;transform:translateY(-1px)}.demo-btn:active{transform:translateY(0)}.demo-btn.success{background:#22c55e}.demo-btn.success:hover{background:#16a34a}.demo-btn.error{background:#ef4444}.demo-btn.error:hover{background:#dc2626}.demo-btn.warning{background:#f59e0b}.demo-btn.warning:hover{background:#d97706}.demo-btn.info{background:#3b82f6}.demo-btn.info:hover{background:#2563eb}.demo-btn.test{background:#8b5cf6}.demo-btn.test:hover{background:#7c3aed}.demo-btn.clear{background:#6b7280}.demo-btn.clear:hover{background:#4b5563}.alert-demo-info{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;margin-top:20px;padding:20px}.alert-demo-info h4{color:#1e40af;margin-bottom:10px}.alert-demo-info ul{list-style:none;margin:0;padding:0}.alert-demo-info li{color:#1e40af;font-size:14px;margin-bottom:5px}.dark-mode .alert-demo{color:#e5e7eb}.dark-mode .alert-demo h2{color:#f9fafb}.dark-mode .alert-demo p{color:#d1d5db}.dark-mode .alert-demo-section{background:#1f2937;border-color:#374151}.dark-mode .alert-demo-section h3{color:#f9fafb}.dark-mode .alert-demo-info{background:#1e3a8a;border-color:#3b82f6}.dark-mode .alert-demo-info h4,.dark-mode .alert-demo-info li{color:#bfdbfe}@media (max-width:768px){.alert-demo{padding:15px}.alert-demo-buttons{flex-direction:column}.demo-btn{min-width:auto;width:100%}.alert-demo-section{padding:15px}}:root{--primary-50:#f7f3ff;--primary-100:#eee6ff;--primary-200:#ddd2ff;--primary-300:#c4b0ff;--primary-400:#a788ff;--primary-500:#8b5cf6;--primary-600:#7030d0;--primary-700:#6025b7;--primary-800:#501f96;--primary-900:#43197a;--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-800:#1f2937;--gray-900:#111827;--success:#10b981;--warning:#f59e0b;--error:#ef4444;--info:var(--primary-500);--bg-primary:#fff;--bg-secondary:var(--gray-50);--bg-tertiary:var(--gray-100);--text-primary:var(--gray-900);--text-secondary:var(--gray-600);--text-tertiary:var(--gray-500);--border-primary:var(--gray-200);--border-secondary:var(--gray-300);--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--font-sans:"Inter","SF Pro Display",-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto",sans-serif;--font-mono:"SF Mono","Monaco","Cascadia Code","Roboto Mono",monospace;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-normal:300ms cubic-bezier(0.4,0,0.2,1);--transition-slow:500ms cubic-bezier(0.4,0,0.2,1)}.dark-mode{--bg-primary:#1a1a1a;--bg-secondary:#242424;--bg-tertiary:#2e2e2e;--text-primary:#e5e5e5;--text-secondary:#b8b8b8;--text-tertiary:#888;--border-primary:#333;--border-secondary:#404040;--shadow-sm:0 1px 2px 0 #0006;--shadow-md:0 4px 6px -1px #0006,0 2px 4px -2px #0006;--shadow-lg:0 10px 15px -3px #0006,0 4px 6px -4px #0006;--shadow-xl:0 20px 25px -5px #0006,0 8px 10px -6px #0006}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;line-height:1.5;tab-size:4}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;background-color:var(--bg-primary);color:#111827;color:var(--text-primary);font-family:Inter,SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-sans);line-height:1.6;transition:background-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1);transition:background-color var(--transition-normal),color var(--transition-normal)}.App{display:flex;flex-direction:column;height:100vh}.btn{align-items:center;border:1px solid #0000;border-radius:.5rem;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;gap:var(--space-2);justify-content:center;line-height:1;padding:.75rem 1.5rem;padding:var(--space-3) var(--space-6);text-decoration:none;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;white-space:nowrap}.btn:focus{outline:2px solid #8b5cf6;outline:2px solid var(--primary-500);outline-offset:2px}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background-color:#7030d0;background-color:var(--primary-600);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);color:#fff}.dark-mode .btn-primary{background-color:#666}.btn-primary:hover:not(:disabled){background-color:#6025b7;background-color:var(--primary-700);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-1px)}.dark-mode .btn-primary:hover:not(:disabled){background-color:#777}.btn-secondary{background-color:#fff;background-color:var(--bg-primary);border-color:#e5e7eb;border-color:var(--border-primary);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);color:#111827;color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background-color:#f9fafb;background-color:var(--bg-secondary);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-ghost{background-color:initial;color:#4b5563;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background-color:#f9fafb;background-color:var(--bg-secondary);color:#111827;color:var(--text-primary)}.btn-sm{font-size:.75rem;padding:.5rem 1rem;padding:var(--space-2) var(--space-4)}.btn-lg{font-size:1rem;padding:1rem 2rem;padding:var(--space-4) var(--space-8)}.card{background-color:#fff;background-color:var(--bg-primary);border:1px solid #e5e7eb;border:1px solid var(--border-primary);border-radius:1rem;border-radius:var(--radius-xl);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--transition-normal)}.card:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-body{padding:1.5rem;padding:var(--space-6)}.card-header{padding:1.5rem 1.5rem 0;padding:var(--space-6) var(--space-6) 0}.card-footer{padding:0 1.5rem 1.5rem;padding:0 var(--space-6) var(--space-6)}.form-group{margin-bottom:1.5rem;margin-bottom:var(--space-6)}.form-label{display:block;font-weight:500;margin-bottom:.5rem;margin-bottom:var(--space-2)}.form-input,.form-label{color:#111827;color:var(--text-primary);font-size:.875rem}.form-input{background-color:#fff;background-color:var(--bg-primary);border:1px solid #e5e7eb;border:1px solid var(--border-primary);border-radius:.5rem;border-radius:var(--radius-md);line-height:1.5;padding:.75rem 1rem;padding:var(--space-3) var(--space-4);transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast);width:100%}.form-input:focus{border-color:#8b5cf6;border-color:var(--primary-500);box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-input::placeholder{color:#6b7280;color:var(--text-tertiary)}.form-select{background-color:#fff;background-color:var(--bg-primary);border:1px solid #e5e7eb;border:1px solid var(--border-primary);border-radius:.5rem;border-radius:var(--radius-md);color:#111827;color:var(--text-primary);cursor:pointer;font-size:.875rem;line-height:1.5;padding:.75rem 1rem;padding:var(--space-3) var(--space-4);transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast);width:100%}.form-select:focus{border-color:#8b5cf6;border-color:var(--primary-500);box-shadow:0 0 0 3px #3b82f61a;outline:none}.paper-list{grid-gap:1rem;grid-gap:var(--space-4);display:grid;gap:1rem;gap:var(--space-4)}.paper-item{background-color:#fff;background-color:var(--bg-primary);border:1px solid #e5e7eb;border:1px solid var(--border-primary);border-radius:.75rem;border-radius:var(--radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);cursor:pointer;padding:1.25rem;padding:var(--space-5);transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--transition-normal)}.paper-item:hover{border-color:#c4b0ff;border-color:var(--primary-300);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-2px)}.stats-grid{grid-gap:1.5rem;grid-gap:var(--space-6);display:grid;gap:1.5rem;gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:2rem 0;margin:var(--space-8) 0}.stat-card{background-color:#fff;background-color:var(--bg-primary);border:1px solid #e5e7eb;border:1px solid var(--border-primary);border-radius:1rem;border-radius:var(--radius-xl);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);padding:1.5rem;padding:var(--space-6);text-align:center}.stat-number{color:#7030d0;color:var(--primary-600);font-size:2.5rem;font-weight:700;line-height:1}.stat-label{color:#4b5563;color:var(--text-secondary);font-size:.875rem;margin-top:.5rem;margin-top:var(--space-2)}.viewer-wrapper{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden}.viewer-navbar{align-items:center;background-color:#fff;background-color:var(--bg-primary);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-primary);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);gap:1rem;gap:var(--space-4);padding:1rem;padding:var(--space-4);position:sticky;top:0;z-index:50}.viewer-body,.viewer-navbar{display:flex;overflow:hidden}.viewer-body{flex:1 1}.pdf-viewer{align-items:center;background-color:#f9fafb;background-color:var(--bg-secondary);flex:1 1;justify-content:flex-start;overflow-x:hidden;overflow-y:auto;padding:.75rem;padding:var(--space-3);scroll-behavior:auto}.chat-sidebar,.pdf-viewer{display:flex;flex-direction:column}.chat-sidebar{background-color:#fff;background-color:var(--bg-primary);border-left:1px solid #e5e7eb;border-left:1px solid var(--border-primary);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;box-shadow:var(--shadow-lg);width:350px}.chat-messages{display:flex;flex:1 1;flex-direction:column;gap:.75rem;gap:var(--space-3);overflow-y:auto;padding:1rem;padding:var(--space-4)}.message{word-wrap:break-word;border-radius:.75rem;border-radius:var(--radius-lg);max-width:85%;padding:.75rem 1rem;padding:var(--space-3) var(--space-4)}.message.user{align-self:flex-end;background-color:#7030d0;background-color:var(--primary-600);border-bottom-right-radius:.375rem;border-bottom-right-radius:var(--radius-sm);color:#fff}.message.assistant{align-self:flex-start;background-color:#f3f4f6;background-color:var(--bg-tertiary);border-bottom-left-radius:.375rem;border-bottom-left-radius:var(--radius-sm);color:#111827;color:var(--text-primary)}.chat-input-container{background-color:#f9fafb;background-color:var(--bg-secondary);border-top:1px solid #e5e7eb;border-top:1px solid var(--border-primary);padding:1rem;padding:var(--space-4)}.chat-input-form{display:flex;gap:.5rem;gap:var(--space-2)}.chat-input{background-color:#fff;background-color:var(--bg-primary);border:1px solid #e5e7eb;border:1px solid var(--border-primary);border-radius:.5rem;border-radius:var(--radius-md);color:#111827;color:var(--text-primary);flex:1 1;padding:.75rem;padding:var(--space-3)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.text-primary{color:#111827;color:var(--text-primary)}.text-secondary{color:#4b5563;color:var(--text-secondary)}.text-tertiary{color:#6b7280;color:var(--text-tertiary)}.bg-primary{background-color:#fff;background-color:var(--bg-primary)}.bg-secondary{background-color:#f9fafb;background-color:var(--bg-secondary)}.rounded{border-radius:.5rem;border-radius:var(--radius-md)}.rounded-lg{border-radius:.75rem;border-radius:var(--radius-lg)}.rounded-xl{border-radius:1rem;border-radius:var(--radius-xl)}.shadow-sm{box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;box-shadow:var(--shadow-lg)}@media (max-width:768px){.chat-sidebar{border-left:none;border-top:1px solid #e5e7eb;border-top:1px solid var(--border-primary);width:100%}.viewer-body{flex-direction:column}.stats-grid{gap:1rem;gap:var(--space-4);grid-template-columns:repeat(2,1fr)}.btn{font-size:.8rem;padding:.75rem 1rem;padding:var(--space-3) var(--space-4)}.viewer-navbar{flex-wrap:wrap;gap:.75rem;gap:var(--space-3);padding:.75rem;padding:var(--space-3)}.viewer-navbar select{flex:1 1 100%;max-width:100%}.viewer-navbar button{align-items:center;display:flex;flex:1 1 20%;font-size:.8rem;gap:4px;justify-content:center;padding:6px 0}.viewer-navbar button svg{font-size:18px}}@media (max-width:992px){body,html{overflow-x:hidden}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.animate-fade-in{animation:fadeIn .3s ease-out}.animate-slide-in{animation:slideIn .3s ease-out}.focus-ring:focus{outline:2px solid #8b5cf6;outline:2px solid var(--primary-500);outline-offset:2px}.paper-note{align-items:center;border-radius:9999px;border-radius:var(--radius-full);display:inline-flex;font-size:.75rem;font-weight:500;margin-right:.5rem;margin-right:var(--space-2);padding:.25rem .5rem;padding:var(--space-1) var(--space-2)}.paper-note-blue{background-color:#eee6ff;background-color:var(--primary-100);color:#501f96;color:var(--primary-800)}.paper-note-green{background-color:#dcfce7;color:#166534}.dark-mode .paper-note-blue{background-color:#43197a;background-color:var(--primary-900);color:#ddd2ff;color:var(--primary-200)}.dark-mode .paper-note-green{background-color:#166534;color:#dcfce7}.react-pdf__Page{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;box-shadow:var(--shadow-lg);margin-bottom:0!important;overflow:hidden}.react-pdf__Page,.react-pdf__Page canvas{border-radius:.5rem;border-radius:var(--radius-md)}
/*# sourceMappingURL=main.f2c572ae.css.map*/