.ai-chat{display:flex;flex-direction:column;height:calc(100dvh - var(--navbar-height) - 2rem);min-height:500px;max-width:768px;margin:0 auto;background:var(--color-bg)}.chat-messages{flex:1;overflow-y:auto;padding:1.5rem 1rem;display:flex;flex-direction:column;gap:1.5rem;scroll-behavior:smooth}.message{display:flex;gap:.75rem;max-width:100%;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.message-user{justify-content:flex-end}.message-user .message-content{background:var(--color-primary);color:#fff;padding:.75rem 1rem;border-radius:1.25rem;border-bottom-right-radius:4px;max-width:72%;width:fit-content}.message-user .message-content:has(img):not(:has(p)){padding:.35rem}.message-user .message-content p{margin:0;line-height:1.5}.message-user .user-attached-image{max-width:280px;max-height:200px;border-radius:.875rem;margin-bottom:0;display:block}.message-user .user-attached-image+p{margin-top:.5rem}.user-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:4px;margin-bottom:0}.user-image-grid .user-attached-image{width:100%;max-width:none;max-height:140px;border-radius:8px;margin-bottom:0}.user-image-grid+p{margin-top:.5rem}.message-assistant{align-items:flex-start}.message-icon{width:24px;height:24px;border-radius:50%;background:var(--color-bg-secondary);border:1px solid var(--color-border);color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:3px;font-size:12px}.message-content{flex:1;min-width:0}.message-model-name{font-size:.8rem;font-weight:600;color:var(--color-text);margin-bottom:.3rem;line-height:24px}.message-text{font-size:.95rem;line-height:1.7;color:var(--color-text)}.message-text p{margin:0 0 .75em}.message-text p:last-child{margin-bottom:0}.message-text h1,.message-text h2,.message-text h3,.message-text h4{margin:1em 0 .5em;font-weight:600;line-height:1.4}.message-text h1{font-size:1.25em}.message-text h2{font-size:1.15em}.message-text h3{font-size:1.05em}.message-text h4{font-size:1em}.message-text ul,.message-text ol{padding-left:1.5em;margin:.5em 0}.message-text li{margin:.25em 0}.message-text strong{font-weight:600}.message-text a{color:var(--color-primary);text-decoration:none}.message-text a:hover{text-decoration:underline}.message-text blockquote{border-left:3px solid var(--color-primary);margin:.75em 0;padding:.25em .75em;color:var(--color-text-muted)}.message-text hr{border:none;border-top:1px solid var(--color-border);margin:1em 0}.message-text table{border-collapse:collapse;width:100%;margin:.75em 0;font-size:.9em}.message-text th,.message-text td{border:1px solid var(--color-border);padding:.5em .75em;text-align:left}.message-text th{background:var(--color-bg-secondary);font-weight:600}.message-text pre{background:#1e1e1e;border-radius:.75rem;padding:1rem;overflow-x:auto;font-size:.875rem;margin:.75em 0}[data-theme=light] .message-text pre{background:#f6f8fa}.message-text code{font-family:Fira Code,Monaco,Consolas,monospace;font-size:.875em}.message-text :not(pre)>code{background:var(--color-bg-secondary);border-radius:4px;padding:.15em .4em;color:var(--color-primary)}.message-text pre code{background:none;padding:0;color:#e6e6e6}[data-theme=light] .message-text pre code{color:#24292e}.code-block-wrapper{position:relative;margin:.75em 0}.code-block-wrapper pre{margin:0}.code-copy-btn{position:absolute;top:8px;right:8px;width:32px;height:32px;border-radius:6px;background:#ffffff1a;border:none;color:#999;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s,background .15s,color .15s}[data-theme=light] .code-copy-btn{background:#0000000d}.code-block-wrapper:hover .code-copy-btn{opacity:1}.code-copy-btn:hover{background:#fff3;color:#fff}[data-theme=light] .code-copy-btn:hover{background:#0000001a;color:#333}.code-copy-btn.copied{background:#10b981;color:#fff;opacity:1}.message-actions{display:flex;gap:2px;margin-top:.5rem;opacity:0;transition:opacity .15s}.message:hover .message-actions,.message-actions:focus-within{opacity:1}.message-action-btn{width:32px;height:32px;border-radius:6px;background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.message-action-btn:hover{background:var(--color-bg-secondary);color:var(--color-text)}.message-action-btn.copied{color:#10b981}.streaming-cursor{display:inline;color:var(--color-primary);animation:blink .7s step-end infinite;margin-left:2px}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.message-thinking{display:flex;align-items:center;gap:4px;padding:.5rem 0}.message-thinking span{width:6px;height:6px;border-radius:50%;background:var(--color-text-muted);animation:bounce 1s infinite ease-in-out}.message-thinking span:nth-child(1){animation-delay:0s}.message-thinking span:nth-child(2){animation-delay:.15s}.message-thinking span:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,80%,to{transform:scale(1);opacity:.4}40%{transform:scale(1.2);opacity:1}}.message-error .message-text{color:#ef4444}[data-theme=dark] .message-error .message-text{color:#f87171}.suggestions{display:flex;flex-wrap:wrap;gap:.5rem;padding:0 1rem 1rem;justify-content:center}.suggestion-chip{background:transparent;border:1px solid var(--color-border);border-radius:1.25rem;padding:.5rem 1rem;font-size:.875rem;color:var(--color-text);cursor:pointer;transition:background .15s,border-color .15s;text-align:left;max-width:100%}.suggestion-chip:hover{background:var(--color-bg-secondary);border-color:var(--color-primary)}.image-preview{display:flex;flex-wrap:wrap;gap:.5rem;padding:.75rem 1rem 0}.image-preview-thumb{position:relative;flex-shrink:0}.image-preview-thumb img{display:block;height:64px;width:64px;border-radius:8px;object-fit:cover;border:1px solid var(--color-border)}.image-preview-remove{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;border:none;background:#ef4444;color:#fff;cursor:pointer;font-size:.85rem;line-height:1;display:flex;align-items:center;justify-content:center;padding:0;transition:background .15s}.image-preview-remove:hover{background:#dc2626}.chat-form{padding:1rem;background:var(--color-bg);border-top:1px solid var(--color-border)}.chat-input-wrapper{display:flex;align-items:flex-end;gap:.5rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:1.5rem;padding:.5rem .75rem;transition:border-color .15s}.chat-input-wrapper:focus-within{border-color:var(--color-primary)}.chat-attach-btn{width:36px;height:36px;border-radius:50%;background:transparent;color:var(--color-text-muted);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:color .15s,background .15s;padding:0}.chat-attach-btn:hover:not(:disabled){color:var(--color-text);background:var(--color-bg)}.chat-attach-btn:disabled{opacity:.5;cursor:not-allowed}.chat-input{flex:1;resize:none;border:none;background:transparent;padding:.5rem .25rem;font-family:inherit;font-size:.95rem;line-height:1.5;color:var(--color-text);outline:none;max-height:160px;overflow-y:auto}.chat-input::placeholder{color:var(--color-text-muted)}.chat-input:disabled{opacity:.6;cursor:not-allowed}.chat-send-btn,.chat-stop-btn{width:36px;height:36px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .15s,opacity .15s;padding:0}.chat-send-btn{background:var(--color-primary);color:#fff}.chat-send-btn:hover:not(:disabled){opacity:.9}.chat-send-btn:disabled{opacity:.5;cursor:not-allowed}.chat-stop-btn{background:#ef4444;color:#fff}.chat-stop-btn:hover{background:#dc2626}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@media(max-width:640px){.ai-chat{height:calc(100dvh - var(--navbar-height))}.chat-messages{padding:1rem .75rem;gap:1.25rem}.message-user .message-content{max-width:90%}.suggestions{padding:0 .75rem 1rem}.chat-form{padding:.75rem}.message-actions,.code-copy-btn{opacity:1}}
