/* Cognita — «Biz haqimizda» robot taqdimoti: sahna vizuallari (static/js/about-scenes.js).
   Har bir vizual — .ab-vis (dvigatel konteyneri) ichidagi bitta .abv «gologramma» paneli: shaffof shisha,
   nozik nur chiziqlar, sahna rangi (--abv-c — JS inline qo'yadi; bo'lmasa --ab-mood) aksent.
   O'lcham sinflari (JS ResizeObserver): .abv-s — tor (< 400px), .abv-lo — past (< 172px).
   Faqat transform/opacity animatsiyalari; harakat kamaytirilgan bo'lsa — animatsiyasiz yakuniy holat. */
/* pages.css dagi tokenlar (shu fayl mustaqil ham ishlasin); --i/--n — JS inline beradigan navbat raqamlari */
:root{ --ab-mood:#32E6D3; --h-t1:#F7FAFF; --h-t2:#9EAEC2; --h-t3:#6C7B92; --h-gold:#F4BD63; --h-disp:'Plus Jakarta Sans',var(--font-sans); --i:0; --n:0 }
.abv{--abv-c:var(--ab-mood,#32E6D3);--abv-c2:#42C9FF;--abv-ink:#041018;
  --abv-l1:color-mix(in srgb,var(--abv-c) 36%,transparent);--abv-l2:color-mix(in srgb,var(--abv-c) 17%,transparent);
  --abv-t1:var(--h-t1,#F7FAFF);--abv-t2:var(--h-t2,#9EAEC2);--abv-t3:var(--h-t3,#6C7B92);
  --abv-disp:var(--h-disp,'Plus Jakarta Sans',system-ui,sans-serif);--abv-mono:var(--font-mono,ui-monospace,Menlo,monospace);
  position:relative;display:block;box-sizing:border-box;width:100%;height:100%;min-height:150px;overflow:hidden;isolation:isolate;
  border-radius:18px;border:1px solid var(--abv-l1);pointer-events:none;user-select:none;-webkit-user-select:none;
  color:var(--abv-t1);font-family:var(--font-sans,system-ui,sans-serif);font-size:12.5px;font-weight:500;line-height:1.25;letter-spacing:0;text-align:left;
  background:
    radial-gradient(120% 95% at 0% 0%,color-mix(in srgb,var(--abv-c) 14%,transparent),transparent 56%),
    radial-gradient(90% 85% at 100% 100%,rgba(66,201,255,.08),transparent 60%),
    linear-gradient(135deg,rgba(14,30,56,.66),rgba(6,16,32,.52));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),inset 0 0 30px color-mix(in srgb,var(--abv-c) 7%,transparent);
  animation:abv-open .5s cubic-bezier(.2,.8,.2,1) both}
.abv *,.abv *::before,.abv *::after{box-sizing:border-box}
.abv i,.abv b,.abv small{font-style:normal}
.abv svg{display:block;flex:none}
/* skan chiziqlari va burchak belgilari */
.abv::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.55;
  background:repeating-linear-gradient(180deg,rgba(255,255,255,.035) 0 1px,transparent 1px 4px)}
.abv::after{content:"";position:absolute;inset:6px;z-index:2;pointer-events:none;opacity:.8;
  background:
    linear-gradient(var(--abv-c),var(--abv-c)) 0 0/12px 1.5px,linear-gradient(var(--abv-c),var(--abv-c)) 0 0/1.5px 12px,
    linear-gradient(var(--abv-c),var(--abv-c)) 100% 0/12px 1.5px,linear-gradient(var(--abv-c),var(--abv-c)) 100% 0/1.5px 12px,
    linear-gradient(var(--abv-c),var(--abv-c)) 0 100%/12px 1.5px,linear-gradient(var(--abv-c),var(--abv-c)) 0 100%/1.5px 12px,
    linear-gradient(var(--abv-c),var(--abv-c)) 100% 100%/12px 1.5px,linear-gradient(var(--abv-c),var(--abv-c)) 100% 100%/1.5px 12px;
  background-repeat:no-repeat}
.abv-scan{position:absolute;left:0;right:0;top:0;height:42%;z-index:0;transform:translateY(-100%);
  background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--abv-c) 7%,transparent) 88%,color-mix(in srgb,var(--abv-c) 16%,transparent) 99%,transparent);
  animation:abv-scan 5.5s linear 1s infinite}
