body{margin:0;overflow:hidden;padding:0}*{box-sizing:border-box}.app{background:#0d1117;color:#e6edf3;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh;height:100dvh}.sidebar{background:#010409;border-right:1px solid #21262d;display:flex;flex-direction:column;width:260px}.sidebar-header{border-bottom:1px solid #21262d;padding:16px}.logo{color:#e6edf3;font-size:18px;font-weight:600;letter-spacing:-.02em;margin:0 0 12px}.new-chat-btn{align-items:center;background:transparent;border:1px solid #30363d;border-radius:6px;color:#e6edf3;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px;justify-content:center;padding:8px 12px;transition:all .2s;width:100%}.new-chat-btn:hover{background:#161b22;border-color:#8b949e}.chats-list{flex:1;overflow-y:auto;padding:8px}.chat-item{background:transparent;border:none;border-radius:6px;cursor:pointer;display:flex;flex-direction:column;gap:4px;margin-bottom:4px;padding:10px 12px;text-align:left;transition:background .15s;width:100%}.chat-item:hover{background:#161b22}.chat-item.active{background:#1f2937}.chat-row{align-items:center;display:flex;gap:4px}.chat-title{color:#e6edf3;flex:1;font-size:13px;font-weight:400;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.delete-btn{align-items:center;background:none;border:none;border-radius:4px;color:#484f58;cursor:pointer;display:flex;flex-shrink:0;justify-content:center;opacity:0;padding:2px;transition:all .15s}.chat-item:hover .delete-btn{opacity:1}.delete-btn:hover{background:#f851491a;color:#f85149}.chat-time{color:#7d8590;font-size:11px}.main{overflow:hidden;width:100%}.main,.messages{display:flex;flex:1;flex-direction:column}.messages{align-items:center;gap:24px;overflow-y:auto;padding:40px 24px}.messages>*{max-width:840px;width:100%}.empty{padding:80px 24px;text-align:center}.empty-title{color:#e6edf3;font-size:28px;font-weight:600;letter-spacing:-.03em;margin:0 0 8px}.empty-subtitle{color:#7d8590;font-size:14px;margin:0 0 32px}.category-grid{display:grid;gap:24px;grid-template-columns:1fr 1fr;margin:0 auto;max-width:780px;text-align:left}.category-label{color:#7d8590;font-size:11px;font-weight:600;letter-spacing:.06em;margin:0 0 10px 2px;text-transform:uppercase}.category-chips{display:flex;flex-direction:column;gap:8px}.example-chip{background:#161b22;border:1px solid #30363d;border-radius:10px;color:#c9d1d9;cursor:pointer;font-size:13px;font-weight:400;line-height:1.4;padding:12px 14px;text-align:left;transition:all .2s}.example-chip:hover{background:#1c2128;border-color:#58a6ff;color:#e6edf3}.message{animation:fadeIn .3s;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.message.user{justify-content:flex-end}.user-message{background:#1c2c41;border:1px solid #30363d;border-radius:16px;color:#e6edf3;font-size:14px;line-height:1.6;max-width:70%;padding:12px 16px}.assistant-message{max-width:100%}.thinking-state{align-items:center;background:#161b22;border:1px solid #21262d;border-radius:10px;display:flex;gap:12px;margin-bottom:8px;padding:16px}.thinking-icon{height:20px;width:20px}.spinner{animation:spin .8s linear infinite;border:2px solid #30363d;border-radius:50%;border-top-color:#58a6ff;height:16px;width:16px}@keyframes spin{to{transform:rotate(1turn)}}.thinking-text{color:#7d8590;font-size:13px;font-weight:400}.tech-details{background:#0d1117;border:1px solid #21262d;border-radius:8px;margin-bottom:12px;overflow:hidden}.tech-details summary{align-items:center;color:#7d8590;cursor:pointer;display:flex;font-size:12px;gap:10px;padding:10px 14px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tech-details summary:hover{background:#161b22}.badge{background:#1c2c41;border-radius:4px;color:#58a6ff;font-size:11px;font-weight:600;letter-spacing:.02em;padding:3px 8px}.expand-text{color:#8b949e;font-size:12px}.sql-container{background:#010409;padding:14px}.sql-container pre{color:#e6edf3;font-family:SF Mono,Monaco,Courier New,monospace;font-size:12px;line-height:1.6;margin:0;overflow-x:auto}.response-text{background:#0d1117;border:1px solid #21262d;border-radius:10px;color:#e6edf3;font-size:14px;line-height:1.7;margin-bottom:12px;padding:18px 20px}.chart{max-width:100%}.chart,.chart-container{border:1px solid #21262d;border-radius:8px}.chart-container{background:#0d1117;margin-bottom:12px;overflow:hidden}.chart-iframe{background:#0d1117;border:none;display:block;height:490px;width:100%}.cache-badge{align-items:center;background:#1c2c41;border:1px solid #1f6feb;border-radius:6px;color:#58a6ff;display:inline-flex;font-size:11px;font-weight:500;gap:6px;margin-top:8px;padding:4px 10px}.input-form{align-items:center;display:flex;gap:10px;margin:0 auto;max-width:888px;padding:24px;width:100%}.db-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:#0d1117;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%237d8590' viewBox='0 0 24 24'%3E%3Cpath d='m7 10 5 5 5-5z'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;border:1px solid #30363d;border-radius:10px;color:#7d8590;cursor:pointer;font-size:13px;min-width:90px;padding:14px 28px 14px 12px;text-align:center;-moz-text-align-last:center;text-align-last:center;transition:all .2s}.db-select:focus{border-color:#58a6ff;box-shadow:0 0 0 3px #58a6ff1a;outline:none}.db-select:not(:disabled):hover{border-color:#8b949e}.db-select:disabled{cursor:not-allowed;opacity:.5}.db-select.db-active{border-color:#1f6feb;color:#58a6ff}.db-select option{background:#161b22;color:#e6edf3}.input{background:#0d1117;border:1px solid #30363d;border-radius:10px;color:#e6edf3;flex:1;font-size:14px;padding:14px 16px;transition:all .2s}.input:focus{border-color:#58a6ff;box-shadow:0 0 0 3px #58a6ff1a;outline:none}.input::-moz-placeholder{color:#6e7681}.input::placeholder{color:#6e7681}.send-btn{align-items:center;background:#238636;border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;height:44px;justify-content:center;transition:all .2s;width:44px}.send-btn:hover:not(:disabled){background:#2ea043}.send-btn:disabled{cursor:not-allowed;opacity:.5}.btn-spinner{animation:spin .6s linear infinite;border:2px solid hsla(0,0%,100%,.3);border-radius:50%;border-top-color:#fff;height:16px;width:16px}.fade-enter-active{transition:opacity .4s ease}.fade-enter-from{opacity:0}.source-footnote{color:#7d8590;font-size:11px;font-style:italic;margin-bottom:8px;margin-top:4px;padding-left:2px}.followup-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px;margin-top:8px}.chip-btn{background:#161b22;border:1px solid #30363d;border-radius:16px;color:#c9d1d9;cursor:pointer;font-size:12px;padding:6px 14px;transition:all .2s}.chip-btn:hover{background:#1c2128;border-color:#58a6ff;color:#58a6ff}.mobile-header,.sidebar-overlay{display:none}@media(max-width:768px){.sidebar{height:100vh;height:100dvh;left:-280px;position:fixed;top:0;transition:left .25s ease;width:280px;z-index:100}.sidebar.open{left:0}.sidebar-overlay{background:#00000080;display:block;inset:0;position:fixed;z-index:99}.mobile-header{background:#010409;border-bottom:1px solid #21262d;justify-content:space-between;padding:12px 16px}.hamburger-btn,.mobile-header{align-items:center;display:flex}.hamburger-btn{background:none;border:none;color:#e6edf3;cursor:pointer;justify-content:center;padding:4px}.mobile-title{color:#e6edf3;font-size:16px;font-weight:600;letter-spacing:-.02em}.messages{gap:16px;padding:20px 12px}.empty{padding:40px 8px}.empty-title{font-size:22px}.empty-subtitle{font-size:13px;margin-bottom:24px}.category-grid{gap:20px;grid-template-columns:1fr}.example-chip{font-size:12px;padding:10px 12px}.user-message{font-size:13px;max-width:85%;padding:10px 14px}.response-text{font-size:13px;padding:14px}.chart-iframe{height:380px}.input-form{gap:8px;padding:12px 12px max(12px,env(safe-area-inset-bottom))}.db-select{font-size:12px;min-width:70px;padding:12px 24px 12px 8px}.input{font-size:13px;padding:12px}.send-btn{flex-shrink:0;height:40px;width:40px}.chip-btn{padding:5px 10px}.chip-btn,.sql-container pre{font-size:11px}}
