/* AIMC AI Assistant 2.0 - hologram-first widget */
#aimc-ai-root{--aimc-ver:"2.9.0";--aimc-color:#0b5ed7;--m:.1;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:15px;line-height:1.45;color:#1f2937}
#aimc-ai-root *{box-sizing:border-box}
#aimc-ai-root button{font-family:inherit}
#aimc-ai-root .aimc-defs{position:absolute;width:0;height:0;overflow:hidden}

/* ---------- Launcher ---------- */
#aimc-ai-root .aimc-fab{position:fixed;right:18px;bottom:18px;z-index:99998;display:flex;flex-direction:column;align-items:center;border:0;padding:0;background:transparent;cursor:pointer;animation:aimcfabin .7s ease-out both;transition:transform .2s;-webkit-tap-highlight-color:transparent}
#aimc-ai-root .aimc-fab:hover{transform:translateY(-4px) scale(1.04)}
#aimc-ai-root .aimc-fab.plain{flex-direction:row;gap:8px;height:56px;padding:0 20px 0 16px;border-radius:999px;background:var(--aimc-color);color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.3)}
#aimc-ai-root .aimc-fab.plain svg{width:24px;height:24px;fill:currentColor}
#aimc-ai-root .aimc-fab-label{position:relative;z-index:2;margin-top:-12px;background:#06143a;color:#bff6ff;border:1px solid rgba(150,230,255,.8);padding:4px 12px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.9px;text-transform:uppercase;box-shadow:0 0 12px rgba(110,210,255,.55);white-space:nowrap}
#aimc-ai-root .aimc-fab.plain .aimc-fab-label{margin:0;background:none;border:0;box-shadow:none;color:#fff;font-size:12px;padding:0}
#aimc-ai-root .aimc-badge{position:absolute;top:4px;right:6px;width:14px;height:14px;border-radius:50%;background:#22c55e;border:2px solid #fff;z-index:3}
#aimc-ai-root .aimc-teaser{position:fixed;right:18px;bottom:146px;max-width:230px;background:#fff;color:#1f2937;padding:10px 30px 10px 14px;border-radius:14px 14px 4px 14px;box-shadow:0 8px 28px rgba(0,0,0,.25);z-index:99997;cursor:pointer;animation:aimcpop .45s cubic-bezier(.2,1.3,.4,1) both;transform-origin:bottom right;font-size:14px}
#aimc-ai-root .aimc-teaser.out{animation:aimcfade .25s forwards}
#aimc-ai-root .aimc-teaser button{position:absolute;top:4px;right:6px;border:0;background:none;color:#9ca3af;font-size:18px;line-height:1;cursor:pointer;padding:2px 4px}

/* ---------- Panel ---------- */
#aimc-ai-root .aimc-panel{position:fixed;right:16px;bottom:16px;width:min(410px,calc(100vw - 24px));height:min(720px,calc(100vh - 32px));height:min(720px,calc(100dvh - 32px));background:#0a1635;color:#e8f6ff;border-radius:20px;box-shadow:0 14px 50px rgba(0,0,0,.45);display:none;flex-direction:column;overflow:hidden;z-index:99999;transform-origin:bottom right}
#aimc-ai-root .aimc-panel.open{display:flex;animation:aimcpanel .38s cubic-bezier(.2,1.2,.4,1) both}
#aimc-ai-root .aimc-head{position:relative;flex:none;display:flex;align-items:center;gap:8px;padding:10px 12px;background:linear-gradient(135deg,#0d2a66,#0a1c47);border-bottom:1px solid rgba(150,225,255,.18)}
#aimc-ai-root .aimc-hinfo{flex:1;min-width:0}
#aimc-ai-root .aimc-title{font-weight:700;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#aimc-ai-root .aimc-status{font-size:11.5px;color:#8fd8ff;display:flex;align-items:center;gap:6px;min-height:14px}
#aimc-ai-root .aimc-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 0 rgba(34,197,94,.6);animation:aimcdot 2s infinite}
#aimc-ai-root .aimc-hbtn{background:rgba(255,255,255,.1);border:0;color:#e8f6ff;width:34px;height:34px;border-radius:10px;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .2s;flex:none}
#aimc-ai-root .aimc-hbtn:hover{background:rgba(255,255,255,.22)}
#aimc-ai-root .aimc-hbtn.on{background:#22d3ee;color:#04153a}
#aimc-ai-root .aimc-hbtn svg{width:18px;height:18px;fill:currentColor}

