.public-ai-launch{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:42px;height:42px;padding:0 12px;border:1px solid #ffffff65;border-radius:999px;background:#113b35;color:#fff;font:600 13px/1 system-ui,sans-serif;cursor:pointer}
.public-ai-launch svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.public-ai-launch{transition:background-color .2s,border-color .2s,box-shadow .2s,transform .2s}
.public-ai-launch svg{transition:transform .2s}
.public-ai-launch:focus-visible{background:#235c4f;border-color:#a2efc9;box-shadow:0 4px 16px #0003}
.public-ai-launch:active{transform:translateY(0) scale(.97)}
@media(hover:hover) and (pointer:fine){.public-ai-launch:hover{background:#235c4f;border-color:#a2efc9;box-shadow:0 5px 18px #0004;transform:translateY(-2px)}.public-ai-launch:hover svg{transform:rotate(-9deg) scale(1.1)}}
@media(prefers-reduced-motion:reduce){.public-ai-launch,.public-ai-launch svg{transition:none;transform:none!important}}
.public-ai-welcome{position:fixed;z-index:2000;box-sizing:border-box;width:min(320px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto;border:1px solid #476457;border-radius:14px;background:#142b24;color:#ecf6f2;box-shadow:0 10px 32px #0005;font:14px/1.5 system-ui,sans-serif;animation:public-ai-enter .25s ease-out}
.public-ai-welcome[hidden]{display:none}
.public-ai-welcome-open{display:flex;align-items:flex-start;gap:12px;box-sizing:border-box;width:100%;padding:20px 28px 18px 16px;border:0;border-radius:inherit;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}
.public-ai-welcome-close{position:absolute;top:3px;right:3px;width:24px;height:24px;padding:0;border:0;border-radius:6px;background:transparent;color:inherit;font-size:18px;cursor:pointer}
.public-ai-welcome button:focus-visible{outline:2px solid #a2efc9;outline-offset:-3px}
.public-ai-welcome-avatar{display:grid;place-items:center;flex:0 0 32px;width:32px;height:36px;border-radius:10px;background:#235246;animation:public-ai-welcome-head 1.4s ease-in-out 3}
.public-ai-welcome-avatar svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.public-ai-welcome-copy{display:flex;flex-direction:column;gap:5px;min-width:0}
.public-ai-welcome-copy strong{font-size:15px}
.public-ai-welcome-reply{font-size:14px;animation:public-ai-welcome-reply 1.3s ease-out both}
.public-ai-welcome-cta{font-size:13px;font-weight:700;color:#a2efc9;animation:public-ai-welcome-reply 1.6s ease-out both}
.public-ai-welcome-typing{display:flex;gap:3px;height:5px}
.public-ai-welcome-typing i{width:4px;height:4px;border-radius:50%;background:currentColor;animation:public-ai-welcome-dot 1.2s ease-in-out infinite}
.public-ai-welcome-typing i:nth-child(2){animation-delay:.15s}
.public-ai-welcome-typing i:nth-child(3){animation-delay:.3s}
@keyframes public-ai-welcome-head{50%{transform:translateY(-3px) rotate(-6deg)}}
@keyframes public-ai-welcome-dot{50%{transform:translateY(-2px);opacity:.4}}
@keyframes public-ai-welcome-reply{0%,50%{opacity:0;transform:translateY(3px)}100%{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.public-ai-welcome,.public-ai-welcome-avatar,.public-ai-welcome-reply,.public-ai-welcome-cta,.public-ai-welcome-typing i{animation:none}}
@media print{.public-ai-welcome{display:none}}
.public-ai-dialog{position:fixed;inset:94px 18px auto auto;margin:0;padding:0;width:min(360px,calc(100% - 24px));height:min(620px,calc(100dvh - 110px));max-height:calc(100dvh - 110px);max-width:calc(100% - 24px);border:1px solid #31544c;border-radius:18px;background:#101f1c;color:#ecf6f2;box-shadow:0 20px 70px #0007;font:14px/1.55 system-ui,sans-serif;color-scheme:dark;overflow:hidden}
.public-ai-dialog[open]{display:flex;flex-direction:column;animation:public-ai-enter .18s ease-out}
.public-ai-dialog{z-index:2001}
.public-ai-heading{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #31544c;flex-shrink:0}
.public-ai-heading strong{font-size:16px}
.public-ai-heading small{display:block;color:#abc5bb;font-size:11px}
.public-ai-heading button{width:34px;height:34px;border:0;border-radius:8px;background:transparent;color:inherit;font-size:25px;cursor:pointer}
.public-ai-heading-actions{display:flex;align-items:center;gap:6px}
.public-ai-heading #publicAiReset{width:auto;padding:0 8px;border:1px solid #476457;font-size:11px}
.public-ai-heading button:disabled{opacity:.6;cursor:wait}
.public-ai-messages{flex:1;min-height:0;overflow:auto;padding:16px;overflow-wrap:anywhere;overscroll-behavior:contain}
.public-ai-messages p{max-width:95%;padding:10px 12px;margin:0 0 12px;border-radius:12px;color:#e3f1eb;font-size:13px;line-height:1.6;white-space:pre-wrap}
.public-ai-assistant{background:#1a322a}
.public-ai-sources{display:flex;flex-direction:column;gap:6px;margin:0 0 14px;font-size:11px}
.public-ai-sources a{color:#a2efc9;overflow-wrap:anywhere}
.public-ai-sources iframe{width:100%;height:110px;border:0;background:#fff;border-radius:8px}
.public-ai-messages .public-ai-user{margin-left:auto;background:#235246}
.public-ai-messages .public-ai-error{border:1px solid #ce9f6f;background:#3b2a21}
.public-ai-pending{color:#b9d5c9;animation:public-ai-pulse 1.1s ease-in-out infinite}
.public-ai-resources{display:flex;flex-wrap:wrap;gap:8px;padding:8px 14px;border-top:1px solid #31544c}
.public-ai-resources a{padding:4px 8px;border:1px solid #31544c;border-radius:999px;color:#c7ebda;font-size:11px;text-decoration:none}
.public-ai-links{flex-shrink:0;padding:0 12px;font-size:10px;color:#adc3b8}
.public-ai-links summary,.public-ai-notice summary{cursor:pointer}
.public-ai-links .public-ai-resources{padding:6px 0;border:0}
.public-ai-form{display:flex;flex-direction:column;gap:6px;margin:0;padding:8px 12px;flex-shrink:0}
.public-ai-composer{width:100%;border:1px solid #476457;border-radius:14px;background:#182b26;overflow:hidden}
.public-ai-composer:focus-within{border-color:#91cfb2}
.public-ai-form textarea{display:block;box-sizing:border-box;width:100%;min-height:38px;max-height:140px;resize:none;padding:9px 10px 3px;border:0;outline:0;background:transparent;color:#fff;font:14px/20px system-ui,sans-serif}
.public-ai-tools{display:flex;align-items:center;justify-content:space-between;padding:3px 6px 6px}
.public-ai-form button{display:grid;place-items:center;width:30px;height:30px;padding:5px;border:0;border-radius:9px;background:#124537;color:#dff5eb;cursor:pointer}
.public-ai-tools svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.public-ai-attach{position:relative;display:grid;place-items:center;width:30px;height:30px;overflow:hidden;border-radius:6px;color:#bed0c7;cursor:pointer}
.public-ai-attach input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.public-ai-attach:focus-within{outline:2px solid #a2efc9}
.public-ai-preview{position:relative;align-self:flex-start}
.public-ai-preview[hidden]{display:none}
.public-ai-preview img{display:block;width:64px;height:64px;object-fit:cover;border-radius:9px}
.public-ai-preview button{position:absolute;top:-4px;right:-6px;width:22px;height:22px;background:#263e34;font-size:16px}
.public-ai-messages .public-ai-shared-image{display:block;max-width:180px;max-height:180px;object-fit:contain;border-radius:10px;margin-bottom:12px;margin-left:auto}
.public-ai-form .public-ai-file-error{margin:0;color:#ffd3ad;font-size:11px}
.public-ai-file-error[hidden]{display:none}
.public-ai-form button:disabled{opacity:.6;cursor:wait}
.public-ai-dialog .public-ai-notice{margin:0;padding:0 14px 10px;color:#adc3b8;font-size:10px;line-height:1.5;flex-shrink:0;max-height:90px;overflow:auto}
.public-ai-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.public-ai-dialog :focus-visible:not(textarea),.public-ai-launch:focus-visible{outline:2px solid #a2efc9;outline-offset:2px}
@keyframes public-ai-enter{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@keyframes public-ai-pulse{50%{opacity:.5}}
@keyframes public-ai-mobile-enter{from{transform:translateY(-100%)}to{transform:translateY(0)}}
@media(max-width:600px){
    .public-ai-launch{width:38px;height:38px;min-width:38px;padding:0}
    .public-ai-launch span{display:none}
    html.public-ai-mobile-open{overflow:hidden;overscroll-behavior:none}
    html.public-ai-mobile-open body{position:fixed;top:var(--public-ai-page-top,0);left:0;right:0;overflow:hidden}
    .public-ai-dialog{inset:var(--public-ai-top,0) 0 auto 0;box-sizing:border-box;width:100%;max-width:none;height:var(--public-ai-height,100dvh);max-height:none;margin:0;border:0;border-radius:0;box-shadow:none;transition:none}
    .public-ai-dialog[open]{animation:public-ai-mobile-enter .25s ease-out}
    .public-ai-dialog::backdrop{background:#101f1c}
    .public-ai-heading{padding-top:max(10px,env(safe-area-inset-top));padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}
    .public-ai-messages{touch-action:pan-y;-webkit-overflow-scrolling:touch}
    .public-ai-form textarea{font-size:16px}
    .public-ai-dialog .public-ai-notice{padding-bottom:max(10px,env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){.public-ai-dialog[open],.public-ai-pending{animation:none}}