.abv-body{position:absolute;inset:0;z-index:1;padding:14px 16px}
/* navbat bilan paydo bo'lish */
.abv-i{animation:abv-rise .55s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i,0)*130ms + 140ms)}
.abv-off,.abv-off *,.abv-off *::before,.abv-off *::after{animation-play-state:paused!important}
.abv-bot{width:26px;height:26px}
.abv-eyes{transform-box:fill-box;transform-origin:center;animation:abv-blink 4.6s ease-in-out 2s infinite}
.abv-chip{display:inline-flex;align-items:center;gap:5px;height:23px;padding:0 9px;border-radius:999px;font-size:10.5px;font-weight:600;white-space:nowrap;
  color:var(--abv-t1);border:1px solid var(--abv-l2);background:rgba(255,255,255,.045)}
.abv-chip svg{width:12px;height:12px;color:var(--abv-c)}

/* ── salom: uch raqam — ingichka tasma (balandligini dvigatel beradi) ── */
.abv-salom{min-height:0}
.abv-salom .abv-body{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:12px;padding:10px 18px}
.abv-stat{display:flex;align-items:center;gap:10px;min-width:0}
.abv-stat + .abv-stat{padding-left:12px;border-left:1px solid var(--abv-l2)}
.abv-stat b{flex:none;font-family:var(--abv-disp);font-size:32px;font-weight:800;line-height:1;letter-spacing:-.02em;
  background:linear-gradient(135deg,var(--abv-c),var(--abv-c2));-webkit-background-clip:text;background-clip:text;color:transparent}
.abv-stat span{min-width:0;font-size:12px;line-height:1.3;color:var(--abv-t2)}
.abv-salom.abv-s .abv-body{gap:8px;padding:8px 12px}
.abv-salom.abv-s .abv-stat{flex-direction:column;align-items:flex-start;gap:3px}
.abv-salom.abv-s .abv-stat + .abv-stat{padding-left:8px}
.abv-salom.abv-s .abv-stat b{font-size:24px}
.abv-salom.abv-s .abv-stat span{font-size:10px;line-height:1.25}

@keyframes abv-open{from{opacity:0;transform:scaleY(.9)}to{opacity:1;transform:none}}
@keyframes abv-scan{from{transform:translateY(-100%)}to{transform:translateY(240%)}}
@keyframes abv-rise{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}
@keyframes abv-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes abv-blink{0%,93%,100%{transform:scaleY(1)}96.5%{transform:scaleY(.12)}}
@keyframes abv-lit{0%{opacity:0}4%,15%{opacity:1}23%,100%{opacity:0}}
@keyframes abv-pop{0%{transform:scale(1)}4%,15%{transform:scale(1.1)}23%,100%{transform:scale(1)}}
@keyframes abv-ping{0%{opacity:.85;transform:scale(.92)}70%,100%{opacity:0;transform:scale(1.28)}}
@keyframes abv-spin{to{transform:rotate(360deg)}}

/* ── kimman: mini doska + savol → javob ── */
.abv-kimman .abv-body{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:14px;align-items:stretch}
.abv-board{position:relative;min-height:0;overflow:hidden;border-radius:12px;border:1px solid var(--abv-l2);
  background:
    linear-gradient(rgba(130,190,255,.07) 1px,transparent 1px) 0 0/100% 14px,
    linear-gradient(90deg,rgba(130,190,255,.07) 1px,transparent 1px) 0 0/14px 100%,
    linear-gradient(160deg,rgba(2,10,24,.66),rgba(8,24,46,.42))}