/* ---------- Stage (hologram) ---------- */
#aimc-ai-root .aimc-stage{position:relative;flex:none;height:clamp(250px,40%,360px);display:flex;justify-content:center;align-items:flex-end;background:radial-gradient(ellipse at 50% 78%,#1a4fae 0%,#0a2257 42%,#040b1e 100%);overflow:hidden;transition:height .5s cubic-bezier(.2,.8,.2,1)}
#aimc-ai-root .aimc-stage::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(120,200,255,.07) 1px,transparent 1px) 0 0/100% 22px,linear-gradient(90deg,rgba(120,200,255,.06) 1px,transparent 1px) 0 0/22px 100%;-webkit-mask-image:linear-gradient(transparent,#000 75%);mask-image:linear-gradient(transparent,#000 75%);pointer-events:none}
#aimc-ai-root .aimc-stage.compact{height:92px}
#aimc-ai-root .aimc-stage .aimc-holo{height:calc(100% - 6px);margin-bottom:0;transition:height .5s}
#aimc-ai-root .aimc-boot{position:absolute;top:10px;left:0;right:0;text-align:center;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:#7fd6ff;opacity:0;pointer-events:none}
#aimc-ai-root .aimc-stage.boot .aimc-boot{opacity:1;animation:aimcblinkt .5s steps(2) infinite}
#aimc-ai-root .aimc-caption{position:absolute;left:10px;right:10px;bottom:8px;z-index:3;text-align:center;font-size:14px;line-height:1.4;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.9);background:linear-gradient(transparent,rgba(3,10,28,.7) 40%);padding:16px 8px 4px;max-height:96px;overflow:hidden;pointer-events:none}
#aimc-ai-root .aimc-caption .aimc-you{display:block;font-size:12px;color:#9fdcff;font-style:italic;margin-bottom:2px}
#aimc-ai-root .aimc-stage.compact .aimc-caption,#aimc-ai-root .aimc-stage.compact .aimc-boot{display:none}
#aimc-ai-root .aimc-caps{position:absolute;top:10px;right:10px;z-index:3;font-size:11px;color:#8fd8ff;text-align:right;max-width:42%}
#aimc-ai-root .aimc-caps b{display:block;color:#fff;font-size:12px;transition:opacity .22s,transform .22s}
#aimc-ai-root .aimc-caps b.out{opacity:0;transform:translateY(5px)}
#aimc-ai-root .aimc-stage.compact .aimc-caps{display:none}

/* ---------- Messages ---------- */
#aimc-ai-root .aimc-msgs{flex:1;min-height:90px;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px;background:#eef1f6;color:#1f2937;display:flex;flex-direction:column;gap:9px;scroll-behavior:smooth}
#aimc-ai-root .aimc-msg{max-width:88%;padding:9px 12px;border-radius:15px;white-space:pre-wrap;word-wrap:break-word;animation:aimcmsg .3s cubic-bezier(.2,1.1,.4,1) both;box-shadow:0 1px 2px rgba(0,0,0,.07);font-size:14.5px}
#aimc-ai-root .aimc-bot{background:#fff;align-self:flex-start;border-bottom-left-radius:4px}
#aimc-ai-root .aimc-user{background:var(--aimc-color);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
#aimc-ai-root .aimc-err{background:#fee2e2;color:#7f1d1d}
#aimc-ai-root .aimc-note{align-self:center;background:#fff7d6;color:#7a5a00;font-size:12.5px}
#aimc-ai-root .aimc-src{margin-top:7px;font-size:12px;border-top:1px solid #eee;padding-top:6px}
#aimc-ai-root .aimc-src a{display:block;color:var(--aimc-color);text-decoration:underline}
#aimc-ai-root .aimc-typing{display:flex;gap:5px;align-items:center;padding:13px 15px}
#aimc-ai-root .aimc-typing i{display:block;width:8px;height:8px;border-radius:50%;background:#9ca3af;animation:aimcdots 1.2s infinite ease-in-out}
#aimc-ai-root .aimc-typing i:nth-child(2){animation-delay:.18s}
#aimc-ai-root .aimc-typing i:nth-child(3){animation-delay:.36s}
#aimc-ai-root .aimc-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}
#aimc-ai-root .aimc-chip{border:1px solid var(--aimc-color);background:#fff;color:var(--aimc-color);border-radius:999px;padding:7px 13px;font-size:13px;cursor:pointer;animation:aimcmsg .4s both;transition:background .2s,color .2s,transform .2s}
#aimc-ai-root .aimc-chip:hover{background:var(--aimc-color);color:#fff;transform:translateY(-2px)}
#aimc-ai-root .aimc-chips.out{animation:aimcfade .25s forwards}

