.spinner-wrapper{display:flex;align-items:center;justify-content:center}.spinner{width:48px;height:48px;border:4px solid var(--light-gray);border-top:4px solid var(--hcisd-primary);border-right:4px solid var(--hcisd-accent);border-radius:50%;animation:spin 1.2s linear infinite}.spinner.small{width:30px;height:30px;border-width:2.5px}.conversation-sidebar{width:300px;min-width:300px;background-color:var(--sidebar-gray);transition:transform .3s ease,box-shadow .3s ease,opacity .3s ease;overflow:hidden;display:flex;flex-direction:column;height:100%;border-right:1px solid #e0e0e0;overflow-y:auto;box-shadow:0 0 10px #00000005;animation:slideInLeft .3s ease forwards}.conversation-list{flex:1;overflow-y:auto;overflow-x:hidden;padding:0}.conversation-list::-webkit-scrollbar{width:8px}.conversation-list::-webkit-scrollbar-track{background:transparent}.conversation-list::-webkit-scrollbar-thumb{background-color:#0000001a;border-radius:4px}.conversation-list::-webkit-scrollbar-thumb:hover{background-color:#0003}.conversation-item{position:relative;transition:background-color .15s ease}.conversation-item:not(.selected):hover{background-color:#0000000d!important}.conversation-item.selected{background-color:#00000014!important}.conversation-menu-button{opacity:0!important;transition:opacity .15s ease!important}.conversation-item:hover .conversation-menu-button{opacity:1!important}@media (max-width: 768px){.conversation-sidebar{position:fixed;top:0;left:0;height:100%;z-index:1200;transform:translate(0);box-shadow:2px 0 10px #00000026}.conversation-sidebar.hidden{transform:translate(-100%)}}.sidebar-loading-container{display:flex;align-items:center;justify-content:center;background-color:transparent!important;min-height:auto!important;padding:2rem 0!important;width:100%}@media (max-width: 600px){.memory-panel{position:fixed;width:100%;right:0;top:0;z-index:1200}}:root{--messages-container-max-width: 850px;--input-bar-max-width: 768px;--alignment-offset: calc((var(--messages-container-max-width) - var(--input-bar-max-width)) / 2)}.messages-container{flex:1;overflow-y:auto;padding:1.5rem 0;background-color:var(--light-gray);display:flex;flex-direction:column;gap:1.5rem;scroll-behavior:smooth;width:100%}.messages-list{display:flex;flex-direction:column;gap:1.5rem;max-width:var(--messages-container-max-width);margin:0 auto;width:100%;padding:0 2.5rem}.message-bubble{max-width:80%;padding:1rem;border-radius:var(--message-bubble-radius);box-shadow:0 2px 4px #0000000d;word-wrap:break-word;position:relative;transition:all .2s}.user-message-wrapper{position:relative;display:flex;max-width:208px}@media (max-width: 768px){.user-message-wrapper{max-width:136px}}.user-message-box{background-color:#06384e;border:1px solid rgba(0,0,0,.1);border-radius:7.5px;padding:.7rem;color:var(--user-message-text);font-size:15.75px;line-height:1.4;position:relative;font-weight:500;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word}.message-wrapper.editing{display:block;width:100%;max-width:90%}.message-box{background-color:var(--light-gray);border:1px solid transparent;border-radius:7.5px;padding:35px;color:var(--ai-message-text);font-size:15.75px;line-height:1.4;position:relative;transition:border-color .3s ease;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word}.message-wrapper:has(.icon-container.streaming) .message-box:after{content:"";position:absolute;bottom:-48px;left:-1px;right:-1px;height:48px;border-left:1px solid transparent;border-right:1px solid transparent;border-bottom:1px solid transparent;background-color:var(--light-gray);z-index:-1;pointer-events:none}.message-wrapper:hover:has(.icon-container.streaming) .message-box:after{border-color:#d0d0d0}.icon-container{position:absolute;bottom:-24px;left:35px;background-color:var(--light-gray);padding:4px 8px;display:flex;align-items:center;gap:0px;opacity:0;transition:opacity .1s ease,left .3s ease,transform .3s ease;transition-delay:0s;pointer-events:none;overflow:visible}.icon-container.streaming{opacity:1;pointer-events:none;left:50%;transform:translate(-50%)}.icon-container.streaming.has-text{left:35px;transform:none}.icon-wrapper.thumbs-up.active{background-color:#4ade8026!important;border-color:#4ade804d;animation:bounce .5s ease-out}.icon-wrapper.thumbs-up.active svg{color:#4ade80!important}.icon-wrapper.thumbs-down.active{background-color:#ef444426!important;border-color:#ef44444d;animation:shake .5s ease-out}.icon-wrapper.thumbs-down.active svg{color:#ef4444!important}.icon-wrapper.copy.copied svg{color:#4ade80!important;animation:checkmarkPop .5s ease-out}.icon-wrapper.regenerate.spinning svg{animation:spin 1s ease-out}.icon-wrapper:disabled,.icon-wrapper:disabled svg,.icon-container .icon-wrapper:disabled,.icon-container .icon-wrapper:disabled svg{opacity:.4!important;cursor:not-allowed!important}.icon-wrapper:disabled:hover,.icon-container .icon-wrapper:disabled:hover{background-color:transparent!important;border-color:transparent!important;transform:none!important}span>.icon-wrapper.regenerate:disabled,span>.icon-wrapper.regenerate:disabled svg{opacity:.4!important}.MuiIconButton-root.icon-wrapper:disabled,.MuiIconButton-root.icon-wrapper:disabled svg{opacity:.4!important;cursor:not-allowed!important}.timer-wrapper{display:inline-flex;align-items:center;justify-content:center;padding:2px;border-radius:6px;border:1px solid transparent;background-color:transparent;transition:all .2s ease,transform .4s cubic-bezier(.4,0,.2,1);cursor:default;pointer-events:auto;min-width:48px;text-align:center}.timer-wrapper:hover{background-color:#0000000d;border-color:#0000001a}.timer{color:#5a9fd4;font-size:20px;display:inline-flex;align-items:center;justify-content:center;pointer-events:none;width:100%}.timer-wrapper.timer-streaming{transform:none}.timer-wrapper.timer-complete{transform:translate(0)}.icon-container.streaming .icon-wrapper{opacity:0;transform:scale(.8);transition:all .3s ease;transition-delay:0s}.icon-container:not(.streaming) .icon-wrapper{opacity:1;transform:scale(1);transition:all .3s ease}.icon-container:not(.streaming) .icon-wrapper:nth-child(1){transition-delay:.05s}.icon-container:not(.streaming) .icon-wrapper:nth-child(2){transition-delay:.1s}.icon-container:not(.streaming) .icon-wrapper:nth-child(3){transition-delay:.15s}.icon-container:not(.streaming) .icon-wrapper:nth-child(4){transition-delay:.2s}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.attachment-grid>*:only-child{grid-column-start:3}@media (max-width: 768px){.attachment-grid>*:only-child{grid-column-start:2}}.attachment-grid>*:nth-last-child(2):first-child{grid-column-start:2}.attachment-grid>*:nth-last-child(1):nth-child(2){grid-column-start:3}@media (max-width: 768px){.attachment-grid>*:nth-last-child(2):first-child{grid-column-start:auto}.attachment-grid>*:nth-last-child(1):nth-child(2){grid-column-start:auto}}@media (max-width: 768px){.messages-container{padding:1rem 0;gap:1rem}.messages-list{padding:0 1.5rem}.message-box{font-size:14px;padding:20px;border-radius:6px}.user-message-box{font-size:14px;padding:12px}.icon-container{gap:0px;padding:4px 8px;bottom:-24px}.icon-container svg,.settings-container svg,.user-external-icons svg{width:15.84px!important;height:15.84px!important}.timer-wrapper{padding:0}.timer{font-size:20px}}.feedback-notification{position:fixed;bottom:24px;left:24px;background-color:#4a4a4ae6;color:#f5f5f5;padding:8px 16px;border-radius:6px;font-size:12px;font-weight:400;box-shadow:0 2px 8px #00000026;z-index:1300;max-width:280px;text-align:left;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);line-height:1.4}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.feedback-notification{animation:slideUp .3s ease-out}@media (max-width: 600px){.feedback-notification{bottom:16px;left:16px;right:16px;transform:none;max-width:none;font-size:11px;padding:6px 12px}}.chat-interface{display:flex;height:100%;position:relative;overflow:hidden;--message-bubble-radius: 16px;--user-message-color: #06384E;--user-message-text: #ffffff;--ai-message-color: #ffffff;--ai-message-text: #2D3748;--system-message-color: #f8f9fa;--system-message-text: #555}@keyframes slideInLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOutLeft{0%{transform:translate(0);opacity:1}to{transform:translate(-100%);opacity:0}}.conversation-sidebar.hidden{animation:slideOutLeft .3s ease forwards}@media (max-width: 600px){.conversation-sidebar{position:fixed;top:0;left:0;height:100%;z-index:1200;transform:translate(0);box-shadow:2px 0 10px #00000026}.conversation-sidebar.hidden{transform:translate(-100%)}.memory-panel{position:fixed;width:100%;right:0;top:0;z-index:1200}}.chat-main{display:flex;flex-direction:column;flex-grow:1;height:100%;overflow:hidden;background-color:var(--light-gray)}.message-bubble{max-width:80%;padding:1rem;border-radius:var(--message-bubble-radius);box-shadow:0 2px 4px #0000000d;word-wrap:break-word;position:relative;transition:all .2s;animation:messageFadeIn .3s ease-out}.message-bubble.user-message{background-color:#06384e;color:var(--user-message-text);font-weight:500;align-self:flex-end;border-bottom-right-radius:4px}.message-wrapper{position:relative;display:inline-block;max-width:90%;align-self:flex-start;margin:1rem 0}.message-box{background-color:var(--light-gray);border:1px solid transparent;border-radius:7.5px;padding:35px;color:var(--ai-message-text);font-size:15.75px;line-height:1.4;position:relative;transition:border-color .3s ease}.message-wrapper:hover .message-box{border-color:#d0d0d0}.settings-container{position:absolute;top:-20px;right:20px;background-color:var(--light-gray);padding:6.25px;display:flex;align-items:center;gap:4px;opacity:0;transition:opacity .1s ease;transition-delay:0s;pointer-events:none}.message-wrapper:not(:hover) .settings-container{transition-delay:.1s}.message-wrapper:hover .settings-container{opacity:1;pointer-events:all}.settings-wrapper{position:relative;display:flex;align-items:center;justify-content:center;padding:4px!important;border-radius:6px!important;border:1px solid transparent;background-color:transparent!important;transition:all .2s ease;min-width:auto!important}.settings-wrapper:hover{background-color:#0000000d!important;border-color:#0000001a}.settings-wrapper:active{background-color:#0000001a!important;transform:scale(.95)}.settings-container svg{width:19.25px!important;height:19.25px!important;color:#666;transition:all .2s ease}.settings-wrapper:hover svg{color:#000}.icon-container{position:absolute;bottom:-20px;left:31.25px;background-color:var(--light-gray);padding:6.25px 12.5px;display:flex;align-items:center;gap:0px;opacity:0;transition:opacity .1s ease;transition-delay:0s;pointer-events:none}.message-wrapper:not(:hover) .icon-container{transition-delay:.1s}.message-wrapper:hover .icon-container{opacity:1;pointer-events:all}.icon-wrapper{position:relative;display:flex;align-items:center;justify-content:center;padding:4px!important;border-radius:6px!important;border:1px solid transparent;background-color:transparent!important;transition:all .2s ease;min-width:auto!important}.icon-wrapper:hover{background-color:#0000000d!important;border-color:#0000001a}.icon-wrapper:active{background-color:#0000001a!important;transform:scale(.95)}.icon-container svg{width:19.25px!important;height:19.25px!important;color:#666;transition:all .2s ease}.icon-wrapper:hover svg{color:#000}.icon-wrapper.thumbs-up.clicked{background-color:#4ade8026!important;border-color:#4ade804d}.icon-wrapper.thumbs-up.clicked svg{color:#4ade80!important;animation:bounce .6s ease-out}.icon-wrapper.thumbs-down.clicked{background-color:#ef444426!important;border-color:#ef44444d}.icon-wrapper.thumbs-down.clicked svg{color:#ef4444!important;animation:shake .5s ease-out}.icon-wrapper.copy.clicked svg{color:#4ade80!important;animation:checkmarkPop .5s ease-out}.icon-wrapper.regenerate.clicked svg{animation:spin 1s ease-out}.timer{color:#5a9fd4;font-size:14px;display:inline-flex;align-items:center;gap:4px;margin-left:8px;pointer-events:none;cursor:default}.timer svg{width:16px!important;height:16px!important;color:#5a9fd4!important}@keyframes bounce{0%,to{transform:translateY(0) scale(1)}40%{transform:translateY(-10px) scale(1.2)}60%{transform:translateY(-5px) scale(1.1)}}@keyframes shake{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(-3.75px) rotate(-5deg)}75%{transform:translate(3.75px) rotate(5deg)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes checkmarkPop{0%{opacity:0;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}@media (max-width: 768px){.message-box{font-size:14px;padding:20px;border-radius:6px}.icon-container{gap:0px;padding:4px 8px;bottom:-20px}.icon-container svg,.settings-container svg,.user-external-icons svg{width:15.84px!important;height:15.84px!important}.timer{font-size:12px}.timer svg{width:12.32px!important;height:12.32px!important}}.message-bubble.ai-message{background-color:transparent;color:var(--ai-message-text);align-self:flex-start;border-radius:0;box-shadow:none;padding:.5rem 0;max-width:90%}.user-message-wrapper{position:relative;display:inline-block;max-width:90%;align-self:flex-end;margin:1rem 0}.user-message-wrapper:after{content:"";position:absolute;bottom:-40px;right:0;width:120px;height:40px;pointer-events:auto;background-color:transparent;z-index:1}.user-message-box{background-color:#06384e;border:1px solid rgba(0,0,0,.1);border-radius:7.5px;padding:.7rem;color:var(--user-message-text);font-size:15.75px;line-height:1.4;position:relative;font-weight:500}.user-external-icons{position:absolute;bottom:-35px;right:0;display:flex;align-items:center;gap:0px;opacity:0;transition:opacity .1s ease;transition-delay:0s;pointer-events:none;z-index:10}.user-message-wrapper:hover .user-external-icons,.user-external-icons:hover{opacity:1;pointer-events:all}.user-external-icons svg{width:19.25px!important;height:19.25px!important;color:#666;transition:all .2s ease}.message-bubble.system-message{background-color:var(--system-message-color);color:var(--system-message-text);border-left:4px solid #ccc;max-width:95%;align-self:center;font-style:italic}.message-timestamp{font-size:.75rem;opacity:.7;margin-top:.5rem;display:block}.chat-input-container{flex-shrink:0;background-color:transparent;padding:1rem;position:relative;z-index:10;margin-bottom:1rem}@keyframes messageFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.typing-indicator{display:flex;align-items:center;column-gap:.5rem;padding:.5rem 0;border-radius:0;background-color:transparent;box-shadow:none;max-width:5rem;align-self:flex-start}.typing-indicator span{height:8px;width:8px;float:left;margin:0 1px;background-color:#9e9e9e;display:block;border-radius:50%;opacity:.4}.typing-indicator span:nth-of-type(1){animation:1s blink infinite .3333s}.typing-indicator span:nth-of-type(2){animation:1s blink infinite .6666s}.typing-indicator span:nth-of-type(3){animation:1s blink infinite .9999s}@keyframes blink{50%{opacity:1}}.message-bubble:hover{box-shadow:0 4px 8px #0000001a}.conversation-item{transition:background-color .2s;border-left:4px solid transparent}.conversation-item.selected{background-color:#06384e14;border-left:4px solid var(--hcisd-primary)}.conversation-item:hover:not(.selected){background-color:#06384e0a}.memory-panel{animation:slideInRight .3s ease forwards;height:100%}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOutRight{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.memory-panel.hidden{animation:slideOutRight .3s ease forwards}.memory-card{transition:transform .2s,box-shadow .2s,opacity .3s}.memory-card:hover:not(.loading){transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}@keyframes loadingAnimation{0%{background-position:100% 50%}to{background-position:0% 50%}}.memory-card.loading{cursor:default;box-shadow:0 2px 5px #0000001a;position:relative}.message-settings-menu{background-color:var(--light-gray)!important}.message-settings-menu .MuiMenuItem-root{border-radius:4px!important;margin:2px 4px!important;transition:all .2s ease!important}.message-settings-menu .MuiMenuItem-root:hover{background-color:#0000000a!important;transform:translate(2px)}.message-settings-menu .MuiMenuItem-root.delete-item:hover{background-color:#ef44441a!important;color:#ef4444!important}@keyframes menuFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.message-settings-menu{animation:menuFadeIn .2s ease-out}
