.shorts-viewer .sv-side .sv-photolike-btn,
.pc-viewer .pv-photolike-btn{display:none !important;}

.fk-fx{position:absolute;inset:0;z-index:10050;pointer-events:none;overflow:hidden;}
.fk-fx .fk-defs{position:absolute;width:0;height:0;}

.fk-toast{position:fixed;left:50%;bottom:112px;z-index:10005;transform:translateX(-50%) translateY(8px);padding:11px 20px;border-radius:99px;background:#141416;font:400 13px/1 Pretendard,sans-serif;letter-spacing:.03em;color:#f3ede2;white-space:nowrap;opacity:0;pointer-events:none;cursor:pointer;transition:opacity .45s ease,transform .45s cubic-bezier(.2,.9,.3,1);}
.fk-toast.show{opacity:1;transform:translateX(-50%) translateY(0);pointer-events:auto;}

/* 더블탭 사중주 연출 (목업 FANFICK — 더블탭 좋아요 연출 최종본 이식) */
.fk-fx .fk-spark-cv{position:absolute;inset:0;pointer-events:none;z-index:1;}
/* ── ① 맺힘: 코어 + 빛망울 후광 ── */
.fk-core{
  position:absolute;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,
    rgba(255,255,255,.55) 0%,
    rgba(255,243,196,.32) 26%,
    rgba(241,214,126,.1) 50%,transparent 66%);
  mix-blend-mode:screen;
  animation:fkCoreFlash .55s cubic-bezier(.15,.8,.3,1) forwards;
}
@keyframes fkCoreFlash{
  0%{transform:scale(.15);opacity:0}
  12%{opacity:.65}
  40%{transform:scale(.95);opacity:.6}
  100%{transform:scale(1.15);opacity:0}
}
.fk-bokeh{
  position:absolute;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,
    rgba(255,248,225,.18) 0%,
    rgba(241,214,126,.07) 40%,transparent 62%);
  filter:blur(3px);mix-blend-mode:screen;
  animation:fkBokehLife 1.1s cubic-bezier(.2,.7,.3,1) forwards;
}
@keyframes fkBokehLife{
  0%{transform:translate(0,0) scale(.35);opacity:0}
  18%{opacity:1}
  100%{transform:translate(0,-14px) scale(1.05);opacity:0}
}
.fk-bokeh.fk-sub{ /* ④ 잔망울: 작게, 늦게, 옆에서 */
  filter:blur(2.5px);
  animation:fkSubLife 1.25s ease-out var(--dl,.3s) forwards;
  opacity:0;
}
@keyframes fkSubLife{
  0%{transform:translate(0,0) scale(.3);opacity:0}
  22%{opacity:.8}
  100%{transform:translate(var(--dx),var(--dy)) scale(.9);opacity:0}
}

/* ── ② 터짐: 빛줄기 ── */
.fk-ray{
  position:absolute;height:1px;pointer-events:none;
  transform-origin:0 50%;border-radius:2px;
  background:linear-gradient(90deg,
    rgba(255,255,255,.62),
    rgba(241,214,126,.4) 45%,transparent);
  filter:blur(.6px) drop-shadow(0 0 3px rgba(241,214,126,.42));
  mix-blend-mode:screen;
  animation:fkRayShoot var(--d,.42s) cubic-bezier(.1,.7,.2,1) var(--dl,.06s) forwards;
  opacity:0;
}
@keyframes fkRayShoot{
  0%{transform:rotate(var(--a)) scaleX(.05);opacity:0}
  18%{opacity:.68}
  62%{transform:rotate(var(--a)) scaleX(1);opacity:.5}
  100%{transform:rotate(var(--a)) scaleX(1.04);opacity:0}
}

/* ── ③ 퍼짐: 금선 파문 ── */
.fk-wave{
  position:absolute;border-radius:50%;pointer-events:none;
  border:1px solid rgba(241,214,126,var(--o,.32));
  width:34px;height:34px;margin:-17px 0 0 -17px;
  transform:scale(.3);opacity:0;filter:blur(.5px);
  animation:fkWaveOut var(--d,.85s) cubic-bezier(.2,.6,.3,1) var(--dl,.08s) forwards;
}
@keyframes fkWaveOut{
  0%{transform:scale(.3);opacity:0}
  12%{opacity:var(--o,.55)}
  100%{transform:scale(var(--s,2.4));opacity:0}
}

/* ── ④ 가라앉음: 금분 낙화 ── */
.fk-gd{
  position:absolute;pointer-events:none;border-radius:1px;
  background:linear-gradient(120deg,#fff3c4,#f1d67e 55%,#9a7b1e);
  box-shadow:0 0 2px rgba(241,214,126,.35);
  animation:fkGdFall var(--d) ease-in var(--dl,.18s) forwards;
  opacity:0;
}
@keyframes fkGdFall{
  0%{transform:translate(0,0) rotate(0deg);opacity:0}
  12%{opacity:.85}
  100%{transform:translate(var(--dx),var(--dy)) rotate(var(--rt));opacity:0}
}
@media (prefers-reduced-motion: reduce){
  .fk-core,.fk-bokeh,.fk-ray,.fk-wave,.fk-gd{animation:none !important;opacity:0 !important;}
}
