:root{--z-luca-panel: calc(var(--z-sticky-header) + 9)}.luca-fab{background:var(--accent-grad);position:relative}.luca-fab:hover,.luca-fab:active{transform:scale(1.08)}.luca-fab:after{content:"";position:absolute;top:2px;right:2px;width:12px;height:12px;border-radius:50%;background:#3ecf6a;border:2px solid var(--paper)}@media (max-width: 640px){.luca-fab:after{width:10px;height:10px}}.luca-fab{background:transparent;box-shadow:none;overflow:visible}.luca-fab .luca-fab-fish{position:absolute;top:50%;left:50%;width:54px;height:auto;max-width:none;object-fit:contain;transform:translate(-50%,-50%);pointer-events:none;border-radius:0}@media (max-width: 640px){.luca-fab .luca-fab-fish{width:46px}}body.luca-chat-open .floating-social{opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--dur-base) var(--ease-standard)}.luca-panel{position:fixed;right:22px;bottom:96px;width:380px;max-width:calc(100vw - 44px);height:min(640px,72vh);max-height:calc(100vh - 120px);display:flex;flex-direction:column;background:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;z-index:var(--z-luca-panel);font-family:var(--font-body);transform-origin:bottom right;transform:scale(.9) translateY(16px);opacity:0;visibility:hidden;pointer-events:none;transition:transform var(--dur-slow) var(--ease-enter),opacity var(--dur-slow) var(--ease-enter),visibility 0s linear var(--dur-slow)}.luca-panel.luca-open{transform:scale(1) translateY(0);opacity:1;visibility:visible;pointer-events:auto;transition:transform var(--dur-slow) var(--ease-enter),opacity var(--dur-slow) var(--ease-enter),visibility 0s linear 0s}@media (prefers-reduced-motion: reduce){.luca-panel{transition:opacity var(--dur-fast) linear,visibility 0s linear}.luca-panel.luca-open,.luca-panel{transform:none}}.luca-panel-header{flex:none;display:flex;align-items:center;gap:var(--space-3);padding:14px var(--space-4);background:var(--accent-grad);color:#fff}.luca-panel-avatar{flex:none;width:36px;height:36px;border-radius:50%;background:#ffffff29;display:flex;align-items:center;justify-content:center}.luca-panel-title{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}.luca-panel-title strong{font-family:var(--font-display);font-size:16px;font-weight:700}.luca-panel-title span{font-size:var(--fs-xs);color:#ffffffc7}.luca-header-btn{flex:none;width:32px;height:32px;border:none;border-radius:50%;background:transparent;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--dur-fast) var(--ease-standard)}.luca-header-btn:hover,.luca-header-btn:active{background:#ffffff2e}.luca-messages{position:relative;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);background:var(--paper)}.luca-messages.luca-clearing{opacity:0;transition:opacity var(--dur-base) var(--ease-exit)}.luca-msg{max-width:84%;padding:10px 14px;border-radius:16px;font-size:var(--fs-base);line-height:1.48;white-space:pre-wrap;word-break:break-word;animation:lucaMsgIn var(--dur-base) var(--ease-enter) 1}@keyframes lucaMsgIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.luca-msg-bot{align-self:flex-start;background:var(--paper-deep);color:var(--ink);border-bottom-left-radius:4px}.luca-msg-user{align-self:flex-end;background:var(--koi-orange);color:#fff;border-bottom-right-radius:4px}.luca-msg img{display:block;max-width:100%;border-radius:10px;margin-bottom:6px}.luca-msg img:last-child{margin-bottom:0}.luca-msg-system{align-self:center;max-width:92%;background:#fdecea;color:var(--koi-red);font-size:var(--fs-sm);text-align:center;border-radius:var(--radius-sm)}.luca-handoff-card{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid var(--line);white-space:normal}.luca-handoff-title{margin:0 0 2px;font-size:var(--fs-sm);color:var(--ink)}.luca-handoff-label{font-size:var(--fs-xs);color:var(--text-muted);margin-top:4px}.luca-handoff-input{width:100%;border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px 10px;font-size:var(--fs-sm);font-family:var(--font-body);color:var(--ink);background:var(--paper);resize:vertical}.luca-handoff-input:focus{outline:none;border-color:var(--jade)}.luca-handoff-input:disabled{opacity:.6}.luca-handoff-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:4px}.luca-handoff-btn{border:none;border-radius:var(--radius-pill);padding:8px 16px;font-size:var(--fs-sm);font-weight:700;cursor:pointer;transition:opacity var(--dur-fast) var(--ease-standard)}.luca-handoff-btn:disabled{opacity:.6;cursor:default}.luca-handoff-cancel{background:transparent;color:var(--text-muted)}.luca-handoff-cancel:hover,.luca-handoff-cancel:active:not(:disabled){color:var(--ink)}.luca-handoff-submit{background:var(--koi-orange);color:#fff}.luca-handoff-submit:hover{opacity:.92}.luca-handoff-submit:active:not(:disabled){opacity:.8}.luca-handoff-error{margin:2px 0 0;font-size:var(--fs-xs);color:var(--koi-red)}.luca-handoff-done{margin:0;font-size:var(--fs-sm);color:var(--text-muted);font-style:italic;animation:lucaMsgFade var(--dur-base) var(--ease-enter) 1}@keyframes lucaMsgFade{0%{opacity:0}to{opacity:1}}.luca-handoff-card.is-finishing{flex:none;overflow:hidden;transition:height var(--dur-base) var(--ease-standard)}.luca-handoff-card.is-finishing>*{opacity:0;transition:opacity var(--dur-fast) var(--ease-exit)}.luca-handoff-card.is-finishing>.luca-handoff-done{opacity:1;transition:none}.luca-typing{align-self:flex-start;display:flex;align-items:center;gap:4px;padding:12px 16px;border-radius:16px 16px 16px 4px;background:var(--paper-deep);animation:lucaMsgIn var(--dur-base) var(--ease-enter) 1}.luca-typing.is-leaving{position:absolute;margin:0;animation:none;opacity:0;pointer-events:none;transition:opacity var(--dur-fast) var(--ease-exit)}.luca-typing span{width:6px;height:6px;border-radius:50%;background:var(--text-muted);animation:lucaTypingBounce 1.1s ease-in-out infinite}.luca-typing span:nth-child(2){animation-delay:.15s}.luca-typing span:nth-child(3){animation-delay:.3s}@keyframes lucaTypingBounce{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}@media (prefers-reduced-motion: reduce){.luca-typing span{animation:none;opacity:.8}.luca-msg,.luca-typing,.luca-handoff-done{animation:none}.luca-handoff-card.is-finishing>*,.luca-messages.luca-clearing,.luca-image-preview,.luca-typing.is-leaving{transition:none}}.luca-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.luca-inputbar{flex:none;display:flex;flex-direction:column;border-top:1px solid var(--line);background:var(--paper);padding-bottom:env(safe-area-inset-bottom,0px)}.luca-inputbar-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3)}.luca-image-preview[hidden]{display:none}.luca-image-preview{display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);max-height:0;opacity:0;overflow:hidden;transition:max-height var(--dur-base) var(--ease-standard),padding-top var(--dur-base) var(--ease-standard),opacity var(--dur-base) var(--ease-standard)}.luca-image-preview.is-open{max-height:calc(40px + var(--space-2));padding-top:var(--space-2);opacity:1}.luca-image-preview img{width:40px;height:40px;border-radius:var(--radius-sm);object-fit:cover;flex:none}.luca-image-preview-name{flex:1;min-width:0;font-size:var(--fs-xs);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.luca-image-preview .luca-header-btn{color:var(--text-muted);width:26px;height:26px}.luca-image-preview .luca-header-btn:hover{background:var(--paper-deep)}.luca-attach-btn{flex:none;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard)}.luca-attach-btn:hover,.luca-attach-btn:active:not(:disabled){background:var(--paper-deep);color:var(--jade)}.luca-attach-btn:disabled{opacity:.55;cursor:default;background:transparent;color:var(--text-muted)}.luca-input{flex:1;min-width:0;border:1px solid var(--line);border-radius:var(--radius-pill);padding:10px 16px;font-size:var(--fs-base);font-family:var(--font-body);color:var(--ink);background:#fff;transition:border-color var(--dur-fast) var(--ease-standard)}.luca-input:focus{outline:none;border-color:var(--jade)}.luca-input:disabled{opacity:.6}.luca-send-btn{flex:none;width:40px;height:40px;border:none;border-radius:50%;background:var(--koi-orange);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform var(--dur-fast) var(--ease-standard),opacity var(--dur-fast) var(--ease-standard)}.luca-send-btn:hover{transform:scale(1.06)}.luca-send-btn:active:not(:disabled){transform:scale(.96)}.luca-send-btn:disabled{opacity:.55;cursor:default;transform:none}@media (max-width: 640px){.luca-panel{inset:0;width:100%;max-width:100%;height:100%;max-height:100%;border-radius:0;transform:translateY(24px)}.luca-panel.luca-open{transform:translateY(0)}.luca-panel-header{padding-top:calc(14px + env(safe-area-inset-top,0px))}}