.abv-board svg{position:absolute;left:6px;top:6px;width:calc(100% - 12px);height:calc(100% - 12px)}
.abv-ax{stroke:rgba(200,225,255,.5);stroke-width:.9;stroke-linecap:round;stroke-linejoin:round}
.abv-curve,.abv-glow{stroke:var(--abv-c);stroke-linecap:round;stroke-dasharray:1 2;stroke-dashoffset:0;animation:abv-draw 7s ease-in-out .6s infinite backwards}
.abv-curve{stroke-width:2}
.abv-glow{stroke-width:6;stroke-opacity:.2}
.abv-pt{fill:#fff;stroke:var(--abv-c);stroke-width:1.2}
.abv-p1{animation:abv-p1 7s linear .6s infinite backwards}
.abv-p2{animation:abv-p2 7s linear .6s infinite backwards}
.abv-p3{animation:abv-p3 7s linear .6s infinite backwards}
.abv-fx{position:absolute;left:10px;top:8px;padding:2px 7px;border-radius:7px;font-family:var(--abv-mono);font-size:11.5px;font-weight:600;color:var(--abv-c);
  background:rgba(2,10,24,.7);border:1px solid var(--abv-l2)}
.abv-talk{display:flex;flex-direction:column;justify-content:center;gap:9px;min-width:0}
.abv-q{align-self:flex-end;max-width:100%;padding:7px 12px;border-radius:14px 14px 4px 14px;font-size:12.5px;font-weight:700;line-height:1.2;color:var(--abv-ink);
  background:linear-gradient(135deg,var(--abv-c),color-mix(in srgb,var(--abv-c) 55%,#fff));
  animation:abv-rise .55s cubic-bezier(.2,.8,.2,1) both,abv-bob 5s ease-in-out infinite;animation-delay:calc(var(--i,0)*130ms + 140ms),1.6s}
.abv-a{align-self:flex-start;display:flex;align-items:center;gap:8px;max-width:100%;padding:7px 12px 7px 8px;border-radius:14px 14px 14px 4px;
  border:1px solid var(--abv-l1);background:rgba(255,255,255,.055);
  animation:abv-rise .55s cubic-bezier(.2,.8,.2,1) both,abv-bob 5.6s ease-in-out infinite;animation-delay:calc(var(--i,0)*130ms + 140ms),2.4s}
.abv-a-t{display:block;min-width:0}
.abv-a-t b{display:block;font-family:var(--abv-mono);font-size:13px;font-weight:600;color:#fff;white-space:nowrap}
.abv-a-t i{display:block;height:3px;margin-top:5px;border-radius:2px;width:68px;max-width:100%;background:rgba(255,255,255,.26);transform-origin:left center;animation:abv-line .5s ease-out 1s backwards}
.abv-a-t i + i{width:44px;animation-delay:1.2s}
.abv-chips{display:flex;flex-wrap:wrap;gap:6px}
.abv-kimman .abv-chip{animation:abv-dim 6s ease-in-out infinite backwards;animation-delay:calc(var(--n,0)*2s + 2.2s)}
@keyframes abv-draw{0%{stroke-dashoffset:1.05;opacity:1}32%,90%{stroke-dashoffset:0;opacity:1}97%{stroke-dashoffset:0;opacity:0}100%{stroke-dashoffset:1.05;opacity:0}}
@keyframes abv-p1{0%,9%{opacity:0}12%,90%{opacity:1}97%,100%{opacity:0}}
@keyframes abv-p2{0%,15%{opacity:0}18%,90%{opacity:1}97%,100%{opacity:0}}
@keyframes abv-p3{0%,21%{opacity:0}24%,90%{opacity:1}97%,100%{opacity:0}}
@keyframes abv-line{from{transform:scaleX(0)}to{transform:none}}
@keyframes abv-dim{0%,33%{opacity:1}42%,92%{opacity:.5}100%{opacity:1}}
.abv-kimman.abv-s .abv-body{gap:10px}
.abv-s .abv-chips,.abv-lo .abv-chips{display:none}
.abv-kimman.abv-s .abv-q{font-size:11px;padding:6px 9px}
.abv-kimman.abv-s .abv-a{padding:6px 9px 6px 6px;gap:6px}
.abv-kimman.abv-s .abv-bot{width:22px;height:22px}
.abv-kimman.abv-s .abv-a-t b{font-size:12px}
.abv-kimman.abv-s .abv-a-t i{width:48px}
.abv-kimman.abv-s .abv-a-t i + i{width:30px}

/* ── makonlar: robot → oltita ilova ── */
.abv-makonlar .abv-body{display:flex;align-items:center;gap:16px}
.abv-core{position:relative;flex:none;width:76px;height:76px;display:grid;place-items:center}
.abv-core::before,.abv-core::after{content:"";position:absolute;inset:0;border-radius:50%;border:1px dashed var(--abv-l1);animation:abv-spin 16s linear infinite}
.abv-core::after{inset:9px;border:1px solid var(--abv-l2);background:radial-gradient(circle,color-mix(in srgb,var(--abv-c) 20%,transparent),transparent 70%);animation:none}
.abv-core .abv-bot{position:relative;z-index:1;width:44px;height:44px;animation:abv-bob 4.4s ease-in-out 1.2s infinite}
.abv-apps{flex:1;min-width:0;height:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:8px}
.abv-app{--c1:var(--abv-c);--c2:var(--abv-c2);--ink:#041018;position:relative;min-width:0;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:5px 4px;
  border-radius:14px;border:1px solid rgba(130,190,255,.15);background:rgba(255,255,255,.035);text-align:center}
.abv-app::after{content:"";position:absolute;inset:-1px;border-radius:inherit;opacity:0;border:1px solid color-mix(in srgb,var(--c1) 75%,transparent);
  background:linear-gradient(160deg,color-mix(in srgb,var(--c1) 22%,transparent),transparent 72%);box-shadow:inset 0 0 16px color-mix(in srgb,var(--c1) 22%,transparent);
  animation:abv-lit 7.2s ease-in-out infinite;animation-delay:calc(var(--n,0)*1.2s + 1.4s)}
.abv-ico{position:relative;z-index:1;flex:none;width:34px;height:34px;border-radius:11px;display:grid;place-items:center;color:var(--ink);
  background:linear-gradient(145deg,var(--c1),var(--c2));box-shadow:0 6px 16px color-mix(in srgb,var(--c1) 30%,transparent);
  animation:abv-pop 7.2s ease-in-out infinite;animation-delay:calc(var(--n,0)*1.2s + 1.4s)}
.abv-ico svg{width:18px;height:18px}
.abv-app b{position:relative;z-index:1;max-width:100%;font-size:11.5px;font-weight:600;line-height:1.12;color:var(--abv-t1);text-wrap:balance}
.abv-app small{position:relative;z-index:1;font-size:8.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;line-height:1;padding:3px 6px;border-radius:999px;white-space:nowrap;
  color:var(--h-gold,#F4BD63);border:1px solid rgba(244,189,99,.42);background:rgba(244,189,99,.1)}
.abv-soon{border-style:dashed}
[data-abv-app="board"]{--c1:#32E6D3;--c2:#42C9FF}
[data-abv-app="tests"]{--c1:#F4BD63;--c2:#F08A24}
[data-abv-app="grafika"]{--c1:#A78BFA;--c2:#7C5CFF;--ink:#fff}
[data-abv-app="lesson"]{--c1:#32E89A;--c2:#1FA971}
[data-abv-app="chat"]{--c1:#FBBF24;--c2:#EA580C}
[data-abv-app="world"]{--c1:#42C9FF;--c2:#2563EB;--ink:#fff}
.abv-s .abv-core{display:none}
.abv-makonlar.abv-s .abv-body,.abv-makonlar.abv-lo .abv-body{padding:11px 12px}
.abv-makonlar.abv-s .abv-apps,.abv-makonlar.abv-lo .abv-apps{gap:6px}
.abv-s .abv-app,.abv-lo .abv-app{gap:3px;padding:3px;border-radius:12px}
.abv-s .abv-ico,.abv-lo .abv-ico{width:24px;height:24px;border-radius:8px;box-shadow:none}
.abv-s .abv-ico svg,.abv-lo .abv-ico svg{width:14px;height:14px}
.abv-s .abv-app b,.abv-lo .abv-app b{font-size:10px;line-height:1.05}
.abv-s .abv-app small,.abv-lo .abv-app small{font-size:7.5px;padding:2px 5px}
.abv-lo .abv-core{width:62px;height:62px}
.abv-lo .abv-core .abv-bot{width:36px;height:36px}
/* past panelda «Tez kunda» belgisi burchakka ko'chadi */
.abv-lo .abv-soon small{position:absolute;top:3px;right:3px}
.abv-s.abv-lo .abv-soon small{position:absolute;top:-1px;right:-1px;border-radius:0 11px 0 8px;font-size:7px;padding:2px 4px;background:rgba(40,30,8,.9)}

/* ── tillar: to'rtta salom pufagi ── */
.abv-tillar .abv-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:10px 12px}
.abv-say{position:relative;min-width:0;min-height:0;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:6px 12px;
  border-radius:15px;border:1px solid rgba(130,190,255,.17);background:rgba(255,255,255,.04)}
.abv-say:nth-child(odd){border-bottom-left-radius:4px}
.abv-say:nth-child(even){border-bottom-right-radius:4px}
.abv-say::after{content:"";position:absolute;inset:-1px;border-radius:inherit;opacity:0;border:1px solid color-mix(in srgb,var(--abv-c) 55%,transparent);
  background:color-mix(in srgb,var(--abv-c) 8%,transparent);animation:abv-lit 6s ease-in-out infinite;animation-delay:calc(var(--n,0)*1.5s + 1.4s)}
.abv-say-top{position:relative;z-index:1;display:flex;align-items:center;gap:9px;min-width:0}
.abv-tag{flex:none;font-family:var(--abv-mono);font-size:10px;font-weight:600;line-height:1;padding:4px 6px;border-radius:7px;color:var(--abv-t2);border:1px solid rgba(130,190,255,.22)}
.abv-say b{min-width:0;font-family:var(--abv-disp);font-size:21px;font-weight:800;letter-spacing:-.02em;line-height:1.1;color:#C9D7E8;white-space:nowrap}
.abv-ln{position:relative;z-index:1;font-size:11px;color:var(--abv-t2);padding-left:1px}
.abv-wave{display:none;margin-left:auto;align-items:center;gap:2.5px;height:16px}
.abv-wave i{width:2.5px;height:100%;border-radius:2px;background:var(--abv-c);transform:scaleY(.5);animation:abv-wave .9s ease-in-out infinite}
.abv-wave i:nth-child(2){transform:scaleY(1);animation-delay:-.3s}
.abv-wave i:nth-child(3){transform:scaleY(.7);animation-delay:-.55s}
.abv-wave i:nth-child(4){transform:scaleY(.4);animation-delay:-.15s}
.abv-say.abv-on{border-color:color-mix(in srgb,var(--abv-c) 70%,transparent);
  background:linear-gradient(135deg,color-mix(in srgb,var(--abv-c) 26%,transparent),color-mix(in srgb,var(--abv-c) 7%,transparent));
  box-shadow:inset 0 0 18px color-mix(in srgb,var(--abv-c) 16%,transparent)}
.abv-on b{color:#fff}
.abv-on .abv-tag{color:var(--abv-ink);background:var(--abv-c);border-color:transparent}
.abv-on .abv-ln{color:var(--abv-t1)}
.abv-on .abv-wave{display:flex}
@keyframes abv-wave{0%,100%{transform:scaleY(.3)}50%{transform:scaleY(1)}}
.abv-tillar.abv-s .abv-body,.abv-tillar.abv-lo .abv-body{gap:8px 10px}
.abv-s .abv-ln,.abv-lo .abv-ln{display:none}
.abv-s .abv-say{padding:5px 10px}
.abv-s .abv-say-top{flex-wrap:wrap;gap:4px 7px}
.abv-s .abv-say b{order:3;flex:0 0 100%;font-size:17px}
.abv-s .abv-tag{font-size:9px;padding:3px 5px}
.abv-s .abv-wave{height:12px;gap:2px}
.abv-s .abv-wave i{width:2px}

/* ── qadamlar: 1 → 2 → 3 ── */
.abv-qadamlar .abv-body{display:grid;align-content:center}
.abv-flow{--chip:44px;--g:10px;position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--g);align-items:start}
.abv-track{position:absolute;left:calc(16.667% - var(--g)/3);right:calc(16.667% - var(--g)/3);top:calc(var(--chip)/2 - 6px);height:12px;overflow:hidden;
  background:linear-gradient(var(--abv-l1),var(--abv-l1)) center/100% 2px no-repeat}
.abv-run{position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--abv-c)) center/100% 2px no-repeat;animation:abv-run 6s linear 1.2s infinite backwards}
.abv-run::after{content:"";position:absolute;right:0;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:#fff;box-shadow:0 0 6px 2px var(--abv-c)}
.abv-step{position:relative;z-index:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}
.abv-num{position:relative;flex:none;width:var(--chip);height:var(--chip);border-radius:15px;display:grid;place-items:center;font-family:var(--abv-disp);font-size:19px;font-weight:800;color:var(--abv-ink);
  background:linear-gradient(135deg,var(--abv-c),color-mix(in srgb,var(--abv-c) 45%,var(--abv-c2)));box-shadow:0 0 0 5px rgba(4,14,30,.9);
  animation:abv-pop2 6s ease-in-out infinite;animation-delay:calc(var(--n,0)*1.9s + 1.2s)}
.abv-num::after{content:"";position:absolute;inset:-5px;border-radius:19px;border:1.5px solid var(--abv-c);opacity:0;
  animation:abv-lit2 6s ease-in-out infinite;animation-delay:calc(var(--n,0)*1.9s + 1.2s)}
.abv-step b{font-size:12.5px;font-weight:700;line-height:1.18;color:var(--abv-t1);text-wrap:balance}
.abv-hint{margin-top:-4px;font-size:10.5px;line-height:1.25;color:var(--abv-t2);text-wrap:balance}
@keyframes abv-run{0%,10%{transform:translateX(-100%);opacity:1}30%,42%{transform:translateX(-50%)}62%,88%{transform:translateX(0);opacity:1}96%,100%{transform:translateX(0);opacity:0}}
@keyframes abv-lit2{0%{opacity:0}4%,30%{opacity:1}37%,100%{opacity:0}}
@keyframes abv-pop2{0%{transform:scale(1)}4%,30%{transform:scale(1.1)}37%,100%{transform:scale(1)}}
.abv-s .abv-flow{--chip:34px;--g:4px}
.abv-lo .abv-flow{--chip:36px}
.abv-s .abv-num,.abv-lo .abv-num{font-size:15.5px;border-radius:12px}
.abv-s .abv-num::after,.abv-lo .abv-num::after{inset:-4px;border-radius:15px}
.abv-s .abv-step,.abv-lo .abv-step{gap:7px}
.abv-s .abv-step b{font-size:10.5px;letter-spacing:-.01em}
.abv-s .abv-hint{display:none}
.abv-qadamlar.abv-s .abv-body{padding:12px 8px}

/* ── ishonch: internetdan qidiruv, manbalar, qalqon ── */
.abv-ishonch .abv-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:14px;align-items:center}
.abv-webbox{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center}
.abv-orb{position:relative;flex:none;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;color:var(--abv-c);
  border:1px solid var(--abv-l1);background:radial-gradient(circle at 34% 28%,color-mix(in srgb,var(--abv-c) 30%,transparent),color-mix(in srgb,var(--abv-c) 8%,transparent) 70%);
  box-shadow:0 0 22px color-mix(in srgb,var(--abv-c) 28%,transparent)}
.abv-orb::before{content:"";position:absolute;inset:-7px;border-radius:50%;border:1px solid var(--abv-l1);opacity:0;animation:abv-ping 2.6s ease-out 1.4s infinite}
.abv-orb > svg{width:26px;height:26px}
.abv-lens{position:absolute;right:-5px;bottom:-4px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;color:var(--abv-ink);
  background:linear-gradient(135deg,var(--abv-c),#FFE2A6);box-shadow:0 0 0 2px rgba(6,16,32,.9);animation:abv-seek 4.2s ease-in-out 1.2s infinite}
.abv-lens svg{width:13px;height:13px}
.abv-web{font-family:var(--abv-disp);font-size:14px;font-weight:800;letter-spacing:-.01em;line-height:1.15;color:#fff}
.abv-fresh{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;border-radius:999px;font-size:10.5px;font-weight:600;white-space:nowrap;
  color:var(--abv-t1);border:1px solid var(--abv-l2);background:rgba(255,255,255,.045)}
.abv-fresh::before{content:"";width:6px;height:6px;border-radius:50%;background:#32E89A;box-shadow:0 0 8px #32E89A}
.abv-facts{min-width:0;display:flex;flex-direction:column;gap:9px}
.abv-fact{min-width:0;display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:14px;border:1px solid var(--abv-l2);background:rgba(255,255,255,.04)}
.abv-fic{position:relative;flex:none;width:34px;height:34px;border-radius:11px;display:grid;place-items:center;color:var(--abv-c);
  border:1px solid var(--abv-l1);background:color-mix(in srgb,var(--abv-c) 13%,transparent)}
.abv-shield{color:#32E89A;border-color:rgba(50,232,154,.4);background:rgba(50,232,154,.12)}
.abv-shield::after{content:"";position:absolute;inset:-4px;border-radius:14px;border:1.5px solid #32E89A;opacity:0;animation:abv-ping 2.8s ease-out 2.2s infinite}
.abv-ft{display:block;min-width:0}
.abv-ft b{display:block;font-family:var(--abv-disp);font-size:14px;font-weight:800;letter-spacing:-.01em;line-height:1.15;color:#fff}
.abv-ft i{display:block;margin-top:2px;font-size:10.5px;line-height:1.25;color:var(--abv-t2)}
@keyframes abv-seek{0%,100%{transform:translate(0,0)}30%{transform:translate(-9px,-7px)}60%{transform:translate(-2px,-12px)}}
.abv-ishonch.abv-s .abv-body{gap:10px;padding:12px}
.abv-s .abv-ft i,.abv-lo .abv-ft i{display:none}
.abv-s .abv-orb,.abv-lo .abv-orb{width:42px;height:42px}
.abv-s .abv-orb > svg,.abv-lo .abv-orb > svg{width:20px;height:20px}
.abv-s .abv-lens,.abv-lo .abv-lens{width:19px;height:19px}
.abv-s .abv-webbox,.abv-lo .abv-webbox{gap:6px}
.abv-s .abv-web{font-size:12.5px}
.abv-s .abv-fresh,.abv-lo .abv-fresh{height:19px;font-size:9.5px;padding:0 7px}
.abv-s .abv-facts,.abv-lo .abv-facts{gap:7px}
.abv-s .abv-fact,.abv-lo .abv-fact{padding:6px 8px;gap:8px;border-radius:12px}
.abv-s .abv-fic,.abv-lo .abv-fic{width:28px;height:28px;border-radius:9px}
.abv-s .abv-fic svg,.abv-lo .abv-fic svg{width:16px;height:16px}
.abv-s .abv-ft b{font-size:13px}

/* ── boshlash: yozish maydoni ── */
.abv-boshlash .abv-body{display:flex;flex-direction:column;justify-content:center;gap:11px;padding:14px 18px}
.abv-wait{display:flex;align-items:center;gap:8px;min-width:0;font-size:12px;font-weight:600;color:var(--abv-t2)}
.abv-wait > span:first-of-type{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.abv-dots{flex:none;display:inline-flex;gap:3px;margin-left:-2px}
.abv-dots i{width:4px;height:4px;border-radius:50%;background:var(--abv-c);animation:abv-dot 1.3s ease-in-out infinite}
.abv-dots i:nth-child(2){animation-delay:.18s}
.abv-dots i:nth-child(3){animation-delay:.36s}
.abv-field{position:relative;flex:none;display:flex;align-items:center;gap:9px;height:50px;padding:0 7px 0 13px;border-radius:17px;border:1px solid var(--abv-l1);
  background:rgba(2,10,24,.6);box-shadow:inset 0 0 0 1px rgba(255,255,255,.03),inset 0 0 22px color-mix(in srgb,var(--abv-c) 8%,transparent)}
.abv-mic{flex:none;display:grid;color:var(--abv-t3)}
.abv-type{flex:1;min-width:0;display:flex;align-items:center;overflow:hidden;white-space:nowrap;font-size:14.5px;font-weight:500;color:#fff}
.abv-txt{white-space:pre}
.abv-caret{flex:none;width:2px;height:1.2em;margin-left:2px;border-radius:1px;background:var(--abv-c);animation:abv-caret 1s steps(1,end) infinite}
.abv-send{position:relative;flex:none;width:36px;height:36px;border-radius:12px;display:grid;place-items:center;color:var(--abv-ink);
  background:linear-gradient(135deg,var(--abv-c),var(--abv-c2));box-shadow:0 0 16px color-mix(in srgb,var(--abv-c) 40%,transparent)}
.abv-send::after{content:"";position:absolute;inset:-4px;border-radius:15px;border:1.5px solid var(--abv-c);opacity:0;animation:abv-ping 2.2s ease-out 1.2s infinite}
.abv-ready .abv-send{animation:abv-nudge .9s ease-in-out infinite}
.abv-hints{display:flex;flex-wrap:wrap;gap:6px}
@keyframes abv-dot{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}
@keyframes abv-caret{0%{opacity:1}50%{opacity:0}}
@keyframes abv-nudge{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}
.abv-s .abv-hints,.abv-lo .abv-hints{display:none}
.abv-boshlash.abv-s .abv-body{padding:12px 14px;gap:10px}
.abv-s .abv-field{height:44px;gap:7px;padding:0 6px 0 11px;border-radius:15px}
.abv-s .abv-type{font-size:13px}
.abv-s .abv-send{width:32px;height:32px;border-radius:11px}
.abv-s .abv-send::after{border-radius:14px}
.abv-s .abv-wait{font-size:11.5px}
.abv-s .abv-wait .abv-bot{width:22px;height:22px}

/* ── harakat kamaytirilgan: animatsiyasiz yakuniy holat ── */
.abv-rm,.abv-rm *,.abv-rm *::before,.abv-rm *::after{animation:none!important;transition:none!important}
.abv-rm .abv-scan{display:none}
@media (prefers-reduced-motion:reduce){
  .abv,.abv *,.abv *::before,.abv *::after{animation:none!important;transition:none!important}
  .abv .abv-scan{display:none}
}
