*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:linear-gradient(135deg,#1a1a2e,#16213e);color:#fff}.container,body{min-height:100vh}.container{max-width:900px;margin:0 auto;padding:20px;display:flex;flex-direction:column}.header{text-align:center;padding:30px 0;border-bottom:1px solid hsla(0,0%,100%,.1);margin-bottom:20px}.header h1{font-size:2.5rem;background:linear-gradient(90deg,#00d4ff,#7b2cbf);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:10px}.header p{color:#888;font-size:1rem}.chat-container{flex:1 1;overflow-y:auto;padding:20px 0;display:flex;flex-direction:column;gap:15px}.message{padding:15px 20px;border-radius:15px;max-width:80%;line-height:1.5}.message.user{background:linear-gradient(135deg,#7b2cbf,#5a189a);align-self:flex-end;border-bottom-right-radius:5px}.message.assistant{background:hsla(0,0%,100%,.1);align-self:flex-start;border-bottom-left-radius:5px}.message.assistant .actions{margin-top:10px;padding-top:10px;border-top:1px solid hsla(0,0%,100%,.2)}.message.assistant .action-tag{display:inline-block;background:rgba(0,212,255,.2);color:#00d4ff;padding:3px 10px;border-radius:20px;font-size:.8rem;margin-right:5px}.input-container{display:flex;gap:10px;padding:20px 0;border-top:1px solid hsla(0,0%,100%,.1)}.input-container input{flex:1 1;padding:15px 20px;border:none;border-radius:30px;background:hsla(0,0%,100%,.1);color:#fff;font-size:1rem;outline:none;transition:background .3s}.input-container input:focus{background:hsla(0,0%,100%,.15)}.input-container input::placeholder{color:#666}.input-container button{padding:15px 30px;border:none;border-radius:30px;background:linear-gradient(135deg,#00d4ff,#7b2cbf);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,opacity .2s}.input-container button:hover{transform:scale(1.05)}.input-container button:disabled{opacity:.5;cursor:not-allowed;transform:none}.loading{display:flex;gap:5px;padding:20px}.loading span{width:10px;height:10px;background:#00d4ff;border-radius:50%;animation:bounce 1.4s ease-in-out infinite both}.loading span:first-child{animation-delay:-.32s}.loading span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.powered-by{text-align:center;padding:20px;color:#555;font-size:.9rem}.powered-by a{color:#00d4ff;text-decoration:none}