.grid .card .grid-like {
  position:absolute; z-index:5; top:12px; right:12px; min-width:42px; min-height:42px;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px;
  color:#fff; background:rgba(5,5,7,.58); border:1px solid rgba(255,255,255,.17);
  border-radius:999px; backdrop-filter:blur(8px); cursor:pointer; font-size:10px;
  font-variant-numeric:tabular-nums; line-height:1; padding:6px; touch-action:manipulation;
}
.grid-like svg,.imm-like svg { width:19px; height:19px; fill:transparent; stroke:currentColor; stroke-width:1.8; transition:transform .2s,fill .2s,color .2s; }
.grid-like.is-liked svg,.imm-like.is-liked svg { fill:#ff5a5f; stroke:#ff5a5f; color:#ff5a5f; }
.grid-like.is-pending,.imm-like.is-pending { opacity:.6; }
.grid-like:focus-visible,.imm-like:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.imm-actions { position:absolute; z-index:6; right:max(18px,env(safe-area-inset-right)); top:50%;
  transform:translateY(-50%); display:flex; flex-direction:column; align-items:center; gap:12px; }
.imm-like {
  display:flex; flex-direction:column; align-items:center; gap:5px;
  min-width:52px; min-height:58px; padding:10px 7px; border:1px solid rgba(255,255,255,.16);
  border-radius:28px; background:rgba(8,8,10,.6); color:#fff; backdrop-filter:blur(8px);
  font-size:12px; font-variant-numeric:tabular-nums; touch-action:manipulation;
}
.imm-like[hidden] { display:none; }
.imm-like svg { width:23px; height:23px; }
.imm-action { min-width:52px; min-height:42px; border-radius:24px; padding:8px;
  background:rgba(8,8,10,.6); border:1px solid rgba(255,255,255,.16); color:#fff;
  backdrop-filter:blur(8px); font-size:11px; }
.imm-nav{position:absolute;z-index:6;left:26px;width:44px;height:44px;border-radius:50%;
  background:rgba(8,8,10,.58);border:1px solid rgba(255,255,255,.16);color:#fff;font-size:20px;}
.imm-nav-prev{top:calc(50% - 54px)}.imm-nav-next{top:calc(50% + 10px)}
.imm-play-toggle{min-width:46px;min-height:42px;padding:8px;border-radius:24px;background:rgba(8,8,10,.58);
  border:1px solid rgba(255,255,255,.16);color:#fff;font-size:11px;white-space:nowrap;}
.imm-action:focus-visible,.imm-detail-close:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}
.imm-subtitle{margin:8px 0 0;color:rgba(255,255,255,.72);font-size:13px;line-height:1.5;}
.imm-detail{position:absolute;z-index:8;right:max(18px,env(safe-area-inset-right));bottom:max(90px,env(safe-area-inset-bottom));
  width:min(360px,calc(100vw - 36px));padding:22px;border:1px solid rgba(255,255,255,.18);
  border-radius:12px;background:rgba(12,12,14,.94);color:#fff;box-shadow:0 20px 70px rgba(0,0,0,.45);}
.imm-detail[hidden]{display:none;}.imm-detail-close{position:absolute;right:14px;top:10px;font-size:24px;color:#fff;}
.imm-detail-label{color:var(--accent);font-size:10px;letter-spacing:.18em;}.imm-detail-title{font-size:19px;margin:12px 0;}
.imm-detail-subtitle,.imm-detail-meta{font-size:12px;line-height:1.6;color:rgba(255,255,255,.7);}
.is-burst svg { animation:ao-like-pop .32s cubic-bezier(.2,1.5,.4,1); }
@keyframes ao-like-pop { 50% { transform:scale(1.32); } }
@media(max-width:700px){ .imm-actions{top:52%;} .grid .card .grid-like{top:8px;right:8px;} .imm-nav{display:none;} }
@media(prefers-reduced-motion:reduce){ .is-burst svg{animation:none;} .grid-like svg,.imm-like svg{transition:none;} }
