:root{--ifl-ai-accent:var(--md-sys-color-primary,#f4c430);--ifl-ai-surface:var(--md-sys-color-surface,#121212);--ifl-ai-surface-2:var(--md-sys-color-surface-variant,#1b1717);--ifl-ai-text:var(--md-sys-color-on-surface,#f7f3ef);--ifl-ai-muted:var(--md-sys-color-on-surface-variant,#b8aba3);--ifl-ai-border:var(--md-sys-color-outline,rgba(255,255,255,.12))}
#ifl-ai-root{position:fixed;left:20px;bottom:20px;z-index:1200;font-family:var(--font-body,"Inter",Roboto,sans-serif);color:var(--ifl-ai-text);pointer-events:none}
#ifl-ai-root.ifl-ai-hidden{display:none!important}
#ifl-ai-root *{box-sizing:border-box}
.ifl-ai-launch{pointer-events:auto;width:54px;height:54px;border-radius:18px;border:1px solid color-mix(in srgb,var(--ifl-ai-accent) 48%,transparent);background:linear-gradient(145deg,color-mix(in srgb,var(--ifl-ai-accent) 24%,var(--ifl-ai-surface)),var(--ifl-ai-surface));color:var(--ifl-ai-text);box-shadow:0 14px 36px rgba(0,0,0,.42),0 0 24px color-mix(in srgb,var(--ifl-ai-accent) 16%,transparent);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.ifl-ai-launch:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(0,0,0,.48),0 0 30px color-mix(in srgb,var(--ifl-ai-accent) 26%,transparent)}
.ifl-ai-launch .material-symbols-outlined{font-size:28px}
.ifl-ai-panel{pointer-events:auto;position:absolute;left:0;bottom:66px;width:min(390px,calc(100vw - 28px));height:min(590px,calc(100vh - 110px));display:none;flex-direction:column;background:color-mix(in srgb,var(--ifl-ai-surface) 96%,#000);border:1px solid var(--ifl-ai-border);border-radius:18px;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.6);backdrop-filter:blur(16px)}
#ifl-ai-root.open .ifl-ai-panel{display:flex;animation:iflAiIn .2s ease-out}
@keyframes iflAiIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
.ifl-ai-head{display:flex;align-items:center;gap:10px;padding:14px 14px 12px;border-bottom:1px solid var(--ifl-ai-border);background:linear-gradient(120deg,color-mix(in srgb,var(--ifl-ai-accent) 12%,transparent),transparent 70%)}
.ifl-ai-avatar{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--ifl-ai-accent) 20%,transparent);border:1px solid color-mix(in srgb,var(--ifl-ai-accent) 36%,transparent);color:var(--ifl-ai-accent)}
.ifl-ai-avatar .material-symbols-outlined{font-size:23px}
.ifl-ai-headtext{min-width:0;flex:1}.ifl-ai-title{font-family:var(--font-display,"Space Grotesk",sans-serif);font-weight:700;font-size:15px;line-height:1.15}.ifl-ai-status{margin-top:3px;font-size:11px;color:var(--ifl-ai-muted);display:flex;align-items:center;gap:5px}.ifl-ai-dot{width:6px;height:6px;border-radius:50%;background:#4ade80;box-shadow:0 0 8px #4ade8080}
.ifl-ai-close{width:34px;height:34px;border:0;border-radius:10px;background:transparent;color:var(--ifl-ai-muted);display:grid;place-items:center;cursor:pointer}.ifl-ai-close:hover{background:rgba(255,255,255,.07);color:var(--ifl-ai-text)}
.ifl-ai-messages{flex:1;min-height:0;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:10px;scrollbar-width:thin}
.ifl-ai-msg{max-width:88%;padding:10px 12px;border-radius:14px;font-size:13px;line-height:1.48;white-space:pre-wrap;word-break:break-word}.ifl-ai-msg.user{align-self:flex-end;background:var(--ifl-ai-accent);color:var(--md-sys-color-on-primary,#0d0d0d);border-bottom-right-radius:5px}.ifl-ai-msg.bot{align-self:flex-start;background:var(--ifl-ai-surface-2);border:1px solid var(--ifl-ai-border);border-bottom-left-radius:5px}.ifl-ai-msg.bot a{color:var(--ifl-ai-accent)}.ifl-ai-msg.error{border-color:#ef444466;background:#ef444414;color:#fecaca}
.ifl-ai-typing{display:inline-flex;gap:4px;align-items:center}.ifl-ai-typing i{width:5px;height:5px;border-radius:50%;background:var(--ifl-ai-muted);animation:iflAiPulse 1s infinite ease-in-out}.ifl-ai-typing i:nth-child(2){animation-delay:.15s}.ifl-ai-typing i:nth-child(3){animation-delay:.3s}@keyframes iflAiPulse{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.ifl-ai-suggestions{display:flex;gap:6px;overflow-x:auto;padding:0 14px 9px;scrollbar-width:none}.ifl-ai-suggestions::-webkit-scrollbar{display:none}.ifl-ai-chip{flex:0 0 auto;border:1px solid var(--ifl-ai-border);background:transparent;color:var(--ifl-ai-muted);border-radius:999px;padding:6px 9px;font:inherit;font-size:11px;cursor:pointer;white-space:nowrap}.ifl-ai-chip:hover{border-color:color-mix(in srgb,var(--ifl-ai-accent) 50%,transparent);color:var(--ifl-ai-text);background:color-mix(in srgb,var(--ifl-ai-accent) 8%,transparent)}
.ifl-ai-support{display:flex;gap:7px;padding:9px 14px;border-top:1px solid var(--ifl-ai-border)}.ifl-ai-support a{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;min-height:30px;border-radius:8px;text-decoration:none;font-size:11px;font-weight:600;color:var(--ifl-ai-muted);background:rgba(255,255,255,.035);border:1px solid var(--ifl-ai-border)}.ifl-ai-support a:hover{color:var(--ifl-ai-text);border-color:color-mix(in srgb,var(--ifl-ai-accent) 45%,transparent)}.ifl-ai-support .material-symbols-outlined{font-size:15px}
.ifl-ai-compose{display:flex;gap:8px;align-items:flex-end;padding:10px 12px 12px;border-top:1px solid var(--ifl-ai-border);background:rgba(0,0,0,.08)}.ifl-ai-input{flex:1;resize:none;max-height:104px;min-height:42px;border:1px solid var(--ifl-ai-border);background:var(--ifl-ai-surface-2);color:var(--ifl-ai-text);border-radius:12px;padding:10px 11px;font:inherit;font-size:13px;line-height:1.35;outline:none}.ifl-ai-input:focus{border-color:color-mix(in srgb,var(--ifl-ai-accent) 62%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--ifl-ai-accent) 10%,transparent)}.ifl-ai-send{width:42px;height:42px;flex:0 0 42px;border-radius:12px;border:0;background:var(--ifl-ai-accent);color:var(--md-sys-color-on-primary,#111);display:grid;place-items:center;cursor:pointer}.ifl-ai-send:disabled{opacity:.45;cursor:not-allowed}.ifl-ai-send .material-symbols-outlined{font-size:20px}
.ifl-ai-note{padding:0 14px 10px;color:var(--ifl-ai-muted);font-size:9.5px;line-height:1.35;opacity:.82}
@media(max-width:620px){#ifl-ai-root{left:12px;bottom:12px}.ifl-ai-panel{left:0;bottom:64px;width:calc(100vw - 24px);height:min(70vh,590px)}.ifl-ai-launch{width:50px;height:50px;border-radius:16px}}
@media(prefers-reduced-motion:reduce){#ifl-ai-root.open .ifl-ai-panel,.ifl-ai-typing i{animation:none!important}}
