*{box-sizing:border-box}body{margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.App{display:flex;flex-direction:column;height:100vh;background:linear-gradient(135deg,#0f0c29,#302b63,#24243e);background-attachment:fixed;overflow:hidden;position:relative}.App:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 50%,rgba(120,119,198,.3) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(88,86,214,.3) 0%,transparent 50%);pointer-events:none;animation:pulse 8s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:.8}}.chat-header{background:#111928d9;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid rgba(255,255,255,.1);padding:.875rem 2.5rem;box-shadow:0 2px 12px #0000004d;z-index:10;position:relative}.chat-header:before{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#667eea 50%,transparent)}.chat-header-content{display:flex;justify-content:space-between;align-items:center;gap:1rem;max-width:100%}.header-left{display:flex;align-items:center;gap:.75rem}.header-icon{font-size:1.75rem;display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:linear-gradient(135deg,#667eea33,#764ba233);border-radius:12px;border:1px solid rgba(255,255,255,.1)}.header-text{display:flex;align-items:center;gap:.625rem}.chat-header-content h2{margin:0;font-size:1.125rem;background:linear-gradient(135deg,#667eea,#f093fb);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700;letter-spacing:-.3px}.header-badge{font-size:.7rem;padding:.25rem .625rem;background:#667eea33;color:#a5b4fc;border-radius:.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border:1px solid rgba(102,126,234,.3)}.header-user{display:flex;align-items:center;gap:.5rem;padding:.5rem .875rem;background:#ffffff0d;border-radius:1.5rem;border:1px solid rgba(255,255,255,.1)}.user-status{width:8px;height:8px;background:#10b981;border-radius:50%;box-shadow:0 0 8px #10b98199;animation:pulse-status 2s ease-in-out infinite}@keyframes pulse-status{0%,to{opacity:1}50%{opacity:.5}}.user-name{font-size:.875rem;color:#ffffffd9;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:250px}.sign-in-button{display:flex;align-items:center;gap:.625rem;padding:.875rem 1.75rem;background:linear-gradient(135deg,#667eea,#764ba2 70%,#f093fb);color:#fff;border:2px solid rgba(255,255,255,.2);border-radius:2rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 24px #667eea80,0 0 32px #667eea4d,inset 0 1px #fff3;white-space:nowrap;position:relative;overflow:hidden}.sign-in-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.sign-in-button:hover:before{left:100%}.sign-in-button:hover{transform:translateY(-3px);box-shadow:0 12px 32px #667eea99,0 0 48px #764ba280}.sign-in-button:active{transform:translateY(-1px)}.sign-in-button span{font-size:1.15rem;position:relative;z-index:1}.chat-messages{flex:1;overflow-y:auto;padding:2rem 2.5rem;display:flex;flex-direction:column;align-items:center;gap:1.25rem;background:transparent;position:relative;z-index:1}.chat-messages>.message{width:100%;max-width:1100px}.chat-messages::-webkit-scrollbar{width:10px}.chat-messages::-webkit-scrollbar-track{background:#ffffff0d;border-radius:10px}.chat-messages::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#667eea,#764ba2);border-radius:10px;border:2px solid rgba(255,255,255,.1)}.chat-messages::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#764ba2,#667eea)}.message{display:flex;gap:.75rem;animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinning-icon{animation:spin 1s linear infinite}.message-user{flex-direction:row-reverse}.message-avatar{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.35rem;flex-shrink:0;background:linear-gradient(135deg,#667eea4d,#764ba24d);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:2px solid rgba(255,255,255,.2);box-shadow:0 4px 16px #0000004d;transition:all .3s ease}.message-avatar:hover{transform:scale(1.1);box-shadow:0 6px 20px #667eea66}.message-content{max-width:70%;display:flex;flex-direction:column;gap:.25rem}.message-header{display:flex;align-items:center;gap:.5rem;font-size:.75rem}.message-user .message-header{flex-direction:row-reverse}.message-sender{font-weight:600;color:#ffffffe6}.message-time{color:#fff9}.message-text{padding:1rem 1.25rem;border-radius:1.25rem;font-size:.95rem;line-height:1.6;word-wrap:break-word;position:relative;transition:all .3s ease}.message-bot .message-text{background:#11192899;-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);color:#fffffff2;border-bottom-left-radius:.375rem;box-shadow:0 8px 32px #0006;border:1px solid rgba(255,255,255,.125)}.message-bot .message-text:hover{border-color:#667eea80;box-shadow:0 8px 32px #667eea4d}.message-user .message-text{background:linear-gradient(135deg,#667eea,#764ba2 70%,#f093fb);color:#fff;border-bottom-right-radius:.375rem;box-shadow:0 8px 32px #667eea80;border:1px solid rgba(255,255,255,.2)}.message-user .message-text:hover{box-shadow:0 12px 40px #764ba299;transform:translateY(-2px)}.message-text strong{font-weight:700;color:inherit}.message-text em{font-style:italic;color:inherit}.message-text code{background:#0003;padding:.125rem .375rem;border-radius:.25rem;font-family:Courier New,monospace;font-size:.9em;color:inherit}.message-bot .message-text code{background:#ffffff1a}.message-text ul{margin:.5rem 0;padding-left:1.5rem}.message-text li{margin:.25rem 0;list-style-type:disc}.message-text .table-wrapper{width:100%;max-height:400px;overflow-x:auto;overflow-y:auto;margin:.75rem 0;border-radius:.5rem;background:#ffffff08}.message-text .table-wrapper::-webkit-scrollbar{width:8px;height:8px}.message-text .table-wrapper::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.message-text .table-wrapper::-webkit-scrollbar-thumb{background:#8b5cf680;border-radius:4px}.message-text .table-wrapper::-webkit-scrollbar-thumb:hover{background:#8b5cf6b3}.message-text table{width:100%;min-width:600px;border-collapse:collapse;margin:0;background:transparent}.message-text thead{background:#8b5cf626}.message-text th{padding:.75rem 1rem;text-align:left;font-weight:600;color:#fffffff2;border-bottom:1px solid rgba(139,92,246,.3)}.message-text td{padding:.75rem 1rem;color:#ffffffd9;border-bottom:1px solid rgba(255,255,255,.05)}.message-text tbody tr:last-child td{border-bottom:none}.message-text tbody tr:hover{background:#ffffff0d}.message-file{padding:1rem 1.25rem;font-size:.95rem;line-height:1.6;background:#11192899;-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);border-radius:1.25rem 1.25rem 1.25rem .375rem;box-shadow:0 8px 32px #0006;border:1px solid rgba(255,255,255,.125);transition:all .3s ease}.message-file:hover{border-color:#667eea80;box-shadow:0 8px 32px #667eea4d}.file-download-link{display:inline-flex;align-items:center;gap:.75rem;color:#fffffff2;text-decoration:none;padding:.5rem 1rem;border-radius:.75rem;background:linear-gradient(135deg,#667eea33,#764ba233);border:1px solid rgba(102,126,234,.3);transition:all .3s ease;font-weight:500}.file-download-link:hover{background:linear-gradient(135deg,#667eea66,#764ba266);border-color:#667eea99;box-shadow:0 4px 16px #667eea66;transform:translateY(-2px)}.file-download-link:active{transform:translateY(0);box-shadow:0 2px 8px #667eea4d}.message-generating{padding:1rem 1.25rem;background:#11192899;-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);border-radius:1.25rem 1.25rem 1.25rem .375rem;box-shadow:0 8px 32px #0006;border:1px solid rgba(255,255,255,.125);display:flex;align-items:center;gap:.75rem}.typing-indicator{display:flex;gap:.25rem;align-items:center}.typing-indicator span{width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);animation:typing 1.4s infinite;opacity:.6}.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}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.6}30%{transform:translateY(-10px);opacity:1}}.generating-text{color:#ffffffb3;font-size:.9rem;font-style:italic}.chat-input-wrapper{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:1rem 2.5rem;background:#111928d9;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border-top:1px solid rgba(255,255,255,.1);box-shadow:0 -4px 16px #0000004d;position:relative}.command-menu{width:100%;max-width:28rem;align-self:flex-start;background:#111928f2;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.15);border-radius:.75rem;margin-bottom:.5rem;margin-left:0;overflow:hidden;box-shadow:0 8px 32px #0006;animation:slideUp .2s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.command-menu-header{padding:.5rem .75rem;background:linear-gradient(135deg,#667eea33,#764ba233);border-bottom:1px solid rgba(255,255,255,.1);font-size:.7rem;font-weight:600;color:#ffffffe6;text-transform:uppercase;letter-spacing:.5px}.command-item{display:flex;flex-direction:column;padding:.625rem .75rem;cursor:pointer;transition:all .2s ease;border-bottom:1px solid rgba(255,255,255,.05);color:#fff}.command-item:last-child{border-bottom:none}.command-item:hover,.command-item-selected{background:linear-gradient(135deg,#667eea26,#764ba226);padding-left:1rem}.command-item-selected{border-left:3px solid rgba(102,126,234,.8)}.command-name{font-size:.85rem;font-weight:600;color:#fff;margin-bottom:.2rem;font-family:Courier New,monospace}.command-description{font-size:.7rem;color:#ffffffd9}.chat-input-wrapper:before{content:"";position:absolute;top:0;left:20%;right:20%;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(102,126,234,.5) 50%,transparent 100%);opacity:.6}.chat-input-container{display:flex;gap:.75rem;width:100%;align-items:center}.chat-input{flex:1;min-width:0;padding:.875rem 1.25rem;border:1.5px solid rgba(255,255,255,.1);border-radius:1.5rem;font-size:.9375rem;outline:none;transition:all .3s cubic-bezier(.4,0,.2,1);background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fffffff2;box-shadow:inset 0 1px 3px #0003,0 1px 2px #ffffff0d;font-weight:400;letter-spacing:.2px}.chat-input:hover{border-color:#667eea4d;background:#ffffff14}.chat-input:focus{border-color:#667eeacc;background:#ffffff14;box-shadow:inset 0 1px 3px #0003,0 0 0 3px #667eea26,0 4px 16px #667eea33;transform:translateY(-1px)}.chat-input::placeholder{color:#ffffff59;font-weight:400}.chat-send-button{width:52px;height:52px;min-width:52px;border:1.5px solid rgba(255,255,255,.15);border-radius:1.25rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:1.4rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #667eea80,0 0 32px #667eea4d,inset 0 1px #fff3;position:relative;overflow:hidden}.chat-send-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff3;transform:translate(-50%,-50%);transition:width .5s ease,height .5s ease}.chat-send-button:hover:not(:disabled):before{width:120%;height:120%}.chat-signin-button{width:auto;min-width:150px;padding:0 1.25rem;border-radius:2rem;font-size:.95rem;gap:.5rem;display:inline-flex;white-space:nowrap;font-weight:600}.chat-send-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea80,0 0 24px #764ba24d;border-color:#ffffff40}.chat-send-button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #667eea66,inset 0 1px 3px #0003}.chat-send-button:disabled{opacity:.5;cursor:not-allowed}.chat-send-button span{display:flex;align-items:center;justify-content:center;position:relative;z-index:1}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:1rem;position:relative;z-index:1}.modern-loader{position:relative;width:100px;height:100px;display:flex;align-items:center;justify-content:center}.loader-ring{position:absolute;width:100%;height:100%;border:3px solid transparent;border-radius:50%;animation:rotate 2s linear infinite}.loader-ring:nth-child(1){border-top-color:#667eea;animation-duration:1.5s}.loader-ring:nth-child(2){border-right-color:#764ba2;animation-duration:2s;animation-direction:reverse}.loader-ring:nth-child(3){border-bottom-color:#f093fb;animation-duration:2.5s}.loader-dot{width:16px;height:16px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 0 20px #667eea99;animation:pulse-dot 1.5s ease-in-out infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-dot{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.7}}.loading-text{color:#fffffff2;font-size:1.2rem;font-weight:600;letter-spacing:1px;margin-top:1rem}.loading-dots{display:flex;gap:.5rem;margin-top:.5rem}.loading-dots span{width:8px;height:8px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;animation:bounce-dots 1.4s ease-in-out infinite}.loading-dots span:nth-child(1){animation-delay:0s}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes bounce-dots{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:1.5rem;position:relative;z-index:1;padding:2rem;text-align:center}.error-icon{font-size:4rem;animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.error-title{color:#fffffff2;font-size:1.8rem;font-weight:600;margin:0;letter-spacing:.5px}.error-message{color:#ffffffbf;font-size:1rem;line-height:1.6;max-width:500px;margin:0}.error-retry-button{margin-top:1rem;padding:.875rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:2rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 8px 24px #667eea66}.error-retry-button:hover{transform:translateY(-2px);box-shadow:0 12px 32px #667eea99}.error-retry-button:active{transform:translateY(0)}
