.message-container{display:flex;gap:.6rem;align-items:flex-start;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-container.user{flex-direction:row-reverse}.message-avatar{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.bot-avatar{background:transparent;color:#fff}.user-avatar{background:linear-gradient(135deg,#64748b,#94a3b8);color:#fff}.message-wrapper{display:flex;flex-direction:column;gap:.2rem;max-width:65%}.message-container.user .message-wrapper{align-items:flex-end}.message-content{padding:.7rem .95rem;border-radius:14px;line-height:1.5;word-wrap:break-word}.message-container.bot .message-content{background:var(--surface-color);border:1px solid var(--border-color);color:var(--text-primary);border-bottom-left-radius:4px}.message-container.user .message-content{background:linear-gradient(135deg,var(--primary-color),var(--primary-light));color:#fff;border-bottom-right-radius:4px}.message-content p{margin:0;font-size:.875rem;white-space:pre-wrap}.message-content p:not(:last-child){margin-bottom:.5rem}.markdown-content ul,.markdown-content ol{margin:.5rem 0;padding-left:1.5rem}.markdown-content li{margin-bottom:.25rem;font-size:.875rem}.markdown-content strong{font-weight:600}.markdown-content em{font-style:italic}.markdown-content code{background-color:#0000001a;padding:.1rem .3rem;border-radius:4px;font-family:monospace;font-size:.85em}.message-container.user .markdown-content code{background-color:#fff3}.markdown-content pre{background-color:#1e293b;color:#e2e8f0;padding:.75rem;border-radius:8px;overflow-x:auto;margin:.5rem 0}.markdown-content pre code{background-color:transparent;padding:0;color:inherit;font-size:.85rem}.markdown-content table{border-collapse:collapse;width:100%;margin:.5rem 0;font-size:.85rem}.markdown-content th,.markdown-content td{border:1px solid var(--border-color);padding:.5rem;text-align:left}.markdown-content th{background-color:#0000000d;font-weight:600}.message-container.user .markdown-content th,.message-container.user .markdown-content td{border-color:#ffffff4d}.message-container.user .markdown-content th{background-color:#ffffff1a}.markdown-content a{color:var(--primary-color);text-decoration:underline}.message-container.user .markdown-content a{color:#fff}.message-timestamp{font-size:.7rem;color:var(--text-secondary);padding:0 .4rem;opacity:.8}.loading-dots{display:flex;gap:.375rem;padding:.5rem 0}.loading-dots span{width:8px;height:8px;border-radius:50%;background-color:var(--primary-color);animation:bounce 1.4s infinite ease-in-out both}.loading-dots span:nth-child(1){animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}@media (max-width: 768px){.message-wrapper{max-width:80%}.message-content{padding:.65rem .85rem}.message-avatar{width:32px;height:32px}.message-avatar svg{width:18px;height:18px}}.chat-input-container{border-top:1px solid var(--border-color);background:var(--surface-color);padding:.5rem 1rem .4rem}.chat-input-form{max-width:750px;margin:0 auto}.input-wrapper{display:flex;gap:.5rem;align-items:center;background:var(--bg-color);border:1.5px solid var(--border-color);border-radius:10px;padding:.4rem .65rem;transition:all .2s ease}.input-wrapper:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.message-input{flex:1;border:none;outline:none;background:transparent;font-family:inherit;font-size:.875rem;color:var(--text-primary);resize:none;max-height:90px;line-height:1.35;padding:.25rem 0;min-height:20px}.message-input::placeholder{color:var(--text-secondary)}.send-button,.stop-button{width:34px;height:34px;border:none;color:#fff;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.send-button{background:linear-gradient(135deg,var(--primary-color),var(--primary-light))}.send-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #2563eb66}.send-button:active:not(:disabled){transform:translateY(0)}.send-button:disabled{opacity:.5;cursor:not-allowed}.stop-button{background:linear-gradient(135deg,var(--primary-color),var(--primary-light))}.stop-button:hover{opacity:.9}.stop-button:active{opacity:.8}.input-footer{text-align:center;margin-top:.3rem}.input-footer p{font-size:.6rem;color:var(--text-secondary);margin:0;opacity:.7}@media (max-width: 768px){.chat-input-container{padding:.75rem}.input-wrapper{padding:.5rem .75rem}.message-input{font-size:.95rem}.send-button,.stop-button{width:34px;height:34px}.send-button svg,.stop-button svg{width:17px;height:17px}}.language-switcher{display:flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:#ffffff14;color:var(--text-primary, #fff);cursor:pointer;transition:all .2s ease;font-size:14px;font-weight:500}.language-switcher:hover{background:#ffffff26;border-color:#ffffff40}.language-switcher .lang-flag{font-size:18px;line-height:1}.language-switcher .lang-text{font-weight:600;letter-spacing:.5px;font-family:Kanit,sans-serif}.language-switcher.compact{padding:.5rem 1rem;gap:.4rem;font-size:.825rem;background:#ffffff26;border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff}.language-switcher.compact:hover{background:#ffffff40;transform:translateY(-1px)}.language-switcher.compact .lang-flag{font-size:16px}.language-switcher.prominent{position:absolute;top:20px;right:20px;padding:10px 16px;background:#ffffff1f;border-color:#fff3;color:#fff}.language-switcher.prominent:hover{background:#fff3;transform:translateY(-1px)}@media (max-width: 768px){.language-switcher.compact{padding:.625rem}.language-switcher.compact .lang-text{display:none}}.language-switcher.prominent .lang-flag{color:#fff}.header{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;padding:.875rem 1.5rem;box-shadow:var(--shadow-md);border-bottom:2px solid var(--primary-dark)}.header-content{width:100%;display:flex;justify-content:space-between;align-items:center;padding:0}.header-left{display:flex;align-items:center;gap:.75rem}.menu-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;background:transparent;border:none;color:#fff;cursor:pointer;transition:all .2s ease;margin-right:.5rem;flex-shrink:0}.menu-btn:hover{opacity:.8;transform:translateY(-1px)}.menu-btn:active{transform:translateY(0)}.logos{display:flex;align-items:center;gap:.75rem}.logo{width:48px;height:48px;background:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:6px;box-shadow:0 2px 8px #0000001a}.logo img{width:100%;height:100%;object-fit:contain}.header-title h1{font-family:Plus Jakarta Sans,sans-serif;font-size:1.25rem;font-weight:700;margin:0;letter-spacing:-.5px}.header-title p{font-family:Kanit,sans-serif;font-size:.8rem;opacity:.9;margin:0;font-weight:400}.header-right{display:flex;align-items:center;gap:12px}.department-dropdown{position:relative}.dropdown-btn{display:flex;align-items:center;gap:8px;padding:8px 14px;background:#ffffff26;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.dropdown-btn:hover{background:#ffffff40}.dropdown-icon{font-size:1rem}.dropdown-text{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Kanit,sans-serif}.dropdown-arrow{transition:transform .2s ease}.dropdown-arrow.open{transform:rotate(180deg)}.dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:220px;background:#fff;border-radius:12px;box-shadow:var(--shadow-lg);border:1px solid var(--border-color);padding:8px;z-index:1000;animation:dropdownFade .2s ease}@keyframes dropdownFade{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;background:none;border:none;border-radius:8px;color:var(--text-primary);font-size:.9rem;cursor:pointer;transition:background-color .15s ease;text-align:left}.dropdown-item:hover{background:var(--bg-color)}.dropdown-item.active{background:#2563eb1a;color:var(--primary-color)}.dropdown-item-icon{font-size:1.2rem}.dropdown-item-name{flex:1}.clear-btn{display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:#ffffff26;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;font-family:Kanit,sans-serif;font-size:.825rem;font-weight:500;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.clear-btn:hover{background:#ffffff40;transform:translateY(-1px)}.clear-btn:active{transform:translateY(0)}@media (max-width: 768px){.header{padding:1rem}.header-title h1{font-size:1.125rem}.header-title p{font-size:.75rem}.clear-btn span{display:none}.clear-btn{padding:.625rem}.dropdown-text{display:none}.dropdown-btn{padding:8px 10px}}.welcome-screen{display:flex;align-items:center;justify-content:center;width:100%;height:100%;max-height:100%;padding:1rem;overflow:hidden}.welcome-content{max-width:550px;width:100%;text-align:center}.welcome-icon{width:64px;height:64px;margin:0 auto 1.2rem;background:linear-gradient(135deg,var(--primary-color),var(--primary-light));border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:var(--shadow-lg)}.welcome-content h2{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:.6rem;font-family:Plus Jakarta Sans,sans-serif}.welcome-description{font-size:1rem;color:var(--text-secondary);line-height:1.5;margin-bottom:1.5rem}.example-questions{display:flex;flex-direction:column;gap:.8rem;align-items:center}.example-label{font-size:.85rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.questions-compact{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;max-width:100%}.question-chip{padding:.6rem 1rem;background:var(--surface-color);border:1px solid var(--border-color);border-radius:18px;font-size:.875rem;color:var(--text-secondary);transition:border-color .2s ease;cursor:default;white-space:nowrap}.question-chip:hover{border-color:var(--primary-color)}@media (max-width: 768px){.welcome-screen{padding:1.5rem}.welcome-content h2{font-size:1.6rem}.welcome-description{font-size:.95rem}.welcome-icon{width:60px;height:60px}.welcome-icon svg{width:44px;height:44px}.question-chip{font-size:.85rem;padding:.55rem .95rem}}.chat-history{position:fixed;top:0;left:-320px;width:320px;height:100vh;background:var(--surface-color);box-shadow:var(--shadow-lg);transition:left .3s ease;z-index:1001;display:flex;flex-direction:column}.chat-history.open{left:0}.history-header{padding:1.5rem;border-bottom:2px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;background:var(--bg-color)}.history-header h3{margin:0;font-size:1.15rem;font-weight:700;color:var(--text-primary)}.close-btn{background:var(--surface-color);border:1px solid var(--border-color);color:var(--text-secondary);font-size:1.3rem;cursor:pointer;padding:.35rem .65rem;border-radius:6px;transition:all .2s;line-height:1}.close-btn:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.history-list{flex:1;overflow-y:auto;padding:.5rem}.history-item{padding:.9rem;margin-bottom:.5rem;background:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s ease}.history-item:hover{background:var(--bg-color);border-color:var(--primary-color);transform:translate(3px);box-shadow:var(--shadow-sm)}.history-item.active{background:var(--primary-color);border-color:var(--primary-color);box-shadow:var(--shadow-md)}.history-item.active .history-item-title{color:#fff;font-weight:600}.history-item.active .history-item-date{color:#ffffffd9}.history-item-title{font-weight:500;color:var(--text-primary);margin-bottom:.3rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-item-date{font-size:.8rem;color:var(--text-secondary)}.empty-history{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-secondary)}.history-overlay-mobile{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:1000;display:none}@media (max-width: 1024px){.history-overlay-mobile{display:block}}.history-list::-webkit-scrollbar{width:6px}.history-list::-webkit-scrollbar-track{background:var(--bg-color)}.history-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.history-list::-webkit-scrollbar-thumb:hover{background:var(--secondary-color)}@media (max-width: 768px){.chat-history{width:280px;left:-280px}.history-toggle.open{left:280px}}.department-select-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);padding:20px}.department-select-content{max-width:550px;width:100%;text-align:center}.department-header{margin-bottom:32px}.department-logos{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:16px}.dept-logo{width:72px;height:72px;background:#fff;border-radius:14px;display:flex;align-items:center;justify-content:center;padding:10px;box-shadow:var(--shadow-md)}.dept-logo img{width:100%;height:100%;object-fit:contain}.department-header h1{font-size:1.75rem;font-weight:700;color:#fff;margin:0 0 4px}.department-header h2{font-size:1.1rem;font-weight:500;color:#ffffffe6;margin:0 0 16px}.department-subtitle{font-size:1rem;color:#ffffffd9;margin:0}.department-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}@media (max-width: 400px){.department-grid{grid-template-columns:1fr}}.department-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:20px 16px;background:var(--surface-color);border:2px solid transparent;border-radius:16px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.department-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:14px;padding:2px;background:linear-gradient(135deg,var(--primary-color),var(--primary-light));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s ease}.department-card:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 12px 40px #2563eb40}.department-card:hover:before{opacity:1}.department-card:active{transform:translateY(-2px) scale(1)}.department-icon{font-size:36px;line-height:1;transition:transform .3s ease}.department-card:hover .department-icon{transform:scale(1.15)}.department-name{font-size:.9rem;font-weight:600;color:var(--text-primary);transition:color .3s ease}.department-card:hover .department-name{color:var(--primary-color)}.department-note{font-size:.85rem;color:#ffffffb3;margin:0}h1{font-family:Plus Jakarta Sans,sans-serif}h2{font-family:Kanit,sans-serif}.department-subtitle,.department-note{font-family:Plus Jakarta Sans,sans-serif}.app{display:flex;flex-direction:column;height:100vh;width:100%;background-color:var(--surface-color);transition:margin-left .3s ease}.app.sidebar-open{margin-left:320px}.chat-container{flex:1;display:flex;flex-direction:column;overflow:hidden}.messages-wrapper{flex:1;overflow-y:auto;padding:1rem .75rem;background:linear-gradient(to bottom,var(--bg-color),var(--surface-color))}.messages{max-width:1400px;margin:0 auto;width:100%;display:flex;flex-direction:column;gap:1rem;padding:0 1rem}.messages-wrapper::-webkit-scrollbar{width:8px}.messages-wrapper::-webkit-scrollbar-track{background:var(--bg-color)}.messages-wrapper::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.messages-wrapper::-webkit-scrollbar-thumb:hover{background:var(--secondary-color)}@media (max-width: 1024px){.app.sidebar-open{margin-left:0}}@media (max-width: 768px){.messages-wrapper{padding:1rem .5rem}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #2563eb;--primary-dark: #1d4ed8;--primary-light: #3b82f6;--secondary-color: #64748b;--bg-color: #f8fafc;--surface-color: #ffffff;--text-primary: #1e293b;--text-secondary: #64748b;--border-color: #e2e8f0;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1)}body{font-family:-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;background-color:var(--bg-color);color:var(--text-primary);line-height:1.6}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button{font-family:inherit}#root{width:100%;min-height:100vh}
