/* ═══ Прик-тест: объёмная сцена кожной пробы (ARVIS PRICK 6) ═══ */
.apv-prick{--p:.5;--mx:0deg;--my:0deg;margin:0;display:grid;gap:18px;align-items:center}
@media(min-width:900px){.apv-prick--split{grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:30px}}
@media(min-width:1200px){.apv-prick--split{grid-template-columns:minmax(0,1fr) minmax(0,460px);gap:36px}}

.apv-prick__scene{position:relative;height:var(--apv-prick-h,340px);display:grid;place-items:center;isolation:isolate;perspective:1000px;perspective-origin:50% 38%}
.apv-prick__arm{position:relative;width:var(--apv-prick-w,460px);max-width:100%;aspect-ratio:420/230;transform-style:preserve-3d;
  transform:rotateX(calc(58deg - 22deg*var(--p) + var(--my))) rotateZ(calc(-7deg + 5deg*var(--p) + var(--mx))) scale(calc(.9 + .12*var(--p)));
  will-change:transform;transition:none}

/* кожа */
.apv-prick__skin{position:absolute;inset:0;border-radius:120px/60px;
  background:
    radial-gradient(120% 90% at 30% 20%, rgba(255,255,255,.55), rgba(255,255,255,0) 55%),
    radial-gradient(90% 120% at 80% 90%, rgba(120,80,60,.16), rgba(120,80,60,0) 60%),
    linear-gradient(160deg,#f3ddcd,#e8c9b4 55%,#dcbaa3);
  box-shadow:0 24px 40px rgba(60,38,28,.16), inset 0 1px 0 rgba(255,255,255,.5);
  overflow:hidden}
.apv-prick__skin::after{content:"";position:absolute;inset:0;opacity:.35;
  background-image:radial-gradient(rgba(150,110,90,.20) .6px, transparent .7px);background-size:7px 7px}

/* тень под рукой */
.apv-prick__shadow{position:absolute;left:8%;right:8%;bottom:-16px;height:26px;border-radius:50%;
  background:radial-gradient(60% 100% at 50% 50%, rgba(60,40,30,.22), rgba(60,40,30,0) 70%);
  transform:translateZ(-30px);filter:blur(2px)}

/* точка пробы */
.apv-prick__spot{position:absolute;left:calc(var(--x)*1%);top:calc(var(--y)*1%);width:0;height:0;transform-style:preserve-3d}

/* капля аллергена */
.apv-prick__drop{position:absolute;left:-9px;top:-9px;width:18px;height:18px;border-radius:50%;
  background:radial-gradient(60% 60% at 35% 30%, rgba(255,255,255,.9), rgba(214,232,240,.55) 60%, rgba(150,190,205,.35));
  box-shadow:0 0 0 1px rgba(90,130,150,.30), 0 2px 4px rgba(40,70,85,.28), inset 0 -3px 5px rgba(90,140,160,.42);
  opacity:0;transform:scale(.4)}
.is-live .apv-prick__drop{animation:apvDropIn .5s cubic-bezier(.22,.61,.36,1) forwards;animation-delay:calc(var(--i)*.08s)}
@keyframes apvDropIn{to{opacity:.95;transform:scale(1)}}

/* папула (волдырь) — только у положительных */
.apv-prick__weal{position:absolute;border-radius:50%;
  left:calc(var(--d,0px)/-2);top:calc(var(--d,0px)/-2);width:var(--d,0px);height:var(--d,0px);
  background:radial-gradient(62% 62% at 38% 30%, rgba(255,255,255,.92), rgba(248,196,186,.96) 52%, rgba(221,125,115,1));
  box-shadow:0 0 0 calc(var(--d,0px)*.30) rgba(200,70,60,.22), 0 3px 7px rgba(120,40,35,.28);
  transform:scale(calc(.15 + .85*var(--p)));transform-origin:50% 50%;opacity:calc(.25 + .75*var(--p))}
.apv-prick__spot--hot .apv-prick__drop{opacity:.35}

/* подпись точки */
.apv-prick__tag{display:none;position:absolute;left:14px;top:-9px;white-space:nowrap;font-size:11px;line-height:1;
  color:#6b625f;letter-spacing:.02em;opacity:0;transform:translateX(-4px) rotateX(-58deg);transform-origin:left center}
.is-live .apv-prick__tag{animation:apvTagIn .45s cubic-bezier(.22,.61,.36,1) forwards;animation-delay:calc(.35s + var(--i)*.08s)}
@keyframes apvTagIn{to{opacity:1;transform:translateX(0) rotateX(-58deg)}}
.apv-prick__spot--hot .apv-prick__tag{color:#990400;font-weight:600}

/* линейка у самой крупной папулы */
.apv-prick__ruler{display:none;position:absolute;left:-19px;top:20px;width:38px;height:2px;border-radius:2px;
  background:#990400;opacity:0;transform:scaleX(.2)}
.apv-prick__ruler::before,.apv-prick__ruler::after{content:"";position:absolute;top:-4px;width:2px;height:10px;border-radius:1px;background:#990400}
.apv-prick__ruler::before{left:0}
.apv-prick__ruler::after{right:0}
.is-live .apv-prick__ruler{animation:apvRuler .5s cubic-bezier(.22,.61,.36,1) forwards;animation-delay:1.15s}
@keyframes apvRuler{to{opacity:.85;transform:scaleX(1)}}
.apv-prick__mm{display:none;position:absolute;left:24px;top:14px;font-size:14px;font-weight:700;color:#990400;white-space:nowrap;opacity:0;transform:rotateX(-58deg);transform-origin:left center}
.is-live .apv-prick__mm{animation:apvTagIn .45s cubic-bezier(.22,.61,.36,1) forwards;animation-delay:1.3s}

/* легенда */
.apv-prick__side{min-width:0}
.apv-prick .apv-prick__legend{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:11px}
.apv-prick .apv-prick__row::before,.apv-prick .apv-prick__row::marker{content:none !important;display:none !important}
.apv-prick .apv-prick__row{display:flex !important;align-items:center;gap:10px;font-size:15px !important;line-height:1.35 !important;color:#141110;margin:0 !important;padding:0 !important;list-style:none !important;font-weight:400 !important}
.apv-prick .apv-prick__lk{flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:#990400}
.apv-prick__row--off .apv-prick__lk{background:#c9c2bd}
.apv-prick__row--off{color:#6b625f}
.apv-prick .apv-prick__nm{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.apv-prick .apv-prick__val{margin-left:auto;padding-left:14px;font-size:15px !important;font-weight:600 !important;color:#141110;font-variant-numeric:tabular-nums;white-space:nowrap}
.apv-prick .apv-prick__row--off .apv-prick__val{color:#a9a29d;font-weight:400}
.apv-prick .apv-prick__note{margin:0 !important;font-size:14px !important;line-height:1.55 !important;color:#6b625f !important;font-weight:400 !important}

@media(max-width:899px){
  .apv-prick{--apv-prick-h:250px;--apv-prick-w:330px}
  .apv-prick__scene{order:-1}
  .apv-prick__row{font-size:13px}
}
@media(prefers-reduced-motion:reduce){
  .apv-prick__arm{transform:rotateX(40deg) scale(1)}
  .is-live .apv-prick__drop,.is-live .apv-prick__tag,.is-live .apv-prick__ruler,.is-live .apv-prick__mm{animation:none;opacity:1;transform:none}
  .apv-prick__weal{transform:scale(1);opacity:1}
}