/* ---------- Composer ---------- */
#aimc-ai-root .aimc-foot{flex:none;padding:10px 10px calc(10px + env(safe-area-inset-bottom,0px));background:#0a1635;border-top:1px solid rgba(150,225,255,.18)}
#aimc-ai-root .aimc-row{display:flex;gap:7px;align-items:flex-end}
#aimc-ai-root .aimc-input{flex:1;min-width:0;resize:none;border:1px solid rgba(150,225,255,.3);border-radius:14px;padding:11px 12px;font:inherit;font-size:16px;max-height:96px;color:#fff;background:rgba(255,255,255,.08);transition:border-color .2s,box-shadow .2s}
#aimc-ai-root .aimc-input::placeholder{color:#8fb5d6}
#aimc-ai-root .aimc-input:focus{outline:none;border-color:#22d3ee;box-shadow:0 0 0 3px rgba(34,211,238,.2)}
#aimc-ai-root .aimc-btn{position:relative;border:0;border-radius:14px;width:44px;height:44px;cursor:pointer;background:rgba(255,255,255,.12);color:#e8f6ff;padding:0;display:flex;align-items:center;justify-content:center;flex:none;transition:transform .15s,background .2s}
#aimc-ai-root .aimc-btn:hover{transform:scale(1.06)}
#aimc-ai-root .aimc-btn:active{transform:scale(.94)}
#aimc-ai-root .aimc-btn svg{width:21px;height:21px;fill:currentColor}
#aimc-ai-root .aimc-send{background:var(--aimc-color);color:#fff}
#aimc-ai-root .aimc-send:disabled{opacity:.5;cursor:default}
#aimc-ai-root .aimc-lang{width:auto;padding:0 10px;font-size:12px;font-weight:700;letter-spacing:.4px}
#aimc-ai-root .aimc-mic{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#22d3ee,#0b5ed7);color:#fff;box-shadow:0 0 0 3px rgba(34,211,238,.25)}
#aimc-ai-root .aimc-mic.on{background:#dc2626;box-shadow:0 0 0 calc(3px + var(--lvl,0) * 14px) rgba(220,38,38,.28);animation:none}
#aimc-ai-root .aimc-mic.proc{background:#f59e0b}
#aimc-ai-root .aimc-hint{font-size:11px;color:#7fa6c8;text-align:center;margin-top:7px}

/* ---------- Hologram person ---------- */
#aimc-ai-root .aimc-holo{position:relative;flex:none;pointer-events:none;aspect-ratio:200/420}
#aimc-ai-root .aimc-holo[data-size="launch"]{width:98px;height:98px;aspect-ratio:auto;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 50% 30%,#1a4fae 0%,#0a1f4f 58%,#030a1c 100%);box-shadow:0 0 0 2px rgba(150,230,255,.85),0 0 0 4px rgba(3,10,28,.55),0 10px 26px rgba(0,0,0,.45),0 0 18px rgba(80,190,255,.6)}
#aimc-ai-root .aimc-holo[data-size="launch"]::after{content:"";position:absolute;left:0;right:0;bottom:0;height:34%;background:linear-gradient(to top,rgba(110,215,255,.38),rgba(110,215,255,0))}
#aimc-ai-root .aimc-holo[data-size="mini"]{aspect-ratio:88/104}
#aimc-ai-root .aimc-hbeam{position:absolute;left:6%;right:6%;bottom:8px;top:6%;background:linear-gradient(to top,rgba(120,220,255,.2),rgba(120,220,255,0));clip-path:polygon(24% 0,76% 0,100% 100%,0 100%)}
#aimc-ai-root .aimc-hbox{position:absolute;inset:0 0 10px 0;animation:aimcfloat 4.5s ease-in-out infinite;will-change:transform}
#aimc-ai-root .aimc-holo[data-size="launch"] .aimc-hbox{inset:6px 4px 0 4px}
#aimc-ai-root .aimc-holo[data-size="launch"] .aimc-hbeam,#aimc-ai-root .aimc-holo[data-size="launch"] .aimc-hbase{display:none}
#aimc-ai-root .aimc-hglow,#aimc-ai-root .aimc-hfade{position:absolute;inset:0}
#aimc-ai-root .aimc-hglow{filter:blur(7px);opacity:.8}
#aimc-ai-root .aimc-hfade{-webkit-mask-image:linear-gradient(#000 80%,transparent 100%);mask-image:linear-gradient(#000 80%,transparent 100%)}
#aimc-ai-root .aimc-holo[data-size="launch"] .aimc-hfade{-webkit-mask-image:none;mask-image:none}
#aimc-ai-root .aimc-hfig{position:absolute;inset:0;-webkit-mask-image:repeating-linear-gradient(0deg,#000 0 2px,rgba(0,0,0,.4) 2px 3px);mask-image:repeating-linear-gradient(0deg,#000 0 2px,rgba(0,0,0,.4) 2px 3px);animation:aimcflick 7s infinite}
#aimc-ai-root .aimc-hm,#aimc-ai-root .aimc-hsvg{display:block;width:100%;height:100%}
#aimc-ai-root .aimc-himg{display:block;width:100%;height:100%;object-fit:contain;object-position:50% 100%;filter:grayscale(1) sepia(1) hue-rotate(150deg) saturate(4) brightness(1.15) contrast(1.1)}
#aimc-ai-root .aimc-holo:not([data-size="launch"]) .aimc-himg{mix-blend-mode:screen}

