.settings-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.settings-modal{background:#fff;border-radius:16px;box-shadow:0 20px 40px #00000026;width:90%;max-width:500px;max-height:90vh;overflow-y:auto}.settings-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 0;border-bottom:1px solid #e2e8f0;margin-bottom:24px}.settings-header h2{margin:0;color:#2d3748;font-size:1.5rem;font-weight:600}.close-btn{background:none;border:none;font-size:1.5rem;color:#718096;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease}.close-btn:hover{background:#f7fafc;color:#2d3748}.settings-content{padding:0 24px}.setting-group{margin-bottom:24px}.setting-group label{display:block;margin-bottom:8px;color:#2d3748;font-weight:500;font-size:.9rem}.setting-group select,.setting-group input{width:100%;padding:12px 16px;border:1px solid #e2e8f0;border-radius:8px;font-size:1rem;color:#2d3748;background:#fff;transition:border-color .2s ease}.setting-group select:focus,.setting-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.setting-group input::placeholder{color:#a0aec0}.settings-footer{display:flex;justify-content:space-between;gap:12px;padding:24px;border-top:1px solid #e2e8f0;margin-top:24px}.sign-out-btn{background:#e53e3e;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.sign-out-btn:hover{background:#c53030;transform:translateY(-1px)}.save-btn{background:linear-gradient(135deg,#2d3748,#4a5568);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.save-btn:hover{background:linear-gradient(135deg,#1a202c,#2d3748);transform:translateY(-1px)}@media (max-width: 768px){.settings-modal{width:95%;margin:20px}.settings-header,.settings-content,.settings-footer{padding-left:20px;padding-right:20px}.settings-footer{flex-direction:column}.sign-out-btn,.save-btn{width:100%}}.flashcard-container{width:100%;max-width:600px;height:400px;margin:0 auto;perspective:1000px}.flashcard{width:100%;height:100%;border-radius:8px;box-shadow:0 2px 8px #0000001a;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden;display:flex;flex-direction:column;border:1px solid #e5e7eb}.flashcard:hover{box-shadow:0 4px 12px #00000026}.flashcard-front,.flashcard-back{background:#667eea;color:#fff}.flashcard-header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px 6px;border-bottom:1px solid rgba(255,255,255,.2)}.flashcard-meta{display:flex;gap:8px;align-items:center}.flashcard-category{background:#fff3;color:#fff;padding:4px 8px;border-radius:6px;font-size:12px;font-weight:500}.flashcard-difficulty{padding:4px 8px;border-radius:6px;font-size:12px;font-weight:500;color:#fff;text-transform:capitalize;background:#ffffff26}.flashcard-mastery{display:flex;align-items:center}.mastery-indicator{padding:4px 8px;border-radius:6px;font-size:12px;font-weight:600;color:#fff;min-width:40px;text-align:center;background:#fff3}.flashcard-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:20px;text-align:center;overflow-y:auto;max-height:250px;min-height:180px}.flashcard-content .flashcard-text{text-align:left;width:100%}.flashcard-content::-webkit-scrollbar{width:6px}.flashcard-content::-webkit-scrollbar-track{background:#ffffff1a;border-radius:3px}.flashcard-content::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}.flashcard-content::-webkit-scrollbar-thumb:hover{background:#ffffff80}.flashcard-icon{font-size:48px;margin-bottom:16px;opacity:.9;color:#fff}.flashcard-title{font-size:18px;font-weight:600;margin:0 0 12px;color:#fff}.flashcard-text{font-size:16px;line-height:1.6;margin:0;color:#fff;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;max-width:100%;overflow-wrap:break-word;text-align:left;opacity:.95}.flashcard-text ul,.flashcard-text ol{margin:8px 0;padding-left:20px}.flashcard-text li{margin:4px 0;line-height:1.5}.flashcard-text p{margin:8px 0}.flashcard-text p:first-child{margin-top:0}.flashcard-text p:last-child{margin-bottom:0}.flashcard-footer{padding:8px 20px;border-top:1px solid rgba(255,255,255,.2);display:flex;flex-direction:column;gap:8px}.flashcard-hint{font-size:12px;color:#fffc;text-align:center;font-style:italic}.mastery-controls{display:flex;flex-direction:column;gap:8px;align-items:center}.mastery-label{font-size:12px;color:#fffc;font-weight:500}.mastery-buttons{display:flex;gap:6px;justify-content:center}.mastery-btn{width:40px;height:40px;border:1px solid rgba(255,255,255,.3);border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;background:#ffffff1a;color:#fff;font-weight:700;font-size:16px;position:relative;z-index:10}.mastery-btn:hover{background:#fff3;border-color:#ffffff80}.mastery-btn.active{background:#ffffff4d;border:2px solid rgba(255,255,255,.8);color:#fff;box-shadow:0 0 0 2px #ffffff4d;transform:scale(1.05)}@media (max-width: 768px){.flashcard-container{max-width:350px;height:280px}.flashcard-content{max-height:200px;min-height:140px}.flashcard-icon{font-size:40px}.flashcard-title{font-size:16px}.flashcard-text{font-size:14px}}@media (max-width: 480px){.flashcard-container{max-width:320px;height:260px}.flashcard-header{padding:12px 16px 6px}.flashcard-content{padding:16px;max-height:180px;min-height:120px}.flashcard-footer{padding:8px 16px}.flashcard-icon{font-size:36px;margin-bottom:12px}.flashcard-title{font-size:15px;margin-bottom:8px}.flashcard-text{font-size:13px}}.flashcard-container .react-card-flip,.flashcard-container .react-card-flip .react-card-flipper{width:100%;height:100%}.flashcard:focus{outline:3px solid rgba(255,255,255,.5);outline-offset:2px}.mastery-btn:focus{outline:2px solid rgba(255,255,255,.8);outline-offset:1px}.flashcard-list-container{width:100%;max-width:1200px;margin:0 auto;padding:0;background:transparent}.flashcard-list-header{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.flashcard-list-header h2{margin:0 0 8px;color:#1f2937;font-size:24px;font-weight:600}.flashcard-list-header p{margin:0;color:#6b7280;font-size:14px;line-height:1.5}.flashcard-display{display:flex;flex-direction:column;align-items:center;gap:16px}.flashcard-navigation-container{display:flex;align-items:center;gap:8px;width:100%;justify-content:center}.nav-arrow{background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:6px;width:40px;height:40px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.nav-arrow:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.nav-arrow:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed;opacity:.6}.nav-arrow.transitioning{background:#f9fafb;color:#9ca3af;cursor:not-allowed;opacity:.6}.card-thumbnails{display:flex;gap:4px;flex-wrap:wrap;justify-content:center;max-width:100%;overflow-x:auto;padding:2px 0;max-height:50px;overflow-y:hidden;margin-top:auto}.thumbnail{width:36px;height:36px;border:1px solid #d1d5db;border-radius:6px;background:#fff;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.thumbnail:hover{border-color:#667eea;background:#f8fafc}.thumbnail.active{border:3px solid #667eea;background:#f0f4ff;color:#667eea;box-shadow:0 0 0 2px #667eea33;transform:scale(1.2)}.thumbnail.transitioning{opacity:.6;cursor:not-allowed;transform:none}.thumbnail:disabled{opacity:.6;cursor:not-allowed}.thumbnail-number{font-size:14px;font-weight:600;color:#374151;line-height:1;z-index:1}.no-cards-message{text-align:center;padding:40px 20px;color:#6b7280;background:#f8fafc;border-radius:8px;border:1px solid #e5e7eb}.no-cards-icon{font-size:48px;margin-bottom:16px;opacity:.7}.no-cards-message h3{margin:0 0 8px;color:#374151;font-size:18px;font-weight:600}.no-cards-message p{margin:0;font-size:14px;line-height:1.5;color:#6b7280}@media (max-width: 768px){.flashcard-list-container{padding:16px;margin:10px}.flashcard-list-header h2{font-size:24px}.card-navigation{gap:12px}.nav-btn{padding:10px 16px;min-width:80px;font-size:13px}.card-thumbnails{gap:6px}.thumbnail{width:32px;height:32px}}@media (max-width: 480px){.flashcard-list-container{padding:12px;margin:5px}.flashcard-list-header h2{font-size:20px}.flashcard-list-header p{font-size:14px}.card-navigation{gap:8px}.nav-btn{padding:8px 12px;min-width:70px;font-size:12px}.current-card{font-size:18px}.card-thumbnails{gap:4px}.thumbnail{width:28px;height:28px}.thumbnail-mastery{font-size:9px}}.layout{display:flex;min-height:100vh;background:#f8fafc}.sidebar{width:60px;background:#f8fafc;color:#2d3748;display:flex;flex-direction:column;position:fixed;height:100vh;left:0;top:0;z-index:1000;border-right:none}.sidebar-header{padding:0}.brand-link{color:#fff;text-decoration:none;display:flex;align-items:center;justify-content:center;width:100%}.brand-icon{font-size:1.5rem}.sidebar-toggle{background:#ffffff1a;border:none;color:#fff;width:30px;height:30px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:background .2s ease}.sidebar-toggle:hover{background:#fff3}.sidebar-nav{flex:1;padding:0}.sign-in-section{padding:15px 20px;display:flex;justify-content:center}.sidebar-sign-in-btn{background:#ffffff1a;color:#fff;border:none;padding:10px;border-radius:50%;width:40px;height:40px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.sidebar-sign-in-btn:hover{background:#fff3}.sidebar-sign-in-btn:disabled{opacity:.6;cursor:not-allowed}.nav-item{display:flex;align-items:center;padding:15px 20px;color:#2d3748;text-decoration:none;transition:all .2s ease;gap:15px;justify-content:center}.nav-item:hover{background:#0000000d}.nav-item.active{background:#00000014}.new-chat-nav-btn{background:#fffc;border:none;color:#2d3748;cursor:pointer;transition:all .2s ease}.new-chat-nav-btn:hover{background:#fffffff2;transform:scale(1.05)}.chat-history-section{margin-top:.5rem;border-top:1px solid rgba(0,0,0,.1);padding-top:.5rem}.chat-history-item-container{position:relative;margin-bottom:4px}.chat-history-item{background:#ffffffb3;border:1px solid rgba(0,0,0,.05);color:#2d3748;cursor:pointer;transition:all .2s ease;position:relative;border-radius:6px;margin-bottom:4px}.chat-history-item:hover{background:#ffffffe6;border-color:#0000001a;transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.chat-history-item.active{background:#fffffff2;border-color:#667eea;box-shadow:0 2px 12px #667eea33}.chat-history-item:hover:after{content:attr(title);position:absolute;left:60px;top:50%;transform:translateY(-50%);background:#000c;color:#fff;padding:8px 12px;border-radius:6px;font-size:12px;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis;z-index:1000;pointer-events:none}.delete-chat-btn{position:absolute;top:-8px;right:-8px;width:16px;height:16px;border-radius:50%;background:#e53e3e;color:#fff;border:none;font-size:12px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .2s ease;z-index:10}.chat-history-item-container:hover .delete-chat-btn{opacity:1}.delete-chat-btn:hover{background:#c53030;transform:scale(1.1)}.flashcard-nav-btn{background:#fff9;border:none;color:#2d3748;cursor:pointer;transition:all .2s ease;margin-top:.5rem}.flashcard-nav-btn:hover{background:#fffc;transform:scale(1.02)}.nav-icon{font-size:18px;min-width:20px;text-align:center;display:flex;align-items:center;justify-content:center;overflow:visible}.chat-number{font-size:12px;font-weight:600;color:#374151;min-width:20px;min-height:20px;background:#0000000d;border-radius:4px;display:flex;align-items:center;justify-content:center}.sidebar-footer{padding:20px 15px}.login-btn{background:#ffffff1a;color:#fff;border:none;padding:10px 15px;border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:10px;width:100%;justify-content:center;font-size:14px}.login-btn:hover{background:#fff3}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-btn-icon-only{background:#ffffff1a;color:#fff;border:none;padding:10px;border-radius:50%;width:40px;height:40px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;margin:0 auto}.login-btn-icon-only:hover{background:#fff3}.login-btn-icon-only:disabled{opacity:.6;cursor:not-allowed}.profile-icon-only{background:#ffffff1a;color:#fff;border:none;padding:10px;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;margin:0 auto;transition:all .2s ease;overflow:hidden;cursor:pointer;position:relative}.profile-icon-only:hover{background:#fff3;transform:scale(1.05)}.user-profile-icon{width:100%;height:100%;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;color:#000;border:2px solid rgb(94,79,79)}.user-profile-icon svg{color:#fff!important;stroke:#fff!important}.google-icon{flex-shrink:0}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.main-content{flex:1;margin-left:60px;min-height:100vh;overflow-x:hidden;background:#f8fafc}@media (max-width: 768px){.sidebar{width:50px}.main-content{margin-left:50px}.brand-link h2{font-size:16px}.nav-item{padding:12px 15px}.nav-icon{font-size:16px}}@media (max-width: 480px){.sidebar{width:45px}.sidebar.open{width:180px}.main-content{margin-left:45px}}.flashcard-list-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.flashcard-list-modal{background:#fff;border-radius:12px;box-shadow:0 8px 32px #00000026;max-width:800px;max-height:90vh;width:90vw;display:flex;flex-direction:column;overflow:hidden;border:1px solid #e5e7eb;position:relative}@media (max-width: 768px){.flashcard-list-overlay{padding:10px}.flashcard-list-modal{max-width:95vw;width:95vw;max-height:90vh}.back-arrow-btn{top:12px;left:12px;width:28px;height:28px;font-size:14px}.flashcard-list-content{padding:44px 16px 16px;max-height:calc(90vh - 80px)}.floating-close-btn{top:12px;right:12px;width:28px;height:28px;font-size:.9rem}}.no-flashcards{text-align:center;padding:40px 20px;color:#6b7280}.no-flashcards h3{color:#374151;margin-bottom:12px;font-size:1.25rem}.no-flashcards p{font-size:.95rem;line-height:1.5}.flashcard-selection h3{color:#374151;margin-bottom:20px;font-size:1.25rem;text-align:center}.flashcard-sets-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;max-height:60vh;overflow-y:auto;padding:8px;scrollbar-width:thin;scrollbar-color:#cbd5e0 #f7fafc;position:relative}.flashcard-sets-grid:after{content:"";position:absolute;bottom:0;left:0;right:0;height:20px;background:linear-gradient(transparent,#fffc);pointer-events:none;opacity:0;transition:opacity .3s ease}.flashcard-sets-grid.scrollable:after{opacity:1}.flashcard-sets-grid::-webkit-scrollbar{width:8px}.flashcard-sets-grid::-webkit-scrollbar-track{background:#f7fafc;border-radius:4px}.flashcard-sets-grid::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:4px}.flashcard-sets-grid::-webkit-scrollbar-thumb:hover{background:#a0aec0}.flashcard-set-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;cursor:pointer;transition:all .2s ease;text-align:left;box-shadow:0 2px 4px #0000000d}.flashcard-set-card:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea26;transform:translateY(-2px)}.flashcard-set-card h4{color:#374151;margin:0 0 8px;font-size:1.1rem;font-weight:600}.flashcard-set-card p{color:#6b7280;margin:0 0 12px;font-size:.9rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.set-stats{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:#9ca3af}.set-stats span:first-child{background:#f3f4f6;padding:4px 8px;border-radius:6px;font-weight:500}@media (max-width: 768px){.flashcard-sets-grid{grid-template-columns:1fr;gap:12px;max-height:50vh;scrollbar-width:thin;scrollbar-color:#cbd5e0 #f7fafc}.flashcard-sets-grid::-webkit-scrollbar{width:6px}.flashcard-sets-grid::-webkit-scrollbar-track{background:#f7fafc;border-radius:3px}.flashcard-sets-grid::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:3px}.flashcard-sets-grid::-webkit-scrollbar-thumb:hover{background:#a0aec0}.flashcard-set-card{padding:16px}.flashcard-set-card h4{font-size:1rem}.flashcard-set-card p{font-size:.85rem}}.flashcard-set-card-container{position:relative}.delete-flashcard-btn{position:absolute;top:8px;right:8px;background:#ef44441a;border:1px solid rgba(239,68,68,.2);color:#ef4444;width:28px;height:28px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;transition:all .2s ease;opacity:0;z-index:10}.flashcard-set-card-container:hover .delete-flashcard-btn{opacity:1}.delete-flashcard-btn:hover{background:#ef444433;border-color:#ef444466;transform:scale(1.1)}.delete-confirm-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:3000;padding:20px}.delete-confirm-modal{background:#fff;border-radius:12px;padding:24px;max-width:400px;width:100%;box-shadow:0 10px 40px #0003;border:1px solid #e5e7eb}.delete-confirm-modal h3{color:#374151;margin:0 0 16px;font-size:1.25rem;font-weight:600}.delete-confirm-modal p{color:#6b7280;margin:0 0 12px;line-height:1.5}.warning-text{color:#ef4444!important;font-weight:500;font-size:.9rem}.delete-confirm-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.cancel-btn{background:#f3f4f6;border:1px solid #d1d5db;color:#374151;padding:8px 16px;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s ease}.cancel-btn:hover{background:#e5e7eb;border-color:#9ca3af}.delete-btn{background:#ef4444;border:1px solid #dc2626;color:#fff;padding:8px 16px;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s ease}.delete-btn:hover{background:#dc2626;border-color:#b91c1c;transform:translateY(-1px)}@media (max-width: 768px){.delete-confirm-modal{margin:20px;padding:20px}.delete-confirm-actions{flex-direction:column}.cancel-btn,.delete-btn{width:100%;padding:12px 16px}}.hero{background:#f8fafc;color:#2d3748;min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden;margin-left:-60px;padding:120px 0 80px 60px}.hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="25" cy="25" r="1" fill="rgba(255,255,255,0.1)"/><circle cx="75" cy="75" r="1" fill="rgba(255,255,255,0.1)"/><circle cx="50" cy="10" r="0.5" fill="rgba(255,255,255,0.05)"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');opacity:.3}.hero-content{position:relative;z-index:2;max-width:800px;margin:0 auto;text-align:center}.hero-title{font-size:3.5rem;font-weight:800;margin-bottom:1rem;line-height:1.2;color:#2d3748;animation:fadeInUpSmooth .8s cubic-bezier(.4,0,.2,1) .1s both;will-change:transform,opacity}.hero-subtitle{font-size:1.5rem;font-weight:300;margin-bottom:1.5rem;color:#4a5568;animation:fadeInUpSmooth .8s cubic-bezier(.4,0,.2,1) .2s both;will-change:transform,opacity}.hero-description{font-size:1.2rem;margin-bottom:2.5rem;color:#718096;line-height:1.6;max-width:600px;margin-left:auto;margin-right:auto;animation:fadeInUpSmooth .8s cubic-bezier(.4,0,.2,1) .3s both;will-change:transform,opacity}.hero-buttons{display:flex;justify-content:center;margin-top:1rem;animation:fadeInUpSmooth .8s cubic-bezier(.4,0,.2,1) .4s both;will-change:transform,opacity}.hero-visual{margin-top:3rem;display:flex;justify-content:center}.hero-illustration{position:relative;display:flex;align-items:center;justify-content:center}.ai-icon{font-size:4rem;background:#fff3;border-radius:50%;width:120px;height:120px;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.3);animation:float 3s ease-in-out infinite}.learning-elements{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:200px;height:200px}.element{position:absolute;font-size:2rem;background:#fff3;border-radius:50%;width:60px;height:60px;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.3);animation:orbit 8s linear infinite}.element:nth-child(1){top:-30px;left:50%;transform:translate(-50%);animation-delay:0s}.element:nth-child(2){top:50%;right:-30px;transform:translateY(-50%);animation-delay:-2.67s}.element:nth-child(3){bottom:-30px;left:50%;transform:translate(-50%);animation-delay:-5.33s}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.hero{padding:100px 0 60px}.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.3rem}.hero-description{font-size:1.1rem}.hero-buttons{flex-direction:column;align-items:center}.ai-icon{width:100px;height:100px;font-size:3rem}.learning-elements{width:160px;height:160px}.element{width:50px;height:50px;font-size:1.5rem}}.features{background:#f8fafc;position:relative;overflow:hidden;margin-left:-60px;padding:100px 0 100px 60px}.features-header{text-align:center;margin-bottom:4rem}.section-title{font-size:2.5rem;font-weight:700;color:#2d3748;margin-bottom:1rem;opacity:0;transform:translateY(30px);transition:all .8s cubic-bezier(.4,0,.2,1);will-change:transform,opacity}.section-title.animate{opacity:1;transform:translateY(0)}.section-subtitle{font-size:1.2rem;color:#718096;max-width:600px;margin:0 auto;line-height:1.6;opacity:0;transform:translateY(30px);transition:all .8s cubic-bezier(.4,0,.2,1) .1s;will-change:transform,opacity}.section-subtitle.animate{opacity:1;transform:translateY(0)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-top:3rem}.feature-card{background:#fff;padding:2.5rem;border-radius:20px;box-shadow:0 4px 6px #0000000d;border:none;transition:all .4s cubic-bezier(.4,0,.2,1);text-align:center;position:relative;overflow:hidden;cursor:pointer;opacity:0;transform:translateY(30px) scale(.98);will-change:transform,opacity}.feature-card.animate{opacity:1;transform:translateY(0) scale(1)}.feature-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(45,55,72,.1),transparent);transition:left .6s ease}.feature-card:hover:before{left:100%}.feature-card:hover{transform:translateY(-12px) scale(1.02);box-shadow:0 25px 50px #0000001a;border-color:transparent;background:#fff}.feature-icon{margin-bottom:1.5rem;display:flex;align-items:center;justify-content:center;color:#667eea;transition:all .3s ease}.feature-card:hover .feature-icon{color:#4c51bf;transform:scale(1.1) rotate(5deg)}.feature-title{font-size:1.4rem;font-weight:600;color:#2d3748;margin-bottom:1rem}.feature-description{color:#718096;line-height:1.6;font-size:1rem}@keyframes fadeInUpSmooth{0%{opacity:0;transform:translateY(30px) scale(.98);filter:blur(1px)}30%{opacity:.7;transform:translateY(15px) scale(.99);filter:blur(.5px)}70%{opacity:.9;transform:translateY(-2px) scale(1.01);filter:blur(0px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0px)}}@media (max-width: 768px){.features{padding:80px 0}.section-title{font-size:2rem}.section-subtitle{font-size:1.1rem}.features-grid{grid-template-columns:1fr;gap:1.5rem}.feature-card{padding:2rem}.feature-icon{font-size:2.5rem}.feature-title{font-size:1.3rem}}.chat-interface{display:flex;height:100vh;background:#f8fafc;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;border-radius:0;box-shadow:none;position:relative}.floating-flashcard-btn{position:fixed;top:20px;right:20px;background:linear-gradient(135deg,#2d3748,#4a5568);color:#fff;border:none;width:50px;height:50px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 4px 12px #2d37484d;z-index:1000}.floating-flashcard-btn:hover{transform:scale(1.1);box-shadow:0 6px 20px #2d374866}.floating-flashcard-btn .flashcard-count{position:absolute;top:-5px;right:-5px;background:#f44;color:#fff;border-radius:50%;width:20px;height:20px;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}.new-chat-section{display:flex;align-items:center;gap:.5rem;background:#fffc;border:none;border-radius:12px;padding:.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.new-chat-section:focus-within{border-color:transparent;box-shadow:0 0 0 3px #667eea1a;background:#fffffff2}.new-chat-input{border:none;background:transparent;padding:.5rem .75rem;font-size:.9rem;color:#2d3748;outline:none;flex:1;min-width:200px}.new-chat-input::placeholder{color:#a0aec0}.new-chat-btn{background:linear-gradient(135deg,#2d3748,#4a5568);color:#fff;border:none;width:32px;height:32px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;flex-shrink:0}.new-chat-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px #2d37484d}.chat-main{flex:1;display:flex;flex-direction:column;background:transparent}.chat-header{padding:1.5rem 2rem;border-bottom:none;display:flex;justify-content:space-between;align-items:center;background:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header-info h2{margin:0 0 .25rem;font-size:1.5rem;font-weight:700;color:#2d3748}.header-info p{margin:0;color:#718096;font-size:.9rem}.status-indicator{background:#0000000d;color:#718096;padding:.5rem 1rem;border-radius:20px;font-size:.8rem;font-weight:500;border:none}.chat-messages{flex:1;overflow-y:auto;padding:2rem;background:transparent}.welcome-message{display:flex;align-items:flex-start;justify-content:center;height:100%;padding-top:80px}.welcome-content{text-align:center;max-width:600px}.welcome-content h3{font-size:2rem;font-weight:700;color:#2d3748;margin-bottom:1rem}.welcome-content p{font-size:1.1rem;color:#4a5568;margin-bottom:2rem;line-height:1.6}.welcome-title{animation:fadeInUpSmooth .8s cubic-bezier(.4,0,.2,1) .1s both;will-change:transform,opacity}.welcome-description{animation:fadeInUpSmooth .8s cubic-bezier(.4,0,.2,1) .2s both;will-change:transform,opacity}.auth-notice{background:linear-gradient(135deg,#667eea1a,#764ba21a);border:1px solid rgba(102,126,234,.2);border-radius:12px;padding:1.5rem;margin-bottom:2rem;display:flex;align-items:center;gap:1rem;animation:fadeInUpSmooth .8s cubic-bezier(.4,0,.2,1) .3s both;will-change:transform,opacity}.notice-icon{font-size:1.5rem;flex-shrink:0}.auth-notice p{margin:0;color:#4a5568;font-size:1rem;line-height:1.5}.auth-notice strong{color:#667eea}.quick-actions h4{font-size:1.2rem;font-weight:600;color:#2d3748;margin-bottom:1.5rem}.actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.quick-action-btn{background:#ffffffe6;border:none;border-radius:12px;padding:1rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:1rem;text-align:left;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.quick-action-btn:hover{border-color:transparent;box-shadow:0 4px 12px #667eea26;transform:translateY(-2px);background:#fffffff2}.quick-action-btn:disabled{opacity:.5;cursor:not-allowed}.action-icon{font-size:1.5rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#667eea1a;border-radius:8px;color:#667eea}.action-content{flex:1}.action-content strong{display:block;font-size:.9rem;color:#2d3748;margin-bottom:.25rem}.action-content small{color:#718096;font-size:.8rem}.message{display:flex;margin-bottom:1.5rem;align-items:flex-start}.message.user{justify-content:flex-end}.message.assistant{justify-content:flex-start}.message-content{max-width:70%;background:#fffc;border-radius:12px;padding:.875rem 1rem;border:1px solid rgba(0,0,0,.1);transition:all .2s ease}.message.user .message-content{background:#2d3748;color:#fff;border:1px solid #4a5568}.message-text{line-height:1.6;color:#2d3748;font-size:.95rem}.message.user .message-text{color:#fff}.message-text strong{font-weight:600}.message-text em{font-style:italic}.list-item{margin:6px 0;padding-left:20px;position:relative;line-height:1.5}.list-item.numbered{counter-increment:list-counter}.list-item.numbered:before{content:counter(list-counter) ".";position:absolute;left:0;top:0;font-weight:600;color:#667eea}.list-item.bulleted:before{content:"•";position:absolute;left:0;top:0;color:#667eea;font-weight:700}.message-text{counter-reset:list-counter}.message-time{font-size:.75rem;color:#718096;margin-top:.5rem;text-align:right}.message.user .message-time{color:#a0aec0}.clickable-flashcard-message{cursor:pointer;transition:all .3s ease;position:relative}.clickable-flashcard-message:hover{background:#667eea1a!important;border-color:#667eea4d!important;transform:translateY(-2px);box-shadow:0 4px 12px #667eea33}.flashcard-message-hint{display:flex;align-items:center;justify-content:space-between;margin-top:8px;padding:6px 8px;background:#667eea1a;border-radius:6px;border:1px solid rgba(102,126,234,.2);opacity:0;transition:opacity .3s ease}.clickable-flashcard-message:hover .flashcard-message-hint{opacity:1}.hint-text{font-size:.75rem;color:#667eea;font-weight:500}.hint-icon{font-size:.8rem;animation:bounce 2s infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-3px)}60%{transform:translateY(-2px)}}.typing-indicator{display:flex;gap:.375rem;align-items:center;padding:.5rem 0}.typing-indicator span{width:6px;height:6px;border-radius:50%;background:#4a5568;animation:typing 1.6s infinite ease-in-out;opacity:.4}.typing-indicator span:nth-child(1){animation-delay:0s}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}.chat-input-form{padding:1.5rem 2rem;border-top:none;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.input-container{display:flex;flex-direction:column;gap:.5rem}.input-wrapper{display:flex;gap:1rem;align-items:flex-end;position:relative}.input-wrapper textarea{flex:1;border:none;border-radius:12px;padding:1rem 4rem 1rem 1rem;font-size:1rem;font-family:inherit;resize:none;min-height:50px;max-height:120px;transition:all .3s ease;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#2d3748}.input-wrapper textarea:focus{outline:none;border-color:transparent;box-shadow:0 0 0 3px #667eea1a;background:#fffffff2;color:#2d3748}.input-wrapper textarea:disabled{background:#f7fafc;color:#a0aec0}.input-wrapper textarea::placeholder{color:#4a5568;font-weight:500;opacity:.8}.input-wrapper textarea:not(:placeholder-shown){color:#2d3748!important;font-weight:500}.input-wrapper{position:relative}.typing-cursor{position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:#667eea;font-size:1rem;animation:blink 1s infinite;pointer-events:none;z-index:1}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.input-actions{position:absolute;right:.75rem;bottom:.75rem;display:flex;gap:.5rem;align-items:center}.attach-btn,.test-btn{background:transparent;color:#667eea;border:none;width:36px;height:36px;border-radius:8px;cursor:pointer;font-size:1.1rem;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.attach-btn:hover:not(:disabled),.test-btn:hover:not(:disabled){background:#667eea1a;color:#667eea}.attach-btn:disabled,.test-btn:disabled{opacity:.5;cursor:not-allowed}.test-btn{color:#ed8936;font-size:1rem}.test-btn:hover:not(:disabled){background:#ed89361a;color:#c05621}.send-btn{background:#667eea;color:#fff;border:none;width:36px;height:36px;border-radius:8px;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.send-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 12px #667eea4d}.send-btn:disabled{background:#e2e8f0;color:#a0aec0;cursor:not-allowed;transform:none}.upload-preview{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.attached-files{background:#ffffff1a;border-bottom:none;padding:.75rem 1rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.attached-files-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.attached-files-title{font-size:.875rem;font-weight:500;color:#667eea}.clear-files-btn{background:none;border:none;color:#718096;cursor:pointer;padding:.25rem;border-radius:4px;font-size:.875rem;transition:all .2s ease}.clear-files-btn:hover{background:#e2e8f0;color:#2d3748}.attached-files-list{display:flex;flex-wrap:wrap;gap:.5rem}.attached-file-item{display:flex;align-items:center;background:#ffffffe6;border:none;border-radius:8px;padding:.5rem;gap:.5rem;min-width:0;max-width:250px;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.attached-file-item:hover{border-color:transparent;box-shadow:0 2px 4px #0000001a}.attached-file-item .file-icon{font-size:1.25rem;flex-shrink:0}.attached-file-item .file-info{display:flex;flex-direction:column;min-width:0;flex:1}.attached-file-item .file-name{font-size:.875rem;font-weight:500;color:#2d3748;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attached-file-item .file-size{font-size:.75rem;color:#718096}.remove-file-btn{background:none;border:none;color:#a0aec0;cursor:pointer;padding:.25rem;border-radius:4px;font-size:.875rem;transition:all .2s ease;flex-shrink:0}.remove-file-btn:hover{background:#fed7d7;color:#e53e3e}.upload-item{display:flex;align-items:center;gap:.75rem;background:#ffffffe6;border:none;border-radius:8px;padding:.75rem;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.upload-item.processing{background:#fffbf0;border-color:transparent}.upload-item.error{background:#fed7d7;border-color:transparent}.upload-icon{font-size:1.2rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:6px;box-shadow:0 1px 3px #0000001a;flex-shrink:0}.upload-info{flex:1;min-width:0}.upload-name{display:block;font-size:.9rem;font-weight:500;color:#2d3748;margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-progress{display:flex;align-items:center;gap:.5rem}.progress-bar{flex:1;height:4px;background:#e2e8f0;border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(135deg,#667eea,#764ba2);transition:width .3s ease}.progress-text{font-size:.75rem;color:#718096;font-weight:500;min-width:35px;text-align:right}.remove-upload-btn{background:#fed7d7;color:#e53e3e;border:none;width:24px;height:24px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.7rem;transition:all .3s ease;flex-shrink:0}.remove-upload-btn:hover{background:#e53e3e;color:#fff;transform:scale(1.1)}.input-hint{font-size:.8rem;color:#a0aec0;margin-top:.5rem;text-align:center}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes fadeInUpSmooth{0%{opacity:0;transform:translateY(30px) scale(.98);filter:blur(1px)}30%{opacity:.4;transform:translateY(15px) scale(.99);filter:blur(.5px)}70%{opacity:.9;transform:translateY(-2px) scale(1.01);filter:blur(0px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0px)}}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}@media (max-width: 768px){.chat-interface{flex-direction:column;height:100vh}.new-chat-section{flex-direction:column;gap:.75rem;padding:.75rem}.new-chat-input{min-width:auto;width:100%}.chat-header,.chat-messages,.chat-input-form{padding:1rem}.actions-grid{grid-template-columns:1fr}.message-content{max-width:85%}.input-wrapper textarea{padding:.875rem 3.5rem .875rem .875rem;font-size:.95rem}.input-actions{right:.625rem;bottom:.625rem;gap:.375rem}.attach-btn,.send-btn{width:32px;height:32px;font-size:.9rem}.upload-item{padding:.625rem;gap:.625rem}.upload-icon{width:28px;height:28px;font-size:1rem}.upload-name{font-size:.85rem}.progress-text{font-size:.7rem;min-width:30px}.remove-upload-btn{width:20px;height:20px;font-size:.65rem}.input-hint{font-size:.75rem}}.header-actions{display:flex;align-items:center;gap:1rem}.flashcard-icon-btn{background:linear-gradient(135deg,#2d3748,#4a5568);color:#fff;border:none;padding:10px 12px;border-radius:8px;width:48px;height:36px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;position:relative}.flashcard-icon-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #2d37484d}.flashcard-icon{width:20px;height:20px;flex-shrink:0}.flashcard-count{position:absolute;top:-2px;right:-2px;background:#f44;color:#fff;border-radius:50%;width:18px;height:18px;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid white}.flashcard-list-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.flashcard-list-modal{background:#fff;border-radius:12px;box-shadow:0 8px 32px #00000026;max-width:500px;max-height:85vh;width:90vw;display:flex;flex-direction:column;overflow:hidden;border:1px solid #e5e7eb;position:relative}.back-arrow-btn{position:absolute;top:16px;left:16px;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:50%;width:32px;height:32px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;z-index:10;box-shadow:0 2px 8px #0000001a}.back-arrow-btn:hover{background:#f3f4f6;border-color:#9ca3af;color:#1f2937;transform:scale(1.05)}.floating-close-btn{position:absolute;top:16px;right:16px;background:#fff;border:1px solid #e5e7eb;font-size:1.1rem;color:#6b7280;cursor:pointer;border-radius:50%;transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:32px;height:32px;box-shadow:0 2px 8px #0000001a;z-index:10}.floating-close-btn:hover{background:#f3f4f6;color:#374151;border-color:#9ca3af;transform:scale(1.05)}.flashcard-list-content{flex:1;overflow-y:auto;padding:50px 20px 20px;max-height:calc(85vh - 100px)}@media (max-width: 768px){.header-actions{flex-direction:column;gap:12px;align-items:stretch}.new-chat-section{order:1}.flashcard-icon-btn{width:44px;height:32px;order:2}.flashcard-icon-btn .flashcard-icon{width:18px;height:18px}.status-indicator{order:3;text-align:center}.flashcard-list-overlay{padding:10px}.flashcard-list-modal{max-width:95vw;width:95vw;max-height:90vh}.back-arrow-btn{top:12px;left:12px;width:28px;height:28px;font-size:14px}.flashcard-list-content{padding:44px 16px 16px;max-height:calc(90vh - 80px)}.floating-close-btn{top:12px;right:12px;width:28px;height:28px;font-size:.9rem}}.flashcard-info{background:#fffffff2;color:#2d3748;border-radius:16px;padding:24px;margin-top:24px;display:flex;gap:20px;align-items:flex-start;border:1px solid rgba(102,126,234,.2);box-shadow:0 8px 24px #667eea1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease;animation:fadeInUpSmooth .8s cubic-bezier(.4,0,.2,1) .6s both;will-change:transform,opacity}.flashcard-info:hover{transform:translateY(-2px);box-shadow:0 12px 32px #667eea26;border-color:#667eea4d}.flashcard-action-btn{cursor:pointer;border:none;width:100%;text-align:left}.flashcard-action-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 32px #667eea26;border-color:#667eea4d}.flashcard-action-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.info-icon{font-size:32px;flex-shrink:0;color:#667eea;display:flex;align-items:center;justify-content:center;width:56px;height:56px;background:#667eea1a;border-radius:12px;border:1px solid rgba(102,126,234,.2)}.info-content h4{margin:0 0 12px;font-size:20px;font-weight:700;color:#2d3748}.info-content p{margin:0 0 16px;font-size:15px;line-height:1.6;color:#4a5568}.example-commands{background:#667eea0d;border-radius:10px;padding:16px;border:1px solid rgba(102,126,234,.1)}.example-commands strong{display:block;margin-bottom:10px;font-size:14px;font-weight:600;color:#667eea;text-transform:uppercase;letter-spacing:.5px}.example-commands ul{margin:0;padding-left:16px;list-style:none}.example-commands li{font-size:13px;margin-bottom:6px;color:#4a5568;position:relative}.example-commands li:before{content:"•";position:absolute;left:-16px;color:#667eea;font-weight:700}.code-block-container{margin:16px 0;border-radius:8px;overflow:hidden;background:#1e293b;border:1px solid #334155;box-shadow:0 4px 6px #0000001a}.code-block-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#334155;border-bottom:1px solid #475569}.code-language{font-size:.75rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.copy-code-btn{display:flex;align-items:center;gap:6px;background:transparent;border:1px solid #64748b;color:#94a3b8;padding:4px 8px;border-radius:4px;font-size:.75rem;cursor:pointer;transition:all .2s ease}.copy-code-btn:hover{background:#475569;color:#e2e8f0;border-color:#94a3b8}.copy-code-btn svg{width:12px;height:12px}.code-block{margin:0;padding:16px;background:#1e1e1e;color:#d4d4d4;font-family:Fira Code,Monaco,Consolas,Courier New,monospace;font-size:.875rem;line-height:1.5;overflow-x:auto;white-space:pre;text-align:left;border-radius:0}.code-block code{background:transparent;color:inherit;padding:0;border-radius:0;font-family:inherit}.code-block .token.comment,.code-block .token.prolog,.code-block .token.doctype,.code-block .token.cdata{color:#6a9955;font-style:italic}.code-block .token.punctuation{color:#d4d4d4}.code-block .token.property,.code-block .token.tag,.code-block .token.boolean,.code-block .token.number,.code-block .token.constant,.code-block .token.symbol,.code-block .token.deleted{color:#b5cea8}.code-block .token.selector,.code-block .token.attr-name,.code-block .token.string,.code-block .token.char,.code-block .token.builtin,.code-block .token.inserted{color:#ce9178}.code-block .token.operator,.code-block .token.entity,.code-block .token.url,.code-block .language-css .token.string,.code-block .style .token.string{color:#d4d4d4}.code-block .token.atrule,.code-block .token.attr-value,.code-block .token.keyword{color:#569cd6}.code-block .token.function,.code-block .token.class-name{color:#dcdcaa}.code-block .token.regex,.code-block .token.important,.code-block .token.variable{color:#d16969}.code-block .token.important,.code-block .token.bold{font-weight:700}.code-block .token.italic{font-style:italic}.code-block .token.entity{cursor:help}.code-block .line-numbers .line-numbers-rows{border-right:1px solid #3e3e3e}.code-block .line-numbers-rows>span:before{color:#858585}.inline-code{background:#f1f5f9;color:#1e293b;padding:2px 6px;border-radius:4px;font-family:Fira Code,Monaco,Consolas,monospace;font-size:.875em;border:1px solid #e2e8f0}.message.user .inline-code{background:#4a5568;color:#e2e8f0;border-color:#718096}.math-block{margin:16px 0;padding:16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;text-align:center;font-family:Times New Roman,serif;font-size:1.1rem;color:#1e293b}.math-inline{background:#f1f5f9;padding:2px 4px;border-radius:4px;font-family:Times New Roman,serif;font-style:italic;color:#1e293b}.message.user .math-block{background:#4a5568;color:#e2e8f0;border-color:#718096}.message.user .math-inline{background:#4a5568;color:#e2e8f0}.math-step{margin:8px 0;padding:12px 16px;background:#f8fafc;border-left:4px solid #667eea;border-radius:0 6px 6px 0;font-size:.95rem;line-height:1.6}.message.user .math-step{background:#4a5568;border-left-color:#94a3b8;color:#e2e8f0}.math-step strong{color:#667eea;font-weight:600}.message.user .math-step strong{color:#94a3b8}.loading-spinner{width:16px;height:16px;border:2px solid #e2e8f0;border-top:2px solid #667eea;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.flashcard-info{flex-direction:column;gap:16px;padding:20px;text-align:center}.info-icon{font-size:28px;align-self:center;width:48px;height:48px}.info-content h4{font-size:18px;text-align:center}.info-content p{font-size:13px;text-align:center}.example-commands{padding:10px}.example-commands strong{font-size:12px}.example-commands li{font-size:11px}.code-block-container{margin:12px 0}.code-block{padding:12px;font-size:.8rem}.math-block{padding:12px;font-size:1rem}.math-step{padding:10px 12px;font-size:.9rem}}.dashboard-page{min-height:100vh;background:#f8fafc;margin-left:-60px;padding-left:60px;width:calc(100% + 60px)}.dashboard-content{padding:0}.chat-container{max-width:none;margin:0;padding:0;background:transparent;border-radius:0;box-shadow:none;overflow:visible;min-height:100vh}@media (max-width: 768px){.dashboard-page{margin-left:-50px;padding-left:50px;width:calc(100% + 50px)}.dashboard-header{padding:1rem 0}.dashboard-header h1{font-size:1.75rem}.dashboard-header p{font-size:.95rem}}@media (max-width: 480px){.dashboard-header .container{padding:0 1rem}}.App{text-align:center;min-height:100vh;display:flex;flex-direction:column}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;color:#333;overflow-x:hidden}*{scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{display:none}html{scroll-behavior:smooth}.container{max-width:1200px;margin:0 auto;padding:0 20px}.btn{display:inline-block;padding:12px 24px;border:none;border-radius:8px;text-decoration:none;font-weight:600;font-size:16px;cursor:pointer;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,#2d3748,#4a5568);color:#fff;padding:16px 32px;font-size:18px;font-weight:700;border-radius:12px;box-shadow:0 4px 15px #2d37484d}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 12px 25px #2d374866;background:linear-gradient(135deg,#1a202c,#2d3748)}.btn-secondary{background:transparent;color:#4a5568;border:2px solid #4a5568}.btn-secondary:hover{background:#4a5568;color:#fff}.section{padding:80px 0}@media (max-width: 768px){.container{padding:0 16px}.section{padding:60px 0}.btn{padding:10px 20px;font-size:14px}.btn-primary{padding:14px 28px;font-size:16px}}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}#root{width:100%;margin:0 auto;text-align:center}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}}
