.dsfc-chat{--dsfc-primary:#315be8;--dsfc-primary-hover:#2449c7;--dsfc-bg:#fff;--dsfc-surface:#f6f8fc;--dsfc-text:#172033;--dsfc-muted:#667085;--dsfc-border:#dce2ec;--dsfc-user-bubble:#315be8;--dsfc-user-text:#fff;--dsfc-font:inherit;--dsfc-height:640px;--dsfc-max-width:980px;--dsfc-radius:20px;background:var(--dsfc-bg);border:1px solid var(--dsfc-border);border-radius:var(--dsfc-radius);box-shadow:0 18px 50px rgba(23,32,51,.1);color:var(--dsfc-text);display:flex;flex-direction:column;font-family:var(--dsfc-font);height:var(--dsfc-height);margin:28px auto;max-width:var(--dsfc-max-width);min-height:420px;overflow:hidden;position:relative;width:100%}.dsfc-chat *{box-sizing:border-box}.dsfc-header{align-items:center;background:var(--dsfc-bg);border-bottom:1px solid var(--dsfc-border);display:flex;gap:18px;justify-content:space-between;padding:16px 20px}.dsfc-identity{align-items:center;display:flex;gap:12px;min-width:0}.dsfc-avatar{align-items:center;background:linear-gradient(145deg,var(--dsfc-primary),#7b91ff);border-radius:14px;color:#fff;display:flex;flex:0 0 42px;font-size:20px;font-weight:750;height:42px;justify-content:center;overflow:hidden;width:42px}.dsfc-avatar img{height:100%;object-fit:cover;width:100%}.dsfc-title{color:var(--dsfc-text);font-size:17px;line-height:1.25;margin:0}.dsfc-subtitle{color:var(--dsfc-muted);font-size:12.5px;line-height:1.35;margin:3px 0 0}.dsfc-header-actions{display:flex;gap:7px}.dsfc-icon-button{align-items:center;background:var(--dsfc-surface);border:1px solid var(--dsfc-border);border-radius:10px;color:var(--dsfc-text);cursor:pointer;display:flex;font-size:18px;height:40px;justify-content:center;min-width:40px;padding:0}.dsfc-icon-button:hover,.dsfc-icon-button:focus-visible{border-color:var(--dsfc-primary);color:var(--dsfc-primary);outline:2px solid color-mix(in srgb,var(--dsfc-primary) 22%,transparent);outline-offset:2px}.dsfc-messages{background:linear-gradient(180deg,var(--dsfc-surface),var(--dsfc-bg));display:flex;flex:1;flex-direction:column;gap:18px;overflow-y:auto;padding:22px 22px 10px;scroll-behavior:smooth}.dsfc-message{display:flex;flex-direction:column;max-width:min(82%,760px)}.dsfc-message--assistant{align-self:flex-start}.dsfc-message--user{align-self:flex-end}.dsfc-message-label{color:var(--dsfc-muted);font-size:11px;font-weight:700;letter-spacing:.02em;margin:0 8px 5px;text-transform:uppercase}.dsfc-message-content{background:var(--dsfc-bg);border:1px solid var(--dsfc-border);border-radius:4px 18px 18px;box-shadow:0 5px 18px rgba(23,32,51,.045);font-size:15px;line-height:1.66;overflow-wrap:anywhere;padding:13px 16px;white-space:normal}.dsfc-message--user .dsfc-message-content{background:var(--dsfc-user-bubble);border-color:var(--dsfc-user-bubble);border-radius:18px 4px 18px 18px;color:var(--dsfc-user-text)}.dsfc-message-content>:first-child{margin-top:0}.dsfc-message-content>:last-child{margin-bottom:0}.dsfc-message-content p{margin:.7em 0;white-space:pre-wrap}.dsfc-message-content h3,.dsfc-message-content h4,.dsfc-message-content h5,.dsfc-message-content h6{color:inherit;line-height:1.35;margin:1em 0 .45em}.dsfc-message-content ul,.dsfc-message-content ol{margin:.6em 0;padding-inline-start:1.5em}.dsfc-message-content li+li{margin-top:.3em}.dsfc-message-content a{color:var(--dsfc-primary);font-weight:600;text-decoration:underline;text-underline-offset:2px}.dsfc-message-content code{background:rgba(99,115,148,.12);border-radius:5px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.9em;padding:.12em .32em}.dsfc-message-content pre{background:#111827;border-radius:12px;color:#e5e7eb;max-width:100%;overflow:auto;padding:14px}.dsfc-message-content pre code{background:transparent;color:inherit;padding:0;white-space:pre}.dsfc-message-content blockquote{border-inline-start:3px solid var(--dsfc-primary);color:var(--dsfc-muted);margin:1em 0;padding-inline-start:1em;white-space:pre-wrap}.dsfc-message-actions{align-items:center;display:flex;gap:10px;margin:6px 8px 0}.dsfc-copy-message{background:transparent;border:0;color:var(--dsfc-muted);cursor:pointer;font:inherit;font-size:12px;padding:3px 0}.dsfc-copy-message:hover,.dsfc-copy-message:focus-visible{color:var(--dsfc-primary);outline:0;text-decoration:underline}.dsfc-message-meta{color:var(--dsfc-muted);font-size:11px}.dsfc-status{color:var(--dsfc-muted);font-size:12px;min-height:19px;padding:5px 22px 0}.dsfc-chat.is-busy .dsfc-status:before{animation:dsfc-pulse 1.2s infinite;background:var(--dsfc-primary);border-radius:50%;content:"";display:inline-block;height:7px;margin-inline-end:7px;width:7px}.dsfc-chat.has-error .dsfc-status{color:#b42318}.dsfc-suggestions{display:flex;gap:8px;overflow-x:auto;padding:7px 22px 10px;scrollbar-width:thin}.dsfc-suggestion{background:var(--dsfc-surface);border:1px solid var(--dsfc-border);border-radius:999px;color:var(--dsfc-text);cursor:pointer;flex:0 0 auto;font:inherit;font-size:12px;max-width:290px;overflow:hidden;padding:8px 12px;text-overflow:ellipsis;white-space:nowrap}.dsfc-suggestion:hover,.dsfc-suggestion:focus-visible{border-color:var(--dsfc-primary);color:var(--dsfc-primary);outline:2px solid color-mix(in srgb,var(--dsfc-primary) 18%,transparent);outline-offset:1px}.dsfc-form{background:var(--dsfc-bg);border-top:1px solid var(--dsfc-border);padding:12px 18px 14px}.dsfc-composer{background:var(--dsfc-surface);border:1px solid var(--dsfc-border);border-radius:16px;padding:4px 6px 6px;transition:border-color .2s,box-shadow .2s}.dsfc-composer:focus-within{border-color:var(--dsfc-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--dsfc-primary) 16%,transparent)}.dsfc-input{background:transparent;border:0;box-shadow:none;color:var(--dsfc-text);display:block;font:inherit;font-size:15px;line-height:1.5;max-height:180px;min-height:46px;outline:0;padding:10px 10px 4px;resize:none;width:100%}.dsfc-input::placeholder{color:var(--dsfc-muted)}.dsfc-composer-footer{align-items:center;display:flex;gap:10px;justify-content:space-between;padding:2px 3px}.dsfc-counter{color:var(--dsfc-muted);font-size:10px;padding-inline-start:7px}.dsfc-submit-group{align-items:center;display:flex;gap:7px}.dsfc-send,.dsfc-stop{align-items:center;border:0;border-radius:11px;cursor:pointer;display:flex;font:inherit;font-size:13px;font-weight:700;gap:7px;justify-content:center;min-height:40px;padding:8px 14px}.dsfc-send{background:var(--dsfc-primary);color:#fff}.dsfc-send:hover,.dsfc-send:focus-visible{background:var(--dsfc-primary-hover);outline:3px solid color-mix(in srgb,var(--dsfc-primary) 22%,transparent);outline-offset:2px}.dsfc-send:disabled{cursor:not-allowed;opacity:.55}.dsfc-stop{background:#fff0f0;color:#b42318}.dsfc-consent{align-items:flex-start;color:var(--dsfc-muted);display:flex;font-size:11.5px;gap:7px;line-height:1.45;margin:9px 4px 0}.dsfc-consent input{flex:0 0 auto;margin-top:2px}.dsfc-consent a{color:var(--dsfc-primary)}.dsfc-turnstile{margin:9px 3px 0}.dsfc-footer-note{background:var(--dsfc-bg);color:var(--dsfc-muted);font-size:10.5px;line-height:1.35;padding:0 20px 11px}.dsfc-footer-note p{margin:0}.dsfc-noscript{background:#fff8e5;border-top:1px solid #f4c95d;margin:0;padding:12px 18px}.dsfc-honeypot{height:1px;left:-10000px;overflow:hidden;position:absolute;top:auto;width:1px}.dsfc-chat .screen-reader-text,.dsfc-floating-wrap .screen-reader-text{border:0!important;clip:rect(1px,1px,1px,1px)!important;clip-path:inset(50%)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;word-wrap:normal!important}.dsfc-seo-content{color:#263248;font-family:inherit;margin:42px auto;max-width:980px}.dsfc-seo-content>h2{font-size:30px;line-height:1.2}.dsfc-seo-intro,.dsfc-seo-howto{font-size:16px;line-height:1.75}.dsfc-seo-howto{white-space:pre-line}.dsfc-notice-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));margin:26px 0}.dsfc-info-card{background:#f6f8fc;border:1px solid #dce2ec;border-radius:14px;padding:18px}.dsfc-info-card h3{font-size:17px;margin:0 0 7px}.dsfc-info-card p{margin:0}.dsfc-faq{margin-top:34px}.dsfc-faq details{border-bottom:1px solid #dce2ec;padding:0}.dsfc-faq summary{cursor:pointer;font-weight:700;padding:15px 2px}.dsfc-faq details div{padding:0 2px 14px}.dsfc-independence{background:#eef2ff;border-inline-start:4px solid #315be8;border-radius:4px 10px 10px 4px;margin-top:28px;padding:14px 16px}.dsfc-floating-wrap{bottom:max(22px,env(safe-area-inset-bottom));position:fixed;z-index:999990}.dsfc-floating--right{right:max(22px,env(safe-area-inset-right))}.dsfc-floating--left{left:max(22px,env(safe-area-inset-left))}.dsfc-floating-launcher{align-items:center;background:#315be8;border:0;border-radius:50%;box-shadow:0 14px 35px rgba(23,32,51,.3);color:#fff;cursor:pointer;display:flex;font-size:25px;height:60px;justify-content:center;margin-inline-start:auto;width:60px}.dsfc-floating--left .dsfc-floating-launcher{margin-inline-end:auto;margin-inline-start:0}.dsfc-floating-launcher:hover,.dsfc-floating-launcher:focus-visible{background:#2449c7;outline:4px solid rgba(49,91,232,.22);outline-offset:3px}.dsfc-floating-panel{bottom:76px;max-width:calc(100vw - 28px);position:absolute;width:min(430px,calc(100vw - 44px))}.dsfc-floating--right .dsfc-floating-panel{right:0}.dsfc-floating--left .dsfc-floating-panel{left:0}.dsfc-floating-panel .dsfc-chat{height:min(680px,calc(100vh - 120px));margin:0;max-width:430px}.dsfc-floating-close{align-items:center;background:#fff;border:1px solid #dce2ec;border-radius:50%;box-shadow:0 4px 12px rgba(0,0,0,.12);color:#172033;cursor:pointer;display:flex;font-size:22px;height:34px;justify-content:center;position:absolute;right:-9px;top:-9px;width:34px;z-index:3}.dsfc-floating--left .dsfc-floating-close{left:-9px;right:auto}@keyframes dsfc-pulse{0%,100%{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}@media(max-width:720px){.dsfc-chat{border-radius:14px;height:min(680px,78vh);margin:18px auto}.dsfc-header{padding:13px 14px}.dsfc-subtitle{display:none}.dsfc-messages{padding:18px 14px 8px}.dsfc-message{max-width:92%}.dsfc-form{padding:10px}.dsfc-footer-note{padding:0 12px 9px}.dsfc-notice-grid{grid-template-columns:1fr}.dsfc-seo-content>h2{font-size:25px}.dsfc-floating-wrap.is-open{inset:0;z-index:999999}.dsfc-floating-wrap.is-open .dsfc-floating-panel{bottom:0;left:0;max-width:none;right:0;top:0;width:100vw}.dsfc-floating-wrap.is-open .dsfc-chat{border:0;border-radius:0;height:100dvh;max-width:none;width:100vw}.dsfc-floating-wrap.is-open .dsfc-floating-launcher{display:none}.dsfc-floating-wrap.is-open .dsfc-floating-close{left:auto;right:10px;top:10px}.dsfc-floating--desktop-only{display:none}}@media(prefers-reduced-motion:reduce){.dsfc-chat *{animation-duration:.01ms!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* Responsive and touch robustness overrides. */
.dsfc-chat{box-sizing:border-box}
.dsfc-floating-launcher{background:var(--dsfc-primary,#315be8)}
.dsfc-floating-launcher:hover,.dsfc-floating-launcher:focus-visible{background:var(--dsfc-primary-hover,#2449c7)}
.dsfc-messages{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.dsfc-suggestions{overscroll-behavior-inline:contain}
.dsfc-turnstile,.dsfc-turnstile-widget{max-inline-size:100%;min-inline-size:0}
.dsfc-turnstile iframe{max-width:100%!important}

@media(max-width:720px){
	.dsfc-chat{height:min(680px,78dvh);min-height:min(420px,78dvh)}
	.dsfc-input{font-size:16px}
	.dsfc-icon-button{height:44px;min-width:44px}
	.dsfc-send,.dsfc-stop,.dsfc-suggestion{min-height:44px}
	.dsfc-copy-message{align-items:center;display:inline-flex;min-height:44px}
	.dsfc-floating-close{height:44px;width:44px}
	.dsfc-floating-wrap.is-open .dsfc-chat{height:100dvh;max-height:100dvh;min-height:0}
	.dsfc-floating-wrap.is-open .dsfc-header{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(68px,calc(env(safe-area-inset-right) + 58px));padding-top:max(13px,env(safe-area-inset-top))}
	.dsfc-floating-wrap.is-open .dsfc-messages{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}
	.dsfc-floating-wrap.is-open .dsfc-form{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}
	.dsfc-floating-wrap.is-open .dsfc-footer-note{padding-bottom:calc(9px + env(safe-area-inset-bottom));padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
	.dsfc-floating-wrap.is-open .dsfc-floating-close{right:max(10px,env(safe-area-inset-right));top:max(10px,env(safe-area-inset-top))}
	html:has(.dsfc-floating-wrap.is-open),body:has(.dsfc-floating-wrap.is-open){overflow:hidden;overscroll-behavior:none}
}
