:root{--primary-color: #10a37f;--primary-color-hover: #0c8e6e;--secondary-color: #0e8a6e;--background-dark: #343541;--chat-dark: #444654;--user-message-dark: #343541;--background-light: #ffffff;--chat-light: #f7f7f8;--user-message-light: #ffffff;--text-dark: #ffffff;--text-light: #343541;--border-light: #e5e5e5;--border-dark: #565869;--shadow-light: rgba(0, 0, 0, .05);--shadow-dark: rgba(0, 0, 0, .2);--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;--transition-speed: .3s;--accent-yellow: #fedc00}*{margin:0;padding:0;box-sizing:border-box}html{height:100%;overflow:hidden}body{display:flex;flex-direction:column;height:100vh;margin:0;overflow:hidden;background-color:var(--background-dark);color:var(--text-dark);font-family:var(--font-family);transition:background-color var(--transition-speed),color var(--transition-speed);line-height:1.5}.container{width:100%;max-width:800px;margin:0 auto;padding:0 16px;display:flex;flex-direction:column;height:100vh}.header{padding:16px 0;text-align:center;position:relative;margin-bottom:20px;border-bottom:1px solid var(--border-dark);transition:border-color var(--transition-speed)}h1{font-size:1.75rem;font-weight:600;color:var(--primary-color);letter-spacing:-.5px;transition:color var(--transition-speed)}#tagline{font-size:.9rem;color:#9ca3af;margin-top:4px;transition:color var(--transition-speed)}.chat-container{display:flex;flex-direction:column;flex-grow:1;overflow:hidden;border-radius:8px;box-shadow:0 2px 8px var(--shadow-dark);background-color:var(--chat-dark);transition:background-color var(--transition-speed),box-shadow var(--transition-speed);position:relative}.messages{flex-grow:1;overflow-y:auto;overflow-x:hidden;padding:0;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:rgba(150,150,150,.4) transparent;position:absolute;inset:0 0 90px;width:100%}.message{padding:20px;margin:0;overflow:hidden;display:flex;width:100%;transition:background-color var(--transition-speed);position:relative}.message:after{content:"";position:absolute;inset:0;background-color:#ffffff05;opacity:0;transition:opacity .3s ease;pointer-events:none}.message:hover:after{opacity:1}.message-content{word-break:break-word;overflow-wrap:break-word;margin:0 auto;width:100%}.user-message{background-color:var(--user-message-dark)}.bot-message{background-color:var(--chat-dark)}.message:not(:last-child){border-bottom:1px solid var(--border-dark);transition:border-color var(--transition-speed)}.message-wrapper{display:flex;width:100%;transition:transform .2s ease}.message-text{white-space:pre-wrap}.message-timestamp{font-size:.7rem;color:#888;margin-top:4px;align-self:flex-end;margin-right:8px;transition:color var(--transition-speed)}.bot-avatar,.user-avatar{width:30px;height:30px;border-radius:4px;margin-right:16px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-weight:700;box-shadow:0 2px 4px var(--shadow-dark);transition:box-shadow var(--transition-speed)}.bot-avatar{background-color:var(--primary-color);color:#fff}.user-avatar{background-color:#5436da;color:#fff}.input-container{padding:16px;background-color:var(--background-dark);position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:12px;border-top:1px solid var(--border-dark);transition:background-color var(--transition-speed),border-color var(--transition-speed);z-index:10}.input-wrapper{width:100%;max-width:800px;display:flex;align-items:center;position:relative;background-color:#40414f;border-radius:12px;box-shadow:0 2px 6px #00000026;transition:box-shadow .3s ease,transform .2s ease;border:1px solid var(--border-dark)}.input-wrapper:focus-within{box-shadow:0 0 0 2px #10a37f80;border-color:var(--primary-color)}.generate-question{position:absolute;left:108px;top:50%;transform:translateY(-50%);background-color:var(--background-dark);color:var(--text-dark);border:none;border-radius:8px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;opacity:.75}.generate-question:hover{opacity:1}.generate-question svg{width:24px;height:24px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.2))}.input-wrapper>*{transition:opacity .3s ease,transform .3s ease,display .05s linear .3s}input[type=text]{flex-grow:1;width:100%;padding:16px 56px;background:transparent;color:var(--text-dark);border:none;font-size:15px;transition:color var(--transition-speed);font-family:var(--font-family);min-height:52px;max-height:200px;overflow-y:auto;white-space:nowrap;overflow-x:hidden}input[type=text]:focus{outline:none}input[type=text]::placeholder{color:#9ca3af;transition:color var(--transition-speed)}@keyframes focus-pulse{0%,to{box-shadow:0 0 0 2px #10a37f4d}50%{box-shadow:0 0 0 2px #10a37f80}}button#sendButton{position:absolute;right:8px;top:50%;transform:translateY(-50%);background-color:var(--primary-color);color:#fff;border:none;border-radius:8px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s ease,transform .2s ease;opacity:.9}button#sendButton:hover{background-color:var(--primary-color-hover);transform:translateY(-50%) scale(1.05);opacity:1}button#sendButton:active{transform:translateY(-50%) scale(.95)}button#sendButton:disabled{background-color:#6b7280;cursor:not-allowed;opacity:.6;transform:translateY(-50%) scale(1)}.custom-dropdown{padding:4px;position:relative;transition:all .3s ease;border-right:1px solid var(--border-dark);opacity:1}.dropdown-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;background-color:transparent;color:var(--text-dark);border:none;padding:12px 8px 12px 16px;font-size:15px;font-family:var(--font-family);cursor:pointer;transition:all .3s ease;text-align:left;border-radius:6px;opacity:1;min-width:40px;min-height:40px}.dropdown-toggle svg{width:20px;height:20px;flex-shrink:0}.dropdown-toggle:hover{background-color:#ffffff0d}.dropdown-toggle svg{margin-left:8px;transition:transform .2s ease}.dropdown-toggle.active svg{transform:rotate(180deg)}.dropdown-menu{position:absolute;bottom:calc(100% + 12px);left:0;min-width:180px;background-color:var(--background-dark);border-radius:10px;z-index:1001;opacity:0;visibility:hidden;transform:translateY(10px) scale(.95);transform-origin:bottom left;transition:all .25s cubic-bezier(.3,0,.2,1);overflow:hidden;border:1px solid var(--border-dark);box-shadow:0 5px 20px #0000004d}.dropdown-menu.active{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.dropdown-item{padding:12px 16px;display:flex;align-items:center;gap:8px;color:var(--text-dark);cursor:pointer;transition:all .2s ease;border-bottom:1px solid rgba(255,255,255,.05)}.dropdown-item svg{width:20px;height:20px;flex-shrink:0}.dropdown-toggle span,.dropdown-item span{line-height:1.2}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background-color:#ffffff1a;gap:15px}.theme-toggle{position:absolute;top:16px;right:0;background:transparent;border:none;font-size:20px;cursor:pointer;color:#9ca3af;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50px;transition:background-color var(--transition-speed),transform .2s}.theme-toggle:hover{background-color:#ffffff1a;transform:rotate(15deg)}.loading-bar{height:3px;width:0%;background-color:var(--primary-color);position:fixed;top:0;left:0;z-index:1000;transition:width .2s ease-out;box-shadow:0 1px 2px var(--shadow-dark)}.thinking{padding:20px;display:flex;background-color:var(--chat-dark);transition:background-color var(--transition-speed)}.dots-container{display:flex;align-items:center;justify-content:flex-start;padding:8px 0}.dot{width:6px;height:6px;background-color:#9ca3af;border-radius:50%;margin:0 3px;animation:pulse 1.5s infinite}.dot:nth-child(1){animation-delay:0s}.dot:nth-child(2){animation-delay:.3s}.dot:nth-child(3){animation-delay:.6s}@keyframes pulse{0%,to{opacity:.5;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.processing-indicator{position:absolute;right:52px;top:50%;transform:translateY(-50%);display:flex;align-items:center}.typing-indicator{display:flex;align-items:center;gap:3px}.typing-dot{width:4px;height:4px;background-color:var(--primary-color);border-radius:50%;animation:typing-pulse 1.5s infinite}@keyframes typing-pulse{0%,to{opacity:.5;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}footer{padding:16px 0;text-align:center;font-size:12px;color:#9ca3af;margin-top:auto;border-top:1px solid var(--border-dark);transition:border-color var(--transition-speed)}footer a{color:var(--primary-color);text-decoration:none;transition:color var(--transition-speed)}footer a:hover{text-decoration:underline;color:var(--primary-color-hover)}::-webkit-scrollbar{width:8px;background-color:transparent}::-webkit-scrollbar-thumb{background-color:#96969666;border-radius:4px}::-webkit-scrollbar-thumb:hover{background-color:#96969699}.btn-ripple{overflow:hidden}.ripple{position:absolute;background:#ffffff4d;border-radius:50%;transform:scale(0);animation:ripple-animation .6s linear;pointer-events:none}@keyframes ripple-animation{to{transform:scale(4);opacity:0}}.light-mode{background-color:var(--background-light);color:var(--text-light)}.light-mode .chat-container{background-color:var(--background-light);box-shadow:0 2px 8px var(--shadow-light)}.light-mode .user-message{background-color:var(--user-message-light)}.light-mode .bot-message{background-color:var(--chat-light)}.light-mode .input-container{background-color:var(--background-light);border-top-color:var(--border-light)}.light-mode .input-wrapper{background-color:#fff;border:1px solid var(--border-light);box-shadow:0 2px 6px var(--shadow-light)}.light-mode .message:after{background-color:#00000005}.light-mode input[type=text]{color:var(--text-light)}.light-mode .thinking{background-color:var(--chat-light)}.light-mode .header{border-bottom-color:var(--border-light)}.light-mode .theme-toggle:hover{background-color:#0000000d}.light-mode .generate-question{color:var(--text-light);border-right:1px solid var(--border-light)}.light-mode .generate-question:hover{background-color:#0000000d}.light-mode .message:not(:last-child){border-bottom:1px solid var(--border-light)}.light-mode .message-timestamp{color:#666}.light-mode .custom-dropdown{border-right:1px solid var(--border-light)}.light-mode .dropdown-toggle{color:var(--text-light)}.light-mode .dropdown-toggle:hover{background-color:#00000008}.light-mode .dropdown-menu{background-color:var(--background-light);box-shadow:0 5px 20px #0000001a;border:1px solid var(--border-light)}.light-mode .dropdown-item{color:var(--text-light);border-bottom:1px solid rgba(0,0,0,.05)}.light-mode .dropdown-item:hover{background-color:#0000000d}.light-mode footer{border-top-color:var(--border-light)}.hidden{display:none}.disabled-reactions{opacity:.5;pointer-events:none}.reaction-feedback{animation:fadeIn .2s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:translateY(-50%) rotate(0)}to{transform:translateY(-50%) rotate(360deg)}}@media (max-width: 768px){.container{padding:0 12px}.chat-container{border-radius:6px}}@media (max-width: 600px){h1{font-size:1.5rem}.container{padding:0 8px}.input-container{padding:12px 8px}.input-wrapper{flex-direction:column;align-items:stretch}.message{padding:16px 12px}.bot-avatar,.user-avatar{width:26px;height:26px;margin-right:12px}.custom-dropdown{border-right:none;border-bottom:1px solid var(--border-dark);width:100%}.light-mode .custom-dropdown{border-bottom:1px solid var(--border-light)}.dropdown-menu{width:100%;bottom:calc(100% + 8px)}.dropdown-menu:after{left:50%;margin-left:-8px}}.video-preview{margin-top:10px;border-radius:8px;overflow:hidden}.youtube-embed{border-radius:10px;overflow:hidden;box-shadow:0 4px 12px #00000026;background-color:#1a1a1a;transition:transform .2s ease;margin-top:12px;width:100%;max-width:450px}.light-mode .youtube-embed{background-color:#f8f8f8;box-shadow:0 4px 12px #00000014}.youtube-embed:hover{box-shadow:0 6px 16px #0003}.video-thumbnail{position:relative;aspect-ratio:16 / 9;width:100%;overflow:hidden;border-radius:8px 8px 0 0}.video-thumbnail img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.video-thumbnail:hover img{transform:scale(1.05)}.play-button{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:56px;height:56px;background-color:#000000b3;border-radius:50%;display:flex;justify-content:center;align-items:center;transition:all .2s ease;box-shadow:0 2px 8px #0000004d}.play-button svg{width:24px;height:24px;margin-left:3px}.video-thumbnail:hover .play-button{background-color:var(--primary-color);transform:translate(-50%,-50%) scale(1.1)}.video-info{padding:12px 16px;display:flex;flex-direction:column;gap:6px}.video-title{font-weight:600;font-size:.95rem;color:var(--text-dark);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.light-mode .video-title{color:var(--text-light)}.video-source{display:flex;align-items:center;gap:6px;font-size:.8rem;color:#9ca3af}.video-source svg{width:16px;height:16px}.video-link{padding:16px;background-color:#40414f80;border-radius:8px;display:flex;flex-direction:column;gap:8px;margin-top:12px;transition:background-color .2s ease}.light-mode .video-link{background-color:#f0f0f0b3}.video-link .video-title{font-weight:600}.video-url{display:flex;align-items:center;gap:6px;color:var(--primary-color);text-decoration:none;font-size:.85rem;transition:color .2s ease}.video-url:hover{color:var(--primary-color-hover);text-decoration:underline}.message-content .generated-image,.message-content .video-preview{margin-top:12px}.image-preview{position:relative;margin-top:12px;border-radius:10px;overflow:hidden;box-shadow:0 4px 12px #00000026}.light-mode .image-preview{box-shadow:0 4px 12px #00000014}.generated-image{display:block;border-radius:10px;transition:transform .3s ease,opacity .3s ease;cursor:pointer}.image-loading-spinner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--primary-color);z-index:1}.image-loading-spinner svg{animation:spin 1s linear infinite}.image-info{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.7),transparent);padding:16px;opacity:0;transform:translateY(10px);transition:opacity .2s ease,transform .2s ease;pointer-events:none}.image-info.visible{opacity:1;transform:translateY(0);pointer-events:all}.image-actions{display:flex;justify-content:flex-end;gap:12px}.image-action-btn{background-color:#fff3;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color0.2s ease,transform .2s ease;color:#fff}.image-action-btn:hover{background-color:#ffffff4d;transform:scale(1.1)}.image-action-btn:active{transform:scale(.95)}.image-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;background-color:#0000000d;color:#888;border-radius:10px;gap:8px}.light-mode .image-error{background-color:#00000008}.image-modal{position:fixed;inset:0;background-color:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;transition:opacity .3s ease}.image-modal.active{opacity:1}.image-modal-content{position:relative;max-width:90vw;max-height:90vh}.image-modal-content img{max-width:100%;max-height:90vh;object-fit:contain;box-shadow:0 8px 32px #00000080}.modal-close-btn{position:absolute;top:-40px;right:0;background:transparent;border:none;color:#fff;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:transform .2s ease}.modal-close-btn:hover{transform:scale(1.1)}.modal-close-btn:active{transform:scale(.95)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 600px){.image-modal-content{max-width:95vw}.image-info{padding:12px}.image-action-btn{width:28px;height:28px}}.image-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:10px}.image-option{position:relative;border-radius:8px;overflow:hidden;box-shadow:0 2px 5px #0003;transition:transform .2s ease}.image-option img{width:100%;height:200px;object-fit:cover;display:block}.image-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000000b3);padding:10px;opacity:0;transition:opacity .3s ease}.image-option:hover .image-overlay{opacity:1}.select-image-btn{background:#fff;color:#333;border:none;border-radius:4px;padding:6px 12px;font-weight:700;cursor:pointer;width:100%;transition:background .2s ease}.select-image-btn:hover{background:#f0f0f0}.image-intro-text{margin-bottom:10px;font-style:italic;color:#666}