#aimc-ai-root .aimc-hsvg .hb{fill:url(#aimc-gb);stroke:#9aeaff;stroke-width:1.2;stroke-linejoin:round}
#aimc-ai-root .aimc-hsvg .hh{fill:url(#aimc-gh);stroke:#8fd8ff;stroke-width:1.2;stroke-linejoin:round}
#aimc-ai-root .aimc-hsvg .hl{fill:none;stroke:#c8f7ff;stroke-width:1;stroke-linecap:round;stroke-linejoin:round}
#aimc-ai-root .aimc-hsvg .hlid{fill:none;stroke:#eafcff;stroke-width:1.8;stroke-linecap:round}
#aimc-ai-root .aimc-hsvg .he{fill:#e8fbff;stroke:#bff6ff;stroke-width:.8}
#aimc-ai-root .aimc-hsvg .hi{fill:#0b3b8f}
#aimc-ai-root .aimc-hsvg .hs{fill:#fff}
#aimc-ai-root .aimc-hsvg .hp{fill:rgba(255,160,210,.5);stroke:#ffd0ea;stroke-width:.9}
#aimc-ai-root .aimc-hsvg .hm{fill:#04153a;opacity:0;transform-box:fill-box;transform-origin:center;transform:scaleY(.1)}
#aimc-ai-root .aimc-hsvg .hl-head .hb,#aimc-ai-root .aimc-hsvg .hl-head .hh{stroke-width:2}
#aimc-ai-root .aimc-hsvg .hl-head .hl{stroke-width:1.7}
#aimc-ai-root .aimc-hsvg .hl-head .hlid{stroke-width:3}
#aimc-ai-root .aimc-hsvg .hl-head{transform-box:view-box;transform-origin:100px 82px;animation:aimcsway 7s ease-in-out infinite}
#aimc-ai-root .aimc-hsvg .hl-eyes{transform-box:fill-box;transform-origin:center;animation:aimcblink 5s infinite}
#aimc-ai-root .aimc-hsvg .hl-farm{transform-box:view-box;transform-origin:147px 158px}

