.chat-launcher{position:fixed;right:28px;bottom:max(24px,env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;gap:12px;background:var(--accent);color:#182536;min-height:58px;padding:12px 18px;border:1px solid #a7ccff;border-radius:18px;box-shadow:0 8px 30px #10192755;font-size:13px;font-weight:600;transition:background .16s,transform .16s}.chat-launcher:hover{background:#a7ccff;transform:translateY(-2px)}.chat-launcher svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.launcher-badge{border-left:1px solid #23395655;padding-left:12px;font-size:10px}
.chat{position:fixed;inset:auto 24px 24px auto;width:430px;height:min(750px,calc(100dvh - 48px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);margin:0;padding:0;overflow:hidden;background:var(--bg);color:var(--text);border:1px solid #64748a;border-radius:22px;box-shadow:0 24px 80px #10192766;overscroll-behavior:contain}.chat[open]{display:flex;flex-direction:column;animation:chat-enter .18s ease-out}.chat::backdrop{background:#0b132333}.chat-header{display:flex;align-items:center;gap:10px;flex:none;background:var(--surface);border-bottom:1px solid #52617377;padding:18px 14px 17px 18px}.chat-monogram{width:38px;height:42px;display:grid;place-items:center;flex:none;font-size:23px;font-weight:600;color:var(--accent);letter-spacing:-2px}.chat-heading{flex:1;min-width:0}.chat-title-line{display:flex;align-items:center;gap:7px}.chat-title-line h2{font-family:Onest,sans-serif;font-weight:600;font-size:15px;line-height:1.5;letter-spacing:-.3px;white-space:nowrap}.ai-badge{border:1px solid #83b4ff66;border-radius:5px;padding:1px 4px;color:var(--accent);font-size:9px;line-height:1.4}.chat-heading p{margin:3px 0 0;font-size:10px;line-height:1.5;color:var(--muted)}.icon-button{display:grid;place-items:center;min-width:40px;height:44px;border:0;background:none;color:var(--muted);border-radius:9px;padding:10px}.icon-button:hover{color:var(--text);background:var(--raised)}.icon-button svg,.send-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.chat-mode{display:flex;align-items:center;gap:6px;flex:none;padding:9px 18px;background:#29323e;font-size:9px;color:var(--muted);min-height:40px}.mode-dot{width:5px;height:5px;background:var(--accent);border-radius:50%;flex:none}.chat-mode button{margin:-6px -7px -6px auto;min-height:36px;padding:6px 7px;white-space:nowrap;border:0;background:none;color:var(--accent);font-size:10px;border-radius:5px}.chat-mode button:hover{background:var(--raised)}.chat-history-wrap{flex:1;min-height:0;position:relative;display:flex}.chat-history{flex:1;min-width:0;overflow:auto;overscroll-behavior:contain;overflow-anchor:none;scrollbar-width:thin;scrollbar-color:#526173 transparent;padding:23px 18px 18px}.chat-history:focus-visible{outline-offset:-4px}.day-label{font-size:10px;text-align:center;color:var(--muted);margin:0 0 19px}.chat-message{margin-bottom:18px;max-width:100%;min-width:0}.speaker{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:6px;margin:0 0 6px 3px}.speaker-ai{font-size:8px;color:var(--accent);border:1px solid #83b4ff55;padding:0 3px;border-radius:3px}.message-bubble{background:var(--surface);border:1px solid #52617380;border-radius:3px 14px 14px 14px;padding:14px 15px;font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;min-width:0}.chat-message.user{margin-left:30px}.user .speaker{justify-content:flex-end;margin-right:3px}.user .message-bubble{background:#354b65;border-color:#647d9b;border-radius:14px 3px 14px 14px}.suggestions{display:flex;align-items:flex-start;flex-direction:column;gap:7px;margin:0 0 20px}.suggestion{border:1px solid #64748a;background:transparent;color:#d6e7ff;border-radius:9px;min-height:44px;padding:9px 12px;font-size:12px;text-align:left}.suggestion:hover{background:#354b65}.suggestion span{margin-left:12px;color:var(--accent)}.turn-status{color:var(--muted);font-size:12px;line-height:1.6;margin:0 0 18px;padding:9px 2px}.turn-status.waiting:before{content:'';display:inline-block;width:6px;height:6px;margin-right:8px;border-radius:50%;background:var(--accent);animation:waiting-pulse 1s ease-in-out infinite}.turn-status.error{border:1px solid #a07485;border-radius:10px;background:#442f3b;padding:12px;color:#ffd4dd;overflow-wrap:anywhere}.retry-button{display:block;background:none;border:1px solid #c3cbd780;color:var(--text);border-radius:7px;min-height:44px;padding:6px 11px;font-size:12px;margin-top:9px}.retry-button:hover{background:#f5f7fa11}.chat-feedback{flex:none;padding:8px 18px;background:#442f3b;color:#ffd4dd;font-size:12px;overflow-wrap:anywhere}.jump-button{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);z-index:1;white-space:nowrap;min-height:44px;border:1px solid var(--accent);border-radius:22px;background:#2d3540;box-shadow:0 5px 18px #10192780;color:var(--accent);padding:8px 14px;font-size:12px}.chat-composer{flex:none;border-top:1px solid #52617388;padding:14px 16px max(12px,env(safe-area-inset-bottom));background:var(--surface)}.composer-input{display:flex;align-items:flex-end;gap:7px;border:1px solid #8391a4;border-radius:12px;padding:7px;background:#29323e}.composer-input:focus-within{border-color:var(--accent)}.composer-input textarea{width:100%;flex:1;min-width:0;min-height:40px;max-height:min(120px,20dvh);resize:none;overflow-y:auto;border:0;background:transparent;color:var(--text);line-height:1.5;font-size:14px;padding:9px 6px}.composer-input textarea::placeholder{color:#b4becd}.composer-input textarea:focus-visible{outline:0}.composer-input:has(textarea:focus-visible){outline:2px solid var(--focus);outline-offset:3px}.send-button{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:9px;border:0;background:var(--accent);color:#182536}.send-button:hover:enabled{background:#a7ccff}.composer-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:9px;margin:8px 2px 0}.chat-privacy{text-align:center;color:var(--muted);font-size:9px;margin:7px 0 0}.demo-label{display:block;font-size:11px;color:#d5e6ff;background:#354b6555;border:1px dashed #83b4ff80;border-radius:10px;padding:10px 12px;margin-bottom:18px;line-height:1.6}.demo-transcript{border-top:1px solid #52617366;padding-top:14px;margin-top:8px}.offer-list{display:grid;gap:12px;margin-top:12px}.offer-card{background:#29323e;border:1px solid #64748a;border-radius:13px;padding:16px;min-width:0;overflow-wrap:anywhere}.offer-kicker{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--accent);margin-bottom:6px}.offer-card h3{font:600 16px/1.4 Onest,sans-serif;letter-spacing:-.2px;margin:0 0 7px}.offer-description{font-size:13px;color:var(--muted);line-height:1.6;margin:0 0 12px}.offer-details{font-size:12px;color:#d7dfea;line-height:1.6;margin:0 0 12px}.offer-price{font-size:22px;font-weight:600;line-height:1.4;letter-spacing:-.7px}.offer-basis{color:var(--muted);font-size:11px;margin-bottom:13px}.offer-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.offer-program{font-size:12px;color:var(--accent);text-underline-offset:4px;min-height:44px;display:inline-flex;align-items:center}.discuss-button{min-height:44px;padding:9px 12px;font-size:12px;color:#172536;background:var(--accent);border:0;border-radius:7px;flex:1;white-space:normal}.discuss-button:hover{background:#a7ccff}.offer-contact-notice{font-size:12px;color:#d7dfea;border-top:1px solid #526173;margin:12px 0 0;padding-top:10px}.offer-image{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:8px;margin:0 0 12px}.source-links{margin:12px 2px 0;display:flex;flex-wrap:wrap;gap:8px}.source-links a{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:#b4d4ff;min-height:36px;text-underline-offset:3px}.source-links a:before{content:'↗'}.message-caption{font-size:10px;color:var(--muted);margin:7px 2px 0}
@keyframes chat-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes waiting-pulse{50%{opacity:.4}}
@media(max-width:600px){.chat-launcher{right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));min-height:54px;border-radius:16px}.chat{inset:auto 0 0;width:100%;max-width:100%;height:var(--chat-viewport-height,100dvh);max-height:var(--chat-viewport-height,100dvh);top:var(--chat-viewport-top,0px);bottom:auto;border:0;border-radius:0}.chat-header{padding:calc(12px + env(safe-area-inset-top)) 10px 12px 12px;gap:5px}.chat-heading p{font-size:9px}.chat-title-line h2{font-size:14px}.chat-monogram{width:32px}.icon-button{min-width:40px}.chat-mode{padding-inline:16px;font-size:9px}.chat-mode button{font-size:9px;min-height:44px}.chat-history{padding:20px 16px 14px}.composer-input textarea{font-size:16px;line-height:1.4}.composer-meta{font-size:8px}.chat-composer{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}.chat-message.user{margin-left:24px}}
@media(max-height:500px){.chat-header{padding-block:8px}.chat-privacy,.composer-meta{display:none}.chat-composer{padding-top:8px}.chat-mode{min-height:32px}.chat-monogram{height:32px}}
.offer-details{white-space:pre-line}.chat-heading p{font-size:11px}.chat-mode,.chat-mode button{font-size:10px}.icon-button{min-width:44px}.chat-privacy{font-size:10px}.composer-meta{font-size:9px}
.inline-source{display:inline-block;color:var(--accent);padding:0 3px;margin:0 2px;text-decoration:underline;text-underline-offset:3px;font-size:.9em}.search-label{color:var(--muted);font-size:10px;margin:7px 2px 0}
