/* CONTA Bot block */
.cb{--cbg:#0b0c0b;--cg:var(--green,#40A140);--cg4:var(--g400,#73D473);position:relative;isolation:isolate;overflow:hidden;background:var(--cbg);color:#fff;padding-block:clamp(64px,8vw,120px);font-family:var(--body,Montserrat,sans-serif)}
.cb *{box-sizing:border-box}
.cb .wrap{width:100%}
.cb-bg{position:absolute;inset:0;z-index:-1;background:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px) 0 0/56px 56px,linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px) 0 0/56px 56px;-webkit-mask-image:radial-gradient(70% 80% at 70% 50%,#000,transparent);mask-image:radial-gradient(70% 80% at 70% 50%,#000,transparent)}
.cb-glow{position:absolute;right:6%;top:12%;width:min(48vw,620px);aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(64,161,64,.42),transparent);filter:blur(10px);animation:cbBreath 7s ease-in-out infinite}
.cb-glow.is-b{right:auto;left:-10%;top:auto;bottom:-30%;width:min(40vw,520px);background:radial-gradient(closest-side,rgba(115,212,115,.14),transparent);animation-delay:-3s}
@keyframes cbBreath{50%{transform:scale(1.12);opacity:.7}}
.cb-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:center}
.cb-copy{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-content:start;min-width:0}
.cb-kicker{display:flex;align-items:center;gap:12px;margin:0;font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--cg4)}
.cb-kicker::before{content:"";width:28px;height:2px;background:currentColor}
.cb-title{margin:0;font-family:var(--display,'SVN-Neutraface 2',sans-serif);font-weight:900;text-transform:uppercase;font-size:clamp(38px,4.8vw,74px);line-height:.92;letter-spacing:-.01em}
.cb-title span{color:var(--cg4);background:linear-gradient(90deg,var(--cg4),#c9eec9 40%,var(--cg4) 80%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:cbShine 6s linear infinite}
@keyframes cbShine{to{background-position:-200% 0}}
.cb-lead{margin:0;max-width:560px;font-size:clamp(15px,1.3vw,18px);line-height:1.6;color:#cfcfcf}
.cb-log{display:grid;gap:10px;max-height:300px;overflow-y:auto;padding:4px 6px 4px 0;scrollbar-width:thin;scrollbar-color:#333 transparent}
.cb-msg{max-width:88%;padding:12px 16px;border-radius:18px;font-size:15px;line-height:1.6;animation:cbIn .35s cubic-bezier(.2,.7,.2,1) both}
.cb-msg p{margin:0}
.cb-msg.is-me{justify-self:end;background:var(--cg);color:#0b0c0b;font-weight:600;border-bottom-right-radius:6px}
.cb-msg.is-bot{justify-self:start;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-bottom-left-radius:6px;color:#eaeaea}
.cb-link{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-size:13px;font-weight:700;color:var(--cg4)!important;text-decoration:none!important;border-bottom:1px solid currentColor}
.cb-link::after{content:"→"}
@keyframes cbIn{from{opacity:0;transform:translateY(8px)}}
.cb-dots{display:inline-flex;gap:5px;padding:4px 0}
.cb-dots i{width:8px;height:8px;border-radius:50%;background:var(--cg4);animation:cbDot 1s ease-in-out infinite}
.cb-dots i:nth-child(2){animation-delay:.15s}.cb-dots i:nth-child(3){animation-delay:.3s}
@keyframes cbDot{50%{transform:translateY(-5px);opacity:.4}}
.cb-ask{position:relative;display:flex;align-items:center;gap:6px;padding:8px 8px 8px 18px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.18);box-shadow:inset 0 0 0 0 var(--cg);transition:border-color .25s,box-shadow .25s,background .25s}
.cb-ask:focus-within{border-color:var(--cg);background:rgba(64,161,64,.08);box-shadow:0 0 0 4px rgba(64,161,64,.18)}
.cb-ico{width:22px;height:22px;flex:none;color:#9a9a9a}
.cb-ask input{flex:1;min-width:0;height:44px;border:0;background:transparent;color:#fff;font:500 16px/1.2 var(--body,Montserrat,sans-serif);outline:0}
.cb-ask input::placeholder{color:#8a8a8a}
.cb-ask button{flex:none;width:44px;height:44px;border-radius:50%;border:0;display:grid;place-items:center;cursor:pointer;transition:transform .2s,background .2s,opacity .2s}
.cb-ask button svg{width:20px;height:20px}
.cb-mic{background:rgba(255,255,255,.08);color:#fff}
.cb-mic:hover{background:rgba(255,255,255,.16)}
.cb-send{background:var(--cg);color:#0b0c0b}
.cb-send:hover:not(:disabled){transform:translateX(2px);background:var(--cg4)}
.cb-send:disabled{opacity:.45;cursor:default}
.cb-ask button:focus-visible{outline:2px solid var(--cg4);outline-offset:2px}
.cb.is-listening .cb-mic{background:#e03131;color:#fff;animation:cbMic 1.2s ease-in-out infinite}
@keyframes cbMic{0%,100%{box-shadow:0 0 0 0 rgba(224,49,49,.55)}50%{box-shadow:0 0 0 12px rgba(224,49,49,0)}}
.cb-chips{display:flex;flex-wrap:wrap;gap:8px}
.cb-chips button{padding:9px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:transparent;color:#d6d6d6;font:600 13px/1.2 var(--body,Montserrat,sans-serif);cursor:pointer;transition:border-color .2s,color .2s,transform .2s,background .2s}
.cb-chips button:hover{border-color:var(--cg);color:#fff;background:rgba(64,161,64,.12);transform:translateY(-2px)}
.cb.is-busy .cb-chips button{opacity:.5;pointer-events:none}
.cb-status{margin:0;min-height:1.2em;font-size:13px;color:var(--cg4)}
.cb-note{margin:0;font-size:12px;line-height:1.55;color:#7a7a7a;max-width:540px}
.cb-note a{color:#bdbdbd}
/* stage */
.cb-stage{position:relative;aspect-ratio:1/1;max-width:620px;width:100%;justify-self:center;container-type:inline-size}
.cb-3d{position:absolute;inset:0;cursor:pointer}
.cb-3d canvas{position:absolute;inset:0;width:100%!important;height:100%!important;display:block;opacity:0;transition:opacity .8s}
.cb-stage.is-3d .cb-3d canvas{opacity:1}
.cb-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity .6s;animation:cbFloat 4s ease-in-out infinite}
.cb-stage.is-3d .cb-poster{opacity:0;pointer-events:none}
@keyframes cbFloat{50%{transform:translateY(-10px)}}
.cb-orbit{position:absolute;inset:6%;pointer-events:none}
.cb-orbit::before{content:"";position:absolute;inset:0;border-radius:50%;border:1px dashed rgba(115,212,115,.28);animation:cbSpin 40s linear infinite}
.cb-orbit span{position:absolute;z-index:2;padding:7px 12px;border-radius:999px;background:#151615;border:1px solid rgba(115,212,115,.35);font-size:12px;font-weight:700;color:#e6e6e6;white-space:nowrap;transform:translate(-50%,-50%);animation:cbTag 5s ease-in-out infinite;animation-delay:calc(var(--a)*-1.2s)}
.cb-orbit span[style*="--a:0"]{left:84%;top:10%}.cb-orbit span[style*="--a:1"]{left:92%;top:66%}.cb-orbit span[style*="--a:2"]{left:16%;top:90%}.cb-orbit span[style*="--a:3"]{left:6%;top:38%}
@keyframes cbSpin{to{rotate:360deg}}
@keyframes cbTag{50%{transform:translate(-50%,calc(-50% - 8px))}}
.cb-spark{position:absolute;right:9%;top:9%;width:70px;height:70px;transform:rotate(20deg)}
.cb-spark b{position:absolute;left:30px;top:0;width:6px;height:24px;border-radius:3px;background:#a9c6ef;transform-origin:3px 50px;animation:cbTick 2.4s ease-in-out infinite}
.cb-spark b:nth-child(1){transform:rotate(-40deg)}.cb-spark b:nth-child(3){transform:rotate(40deg)}
.cb-spark b:nth-child(2){animation-delay:.2s}.cb-spark b:nth-child(3){animation-delay:.4s}
@keyframes cbTick{50%{opacity:.25}}
.cb-bubble{position:absolute;z-index:3;left:4%;top:4%;max-width:min(78%,330px);padding:14px 18px;border-radius:20px 20px 20px 6px;background:#fff;color:#151515;font-size:15px;font-weight:600;line-height:1.45;box-shadow:0 20px 40px rgba(0,0,0,.4);opacity:0;transform:translateY(10px) scale(.92);transform-origin:left bottom;transition:opacity .35s,transform .35s cubic-bezier(.2,.9,.3,1.3);pointer-events:none}
.cb-bubble::after{content:"";position:absolute;left:22px;bottom:-9px;width:18px;height:18px;background:#fff;transform:rotate(45deg);border-radius:3px}
.cb-bubble.is-on{opacity:1;transform:none}
.cb-bubble span::after{content:"";display:inline-block;width:2px;height:1em;margin-left:2px;vertical-align:-2px;background:var(--cg);animation:cbCaret .8s steps(1) infinite}
@keyframes cbCaret{50%{opacity:0}}
.cb .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:960px){
  .cb-grid{grid-template-columns:minmax(0,1fr)}
  .cb-stage{order:-1;max-width:440px;margin-inline:auto}
}
@media (max-width:640px){
  .cb-grid{gap:20px}
  .cb-stage{max-width:none;aspect-ratio:1/1.12;margin-bottom:8px}
  .cb-3d{top:12%}
  .cb-orbit{inset:16% 9% 2%}
  .cb-orbit span{font-size:11px;padding:5px 9px}
  .cb-orbit span[style*="--a:1"]{left:88%;top:70%}.cb-orbit span[style*="--a:2"]{left:18%;top:92%}.cb-orbit span[style*="--a:3"]{left:12%;top:40%}
  .cb-orbit span[style*="--a:0"]{display:none}
  .cb-spark{top:2%;right:4%;width:48px;height:48px}
  .cb-bubble{font-size:13px;left:0;top:0;max-width:74%;padding:11px 14px}
  .cb-ask{padding-left:14px}
  .cb-ask button{width:40px;height:40px}
  .cb-msg{max-width:94%}
}
@media (prefers-reduced-motion:reduce){.cb-glow,.cb-orbit::before,.cb-orbit span,.cb-poster,.cb-title span,.cb-spark b{animation:none}}
