:root{--iris-red:#c91522;--iris-red-dark:#9d0d17;--iris-ink:#151515;--iris-soft:#f7f7f8;--iris-line:#e4e4e7;--iris-shadow:0 18px 55px rgba(0,0,0,.22)}
.iris-root{position:fixed;right:22px;bottom:22px;z-index:2147482000;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--iris-ink)}
.iris-launcher{position:relative;width:70px;height:70px;border:0;border-radius:50%;padding:4px;background:#fff;box-shadow:0 10px 28px rgba(0,0,0,.25);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;isolation:isolate}
.iris-launcher:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 15px 35px rgba(0,0,0,.3)}
.iris-launcher img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.iris-pulse{position:absolute;inset:-5px;border:2px solid rgba(201,21,34,.45);border-radius:50%;z-index:-1;animation:irisPulse 2.5s infinite}
.iris-online{position:absolute;right:3px;bottom:7px;width:14px;height:14px;border:3px solid #fff;background:#26b36b;border-radius:50%}
@keyframes irisPulse{0%{transform:scale(.92);opacity:0}25%{opacity:1}70%{transform:scale(1.18);opacity:0}100%{opacity:0}}
.iris-nudge{position:absolute;right:83px;bottom:8px;width:250px;background:#fff;border:1px solid var(--iris-line);box-shadow:0 10px 30px rgba(0,0,0,.18);border-radius:16px;padding:13px 34px 13px 15px;opacity:0;transform:translateY(10px) scale(.97);pointer-events:none;transition:.25s ease}
.iris-nudge::after{content:"";position:absolute;right:-8px;bottom:22px;width:16px;height:16px;background:#fff;border-top:1px solid var(--iris-line);border-right:1px solid var(--iris-line);transform:rotate(45deg)}
.iris-nudge.show{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}
.iris-nudge strong,.iris-nudge span{display:block}.iris-nudge strong{font-size:14px;color:var(--iris-red)}.iris-nudge span{font-size:13px;line-height:1.35;margin-top:2px;color:#3f3f46}
.iris-nudge-close{position:absolute;right:7px;top:5px;border:0;background:transparent;font-size:20px;color:#777;cursor:pointer;z-index:2}
.iris-panel{position:absolute;right:0;bottom:84px;width:min(410px,calc(100vw - 30px));height:min(670px,calc(100vh - 120px));background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:22px;box-shadow:var(--iris-shadow);overflow:hidden;display:flex;flex-direction:column;opacity:0;transform:translateY(16px) scale(.97);pointer-events:none;transform-origin:bottom right;transition:opacity .2s ease,transform .22s ease}
.iris-panel.open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}
.iris-header{min-height:76px;background:linear-gradient(135deg,var(--iris-red),var(--iris-red-dark));color:#fff;padding:12px 14px;display:flex;align-items:center;justify-content:space-between}
.iris-brand{display:flex;align-items:center;gap:10px}.iris-brand img{width:48px;height:48px;border-radius:50%;border:2px solid rgba(255,255,255,.85);object-fit:cover}.iris-brand strong{display:block;font-size:19px;line-height:1.05}.iris-brand span{display:block;font-size:11px;margin-top:4px;opacity:.92}
.iris-header-actions{display:flex;gap:6px}.iris-header-actions button{width:34px;height:34px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:22px;cursor:pointer}.iris-header-actions button:hover{background:rgba(255,255,255,.22)}
.iris-quick{display:flex;gap:6px;overflow-x:auto;padding:10px 12px 8px;border-bottom:1px solid var(--iris-line);scrollbar-width:none}.iris-quick::-webkit-scrollbar{display:none}.iris-quick button{flex:0 0 auto;border:1px solid #f1c9cd;background:#fff;color:#8e121b;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:600;cursor:pointer}.iris-quick button:hover{background:#fff3f4}
.iris-messages{flex:1;overflow-y:auto;padding:16px 13px 18px;background:linear-gradient(#fff,#fbfbfc);scroll-behavior:smooth}
.iris-message{display:flex;gap:8px;margin:0 0 14px;align-items:flex-end}.iris-message.user{justify-content:flex-end}.iris-message .avatar{width:30px;height:30px;border-radius:50%;object-fit:cover;flex:0 0 30px}.iris-bubble{max-width:82%;padding:10px 12px;border-radius:16px;font-size:14px;line-height:1.48;word-wrap:break-word;white-space:normal}.iris-message.assistant .iris-bubble{background:#f0f0f2;border-bottom-left-radius:5px}.iris-message.user .iris-bubble{background:var(--iris-red);color:#fff;border-bottom-right-radius:5px}.iris-bubble p{margin:0 0 8px}.iris-bubble p:last-child{margin-bottom:0}.iris-bubble ul,.iris-bubble ol{margin:6px 0 6px 18px;padding:0}.iris-bubble a{color:#8a0f18;text-decoration:underline}.iris-message.user .iris-bubble a{color:#fff}.iris-img-msg{max-width:180px;display:block;border-radius:12px;margin-bottom:7px}
.iris-sources{max-width:82%;margin:-8px 0 14px 38px;padding:8px 10px;border:1px solid var(--iris-line);border-radius:12px;background:#fff}.iris-sources strong{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#777;margin-bottom:4px}.iris-sources a{display:block;font-size:12px;color:#8e121b;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:3px 0}.iris-sources a:hover{text-decoration:underline}
.iris-typing{display:inline-flex;align-items:center;gap:4px}.iris-typing i{width:6px;height:6px;background:#777;border-radius:50%;display:block;animation:irisTyping 1.1s infinite}.iris-typing i:nth-child(2){animation-delay:.14s}.iris-typing i:nth-child(3){animation-delay:.28s}@keyframes irisTyping{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-4px);opacity:1}}
.iris-preview{position:relative;padding:8px 14px 0;border-top:1px solid var(--iris-line);background:#fff}.iris-preview img{width:74px;height:74px;object-fit:cover;border-radius:10px;border:1px solid var(--iris-line)}.iris-preview button{position:absolute;left:76px;top:2px;width:24px;height:24px;border:0;border-radius:50%;background:#222;color:#fff;cursor:pointer}
.iris-form{display:flex;align-items:flex-end;gap:6px;padding:10px 10px;border-top:1px solid var(--iris-line);background:#fff}.iris-form textarea{flex:1;min-height:42px;max-height:120px;resize:none;border:1px solid #d7d7db;border-radius:18px;padding:10px 12px;font:inherit;font-size:14px;outline:none;line-height:1.35}.iris-form textarea:focus{border-color:#d75d65;box-shadow:0 0 0 3px rgba(201,21,34,.08)}.iris-attach,.iris-mic,.iris-send{width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;border:0;border-radius:50%;cursor:pointer}.iris-attach,.iris-mic{background:#f1f1f3;color:#444;font-size:20px}.iris-mic.listening{background:#ffe4e6;color:var(--iris-red);animation:irisMic 1.2s infinite}@keyframes irisMic{50%{transform:scale(1.08)}}.iris-send{background:var(--iris-red);color:#fff;font-size:17px}.iris-send:disabled{opacity:.45;cursor:not-allowed}
.iris-disclaimer{padding:7px 12px 10px;text-align:center;font-size:10px;line-height:1.25;color:#777;background:#fff}
@media(max-width:600px){.iris-root{right:12px;bottom:12px}.iris-launcher{width:62px;height:62px}.iris-panel{position:fixed;left:8px;right:8px;bottom:82px;width:auto;height:min(72vh,650px);border-radius:18px}.iris-nudge{right:72px;width:min(230px,calc(100vw - 105px));bottom:5px}.iris-quick{padding-top:8px}.iris-header{min-height:70px}.iris-brand img{width:43px;height:43px}}
@media(prefers-reduced-motion:reduce){.iris-pulse,.iris-mic.listening{animation:none}.iris-panel,.iris-nudge,.iris-launcher{transition:none}}


/* v1.0.1 — isolate Iris circular controls from theme button styles */
.iris-root .iris-header-actions button,
.iris-root .iris-nudge-close,
.iris-root .iris-preview button,
.iris-root .iris-attach,
.iris-root .iris-mic,
.iris-root .iris-send {
  box-sizing:border-box !important;
  margin:0 !important;
  padding:0 !important;
  min-width:0 !important;
  min-height:0 !important;
  max-width:none !important;
  text-indent:0 !important;
  letter-spacing:0 !important;
  line-height:1 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  vertical-align:middle !important;
  -webkit-appearance:none !important;
  appearance:none !important;
  background-image:none !important;
  box-shadow:none;
}
.iris-root .iris-header-actions{align-items:center;flex:0 0 auto}
.iris-root .iris-header-actions button{
  width:36px !important;
  height:36px !important;
  flex:0 0 36px !important;
  border-radius:50% !important;
}
.iris-root .iris-attach,
.iris-root .iris-mic,
.iris-root .iris-send{
  width:40px !important;
  height:40px !important;
  flex:0 0 40px !important;
  border-radius:50% !important;
}
.iris-root .iris-preview button{
  width:24px !important;
  height:24px !important;
  border-radius:50% !important;
}
.iris-root .iris-nudge-close{
  width:28px !important;
  height:28px !important;
  border-radius:50% !important;
}
.iris-root .iris-icon{
  width:18px !important;
  height:18px !important;
  display:block !important;
  flex:0 0 18px !important;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
  pointer-events:none;
}
.iris-root .iris-icon-small{width:14px !important;height:14px !important;flex-basis:14px !important}
.iris-root .iris-icon-send{width:17px !important;height:17px !important;fill:currentColor;stroke:currentColor;stroke-width:1.4}
.iris-root .iris-attach{cursor:pointer}
.iris-root .iris-attach .screen-reader-text{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0,0,0,0) !important;white-space:nowrap !important;border:0 !important}
@media(max-width:600px){
  .iris-root .iris-header-actions button{width:34px !important;height:34px !important;flex-basis:34px !important}
  .iris-root .iris-attach,.iris-root .iris-mic,.iris-root .iris-send{width:38px !important;height:38px !important;flex-basis:38px !important}
}
