.chat-shell{z-index:50;font-family:var(--font-body);flex-direction:column;align-items:flex-end;gap:.75rem;display:flex;position:fixed;bottom:1.5rem;right:1.5rem}.chat-launcher{background-color:var(--gold);width:3.5rem;height:3.5rem;color:var(--ink);cursor:pointer;border:none;border-radius:9999px;justify-content:center;align-items:center;transition:transform .2s,opacity .2s;display:inline-flex;box-shadow:0 8px 24px -8px oklch(20% .01 50/.4),0 2px 6px -2px oklch(20% .01 50/.3)}.chat-launcher:hover{opacity:.92;transform:translateY(-1px)}.chat-launcher-badge{background-color:var(--destructive);min-width:1.1rem;height:1.1rem;color:var(--destructive-foreground);border-radius:9999px;justify-content:center;align-items:center;padding:0 .3rem;font-size:.7rem;font-weight:600;display:inline-flex;position:absolute;top:-.125rem;right:-.125rem}.chat-teaser{background-color:var(--card);max-width:16rem;color:var(--card-foreground);border:1px solid var(--border);border-radius:.5rem;padding:.6rem .9rem;font-size:.85rem;animation:.3s chat-teaser-in;box-shadow:0 6px 20px -10px oklch(20% .01 50/.3)}.chat-panel{background-color:var(--card);width:min(380px,100vw - 3rem);height:min(640px,100dvh - 7rem);color:var(--card-foreground);border:1px solid var(--border);border-radius:.5rem;flex-direction:column;animation:.25s chat-panel-in;display:flex;overflow:hidden;box-shadow:0 24px 60px -20px oklch(10% .01 50/.5),0 8px 24px -12px oklch(10% .01 50/.3)}.chat-header{border-bottom:1px solid var(--border);background-color:var(--popover);justify-content:space-between;align-items:flex-start;gap:.5rem;padding:1rem;display:flex}.chat-header-title{font-family:var(--font-heading);color:var(--popover-foreground);margin:0;font-size:1.05rem;font-weight:600}.chat-header-sub{color:var(--muted-foreground);margin-top:.15rem;font-size:.8rem}.chat-close{color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;padding:.25rem;line-height:0}.chat-close:hover{color:var(--gold)}.chat-thread{flex-direction:column;flex:1 1 0;gap:.6rem;min-height:0;padding:1rem;display:flex;overflow-y:auto}.chat-history-top{justify-content:center;padding:.5rem;display:flex}.chat-history-btn{color:var(--muted-foreground);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:9999px;padding:.3rem .7rem;font-size:.75rem}.chat-history-btn:hover{color:var(--gold);border-color:var(--gold)}.chat-msg-row{width:100%;display:flex}.chat-msg-row.outbound{justify-content:flex-end}.chat-msg-row.inbound{justify-content:flex-start}.chat-msg-row.system{justify-content:center}.chat-bubble{word-wrap:break-word;border-radius:.6rem;max-width:80%;padding:.6rem .85rem;font-size:.875rem;line-height:1.5}.chat-bubble.outbound{background-color:var(--gold);color:var(--ink);border-bottom-right-radius:.2rem}.chat-bubble.inbound{background-color:var(--muted);color:var(--card-foreground);border-bottom-left-radius:.2rem}.chat-bubble.system{color:var(--muted-foreground);text-align:center;background-color:#0000;font-size:.75rem;font-style:italic}.chat-bubble.pending{opacity:.6}.chat-bubble.failed{border:1px solid var(--destructive)}.chat-bubble a{color:inherit;text-decoration:underline}.chat-msg-meta{color:var(--muted-foreground);margin-top:.2rem;font-size:.7rem}.chat-quick-replies{flex-wrap:wrap;gap:.4rem;padding:0 1rem .5rem;display:flex}.chat-quick-reply{border:1px solid var(--gold);color:var(--gold-deep);cursor:pointer;background-color:#0000;border-radius:9999px;padding:.4rem .7rem;font-size:.78rem;transition:background-color .2s,color .2s}.chat-quick-reply:hover{background-color:var(--gold);color:var(--ink)}.chat-attachments{flex-wrap:wrap;gap:.4rem;padding:0 1rem .5rem;display:flex}.chat-attachment-chip{border:1px solid var(--border);color:var(--muted-foreground);border-radius:.3rem;align-items:center;gap:.3rem;padding:.3rem .5rem;font-size:.7rem;display:inline-flex}.chat-attachment-chip button{color:var(--destructive);cursor:pointer;background:0 0;border:none;padding:0;line-height:0}.chat-attachment-progress{background-color:var(--border);border-radius:9999px;width:2.5rem;height:.2rem;overflow:hidden}.chat-attachment-progress>span{background-color:var(--gold);height:100%;display:block}.chat-composer{border-top:1px solid var(--border);background-color:var(--popover);align-items:flex-end;gap:.5rem;padding:.6rem;display:flex}.chat-composer textarea{resize:none;border:1px solid var(--input);color:var(--popover-foreground);font-size:.875rem;font-family:var(--font-body);background-color:#0000;border-radius:.3rem;outline:none;flex:1 1 0;max-height:6rem;padding:.5rem .7rem;line-height:1.4}.chat-composer textarea:focus{border-color:var(--gold)}.chat-attach-btn,.chat-send-btn{border:1px solid var(--border);cursor:pointer;width:2.25rem;height:2.25rem;color:var(--muted-foreground);background:0 0;border-radius:.3rem;justify-content:center;align-items:center;transition:color .2s;display:inline-flex}.chat-attach-btn:hover,.chat-send-btn:hover{color:var(--gold)}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed}.chat-send-btn:not(:disabled){background-color:var(--gold);border-color:var(--gold);color:var(--ink)}.chat-card{border:1px solid var(--border);text-align:center;border-radius:.5rem;flex-direction:column;align-items:center;gap:.6rem;margin:0 1rem .6rem;padding:.9rem;display:flex}.chat-feedback-thumbs{gap:1rem;display:flex}.chat-feedback-thumbs button{border:1px solid var(--border);cursor:pointer;width:2.5rem;height:2.5rem;color:var(--muted-foreground);background:0 0;border-radius:9999px;justify-content:center;align-items:center;display:inline-flex}.chat-feedback-thumbs button:hover{color:var(--gold);border-color:var(--gold)}.chat-status{color:var(--muted-foreground);text-align:center;padding:.3rem 1rem .6rem;font-size:.75rem}.chat-loading{text-align:center;color:var(--muted-foreground);padding:2rem;font-size:.875rem}.chat-type-select{flex-direction:column;gap:.7rem;padding:1.5rem 1rem;display:flex}.chat-type-btn{border:1px solid var(--border);color:var(--card-foreground);cursor:pointer;text-align:left;background-color:#0000;border-radius:.5rem;align-items:center;gap:.6rem;padding:.8rem 1rem;font-size:.9rem;display:flex}.chat-type-btn:hover{border-color:var(--gold);color:var(--gold-deep)}.chat-type-btn-title{font-weight:600}.chat-type-btn-sub{color:var(--muted-foreground);font-size:.75rem}@keyframes chat-teaser-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes chat-panel-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.dark .chat-launcher,.dark .chat-bubble.outbound{background-color:var(--gold);color:var(--ink)}
