:root{--font-family: "Inter", system-ui, Avenir, Helvetica, Arial, sans-serif;--ease-out-quad: cubic-bezier(.25, .46, .45, .94);--color-light-bg: #FAEBFF;--color-light-bg-secondary: #FFFFFF;--color-light-text: #333D79;--color-light-text-secondary: var(--color-light-text);--color-light-border: rgba(51, 61, 121, .1);--color-light-primary: #333D79;--color-light-primary-hover: #2A3366;--color-light-accent: #FAEBFF;--color-light-success: #2ecc71;--color-light-danger: #e74c3c;--color-light-input-bg: rgba(51, 61, 121, .05);--color-light-input-border: rgba(51, 61, 121, .2);--color-light-shadow: rgba(51, 61, 121, .15);--color-light-text-rgb: 51, 61, 121;--color-light-primary-rgb: 51, 61, 121;--color-active-link-text: var(--color-light-text);--color-dark-bg: #343541;--color-dark-bg-secondary: #444654;--color-dark-text: #ECECF1;--color-dark-text-secondary: #9FA6B1;--color-dark-border: #4E4F60;--color-dark-primary: #10A37F;--color-dark-primary-hover: #0D8C6D;--color-dark-accent: #10A37F;--color-dark-success: #10A37F;--color-dark-danger: #EF4146;--color-dark-input-bg: #40414F;--color-dark-input-border: #565869;--color-dark-shadow: rgba(0, 0, 0, .2);--color-dark-bg-rgb: 52, 53, 65;--color-dark-primary-rgb: 16, 163, 127;--color-dark-accent-rgb: 16, 163, 127;--color-active-link-text: var(--color-dark-text);--color-active-link-background: var(--color-dark-bg-secondary)}[data-theme=light]{--color-bg: var(--color-light-bg);--color-bg-alt: #f6f7fb;--color-card: #fff;--color-text: var(--color-light-text);--color-text-secondary: var(--color-light-text-secondary);--color-border: var(--color-light-border);--color-primary: var(--color-light-primary);--color-primary-hover: var(--color-light-primary-hover);--color-accent: var(--color-light-accent);--color-success: var(--color-light-success);--color-danger: var(--color-light-danger);--color-input-bg: var(--color-light-input-bg);--color-input-border: var(--color-light-input-border);--color-shadow: var(--color-light-shadow);--color-active-link-text: var(--color-light-text)}[data-theme=dark]{--color-bg: var(--color-dark-bg);--color-bg-alt: #23242b;--color-card: #181920;--color-text: var(--color-dark-text);--color-text-secondary: var(--color-dark-text-secondary);--color-border: var(--color-dark-border);--color-primary: var(--color-dark-primary);--color-primary-hover: var(--color-dark-primary-hover);--color-accent: var(--color-dark-accent);--color-success: var(--color-dark-success);--color-danger: var(--color-dark-danger);--color-input-bg: var(--color-dark-input-bg);--color-input-border: var(--color-dark-input-border);--color-shadow: var(--color-dark-shadow);--color-active-link-text: var(--color-dark-text);--color-active-link-background: var(--color-dark-bg-secondary)}html,body{margin:0;min-height:100vh;font-family:var(--font-family);line-height:1.6;color:var(--color-text);background-color:var(--color-bg);transition:background-color .3s var(--ease-out-quad),color .3s var(--ease-out-quad);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}*{box-sizing:border-box}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary);border-radius:10px}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}button{font-family:var(--font-family);cursor:pointer;border:none;outline:none;transition:all .2s var(--ease-out-quad);display:flex;align-items:center;justify-content:center}input,textarea{font-family:var(--font-family);border:1px solid var(--color-input-border);background-color:var(--color-input-bg);color:var(--color-text);padding:10px 15px;border-radius:8px;transition:all .2s var(--ease-out-quad)}input:focus,textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(var(--color-primary),.2)}.sidebar{width:300px;min-width:250px;background-color:var(--color-bg-alt);border-radius:12px;box-shadow:0 8px 30px var(--color-shadow);display:flex;flex-direction:column;padding:25px;height:calc(100vh - 80px);max-height:900px;transition:all .3s var(--ease-out-quad)}.sidebar-header{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:35px;padding-bottom:18px;border-bottom:1px solid var(--color-border)}.sidebar-username{margin-bottom:12px;margin-left:4px;font-weight:700;font-size:1.08em;color:var(--color-text);text-align:left;width:100%;display:block}.sidebar-header-row{display:flex;align-items:center;width:100%}.sidebar-header h2{margin:0;color:var(--color-text);font-weight:700;font-size:1.5em}.sidebar-header-actions{display:flex;align-items:center;gap:10px}.theme-toggle-button{background:var(--color-input-bg);color:var(--color-text-secondary);border-radius:10px;padding:12px;font-size:1.2em;transition:background .2s var(--ease-out-quad),color .2s var(--ease-out-quad)}.theme-toggle-button:hover{background:var(--color-primary);color:var(--color-light-bg-secondary)}.new-chat-button{background-color:var(--color-primary);color:var(--color-light-bg-secondary);padding:12px 18px;border-radius:24px;font-size:1em;font-weight:600;gap:10px;box-shadow:0 4px 15px rgba(var(--color-primary-rgb),.2)}.new-chat-button:hover{background-color:var(--color-primary-hover);transform:translateY(-2px);box-shadow:0 6px 20px rgba(var(--color-primary-rgb),.3)}.sidebar-nav{display:flex;flex-direction:column;gap:8px;margin-bottom:25px}.nav-link{display:flex;align-items:center;gap:15px;padding:12px 18px;color:var(--color-text-secondary);text-decoration:none;border-radius:10px;font-weight:500;font-size:1.05em;transition:all .2s var(--ease-out-quad)}.nav-link:hover{background-color:var(--color-input-bg);color:var(--color-text);transform:translate(3px)}.nav-link.active{background-color:var(--color-primary);color:var(--color-light-bg-secondary);box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.25);transform:translate(0)}.nav-link svg{flex-shrink:0}.chat-list{flex:1;overflow-y:auto;padding-right:8px}.chat-title{flex:1;overflow:hidden;text-overflow:ellipsis;font-size:.9em;font-weight:500;line-height:1.2;padding-top:2px}.delete-chat{background:none;border:none;color:var(--color-text-secondary);font-size:1.1em;cursor:pointer;padding:6px;opacity:0;transition:opacity .2s var(--ease-out-quad),color .2s var(--ease-out-quad);position:absolute;right:6px;top:50%;transform:translateY(-50%);z-index:1}.chat-item:hover .delete-chat{opacity:1;color:var(--color-danger)}.sidebar-auth{margin-top:auto;padding-top:20px}.auth-divider{height:1px;background-color:var(--color-border);margin:15px 0;opacity:.5}.sidebar-auth .nav-link{margin-bottom:8px}.sidebar-auth .logout-button{width:100%;justify-content:flex-start;text-align:left;background:none;border:none;color:var(--color-text-secondary);padding:12px 18px;border-radius:10px;font-weight:500;font-size:1.05em;transition:all .2s var(--ease-out-quad)}.sidebar-auth .logout-button:hover{background-color:var(--color-input-bg);color:var(--color-text)}.mobile-menu-button{display:none;background:var(--color-primary);border:none;color:var(--color-light-bg-secondary);padding:8px;cursor:pointer;transition:color .2s var(--ease-out-quad);z-index:300;position:relative;border-radius:8px;box-shadow:0 2px 8px #0000001a}.mobile-menu-button:hover{color:var(--color-primary);background:var(--color-primary-hover)}.mobile-menu-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:201;opacity:0;transition:opacity .3s var(--ease-out-quad);pointer-events:none}.mobile-menu-overlay.active{opacity:1;pointer-events:auto}.mobile-menu{display:none;position:fixed;top:0;right:-300px;width:300px;height:100vh;background-color:var(--color-bg-alt);z-index:202;padding:20px;box-shadow:-2px 0 10px var(--color-shadow);transition:right .3s var(--ease-out-quad);overflow-y:auto}.mobile-menu.active{right:0}.mobile-nav{display:flex;flex-direction:column;gap:8px;margin-bottom:25px}.mobile-chat-section{margin-bottom:25px}.mobile-new-chat-button{width:100%;background-color:var(--color-primary);color:var(--color-light-bg-secondary);padding:12px 18px;border-radius:24px;font-size:1em;font-weight:600;display:flex;align-items:center;gap:10px;margin-bottom:15px;box-shadow:0 4px 15px rgba(var(--color-primary-rgb),.2)}.mobile-new-chat-button:hover{background-color:var(--color-primary-hover);transform:translateY(-2px);box-shadow:0 6px 20px rgba(var(--color-primary-rgb),.3)}.mobile-chat-list{display:flex;flex-direction:column;gap:8px}.mobile-auth{margin-top:auto;padding-top:20px}@media (max-width: 768px){.sidebar{width:100%;min-width:unset;height:auto;max-height:80px;border-radius:12px;margin-bottom:0;padding:15px;flex-direction:row;justify-content:space-between;align-items:center}.sidebar-header{margin-bottom:0;border-bottom:none;padding-bottom:0;flex:1}.sidebar-nav,.chat-list,.sidebar-auth{display:none}.sidebar-header h2{font-size:1.2em}.new-chat-button{padding:10px 15px;font-size:.9em;gap:6px}.sidebar-header-actions{gap:8px}.theme-toggle-button{padding:8px;font-size:1em}.sidebar{position:sticky;top:0;z-index:100;background-color:var(--color-bg-alt);box-shadow:0 2px 10px var(--color-shadow)}.mobile-menu-button,.mobile-menu-overlay{display:block}.mobile-menu{display:flex;flex-direction:column}.mobile-menu .nav-link{padding:15px;font-size:1.1em}.mobile-menu .delete-chat{opacity:1;padding:8px}.mobile-menu .auth-divider{margin:20px 0}.mobile-menu .logout-button{padding:15px;font-size:1.1em}.mobile-menu.active~.sidebar-header,.mobile-menu.active~.sidebar .sidebar-header{display:none!important}.mobile-menu.active~.sidebar{box-shadow:none}}@media (min-width: 769px){.sidebar.collapsed{width:64px;min-width:64px;padding:18px 8px;transition:width .3s var(--ease-out-quad),padding .3s var(--ease-out-quad)}.sidebar.collapsed .sidebar-header h2,.sidebar.collapsed .sidebar-nav,.sidebar.collapsed .chat-list,.sidebar.collapsed .sidebar-auth{display:none!important}.sidebar-collapse-btn{background:var(--color-input-bg);border:none;border-radius:8px;padding:6px;margin-right:0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.sidebar-collapse-btn:hover{background:var(--color-primary);color:var(--color-light-bg-secondary)}.sidebar.collapsed .sidebar-header{justify-content:flex-start}.sidebar.collapsed .sidebar-header-actions{gap:0}.sidebar-collapsed-buttons{display:flex;flex-direction:column;align-items:center;width:100%;margin-top:4px}.sidebar-collapsed-buttons .sidebar-collapse-btn{margin-bottom:16px}.sidebar-collapsed-buttons .theme-toggle-button{margin-bottom:0}.sidebar-collapsed-nav{display:flex;flex-direction:column;align-items:center;margin-top:32px;gap:18px}.collapsed-nav-link{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;color:var(--color-text-secondary);background:none;font-size:1.4em;transition:background .2s,color .2s}.collapsed-nav-link:hover,.collapsed-nav-link.active{background:var(--color-primary);color:var(--color-light-bg-secondary)}.collapsed-nav-link svg{width:24px;height:24px}.sidebar-collapsed-logout{margin-top:auto;display:flex;flex-direction:column;align-items:center;width:100%;padding-bottom:18px}}.create-chat-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.create-chat-modal{background:#fff;border:1.5px solid #e2e8f0;border-radius:14px;padding:28px 24px 20px;max-width:400px;width:90%;box-shadow:0 8px 32px #0000002e,0 1.5px 4px #00000014;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}[data-theme=dark] .create-chat-modal{background:#23272f;border-color:#333;color:#f3f3f3}.create-chat-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.create-chat-modal-header h2{margin:0;color:inherit;font-size:1.5rem;font-weight:600}.create-chat-modal-close{background:none;border:none;font-size:24px;color:inherit;cursor:pointer;padding:4px;border-radius:4px;transition:background-color .2s}.create-chat-modal-close:hover{background-color:#f1f1f1}[data-theme=dark] .create-chat-modal-close:hover{background-color:#2a2a2a}.create-chat-modal-form{display:flex;flex-direction:column;gap:20px}.create-chat-modal-input-group{display:flex;flex-direction:column;gap:8px}.create-chat-modal-input-group label{color:inherit;font-weight:500;font-size:.95rem}.create-chat-modal-input-group input{padding:12px 16px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;color:#222;font-size:1rem;transition:border-color .2s,box-shadow .2s}.create-chat-modal-input-group input:focus{outline:none;border-color:#805ad5;box-shadow:0 0 0 2px #805ad533}.create-chat-modal-input-group input:disabled{opacity:.6;cursor:not-allowed}[data-theme=dark] .create-chat-modal-input-group input{background:#2a2a2a;border-color:#444;color:#f3f3f3}.create-chat-modal-actions{display:flex;gap:12px;justify-content:flex-end}.create-chat-modal-cancel,.create-chat-modal-create{padding:10px 20px;border:none;border-radius:6px;font-size:.98rem;font-weight:500;cursor:pointer;transition:all .2s}.create-chat-modal-cancel{background:#f1f1f1;color:#333}.create-chat-modal-cancel:hover:not(:disabled){background:#e2e8f0}[data-theme=dark] .create-chat-modal-cancel{background:#333;color:#f3f3f3}[data-theme=dark] .create-chat-modal-cancel:hover:not(:disabled){background:#444}.create-chat-modal-create{background:#805ad5;color:#fff}.create-chat-modal-create:hover:not(:disabled){background:#6b46c1;transform:translateY(-1px)}.create-chat-modal-create:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (max-width: 480px){.create-chat-modal{margin:20px;padding:20px}.create-chat-modal-actions{flex-direction:column}.create-chat-modal-cancel,.create-chat-modal-create{width:100%}}.create-chat-modal-notice{background:#f6fafd;color:#2563eb;border-left:4px solid #60a5fa;border-radius:7px;padding:10px 14px;margin-bottom:18px;font-size:.98rem;box-shadow:0 1px 4px #60a5fa12;display:flex;align-items:center;gap:8px}[data-theme=dark] .create-chat-modal-notice{background:#232c3b;color:#93c5fd;border-left-color:#3b82f6;box-shadow:0 1px 4px #3b82f61a}.chat-input-tip-line{display:flex;align-items:center;justify-content:flex-start;background:#f4f6fb;color:#5a4fcf;font-size:.88rem;border-radius:18px 18px 0 0;padding:4px 18px 2px 16px;margin-bottom:0;margin-top:0;font-weight:500;border:1px solid #e2e8f0;border-bottom:none;box-shadow:none;letter-spacing:.01em;min-height:28px;width:100%;max-width:100%;position:relative;z-index:2}[data-theme=dark] .chat-input-tip-line{background:#232c3b;color:#a5b4fc;border-color:#333}.chat-input-tip-link{color:#4f46e5;text-decoration:underline;font-weight:600;margin:0 2px;transition:color .18s}.chat-input-tip-link:hover{color:#805ad5}[data-theme=dark] .chat-input-tip-link{color:#a5b4fc}[data-theme=dark] .chat-input-tip-link:hover{color:#c7d2fe}.chat-input-tip-label{color:#805ad5;font-weight:700;margin-right:6px;font-size:.92em}[data-theme=dark] .chat-input-tip-label{color:#a5b4fc}.welcome-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:40px 20px;color:var(--color-text)}.welcome-header{margin-bottom:50px}.welcome-header h1{font-size:3.5em;font-weight:800;margin-bottom:15px;color:var(--color-text);background:linear-gradient(90deg,var(--color-primary),var(--color-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.welcome-header p{font-size:1.6em;color:var(--color-text-secondary);margin:0}.suggestion-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:25px;max-width:1000px;width:100%}.suggestion-card{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:16px;padding:25px;text-align:left;font-size:1.15em;color:var(--color-text);box-shadow:0 6px 20px rgba(var(--color-dark-bg-rgb),.08);transition:all .3s var(--ease-out-quad);height:100%;display:flex;align-items:flex-start;line-height:1.5;cursor:pointer;border:none;outline:none}.suggestion-card:hover:not(:disabled){border-color:var(--color-primary);box-shadow:0 8px 25px rgba(var(--color-primary-rgb),.25),var(--color-shadow);transform:translateY(-5px)}.suggestion-card:disabled{cursor:not-allowed;opacity:.7;transform:none}.suggestion-card.loading{background-color:var(--color-input-bg);border-color:var(--color-primary);box-shadow:0 4px 15px rgba(var(--color-primary-rgb),.15);transform:none}.suggestion-card.loading:hover{transform:none;box-shadow:0 4px 15px rgba(var(--color-primary-rgb),.15)}@media (max-width: 768px){.welcome-container{padding:30px 15px}.welcome-header h1{font-size:2.5em}.welcome-header p{font-size:1.3em}.suggestion-cards{grid-template-columns:1fr;gap:15px}.suggestion-card{padding:20px;font-size:1em}}.loading-spinner-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.loading-spinner{position:relative;display:inline-block}.spinner-ring{position:absolute;border:2px solid transparent;border-radius:50%;animation:spin 1.2s linear infinite}.spinner-ring:nth-child(1){width:100%;height:100%;border-top-color:currentColor;animation-delay:0s}.spinner-ring:nth-child(2){width:80%;height:80%;top:10%;left:10%;border-right-color:currentColor;animation-delay:.2s}.spinner-ring:nth-child(3){width:60%;height:60%;top:20%;left:20%;border-bottom-color:currentColor;animation-delay:.4s}.spinner-small .loading-spinner{width:24px;height:24px}.spinner-medium .loading-spinner{width:32px;height:32px}.spinner-large .loading-spinner{width:48px;height:48px}.spinner-xl .loading-spinner{width:64px;height:64px}.spinner-primary{color:var(--color-primary)}.spinner-secondary{color:var(--color-text-secondary)}.spinner-success{color:var(--color-success)}.spinner-accent{color:var(--color-accent)}.loading-text{font-size:.9em;color:var(--color-text-secondary);font-weight:500;text-align:center}.loading-text{animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}@media (max-width: 768px){.spinner-large .loading-spinner{width:40px;height:40px}.spinner-xl .loading-spinner{width:56px;height:56px}.loading-text{font-size:.85em}}.chat-container{display:flex;flex-direction:column;height:100%;padding:25px;background-color:var(--color-bg-alt);border-radius:12px;overflow:hidden}.chat-loading{display:flex;align-items:center;justify-content:center;height:100%;min-height:400px}.chat-actions-bar{display:flex;justify-content:flex-end;padding-bottom:20px;margin-bottom:15px;border-bottom:1px solid var(--color-border)}.export-chat-button{background-color:var(--color-input-bg);color:var(--color-text-secondary);padding:10px 15px;border-radius:8px;font-size:.95em;font-weight:500;gap:8px;transition:all .2s var(--ease-out-quad)}.export-chat-button:hover{background-color:var(--color-primary);color:var(--color-light-bg-secondary);box-shadow:0 2px 8px rgba(var(--color-primary-rgb),.2)}.messages-container{flex:1;overflow-y:auto;padding-right:12px;margin-bottom:20px}.message-row{display:flex;align-items:flex-start;margin-bottom:20px;gap:15px}.message-row.user{justify-content:flex-end}.message-row.assistant{justify-content:flex-start}.avatar{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #00000014;margin:0;padding:0;flex-shrink:0}.user-avatar{background:var(--color-primary)}.user-avatar svg{width:28px;height:28px;display:block;color:#fff;fill:#fff}.assistant-avatar{background-color:var(--color-accent);position:relative}.assistant-avatar .loading-spinner-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.assistant-avatar .loading-spinner{width:20px;height:20px}.assistant-avatar .loading-text{display:none}.message-bubble{max-width:70%;padding:14px 20px;border-radius:24px;line-height:1.6;word-wrap:break-word;box-shadow:0 4px 15px rgba(var(--color-dark-bg-rgb),.08)}.message-row.user .message-bubble{background-color:var(--color-primary);color:var(--color-light-bg-secondary);border-bottom-right-radius:8px}.message-row.assistant .message-bubble{background-color:var(--color-bg-secondary);color:var(--color-text);border:1px solid var(--color-border);border-bottom-left-radius:8px}.message-content{font-size:1.05em}.message-content pre,.message-content code{font-family:Fira Code,Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;background-color:var(--color-input-bg);padding:8px 12px;border-radius:8px;overflow-x:auto;font-size:.95em}.message-content pre{padding:15px;border:1px solid var(--color-border)}.message-content p{margin:0 0 10px}.message-content p:last-child{margin-bottom:0}.message-content ul,.message-content ol{margin:10px 0;padding-left:25px}.message-content li{margin-bottom:6px}.message-content h1,.message-content h2,.message-content h3,.message-content h4,.message-content h5,.message-content h6{color:var(--color-text);margin-top:1.2em;margin-bottom:.6em}.input-form{display:flex;align-items:center;gap:15px;padding:20px;background-color:var(--color-bg-secondary);border-radius:16px;box-shadow:0 -6px 20px var(--color-shadow);flex-shrink:0}.input-form input{flex:1;border:1px solid var(--color-input-border);border-radius:30px;padding:14px 25px;font-size:1.05em;background-color:var(--color-input-bg);color:var(--color-text);transition:all .2s var(--ease-out-quad)}.input-form input:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px rgba(var(--color-primary-rgb),.2)}.input-form button{background-color:var(--color-primary);color:var(--color-light-bg-secondary);border-radius:50%;width:48px;height:48px;min-width:48px;min-height:48px;font-size:1.3em;box-shadow:0 4px 15px rgba(var(--color-primary-rgb),.3);transition:all .2s var(--ease-out-quad)}.input-form button:hover:not(:disabled){background-color:var(--color-primary-hover);transform:translateY(-3px);box-shadow:0 6px 20px rgba(var(--color-primary-rgb),.4)}.input-form button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.spinner-container{display:flex;justify-content:center;align-items:center;height:50px;margin:15px 0}.spinner{width:35px;height:35px;border:4px solid var(--color-border);border-top:4px solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.chat-container{padding:18px}.messages-container{margin-bottom:18px;padding-right:8px}.message-row{margin-bottom:15px;gap:10px}.avatar{width:32px;height:32px}.message-bubble{max-width:85%;padding:10px 15px;border-radius:18px}.message-content{font-size:.95em}.message-content pre,.message-content code{padding:6px 10px;font-size:.85em}.message-content pre{padding:12px}.message-content p{margin:0 0 6px}.input-form{padding:15px;gap:10px;border-radius:12px}.input-form input{padding:10px 18px;font-size:.95em}.input-form button{width:40px;height:40px;min-width:40px;min-height:40px;font-size:1.1em}.spinner-container{height:40px;margin:10px 0}.spinner{width:25px;height:25px;border-width:3px}}.chat-input-tip-line{display:block;background:#f8f9fb;color:#3b2996;font-size:1rem;border-radius:1rem;padding:.75rem 1.25rem;margin-bottom:.5rem;word-break:normal;white-space:normal;width:100%;box-sizing:border-box}.chat-input-tip-label{font-weight:700;margin-right:.25em}@media (max-width: 600px){.chat-input-tip-line{font-size:.97rem;padding:.75rem .5rem;width:100%;word-break:break-word;white-space:normal;border-radius:.8rem;text-align:left}}.documents-page-container{padding:30px;display:flex;flex-direction:column;gap:25px;height:100%;overflow-y:auto;background-color:var(--color-bg-alt);border-radius:12px;box-shadow:0 4px 20px var(--color-shadow)}.documents-page-title{font-size:2.2em;font-weight:700;color:var(--color-text);margin-bottom:5px;text-align:center}.upload-section{display:flex;flex-direction:column;align-items:center;gap:15px;padding:20px;border:2px dashed var(--color-border);border-radius:12px;background-color:var(--color-input-bg);transition:all .2s var(--ease-out-quad)}.upload-section:hover{border-color:var(--color-primary);background-color:rgba(var(--color-primary-rgb),.05)}.upload-button{background-color:var(--color-primary);color:var(--color-light-bg-secondary);padding:12px 25px;border-radius:10px;cursor:pointer;font-size:1.1em;font-weight:600;transition:all .2s var(--ease-out-quad);box-shadow:0 4px 15px rgba(var(--color-primary-rgb),.2)}.upload-button:hover{background-color:var(--color-primary-hover);transform:translateY(-2px);box-shadow:0 6px 20px rgba(var(--color-primary-rgb),.3)}.upload-error-message{color:var(--color-danger);font-weight:500}.loading-message,.error-message,.no-documents-message{text-align:center;color:var(--color-text-secondary);font-size:1.1em;padding:20px}.error-message{color:var(--color-danger)}.documents-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.document-item{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:12px;padding:20px;display:flex;justify-content:space-between;align-items:center;transition:all .2s var(--ease-out-quad);box-shadow:0 2px 10px rgba(var(--color-shadow),.05)}.document-item:hover{border-color:var(--color-primary);box-shadow:0 4px 15px rgba(var(--color-primary-rgb),.15);transform:translateY(-3px)}.document-info{display:flex;flex-direction:column;gap:5px;flex-grow:1;padding-right:15px}.document-title{font-weight:600;font-size:1.1em;color:var(--color-text);white-space:normal;overflow:visible;text-overflow:clip}.document-metadata{font-size:.9em;color:var(--color-text-secondary)}.delete-document-button{background:none;border:none;color:var(--color-text-secondary);font-size:1.5em;cursor:pointer;transition:color .2s var(--ease-out-quad)}.delete-document-button:hover{color:var(--color-danger);transform:scale(1.1)}@media (max-width: 768px){.documents-page-container{padding:20px;gap:20px}.documents-page-title{font-size:1.8em}.upload-section{padding:15px}.upload-button{padding:10px 20px;font-size:1em}.documents-list{grid-template-columns:1fr;gap:15px}.document-item{padding:15px}.document-title{font-size:1em}.document-metadata{font-size:.85em}.delete-document-button{font-size:1.2em}}.auth-form{background-color:var(--color-bg-alt);padding:40px;border-radius:12px;box-shadow:0 8px 30px var(--color-shadow);max-width:400px;width:100%;display:flex;flex-direction:column;gap:20px;transition:all .3s var(--ease-out-quad)}.auth-page-container{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 80px);padding:20px;box-sizing:border-box}.auth-form-title{font-size:2em;font-weight:700;color:var(--color-text);text-align:center;margin-bottom:10px}.auth-form-error{color:var(--color-danger);text-align:center;font-weight:500}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:.95em;color:var(--color-text-secondary);font-weight:500}.form-group input{width:100%;padding:12px 15px;border-radius:8px;border:1px solid var(--color-input-border);background-color:var(--color-input-bg);color:var(--color-text);font-size:1em;transition:all .2s var(--ease-out-quad)}.form-group input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb),.2)}.auth-submit-button{background-color:var(--color-primary);color:var(--color-light-bg-secondary);padding:15px 25px;border-radius:10px;font-size:1.1em;font-weight:600;transition:all .2s var(--ease-out-quad);box-shadow:0 4px 15px rgba(var(--color-primary-rgb),.2)}.auth-submit-button:hover:not(:disabled){background-color:var(--color-primary-hover);transform:translateY(-2px);box-shadow:0 6px 20px rgba(var(--color-primary-rgb),.3)}.auth-submit-button:disabled{opacity:.6;cursor:not-allowed}.auth-form-link{text-align:center;font-size:.95em;color:var(--color-text-secondary)}.auth-form-link a{color:var(--color-primary);text-decoration:none;font-weight:600;transition:color .2s var(--ease-out-quad)}.auth-form-link a:hover{color:var(--color-primary-hover);text-decoration:underline}@media (max-width: 768px){.auth-form{padding:30px 20px;gap:15px}.auth-form-title{font-size:1.8em}.auth-submit-button{padding:12px 20px;font-size:1em}}.auth-input-wrapper{display:flex;align-items:center;position:relative}.show-password-toggle{background:none;border:none;color:#805ad5;font-size:1.15em;cursor:pointer;margin-left:-32px;margin-right:8px;padding:0 4px;outline:none;transition:color .18s;z-index:2}.show-password-toggle:focus,.show-password-toggle:hover{color:#4f46e5}.remember-me-group{margin-bottom:16px;display:flex;align-items:center}.remember-me-label{font-size:.97em;color:#444;display:flex;align-items:center;gap:7px;cursor:pointer;font-weight:500}.remember-me-checkbox{margin-right:6px;accent-color:#805ad5}[data-theme=dark] .remember-me-label{color:#e0e7ff}.CircularProgressbar{width:100%;vertical-align:middle}.CircularProgressbar .CircularProgressbar-path{stroke:#3e98c7;stroke-linecap:round;-webkit-transition:stroke-dashoffset .5s ease 0s;transition:stroke-dashoffset .5s ease 0s}.CircularProgressbar .CircularProgressbar-trail{stroke:#d6d6d6;stroke-linecap:round}.CircularProgressbar .CircularProgressbar-text{fill:#3e98c7;font-size:20px;dominant-baseline:middle;text-anchor:middle}.CircularProgressbar .CircularProgressbar-background{fill:#d6d6d6}.CircularProgressbar.CircularProgressbar-inverted .CircularProgressbar-background{fill:#3e98c7}.CircularProgressbar.CircularProgressbar-inverted .CircularProgressbar-text{fill:#fff}.CircularProgressbar.CircularProgressbar-inverted .CircularProgressbar-path{stroke:#fff}.CircularProgressbar.CircularProgressbar-inverted .CircularProgressbar-trail{stroke:transparent}.session-expired-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .3s ease-out}.session-expired-modal{background-color:var(--color-bg-alt);border-radius:16px;padding:32px;max-width:400px;width:90%;text-align:center;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease-out}.session-expired-icon{color:var(--color-danger);margin-bottom:20px;display:flex;justify-content:center}.session-expired-modal h2{color:var(--color-text);font-size:1.5em;font-weight:700;margin-bottom:12px}.session-expired-modal p{color:var(--color-text-secondary);font-size:1em;line-height:1.5;margin-bottom:24px}.session-expired-button{background-color:var(--color-primary);color:var(--color-light-bg-secondary);border:none;border-radius:12px;padding:12px 24px;font-size:1em;font-weight:600;cursor:pointer;transition:all .2s var(--ease-out-quad);box-shadow:0 4px 15px rgba(var(--color-primary-rgb),.2)}.session-expired-button:hover{background-color:var(--color-primary-hover);transform:translateY(-2px);box-shadow:0 6px 20px rgba(var(--color-primary-rgb),.3)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.session-expired-modal{padding:24px;margin:20px}.session-expired-modal h2{font-size:1.3em}.session-expired-modal p{font-size:.95em}}#root{width:100%;min-height:100vh;display:flex;justify-content:center;align-items:center;padding:0}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.app-container{display:grid;grid-template-columns:auto 1fr;gap:20px;width:100%;max-width:1400px;min-height:calc(100vh - 40px);border-radius:18px;overflow:hidden;box-shadow:0 10px 40px var(--color-shadow);transition:all .3s var(--ease-out-quad)}.sidebar{height:calc(100vh - 80px);max-height:860px;border-radius:12px;margin-right:0}.sidebar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.sidebar-header h2{margin:0;color:#333}.new-chat-button{background-color:var(--color-primary);color:#fff;border:none;padding:8px 16px;border-radius:24px;cursor:pointer;font-size:14px}.new-chat-button:hover{background-color:var(--color-primary-hover)}.new-chat-form{margin-bottom:20px;padding:15px;background-color:var(--color-card);border-radius:8px}.new-chat-form input{width:100%;padding:8px;margin-bottom:10px;border:1px solid #ddd;border-radius:4px}.new-chat-buttons{display:flex;gap:10px}.new-chat-buttons button{flex:1;padding:8px;border:none;border-radius:4px;cursor:pointer}.new-chat-buttons button[type=submit]{background-color:var(--color-success);color:#fff}.new-chat-buttons button[type=submit]:hover{background-color:var(--color-success-hover, #10A37F)}.new-chat-buttons button[type=button]{background-color:var(--color-text-secondary);color:#fff}.new-chat-buttons button[type=button]:hover{background-color:var(--color-primary-hover)}.chat-list{flex:1;overflow-y:auto}.chat-title{flex:1;text-align:left;background:none;border:none;padding:0;margin:0;cursor:pointer;color:inherit;font-size:14px}.delete-chat{background:none;border:none;color:#dc3545;font-size:18px;cursor:pointer;padding:0 5px;opacity:0;transition:opacity .2s}.chat-item:hover .delete-chat{opacity:1}.main-content{flex:1;border-radius:12px;display:flex;flex-direction:column;height:calc(100vh - 80px);max-height:860px;margin-left:0;overflow:hidden;transition:all .3s var(--ease-out-quad)}.welcome-message{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:#666}.welcome-message h1{font-size:2em;margin-bottom:20px}.welcome-message p{font-size:1.2em}@media (max-width: 768px){#root{padding:10px}.app-container{grid-template-columns:1fr;grid-template-rows:auto 1fr;min-height:calc(100vh - 20px);border-radius:12px}.sidebar{width:100%;min-width:unset;height:auto;max-height:80px;border-radius:12px;padding:15px;flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:0}.main-content{margin-top:0;width:100%;height:auto;min-height:calc(100vh - 120px);max-height:unset}.sidebar-nav,.new-chat-form,.chat-list{display:none}.sidebar-header{width:100%;justify-content:space-between}}.matcher-grid-responsive{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}@media (max-width: 768px){.matcher-grid-responsive{grid-template-columns:1fr}}