#aimc-ai-root .aimc-hbase{position:absolute;left:50%;bottom:0;width:82%;height:16px;transform:translateX(-50%)}
#aimc-ai-root .aimc-hbase::before{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(ellipse,rgba(130,225,255,.85),rgba(130,225,255,0) 70%);box-shadow:0 0 0 1px rgba(150,230,255,.5)}
#aimc-ai-root .aimc-hbase::after{content:"";position:absolute;left:14%;right:14%;top:-2px;bottom:3px;border-radius:50%;border:1px solid rgba(150,230,255,.6);animation:aimcbasep 2.4s ease-in-out infinite}
#aimc-ai-root .aimc-hsweep{position:absolute;left:0;right:0;top:0;height:2px;background:#cffaff;box-shadow:0 0 10px 3px rgba(150,235,255,.9);opacity:0}
#aimc-ai-root .aimc-holo.boot .aimc-hsweep{animation:aimcsweep 1.3s ease-out both}
#aimc-ai-root .aimc-holo.boot .aimc-hbox{animation:aimcmat 1.3s ease-out both}
#aimc-ai-root .aimc-holo.wave .hl-farm{animation:aimcwave 1.9s ease-in-out 1 both}
#aimc-ai-root .aimc-hring{position:absolute;left:30%;top:4%;width:40%;height:0;padding-bottom:40%;border:2px solid rgba(150,230,255,.65);border-radius:50%;opacity:0;display:none}
#aimc-ai-root .aimc-hdots{position:absolute;left:50%;top:-4px;transform:translateX(-50%);display:none;gap:5px}
#aimc-ai-root .aimc-hdots i{display:block;width:7px;height:7px;border-radius:50%;background:#bff6ff;box-shadow:0 0 6px #7fe3ff;animation:aimcdots 1.2s infinite ease-in-out}
#aimc-ai-root .aimc-hdots i:nth-child(2){animation-delay:.18s}
#aimc-ai-root .aimc-hdots i:nth-child(3){animation-delay:.36s}
#aimc-ai-root .aimc-hbars{position:absolute;left:50%;bottom:-1px;transform:translateX(-50%);display:none;align-items:flex-end;gap:3px;height:12px}
#aimc-ai-root .aimc-hbars i{display:block;width:3px;height:3px;border-radius:2px;background:#bff6ff;animation:aimcbar .9s ease-in-out infinite}
#aimc-ai-root .aimc-hbars i:nth-child(2){animation-delay:.12s}
#aimc-ai-root .aimc-hbars i:nth-child(3){animation-delay:.24s}
#aimc-ai-root .aimc-hbars i:nth-child(4){animation-delay:.36s}
#aimc-ai-root .aimc-hbars i:nth-child(5){animation-delay:.48s}

/* reactions */
#aimc-ai-root[data-mode="speaking"] .aimc-hsvg .hm,#aimc-ai-root .aimc-stage.talking .aimc-hsvg .hm{opacity:.95;animation:aimctalk .5s infinite}
#aimc-ai-root[data-mode="speaking"][data-lip] .aimc-hsvg .hm{animation:none;transform:scaleY(var(--m))}
#aimc-ai-root[data-mode="speaking"] .aimc-hsvg .hl-farm,#aimc-ai-root .aimc-stage.talking .aimc-hsvg .hl-farm{animation:aimcgest 2.6s ease-in-out infinite}
#aimc-ai-root[data-mode="speaking"] .aimc-hsvg .hl-head,#aimc-ai-root .aimc-stage.talking .aimc-hsvg .hl-head{animation:aimcnod 1.6s ease-in-out infinite}
#aimc-ai-root[data-mode="speaking"] .aimc-hbars{display:flex}
#aimc-ai-root[data-mode="speaking"] .aimc-hbox{animation-duration:2.4s}
#aimc-ai-root[data-mode="listening"] .aimc-hring{display:block;animation:aimcring2 1.8s ease-out infinite}
#aimc-ai-root[data-mode="listening"] .aimc-hring + .aimc-hring{animation-delay:.9s}
#aimc-ai-root[data-mode="listening"] .aimc-hsvg .hl-head{animation:aimctilt 3s ease-in-out infinite}
#aimc-ai-root[data-mode="typing"] .aimc-hdots{display:flex}
#aimc-ai-root[data-mode="typing"] .aimc-hsvg .hl-eyes{animation:none;transform:translateY(-1.5px)}

