:root{--primary-bg-color: #f0f2f5;--secondary-bg-color: #ffffff;--accent-color: #4CAF50;--accent-color-dark: #45a049;--border-color: #e0e0e0;--shadow-small: 0 2px 4px rgba(0, 0, 0, .05);--shadow-medium: 0 4px 8px rgba(0, 0, 0, .1);--text-color-dark: #333;--text-color-light: #666;--user-message-bg: #e0f7fa;--bot-message-bg: #f8f8f8;--code-bg-color: #eceff1;--code-text-color: #263238;--code-header-bg: #3f51b5;--system-message-bg: #fff3e0;--pdf-link-color: #1976d2;--dark-primary-bg-color: #202123;--dark-secondary-bg-color: #282a2d;--dark-accent-color: #4CAF50;--dark-accent-color-dark: #45a049;--dark-border-color: #3e4044;--dark-shadow-small: 0 2px 4px rgba(0, 0, 0, .2);--dark-shadow-medium: 0 4px 8px rgba(0, 0, 0, .3);--dark-text-color-dark: #e0e0e0;--dark-text-color-light: #b0b0b0;--dark-user-message-bg: #3c4043;--dark-bot-message-bg: #303134;--dark-code-bg-color: #1a1a1a;--dark-code-text-color: #f8f8f2;--dark-code-header-bg: #5c6bc0;--dark-system-message-bg: #36322b;--dark-pdf-link-color: #90caf9;--header-height: 60px;--sidebar-width-open: 280px;--sidebar-width-closed: 70px;--document-preview-bg: #ffe0e6;--document-preview-border: #ffb3c6;--document-preview-icon-color: #e91e63}body{margin:0;font-family:Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--primary-bg-color);color:var(--text-color-dark);overflow:hidden;transition:background-color .3s ease,color .3s ease}body.dark{background-color:var(--dark-primary-bg-color);color:var(--dark-text-color-dark);--primary-bg-color: var(--dark-primary-bg-color);--secondary-bg-color: var(--dark-secondary-bg-color);--accent-color: var(--dark-accent-color);--accent-color-dark: var(--dark-accent-color-dark);--border-color: var(--dark-border-color);--shadow-small: var(--dark-shadow-small);--shadow-medium: var(--dark-shadow-medium);--text-color-dark: var(--dark-text-color-dark);--text-color-light: var(--dark-text-color-light);--user-message-bg: var(--dark-user-message-bg);--bot-message-bg: var(--dark-bot-message-bg);--code-bg-color: var(--dark-code-bg-color);--code-text-color: var(--dark-code-text-color);--code-header-bg: var(--dark-code-header-bg);--system-message-bg: var(--dark-system-message-bg);--dark-pdf-link-color: var(--dark-pdf-link-color);--document-preview-bg: #3a2a2f;--document-preview-border: #5c3a44;--document-preview-icon-color: #ff80ab}#root{height:100vh;display:flex;flex-direction:column}.sidebar{background-color:var(--secondary-bg-color);color:var(--text-color-dark);box-shadow:var(--shadow-medium);transition:width .3s ease-in-out,transform .3s ease-in-out,background-color .3s ease,color .3s ease;display:flex;flex-direction:column;position:relative;z-index:1000}.sidebar.open{width:var(--sidebar-width-open);transform:translate(0)}.sidebar.closed{width:var(--sidebar-width-closed);transform:translate(0)}@media (max-width: 768px){.sidebar{position:fixed;top:0;left:0;height:100vh;width:var(--sidebar-width-open);transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar.closed{transform:translate(-100%)}.sidebar-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#00000080;z-index:999}}.sidebar-header{padding:15px;display:flex;justify-content:center;align-items:center;border-bottom:1px solid var(--border-color);flex-shrink:0}.new-chat-btn{background-color:var(--primary-bg-color);color:var(--text-color-dark);border:1px solid var(--border-color);border-radius:20px;padding:10px 20px;font-size:1rem;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background-color .2s ease,color .2s ease,border-color .2s ease;flex-grow:1;justify-content:center}.new-chat-btn:hover{background-color:var(--border-color);color:var(--text-color-dark);border-color:var(--border-color)}.sidebar.closed .new-chat-btn .new-chat-text{display:none}.sidebar.closed .new-chat-btn .plus-icon{margin:0}.chat-history{flex-grow:1;padding:15px;overflow-y:auto;-ms-overflow-style:none;scrollbar-width:none}.chat-history::-webkit-scrollbar{display:none}.chat-history h4{margin-top:0;margin-bottom:15px;color:var(--text-color-light);font-weight:500;font-size:1.1rem;opacity:1;transition:opacity .3s ease,color .3s ease}.sidebar.closed .chat-history h4{opacity:0;pointer-events:none}.no-history{color:var(--text-color-light);font-size:.9rem;text-align:center;opacity:1;transition:opacity .3s ease,color .3s ease}.sidebar.closed .no-history{opacity:0;pointer-events:none}.history-item-wrapper{position:relative;margin-bottom:8px}.history-item{background-color:var(--primary-bg-color);padding:10px 12px;border-radius:8px;cursor:pointer;transition:background-color .2s ease,opacity .3s ease,color .3s ease;display:flex;justify-content:space-between;align-items:center}.history-item:hover{background-color:var(--border-color)}.sidebar.closed .history-item{opacity:0;pointer-events:none}.history-item p{margin:0;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-grow:1}.history-options-button{background:none;border:none;color:var(--text-color-light);font-size:1.2rem;cursor:pointer;padding:2px 5px;border-radius:4px;transition:background-color .2s ease,color .3s ease;flex-shrink:0}.history-options-button:hover{background-color:var(--border-color)}.options-dropdown{position:absolute;top:100%;right:0;background-color:var(--secondary-bg-color);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-medium);z-index:1001;display:flex;flex-direction:column;min-width:120px;overflow:hidden;transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease}.options-dropdown button{background:none;border:none;padding:10px 15px;text-align:left;cursor:pointer;color:var(--text-color-dark);font-size:.9rem;transition:background-color .2s ease,color .3s ease}.options-dropdown button:hover{background-color:var(--primary-bg-color)}.sidebar-footer{padding:15px;border-top:1px solid var(--border-color);text-align:center;flex-shrink:0;display:none}.main-chat{flex-grow:1;display:flex;flex-direction:column;background-color:var(--primary-bg-color);transition:margin-left .3s ease-in-out,background-color .3s ease;position:relative}@media (max-width: 768px){.main-chat.sidebar-shifted{margin-left:0}}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;background-color:var(--primary-bg-color);color:var(--text-color-light);box-shadow:none;position:sticky;top:0;z-index:100;height:var(--header-height);transition:background-color .3s ease,color .3s ease,box-shadow .3s ease}.header-toggle-sidebar-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-color-dark);padding:5px;border-radius:5px;transition:background-color .2s ease,color .3s ease;display:block;margin-right:15px}.header-toggle-sidebar-btn:hover{background-color:var(--border-color)}.header-logo-container{display:flex;align-items:center;gap:10px;flex-grow:1;justify-content:flex-start}.santrix-logo{height:40px;width:auto;border-radius:50%;object-fit:contain}.chat-title{font-size:1.5rem;font-weight:600;color:var(--text-color-dark);transition:color .3s ease}.header-actions{display:flex;gap:10px;align-items:center}.header-share-button{background:none;border:1px solid var(--border-color);color:var(--text-color-dark);padding:8px 15px;border-radius:20px;font-size:.9rem;cursor:pointer;display:flex;align-items:center;gap:5px;transition:background-color .2s ease,color .2s ease,border-color .3s ease}.header-share-button:hover{background-color:var(--accent-color);color:#fff;border-color:var(--accent-color)}.chat-body{flex-grow:1;padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:15px;scroll-behavior:smooth;-ms-overflow-style:none;scrollbar-width:none}.chat-body::-webkit-scrollbar{display:none}.initial-message{display:flex;flex-direction:column;align-items:center;justify-content:center;flex-grow:1;text-align:center;color:var(--text-color-light);margin-top:auto;margin-bottom:auto;transition:color .3s ease}.initial-text-container{opacity:0;transform:translateY(20px);transition:opacity .6s ease-out,transform .6s cubic-bezier(.68,-.55,.265,1.55);display:flex;flex-direction:column;align-items:center}.initial-text-container.visible{opacity:1;transform:translateY(0)}.initial-message h1{font-size:2rem;margin-top:.5rem;margin-bottom:.5rem;color:var(--text-color-dark);font-weight:500;transition:color .3s ease}.initial-message p{display:none}.chat-message{display:flex}.chat-message.user{justify-content:flex-end}.chat-message.bot,.chat-message.system{justify-content:flex-start}.message-content{max-width:70%;padding:12px 18px;border-radius:18px;font-size:1rem;line-height:1.5;word-wrap:break-word;white-space:pre-wrap;box-shadow:var(--shadow-small);transition:background-color .3s ease,color .3s ease,box-shadow .3s ease}.chat-message.user .message-content{background-color:var(--user-message-bg);color:var(--text-color-dark);border-bottom-right-radius:4px}.chat-message.bot .message-content{background-color:var(--bot-message-bg);color:var(--text-color-dark);border-bottom-left-radius:4px}.chat-message.system .message-content{background-color:var(--system-message-bg);color:var(--text-color-dark);border-radius:8px;text-align:center}.user-message-text{margin:0}.file-name-display{font-size:.9em;color:var(--text-color-light);margin-top:5px}.chat-message img,.chat-message video{max-width:100%;border-radius:8px;display:block;margin-top:10px}.loading-message .message-content p{animation:blink 1s infinite steps(1,start);overflow:hidden;white-space:nowrap}@keyframes blink{0%{content:"Thinking"}25%{content:"Thinking."}50%{content:"Thinking.."}75%{content:"Thinking..."}to{content:"Thinking"}}pre{background-color:var(--code-bg-color);color:var(--code-text-color);padding:10px;border-radius:8px;overflow-x:auto;font-family:Fira Code,Cascadia Code,Consolas,monospace;font-size:.9em;margin-top:10px;margin-bottom:10px;transition:background-color .3s ease,color .3s ease}pre code{display:block}.code-block-container{position:relative;margin:10px 0;background-color:var(--code-bg-color);border-radius:8px;overflow:hidden}.code-header{display:flex;justify-content:space-between;align-items:center;background-color:var(--code-header-bg);color:#fff;padding:8px 12px;font-size:.85rem;border-top-left-radius:8px;border-top-right-radius:8px;transition:background-color .3s ease}.code-header span{font-weight:700}.code-copy-button{background-color:#fff3;color:#fff;border:none;padding:5px 10px;border-radius:5px;cursor:pointer;font-size:.85rem;transition:background-color .2s ease}.code-copy-button:hover{background-color:#ffffff4d}.code-content{padding:10px;overflow-x:auto;font-size:.9em;line-height:1.4;font-family:Fira Code,Cascadia Code,Consolas,monospace;color:var(--code-text-color);background-color:var(--code-bg-color);transition:background-color .3s ease,color .3s ease}.code-content code{display:block;white-space:pre-wrap}.chat-footer{padding:15px 20px;background-color:var(--primary-bg-color);box-shadow:none;display:flex;flex-direction:column;gap:10px;position:relative;flex-shrink:0;transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease;align-items:center}.input-container{display:flex;align-items:flex-end;gap:10px;background-color:var(--primary-bg-color);border-radius:25px;padding:8px 15px;border:1px solid var(--border-color);box-shadow:inset 0 1px 3px #0000000d;transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease;width:100%;max-width:760px}.input-container textarea{flex-grow:1;border:none;outline:none;resize:none;padding:8px 0;font-size:1rem;line-height:1.4;max-height:150px;overflow-y:auto;background:transparent;color:var(--text-color-dark);-ms-overflow-style:none;scrollbar-width:none;transition:color .3s ease}.input-container textarea::placeholder{color:var(--text-color-light);transition:color .3s ease;content:"Message Santrix..."}.send-button{background-color:transparent;color:var(--text-color-dark);border:none;border-radius:50%;width:40px;height:40px;display:flex;justify-content:center;align-items:center;cursor:pointer;transition:background-color .2s ease,color .2s ease;flex-shrink:0;padding:0}.send-button svg{width:24px;height:24px;stroke:currentColor;fill:currentColor}.send-button:hover:not(:disabled){background-color:var(--border-color);color:var(--accent-color)}.send-button:disabled{background-color:transparent;color:var(--text-color-light);cursor:not-allowed}body.dark .send-button:disabled{background-color:transparent;color:var(--dark-text-color-light)}.file-upload-button{background:none;border:none;cursor:pointer;color:var(--text-color-light);padding:0 5px;flex-shrink:0;transition:color .2s ease;line-height:1;display:flex;justify-content:center;align-items:center;width:40px;height:40px;border-radius:50%}.file-upload-button svg{width:24px;height:24px;stroke:currentColor;fill:none}.file-upload-button:hover{color:var(--accent-color);background-color:var(--border-color)}.file-previews-container{display:flex;flex-wrap:wrap;gap:8px;padding:5px 0;width:100%;max-width:760px;justify-content:center}.file-preview-item{display:flex;align-items:center;border:1px solid var(--border-color);border-radius:20px;padding:6px 12px;gap:8px;font-size:.9rem;color:var(--text-color-dark);position:relative;transition:background-color .3s ease,border-color .3s ease,color .3s ease;box-shadow:var(--shadow-small)}.file-preview-item.file-preview-image{background-color:transparent;border:none;padding:0;box-shadow:none}.file-preview-item.file-preview-document{background-color:var(--document-preview-bg);border:1px solid var(--document-preview-border);padding:6px 12px;box-shadow:var(--shadow-small)}.file-preview-item img,.file-preview-item video{max-width:40px;max-height:40px;border-radius:5px;object-fit:cover;flex-shrink:0;margin-right:auto}.file-icon-wrapper{display:flex;align-items:center;gap:5px;flex-grow:1;min-width:0}.file-icon-wrapper svg{width:20px;height:20px;color:var(--document-preview-icon-color);flex-shrink:0}.file-info-text{display:flex;flex-direction:column;min-width:0}.file-name-display-text{font-size:.9rem;color:var(--text-color-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .3s ease}.file-type-label{font-size:.75rem;color:var(--text-color-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .3s ease}.remove-file-btn{background:none;border:none;color:var(--text-color-light);font-size:1.2rem;cursor:pointer;padding:0;line-height:1;transition:color .2s ease;flex-shrink:0;width:24px;height:24px;display:flex;justify-content:center;align-items:center;border-radius:50%}.remove-file-btn:hover{color:#ff4d4d;background-color:#ff4d4d1a}.share-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:2000}.share-modal-content{background-color:var(--secondary-bg-color);padding:30px;border-radius:12px;box-shadow:var(--shadow-medium);width:90%;max-width:600px;position:relative;max-height:80vh;display:flex;flex-direction:column;transition:background-color .3s ease,box-shadow .3s ease}.share-modal-content h2{margin-top:0;margin-bottom:20px;color:var(--text-color-dark);font-size:1.6rem;text-align:center;transition:color .3s ease}.share-modal-content>p,.share-modal-content>div:not(.share-modal-buttons),.share-modal-content>span{color:var(--text-color-dark);margin-bottom:10px;text-align:center;transition:color .3s ease}.share-modal-textarea{width:calc(100% - 20px);flex-grow:1;height:200px;padding:10px;border:1px solid var(--border-color);border-radius:8px;margin-bottom:20px;font-size:.95rem;line-height:1.5;background-color:var(--primary-bg-color);color:var(--text-color-dark);resize:vertical;overflow-y:auto;transition:background-color .3s ease,border-color .3s ease,color .3s ease}.share-modal-textarea::placeholder{color:var(--text-color-light);opacity:1}.share-modal-close-btn{position:absolute;top:15px;right:15px;background:none;border:none;font-size:1.8rem;color:var(--text-color-light);cursor:pointer;transition:color .2s ease}.share-modal-close-btn:hover{color:var(--text-color-dark)}.share-modal-buttons{display:flex;flex-direction:column;justify-content:center;gap:10px;flex-wrap:wrap}.share-modal-buttons button{background-color:var(--accent-color);color:#fff;border:none;border-radius:25px;padding:12px 25px;font-size:1rem;cursor:pointer;transition:background-color .2s ease;flex:1 1 auto;min-width:120px}.share-modal-buttons button:hover{background-color:var(--accent-color-dark)}body.dark .share-modal-content>p,body.dark .share-modal-content>div:not(.share-modal-buttons),body.dark .share-modal-content>span,body.dark .share-modal-content h2,body.dark .share-modal-textarea{color:var(--dark-text-color-dark)}body.dark .share-modal-textarea::placeholder{color:var(--dark-text-color-light)}body.dark .share-modal-close-btn{color:var(--dark-text-color-light)}.copied-notification-center{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#000000bf;color:#fff;padding:15px 25px;border-radius:8px;z-index:3000;font-size:1rem;animation:fadeOut 2s forwards;pointer-events:none}@keyframes fadeOut{0%{opacity:1}80%{opacity:1}to{opacity:0}}.generated-pdf-container{display:flex;flex-direction:column;align-items:center;gap:10px;padding:15px;background-color:var(--system-message-bg);border-radius:8px;border:1px solid var(--border-color);text-align:center;transition:background-color .3s ease,border-color .3s ease}.generated-pdf-container p{margin:0;font-size:1rem;color:var(--pdf-link-color);font-weight:500;transition:color .3s ease}.download-pdf-button{background-color:var(--pdf-link-color);color:#fff;border:none;padding:10px 20px;border-radius:20px;text-decoration:none;font-size:.95rem;transition:background-color .2s ease}.download-pdf-button:hover{background-color:var(--accent-color-dark)}.app-disclaimer-text{color:var(--text-color-light);font-size:.85rem;text-align:center;margin-top:10px;transition:color .3s ease;visibility:hidden;position:relative;height:20px;overflow:hidden}.app-disclaimer-text:before{content:"Santrix can make mistakes, so double-check it";visibility:visible;position:absolute;top:0;left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center;color:var(--text-color-light);transition:color .3s ease}body.dark .app-disclaimer-text,body.dark .app-disclaimer-text:before{color:var(--dark-text-color-light)}.main-chat.sidebar-shifted{margin-left:250px}.input-container{max-width:650px}.app-wrapper{display:flex;height:100vh;width:100vw;overflow:hidden;flex-direction:row}@media (max-width: 768px){.app-wrapper{flex-direction:row;position:relative}.main-chat{width:100%;margin-left:0}.chat-header{padding:10px 15px}.initial-message h1{font-size:1.6rem}.initial-message p{font-size:.9rem}.message-content{max-width:85%;padding:10px 15px;font-size:.95rem}.chat-footer{padding:10px}.input-container{padding:8px 12px;max-width:100%;border-radius:20px}.input-container textarea{font-size:.9rem;padding:5px 0}.send-button,.file-upload-button{width:38px;height:38px}.send-button svg,.file-upload-button svg{width:22px;height:22px}}@media (max-width: 375px){.chat-header{padding:8px 10px}.header-toggle-sidebar-btn{font-size:1.2rem;margin-right:10px}.santrix-logo{height:30px}.chat-title{font-size:1.2rem}.header-share-button{padding:5px 10px;font-size:.75rem}.chat-body{padding:15px}.message-content{max-width:90%;font-size:.88rem}.chat-footer{padding:8px}.input-container{padding:6px 10px}.input-container textarea{font-size:.85rem}.send-button,.file-upload-button{width:35px;height:35px}.send-button svg,.file-upload-button svg{width:20px;height:20px}}.share-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000}.share-modal-content{background-color:var(--background-color-light);padding:30px;border-radius:15px;box-shadow:0 5px 15px #0000004d;position:relative;width:90%;max-width:400px;text-align:center;color:var(--text-color)}.share-modal-content h2{margin-top:0;color:var(--primary-color);font-size:1.8rem;margin-bottom:15px}.share-modal-content p{margin-bottom:25px;font-size:1rem;line-height:1.5}.share-modal-content .close-button{position:absolute;top:15px;right:15px;background:none;border:none;font-size:1.8rem;cursor:pointer;color:var(--text-color-light);transition:color .2s ease}.share-modal-content .close-button:hover{color:var(--primary-color)}.share-options button{display:block;width:calc(100% - 20px);padding:12px 20px;margin:10px auto;background-color:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:1.1rem;cursor:pointer;transition:background-color .2s ease,transform .1s ease;box-shadow:0 2px 5px #0000001a}.share-options button:hover{background-color:var(--button-hover-bg);transform:translateY(-2px)}.share-options button:active{transform:translateY(0)}.theme-toggle-btn{background:none;border:none;cursor:pointer;padding:8px;border-radius:50%;display:flex;justify-content:center;align-items:center;transition:background-color .2s ease,color .2s ease;width:40px;height:40px;flex-shrink:0}.theme-toggle-btn svg{width:24px;height:24px}.light .theme-toggle-btn{color:var(--text-color-dark)}.light .theme-toggle-btn:hover{background-color:var(--border-color)}.dark .theme-toggle-btn{color:var(--dark-text-color-light)}.dark .theme-toggle-btn:hover{background-color:var(--dark-primary-bg-color)}
