.auth-page{align-items:center;display:flex;justify-content:center;min-height:100vh;overflow:hidden;position:relative}.auth-bg{inset:0;position:absolute;z-index:0}.auth-bg-gradient{background:linear-gradient(135deg,#0f0c29,#302b63 35%,#24243e 60%,#0f0c29);inset:0;opacity:1;position:absolute}.auth-bg-mesh{animation:meshMove 15s ease-in-out infinite;background-image:radial-gradient(at 20% 30%,#6366f140 0,#0000 50%),radial-gradient(at 80% 20%,#8b5cf633 0,#0000 50%),radial-gradient(at 50% 80%,#3b82f626 0,#0000 50%);inset:0;position:absolute}@keyframes meshMove{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.auth-bg-glow{animation:glowPulse 8s ease-in-out infinite;border-radius:50%;filter:blur(80px);opacity:.4;position:absolute}.auth-bg-glow-1{background:linear-gradient(135deg,#6366f1,#8b5cf6);height:400px;left:-5%;top:-10%;width:400px}.auth-bg-glow-2{animation-delay:-3s;background:linear-gradient(135deg,#06b6d4,#6366f1);bottom:-10%;height:350px;right:-5%;width:350px}.auth-bg-glow-3{animation-delay:-5s;background:linear-gradient(135deg,#8b5cf6,#ec4899);height:250px;left:50%;top:50%;transform:translate(-50%,-50%);width:250px}@keyframes glowPulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.5;transform:scale(1.1)}}.auth-content{max-width:440px;padding:1.5rem;position:relative;width:100%;z-index:1}.auth-card{animation:cardIn .6s ease-out;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#1e293b99;border:1px solid #ffffff1a;border-radius:1.5rem;box-shadow:0 25px 50px -12px #0006;padding:2.5rem 2rem}@keyframes cardIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-brand{margin-bottom:2rem;text-align:center}.auth-logo{align-items:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:1rem;box-shadow:0 10px 30px -5px #6366f166;display:flex;height:64px;justify-content:center;margin:0 auto 1rem;width:64px}.auth-logo-icon{font-size:2rem}.auth-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f8fafc,#c7d2fe);-webkit-background-clip:text;background-clip:text;font-size:1.75rem;font-weight:700;letter-spacing:-.02em;margin:0 0 .25rem}.auth-tagline{color:#94a3b8e6;font-size:.95rem;margin:0}.auth-tabs{background:#0f172a80;border-radius:.75rem;display:flex;gap:.25rem;margin-bottom:1.75rem;padding:.25rem}.auth-tab{background:#0000;border:none;border-radius:.5rem;color:#94a3b8;cursor:pointer;flex:1 1;font-size:.95rem;font-weight:600;padding:.75rem 1rem;transition:all .2s ease}.auth-tab:hover{color:#e2e8f0}.auth-tab.active{background:linear-gradient(135deg,#6366f1,#8b5cf6);box-shadow:0 2px 8px #6366f14d;color:#fff}.auth-form-wrap .login-container,.auth-form-wrap .register-container{animation:none;background:#0000;border:none;box-shadow:none;margin:0;max-width:none;padding:0}.auth-form-wrap .login-container h2,.auth-form-wrap .register-container h2{display:none}.auth-form-wrap form{display:flex;flex-direction:column;gap:1rem}.auth-form-wrap input{background:#0f172a80;border:1px solid #ffffff1a;border-radius:.75rem;color:#f8fafc;font-size:1rem;padding:.875rem 1rem;transition:border-color .2s,box-shadow .2s;width:100%}.auth-form-wrap input::placeholder{color:#64748b}.auth-form-wrap input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f133;outline:none}.auth-form-wrap button[type=submit]{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:.75rem;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:.5rem;padding:.875rem 1.5rem;transition:transform .2s,box-shadow .2s}.auth-form-wrap button[type=submit]:hover{box-shadow:0 8px 20px -5px #6366f166;transform:translateY(-1px)}.auth-form-wrap .auth-error{background:#ef444426;border:1px solid #ef44444d;border-radius:.5rem;color:#fca5a5;font-size:.9rem;padding:.75rem 1rem;text-align:center}.auth-form-wrap .auth-switch{color:#94a3b8;font-size:.9rem;margin-top:1rem;text-align:center}.auth-form-wrap .auth-switch button{background:none;border:none;color:#818cf8;cursor:pointer;font-weight:600;letter-spacing:0;margin-left:.25rem;padding:0;text-transform:none}.auth-form-wrap .auth-switch button:hover{opacity:1;text-decoration:underline;transform:none}.chat-welcome{animation:fadeIn .5s ease-out;margin:15% auto 0;max-width:420px;padding:2rem 1rem;text-align:center}.chat-welcome-icon{filter:drop-shadow(0 4px 12px rgba(99,102,241,.3));font-size:3rem;margin-bottom:1rem}.chat-welcome h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f8fafc,#c7d2fe);-webkit-background-clip:text;background-clip:text;font-size:1.75rem;font-weight:700;margin:0 0 .5rem}.chat-welcome>p{color:var(--text-secondary);font-size:1rem;line-height:1.6;margin:0 0 1.5rem}.chat-suggestions{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.chat-suggestions span{color:var(--text-secondary);font-size:.9rem;margin-right:.25rem}.chat-suggestions button{background:#1e293b99;border:1px solid var(--glass-border);border-radius:9999px;color:var(--text-primary);cursor:pointer;font-size:.85rem;letter-spacing:0;padding:.5rem .75rem;text-transform:none;transition:all .2s}.chat-suggestions button:hover{background:#6366f126;border-color:var(--accent);transform:translateY(-1px)}.message{animation:messageIn .35s ease-out;line-height:1.55;max-width:85%;padding:1rem 1.25rem}@keyframes messageIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.message.user{border-bottom-right-radius:.35rem;box-shadow:0 4px 12px #6366f140}.message.bot{border-bottom-left-radius:.35rem}.message.bot.message-error{background:#ef44441a;border-color:#ef444440;color:#fca5a5}.message-sources{border-top:1px solid var(--glass-border);margin-top:1rem;padding-top:.85rem}.message-sources-label{color:var(--text-secondary);display:block;font-size:.8rem;font-weight:600;margin-bottom:.5rem}.message-sources-list{list-style:none;margin:0;padding:0}.message-sources-list li{margin:.35em 0}.message-sources-link{color:#818cf8;font-size:.9rem;text-decoration:none;transition:color .2s;word-break:break-all}.message-sources-link:hover{color:#a5b4fc;text-decoration:underline}.message-markdown{font-size:.95rem;line-height:1.65}.message-markdown.chatgpt-style p{margin:0 0 .85em}.message-markdown.chatgpt-style p:last-child{margin-bottom:0}.message-markdown ol,.message-markdown ul{margin:.5em 0 .85em 1.5em;padding:0}.message-markdown li{margin:.35em 0}.message-markdown li::marker{color:var(--text-secondary)}.message-markdown strong{color:inherit;font-weight:700}.message-markdown em{color:inherit;font-style:italic}.message-markdown .md-h1{color:inherit;font-size:1.35rem;font-weight:700;line-height:1.3;margin:0 0 .5em}.message-markdown .md-h2{color:inherit;font-size:1.15rem;font-weight:600;line-height:1.35;margin:1.25em 0 .5em}.message-markdown .md-h2:first-child{margin-top:0}.message-markdown .md-h3{color:inherit;font-size:1.05rem;font-weight:600;margin:1em 0 .4em}.message-markdown .md-h3:first-child{margin-top:0}.message-markdown a{border-bottom:1px solid #0000;color:#818cf8;text-decoration:none;transition:border-color .2s,color .2s}.message-markdown a:hover{border-bottom-color:#818cf8;color:#a5b4fc}.message-markdown blockquote{background:#6366f114;border-left:4px solid var(--accent);border-radius:0 .5rem .5rem 0;color:var(--text-primary);margin:.85em 0;padding:.65em 1em}.message-markdown blockquote p{margin:0}.message-markdown blockquote p+p{margin-top:.5em}.message-markdown hr{background:var(--glass-border);border:none;height:1px;margin:1.25em 0}.message-markdown .md-table-wrap{border:1px solid var(--glass-border);border-radius:.5rem;margin:.85em 0;overflow-x:auto}.message-markdown table{border-collapse:collapse;font-size:.9rem;width:100%}.message-markdown td,.message-markdown th{border-bottom:1px solid var(--glass-border);padding:.6em .85em;text-align:left}.message-markdown th{background:#0f172a80;color:var(--text-primary);font-weight:600}.message-markdown tr:last-child td{border-bottom:none}.message-markdown td{color:var(--text-primary)}.message-markdown code{background:#0f172a99;border-radius:.35rem;font-family:ui-monospace,SF Mono,Monaco,monospace;font-size:.88em;padding:.2em .45em}.message-markdown .md-code-block{background:#0f172ab3;border:1px solid var(--glass-border);border-radius:.5rem;margin:.85em 0;overflow:hidden}.message-markdown .md-code-header{align-items:center;background:#0f172a99;border-bottom:1px solid var(--glass-border);display:flex;font-size:.8rem;justify-content:space-between;padding:.4rem .75rem}.message-markdown .md-code-lang{color:var(--text-secondary);text-transform:capitalize}.message-markdown .md-code-copy{background:#0000;border:1px solid var(--glass-border);border-radius:.35rem;color:var(--text-secondary);cursor:pointer;font-size:.75rem;letter-spacing:0;padding:.25rem .5rem;text-transform:none;transition:color .2s,border-color .2s}.message-markdown .md-code-copy:hover{border-color:var(--text-secondary);color:var(--text-primary)}.message-markdown .md-code-block pre{background:#0000;border:none;margin:0;overflow-x:auto;padding:1rem}.message-markdown .md-code-block pre code{background:none;font-size:.85em;line-height:1.5;padding:0}.message-typing{align-items:center;display:flex;gap:.35rem;padding:1rem 1.5rem}.typing-dot{animation:typingBounce 1.2s ease-in-out infinite;background:var(--text-secondary);border-radius:50%;height:8px;width:8px}.typing-dot:nth-child(2){animation-delay:.15s}.typing-dot:nth-child(3){animation-delay:.3s}@keyframes typingBounce{0%,60%,to{opacity:.6;transform:translateY(0)}30%{opacity:1;transform:translateY(-6px)}}.send-btn{align-items:center;background:var(--accent-gradient);border-radius:50%;box-shadow:0 4px 14px #6366f166;color:#fff;display:flex;height:48px;justify-content:center;min-width:48px;padding:0;width:48px}.send-btn:hover:not(:disabled){box-shadow:0 6px 20px #6366f173;transform:translateY(-2px)}.send-btn:disabled{cursor:not-allowed;opacity:.8}.btn-send-icon{font-size:1.25rem;line-height:1}.btn-loading{font-size:1rem}.history-sidebar{background:var(--bg-secondary);border-right:1px solid var(--glass-border);display:flex;flex-direction:column;flex-shrink:0;height:calc(100vh - 65px);min-width:280px;width:280px}.history-sidebar-header{border-bottom:1px solid var(--glass-border);padding:1.25rem 1rem}.history-sidebar-title{color:var(--text-primary);font-size:1.1rem;font-weight:700;margin:0 0 .2rem}.history-sidebar-subtitle{color:var(--text-secondary);font-size:.8rem;margin:0}.history-sidebar-list{display:flex;flex:1 1;flex-direction:column;gap:.4rem;overflow-y:auto;padding:.75rem}.history-sidebar-empty,.history-sidebar-error,.history-sidebar-loading{color:var(--text-secondary);font-size:.9rem;padding:1rem;text-align:center}.history-sidebar-error{color:#fca5a5}.history-sidebar-item{align-items:flex-start;background:#0f172a66;border:1px solid #0000;border-radius:.5rem;color:var(--text-primary);cursor:pointer;display:flex;flex-direction:column;font-size:.85rem;gap:.25rem;padding:.65rem .75rem;text-align:left;transition:background .2s,border-color .2s;width:100%}.history-sidebar-item:hover{background:#6366f126;border-color:#6366f14d}.history-sidebar-item-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;line-height:1.4;overflow:hidden;word-break:break-word}.history-sidebar-item-date{color:var(--text-secondary);font-size:.75rem}@media (max-width:768px){.history-sidebar{box-shadow:4px 0 20px #0000004d;left:0;position:fixed;top:65px;transform:translateX(-100%);transition:transform .25s ease;z-index:40}.history-sidebar--open{transform:translateX(0)}}:root{--bg-primary:#0f172a;--bg-secondary:#1e293b;--accent:#6366f1;--accent-gradient:linear-gradient(135deg,#6366f1,#8b5cf6);--text-primary:#f8fafc;--text-secondary:#94a3b8;--glass-bg:#1e293bb3;--glass-border:#ffffff1a;--shadow-lg:0 10px 15px -3px #0000004d,0 4px 6px -2px #0000001a;--radius-lg:1rem;--radius-full:9999px;--font-sans:"DM Sans",system-ui,-apple-system,sans-serif}body{background-color:#0f172a;background-color:var(--bg-primary);color:#f8fafc;color:var(--text-primary);font-family:DM Sans,system-ui,-apple-system,sans-serif;font-family:var(--font-sans);line-height:1.6;margin:0;overflow-x:hidden;padding:0}*{box-sizing:border-box}@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)}}.App{display:flex;flex-direction:column;min-height:100vh}.navbar{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#1e293bb3;background:var(--glass-bg);border-bottom:1px solid #ffffff1a;border-bottom:1px solid var(--glass-border);justify-content:space-between;padding:1rem 2rem;position:-webkit-sticky;position:sticky;top:0;z-index:50}.navbar,.navbar-brand{align-items:center;display:flex}.navbar-brand{color:inherit;gap:.5rem;text-decoration:none}.navbar-logo{font-size:1.5rem}.navbar h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6366f1,#8b5cf6);background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;font-size:1.35rem;font-weight:700;margin:0}.navbar-links{gap:1.5rem}.navbar-links,.navbar-tokens{align-items:center;display:flex}.navbar-tokens{animation:token-pulse 2.5s ease-in-out infinite;background:linear-gradient(135deg,#6366f140,#8b5cf633);border:1px solid #6366f166;border-radius:2rem;box-shadow:0 0 20px #6366f133;color:#e0e7ff;font-size:.95rem;font-weight:600;gap:.5rem;padding:.5rem 1rem}.navbar-tokens--decreased{animation:token-decrease .8s ease-out}@keyframes token-pulse{0%,to{box-shadow:0 0 20px #6366f133;transform:scale(1)}50%{box-shadow:0 0 28px #6366f159;transform:scale(1.02)}}@keyframes token-decrease{0%{background:linear-gradient(135deg,#ef444440,#6366f133);border-color:#ef444480;box-shadow:0 0 30px #ef444466;transform:scale(1.08)}40%{transform:scale(.96)}70%{transform:scale(1.03)}to{background:linear-gradient(135deg,#6366f140,#8b5cf633);border-color:#6366f166;box-shadow:0 0 20px #6366f133;transform:scale(1)}}.navbar-tokens-coin{animation:coin-float 2s ease-in-out infinite;font-size:1.25rem;line-height:1}.navbar-tokens--decreased .navbar-tokens-coin{animation:coin-drop .6s ease-out}@keyframes coin-float{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes coin-drop{0%{transform:translateY(0) scale(1)}30%{transform:translateY(-4px) scale(1.15)}60%{transform:translateY(2px) scale(.9)}to{transform:translateY(0) scale(1)}}.navbar-tokens-count-wrap{align-items:center;display:inline-flex;justify-content:center;min-width:1.25em;position:relative}.navbar-tokens-number{animation:number-in .5s ease-out;display:inline-block}.navbar-tokens--decreased .navbar-tokens-number{animation:number-decrease .7s ease-out}@keyframes number-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes number-decrease{0%{opacity:1;transform:translateY(0) scale(1)}25%{opacity:0;transform:translateY(8px) scale(1.2)}40%{opacity:0;transform:translateY(-10px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}.navbar-tokens-suffix{font-size:.9em;font-weight:500;opacity:.95}.navbar-links a{color:#94a3b8;color:var(--text-secondary);font-weight:500;text-decoration:none;transition:color .2s}.navbar-links a:hover{color:#6366f1;color:var(--accent)}.navbar-logout{background:#0000;border:1px solid #ffffff1a;border:1px solid var(--glass-border);border-radius:.5rem;color:#94a3b8;color:var(--text-secondary);cursor:pointer;font-size:.9rem;letter-spacing:0;padding:.5rem 1rem;text-transform:none;transition:all .2s}.navbar-logout:hover{border-color:#6366f1;border-color:var(--accent);color:#6366f1;color:var(--accent);transform:none}.page{display:flex;flex:1 1;flex-direction:column}.login-container,.register-container{animation:fadeIn .5s ease-out;background:#1e293b;background:var(--bg-secondary);border:1px solid #ffffff1a;border:1px solid var(--glass-border);border-radius:1rem;border-radius:var(--radius-lg);box-shadow:0 10px 15px -3px #0000004d,0 4px 6px -2px #0000001a;box-shadow:var(--shadow-lg);margin:auto;max-width:400px;padding:3rem;width:100%}.login-container h2,.register-container h2{color:#f8fafc;color:var(--text-primary);font-size:2rem;margin-bottom:2rem;margin-top:0;text-align:center}form{display:flex;flex-direction:column;gap:1.25rem}input{background:#0f172a80;border:1px solid #ffffff1a;border:1px solid var(--glass-border);border-radius:.5rem;color:#f8fafc;color:var(--text-primary);font-size:1rem;padding:1rem;transition:all .2s;width:100%}input:focus{border-color:#6366f1;border-color:var(--accent);box-shadow:0 0 0 2px #6366f133;outline:none}button{background:linear-gradient(135deg,#6366f1,#8b5cf6);background:var(--accent-gradient);border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;letter-spacing:.05em;padding:1rem;text-transform:uppercase;transition:opacity .2s,transform .2s}button:hover{opacity:.9;transform:translateY(-1px)}.chat-page{background:radial-gradient(ellipse at 50% 0,#1e293b 0,#0f172a 50%);display:flex;flex-direction:column;min-height:100vh}.chat-page-layout,.chat-page-main{display:flex;flex:1 1;min-height:0}.chat-page-main{flex-direction:column;min-width:0}.chat-container{height:100%;margin:0 auto;max-width:900px;min-height:0;position:relative;width:100%}.chat-container,.messages{display:flex;flex:1 1;flex-direction:column}.messages{gap:1.5rem;overflow-y:auto;padding:2rem;scroll-behavior:smooth}.message{animation:fadeIn .3s ease-out;border-radius:1.25rem;font-size:1rem;line-height:1.5;max-width:80%;padding:1rem 1.5rem;position:relative}.message.user{align-self:flex-end;background:linear-gradient(135deg,#6366f1,#8b5cf6);background:var(--accent-gradient);border-bottom-right-radius:.25rem;color:#fff}.message.bot{align-self:flex-start;background:#1e293b;background:var(--bg-secondary);border:1px solid #ffffff1a;border:1px solid var(--glass-border);border-bottom-left-radius:.25rem;color:#f8fafc;color:var(--text-primary)}.input-area{background:linear-gradient(0deg,#0f172a 80%,#0000);background:linear-gradient(to top,var(--bg-primary) 80%,#0000);padding:1.5rem 2rem}.input-area,.input-area-row{display:flex;flex-direction:column;gap:.75rem}.input-area-input-wrap{align-items:center;display:flex;gap:1rem}.export-pdf-btn{align-self:flex-start;background:#1e293b99;border:1px solid #ffffff1a;border:1px solid var(--glass-border);border-radius:.5rem;color:#94a3b8;color:var(--text-secondary);cursor:pointer;font-size:.9rem;font-weight:500;letter-spacing:0;padding:.5rem 1rem;text-transform:none;transition:color .2s,border-color .2s,background .2s}.export-pdf-btn:hover:not(:disabled){background:#6366f11a;border-color:#6366f1;border-color:var(--accent);color:#6366f1;color:var(--accent)}.export-pdf-btn:disabled{cursor:not-allowed;opacity:.5}.input-area input{background:#1e293b;background:var(--bg-secondary);border:1px solid #ffffff1a;border:1px solid var(--glass-border);border-radius:9999px;border-radius:var(--radius-full);box-shadow:0 4px 6px -1px #0000001a;color:#f8fafc;color:var(--text-primary);flex:1 1;padding:1rem 1.5rem}.input-area .input-area-input-wrap button.send-btn{min-width:48px;padding:0;width:48px}.input-area button:not(.send-btn):not(.export-pdf-btn){background:#6366f1;background:var(--accent);border-radius:9999px;border-radius:var(--radius-full);box-shadow:0 4px 6px -1px #0000001a;padding:0 2rem;width:auto}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#1e293b;background:var(--bg-secondary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8;background:var(--text-secondary)}
/*# sourceMappingURL=main.dd1fc1d0.css.map*/