/* ---------- Mobile: full screen ---------- */
@media (max-width:560px){
  #aimc-ai-root .aimc-panel{right:0;left:0;bottom:0;top:0;width:100%;height:100%;height:100dvh;border-radius:0;transform-origin:bottom center}
  #aimc-ai-root .aimc-head{padding-top:calc(10px + env(safe-area-inset-top,0px))}
  #aimc-ai-root .aimc-stage{height:clamp(230px,36%,330px)}
  #aimc-ai-root .aimc-teaser{right:12px}
}
@media (max-height:620px){#aimc-ai-root .aimc-stage{height:150px}}

/* ---------- Gentle on weak phones / reduced motion ---------- */
#aimc-ai-root.aimc-lite .aimc-hglow,#aimc-ai-root.aimc-lite .aimc-hbeam{display:none}
#aimc-ai-root.aimc-lite .aimc-hbox,#aimc-ai-root.aimc-lite .aimc-hfig,#aimc-ai-root.aimc-lite .aimc-hsvg .hl-head{animation:none}
#aimc-ai-root.aimc-lite .aimc-hfig{-webkit-mask-image:none;mask-image:none}
#aimc-ai-root.aimc-lite .aimc-hbase::after{animation:none}
@media (prefers-reduced-motion:reduce){#aimc-ai-root *,#aimc-ai-root *::before,#aimc-ai-root *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

@keyframes aimcfabin{from{opacity:0;transform:translateY(24px) scale(.8)}to{opacity:1;transform:none}}
@keyframes aimcpop{from{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes aimcfade{to{opacity:0;transform:translateY(6px)}}
@keyframes aimcpanel{from{transform:translateY(20px) scale(.92);opacity:0}to{transform:none;opacity:1}}
@keyframes aimcdot{0%{box-shadow:0 0 0 0 rgba(34,197,94,.6)}70%{box-shadow:0 0 0 7px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
@keyframes aimcmsg{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}
@keyframes aimcdots{0%,80%,100%{transform:translateY(0);opacity:.5}40%{transform:translateY(-6px);opacity:1}}
@keyframes aimcbar{0%,100%{height:3px}50%{height:12px}}
@keyframes aimcfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes aimcflick{0%,90%,100%{opacity:1}91%{opacity:.72}93%{opacity:.96}95%{opacity:.55}97%{opacity:1}}
@keyframes aimcblink{0%,94%,100%{transform:scaleY(1)}97%{transform:scaleY(.08)}}
@keyframes aimctalk{0%{transform:scaleY(.12)}15%{transform:scaleY(1)}30%{transform:scaleY(.35)}50%{transform:scaleY(.9)}70%{transform:scaleY(.2)}85%{transform:scaleY(.7)}100%{transform:scaleY(.12)}}
@keyframes aimcmat{0%{clip-path:inset(0 0 100% 0);filter:brightness(2.4)}100%{clip-path:inset(0 0 0 0);filter:brightness(1)}}
@keyframes aimcsweep{0%{top:0;opacity:1}100%{top:100%;opacity:0}}
@keyframes aimcring2{0%{transform:scale(.7);opacity:.75}100%{transform:scale(1.7);opacity:0}}
@keyframes aimcbasep{0%,100%{opacity:.5;transform:scaleX(1)}50%{opacity:1;transform:scaleX(1.08)}}
@keyframes aimcblinkt{50%{opacity:.35}}
@keyframes aimcsway{0%,100%{transform:rotate(-.8deg)}50%{transform:rotate(.8deg)}}
@keyframes aimcnod{0%,100%{transform:rotate(-1.4deg) translateY(0)}50%{transform:rotate(1.4deg) translateY(1px)}}
@keyframes aimctilt{0%,100%{transform:rotate(-2.5deg)}50%{transform:rotate(2.5deg)}}
@keyframes aimcgest{0%,100%{transform:rotate(0)}22%{transform:rotate(30deg)}45%{transform:rotate(8deg)}68%{transform:rotate(38deg)}85%{transform:rotate(12deg)}}
@keyframes aimcwave{0%{transform:rotate(0)}18%{transform:rotate(-118deg)}32%{transform:rotate(-98deg)}46%{transform:rotate(-122deg)}60%{transform:rotate(-98deg)}74%{transform:rotate(-120deg)}100%{transform:rotate(0)}}

/* ---------- v2.3: seated -> standing rig, two-arm gestures, 3D tilt, floating cards ---------- */
#aimc-ai-root .hl-upper,#aimc-ai-root .hl-legst,#aimc-ai-root .hl-legsit,#aimc-ai-root .hl-chair,#aimc-ai-root .hl-al,#aimc-ai-root .hl-ar,#aimc-ai-root .hl-fl,#aimc-ai-root .hl-fr{transform-box:view-box}
#aimc-ai-root .hl-upper,#aimc-ai-root .hl-legst,#aimc-ai-root .hl-legsit,#aimc-ai-root .hl-chair{transform-origin:100px 190px}
#aimc-ai-root .hl-al{transform-origin:64px 100px}#aimc-ai-root .hl-ar{transform-origin:136px 100px}
#aimc-ai-root .hl-fl{transform-origin:53px 158px}#aimc-ai-root .hl-fr{transform-origin:147px 158px}
#aimc-ai-root .hl-al{animation:aimcsw 5.5s ease-in-out infinite}#aimc-ai-root .hl-ar{animation:aimcsw 6.3s ease-in-out -2s infinite reverse}
#aimc-ai-root .aimc-holo[data-pose="sit"] .hl-upper{transform:translateY(110px)}
#aimc-ai-root .aimc-holo[data-pose="sit"] .hl-legst{opacity:0}
#aimc-ai-root .aimc-holo[data-pose="stand"] .hl-legsit,#aimc-ai-root .aimc-holo[data-pose="stand"] .hl-chair{opacity:0;visibility:hidden}
#aimc-ai-root .aimc-holo[data-pose="rise"] .hl-upper{animation:aimcrise 1.5s cubic-bezier(.32,.05,.2,1) both}
#aimc-ai-root .aimc-holo[data-pose="rise"] .hl-legst{animation:aimcriseleg 1.5s cubic-bezier(.32,.05,.2,1) both}
#aimc-ai-root .aimc-holo[data-pose="rise"] .hl-legsit{animation:aimcfout .45s ease-in .1s both}
#aimc-ai-root .aimc-holo[data-pose="rise"] .hl-chair{animation:aimcfout 1.4s ease-in both}
/* talking: both arms gesture independently, like a person explaining */
#aimc-ai-root[data-mode="speaking"] .hl-al,#aimc-ai-root .aimc-stage.talking .hl-al{animation:aimcgalu 3.1s ease-in-out infinite}
#aimc-ai-root[data-mode="speaking"] .hl-fl,#aimc-ai-root .aimc-stage.talking .hl-fl{animation:aimcgalf 3.1s ease-in-out infinite}
#aimc-ai-root[data-mode="speaking"] .hl-ar,#aimc-ai-root .aimc-stage.talking .hl-ar{animation:aimcgaru 2.7s ease-in-out -.9s infinite}
#aimc-ai-root[data-mode="speaking"] .hl-fr,#aimc-ai-root .aimc-stage.talking .hl-fr{animation:aimcgarf 2.7s ease-in-out -.9s infinite}
#aimc-ai-root[data-mode="listening"] .hl-fr{animation:none;transform:rotate(140deg);transition:transform .6s}
#aimc-ai-root[data-mode="typing"] .hl-fl{animation:none;transform:rotate(-135deg);transition:transform .6s}
#aimc-ai-root .aimc-holo.wave .hl-ar{animation:aimcwaveu 2.4s ease-in-out 1 both}
#aimc-ai-root .aimc-holo.wave .hl-fr{animation:aimcwavef 2.4s ease-in-out 1 both}
#aimc-ai-root .aimc-htilt{position:absolute;inset:0;transform:perspective(700px) rotateY(var(--ry,0deg)) rotateX(var(--rx,0deg));transition:transform .2s linear}
#aimc-ai-root .aimc-card{position:absolute;z-index:4;width:36%;max-width:150px;padding:8px 10px;border-radius:10px;background:rgba(8,36,96,.78);border:1px solid rgba(150,230,255,.7);color:#e8f6ff;font-size:11.5px;line-height:1.3;box-shadow:0 0 14px rgba(80,190,255,.45);text-decoration:none;animation:aimccard .6s cubic-bezier(.2,1.3,.4,1) both;word-wrap:break-word}
#aimc-ai-root .aimc-card b{display:block;color:#fff;margin-bottom:2px}
#aimc-ai-root .aimc-card.l{left:8px;top:64px;transform:perspective(500px) rotateY(16deg)}
#aimc-ai-root .aimc-card.r{right:8px;top:112px;transform:perspective(500px) rotateY(-16deg)}
#aimc-ai-root .aimc-stage.compact .aimc-card{display:none}
#aimc-ai-root.aimc-lite .aimc-htilt{transform:none}
@keyframes aimcsw{0%,100%{transform:rotate(-1.5deg)}50%{transform:rotate(1.5deg)}}
@keyframes aimcfout{to{opacity:0}}
@keyframes aimcrise{0%{transform:translateY(110px) rotate(0)}30%{transform:translateY(100px) rotate(5deg)}70%{transform:translateY(34px) rotate(2deg)}100%{transform:translateY(0) rotate(0)}}
@keyframes aimcriseleg{0%{opacity:0;transform:translateY(110px) scaleY(.486)}25%{opacity:1;transform:translateY(100px) scaleY(.533)}70%{opacity:1;transform:translateY(34px) scaleY(.841)}100%{opacity:1;transform:translateY(0) scaleY(1)}}
@keyframes aimcgalu{0%,100%{transform:rotate(0)}25%{transform:rotate(12deg)}55%{transform:rotate(5deg)}80%{transform:rotate(16deg)}}
@keyframes aimcgalf{0%,100%{transform:rotate(0)}22%{transform:rotate(-50deg)}48%{transform:rotate(-18deg)}70%{transform:rotate(-62deg)}88%{transform:rotate(-24deg)}}
@keyframes aimcgaru{0%,100%{transform:rotate(0)}30%{transform:rotate(-14deg)}60%{transform:rotate(-4deg)}85%{transform:rotate(-18deg)}}
@keyframes aimcgarf{0%,100%{transform:rotate(0)}20%{transform:rotate(26deg)}45%{transform:rotate(60deg)}72%{transform:rotate(20deg)}90%{transform:rotate(52deg)}}
@keyframes aimcwaveu{0%{transform:rotate(0)}20%,80%{transform:rotate(-62deg)}100%{transform:rotate(0)}}
@keyframes aimcwavef{0%{transform:rotate(0)}20%{transform:rotate(-80deg)}34%{transform:rotate(-48deg)}48%{transform:rotate(-84deg)}62%{transform:rotate(-48deg)}76%{transform:rotate(-80deg)}100%{transform:rotate(0)}}
@keyframes aimccard{from{opacity:0;transform:perspective(500px) rotateY(70deg) scale(.7)}}

/* ---------- v2.4: entrance effect ---------- */
#aimc-ai-root .aimc-holo.boot::before{content:"";position:absolute;left:36%;right:36%;top:-12%;bottom:6px;background:linear-gradient(180deg,rgba(190,245,255,0),rgba(190,245,255,.9) 45%,rgba(120,220,255,0));filter:blur(2px);animation:aimcpillar 1.4s ease-out both;pointer-events:none}
#aimc-ai-root .aimc-holo.boot .aimc-hbase::before{animation:aimcburst 1.4s ease-out both}
#aimc-ai-root .aimc-holo.boot .aimc-hfig{animation:aimcglitch 1.4s steps(2) both}
@keyframes aimcpillar{0%{opacity:0;transform:scaleX(.2)}18%{opacity:1;transform:scaleX(1)}100%{opacity:0;transform:scaleX(2.6)}}
@keyframes aimcburst{0%{transform:scale(.2);opacity:1}100%{transform:scale(1.9);opacity:.2}}
@keyframes aimcglitch{0%{transform:translateX(0)}20%{transform:translateX(-3px)}40%{transform:translateX(3px)}60%{transform:translateX(-1px)}100%{transform:none}}

/* ---------- v2.9: particle formation, dissolve on close, breathing ---------- */
#aimc-ai-root .aimc-pcv{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}
#aimc-ai-root .aimc-panel.closing .aimc-head,#aimc-ai-root .aimc-panel.closing .aimc-msgs,#aimc-ai-root .aimc-panel.closing .aimc-foot,#aimc-ai-root .aimc-panel.closing .aimc-caption,#aimc-ai-root .aimc-panel.closing .aimc-caps{opacity:0;transition:opacity .35s ease-in}
#aimc-ai-root .aimc-holo.unform .aimc-hbox{animation:aimcdemat .9s ease-in both}
#aimc-ai-root .aimc-holo.unform .aimc-hsweep{animation:aimcsweepup .9s ease-in both}
#aimc-ai-root .hl-breath{transform-box:view-box;transform-origin:100px 190px;animation:aimcbreath 5.4s ease-in-out infinite}
#aimc-ai-root.aimc-lite .hl-breath{animation:none}
@keyframes aimcmat{0%{clip-path:inset(0 0 100% 0);filter:brightness(2.4);opacity:.6}68%{clip-path:inset(0);filter:brightness(1.3);opacity:.9}74%{opacity:.45}80%{opacity:1}86%{opacity:.6}100%{clip-path:inset(0);filter:brightness(1);opacity:1}}
@keyframes aimcdemat{0%{clip-path:inset(0);opacity:1;filter:brightness(1)}15%{opacity:.5}25%{opacity:1}100%{clip-path:inset(0 0 100% 0);filter:brightness(2.2);opacity:.4}}
@keyframes aimcsweepup{0%{top:100%;opacity:1}100%{top:0;opacity:0}}
@keyframes aimcbreath{0%,100%{transform:scale(1,1) translateX(0) rotate(0)}30%{transform:scale(1.004,1.012) translateX(.7px) rotate(.35deg)}60%{transform:scale(1.002,1.006) translateX(-.5px) rotate(-.3deg)}}
@keyframes aimcsway{0%,100%{transform:rotate(-1.4deg)}50%{transform:rotate(1.4deg)}}
