/* Signal skin compartida por todas las páginas de módulo. */
body.signal-feature{--signal-bg:#141426;--signal-surface:#1d1c32;--signal-surface-raised:#24223d;--signal-border:#3b3959;--signal-text:#f0efff;--signal-muted:#d0cee2;--signal-violet:#b2a9ff;--signal-cyan:#34f9f3;background:var(--signal-bg);color:var(--signal-text)}
.signal-feature h1,.signal-feature h2,.signal-feature h3,.signal-feature p,.signal-feature li{color:inherit}.signal-feature .nav{background:rgba(20,20,38,.99);border-bottom:1px solid rgba(178,169,255,.16);box-shadow:0 12px 32px rgba(4,4,14,.24);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.signal-feature .nav.is-stuck{background:rgba(20,20,38,.99);box-shadow:0 12px 32px rgba(4,4,14,.34)}.signal-feature .nav-inner{min-height:76px}.signal-feature .nav .logo{filter:none}.signal-feature .nav-links a,.signal-feature .menu>summary,.signal-feature .nav-login{color:#eeedff}.signal-feature .nav-links>a:hover,.signal-feature .menu>summary:hover,.signal-feature .nav-login:hover{color:var(--signal-cyan);background:rgba(178,169,255,.09)}.signal-feature .menu[open]>summary{color:var(--signal-cyan)}.signal-feature .mega,.signal-feature .lang-panel,.signal-feature .burger-panel{background:rgba(25,24,44,.99);border:1px solid var(--signal-border);box-shadow:0 24px 64px rgba(0,0,0,.54);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.signal-feature .mega-h,.signal-feature .burger-panel .g{color:var(--signal-cyan)}.signal-feature .mega a,.signal-feature .burger-panel a,.signal-feature .lang-panel a{color:var(--signal-text)}.signal-feature .mega a:hover,.signal-feature .burger-panel a:hover,.signal-feature .lang-panel a:hover{background:rgba(178,169,255,.13);color:var(--signal-cyan)}.signal-feature .nav .btn-primary{background:var(--signal-cyan);border-color:var(--signal-cyan);color:#141426}.signal-feature .nav .btn-primary:hover{background:#8ffffb;color:#141426}
.signal-feature .fhero{position:relative;overflow:hidden;padding-block:clamp(40px,6vw,84px);background:radial-gradient(ellipse 70% 100% at 0 0,rgba(105,87,220,.2),transparent 72%),linear-gradient(180deg,#10101d 0%,var(--signal-bg) 100%)}.signal-feature .fhero-panel{display:none}.signal-feature .fhero-grid{position:relative;z-index:1}.signal-feature .crumbs{color:#d0cee2}.signal-feature .crumbs a{color:#d3d0e8}.signal-feature .crumbs b{color:var(--signal-cyan)}.signal-feature .fhero h1{color:#f7f6ff;letter-spacing:-.055em}.signal-feature .fhero .lede,.signal-feature .sec-head .lede,.signal-feature .fsplit-copy>.lede{color:var(--signal-muted)}.signal-feature .fhero-note{color:#dfdcf7}.signal-feature .fhero-note .ico{color:var(--signal-cyan)}.signal-feature .fhero-shot,.signal-feature .fsplit-shot{padding:10px;border:1px solid rgba(178,169,255,.35);border-radius:14px;background:linear-gradient(145deg,#24223c,#171727);box-shadow:0 28px 90px rgba(4,4,15,.4)}.signal-feature .fhero-shot img,.signal-feature .fsplit-shot img{border-radius:8px}
.signal-feature .sec{background:var(--signal-bg)}.signal-feature .sec--tint{background:#19182d;border-block:1px solid rgba(178,169,255,.12)}.signal-feature .sec-head h2,.signal-feature .fsplit h2,.signal-feature .faq h2{color:#f3f1ff}.signal-feature .bento{gap:14px}.signal-feature .bento-item{background:linear-gradient(145deg,#22213a,#1b1a2e);border:1px solid var(--signal-border);border-radius:12px;box-shadow:none;color:var(--signal-text)}.signal-feature .bento-item.is-lead{background:linear-gradient(135deg,rgba(76,66,150,.48),#1d1c32 72%);border-color:rgba(178,169,255,.48)}.signal-feature .bento-item h3{color:#f3f1ff}.signal-feature .bento-item p,.signal-feature .bento-item li{color:#d2d0e3}.signal-feature .bento-ico{background:rgba(178,169,255,.12);color:var(--signal-violet)}.signal-feature .bento-ico.tint-teal{background:rgba(52,249,243,.1);color:var(--signal-cyan)}.signal-feature .fsplit{align-items:center}.signal-feature .fsplit-num{color:transparent;-webkit-text-stroke-color:rgba(52,249,243,.52)}.signal-feature .fsplit-copy:before{background:linear-gradient(180deg,rgba(52,249,243,.38),transparent)}.signal-feature .fsplit-eyebrow{color:var(--signal-cyan)}.signal-feature .fsplit-list li{color:#d8d5eb}.signal-feature .fsplit-list .ico{color:var(--signal-cyan)}
.signal-feature .siblings .sibling{background:#201f36;border-color:var(--signal-border);color:#e5e3f5}.signal-feature .siblings .sibling:hover{border-color:var(--signal-cyan);color:var(--signal-cyan);box-shadow:0 10px 30px rgba(0,0,0,.2)}.signal-feature .clay.cta{background:radial-gradient(ellipse at 0 100%,rgba(178,169,255,.34),transparent 58%),linear-gradient(120deg,#29234b,#1d1c32 76%);border:1px solid rgba(178,169,255,.34);box-shadow:none}.signal-feature .cta h2{color:#f7f6ff}.signal-feature .cta .lede{color:#d0cce8}.signal-feature .foot{background:#10101c;color:#eeedff;border-top:1px solid var(--signal-border)}.signal-feature .foot p,.signal-feature .foot a,.signal-feature .foot-bar{color:#cbc8df}.signal-feature .foot-h{color:#f0efff}.signal-feature .wa{z-index:60}
.signal-feature :focus-visible{outline-color:var(--signal-cyan)}
@media(max-width:900px){.signal-feature .mega{background:rgba(25,24,44,.995)}.signal-feature .nav.is-stuck{background:rgba(20,20,38,.995)}}
@media(max-width:700px){.signal-feature .nav{position:sticky}.signal-feature .nav-inner{padding-block:10px}.signal-feature .nav-links.open{background:rgba(25,24,44,.995);border-color:var(--signal-border)}.signal-feature .nav-links.open a{color:var(--signal-text)}.signal-feature .nav-links.open a:hover{color:var(--signal-cyan)}.signal-feature .fhero{padding-block:34px 48px}.signal-feature .fhero-shot,.signal-feature .fsplit-shot{padding:6px;border-radius:10px}.signal-feature .sec{padding-block:64px}.signal-feature .bento-item{border-radius:10px}}
@media(prefers-reduced-motion:reduce){.signal-feature *,.signal-feature *:before,.signal-feature *:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Header compartido con la página principal. */
@font-face{font-family:Inter;src:url(../../loginx/fonts/montserrat/Montserrat-Regular.ttf) format("truetype");font-display:swap;font-weight:400}
@font-face{font-family:Inter;src:url(../../loginx/fonts/montserrat/Montserrat-Medium.ttf) format("truetype");font-display:swap;font-weight:500}
@font-face{font-family:Inter;src:url(../../loginx/fonts/montserrat/Montserrat-SemiBold.ttf) format("truetype");font-display:swap;font-weight:600}
@font-face{font-family:Inter;src:url(../../loginx/fonts/montserrat/Montserrat-Bold.ttf) format("truetype");font-display:swap;font-weight:700}
body.signal-feature{font-family:Inter,Inter,Arial,sans-serif}
.signal-feature h1,.signal-feature h2,.signal-feature h3,.signal-feature .nav,.signal-feature .mega,.signal-feature .burger-panel{font-family:Inter,Inter,Arial,sans-serif;letter-spacing:-.035em}
.signal-feature .fhero h1{font-weight:600;line-height:1.08}.signal-feature h2{font-weight:500;line-height:1.13}.signal-feature .fhero .lede,.signal-feature .fsplit-copy>.lede{font-size:16px;line-height:1.72}
.signal-feature .nova-header{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:32px;width:100%;max-width:none;height:80px;margin:0;padding:0 max(32px,calc((100% - 1440px)/2 + 32px));border-bottom:1px solid rgba(178,169,255,.2);background:rgba(16,16,29,.97);box-shadow:0 10px 30px rgba(4,4,15,.22);backdrop-filter:blur(14px) saturate(130%);-webkit-backdrop-filter:blur(14px) saturate(130%)}
.signal-feature .nova-header.is-scrolled{background:rgba(16,16,29,.985);border-color:rgba(178,169,255,.28);box-shadow:0 12px 36px rgba(3,3,12,.42)}
.signal-feature .nova-wordmark{display:inline-flex;align-items:center;width:max-content}.signal-feature .nova-wordmark img{display:block;width:145px;height:auto}.signal-feature .nova-navigation,.signal-feature .nova-account{display:flex;align-items:center;gap:26px}.signal-feature .nova-navigation{justify-self:center}.signal-feature .nova-account{justify-self:end}.signal-feature .nova-navigation>a,.signal-feature .nova-menu summary,.signal-feature .nova-login{font-size:13px;color:#efedff;text-decoration:none;white-space:nowrap}.signal-feature .nova-navigation>a:hover,.signal-feature .nova-login:hover{color:#34f9f3}
.signal-feature .nova-menu{position:relative}.signal-feature .nova-menu summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none}.signal-feature .nova-menu summary::-webkit-details-marker{display:none}.signal-feature .nova-menu-panel{position:absolute;top:calc(100% + 16px);left:0;min-width:210px;padding:8px;border:1px solid #3b3959;border-radius:10px;background:rgba(25,24,44,.99);box-shadow:0 22px 55px rgba(0,0,0,.5);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.signal-feature .nova-menu-panel a{display:flex;align-items:center;min-height:42px;padding:0 12px;border-radius:6px;color:#efedff;font-size:13px;text-decoration:none;white-space:nowrap}.signal-feature .nova-menu-panel a:hover{background:rgba(178,169,255,.13);color:#34f9f3}.signal-feature .nova-language .nova-menu-panel{left:auto;right:0;min-width:130px}.signal-feature .nova-nav-cta{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:0 17px;border:1px solid #34f9f3;border-radius:7px;background:#34f9f3;color:#101525;font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap}.signal-feature .nova-mobile-menu{display:none}.signal-feature .nova-languages{display:flex;gap:6px;padding:8px 10px}.signal-feature .nova-languages a{min-height:34px;padding:0 8px}
.signal-feature .modules-menu-panel{display:grid;grid-template-columns:repeat(2,minmax(175px,1fr));gap:2px 6px;min-width:min(430px,calc(100vw - 32px));max-height:min(72vh,570px);overflow:auto;padding:10px}.signal-feature .modules-menu-panel a{justify-content:space-between;min-height:40px}.signal-feature .modules-menu-panel a span{color:#34f9f3;opacity:.7}
@media(max-width:800px){.signal-feature .nova-header{grid-template-columns:1fr auto;height:72px;padding:0 20px}.signal-feature .nova-navigation,.signal-feature .nova-language,.signal-feature .nova-login{display:none}.signal-feature .nova-account{gap:10px}.signal-feature .nova-nav-cta{min-height:40px;padding:0 12px;font-size:12px}.signal-feature .nova-mobile-menu{display:block}.signal-feature .nova-mobile-menu .nova-menu-panel{left:auto;right:0;min-width:220px;max-height:min(78dvh,650px);overflow:auto;background:rgba(20,20,38,.995);border-color:rgba(178,169,255,.3);box-shadow:0 24px 60px rgba(0,0,0,.58)}.signal-feature .nova-mobile-menu .nova-menu-panel a{min-height:44px}}
@media(max-width:420px){.signal-feature .nova-header{padding-inline:14px}.signal-feature .nova-wordmark img{width:122px}.signal-feature .nova-nav-cta{gap:6px;padding-inline:9px}}

/* La descarga de la app mantiene el mismo lienzo oscuro que el resto de la página. */
.signal-feature .apps{background:linear-gradient(135deg,#1d1c32 0%,#141426 76%);color:#f0efff}
.signal-feature .apps-glow{display:none}
.signal-feature .apps-phone img{height:min(540px,60vw);max-width:100%;object-fit:contain;object-position:bottom}
@media(max-width:860px){.signal-feature .apps-phone img{height:min(540px,90vw)}}

@media(min-width:981px){
  .signal-feature .fhero{overflow:visible;}
  .signal-feature .fhero-grid{overflow:visible;}
  .signal-feature .fhero-shot{position:relative;z-index:2;width:170%;max-width:none;padding:0;}
  .signal-feature .fhero-shot img,.signal-feature .fhero-shot>svg{display:block;width:100%;height:auto;}
}
/* La sección móvil comparte el mismo marco físico de la portada. */
.signal-feature .apps-phone .phone{width:244px;flex:none;padding:7px;margin-bottom:-70px;border:2px solid #716c89;border-radius:34px;background:#17171f;box-shadow:0 24px 90px #05050f55;overflow:hidden}
.signal-feature .apps-phone .phone img{display:block;width:100%;height:auto;margin:0;border-radius:26px;filter:none;object-fit:cover;object-position:top}
.signal-feature .apps .lede{color:#dedbec}
.signal-feature .apps-points{color:#e2e0ef}
.signal-feature .apps .store-badge small{color:#4b4b4b;opacity:1;font-weight:500}
@media(max-width:860px){.signal-feature .apps-phone .phone{width:min(244px,78vw)}}

.signal-feature .nova-menu-group{grid-column:1/-1;margin:8px 0 2px;padding:12px 12px 4px;border-top:1px solid #3b3959;color:#bebbd9;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.fsplit-sec[id]{scroll-margin-top:96px}
/* Visuales HTML de la página de IA (landing/clay/visuals/ai-*). */
.signal-feature .fsplit-shot.is-visual,.signal-feature .fhero-shot.is-visual{padding:0;border:0;background:none;box-shadow:none}
@media(min-width:981px){.signal-feature .fhero-shot.is-visual{width:auto;max-width:520px;justify-self:end}}
.aiv{--aiv-bg:#17162a;--aiv-panel:#1d1c32;--aiv-raised:#24223d;--aiv-line:#3b3959;--aiv-text:#f0efff;--aiv-muted:#aaa8c3;--aiv-cyan:#34f9f3;--aiv-violet:#b2a9ff;position:relative;color:var(--aiv-text);font-size:14px;line-height:1.45;text-align:left}
.aiv svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.aiv small{display:block;color:var(--aiv-muted);font-size:12px}
.aiv-window,.aiv-code{border:1px solid rgba(178,169,255,.3);border-radius:16px;background:linear-gradient(160deg,#1f1d36,var(--aiv-bg));box-shadow:0 30px 90px rgba(4,4,15,.45);overflow:hidden}
.aiv-bar{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--aiv-line);background:rgba(36,34,61,.6)}
.aiv-bar img{border-radius:50%;background:#fff}
.aiv-bar b{font-size:14px}.aiv-bar small{display:flex;align-items:center;gap:6px}
.aiv-dot{width:7px;height:7px;border-radius:50%;background:#3ddc97;box-shadow:0 0 0 3px rgba(61,220,151,.18)}
.aiv-tag{margin-left:auto;padding:4px 10px;border:1px solid rgba(178,169,255,.4);border-radius:999px;color:var(--aiv-violet);font-size:11px;font-weight:600;white-space:nowrap}
.aiv-tag.is-cyan{border-color:rgba(52,249,243,.4);color:var(--aiv-cyan)}
.aiv-node-ico{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,#5e4dea,#7048e8);color:#fff;flex:none}
.aiv-chat{display:grid;gap:12px;padding:20px 18px}
.aiv-msg{margin:0;padding:12px 14px;border-radius:14px;max-width:88%}
.aiv-msg p{margin:0}.aiv-msg p+p,.aiv-msg ul+p,.aiv-msg .aiv-stats+p{margin-top:10px}
.aiv-msg.is-user{justify-self:end;background:linear-gradient(135deg,#5e4dea,#7048e8);color:#fff;border-bottom-right-radius:4px}
.aiv-msg.is-bot{background:var(--aiv-raised);border:1px solid var(--aiv-line);border-bottom-left-radius:4px}
.aiv-msg ul{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}
.aiv-msg li{display:flex;align-items:center;gap:10px}
.aiv-msg li a{color:var(--aiv-cyan);text-decoration:underline;text-underline-offset:3px}
.aiv-msg li small{margin-left:auto;padding:2px 8px;border-radius:999px;background:rgba(255,184,77,.14);color:#ffc46b;font-size:11px}
.aiv-av{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:hsl(var(--h) 60% 62% / .22);color:hsl(var(--h) 85% 80%);font-size:10px;font-weight:700}
.aiv-tool{display:inline-flex;align-items:center;gap:8px;justify-self:start;padding:5px 10px;border-radius:8px;background:rgba(52,249,243,.08);color:var(--aiv-cyan);font-size:12px}
.aiv-tools{display:flex;flex-wrap:wrap;gap:6px}
.aiv-tools span{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:8px;background:rgba(52,249,243,.08);color:var(--aiv-cyan);font:12px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace}
.aiv-tools span.is-locked{background:rgba(170,168,195,.08);color:var(--aiv-muted);text-decoration:line-through}
.aiv-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.aiv-stats div{padding:10px;border-radius:10px;background:var(--aiv-bg);border:1px solid var(--aiv-line)}
.aiv-stats b{display:block;font-size:22px;font-weight:600;letter-spacing:-.02em}
.aiv-muted{color:var(--aiv-muted);font-size:12px}
.aiv-input{display:flex;align-items:center;justify-content:space-between;margin:0 18px 18px;padding:10px 10px 10px 16px;border:1px solid var(--aiv-line);border-radius:12px;background:var(--aiv-bg);color:var(--aiv-muted)}
.aiv-code-bar{display:flex;align-items:center;gap:7px;padding:12px 16px;border-bottom:1px solid var(--aiv-line)}
.aiv-code-bar i{width:10px;height:10px;border-radius:50%;background:#3b3959}.aiv-code-bar i:first-child{background:#ff6b7a}.aiv-code-bar i:nth-child(2){background:#ffc46b}.aiv-code-bar i:nth-child(3){background:#3ddc97}
.aiv-code-bar span{margin-left:8px;color:var(--aiv-muted);font-size:12px}
.aiv-code pre{margin:0;padding:18px 20px;overflow-x:auto;color:#d8d5eb;font:12.5px/1.65 ui-monospace,SFMono-Regular,Menlo,monospace;background:none;border:0}
.aiv-code .c-mute{color:#7f7c9c}.aiv-code .c-str{color:#a5f3c4}.aiv-code .c-key{color:var(--aiv-violet)}.aiv-code .c-num{color:#ffc46b}
.aiv-hook{display:flex;align-items:center;gap:12px;margin:0 16px 16px;padding:12px 14px;border:1px solid var(--aiv-line);border-radius:12px;background:var(--aiv-raised)}
.aiv-hub{display:grid;gap:0;padding:26px;border:1px solid rgba(178,169,255,.3);border-radius:20px;background:radial-gradient(ellipse 80% 60% at 50% 0,rgba(105,87,220,.28),transparent 70%),linear-gradient(160deg,#1f1d36,#15142a);box-shadow:0 30px 90px rgba(4,4,15,.45)}
.aiv-hub-core{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid rgba(52,249,243,.35);border-radius:14px;background:var(--aiv-panel)}
.aiv-hub-core b{display:block;font-size:15px}
.aiv-hub-mark{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#5e4dea,#7048e8);color:#fff;flex:none}
.aiv-hub-mark svg{width:22px;height:22px}
.aiv-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.aiv-chips i{font-style:normal;padding:3px 9px;border-radius:999px;background:var(--aiv-raised);color:var(--aiv-muted);font-size:11px}
.aiv-hub-lines{display:grid;grid-template-columns:repeat(3,1fr);height:34px}
.aiv-hub-lines span{justify-self:center;width:2px;height:100%;background:linear-gradient(180deg,rgba(52,249,243,.6),rgba(178,169,255,.25));animation:aiv-pulse 2.4s ease-in-out infinite}
.aiv-hub-lines span:nth-child(2){animation-delay:.4s}.aiv-hub-lines span:nth-child(3){animation-delay:.8s}
@keyframes aiv-pulse{50%{opacity:.35}}
@media(prefers-reduced-motion:reduce){.aiv-hub-lines span{animation:none}}
.aiv-hub-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.aiv-hub-node{display:grid;justify-items:center;gap:6px;padding:16px 10px;border:1px solid var(--aiv-line);border-radius:14px;background:var(--aiv-panel);text-align:center}
.aiv-hub-node img{border-radius:50%;background:#fff}
.aiv-hub-node .aiv-node-ico{width:34px;height:34px}
.aiv-hub-node b{font-size:14px}.aiv-hub-node small{font-size:11px}
.aiv-hub-foot{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:18px;color:var(--aiv-cyan);font-size:12.5px}
@media(max-width:560px){.aiv-hub{padding:16px}.aiv-hub-row{gap:6px}.aiv-hub-node{padding:12px 6px}.aiv-hub-node small{font-size:10px}.aiv-msg{max-width:100%}.aiv-stats b{font-size:18px}.aiv-code pre{font-size:11px;padding:14px}}
.signal-feature .aiv img{width:28px;height:28px;aspect-ratio:1;max-width:none;object-fit:cover;border-radius:50%}
.signal-feature .aiv svg{aspect-ratio:auto}
.signal-feature .aiv-hub-node img{width:34px;height:34px}
.signal-feature .aiv-hub-mark svg{width:22px;height:22px}
/* Chats animados de la página de IA (visuals/ai-adi, ai-mcp); el guion está en visuals/_chat-player. */
.aiv-play .aiv-chat{min-height:330px;align-content:end}
.aiv-play .aiv-input{gap:12px}
.aiv-field{position:relative;display:flex;flex:1;min-width:0;overflow:hidden;white-space:nowrap}
.aiv-typed{flex:none;color:var(--aiv-text)}
.aiv-typed:empty{display:none}
.aiv-typed:not(:empty)+.aiv-placeholder{display:none}
.aiv-play.is-typing .aiv-field{justify-content:flex-end}
.aiv-play.is-typing .aiv-typed::after{content:'';display:inline-block;width:2px;height:1.1em;margin-left:2px;vertical-align:-3px;background:var(--aiv-cyan);animation:aiv-blink .8s steps(1) infinite}
@keyframes aiv-blink{50%{opacity:0}}
.aiv-send{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--aiv-cyan);color:#101525;flex:none;transition:transform .2s ease,box-shadow .2s ease}
.aiv-play.is-sending .aiv-send{transform:scale(.86);box-shadow:0 0 0 6px rgba(52,249,243,.2)}
.aiv-thinking{display:flex;align-items:center;gap:10px;justify-self:start;padding:10px 14px;border:1px solid var(--aiv-line);border-radius:14px;border-bottom-left-radius:4px;background:var(--aiv-raised)}
.aiv-thinking small{font-size:12px}
.aiv-dots{display:inline-flex;gap:4px}
.aiv-dots i{width:7px;height:7px;border-radius:50%;background:var(--aiv-violet);animation:aiv-bounce 1s ease-in-out infinite}
.aiv-dots i:nth-child(2){animation-delay:.15s}.aiv-dots i:nth-child(3){animation-delay:.3s}
@keyframes aiv-bounce{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-5px);opacity:1}}
.aiv-play .aiv-thinking{display:none}
.aiv-play.is-anim .aiv-step{display:none}
.aiv-play.is-anim[data-step="1"] .aiv-step[data-step="1"],
.aiv-play.is-anim[data-step="2"] .aiv-step[data-step="1"],
.aiv-play.is-anim[data-step="3"] .aiv-step[data-step="1"],
.aiv-play.is-anim[data-step="3"] .aiv-step[data-step="3"]{display:block;animation:aiv-in .45s cubic-bezier(.2,.8,.2,1) both}
.aiv-play.is-anim[data-step="2"] .aiv-thinking,
.aiv-play.is-anim[data-step="3"] .aiv-tool[data-step="3"]{display:flex;animation:aiv-in .45s cubic-bezier(.2,.8,.2,1) both}
.aiv-play.is-anim[data-step="3"] .aiv-tool{display:inline-flex}
.aiv-play.is-anim[data-step="3"] .aiv-msg.is-bot{animation-delay:.35s}
.aiv-play.is-anim[data-step="3"] .aiv-msg.is-bot li,.aiv-play.is-anim[data-step="3"] .aiv-msg.is-bot p{animation:aiv-in .4s cubic-bezier(.2,.8,.2,1) both}
.aiv-play.is-anim[data-step="3"] .aiv-msg.is-bot li:nth-child(1){animation-delay:.75s}
.aiv-play.is-anim[data-step="3"] .aiv-msg.is-bot li:nth-child(2){animation-delay:1s}
.aiv-play.is-anim[data-step="3"] .aiv-msg.is-bot li:nth-child(3){animation-delay:1.25s}
.aiv-play.is-anim[data-step="3"] .aiv-msg.is-bot p:first-child{animation-delay:.5s}
.aiv-play.is-anim[data-step="3"] .aiv-msg.is-bot p:last-child{animation-delay:1.6s}
.aiv-play.is-anim[data-step="3"] .aiv-msg.is-bot li small{animation:aiv-pop .5s 1.9s cubic-bezier(.2,.8,.2,1) both}
.aiv-play.is-anim .aiv-msg.is-user{transform-origin:100% 100%}
@keyframes aiv-in{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
@keyframes aiv-pop{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.aiv-dots i,.aiv-play.is-typing .aiv-typed::after{animation:none}}
.aiv-play .aiv-thinking .aiv-node-ico{width:28px;height:28px}
.aiv-play.is-anim[data-step="3"] .aiv-tools[data-step="3"]{display:flex}
.aiv-play.is-anim[data-step="3"] .aiv-tools span{animation:aiv-pop .4s cubic-bezier(.2,.8,.2,1) both}
.aiv-play.is-anim[data-step="3"] .aiv-tools span:nth-child(2){animation-delay:.3s}
.aiv-play.is-anim[data-step="3"] .aiv-tools span:nth-child(3){animation-delay:.6s}
.aiv-play.is-anim[data-step="3"] .aiv-tools span.is-locked{animation:aiv-pop .4s .6s cubic-bezier(.2,.8,.2,1) both,aiv-shake .4s 1s ease both}
@keyframes aiv-shake{25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
.aiv-play.is-anim[data-step="3"] .aiv-msg.is-bot.has-stats{animation-delay:1.2s}
.aiv-play.is-anim[data-step="3"] .aiv-msg.is-bot.has-stats p:first-child{animation-delay:1.4s}
.aiv-play.is-anim[data-step="3"] .aiv-stats div{animation:aiv-in .4s cubic-bezier(.2,.8,.2,1) both}
.aiv-play.is-anim[data-step="3"] .aiv-stats div:nth-child(1){animation-delay:1.6s}
.aiv-play.is-anim[data-step="3"] .aiv-stats div:nth-child(2){animation-delay:1.8s}
.aiv-play.is-anim[data-step="3"] .aiv-stats div:nth-child(3){animation-delay:2s}
.aiv-play.is-anim[data-step="3"] .aiv-msg.is-bot.has-stats p:last-child{animation-delay:2.6s}
.aiv-mcp .aiv-chat{min-height:360px}
