.chat-panel{background:var(--surface,#fff);border:1px solid var(--border,#e4e4e7);text-align:left;min-width:0;color:var(--text,#09090b);border-radius:20px;flex-direction:column;width:100%;font-size:14px;line-height:1.5;display:flex;overflow:hidden;box-shadow:0 24px 64px #09090b24}.chat-hero{height:540px}.chat-compact{height:440px;box-shadow:0 8px 24px #09090b0f}.chat-floating{height:600px;max-height:calc(100dvh - 120px)}.chat-header{border-bottom:1px solid var(--border,#e4e4e7);flex:none;align-items:center;gap:10px;padding:16px 17px;display:flex}.chat-avatar{color:#fff;background:#09090b;border-radius:12px;flex:none;place-items:center;width:40px;height:40px;font-size:26px;font-weight:700;display:grid;position:relative}.chat-avatar>span{background:var(--success,#2563eb);border:2px solid #fff;border-radius:50%;width:10px;height:10px;position:absolute;bottom:-2px;right:-2px}.chat-heading{flex:1;min-width:0}.chat-heading strong{overflow-wrap:anywhere;font-size:14px;font-weight:600;display:block}.chat-status{color:var(--text-muted,#52525b);align-items:center;gap:5px;margin-top:3px;font-size:12px;display:flex}.chat-status>span{background:var(--success,#2563eb);border-radius:50%;width:5px;height:5px}.chat-panel button{cursor:pointer}.chat-panel button:disabled{cursor:not-allowed;opacity:.5}.chat-icon-button{width:44px;height:44px;color:var(--text-muted,#52525b);background:0 0;border:0;border-radius:10px;flex:none;place-items:center;display:grid}.chat-icon-button:hover{background:var(--surface-muted,#f7f7f8)}.chat-content-wrap{flex:1;min-height:0;position:relative}.chat-message-list{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#d4d4d8 transparent;height:100%;padding:17px 17px 6px;overflow:hidden auto}.chat-disclosure{color:var(--text-muted,#52525b);text-align:center;align-items:flex-start;gap:5px;margin:0 1px 17px;font-size:12px;line-height:1.6;display:flex}.chat-disclosure svg{flex:none;margin-top:1px}.chat-message{width:fit-content;min-width:0;max-width:94%;margin-bottom:10px}.chat-message.is-user{max-width:88%;margin-left:auto}.chat-bubble{background:var(--surface-muted,#f7f7f8);overflow-wrap:anywhere;white-space:pre-wrap;border-radius:14px 14px 14px 3px;padding:12px 14px;font-size:14px;line-height:1.65}.is-user .chat-bubble{background:var(--primary,#2563eb);color:#fff;border-radius:14px 14px 3px}.chat-bubble.is-error{color:var(--danger,#b91c1c);background:#fff5f5;border:1px solid #e9b6b6}.chat-suggestions{flex-wrap:wrap;gap:7px;max-width:100%;margin:13px 0 8px;display:flex}.chat-suggestions button{color:var(--primary,#2563eb);text-align:left;background:#fff;border:1px solid #bfdbfe;border-radius:999px;min-height:44px;padding:7px 12px;font-size:12px;line-height:1.4;transition:background .15s}.chat-suggestions button:hover{background:var(--primary-tint,#eff6ff)}.chat-suggestions.is-followup{margin-top:4px}.chat-sources{flex-wrap:wrap;gap:5px;margin:6px 0 0;display:flex}.chat-sources a,.chat-sources>span{background:var(--primary-tint,#eff6ff);color:var(--primary-hover,#1d4ed8);overflow-wrap:anywhere;border-radius:999px;align-items:center;gap:4px;max-width:100%;min-height:44px;padding:3px 8px;font-size:12px;text-decoration:none;display:flex}.chat-sources a:hover{text-decoration:underline}.chat-sources svg{flex:none}.chat-feedback{min-height:30px;color:var(--text-muted,#52525b);align-items:center;gap:1px;font-size:12px;display:flex}.chat-feedback button{color:inherit;background:0 0;border:0;border-radius:8px;place-items:center;width:44px;height:44px;display:grid}.chat-feedback button:hover,.chat-feedback button[aria-pressed=true]{background:var(--primary-tint,#eff6ff);color:var(--primary,#2563eb)}.chat-input-form{border-top:1px solid var(--border,#e4e4e7);flex:none;padding:10px 16px 0}.chat-input-label{color:var(--text-muted,#52525b);margin-bottom:4px;font-size:12px;display:block}.chat-input-row{background:var(--surface,#fff);border:1px solid var(--border,#e4e4e7);border-radius:10px;align-items:flex-end;gap:8px;padding:5px;display:flex}.chat-input-row:focus-within{outline:2px solid var(--primary,#2563eb);outline-offset:2px}.chat-input-row textarea{resize:none;width:100%;min-width:0;min-height:44px;max-height:104px;line-height:23px;font:inherit;color:inherit;background:0 0;border:0;outline:0;padding:10px 7px;font-size:13px}.chat-input-row textarea::placeholder{color:var(--text-muted,#52525b)}.chat-input-row button{color:#fff;background:#09090b;border:0;border-radius:8px;flex:none;place-items:center;width:44px;height:44px;display:grid}.chat-input-row button:hover{background:#27272a}.chat-input-meta{color:var(--text-muted,#52525b);min-height:19px;padding-top:5px;font-size:12px}.chat-footer{color:var(--text-muted,#52525b);flex:none;justify-content:space-between;align-items:center;gap:6px;padding:0 16px 2px;font-size:12px;display:flex}.chat-footer button{min-height:44px;color:var(--text-muted,#52525b);background:0 0;border:0;align-items:center;gap:5px;padding:0;font-size:12px;display:flex}.chat-footer button:hover{color:var(--primary,#2563eb);text-decoration:underline}.chat-footer>span{align-items:center;gap:3px;display:flex}.chat-typing{align-items:center;gap:4px;min-width:40px;height:20px;display:flex}.chat-typing i{background:var(--text-muted,#52525b);border-radius:50%;width:5px;height:5px;animation:1.2s ease-in-out infinite chat-dot}.chat-typing i:nth-child(2){animation-delay:.15s}.chat-typing i:nth-child(3){animation-delay:.3s}.chat-caret{vertical-align:middle;background:currentColor;width:2px;height:13px;margin-left:2px;animation:1s steps(2,end) infinite chat-caret;display:inline-block}.chat-new-message{border:1px solid var(--border,#e4e4e7);min-height:44px;color:var(--primary,#2563eb);white-space:nowrap;background:#fff;border-radius:999px;align-items:center;gap:6px;padding:7px 14px;font-size:12px;display:flex;position:absolute;bottom:8px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #00000012}.chat-retry{min-height:44px;color:var(--danger,#b91c1c);background:0 0;border:0;align-items:center;gap:6px;padding:0;font-size:13px;display:flex}.chat-handoff{background:var(--surface-muted,#f7f7f8);border-radius:14px;margin:12px 0;padding:14px}.chat-handoff h3{margin:0 0 10px;font-size:17px;line-height:1.4}.chat-handoff>label:not(.chat-consent){margin:10px 0 5px;font-size:12px;font-weight:600;display:block}.chat-handoff>input,.chat-handoff>textarea{border:1px solid var(--border,#e4e4e7);width:100%;max-width:100%;min-height:44px;color:var(--text,#09090b);font:inherit;resize:vertical;background:#fff;border-radius:8px;padding:9px 10px;font-size:14px;display:block}.chat-small{color:var(--text-muted,#52525b);margin:6px 0;font-size:12px;line-height:1.6}.chat-consent{align-items:center;gap:9px;min-height:44px;margin:10px 0;font-size:12px;line-height:1.6;display:flex}.chat-consent input{width:20px;height:20px;accent-color:var(--primary,#2563eb);flex:none}.chat-consent a{color:var(--primary-hover,#1d4ed8);text-decoration:underline}.chat-field-error{color:var(--danger,#b91c1c);margin:5px 0;font-size:12px;line-height:1.5}.chat-handoff-actions{gap:8px;margin-top:10px;display:flex}.chat-handoff-actions button{border-radius:8px;min-height:44px;padding:8px 12px;font-size:12px;font-weight:600}.chat-submit{color:#fff;background:#09090b;border:0;flex:1;justify-content:center;align-items:center;gap:6px;display:flex}.chat-cancel{border:1px solid var(--border,#e4e4e7);color:var(--text-muted,#52525b);background:#fff}.chat-handoff-success{color:var(--primary,#2563eb);background:var(--primary-tint,#eff6ff);border-radius:12px;gap:8px;padding:15px;font-size:13px;display:flex}.chat-handoff-success svg{flex:none}.chat-handoff-success p{margin:0}.chat-challenge{max-height:135px;padding:6px 16px;overflow-y:auto}.chat-challenge p{margin:0 0 4px;font-size:12px}.chat-spinner{animation:.8s linear infinite chat-spin}.chat-launcher{color:#fff;z-index:70;cursor:pointer;background:#09090b;border:0;border-radius:50%;place-items:center;width:56px;height:56px;display:grid;position:fixed;bottom:24px;right:24px;box-shadow:0 6px 24px #09090b2e}.chat-launcher:hover{background:#27272a}.chat-launcher.has-pulse:after{content:"";border:2px solid var(--primary,#2563eb);pointer-events:none;border-radius:50%;animation:1.1s ease-out forwards chat-pulse;position:absolute;inset:0}.chat-launcher-hint{border:1px solid var(--border,#e4e4e7);color:var(--text-muted,#52525b);z-index:69;background:#fff;border-radius:10px;padding:9px 12px;font-size:12px;line-height:1.4;position:fixed;bottom:35px;right:90px;box-shadow:0 4px 12px #09090b0c}.chat-floating-shell{z-index:75;width:380px;max-width:calc(100vw - 32px);position:fixed;bottom:94px;right:24px}@keyframes chat-dot{0%,60%,to{opacity:.55;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}@keyframes chat-caret{50%{opacity:0}}@keyframes chat-spin{to{transform:rotate(360deg)}}@keyframes chat-pulse{0%{opacity:.5;transform:scale(1)}to{opacity:0;transform:scale(1.65)}}@media (max-width:767px){.chat-hero{height:480px}.chat-header{padding:12px}.chat-message-list{padding:13px 12px 5px}.chat-suggestions{scrollbar-width:thin;flex-wrap:nowrap;padding-bottom:5px;overflow-x:auto}.chat-suggestions button{white-space:normal;flex:none;max-width:230px}.chat-suggestions.is-followup{flex-wrap:wrap;overflow:visible}.chat-suggestions.is-followup button{max-width:100%}.chat-input-form{padding:9px 12px 0}.chat-input-row textarea{font-size:16px}.chat-footer{padding:0 12px 2px}.chat-floating-shell{z-index:100;width:100%;max-width:none;height:100dvh;inset:0}.chat-floating{height:100dvh;max-height:none;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);border-radius:0}.chat-launcher.is-open{display:none}.chat-launcher{bottom:16px;right:16px}.chat-launcher-hint{bottom:26px;right:82px}.chat-heading strong{font-size:13px}.chat-icon-button{width:44px}.chat-handoff>input,.chat-handoff>textarea{font-size:16px}}@media (prefers-reduced-motion:reduce){.chat-panel *,.chat-launcher:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.chat-caret,.chat-launcher.has-pulse:after{display:none}.chat-message{opacity:1!important;transform:none!important}}
