:root{--primary: 174 75% 32%;--primary-foreground: 0 0% 100%;--secondary: 174 30% 82%;--background: 200 25% 97%;--foreground: 210 25% 12%;--card: 0 0% 100%;--muted: 200 20% 93%;--muted-foreground: 210 15% 40%;--border: 200 20% 87%;--destructive: 0 84% 60%;--ring: 174 72% 52%;--radius: 12px;color:hsl(var(--foreground));background:hsl(var(--background));font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.6}*{box-sizing:border-box;margin:0}body{margin:0;min-height:100vh;background:hsl(var(--background));-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button{cursor:pointer}a{color:hsl(var(--primary));text-decoration:none}a:hover{text-decoration:underline}.app-shell{display:flex;min-height:100vh;flex-direction:column}.toolbar{display:flex;align-items:center;justify-content:flex-end;gap:4px;padding:4px 8px;border-bottom:1px solid hsl(var(--border) / .3)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:8px;font-size:.8rem;font-weight:500;padding:6px 12px;border:1px solid transparent;transition:all .15s ease;white-space:nowrap}.btn-primary{background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary))}.btn-primary:hover{opacity:.9}.btn-ghost{background:transparent;color:hsl(var(--muted-foreground));border-color:hsl(var(--border) / .5)}.btn-ghost:hover{background:hsl(var(--muted) / .5);color:hsl(var(--foreground))}.btn-sm{padding:4px 8px;font-size:.72rem}.btn:disabled{opacity:.4;cursor:not-allowed}.settings-panel{display:grid;gap:10px;padding:12px 16px;border-bottom:1px solid hsl(var(--border) / .5);background:hsl(var(--muted) / .3)}.settings-panel label{display:grid;gap:4px;font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground))}.settings-panel input{width:100%;padding:7px 10px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--card));color:hsl(var(--foreground));font-size:.8rem}.settings-panel input:focus{outline:none;border-color:hsl(var(--ring));box-shadow:0 0 0 2px hsl(var(--ring) / .2)}.banner-error{padding:8px 16px;font-size:.8rem;color:hsl(var(--destructive));background:hsl(var(--destructive) / .08);border-bottom:1px solid hsl(var(--destructive) / .15)}.chat-panel{flex:1;min-height:0;overflow:hidden}.messages{display:flex;flex-direction:column;gap:4px;height:calc(100vh - 220px);min-height:200px;overflow-y:auto;padding:12px 16px;scroll-behavior:smooth}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:32px 16px;text-align:center;flex:1}.empty-state .logo-mark{width:32px;height:32px;border-radius:8px;background:hsl(var(--primary))}.empty-state h2{font-size:1rem;font-weight:700;color:hsl(var(--foreground))}.empty-state .subtle{font-size:.8rem;color:hsl(var(--muted-foreground));max-width:280px}.starter-grid{display:grid;gap:6px;width:100%;max-width:320px}.starter-card{padding:8px 12px;border:1px solid hsl(var(--border) / .5);border-radius:10px;background:hsl(var(--card));color:hsl(var(--foreground));font-size:.8rem;text-align:left;cursor:pointer;transition:all .15s ease}.starter-card:hover{border-color:hsl(var(--primary) / .3);background:hsl(var(--primary) / .04)}.starter-card:disabled{opacity:.4;cursor:not-allowed}.message{display:flex;flex-direction:column;gap:4px;max-width:100%}.message-user{align-items:flex-end}.message-assistant{align-items:flex-start}.message-bubble{border-radius:12px;padding:8px 14px;max-width:85%;word-break:break-word}.message-user .message-bubble{background:hsl(var(--primary) / .07);color:hsl(var(--foreground))}.message-assistant .message-bubble{background:transparent;padding:4px 0;max-width:100%}.message-meta{display:flex;align-items:center;gap:6px;padding:0 2px;font-size:.68rem;font-weight:600;color:hsl(var(--muted-foreground) / .6);text-transform:uppercase;letter-spacing:.04em}.streaming-pill{color:hsl(var(--primary));font-weight:500;font-size:.65rem;display:inline-flex;align-items:center;gap:4px}.streaming-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:hsl(var(--primary));animation:pulse 1.2s infinite ease-in-out}.thinking-row{display:inline-flex;align-items:center;gap:8px;color:hsl(var(--muted-foreground));font-size:.85rem}.thinking-dot{width:8px;height:8px;border-radius:50%;background:hsl(var(--primary));animation:pulse 1.2s infinite ease-in-out}@keyframes pulse{0%,to{opacity:.35;transform:scale(.9)}50%{opacity:1;transform:scale(1)}}.tool-status-inline{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;color:hsl(var(--muted-foreground));padding:3px 8px;margin:2px 0;border-radius:6px;background:hsl(var(--muted) / .4)}.tool-dot{width:5px;height:5px;border-radius:50%;background:hsl(var(--primary) / .5);flex-shrink:0}.markdown-body{font-size:.85rem;line-height:1.65;color:hsl(var(--foreground))}.markdown-body h1,.markdown-body h2,.markdown-body h3{margin:.5em 0 .25em;font-weight:700;line-height:1.3;color:hsl(var(--foreground))}.markdown-body h1{font-size:1.05rem}.markdown-body h2{font-size:.95rem}.markdown-body h3{font-size:.88rem}.markdown-body p{margin:.35em 0}.markdown-body ul,.markdown-body ol{margin:.25em 0;padding-left:18px}.markdown-body li{margin-bottom:.15em}.markdown-body code{padding:1px 5px;border-radius:4px;background:hsl(var(--muted));font-family:Geist Mono,SF Mono,Fira Code,monospace;font-size:.82em}.markdown-body pre{margin:.5em 0;padding:10px 12px;border-radius:8px;background:hsl(var(--muted) / .6);overflow-x:auto;border:1px solid hsl(var(--border) / .5)}.markdown-body pre code{padding:0;background:none}.markdown-body blockquote{margin:.4em 0;padding:4px 12px;border-left:3px solid hsl(var(--primary) / .4);color:hsl(var(--muted-foreground))}.markdown-body table{border-collapse:collapse;margin:.5em 0;font-size:.82rem;width:100%}.markdown-body th,.markdown-body td{padding:4px 8px;border:1px solid hsl(var(--border));text-align:left}.markdown-body th{background:hsl(var(--muted) / .5);font-weight:600}.markdown-body strong{font-weight:650}.markdown-body a{color:hsl(var(--primary))}.citations{margin-top:8px;padding:8px 10px;border-radius:8px;border:1px solid hsl(var(--border) / .5);background:hsl(var(--muted) / .3)}.citations-label{font-size:.68rem;font-weight:600;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.citations ol{margin:0;padding-left:0;list-style:none;display:flex;flex-wrap:wrap;gap:4px}.citations li{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:6px;border:1px solid hsl(174 40% 80%);background:#f0faf9;font-size:.72rem;color:#26736b;transition:all .15s}.citations li:hover{background:#e0f5f3;border-color:#94d1cb}.citation-number{font-weight:700;color:hsl(var(--primary))}.citation-title{font-weight:500;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.citation-meta,.citation-copy a{display:none}.message-error{font-size:.8rem;color:hsl(var(--destructive));padding:6px 10px;border-radius:6px;background:hsl(var(--destructive) / .06);margin-top:4px}.message-actions{display:flex;align-items:center;gap:4px;padding:2px 0;opacity:0;transition:opacity .15s}.message:hover .message-actions{opacity:1}@media(pointer:coarse){.message-actions{opacity:1}}.composer{display:flex;flex-direction:column;gap:8px;padding:8px 16px 12px;border-top:1px solid hsl(var(--border) / .3);background:hsl(var(--card))}.context-controls{display:flex;align-items:center;justify-content:space-between;gap:6px;flex-wrap:wrap}.selection-toggle{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;color:hsl(var(--muted-foreground));cursor:pointer;-webkit-user-select:none;user-select:none}.selection-toggle input[type=checkbox]{accent-color:hsl(var(--primary));width:14px;height:14px}.auto-write-on{color:hsl(var(--primary));font-weight:600}.composer-input{position:relative;display:flex;align-items:flex-end;gap:8px;border:1px solid hsl(var(--border) / .4);border-radius:14px;background:hsl(var(--muted) / .2);padding:8px 12px;transition:border-color .15s}.composer-input:focus-within{border-color:hsl(var(--ring) / .5);box-shadow:0 0 0 2px hsl(var(--ring) / .1)}.composer textarea{flex:1;min-height:32px;max-height:144px;resize:none;overflow-y:auto;border:none;background:transparent;color:hsl(var(--foreground));font-size:.85rem;line-height:1.5;padding:0}.composer textarea:focus{outline:none}.composer textarea::placeholder{color:hsl(var(--foreground) / .35)}.send-btn{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid hsl(var(--primary) / .4);background:transparent;color:hsl(var(--primary));transition:all .15s}.send-btn:hover:not(:disabled){border-color:hsl(var(--primary));background:hsl(var(--primary) / .06)}.send-btn:disabled{border-color:transparent;color:hsl(var(--muted-foreground) / .3)}.composer-footer{display:flex;align-items:center;justify-content:space-between;padding:0 2px}.composer-select,.composer-collection{height:26px;padding:2px 6px;border:1px solid hsl(var(--border) / .4);border-radius:6px;background:hsl(var(--card));color:hsl(var(--muted-foreground));font-size:.68rem}.composer-select{min-width:100px}.composer-collection{flex:1;min-width:80px;max-width:140px}.composer-select:focus,.composer-collection:focus{outline:none;border-color:hsl(var(--ring) / .5)}.composer-hint{font-size:.68rem;color:hsl(var(--muted-foreground) / .6)}
