:root{--bg-color:#0b0f19;--surface-color:#ffffff08;--surface-border:#ffffff14;--accent-color:#3b82f6;--accent-glow:#3b82f680;--text-main:#f3f4f6;--text-muted:#9ca3af}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-main);background-image:radial-gradient(circle at 15%,#3b82f626,#0000 25%),radial-gradient(circle at 85% 30%,#8b5cf626,#0000 25%);width:100vw;height:100dvh;font-family:Inter,system-ui,-apple-system,sans-serif;overflow:hidden}.app-container{width:100%;height:100dvh;box-shadow:none;background:0 0;border:none;border-radius:0;flex-direction:column;display:flex;overflow:hidden}.header{border-bottom:1px solid var(--surface-border);background:#0f172a66;flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.header-title{background:linear-gradient(90deg,#60a5fa,#a78bfa);-webkit-text-fill-color:transparent;-webkit-background-clip:text;align-items:center;gap:8px;font-size:1.25rem;font-weight:600;display:flex}.custom-dropdown{z-index:50;position:relative}.dropdown-trigger{background:var(--surface-color);border:1px solid var(--surface-border);color:var(--text-main);cursor:pointer;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;min-width:170px;padding:8px 14px;font-family:inherit;font-size:.9rem;font-weight:500;transition:all .2s;display:flex}.dropdown-trigger:hover:not(:disabled){background:#ffffff14;border-color:#ffffff26}.dropdown-trigger:focus-visible{border-color:var(--accent-color);box-shadow:0 0 0 2px var(--accent-glow);outline:none}.dropdown-trigger:disabled{opacity:.6;cursor:not-allowed}.dropdown-icon{color:#a78bfa}.chevron{color:var(--text-muted);transition:transform .3s}.chevron.open{transform:rotate(180deg)}.dropdown-menu{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--surface-border);background:#0f172af2;border-radius:16px;width:260px;padding:8px;animation:.2s cubic-bezier(.16,1,.3,1) slideDown;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 10px 40px -10px #000c,inset 0 0 0 1px #ffffff05}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.dropdown-item{cursor:pointer;border:1px solid #0000;border-radius:10px;align-items:center;gap:12px;padding:12px 14px;transition:all .15s;display:flex}.dropdown-item:hover{background:#ffffff0a}.dropdown-item.active{background:#3b82f61a;border-color:#3b82f633}.dropdown-item.active .item-icon{color:#60a5fa}.icon-container{background:#0003;border:1px solid #ffffff0d;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.item-icon{color:var(--text-muted)}.item-text{flex-direction:column;gap:2px;display:flex}.item-name{color:var(--text-main);font-size:.9rem;font-weight:500}.item-desc{color:var(--text-muted);font-size:.75rem}.chat-container{-ms-overflow-style:none;scrollbar-width:none;flex-direction:column;flex:1;gap:24px;width:100%;max-width:1000px;margin:0 auto;padding:24px 24px 40px;display:flex;overflow-y:auto}.chat-container::-webkit-scrollbar{display:none}.message-wrapper{flex-direction:column;max-width:85%;display:flex}.message-wrapper.user{align-self:flex-end}.message-wrapper.ai{align-self:flex-start}.message-bubble{border-radius:20px;padding:16px 20px;font-size:.95rem;line-height:1.6}.message-wrapper.user .message-bubble{color:#fff;background:linear-gradient(135deg,#3b82f6,#2563eb);border-bottom-right-radius:4px;box-shadow:0 4px 12px #2563eb4d}.message-wrapper.ai .message-bubble{background:var(--surface-color);border:1px solid var(--surface-border);border-bottom-left-radius:4px}.message-bubble p{margin-bottom:.75em}.message-bubble p:last-child{margin-bottom:0}.message-bubble pre{background:#0f172a;border:1px solid #ffffff1a;border-radius:8px;margin:12px 0;padding:12px;overflow-x:auto}.message-bubble code{background:#0000004d;border-radius:4px;padding:2px 6px;font-family:JetBrains Mono,monospace;font-size:.85em}.message-bubble pre code{background:0 0;padding:0}.sources-container{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.source-pill{color:#c4b5fd;white-space:nowrap;text-overflow:ellipsis;background:#8b5cf61a;border:1px solid #8b5cf64d;border-radius:12px;max-width:250px;padding:4px 10px;font-size:.75rem;text-decoration:none;transition:all .2s;overflow:hidden}.source-pill:hover{background:#8b5cf633;border-color:#8b5cf680}.input-area{padding:20px 24px;padding-bottom:max(20px, env(safe-area-inset-bottom));border-top:1px solid var(--surface-border);background:#0f172a66;flex-shrink:0;justify-content:center;display:flex}.input-form{background:var(--surface-color);border:1px solid var(--surface-border);border-radius:16px;gap:12px;width:100%;max-width:950px;padding:8px 12px;transition:all .2s;display:flex}.input-form:focus-within{border-color:var(--accent-color);box-shadow:0 0 0 2px var(--accent-glow);background:#ffffff0d}.chat-input{color:var(--text-main);background:0 0;border:none;outline:none;flex:1;padding:8px;font-family:inherit;font-size:1rem}.chat-input::placeholder{color:var(--text-muted)}.send-button{background:var(--accent-color);color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex}.send-button:hover:not(:disabled){background:#2563eb;transform:scale(1.05)}.send-button:disabled{background:var(--surface-border);color:var(--text-muted);cursor:not-allowed}.thinking-indicator{gap:4px;padding:8px 0;display:flex}.dot{background-color:var(--text-muted);border-radius:50%;width:6px;height:6px;animation:1.5s ease-in-out infinite pulse}.dot:first-child{animation-delay:0s}.dot:nth-child(2){animation-delay:.2s}.dot:nth-child(3){animation-delay:.4s}@keyframes pulse{0%,to{opacity:.5;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}@media (width<=1024px){.chat-container{max-width:100%;padding:20px}.message-wrapper{max-width:90%}}@media (width<=768px){.header{padding:16px}.header-title{font-size:1.1rem}.dropdown-trigger{min-width:140px;padding:6px 10px;font-size:.85rem}.dropdown-menu{width:220px}.chat-container{gap:16px;padding:16px}.message-wrapper{max-width:95%}.message-bubble{padding:12px 16px;font-size:.9rem}.input-area{padding:16px;padding-bottom:max(16px, env(safe-area-inset-bottom))}.input-form{padding:6px 10px}.chat-input{font-size:16px}.send-button{width:36px;height:36px}}@media (width<=480px){.header{padding:12px}.header-title{font-size:1rem}.header-title svg{width:24px;height:24px}.dropdown-trigger{min-width:110px;padding:6px 8px;font-size:.8rem}.message-wrapper{max-width:98%}.input-area{padding:12px;padding-bottom:max(12px, env(safe-area-inset-bottom))}}
