/* === ARVIS CHIP 2009 — условная схема аллергочипа (доработка по ТЗ RESTORE, раздел 5) ===
   Размеры живут здесь, а не в inline-стиле корня; одна доминирующая ось поворота;
   без бесконечных анимаций; легенда — кнопки; reduced motion — статика. */

.apv-chip{
  --p:.5;--mx:0deg;--my:0deg;
  --apv-chip-w:176px;--apv-chip-h:535px;
  margin:0;display:grid;gap:18px;align-items:center;
}
@media(min-width:900px){
  .apv-chip--split{grid-template-columns:minmax(0,200px) minmax(0,1fr);gap:28px;align-items:center}
}
@media(min-width:1200px){
  .apv-chip--split{grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:36px}
}

/* сцена: одна мягкая тень под предметом, без колец и свечения */
.apv-chip__scene{
  position:relative;height:var(--apv-chip-h);
  display:grid;place-items:center;isolation:isolate;
  perspective:1200px;perspective-origin:50% 45%;
}
.apv-chip__obj{
  position:relative;width:var(--apv-chip-w);aspect-ratio:158/438;
  transform-style:preserve-3d;
  transform:
    rotateX(calc(-6deg + var(--my)))
    rotateY(calc(14deg - 10deg*var(--p) + var(--mx)))
    rotateZ(-4deg);
  will-change:transform;
}
.apv-chip__obj::before{
  content:"";position:absolute;inset:0;border-radius:20px/18px;
  background:linear-gradient(160deg,#100e0d,#070605);
  transform:translateZ(-11px);
}
.apv-chip__shell{
  position:absolute;inset:0;border-radius:20px/18px;overflow:hidden;
  background:
    radial-gradient(120% 60% at 18% 4%,rgba(255,255,255,.10),transparent 58%),
    linear-gradient(157deg,#3b3532 0%,#231f1c 24%,#171413 56%,#2b2522 88%,#1b1816 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.16),
    inset 0 -1px 0 rgba(0,0,0,.65),
    inset 1px 0 0 rgba(255,255,255,.05),
    inset -1px 0 0 rgba(0,0,0,.5);
}
/* аккуратный блик на поверхности — сдвигается с прокруткой, но не мигает */
.apv-chip__sheen{
  position:absolute;inset:-30% -60%;pointer-events:none;
  background:linear-gradient(102deg,transparent 40%,rgba(255,255,255,.12) 47%,rgba(255,255,255,.03) 53%,transparent 62%);
  transform:translateX(calc(-22% + 44%*var(--p)));
}
.apv-chip__head{
  position:absolute;left:7%;right:7%;top:5%;height:26%;
  border-radius:9px;
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.apv-chip__well{
  position:absolute;left:7%;right:7%;top:36.5%;bottom:9%;
  border-radius:9px;background:#141110;
  box-shadow:
    inset 0 3px 6px rgba(0,0,0,.92),
    inset 0 -1px 0 rgba(255,255,255,.08),
    inset 2px 0 4px rgba(0,0,0,.6);
  transform:translateZ(-5px);transform-style:preserve-3d;
  padding:5% 7%;
}
.apv-chip__slide{
  position:relative;display:block;width:100%;height:100%;border-radius:2px;
  background:linear-gradient(168deg,#f4f2ef 0%,#e6e3de 42%,#efedea 78%,#dedad4 100%);
  box-shadow:0 1px 3px rgba(0,0,0,.5),inset 0 0 14px rgba(120,112,104,.16);
}
.apv-chip__slide::after{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.5) 44%,rgba(255,255,255,.1) 52%,transparent 66%);
  transform:translateX(calc(-30% + 60%*var(--p)));opacity:.45;
}
/* без JS — статичная сетка точек фоном, смысл блока не зависит от скрипта */
.apv-chip__slide:empty{
  background-image:
    radial-gradient(circle,rgba(24,20,18,.4) 1.5px,transparent 1.6px),
    linear-gradient(168deg,#f4f2ef 0%,#e6e3de 42%,#efedea 78%,#dedad4 100%);
  background-size:12.5% 4.4%,100% 100%;
  background-position:6% 3%,0 0;
}
.apv-chip__clip{
  position:absolute;left:24%;right:24%;bottom:2.4%;height:3.6%;
  border-radius:3px;background:#0e0c0b;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}

/* точки: спокойная сетка, одно появление при первом показе */
.apv-chip__dot{
  position:absolute;left:calc(var(--x)*1%);top:calc(var(--y)*1%);
  width:var(--d,4.8px);height:var(--d,4.8px);
  margin-left:calc(var(--d,4.8px)/-2);margin-top:calc(var(--d,4.8px)/-2);
  border-radius:50%;background:rgba(24,20,18,var(--o,.42));
  transition:opacity .22s cubic-bezier(.22,.61,.36,1),background-color .22s cubic-bezier(.22,.61,.36,1),transform .22s cubic-bezier(.22,.61,.36,1);
}
.is-shown .apv-chip__dot{animation:apvChipIn .46s cubic-bezier(.22,.61,.36,1) both;animation-delay:calc(var(--i)*6ms)}
/* ARVIS HOME 2109 (H16): после однократного появления анимация снимается, чтобы выделение группы могло менять масштаб */
.apv-chip.is-settled .apv-chip__dot{animation:none}
@keyframes apvChipIn{from{transform:scale(0)}to{transform:scale(1)}}

/* выделение связанной области: выбранная группа — фирменным цветом, остальные притухают */
.apv-chip.has-pick .apv-chip__dot{opacity:.28}
.apv-chip.has-pick .apv-chip__dot.is-pick{opacity:1;background:var(--arv-brand,#990400);transform:scale(1.25)}

.apv-chip__ground{
  position:absolute;left:50%;bottom:6%;width:60%;height:26px;transform:translateX(-50%);
  background:radial-gradient(50% 50% at 50% 50%,rgba(42,36,34,calc(.18 + .1*var(--p))),transparent 72%);
  filter:blur(7px);pointer-events:none;z-index:-1;
}

/* легенда: кнопки, одинаковое выделение от наведения, фокуса и нажатия */
.apv-chip__cap{margin:0 0 14px;font-size:13px;line-height:1.5;color:var(--arv-muted,#6b625f)}
.apv-chip__legend{margin:0 0 16px;padding:0;list-style:none;display:grid;gap:6px}
.apv-chip__row{
  display:grid;grid-template-columns:10px minmax(0,1fr);gap:12px;align-items:center;
  width:100%;text-align:left;cursor:pointer;
  border:0;border-radius:10px;padding:8px 10px;margin:0;
  background:transparent;color:var(--arv-ink,#141110);font:inherit;
  transition:background .18s cubic-bezier(.22,.61,.36,1);
}
.apv-chip__row:hover,.apv-chip__row:focus-visible,.apv-chip__row[aria-pressed="true"]{background:rgba(42,36,34,.06)}
.apv-chip__row:focus-visible{outline:2px solid var(--arv-brand,#990400);outline-offset:2px}
.apv-chip__row[aria-pressed="true"] .apv-chip__nm{color:var(--arv-brand,#990400)}
.apv-chip__lk{
  width:10px;height:10px;border-radius:50%;
  background:rgba(24,20,18,.42);
  transition:background-color .18s cubic-bezier(.22,.61,.36,1),transform .18s cubic-bezier(.22,.61,.36,1);
}
.apv-chip__row:hover .apv-chip__lk,.apv-chip__row:focus-visible .apv-chip__lk,.apv-chip__row[aria-pressed="true"] .apv-chip__lk{background:var(--arv-brand,#990400);transform:scale(1.2)}
.apv-chip__nm{font-size:15px;line-height:1.35}
.apv-chip__nm small{display:block;font-size:13px;color:var(--arv-muted,#6b625f)}
.apv-chip__note{margin:14px 0 0;font-size:13px;line-height:1.55;max-width:38em;color:var(--arv-muted,#6b625f)}

@media(max-width:899px){
  .apv-chip{--apv-chip-h:400px;--apv-chip-w:124px}
  .apv-chip__scene{order:-1}
  .apv-chip__nm{font-size:14px}
}

@media(prefers-reduced-motion:reduce){
  .apv-chip__obj{transform:rotateX(-6deg) rotateY(9deg) rotateZ(-4deg)}
  .is-shown .apv-chip__dot{animation:none}
  .apv-chip__dot,.apv-chip__row,.apv-chip__lk{transition:none}
  .apv-chip__sheen,.apv-chip__slide::after{transform:none}
}
